From b0c91f3fc3ff498687858e041a3a720c9210eff7 Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Thu, 24 Oct 2024 08:47:38 -0700 Subject: [PATCH 001/153] Added information about (failed) release process --- docs/Developer/GitFlowDiagram.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/docs/Developer/GitFlowDiagram.md b/docs/Developer/GitFlowDiagram.md index 87e7df646..b09e94467 100644 --- a/docs/Developer/GitFlowDiagram.md +++ b/docs/Developer/GitFlowDiagram.md @@ -34,7 +34,28 @@ The master and development branches exist parallel to one another. We consider t [![](https://mermaid.ink/img/pako:eNqNVNFumzAU_RXLU8QLjQIhAfyWrEkaKe2kpevDxh4cuCFWACNj2tGIf58xZSNr1xTEg8-99_ici69POOQRYIIHgxPLmCTohIyExxt4hMQgyIhgV8aGiQx5gBQaZEcL-AM8UMHoLoFCRU5BhtRjxEyOmsRP9sKfLReG-Re3NL5czpejUR-3NT5zmrePj_-DO308yGoVauCVoPmhUWIILqmEzzxNmdzQnfYiRQlKd3HgT3NBs_CgVffQs_Q9TQowjZSyrM2-o63_W1pIEEZdo3owCLJuW3Q_J1pgqFkQiwgK8AOIgvEMWUMrwDq802Toumkwz1PIZFt1gPDIS_k60KdrfhGjSQferXzrH94lUFkKmL2u_bHebr8trhzL_okaL-jLHq2LooQXgrPkFEQMSACNqgAjWeVA0M16dbNR3z2SNCYB_gqPDJ666g_p14RIcsWcgDpHb2qfv0_YSut89vVGaN-5vySqC5xv2Up9yy3q7KJL1Gfy5h-U0Z6pnoguLER1lbPw-H7_LjQfm01_1EmO1KDrKQ2wnt4AN6QRFceGqFZ5tJR8W2UhJnoucJlHao6uGY0FTfHLUGCImOTitr059AVi4pxm3zlPu0K1xOSEf2EynQxdb2pPHNf3PGti-yauMBk7Q8udup5l-QqaeHZt4mddPxr6jj9yXcd2x55rj91J_Rvb4n0O?type=png)](https://mermaid.live/edit#pako:eNqNVNFumzAU_RXLU8QLjQIhAfyWrEkaKe2kpevDxh4cuCFWACNj2tGIf58xZSNr1xTEg8-99_ici69POOQRYIIHgxPLmCTohIyExxt4hMQgyIhgV8aGiQx5gBQaZEcL-AM8UMHoLoFCRU5BhtRjxEyOmsRP9sKfLReG-Re3NL5czpejUR-3NT5zmrePj_-DO308yGoVauCVoPmhUWIILqmEzzxNmdzQnfYiRQlKd3HgT3NBs_CgVffQs_Q9TQowjZSyrM2-o63_W1pIEEZdo3owCLJuW3Q_J1pgqFkQiwgK8AOIgvEMWUMrwDq802Toumkwz1PIZFt1gPDIS_k60KdrfhGjSQferXzrH94lUFkKmL2u_bHebr8trhzL_okaL-jLHq2LooQXgrPkFEQMSACNqgAjWeVA0M16dbNR3z2SNCYB_gqPDJ666g_p14RIcsWcgDpHb2qfv0_YSut89vVGaN-5vySqC5xv2Up9yy3q7KJL1Gfy5h-U0Z6pnoguLER1lbPw-H7_LjQfm01_1EmO1KDrKQ2wnt4AN6QRFceGqFZ5tJR8W2UhJnoucJlHao6uGY0FTfHLUGCImOTitr059AVi4pxm3zlPu0K1xOSEf2EynQxdb2pPHNf3PGti-yauMBk7Q8udup5l-QqaeHZt4mddPxr6jj9yXcd2x55rj91J_Rvb4n0O) +## Detailed Run-Through of Making a Release + +The basic idea is to create a release branch off of `master`, then cherry pick the commits we want to incorporate into this release. So, first of all, we want to get a list of all of the commits in `development` that aren't in `master`: + + git log --no-merges development ^master > /tmp/nomerges.txt + +You'll note that we exclude merge commits above. We then go through that file and delete the commits we don't want to incorporate into our release. Next, we extract just the lines that contain the commit IDs: + + grep commit /tmp/nomerges.txt > /tmp/commits.txt + +These are in reverse order (newest to oldest); we'd like the list to be oldest to newest: + + tail -r /tmp/commits.txt > /tmp/revcommits.txt + +And then we can use simple find/replace in a text editor (for example, in emacs) to create a shell script with lines that look like: + + git cherry-pick -x -X theirs f622b2c36f0f29472f366470cc2d054149ce4258 + +In principle, if our current branch is the release branch, this should induce git to cherry pick each commit into that branch, resolving any conflicts in favor of the incoming commit. We can test by copying and pasting a line or two from that file, then, if satisfied, just `sh /tmp/revcommits.txt`. + + --------- [<< Go back to the Graphitti home page](../index.md) -[<< Go back to the CONTRIBUTING.md](../../CONTRIBUTING.md) +[<< Go back to the CONTRIBUTING.md](https://github.com/UWB-Biocomputing/Graphitti/blob/master/CONTRIBUTING.md) From f58d0a174bf88a8e965f852ff21f3a47cd6d4d0c Mon Sep 17 00:00:00 2001 From: Divya Kamath Date: Fri, 20 Dec 2024 15:47:50 -0800 Subject: [PATCH 002/153] Doxygen document by silvercube227 PR #545 --- docs/Doxygen/Doxyfile | 2 +- docs/Doxygen/index.md | 19 +++++++++++++++++++ docs/index.md | 12 ++++++------ 3 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 docs/Doxygen/index.md diff --git a/docs/Doxygen/Doxyfile b/docs/Doxygen/Doxyfile index 1d6498f5a..fc041908f 100644 --- a/docs/Doxygen/Doxyfile +++ b/docs/Doxygen/Doxyfile @@ -864,7 +864,7 @@ WARN_LOGFILE = # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = Simulator/ +INPUT = Simulator/ docs/Doxygen/index.md # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses diff --git a/docs/Doxygen/index.md b/docs/Doxygen/index.md new file mode 100644 index 000000000..4930a38c9 --- /dev/null +++ b/docs/Doxygen/index.md @@ -0,0 +1,19 @@ +# Graphitti Doxygen Documentation + +Welcome to the Graphitti Doxygen documentation! + +This documentation provides an overview of the Graphitti project's codebase and related resources. It includes detailed information about classes, functions, and structures. + +## Documentation Sections + +- [Classes](classes.md): Explore the detailed code reference documentation for Graphitti's classes, structs, unions and interfaces. +- [Files](files.md): Here is the documentation for Graphitti's documented files with descriptions and documentation. + +Feel free to navigate through the documentation using the top navigation bar. If you have any questions or need further assistance, please refer to the project's official repository or documentation. + +## Additional Resources + +- [Graphitti GitHub Repository](https://github.com/UWB-Biocomputing/Graphitti): Explore the source code, report issues, and contribute to the project. +- [Graphitti Project Website](https://uwb-biocomputing.github.io/Graphitti/): Visit the official website for more information about the Graphitti project. + +We hope you find this documentation useful and informative. Happy coding! \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 3a720b891..a4169bdd8 100644 --- a/docs/index.md +++ b/docs/index.md @@ -32,15 +32,15 @@ 2.8 [Serialization](Developer/Serialization.md) -4. [Testing](Testing/index.md) +3. [Testing](Testing/index.md) - 3.1 Array Performance Testing + 3.1 [Array Performance Testing](Testing/ArrayPerformance/ArrayPerformance.md) - 3.2 Dynamic Cast Performance Testing + 3.2 [Dynamic Cast Performance Testing](Testing/CastingTest/CastingTest.md) - 3.3 Test Config Files + 3.3 [Test Config Files](Testing/TestConfigFileParameters/testConfigFileParameters.md) -5. Notes +4. Notes 4.1 [General Notes](RebuildNotes/GeneralNotes.md) @@ -54,7 +54,7 @@ 4.6 [Recorder Notes](RebuildNotes/RecordersNotes.md) -6. [Glossary](Glossary.md) +5. [Glossary](Glossary.md) 5.1 Graph Vocabulary From c6880faa5126f4e7418c43155629c4eb6cd704ca Mon Sep 17 00:00:00 2001 From: Divya Kamath Date: Fri, 20 Dec 2024 16:05:09 -0800 Subject: [PATCH 003/153] Fixed the CMake error --- CMakeLists.txt | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cb09a2eb..0c762c53b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -405,16 +405,6 @@ target_link_libraries(serialFirstHalfTest combinedLib) target_link_libraries(serialSecondHalfTest stdc++fs) target_link_libraries(serialSecondHalfTest combinedLib) -add_executable(serialFileAccessTest - Testing/RunTests.cpp - Testing/UnitTesting/SerializationFileAccessTest.cpp) - -# Links the Googletest framework with the serialFileAccessTest executable -target_link_libraries(serialFileAccessTest gtest gtest_main) - -# Link the combined library into the 'serialFileAccessTest' executable. -target_link_libraries(serialFileAccessTest combinedLib) - # Clear ENABLE_CUDA, PERFORMANCE_METRICS and GPROF from the cache so it's reset for subsequent builds unset(ENABLE_CUDA CACHE) unset(PERFORMANCE_METRICS CACHE) From f5861cae07193cb13897fd4aefc563ebcbb23e26 Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Fri, 10 Jan 2025 10:11:15 -0800 Subject: [PATCH 004/153] Started updating gitflow docs Changed file name and pasted in new top-level diagram. --- .../{GitFlowDiagram.md => GitFlow.md} | 52 ++++++++++++++++++- docs/Developer/index.md | 2 +- 2 files changed, 51 insertions(+), 3 deletions(-) rename docs/Developer/{GitFlowDiagram.md => GitFlow.md} (84%) diff --git a/docs/Developer/GitFlowDiagram.md b/docs/Developer/GitFlow.md similarity index 84% rename from docs/Developer/GitFlowDiagram.md rename to docs/Developer/GitFlow.md index b09e94467..d3be60c4c 100644 --- a/docs/Developer/GitFlowDiagram.md +++ b/docs/Developer/GitFlow.md @@ -20,9 +20,57 @@ As new development is completed, it gets merged back into the development branch ## How it Works ***ALL OF OUR DIAGRAMS READ FROM TOP TO BOTTOM*** -### High Overview of Our Process +### High Level Overview of Our Process + +```mermaid +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': { + 'git0': '#2E9AFE', + 'gitInv0': '#2E9AFE', + 'git1': '#A829FF', + 'git2': '#FFBF00', + 'git3': '#8FED0A', + 'git4': '#A4A4A4', + 'git5': '#8FED0A', + 'git6': '#A4A4A4', + 'tagLabelFontSize': '12px' +},'gitGraph': {'rotateCommitLabel': true, 'showBranches': true, 'showCommitLabel':false, 'mainBranchName': 'Master'}} }%% +gitGraph TB: + commit + branch SharedDev order: 2 + checkout Master + checkout SharedDev + commit + branch AUserDev order: 3 + checkout AUserDev + commit + branch FeatureA order: 4 + checkout SharedDev + branch BUserDev order: 5 + commit + branch FeatureB order: 6 + commit + checkout FeatureA + commit + commit + checkout AUserDev + merge FeatureA + checkout SharedDev + merge AUserDev + checkout BUserDev + merge SharedDev + commit tag: "fix broken code" + merge FeatureB + checkout SharedDev + merge BUserDev + checkout SharedDev + checkout Master + branch Release order: 1 + merge SharedDev + commit + checkout Master + merge Release type: HIGHLIGHT tag: "v1.1.2" +``` -[![](https://mermaid.ink/img/pako:eNqVksFuozAQhl_FmiryBUVAIAbfkm3ZS9tLqx4qLgN4CWqwI2Pa7SLevca022RbVV242J_n_2fsmQFKVQngsFgMjWwMJwOhe1Vfikexp5zQShR9TT1CzU60YiIFduIvuEPdYLEXnT0ZcknsR-vG-FPgWXiRbrIL6r3zwPEs22a-f8xDxzfR9B_z1THP5ehN8KfGw27KR7UyaMQP1baNucTCVWx0L2x13U49bTXKcudqO6In4b9w300HLTZyDr_G-ZpX2Bmh6TiScbHI5Vtecrvlrr7S2bhl4YTkfHozdWiFnLFNXT6o3pDZ6pR9CH63-y_da-5MoOm12Hzw-sT2i9SnbttvW7RC1-If2Se3mMNOxOCBpfb5KzuEboJycJOVA7fLCvVDDrbzNg57o26eZQncdRP6Q2W7f95grbGF11aCqBqj9NU81W64PTigvFeqfRPaLfABfgNfx0uWrMM4YmmSBHGYevAMfBUtA7ZmSRCkFsVJOHrwx-n9ZRqlPmNRyFYJC1csHl8A7fELNA?type=png)](https://mermaid.live/edit#pako:eNqVksFuozAQhl_FmiryBUVAIAbfkm3ZS9tLqx4qLgN4CWqwI2Pa7SLevca022RbVV242J_n_2fsmQFKVQngsFgMjWwMJwOhe1Vfikexp5zQShR9TT1CzU60YiIFduIvuEPdYLEXnT0ZcknsR-vG-FPgWXiRbrIL6r3zwPEs22a-f8xDxzfR9B_z1THP5ehN8KfGw27KR7UyaMQP1baNucTCVWx0L2x13U49bTXKcudqO6In4b9w300HLTZyDr_G-ZpX2Bmh6TiScbHI5Vtecrvlrr7S2bhl4YTkfHozdWiFnLFNXT6o3pDZ6pR9CH63-y_da-5MoOm12Hzw-sT2i9SnbttvW7RC1-If2Se3mMNOxOCBpfb5KzuEboJycJOVA7fLCvVDDrbzNg57o26eZQncdRP6Q2W7f95grbGF11aCqBqj9NU81W64PTigvFeqfRPaLfABfgNfx0uWrMM4YmmSBHGYevAMfBUtA7ZmSRCkFsVJOHrwx-n9ZRqlPmNRyFYJC1csHl8A7fELNA) ### Feature branches Our development branch is considered to be the main branch, where features are branched off of development and merged back into development. diff --git a/docs/Developer/index.md b/docs/Developer/index.md index 070c5f37c..fba940935 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -12,7 +12,7 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d ## Software Development Process -- To further understand our development process, please check out our [gitflow documentation](GitFlowDiagram.md). +- To further understand our development process, please check out our [gitflow documentation](GitFlow.md). - Your pull requests will not be approved if you do not adhere to our [coding conventions](codingConventions.md). From 251652f67a34cd25cbdd200674fdbfbeecaac913 Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Fri, 10 Jan 2025 14:50:39 -0800 Subject: [PATCH 005/153] Basic description of high level process written --- docs/Developer/GitFlow.md | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/docs/Developer/GitFlow.md b/docs/Developer/GitFlow.md index d3be60c4c..c52b2ffd2 100644 --- a/docs/Developer/GitFlow.md +++ b/docs/Developer/GitFlow.md @@ -1,25 +1,47 @@ -# Introducing GitFlow +# INL Software Development Workflow + +Our workflow is based on GitFlow, with both shared and personal development branches, release branches, and hotfix branches. ## What is GitFlow? GitFlow is a branching model for Git, created by [Vincent Driessen.](https://nvie.com/posts/a-successful-git-branching-model/) -## Key Benefits +## Key Features ### Parallel Development -One of the great things about GitFlow is that it makes parallel devleopment very easy, by isolating new development from finished work. New development (such as features and non-emergency bug fixes) is done in feature branches and is only merged back into the development branch after going through extensive unit/regressional testing + review through the pull request. -Another great thing about GitFlow is that if you are asked to switch from one task to another, all you need to do is commit your changes and create a new branch for your new task. When that task is done, just checkout your original feature branch and you can continue where you left off. +One of the great things about GitFlow is that it makes parallel development very easy, by isolating new development from finished work. New development (such as features and non-emergency bug fixes) is done in feature branches and is only merged back into the development branch after going through extensive unit/regressional testing and review through the pull request mechanism. ### Collaboration -Feature branches also make it easier for developers to collaborate on the same feature, because each feature branch is essentially a sandbox where you isolate + test the changes that are only necessary to get a new feature working, making it crystal clear to follow what each collaborator is working on. + +Feature branches also make it easier for developers to collaborate on the same feature, because each feature branch is essentially a sandbox where you isolate and test the changes that are only necessary to get a new feature working, making it clear what each collaborator is working on. + +### Conflict Resolution + +Developers who are working on code that will take an extended period of time to complete (likely composed of multiple issues/features) are able to maintain their personal development branches with code that may break others'. Each developer is responsible for resolving conflicts introduced by others' code before merging into the shared development branch. ### Release Staging Area + As new development is completed, it gets merged back into the development branch, which is a staging area for all completed features that haven't yet been released. So when the next release is branched off of development, it will automatically contain all of the new tasks that have been finished. ## How it Works + ***ALL OF OUR DIAGRAMS READ FROM TOP TO BOTTOM*** +The diagram below provides a high-level view of our workflow overall operation. The main points are: + +* Shared and personal development branches are used. +* With the exception of hotfixes (described later and not shown in this diagram), the "master" branch is only updated when a release is to be made. +* Releases are made through creation of "release" branches. Release branches are used to resolve all conflicts and complete all testing before merging into "master" and producing a tagged release. +* Feature branches are associated with individual issues. They are merged into personal development branches. +* Users periodically check the shared development branch for changes since the last divergence of their personal development branch (i.e., how many commits behind are they). If there are any commits in the shared development branch that aren't in their personal one, they merge shared development into their personal branch. This should be done no less frequently than once every two weeks; better that it is done weekly. +* The above check ***must*** be done before merging a personal development branch into the shared development branch. +* Each user is responsible for resolving any conflicts or broken code resulting from the merge of shared development into their personal development branch. Of course, they can seek help from the code author. +* Basically, the personal development code must be working and passing all tests before it is merged into shared development. Since is should be up-to-date with shared development, the same will be true for shared development after a merge. +* Generally, after being merged into shared development, the personal development branch may be deleted. +* So, from that point of view, a personal development branch is like a "super feature branch", resolving multiple related issues that individually can't be merged into shared development because they don't leave the code in a "good" (or even working) state. +* The names shown below are mostly not what we actually call these branches; see below and our onboarding guide for naming conventions. + ### High Level Overview of Our Process ```mermaid From 64492f180b070fd5f25c37caac378bfa06748646 Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Mon, 13 Jan 2025 17:45:27 -0800 Subject: [PATCH 006/153] Updated feature branch description --- docs/Developer/GitFlow.md | 29 +++++++++++++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/docs/Developer/GitFlow.md b/docs/Developer/GitFlow.md index c52b2ffd2..3cd6c6030 100644 --- a/docs/Developer/GitFlow.md +++ b/docs/Developer/GitFlow.md @@ -95,9 +95,34 @@ gitGraph TB: ### Feature branches -Our development branch is considered to be the main branch, where features are branched off of development and merged back into development. -[![](https://mermaid.ink/img/pako:eNqtlE1vm0AQhv_KaCuLC7EMxsHmZpr6Q3KTKk57aOlhDWPYBli6LE5ci__eXWwaW7VVH8qKAw_z8c6MZnck5BESj3Q6O5Yz6cEOjJTHC9xganhgRLiqYsMEQyaYoSYrWuIf8IUKRlcplurPLshBPUbMZE8bvptM_EmvZ5hv3Gr42NHnmNvHPMhrU8OpoEWi4xqCSyrxPc8yJhd01SiTokKlokz4iy9oHiaNhiN6Yn7gGWX53vqe7qu504XyIsNcGnUNdafTqGrTw5Pv7WUChE1AYJEHAdHNYjRt4f10ZFkBaU1XTQ6YIJWVwPHZCN_my-XnDzeOZX8HrQYe1jAvywoDApLGXkCKKk1vBP6ssJRvsU-ChAnNY4SEikgPUh3Y0FQ5XLBfs1eQ24KXhyQKTZmcVSsYh5Lx_JJfhkKlEUijrfbcFujBbD6dLdT7dJD7iBuGL0cBEgyfeSXhqMfX9LIQ_AeGEuxL_fSvybBX3E6gLbahEazbwVwntv33V_4z87Sc_qV5fnr8d3fhv7T3pHj_fPG-DkVMTdVaROoOaBY4IM1iB0R7RFQ8a7Na2dFK8uU2D8l-mUhVRGop7xiNBc2It6ZpqShGTHLxcX-pNHeLSQqaf-U8ax3VJ_F25JV4t4OuO7y1B447Gg6tgT0yyZZ4fadrubfu0LJGCg2Gdm2SX41_rztyRj3XdWy3P3TtvjuofwOb-nzg?type=png)](https://mermaid.live/edit#pako:eNqtlE1vm0AQhv_KaCuLC7EMxsHmZpr6Q3KTKk57aOlhDWPYBli6LE5ci__eXWwaW7VVH8qKAw_z8c6MZnck5BESj3Q6O5Yz6cEOjJTHC9xganhgRLiqYsMEQyaYoSYrWuIf8IUKRlcplurPLshBPUbMZE8bvptM_EmvZ5hv3Gr42NHnmNvHPMhrU8OpoEWi4xqCSyrxPc8yJhd01SiTokKlokz4iy9oHiaNhiN6Yn7gGWX53vqe7qu504XyIsNcGnUNdafTqGrTw5Pv7WUChE1AYJEHAdHNYjRt4f10ZFkBaU1XTQ6YIJWVwPHZCN_my-XnDzeOZX8HrQYe1jAvywoDApLGXkCKKk1vBP6ssJRvsU-ChAnNY4SEikgPUh3Y0FQ5XLBfs1eQ24KXhyQKTZmcVSsYh5Lx_JJfhkKlEUijrfbcFujBbD6dLdT7dJD7iBuGL0cBEgyfeSXhqMfX9LIQ_AeGEuxL_fSvybBX3E6gLbahEazbwVwntv33V_4z87Sc_qV5fnr8d3fhv7T3pHj_fPG-DkVMTdVaROoOaBY4IM1iB0R7RFQ8a7Na2dFK8uU2D8l-mUhVRGop7xiNBc2It6ZpqShGTHLxcX-pNHeLSQqaf-U8ax3VJ_F25JV4t4OuO7y1B447Gg6tgT0yyZZ4fadrubfu0LJGCg2Gdm2SX41_rztyRj3XdWy3P3TtvjuofwOb-nzg) +Our shared development branch is considered to be the main branch, in terms of being the latest functioning code (which may or may not be ready for merging into master and creating a release). So, all personal development branches start off as functioning code and are not merged back into the shared development branch until they are once again functioning code. Until then, features are branched off of the personal development and merged back into personal development. + +```mermaid +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': { + 'git0': '#FFBF00', + 'git1': '#A4A4A4', + 'git2': '#A4A4A4' +},'gitGraph': {'rotateCommitLabel': true, 'showBranches': true, 'showCommitLabel':true, 'mainBranchName': 'AUserDev'}} }%% + gitGraph TB: + commit id: "initial commit NG911" + branch FeatureA + commit id: "[ISSUE-412] Name Of Issue" tag:"pull-request" + commit id: "change hardcodeded values" + commit id: "fix typos" tag: "GitHub Actions" + commit id: "merge ready" type: HIGHLIGHT tag:"Review" + checkout AUserDev + commit id: "initial commit project 2" + branch FeatureB + checkout AUserDev + merge FeatureA tag: "merged featureA" + checkout AUserDev + checkout FeatureB + commit id: "[ISSUE-143] Name Of Issue" tag:"PR" + commit id: "merge ready " type: HIGHLIGHT tag:"Review" + checkout AUserDev + merge FeatureB tag: "merged featureB" +``` ### Merging to Master Branch The master and development branches exist parallel to one another. We consider the development branch to be the main branch where the source code always reflects a state with the latest delivered development changes. Once the development branch is ready to merge back to the master, we create a release branch (not supported in our document). Our version can either cherry-pick the developments we want into the master or revert the changes and merge to the master and re-revert the changes (not supported in the document). From fbb9cf964758658e5b74fdf9c002b65254f782f8 Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Mon, 13 Jan 2025 18:34:50 -0800 Subject: [PATCH 007/153] Wrote merging to shared development --- docs/Developer/GitFlow.md | 51 +++++++++++++++++++++++++++++++++++---- 1 file changed, 46 insertions(+), 5 deletions(-) diff --git a/docs/Developer/GitFlow.md b/docs/Developer/GitFlow.md index 3cd6c6030..97eb54825 100644 --- a/docs/Developer/GitFlow.md +++ b/docs/Developer/GitFlow.md @@ -96,11 +96,11 @@ gitGraph TB: ### Feature branches -Our shared development branch is considered to be the main branch, in terms of being the latest functioning code (which may or may not be ready for merging into master and creating a release). So, all personal development branches start off as functioning code and are not merged back into the shared development branch until they are once again functioning code. Until then, features are branched off of the personal development and merged back into personal development. +Our shared development branch is considered to be the main branch, in terms of being the latest functioning code (which may or may not be ready for merging into master and creating a release) and so is the source for creation of all personal development branches. So, all personal development branches start off as functioning code and are not merged back into the shared development branch until they are once again functioning code. Until then, features are branched off of the personal development and merged back into personal development (with pull requests, tests, and code reviews). ```mermaid %%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': { - 'git0': '#FFBF00', + 'git0': '#8FED0A', 'git1': '#A4A4A4', 'git2': '#A4A4A4' },'gitGraph': {'rotateCommitLabel': true, 'showBranches': true, 'showCommitLabel':true, 'mainBranchName': 'AUserDev'}} }%% @@ -124,10 +124,51 @@ Our shared development branch is considered to be the main branch, in terms of b merge FeatureB tag: "merged featureB" ``` -### Merging to Master Branch -The master and development branches exist parallel to one another. We consider the development branch to be the main branch where the source code always reflects a state with the latest delivered development changes. Once the development branch is ready to merge back to the master, we create a release branch (not supported in our document). Our version can either cherry-pick the developments we want into the master or revert the changes and merge to the master and re-revert the changes (not supported in the document). +### Merging to Shared Development + +The shared and personal development branches exist parallel to one another. We consider the shared development branch to be the main branch where the source code always reflects a state with the latest delivered development changes. The personal development branches, on the other hand, may be in a state in which the code is "broken", i.e., in the middle of a sequence of feature branch changes that will, incrementally, produce fully working code. So, one principle is that we don't merge code into the shared development branch until the associated line of development is complete. At that point, we double-check that the personal development branch isn't behind shared development and generate a pull request to merge it. + + +```mermaid +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': { + 'git0': '#FFBF00', + 'git1': '#8FED0A', + 'git2': '#A4A4A4', + 'git3': '#A4A4A4', + 'git4': '#A4A4A4' +}, +'gitGraph': {'rotateCommitLabel': true, 'showBranches': true, 'showCommitLabel':false,'mainBranchName': 'SharedDev'}} }%% +gitGraph TB: + commit id: "Version 1.1" + branch AUserDev + checkout AUserDev + commit id: "initial commit NG911" + branch FeatureA + commit id: "[ISSUE-412] Name Of Issue" + commit id: "merge ready" type: HIGHLIGHT tag:"Review" + checkout AUserDev + commit id: "ready to release" + branch FeatureB + checkout AUserDev + merge FeatureA id: "merged featureA" + checkout AUserDev + checkout FeatureB + commit type: HIGHLIGHT tag: "Review " + checkout AUserDev + merge FeatureB + checkout AUserDev + checkout SharedDev + merge AUserDev + checkout AUserDev + commit +``` + +### Merging to Master + + + +Once the development branch is ready to merge back to the master, we create a release branch (not supported in our document). Our version can either cherry-pick the developments we want into the master or revert the changes and merge to the master and re-revert the changes (not supported in the document). -[![](https://mermaid.ink/img/pako:eNqNVNFumzAU_RXLU8QLjQIhAfyWrEkaKe2kpevDxh4cuCFWACNj2tGIf58xZSNr1xTEg8-99_ici69POOQRYIIHgxPLmCTohIyExxt4hMQgyIhgV8aGiQx5gBQaZEcL-AM8UMHoLoFCRU5BhtRjxEyOmsRP9sKfLReG-Re3NL5czpejUR-3NT5zmrePj_-DO308yGoVauCVoPmhUWIILqmEzzxNmdzQnfYiRQlKd3HgT3NBs_CgVffQs_Q9TQowjZSyrM2-o63_W1pIEEZdo3owCLJuW3Q_J1pgqFkQiwgK8AOIgvEMWUMrwDq802Toumkwz1PIZFt1gPDIS_k60KdrfhGjSQferXzrH94lUFkKmL2u_bHebr8trhzL_okaL-jLHq2LooQXgrPkFEQMSACNqgAjWeVA0M16dbNR3z2SNCYB_gqPDJ666g_p14RIcsWcgDpHb2qfv0_YSut89vVGaN-5vySqC5xv2Up9yy3q7KJL1Gfy5h-U0Z6pnoguLER1lbPw-H7_LjQfm01_1EmO1KDrKQ2wnt4AN6QRFceGqFZ5tJR8W2UhJnoucJlHao6uGY0FTfHLUGCImOTitr059AVi4pxm3zlPu0K1xOSEf2EynQxdb2pPHNf3PGti-yauMBk7Q8udup5l-QqaeHZt4mddPxr6jj9yXcd2x55rj91J_Rvb4n0O?type=png)](https://mermaid.live/edit#pako:eNqNVNFumzAU_RXLU8QLjQIhAfyWrEkaKe2kpevDxh4cuCFWACNj2tGIf58xZSNr1xTEg8-99_ici69POOQRYIIHgxPLmCTohIyExxt4hMQgyIhgV8aGiQx5gBQaZEcL-AM8UMHoLoFCRU5BhtRjxEyOmsRP9sKfLReG-Re3NL5czpejUR-3NT5zmrePj_-DO308yGoVauCVoPmhUWIILqmEzzxNmdzQnfYiRQlKd3HgT3NBs_CgVffQs_Q9TQowjZSyrM2-o63_W1pIEEZdo3owCLJuW3Q_J1pgqFkQiwgK8AOIgvEMWUMrwDq802Toumkwz1PIZFt1gPDIS_k60KdrfhGjSQferXzrH94lUFkKmL2u_bHebr8trhzL_okaL-jLHq2LooQXgrPkFEQMSACNqgAjWeVA0M16dbNR3z2SNCYB_gqPDJ666g_p14RIcsWcgDpHb2qfv0_YSut89vVGaN-5vySqC5xv2Up9yy3q7KJL1Gfy5h-U0Z6pnoguLER1lbPw-H7_LjQfm01_1EmO1KDrKQ2wnt4AN6QRFceGqFZ5tJR8W2UhJnoucJlHao6uGY0FTfHLUGCImOTitr059AVi4pxm3zlPu0K1xOSEf2EynQxdb2pPHNf3PGti-yauMBk7Q8udup5l-QqaeHZt4mddPxr6jj9yXcd2x55rj91J_Rvb4n0O) ## Detailed Run-Through of Making a Release From bac2dd0211a9ba15bd6c8a2831c3970a5ef3701d Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Wed, 15 Jan 2025 09:54:38 -0800 Subject: [PATCH 008/153] Wrote merging to master Also tweaked the old details about cherry picking into master, so the reader can understand why we're doing this complicated approach. --- docs/Developer/GitFlow.md | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/docs/Developer/GitFlow.md b/docs/Developer/GitFlow.md index 97eb54825..b6b8ad5dd 100644 --- a/docs/Developer/GitFlow.md +++ b/docs/Developer/GitFlow.md @@ -163,14 +163,42 @@ gitGraph TB: commit ``` -### Merging to Master +### Merging to Master and Making a Release +Once the shared development branch is ready to merge back to the master, we create a release branch. We then merge the shared development branch into the release branch, do final testing (including manual tests for GPU, etc.), fix any problems, merge into master, and create a release. +```mermaid +%%{init: { 'logLevel': 'debug', 'theme': 'base', 'themeVariables': { + 'git0': '#2E9AFE', + 'gitInv0': '#2E9AFE', + 'git1': '#A829FF', + 'git2': '#FFBF00', + 'git3': '#8FED0A', + 'git4': '#A4A4A4', + 'git5': '#8FED0A', + 'git6': '#A4A4A4', + 'tagLabelFontSize': '12px' +},'gitGraph': {'rotateCommitLabel': true, 'showBranches': true, 'showCommitLabel':false, 'mainBranchName': 'Master'}} }%% +gitGraph TB: + commit + branch SharedDev order: 2 + checkout Master + checkout SharedDev + commit + checkout Master + branch Release order: 1 + merge SharedDev + commit + checkout Master + merge Release type: HIGHLIGHT tag: "v1.2" + checkout SharedDev + merge Release +``` -Once the development branch is ready to merge back to the master, we create a release branch (not supported in our document). Our version can either cherry-pick the developments we want into the master or revert the changes and merge to the master and re-revert the changes (not supported in the document). +# Why are we doing this? -## Detailed Run-Through of Making a Release +The information below is left-over details relating to how we used to do a release, when we only had one development branch and cherry-picked commits to merge into a release branch. Unfortunately, cherry picking doesn't preserve commit hashes, and so git eventually gets hopelessly confused about conflicts and merging into master then becomes very difficult. The basic idea is to create a release branch off of `master`, then cherry pick the commits we want to incorporate into this release. So, first of all, we want to get a list of all of the commits in `development` that aren't in `master`: From 54d1812bb5493bba30765a2da1a193e6b5600ccc Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Wed, 15 Jan 2025 10:44:59 -0800 Subject: [PATCH 009/153] Added naming conventions --- docs/Developer/GitFlow.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/docs/Developer/GitFlow.md b/docs/Developer/GitFlow.md index b6b8ad5dd..53c15737e 100644 --- a/docs/Developer/GitFlow.md +++ b/docs/Developer/GitFlow.md @@ -194,9 +194,17 @@ gitGraph TB: checkout SharedDev merge Release ``` +## Naming Conventions +* Shared development branch: "SharedDevelopment" +* Personal development branch: "*Name*Dev" or "*Name*Development", where "*name*" can be either the user's name or GitHub ID. +* Feature branch: "issue-*XXX*-*description*", where "*XXX*" is the corresponding issue number and "*description*" is the issue title (possibly shortened). +* Hotfix branches: "hotfix-issue-*XXX*-*description*" +* Release branches: "release-v*##*", where *##* is the anticipated release tag. +* Most pull requests: "[issue-*XXX*] *description*" +* Release pull requests: "Release *##*" -# Why are we doing this? +## Why are we doing this? The information below is left-over details relating to how we used to do a release, when we only had one development branch and cherry-picked commits to merge into a release branch. Unfortunately, cherry picking doesn't preserve commit hashes, and so git eventually gets hopelessly confused about conflicts and merging into master then becomes very difficult. From a083f0a332226b79f7b38dab572ce57656a5c94e Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Wed, 15 Jan 2025 15:46:29 -0800 Subject: [PATCH 010/153] remove unused and duplicate files, reformat files to keep, rename graph files for clarity --- configfiles/1_tR_1.0--fE_0.90_10000.xml | 76 - configfiles/full-100x100-cpu-stdp.xml | 145 - configfiles/full_tR_1.0--fE_0.90_10000.xml | 79 - configfiles/full_tR_1.0--fE_0.98_10000.xml | 79 - configfiles/full_tR_1.9--fE_0.98_10000.xml | 79 - ...90_10000.graphml => fE_0.90_10000.graphml} | 0 ...98_10000.graphml => fE_0.98_10000.graphml} | 0 .../graphs/tR_0.1--fE_0.90_10000.graphml | 60009 ---------------- .../graphs/tR_0.1--fE_0.98_10000.graphml | 60009 ---------------- .../graphs/tR_1.0--fE_0.80_10000.graphml | 60009 ---------------- configfiles/graphs/tR_1.0--fE_0.90.graphml | 609 - configfiles/graphs/tR_1.0--fE_0.98.graphml | 609 - configfiles/half_tR_1.0--fE_0.90_10000.xml | 79 - configfiles/stdp_fE_0.90_10000.xml | 143 + configfiles/tR_0.1--fE_0.80_10000.xml | 79 - configfiles/tR_0.1--fE_0.90.xml | 79 - configfiles/tR_0.1--fE_0.90_10000.xml | 79 - configfiles/tR_0.1--fE_0.98.xml | 79 - configfiles/tR_0.1--fE_0.98_10000.xml | 79 - configfiles/tR_1.0--fE_0.80_10000.xml | 79 - configfiles/tR_1.0--fE_0.90.xml | 79 - configfiles/tR_1.0--fE_0.90_10000.xml | 164 +- configfiles/tR_1.0--fE_0.98.xml | 79 - configfiles/tR_1.0--fE_0.98_10000.xml | 164 +- configfiles/tR_1.9--fE_0.80_10000.xml | 79 - configfiles/tR_1.9--fE_0.90.xml | 79 - configfiles/tR_1.9--fE_0.90_10000.xml | 164 +- configfiles/tR_1.9--fE_0.98.xml | 79 - configfiles/tR_1.9--fE_0.98_10000.xml | 134 +- 29 files changed, 505 insertions(+), 182915 deletions(-) delete mode 100644 configfiles/1_tR_1.0--fE_0.90_10000.xml delete mode 100644 configfiles/full-100x100-cpu-stdp.xml delete mode 100644 configfiles/full_tR_1.0--fE_0.90_10000.xml delete mode 100644 configfiles/full_tR_1.0--fE_0.98_10000.xml delete mode 100644 configfiles/full_tR_1.9--fE_0.98_10000.xml rename configfiles/graphs/{tR_1.0--fE_0.90_10000.graphml => fE_0.90_10000.graphml} (100%) rename configfiles/graphs/{tR_1.0--fE_0.98_10000.graphml => fE_0.98_10000.graphml} (100%) delete mode 100644 configfiles/graphs/tR_0.1--fE_0.90_10000.graphml delete mode 100644 configfiles/graphs/tR_0.1--fE_0.98_10000.graphml delete mode 100644 configfiles/graphs/tR_1.0--fE_0.80_10000.graphml delete mode 100644 configfiles/graphs/tR_1.0--fE_0.90.graphml delete mode 100644 configfiles/graphs/tR_1.0--fE_0.98.graphml delete mode 100644 configfiles/half_tR_1.0--fE_0.90_10000.xml create mode 100644 configfiles/stdp_fE_0.90_10000.xml delete mode 100644 configfiles/tR_0.1--fE_0.80_10000.xml delete mode 100644 configfiles/tR_0.1--fE_0.90.xml delete mode 100644 configfiles/tR_0.1--fE_0.90_10000.xml delete mode 100644 configfiles/tR_0.1--fE_0.98.xml delete mode 100644 configfiles/tR_0.1--fE_0.98_10000.xml delete mode 100644 configfiles/tR_1.0--fE_0.80_10000.xml delete mode 100644 configfiles/tR_1.0--fE_0.90.xml delete mode 100644 configfiles/tR_1.0--fE_0.98.xml delete mode 100644 configfiles/tR_1.9--fE_0.80_10000.xml delete mode 100644 configfiles/tR_1.9--fE_0.90.xml delete mode 100644 configfiles/tR_1.9--fE_0.98.xml diff --git a/configfiles/1_tR_1.0--fE_0.90_10000.xml b/configfiles/1_tR_1.0--fE_0.90_10000.xml deleted file mode 100644 index c5ec80139..000000000 --- a/configfiles/1_tR_1.0--fE_0.90_10000.xml +++ /dev/null @@ -1,76 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.90_10000.graphml - - 100.0 - 1 - - - 200 - 200 - - - 1 - 777 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - diff --git a/configfiles/full-100x100-cpu-stdp.xml b/configfiles/full-100x100-cpu-stdp.xml deleted file mode 100644 index b23fe2357..000000000 --- a/configfiles/full-100x100-cpu-stdp.xml +++ /dev/null @@ -1,145 +0,0 @@ - - - - ../configfiles/graphs/test-large.graphml - - 100.0 - 3 - - - 200 - 200 - - - 1 - 777 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - 6e-3 - 6e-3 - 3e-3 - 3e-3 - - - 0.8e-3 - 0.8e-3 - 0.8e-3 - 1.5e-3 - - - 0.32 - 0.25 - 0.05 - 0.5 - - - 0.144 - 0.7 - 0.125 - 1.1 - - - 0.06 - 0.02 - 1.2 - 0.05 - - 2e-3 - - 88e-3 - 88e-3 - - - 28e-3 - 28e-3 - - - 14.8e-3 - 14.8e-3 - - - 33.8e-3 - 33.8e-3 - - - 5.0265e-7 - 5.0265e-7 - - - -52e-2 - -0.52 - - - 1.03 - 1.03 - - - - - - 0 - 0 - 0 - - 2.36936e-38 - 2.35106e-38 - - - 9.18355e-41 - 3.58732e-43 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - - - ../configfiles/NList/probedNList_10000.xml - Output/Results/test-SB-stdp-100x100.xml - - - diff --git a/configfiles/full_tR_1.0--fE_0.90_10000.xml b/configfiles/full_tR_1.0--fE_0.90_10000.xml deleted file mode 100644 index 8620263c4..000000000 --- a/configfiles/full_tR_1.0--fE_0.90_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.90_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - ../tmp/0429_tR_1.0--fE_0.90_raiju.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - diff --git a/configfiles/full_tR_1.0--fE_0.98_10000.xml b/configfiles/full_tR_1.0--fE_0.98_10000.xml deleted file mode 100644 index 6e393a20f..000000000 --- a/configfiles/full_tR_1.0--fE_0.98_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.98_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - /tmp/0510_tR_1.0--fE_0.98_raiju.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - diff --git a/configfiles/full_tR_1.9--fE_0.98_10000.xml b/configfiles/full_tR_1.9--fE_0.98_10000.xml deleted file mode 100644 index c1b3318c9..000000000 --- a/configfiles/full_tR_1.9--fE_0.98_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.98_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - /tmp/0516_tR_1.9--fE_0.98_raiju.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - diff --git a/configfiles/graphs/tR_1.0--fE_0.90_10000.graphml b/configfiles/graphs/fE_0.90_10000.graphml similarity index 100% rename from configfiles/graphs/tR_1.0--fE_0.90_10000.graphml rename to configfiles/graphs/fE_0.90_10000.graphml diff --git a/configfiles/graphs/tR_1.0--fE_0.98_10000.graphml b/configfiles/graphs/fE_0.98_10000.graphml similarity index 100% rename from configfiles/graphs/tR_1.0--fE_0.98_10000.graphml rename to configfiles/graphs/fE_0.98_10000.graphml diff --git a/configfiles/graphs/tR_0.1--fE_0.90_10000.graphml b/configfiles/graphs/tR_0.1--fE_0.90_10000.graphml deleted file mode 100644 index 75249a4c6..000000000 --- a/configfiles/graphs/tR_0.1--fE_0.90_10000.graphml +++ /dev/null @@ -1,60009 +0,0 @@ - - - - - - - - - 0 - 0 - 0 - EXC - - - 1 - 0 - 0 - EXC - - - 2 - 0 - 0 - INH - - - 3 - 0 - 0 - EXC - - - 4 - 0 - 0 - EXC - - - 5 - 0 - 0 - EXC - - - 6 - 0 - 0 - EXC - - - 7 - 0 - 1 - EXC - - - 8 - 0 - 0 - EXC - - - 9 - 0 - 0 - EXC - - - 10 - 0 - 0 - EXC - - - 11 - 0 - 0 - EXC - - - 12 - 0 - 0 - INH - - - 13 - 0 - 0 - EXC - - - 14 - 0 - 0 - EXC - - - 15 - 0 - 0 - EXC - - - 16 - 0 - 0 - EXC - - - 17 - 0 - 1 - EXC - - - 18 - 0 - 0 - EXC - - - 19 - 0 - 0 - EXC - - - 20 - 0 - 0 - EXC - - - 21 - 0 - 0 - EXC - - - 22 - 0 - 0 - INH - - - 23 - 0 - 0 - EXC - - - 24 - 0 - 0 - EXC - - - 25 - 0 - 0 - EXC - - - 26 - 0 - 0 - EXC - - - 27 - 0 - 1 - EXC - - - 28 - 0 - 0 - EXC - - - 29 - 0 - 0 - EXC - - - 30 - 0 - 0 - EXC - - - 31 - 0 - 0 - EXC - - - 32 - 0 - 0 - INH - - - 33 - 0 - 0 - EXC - - - 34 - 0 - 0 - EXC - - - 35 - 0 - 0 - EXC - - - 36 - 0 - 0 - EXC - - - 37 - 0 - 1 - EXC - - - 38 - 0 - 0 - EXC - - - 39 - 0 - 0 - EXC - - - 40 - 0 - 0 - EXC - - - 41 - 0 - 0 - EXC - - - 42 - 0 - 0 - INH - - - 43 - 0 - 0 - EXC - - - 44 - 0 - 0 - EXC - - - 45 - 0 - 0 - EXC - - - 46 - 0 - 0 - EXC - - - 47 - 0 - 1 - EXC - - - 48 - 0 - 0 - EXC - - - 49 - 0 - 0 - EXC - - - 50 - 0 - 0 - EXC - - - 51 - 0 - 0 - EXC - - - 52 - 0 - 0 - INH - - - 53 - 0 - 0 - EXC - - - 54 - 0 - 0 - EXC - - - 55 - 0 - 0 - EXC - - - 56 - 0 - 0 - EXC - - - 57 - 0 - 1 - EXC - - - 58 - 0 - 0 - EXC - - - 59 - 0 - 0 - EXC - - - 60 - 0 - 0 - EXC - - - 61 - 0 - 0 - EXC - - - 62 - 0 - 0 - INH - - - 63 - 0 - 0 - EXC - - - 64 - 0 - 0 - EXC - - - 65 - 0 - 0 - EXC - - - 66 - 0 - 0 - EXC - - - 67 - 0 - 1 - EXC - - - 68 - 0 - 0 - EXC - - - 69 - 0 - 0 - EXC - - - 70 - 0 - 0 - EXC - - - 71 - 0 - 0 - EXC - - - 72 - 0 - 0 - INH - - - 73 - 0 - 0 - EXC - - - 74 - 0 - 0 - EXC - - - 75 - 0 - 0 - EXC - - - 76 - 0 - 0 - EXC - - - 77 - 0 - 1 - EXC - - - 78 - 0 - 0 - EXC - - - 79 - 0 - 0 - EXC - - - 80 - 0 - 0 - EXC - - - 81 - 0 - 0 - EXC - - - 82 - 0 - 0 - INH - - - 83 - 0 - 0 - EXC - - - 84 - 0 - 0 - EXC - - - 85 - 0 - 0 - EXC - - - 86 - 0 - 0 - EXC - - - 87 - 0 - 1 - EXC - - - 88 - 0 - 0 - EXC - - - 89 - 0 - 0 - EXC - - - 90 - 0 - 0 - EXC - - - 91 - 0 - 0 - EXC - - - 92 - 0 - 0 - INH - - - 93 - 0 - 0 - EXC - - - 94 - 0 - 0 - EXC - - - 95 - 0 - 0 - EXC - - - 96 - 0 - 0 - EXC - - - 97 - 0 - 1 - EXC - - - 98 - 0 - 0 - EXC - - - 99 - 0 - 0 - EXC - - - 0 - 1 - 0 - EXC - - - 1 - 1 - 1 - EXC - - - 2 - 1 - 0 - EXC - - - 3 - 1 - 0 - EXC - - - 4 - 1 - 1 - EXC - - - 5 - 1 - 0 - EXC - - - 6 - 1 - 0 - EXC - - - 7 - 1 - 0 - EXC - - - 8 - 1 - 0 - EXC - - - 9 - 1 - 0 - EXC - - - 10 - 1 - 0 - EXC - - - 11 - 1 - 1 - EXC - - - 12 - 1 - 0 - EXC - - - 13 - 1 - 0 - EXC - - - 14 - 1 - 1 - EXC - - - 15 - 1 - 0 - EXC - - - 16 - 1 - 0 - EXC - - - 17 - 1 - 0 - EXC - - - 18 - 1 - 0 - EXC - - - 19 - 1 - 0 - EXC - - - 20 - 1 - 0 - EXC - - - 21 - 1 - 1 - EXC - - - 22 - 1 - 0 - EXC - - - 23 - 1 - 0 - EXC - - - 24 - 1 - 1 - EXC - - - 25 - 1 - 0 - EXC - - - 26 - 1 - 0 - EXC - - - 27 - 1 - 0 - EXC - - - 28 - 1 - 0 - EXC - - - 29 - 1 - 0 - EXC - - - 30 - 1 - 0 - EXC - - - 31 - 1 - 1 - EXC - - - 32 - 1 - 0 - EXC - - - 33 - 1 - 0 - EXC - - - 34 - 1 - 1 - EXC - - - 35 - 1 - 0 - EXC - - - 36 - 1 - 0 - EXC - - - 37 - 1 - 0 - EXC - - - 38 - 1 - 0 - EXC - - - 39 - 1 - 0 - EXC - - - 40 - 1 - 0 - EXC - - - 41 - 1 - 1 - EXC - - - 42 - 1 - 0 - EXC - - - 43 - 1 - 0 - EXC - - - 44 - 1 - 1 - EXC - - - 45 - 1 - 0 - EXC - - - 46 - 1 - 0 - EXC - - - 47 - 1 - 0 - EXC - - - 48 - 1 - 0 - EXC - - - 49 - 1 - 0 - EXC - - - 50 - 1 - 0 - EXC - - - 51 - 1 - 1 - EXC - - - 52 - 1 - 0 - EXC - - - 53 - 1 - 0 - EXC - - - 54 - 1 - 1 - EXC - - - 55 - 1 - 0 - EXC - - - 56 - 1 - 0 - EXC - - - 57 - 1 - 0 - EXC - - - 58 - 1 - 0 - EXC - - - 59 - 1 - 0 - EXC - - - 60 - 1 - 0 - EXC - - - 61 - 1 - 1 - EXC - - - 62 - 1 - 0 - EXC - - - 63 - 1 - 0 - EXC - - - 64 - 1 - 1 - EXC - - - 65 - 1 - 0 - EXC - - - 66 - 1 - 0 - EXC - - - 67 - 1 - 0 - EXC - - - 68 - 1 - 0 - EXC - - - 69 - 1 - 0 - EXC - - - 70 - 1 - 0 - EXC - - - 71 - 1 - 1 - EXC - - - 72 - 1 - 0 - EXC - - - 73 - 1 - 0 - EXC - - - 74 - 1 - 1 - EXC - - - 75 - 1 - 0 - EXC - - - 76 - 1 - 0 - EXC - - - 77 - 1 - 0 - EXC - - - 78 - 1 - 0 - EXC - - - 79 - 1 - 0 - EXC - - - 80 - 1 - 0 - EXC - - - 81 - 1 - 1 - EXC - - - 82 - 1 - 0 - EXC - - - 83 - 1 - 0 - EXC - - - 84 - 1 - 1 - EXC - - - 85 - 1 - 0 - EXC - - - 86 - 1 - 0 - EXC - - - 87 - 1 - 0 - EXC - - - 88 - 1 - 0 - EXC - - - 89 - 1 - 0 - EXC - - - 90 - 1 - 0 - EXC - - - 91 - 1 - 1 - EXC - - - 92 - 1 - 0 - EXC - - - 93 - 1 - 0 - EXC - - - 94 - 1 - 1 - EXC - - - 95 - 1 - 0 - EXC - - - 96 - 1 - 0 - EXC - - - 97 - 1 - 0 - EXC - - - 98 - 1 - 0 - EXC - - - 99 - 1 - 0 - EXC - - - 0 - 2 - 0 - EXC - - - 1 - 2 - 0 - EXC - - - 2 - 2 - 0 - EXC - - - 3 - 2 - 0 - EXC - - - 4 - 2 - 0 - EXC - - - 5 - 2 - 0 - INH - - - 6 - 2 - 0 - EXC - - - 7 - 2 - 0 - EXC - - - 8 - 2 - 0 - INH - - - 9 - 2 - 0 - EXC - - - 10 - 2 - 0 - EXC - - - 11 - 2 - 0 - EXC - - - 12 - 2 - 0 - EXC - - - 13 - 2 - 0 - EXC - - - 14 - 2 - 0 - EXC - - - 15 - 2 - 0 - INH - - - 16 - 2 - 0 - EXC - - - 17 - 2 - 0 - EXC - - - 18 - 2 - 0 - INH - - - 19 - 2 - 0 - EXC - - - 20 - 2 - 0 - EXC - - - 21 - 2 - 0 - EXC - - - 22 - 2 - 0 - EXC - - - 23 - 2 - 0 - EXC - - - 24 - 2 - 0 - EXC - - - 25 - 2 - 0 - INH - - - 26 - 2 - 0 - EXC - - - 27 - 2 - 0 - EXC - - - 28 - 2 - 0 - INH - - - 29 - 2 - 0 - EXC - - - 30 - 2 - 0 - EXC - - - 31 - 2 - 0 - EXC - - - 32 - 2 - 0 - EXC - - - 33 - 2 - 0 - EXC - - - 34 - 2 - 0 - EXC - - - 35 - 2 - 0 - INH - - - 36 - 2 - 0 - EXC - - - 37 - 2 - 0 - EXC - - - 38 - 2 - 0 - INH - - - 39 - 2 - 0 - EXC - - - 40 - 2 - 0 - EXC - - - 41 - 2 - 0 - EXC - - - 42 - 2 - 0 - EXC - - - 43 - 2 - 0 - EXC - - - 44 - 2 - 0 - EXC - - - 45 - 2 - 0 - INH - - - 46 - 2 - 0 - EXC - - - 47 - 2 - 0 - EXC - - - 48 - 2 - 0 - INH - - - 49 - 2 - 0 - EXC - - - 50 - 2 - 0 - EXC - - - 51 - 2 - 0 - EXC - - - 52 - 2 - 0 - EXC - - - 53 - 2 - 0 - EXC - - - 54 - 2 - 0 - EXC - - - 55 - 2 - 0 - INH - - - 56 - 2 - 0 - EXC - - - 57 - 2 - 0 - EXC - - - 58 - 2 - 0 - INH - - - 59 - 2 - 0 - EXC - - - 60 - 2 - 0 - EXC - - - 61 - 2 - 0 - EXC - - - 62 - 2 - 0 - EXC - - - 63 - 2 - 0 - EXC - - - 64 - 2 - 0 - EXC - - - 65 - 2 - 0 - INH - - - 66 - 2 - 0 - EXC - - - 67 - 2 - 0 - EXC - - - 68 - 2 - 0 - INH - - - 69 - 2 - 0 - EXC - - - 70 - 2 - 0 - EXC - - - 71 - 2 - 0 - EXC - - - 72 - 2 - 0 - EXC - - - 73 - 2 - 0 - EXC - - - 74 - 2 - 0 - EXC - - - 75 - 2 - 0 - INH - - - 76 - 2 - 0 - EXC - - - 77 - 2 - 0 - EXC - - - 78 - 2 - 0 - INH - - - 79 - 2 - 0 - EXC - - - 80 - 2 - 0 - EXC - - - 81 - 2 - 0 - EXC - - - 82 - 2 - 0 - EXC - - - 83 - 2 - 0 - EXC - - - 84 - 2 - 0 - EXC - - - 85 - 2 - 0 - INH - - - 86 - 2 - 0 - EXC - - - 87 - 2 - 0 - EXC - - - 88 - 2 - 0 - INH - - - 89 - 2 - 0 - EXC - - - 90 - 2 - 0 - EXC - - - 91 - 2 - 0 - EXC - - - 92 - 2 - 0 - EXC - - - 93 - 2 - 0 - EXC - - - 94 - 2 - 0 - EXC - - - 95 - 2 - 0 - INH - - - 96 - 2 - 0 - EXC - - - 97 - 2 - 0 - EXC - - - 98 - 2 - 0 - INH - - - 99 - 2 - 0 - EXC - - - 0 - 3 - 0 - EXC - - - 1 - 3 - 0 - EXC - - - 2 - 3 - 0 - INH - - - 3 - 3 - 0 - EXC - - - 4 - 3 - 0 - EXC - - - 5 - 3 - 0 - EXC - - - 6 - 3 - 0 - EXC - - - 7 - 3 - 1 - EXC - - - 8 - 3 - 0 - EXC - - - 9 - 3 - 0 - EXC - - - 10 - 3 - 0 - EXC - - - 11 - 3 - 0 - EXC - - - 12 - 3 - 0 - INH - - - 13 - 3 - 0 - EXC - - - 14 - 3 - 0 - EXC - - - 15 - 3 - 0 - EXC - - - 16 - 3 - 0 - EXC - - - 17 - 3 - 1 - EXC - - - 18 - 3 - 0 - EXC - - - 19 - 3 - 0 - EXC - - - 20 - 3 - 0 - EXC - - - 21 - 3 - 0 - EXC - - - 22 - 3 - 0 - INH - - - 23 - 3 - 0 - EXC - - - 24 - 3 - 0 - EXC - - - 25 - 3 - 0 - EXC - - - 26 - 3 - 0 - EXC - - - 27 - 3 - 1 - EXC - - - 28 - 3 - 0 - EXC - - - 29 - 3 - 0 - EXC - - - 30 - 3 - 0 - EXC - - - 31 - 3 - 0 - EXC - - - 32 - 3 - 0 - INH - - - 33 - 3 - 0 - EXC - - - 34 - 3 - 0 - EXC - - - 35 - 3 - 0 - EXC - - - 36 - 3 - 0 - EXC - - - 37 - 3 - 1 - EXC - - - 38 - 3 - 0 - EXC - - - 39 - 3 - 0 - EXC - - - 40 - 3 - 0 - EXC - - - 41 - 3 - 0 - EXC - - - 42 - 3 - 0 - INH - - - 43 - 3 - 0 - EXC - - - 44 - 3 - 0 - EXC - - - 45 - 3 - 0 - EXC - - - 46 - 3 - 0 - EXC - - - 47 - 3 - 1 - EXC - - - 48 - 3 - 0 - EXC - - - 49 - 3 - 0 - EXC - - - 50 - 3 - 0 - EXC - - - 51 - 3 - 0 - EXC - - - 52 - 3 - 0 - INH - - - 53 - 3 - 0 - EXC - - - 54 - 3 - 0 - EXC - - - 55 - 3 - 0 - EXC - - - 56 - 3 - 0 - EXC - - - 57 - 3 - 1 - EXC - - - 58 - 3 - 0 - EXC - - - 59 - 3 - 0 - EXC - - - 60 - 3 - 0 - EXC - - - 61 - 3 - 0 - EXC - - - 62 - 3 - 0 - INH - - - 63 - 3 - 0 - EXC - - - 64 - 3 - 0 - EXC - - - 65 - 3 - 0 - EXC - - - 66 - 3 - 0 - EXC - - - 67 - 3 - 1 - EXC - - - 68 - 3 - 0 - EXC - - - 69 - 3 - 0 - EXC - - - 70 - 3 - 0 - EXC - - - 71 - 3 - 0 - EXC - - - 72 - 3 - 0 - INH - - - 73 - 3 - 0 - EXC - - - 74 - 3 - 0 - EXC - - - 75 - 3 - 0 - EXC - - - 76 - 3 - 0 - EXC - - - 77 - 3 - 1 - EXC - - - 78 - 3 - 0 - EXC - - - 79 - 3 - 0 - EXC - - - 80 - 3 - 0 - EXC - - - 81 - 3 - 0 - EXC - - - 82 - 3 - 0 - INH - - - 83 - 3 - 0 - EXC - - - 84 - 3 - 0 - EXC - - - 85 - 3 - 0 - EXC - - - 86 - 3 - 0 - EXC - - - 87 - 3 - 1 - EXC - - - 88 - 3 - 0 - EXC - - - 89 - 3 - 0 - EXC - - - 90 - 3 - 0 - EXC - - - 91 - 3 - 0 - EXC - - - 92 - 3 - 0 - INH - - - 93 - 3 - 0 - EXC - - - 94 - 3 - 0 - EXC - - - 95 - 3 - 0 - EXC - - - 96 - 3 - 0 - EXC - - - 97 - 3 - 1 - EXC - - - 98 - 3 - 0 - EXC - - - 99 - 3 - 0 - EXC - - - 0 - 4 - 0 - EXC - - - 1 - 4 - 1 - EXC - - - 2 - 4 - 0 - EXC - - - 3 - 4 - 0 - EXC - - - 4 - 4 - 1 - EXC - - - 5 - 4 - 0 - EXC - - - 6 - 4 - 0 - EXC - - - 7 - 4 - 0 - EXC - - - 8 - 4 - 0 - EXC - - - 9 - 4 - 0 - EXC - - - 10 - 4 - 0 - EXC - - - 11 - 4 - 1 - EXC - - - 12 - 4 - 0 - EXC - - - 13 - 4 - 0 - EXC - - - 14 - 4 - 1 - EXC - - - 15 - 4 - 0 - EXC - - - 16 - 4 - 0 - EXC - - - 17 - 4 - 0 - EXC - - - 18 - 4 - 0 - EXC - - - 19 - 4 - 0 - EXC - - - 20 - 4 - 0 - EXC - - - 21 - 4 - 1 - EXC - - - 22 - 4 - 0 - EXC - - - 23 - 4 - 0 - EXC - - - 24 - 4 - 1 - EXC - - - 25 - 4 - 0 - EXC - - - 26 - 4 - 0 - EXC - - - 27 - 4 - 0 - EXC - - - 28 - 4 - 0 - EXC - - - 29 - 4 - 0 - EXC - - - 30 - 4 - 0 - EXC - - - 31 - 4 - 1 - EXC - - - 32 - 4 - 0 - EXC - - - 33 - 4 - 0 - EXC - - - 34 - 4 - 1 - EXC - - - 35 - 4 - 0 - EXC - - - 36 - 4 - 0 - EXC - - - 37 - 4 - 0 - EXC - - - 38 - 4 - 0 - EXC - - - 39 - 4 - 0 - EXC - - - 40 - 4 - 0 - EXC - - - 41 - 4 - 1 - EXC - - - 42 - 4 - 0 - EXC - - - 43 - 4 - 0 - EXC - - - 44 - 4 - 1 - EXC - - - 45 - 4 - 0 - EXC - - - 46 - 4 - 0 - EXC - - - 47 - 4 - 0 - EXC - - - 48 - 4 - 0 - EXC - - - 49 - 4 - 0 - EXC - - - 50 - 4 - 0 - EXC - - - 51 - 4 - 1 - EXC - - - 52 - 4 - 0 - EXC - - - 53 - 4 - 0 - EXC - - - 54 - 4 - 1 - EXC - - - 55 - 4 - 0 - EXC - - - 56 - 4 - 0 - EXC - - - 57 - 4 - 0 - EXC - - - 58 - 4 - 0 - EXC - - - 59 - 4 - 0 - EXC - - - 60 - 4 - 0 - EXC - - - 61 - 4 - 1 - EXC - - - 62 - 4 - 0 - EXC - - - 63 - 4 - 0 - EXC - - - 64 - 4 - 1 - EXC - - - 65 - 4 - 0 - EXC - - - 66 - 4 - 0 - EXC - - - 67 - 4 - 0 - EXC - - - 68 - 4 - 0 - EXC - - - 69 - 4 - 0 - EXC - - - 70 - 4 - 0 - EXC - - - 71 - 4 - 1 - EXC - - - 72 - 4 - 0 - EXC - - - 73 - 4 - 0 - EXC - - - 74 - 4 - 1 - EXC - - - 75 - 4 - 0 - EXC - - - 76 - 4 - 0 - EXC - - - 77 - 4 - 0 - EXC - - - 78 - 4 - 0 - EXC - - - 79 - 4 - 0 - EXC - - - 80 - 4 - 0 - EXC - - - 81 - 4 - 1 - EXC - - - 82 - 4 - 0 - EXC - - - 83 - 4 - 0 - EXC - - - 84 - 4 - 1 - EXC - - - 85 - 4 - 0 - EXC - - - 86 - 4 - 0 - EXC - - - 87 - 4 - 0 - EXC - - - 88 - 4 - 0 - EXC - - - 89 - 4 - 0 - EXC - - - 90 - 4 - 0 - EXC - - - 91 - 4 - 1 - EXC - - - 92 - 4 - 0 - EXC - - - 93 - 4 - 0 - EXC - - - 94 - 4 - 1 - EXC - - - 95 - 4 - 0 - EXC - - - 96 - 4 - 0 - EXC - - - 97 - 4 - 0 - EXC - - - 98 - 4 - 0 - EXC - - - 99 - 4 - 0 - EXC - - - 0 - 5 - 0 - EXC - - - 1 - 5 - 0 - EXC - - - 2 - 5 - 0 - EXC - - - 3 - 5 - 0 - EXC - - - 4 - 5 - 0 - EXC - - - 5 - 5 - 0 - INH - - - 6 - 5 - 0 - EXC - - - 7 - 5 - 0 - EXC - - - 8 - 5 - 0 - INH - - - 9 - 5 - 0 - EXC - - - 10 - 5 - 0 - EXC - - - 11 - 5 - 0 - EXC - - - 12 - 5 - 0 - EXC - - - 13 - 5 - 0 - EXC - - - 14 - 5 - 0 - EXC - - - 15 - 5 - 0 - INH - - - 16 - 5 - 0 - EXC - - - 17 - 5 - 0 - EXC - - - 18 - 5 - 0 - INH - - - 19 - 5 - 0 - EXC - - - 20 - 5 - 0 - EXC - - - 21 - 5 - 0 - EXC - - - 22 - 5 - 0 - EXC - - - 23 - 5 - 0 - EXC - - - 24 - 5 - 0 - EXC - - - 25 - 5 - 0 - INH - - - 26 - 5 - 0 - EXC - - - 27 - 5 - 0 - EXC - - - 28 - 5 - 0 - INH - - - 29 - 5 - 0 - EXC - - - 30 - 5 - 0 - EXC - - - 31 - 5 - 0 - EXC - - - 32 - 5 - 0 - EXC - - - 33 - 5 - 0 - EXC - - - 34 - 5 - 0 - EXC - - - 35 - 5 - 0 - INH - - - 36 - 5 - 0 - EXC - - - 37 - 5 - 0 - EXC - - - 38 - 5 - 0 - INH - - - 39 - 5 - 0 - EXC - - - 40 - 5 - 0 - EXC - - - 41 - 5 - 0 - EXC - - - 42 - 5 - 0 - EXC - - - 43 - 5 - 0 - EXC - - - 44 - 5 - 0 - EXC - - - 45 - 5 - 0 - INH - - - 46 - 5 - 0 - EXC - - - 47 - 5 - 0 - EXC - - - 48 - 5 - 0 - INH - - - 49 - 5 - 0 - EXC - - - 50 - 5 - 0 - EXC - - - 51 - 5 - 0 - EXC - - - 52 - 5 - 0 - EXC - - - 53 - 5 - 0 - EXC - - - 54 - 5 - 0 - EXC - - - 55 - 5 - 0 - INH - - - 56 - 5 - 0 - EXC - - - 57 - 5 - 0 - EXC - - - 58 - 5 - 0 - INH - - - 59 - 5 - 0 - EXC - - - 60 - 5 - 0 - EXC - - - 61 - 5 - 0 - EXC - - - 62 - 5 - 0 - EXC - - - 63 - 5 - 0 - EXC - - - 64 - 5 - 0 - EXC - - - 65 - 5 - 0 - INH - - - 66 - 5 - 0 - EXC - - - 67 - 5 - 0 - EXC - - - 68 - 5 - 0 - INH - - - 69 - 5 - 0 - EXC - - - 70 - 5 - 0 - EXC - - - 71 - 5 - 0 - EXC - - - 72 - 5 - 0 - EXC - - - 73 - 5 - 0 - EXC - - - 74 - 5 - 0 - EXC - - - 75 - 5 - 0 - INH - - - 76 - 5 - 0 - EXC - - - 77 - 5 - 0 - EXC - - - 78 - 5 - 0 - INH - - - 79 - 5 - 0 - EXC - - - 80 - 5 - 0 - EXC - - - 81 - 5 - 0 - EXC - - - 82 - 5 - 0 - EXC - - - 83 - 5 - 0 - EXC - - - 84 - 5 - 0 - EXC - - - 85 - 5 - 0 - INH - - - 86 - 5 - 0 - EXC - - - 87 - 5 - 0 - EXC - - - 88 - 5 - 0 - INH - - - 89 - 5 - 0 - EXC - - - 90 - 5 - 0 - EXC - - - 91 - 5 - 0 - EXC - - - 92 - 5 - 0 - EXC - - - 93 - 5 - 0 - EXC - - - 94 - 5 - 0 - EXC - - - 95 - 5 - 0 - INH - - - 96 - 5 - 0 - EXC - - - 97 - 5 - 0 - EXC - - - 98 - 5 - 0 - INH - - - 99 - 5 - 0 - EXC - - - 0 - 6 - 0 - EXC - - - 1 - 6 - 0 - EXC - - - 2 - 6 - 0 - INH - - - 3 - 6 - 0 - EXC - - - 4 - 6 - 0 - EXC - - - 5 - 6 - 0 - EXC - - - 6 - 6 - 0 - EXC - - - 7 - 6 - 1 - EXC - - - 8 - 6 - 0 - EXC - - - 9 - 6 - 0 - EXC - - - 10 - 6 - 0 - EXC - - - 11 - 6 - 0 - EXC - - - 12 - 6 - 0 - INH - - - 13 - 6 - 0 - EXC - - - 14 - 6 - 0 - EXC - - - 15 - 6 - 0 - EXC - - - 16 - 6 - 0 - EXC - - - 17 - 6 - 1 - EXC - - - 18 - 6 - 0 - EXC - - - 19 - 6 - 0 - EXC - - - 20 - 6 - 0 - EXC - - - 21 - 6 - 0 - EXC - - - 22 - 6 - 0 - INH - - - 23 - 6 - 0 - EXC - - - 24 - 6 - 0 - EXC - - - 25 - 6 - 0 - EXC - - - 26 - 6 - 0 - EXC - - - 27 - 6 - 1 - EXC - - - 28 - 6 - 0 - EXC - - - 29 - 6 - 0 - EXC - - - 30 - 6 - 0 - EXC - - - 31 - 6 - 0 - EXC - - - 32 - 6 - 0 - INH - - - 33 - 6 - 0 - EXC - - - 34 - 6 - 0 - EXC - - - 35 - 6 - 0 - EXC - - - 36 - 6 - 0 - EXC - - - 37 - 6 - 1 - EXC - - - 38 - 6 - 0 - EXC - - - 39 - 6 - 0 - EXC - - - 40 - 6 - 0 - EXC - - - 41 - 6 - 0 - EXC - - - 42 - 6 - 0 - INH - - - 43 - 6 - 0 - EXC - - - 44 - 6 - 0 - EXC - - - 45 - 6 - 0 - EXC - - - 46 - 6 - 0 - EXC - - - 47 - 6 - 1 - EXC - - - 48 - 6 - 0 - EXC - - - 49 - 6 - 0 - EXC - - - 50 - 6 - 0 - EXC - - - 51 - 6 - 0 - EXC - - - 52 - 6 - 0 - INH - - - 53 - 6 - 0 - EXC - - - 54 - 6 - 0 - EXC - - - 55 - 6 - 0 - EXC - - - 56 - 6 - 0 - EXC - - - 57 - 6 - 1 - EXC - - - 58 - 6 - 0 - EXC - - - 59 - 6 - 0 - EXC - - - 60 - 6 - 0 - EXC - - - 61 - 6 - 0 - EXC - - - 62 - 6 - 0 - INH - - - 63 - 6 - 0 - EXC - - - 64 - 6 - 0 - EXC - - - 65 - 6 - 0 - EXC - - - 66 - 6 - 0 - EXC - - - 67 - 6 - 1 - EXC - - - 68 - 6 - 0 - EXC - - - 69 - 6 - 0 - EXC - - - 70 - 6 - 0 - EXC - - - 71 - 6 - 0 - EXC - - - 72 - 6 - 0 - INH - - - 73 - 6 - 0 - EXC - - - 74 - 6 - 0 - EXC - - - 75 - 6 - 0 - EXC - - - 76 - 6 - 0 - EXC - - - 77 - 6 - 1 - EXC - - - 78 - 6 - 0 - EXC - - - 79 - 6 - 0 - EXC - - - 80 - 6 - 0 - EXC - - - 81 - 6 - 0 - EXC - - - 82 - 6 - 0 - INH - - - 83 - 6 - 0 - EXC - - - 84 - 6 - 0 - EXC - - - 85 - 6 - 0 - EXC - - - 86 - 6 - 0 - EXC - - - 87 - 6 - 1 - EXC - - - 88 - 6 - 0 - EXC - - - 89 - 6 - 0 - EXC - - - 90 - 6 - 0 - EXC - - - 91 - 6 - 0 - EXC - - - 92 - 6 - 0 - INH - - - 93 - 6 - 0 - EXC - - - 94 - 6 - 0 - EXC - - - 95 - 6 - 0 - EXC - - - 96 - 6 - 0 - EXC - - - 97 - 6 - 1 - EXC - - - 98 - 6 - 0 - EXC - - - 99 - 6 - 0 - EXC - - - 0 - 7 - 0 - EXC - - - 1 - 7 - 1 - EXC - - - 2 - 7 - 0 - EXC - - - 3 - 7 - 0 - EXC - - - 4 - 7 - 1 - EXC - - - 5 - 7 - 0 - EXC - - - 6 - 7 - 0 - EXC - - - 7 - 7 - 0 - EXC - - - 8 - 7 - 0 - EXC - - - 9 - 7 - 0 - EXC - - - 10 - 7 - 0 - EXC - - - 11 - 7 - 1 - EXC - - - 12 - 7 - 0 - EXC - - - 13 - 7 - 0 - EXC - - - 14 - 7 - 1 - EXC - - - 15 - 7 - 0 - EXC - - - 16 - 7 - 0 - EXC - - - 17 - 7 - 0 - EXC - - - 18 - 7 - 0 - EXC - - - 19 - 7 - 0 - EXC - - - 20 - 7 - 0 - EXC - - - 21 - 7 - 1 - EXC - - - 22 - 7 - 0 - EXC - - - 23 - 7 - 0 - EXC - - - 24 - 7 - 1 - EXC - - - 25 - 7 - 0 - EXC - - - 26 - 7 - 0 - EXC - - - 27 - 7 - 0 - EXC - - - 28 - 7 - 0 - EXC - - - 29 - 7 - 0 - EXC - - - 30 - 7 - 0 - EXC - - - 31 - 7 - 1 - EXC - - - 32 - 7 - 0 - EXC - - - 33 - 7 - 0 - EXC - - - 34 - 7 - 1 - EXC - - - 35 - 7 - 0 - EXC - - - 36 - 7 - 0 - EXC - - - 37 - 7 - 0 - EXC - - - 38 - 7 - 0 - EXC - - - 39 - 7 - 0 - EXC - - - 40 - 7 - 0 - EXC - - - 41 - 7 - 1 - EXC - - - 42 - 7 - 0 - EXC - - - 43 - 7 - 0 - EXC - - - 44 - 7 - 1 - EXC - - - 45 - 7 - 0 - EXC - - - 46 - 7 - 0 - EXC - - - 47 - 7 - 0 - EXC - - - 48 - 7 - 0 - EXC - - - 49 - 7 - 0 - EXC - - - 50 - 7 - 0 - EXC - - - 51 - 7 - 1 - EXC - - - 52 - 7 - 0 - EXC - - - 53 - 7 - 0 - EXC - - - 54 - 7 - 1 - EXC - - - 55 - 7 - 0 - EXC - - - 56 - 7 - 0 - EXC - - - 57 - 7 - 0 - EXC - - - 58 - 7 - 0 - EXC - - - 59 - 7 - 0 - EXC - - - 60 - 7 - 0 - EXC - - - 61 - 7 - 1 - EXC - - - 62 - 7 - 0 - EXC - - - 63 - 7 - 0 - EXC - - - 64 - 7 - 1 - EXC - - - 65 - 7 - 0 - EXC - - - 66 - 7 - 0 - EXC - - - 67 - 7 - 0 - EXC - - - 68 - 7 - 0 - EXC - - - 69 - 7 - 0 - EXC - - - 70 - 7 - 0 - EXC - - - 71 - 7 - 1 - EXC - - - 72 - 7 - 0 - EXC - - - 73 - 7 - 0 - EXC - - - 74 - 7 - 1 - EXC - - - 75 - 7 - 0 - EXC - - - 76 - 7 - 0 - EXC - - - 77 - 7 - 0 - EXC - - - 78 - 7 - 0 - EXC - - - 79 - 7 - 0 - EXC - - - 80 - 7 - 0 - EXC - - - 81 - 7 - 1 - EXC - - - 82 - 7 - 0 - EXC - - - 83 - 7 - 0 - EXC - - - 84 - 7 - 1 - EXC - - - 85 - 7 - 0 - EXC - - - 86 - 7 - 0 - EXC - - - 87 - 7 - 0 - EXC - - - 88 - 7 - 0 - EXC - - - 89 - 7 - 0 - EXC - - - 90 - 7 - 0 - EXC - - - 91 - 7 - 1 - EXC - - - 92 - 7 - 0 - EXC - - - 93 - 7 - 0 - EXC - - - 94 - 7 - 1 - EXC - - - 95 - 7 - 0 - EXC - - - 96 - 7 - 0 - EXC - - - 97 - 7 - 0 - EXC - - - 98 - 7 - 0 - EXC - - - 99 - 7 - 0 - EXC - - - 0 - 8 - 0 - EXC - - - 1 - 8 - 0 - EXC - - - 2 - 8 - 0 - EXC - - - 3 - 8 - 0 - EXC - - - 4 - 8 - 0 - EXC - - - 5 - 8 - 0 - INH - - - 6 - 8 - 0 - EXC - - - 7 - 8 - 0 - EXC - - - 8 - 8 - 0 - INH - - - 9 - 8 - 0 - EXC - - - 10 - 8 - 0 - EXC - - - 11 - 8 - 0 - EXC - - - 12 - 8 - 0 - EXC - - - 13 - 8 - 0 - EXC - - - 14 - 8 - 0 - EXC - - - 15 - 8 - 0 - INH - - - 16 - 8 - 0 - EXC - - - 17 - 8 - 0 - EXC - - - 18 - 8 - 0 - INH - - - 19 - 8 - 0 - EXC - - - 20 - 8 - 0 - EXC - - - 21 - 8 - 0 - EXC - - - 22 - 8 - 0 - EXC - - - 23 - 8 - 0 - EXC - - - 24 - 8 - 0 - EXC - - - 25 - 8 - 0 - INH - - - 26 - 8 - 0 - EXC - - - 27 - 8 - 0 - EXC - - - 28 - 8 - 0 - INH - - - 29 - 8 - 0 - EXC - - - 30 - 8 - 0 - EXC - - - 31 - 8 - 0 - EXC - - - 32 - 8 - 0 - EXC - - - 33 - 8 - 0 - EXC - - - 34 - 8 - 0 - EXC - - - 35 - 8 - 0 - INH - - - 36 - 8 - 0 - EXC - - - 37 - 8 - 0 - EXC - - - 38 - 8 - 0 - INH - - - 39 - 8 - 0 - EXC - - - 40 - 8 - 0 - EXC - - - 41 - 8 - 0 - EXC - - - 42 - 8 - 0 - EXC - - - 43 - 8 - 0 - EXC - - - 44 - 8 - 0 - EXC - - - 45 - 8 - 0 - INH - - - 46 - 8 - 0 - EXC - - - 47 - 8 - 0 - EXC - - - 48 - 8 - 0 - INH - - - 49 - 8 - 0 - EXC - - - 50 - 8 - 0 - EXC - - - 51 - 8 - 0 - EXC - - - 52 - 8 - 0 - EXC - - - 53 - 8 - 0 - EXC - - - 54 - 8 - 0 - EXC - - - 55 - 8 - 0 - INH - - - 56 - 8 - 0 - EXC - - - 57 - 8 - 0 - EXC - - - 58 - 8 - 0 - INH - - - 59 - 8 - 0 - EXC - - - 60 - 8 - 0 - EXC - - - 61 - 8 - 0 - EXC - - - 62 - 8 - 0 - EXC - - - 63 - 8 - 0 - EXC - - - 64 - 8 - 0 - EXC - - - 65 - 8 - 0 - INH - - - 66 - 8 - 0 - EXC - - - 67 - 8 - 0 - EXC - - - 68 - 8 - 0 - INH - - - 69 - 8 - 0 - EXC - - - 70 - 8 - 0 - EXC - - - 71 - 8 - 0 - EXC - - - 72 - 8 - 0 - EXC - - - 73 - 8 - 0 - EXC - - - 74 - 8 - 0 - EXC - - - 75 - 8 - 0 - INH - - - 76 - 8 - 0 - EXC - - - 77 - 8 - 0 - EXC - - - 78 - 8 - 0 - INH - - - 79 - 8 - 0 - EXC - - - 80 - 8 - 0 - EXC - - - 81 - 8 - 0 - EXC - - - 82 - 8 - 0 - EXC - - - 83 - 8 - 0 - EXC - - - 84 - 8 - 0 - EXC - - - 85 - 8 - 0 - INH - - - 86 - 8 - 0 - EXC - - - 87 - 8 - 0 - EXC - - - 88 - 8 - 0 - INH - - - 89 - 8 - 0 - EXC - - - 90 - 8 - 0 - EXC - - - 91 - 8 - 0 - EXC - - - 92 - 8 - 0 - EXC - - - 93 - 8 - 0 - EXC - - - 94 - 8 - 0 - EXC - - - 95 - 8 - 0 - INH - - - 96 - 8 - 0 - EXC - - - 97 - 8 - 0 - EXC - - - 98 - 8 - 0 - INH - - - 99 - 8 - 0 - EXC - - - 0 - 9 - 0 - EXC - - - 1 - 9 - 0 - EXC - - - 2 - 9 - 0 - INH - - - 3 - 9 - 0 - EXC - - - 4 - 9 - 0 - EXC - - - 5 - 9 - 0 - EXC - - - 6 - 9 - 0 - EXC - - - 7 - 9 - 1 - EXC - - - 8 - 9 - 0 - EXC - - - 9 - 9 - 0 - EXC - - - 10 - 9 - 0 - EXC - - - 11 - 9 - 0 - EXC - - - 12 - 9 - 0 - INH - - - 13 - 9 - 0 - EXC - - - 14 - 9 - 0 - EXC - - - 15 - 9 - 0 - EXC - - - 16 - 9 - 0 - EXC - - - 17 - 9 - 1 - EXC - - - 18 - 9 - 0 - EXC - - - 19 - 9 - 0 - EXC - - - 20 - 9 - 0 - EXC - - - 21 - 9 - 0 - EXC - - - 22 - 9 - 0 - INH - - - 23 - 9 - 0 - EXC - - - 24 - 9 - 0 - EXC - - - 25 - 9 - 0 - EXC - - - 26 - 9 - 0 - EXC - - - 27 - 9 - 1 - EXC - - - 28 - 9 - 0 - EXC - - - 29 - 9 - 0 - EXC - - - 30 - 9 - 0 - EXC - - - 31 - 9 - 0 - EXC - - - 32 - 9 - 0 - INH - - - 33 - 9 - 0 - EXC - - - 34 - 9 - 0 - EXC - - - 35 - 9 - 0 - EXC - - - 36 - 9 - 0 - EXC - - - 37 - 9 - 1 - EXC - - - 38 - 9 - 0 - EXC - - - 39 - 9 - 0 - EXC - - - 40 - 9 - 0 - EXC - - - 41 - 9 - 0 - EXC - - - 42 - 9 - 0 - INH - - - 43 - 9 - 0 - EXC - - - 44 - 9 - 0 - EXC - - - 45 - 9 - 0 - EXC - - - 46 - 9 - 0 - EXC - - - 47 - 9 - 1 - EXC - - - 48 - 9 - 0 - EXC - - - 49 - 9 - 0 - EXC - - - 50 - 9 - 0 - EXC - - - 51 - 9 - 0 - EXC - - - 52 - 9 - 0 - INH - - - 53 - 9 - 0 - EXC - - - 54 - 9 - 0 - EXC - - - 55 - 9 - 0 - EXC - - - 56 - 9 - 0 - EXC - - - 57 - 9 - 1 - EXC - - - 58 - 9 - 0 - EXC - - - 59 - 9 - 0 - EXC - - - 60 - 9 - 0 - EXC - - - 61 - 9 - 0 - EXC - - - 62 - 9 - 0 - INH - - - 63 - 9 - 0 - EXC - - - 64 - 9 - 0 - EXC - - - 65 - 9 - 0 - EXC - - - 66 - 9 - 0 - EXC - - - 67 - 9 - 1 - EXC - - - 68 - 9 - 0 - EXC - - - 69 - 9 - 0 - EXC - - - 70 - 9 - 0 - EXC - - - 71 - 9 - 0 - EXC - - - 72 - 9 - 0 - INH - - - 73 - 9 - 0 - EXC - - - 74 - 9 - 0 - EXC - - - 75 - 9 - 0 - EXC - - - 76 - 9 - 0 - EXC - - - 77 - 9 - 1 - EXC - - - 78 - 9 - 0 - EXC - - - 79 - 9 - 0 - EXC - - - 80 - 9 - 0 - EXC - - - 81 - 9 - 0 - EXC - - - 82 - 9 - 0 - INH - - - 83 - 9 - 0 - EXC - - - 84 - 9 - 0 - EXC - - - 85 - 9 - 0 - EXC - - - 86 - 9 - 0 - EXC - - - 87 - 9 - 1 - EXC - - - 88 - 9 - 0 - EXC - - - 89 - 9 - 0 - EXC - - - 90 - 9 - 0 - EXC - - - 91 - 9 - 0 - EXC - - - 92 - 9 - 0 - INH - - - 93 - 9 - 0 - EXC - - - 94 - 9 - 0 - EXC - - - 95 - 9 - 0 - EXC - - - 96 - 9 - 0 - EXC - - - 97 - 9 - 1 - EXC - - - 98 - 9 - 0 - EXC - - - 99 - 9 - 0 - EXC - - - 0 - 10 - 0 - EXC - - - 1 - 10 - 0 - EXC - - - 2 - 10 - 0 - EXC - - - 3 - 10 - 0 - EXC - - - 4 - 10 - 0 - EXC - - - 5 - 10 - 0 - EXC - - - 6 - 10 - 0 - EXC - - - 7 - 10 - 1 - EXC - - - 8 - 10 - 0 - INH - - - 9 - 10 - 0 - EXC - - - 10 - 10 - 0 - EXC - - - 11 - 10 - 0 - EXC - - - 12 - 10 - 0 - EXC - - - 13 - 10 - 0 - EXC - - - 14 - 10 - 0 - EXC - - - 15 - 10 - 0 - EXC - - - 16 - 10 - 0 - EXC - - - 17 - 10 - 1 - EXC - - - 18 - 10 - 0 - INH - - - 19 - 10 - 0 - EXC - - - 20 - 10 - 0 - EXC - - - 21 - 10 - 0 - EXC - - - 22 - 10 - 0 - EXC - - - 23 - 10 - 0 - EXC - - - 24 - 10 - 0 - EXC - - - 25 - 10 - 0 - EXC - - - 26 - 10 - 0 - EXC - - - 27 - 10 - 1 - EXC - - - 28 - 10 - 0 - INH - - - 29 - 10 - 0 - EXC - - - 30 - 10 - 0 - EXC - - - 31 - 10 - 0 - EXC - - - 32 - 10 - 0 - EXC - - - 33 - 10 - 0 - EXC - - - 34 - 10 - 0 - EXC - - - 35 - 10 - 0 - EXC - - - 36 - 10 - 0 - EXC - - - 37 - 10 - 1 - EXC - - - 38 - 10 - 0 - INH - - - 39 - 10 - 0 - EXC - - - 40 - 10 - 0 - EXC - - - 41 - 10 - 0 - EXC - - - 42 - 10 - 0 - EXC - - - 43 - 10 - 0 - EXC - - - 44 - 10 - 0 - EXC - - - 45 - 10 - 0 - EXC - - - 46 - 10 - 0 - EXC - - - 47 - 10 - 1 - EXC - - - 48 - 10 - 0 - INH - - - 49 - 10 - 0 - EXC - - - 50 - 10 - 0 - EXC - - - 51 - 10 - 0 - EXC - - - 52 - 10 - 0 - EXC - - - 53 - 10 - 0 - EXC - - - 54 - 10 - 0 - EXC - - - 55 - 10 - 0 - EXC - - - 56 - 10 - 0 - EXC - - - 57 - 10 - 1 - EXC - - - 58 - 10 - 0 - INH - - - 59 - 10 - 0 - EXC - - - 60 - 10 - 0 - EXC - - - 61 - 10 - 0 - EXC - - - 62 - 10 - 0 - EXC - - - 63 - 10 - 0 - EXC - - - 64 - 10 - 0 - EXC - - - 65 - 10 - 0 - EXC - - - 66 - 10 - 0 - EXC - - - 67 - 10 - 1 - EXC - - - 68 - 10 - 0 - INH - - - 69 - 10 - 0 - EXC - - - 70 - 10 - 0 - EXC - - - 71 - 10 - 0 - EXC - - - 72 - 10 - 0 - EXC - - - 73 - 10 - 0 - EXC - - - 74 - 10 - 0 - EXC - - - 75 - 10 - 0 - EXC - - - 76 - 10 - 0 - EXC - - - 77 - 10 - 1 - EXC - - - 78 - 10 - 0 - INH - - - 79 - 10 - 0 - EXC - - - 80 - 10 - 0 - EXC - - - 81 - 10 - 0 - EXC - - - 82 - 10 - 0 - EXC - - - 83 - 10 - 0 - EXC - - - 84 - 10 - 0 - EXC - - - 85 - 10 - 0 - EXC - - - 86 - 10 - 0 - EXC - - - 87 - 10 - 1 - EXC - - - 88 - 10 - 0 - INH - - - 89 - 10 - 0 - EXC - - - 90 - 10 - 0 - EXC - - - 91 - 10 - 0 - EXC - - - 92 - 10 - 0 - EXC - - - 93 - 10 - 0 - EXC - - - 94 - 10 - 0 - EXC - - - 95 - 10 - 0 - EXC - - - 96 - 10 - 0 - EXC - - - 97 - 10 - 1 - EXC - - - 98 - 10 - 0 - INH - - - 99 - 10 - 0 - EXC - - - 0 - 11 - 0 - EXC - - - 1 - 11 - 1 - EXC - - - 2 - 11 - 0 - EXC - - - 3 - 11 - 0 - EXC - - - 4 - 11 - 1 - EXC - - - 5 - 11 - 0 - EXC - - - 6 - 11 - 0 - EXC - - - 7 - 11 - 0 - EXC - - - 8 - 11 - 0 - EXC - - - 9 - 11 - 0 - EXC - - - 10 - 11 - 0 - EXC - - - 11 - 11 - 1 - EXC - - - 12 - 11 - 0 - EXC - - - 13 - 11 - 0 - EXC - - - 14 - 11 - 1 - EXC - - - 15 - 11 - 0 - EXC - - - 16 - 11 - 0 - EXC - - - 17 - 11 - 0 - EXC - - - 18 - 11 - 0 - EXC - - - 19 - 11 - 0 - EXC - - - 20 - 11 - 0 - EXC - - - 21 - 11 - 1 - EXC - - - 22 - 11 - 0 - EXC - - - 23 - 11 - 0 - EXC - - - 24 - 11 - 1 - EXC - - - 25 - 11 - 0 - EXC - - - 26 - 11 - 0 - EXC - - - 27 - 11 - 0 - EXC - - - 28 - 11 - 0 - EXC - - - 29 - 11 - 0 - EXC - - - 30 - 11 - 0 - EXC - - - 31 - 11 - 1 - EXC - - - 32 - 11 - 0 - EXC - - - 33 - 11 - 0 - EXC - - - 34 - 11 - 1 - EXC - - - 35 - 11 - 0 - EXC - - - 36 - 11 - 0 - EXC - - - 37 - 11 - 0 - EXC - - - 38 - 11 - 0 - EXC - - - 39 - 11 - 0 - EXC - - - 40 - 11 - 0 - EXC - - - 41 - 11 - 1 - EXC - - - 42 - 11 - 0 - EXC - - - 43 - 11 - 0 - EXC - - - 44 - 11 - 1 - EXC - - - 45 - 11 - 0 - EXC - - - 46 - 11 - 0 - EXC - - - 47 - 11 - 0 - EXC - - - 48 - 11 - 0 - EXC - - - 49 - 11 - 0 - EXC - - - 50 - 11 - 0 - EXC - - - 51 - 11 - 1 - EXC - - - 52 - 11 - 0 - EXC - - - 53 - 11 - 0 - EXC - - - 54 - 11 - 1 - EXC - - - 55 - 11 - 0 - EXC - - - 56 - 11 - 0 - EXC - - - 57 - 11 - 0 - EXC - - - 58 - 11 - 0 - EXC - - - 59 - 11 - 0 - EXC - - - 60 - 11 - 0 - EXC - - - 61 - 11 - 1 - EXC - - - 62 - 11 - 0 - EXC - - - 63 - 11 - 0 - EXC - - - 64 - 11 - 1 - EXC - - - 65 - 11 - 0 - EXC - - - 66 - 11 - 0 - EXC - - - 67 - 11 - 0 - EXC - - - 68 - 11 - 0 - EXC - - - 69 - 11 - 0 - EXC - - - 70 - 11 - 0 - EXC - - - 71 - 11 - 1 - EXC - - - 72 - 11 - 0 - EXC - - - 73 - 11 - 0 - EXC - - - 74 - 11 - 1 - EXC - - - 75 - 11 - 0 - EXC - - - 76 - 11 - 0 - EXC - - - 77 - 11 - 0 - EXC - - - 78 - 11 - 0 - EXC - - - 79 - 11 - 0 - EXC - - - 80 - 11 - 0 - EXC - - - 81 - 11 - 1 - EXC - - - 82 - 11 - 0 - EXC - - - 83 - 11 - 0 - EXC - - - 84 - 11 - 1 - EXC - - - 85 - 11 - 0 - EXC - - - 86 - 11 - 0 - EXC - - - 87 - 11 - 0 - EXC - - - 88 - 11 - 0 - EXC - - - 89 - 11 - 0 - EXC - - - 90 - 11 - 0 - EXC - - - 91 - 11 - 1 - EXC - - - 92 - 11 - 0 - EXC - - - 93 - 11 - 0 - EXC - - - 94 - 11 - 1 - EXC - - - 95 - 11 - 0 - EXC - - - 96 - 11 - 0 - EXC - - - 97 - 11 - 0 - EXC - - - 98 - 11 - 0 - EXC - - - 99 - 11 - 0 - EXC - - - 0 - 12 - 0 - EXC - - - 1 - 12 - 0 - EXC - - - 2 - 12 - 0 - INH - - - 3 - 12 - 0 - EXC - - - 4 - 12 - 0 - EXC - - - 5 - 12 - 0 - INH - - - 6 - 12 - 0 - EXC - - - 7 - 12 - 0 - EXC - - - 8 - 12 - 0 - EXC - - - 9 - 12 - 0 - EXC - - - 10 - 12 - 0 - EXC - - - 11 - 12 - 0 - EXC - - - 12 - 12 - 0 - INH - - - 13 - 12 - 0 - EXC - - - 14 - 12 - 0 - EXC - - - 15 - 12 - 0 - INH - - - 16 - 12 - 0 - EXC - - - 17 - 12 - 0 - EXC - - - 18 - 12 - 0 - EXC - - - 19 - 12 - 0 - EXC - - - 20 - 12 - 0 - EXC - - - 21 - 12 - 0 - EXC - - - 22 - 12 - 0 - INH - - - 23 - 12 - 0 - EXC - - - 24 - 12 - 0 - EXC - - - 25 - 12 - 0 - INH - - - 26 - 12 - 0 - EXC - - - 27 - 12 - 0 - EXC - - - 28 - 12 - 0 - EXC - - - 29 - 12 - 0 - EXC - - - 30 - 12 - 0 - EXC - - - 31 - 12 - 0 - EXC - - - 32 - 12 - 0 - INH - - - 33 - 12 - 0 - EXC - - - 34 - 12 - 0 - EXC - - - 35 - 12 - 0 - INH - - - 36 - 12 - 0 - EXC - - - 37 - 12 - 0 - EXC - - - 38 - 12 - 0 - EXC - - - 39 - 12 - 0 - EXC - - - 40 - 12 - 0 - EXC - - - 41 - 12 - 0 - EXC - - - 42 - 12 - 0 - INH - - - 43 - 12 - 0 - EXC - - - 44 - 12 - 0 - EXC - - - 45 - 12 - 0 - INH - - - 46 - 12 - 0 - EXC - - - 47 - 12 - 0 - EXC - - - 48 - 12 - 0 - EXC - - - 49 - 12 - 0 - EXC - - - 50 - 12 - 0 - EXC - - - 51 - 12 - 0 - EXC - - - 52 - 12 - 0 - INH - - - 53 - 12 - 0 - EXC - - - 54 - 12 - 0 - EXC - - - 55 - 12 - 0 - INH - - - 56 - 12 - 0 - EXC - - - 57 - 12 - 0 - EXC - - - 58 - 12 - 0 - EXC - - - 59 - 12 - 0 - EXC - - - 60 - 12 - 0 - EXC - - - 61 - 12 - 0 - EXC - - - 62 - 12 - 0 - INH - - - 63 - 12 - 0 - EXC - - - 64 - 12 - 0 - EXC - - - 65 - 12 - 0 - INH - - - 66 - 12 - 0 - EXC - - - 67 - 12 - 0 - EXC - - - 68 - 12 - 0 - EXC - - - 69 - 12 - 0 - EXC - - - 70 - 12 - 0 - EXC - - - 71 - 12 - 0 - EXC - - - 72 - 12 - 0 - INH - - - 73 - 12 - 0 - EXC - - - 74 - 12 - 0 - EXC - - - 75 - 12 - 0 - INH - - - 76 - 12 - 0 - EXC - - - 77 - 12 - 0 - EXC - - - 78 - 12 - 0 - EXC - - - 79 - 12 - 0 - EXC - - - 80 - 12 - 0 - EXC - - - 81 - 12 - 0 - EXC - - - 82 - 12 - 0 - INH - - - 83 - 12 - 0 - EXC - - - 84 - 12 - 0 - EXC - - - 85 - 12 - 0 - INH - - - 86 - 12 - 0 - EXC - - - 87 - 12 - 0 - EXC - - - 88 - 12 - 0 - EXC - - - 89 - 12 - 0 - EXC - - - 90 - 12 - 0 - EXC - - - 91 - 12 - 0 - EXC - - - 92 - 12 - 0 - INH - - - 93 - 12 - 0 - EXC - - - 94 - 12 - 0 - EXC - - - 95 - 12 - 0 - INH - - - 96 - 12 - 0 - EXC - - - 97 - 12 - 0 - EXC - - - 98 - 12 - 0 - EXC - - - 99 - 12 - 0 - EXC - - - 0 - 13 - 0 - EXC - - - 1 - 13 - 0 - EXC - - - 2 - 13 - 0 - EXC - - - 3 - 13 - 0 - EXC - - - 4 - 13 - 0 - EXC - - - 5 - 13 - 0 - EXC - - - 6 - 13 - 0 - EXC - - - 7 - 13 - 1 - EXC - - - 8 - 13 - 0 - INH - - - 9 - 13 - 0 - EXC - - - 10 - 13 - 0 - EXC - - - 11 - 13 - 0 - EXC - - - 12 - 13 - 0 - EXC - - - 13 - 13 - 0 - EXC - - - 14 - 13 - 0 - EXC - - - 15 - 13 - 0 - EXC - - - 16 - 13 - 0 - EXC - - - 17 - 13 - 1 - EXC - - - 18 - 13 - 0 - INH - - - 19 - 13 - 0 - EXC - - - 20 - 13 - 0 - EXC - - - 21 - 13 - 0 - EXC - - - 22 - 13 - 0 - EXC - - - 23 - 13 - 0 - EXC - - - 24 - 13 - 0 - EXC - - - 25 - 13 - 0 - EXC - - - 26 - 13 - 0 - EXC - - - 27 - 13 - 1 - EXC - - - 28 - 13 - 0 - INH - - - 29 - 13 - 0 - EXC - - - 30 - 13 - 0 - EXC - - - 31 - 13 - 0 - EXC - - - 32 - 13 - 0 - EXC - - - 33 - 13 - 0 - EXC - - - 34 - 13 - 0 - EXC - - - 35 - 13 - 0 - EXC - - - 36 - 13 - 0 - EXC - - - 37 - 13 - 1 - EXC - - - 38 - 13 - 0 - INH - - - 39 - 13 - 0 - EXC - - - 40 - 13 - 0 - EXC - - - 41 - 13 - 0 - EXC - - - 42 - 13 - 0 - EXC - - - 43 - 13 - 0 - EXC - - - 44 - 13 - 0 - EXC - - - 45 - 13 - 0 - EXC - - - 46 - 13 - 0 - EXC - - - 47 - 13 - 1 - EXC - - - 48 - 13 - 0 - INH - - - 49 - 13 - 0 - EXC - - - 50 - 13 - 0 - EXC - - - 51 - 13 - 0 - EXC - - - 52 - 13 - 0 - EXC - - - 53 - 13 - 0 - EXC - - - 54 - 13 - 0 - EXC - - - 55 - 13 - 0 - EXC - - - 56 - 13 - 0 - EXC - - - 57 - 13 - 1 - EXC - - - 58 - 13 - 0 - INH - - - 59 - 13 - 0 - EXC - - - 60 - 13 - 0 - EXC - - - 61 - 13 - 0 - EXC - - - 62 - 13 - 0 - EXC - - - 63 - 13 - 0 - EXC - - - 64 - 13 - 0 - EXC - - - 65 - 13 - 0 - EXC - - - 66 - 13 - 0 - EXC - - - 67 - 13 - 1 - EXC - - - 68 - 13 - 0 - INH - - - 69 - 13 - 0 - EXC - - - 70 - 13 - 0 - EXC - - - 71 - 13 - 0 - EXC - - - 72 - 13 - 0 - EXC - - - 73 - 13 - 0 - EXC - - - 74 - 13 - 0 - EXC - - - 75 - 13 - 0 - EXC - - - 76 - 13 - 0 - EXC - - - 77 - 13 - 1 - EXC - - - 78 - 13 - 0 - INH - - - 79 - 13 - 0 - EXC - - - 80 - 13 - 0 - EXC - - - 81 - 13 - 0 - EXC - - - 82 - 13 - 0 - EXC - - - 83 - 13 - 0 - EXC - - - 84 - 13 - 0 - EXC - - - 85 - 13 - 0 - EXC - - - 86 - 13 - 0 - EXC - - - 87 - 13 - 1 - EXC - - - 88 - 13 - 0 - INH - - - 89 - 13 - 0 - EXC - - - 90 - 13 - 0 - EXC - - - 91 - 13 - 0 - EXC - - - 92 - 13 - 0 - EXC - - - 93 - 13 - 0 - EXC - - - 94 - 13 - 0 - EXC - - - 95 - 13 - 0 - EXC - - - 96 - 13 - 0 - EXC - - - 97 - 13 - 1 - EXC - - - 98 - 13 - 0 - INH - - - 99 - 13 - 0 - EXC - - - 0 - 14 - 0 - EXC - - - 1 - 14 - 1 - EXC - - - 2 - 14 - 0 - EXC - - - 3 - 14 - 0 - EXC - - - 4 - 14 - 1 - EXC - - - 5 - 14 - 0 - EXC - - - 6 - 14 - 0 - EXC - - - 7 - 14 - 0 - EXC - - - 8 - 14 - 0 - EXC - - - 9 - 14 - 0 - EXC - - - 10 - 14 - 0 - EXC - - - 11 - 14 - 1 - EXC - - - 12 - 14 - 0 - EXC - - - 13 - 14 - 0 - EXC - - - 14 - 14 - 1 - EXC - - - 15 - 14 - 0 - EXC - - - 16 - 14 - 0 - EXC - - - 17 - 14 - 0 - EXC - - - 18 - 14 - 0 - EXC - - - 19 - 14 - 0 - EXC - - - 20 - 14 - 0 - EXC - - - 21 - 14 - 1 - EXC - - - 22 - 14 - 0 - EXC - - - 23 - 14 - 0 - EXC - - - 24 - 14 - 1 - EXC - - - 25 - 14 - 0 - EXC - - - 26 - 14 - 0 - EXC - - - 27 - 14 - 0 - EXC - - - 28 - 14 - 0 - EXC - - - 29 - 14 - 0 - EXC - - - 30 - 14 - 0 - EXC - - - 31 - 14 - 1 - EXC - - - 32 - 14 - 0 - EXC - - - 33 - 14 - 0 - EXC - - - 34 - 14 - 1 - EXC - - - 35 - 14 - 0 - EXC - - - 36 - 14 - 0 - EXC - - - 37 - 14 - 0 - EXC - - - 38 - 14 - 0 - EXC - - - 39 - 14 - 0 - EXC - - - 40 - 14 - 0 - EXC - - - 41 - 14 - 1 - EXC - - - 42 - 14 - 0 - EXC - - - 43 - 14 - 0 - EXC - - - 44 - 14 - 1 - EXC - - - 45 - 14 - 0 - EXC - - - 46 - 14 - 0 - EXC - - - 47 - 14 - 0 - EXC - - - 48 - 14 - 0 - EXC - - - 49 - 14 - 0 - EXC - - - 50 - 14 - 0 - EXC - - - 51 - 14 - 1 - EXC - - - 52 - 14 - 0 - EXC - - - 53 - 14 - 0 - EXC - - - 54 - 14 - 1 - EXC - - - 55 - 14 - 0 - EXC - - - 56 - 14 - 0 - EXC - - - 57 - 14 - 0 - EXC - - - 58 - 14 - 0 - EXC - - - 59 - 14 - 0 - EXC - - - 60 - 14 - 0 - EXC - - - 61 - 14 - 1 - EXC - - - 62 - 14 - 0 - EXC - - - 63 - 14 - 0 - EXC - - - 64 - 14 - 1 - EXC - - - 65 - 14 - 0 - EXC - - - 66 - 14 - 0 - EXC - - - 67 - 14 - 0 - EXC - - - 68 - 14 - 0 - EXC - - - 69 - 14 - 0 - EXC - - - 70 - 14 - 0 - EXC - - - 71 - 14 - 1 - EXC - - - 72 - 14 - 0 - EXC - - - 73 - 14 - 0 - EXC - - - 74 - 14 - 1 - EXC - - - 75 - 14 - 0 - EXC - - - 76 - 14 - 0 - EXC - - - 77 - 14 - 0 - EXC - - - 78 - 14 - 0 - EXC - - - 79 - 14 - 0 - EXC - - - 80 - 14 - 0 - EXC - - - 81 - 14 - 1 - EXC - - - 82 - 14 - 0 - EXC - - - 83 - 14 - 0 - EXC - - - 84 - 14 - 1 - EXC - - - 85 - 14 - 0 - EXC - - - 86 - 14 - 0 - EXC - - - 87 - 14 - 0 - EXC - - - 88 - 14 - 0 - EXC - - - 89 - 14 - 0 - EXC - - - 90 - 14 - 0 - EXC - - - 91 - 14 - 1 - EXC - - - 92 - 14 - 0 - EXC - - - 93 - 14 - 0 - EXC - - - 94 - 14 - 1 - EXC - - - 95 - 14 - 0 - EXC - - - 96 - 14 - 0 - EXC - - - 97 - 14 - 0 - EXC - - - 98 - 14 - 0 - EXC - - - 99 - 14 - 0 - EXC - - - 0 - 15 - 0 - EXC - - - 1 - 15 - 0 - EXC - - - 2 - 15 - 0 - INH - - - 3 - 15 - 0 - EXC - - - 4 - 15 - 0 - EXC - - - 5 - 15 - 0 - INH - - - 6 - 15 - 0 - EXC - - - 7 - 15 - 0 - EXC - - - 8 - 15 - 0 - EXC - - - 9 - 15 - 0 - EXC - - - 10 - 15 - 0 - EXC - - - 11 - 15 - 0 - EXC - - - 12 - 15 - 0 - INH - - - 13 - 15 - 0 - EXC - - - 14 - 15 - 0 - EXC - - - 15 - 15 - 0 - INH - - - 16 - 15 - 0 - EXC - - - 17 - 15 - 0 - EXC - - - 18 - 15 - 0 - EXC - - - 19 - 15 - 0 - EXC - - - 20 - 15 - 0 - EXC - - - 21 - 15 - 0 - EXC - - - 22 - 15 - 0 - INH - - - 23 - 15 - 0 - EXC - - - 24 - 15 - 0 - EXC - - - 25 - 15 - 0 - INH - - - 26 - 15 - 0 - EXC - - - 27 - 15 - 0 - EXC - - - 28 - 15 - 0 - EXC - - - 29 - 15 - 0 - EXC - - - 30 - 15 - 0 - EXC - - - 31 - 15 - 0 - EXC - - - 32 - 15 - 0 - INH - - - 33 - 15 - 0 - EXC - - - 34 - 15 - 0 - EXC - - - 35 - 15 - 0 - INH - - - 36 - 15 - 0 - EXC - - - 37 - 15 - 0 - EXC - - - 38 - 15 - 0 - EXC - - - 39 - 15 - 0 - EXC - - - 40 - 15 - 0 - EXC - - - 41 - 15 - 0 - EXC - - - 42 - 15 - 0 - INH - - - 43 - 15 - 0 - EXC - - - 44 - 15 - 0 - EXC - - - 45 - 15 - 0 - INH - - - 46 - 15 - 0 - EXC - - - 47 - 15 - 0 - EXC - - - 48 - 15 - 0 - EXC - - - 49 - 15 - 0 - EXC - - - 50 - 15 - 0 - EXC - - - 51 - 15 - 0 - EXC - - - 52 - 15 - 0 - INH - - - 53 - 15 - 0 - EXC - - - 54 - 15 - 0 - EXC - - - 55 - 15 - 0 - INH - - - 56 - 15 - 0 - EXC - - - 57 - 15 - 0 - EXC - - - 58 - 15 - 0 - EXC - - - 59 - 15 - 0 - EXC - - - 60 - 15 - 0 - EXC - - - 61 - 15 - 0 - EXC - - - 62 - 15 - 0 - INH - - - 63 - 15 - 0 - EXC - - - 64 - 15 - 0 - EXC - - - 65 - 15 - 0 - INH - - - 66 - 15 - 0 - EXC - - - 67 - 15 - 0 - EXC - - - 68 - 15 - 0 - EXC - - - 69 - 15 - 0 - EXC - - - 70 - 15 - 0 - EXC - - - 71 - 15 - 0 - EXC - - - 72 - 15 - 0 - INH - - - 73 - 15 - 0 - EXC - - - 74 - 15 - 0 - EXC - - - 75 - 15 - 0 - INH - - - 76 - 15 - 0 - EXC - - - 77 - 15 - 0 - EXC - - - 78 - 15 - 0 - EXC - - - 79 - 15 - 0 - EXC - - - 80 - 15 - 0 - EXC - - - 81 - 15 - 0 - EXC - - - 82 - 15 - 0 - INH - - - 83 - 15 - 0 - EXC - - - 84 - 15 - 0 - EXC - - - 85 - 15 - 0 - INH - - - 86 - 15 - 0 - EXC - - - 87 - 15 - 0 - EXC - - - 88 - 15 - 0 - EXC - - - 89 - 15 - 0 - EXC - - - 90 - 15 - 0 - EXC - - - 91 - 15 - 0 - EXC - - - 92 - 15 - 0 - INH - - - 93 - 15 - 0 - EXC - - - 94 - 15 - 0 - EXC - - - 95 - 15 - 0 - INH - - - 96 - 15 - 0 - EXC - - - 97 - 15 - 0 - EXC - - - 98 - 15 - 0 - EXC - - - 99 - 15 - 0 - EXC - - - 0 - 16 - 0 - EXC - - - 1 - 16 - 0 - EXC - - - 2 - 16 - 0 - EXC - - - 3 - 16 - 0 - EXC - - - 4 - 16 - 0 - EXC - - - 5 - 16 - 0 - EXC - - - 6 - 16 - 0 - EXC - - - 7 - 16 - 1 - EXC - - - 8 - 16 - 0 - INH - - - 9 - 16 - 0 - EXC - - - 10 - 16 - 0 - EXC - - - 11 - 16 - 0 - EXC - - - 12 - 16 - 0 - EXC - - - 13 - 16 - 0 - EXC - - - 14 - 16 - 0 - EXC - - - 15 - 16 - 0 - EXC - - - 16 - 16 - 0 - EXC - - - 17 - 16 - 1 - EXC - - - 18 - 16 - 0 - INH - - - 19 - 16 - 0 - EXC - - - 20 - 16 - 0 - EXC - - - 21 - 16 - 0 - EXC - - - 22 - 16 - 0 - EXC - - - 23 - 16 - 0 - EXC - - - 24 - 16 - 0 - EXC - - - 25 - 16 - 0 - EXC - - - 26 - 16 - 0 - EXC - - - 27 - 16 - 1 - EXC - - - 28 - 16 - 0 - INH - - - 29 - 16 - 0 - EXC - - - 30 - 16 - 0 - EXC - - - 31 - 16 - 0 - EXC - - - 32 - 16 - 0 - EXC - - - 33 - 16 - 0 - EXC - - - 34 - 16 - 0 - EXC - - - 35 - 16 - 0 - EXC - - - 36 - 16 - 0 - EXC - - - 37 - 16 - 1 - EXC - - - 38 - 16 - 0 - INH - - - 39 - 16 - 0 - EXC - - - 40 - 16 - 0 - EXC - - - 41 - 16 - 0 - EXC - - - 42 - 16 - 0 - EXC - - - 43 - 16 - 0 - EXC - - - 44 - 16 - 0 - EXC - - - 45 - 16 - 0 - EXC - - - 46 - 16 - 0 - EXC - - - 47 - 16 - 1 - EXC - - - 48 - 16 - 0 - INH - - - 49 - 16 - 0 - EXC - - - 50 - 16 - 0 - EXC - - - 51 - 16 - 0 - EXC - - - 52 - 16 - 0 - EXC - - - 53 - 16 - 0 - EXC - - - 54 - 16 - 0 - EXC - - - 55 - 16 - 0 - EXC - - - 56 - 16 - 0 - EXC - - - 57 - 16 - 1 - EXC - - - 58 - 16 - 0 - INH - - - 59 - 16 - 0 - EXC - - - 60 - 16 - 0 - EXC - - - 61 - 16 - 0 - EXC - - - 62 - 16 - 0 - EXC - - - 63 - 16 - 0 - EXC - - - 64 - 16 - 0 - EXC - - - 65 - 16 - 0 - EXC - - - 66 - 16 - 0 - EXC - - - 67 - 16 - 1 - EXC - - - 68 - 16 - 0 - INH - - - 69 - 16 - 0 - EXC - - - 70 - 16 - 0 - EXC - - - 71 - 16 - 0 - EXC - - - 72 - 16 - 0 - EXC - - - 73 - 16 - 0 - EXC - - - 74 - 16 - 0 - EXC - - - 75 - 16 - 0 - EXC - - - 76 - 16 - 0 - EXC - - - 77 - 16 - 1 - EXC - - - 78 - 16 - 0 - INH - - - 79 - 16 - 0 - EXC - - - 80 - 16 - 0 - EXC - - - 81 - 16 - 0 - EXC - - - 82 - 16 - 0 - EXC - - - 83 - 16 - 0 - EXC - - - 84 - 16 - 0 - EXC - - - 85 - 16 - 0 - EXC - - - 86 - 16 - 0 - EXC - - - 87 - 16 - 1 - EXC - - - 88 - 16 - 0 - INH - - - 89 - 16 - 0 - EXC - - - 90 - 16 - 0 - EXC - - - 91 - 16 - 0 - EXC - - - 92 - 16 - 0 - EXC - - - 93 - 16 - 0 - EXC - - - 94 - 16 - 0 - EXC - - - 95 - 16 - 0 - EXC - - - 96 - 16 - 0 - EXC - - - 97 - 16 - 1 - EXC - - - 98 - 16 - 0 - INH - - - 99 - 16 - 0 - EXC - - - 0 - 17 - 0 - EXC - - - 1 - 17 - 1 - EXC - - - 2 - 17 - 0 - EXC - - - 3 - 17 - 0 - EXC - - - 4 - 17 - 1 - EXC - - - 5 - 17 - 0 - EXC - - - 6 - 17 - 0 - EXC - - - 7 - 17 - 0 - EXC - - - 8 - 17 - 0 - EXC - - - 9 - 17 - 0 - EXC - - - 10 - 17 - 0 - EXC - - - 11 - 17 - 1 - EXC - - - 12 - 17 - 0 - EXC - - - 13 - 17 - 0 - EXC - - - 14 - 17 - 1 - EXC - - - 15 - 17 - 0 - EXC - - - 16 - 17 - 0 - EXC - - - 17 - 17 - 0 - EXC - - - 18 - 17 - 0 - EXC - - - 19 - 17 - 0 - EXC - - - 20 - 17 - 0 - EXC - - - 21 - 17 - 1 - EXC - - - 22 - 17 - 0 - EXC - - - 23 - 17 - 0 - EXC - - - 24 - 17 - 1 - EXC - - - 25 - 17 - 0 - EXC - - - 26 - 17 - 0 - EXC - - - 27 - 17 - 0 - EXC - - - 28 - 17 - 0 - EXC - - - 29 - 17 - 0 - EXC - - - 30 - 17 - 0 - EXC - - - 31 - 17 - 1 - EXC - - - 32 - 17 - 0 - EXC - - - 33 - 17 - 0 - EXC - - - 34 - 17 - 1 - EXC - - - 35 - 17 - 0 - EXC - - - 36 - 17 - 0 - EXC - - - 37 - 17 - 0 - EXC - - - 38 - 17 - 0 - EXC - - - 39 - 17 - 0 - EXC - - - 40 - 17 - 0 - EXC - - - 41 - 17 - 1 - EXC - - - 42 - 17 - 0 - EXC - - - 43 - 17 - 0 - EXC - - - 44 - 17 - 1 - EXC - - - 45 - 17 - 0 - EXC - - - 46 - 17 - 0 - EXC - - - 47 - 17 - 0 - EXC - - - 48 - 17 - 0 - EXC - - - 49 - 17 - 0 - EXC - - - 50 - 17 - 0 - EXC - - - 51 - 17 - 1 - EXC - - - 52 - 17 - 0 - EXC - - - 53 - 17 - 0 - EXC - - - 54 - 17 - 1 - EXC - - - 55 - 17 - 0 - EXC - - - 56 - 17 - 0 - EXC - - - 57 - 17 - 0 - EXC - - - 58 - 17 - 0 - EXC - - - 59 - 17 - 0 - EXC - - - 60 - 17 - 0 - EXC - - - 61 - 17 - 1 - EXC - - - 62 - 17 - 0 - EXC - - - 63 - 17 - 0 - EXC - - - 64 - 17 - 1 - EXC - - - 65 - 17 - 0 - EXC - - - 66 - 17 - 0 - EXC - - - 67 - 17 - 0 - EXC - - - 68 - 17 - 0 - EXC - - - 69 - 17 - 0 - EXC - - - 70 - 17 - 0 - EXC - - - 71 - 17 - 1 - EXC - - - 72 - 17 - 0 - EXC - - - 73 - 17 - 0 - EXC - - - 74 - 17 - 1 - EXC - - - 75 - 17 - 0 - EXC - - - 76 - 17 - 0 - EXC - - - 77 - 17 - 0 - EXC - - - 78 - 17 - 0 - EXC - - - 79 - 17 - 0 - EXC - - - 80 - 17 - 0 - EXC - - - 81 - 17 - 1 - EXC - - - 82 - 17 - 0 - EXC - - - 83 - 17 - 0 - EXC - - - 84 - 17 - 1 - EXC - - - 85 - 17 - 0 - EXC - - - 86 - 17 - 0 - EXC - - - 87 - 17 - 0 - EXC - - - 88 - 17 - 0 - EXC - - - 89 - 17 - 0 - EXC - - - 90 - 17 - 0 - EXC - - - 91 - 17 - 1 - EXC - - - 92 - 17 - 0 - EXC - - - 93 - 17 - 0 - EXC - - - 94 - 17 - 1 - EXC - - - 95 - 17 - 0 - EXC - - - 96 - 17 - 0 - EXC - - - 97 - 17 - 0 - EXC - - - 98 - 17 - 0 - EXC - - - 99 - 17 - 0 - EXC - - - 0 - 18 - 0 - EXC - - - 1 - 18 - 0 - EXC - - - 2 - 18 - 0 - INH - - - 3 - 18 - 0 - EXC - - - 4 - 18 - 0 - EXC - - - 5 - 18 - 0 - INH - - - 6 - 18 - 0 - EXC - - - 7 - 18 - 0 - EXC - - - 8 - 18 - 0 - EXC - - - 9 - 18 - 0 - EXC - - - 10 - 18 - 0 - EXC - - - 11 - 18 - 0 - EXC - - - 12 - 18 - 0 - INH - - - 13 - 18 - 0 - EXC - - - 14 - 18 - 0 - EXC - - - 15 - 18 - 0 - INH - - - 16 - 18 - 0 - EXC - - - 17 - 18 - 0 - EXC - - - 18 - 18 - 0 - EXC - - - 19 - 18 - 0 - EXC - - - 20 - 18 - 0 - EXC - - - 21 - 18 - 0 - EXC - - - 22 - 18 - 0 - INH - - - 23 - 18 - 0 - EXC - - - 24 - 18 - 0 - EXC - - - 25 - 18 - 0 - INH - - - 26 - 18 - 0 - EXC - - - 27 - 18 - 0 - EXC - - - 28 - 18 - 0 - EXC - - - 29 - 18 - 0 - EXC - - - 30 - 18 - 0 - EXC - - - 31 - 18 - 0 - EXC - - - 32 - 18 - 0 - INH - - - 33 - 18 - 0 - EXC - - - 34 - 18 - 0 - EXC - - - 35 - 18 - 0 - INH - - - 36 - 18 - 0 - EXC - - - 37 - 18 - 0 - EXC - - - 38 - 18 - 0 - EXC - - - 39 - 18 - 0 - EXC - - - 40 - 18 - 0 - EXC - - - 41 - 18 - 0 - EXC - - - 42 - 18 - 0 - INH - - - 43 - 18 - 0 - EXC - - - 44 - 18 - 0 - EXC - - - 45 - 18 - 0 - INH - - - 46 - 18 - 0 - EXC - - - 47 - 18 - 0 - EXC - - - 48 - 18 - 0 - EXC - - - 49 - 18 - 0 - EXC - - - 50 - 18 - 0 - EXC - - - 51 - 18 - 0 - EXC - - - 52 - 18 - 0 - INH - - - 53 - 18 - 0 - EXC - - - 54 - 18 - 0 - EXC - - - 55 - 18 - 0 - INH - - - 56 - 18 - 0 - EXC - - - 57 - 18 - 0 - EXC - - - 58 - 18 - 0 - EXC - - - 59 - 18 - 0 - EXC - - - 60 - 18 - 0 - EXC - - - 61 - 18 - 0 - EXC - - - 62 - 18 - 0 - INH - - - 63 - 18 - 0 - EXC - - - 64 - 18 - 0 - EXC - - - 65 - 18 - 0 - INH - - - 66 - 18 - 0 - EXC - - - 67 - 18 - 0 - EXC - - - 68 - 18 - 0 - EXC - - - 69 - 18 - 0 - EXC - - - 70 - 18 - 0 - EXC - - - 71 - 18 - 0 - EXC - - - 72 - 18 - 0 - INH - - - 73 - 18 - 0 - EXC - - - 74 - 18 - 0 - EXC - - - 75 - 18 - 0 - INH - - - 76 - 18 - 0 - EXC - - - 77 - 18 - 0 - EXC - - - 78 - 18 - 0 - EXC - - - 79 - 18 - 0 - EXC - - - 80 - 18 - 0 - EXC - - - 81 - 18 - 0 - EXC - - - 82 - 18 - 0 - INH - - - 83 - 18 - 0 - EXC - - - 84 - 18 - 0 - EXC - - - 85 - 18 - 0 - INH - - - 86 - 18 - 0 - EXC - - - 87 - 18 - 0 - EXC - - - 88 - 18 - 0 - EXC - - - 89 - 18 - 0 - EXC - - - 90 - 18 - 0 - EXC - - - 91 - 18 - 0 - EXC - - - 92 - 18 - 0 - INH - - - 93 - 18 - 0 - EXC - - - 94 - 18 - 0 - EXC - - - 95 - 18 - 0 - INH - - - 96 - 18 - 0 - EXC - - - 97 - 18 - 0 - EXC - - - 98 - 18 - 0 - EXC - - - 99 - 18 - 0 - EXC - - - 0 - 19 - 0 - EXC - - - 1 - 19 - 0 - EXC - - - 2 - 19 - 0 - EXC - - - 3 - 19 - 0 - EXC - - - 4 - 19 - 0 - EXC - - - 5 - 19 - 0 - EXC - - - 6 - 19 - 0 - EXC - - - 7 - 19 - 1 - EXC - - - 8 - 19 - 0 - INH - - - 9 - 19 - 0 - EXC - - - 10 - 19 - 0 - EXC - - - 11 - 19 - 0 - EXC - - - 12 - 19 - 0 - EXC - - - 13 - 19 - 0 - EXC - - - 14 - 19 - 0 - EXC - - - 15 - 19 - 0 - EXC - - - 16 - 19 - 0 - EXC - - - 17 - 19 - 1 - EXC - - - 18 - 19 - 0 - INH - - - 19 - 19 - 0 - EXC - - - 20 - 19 - 0 - EXC - - - 21 - 19 - 0 - EXC - - - 22 - 19 - 0 - EXC - - - 23 - 19 - 0 - EXC - - - 24 - 19 - 0 - EXC - - - 25 - 19 - 0 - EXC - - - 26 - 19 - 0 - EXC - - - 27 - 19 - 1 - EXC - - - 28 - 19 - 0 - INH - - - 29 - 19 - 0 - EXC - - - 30 - 19 - 0 - EXC - - - 31 - 19 - 0 - EXC - - - 32 - 19 - 0 - EXC - - - 33 - 19 - 0 - EXC - - - 34 - 19 - 0 - EXC - - - 35 - 19 - 0 - EXC - - - 36 - 19 - 0 - EXC - - - 37 - 19 - 1 - EXC - - - 38 - 19 - 0 - INH - - - 39 - 19 - 0 - EXC - - - 40 - 19 - 0 - EXC - - - 41 - 19 - 0 - EXC - - - 42 - 19 - 0 - EXC - - - 43 - 19 - 0 - EXC - - - 44 - 19 - 0 - EXC - - - 45 - 19 - 0 - EXC - - - 46 - 19 - 0 - EXC - - - 47 - 19 - 1 - EXC - - - 48 - 19 - 0 - INH - - - 49 - 19 - 0 - EXC - - - 50 - 19 - 0 - EXC - - - 51 - 19 - 0 - EXC - - - 52 - 19 - 0 - EXC - - - 53 - 19 - 0 - EXC - - - 54 - 19 - 0 - EXC - - - 55 - 19 - 0 - EXC - - - 56 - 19 - 0 - EXC - - - 57 - 19 - 1 - EXC - - - 58 - 19 - 0 - INH - - - 59 - 19 - 0 - EXC - - - 60 - 19 - 0 - EXC - - - 61 - 19 - 0 - EXC - - - 62 - 19 - 0 - EXC - - - 63 - 19 - 0 - EXC - - - 64 - 19 - 0 - EXC - - - 65 - 19 - 0 - EXC - - - 66 - 19 - 0 - EXC - - - 67 - 19 - 1 - EXC - - - 68 - 19 - 0 - INH - - - 69 - 19 - 0 - EXC - - - 70 - 19 - 0 - EXC - - - 71 - 19 - 0 - EXC - - - 72 - 19 - 0 - EXC - - - 73 - 19 - 0 - EXC - - - 74 - 19 - 0 - EXC - - - 75 - 19 - 0 - EXC - - - 76 - 19 - 0 - EXC - - - 77 - 19 - 1 - EXC - - - 78 - 19 - 0 - INH - - - 79 - 19 - 0 - EXC - - - 80 - 19 - 0 - EXC - - - 81 - 19 - 0 - EXC - - - 82 - 19 - 0 - EXC - - - 83 - 19 - 0 - EXC - - - 84 - 19 - 0 - EXC - - - 85 - 19 - 0 - EXC - - - 86 - 19 - 0 - EXC - - - 87 - 19 - 1 - EXC - - - 88 - 19 - 0 - INH - - - 89 - 19 - 0 - EXC - - - 90 - 19 - 0 - EXC - - - 91 - 19 - 0 - EXC - - - 92 - 19 - 0 - EXC - - - 93 - 19 - 0 - EXC - - - 94 - 19 - 0 - EXC - - - 95 - 19 - 0 - EXC - - - 96 - 19 - 0 - EXC - - - 97 - 19 - 1 - EXC - - - 98 - 19 - 0 - INH - - - 99 - 19 - 0 - EXC - - - 0 - 20 - 0 - EXC - - - 1 - 20 - 0 - EXC - - - 2 - 20 - 0 - INH - - - 3 - 20 - 0 - EXC - - - 4 - 20 - 0 - EXC - - - 5 - 20 - 0 - EXC - - - 6 - 20 - 0 - EXC - - - 7 - 20 - 1 - EXC - - - 8 - 20 - 0 - EXC - - - 9 - 20 - 0 - EXC - - - 10 - 20 - 0 - EXC - - - 11 - 20 - 0 - EXC - - - 12 - 20 - 0 - INH - - - 13 - 20 - 0 - EXC - - - 14 - 20 - 0 - EXC - - - 15 - 20 - 0 - EXC - - - 16 - 20 - 0 - EXC - - - 17 - 20 - 1 - EXC - - - 18 - 20 - 0 - EXC - - - 19 - 20 - 0 - EXC - - - 20 - 20 - 0 - EXC - - - 21 - 20 - 0 - EXC - - - 22 - 20 - 0 - INH - - - 23 - 20 - 0 - EXC - - - 24 - 20 - 0 - EXC - - - 25 - 20 - 0 - EXC - - - 26 - 20 - 0 - EXC - - - 27 - 20 - 1 - EXC - - - 28 - 20 - 0 - EXC - - - 29 - 20 - 0 - EXC - - - 30 - 20 - 0 - EXC - - - 31 - 20 - 0 - EXC - - - 32 - 20 - 0 - INH - - - 33 - 20 - 0 - EXC - - - 34 - 20 - 0 - EXC - - - 35 - 20 - 0 - EXC - - - 36 - 20 - 0 - EXC - - - 37 - 20 - 1 - EXC - - - 38 - 20 - 0 - EXC - - - 39 - 20 - 0 - EXC - - - 40 - 20 - 0 - EXC - - - 41 - 20 - 0 - EXC - - - 42 - 20 - 0 - INH - - - 43 - 20 - 0 - EXC - - - 44 - 20 - 0 - EXC - - - 45 - 20 - 0 - EXC - - - 46 - 20 - 0 - EXC - - - 47 - 20 - 1 - EXC - - - 48 - 20 - 0 - EXC - - - 49 - 20 - 0 - EXC - - - 50 - 20 - 0 - EXC - - - 51 - 20 - 0 - EXC - - - 52 - 20 - 0 - INH - - - 53 - 20 - 0 - EXC - - - 54 - 20 - 0 - EXC - - - 55 - 20 - 0 - EXC - - - 56 - 20 - 0 - EXC - - - 57 - 20 - 1 - EXC - - - 58 - 20 - 0 - EXC - - - 59 - 20 - 0 - EXC - - - 60 - 20 - 0 - EXC - - - 61 - 20 - 0 - EXC - - - 62 - 20 - 0 - INH - - - 63 - 20 - 0 - EXC - - - 64 - 20 - 0 - EXC - - - 65 - 20 - 0 - EXC - - - 66 - 20 - 0 - EXC - - - 67 - 20 - 1 - EXC - - - 68 - 20 - 0 - EXC - - - 69 - 20 - 0 - EXC - - - 70 - 20 - 0 - EXC - - - 71 - 20 - 0 - EXC - - - 72 - 20 - 0 - INH - - - 73 - 20 - 0 - EXC - - - 74 - 20 - 0 - EXC - - - 75 - 20 - 0 - EXC - - - 76 - 20 - 0 - EXC - - - 77 - 20 - 1 - EXC - - - 78 - 20 - 0 - EXC - - - 79 - 20 - 0 - EXC - - - 80 - 20 - 0 - EXC - - - 81 - 20 - 0 - EXC - - - 82 - 20 - 0 - INH - - - 83 - 20 - 0 - EXC - - - 84 - 20 - 0 - EXC - - - 85 - 20 - 0 - EXC - - - 86 - 20 - 0 - EXC - - - 87 - 20 - 1 - EXC - - - 88 - 20 - 0 - EXC - - - 89 - 20 - 0 - EXC - - - 90 - 20 - 0 - EXC - - - 91 - 20 - 0 - EXC - - - 92 - 20 - 0 - INH - - - 93 - 20 - 0 - EXC - - - 94 - 20 - 0 - EXC - - - 95 - 20 - 0 - EXC - - - 96 - 20 - 0 - EXC - - - 97 - 20 - 1 - EXC - - - 98 - 20 - 0 - EXC - - - 99 - 20 - 0 - EXC - - - 0 - 21 - 0 - EXC - - - 1 - 21 - 1 - EXC - - - 2 - 21 - 0 - EXC - - - 3 - 21 - 0 - EXC - - - 4 - 21 - 1 - EXC - - - 5 - 21 - 0 - EXC - - - 6 - 21 - 0 - EXC - - - 7 - 21 - 0 - EXC - - - 8 - 21 - 0 - EXC - - - 9 - 21 - 0 - EXC - - - 10 - 21 - 0 - EXC - - - 11 - 21 - 1 - EXC - - - 12 - 21 - 0 - EXC - - - 13 - 21 - 0 - EXC - - - 14 - 21 - 1 - EXC - - - 15 - 21 - 0 - EXC - - - 16 - 21 - 0 - EXC - - - 17 - 21 - 0 - EXC - - - 18 - 21 - 0 - EXC - - - 19 - 21 - 0 - EXC - - - 20 - 21 - 0 - EXC - - - 21 - 21 - 1 - EXC - - - 22 - 21 - 0 - EXC - - - 23 - 21 - 0 - EXC - - - 24 - 21 - 1 - EXC - - - 25 - 21 - 0 - EXC - - - 26 - 21 - 0 - EXC - - - 27 - 21 - 0 - EXC - - - 28 - 21 - 0 - EXC - - - 29 - 21 - 0 - EXC - - - 30 - 21 - 0 - EXC - - - 31 - 21 - 1 - EXC - - - 32 - 21 - 0 - EXC - - - 33 - 21 - 0 - EXC - - - 34 - 21 - 1 - EXC - - - 35 - 21 - 0 - EXC - - - 36 - 21 - 0 - EXC - - - 37 - 21 - 0 - EXC - - - 38 - 21 - 0 - EXC - - - 39 - 21 - 0 - EXC - - - 40 - 21 - 0 - EXC - - - 41 - 21 - 1 - EXC - - - 42 - 21 - 0 - EXC - - - 43 - 21 - 0 - EXC - - - 44 - 21 - 1 - EXC - - - 45 - 21 - 0 - EXC - - - 46 - 21 - 0 - EXC - - - 47 - 21 - 0 - EXC - - - 48 - 21 - 0 - EXC - - - 49 - 21 - 0 - EXC - - - 50 - 21 - 0 - EXC - - - 51 - 21 - 1 - EXC - - - 52 - 21 - 0 - EXC - - - 53 - 21 - 0 - EXC - - - 54 - 21 - 1 - EXC - - - 55 - 21 - 0 - EXC - - - 56 - 21 - 0 - EXC - - - 57 - 21 - 0 - EXC - - - 58 - 21 - 0 - EXC - - - 59 - 21 - 0 - EXC - - - 60 - 21 - 0 - EXC - - - 61 - 21 - 1 - EXC - - - 62 - 21 - 0 - EXC - - - 63 - 21 - 0 - EXC - - - 64 - 21 - 1 - EXC - - - 65 - 21 - 0 - EXC - - - 66 - 21 - 0 - EXC - - - 67 - 21 - 0 - EXC - - - 68 - 21 - 0 - EXC - - - 69 - 21 - 0 - EXC - - - 70 - 21 - 0 - EXC - - - 71 - 21 - 1 - EXC - - - 72 - 21 - 0 - EXC - - - 73 - 21 - 0 - EXC - - - 74 - 21 - 1 - EXC - - - 75 - 21 - 0 - EXC - - - 76 - 21 - 0 - EXC - - - 77 - 21 - 0 - EXC - - - 78 - 21 - 0 - EXC - - - 79 - 21 - 0 - EXC - - - 80 - 21 - 0 - EXC - - - 81 - 21 - 1 - EXC - - - 82 - 21 - 0 - EXC - - - 83 - 21 - 0 - EXC - - - 84 - 21 - 1 - EXC - - - 85 - 21 - 0 - EXC - - - 86 - 21 - 0 - EXC - - - 87 - 21 - 0 - EXC - - - 88 - 21 - 0 - EXC - - - 89 - 21 - 0 - EXC - - - 90 - 21 - 0 - EXC - - - 91 - 21 - 1 - EXC - - - 92 - 21 - 0 - EXC - - - 93 - 21 - 0 - EXC - - - 94 - 21 - 1 - EXC - - - 95 - 21 - 0 - EXC - - - 96 - 21 - 0 - EXC - - - 97 - 21 - 0 - EXC - - - 98 - 21 - 0 - EXC - - - 99 - 21 - 0 - EXC - - - 0 - 22 - 0 - EXC - - - 1 - 22 - 0 - EXC - - - 2 - 22 - 0 - EXC - - - 3 - 22 - 0 - EXC - - - 4 - 22 - 0 - EXC - - - 5 - 22 - 0 - INH - - - 6 - 22 - 0 - EXC - - - 7 - 22 - 0 - EXC - - - 8 - 22 - 0 - INH - - - 9 - 22 - 0 - EXC - - - 10 - 22 - 0 - EXC - - - 11 - 22 - 0 - EXC - - - 12 - 22 - 0 - EXC - - - 13 - 22 - 0 - EXC - - - 14 - 22 - 0 - EXC - - - 15 - 22 - 0 - INH - - - 16 - 22 - 0 - EXC - - - 17 - 22 - 0 - EXC - - - 18 - 22 - 0 - INH - - - 19 - 22 - 0 - EXC - - - 20 - 22 - 0 - EXC - - - 21 - 22 - 0 - EXC - - - 22 - 22 - 0 - EXC - - - 23 - 22 - 0 - EXC - - - 24 - 22 - 0 - EXC - - - 25 - 22 - 0 - INH - - - 26 - 22 - 0 - EXC - - - 27 - 22 - 0 - EXC - - - 28 - 22 - 0 - INH - - - 29 - 22 - 0 - EXC - - - 30 - 22 - 0 - EXC - - - 31 - 22 - 0 - EXC - - - 32 - 22 - 0 - EXC - - - 33 - 22 - 0 - EXC - - - 34 - 22 - 0 - EXC - - - 35 - 22 - 0 - INH - - - 36 - 22 - 0 - EXC - - - 37 - 22 - 0 - EXC - - - 38 - 22 - 0 - INH - - - 39 - 22 - 0 - EXC - - - 40 - 22 - 0 - EXC - - - 41 - 22 - 0 - EXC - - - 42 - 22 - 0 - EXC - - - 43 - 22 - 0 - EXC - - - 44 - 22 - 0 - EXC - - - 45 - 22 - 0 - INH - - - 46 - 22 - 0 - EXC - - - 47 - 22 - 0 - EXC - - - 48 - 22 - 0 - INH - - - 49 - 22 - 0 - EXC - - - 50 - 22 - 0 - EXC - - - 51 - 22 - 0 - EXC - - - 52 - 22 - 0 - EXC - - - 53 - 22 - 0 - EXC - - - 54 - 22 - 0 - EXC - - - 55 - 22 - 0 - INH - - - 56 - 22 - 0 - EXC - - - 57 - 22 - 0 - EXC - - - 58 - 22 - 0 - INH - - - 59 - 22 - 0 - EXC - - - 60 - 22 - 0 - EXC - - - 61 - 22 - 0 - EXC - - - 62 - 22 - 0 - EXC - - - 63 - 22 - 0 - EXC - - - 64 - 22 - 0 - EXC - - - 65 - 22 - 0 - INH - - - 66 - 22 - 0 - EXC - - - 67 - 22 - 0 - EXC - - - 68 - 22 - 0 - INH - - - 69 - 22 - 0 - EXC - - - 70 - 22 - 0 - EXC - - - 71 - 22 - 0 - EXC - - - 72 - 22 - 0 - EXC - - - 73 - 22 - 0 - EXC - - - 74 - 22 - 0 - EXC - - - 75 - 22 - 0 - INH - - - 76 - 22 - 0 - EXC - - - 77 - 22 - 0 - EXC - - - 78 - 22 - 0 - INH - - - 79 - 22 - 0 - EXC - - - 80 - 22 - 0 - EXC - - - 81 - 22 - 0 - EXC - - - 82 - 22 - 0 - EXC - - - 83 - 22 - 0 - EXC - - - 84 - 22 - 0 - EXC - - - 85 - 22 - 0 - INH - - - 86 - 22 - 0 - EXC - - - 87 - 22 - 0 - EXC - - - 88 - 22 - 0 - INH - - - 89 - 22 - 0 - EXC - - - 90 - 22 - 0 - EXC - - - 91 - 22 - 0 - EXC - - - 92 - 22 - 0 - EXC - - - 93 - 22 - 0 - EXC - - - 94 - 22 - 0 - EXC - - - 95 - 22 - 0 - INH - - - 96 - 22 - 0 - EXC - - - 97 - 22 - 0 - EXC - - - 98 - 22 - 0 - INH - - - 99 - 22 - 0 - EXC - - - 0 - 23 - 0 - EXC - - - 1 - 23 - 0 - EXC - - - 2 - 23 - 0 - INH - - - 3 - 23 - 0 - EXC - - - 4 - 23 - 0 - EXC - - - 5 - 23 - 0 - EXC - - - 6 - 23 - 0 - EXC - - - 7 - 23 - 1 - EXC - - - 8 - 23 - 0 - EXC - - - 9 - 23 - 0 - EXC - - - 10 - 23 - 0 - EXC - - - 11 - 23 - 0 - EXC - - - 12 - 23 - 0 - INH - - - 13 - 23 - 0 - EXC - - - 14 - 23 - 0 - EXC - - - 15 - 23 - 0 - EXC - - - 16 - 23 - 0 - EXC - - - 17 - 23 - 1 - EXC - - - 18 - 23 - 0 - EXC - - - 19 - 23 - 0 - EXC - - - 20 - 23 - 0 - EXC - - - 21 - 23 - 0 - EXC - - - 22 - 23 - 0 - INH - - - 23 - 23 - 0 - EXC - - - 24 - 23 - 0 - EXC - - - 25 - 23 - 0 - EXC - - - 26 - 23 - 0 - EXC - - - 27 - 23 - 1 - EXC - - - 28 - 23 - 0 - EXC - - - 29 - 23 - 0 - EXC - - - 30 - 23 - 0 - EXC - - - 31 - 23 - 0 - EXC - - - 32 - 23 - 0 - INH - - - 33 - 23 - 0 - EXC - - - 34 - 23 - 0 - EXC - - - 35 - 23 - 0 - EXC - - - 36 - 23 - 0 - EXC - - - 37 - 23 - 1 - EXC - - - 38 - 23 - 0 - EXC - - - 39 - 23 - 0 - EXC - - - 40 - 23 - 0 - EXC - - - 41 - 23 - 0 - EXC - - - 42 - 23 - 0 - INH - - - 43 - 23 - 0 - EXC - - - 44 - 23 - 0 - EXC - - - 45 - 23 - 0 - EXC - - - 46 - 23 - 0 - EXC - - - 47 - 23 - 1 - EXC - - - 48 - 23 - 0 - EXC - - - 49 - 23 - 0 - EXC - - - 50 - 23 - 0 - EXC - - - 51 - 23 - 0 - EXC - - - 52 - 23 - 0 - INH - - - 53 - 23 - 0 - EXC - - - 54 - 23 - 0 - EXC - - - 55 - 23 - 0 - EXC - - - 56 - 23 - 0 - EXC - - - 57 - 23 - 1 - EXC - - - 58 - 23 - 0 - EXC - - - 59 - 23 - 0 - EXC - - - 60 - 23 - 0 - EXC - - - 61 - 23 - 0 - EXC - - - 62 - 23 - 0 - INH - - - 63 - 23 - 0 - EXC - - - 64 - 23 - 0 - EXC - - - 65 - 23 - 0 - EXC - - - 66 - 23 - 0 - EXC - - - 67 - 23 - 1 - EXC - - - 68 - 23 - 0 - EXC - - - 69 - 23 - 0 - EXC - - - 70 - 23 - 0 - EXC - - - 71 - 23 - 0 - EXC - - - 72 - 23 - 0 - INH - - - 73 - 23 - 0 - EXC - - - 74 - 23 - 0 - EXC - - - 75 - 23 - 0 - EXC - - - 76 - 23 - 0 - EXC - - - 77 - 23 - 1 - EXC - - - 78 - 23 - 0 - EXC - - - 79 - 23 - 0 - EXC - - - 80 - 23 - 0 - EXC - - - 81 - 23 - 0 - EXC - - - 82 - 23 - 0 - INH - - - 83 - 23 - 0 - EXC - - - 84 - 23 - 0 - EXC - - - 85 - 23 - 0 - EXC - - - 86 - 23 - 0 - EXC - - - 87 - 23 - 1 - EXC - - - 88 - 23 - 0 - EXC - - - 89 - 23 - 0 - EXC - - - 90 - 23 - 0 - EXC - - - 91 - 23 - 0 - EXC - - - 92 - 23 - 0 - INH - - - 93 - 23 - 0 - EXC - - - 94 - 23 - 0 - EXC - - - 95 - 23 - 0 - EXC - - - 96 - 23 - 0 - EXC - - - 97 - 23 - 1 - EXC - - - 98 - 23 - 0 - EXC - - - 99 - 23 - 0 - EXC - - - 0 - 24 - 0 - EXC - - - 1 - 24 - 1 - EXC - - - 2 - 24 - 0 - EXC - - - 3 - 24 - 0 - EXC - - - 4 - 24 - 1 - EXC - - - 5 - 24 - 0 - EXC - - - 6 - 24 - 0 - EXC - - - 7 - 24 - 0 - EXC - - - 8 - 24 - 0 - EXC - - - 9 - 24 - 0 - EXC - - - 10 - 24 - 0 - EXC - - - 11 - 24 - 1 - EXC - - - 12 - 24 - 0 - EXC - - - 13 - 24 - 0 - EXC - - - 14 - 24 - 1 - EXC - - - 15 - 24 - 0 - EXC - - - 16 - 24 - 0 - EXC - - - 17 - 24 - 0 - EXC - - - 18 - 24 - 0 - EXC - - - 19 - 24 - 0 - EXC - - - 20 - 24 - 0 - EXC - - - 21 - 24 - 1 - EXC - - - 22 - 24 - 0 - EXC - - - 23 - 24 - 0 - EXC - - - 24 - 24 - 1 - EXC - - - 25 - 24 - 0 - EXC - - - 26 - 24 - 0 - EXC - - - 27 - 24 - 0 - EXC - - - 28 - 24 - 0 - EXC - - - 29 - 24 - 0 - EXC - - - 30 - 24 - 0 - EXC - - - 31 - 24 - 1 - EXC - - - 32 - 24 - 0 - EXC - - - 33 - 24 - 0 - EXC - - - 34 - 24 - 1 - EXC - - - 35 - 24 - 0 - EXC - - - 36 - 24 - 0 - EXC - - - 37 - 24 - 0 - EXC - - - 38 - 24 - 0 - EXC - - - 39 - 24 - 0 - EXC - - - 40 - 24 - 0 - EXC - - - 41 - 24 - 1 - EXC - - - 42 - 24 - 0 - EXC - - - 43 - 24 - 0 - EXC - - - 44 - 24 - 1 - EXC - - - 45 - 24 - 0 - EXC - - - 46 - 24 - 0 - EXC - - - 47 - 24 - 0 - EXC - - - 48 - 24 - 0 - EXC - - - 49 - 24 - 0 - EXC - - - 50 - 24 - 0 - EXC - - - 51 - 24 - 1 - EXC - - - 52 - 24 - 0 - EXC - - - 53 - 24 - 0 - EXC - - - 54 - 24 - 1 - EXC - - - 55 - 24 - 0 - EXC - - - 56 - 24 - 0 - EXC - - - 57 - 24 - 0 - EXC - - - 58 - 24 - 0 - EXC - - - 59 - 24 - 0 - EXC - - - 60 - 24 - 0 - EXC - - - 61 - 24 - 1 - EXC - - - 62 - 24 - 0 - EXC - - - 63 - 24 - 0 - EXC - - - 64 - 24 - 1 - EXC - - - 65 - 24 - 0 - EXC - - - 66 - 24 - 0 - EXC - - - 67 - 24 - 0 - EXC - - - 68 - 24 - 0 - EXC - - - 69 - 24 - 0 - EXC - - - 70 - 24 - 0 - EXC - - - 71 - 24 - 1 - EXC - - - 72 - 24 - 0 - EXC - - - 73 - 24 - 0 - EXC - - - 74 - 24 - 1 - EXC - - - 75 - 24 - 0 - EXC - - - 76 - 24 - 0 - EXC - - - 77 - 24 - 0 - EXC - - - 78 - 24 - 0 - EXC - - - 79 - 24 - 0 - EXC - - - 80 - 24 - 0 - EXC - - - 81 - 24 - 1 - EXC - - - 82 - 24 - 0 - EXC - - - 83 - 24 - 0 - EXC - - - 84 - 24 - 1 - EXC - - - 85 - 24 - 0 - EXC - - - 86 - 24 - 0 - EXC - - - 87 - 24 - 0 - EXC - - - 88 - 24 - 0 - EXC - - - 89 - 24 - 0 - EXC - - - 90 - 24 - 0 - EXC - - - 91 - 24 - 1 - EXC - - - 92 - 24 - 0 - EXC - - - 93 - 24 - 0 - EXC - - - 94 - 24 - 1 - EXC - - - 95 - 24 - 0 - EXC - - - 96 - 24 - 0 - EXC - - - 97 - 24 - 0 - EXC - - - 98 - 24 - 0 - EXC - - - 99 - 24 - 0 - EXC - - - 0 - 25 - 0 - EXC - - - 1 - 25 - 0 - EXC - - - 2 - 25 - 0 - EXC - - - 3 - 25 - 0 - EXC - - - 4 - 25 - 0 - EXC - - - 5 - 25 - 0 - INH - - - 6 - 25 - 0 - EXC - - - 7 - 25 - 0 - EXC - - - 8 - 25 - 0 - INH - - - 9 - 25 - 0 - EXC - - - 10 - 25 - 0 - EXC - - - 11 - 25 - 0 - EXC - - - 12 - 25 - 0 - EXC - - - 13 - 25 - 0 - EXC - - - 14 - 25 - 0 - EXC - - - 15 - 25 - 0 - INH - - - 16 - 25 - 0 - EXC - - - 17 - 25 - 0 - EXC - - - 18 - 25 - 0 - INH - - - 19 - 25 - 0 - EXC - - - 20 - 25 - 0 - EXC - - - 21 - 25 - 0 - EXC - - - 22 - 25 - 0 - EXC - - - 23 - 25 - 0 - EXC - - - 24 - 25 - 0 - EXC - - - 25 - 25 - 0 - INH - - - 26 - 25 - 0 - EXC - - - 27 - 25 - 0 - EXC - - - 28 - 25 - 0 - INH - - - 29 - 25 - 0 - EXC - - - 30 - 25 - 0 - EXC - - - 31 - 25 - 0 - EXC - - - 32 - 25 - 0 - EXC - - - 33 - 25 - 0 - EXC - - - 34 - 25 - 0 - EXC - - - 35 - 25 - 0 - INH - - - 36 - 25 - 0 - EXC - - - 37 - 25 - 0 - EXC - - - 38 - 25 - 0 - INH - - - 39 - 25 - 0 - EXC - - - 40 - 25 - 0 - EXC - - - 41 - 25 - 0 - EXC - - - 42 - 25 - 0 - EXC - - - 43 - 25 - 0 - EXC - - - 44 - 25 - 0 - EXC - - - 45 - 25 - 0 - INH - - - 46 - 25 - 0 - EXC - - - 47 - 25 - 0 - EXC - - - 48 - 25 - 0 - INH - - - 49 - 25 - 0 - EXC - - - 50 - 25 - 0 - EXC - - - 51 - 25 - 0 - EXC - - - 52 - 25 - 0 - EXC - - - 53 - 25 - 0 - EXC - - - 54 - 25 - 0 - EXC - - - 55 - 25 - 0 - INH - - - 56 - 25 - 0 - EXC - - - 57 - 25 - 0 - EXC - - - 58 - 25 - 0 - INH - - - 59 - 25 - 0 - EXC - - - 60 - 25 - 0 - EXC - - - 61 - 25 - 0 - EXC - - - 62 - 25 - 0 - EXC - - - 63 - 25 - 0 - EXC - - - 64 - 25 - 0 - EXC - - - 65 - 25 - 0 - INH - - - 66 - 25 - 0 - EXC - - - 67 - 25 - 0 - EXC - - - 68 - 25 - 0 - INH - - - 69 - 25 - 0 - EXC - - - 70 - 25 - 0 - EXC - - - 71 - 25 - 0 - EXC - - - 72 - 25 - 0 - EXC - - - 73 - 25 - 0 - EXC - - - 74 - 25 - 0 - EXC - - - 75 - 25 - 0 - INH - - - 76 - 25 - 0 - EXC - - - 77 - 25 - 0 - EXC - - - 78 - 25 - 0 - INH - - - 79 - 25 - 0 - EXC - - - 80 - 25 - 0 - EXC - - - 81 - 25 - 0 - EXC - - - 82 - 25 - 0 - EXC - - - 83 - 25 - 0 - EXC - - - 84 - 25 - 0 - EXC - - - 85 - 25 - 0 - INH - - - 86 - 25 - 0 - EXC - - - 87 - 25 - 0 - EXC - - - 88 - 25 - 0 - INH - - - 89 - 25 - 0 - EXC - - - 90 - 25 - 0 - EXC - - - 91 - 25 - 0 - EXC - - - 92 - 25 - 0 - EXC - - - 93 - 25 - 0 - EXC - - - 94 - 25 - 0 - EXC - - - 95 - 25 - 0 - INH - - - 96 - 25 - 0 - EXC - - - 97 - 25 - 0 - EXC - - - 98 - 25 - 0 - INH - - - 99 - 25 - 0 - EXC - - - 0 - 26 - 0 - EXC - - - 1 - 26 - 0 - EXC - - - 2 - 26 - 0 - INH - - - 3 - 26 - 0 - EXC - - - 4 - 26 - 0 - EXC - - - 5 - 26 - 0 - EXC - - - 6 - 26 - 0 - EXC - - - 7 - 26 - 1 - EXC - - - 8 - 26 - 0 - EXC - - - 9 - 26 - 0 - EXC - - - 10 - 26 - 0 - EXC - - - 11 - 26 - 0 - EXC - - - 12 - 26 - 0 - INH - - - 13 - 26 - 0 - EXC - - - 14 - 26 - 0 - EXC - - - 15 - 26 - 0 - EXC - - - 16 - 26 - 0 - EXC - - - 17 - 26 - 1 - EXC - - - 18 - 26 - 0 - EXC - - - 19 - 26 - 0 - EXC - - - 20 - 26 - 0 - EXC - - - 21 - 26 - 0 - EXC - - - 22 - 26 - 0 - INH - - - 23 - 26 - 0 - EXC - - - 24 - 26 - 0 - EXC - - - 25 - 26 - 0 - EXC - - - 26 - 26 - 0 - EXC - - - 27 - 26 - 1 - EXC - - - 28 - 26 - 0 - EXC - - - 29 - 26 - 0 - EXC - - - 30 - 26 - 0 - EXC - - - 31 - 26 - 0 - EXC - - - 32 - 26 - 0 - INH - - - 33 - 26 - 0 - EXC - - - 34 - 26 - 0 - EXC - - - 35 - 26 - 0 - EXC - - - 36 - 26 - 0 - EXC - - - 37 - 26 - 1 - EXC - - - 38 - 26 - 0 - EXC - - - 39 - 26 - 0 - EXC - - - 40 - 26 - 0 - EXC - - - 41 - 26 - 0 - EXC - - - 42 - 26 - 0 - INH - - - 43 - 26 - 0 - EXC - - - 44 - 26 - 0 - EXC - - - 45 - 26 - 0 - EXC - - - 46 - 26 - 0 - EXC - - - 47 - 26 - 1 - EXC - - - 48 - 26 - 0 - EXC - - - 49 - 26 - 0 - EXC - - - 50 - 26 - 0 - EXC - - - 51 - 26 - 0 - EXC - - - 52 - 26 - 0 - INH - - - 53 - 26 - 0 - EXC - - - 54 - 26 - 0 - EXC - - - 55 - 26 - 0 - EXC - - - 56 - 26 - 0 - EXC - - - 57 - 26 - 1 - EXC - - - 58 - 26 - 0 - EXC - - - 59 - 26 - 0 - EXC - - - 60 - 26 - 0 - EXC - - - 61 - 26 - 0 - EXC - - - 62 - 26 - 0 - INH - - - 63 - 26 - 0 - EXC - - - 64 - 26 - 0 - EXC - - - 65 - 26 - 0 - EXC - - - 66 - 26 - 0 - EXC - - - 67 - 26 - 1 - EXC - - - 68 - 26 - 0 - EXC - - - 69 - 26 - 0 - EXC - - - 70 - 26 - 0 - EXC - - - 71 - 26 - 0 - EXC - - - 72 - 26 - 0 - INH - - - 73 - 26 - 0 - EXC - - - 74 - 26 - 0 - EXC - - - 75 - 26 - 0 - EXC - - - 76 - 26 - 0 - EXC - - - 77 - 26 - 1 - EXC - - - 78 - 26 - 0 - EXC - - - 79 - 26 - 0 - EXC - - - 80 - 26 - 0 - EXC - - - 81 - 26 - 0 - EXC - - - 82 - 26 - 0 - INH - - - 83 - 26 - 0 - EXC - - - 84 - 26 - 0 - EXC - - - 85 - 26 - 0 - EXC - - - 86 - 26 - 0 - EXC - - - 87 - 26 - 1 - EXC - - - 88 - 26 - 0 - EXC - - - 89 - 26 - 0 - EXC - - - 90 - 26 - 0 - EXC - - - 91 - 26 - 0 - EXC - - - 92 - 26 - 0 - INH - - - 93 - 26 - 0 - EXC - - - 94 - 26 - 0 - EXC - - - 95 - 26 - 0 - EXC - - - 96 - 26 - 0 - EXC - - - 97 - 26 - 1 - EXC - - - 98 - 26 - 0 - EXC - - - 99 - 26 - 0 - EXC - - - 0 - 27 - 0 - EXC - - - 1 - 27 - 1 - EXC - - - 2 - 27 - 0 - EXC - - - 3 - 27 - 0 - EXC - - - 4 - 27 - 1 - EXC - - - 5 - 27 - 0 - EXC - - - 6 - 27 - 0 - EXC - - - 7 - 27 - 0 - EXC - - - 8 - 27 - 0 - EXC - - - 9 - 27 - 0 - EXC - - - 10 - 27 - 0 - EXC - - - 11 - 27 - 1 - EXC - - - 12 - 27 - 0 - EXC - - - 13 - 27 - 0 - EXC - - - 14 - 27 - 1 - EXC - - - 15 - 27 - 0 - EXC - - - 16 - 27 - 0 - EXC - - - 17 - 27 - 0 - EXC - - - 18 - 27 - 0 - EXC - - - 19 - 27 - 0 - EXC - - - 20 - 27 - 0 - EXC - - - 21 - 27 - 1 - EXC - - - 22 - 27 - 0 - EXC - - - 23 - 27 - 0 - EXC - - - 24 - 27 - 1 - EXC - - - 25 - 27 - 0 - EXC - - - 26 - 27 - 0 - EXC - - - 27 - 27 - 0 - EXC - - - 28 - 27 - 0 - EXC - - - 29 - 27 - 0 - EXC - - - 30 - 27 - 0 - EXC - - - 31 - 27 - 1 - EXC - - - 32 - 27 - 0 - EXC - - - 33 - 27 - 0 - EXC - - - 34 - 27 - 1 - EXC - - - 35 - 27 - 0 - EXC - - - 36 - 27 - 0 - EXC - - - 37 - 27 - 0 - EXC - - - 38 - 27 - 0 - EXC - - - 39 - 27 - 0 - EXC - - - 40 - 27 - 0 - EXC - - - 41 - 27 - 1 - EXC - - - 42 - 27 - 0 - EXC - - - 43 - 27 - 0 - EXC - - - 44 - 27 - 1 - EXC - - - 45 - 27 - 0 - EXC - - - 46 - 27 - 0 - EXC - - - 47 - 27 - 0 - EXC - - - 48 - 27 - 0 - EXC - - - 49 - 27 - 0 - EXC - - - 50 - 27 - 0 - EXC - - - 51 - 27 - 1 - EXC - - - 52 - 27 - 0 - EXC - - - 53 - 27 - 0 - EXC - - - 54 - 27 - 1 - EXC - - - 55 - 27 - 0 - EXC - - - 56 - 27 - 0 - EXC - - - 57 - 27 - 0 - EXC - - - 58 - 27 - 0 - EXC - - - 59 - 27 - 0 - EXC - - - 60 - 27 - 0 - EXC - - - 61 - 27 - 1 - EXC - - - 62 - 27 - 0 - EXC - - - 63 - 27 - 0 - EXC - - - 64 - 27 - 1 - EXC - - - 65 - 27 - 0 - EXC - - - 66 - 27 - 0 - EXC - - - 67 - 27 - 0 - EXC - - - 68 - 27 - 0 - EXC - - - 69 - 27 - 0 - EXC - - - 70 - 27 - 0 - EXC - - - 71 - 27 - 1 - EXC - - - 72 - 27 - 0 - EXC - - - 73 - 27 - 0 - EXC - - - 74 - 27 - 1 - EXC - - - 75 - 27 - 0 - EXC - - - 76 - 27 - 0 - EXC - - - 77 - 27 - 0 - EXC - - - 78 - 27 - 0 - EXC - - - 79 - 27 - 0 - EXC - - - 80 - 27 - 0 - EXC - - - 81 - 27 - 1 - EXC - - - 82 - 27 - 0 - EXC - - - 83 - 27 - 0 - EXC - - - 84 - 27 - 1 - EXC - - - 85 - 27 - 0 - EXC - - - 86 - 27 - 0 - EXC - - - 87 - 27 - 0 - EXC - - - 88 - 27 - 0 - EXC - - - 89 - 27 - 0 - EXC - - - 90 - 27 - 0 - EXC - - - 91 - 27 - 1 - EXC - - - 92 - 27 - 0 - EXC - - - 93 - 27 - 0 - EXC - - - 94 - 27 - 1 - EXC - - - 95 - 27 - 0 - EXC - - - 96 - 27 - 0 - EXC - - - 97 - 27 - 0 - EXC - - - 98 - 27 - 0 - EXC - - - 99 - 27 - 0 - EXC - - - 0 - 28 - 0 - EXC - - - 1 - 28 - 0 - EXC - - - 2 - 28 - 0 - EXC - - - 3 - 28 - 0 - EXC - - - 4 - 28 - 0 - EXC - - - 5 - 28 - 0 - INH - - - 6 - 28 - 0 - EXC - - - 7 - 28 - 0 - EXC - - - 8 - 28 - 0 - INH - - - 9 - 28 - 0 - EXC - - - 10 - 28 - 0 - EXC - - - 11 - 28 - 0 - EXC - - - 12 - 28 - 0 - EXC - - - 13 - 28 - 0 - EXC - - - 14 - 28 - 0 - EXC - - - 15 - 28 - 0 - INH - - - 16 - 28 - 0 - EXC - - - 17 - 28 - 0 - EXC - - - 18 - 28 - 0 - INH - - - 19 - 28 - 0 - EXC - - - 20 - 28 - 0 - EXC - - - 21 - 28 - 0 - EXC - - - 22 - 28 - 0 - EXC - - - 23 - 28 - 0 - EXC - - - 24 - 28 - 0 - EXC - - - 25 - 28 - 0 - INH - - - 26 - 28 - 0 - EXC - - - 27 - 28 - 0 - EXC - - - 28 - 28 - 0 - INH - - - 29 - 28 - 0 - EXC - - - 30 - 28 - 0 - EXC - - - 31 - 28 - 0 - EXC - - - 32 - 28 - 0 - EXC - - - 33 - 28 - 0 - EXC - - - 34 - 28 - 0 - EXC - - - 35 - 28 - 0 - INH - - - 36 - 28 - 0 - EXC - - - 37 - 28 - 0 - EXC - - - 38 - 28 - 0 - INH - - - 39 - 28 - 0 - EXC - - - 40 - 28 - 0 - EXC - - - 41 - 28 - 0 - EXC - - - 42 - 28 - 0 - EXC - - - 43 - 28 - 0 - EXC - - - 44 - 28 - 0 - EXC - - - 45 - 28 - 0 - INH - - - 46 - 28 - 0 - EXC - - - 47 - 28 - 0 - EXC - - - 48 - 28 - 0 - INH - - - 49 - 28 - 0 - EXC - - - 50 - 28 - 0 - EXC - - - 51 - 28 - 0 - EXC - - - 52 - 28 - 0 - EXC - - - 53 - 28 - 0 - EXC - - - 54 - 28 - 0 - EXC - - - 55 - 28 - 0 - INH - - - 56 - 28 - 0 - EXC - - - 57 - 28 - 0 - EXC - - - 58 - 28 - 0 - INH - - - 59 - 28 - 0 - EXC - - - 60 - 28 - 0 - EXC - - - 61 - 28 - 0 - EXC - - - 62 - 28 - 0 - EXC - - - 63 - 28 - 0 - EXC - - - 64 - 28 - 0 - EXC - - - 65 - 28 - 0 - INH - - - 66 - 28 - 0 - EXC - - - 67 - 28 - 0 - EXC - - - 68 - 28 - 0 - INH - - - 69 - 28 - 0 - EXC - - - 70 - 28 - 0 - EXC - - - 71 - 28 - 0 - EXC - - - 72 - 28 - 0 - EXC - - - 73 - 28 - 0 - EXC - - - 74 - 28 - 0 - EXC - - - 75 - 28 - 0 - INH - - - 76 - 28 - 0 - EXC - - - 77 - 28 - 0 - EXC - - - 78 - 28 - 0 - INH - - - 79 - 28 - 0 - EXC - - - 80 - 28 - 0 - EXC - - - 81 - 28 - 0 - EXC - - - 82 - 28 - 0 - EXC - - - 83 - 28 - 0 - EXC - - - 84 - 28 - 0 - EXC - - - 85 - 28 - 0 - INH - - - 86 - 28 - 0 - EXC - - - 87 - 28 - 0 - EXC - - - 88 - 28 - 0 - INH - - - 89 - 28 - 0 - EXC - - - 90 - 28 - 0 - EXC - - - 91 - 28 - 0 - EXC - - - 92 - 28 - 0 - EXC - - - 93 - 28 - 0 - EXC - - - 94 - 28 - 0 - EXC - - - 95 - 28 - 0 - INH - - - 96 - 28 - 0 - EXC - - - 97 - 28 - 0 - EXC - - - 98 - 28 - 0 - INH - - - 99 - 28 - 0 - EXC - - - 0 - 29 - 0 - EXC - - - 1 - 29 - 0 - EXC - - - 2 - 29 - 0 - INH - - - 3 - 29 - 0 - EXC - - - 4 - 29 - 0 - EXC - - - 5 - 29 - 0 - EXC - - - 6 - 29 - 0 - EXC - - - 7 - 29 - 1 - EXC - - - 8 - 29 - 0 - EXC - - - 9 - 29 - 0 - EXC - - - 10 - 29 - 0 - EXC - - - 11 - 29 - 0 - EXC - - - 12 - 29 - 0 - INH - - - 13 - 29 - 0 - EXC - - - 14 - 29 - 0 - EXC - - - 15 - 29 - 0 - EXC - - - 16 - 29 - 0 - EXC - - - 17 - 29 - 1 - EXC - - - 18 - 29 - 0 - EXC - - - 19 - 29 - 0 - EXC - - - 20 - 29 - 0 - EXC - - - 21 - 29 - 0 - EXC - - - 22 - 29 - 0 - INH - - - 23 - 29 - 0 - EXC - - - 24 - 29 - 0 - EXC - - - 25 - 29 - 0 - EXC - - - 26 - 29 - 0 - EXC - - - 27 - 29 - 1 - EXC - - - 28 - 29 - 0 - EXC - - - 29 - 29 - 0 - EXC - - - 30 - 29 - 0 - EXC - - - 31 - 29 - 0 - EXC - - - 32 - 29 - 0 - INH - - - 33 - 29 - 0 - EXC - - - 34 - 29 - 0 - EXC - - - 35 - 29 - 0 - EXC - - - 36 - 29 - 0 - EXC - - - 37 - 29 - 1 - EXC - - - 38 - 29 - 0 - EXC - - - 39 - 29 - 0 - EXC - - - 40 - 29 - 0 - EXC - - - 41 - 29 - 0 - EXC - - - 42 - 29 - 0 - INH - - - 43 - 29 - 0 - EXC - - - 44 - 29 - 0 - EXC - - - 45 - 29 - 0 - EXC - - - 46 - 29 - 0 - EXC - - - 47 - 29 - 1 - EXC - - - 48 - 29 - 0 - EXC - - - 49 - 29 - 0 - EXC - - - 50 - 29 - 0 - EXC - - - 51 - 29 - 0 - EXC - - - 52 - 29 - 0 - INH - - - 53 - 29 - 0 - EXC - - - 54 - 29 - 0 - EXC - - - 55 - 29 - 0 - EXC - - - 56 - 29 - 0 - EXC - - - 57 - 29 - 1 - EXC - - - 58 - 29 - 0 - EXC - - - 59 - 29 - 0 - EXC - - - 60 - 29 - 0 - EXC - - - 61 - 29 - 0 - EXC - - - 62 - 29 - 0 - INH - - - 63 - 29 - 0 - EXC - - - 64 - 29 - 0 - EXC - - - 65 - 29 - 0 - EXC - - - 66 - 29 - 0 - EXC - - - 67 - 29 - 1 - EXC - - - 68 - 29 - 0 - EXC - - - 69 - 29 - 0 - EXC - - - 70 - 29 - 0 - EXC - - - 71 - 29 - 0 - EXC - - - 72 - 29 - 0 - INH - - - 73 - 29 - 0 - EXC - - - 74 - 29 - 0 - EXC - - - 75 - 29 - 0 - EXC - - - 76 - 29 - 0 - EXC - - - 77 - 29 - 1 - EXC - - - 78 - 29 - 0 - EXC - - - 79 - 29 - 0 - EXC - - - 80 - 29 - 0 - EXC - - - 81 - 29 - 0 - EXC - - - 82 - 29 - 0 - INH - - - 83 - 29 - 0 - EXC - - - 84 - 29 - 0 - EXC - - - 85 - 29 - 0 - EXC - - - 86 - 29 - 0 - EXC - - - 87 - 29 - 1 - EXC - - - 88 - 29 - 0 - EXC - - - 89 - 29 - 0 - EXC - - - 90 - 29 - 0 - EXC - - - 91 - 29 - 0 - EXC - - - 92 - 29 - 0 - INH - - - 93 - 29 - 0 - EXC - - - 94 - 29 - 0 - EXC - - - 95 - 29 - 0 - EXC - - - 96 - 29 - 0 - EXC - - - 97 - 29 - 1 - EXC - - - 98 - 29 - 0 - EXC - - - 99 - 29 - 0 - EXC - - - 0 - 30 - 0 - EXC - - - 1 - 30 - 0 - EXC - - - 2 - 30 - 0 - EXC - - - 3 - 30 - 0 - EXC - - - 4 - 30 - 0 - EXC - - - 5 - 30 - 0 - EXC - - - 6 - 30 - 0 - EXC - - - 7 - 30 - 1 - EXC - - - 8 - 30 - 0 - INH - - - 9 - 30 - 0 - EXC - - - 10 - 30 - 0 - EXC - - - 11 - 30 - 0 - EXC - - - 12 - 30 - 0 - EXC - - - 13 - 30 - 0 - EXC - - - 14 - 30 - 0 - EXC - - - 15 - 30 - 0 - EXC - - - 16 - 30 - 0 - EXC - - - 17 - 30 - 1 - EXC - - - 18 - 30 - 0 - INH - - - 19 - 30 - 0 - EXC - - - 20 - 30 - 0 - EXC - - - 21 - 30 - 0 - EXC - - - 22 - 30 - 0 - EXC - - - 23 - 30 - 0 - EXC - - - 24 - 30 - 0 - EXC - - - 25 - 30 - 0 - EXC - - - 26 - 30 - 0 - EXC - - - 27 - 30 - 1 - EXC - - - 28 - 30 - 0 - INH - - - 29 - 30 - 0 - EXC - - - 30 - 30 - 0 - EXC - - - 31 - 30 - 0 - EXC - - - 32 - 30 - 0 - EXC - - - 33 - 30 - 0 - EXC - - - 34 - 30 - 0 - EXC - - - 35 - 30 - 0 - EXC - - - 36 - 30 - 0 - EXC - - - 37 - 30 - 1 - EXC - - - 38 - 30 - 0 - INH - - - 39 - 30 - 0 - EXC - - - 40 - 30 - 0 - EXC - - - 41 - 30 - 0 - EXC - - - 42 - 30 - 0 - EXC - - - 43 - 30 - 0 - EXC - - - 44 - 30 - 0 - EXC - - - 45 - 30 - 0 - EXC - - - 46 - 30 - 0 - EXC - - - 47 - 30 - 1 - EXC - - - 48 - 30 - 0 - INH - - - 49 - 30 - 0 - EXC - - - 50 - 30 - 0 - EXC - - - 51 - 30 - 0 - EXC - - - 52 - 30 - 0 - EXC - - - 53 - 30 - 0 - EXC - - - 54 - 30 - 0 - EXC - - - 55 - 30 - 0 - EXC - - - 56 - 30 - 0 - EXC - - - 57 - 30 - 1 - EXC - - - 58 - 30 - 0 - INH - - - 59 - 30 - 0 - EXC - - - 60 - 30 - 0 - EXC - - - 61 - 30 - 0 - EXC - - - 62 - 30 - 0 - EXC - - - 63 - 30 - 0 - EXC - - - 64 - 30 - 0 - EXC - - - 65 - 30 - 0 - EXC - - - 66 - 30 - 0 - EXC - - - 67 - 30 - 1 - EXC - - - 68 - 30 - 0 - INH - - - 69 - 30 - 0 - EXC - - - 70 - 30 - 0 - EXC - - - 71 - 30 - 0 - EXC - - - 72 - 30 - 0 - EXC - - - 73 - 30 - 0 - EXC - - - 74 - 30 - 0 - EXC - - - 75 - 30 - 0 - EXC - - - 76 - 30 - 0 - EXC - - - 77 - 30 - 1 - EXC - - - 78 - 30 - 0 - INH - - - 79 - 30 - 0 - EXC - - - 80 - 30 - 0 - EXC - - - 81 - 30 - 0 - EXC - - - 82 - 30 - 0 - EXC - - - 83 - 30 - 0 - EXC - - - 84 - 30 - 0 - EXC - - - 85 - 30 - 0 - EXC - - - 86 - 30 - 0 - EXC - - - 87 - 30 - 1 - EXC - - - 88 - 30 - 0 - INH - - - 89 - 30 - 0 - EXC - - - 90 - 30 - 0 - EXC - - - 91 - 30 - 0 - EXC - - - 92 - 30 - 0 - EXC - - - 93 - 30 - 0 - EXC - - - 94 - 30 - 0 - EXC - - - 95 - 30 - 0 - EXC - - - 96 - 30 - 0 - EXC - - - 97 - 30 - 1 - EXC - - - 98 - 30 - 0 - INH - - - 99 - 30 - 0 - EXC - - - 0 - 31 - 0 - EXC - - - 1 - 31 - 1 - EXC - - - 2 - 31 - 0 - EXC - - - 3 - 31 - 0 - EXC - - - 4 - 31 - 1 - EXC - - - 5 - 31 - 0 - EXC - - - 6 - 31 - 0 - EXC - - - 7 - 31 - 0 - EXC - - - 8 - 31 - 0 - EXC - - - 9 - 31 - 0 - EXC - - - 10 - 31 - 0 - EXC - - - 11 - 31 - 1 - EXC - - - 12 - 31 - 0 - EXC - - - 13 - 31 - 0 - EXC - - - 14 - 31 - 1 - EXC - - - 15 - 31 - 0 - EXC - - - 16 - 31 - 0 - EXC - - - 17 - 31 - 0 - EXC - - - 18 - 31 - 0 - EXC - - - 19 - 31 - 0 - EXC - - - 20 - 31 - 0 - EXC - - - 21 - 31 - 1 - EXC - - - 22 - 31 - 0 - EXC - - - 23 - 31 - 0 - EXC - - - 24 - 31 - 1 - EXC - - - 25 - 31 - 0 - EXC - - - 26 - 31 - 0 - EXC - - - 27 - 31 - 0 - EXC - - - 28 - 31 - 0 - EXC - - - 29 - 31 - 0 - EXC - - - 30 - 31 - 0 - EXC - - - 31 - 31 - 1 - EXC - - - 32 - 31 - 0 - EXC - - - 33 - 31 - 0 - EXC - - - 34 - 31 - 1 - EXC - - - 35 - 31 - 0 - EXC - - - 36 - 31 - 0 - EXC - - - 37 - 31 - 0 - EXC - - - 38 - 31 - 0 - EXC - - - 39 - 31 - 0 - EXC - - - 40 - 31 - 0 - EXC - - - 41 - 31 - 1 - EXC - - - 42 - 31 - 0 - EXC - - - 43 - 31 - 0 - EXC - - - 44 - 31 - 1 - EXC - - - 45 - 31 - 0 - EXC - - - 46 - 31 - 0 - EXC - - - 47 - 31 - 0 - EXC - - - 48 - 31 - 0 - EXC - - - 49 - 31 - 0 - EXC - - - 50 - 31 - 0 - EXC - - - 51 - 31 - 1 - EXC - - - 52 - 31 - 0 - EXC - - - 53 - 31 - 0 - EXC - - - 54 - 31 - 1 - EXC - - - 55 - 31 - 0 - EXC - - - 56 - 31 - 0 - EXC - - - 57 - 31 - 0 - EXC - - - 58 - 31 - 0 - EXC - - - 59 - 31 - 0 - EXC - - - 60 - 31 - 0 - EXC - - - 61 - 31 - 1 - EXC - - - 62 - 31 - 0 - EXC - - - 63 - 31 - 0 - EXC - - - 64 - 31 - 1 - EXC - - - 65 - 31 - 0 - EXC - - - 66 - 31 - 0 - EXC - - - 67 - 31 - 0 - EXC - - - 68 - 31 - 0 - EXC - - - 69 - 31 - 0 - EXC - - - 70 - 31 - 0 - EXC - - - 71 - 31 - 1 - EXC - - - 72 - 31 - 0 - EXC - - - 73 - 31 - 0 - EXC - - - 74 - 31 - 1 - EXC - - - 75 - 31 - 0 - EXC - - - 76 - 31 - 0 - EXC - - - 77 - 31 - 0 - EXC - - - 78 - 31 - 0 - EXC - - - 79 - 31 - 0 - EXC - - - 80 - 31 - 0 - EXC - - - 81 - 31 - 1 - EXC - - - 82 - 31 - 0 - EXC - - - 83 - 31 - 0 - EXC - - - 84 - 31 - 1 - EXC - - - 85 - 31 - 0 - EXC - - - 86 - 31 - 0 - EXC - - - 87 - 31 - 0 - EXC - - - 88 - 31 - 0 - EXC - - - 89 - 31 - 0 - EXC - - - 90 - 31 - 0 - EXC - - - 91 - 31 - 1 - EXC - - - 92 - 31 - 0 - EXC - - - 93 - 31 - 0 - EXC - - - 94 - 31 - 1 - EXC - - - 95 - 31 - 0 - EXC - - - 96 - 31 - 0 - EXC - - - 97 - 31 - 0 - EXC - - - 98 - 31 - 0 - EXC - - - 99 - 31 - 0 - EXC - - - 0 - 32 - 0 - EXC - - - 1 - 32 - 0 - EXC - - - 2 - 32 - 0 - INH - - - 3 - 32 - 0 - EXC - - - 4 - 32 - 0 - EXC - - - 5 - 32 - 0 - INH - - - 6 - 32 - 0 - EXC - - - 7 - 32 - 0 - EXC - - - 8 - 32 - 0 - EXC - - - 9 - 32 - 0 - EXC - - - 10 - 32 - 0 - EXC - - - 11 - 32 - 0 - EXC - - - 12 - 32 - 0 - INH - - - 13 - 32 - 0 - EXC - - - 14 - 32 - 0 - EXC - - - 15 - 32 - 0 - INH - - - 16 - 32 - 0 - EXC - - - 17 - 32 - 0 - EXC - - - 18 - 32 - 0 - EXC - - - 19 - 32 - 0 - EXC - - - 20 - 32 - 0 - EXC - - - 21 - 32 - 0 - EXC - - - 22 - 32 - 0 - INH - - - 23 - 32 - 0 - EXC - - - 24 - 32 - 0 - EXC - - - 25 - 32 - 0 - INH - - - 26 - 32 - 0 - EXC - - - 27 - 32 - 0 - EXC - - - 28 - 32 - 0 - EXC - - - 29 - 32 - 0 - EXC - - - 30 - 32 - 0 - EXC - - - 31 - 32 - 0 - EXC - - - 32 - 32 - 0 - INH - - - 33 - 32 - 0 - EXC - - - 34 - 32 - 0 - EXC - - - 35 - 32 - 0 - INH - - - 36 - 32 - 0 - EXC - - - 37 - 32 - 0 - EXC - - - 38 - 32 - 0 - EXC - - - 39 - 32 - 0 - EXC - - - 40 - 32 - 0 - EXC - - - 41 - 32 - 0 - EXC - - - 42 - 32 - 0 - INH - - - 43 - 32 - 0 - EXC - - - 44 - 32 - 0 - EXC - - - 45 - 32 - 0 - INH - - - 46 - 32 - 0 - EXC - - - 47 - 32 - 0 - EXC - - - 48 - 32 - 0 - EXC - - - 49 - 32 - 0 - EXC - - - 50 - 32 - 0 - EXC - - - 51 - 32 - 0 - EXC - - - 52 - 32 - 0 - INH - - - 53 - 32 - 0 - EXC - - - 54 - 32 - 0 - EXC - - - 55 - 32 - 0 - INH - - - 56 - 32 - 0 - EXC - - - 57 - 32 - 0 - EXC - - - 58 - 32 - 0 - EXC - - - 59 - 32 - 0 - EXC - - - 60 - 32 - 0 - EXC - - - 61 - 32 - 0 - EXC - - - 62 - 32 - 0 - INH - - - 63 - 32 - 0 - EXC - - - 64 - 32 - 0 - EXC - - - 65 - 32 - 0 - INH - - - 66 - 32 - 0 - EXC - - - 67 - 32 - 0 - EXC - - - 68 - 32 - 0 - EXC - - - 69 - 32 - 0 - EXC - - - 70 - 32 - 0 - EXC - - - 71 - 32 - 0 - EXC - - - 72 - 32 - 0 - INH - - - 73 - 32 - 0 - EXC - - - 74 - 32 - 0 - EXC - - - 75 - 32 - 0 - INH - - - 76 - 32 - 0 - EXC - - - 77 - 32 - 0 - EXC - - - 78 - 32 - 0 - EXC - - - 79 - 32 - 0 - EXC - - - 80 - 32 - 0 - EXC - - - 81 - 32 - 0 - EXC - - - 82 - 32 - 0 - INH - - - 83 - 32 - 0 - EXC - - - 84 - 32 - 0 - EXC - - - 85 - 32 - 0 - INH - - - 86 - 32 - 0 - EXC - - - 87 - 32 - 0 - EXC - - - 88 - 32 - 0 - EXC - - - 89 - 32 - 0 - EXC - - - 90 - 32 - 0 - EXC - - - 91 - 32 - 0 - EXC - - - 92 - 32 - 0 - INH - - - 93 - 32 - 0 - EXC - - - 94 - 32 - 0 - EXC - - - 95 - 32 - 0 - INH - - - 96 - 32 - 0 - EXC - - - 97 - 32 - 0 - EXC - - - 98 - 32 - 0 - EXC - - - 99 - 32 - 0 - EXC - - - 0 - 33 - 0 - EXC - - - 1 - 33 - 0 - EXC - - - 2 - 33 - 0 - EXC - - - 3 - 33 - 0 - EXC - - - 4 - 33 - 0 - EXC - - - 5 - 33 - 0 - EXC - - - 6 - 33 - 0 - EXC - - - 7 - 33 - 1 - EXC - - - 8 - 33 - 0 - INH - - - 9 - 33 - 0 - EXC - - - 10 - 33 - 0 - EXC - - - 11 - 33 - 0 - EXC - - - 12 - 33 - 0 - EXC - - - 13 - 33 - 0 - EXC - - - 14 - 33 - 0 - EXC - - - 15 - 33 - 0 - EXC - - - 16 - 33 - 0 - EXC - - - 17 - 33 - 1 - EXC - - - 18 - 33 - 0 - INH - - - 19 - 33 - 0 - EXC - - - 20 - 33 - 0 - EXC - - - 21 - 33 - 0 - EXC - - - 22 - 33 - 0 - EXC - - - 23 - 33 - 0 - EXC - - - 24 - 33 - 0 - EXC - - - 25 - 33 - 0 - EXC - - - 26 - 33 - 0 - EXC - - - 27 - 33 - 1 - EXC - - - 28 - 33 - 0 - INH - - - 29 - 33 - 0 - EXC - - - 30 - 33 - 0 - EXC - - - 31 - 33 - 0 - EXC - - - 32 - 33 - 0 - EXC - - - 33 - 33 - 0 - EXC - - - 34 - 33 - 0 - EXC - - - 35 - 33 - 0 - EXC - - - 36 - 33 - 0 - EXC - - - 37 - 33 - 1 - EXC - - - 38 - 33 - 0 - INH - - - 39 - 33 - 0 - EXC - - - 40 - 33 - 0 - EXC - - - 41 - 33 - 0 - EXC - - - 42 - 33 - 0 - EXC - - - 43 - 33 - 0 - EXC - - - 44 - 33 - 0 - EXC - - - 45 - 33 - 0 - EXC - - - 46 - 33 - 0 - EXC - - - 47 - 33 - 1 - EXC - - - 48 - 33 - 0 - INH - - - 49 - 33 - 0 - EXC - - - 50 - 33 - 0 - EXC - - - 51 - 33 - 0 - EXC - - - 52 - 33 - 0 - EXC - - - 53 - 33 - 0 - EXC - - - 54 - 33 - 0 - EXC - - - 55 - 33 - 0 - EXC - - - 56 - 33 - 0 - EXC - - - 57 - 33 - 1 - EXC - - - 58 - 33 - 0 - INH - - - 59 - 33 - 0 - EXC - - - 60 - 33 - 0 - EXC - - - 61 - 33 - 0 - EXC - - - 62 - 33 - 0 - EXC - - - 63 - 33 - 0 - EXC - - - 64 - 33 - 0 - EXC - - - 65 - 33 - 0 - EXC - - - 66 - 33 - 0 - EXC - - - 67 - 33 - 1 - EXC - - - 68 - 33 - 0 - INH - - - 69 - 33 - 0 - EXC - - - 70 - 33 - 0 - EXC - - - 71 - 33 - 0 - EXC - - - 72 - 33 - 0 - EXC - - - 73 - 33 - 0 - EXC - - - 74 - 33 - 0 - EXC - - - 75 - 33 - 0 - EXC - - - 76 - 33 - 0 - EXC - - - 77 - 33 - 1 - EXC - - - 78 - 33 - 0 - INH - - - 79 - 33 - 0 - EXC - - - 80 - 33 - 0 - EXC - - - 81 - 33 - 0 - EXC - - - 82 - 33 - 0 - EXC - - - 83 - 33 - 0 - EXC - - - 84 - 33 - 0 - EXC - - - 85 - 33 - 0 - EXC - - - 86 - 33 - 0 - EXC - - - 87 - 33 - 1 - EXC - - - 88 - 33 - 0 - INH - - - 89 - 33 - 0 - EXC - - - 90 - 33 - 0 - EXC - - - 91 - 33 - 0 - EXC - - - 92 - 33 - 0 - EXC - - - 93 - 33 - 0 - EXC - - - 94 - 33 - 0 - EXC - - - 95 - 33 - 0 - EXC - - - 96 - 33 - 0 - EXC - - - 97 - 33 - 1 - EXC - - - 98 - 33 - 0 - INH - - - 99 - 33 - 0 - EXC - - - 0 - 34 - 0 - EXC - - - 1 - 34 - 1 - EXC - - - 2 - 34 - 0 - EXC - - - 3 - 34 - 0 - EXC - - - 4 - 34 - 1 - EXC - - - 5 - 34 - 0 - EXC - - - 6 - 34 - 0 - EXC - - - 7 - 34 - 0 - EXC - - - 8 - 34 - 0 - EXC - - - 9 - 34 - 0 - EXC - - - 10 - 34 - 0 - EXC - - - 11 - 34 - 1 - EXC - - - 12 - 34 - 0 - EXC - - - 13 - 34 - 0 - EXC - - - 14 - 34 - 1 - EXC - - - 15 - 34 - 0 - EXC - - - 16 - 34 - 0 - EXC - - - 17 - 34 - 0 - EXC - - - 18 - 34 - 0 - EXC - - - 19 - 34 - 0 - EXC - - - 20 - 34 - 0 - EXC - - - 21 - 34 - 1 - EXC - - - 22 - 34 - 0 - EXC - - - 23 - 34 - 0 - EXC - - - 24 - 34 - 1 - EXC - - - 25 - 34 - 0 - EXC - - - 26 - 34 - 0 - EXC - - - 27 - 34 - 0 - EXC - - - 28 - 34 - 0 - EXC - - - 29 - 34 - 0 - EXC - - - 30 - 34 - 0 - EXC - - - 31 - 34 - 1 - EXC - - - 32 - 34 - 0 - EXC - - - 33 - 34 - 0 - EXC - - - 34 - 34 - 1 - EXC - - - 35 - 34 - 0 - EXC - - - 36 - 34 - 0 - EXC - - - 37 - 34 - 0 - EXC - - - 38 - 34 - 0 - EXC - - - 39 - 34 - 0 - EXC - - - 40 - 34 - 0 - EXC - - - 41 - 34 - 1 - EXC - - - 42 - 34 - 0 - EXC - - - 43 - 34 - 0 - EXC - - - 44 - 34 - 1 - EXC - - - 45 - 34 - 0 - EXC - - - 46 - 34 - 0 - EXC - - - 47 - 34 - 0 - EXC - - - 48 - 34 - 0 - EXC - - - 49 - 34 - 0 - EXC - - - 50 - 34 - 0 - EXC - - - 51 - 34 - 1 - EXC - - - 52 - 34 - 0 - EXC - - - 53 - 34 - 0 - EXC - - - 54 - 34 - 1 - EXC - - - 55 - 34 - 0 - EXC - - - 56 - 34 - 0 - EXC - - - 57 - 34 - 0 - EXC - - - 58 - 34 - 0 - EXC - - - 59 - 34 - 0 - EXC - - - 60 - 34 - 0 - EXC - - - 61 - 34 - 1 - EXC - - - 62 - 34 - 0 - EXC - - - 63 - 34 - 0 - EXC - - - 64 - 34 - 1 - EXC - - - 65 - 34 - 0 - EXC - - - 66 - 34 - 0 - EXC - - - 67 - 34 - 0 - EXC - - - 68 - 34 - 0 - EXC - - - 69 - 34 - 0 - EXC - - - 70 - 34 - 0 - EXC - - - 71 - 34 - 1 - EXC - - - 72 - 34 - 0 - EXC - - - 73 - 34 - 0 - EXC - - - 74 - 34 - 1 - EXC - - - 75 - 34 - 0 - EXC - - - 76 - 34 - 0 - EXC - - - 77 - 34 - 0 - EXC - - - 78 - 34 - 0 - EXC - - - 79 - 34 - 0 - EXC - - - 80 - 34 - 0 - EXC - - - 81 - 34 - 1 - EXC - - - 82 - 34 - 0 - EXC - - - 83 - 34 - 0 - EXC - - - 84 - 34 - 1 - EXC - - - 85 - 34 - 0 - EXC - - - 86 - 34 - 0 - EXC - - - 87 - 34 - 0 - EXC - - - 88 - 34 - 0 - EXC - - - 89 - 34 - 0 - EXC - - - 90 - 34 - 0 - EXC - - - 91 - 34 - 1 - EXC - - - 92 - 34 - 0 - EXC - - - 93 - 34 - 0 - EXC - - - 94 - 34 - 1 - EXC - - - 95 - 34 - 0 - EXC - - - 96 - 34 - 0 - EXC - - - 97 - 34 - 0 - EXC - - - 98 - 34 - 0 - EXC - - - 99 - 34 - 0 - EXC - - - 0 - 35 - 0 - EXC - - - 1 - 35 - 0 - EXC - - - 2 - 35 - 0 - INH - - - 3 - 35 - 0 - EXC - - - 4 - 35 - 0 - EXC - - - 5 - 35 - 0 - INH - - - 6 - 35 - 0 - EXC - - - 7 - 35 - 0 - EXC - - - 8 - 35 - 0 - EXC - - - 9 - 35 - 0 - EXC - - - 10 - 35 - 0 - EXC - - - 11 - 35 - 0 - EXC - - - 12 - 35 - 0 - INH - - - 13 - 35 - 0 - EXC - - - 14 - 35 - 0 - EXC - - - 15 - 35 - 0 - INH - - - 16 - 35 - 0 - EXC - - - 17 - 35 - 0 - EXC - - - 18 - 35 - 0 - EXC - - - 19 - 35 - 0 - EXC - - - 20 - 35 - 0 - EXC - - - 21 - 35 - 0 - EXC - - - 22 - 35 - 0 - INH - - - 23 - 35 - 0 - EXC - - - 24 - 35 - 0 - EXC - - - 25 - 35 - 0 - INH - - - 26 - 35 - 0 - EXC - - - 27 - 35 - 0 - EXC - - - 28 - 35 - 0 - EXC - - - 29 - 35 - 0 - EXC - - - 30 - 35 - 0 - EXC - - - 31 - 35 - 0 - EXC - - - 32 - 35 - 0 - INH - - - 33 - 35 - 0 - EXC - - - 34 - 35 - 0 - EXC - - - 35 - 35 - 0 - INH - - - 36 - 35 - 0 - EXC - - - 37 - 35 - 0 - EXC - - - 38 - 35 - 0 - EXC - - - 39 - 35 - 0 - EXC - - - 40 - 35 - 0 - EXC - - - 41 - 35 - 0 - EXC - - - 42 - 35 - 0 - INH - - - 43 - 35 - 0 - EXC - - - 44 - 35 - 0 - EXC - - - 45 - 35 - 0 - INH - - - 46 - 35 - 0 - EXC - - - 47 - 35 - 0 - EXC - - - 48 - 35 - 0 - EXC - - - 49 - 35 - 0 - EXC - - - 50 - 35 - 0 - EXC - - - 51 - 35 - 0 - EXC - - - 52 - 35 - 0 - INH - - - 53 - 35 - 0 - EXC - - - 54 - 35 - 0 - EXC - - - 55 - 35 - 0 - INH - - - 56 - 35 - 0 - EXC - - - 57 - 35 - 0 - EXC - - - 58 - 35 - 0 - EXC - - - 59 - 35 - 0 - EXC - - - 60 - 35 - 0 - EXC - - - 61 - 35 - 0 - EXC - - - 62 - 35 - 0 - INH - - - 63 - 35 - 0 - EXC - - - 64 - 35 - 0 - EXC - - - 65 - 35 - 0 - INH - - - 66 - 35 - 0 - EXC - - - 67 - 35 - 0 - EXC - - - 68 - 35 - 0 - EXC - - - 69 - 35 - 0 - EXC - - - 70 - 35 - 0 - EXC - - - 71 - 35 - 0 - EXC - - - 72 - 35 - 0 - INH - - - 73 - 35 - 0 - EXC - - - 74 - 35 - 0 - EXC - - - 75 - 35 - 0 - INH - - - 76 - 35 - 0 - EXC - - - 77 - 35 - 0 - EXC - - - 78 - 35 - 0 - EXC - - - 79 - 35 - 0 - EXC - - - 80 - 35 - 0 - EXC - - - 81 - 35 - 0 - EXC - - - 82 - 35 - 0 - INH - - - 83 - 35 - 0 - EXC - - - 84 - 35 - 0 - EXC - - - 85 - 35 - 0 - INH - - - 86 - 35 - 0 - EXC - - - 87 - 35 - 0 - EXC - - - 88 - 35 - 0 - EXC - - - 89 - 35 - 0 - EXC - - - 90 - 35 - 0 - EXC - - - 91 - 35 - 0 - EXC - - - 92 - 35 - 0 - INH - - - 93 - 35 - 0 - EXC - - - 94 - 35 - 0 - EXC - - - 95 - 35 - 0 - INH - - - 96 - 35 - 0 - EXC - - - 97 - 35 - 0 - EXC - - - 98 - 35 - 0 - EXC - - - 99 - 35 - 0 - EXC - - - 0 - 36 - 0 - EXC - - - 1 - 36 - 0 - EXC - - - 2 - 36 - 0 - EXC - - - 3 - 36 - 0 - EXC - - - 4 - 36 - 0 - EXC - - - 5 - 36 - 0 - EXC - - - 6 - 36 - 0 - EXC - - - 7 - 36 - 1 - EXC - - - 8 - 36 - 0 - INH - - - 9 - 36 - 0 - EXC - - - 10 - 36 - 0 - EXC - - - 11 - 36 - 0 - EXC - - - 12 - 36 - 0 - EXC - - - 13 - 36 - 0 - EXC - - - 14 - 36 - 0 - EXC - - - 15 - 36 - 0 - EXC - - - 16 - 36 - 0 - EXC - - - 17 - 36 - 1 - EXC - - - 18 - 36 - 0 - INH - - - 19 - 36 - 0 - EXC - - - 20 - 36 - 0 - EXC - - - 21 - 36 - 0 - EXC - - - 22 - 36 - 0 - EXC - - - 23 - 36 - 0 - EXC - - - 24 - 36 - 0 - EXC - - - 25 - 36 - 0 - EXC - - - 26 - 36 - 0 - EXC - - - 27 - 36 - 1 - EXC - - - 28 - 36 - 0 - INH - - - 29 - 36 - 0 - EXC - - - 30 - 36 - 0 - EXC - - - 31 - 36 - 0 - EXC - - - 32 - 36 - 0 - EXC - - - 33 - 36 - 0 - EXC - - - 34 - 36 - 0 - EXC - - - 35 - 36 - 0 - EXC - - - 36 - 36 - 0 - EXC - - - 37 - 36 - 1 - EXC - - - 38 - 36 - 0 - INH - - - 39 - 36 - 0 - EXC - - - 40 - 36 - 0 - EXC - - - 41 - 36 - 0 - EXC - - - 42 - 36 - 0 - EXC - - - 43 - 36 - 0 - EXC - - - 44 - 36 - 0 - EXC - - - 45 - 36 - 0 - EXC - - - 46 - 36 - 0 - EXC - - - 47 - 36 - 1 - EXC - - - 48 - 36 - 0 - INH - - - 49 - 36 - 0 - EXC - - - 50 - 36 - 0 - EXC - - - 51 - 36 - 0 - EXC - - - 52 - 36 - 0 - EXC - - - 53 - 36 - 0 - EXC - - - 54 - 36 - 0 - EXC - - - 55 - 36 - 0 - EXC - - - 56 - 36 - 0 - EXC - - - 57 - 36 - 1 - EXC - - - 58 - 36 - 0 - INH - - - 59 - 36 - 0 - EXC - - - 60 - 36 - 0 - EXC - - - 61 - 36 - 0 - EXC - - - 62 - 36 - 0 - EXC - - - 63 - 36 - 0 - EXC - - - 64 - 36 - 0 - EXC - - - 65 - 36 - 0 - EXC - - - 66 - 36 - 0 - EXC - - - 67 - 36 - 1 - EXC - - - 68 - 36 - 0 - INH - - - 69 - 36 - 0 - EXC - - - 70 - 36 - 0 - EXC - - - 71 - 36 - 0 - EXC - - - 72 - 36 - 0 - EXC - - - 73 - 36 - 0 - EXC - - - 74 - 36 - 0 - EXC - - - 75 - 36 - 0 - EXC - - - 76 - 36 - 0 - EXC - - - 77 - 36 - 1 - EXC - - - 78 - 36 - 0 - INH - - - 79 - 36 - 0 - EXC - - - 80 - 36 - 0 - EXC - - - 81 - 36 - 0 - EXC - - - 82 - 36 - 0 - EXC - - - 83 - 36 - 0 - EXC - - - 84 - 36 - 0 - EXC - - - 85 - 36 - 0 - EXC - - - 86 - 36 - 0 - EXC - - - 87 - 36 - 1 - EXC - - - 88 - 36 - 0 - INH - - - 89 - 36 - 0 - EXC - - - 90 - 36 - 0 - EXC - - - 91 - 36 - 0 - EXC - - - 92 - 36 - 0 - EXC - - - 93 - 36 - 0 - EXC - - - 94 - 36 - 0 - EXC - - - 95 - 36 - 0 - EXC - - - 96 - 36 - 0 - EXC - - - 97 - 36 - 1 - EXC - - - 98 - 36 - 0 - INH - - - 99 - 36 - 0 - EXC - - - 0 - 37 - 0 - EXC - - - 1 - 37 - 1 - EXC - - - 2 - 37 - 0 - EXC - - - 3 - 37 - 0 - EXC - - - 4 - 37 - 1 - EXC - - - 5 - 37 - 0 - EXC - - - 6 - 37 - 0 - EXC - - - 7 - 37 - 0 - EXC - - - 8 - 37 - 0 - EXC - - - 9 - 37 - 0 - EXC - - - 10 - 37 - 0 - EXC - - - 11 - 37 - 1 - EXC - - - 12 - 37 - 0 - EXC - - - 13 - 37 - 0 - EXC - - - 14 - 37 - 1 - EXC - - - 15 - 37 - 0 - EXC - - - 16 - 37 - 0 - EXC - - - 17 - 37 - 0 - EXC - - - 18 - 37 - 0 - EXC - - - 19 - 37 - 0 - EXC - - - 20 - 37 - 0 - EXC - - - 21 - 37 - 1 - EXC - - - 22 - 37 - 0 - EXC - - - 23 - 37 - 0 - EXC - - - 24 - 37 - 1 - EXC - - - 25 - 37 - 0 - EXC - - - 26 - 37 - 0 - EXC - - - 27 - 37 - 0 - EXC - - - 28 - 37 - 0 - EXC - - - 29 - 37 - 0 - EXC - - - 30 - 37 - 0 - EXC - - - 31 - 37 - 1 - EXC - - - 32 - 37 - 0 - EXC - - - 33 - 37 - 0 - EXC - - - 34 - 37 - 1 - EXC - - - 35 - 37 - 0 - EXC - - - 36 - 37 - 0 - EXC - - - 37 - 37 - 0 - EXC - - - 38 - 37 - 0 - EXC - - - 39 - 37 - 0 - EXC - - - 40 - 37 - 0 - EXC - - - 41 - 37 - 1 - EXC - - - 42 - 37 - 0 - EXC - - - 43 - 37 - 0 - EXC - - - 44 - 37 - 1 - EXC - - - 45 - 37 - 0 - EXC - - - 46 - 37 - 0 - EXC - - - 47 - 37 - 0 - EXC - - - 48 - 37 - 0 - EXC - - - 49 - 37 - 0 - EXC - - - 50 - 37 - 0 - EXC - - - 51 - 37 - 1 - EXC - - - 52 - 37 - 0 - EXC - - - 53 - 37 - 0 - EXC - - - 54 - 37 - 1 - EXC - - - 55 - 37 - 0 - EXC - - - 56 - 37 - 0 - EXC - - - 57 - 37 - 0 - EXC - - - 58 - 37 - 0 - EXC - - - 59 - 37 - 0 - EXC - - - 60 - 37 - 0 - EXC - - - 61 - 37 - 1 - EXC - - - 62 - 37 - 0 - EXC - - - 63 - 37 - 0 - EXC - - - 64 - 37 - 1 - EXC - - - 65 - 37 - 0 - EXC - - - 66 - 37 - 0 - EXC - - - 67 - 37 - 0 - EXC - - - 68 - 37 - 0 - EXC - - - 69 - 37 - 0 - EXC - - - 70 - 37 - 0 - EXC - - - 71 - 37 - 1 - EXC - - - 72 - 37 - 0 - EXC - - - 73 - 37 - 0 - EXC - - - 74 - 37 - 1 - EXC - - - 75 - 37 - 0 - EXC - - - 76 - 37 - 0 - EXC - - - 77 - 37 - 0 - EXC - - - 78 - 37 - 0 - EXC - - - 79 - 37 - 0 - EXC - - - 80 - 37 - 0 - EXC - - - 81 - 37 - 1 - EXC - - - 82 - 37 - 0 - EXC - - - 83 - 37 - 0 - EXC - - - 84 - 37 - 1 - EXC - - - 85 - 37 - 0 - EXC - - - 86 - 37 - 0 - EXC - - - 87 - 37 - 0 - EXC - - - 88 - 37 - 0 - EXC - - - 89 - 37 - 0 - EXC - - - 90 - 37 - 0 - EXC - - - 91 - 37 - 1 - EXC - - - 92 - 37 - 0 - EXC - - - 93 - 37 - 0 - EXC - - - 94 - 37 - 1 - EXC - - - 95 - 37 - 0 - EXC - - - 96 - 37 - 0 - EXC - - - 97 - 37 - 0 - EXC - - - 98 - 37 - 0 - EXC - - - 99 - 37 - 0 - EXC - - - 0 - 38 - 0 - EXC - - - 1 - 38 - 0 - EXC - - - 2 - 38 - 0 - INH - - - 3 - 38 - 0 - EXC - - - 4 - 38 - 0 - EXC - - - 5 - 38 - 0 - INH - - - 6 - 38 - 0 - EXC - - - 7 - 38 - 0 - EXC - - - 8 - 38 - 0 - EXC - - - 9 - 38 - 0 - EXC - - - 10 - 38 - 0 - EXC - - - 11 - 38 - 0 - EXC - - - 12 - 38 - 0 - INH - - - 13 - 38 - 0 - EXC - - - 14 - 38 - 0 - EXC - - - 15 - 38 - 0 - INH - - - 16 - 38 - 0 - EXC - - - 17 - 38 - 0 - EXC - - - 18 - 38 - 0 - EXC - - - 19 - 38 - 0 - EXC - - - 20 - 38 - 0 - EXC - - - 21 - 38 - 0 - EXC - - - 22 - 38 - 0 - INH - - - 23 - 38 - 0 - EXC - - - 24 - 38 - 0 - EXC - - - 25 - 38 - 0 - INH - - - 26 - 38 - 0 - EXC - - - 27 - 38 - 0 - EXC - - - 28 - 38 - 0 - EXC - - - 29 - 38 - 0 - EXC - - - 30 - 38 - 0 - EXC - - - 31 - 38 - 0 - EXC - - - 32 - 38 - 0 - INH - - - 33 - 38 - 0 - EXC - - - 34 - 38 - 0 - EXC - - - 35 - 38 - 0 - INH - - - 36 - 38 - 0 - EXC - - - 37 - 38 - 0 - EXC - - - 38 - 38 - 0 - EXC - - - 39 - 38 - 0 - EXC - - - 40 - 38 - 0 - EXC - - - 41 - 38 - 0 - EXC - - - 42 - 38 - 0 - INH - - - 43 - 38 - 0 - EXC - - - 44 - 38 - 0 - EXC - - - 45 - 38 - 0 - INH - - - 46 - 38 - 0 - EXC - - - 47 - 38 - 0 - EXC - - - 48 - 38 - 0 - EXC - - - 49 - 38 - 0 - EXC - - - 50 - 38 - 0 - EXC - - - 51 - 38 - 0 - EXC - - - 52 - 38 - 0 - INH - - - 53 - 38 - 0 - EXC - - - 54 - 38 - 0 - EXC - - - 55 - 38 - 0 - INH - - - 56 - 38 - 0 - EXC - - - 57 - 38 - 0 - EXC - - - 58 - 38 - 0 - EXC - - - 59 - 38 - 0 - EXC - - - 60 - 38 - 0 - EXC - - - 61 - 38 - 0 - EXC - - - 62 - 38 - 0 - INH - - - 63 - 38 - 0 - EXC - - - 64 - 38 - 0 - EXC - - - 65 - 38 - 0 - INH - - - 66 - 38 - 0 - EXC - - - 67 - 38 - 0 - EXC - - - 68 - 38 - 0 - EXC - - - 69 - 38 - 0 - EXC - - - 70 - 38 - 0 - EXC - - - 71 - 38 - 0 - EXC - - - 72 - 38 - 0 - INH - - - 73 - 38 - 0 - EXC - - - 74 - 38 - 0 - EXC - - - 75 - 38 - 0 - INH - - - 76 - 38 - 0 - EXC - - - 77 - 38 - 0 - EXC - - - 78 - 38 - 0 - EXC - - - 79 - 38 - 0 - EXC - - - 80 - 38 - 0 - EXC - - - 81 - 38 - 0 - EXC - - - 82 - 38 - 0 - INH - - - 83 - 38 - 0 - EXC - - - 84 - 38 - 0 - EXC - - - 85 - 38 - 0 - INH - - - 86 - 38 - 0 - EXC - - - 87 - 38 - 0 - EXC - - - 88 - 38 - 0 - EXC - - - 89 - 38 - 0 - EXC - - - 90 - 38 - 0 - EXC - - - 91 - 38 - 0 - EXC - - - 92 - 38 - 0 - INH - - - 93 - 38 - 0 - EXC - - - 94 - 38 - 0 - EXC - - - 95 - 38 - 0 - INH - - - 96 - 38 - 0 - EXC - - - 97 - 38 - 0 - EXC - - - 98 - 38 - 0 - EXC - - - 99 - 38 - 0 - EXC - - - 0 - 39 - 0 - EXC - - - 1 - 39 - 0 - EXC - - - 2 - 39 - 0 - EXC - - - 3 - 39 - 0 - EXC - - - 4 - 39 - 0 - EXC - - - 5 - 39 - 0 - EXC - - - 6 - 39 - 0 - EXC - - - 7 - 39 - 1 - EXC - - - 8 - 39 - 0 - INH - - - 9 - 39 - 0 - EXC - - - 10 - 39 - 0 - EXC - - - 11 - 39 - 0 - EXC - - - 12 - 39 - 0 - EXC - - - 13 - 39 - 0 - EXC - - - 14 - 39 - 0 - EXC - - - 15 - 39 - 0 - EXC - - - 16 - 39 - 0 - EXC - - - 17 - 39 - 1 - EXC - - - 18 - 39 - 0 - INH - - - 19 - 39 - 0 - EXC - - - 20 - 39 - 0 - EXC - - - 21 - 39 - 0 - EXC - - - 22 - 39 - 0 - EXC - - - 23 - 39 - 0 - EXC - - - 24 - 39 - 0 - EXC - - - 25 - 39 - 0 - EXC - - - 26 - 39 - 0 - EXC - - - 27 - 39 - 1 - EXC - - - 28 - 39 - 0 - INH - - - 29 - 39 - 0 - EXC - - - 30 - 39 - 0 - EXC - - - 31 - 39 - 0 - EXC - - - 32 - 39 - 0 - EXC - - - 33 - 39 - 0 - EXC - - - 34 - 39 - 0 - EXC - - - 35 - 39 - 0 - EXC - - - 36 - 39 - 0 - EXC - - - 37 - 39 - 1 - EXC - - - 38 - 39 - 0 - INH - - - 39 - 39 - 0 - EXC - - - 40 - 39 - 0 - EXC - - - 41 - 39 - 0 - EXC - - - 42 - 39 - 0 - EXC - - - 43 - 39 - 0 - EXC - - - 44 - 39 - 0 - EXC - - - 45 - 39 - 0 - EXC - - - 46 - 39 - 0 - EXC - - - 47 - 39 - 1 - EXC - - - 48 - 39 - 0 - INH - - - 49 - 39 - 0 - EXC - - - 50 - 39 - 0 - EXC - - - 51 - 39 - 0 - EXC - - - 52 - 39 - 0 - EXC - - - 53 - 39 - 0 - EXC - - - 54 - 39 - 0 - EXC - - - 55 - 39 - 0 - EXC - - - 56 - 39 - 0 - EXC - - - 57 - 39 - 1 - EXC - - - 58 - 39 - 0 - INH - - - 59 - 39 - 0 - EXC - - - 60 - 39 - 0 - EXC - - - 61 - 39 - 0 - EXC - - - 62 - 39 - 0 - EXC - - - 63 - 39 - 0 - EXC - - - 64 - 39 - 0 - EXC - - - 65 - 39 - 0 - EXC - - - 66 - 39 - 0 - EXC - - - 67 - 39 - 1 - EXC - - - 68 - 39 - 0 - INH - - - 69 - 39 - 0 - EXC - - - 70 - 39 - 0 - EXC - - - 71 - 39 - 0 - EXC - - - 72 - 39 - 0 - EXC - - - 73 - 39 - 0 - EXC - - - 74 - 39 - 0 - EXC - - - 75 - 39 - 0 - EXC - - - 76 - 39 - 0 - EXC - - - 77 - 39 - 1 - EXC - - - 78 - 39 - 0 - INH - - - 79 - 39 - 0 - EXC - - - 80 - 39 - 0 - EXC - - - 81 - 39 - 0 - EXC - - - 82 - 39 - 0 - EXC - - - 83 - 39 - 0 - EXC - - - 84 - 39 - 0 - EXC - - - 85 - 39 - 0 - EXC - - - 86 - 39 - 0 - EXC - - - 87 - 39 - 1 - EXC - - - 88 - 39 - 0 - INH - - - 89 - 39 - 0 - EXC - - - 90 - 39 - 0 - EXC - - - 91 - 39 - 0 - EXC - - - 92 - 39 - 0 - EXC - - - 93 - 39 - 0 - EXC - - - 94 - 39 - 0 - EXC - - - 95 - 39 - 0 - EXC - - - 96 - 39 - 0 - EXC - - - 97 - 39 - 1 - EXC - - - 98 - 39 - 0 - INH - - - 99 - 39 - 0 - EXC - - - 0 - 40 - 0 - EXC - - - 1 - 40 - 0 - EXC - - - 2 - 40 - 0 - INH - - - 3 - 40 - 0 - EXC - - - 4 - 40 - 0 - EXC - - - 5 - 40 - 0 - EXC - - - 6 - 40 - 0 - EXC - - - 7 - 40 - 1 - EXC - - - 8 - 40 - 0 - EXC - - - 9 - 40 - 0 - EXC - - - 10 - 40 - 0 - EXC - - - 11 - 40 - 0 - EXC - - - 12 - 40 - 0 - INH - - - 13 - 40 - 0 - EXC - - - 14 - 40 - 0 - EXC - - - 15 - 40 - 0 - EXC - - - 16 - 40 - 0 - EXC - - - 17 - 40 - 1 - EXC - - - 18 - 40 - 0 - EXC - - - 19 - 40 - 0 - EXC - - - 20 - 40 - 0 - EXC - - - 21 - 40 - 0 - EXC - - - 22 - 40 - 0 - INH - - - 23 - 40 - 0 - EXC - - - 24 - 40 - 0 - EXC - - - 25 - 40 - 0 - EXC - - - 26 - 40 - 0 - EXC - - - 27 - 40 - 1 - EXC - - - 28 - 40 - 0 - EXC - - - 29 - 40 - 0 - EXC - - - 30 - 40 - 0 - EXC - - - 31 - 40 - 0 - EXC - - - 32 - 40 - 0 - INH - - - 33 - 40 - 0 - EXC - - - 34 - 40 - 0 - EXC - - - 35 - 40 - 0 - EXC - - - 36 - 40 - 0 - EXC - - - 37 - 40 - 1 - EXC - - - 38 - 40 - 0 - EXC - - - 39 - 40 - 0 - EXC - - - 40 - 40 - 0 - EXC - - - 41 - 40 - 0 - EXC - - - 42 - 40 - 0 - INH - - - 43 - 40 - 0 - EXC - - - 44 - 40 - 0 - EXC - - - 45 - 40 - 0 - EXC - - - 46 - 40 - 0 - EXC - - - 47 - 40 - 1 - EXC - - - 48 - 40 - 0 - EXC - - - 49 - 40 - 0 - EXC - - - 50 - 40 - 0 - EXC - - - 51 - 40 - 0 - EXC - - - 52 - 40 - 0 - INH - - - 53 - 40 - 0 - EXC - - - 54 - 40 - 0 - EXC - - - 55 - 40 - 0 - EXC - - - 56 - 40 - 0 - EXC - - - 57 - 40 - 1 - EXC - - - 58 - 40 - 0 - EXC - - - 59 - 40 - 0 - EXC - - - 60 - 40 - 0 - EXC - - - 61 - 40 - 0 - EXC - - - 62 - 40 - 0 - INH - - - 63 - 40 - 0 - EXC - - - 64 - 40 - 0 - EXC - - - 65 - 40 - 0 - EXC - - - 66 - 40 - 0 - EXC - - - 67 - 40 - 1 - EXC - - - 68 - 40 - 0 - EXC - - - 69 - 40 - 0 - EXC - - - 70 - 40 - 0 - EXC - - - 71 - 40 - 0 - EXC - - - 72 - 40 - 0 - INH - - - 73 - 40 - 0 - EXC - - - 74 - 40 - 0 - EXC - - - 75 - 40 - 0 - EXC - - - 76 - 40 - 0 - EXC - - - 77 - 40 - 1 - EXC - - - 78 - 40 - 0 - EXC - - - 79 - 40 - 0 - EXC - - - 80 - 40 - 0 - EXC - - - 81 - 40 - 0 - EXC - - - 82 - 40 - 0 - INH - - - 83 - 40 - 0 - EXC - - - 84 - 40 - 0 - EXC - - - 85 - 40 - 0 - EXC - - - 86 - 40 - 0 - EXC - - - 87 - 40 - 1 - EXC - - - 88 - 40 - 0 - EXC - - - 89 - 40 - 0 - EXC - - - 90 - 40 - 0 - EXC - - - 91 - 40 - 0 - EXC - - - 92 - 40 - 0 - INH - - - 93 - 40 - 0 - EXC - - - 94 - 40 - 0 - EXC - - - 95 - 40 - 0 - EXC - - - 96 - 40 - 0 - EXC - - - 97 - 40 - 1 - EXC - - - 98 - 40 - 0 - EXC - - - 99 - 40 - 0 - EXC - - - 0 - 41 - 0 - EXC - - - 1 - 41 - 1 - EXC - - - 2 - 41 - 0 - EXC - - - 3 - 41 - 0 - EXC - - - 4 - 41 - 1 - EXC - - - 5 - 41 - 0 - EXC - - - 6 - 41 - 0 - EXC - - - 7 - 41 - 0 - EXC - - - 8 - 41 - 0 - EXC - - - 9 - 41 - 0 - EXC - - - 10 - 41 - 0 - EXC - - - 11 - 41 - 1 - EXC - - - 12 - 41 - 0 - EXC - - - 13 - 41 - 0 - EXC - - - 14 - 41 - 1 - EXC - - - 15 - 41 - 0 - EXC - - - 16 - 41 - 0 - EXC - - - 17 - 41 - 0 - EXC - - - 18 - 41 - 0 - EXC - - - 19 - 41 - 0 - EXC - - - 20 - 41 - 0 - EXC - - - 21 - 41 - 1 - EXC - - - 22 - 41 - 0 - EXC - - - 23 - 41 - 0 - EXC - - - 24 - 41 - 1 - EXC - - - 25 - 41 - 0 - EXC - - - 26 - 41 - 0 - EXC - - - 27 - 41 - 0 - EXC - - - 28 - 41 - 0 - EXC - - - 29 - 41 - 0 - EXC - - - 30 - 41 - 0 - EXC - - - 31 - 41 - 1 - EXC - - - 32 - 41 - 0 - EXC - - - 33 - 41 - 0 - EXC - - - 34 - 41 - 1 - EXC - - - 35 - 41 - 0 - EXC - - - 36 - 41 - 0 - EXC - - - 37 - 41 - 0 - EXC - - - 38 - 41 - 0 - EXC - - - 39 - 41 - 0 - EXC - - - 40 - 41 - 0 - EXC - - - 41 - 41 - 1 - EXC - - - 42 - 41 - 0 - EXC - - - 43 - 41 - 0 - EXC - - - 44 - 41 - 1 - EXC - - - 45 - 41 - 0 - EXC - - - 46 - 41 - 0 - EXC - - - 47 - 41 - 0 - EXC - - - 48 - 41 - 0 - EXC - - - 49 - 41 - 0 - EXC - - - 50 - 41 - 0 - EXC - - - 51 - 41 - 1 - EXC - - - 52 - 41 - 0 - EXC - - - 53 - 41 - 0 - EXC - - - 54 - 41 - 1 - EXC - - - 55 - 41 - 0 - EXC - - - 56 - 41 - 0 - EXC - - - 57 - 41 - 0 - EXC - - - 58 - 41 - 0 - EXC - - - 59 - 41 - 0 - EXC - - - 60 - 41 - 0 - EXC - - - 61 - 41 - 1 - EXC - - - 62 - 41 - 0 - EXC - - - 63 - 41 - 0 - EXC - - - 64 - 41 - 1 - EXC - - - 65 - 41 - 0 - EXC - - - 66 - 41 - 0 - EXC - - - 67 - 41 - 0 - EXC - - - 68 - 41 - 0 - EXC - - - 69 - 41 - 0 - EXC - - - 70 - 41 - 0 - EXC - - - 71 - 41 - 1 - EXC - - - 72 - 41 - 0 - EXC - - - 73 - 41 - 0 - EXC - - - 74 - 41 - 1 - EXC - - - 75 - 41 - 0 - EXC - - - 76 - 41 - 0 - EXC - - - 77 - 41 - 0 - EXC - - - 78 - 41 - 0 - EXC - - - 79 - 41 - 0 - EXC - - - 80 - 41 - 0 - EXC - - - 81 - 41 - 1 - EXC - - - 82 - 41 - 0 - EXC - - - 83 - 41 - 0 - EXC - - - 84 - 41 - 1 - EXC - - - 85 - 41 - 0 - EXC - - - 86 - 41 - 0 - EXC - - - 87 - 41 - 0 - EXC - - - 88 - 41 - 0 - EXC - - - 89 - 41 - 0 - EXC - - - 90 - 41 - 0 - EXC - - - 91 - 41 - 1 - EXC - - - 92 - 41 - 0 - EXC - - - 93 - 41 - 0 - EXC - - - 94 - 41 - 1 - EXC - - - 95 - 41 - 0 - EXC - - - 96 - 41 - 0 - EXC - - - 97 - 41 - 0 - EXC - - - 98 - 41 - 0 - EXC - - - 99 - 41 - 0 - EXC - - - 0 - 42 - 0 - EXC - - - 1 - 42 - 0 - EXC - - - 2 - 42 - 0 - EXC - - - 3 - 42 - 0 - EXC - - - 4 - 42 - 0 - EXC - - - 5 - 42 - 0 - INH - - - 6 - 42 - 0 - EXC - - - 7 - 42 - 0 - EXC - - - 8 - 42 - 0 - INH - - - 9 - 42 - 0 - EXC - - - 10 - 42 - 0 - EXC - - - 11 - 42 - 0 - EXC - - - 12 - 42 - 0 - EXC - - - 13 - 42 - 0 - EXC - - - 14 - 42 - 0 - EXC - - - 15 - 42 - 0 - INH - - - 16 - 42 - 0 - EXC - - - 17 - 42 - 0 - EXC - - - 18 - 42 - 0 - INH - - - 19 - 42 - 0 - EXC - - - 20 - 42 - 0 - EXC - - - 21 - 42 - 0 - EXC - - - 22 - 42 - 0 - EXC - - - 23 - 42 - 0 - EXC - - - 24 - 42 - 0 - EXC - - - 25 - 42 - 0 - INH - - - 26 - 42 - 0 - EXC - - - 27 - 42 - 0 - EXC - - - 28 - 42 - 0 - INH - - - 29 - 42 - 0 - EXC - - - 30 - 42 - 0 - EXC - - - 31 - 42 - 0 - EXC - - - 32 - 42 - 0 - EXC - - - 33 - 42 - 0 - EXC - - - 34 - 42 - 0 - EXC - - - 35 - 42 - 0 - INH - - - 36 - 42 - 0 - EXC - - - 37 - 42 - 0 - EXC - - - 38 - 42 - 0 - INH - - - 39 - 42 - 0 - EXC - - - 40 - 42 - 0 - EXC - - - 41 - 42 - 0 - EXC - - - 42 - 42 - 0 - EXC - - - 43 - 42 - 0 - EXC - - - 44 - 42 - 0 - EXC - - - 45 - 42 - 0 - INH - - - 46 - 42 - 0 - EXC - - - 47 - 42 - 0 - EXC - - - 48 - 42 - 0 - INH - - - 49 - 42 - 0 - EXC - - - 50 - 42 - 0 - EXC - - - 51 - 42 - 0 - EXC - - - 52 - 42 - 0 - EXC - - - 53 - 42 - 0 - EXC - - - 54 - 42 - 0 - EXC - - - 55 - 42 - 0 - INH - - - 56 - 42 - 0 - EXC - - - 57 - 42 - 0 - EXC - - - 58 - 42 - 0 - INH - - - 59 - 42 - 0 - EXC - - - 60 - 42 - 0 - EXC - - - 61 - 42 - 0 - EXC - - - 62 - 42 - 0 - EXC - - - 63 - 42 - 0 - EXC - - - 64 - 42 - 0 - EXC - - - 65 - 42 - 0 - INH - - - 66 - 42 - 0 - EXC - - - 67 - 42 - 0 - EXC - - - 68 - 42 - 0 - INH - - - 69 - 42 - 0 - EXC - - - 70 - 42 - 0 - EXC - - - 71 - 42 - 0 - EXC - - - 72 - 42 - 0 - EXC - - - 73 - 42 - 0 - EXC - - - 74 - 42 - 0 - EXC - - - 75 - 42 - 0 - INH - - - 76 - 42 - 0 - EXC - - - 77 - 42 - 0 - EXC - - - 78 - 42 - 0 - INH - - - 79 - 42 - 0 - EXC - - - 80 - 42 - 0 - EXC - - - 81 - 42 - 0 - EXC - - - 82 - 42 - 0 - EXC - - - 83 - 42 - 0 - EXC - - - 84 - 42 - 0 - EXC - - - 85 - 42 - 0 - INH - - - 86 - 42 - 0 - EXC - - - 87 - 42 - 0 - EXC - - - 88 - 42 - 0 - INH - - - 89 - 42 - 0 - EXC - - - 90 - 42 - 0 - EXC - - - 91 - 42 - 0 - EXC - - - 92 - 42 - 0 - EXC - - - 93 - 42 - 0 - EXC - - - 94 - 42 - 0 - EXC - - - 95 - 42 - 0 - INH - - - 96 - 42 - 0 - EXC - - - 97 - 42 - 0 - EXC - - - 98 - 42 - 0 - INH - - - 99 - 42 - 0 - EXC - - - 0 - 43 - 0 - EXC - - - 1 - 43 - 0 - EXC - - - 2 - 43 - 0 - INH - - - 3 - 43 - 0 - EXC - - - 4 - 43 - 0 - EXC - - - 5 - 43 - 0 - EXC - - - 6 - 43 - 0 - EXC - - - 7 - 43 - 1 - EXC - - - 8 - 43 - 0 - EXC - - - 9 - 43 - 0 - EXC - - - 10 - 43 - 0 - EXC - - - 11 - 43 - 0 - EXC - - - 12 - 43 - 0 - INH - - - 13 - 43 - 0 - EXC - - - 14 - 43 - 0 - EXC - - - 15 - 43 - 0 - EXC - - - 16 - 43 - 0 - EXC - - - 17 - 43 - 1 - EXC - - - 18 - 43 - 0 - EXC - - - 19 - 43 - 0 - EXC - - - 20 - 43 - 0 - EXC - - - 21 - 43 - 0 - EXC - - - 22 - 43 - 0 - INH - - - 23 - 43 - 0 - EXC - - - 24 - 43 - 0 - EXC - - - 25 - 43 - 0 - EXC - - - 26 - 43 - 0 - EXC - - - 27 - 43 - 1 - EXC - - - 28 - 43 - 0 - EXC - - - 29 - 43 - 0 - EXC - - - 30 - 43 - 0 - EXC - - - 31 - 43 - 0 - EXC - - - 32 - 43 - 0 - INH - - - 33 - 43 - 0 - EXC - - - 34 - 43 - 0 - EXC - - - 35 - 43 - 0 - EXC - - - 36 - 43 - 0 - EXC - - - 37 - 43 - 1 - EXC - - - 38 - 43 - 0 - EXC - - - 39 - 43 - 0 - EXC - - - 40 - 43 - 0 - EXC - - - 41 - 43 - 0 - EXC - - - 42 - 43 - 0 - INH - - - 43 - 43 - 0 - EXC - - - 44 - 43 - 0 - EXC - - - 45 - 43 - 0 - EXC - - - 46 - 43 - 0 - EXC - - - 47 - 43 - 1 - EXC - - - 48 - 43 - 0 - EXC - - - 49 - 43 - 0 - EXC - - - 50 - 43 - 0 - EXC - - - 51 - 43 - 0 - EXC - - - 52 - 43 - 0 - INH - - - 53 - 43 - 0 - EXC - - - 54 - 43 - 0 - EXC - - - 55 - 43 - 0 - EXC - - - 56 - 43 - 0 - EXC - - - 57 - 43 - 1 - EXC - - - 58 - 43 - 0 - EXC - - - 59 - 43 - 0 - EXC - - - 60 - 43 - 0 - EXC - - - 61 - 43 - 0 - EXC - - - 62 - 43 - 0 - INH - - - 63 - 43 - 0 - EXC - - - 64 - 43 - 0 - EXC - - - 65 - 43 - 0 - EXC - - - 66 - 43 - 0 - EXC - - - 67 - 43 - 1 - EXC - - - 68 - 43 - 0 - EXC - - - 69 - 43 - 0 - EXC - - - 70 - 43 - 0 - EXC - - - 71 - 43 - 0 - EXC - - - 72 - 43 - 0 - INH - - - 73 - 43 - 0 - EXC - - - 74 - 43 - 0 - EXC - - - 75 - 43 - 0 - EXC - - - 76 - 43 - 0 - EXC - - - 77 - 43 - 1 - EXC - - - 78 - 43 - 0 - EXC - - - 79 - 43 - 0 - EXC - - - 80 - 43 - 0 - EXC - - - 81 - 43 - 0 - EXC - - - 82 - 43 - 0 - INH - - - 83 - 43 - 0 - EXC - - - 84 - 43 - 0 - EXC - - - 85 - 43 - 0 - EXC - - - 86 - 43 - 0 - EXC - - - 87 - 43 - 1 - EXC - - - 88 - 43 - 0 - EXC - - - 89 - 43 - 0 - EXC - - - 90 - 43 - 0 - EXC - - - 91 - 43 - 0 - EXC - - - 92 - 43 - 0 - INH - - - 93 - 43 - 0 - EXC - - - 94 - 43 - 0 - EXC - - - 95 - 43 - 0 - EXC - - - 96 - 43 - 0 - EXC - - - 97 - 43 - 1 - EXC - - - 98 - 43 - 0 - EXC - - - 99 - 43 - 0 - EXC - - - 0 - 44 - 0 - EXC - - - 1 - 44 - 1 - EXC - - - 2 - 44 - 0 - EXC - - - 3 - 44 - 0 - EXC - - - 4 - 44 - 1 - EXC - - - 5 - 44 - 0 - EXC - - - 6 - 44 - 0 - EXC - - - 7 - 44 - 0 - EXC - - - 8 - 44 - 0 - EXC - - - 9 - 44 - 0 - EXC - - - 10 - 44 - 0 - EXC - - - 11 - 44 - 1 - EXC - - - 12 - 44 - 0 - EXC - - - 13 - 44 - 0 - EXC - - - 14 - 44 - 1 - EXC - - - 15 - 44 - 0 - EXC - - - 16 - 44 - 0 - EXC - - - 17 - 44 - 0 - EXC - - - 18 - 44 - 0 - EXC - - - 19 - 44 - 0 - EXC - - - 20 - 44 - 0 - EXC - - - 21 - 44 - 1 - EXC - - - 22 - 44 - 0 - EXC - - - 23 - 44 - 0 - EXC - - - 24 - 44 - 1 - EXC - - - 25 - 44 - 0 - EXC - - - 26 - 44 - 0 - EXC - - - 27 - 44 - 0 - EXC - - - 28 - 44 - 0 - EXC - - - 29 - 44 - 0 - EXC - - - 30 - 44 - 0 - EXC - - - 31 - 44 - 1 - EXC - - - 32 - 44 - 0 - EXC - - - 33 - 44 - 0 - EXC - - - 34 - 44 - 1 - EXC - - - 35 - 44 - 0 - EXC - - - 36 - 44 - 0 - EXC - - - 37 - 44 - 0 - EXC - - - 38 - 44 - 0 - EXC - - - 39 - 44 - 0 - EXC - - - 40 - 44 - 0 - EXC - - - 41 - 44 - 1 - EXC - - - 42 - 44 - 0 - EXC - - - 43 - 44 - 0 - EXC - - - 44 - 44 - 1 - EXC - - - 45 - 44 - 0 - EXC - - - 46 - 44 - 0 - EXC - - - 47 - 44 - 0 - EXC - - - 48 - 44 - 0 - EXC - - - 49 - 44 - 0 - EXC - - - 50 - 44 - 0 - EXC - - - 51 - 44 - 1 - EXC - - - 52 - 44 - 0 - EXC - - - 53 - 44 - 0 - EXC - - - 54 - 44 - 1 - EXC - - - 55 - 44 - 0 - EXC - - - 56 - 44 - 0 - EXC - - - 57 - 44 - 0 - EXC - - - 58 - 44 - 0 - EXC - - - 59 - 44 - 0 - EXC - - - 60 - 44 - 0 - EXC - - - 61 - 44 - 1 - EXC - - - 62 - 44 - 0 - EXC - - - 63 - 44 - 0 - EXC - - - 64 - 44 - 1 - EXC - - - 65 - 44 - 0 - EXC - - - 66 - 44 - 0 - EXC - - - 67 - 44 - 0 - EXC - - - 68 - 44 - 0 - EXC - - - 69 - 44 - 0 - EXC - - - 70 - 44 - 0 - EXC - - - 71 - 44 - 1 - EXC - - - 72 - 44 - 0 - EXC - - - 73 - 44 - 0 - EXC - - - 74 - 44 - 1 - EXC - - - 75 - 44 - 0 - EXC - - - 76 - 44 - 0 - EXC - - - 77 - 44 - 0 - EXC - - - 78 - 44 - 0 - EXC - - - 79 - 44 - 0 - EXC - - - 80 - 44 - 0 - EXC - - - 81 - 44 - 1 - EXC - - - 82 - 44 - 0 - EXC - - - 83 - 44 - 0 - EXC - - - 84 - 44 - 1 - EXC - - - 85 - 44 - 0 - EXC - - - 86 - 44 - 0 - EXC - - - 87 - 44 - 0 - EXC - - - 88 - 44 - 0 - EXC - - - 89 - 44 - 0 - EXC - - - 90 - 44 - 0 - EXC - - - 91 - 44 - 1 - EXC - - - 92 - 44 - 0 - EXC - - - 93 - 44 - 0 - EXC - - - 94 - 44 - 1 - EXC - - - 95 - 44 - 0 - EXC - - - 96 - 44 - 0 - EXC - - - 97 - 44 - 0 - EXC - - - 98 - 44 - 0 - EXC - - - 99 - 44 - 0 - EXC - - - 0 - 45 - 0 - EXC - - - 1 - 45 - 0 - EXC - - - 2 - 45 - 0 - EXC - - - 3 - 45 - 0 - EXC - - - 4 - 45 - 0 - EXC - - - 5 - 45 - 0 - INH - - - 6 - 45 - 0 - EXC - - - 7 - 45 - 0 - EXC - - - 8 - 45 - 0 - INH - - - 9 - 45 - 0 - EXC - - - 10 - 45 - 0 - EXC - - - 11 - 45 - 0 - EXC - - - 12 - 45 - 0 - EXC - - - 13 - 45 - 0 - EXC - - - 14 - 45 - 0 - EXC - - - 15 - 45 - 0 - INH - - - 16 - 45 - 0 - EXC - - - 17 - 45 - 0 - EXC - - - 18 - 45 - 0 - INH - - - 19 - 45 - 0 - EXC - - - 20 - 45 - 0 - EXC - - - 21 - 45 - 0 - EXC - - - 22 - 45 - 0 - EXC - - - 23 - 45 - 0 - EXC - - - 24 - 45 - 0 - EXC - - - 25 - 45 - 0 - INH - - - 26 - 45 - 0 - EXC - - - 27 - 45 - 0 - EXC - - - 28 - 45 - 0 - INH - - - 29 - 45 - 0 - EXC - - - 30 - 45 - 0 - EXC - - - 31 - 45 - 0 - EXC - - - 32 - 45 - 0 - EXC - - - 33 - 45 - 0 - EXC - - - 34 - 45 - 0 - EXC - - - 35 - 45 - 0 - INH - - - 36 - 45 - 0 - EXC - - - 37 - 45 - 0 - EXC - - - 38 - 45 - 0 - INH - - - 39 - 45 - 0 - EXC - - - 40 - 45 - 0 - EXC - - - 41 - 45 - 0 - EXC - - - 42 - 45 - 0 - EXC - - - 43 - 45 - 0 - EXC - - - 44 - 45 - 0 - EXC - - - 45 - 45 - 0 - INH - - - 46 - 45 - 0 - EXC - - - 47 - 45 - 0 - EXC - - - 48 - 45 - 0 - INH - - - 49 - 45 - 0 - EXC - - - 50 - 45 - 0 - EXC - - - 51 - 45 - 0 - EXC - - - 52 - 45 - 0 - EXC - - - 53 - 45 - 0 - EXC - - - 54 - 45 - 0 - EXC - - - 55 - 45 - 0 - INH - - - 56 - 45 - 0 - EXC - - - 57 - 45 - 0 - EXC - - - 58 - 45 - 0 - INH - - - 59 - 45 - 0 - EXC - - - 60 - 45 - 0 - EXC - - - 61 - 45 - 0 - EXC - - - 62 - 45 - 0 - EXC - - - 63 - 45 - 0 - EXC - - - 64 - 45 - 0 - EXC - - - 65 - 45 - 0 - INH - - - 66 - 45 - 0 - EXC - - - 67 - 45 - 0 - EXC - - - 68 - 45 - 0 - INH - - - 69 - 45 - 0 - EXC - - - 70 - 45 - 0 - EXC - - - 71 - 45 - 0 - EXC - - - 72 - 45 - 0 - EXC - - - 73 - 45 - 0 - EXC - - - 74 - 45 - 0 - EXC - - - 75 - 45 - 0 - INH - - - 76 - 45 - 0 - EXC - - - 77 - 45 - 0 - EXC - - - 78 - 45 - 0 - INH - - - 79 - 45 - 0 - EXC - - - 80 - 45 - 0 - EXC - - - 81 - 45 - 0 - EXC - - - 82 - 45 - 0 - EXC - - - 83 - 45 - 0 - EXC - - - 84 - 45 - 0 - EXC - - - 85 - 45 - 0 - INH - - - 86 - 45 - 0 - EXC - - - 87 - 45 - 0 - EXC - - - 88 - 45 - 0 - INH - - - 89 - 45 - 0 - EXC - - - 90 - 45 - 0 - EXC - - - 91 - 45 - 0 - EXC - - - 92 - 45 - 0 - EXC - - - 93 - 45 - 0 - EXC - - - 94 - 45 - 0 - EXC - - - 95 - 45 - 0 - INH - - - 96 - 45 - 0 - EXC - - - 97 - 45 - 0 - EXC - - - 98 - 45 - 0 - INH - - - 99 - 45 - 0 - EXC - - - 0 - 46 - 0 - EXC - - - 1 - 46 - 0 - EXC - - - 2 - 46 - 0 - INH - - - 3 - 46 - 0 - EXC - - - 4 - 46 - 0 - EXC - - - 5 - 46 - 0 - EXC - - - 6 - 46 - 0 - EXC - - - 7 - 46 - 1 - EXC - - - 8 - 46 - 0 - EXC - - - 9 - 46 - 0 - EXC - - - 10 - 46 - 0 - EXC - - - 11 - 46 - 0 - EXC - - - 12 - 46 - 0 - INH - - - 13 - 46 - 0 - EXC - - - 14 - 46 - 0 - EXC - - - 15 - 46 - 0 - EXC - - - 16 - 46 - 0 - EXC - - - 17 - 46 - 1 - EXC - - - 18 - 46 - 0 - EXC - - - 19 - 46 - 0 - EXC - - - 20 - 46 - 0 - EXC - - - 21 - 46 - 0 - EXC - - - 22 - 46 - 0 - INH - - - 23 - 46 - 0 - EXC - - - 24 - 46 - 0 - EXC - - - 25 - 46 - 0 - EXC - - - 26 - 46 - 0 - EXC - - - 27 - 46 - 1 - EXC - - - 28 - 46 - 0 - EXC - - - 29 - 46 - 0 - EXC - - - 30 - 46 - 0 - EXC - - - 31 - 46 - 0 - EXC - - - 32 - 46 - 0 - INH - - - 33 - 46 - 0 - EXC - - - 34 - 46 - 0 - EXC - - - 35 - 46 - 0 - EXC - - - 36 - 46 - 0 - EXC - - - 37 - 46 - 1 - EXC - - - 38 - 46 - 0 - EXC - - - 39 - 46 - 0 - EXC - - - 40 - 46 - 0 - EXC - - - 41 - 46 - 0 - EXC - - - 42 - 46 - 0 - INH - - - 43 - 46 - 0 - EXC - - - 44 - 46 - 0 - EXC - - - 45 - 46 - 0 - EXC - - - 46 - 46 - 0 - EXC - - - 47 - 46 - 1 - EXC - - - 48 - 46 - 0 - EXC - - - 49 - 46 - 0 - EXC - - - 50 - 46 - 0 - EXC - - - 51 - 46 - 0 - EXC - - - 52 - 46 - 0 - INH - - - 53 - 46 - 0 - EXC - - - 54 - 46 - 0 - EXC - - - 55 - 46 - 0 - EXC - - - 56 - 46 - 0 - EXC - - - 57 - 46 - 1 - EXC - - - 58 - 46 - 0 - EXC - - - 59 - 46 - 0 - EXC - - - 60 - 46 - 0 - EXC - - - 61 - 46 - 0 - EXC - - - 62 - 46 - 0 - INH - - - 63 - 46 - 0 - EXC - - - 64 - 46 - 0 - EXC - - - 65 - 46 - 0 - EXC - - - 66 - 46 - 0 - EXC - - - 67 - 46 - 1 - EXC - - - 68 - 46 - 0 - EXC - - - 69 - 46 - 0 - EXC - - - 70 - 46 - 0 - EXC - - - 71 - 46 - 0 - EXC - - - 72 - 46 - 0 - INH - - - 73 - 46 - 0 - EXC - - - 74 - 46 - 0 - EXC - - - 75 - 46 - 0 - EXC - - - 76 - 46 - 0 - EXC - - - 77 - 46 - 1 - EXC - - - 78 - 46 - 0 - EXC - - - 79 - 46 - 0 - EXC - - - 80 - 46 - 0 - EXC - - - 81 - 46 - 0 - EXC - - - 82 - 46 - 0 - INH - - - 83 - 46 - 0 - EXC - - - 84 - 46 - 0 - EXC - - - 85 - 46 - 0 - EXC - - - 86 - 46 - 0 - EXC - - - 87 - 46 - 1 - EXC - - - 88 - 46 - 0 - EXC - - - 89 - 46 - 0 - EXC - - - 90 - 46 - 0 - EXC - - - 91 - 46 - 0 - EXC - - - 92 - 46 - 0 - INH - - - 93 - 46 - 0 - EXC - - - 94 - 46 - 0 - EXC - - - 95 - 46 - 0 - EXC - - - 96 - 46 - 0 - EXC - - - 97 - 46 - 1 - EXC - - - 98 - 46 - 0 - EXC - - - 99 - 46 - 0 - EXC - - - 0 - 47 - 0 - EXC - - - 1 - 47 - 1 - EXC - - - 2 - 47 - 0 - EXC - - - 3 - 47 - 0 - EXC - - - 4 - 47 - 1 - EXC - - - 5 - 47 - 0 - EXC - - - 6 - 47 - 0 - EXC - - - 7 - 47 - 0 - EXC - - - 8 - 47 - 0 - EXC - - - 9 - 47 - 0 - EXC - - - 10 - 47 - 0 - EXC - - - 11 - 47 - 1 - EXC - - - 12 - 47 - 0 - EXC - - - 13 - 47 - 0 - EXC - - - 14 - 47 - 1 - EXC - - - 15 - 47 - 0 - EXC - - - 16 - 47 - 0 - EXC - - - 17 - 47 - 0 - EXC - - - 18 - 47 - 0 - EXC - - - 19 - 47 - 0 - EXC - - - 20 - 47 - 0 - EXC - - - 21 - 47 - 1 - EXC - - - 22 - 47 - 0 - EXC - - - 23 - 47 - 0 - EXC - - - 24 - 47 - 1 - EXC - - - 25 - 47 - 0 - EXC - - - 26 - 47 - 0 - EXC - - - 27 - 47 - 0 - EXC - - - 28 - 47 - 0 - EXC - - - 29 - 47 - 0 - EXC - - - 30 - 47 - 0 - EXC - - - 31 - 47 - 1 - EXC - - - 32 - 47 - 0 - EXC - - - 33 - 47 - 0 - EXC - - - 34 - 47 - 1 - EXC - - - 35 - 47 - 0 - EXC - - - 36 - 47 - 0 - EXC - - - 37 - 47 - 0 - EXC - - - 38 - 47 - 0 - EXC - - - 39 - 47 - 0 - EXC - - - 40 - 47 - 0 - EXC - - - 41 - 47 - 1 - EXC - - - 42 - 47 - 0 - EXC - - - 43 - 47 - 0 - EXC - - - 44 - 47 - 1 - EXC - - - 45 - 47 - 0 - EXC - - - 46 - 47 - 0 - EXC - - - 47 - 47 - 0 - EXC - - - 48 - 47 - 0 - EXC - - - 49 - 47 - 0 - EXC - - - 50 - 47 - 0 - EXC - - - 51 - 47 - 1 - EXC - - - 52 - 47 - 0 - EXC - - - 53 - 47 - 0 - EXC - - - 54 - 47 - 1 - EXC - - - 55 - 47 - 0 - EXC - - - 56 - 47 - 0 - EXC - - - 57 - 47 - 0 - EXC - - - 58 - 47 - 0 - EXC - - - 59 - 47 - 0 - EXC - - - 60 - 47 - 0 - EXC - - - 61 - 47 - 1 - EXC - - - 62 - 47 - 0 - EXC - - - 63 - 47 - 0 - EXC - - - 64 - 47 - 1 - EXC - - - 65 - 47 - 0 - EXC - - - 66 - 47 - 0 - EXC - - - 67 - 47 - 0 - EXC - - - 68 - 47 - 0 - EXC - - - 69 - 47 - 0 - EXC - - - 70 - 47 - 0 - EXC - - - 71 - 47 - 1 - EXC - - - 72 - 47 - 0 - EXC - - - 73 - 47 - 0 - EXC - - - 74 - 47 - 1 - EXC - - - 75 - 47 - 0 - EXC - - - 76 - 47 - 0 - EXC - - - 77 - 47 - 0 - EXC - - - 78 - 47 - 0 - EXC - - - 79 - 47 - 0 - EXC - - - 80 - 47 - 0 - EXC - - - 81 - 47 - 1 - EXC - - - 82 - 47 - 0 - EXC - - - 83 - 47 - 0 - EXC - - - 84 - 47 - 1 - EXC - - - 85 - 47 - 0 - EXC - - - 86 - 47 - 0 - EXC - - - 87 - 47 - 0 - EXC - - - 88 - 47 - 0 - EXC - - - 89 - 47 - 0 - EXC - - - 90 - 47 - 0 - EXC - - - 91 - 47 - 1 - EXC - - - 92 - 47 - 0 - EXC - - - 93 - 47 - 0 - EXC - - - 94 - 47 - 1 - EXC - - - 95 - 47 - 0 - EXC - - - 96 - 47 - 0 - EXC - - - 97 - 47 - 0 - EXC - - - 98 - 47 - 0 - EXC - - - 99 - 47 - 0 - EXC - - - 0 - 48 - 0 - EXC - - - 1 - 48 - 0 - EXC - - - 2 - 48 - 0 - EXC - - - 3 - 48 - 0 - EXC - - - 4 - 48 - 0 - EXC - - - 5 - 48 - 0 - INH - - - 6 - 48 - 0 - EXC - - - 7 - 48 - 0 - EXC - - - 8 - 48 - 0 - INH - - - 9 - 48 - 0 - EXC - - - 10 - 48 - 0 - EXC - - - 11 - 48 - 0 - EXC - - - 12 - 48 - 0 - EXC - - - 13 - 48 - 0 - EXC - - - 14 - 48 - 0 - EXC - - - 15 - 48 - 0 - INH - - - 16 - 48 - 0 - EXC - - - 17 - 48 - 0 - EXC - - - 18 - 48 - 0 - INH - - - 19 - 48 - 0 - EXC - - - 20 - 48 - 0 - EXC - - - 21 - 48 - 0 - EXC - - - 22 - 48 - 0 - EXC - - - 23 - 48 - 0 - EXC - - - 24 - 48 - 0 - EXC - - - 25 - 48 - 0 - INH - - - 26 - 48 - 0 - EXC - - - 27 - 48 - 0 - EXC - - - 28 - 48 - 0 - INH - - - 29 - 48 - 0 - EXC - - - 30 - 48 - 0 - EXC - - - 31 - 48 - 0 - EXC - - - 32 - 48 - 0 - EXC - - - 33 - 48 - 0 - EXC - - - 34 - 48 - 0 - EXC - - - 35 - 48 - 0 - INH - - - 36 - 48 - 0 - EXC - - - 37 - 48 - 0 - EXC - - - 38 - 48 - 0 - INH - - - 39 - 48 - 0 - EXC - - - 40 - 48 - 0 - EXC - - - 41 - 48 - 0 - EXC - - - 42 - 48 - 0 - EXC - - - 43 - 48 - 0 - EXC - - - 44 - 48 - 0 - EXC - - - 45 - 48 - 0 - INH - - - 46 - 48 - 0 - EXC - - - 47 - 48 - 0 - EXC - - - 48 - 48 - 0 - INH - - - 49 - 48 - 0 - EXC - - - 50 - 48 - 0 - EXC - - - 51 - 48 - 0 - EXC - - - 52 - 48 - 0 - EXC - - - 53 - 48 - 0 - EXC - - - 54 - 48 - 0 - EXC - - - 55 - 48 - 0 - INH - - - 56 - 48 - 0 - EXC - - - 57 - 48 - 0 - EXC - - - 58 - 48 - 0 - INH - - - 59 - 48 - 0 - EXC - - - 60 - 48 - 0 - EXC - - - 61 - 48 - 0 - EXC - - - 62 - 48 - 0 - EXC - - - 63 - 48 - 0 - EXC - - - 64 - 48 - 0 - EXC - - - 65 - 48 - 0 - INH - - - 66 - 48 - 0 - EXC - - - 67 - 48 - 0 - EXC - - - 68 - 48 - 0 - INH - - - 69 - 48 - 0 - EXC - - - 70 - 48 - 0 - EXC - - - 71 - 48 - 0 - EXC - - - 72 - 48 - 0 - EXC - - - 73 - 48 - 0 - EXC - - - 74 - 48 - 0 - EXC - - - 75 - 48 - 0 - INH - - - 76 - 48 - 0 - EXC - - - 77 - 48 - 0 - EXC - - - 78 - 48 - 0 - INH - - - 79 - 48 - 0 - EXC - - - 80 - 48 - 0 - EXC - - - 81 - 48 - 0 - EXC - - - 82 - 48 - 0 - EXC - - - 83 - 48 - 0 - EXC - - - 84 - 48 - 0 - EXC - - - 85 - 48 - 0 - INH - - - 86 - 48 - 0 - EXC - - - 87 - 48 - 0 - EXC - - - 88 - 48 - 0 - INH - - - 89 - 48 - 0 - EXC - - - 90 - 48 - 0 - EXC - - - 91 - 48 - 0 - EXC - - - 92 - 48 - 0 - EXC - - - 93 - 48 - 0 - EXC - - - 94 - 48 - 0 - EXC - - - 95 - 48 - 0 - INH - - - 96 - 48 - 0 - EXC - - - 97 - 48 - 0 - EXC - - - 98 - 48 - 0 - INH - - - 99 - 48 - 0 - EXC - - - 0 - 49 - 0 - EXC - - - 1 - 49 - 0 - EXC - - - 2 - 49 - 0 - INH - - - 3 - 49 - 0 - EXC - - - 4 - 49 - 0 - EXC - - - 5 - 49 - 0 - EXC - - - 6 - 49 - 0 - EXC - - - 7 - 49 - 1 - EXC - - - 8 - 49 - 0 - EXC - - - 9 - 49 - 0 - EXC - - - 10 - 49 - 0 - EXC - - - 11 - 49 - 0 - EXC - - - 12 - 49 - 0 - INH - - - 13 - 49 - 0 - EXC - - - 14 - 49 - 0 - EXC - - - 15 - 49 - 0 - EXC - - - 16 - 49 - 0 - EXC - - - 17 - 49 - 1 - EXC - - - 18 - 49 - 0 - EXC - - - 19 - 49 - 0 - EXC - - - 20 - 49 - 0 - EXC - - - 21 - 49 - 0 - EXC - - - 22 - 49 - 0 - INH - - - 23 - 49 - 0 - EXC - - - 24 - 49 - 0 - EXC - - - 25 - 49 - 0 - EXC - - - 26 - 49 - 0 - EXC - - - 27 - 49 - 1 - EXC - - - 28 - 49 - 0 - EXC - - - 29 - 49 - 0 - EXC - - - 30 - 49 - 0 - EXC - - - 31 - 49 - 0 - EXC - - - 32 - 49 - 0 - INH - - - 33 - 49 - 0 - EXC - - - 34 - 49 - 0 - EXC - - - 35 - 49 - 0 - EXC - - - 36 - 49 - 0 - EXC - - - 37 - 49 - 1 - EXC - - - 38 - 49 - 0 - EXC - - - 39 - 49 - 0 - EXC - - - 40 - 49 - 0 - EXC - - - 41 - 49 - 0 - EXC - - - 42 - 49 - 0 - INH - - - 43 - 49 - 0 - EXC - - - 44 - 49 - 0 - EXC - - - 45 - 49 - 0 - EXC - - - 46 - 49 - 0 - EXC - - - 47 - 49 - 1 - EXC - - - 48 - 49 - 0 - EXC - - - 49 - 49 - 0 - EXC - - - 50 - 49 - 0 - EXC - - - 51 - 49 - 0 - EXC - - - 52 - 49 - 0 - INH - - - 53 - 49 - 0 - EXC - - - 54 - 49 - 0 - EXC - - - 55 - 49 - 0 - EXC - - - 56 - 49 - 0 - EXC - - - 57 - 49 - 1 - EXC - - - 58 - 49 - 0 - EXC - - - 59 - 49 - 0 - EXC - - - 60 - 49 - 0 - EXC - - - 61 - 49 - 0 - EXC - - - 62 - 49 - 0 - INH - - - 63 - 49 - 0 - EXC - - - 64 - 49 - 0 - EXC - - - 65 - 49 - 0 - EXC - - - 66 - 49 - 0 - EXC - - - 67 - 49 - 1 - EXC - - - 68 - 49 - 0 - EXC - - - 69 - 49 - 0 - EXC - - - 70 - 49 - 0 - EXC - - - 71 - 49 - 0 - EXC - - - 72 - 49 - 0 - INH - - - 73 - 49 - 0 - EXC - - - 74 - 49 - 0 - EXC - - - 75 - 49 - 0 - EXC - - - 76 - 49 - 0 - EXC - - - 77 - 49 - 1 - EXC - - - 78 - 49 - 0 - EXC - - - 79 - 49 - 0 - EXC - - - 80 - 49 - 0 - EXC - - - 81 - 49 - 0 - EXC - - - 82 - 49 - 0 - INH - - - 83 - 49 - 0 - EXC - - - 84 - 49 - 0 - EXC - - - 85 - 49 - 0 - EXC - - - 86 - 49 - 0 - EXC - - - 87 - 49 - 1 - EXC - - - 88 - 49 - 0 - EXC - - - 89 - 49 - 0 - EXC - - - 90 - 49 - 0 - EXC - - - 91 - 49 - 0 - EXC - - - 92 - 49 - 0 - INH - - - 93 - 49 - 0 - EXC - - - 94 - 49 - 0 - EXC - - - 95 - 49 - 0 - EXC - - - 96 - 49 - 0 - EXC - - - 97 - 49 - 1 - EXC - - - 98 - 49 - 0 - EXC - - - 99 - 49 - 0 - EXC - - - 0 - 50 - 0 - EXC - - - 1 - 50 - 0 - EXC - - - 2 - 50 - 0 - EXC - - - 3 - 50 - 0 - EXC - - - 4 - 50 - 0 - EXC - - - 5 - 50 - 0 - EXC - - - 6 - 50 - 0 - EXC - - - 7 - 50 - 1 - EXC - - - 8 - 50 - 0 - INH - - - 9 - 50 - 0 - EXC - - - 10 - 50 - 0 - EXC - - - 11 - 50 - 0 - EXC - - - 12 - 50 - 0 - EXC - - - 13 - 50 - 0 - EXC - - - 14 - 50 - 0 - EXC - - - 15 - 50 - 0 - EXC - - - 16 - 50 - 0 - EXC - - - 17 - 50 - 1 - EXC - - - 18 - 50 - 0 - INH - - - 19 - 50 - 0 - EXC - - - 20 - 50 - 0 - EXC - - - 21 - 50 - 0 - EXC - - - 22 - 50 - 0 - EXC - - - 23 - 50 - 0 - EXC - - - 24 - 50 - 0 - EXC - - - 25 - 50 - 0 - EXC - - - 26 - 50 - 0 - EXC - - - 27 - 50 - 1 - EXC - - - 28 - 50 - 0 - INH - - - 29 - 50 - 0 - EXC - - - 30 - 50 - 0 - EXC - - - 31 - 50 - 0 - EXC - - - 32 - 50 - 0 - EXC - - - 33 - 50 - 0 - EXC - - - 34 - 50 - 0 - EXC - - - 35 - 50 - 0 - EXC - - - 36 - 50 - 0 - EXC - - - 37 - 50 - 1 - EXC - - - 38 - 50 - 0 - INH - - - 39 - 50 - 0 - EXC - - - 40 - 50 - 0 - EXC - - - 41 - 50 - 0 - EXC - - - 42 - 50 - 0 - EXC - - - 43 - 50 - 0 - EXC - - - 44 - 50 - 0 - EXC - - - 45 - 50 - 0 - EXC - - - 46 - 50 - 0 - EXC - - - 47 - 50 - 1 - EXC - - - 48 - 50 - 0 - INH - - - 49 - 50 - 0 - EXC - - - 50 - 50 - 0 - EXC - - - 51 - 50 - 0 - EXC - - - 52 - 50 - 0 - EXC - - - 53 - 50 - 0 - EXC - - - 54 - 50 - 0 - EXC - - - 55 - 50 - 0 - EXC - - - 56 - 50 - 0 - EXC - - - 57 - 50 - 1 - EXC - - - 58 - 50 - 0 - INH - - - 59 - 50 - 0 - EXC - - - 60 - 50 - 0 - EXC - - - 61 - 50 - 0 - EXC - - - 62 - 50 - 0 - EXC - - - 63 - 50 - 0 - EXC - - - 64 - 50 - 0 - EXC - - - 65 - 50 - 0 - EXC - - - 66 - 50 - 0 - EXC - - - 67 - 50 - 1 - EXC - - - 68 - 50 - 0 - INH - - - 69 - 50 - 0 - EXC - - - 70 - 50 - 0 - EXC - - - 71 - 50 - 0 - EXC - - - 72 - 50 - 0 - EXC - - - 73 - 50 - 0 - EXC - - - 74 - 50 - 0 - EXC - - - 75 - 50 - 0 - EXC - - - 76 - 50 - 0 - EXC - - - 77 - 50 - 1 - EXC - - - 78 - 50 - 0 - INH - - - 79 - 50 - 0 - EXC - - - 80 - 50 - 0 - EXC - - - 81 - 50 - 0 - EXC - - - 82 - 50 - 0 - EXC - - - 83 - 50 - 0 - EXC - - - 84 - 50 - 0 - EXC - - - 85 - 50 - 0 - EXC - - - 86 - 50 - 0 - EXC - - - 87 - 50 - 1 - EXC - - - 88 - 50 - 0 - INH - - - 89 - 50 - 0 - EXC - - - 90 - 50 - 0 - EXC - - - 91 - 50 - 0 - EXC - - - 92 - 50 - 0 - EXC - - - 93 - 50 - 0 - EXC - - - 94 - 50 - 0 - EXC - - - 95 - 50 - 0 - EXC - - - 96 - 50 - 0 - EXC - - - 97 - 50 - 1 - EXC - - - 98 - 50 - 0 - INH - - - 99 - 50 - 0 - EXC - - - 0 - 51 - 0 - EXC - - - 1 - 51 - 1 - EXC - - - 2 - 51 - 0 - EXC - - - 3 - 51 - 0 - EXC - - - 4 - 51 - 1 - EXC - - - 5 - 51 - 0 - EXC - - - 6 - 51 - 0 - EXC - - - 7 - 51 - 0 - EXC - - - 8 - 51 - 0 - EXC - - - 9 - 51 - 0 - EXC - - - 10 - 51 - 0 - EXC - - - 11 - 51 - 1 - EXC - - - 12 - 51 - 0 - EXC - - - 13 - 51 - 0 - EXC - - - 14 - 51 - 1 - EXC - - - 15 - 51 - 0 - EXC - - - 16 - 51 - 0 - EXC - - - 17 - 51 - 0 - EXC - - - 18 - 51 - 0 - EXC - - - 19 - 51 - 0 - EXC - - - 20 - 51 - 0 - EXC - - - 21 - 51 - 1 - EXC - - - 22 - 51 - 0 - EXC - - - 23 - 51 - 0 - EXC - - - 24 - 51 - 1 - EXC - - - 25 - 51 - 0 - EXC - - - 26 - 51 - 0 - EXC - - - 27 - 51 - 0 - EXC - - - 28 - 51 - 0 - EXC - - - 29 - 51 - 0 - EXC - - - 30 - 51 - 0 - EXC - - - 31 - 51 - 1 - EXC - - - 32 - 51 - 0 - EXC - - - 33 - 51 - 0 - EXC - - - 34 - 51 - 1 - EXC - - - 35 - 51 - 0 - EXC - - - 36 - 51 - 0 - EXC - - - 37 - 51 - 0 - EXC - - - 38 - 51 - 0 - EXC - - - 39 - 51 - 0 - EXC - - - 40 - 51 - 0 - EXC - - - 41 - 51 - 1 - EXC - - - 42 - 51 - 0 - EXC - - - 43 - 51 - 0 - EXC - - - 44 - 51 - 1 - EXC - - - 45 - 51 - 0 - EXC - - - 46 - 51 - 0 - EXC - - - 47 - 51 - 0 - EXC - - - 48 - 51 - 0 - EXC - - - 49 - 51 - 0 - EXC - - - 50 - 51 - 0 - EXC - - - 51 - 51 - 1 - EXC - - - 52 - 51 - 0 - EXC - - - 53 - 51 - 0 - EXC - - - 54 - 51 - 1 - EXC - - - 55 - 51 - 0 - EXC - - - 56 - 51 - 0 - EXC - - - 57 - 51 - 0 - EXC - - - 58 - 51 - 0 - EXC - - - 59 - 51 - 0 - EXC - - - 60 - 51 - 0 - EXC - - - 61 - 51 - 1 - EXC - - - 62 - 51 - 0 - EXC - - - 63 - 51 - 0 - EXC - - - 64 - 51 - 1 - EXC - - - 65 - 51 - 0 - EXC - - - 66 - 51 - 0 - EXC - - - 67 - 51 - 0 - EXC - - - 68 - 51 - 0 - EXC - - - 69 - 51 - 0 - EXC - - - 70 - 51 - 0 - EXC - - - 71 - 51 - 1 - EXC - - - 72 - 51 - 0 - EXC - - - 73 - 51 - 0 - EXC - - - 74 - 51 - 1 - EXC - - - 75 - 51 - 0 - EXC - - - 76 - 51 - 0 - EXC - - - 77 - 51 - 0 - EXC - - - 78 - 51 - 0 - EXC - - - 79 - 51 - 0 - EXC - - - 80 - 51 - 0 - EXC - - - 81 - 51 - 1 - EXC - - - 82 - 51 - 0 - EXC - - - 83 - 51 - 0 - EXC - - - 84 - 51 - 1 - EXC - - - 85 - 51 - 0 - EXC - - - 86 - 51 - 0 - EXC - - - 87 - 51 - 0 - EXC - - - 88 - 51 - 0 - EXC - - - 89 - 51 - 0 - EXC - - - 90 - 51 - 0 - EXC - - - 91 - 51 - 1 - EXC - - - 92 - 51 - 0 - EXC - - - 93 - 51 - 0 - EXC - - - 94 - 51 - 1 - EXC - - - 95 - 51 - 0 - EXC - - - 96 - 51 - 0 - EXC - - - 97 - 51 - 0 - EXC - - - 98 - 51 - 0 - EXC - - - 99 - 51 - 0 - EXC - - - 0 - 52 - 0 - EXC - - - 1 - 52 - 0 - EXC - - - 2 - 52 - 0 - INH - - - 3 - 52 - 0 - EXC - - - 4 - 52 - 0 - EXC - - - 5 - 52 - 0 - INH - - - 6 - 52 - 0 - EXC - - - 7 - 52 - 0 - EXC - - - 8 - 52 - 0 - EXC - - - 9 - 52 - 0 - EXC - - - 10 - 52 - 0 - EXC - - - 11 - 52 - 0 - EXC - - - 12 - 52 - 0 - INH - - - 13 - 52 - 0 - EXC - - - 14 - 52 - 0 - EXC - - - 15 - 52 - 0 - INH - - - 16 - 52 - 0 - EXC - - - 17 - 52 - 0 - EXC - - - 18 - 52 - 0 - EXC - - - 19 - 52 - 0 - EXC - - - 20 - 52 - 0 - EXC - - - 21 - 52 - 0 - EXC - - - 22 - 52 - 0 - INH - - - 23 - 52 - 0 - EXC - - - 24 - 52 - 0 - EXC - - - 25 - 52 - 0 - INH - - - 26 - 52 - 0 - EXC - - - 27 - 52 - 0 - EXC - - - 28 - 52 - 0 - EXC - - - 29 - 52 - 0 - EXC - - - 30 - 52 - 0 - EXC - - - 31 - 52 - 0 - EXC - - - 32 - 52 - 0 - INH - - - 33 - 52 - 0 - EXC - - - 34 - 52 - 0 - EXC - - - 35 - 52 - 0 - INH - - - 36 - 52 - 0 - EXC - - - 37 - 52 - 0 - EXC - - - 38 - 52 - 0 - EXC - - - 39 - 52 - 0 - EXC - - - 40 - 52 - 0 - EXC - - - 41 - 52 - 0 - EXC - - - 42 - 52 - 0 - INH - - - 43 - 52 - 0 - EXC - - - 44 - 52 - 0 - EXC - - - 45 - 52 - 0 - INH - - - 46 - 52 - 0 - EXC - - - 47 - 52 - 0 - EXC - - - 48 - 52 - 0 - EXC - - - 49 - 52 - 0 - EXC - - - 50 - 52 - 0 - EXC - - - 51 - 52 - 0 - EXC - - - 52 - 52 - 0 - INH - - - 53 - 52 - 0 - EXC - - - 54 - 52 - 0 - EXC - - - 55 - 52 - 0 - INH - - - 56 - 52 - 0 - EXC - - - 57 - 52 - 0 - EXC - - - 58 - 52 - 0 - EXC - - - 59 - 52 - 0 - EXC - - - 60 - 52 - 0 - EXC - - - 61 - 52 - 0 - EXC - - - 62 - 52 - 0 - INH - - - 63 - 52 - 0 - EXC - - - 64 - 52 - 0 - EXC - - - 65 - 52 - 0 - INH - - - 66 - 52 - 0 - EXC - - - 67 - 52 - 0 - EXC - - - 68 - 52 - 0 - EXC - - - 69 - 52 - 0 - EXC - - - 70 - 52 - 0 - EXC - - - 71 - 52 - 0 - EXC - - - 72 - 52 - 0 - INH - - - 73 - 52 - 0 - EXC - - - 74 - 52 - 0 - EXC - - - 75 - 52 - 0 - INH - - - 76 - 52 - 0 - EXC - - - 77 - 52 - 0 - EXC - - - 78 - 52 - 0 - EXC - - - 79 - 52 - 0 - EXC - - - 80 - 52 - 0 - EXC - - - 81 - 52 - 0 - EXC - - - 82 - 52 - 0 - INH - - - 83 - 52 - 0 - EXC - - - 84 - 52 - 0 - EXC - - - 85 - 52 - 0 - INH - - - 86 - 52 - 0 - EXC - - - 87 - 52 - 0 - EXC - - - 88 - 52 - 0 - EXC - - - 89 - 52 - 0 - EXC - - - 90 - 52 - 0 - EXC - - - 91 - 52 - 0 - EXC - - - 92 - 52 - 0 - INH - - - 93 - 52 - 0 - EXC - - - 94 - 52 - 0 - EXC - - - 95 - 52 - 0 - INH - - - 96 - 52 - 0 - EXC - - - 97 - 52 - 0 - EXC - - - 98 - 52 - 0 - EXC - - - 99 - 52 - 0 - EXC - - - 0 - 53 - 0 - EXC - - - 1 - 53 - 0 - EXC - - - 2 - 53 - 0 - EXC - - - 3 - 53 - 0 - EXC - - - 4 - 53 - 0 - EXC - - - 5 - 53 - 0 - EXC - - - 6 - 53 - 0 - EXC - - - 7 - 53 - 1 - EXC - - - 8 - 53 - 0 - INH - - - 9 - 53 - 0 - EXC - - - 10 - 53 - 0 - EXC - - - 11 - 53 - 0 - EXC - - - 12 - 53 - 0 - EXC - - - 13 - 53 - 0 - EXC - - - 14 - 53 - 0 - EXC - - - 15 - 53 - 0 - EXC - - - 16 - 53 - 0 - EXC - - - 17 - 53 - 1 - EXC - - - 18 - 53 - 0 - INH - - - 19 - 53 - 0 - EXC - - - 20 - 53 - 0 - EXC - - - 21 - 53 - 0 - EXC - - - 22 - 53 - 0 - EXC - - - 23 - 53 - 0 - EXC - - - 24 - 53 - 0 - EXC - - - 25 - 53 - 0 - EXC - - - 26 - 53 - 0 - EXC - - - 27 - 53 - 1 - EXC - - - 28 - 53 - 0 - INH - - - 29 - 53 - 0 - EXC - - - 30 - 53 - 0 - EXC - - - 31 - 53 - 0 - EXC - - - 32 - 53 - 0 - EXC - - - 33 - 53 - 0 - EXC - - - 34 - 53 - 0 - EXC - - - 35 - 53 - 0 - EXC - - - 36 - 53 - 0 - EXC - - - 37 - 53 - 1 - EXC - - - 38 - 53 - 0 - INH - - - 39 - 53 - 0 - EXC - - - 40 - 53 - 0 - EXC - - - 41 - 53 - 0 - EXC - - - 42 - 53 - 0 - EXC - - - 43 - 53 - 0 - EXC - - - 44 - 53 - 0 - EXC - - - 45 - 53 - 0 - EXC - - - 46 - 53 - 0 - EXC - - - 47 - 53 - 1 - EXC - - - 48 - 53 - 0 - INH - - - 49 - 53 - 0 - EXC - - - 50 - 53 - 0 - EXC - - - 51 - 53 - 0 - EXC - - - 52 - 53 - 0 - EXC - - - 53 - 53 - 0 - EXC - - - 54 - 53 - 0 - EXC - - - 55 - 53 - 0 - EXC - - - 56 - 53 - 0 - EXC - - - 57 - 53 - 1 - EXC - - - 58 - 53 - 0 - INH - - - 59 - 53 - 0 - EXC - - - 60 - 53 - 0 - EXC - - - 61 - 53 - 0 - EXC - - - 62 - 53 - 0 - EXC - - - 63 - 53 - 0 - EXC - - - 64 - 53 - 0 - EXC - - - 65 - 53 - 0 - EXC - - - 66 - 53 - 0 - EXC - - - 67 - 53 - 1 - EXC - - - 68 - 53 - 0 - INH - - - 69 - 53 - 0 - EXC - - - 70 - 53 - 0 - EXC - - - 71 - 53 - 0 - EXC - - - 72 - 53 - 0 - EXC - - - 73 - 53 - 0 - EXC - - - 74 - 53 - 0 - EXC - - - 75 - 53 - 0 - EXC - - - 76 - 53 - 0 - EXC - - - 77 - 53 - 1 - EXC - - - 78 - 53 - 0 - INH - - - 79 - 53 - 0 - EXC - - - 80 - 53 - 0 - EXC - - - 81 - 53 - 0 - EXC - - - 82 - 53 - 0 - EXC - - - 83 - 53 - 0 - EXC - - - 84 - 53 - 0 - EXC - - - 85 - 53 - 0 - EXC - - - 86 - 53 - 0 - EXC - - - 87 - 53 - 1 - EXC - - - 88 - 53 - 0 - INH - - - 89 - 53 - 0 - EXC - - - 90 - 53 - 0 - EXC - - - 91 - 53 - 0 - EXC - - - 92 - 53 - 0 - EXC - - - 93 - 53 - 0 - EXC - - - 94 - 53 - 0 - EXC - - - 95 - 53 - 0 - EXC - - - 96 - 53 - 0 - EXC - - - 97 - 53 - 1 - EXC - - - 98 - 53 - 0 - INH - - - 99 - 53 - 0 - EXC - - - 0 - 54 - 0 - EXC - - - 1 - 54 - 1 - EXC - - - 2 - 54 - 0 - EXC - - - 3 - 54 - 0 - EXC - - - 4 - 54 - 1 - EXC - - - 5 - 54 - 0 - EXC - - - 6 - 54 - 0 - EXC - - - 7 - 54 - 0 - EXC - - - 8 - 54 - 0 - EXC - - - 9 - 54 - 0 - EXC - - - 10 - 54 - 0 - EXC - - - 11 - 54 - 1 - EXC - - - 12 - 54 - 0 - EXC - - - 13 - 54 - 0 - EXC - - - 14 - 54 - 1 - EXC - - - 15 - 54 - 0 - EXC - - - 16 - 54 - 0 - EXC - - - 17 - 54 - 0 - EXC - - - 18 - 54 - 0 - EXC - - - 19 - 54 - 0 - EXC - - - 20 - 54 - 0 - EXC - - - 21 - 54 - 1 - EXC - - - 22 - 54 - 0 - EXC - - - 23 - 54 - 0 - EXC - - - 24 - 54 - 1 - EXC - - - 25 - 54 - 0 - EXC - - - 26 - 54 - 0 - EXC - - - 27 - 54 - 0 - EXC - - - 28 - 54 - 0 - EXC - - - 29 - 54 - 0 - EXC - - - 30 - 54 - 0 - EXC - - - 31 - 54 - 1 - EXC - - - 32 - 54 - 0 - EXC - - - 33 - 54 - 0 - EXC - - - 34 - 54 - 1 - EXC - - - 35 - 54 - 0 - EXC - - - 36 - 54 - 0 - EXC - - - 37 - 54 - 0 - EXC - - - 38 - 54 - 0 - EXC - - - 39 - 54 - 0 - EXC - - - 40 - 54 - 0 - EXC - - - 41 - 54 - 1 - EXC - - - 42 - 54 - 0 - EXC - - - 43 - 54 - 0 - EXC - - - 44 - 54 - 1 - EXC - - - 45 - 54 - 0 - EXC - - - 46 - 54 - 0 - EXC - - - 47 - 54 - 0 - EXC - - - 48 - 54 - 0 - EXC - - - 49 - 54 - 0 - EXC - - - 50 - 54 - 0 - EXC - - - 51 - 54 - 1 - EXC - - - 52 - 54 - 0 - EXC - - - 53 - 54 - 0 - EXC - - - 54 - 54 - 1 - EXC - - - 55 - 54 - 0 - EXC - - - 56 - 54 - 0 - EXC - - - 57 - 54 - 0 - EXC - - - 58 - 54 - 0 - EXC - - - 59 - 54 - 0 - EXC - - - 60 - 54 - 0 - EXC - - - 61 - 54 - 1 - EXC - - - 62 - 54 - 0 - EXC - - - 63 - 54 - 0 - EXC - - - 64 - 54 - 1 - EXC - - - 65 - 54 - 0 - EXC - - - 66 - 54 - 0 - EXC - - - 67 - 54 - 0 - EXC - - - 68 - 54 - 0 - EXC - - - 69 - 54 - 0 - EXC - - - 70 - 54 - 0 - EXC - - - 71 - 54 - 1 - EXC - - - 72 - 54 - 0 - EXC - - - 73 - 54 - 0 - EXC - - - 74 - 54 - 1 - EXC - - - 75 - 54 - 0 - EXC - - - 76 - 54 - 0 - EXC - - - 77 - 54 - 0 - EXC - - - 78 - 54 - 0 - EXC - - - 79 - 54 - 0 - EXC - - - 80 - 54 - 0 - EXC - - - 81 - 54 - 1 - EXC - - - 82 - 54 - 0 - EXC - - - 83 - 54 - 0 - EXC - - - 84 - 54 - 1 - EXC - - - 85 - 54 - 0 - EXC - - - 86 - 54 - 0 - EXC - - - 87 - 54 - 0 - EXC - - - 88 - 54 - 0 - EXC - - - 89 - 54 - 0 - EXC - - - 90 - 54 - 0 - EXC - - - 91 - 54 - 1 - EXC - - - 92 - 54 - 0 - EXC - - - 93 - 54 - 0 - EXC - - - 94 - 54 - 1 - EXC - - - 95 - 54 - 0 - EXC - - - 96 - 54 - 0 - EXC - - - 97 - 54 - 0 - EXC - - - 98 - 54 - 0 - EXC - - - 99 - 54 - 0 - EXC - - - 0 - 55 - 0 - EXC - - - 1 - 55 - 0 - EXC - - - 2 - 55 - 0 - INH - - - 3 - 55 - 0 - EXC - - - 4 - 55 - 0 - EXC - - - 5 - 55 - 0 - INH - - - 6 - 55 - 0 - EXC - - - 7 - 55 - 0 - EXC - - - 8 - 55 - 0 - EXC - - - 9 - 55 - 0 - EXC - - - 10 - 55 - 0 - EXC - - - 11 - 55 - 0 - EXC - - - 12 - 55 - 0 - INH - - - 13 - 55 - 0 - EXC - - - 14 - 55 - 0 - EXC - - - 15 - 55 - 0 - INH - - - 16 - 55 - 0 - EXC - - - 17 - 55 - 0 - EXC - - - 18 - 55 - 0 - EXC - - - 19 - 55 - 0 - EXC - - - 20 - 55 - 0 - EXC - - - 21 - 55 - 0 - EXC - - - 22 - 55 - 0 - INH - - - 23 - 55 - 0 - EXC - - - 24 - 55 - 0 - EXC - - - 25 - 55 - 0 - INH - - - 26 - 55 - 0 - EXC - - - 27 - 55 - 0 - EXC - - - 28 - 55 - 0 - EXC - - - 29 - 55 - 0 - EXC - - - 30 - 55 - 0 - EXC - - - 31 - 55 - 0 - EXC - - - 32 - 55 - 0 - INH - - - 33 - 55 - 0 - EXC - - - 34 - 55 - 0 - EXC - - - 35 - 55 - 0 - INH - - - 36 - 55 - 0 - EXC - - - 37 - 55 - 0 - EXC - - - 38 - 55 - 0 - EXC - - - 39 - 55 - 0 - EXC - - - 40 - 55 - 0 - EXC - - - 41 - 55 - 0 - EXC - - - 42 - 55 - 0 - INH - - - 43 - 55 - 0 - EXC - - - 44 - 55 - 0 - EXC - - - 45 - 55 - 0 - INH - - - 46 - 55 - 0 - EXC - - - 47 - 55 - 0 - EXC - - - 48 - 55 - 0 - EXC - - - 49 - 55 - 0 - EXC - - - 50 - 55 - 0 - EXC - - - 51 - 55 - 0 - EXC - - - 52 - 55 - 0 - INH - - - 53 - 55 - 0 - EXC - - - 54 - 55 - 0 - EXC - - - 55 - 55 - 0 - INH - - - 56 - 55 - 0 - EXC - - - 57 - 55 - 0 - EXC - - - 58 - 55 - 0 - EXC - - - 59 - 55 - 0 - EXC - - - 60 - 55 - 0 - EXC - - - 61 - 55 - 0 - EXC - - - 62 - 55 - 0 - INH - - - 63 - 55 - 0 - EXC - - - 64 - 55 - 0 - EXC - - - 65 - 55 - 0 - INH - - - 66 - 55 - 0 - EXC - - - 67 - 55 - 0 - EXC - - - 68 - 55 - 0 - EXC - - - 69 - 55 - 0 - EXC - - - 70 - 55 - 0 - EXC - - - 71 - 55 - 0 - EXC - - - 72 - 55 - 0 - INH - - - 73 - 55 - 0 - EXC - - - 74 - 55 - 0 - EXC - - - 75 - 55 - 0 - INH - - - 76 - 55 - 0 - EXC - - - 77 - 55 - 0 - EXC - - - 78 - 55 - 0 - EXC - - - 79 - 55 - 0 - EXC - - - 80 - 55 - 0 - EXC - - - 81 - 55 - 0 - EXC - - - 82 - 55 - 0 - INH - - - 83 - 55 - 0 - EXC - - - 84 - 55 - 0 - EXC - - - 85 - 55 - 0 - INH - - - 86 - 55 - 0 - EXC - - - 87 - 55 - 0 - EXC - - - 88 - 55 - 0 - EXC - - - 89 - 55 - 0 - EXC - - - 90 - 55 - 0 - EXC - - - 91 - 55 - 0 - EXC - - - 92 - 55 - 0 - INH - - - 93 - 55 - 0 - EXC - - - 94 - 55 - 0 - EXC - - - 95 - 55 - 0 - INH - - - 96 - 55 - 0 - EXC - - - 97 - 55 - 0 - EXC - - - 98 - 55 - 0 - EXC - - - 99 - 55 - 0 - EXC - - - 0 - 56 - 0 - EXC - - - 1 - 56 - 0 - EXC - - - 2 - 56 - 0 - EXC - - - 3 - 56 - 0 - EXC - - - 4 - 56 - 0 - EXC - - - 5 - 56 - 0 - EXC - - - 6 - 56 - 0 - EXC - - - 7 - 56 - 1 - EXC - - - 8 - 56 - 0 - INH - - - 9 - 56 - 0 - EXC - - - 10 - 56 - 0 - EXC - - - 11 - 56 - 0 - EXC - - - 12 - 56 - 0 - EXC - - - 13 - 56 - 0 - EXC - - - 14 - 56 - 0 - EXC - - - 15 - 56 - 0 - EXC - - - 16 - 56 - 0 - EXC - - - 17 - 56 - 1 - EXC - - - 18 - 56 - 0 - INH - - - 19 - 56 - 0 - EXC - - - 20 - 56 - 0 - EXC - - - 21 - 56 - 0 - EXC - - - 22 - 56 - 0 - EXC - - - 23 - 56 - 0 - EXC - - - 24 - 56 - 0 - EXC - - - 25 - 56 - 0 - EXC - - - 26 - 56 - 0 - EXC - - - 27 - 56 - 1 - EXC - - - 28 - 56 - 0 - INH - - - 29 - 56 - 0 - EXC - - - 30 - 56 - 0 - EXC - - - 31 - 56 - 0 - EXC - - - 32 - 56 - 0 - EXC - - - 33 - 56 - 0 - EXC - - - 34 - 56 - 0 - EXC - - - 35 - 56 - 0 - EXC - - - 36 - 56 - 0 - EXC - - - 37 - 56 - 1 - EXC - - - 38 - 56 - 0 - INH - - - 39 - 56 - 0 - EXC - - - 40 - 56 - 0 - EXC - - - 41 - 56 - 0 - EXC - - - 42 - 56 - 0 - EXC - - - 43 - 56 - 0 - EXC - - - 44 - 56 - 0 - EXC - - - 45 - 56 - 0 - EXC - - - 46 - 56 - 0 - EXC - - - 47 - 56 - 1 - EXC - - - 48 - 56 - 0 - INH - - - 49 - 56 - 0 - EXC - - - 50 - 56 - 0 - EXC - - - 51 - 56 - 0 - EXC - - - 52 - 56 - 0 - EXC - - - 53 - 56 - 0 - EXC - - - 54 - 56 - 0 - EXC - - - 55 - 56 - 0 - EXC - - - 56 - 56 - 0 - EXC - - - 57 - 56 - 1 - EXC - - - 58 - 56 - 0 - INH - - - 59 - 56 - 0 - EXC - - - 60 - 56 - 0 - EXC - - - 61 - 56 - 0 - EXC - - - 62 - 56 - 0 - EXC - - - 63 - 56 - 0 - EXC - - - 64 - 56 - 0 - EXC - - - 65 - 56 - 0 - EXC - - - 66 - 56 - 0 - EXC - - - 67 - 56 - 1 - EXC - - - 68 - 56 - 0 - INH - - - 69 - 56 - 0 - EXC - - - 70 - 56 - 0 - EXC - - - 71 - 56 - 0 - EXC - - - 72 - 56 - 0 - EXC - - - 73 - 56 - 0 - EXC - - - 74 - 56 - 0 - EXC - - - 75 - 56 - 0 - EXC - - - 76 - 56 - 0 - EXC - - - 77 - 56 - 1 - EXC - - - 78 - 56 - 0 - INH - - - 79 - 56 - 0 - EXC - - - 80 - 56 - 0 - EXC - - - 81 - 56 - 0 - EXC - - - 82 - 56 - 0 - EXC - - - 83 - 56 - 0 - EXC - - - 84 - 56 - 0 - EXC - - - 85 - 56 - 0 - EXC - - - 86 - 56 - 0 - EXC - - - 87 - 56 - 1 - EXC - - - 88 - 56 - 0 - INH - - - 89 - 56 - 0 - EXC - - - 90 - 56 - 0 - EXC - - - 91 - 56 - 0 - EXC - - - 92 - 56 - 0 - EXC - - - 93 - 56 - 0 - EXC - - - 94 - 56 - 0 - EXC - - - 95 - 56 - 0 - EXC - - - 96 - 56 - 0 - EXC - - - 97 - 56 - 1 - EXC - - - 98 - 56 - 0 - INH - - - 99 - 56 - 0 - EXC - - - 0 - 57 - 0 - EXC - - - 1 - 57 - 1 - EXC - - - 2 - 57 - 0 - EXC - - - 3 - 57 - 0 - EXC - - - 4 - 57 - 1 - EXC - - - 5 - 57 - 0 - EXC - - - 6 - 57 - 0 - EXC - - - 7 - 57 - 0 - EXC - - - 8 - 57 - 0 - EXC - - - 9 - 57 - 0 - EXC - - - 10 - 57 - 0 - EXC - - - 11 - 57 - 1 - EXC - - - 12 - 57 - 0 - EXC - - - 13 - 57 - 0 - EXC - - - 14 - 57 - 1 - EXC - - - 15 - 57 - 0 - EXC - - - 16 - 57 - 0 - EXC - - - 17 - 57 - 0 - EXC - - - 18 - 57 - 0 - EXC - - - 19 - 57 - 0 - EXC - - - 20 - 57 - 0 - EXC - - - 21 - 57 - 1 - EXC - - - 22 - 57 - 0 - EXC - - - 23 - 57 - 0 - EXC - - - 24 - 57 - 1 - EXC - - - 25 - 57 - 0 - EXC - - - 26 - 57 - 0 - EXC - - - 27 - 57 - 0 - EXC - - - 28 - 57 - 0 - EXC - - - 29 - 57 - 0 - EXC - - - 30 - 57 - 0 - EXC - - - 31 - 57 - 1 - EXC - - - 32 - 57 - 0 - EXC - - - 33 - 57 - 0 - EXC - - - 34 - 57 - 1 - EXC - - - 35 - 57 - 0 - EXC - - - 36 - 57 - 0 - EXC - - - 37 - 57 - 0 - EXC - - - 38 - 57 - 0 - EXC - - - 39 - 57 - 0 - EXC - - - 40 - 57 - 0 - EXC - - - 41 - 57 - 1 - EXC - - - 42 - 57 - 0 - EXC - - - 43 - 57 - 0 - EXC - - - 44 - 57 - 1 - EXC - - - 45 - 57 - 0 - EXC - - - 46 - 57 - 0 - EXC - - - 47 - 57 - 0 - EXC - - - 48 - 57 - 0 - EXC - - - 49 - 57 - 0 - EXC - - - 50 - 57 - 0 - EXC - - - 51 - 57 - 1 - EXC - - - 52 - 57 - 0 - EXC - - - 53 - 57 - 0 - EXC - - - 54 - 57 - 1 - EXC - - - 55 - 57 - 0 - EXC - - - 56 - 57 - 0 - EXC - - - 57 - 57 - 0 - EXC - - - 58 - 57 - 0 - EXC - - - 59 - 57 - 0 - EXC - - - 60 - 57 - 0 - EXC - - - 61 - 57 - 1 - EXC - - - 62 - 57 - 0 - EXC - - - 63 - 57 - 0 - EXC - - - 64 - 57 - 1 - EXC - - - 65 - 57 - 0 - EXC - - - 66 - 57 - 0 - EXC - - - 67 - 57 - 0 - EXC - - - 68 - 57 - 0 - EXC - - - 69 - 57 - 0 - EXC - - - 70 - 57 - 0 - EXC - - - 71 - 57 - 1 - EXC - - - 72 - 57 - 0 - EXC - - - 73 - 57 - 0 - EXC - - - 74 - 57 - 1 - EXC - - - 75 - 57 - 0 - EXC - - - 76 - 57 - 0 - EXC - - - 77 - 57 - 0 - EXC - - - 78 - 57 - 0 - EXC - - - 79 - 57 - 0 - EXC - - - 80 - 57 - 0 - EXC - - - 81 - 57 - 1 - EXC - - - 82 - 57 - 0 - EXC - - - 83 - 57 - 0 - EXC - - - 84 - 57 - 1 - EXC - - - 85 - 57 - 0 - EXC - - - 86 - 57 - 0 - EXC - - - 87 - 57 - 0 - EXC - - - 88 - 57 - 0 - EXC - - - 89 - 57 - 0 - EXC - - - 90 - 57 - 0 - EXC - - - 91 - 57 - 1 - EXC - - - 92 - 57 - 0 - EXC - - - 93 - 57 - 0 - EXC - - - 94 - 57 - 1 - EXC - - - 95 - 57 - 0 - EXC - - - 96 - 57 - 0 - EXC - - - 97 - 57 - 0 - EXC - - - 98 - 57 - 0 - EXC - - - 99 - 57 - 0 - EXC - - - 0 - 58 - 0 - EXC - - - 1 - 58 - 0 - EXC - - - 2 - 58 - 0 - INH - - - 3 - 58 - 0 - EXC - - - 4 - 58 - 0 - EXC - - - 5 - 58 - 0 - INH - - - 6 - 58 - 0 - EXC - - - 7 - 58 - 0 - EXC - - - 8 - 58 - 0 - EXC - - - 9 - 58 - 0 - EXC - - - 10 - 58 - 0 - EXC - - - 11 - 58 - 0 - EXC - - - 12 - 58 - 0 - INH - - - 13 - 58 - 0 - EXC - - - 14 - 58 - 0 - EXC - - - 15 - 58 - 0 - INH - - - 16 - 58 - 0 - EXC - - - 17 - 58 - 0 - EXC - - - 18 - 58 - 0 - EXC - - - 19 - 58 - 0 - EXC - - - 20 - 58 - 0 - EXC - - - 21 - 58 - 0 - EXC - - - 22 - 58 - 0 - INH - - - 23 - 58 - 0 - EXC - - - 24 - 58 - 0 - EXC - - - 25 - 58 - 0 - INH - - - 26 - 58 - 0 - EXC - - - 27 - 58 - 0 - EXC - - - 28 - 58 - 0 - EXC - - - 29 - 58 - 0 - EXC - - - 30 - 58 - 0 - EXC - - - 31 - 58 - 0 - EXC - - - 32 - 58 - 0 - INH - - - 33 - 58 - 0 - EXC - - - 34 - 58 - 0 - EXC - - - 35 - 58 - 0 - INH - - - 36 - 58 - 0 - EXC - - - 37 - 58 - 0 - EXC - - - 38 - 58 - 0 - EXC - - - 39 - 58 - 0 - EXC - - - 40 - 58 - 0 - EXC - - - 41 - 58 - 0 - EXC - - - 42 - 58 - 0 - INH - - - 43 - 58 - 0 - EXC - - - 44 - 58 - 0 - EXC - - - 45 - 58 - 0 - INH - - - 46 - 58 - 0 - EXC - - - 47 - 58 - 0 - EXC - - - 48 - 58 - 0 - EXC - - - 49 - 58 - 0 - EXC - - - 50 - 58 - 0 - EXC - - - 51 - 58 - 0 - EXC - - - 52 - 58 - 0 - INH - - - 53 - 58 - 0 - EXC - - - 54 - 58 - 0 - EXC - - - 55 - 58 - 0 - INH - - - 56 - 58 - 0 - EXC - - - 57 - 58 - 0 - EXC - - - 58 - 58 - 0 - EXC - - - 59 - 58 - 0 - EXC - - - 60 - 58 - 0 - EXC - - - 61 - 58 - 0 - EXC - - - 62 - 58 - 0 - INH - - - 63 - 58 - 0 - EXC - - - 64 - 58 - 0 - EXC - - - 65 - 58 - 0 - INH - - - 66 - 58 - 0 - EXC - - - 67 - 58 - 0 - EXC - - - 68 - 58 - 0 - EXC - - - 69 - 58 - 0 - EXC - - - 70 - 58 - 0 - EXC - - - 71 - 58 - 0 - EXC - - - 72 - 58 - 0 - INH - - - 73 - 58 - 0 - EXC - - - 74 - 58 - 0 - EXC - - - 75 - 58 - 0 - INH - - - 76 - 58 - 0 - EXC - - - 77 - 58 - 0 - EXC - - - 78 - 58 - 0 - EXC - - - 79 - 58 - 0 - EXC - - - 80 - 58 - 0 - EXC - - - 81 - 58 - 0 - EXC - - - 82 - 58 - 0 - INH - - - 83 - 58 - 0 - EXC - - - 84 - 58 - 0 - EXC - - - 85 - 58 - 0 - INH - - - 86 - 58 - 0 - EXC - - - 87 - 58 - 0 - EXC - - - 88 - 58 - 0 - EXC - - - 89 - 58 - 0 - EXC - - - 90 - 58 - 0 - EXC - - - 91 - 58 - 0 - EXC - - - 92 - 58 - 0 - INH - - - 93 - 58 - 0 - EXC - - - 94 - 58 - 0 - EXC - - - 95 - 58 - 0 - INH - - - 96 - 58 - 0 - EXC - - - 97 - 58 - 0 - EXC - - - 98 - 58 - 0 - EXC - - - 99 - 58 - 0 - EXC - - - 0 - 59 - 0 - EXC - - - 1 - 59 - 0 - EXC - - - 2 - 59 - 0 - EXC - - - 3 - 59 - 0 - EXC - - - 4 - 59 - 0 - EXC - - - 5 - 59 - 0 - EXC - - - 6 - 59 - 0 - EXC - - - 7 - 59 - 1 - EXC - - - 8 - 59 - 0 - INH - - - 9 - 59 - 0 - EXC - - - 10 - 59 - 0 - EXC - - - 11 - 59 - 0 - EXC - - - 12 - 59 - 0 - EXC - - - 13 - 59 - 0 - EXC - - - 14 - 59 - 0 - EXC - - - 15 - 59 - 0 - EXC - - - 16 - 59 - 0 - EXC - - - 17 - 59 - 1 - EXC - - - 18 - 59 - 0 - INH - - - 19 - 59 - 0 - EXC - - - 20 - 59 - 0 - EXC - - - 21 - 59 - 0 - EXC - - - 22 - 59 - 0 - EXC - - - 23 - 59 - 0 - EXC - - - 24 - 59 - 0 - EXC - - - 25 - 59 - 0 - EXC - - - 26 - 59 - 0 - EXC - - - 27 - 59 - 1 - EXC - - - 28 - 59 - 0 - INH - - - 29 - 59 - 0 - EXC - - - 30 - 59 - 0 - EXC - - - 31 - 59 - 0 - EXC - - - 32 - 59 - 0 - EXC - - - 33 - 59 - 0 - EXC - - - 34 - 59 - 0 - EXC - - - 35 - 59 - 0 - EXC - - - 36 - 59 - 0 - EXC - - - 37 - 59 - 1 - EXC - - - 38 - 59 - 0 - INH - - - 39 - 59 - 0 - EXC - - - 40 - 59 - 0 - EXC - - - 41 - 59 - 0 - EXC - - - 42 - 59 - 0 - EXC - - - 43 - 59 - 0 - EXC - - - 44 - 59 - 0 - EXC - - - 45 - 59 - 0 - EXC - - - 46 - 59 - 0 - EXC - - - 47 - 59 - 1 - EXC - - - 48 - 59 - 0 - INH - - - 49 - 59 - 0 - EXC - - - 50 - 59 - 0 - EXC - - - 51 - 59 - 0 - EXC - - - 52 - 59 - 0 - EXC - - - 53 - 59 - 0 - EXC - - - 54 - 59 - 0 - EXC - - - 55 - 59 - 0 - EXC - - - 56 - 59 - 0 - EXC - - - 57 - 59 - 1 - EXC - - - 58 - 59 - 0 - INH - - - 59 - 59 - 0 - EXC - - - 60 - 59 - 0 - EXC - - - 61 - 59 - 0 - EXC - - - 62 - 59 - 0 - EXC - - - 63 - 59 - 0 - EXC - - - 64 - 59 - 0 - EXC - - - 65 - 59 - 0 - EXC - - - 66 - 59 - 0 - EXC - - - 67 - 59 - 1 - EXC - - - 68 - 59 - 0 - INH - - - 69 - 59 - 0 - EXC - - - 70 - 59 - 0 - EXC - - - 71 - 59 - 0 - EXC - - - 72 - 59 - 0 - EXC - - - 73 - 59 - 0 - EXC - - - 74 - 59 - 0 - EXC - - - 75 - 59 - 0 - EXC - - - 76 - 59 - 0 - EXC - - - 77 - 59 - 1 - EXC - - - 78 - 59 - 0 - INH - - - 79 - 59 - 0 - EXC - - - 80 - 59 - 0 - EXC - - - 81 - 59 - 0 - EXC - - - 82 - 59 - 0 - EXC - - - 83 - 59 - 0 - EXC - - - 84 - 59 - 0 - EXC - - - 85 - 59 - 0 - EXC - - - 86 - 59 - 0 - EXC - - - 87 - 59 - 1 - EXC - - - 88 - 59 - 0 - INH - - - 89 - 59 - 0 - EXC - - - 90 - 59 - 0 - EXC - - - 91 - 59 - 0 - EXC - - - 92 - 59 - 0 - EXC - - - 93 - 59 - 0 - EXC - - - 94 - 59 - 0 - EXC - - - 95 - 59 - 0 - EXC - - - 96 - 59 - 0 - EXC - - - 97 - 59 - 1 - EXC - - - 98 - 59 - 0 - INH - - - 99 - 59 - 0 - EXC - - - 0 - 60 - 0 - EXC - - - 1 - 60 - 0 - EXC - - - 2 - 60 - 0 - INH - - - 3 - 60 - 0 - EXC - - - 4 - 60 - 0 - EXC - - - 5 - 60 - 0 - EXC - - - 6 - 60 - 0 - EXC - - - 7 - 60 - 1 - EXC - - - 8 - 60 - 0 - EXC - - - 9 - 60 - 0 - EXC - - - 10 - 60 - 0 - EXC - - - 11 - 60 - 0 - EXC - - - 12 - 60 - 0 - INH - - - 13 - 60 - 0 - EXC - - - 14 - 60 - 0 - EXC - - - 15 - 60 - 0 - EXC - - - 16 - 60 - 0 - EXC - - - 17 - 60 - 1 - EXC - - - 18 - 60 - 0 - EXC - - - 19 - 60 - 0 - EXC - - - 20 - 60 - 0 - EXC - - - 21 - 60 - 0 - EXC - - - 22 - 60 - 0 - INH - - - 23 - 60 - 0 - EXC - - - 24 - 60 - 0 - EXC - - - 25 - 60 - 0 - EXC - - - 26 - 60 - 0 - EXC - - - 27 - 60 - 1 - EXC - - - 28 - 60 - 0 - EXC - - - 29 - 60 - 0 - EXC - - - 30 - 60 - 0 - EXC - - - 31 - 60 - 0 - EXC - - - 32 - 60 - 0 - INH - - - 33 - 60 - 0 - EXC - - - 34 - 60 - 0 - EXC - - - 35 - 60 - 0 - EXC - - - 36 - 60 - 0 - EXC - - - 37 - 60 - 1 - EXC - - - 38 - 60 - 0 - EXC - - - 39 - 60 - 0 - EXC - - - 40 - 60 - 0 - EXC - - - 41 - 60 - 0 - EXC - - - 42 - 60 - 0 - INH - - - 43 - 60 - 0 - EXC - - - 44 - 60 - 0 - EXC - - - 45 - 60 - 0 - EXC - - - 46 - 60 - 0 - EXC - - - 47 - 60 - 1 - EXC - - - 48 - 60 - 0 - EXC - - - 49 - 60 - 0 - EXC - - - 50 - 60 - 0 - EXC - - - 51 - 60 - 0 - EXC - - - 52 - 60 - 0 - INH - - - 53 - 60 - 0 - EXC - - - 54 - 60 - 0 - EXC - - - 55 - 60 - 0 - EXC - - - 56 - 60 - 0 - EXC - - - 57 - 60 - 1 - EXC - - - 58 - 60 - 0 - EXC - - - 59 - 60 - 0 - EXC - - - 60 - 60 - 0 - EXC - - - 61 - 60 - 0 - EXC - - - 62 - 60 - 0 - INH - - - 63 - 60 - 0 - EXC - - - 64 - 60 - 0 - EXC - - - 65 - 60 - 0 - EXC - - - 66 - 60 - 0 - EXC - - - 67 - 60 - 1 - EXC - - - 68 - 60 - 0 - EXC - - - 69 - 60 - 0 - EXC - - - 70 - 60 - 0 - EXC - - - 71 - 60 - 0 - EXC - - - 72 - 60 - 0 - INH - - - 73 - 60 - 0 - EXC - - - 74 - 60 - 0 - EXC - - - 75 - 60 - 0 - EXC - - - 76 - 60 - 0 - EXC - - - 77 - 60 - 1 - EXC - - - 78 - 60 - 0 - EXC - - - 79 - 60 - 0 - EXC - - - 80 - 60 - 0 - EXC - - - 81 - 60 - 0 - EXC - - - 82 - 60 - 0 - INH - - - 83 - 60 - 0 - EXC - - - 84 - 60 - 0 - EXC - - - 85 - 60 - 0 - EXC - - - 86 - 60 - 0 - EXC - - - 87 - 60 - 1 - EXC - - - 88 - 60 - 0 - EXC - - - 89 - 60 - 0 - EXC - - - 90 - 60 - 0 - EXC - - - 91 - 60 - 0 - EXC - - - 92 - 60 - 0 - INH - - - 93 - 60 - 0 - EXC - - - 94 - 60 - 0 - EXC - - - 95 - 60 - 0 - EXC - - - 96 - 60 - 0 - EXC - - - 97 - 60 - 1 - EXC - - - 98 - 60 - 0 - EXC - - - 99 - 60 - 0 - EXC - - - 0 - 61 - 0 - EXC - - - 1 - 61 - 1 - EXC - - - 2 - 61 - 0 - EXC - - - 3 - 61 - 0 - EXC - - - 4 - 61 - 1 - EXC - - - 5 - 61 - 0 - EXC - - - 6 - 61 - 0 - EXC - - - 7 - 61 - 0 - EXC - - - 8 - 61 - 0 - EXC - - - 9 - 61 - 0 - EXC - - - 10 - 61 - 0 - EXC - - - 11 - 61 - 1 - EXC - - - 12 - 61 - 0 - EXC - - - 13 - 61 - 0 - EXC - - - 14 - 61 - 1 - EXC - - - 15 - 61 - 0 - EXC - - - 16 - 61 - 0 - EXC - - - 17 - 61 - 0 - EXC - - - 18 - 61 - 0 - EXC - - - 19 - 61 - 0 - EXC - - - 20 - 61 - 0 - EXC - - - 21 - 61 - 1 - EXC - - - 22 - 61 - 0 - EXC - - - 23 - 61 - 0 - EXC - - - 24 - 61 - 1 - EXC - - - 25 - 61 - 0 - EXC - - - 26 - 61 - 0 - EXC - - - 27 - 61 - 0 - EXC - - - 28 - 61 - 0 - EXC - - - 29 - 61 - 0 - EXC - - - 30 - 61 - 0 - EXC - - - 31 - 61 - 1 - EXC - - - 32 - 61 - 0 - EXC - - - 33 - 61 - 0 - EXC - - - 34 - 61 - 1 - EXC - - - 35 - 61 - 0 - EXC - - - 36 - 61 - 0 - EXC - - - 37 - 61 - 0 - EXC - - - 38 - 61 - 0 - EXC - - - 39 - 61 - 0 - EXC - - - 40 - 61 - 0 - EXC - - - 41 - 61 - 1 - EXC - - - 42 - 61 - 0 - EXC - - - 43 - 61 - 0 - EXC - - - 44 - 61 - 1 - EXC - - - 45 - 61 - 0 - EXC - - - 46 - 61 - 0 - EXC - - - 47 - 61 - 0 - EXC - - - 48 - 61 - 0 - EXC - - - 49 - 61 - 0 - EXC - - - 50 - 61 - 0 - EXC - - - 51 - 61 - 1 - EXC - - - 52 - 61 - 0 - EXC - - - 53 - 61 - 0 - EXC - - - 54 - 61 - 1 - EXC - - - 55 - 61 - 0 - EXC - - - 56 - 61 - 0 - EXC - - - 57 - 61 - 0 - EXC - - - 58 - 61 - 0 - EXC - - - 59 - 61 - 0 - EXC - - - 60 - 61 - 0 - EXC - - - 61 - 61 - 1 - EXC - - - 62 - 61 - 0 - EXC - - - 63 - 61 - 0 - EXC - - - 64 - 61 - 1 - EXC - - - 65 - 61 - 0 - EXC - - - 66 - 61 - 0 - EXC - - - 67 - 61 - 0 - EXC - - - 68 - 61 - 0 - EXC - - - 69 - 61 - 0 - EXC - - - 70 - 61 - 0 - EXC - - - 71 - 61 - 1 - EXC - - - 72 - 61 - 0 - EXC - - - 73 - 61 - 0 - EXC - - - 74 - 61 - 1 - EXC - - - 75 - 61 - 0 - EXC - - - 76 - 61 - 0 - EXC - - - 77 - 61 - 0 - EXC - - - 78 - 61 - 0 - EXC - - - 79 - 61 - 0 - EXC - - - 80 - 61 - 0 - EXC - - - 81 - 61 - 1 - EXC - - - 82 - 61 - 0 - EXC - - - 83 - 61 - 0 - EXC - - - 84 - 61 - 1 - EXC - - - 85 - 61 - 0 - EXC - - - 86 - 61 - 0 - EXC - - - 87 - 61 - 0 - EXC - - - 88 - 61 - 0 - EXC - - - 89 - 61 - 0 - EXC - - - 90 - 61 - 0 - EXC - - - 91 - 61 - 1 - EXC - - - 92 - 61 - 0 - EXC - - - 93 - 61 - 0 - EXC - - - 94 - 61 - 1 - EXC - - - 95 - 61 - 0 - EXC - - - 96 - 61 - 0 - EXC - - - 97 - 61 - 0 - EXC - - - 98 - 61 - 0 - EXC - - - 99 - 61 - 0 - EXC - - - 0 - 62 - 0 - EXC - - - 1 - 62 - 0 - EXC - - - 2 - 62 - 0 - EXC - - - 3 - 62 - 0 - EXC - - - 4 - 62 - 0 - EXC - - - 5 - 62 - 0 - INH - - - 6 - 62 - 0 - EXC - - - 7 - 62 - 0 - EXC - - - 8 - 62 - 0 - INH - - - 9 - 62 - 0 - EXC - - - 10 - 62 - 0 - EXC - - - 11 - 62 - 0 - EXC - - - 12 - 62 - 0 - EXC - - - 13 - 62 - 0 - EXC - - - 14 - 62 - 0 - EXC - - - 15 - 62 - 0 - INH - - - 16 - 62 - 0 - EXC - - - 17 - 62 - 0 - EXC - - - 18 - 62 - 0 - INH - - - 19 - 62 - 0 - EXC - - - 20 - 62 - 0 - EXC - - - 21 - 62 - 0 - EXC - - - 22 - 62 - 0 - EXC - - - 23 - 62 - 0 - EXC - - - 24 - 62 - 0 - EXC - - - 25 - 62 - 0 - INH - - - 26 - 62 - 0 - EXC - - - 27 - 62 - 0 - EXC - - - 28 - 62 - 0 - INH - - - 29 - 62 - 0 - EXC - - - 30 - 62 - 0 - EXC - - - 31 - 62 - 0 - EXC - - - 32 - 62 - 0 - EXC - - - 33 - 62 - 0 - EXC - - - 34 - 62 - 0 - EXC - - - 35 - 62 - 0 - INH - - - 36 - 62 - 0 - EXC - - - 37 - 62 - 0 - EXC - - - 38 - 62 - 0 - INH - - - 39 - 62 - 0 - EXC - - - 40 - 62 - 0 - EXC - - - 41 - 62 - 0 - EXC - - - 42 - 62 - 0 - EXC - - - 43 - 62 - 0 - EXC - - - 44 - 62 - 0 - EXC - - - 45 - 62 - 0 - INH - - - 46 - 62 - 0 - EXC - - - 47 - 62 - 0 - EXC - - - 48 - 62 - 0 - INH - - - 49 - 62 - 0 - EXC - - - 50 - 62 - 0 - EXC - - - 51 - 62 - 0 - EXC - - - 52 - 62 - 0 - EXC - - - 53 - 62 - 0 - EXC - - - 54 - 62 - 0 - EXC - - - 55 - 62 - 0 - INH - - - 56 - 62 - 0 - EXC - - - 57 - 62 - 0 - EXC - - - 58 - 62 - 0 - INH - - - 59 - 62 - 0 - EXC - - - 60 - 62 - 0 - EXC - - - 61 - 62 - 0 - EXC - - - 62 - 62 - 0 - EXC - - - 63 - 62 - 0 - EXC - - - 64 - 62 - 0 - EXC - - - 65 - 62 - 0 - INH - - - 66 - 62 - 0 - EXC - - - 67 - 62 - 0 - EXC - - - 68 - 62 - 0 - INH - - - 69 - 62 - 0 - EXC - - - 70 - 62 - 0 - EXC - - - 71 - 62 - 0 - EXC - - - 72 - 62 - 0 - EXC - - - 73 - 62 - 0 - EXC - - - 74 - 62 - 0 - EXC - - - 75 - 62 - 0 - INH - - - 76 - 62 - 0 - EXC - - - 77 - 62 - 0 - EXC - - - 78 - 62 - 0 - INH - - - 79 - 62 - 0 - EXC - - - 80 - 62 - 0 - EXC - - - 81 - 62 - 0 - EXC - - - 82 - 62 - 0 - EXC - - - 83 - 62 - 0 - EXC - - - 84 - 62 - 0 - EXC - - - 85 - 62 - 0 - INH - - - 86 - 62 - 0 - EXC - - - 87 - 62 - 0 - EXC - - - 88 - 62 - 0 - INH - - - 89 - 62 - 0 - EXC - - - 90 - 62 - 0 - EXC - - - 91 - 62 - 0 - EXC - - - 92 - 62 - 0 - EXC - - - 93 - 62 - 0 - EXC - - - 94 - 62 - 0 - EXC - - - 95 - 62 - 0 - INH - - - 96 - 62 - 0 - EXC - - - 97 - 62 - 0 - EXC - - - 98 - 62 - 0 - INH - - - 99 - 62 - 0 - EXC - - - 0 - 63 - 0 - EXC - - - 1 - 63 - 0 - EXC - - - 2 - 63 - 0 - INH - - - 3 - 63 - 0 - EXC - - - 4 - 63 - 0 - EXC - - - 5 - 63 - 0 - EXC - - - 6 - 63 - 0 - EXC - - - 7 - 63 - 1 - EXC - - - 8 - 63 - 0 - EXC - - - 9 - 63 - 0 - EXC - - - 10 - 63 - 0 - EXC - - - 11 - 63 - 0 - EXC - - - 12 - 63 - 0 - INH - - - 13 - 63 - 0 - EXC - - - 14 - 63 - 0 - EXC - - - 15 - 63 - 0 - EXC - - - 16 - 63 - 0 - EXC - - - 17 - 63 - 1 - EXC - - - 18 - 63 - 0 - EXC - - - 19 - 63 - 0 - EXC - - - 20 - 63 - 0 - EXC - - - 21 - 63 - 0 - EXC - - - 22 - 63 - 0 - INH - - - 23 - 63 - 0 - EXC - - - 24 - 63 - 0 - EXC - - - 25 - 63 - 0 - EXC - - - 26 - 63 - 0 - EXC - - - 27 - 63 - 1 - EXC - - - 28 - 63 - 0 - EXC - - - 29 - 63 - 0 - EXC - - - 30 - 63 - 0 - EXC - - - 31 - 63 - 0 - EXC - - - 32 - 63 - 0 - INH - - - 33 - 63 - 0 - EXC - - - 34 - 63 - 0 - EXC - - - 35 - 63 - 0 - EXC - - - 36 - 63 - 0 - EXC - - - 37 - 63 - 1 - EXC - - - 38 - 63 - 0 - EXC - - - 39 - 63 - 0 - EXC - - - 40 - 63 - 0 - EXC - - - 41 - 63 - 0 - EXC - - - 42 - 63 - 0 - INH - - - 43 - 63 - 0 - EXC - - - 44 - 63 - 0 - EXC - - - 45 - 63 - 0 - EXC - - - 46 - 63 - 0 - EXC - - - 47 - 63 - 1 - EXC - - - 48 - 63 - 0 - EXC - - - 49 - 63 - 0 - EXC - - - 50 - 63 - 0 - EXC - - - 51 - 63 - 0 - EXC - - - 52 - 63 - 0 - INH - - - 53 - 63 - 0 - EXC - - - 54 - 63 - 0 - EXC - - - 55 - 63 - 0 - EXC - - - 56 - 63 - 0 - EXC - - - 57 - 63 - 1 - EXC - - - 58 - 63 - 0 - EXC - - - 59 - 63 - 0 - EXC - - - 60 - 63 - 0 - EXC - - - 61 - 63 - 0 - EXC - - - 62 - 63 - 0 - INH - - - 63 - 63 - 0 - EXC - - - 64 - 63 - 0 - EXC - - - 65 - 63 - 0 - EXC - - - 66 - 63 - 0 - EXC - - - 67 - 63 - 1 - EXC - - - 68 - 63 - 0 - EXC - - - 69 - 63 - 0 - EXC - - - 70 - 63 - 0 - EXC - - - 71 - 63 - 0 - EXC - - - 72 - 63 - 0 - INH - - - 73 - 63 - 0 - EXC - - - 74 - 63 - 0 - EXC - - - 75 - 63 - 0 - EXC - - - 76 - 63 - 0 - EXC - - - 77 - 63 - 1 - EXC - - - 78 - 63 - 0 - EXC - - - 79 - 63 - 0 - EXC - - - 80 - 63 - 0 - EXC - - - 81 - 63 - 0 - EXC - - - 82 - 63 - 0 - INH - - - 83 - 63 - 0 - EXC - - - 84 - 63 - 0 - EXC - - - 85 - 63 - 0 - EXC - - - 86 - 63 - 0 - EXC - - - 87 - 63 - 1 - EXC - - - 88 - 63 - 0 - EXC - - - 89 - 63 - 0 - EXC - - - 90 - 63 - 0 - EXC - - - 91 - 63 - 0 - EXC - - - 92 - 63 - 0 - INH - - - 93 - 63 - 0 - EXC - - - 94 - 63 - 0 - EXC - - - 95 - 63 - 0 - EXC - - - 96 - 63 - 0 - EXC - - - 97 - 63 - 1 - EXC - - - 98 - 63 - 0 - EXC - - - 99 - 63 - 0 - EXC - - - 0 - 64 - 0 - EXC - - - 1 - 64 - 1 - EXC - - - 2 - 64 - 0 - EXC - - - 3 - 64 - 0 - EXC - - - 4 - 64 - 1 - EXC - - - 5 - 64 - 0 - EXC - - - 6 - 64 - 0 - EXC - - - 7 - 64 - 0 - EXC - - - 8 - 64 - 0 - EXC - - - 9 - 64 - 0 - EXC - - - 10 - 64 - 0 - EXC - - - 11 - 64 - 1 - EXC - - - 12 - 64 - 0 - EXC - - - 13 - 64 - 0 - EXC - - - 14 - 64 - 1 - EXC - - - 15 - 64 - 0 - EXC - - - 16 - 64 - 0 - EXC - - - 17 - 64 - 0 - EXC - - - 18 - 64 - 0 - EXC - - - 19 - 64 - 0 - EXC - - - 20 - 64 - 0 - EXC - - - 21 - 64 - 1 - EXC - - - 22 - 64 - 0 - EXC - - - 23 - 64 - 0 - EXC - - - 24 - 64 - 1 - EXC - - - 25 - 64 - 0 - EXC - - - 26 - 64 - 0 - EXC - - - 27 - 64 - 0 - EXC - - - 28 - 64 - 0 - EXC - - - 29 - 64 - 0 - EXC - - - 30 - 64 - 0 - EXC - - - 31 - 64 - 1 - EXC - - - 32 - 64 - 0 - EXC - - - 33 - 64 - 0 - EXC - - - 34 - 64 - 1 - EXC - - - 35 - 64 - 0 - EXC - - - 36 - 64 - 0 - EXC - - - 37 - 64 - 0 - EXC - - - 38 - 64 - 0 - EXC - - - 39 - 64 - 0 - EXC - - - 40 - 64 - 0 - EXC - - - 41 - 64 - 1 - EXC - - - 42 - 64 - 0 - EXC - - - 43 - 64 - 0 - EXC - - - 44 - 64 - 1 - EXC - - - 45 - 64 - 0 - EXC - - - 46 - 64 - 0 - EXC - - - 47 - 64 - 0 - EXC - - - 48 - 64 - 0 - EXC - - - 49 - 64 - 0 - EXC - - - 50 - 64 - 0 - EXC - - - 51 - 64 - 1 - EXC - - - 52 - 64 - 0 - EXC - - - 53 - 64 - 0 - EXC - - - 54 - 64 - 1 - EXC - - - 55 - 64 - 0 - EXC - - - 56 - 64 - 0 - EXC - - - 57 - 64 - 0 - EXC - - - 58 - 64 - 0 - EXC - - - 59 - 64 - 0 - EXC - - - 60 - 64 - 0 - EXC - - - 61 - 64 - 1 - EXC - - - 62 - 64 - 0 - EXC - - - 63 - 64 - 0 - EXC - - - 64 - 64 - 1 - EXC - - - 65 - 64 - 0 - EXC - - - 66 - 64 - 0 - EXC - - - 67 - 64 - 0 - EXC - - - 68 - 64 - 0 - EXC - - - 69 - 64 - 0 - EXC - - - 70 - 64 - 0 - EXC - - - 71 - 64 - 1 - EXC - - - 72 - 64 - 0 - EXC - - - 73 - 64 - 0 - EXC - - - 74 - 64 - 1 - EXC - - - 75 - 64 - 0 - EXC - - - 76 - 64 - 0 - EXC - - - 77 - 64 - 0 - EXC - - - 78 - 64 - 0 - EXC - - - 79 - 64 - 0 - EXC - - - 80 - 64 - 0 - EXC - - - 81 - 64 - 1 - EXC - - - 82 - 64 - 0 - EXC - - - 83 - 64 - 0 - EXC - - - 84 - 64 - 1 - EXC - - - 85 - 64 - 0 - EXC - - - 86 - 64 - 0 - EXC - - - 87 - 64 - 0 - EXC - - - 88 - 64 - 0 - EXC - - - 89 - 64 - 0 - EXC - - - 90 - 64 - 0 - EXC - - - 91 - 64 - 1 - EXC - - - 92 - 64 - 0 - EXC - - - 93 - 64 - 0 - EXC - - - 94 - 64 - 1 - EXC - - - 95 - 64 - 0 - EXC - - - 96 - 64 - 0 - EXC - - - 97 - 64 - 0 - EXC - - - 98 - 64 - 0 - EXC - - - 99 - 64 - 0 - EXC - - - 0 - 65 - 0 - EXC - - - 1 - 65 - 0 - EXC - - - 2 - 65 - 0 - EXC - - - 3 - 65 - 0 - EXC - - - 4 - 65 - 0 - EXC - - - 5 - 65 - 0 - INH - - - 6 - 65 - 0 - EXC - - - 7 - 65 - 0 - EXC - - - 8 - 65 - 0 - INH - - - 9 - 65 - 0 - EXC - - - 10 - 65 - 0 - EXC - - - 11 - 65 - 0 - EXC - - - 12 - 65 - 0 - EXC - - - 13 - 65 - 0 - EXC - - - 14 - 65 - 0 - EXC - - - 15 - 65 - 0 - INH - - - 16 - 65 - 0 - EXC - - - 17 - 65 - 0 - EXC - - - 18 - 65 - 0 - INH - - - 19 - 65 - 0 - EXC - - - 20 - 65 - 0 - EXC - - - 21 - 65 - 0 - EXC - - - 22 - 65 - 0 - EXC - - - 23 - 65 - 0 - EXC - - - 24 - 65 - 0 - EXC - - - 25 - 65 - 0 - INH - - - 26 - 65 - 0 - EXC - - - 27 - 65 - 0 - EXC - - - 28 - 65 - 0 - INH - - - 29 - 65 - 0 - EXC - - - 30 - 65 - 0 - EXC - - - 31 - 65 - 0 - EXC - - - 32 - 65 - 0 - EXC - - - 33 - 65 - 0 - EXC - - - 34 - 65 - 0 - EXC - - - 35 - 65 - 0 - INH - - - 36 - 65 - 0 - EXC - - - 37 - 65 - 0 - EXC - - - 38 - 65 - 0 - INH - - - 39 - 65 - 0 - EXC - - - 40 - 65 - 0 - EXC - - - 41 - 65 - 0 - EXC - - - 42 - 65 - 0 - EXC - - - 43 - 65 - 0 - EXC - - - 44 - 65 - 0 - EXC - - - 45 - 65 - 0 - INH - - - 46 - 65 - 0 - EXC - - - 47 - 65 - 0 - EXC - - - 48 - 65 - 0 - INH - - - 49 - 65 - 0 - EXC - - - 50 - 65 - 0 - EXC - - - 51 - 65 - 0 - EXC - - - 52 - 65 - 0 - EXC - - - 53 - 65 - 0 - EXC - - - 54 - 65 - 0 - EXC - - - 55 - 65 - 0 - INH - - - 56 - 65 - 0 - EXC - - - 57 - 65 - 0 - EXC - - - 58 - 65 - 0 - INH - - - 59 - 65 - 0 - EXC - - - 60 - 65 - 0 - EXC - - - 61 - 65 - 0 - EXC - - - 62 - 65 - 0 - EXC - - - 63 - 65 - 0 - EXC - - - 64 - 65 - 0 - EXC - - - 65 - 65 - 0 - INH - - - 66 - 65 - 0 - EXC - - - 67 - 65 - 0 - EXC - - - 68 - 65 - 0 - INH - - - 69 - 65 - 0 - EXC - - - 70 - 65 - 0 - EXC - - - 71 - 65 - 0 - EXC - - - 72 - 65 - 0 - EXC - - - 73 - 65 - 0 - EXC - - - 74 - 65 - 0 - EXC - - - 75 - 65 - 0 - INH - - - 76 - 65 - 0 - EXC - - - 77 - 65 - 0 - EXC - - - 78 - 65 - 0 - INH - - - 79 - 65 - 0 - EXC - - - 80 - 65 - 0 - EXC - - - 81 - 65 - 0 - EXC - - - 82 - 65 - 0 - EXC - - - 83 - 65 - 0 - EXC - - - 84 - 65 - 0 - EXC - - - 85 - 65 - 0 - INH - - - 86 - 65 - 0 - EXC - - - 87 - 65 - 0 - EXC - - - 88 - 65 - 0 - INH - - - 89 - 65 - 0 - EXC - - - 90 - 65 - 0 - EXC - - - 91 - 65 - 0 - EXC - - - 92 - 65 - 0 - EXC - - - 93 - 65 - 0 - EXC - - - 94 - 65 - 0 - EXC - - - 95 - 65 - 0 - INH - - - 96 - 65 - 0 - EXC - - - 97 - 65 - 0 - EXC - - - 98 - 65 - 0 - INH - - - 99 - 65 - 0 - EXC - - - 0 - 66 - 0 - EXC - - - 1 - 66 - 0 - EXC - - - 2 - 66 - 0 - INH - - - 3 - 66 - 0 - EXC - - - 4 - 66 - 0 - EXC - - - 5 - 66 - 0 - EXC - - - 6 - 66 - 0 - EXC - - - 7 - 66 - 1 - EXC - - - 8 - 66 - 0 - EXC - - - 9 - 66 - 0 - EXC - - - 10 - 66 - 0 - EXC - - - 11 - 66 - 0 - EXC - - - 12 - 66 - 0 - INH - - - 13 - 66 - 0 - EXC - - - 14 - 66 - 0 - EXC - - - 15 - 66 - 0 - EXC - - - 16 - 66 - 0 - EXC - - - 17 - 66 - 1 - EXC - - - 18 - 66 - 0 - EXC - - - 19 - 66 - 0 - EXC - - - 20 - 66 - 0 - EXC - - - 21 - 66 - 0 - EXC - - - 22 - 66 - 0 - INH - - - 23 - 66 - 0 - EXC - - - 24 - 66 - 0 - EXC - - - 25 - 66 - 0 - EXC - - - 26 - 66 - 0 - EXC - - - 27 - 66 - 1 - EXC - - - 28 - 66 - 0 - EXC - - - 29 - 66 - 0 - EXC - - - 30 - 66 - 0 - EXC - - - 31 - 66 - 0 - EXC - - - 32 - 66 - 0 - INH - - - 33 - 66 - 0 - EXC - - - 34 - 66 - 0 - EXC - - - 35 - 66 - 0 - EXC - - - 36 - 66 - 0 - EXC - - - 37 - 66 - 1 - EXC - - - 38 - 66 - 0 - EXC - - - 39 - 66 - 0 - EXC - - - 40 - 66 - 0 - EXC - - - 41 - 66 - 0 - EXC - - - 42 - 66 - 0 - INH - - - 43 - 66 - 0 - EXC - - - 44 - 66 - 0 - EXC - - - 45 - 66 - 0 - EXC - - - 46 - 66 - 0 - EXC - - - 47 - 66 - 1 - EXC - - - 48 - 66 - 0 - EXC - - - 49 - 66 - 0 - EXC - - - 50 - 66 - 0 - EXC - - - 51 - 66 - 0 - EXC - - - 52 - 66 - 0 - INH - - - 53 - 66 - 0 - EXC - - - 54 - 66 - 0 - EXC - - - 55 - 66 - 0 - EXC - - - 56 - 66 - 0 - EXC - - - 57 - 66 - 1 - EXC - - - 58 - 66 - 0 - EXC - - - 59 - 66 - 0 - EXC - - - 60 - 66 - 0 - EXC - - - 61 - 66 - 0 - EXC - - - 62 - 66 - 0 - INH - - - 63 - 66 - 0 - EXC - - - 64 - 66 - 0 - EXC - - - 65 - 66 - 0 - EXC - - - 66 - 66 - 0 - EXC - - - 67 - 66 - 1 - EXC - - - 68 - 66 - 0 - EXC - - - 69 - 66 - 0 - EXC - - - 70 - 66 - 0 - EXC - - - 71 - 66 - 0 - EXC - - - 72 - 66 - 0 - INH - - - 73 - 66 - 0 - EXC - - - 74 - 66 - 0 - EXC - - - 75 - 66 - 0 - EXC - - - 76 - 66 - 0 - EXC - - - 77 - 66 - 1 - EXC - - - 78 - 66 - 0 - EXC - - - 79 - 66 - 0 - EXC - - - 80 - 66 - 0 - EXC - - - 81 - 66 - 0 - EXC - - - 82 - 66 - 0 - INH - - - 83 - 66 - 0 - EXC - - - 84 - 66 - 0 - EXC - - - 85 - 66 - 0 - EXC - - - 86 - 66 - 0 - EXC - - - 87 - 66 - 1 - EXC - - - 88 - 66 - 0 - EXC - - - 89 - 66 - 0 - EXC - - - 90 - 66 - 0 - EXC - - - 91 - 66 - 0 - EXC - - - 92 - 66 - 0 - INH - - - 93 - 66 - 0 - EXC - - - 94 - 66 - 0 - EXC - - - 95 - 66 - 0 - EXC - - - 96 - 66 - 0 - EXC - - - 97 - 66 - 1 - EXC - - - 98 - 66 - 0 - EXC - - - 99 - 66 - 0 - EXC - - - 0 - 67 - 0 - EXC - - - 1 - 67 - 1 - EXC - - - 2 - 67 - 0 - EXC - - - 3 - 67 - 0 - EXC - - - 4 - 67 - 1 - EXC - - - 5 - 67 - 0 - EXC - - - 6 - 67 - 0 - EXC - - - 7 - 67 - 0 - EXC - - - 8 - 67 - 0 - EXC - - - 9 - 67 - 0 - EXC - - - 10 - 67 - 0 - EXC - - - 11 - 67 - 1 - EXC - - - 12 - 67 - 0 - EXC - - - 13 - 67 - 0 - EXC - - - 14 - 67 - 1 - EXC - - - 15 - 67 - 0 - EXC - - - 16 - 67 - 0 - EXC - - - 17 - 67 - 0 - EXC - - - 18 - 67 - 0 - EXC - - - 19 - 67 - 0 - EXC - - - 20 - 67 - 0 - EXC - - - 21 - 67 - 1 - EXC - - - 22 - 67 - 0 - EXC - - - 23 - 67 - 0 - EXC - - - 24 - 67 - 1 - EXC - - - 25 - 67 - 0 - EXC - - - 26 - 67 - 0 - EXC - - - 27 - 67 - 0 - EXC - - - 28 - 67 - 0 - EXC - - - 29 - 67 - 0 - EXC - - - 30 - 67 - 0 - EXC - - - 31 - 67 - 1 - EXC - - - 32 - 67 - 0 - EXC - - - 33 - 67 - 0 - EXC - - - 34 - 67 - 1 - EXC - - - 35 - 67 - 0 - EXC - - - 36 - 67 - 0 - EXC - - - 37 - 67 - 0 - EXC - - - 38 - 67 - 0 - EXC - - - 39 - 67 - 0 - EXC - - - 40 - 67 - 0 - EXC - - - 41 - 67 - 1 - EXC - - - 42 - 67 - 0 - EXC - - - 43 - 67 - 0 - EXC - - - 44 - 67 - 1 - EXC - - - 45 - 67 - 0 - EXC - - - 46 - 67 - 0 - EXC - - - 47 - 67 - 0 - EXC - - - 48 - 67 - 0 - EXC - - - 49 - 67 - 0 - EXC - - - 50 - 67 - 0 - EXC - - - 51 - 67 - 1 - EXC - - - 52 - 67 - 0 - EXC - - - 53 - 67 - 0 - EXC - - - 54 - 67 - 1 - EXC - - - 55 - 67 - 0 - EXC - - - 56 - 67 - 0 - EXC - - - 57 - 67 - 0 - EXC - - - 58 - 67 - 0 - EXC - - - 59 - 67 - 0 - EXC - - - 60 - 67 - 0 - EXC - - - 61 - 67 - 1 - EXC - - - 62 - 67 - 0 - EXC - - - 63 - 67 - 0 - EXC - - - 64 - 67 - 1 - EXC - - - 65 - 67 - 0 - EXC - - - 66 - 67 - 0 - EXC - - - 67 - 67 - 0 - EXC - - - 68 - 67 - 0 - EXC - - - 69 - 67 - 0 - EXC - - - 70 - 67 - 0 - EXC - - - 71 - 67 - 1 - EXC - - - 72 - 67 - 0 - EXC - - - 73 - 67 - 0 - EXC - - - 74 - 67 - 1 - EXC - - - 75 - 67 - 0 - EXC - - - 76 - 67 - 0 - EXC - - - 77 - 67 - 0 - EXC - - - 78 - 67 - 0 - EXC - - - 79 - 67 - 0 - EXC - - - 80 - 67 - 0 - EXC - - - 81 - 67 - 1 - EXC - - - 82 - 67 - 0 - EXC - - - 83 - 67 - 0 - EXC - - - 84 - 67 - 1 - EXC - - - 85 - 67 - 0 - EXC - - - 86 - 67 - 0 - EXC - - - 87 - 67 - 0 - EXC - - - 88 - 67 - 0 - EXC - - - 89 - 67 - 0 - EXC - - - 90 - 67 - 0 - EXC - - - 91 - 67 - 1 - EXC - - - 92 - 67 - 0 - EXC - - - 93 - 67 - 0 - EXC - - - 94 - 67 - 1 - EXC - - - 95 - 67 - 0 - EXC - - - 96 - 67 - 0 - EXC - - - 97 - 67 - 0 - EXC - - - 98 - 67 - 0 - EXC - - - 99 - 67 - 0 - EXC - - - 0 - 68 - 0 - EXC - - - 1 - 68 - 0 - EXC - - - 2 - 68 - 0 - EXC - - - 3 - 68 - 0 - EXC - - - 4 - 68 - 0 - EXC - - - 5 - 68 - 0 - INH - - - 6 - 68 - 0 - EXC - - - 7 - 68 - 0 - EXC - - - 8 - 68 - 0 - INH - - - 9 - 68 - 0 - EXC - - - 10 - 68 - 0 - EXC - - - 11 - 68 - 0 - EXC - - - 12 - 68 - 0 - EXC - - - 13 - 68 - 0 - EXC - - - 14 - 68 - 0 - EXC - - - 15 - 68 - 0 - INH - - - 16 - 68 - 0 - EXC - - - 17 - 68 - 0 - EXC - - - 18 - 68 - 0 - INH - - - 19 - 68 - 0 - EXC - - - 20 - 68 - 0 - EXC - - - 21 - 68 - 0 - EXC - - - 22 - 68 - 0 - EXC - - - 23 - 68 - 0 - EXC - - - 24 - 68 - 0 - EXC - - - 25 - 68 - 0 - INH - - - 26 - 68 - 0 - EXC - - - 27 - 68 - 0 - EXC - - - 28 - 68 - 0 - INH - - - 29 - 68 - 0 - EXC - - - 30 - 68 - 0 - EXC - - - 31 - 68 - 0 - EXC - - - 32 - 68 - 0 - EXC - - - 33 - 68 - 0 - EXC - - - 34 - 68 - 0 - EXC - - - 35 - 68 - 0 - INH - - - 36 - 68 - 0 - EXC - - - 37 - 68 - 0 - EXC - - - 38 - 68 - 0 - INH - - - 39 - 68 - 0 - EXC - - - 40 - 68 - 0 - EXC - - - 41 - 68 - 0 - EXC - - - 42 - 68 - 0 - EXC - - - 43 - 68 - 0 - EXC - - - 44 - 68 - 0 - EXC - - - 45 - 68 - 0 - INH - - - 46 - 68 - 0 - EXC - - - 47 - 68 - 0 - EXC - - - 48 - 68 - 0 - INH - - - 49 - 68 - 0 - EXC - - - 50 - 68 - 0 - EXC - - - 51 - 68 - 0 - EXC - - - 52 - 68 - 0 - EXC - - - 53 - 68 - 0 - EXC - - - 54 - 68 - 0 - EXC - - - 55 - 68 - 0 - INH - - - 56 - 68 - 0 - EXC - - - 57 - 68 - 0 - EXC - - - 58 - 68 - 0 - INH - - - 59 - 68 - 0 - EXC - - - 60 - 68 - 0 - EXC - - - 61 - 68 - 0 - EXC - - - 62 - 68 - 0 - EXC - - - 63 - 68 - 0 - EXC - - - 64 - 68 - 0 - EXC - - - 65 - 68 - 0 - INH - - - 66 - 68 - 0 - EXC - - - 67 - 68 - 0 - EXC - - - 68 - 68 - 0 - INH - - - 69 - 68 - 0 - EXC - - - 70 - 68 - 0 - EXC - - - 71 - 68 - 0 - EXC - - - 72 - 68 - 0 - EXC - - - 73 - 68 - 0 - EXC - - - 74 - 68 - 0 - EXC - - - 75 - 68 - 0 - INH - - - 76 - 68 - 0 - EXC - - - 77 - 68 - 0 - EXC - - - 78 - 68 - 0 - INH - - - 79 - 68 - 0 - EXC - - - 80 - 68 - 0 - EXC - - - 81 - 68 - 0 - EXC - - - 82 - 68 - 0 - EXC - - - 83 - 68 - 0 - EXC - - - 84 - 68 - 0 - EXC - - - 85 - 68 - 0 - INH - - - 86 - 68 - 0 - EXC - - - 87 - 68 - 0 - EXC - - - 88 - 68 - 0 - INH - - - 89 - 68 - 0 - EXC - - - 90 - 68 - 0 - EXC - - - 91 - 68 - 0 - EXC - - - 92 - 68 - 0 - EXC - - - 93 - 68 - 0 - EXC - - - 94 - 68 - 0 - EXC - - - 95 - 68 - 0 - INH - - - 96 - 68 - 0 - EXC - - - 97 - 68 - 0 - EXC - - - 98 - 68 - 0 - INH - - - 99 - 68 - 0 - EXC - - - 0 - 69 - 0 - EXC - - - 1 - 69 - 0 - EXC - - - 2 - 69 - 0 - INH - - - 3 - 69 - 0 - EXC - - - 4 - 69 - 0 - EXC - - - 5 - 69 - 0 - EXC - - - 6 - 69 - 0 - EXC - - - 7 - 69 - 1 - EXC - - - 8 - 69 - 0 - EXC - - - 9 - 69 - 0 - EXC - - - 10 - 69 - 0 - EXC - - - 11 - 69 - 0 - EXC - - - 12 - 69 - 0 - INH - - - 13 - 69 - 0 - EXC - - - 14 - 69 - 0 - EXC - - - 15 - 69 - 0 - EXC - - - 16 - 69 - 0 - EXC - - - 17 - 69 - 1 - EXC - - - 18 - 69 - 0 - EXC - - - 19 - 69 - 0 - EXC - - - 20 - 69 - 0 - EXC - - - 21 - 69 - 0 - EXC - - - 22 - 69 - 0 - INH - - - 23 - 69 - 0 - EXC - - - 24 - 69 - 0 - EXC - - - 25 - 69 - 0 - EXC - - - 26 - 69 - 0 - EXC - - - 27 - 69 - 1 - EXC - - - 28 - 69 - 0 - EXC - - - 29 - 69 - 0 - EXC - - - 30 - 69 - 0 - EXC - - - 31 - 69 - 0 - EXC - - - 32 - 69 - 0 - INH - - - 33 - 69 - 0 - EXC - - - 34 - 69 - 0 - EXC - - - 35 - 69 - 0 - EXC - - - 36 - 69 - 0 - EXC - - - 37 - 69 - 1 - EXC - - - 38 - 69 - 0 - EXC - - - 39 - 69 - 0 - EXC - - - 40 - 69 - 0 - EXC - - - 41 - 69 - 0 - EXC - - - 42 - 69 - 0 - INH - - - 43 - 69 - 0 - EXC - - - 44 - 69 - 0 - EXC - - - 45 - 69 - 0 - EXC - - - 46 - 69 - 0 - EXC - - - 47 - 69 - 1 - EXC - - - 48 - 69 - 0 - EXC - - - 49 - 69 - 0 - EXC - - - 50 - 69 - 0 - EXC - - - 51 - 69 - 0 - EXC - - - 52 - 69 - 0 - INH - - - 53 - 69 - 0 - EXC - - - 54 - 69 - 0 - EXC - - - 55 - 69 - 0 - EXC - - - 56 - 69 - 0 - EXC - - - 57 - 69 - 1 - EXC - - - 58 - 69 - 0 - EXC - - - 59 - 69 - 0 - EXC - - - 60 - 69 - 0 - EXC - - - 61 - 69 - 0 - EXC - - - 62 - 69 - 0 - INH - - - 63 - 69 - 0 - EXC - - - 64 - 69 - 0 - EXC - - - 65 - 69 - 0 - EXC - - - 66 - 69 - 0 - EXC - - - 67 - 69 - 1 - EXC - - - 68 - 69 - 0 - EXC - - - 69 - 69 - 0 - EXC - - - 70 - 69 - 0 - EXC - - - 71 - 69 - 0 - EXC - - - 72 - 69 - 0 - INH - - - 73 - 69 - 0 - EXC - - - 74 - 69 - 0 - EXC - - - 75 - 69 - 0 - EXC - - - 76 - 69 - 0 - EXC - - - 77 - 69 - 1 - EXC - - - 78 - 69 - 0 - EXC - - - 79 - 69 - 0 - EXC - - - 80 - 69 - 0 - EXC - - - 81 - 69 - 0 - EXC - - - 82 - 69 - 0 - INH - - - 83 - 69 - 0 - EXC - - - 84 - 69 - 0 - EXC - - - 85 - 69 - 0 - EXC - - - 86 - 69 - 0 - EXC - - - 87 - 69 - 1 - EXC - - - 88 - 69 - 0 - EXC - - - 89 - 69 - 0 - EXC - - - 90 - 69 - 0 - EXC - - - 91 - 69 - 0 - EXC - - - 92 - 69 - 0 - INH - - - 93 - 69 - 0 - EXC - - - 94 - 69 - 0 - EXC - - - 95 - 69 - 0 - EXC - - - 96 - 69 - 0 - EXC - - - 97 - 69 - 1 - EXC - - - 98 - 69 - 0 - EXC - - - 99 - 69 - 0 - EXC - - - 0 - 70 - 0 - EXC - - - 1 - 70 - 0 - EXC - - - 2 - 70 - 0 - EXC - - - 3 - 70 - 0 - EXC - - - 4 - 70 - 0 - EXC - - - 5 - 70 - 0 - EXC - - - 6 - 70 - 0 - EXC - - - 7 - 70 - 1 - EXC - - - 8 - 70 - 0 - INH - - - 9 - 70 - 0 - EXC - - - 10 - 70 - 0 - EXC - - - 11 - 70 - 0 - EXC - - - 12 - 70 - 0 - EXC - - - 13 - 70 - 0 - EXC - - - 14 - 70 - 0 - EXC - - - 15 - 70 - 0 - EXC - - - 16 - 70 - 0 - EXC - - - 17 - 70 - 1 - EXC - - - 18 - 70 - 0 - INH - - - 19 - 70 - 0 - EXC - - - 20 - 70 - 0 - EXC - - - 21 - 70 - 0 - EXC - - - 22 - 70 - 0 - EXC - - - 23 - 70 - 0 - EXC - - - 24 - 70 - 0 - EXC - - - 25 - 70 - 0 - EXC - - - 26 - 70 - 0 - EXC - - - 27 - 70 - 1 - EXC - - - 28 - 70 - 0 - INH - - - 29 - 70 - 0 - EXC - - - 30 - 70 - 0 - EXC - - - 31 - 70 - 0 - EXC - - - 32 - 70 - 0 - EXC - - - 33 - 70 - 0 - EXC - - - 34 - 70 - 0 - EXC - - - 35 - 70 - 0 - EXC - - - 36 - 70 - 0 - EXC - - - 37 - 70 - 1 - EXC - - - 38 - 70 - 0 - INH - - - 39 - 70 - 0 - EXC - - - 40 - 70 - 0 - EXC - - - 41 - 70 - 0 - EXC - - - 42 - 70 - 0 - EXC - - - 43 - 70 - 0 - EXC - - - 44 - 70 - 0 - EXC - - - 45 - 70 - 0 - EXC - - - 46 - 70 - 0 - EXC - - - 47 - 70 - 1 - EXC - - - 48 - 70 - 0 - INH - - - 49 - 70 - 0 - EXC - - - 50 - 70 - 0 - EXC - - - 51 - 70 - 0 - EXC - - - 52 - 70 - 0 - EXC - - - 53 - 70 - 0 - EXC - - - 54 - 70 - 0 - EXC - - - 55 - 70 - 0 - EXC - - - 56 - 70 - 0 - EXC - - - 57 - 70 - 1 - EXC - - - 58 - 70 - 0 - INH - - - 59 - 70 - 0 - EXC - - - 60 - 70 - 0 - EXC - - - 61 - 70 - 0 - EXC - - - 62 - 70 - 0 - EXC - - - 63 - 70 - 0 - EXC - - - 64 - 70 - 0 - EXC - - - 65 - 70 - 0 - EXC - - - 66 - 70 - 0 - EXC - - - 67 - 70 - 1 - EXC - - - 68 - 70 - 0 - INH - - - 69 - 70 - 0 - EXC - - - 70 - 70 - 0 - EXC - - - 71 - 70 - 0 - EXC - - - 72 - 70 - 0 - EXC - - - 73 - 70 - 0 - EXC - - - 74 - 70 - 0 - EXC - - - 75 - 70 - 0 - EXC - - - 76 - 70 - 0 - EXC - - - 77 - 70 - 1 - EXC - - - 78 - 70 - 0 - INH - - - 79 - 70 - 0 - EXC - - - 80 - 70 - 0 - EXC - - - 81 - 70 - 0 - EXC - - - 82 - 70 - 0 - EXC - - - 83 - 70 - 0 - EXC - - - 84 - 70 - 0 - EXC - - - 85 - 70 - 0 - EXC - - - 86 - 70 - 0 - EXC - - - 87 - 70 - 1 - EXC - - - 88 - 70 - 0 - INH - - - 89 - 70 - 0 - EXC - - - 90 - 70 - 0 - EXC - - - 91 - 70 - 0 - EXC - - - 92 - 70 - 0 - EXC - - - 93 - 70 - 0 - EXC - - - 94 - 70 - 0 - EXC - - - 95 - 70 - 0 - EXC - - - 96 - 70 - 0 - EXC - - - 97 - 70 - 1 - EXC - - - 98 - 70 - 0 - INH - - - 99 - 70 - 0 - EXC - - - 0 - 71 - 0 - EXC - - - 1 - 71 - 1 - EXC - - - 2 - 71 - 0 - EXC - - - 3 - 71 - 0 - EXC - - - 4 - 71 - 1 - EXC - - - 5 - 71 - 0 - EXC - - - 6 - 71 - 0 - EXC - - - 7 - 71 - 0 - EXC - - - 8 - 71 - 0 - EXC - - - 9 - 71 - 0 - EXC - - - 10 - 71 - 0 - EXC - - - 11 - 71 - 1 - EXC - - - 12 - 71 - 0 - EXC - - - 13 - 71 - 0 - EXC - - - 14 - 71 - 1 - EXC - - - 15 - 71 - 0 - EXC - - - 16 - 71 - 0 - EXC - - - 17 - 71 - 0 - EXC - - - 18 - 71 - 0 - EXC - - - 19 - 71 - 0 - EXC - - - 20 - 71 - 0 - EXC - - - 21 - 71 - 1 - EXC - - - 22 - 71 - 0 - EXC - - - 23 - 71 - 0 - EXC - - - 24 - 71 - 1 - EXC - - - 25 - 71 - 0 - EXC - - - 26 - 71 - 0 - EXC - - - 27 - 71 - 0 - EXC - - - 28 - 71 - 0 - EXC - - - 29 - 71 - 0 - EXC - - - 30 - 71 - 0 - EXC - - - 31 - 71 - 1 - EXC - - - 32 - 71 - 0 - EXC - - - 33 - 71 - 0 - EXC - - - 34 - 71 - 1 - EXC - - - 35 - 71 - 0 - EXC - - - 36 - 71 - 0 - EXC - - - 37 - 71 - 0 - EXC - - - 38 - 71 - 0 - EXC - - - 39 - 71 - 0 - EXC - - - 40 - 71 - 0 - EXC - - - 41 - 71 - 1 - EXC - - - 42 - 71 - 0 - EXC - - - 43 - 71 - 0 - EXC - - - 44 - 71 - 1 - EXC - - - 45 - 71 - 0 - EXC - - - 46 - 71 - 0 - EXC - - - 47 - 71 - 0 - EXC - - - 48 - 71 - 0 - EXC - - - 49 - 71 - 0 - EXC - - - 50 - 71 - 0 - EXC - - - 51 - 71 - 1 - EXC - - - 52 - 71 - 0 - EXC - - - 53 - 71 - 0 - EXC - - - 54 - 71 - 1 - EXC - - - 55 - 71 - 0 - EXC - - - 56 - 71 - 0 - EXC - - - 57 - 71 - 0 - EXC - - - 58 - 71 - 0 - EXC - - - 59 - 71 - 0 - EXC - - - 60 - 71 - 0 - EXC - - - 61 - 71 - 1 - EXC - - - 62 - 71 - 0 - EXC - - - 63 - 71 - 0 - EXC - - - 64 - 71 - 1 - EXC - - - 65 - 71 - 0 - EXC - - - 66 - 71 - 0 - EXC - - - 67 - 71 - 0 - EXC - - - 68 - 71 - 0 - EXC - - - 69 - 71 - 0 - EXC - - - 70 - 71 - 0 - EXC - - - 71 - 71 - 1 - EXC - - - 72 - 71 - 0 - EXC - - - 73 - 71 - 0 - EXC - - - 74 - 71 - 1 - EXC - - - 75 - 71 - 0 - EXC - - - 76 - 71 - 0 - EXC - - - 77 - 71 - 0 - EXC - - - 78 - 71 - 0 - EXC - - - 79 - 71 - 0 - EXC - - - 80 - 71 - 0 - EXC - - - 81 - 71 - 1 - EXC - - - 82 - 71 - 0 - EXC - - - 83 - 71 - 0 - EXC - - - 84 - 71 - 1 - EXC - - - 85 - 71 - 0 - EXC - - - 86 - 71 - 0 - EXC - - - 87 - 71 - 0 - EXC - - - 88 - 71 - 0 - EXC - - - 89 - 71 - 0 - EXC - - - 90 - 71 - 0 - EXC - - - 91 - 71 - 1 - EXC - - - 92 - 71 - 0 - EXC - - - 93 - 71 - 0 - EXC - - - 94 - 71 - 1 - EXC - - - 95 - 71 - 0 - EXC - - - 96 - 71 - 0 - EXC - - - 97 - 71 - 0 - EXC - - - 98 - 71 - 0 - EXC - - - 99 - 71 - 0 - EXC - - - 0 - 72 - 0 - EXC - - - 1 - 72 - 0 - EXC - - - 2 - 72 - 0 - INH - - - 3 - 72 - 0 - EXC - - - 4 - 72 - 0 - EXC - - - 5 - 72 - 0 - INH - - - 6 - 72 - 0 - EXC - - - 7 - 72 - 0 - EXC - - - 8 - 72 - 0 - EXC - - - 9 - 72 - 0 - EXC - - - 10 - 72 - 0 - EXC - - - 11 - 72 - 0 - EXC - - - 12 - 72 - 0 - INH - - - 13 - 72 - 0 - EXC - - - 14 - 72 - 0 - EXC - - - 15 - 72 - 0 - INH - - - 16 - 72 - 0 - EXC - - - 17 - 72 - 0 - EXC - - - 18 - 72 - 0 - EXC - - - 19 - 72 - 0 - EXC - - - 20 - 72 - 0 - EXC - - - 21 - 72 - 0 - EXC - - - 22 - 72 - 0 - INH - - - 23 - 72 - 0 - EXC - - - 24 - 72 - 0 - EXC - - - 25 - 72 - 0 - INH - - - 26 - 72 - 0 - EXC - - - 27 - 72 - 0 - EXC - - - 28 - 72 - 0 - EXC - - - 29 - 72 - 0 - EXC - - - 30 - 72 - 0 - EXC - - - 31 - 72 - 0 - EXC - - - 32 - 72 - 0 - INH - - - 33 - 72 - 0 - EXC - - - 34 - 72 - 0 - EXC - - - 35 - 72 - 0 - INH - - - 36 - 72 - 0 - EXC - - - 37 - 72 - 0 - EXC - - - 38 - 72 - 0 - EXC - - - 39 - 72 - 0 - EXC - - - 40 - 72 - 0 - EXC - - - 41 - 72 - 0 - EXC - - - 42 - 72 - 0 - INH - - - 43 - 72 - 0 - EXC - - - 44 - 72 - 0 - EXC - - - 45 - 72 - 0 - INH - - - 46 - 72 - 0 - EXC - - - 47 - 72 - 0 - EXC - - - 48 - 72 - 0 - EXC - - - 49 - 72 - 0 - EXC - - - 50 - 72 - 0 - EXC - - - 51 - 72 - 0 - EXC - - - 52 - 72 - 0 - INH - - - 53 - 72 - 0 - EXC - - - 54 - 72 - 0 - EXC - - - 55 - 72 - 0 - INH - - - 56 - 72 - 0 - EXC - - - 57 - 72 - 0 - EXC - - - 58 - 72 - 0 - EXC - - - 59 - 72 - 0 - EXC - - - 60 - 72 - 0 - EXC - - - 61 - 72 - 0 - EXC - - - 62 - 72 - 0 - INH - - - 63 - 72 - 0 - EXC - - - 64 - 72 - 0 - EXC - - - 65 - 72 - 0 - INH - - - 66 - 72 - 0 - EXC - - - 67 - 72 - 0 - EXC - - - 68 - 72 - 0 - EXC - - - 69 - 72 - 0 - EXC - - - 70 - 72 - 0 - EXC - - - 71 - 72 - 0 - EXC - - - 72 - 72 - 0 - INH - - - 73 - 72 - 0 - EXC - - - 74 - 72 - 0 - EXC - - - 75 - 72 - 0 - INH - - - 76 - 72 - 0 - EXC - - - 77 - 72 - 0 - EXC - - - 78 - 72 - 0 - EXC - - - 79 - 72 - 0 - EXC - - - 80 - 72 - 0 - EXC - - - 81 - 72 - 0 - EXC - - - 82 - 72 - 0 - INH - - - 83 - 72 - 0 - EXC - - - 84 - 72 - 0 - EXC - - - 85 - 72 - 0 - INH - - - 86 - 72 - 0 - EXC - - - 87 - 72 - 0 - EXC - - - 88 - 72 - 0 - EXC - - - 89 - 72 - 0 - EXC - - - 90 - 72 - 0 - EXC - - - 91 - 72 - 0 - EXC - - - 92 - 72 - 0 - INH - - - 93 - 72 - 0 - EXC - - - 94 - 72 - 0 - EXC - - - 95 - 72 - 0 - INH - - - 96 - 72 - 0 - EXC - - - 97 - 72 - 0 - EXC - - - 98 - 72 - 0 - EXC - - - 99 - 72 - 0 - EXC - - - 0 - 73 - 0 - EXC - - - 1 - 73 - 0 - EXC - - - 2 - 73 - 0 - EXC - - - 3 - 73 - 0 - EXC - - - 4 - 73 - 0 - EXC - - - 5 - 73 - 0 - EXC - - - 6 - 73 - 0 - EXC - - - 7 - 73 - 1 - EXC - - - 8 - 73 - 0 - INH - - - 9 - 73 - 0 - EXC - - - 10 - 73 - 0 - EXC - - - 11 - 73 - 0 - EXC - - - 12 - 73 - 0 - EXC - - - 13 - 73 - 0 - EXC - - - 14 - 73 - 0 - EXC - - - 15 - 73 - 0 - EXC - - - 16 - 73 - 0 - EXC - - - 17 - 73 - 1 - EXC - - - 18 - 73 - 0 - INH - - - 19 - 73 - 0 - EXC - - - 20 - 73 - 0 - EXC - - - 21 - 73 - 0 - EXC - - - 22 - 73 - 0 - EXC - - - 23 - 73 - 0 - EXC - - - 24 - 73 - 0 - EXC - - - 25 - 73 - 0 - EXC - - - 26 - 73 - 0 - EXC - - - 27 - 73 - 1 - EXC - - - 28 - 73 - 0 - INH - - - 29 - 73 - 0 - EXC - - - 30 - 73 - 0 - EXC - - - 31 - 73 - 0 - EXC - - - 32 - 73 - 0 - EXC - - - 33 - 73 - 0 - EXC - - - 34 - 73 - 0 - EXC - - - 35 - 73 - 0 - EXC - - - 36 - 73 - 0 - EXC - - - 37 - 73 - 1 - EXC - - - 38 - 73 - 0 - INH - - - 39 - 73 - 0 - EXC - - - 40 - 73 - 0 - EXC - - - 41 - 73 - 0 - EXC - - - 42 - 73 - 0 - EXC - - - 43 - 73 - 0 - EXC - - - 44 - 73 - 0 - EXC - - - 45 - 73 - 0 - EXC - - - 46 - 73 - 0 - EXC - - - 47 - 73 - 1 - EXC - - - 48 - 73 - 0 - INH - - - 49 - 73 - 0 - EXC - - - 50 - 73 - 0 - EXC - - - 51 - 73 - 0 - EXC - - - 52 - 73 - 0 - EXC - - - 53 - 73 - 0 - EXC - - - 54 - 73 - 0 - EXC - - - 55 - 73 - 0 - EXC - - - 56 - 73 - 0 - EXC - - - 57 - 73 - 1 - EXC - - - 58 - 73 - 0 - INH - - - 59 - 73 - 0 - EXC - - - 60 - 73 - 0 - EXC - - - 61 - 73 - 0 - EXC - - - 62 - 73 - 0 - EXC - - - 63 - 73 - 0 - EXC - - - 64 - 73 - 0 - EXC - - - 65 - 73 - 0 - EXC - - - 66 - 73 - 0 - EXC - - - 67 - 73 - 1 - EXC - - - 68 - 73 - 0 - INH - - - 69 - 73 - 0 - EXC - - - 70 - 73 - 0 - EXC - - - 71 - 73 - 0 - EXC - - - 72 - 73 - 0 - EXC - - - 73 - 73 - 0 - EXC - - - 74 - 73 - 0 - EXC - - - 75 - 73 - 0 - EXC - - - 76 - 73 - 0 - EXC - - - 77 - 73 - 1 - EXC - - - 78 - 73 - 0 - INH - - - 79 - 73 - 0 - EXC - - - 80 - 73 - 0 - EXC - - - 81 - 73 - 0 - EXC - - - 82 - 73 - 0 - EXC - - - 83 - 73 - 0 - EXC - - - 84 - 73 - 0 - EXC - - - 85 - 73 - 0 - EXC - - - 86 - 73 - 0 - EXC - - - 87 - 73 - 1 - EXC - - - 88 - 73 - 0 - INH - - - 89 - 73 - 0 - EXC - - - 90 - 73 - 0 - EXC - - - 91 - 73 - 0 - EXC - - - 92 - 73 - 0 - EXC - - - 93 - 73 - 0 - EXC - - - 94 - 73 - 0 - EXC - - - 95 - 73 - 0 - EXC - - - 96 - 73 - 0 - EXC - - - 97 - 73 - 1 - EXC - - - 98 - 73 - 0 - INH - - - 99 - 73 - 0 - EXC - - - 0 - 74 - 0 - EXC - - - 1 - 74 - 1 - EXC - - - 2 - 74 - 0 - EXC - - - 3 - 74 - 0 - EXC - - - 4 - 74 - 1 - EXC - - - 5 - 74 - 0 - EXC - - - 6 - 74 - 0 - EXC - - - 7 - 74 - 0 - EXC - - - 8 - 74 - 0 - EXC - - - 9 - 74 - 0 - EXC - - - 10 - 74 - 0 - EXC - - - 11 - 74 - 1 - EXC - - - 12 - 74 - 0 - EXC - - - 13 - 74 - 0 - EXC - - - 14 - 74 - 1 - EXC - - - 15 - 74 - 0 - EXC - - - 16 - 74 - 0 - EXC - - - 17 - 74 - 0 - EXC - - - 18 - 74 - 0 - EXC - - - 19 - 74 - 0 - EXC - - - 20 - 74 - 0 - EXC - - - 21 - 74 - 1 - EXC - - - 22 - 74 - 0 - EXC - - - 23 - 74 - 0 - EXC - - - 24 - 74 - 1 - EXC - - - 25 - 74 - 0 - EXC - - - 26 - 74 - 0 - EXC - - - 27 - 74 - 0 - EXC - - - 28 - 74 - 0 - EXC - - - 29 - 74 - 0 - EXC - - - 30 - 74 - 0 - EXC - - - 31 - 74 - 1 - EXC - - - 32 - 74 - 0 - EXC - - - 33 - 74 - 0 - EXC - - - 34 - 74 - 1 - EXC - - - 35 - 74 - 0 - EXC - - - 36 - 74 - 0 - EXC - - - 37 - 74 - 0 - EXC - - - 38 - 74 - 0 - EXC - - - 39 - 74 - 0 - EXC - - - 40 - 74 - 0 - EXC - - - 41 - 74 - 1 - EXC - - - 42 - 74 - 0 - EXC - - - 43 - 74 - 0 - EXC - - - 44 - 74 - 1 - EXC - - - 45 - 74 - 0 - EXC - - - 46 - 74 - 0 - EXC - - - 47 - 74 - 0 - EXC - - - 48 - 74 - 0 - EXC - - - 49 - 74 - 0 - EXC - - - 50 - 74 - 0 - EXC - - - 51 - 74 - 1 - EXC - - - 52 - 74 - 0 - EXC - - - 53 - 74 - 0 - EXC - - - 54 - 74 - 1 - EXC - - - 55 - 74 - 0 - EXC - - - 56 - 74 - 0 - EXC - - - 57 - 74 - 0 - EXC - - - 58 - 74 - 0 - EXC - - - 59 - 74 - 0 - EXC - - - 60 - 74 - 0 - EXC - - - 61 - 74 - 1 - EXC - - - 62 - 74 - 0 - EXC - - - 63 - 74 - 0 - EXC - - - 64 - 74 - 1 - EXC - - - 65 - 74 - 0 - EXC - - - 66 - 74 - 0 - EXC - - - 67 - 74 - 0 - EXC - - - 68 - 74 - 0 - EXC - - - 69 - 74 - 0 - EXC - - - 70 - 74 - 0 - EXC - - - 71 - 74 - 1 - EXC - - - 72 - 74 - 0 - EXC - - - 73 - 74 - 0 - EXC - - - 74 - 74 - 1 - EXC - - - 75 - 74 - 0 - EXC - - - 76 - 74 - 0 - EXC - - - 77 - 74 - 0 - EXC - - - 78 - 74 - 0 - EXC - - - 79 - 74 - 0 - EXC - - - 80 - 74 - 0 - EXC - - - 81 - 74 - 1 - EXC - - - 82 - 74 - 0 - EXC - - - 83 - 74 - 0 - EXC - - - 84 - 74 - 1 - EXC - - - 85 - 74 - 0 - EXC - - - 86 - 74 - 0 - EXC - - - 87 - 74 - 0 - EXC - - - 88 - 74 - 0 - EXC - - - 89 - 74 - 0 - EXC - - - 90 - 74 - 0 - EXC - - - 91 - 74 - 1 - EXC - - - 92 - 74 - 0 - EXC - - - 93 - 74 - 0 - EXC - - - 94 - 74 - 1 - EXC - - - 95 - 74 - 0 - EXC - - - 96 - 74 - 0 - EXC - - - 97 - 74 - 0 - EXC - - - 98 - 74 - 0 - EXC - - - 99 - 74 - 0 - EXC - - - 0 - 75 - 0 - EXC - - - 1 - 75 - 0 - EXC - - - 2 - 75 - 0 - INH - - - 3 - 75 - 0 - EXC - - - 4 - 75 - 0 - EXC - - - 5 - 75 - 0 - INH - - - 6 - 75 - 0 - EXC - - - 7 - 75 - 0 - EXC - - - 8 - 75 - 0 - EXC - - - 9 - 75 - 0 - EXC - - - 10 - 75 - 0 - EXC - - - 11 - 75 - 0 - EXC - - - 12 - 75 - 0 - INH - - - 13 - 75 - 0 - EXC - - - 14 - 75 - 0 - EXC - - - 15 - 75 - 0 - INH - - - 16 - 75 - 0 - EXC - - - 17 - 75 - 0 - EXC - - - 18 - 75 - 0 - EXC - - - 19 - 75 - 0 - EXC - - - 20 - 75 - 0 - EXC - - - 21 - 75 - 0 - EXC - - - 22 - 75 - 0 - INH - - - 23 - 75 - 0 - EXC - - - 24 - 75 - 0 - EXC - - - 25 - 75 - 0 - INH - - - 26 - 75 - 0 - EXC - - - 27 - 75 - 0 - EXC - - - 28 - 75 - 0 - EXC - - - 29 - 75 - 0 - EXC - - - 30 - 75 - 0 - EXC - - - 31 - 75 - 0 - EXC - - - 32 - 75 - 0 - INH - - - 33 - 75 - 0 - EXC - - - 34 - 75 - 0 - EXC - - - 35 - 75 - 0 - INH - - - 36 - 75 - 0 - EXC - - - 37 - 75 - 0 - EXC - - - 38 - 75 - 0 - EXC - - - 39 - 75 - 0 - EXC - - - 40 - 75 - 0 - EXC - - - 41 - 75 - 0 - EXC - - - 42 - 75 - 0 - INH - - - 43 - 75 - 0 - EXC - - - 44 - 75 - 0 - EXC - - - 45 - 75 - 0 - INH - - - 46 - 75 - 0 - EXC - - - 47 - 75 - 0 - EXC - - - 48 - 75 - 0 - EXC - - - 49 - 75 - 0 - EXC - - - 50 - 75 - 0 - EXC - - - 51 - 75 - 0 - EXC - - - 52 - 75 - 0 - INH - - - 53 - 75 - 0 - EXC - - - 54 - 75 - 0 - EXC - - - 55 - 75 - 0 - INH - - - 56 - 75 - 0 - EXC - - - 57 - 75 - 0 - EXC - - - 58 - 75 - 0 - EXC - - - 59 - 75 - 0 - EXC - - - 60 - 75 - 0 - EXC - - - 61 - 75 - 0 - EXC - - - 62 - 75 - 0 - INH - - - 63 - 75 - 0 - EXC - - - 64 - 75 - 0 - EXC - - - 65 - 75 - 0 - INH - - - 66 - 75 - 0 - EXC - - - 67 - 75 - 0 - EXC - - - 68 - 75 - 0 - EXC - - - 69 - 75 - 0 - EXC - - - 70 - 75 - 0 - EXC - - - 71 - 75 - 0 - EXC - - - 72 - 75 - 0 - INH - - - 73 - 75 - 0 - EXC - - - 74 - 75 - 0 - EXC - - - 75 - 75 - 0 - INH - - - 76 - 75 - 0 - EXC - - - 77 - 75 - 0 - EXC - - - 78 - 75 - 0 - EXC - - - 79 - 75 - 0 - EXC - - - 80 - 75 - 0 - EXC - - - 81 - 75 - 0 - EXC - - - 82 - 75 - 0 - INH - - - 83 - 75 - 0 - EXC - - - 84 - 75 - 0 - EXC - - - 85 - 75 - 0 - INH - - - 86 - 75 - 0 - EXC - - - 87 - 75 - 0 - EXC - - - 88 - 75 - 0 - EXC - - - 89 - 75 - 0 - EXC - - - 90 - 75 - 0 - EXC - - - 91 - 75 - 0 - EXC - - - 92 - 75 - 0 - INH - - - 93 - 75 - 0 - EXC - - - 94 - 75 - 0 - EXC - - - 95 - 75 - 0 - INH - - - 96 - 75 - 0 - EXC - - - 97 - 75 - 0 - EXC - - - 98 - 75 - 0 - EXC - - - 99 - 75 - 0 - EXC - - - 0 - 76 - 0 - EXC - - - 1 - 76 - 0 - EXC - - - 2 - 76 - 0 - EXC - - - 3 - 76 - 0 - EXC - - - 4 - 76 - 0 - EXC - - - 5 - 76 - 0 - EXC - - - 6 - 76 - 0 - EXC - - - 7 - 76 - 1 - EXC - - - 8 - 76 - 0 - INH - - - 9 - 76 - 0 - EXC - - - 10 - 76 - 0 - EXC - - - 11 - 76 - 0 - EXC - - - 12 - 76 - 0 - EXC - - - 13 - 76 - 0 - EXC - - - 14 - 76 - 0 - EXC - - - 15 - 76 - 0 - EXC - - - 16 - 76 - 0 - EXC - - - 17 - 76 - 1 - EXC - - - 18 - 76 - 0 - INH - - - 19 - 76 - 0 - EXC - - - 20 - 76 - 0 - EXC - - - 21 - 76 - 0 - EXC - - - 22 - 76 - 0 - EXC - - - 23 - 76 - 0 - EXC - - - 24 - 76 - 0 - EXC - - - 25 - 76 - 0 - EXC - - - 26 - 76 - 0 - EXC - - - 27 - 76 - 1 - EXC - - - 28 - 76 - 0 - INH - - - 29 - 76 - 0 - EXC - - - 30 - 76 - 0 - EXC - - - 31 - 76 - 0 - EXC - - - 32 - 76 - 0 - EXC - - - 33 - 76 - 0 - EXC - - - 34 - 76 - 0 - EXC - - - 35 - 76 - 0 - EXC - - - 36 - 76 - 0 - EXC - - - 37 - 76 - 1 - EXC - - - 38 - 76 - 0 - INH - - - 39 - 76 - 0 - EXC - - - 40 - 76 - 0 - EXC - - - 41 - 76 - 0 - EXC - - - 42 - 76 - 0 - EXC - - - 43 - 76 - 0 - EXC - - - 44 - 76 - 0 - EXC - - - 45 - 76 - 0 - EXC - - - 46 - 76 - 0 - EXC - - - 47 - 76 - 1 - EXC - - - 48 - 76 - 0 - INH - - - 49 - 76 - 0 - EXC - - - 50 - 76 - 0 - EXC - - - 51 - 76 - 0 - EXC - - - 52 - 76 - 0 - EXC - - - 53 - 76 - 0 - EXC - - - 54 - 76 - 0 - EXC - - - 55 - 76 - 0 - EXC - - - 56 - 76 - 0 - EXC - - - 57 - 76 - 1 - EXC - - - 58 - 76 - 0 - INH - - - 59 - 76 - 0 - EXC - - - 60 - 76 - 0 - EXC - - - 61 - 76 - 0 - EXC - - - 62 - 76 - 0 - EXC - - - 63 - 76 - 0 - EXC - - - 64 - 76 - 0 - EXC - - - 65 - 76 - 0 - EXC - - - 66 - 76 - 0 - EXC - - - 67 - 76 - 1 - EXC - - - 68 - 76 - 0 - INH - - - 69 - 76 - 0 - EXC - - - 70 - 76 - 0 - EXC - - - 71 - 76 - 0 - EXC - - - 72 - 76 - 0 - EXC - - - 73 - 76 - 0 - EXC - - - 74 - 76 - 0 - EXC - - - 75 - 76 - 0 - EXC - - - 76 - 76 - 0 - EXC - - - 77 - 76 - 1 - EXC - - - 78 - 76 - 0 - INH - - - 79 - 76 - 0 - EXC - - - 80 - 76 - 0 - EXC - - - 81 - 76 - 0 - EXC - - - 82 - 76 - 0 - EXC - - - 83 - 76 - 0 - EXC - - - 84 - 76 - 0 - EXC - - - 85 - 76 - 0 - EXC - - - 86 - 76 - 0 - EXC - - - 87 - 76 - 1 - EXC - - - 88 - 76 - 0 - INH - - - 89 - 76 - 0 - EXC - - - 90 - 76 - 0 - EXC - - - 91 - 76 - 0 - EXC - - - 92 - 76 - 0 - EXC - - - 93 - 76 - 0 - EXC - - - 94 - 76 - 0 - EXC - - - 95 - 76 - 0 - EXC - - - 96 - 76 - 0 - EXC - - - 97 - 76 - 1 - EXC - - - 98 - 76 - 0 - INH - - - 99 - 76 - 0 - EXC - - - 0 - 77 - 0 - EXC - - - 1 - 77 - 1 - EXC - - - 2 - 77 - 0 - EXC - - - 3 - 77 - 0 - EXC - - - 4 - 77 - 1 - EXC - - - 5 - 77 - 0 - EXC - - - 6 - 77 - 0 - EXC - - - 7 - 77 - 0 - EXC - - - 8 - 77 - 0 - EXC - - - 9 - 77 - 0 - EXC - - - 10 - 77 - 0 - EXC - - - 11 - 77 - 1 - EXC - - - 12 - 77 - 0 - EXC - - - 13 - 77 - 0 - EXC - - - 14 - 77 - 1 - EXC - - - 15 - 77 - 0 - EXC - - - 16 - 77 - 0 - EXC - - - 17 - 77 - 0 - EXC - - - 18 - 77 - 0 - EXC - - - 19 - 77 - 0 - EXC - - - 20 - 77 - 0 - EXC - - - 21 - 77 - 1 - EXC - - - 22 - 77 - 0 - EXC - - - 23 - 77 - 0 - EXC - - - 24 - 77 - 1 - EXC - - - 25 - 77 - 0 - EXC - - - 26 - 77 - 0 - EXC - - - 27 - 77 - 0 - EXC - - - 28 - 77 - 0 - EXC - - - 29 - 77 - 0 - EXC - - - 30 - 77 - 0 - EXC - - - 31 - 77 - 1 - EXC - - - 32 - 77 - 0 - EXC - - - 33 - 77 - 0 - EXC - - - 34 - 77 - 1 - EXC - - - 35 - 77 - 0 - EXC - - - 36 - 77 - 0 - EXC - - - 37 - 77 - 0 - EXC - - - 38 - 77 - 0 - EXC - - - 39 - 77 - 0 - EXC - - - 40 - 77 - 0 - EXC - - - 41 - 77 - 1 - EXC - - - 42 - 77 - 0 - EXC - - - 43 - 77 - 0 - EXC - - - 44 - 77 - 1 - EXC - - - 45 - 77 - 0 - EXC - - - 46 - 77 - 0 - EXC - - - 47 - 77 - 0 - EXC - - - 48 - 77 - 0 - EXC - - - 49 - 77 - 0 - EXC - - - 50 - 77 - 0 - EXC - - - 51 - 77 - 1 - EXC - - - 52 - 77 - 0 - EXC - - - 53 - 77 - 0 - EXC - - - 54 - 77 - 1 - EXC - - - 55 - 77 - 0 - EXC - - - 56 - 77 - 0 - EXC - - - 57 - 77 - 0 - EXC - - - 58 - 77 - 0 - EXC - - - 59 - 77 - 0 - EXC - - - 60 - 77 - 0 - EXC - - - 61 - 77 - 1 - EXC - - - 62 - 77 - 0 - EXC - - - 63 - 77 - 0 - EXC - - - 64 - 77 - 1 - EXC - - - 65 - 77 - 0 - EXC - - - 66 - 77 - 0 - EXC - - - 67 - 77 - 0 - EXC - - - 68 - 77 - 0 - EXC - - - 69 - 77 - 0 - EXC - - - 70 - 77 - 0 - EXC - - - 71 - 77 - 1 - EXC - - - 72 - 77 - 0 - EXC - - - 73 - 77 - 0 - EXC - - - 74 - 77 - 1 - EXC - - - 75 - 77 - 0 - EXC - - - 76 - 77 - 0 - EXC - - - 77 - 77 - 0 - EXC - - - 78 - 77 - 0 - EXC - - - 79 - 77 - 0 - EXC - - - 80 - 77 - 0 - EXC - - - 81 - 77 - 1 - EXC - - - 82 - 77 - 0 - EXC - - - 83 - 77 - 0 - EXC - - - 84 - 77 - 1 - EXC - - - 85 - 77 - 0 - EXC - - - 86 - 77 - 0 - EXC - - - 87 - 77 - 0 - EXC - - - 88 - 77 - 0 - EXC - - - 89 - 77 - 0 - EXC - - - 90 - 77 - 0 - EXC - - - 91 - 77 - 1 - EXC - - - 92 - 77 - 0 - EXC - - - 93 - 77 - 0 - EXC - - - 94 - 77 - 1 - EXC - - - 95 - 77 - 0 - EXC - - - 96 - 77 - 0 - EXC - - - 97 - 77 - 0 - EXC - - - 98 - 77 - 0 - EXC - - - 99 - 77 - 0 - EXC - - - 0 - 78 - 0 - EXC - - - 1 - 78 - 0 - EXC - - - 2 - 78 - 0 - INH - - - 3 - 78 - 0 - EXC - - - 4 - 78 - 0 - EXC - - - 5 - 78 - 0 - INH - - - 6 - 78 - 0 - EXC - - - 7 - 78 - 0 - EXC - - - 8 - 78 - 0 - EXC - - - 9 - 78 - 0 - EXC - - - 10 - 78 - 0 - EXC - - - 11 - 78 - 0 - EXC - - - 12 - 78 - 0 - INH - - - 13 - 78 - 0 - EXC - - - 14 - 78 - 0 - EXC - - - 15 - 78 - 0 - INH - - - 16 - 78 - 0 - EXC - - - 17 - 78 - 0 - EXC - - - 18 - 78 - 0 - EXC - - - 19 - 78 - 0 - EXC - - - 20 - 78 - 0 - EXC - - - 21 - 78 - 0 - EXC - - - 22 - 78 - 0 - INH - - - 23 - 78 - 0 - EXC - - - 24 - 78 - 0 - EXC - - - 25 - 78 - 0 - INH - - - 26 - 78 - 0 - EXC - - - 27 - 78 - 0 - EXC - - - 28 - 78 - 0 - EXC - - - 29 - 78 - 0 - EXC - - - 30 - 78 - 0 - EXC - - - 31 - 78 - 0 - EXC - - - 32 - 78 - 0 - INH - - - 33 - 78 - 0 - EXC - - - 34 - 78 - 0 - EXC - - - 35 - 78 - 0 - INH - - - 36 - 78 - 0 - EXC - - - 37 - 78 - 0 - EXC - - - 38 - 78 - 0 - EXC - - - 39 - 78 - 0 - EXC - - - 40 - 78 - 0 - EXC - - - 41 - 78 - 0 - EXC - - - 42 - 78 - 0 - INH - - - 43 - 78 - 0 - EXC - - - 44 - 78 - 0 - EXC - - - 45 - 78 - 0 - INH - - - 46 - 78 - 0 - EXC - - - 47 - 78 - 0 - EXC - - - 48 - 78 - 0 - EXC - - - 49 - 78 - 0 - EXC - - - 50 - 78 - 0 - EXC - - - 51 - 78 - 0 - EXC - - - 52 - 78 - 0 - INH - - - 53 - 78 - 0 - EXC - - - 54 - 78 - 0 - EXC - - - 55 - 78 - 0 - INH - - - 56 - 78 - 0 - EXC - - - 57 - 78 - 0 - EXC - - - 58 - 78 - 0 - EXC - - - 59 - 78 - 0 - EXC - - - 60 - 78 - 0 - EXC - - - 61 - 78 - 0 - EXC - - - 62 - 78 - 0 - INH - - - 63 - 78 - 0 - EXC - - - 64 - 78 - 0 - EXC - - - 65 - 78 - 0 - INH - - - 66 - 78 - 0 - EXC - - - 67 - 78 - 0 - EXC - - - 68 - 78 - 0 - EXC - - - 69 - 78 - 0 - EXC - - - 70 - 78 - 0 - EXC - - - 71 - 78 - 0 - EXC - - - 72 - 78 - 0 - INH - - - 73 - 78 - 0 - EXC - - - 74 - 78 - 0 - EXC - - - 75 - 78 - 0 - INH - - - 76 - 78 - 0 - EXC - - - 77 - 78 - 0 - EXC - - - 78 - 78 - 0 - EXC - - - 79 - 78 - 0 - EXC - - - 80 - 78 - 0 - EXC - - - 81 - 78 - 0 - EXC - - - 82 - 78 - 0 - INH - - - 83 - 78 - 0 - EXC - - - 84 - 78 - 0 - EXC - - - 85 - 78 - 0 - INH - - - 86 - 78 - 0 - EXC - - - 87 - 78 - 0 - EXC - - - 88 - 78 - 0 - EXC - - - 89 - 78 - 0 - EXC - - - 90 - 78 - 0 - EXC - - - 91 - 78 - 0 - EXC - - - 92 - 78 - 0 - INH - - - 93 - 78 - 0 - EXC - - - 94 - 78 - 0 - EXC - - - 95 - 78 - 0 - INH - - - 96 - 78 - 0 - EXC - - - 97 - 78 - 0 - EXC - - - 98 - 78 - 0 - EXC - - - 99 - 78 - 0 - EXC - - - 0 - 79 - 0 - EXC - - - 1 - 79 - 0 - EXC - - - 2 - 79 - 0 - EXC - - - 3 - 79 - 0 - EXC - - - 4 - 79 - 0 - EXC - - - 5 - 79 - 0 - EXC - - - 6 - 79 - 0 - EXC - - - 7 - 79 - 1 - EXC - - - 8 - 79 - 0 - INH - - - 9 - 79 - 0 - EXC - - - 10 - 79 - 0 - EXC - - - 11 - 79 - 0 - EXC - - - 12 - 79 - 0 - EXC - - - 13 - 79 - 0 - EXC - - - 14 - 79 - 0 - EXC - - - 15 - 79 - 0 - EXC - - - 16 - 79 - 0 - EXC - - - 17 - 79 - 1 - EXC - - - 18 - 79 - 0 - INH - - - 19 - 79 - 0 - EXC - - - 20 - 79 - 0 - EXC - - - 21 - 79 - 0 - EXC - - - 22 - 79 - 0 - EXC - - - 23 - 79 - 0 - EXC - - - 24 - 79 - 0 - EXC - - - 25 - 79 - 0 - EXC - - - 26 - 79 - 0 - EXC - - - 27 - 79 - 1 - EXC - - - 28 - 79 - 0 - INH - - - 29 - 79 - 0 - EXC - - - 30 - 79 - 0 - EXC - - - 31 - 79 - 0 - EXC - - - 32 - 79 - 0 - EXC - - - 33 - 79 - 0 - EXC - - - 34 - 79 - 0 - EXC - - - 35 - 79 - 0 - EXC - - - 36 - 79 - 0 - EXC - - - 37 - 79 - 1 - EXC - - - 38 - 79 - 0 - INH - - - 39 - 79 - 0 - EXC - - - 40 - 79 - 0 - EXC - - - 41 - 79 - 0 - EXC - - - 42 - 79 - 0 - EXC - - - 43 - 79 - 0 - EXC - - - 44 - 79 - 0 - EXC - - - 45 - 79 - 0 - EXC - - - 46 - 79 - 0 - EXC - - - 47 - 79 - 1 - EXC - - - 48 - 79 - 0 - INH - - - 49 - 79 - 0 - EXC - - - 50 - 79 - 0 - EXC - - - 51 - 79 - 0 - EXC - - - 52 - 79 - 0 - EXC - - - 53 - 79 - 0 - EXC - - - 54 - 79 - 0 - EXC - - - 55 - 79 - 0 - EXC - - - 56 - 79 - 0 - EXC - - - 57 - 79 - 1 - EXC - - - 58 - 79 - 0 - INH - - - 59 - 79 - 0 - EXC - - - 60 - 79 - 0 - EXC - - - 61 - 79 - 0 - EXC - - - 62 - 79 - 0 - EXC - - - 63 - 79 - 0 - EXC - - - 64 - 79 - 0 - EXC - - - 65 - 79 - 0 - EXC - - - 66 - 79 - 0 - EXC - - - 67 - 79 - 1 - EXC - - - 68 - 79 - 0 - INH - - - 69 - 79 - 0 - EXC - - - 70 - 79 - 0 - EXC - - - 71 - 79 - 0 - EXC - - - 72 - 79 - 0 - EXC - - - 73 - 79 - 0 - EXC - - - 74 - 79 - 0 - EXC - - - 75 - 79 - 0 - EXC - - - 76 - 79 - 0 - EXC - - - 77 - 79 - 1 - EXC - - - 78 - 79 - 0 - INH - - - 79 - 79 - 0 - EXC - - - 80 - 79 - 0 - EXC - - - 81 - 79 - 0 - EXC - - - 82 - 79 - 0 - EXC - - - 83 - 79 - 0 - EXC - - - 84 - 79 - 0 - EXC - - - 85 - 79 - 0 - EXC - - - 86 - 79 - 0 - EXC - - - 87 - 79 - 1 - EXC - - - 88 - 79 - 0 - INH - - - 89 - 79 - 0 - EXC - - - 90 - 79 - 0 - EXC - - - 91 - 79 - 0 - EXC - - - 92 - 79 - 0 - EXC - - - 93 - 79 - 0 - EXC - - - 94 - 79 - 0 - EXC - - - 95 - 79 - 0 - EXC - - - 96 - 79 - 0 - EXC - - - 97 - 79 - 1 - EXC - - - 98 - 79 - 0 - INH - - - 99 - 79 - 0 - EXC - - - 0 - 80 - 0 - EXC - - - 1 - 80 - 0 - EXC - - - 2 - 80 - 0 - INH - - - 3 - 80 - 0 - EXC - - - 4 - 80 - 0 - EXC - - - 5 - 80 - 0 - EXC - - - 6 - 80 - 0 - EXC - - - 7 - 80 - 1 - EXC - - - 8 - 80 - 0 - EXC - - - 9 - 80 - 0 - EXC - - - 10 - 80 - 0 - EXC - - - 11 - 80 - 0 - EXC - - - 12 - 80 - 0 - INH - - - 13 - 80 - 0 - EXC - - - 14 - 80 - 0 - EXC - - - 15 - 80 - 0 - EXC - - - 16 - 80 - 0 - EXC - - - 17 - 80 - 1 - EXC - - - 18 - 80 - 0 - EXC - - - 19 - 80 - 0 - EXC - - - 20 - 80 - 0 - EXC - - - 21 - 80 - 0 - EXC - - - 22 - 80 - 0 - INH - - - 23 - 80 - 0 - EXC - - - 24 - 80 - 0 - EXC - - - 25 - 80 - 0 - EXC - - - 26 - 80 - 0 - EXC - - - 27 - 80 - 1 - EXC - - - 28 - 80 - 0 - EXC - - - 29 - 80 - 0 - EXC - - - 30 - 80 - 0 - EXC - - - 31 - 80 - 0 - EXC - - - 32 - 80 - 0 - INH - - - 33 - 80 - 0 - EXC - - - 34 - 80 - 0 - EXC - - - 35 - 80 - 0 - EXC - - - 36 - 80 - 0 - EXC - - - 37 - 80 - 1 - EXC - - - 38 - 80 - 0 - EXC - - - 39 - 80 - 0 - EXC - - - 40 - 80 - 0 - EXC - - - 41 - 80 - 0 - EXC - - - 42 - 80 - 0 - INH - - - 43 - 80 - 0 - EXC - - - 44 - 80 - 0 - EXC - - - 45 - 80 - 0 - EXC - - - 46 - 80 - 0 - EXC - - - 47 - 80 - 1 - EXC - - - 48 - 80 - 0 - EXC - - - 49 - 80 - 0 - EXC - - - 50 - 80 - 0 - EXC - - - 51 - 80 - 0 - EXC - - - 52 - 80 - 0 - INH - - - 53 - 80 - 0 - EXC - - - 54 - 80 - 0 - EXC - - - 55 - 80 - 0 - EXC - - - 56 - 80 - 0 - EXC - - - 57 - 80 - 1 - EXC - - - 58 - 80 - 0 - EXC - - - 59 - 80 - 0 - EXC - - - 60 - 80 - 0 - EXC - - - 61 - 80 - 0 - EXC - - - 62 - 80 - 0 - INH - - - 63 - 80 - 0 - EXC - - - 64 - 80 - 0 - EXC - - - 65 - 80 - 0 - EXC - - - 66 - 80 - 0 - EXC - - - 67 - 80 - 1 - EXC - - - 68 - 80 - 0 - EXC - - - 69 - 80 - 0 - EXC - - - 70 - 80 - 0 - EXC - - - 71 - 80 - 0 - EXC - - - 72 - 80 - 0 - INH - - - 73 - 80 - 0 - EXC - - - 74 - 80 - 0 - EXC - - - 75 - 80 - 0 - EXC - - - 76 - 80 - 0 - EXC - - - 77 - 80 - 1 - EXC - - - 78 - 80 - 0 - EXC - - - 79 - 80 - 0 - EXC - - - 80 - 80 - 0 - EXC - - - 81 - 80 - 0 - EXC - - - 82 - 80 - 0 - INH - - - 83 - 80 - 0 - EXC - - - 84 - 80 - 0 - EXC - - - 85 - 80 - 0 - EXC - - - 86 - 80 - 0 - EXC - - - 87 - 80 - 1 - EXC - - - 88 - 80 - 0 - EXC - - - 89 - 80 - 0 - EXC - - - 90 - 80 - 0 - EXC - - - 91 - 80 - 0 - EXC - - - 92 - 80 - 0 - INH - - - 93 - 80 - 0 - EXC - - - 94 - 80 - 0 - EXC - - - 95 - 80 - 0 - EXC - - - 96 - 80 - 0 - EXC - - - 97 - 80 - 1 - EXC - - - 98 - 80 - 0 - EXC - - - 99 - 80 - 0 - EXC - - - 0 - 81 - 0 - EXC - - - 1 - 81 - 1 - EXC - - - 2 - 81 - 0 - EXC - - - 3 - 81 - 0 - EXC - - - 4 - 81 - 1 - EXC - - - 5 - 81 - 0 - EXC - - - 6 - 81 - 0 - EXC - - - 7 - 81 - 0 - EXC - - - 8 - 81 - 0 - EXC - - - 9 - 81 - 0 - EXC - - - 10 - 81 - 0 - EXC - - - 11 - 81 - 1 - EXC - - - 12 - 81 - 0 - EXC - - - 13 - 81 - 0 - EXC - - - 14 - 81 - 1 - EXC - - - 15 - 81 - 0 - EXC - - - 16 - 81 - 0 - EXC - - - 17 - 81 - 0 - EXC - - - 18 - 81 - 0 - EXC - - - 19 - 81 - 0 - EXC - - - 20 - 81 - 0 - EXC - - - 21 - 81 - 1 - EXC - - - 22 - 81 - 0 - EXC - - - 23 - 81 - 0 - EXC - - - 24 - 81 - 1 - EXC - - - 25 - 81 - 0 - EXC - - - 26 - 81 - 0 - EXC - - - 27 - 81 - 0 - EXC - - - 28 - 81 - 0 - EXC - - - 29 - 81 - 0 - EXC - - - 30 - 81 - 0 - EXC - - - 31 - 81 - 1 - EXC - - - 32 - 81 - 0 - EXC - - - 33 - 81 - 0 - EXC - - - 34 - 81 - 1 - EXC - - - 35 - 81 - 0 - EXC - - - 36 - 81 - 0 - EXC - - - 37 - 81 - 0 - EXC - - - 38 - 81 - 0 - EXC - - - 39 - 81 - 0 - EXC - - - 40 - 81 - 0 - EXC - - - 41 - 81 - 1 - EXC - - - 42 - 81 - 0 - EXC - - - 43 - 81 - 0 - EXC - - - 44 - 81 - 1 - EXC - - - 45 - 81 - 0 - EXC - - - 46 - 81 - 0 - EXC - - - 47 - 81 - 0 - EXC - - - 48 - 81 - 0 - EXC - - - 49 - 81 - 0 - EXC - - - 50 - 81 - 0 - EXC - - - 51 - 81 - 1 - EXC - - - 52 - 81 - 0 - EXC - - - 53 - 81 - 0 - EXC - - - 54 - 81 - 1 - EXC - - - 55 - 81 - 0 - EXC - - - 56 - 81 - 0 - EXC - - - 57 - 81 - 0 - EXC - - - 58 - 81 - 0 - EXC - - - 59 - 81 - 0 - EXC - - - 60 - 81 - 0 - EXC - - - 61 - 81 - 1 - EXC - - - 62 - 81 - 0 - EXC - - - 63 - 81 - 0 - EXC - - - 64 - 81 - 1 - EXC - - - 65 - 81 - 0 - EXC - - - 66 - 81 - 0 - EXC - - - 67 - 81 - 0 - EXC - - - 68 - 81 - 0 - EXC - - - 69 - 81 - 0 - EXC - - - 70 - 81 - 0 - EXC - - - 71 - 81 - 1 - EXC - - - 72 - 81 - 0 - EXC - - - 73 - 81 - 0 - EXC - - - 74 - 81 - 1 - EXC - - - 75 - 81 - 0 - EXC - - - 76 - 81 - 0 - EXC - - - 77 - 81 - 0 - EXC - - - 78 - 81 - 0 - EXC - - - 79 - 81 - 0 - EXC - - - 80 - 81 - 0 - EXC - - - 81 - 81 - 1 - EXC - - - 82 - 81 - 0 - EXC - - - 83 - 81 - 0 - EXC - - - 84 - 81 - 1 - EXC - - - 85 - 81 - 0 - EXC - - - 86 - 81 - 0 - EXC - - - 87 - 81 - 0 - EXC - - - 88 - 81 - 0 - EXC - - - 89 - 81 - 0 - EXC - - - 90 - 81 - 0 - EXC - - - 91 - 81 - 1 - EXC - - - 92 - 81 - 0 - EXC - - - 93 - 81 - 0 - EXC - - - 94 - 81 - 1 - EXC - - - 95 - 81 - 0 - EXC - - - 96 - 81 - 0 - EXC - - - 97 - 81 - 0 - EXC - - - 98 - 81 - 0 - EXC - - - 99 - 81 - 0 - EXC - - - 0 - 82 - 0 - EXC - - - 1 - 82 - 0 - EXC - - - 2 - 82 - 0 - EXC - - - 3 - 82 - 0 - EXC - - - 4 - 82 - 0 - EXC - - - 5 - 82 - 0 - INH - - - 6 - 82 - 0 - EXC - - - 7 - 82 - 0 - EXC - - - 8 - 82 - 0 - INH - - - 9 - 82 - 0 - EXC - - - 10 - 82 - 0 - EXC - - - 11 - 82 - 0 - EXC - - - 12 - 82 - 0 - EXC - - - 13 - 82 - 0 - EXC - - - 14 - 82 - 0 - EXC - - - 15 - 82 - 0 - INH - - - 16 - 82 - 0 - EXC - - - 17 - 82 - 0 - EXC - - - 18 - 82 - 0 - INH - - - 19 - 82 - 0 - EXC - - - 20 - 82 - 0 - EXC - - - 21 - 82 - 0 - EXC - - - 22 - 82 - 0 - EXC - - - 23 - 82 - 0 - EXC - - - 24 - 82 - 0 - EXC - - - 25 - 82 - 0 - INH - - - 26 - 82 - 0 - EXC - - - 27 - 82 - 0 - EXC - - - 28 - 82 - 0 - INH - - - 29 - 82 - 0 - EXC - - - 30 - 82 - 0 - EXC - - - 31 - 82 - 0 - EXC - - - 32 - 82 - 0 - EXC - - - 33 - 82 - 0 - EXC - - - 34 - 82 - 0 - EXC - - - 35 - 82 - 0 - INH - - - 36 - 82 - 0 - EXC - - - 37 - 82 - 0 - EXC - - - 38 - 82 - 0 - INH - - - 39 - 82 - 0 - EXC - - - 40 - 82 - 0 - EXC - - - 41 - 82 - 0 - EXC - - - 42 - 82 - 0 - EXC - - - 43 - 82 - 0 - EXC - - - 44 - 82 - 0 - EXC - - - 45 - 82 - 0 - INH - - - 46 - 82 - 0 - EXC - - - 47 - 82 - 0 - EXC - - - 48 - 82 - 0 - INH - - - 49 - 82 - 0 - EXC - - - 50 - 82 - 0 - EXC - - - 51 - 82 - 0 - EXC - - - 52 - 82 - 0 - EXC - - - 53 - 82 - 0 - EXC - - - 54 - 82 - 0 - EXC - - - 55 - 82 - 0 - INH - - - 56 - 82 - 0 - EXC - - - 57 - 82 - 0 - EXC - - - 58 - 82 - 0 - INH - - - 59 - 82 - 0 - EXC - - - 60 - 82 - 0 - EXC - - - 61 - 82 - 0 - EXC - - - 62 - 82 - 0 - EXC - - - 63 - 82 - 0 - EXC - - - 64 - 82 - 0 - EXC - - - 65 - 82 - 0 - INH - - - 66 - 82 - 0 - EXC - - - 67 - 82 - 0 - EXC - - - 68 - 82 - 0 - INH - - - 69 - 82 - 0 - EXC - - - 70 - 82 - 0 - EXC - - - 71 - 82 - 0 - EXC - - - 72 - 82 - 0 - EXC - - - 73 - 82 - 0 - EXC - - - 74 - 82 - 0 - EXC - - - 75 - 82 - 0 - INH - - - 76 - 82 - 0 - EXC - - - 77 - 82 - 0 - EXC - - - 78 - 82 - 0 - INH - - - 79 - 82 - 0 - EXC - - - 80 - 82 - 0 - EXC - - - 81 - 82 - 0 - EXC - - - 82 - 82 - 0 - EXC - - - 83 - 82 - 0 - EXC - - - 84 - 82 - 0 - EXC - - - 85 - 82 - 0 - INH - - - 86 - 82 - 0 - EXC - - - 87 - 82 - 0 - EXC - - - 88 - 82 - 0 - INH - - - 89 - 82 - 0 - EXC - - - 90 - 82 - 0 - EXC - - - 91 - 82 - 0 - EXC - - - 92 - 82 - 0 - EXC - - - 93 - 82 - 0 - EXC - - - 94 - 82 - 0 - EXC - - - 95 - 82 - 0 - INH - - - 96 - 82 - 0 - EXC - - - 97 - 82 - 0 - EXC - - - 98 - 82 - 0 - INH - - - 99 - 82 - 0 - EXC - - - 0 - 83 - 0 - EXC - - - 1 - 83 - 0 - EXC - - - 2 - 83 - 0 - INH - - - 3 - 83 - 0 - EXC - - - 4 - 83 - 0 - EXC - - - 5 - 83 - 0 - EXC - - - 6 - 83 - 0 - EXC - - - 7 - 83 - 1 - EXC - - - 8 - 83 - 0 - EXC - - - 9 - 83 - 0 - EXC - - - 10 - 83 - 0 - EXC - - - 11 - 83 - 0 - EXC - - - 12 - 83 - 0 - INH - - - 13 - 83 - 0 - EXC - - - 14 - 83 - 0 - EXC - - - 15 - 83 - 0 - EXC - - - 16 - 83 - 0 - EXC - - - 17 - 83 - 1 - EXC - - - 18 - 83 - 0 - EXC - - - 19 - 83 - 0 - EXC - - - 20 - 83 - 0 - EXC - - - 21 - 83 - 0 - EXC - - - 22 - 83 - 0 - INH - - - 23 - 83 - 0 - EXC - - - 24 - 83 - 0 - EXC - - - 25 - 83 - 0 - EXC - - - 26 - 83 - 0 - EXC - - - 27 - 83 - 1 - EXC - - - 28 - 83 - 0 - EXC - - - 29 - 83 - 0 - EXC - - - 30 - 83 - 0 - EXC - - - 31 - 83 - 0 - EXC - - - 32 - 83 - 0 - INH - - - 33 - 83 - 0 - EXC - - - 34 - 83 - 0 - EXC - - - 35 - 83 - 0 - EXC - - - 36 - 83 - 0 - EXC - - - 37 - 83 - 1 - EXC - - - 38 - 83 - 0 - EXC - - - 39 - 83 - 0 - EXC - - - 40 - 83 - 0 - EXC - - - 41 - 83 - 0 - EXC - - - 42 - 83 - 0 - INH - - - 43 - 83 - 0 - EXC - - - 44 - 83 - 0 - EXC - - - 45 - 83 - 0 - EXC - - - 46 - 83 - 0 - EXC - - - 47 - 83 - 1 - EXC - - - 48 - 83 - 0 - EXC - - - 49 - 83 - 0 - EXC - - - 50 - 83 - 0 - EXC - - - 51 - 83 - 0 - EXC - - - 52 - 83 - 0 - INH - - - 53 - 83 - 0 - EXC - - - 54 - 83 - 0 - EXC - - - 55 - 83 - 0 - EXC - - - 56 - 83 - 0 - EXC - - - 57 - 83 - 1 - EXC - - - 58 - 83 - 0 - EXC - - - 59 - 83 - 0 - EXC - - - 60 - 83 - 0 - EXC - - - 61 - 83 - 0 - EXC - - - 62 - 83 - 0 - INH - - - 63 - 83 - 0 - EXC - - - 64 - 83 - 0 - EXC - - - 65 - 83 - 0 - EXC - - - 66 - 83 - 0 - EXC - - - 67 - 83 - 1 - EXC - - - 68 - 83 - 0 - EXC - - - 69 - 83 - 0 - EXC - - - 70 - 83 - 0 - EXC - - - 71 - 83 - 0 - EXC - - - 72 - 83 - 0 - INH - - - 73 - 83 - 0 - EXC - - - 74 - 83 - 0 - EXC - - - 75 - 83 - 0 - EXC - - - 76 - 83 - 0 - EXC - - - 77 - 83 - 1 - EXC - - - 78 - 83 - 0 - EXC - - - 79 - 83 - 0 - EXC - - - 80 - 83 - 0 - EXC - - - 81 - 83 - 0 - EXC - - - 82 - 83 - 0 - INH - - - 83 - 83 - 0 - EXC - - - 84 - 83 - 0 - EXC - - - 85 - 83 - 0 - EXC - - - 86 - 83 - 0 - EXC - - - 87 - 83 - 1 - EXC - - - 88 - 83 - 0 - EXC - - - 89 - 83 - 0 - EXC - - - 90 - 83 - 0 - EXC - - - 91 - 83 - 0 - EXC - - - 92 - 83 - 0 - INH - - - 93 - 83 - 0 - EXC - - - 94 - 83 - 0 - EXC - - - 95 - 83 - 0 - EXC - - - 96 - 83 - 0 - EXC - - - 97 - 83 - 1 - EXC - - - 98 - 83 - 0 - EXC - - - 99 - 83 - 0 - EXC - - - 0 - 84 - 0 - EXC - - - 1 - 84 - 1 - EXC - - - 2 - 84 - 0 - EXC - - - 3 - 84 - 0 - EXC - - - 4 - 84 - 1 - EXC - - - 5 - 84 - 0 - EXC - - - 6 - 84 - 0 - EXC - - - 7 - 84 - 0 - EXC - - - 8 - 84 - 0 - EXC - - - 9 - 84 - 0 - EXC - - - 10 - 84 - 0 - EXC - - - 11 - 84 - 1 - EXC - - - 12 - 84 - 0 - EXC - - - 13 - 84 - 0 - EXC - - - 14 - 84 - 1 - EXC - - - 15 - 84 - 0 - EXC - - - 16 - 84 - 0 - EXC - - - 17 - 84 - 0 - EXC - - - 18 - 84 - 0 - EXC - - - 19 - 84 - 0 - EXC - - - 20 - 84 - 0 - EXC - - - 21 - 84 - 1 - EXC - - - 22 - 84 - 0 - EXC - - - 23 - 84 - 0 - EXC - - - 24 - 84 - 1 - EXC - - - 25 - 84 - 0 - EXC - - - 26 - 84 - 0 - EXC - - - 27 - 84 - 0 - EXC - - - 28 - 84 - 0 - EXC - - - 29 - 84 - 0 - EXC - - - 30 - 84 - 0 - EXC - - - 31 - 84 - 1 - EXC - - - 32 - 84 - 0 - EXC - - - 33 - 84 - 0 - EXC - - - 34 - 84 - 1 - EXC - - - 35 - 84 - 0 - EXC - - - 36 - 84 - 0 - EXC - - - 37 - 84 - 0 - EXC - - - 38 - 84 - 0 - EXC - - - 39 - 84 - 0 - EXC - - - 40 - 84 - 0 - EXC - - - 41 - 84 - 1 - EXC - - - 42 - 84 - 0 - EXC - - - 43 - 84 - 0 - EXC - - - 44 - 84 - 1 - EXC - - - 45 - 84 - 0 - EXC - - - 46 - 84 - 0 - EXC - - - 47 - 84 - 0 - EXC - - - 48 - 84 - 0 - EXC - - - 49 - 84 - 0 - EXC - - - 50 - 84 - 0 - EXC - - - 51 - 84 - 1 - EXC - - - 52 - 84 - 0 - EXC - - - 53 - 84 - 0 - EXC - - - 54 - 84 - 1 - EXC - - - 55 - 84 - 0 - EXC - - - 56 - 84 - 0 - EXC - - - 57 - 84 - 0 - EXC - - - 58 - 84 - 0 - EXC - - - 59 - 84 - 0 - EXC - - - 60 - 84 - 0 - EXC - - - 61 - 84 - 1 - EXC - - - 62 - 84 - 0 - EXC - - - 63 - 84 - 0 - EXC - - - 64 - 84 - 1 - EXC - - - 65 - 84 - 0 - EXC - - - 66 - 84 - 0 - EXC - - - 67 - 84 - 0 - EXC - - - 68 - 84 - 0 - EXC - - - 69 - 84 - 0 - EXC - - - 70 - 84 - 0 - EXC - - - 71 - 84 - 1 - EXC - - - 72 - 84 - 0 - EXC - - - 73 - 84 - 0 - EXC - - - 74 - 84 - 1 - EXC - - - 75 - 84 - 0 - EXC - - - 76 - 84 - 0 - EXC - - - 77 - 84 - 0 - EXC - - - 78 - 84 - 0 - EXC - - - 79 - 84 - 0 - EXC - - - 80 - 84 - 0 - EXC - - - 81 - 84 - 1 - EXC - - - 82 - 84 - 0 - EXC - - - 83 - 84 - 0 - EXC - - - 84 - 84 - 1 - EXC - - - 85 - 84 - 0 - EXC - - - 86 - 84 - 0 - EXC - - - 87 - 84 - 0 - EXC - - - 88 - 84 - 0 - EXC - - - 89 - 84 - 0 - EXC - - - 90 - 84 - 0 - EXC - - - 91 - 84 - 1 - EXC - - - 92 - 84 - 0 - EXC - - - 93 - 84 - 0 - EXC - - - 94 - 84 - 1 - EXC - - - 95 - 84 - 0 - EXC - - - 96 - 84 - 0 - EXC - - - 97 - 84 - 0 - EXC - - - 98 - 84 - 0 - EXC - - - 99 - 84 - 0 - EXC - - - 0 - 85 - 0 - EXC - - - 1 - 85 - 0 - EXC - - - 2 - 85 - 0 - EXC - - - 3 - 85 - 0 - EXC - - - 4 - 85 - 0 - EXC - - - 5 - 85 - 0 - INH - - - 6 - 85 - 0 - EXC - - - 7 - 85 - 0 - EXC - - - 8 - 85 - 0 - INH - - - 9 - 85 - 0 - EXC - - - 10 - 85 - 0 - EXC - - - 11 - 85 - 0 - EXC - - - 12 - 85 - 0 - EXC - - - 13 - 85 - 0 - EXC - - - 14 - 85 - 0 - EXC - - - 15 - 85 - 0 - INH - - - 16 - 85 - 0 - EXC - - - 17 - 85 - 0 - EXC - - - 18 - 85 - 0 - INH - - - 19 - 85 - 0 - EXC - - - 20 - 85 - 0 - EXC - - - 21 - 85 - 0 - EXC - - - 22 - 85 - 0 - EXC - - - 23 - 85 - 0 - EXC - - - 24 - 85 - 0 - EXC - - - 25 - 85 - 0 - INH - - - 26 - 85 - 0 - EXC - - - 27 - 85 - 0 - EXC - - - 28 - 85 - 0 - INH - - - 29 - 85 - 0 - EXC - - - 30 - 85 - 0 - EXC - - - 31 - 85 - 0 - EXC - - - 32 - 85 - 0 - EXC - - - 33 - 85 - 0 - EXC - - - 34 - 85 - 0 - EXC - - - 35 - 85 - 0 - INH - - - 36 - 85 - 0 - EXC - - - 37 - 85 - 0 - EXC - - - 38 - 85 - 0 - INH - - - 39 - 85 - 0 - EXC - - - 40 - 85 - 0 - EXC - - - 41 - 85 - 0 - EXC - - - 42 - 85 - 0 - EXC - - - 43 - 85 - 0 - EXC - - - 44 - 85 - 0 - EXC - - - 45 - 85 - 0 - INH - - - 46 - 85 - 0 - EXC - - - 47 - 85 - 0 - EXC - - - 48 - 85 - 0 - INH - - - 49 - 85 - 0 - EXC - - - 50 - 85 - 0 - EXC - - - 51 - 85 - 0 - EXC - - - 52 - 85 - 0 - EXC - - - 53 - 85 - 0 - EXC - - - 54 - 85 - 0 - EXC - - - 55 - 85 - 0 - INH - - - 56 - 85 - 0 - EXC - - - 57 - 85 - 0 - EXC - - - 58 - 85 - 0 - INH - - - 59 - 85 - 0 - EXC - - - 60 - 85 - 0 - EXC - - - 61 - 85 - 0 - EXC - - - 62 - 85 - 0 - EXC - - - 63 - 85 - 0 - EXC - - - 64 - 85 - 0 - EXC - - - 65 - 85 - 0 - INH - - - 66 - 85 - 0 - EXC - - - 67 - 85 - 0 - EXC - - - 68 - 85 - 0 - INH - - - 69 - 85 - 0 - EXC - - - 70 - 85 - 0 - EXC - - - 71 - 85 - 0 - EXC - - - 72 - 85 - 0 - EXC - - - 73 - 85 - 0 - EXC - - - 74 - 85 - 0 - EXC - - - 75 - 85 - 0 - INH - - - 76 - 85 - 0 - EXC - - - 77 - 85 - 0 - EXC - - - 78 - 85 - 0 - INH - - - 79 - 85 - 0 - EXC - - - 80 - 85 - 0 - EXC - - - 81 - 85 - 0 - EXC - - - 82 - 85 - 0 - EXC - - - 83 - 85 - 0 - EXC - - - 84 - 85 - 0 - EXC - - - 85 - 85 - 0 - INH - - - 86 - 85 - 0 - EXC - - - 87 - 85 - 0 - EXC - - - 88 - 85 - 0 - INH - - - 89 - 85 - 0 - EXC - - - 90 - 85 - 0 - EXC - - - 91 - 85 - 0 - EXC - - - 92 - 85 - 0 - EXC - - - 93 - 85 - 0 - EXC - - - 94 - 85 - 0 - EXC - - - 95 - 85 - 0 - INH - - - 96 - 85 - 0 - EXC - - - 97 - 85 - 0 - EXC - - - 98 - 85 - 0 - INH - - - 99 - 85 - 0 - EXC - - - 0 - 86 - 0 - EXC - - - 1 - 86 - 0 - EXC - - - 2 - 86 - 0 - INH - - - 3 - 86 - 0 - EXC - - - 4 - 86 - 0 - EXC - - - 5 - 86 - 0 - EXC - - - 6 - 86 - 0 - EXC - - - 7 - 86 - 1 - EXC - - - 8 - 86 - 0 - EXC - - - 9 - 86 - 0 - EXC - - - 10 - 86 - 0 - EXC - - - 11 - 86 - 0 - EXC - - - 12 - 86 - 0 - INH - - - 13 - 86 - 0 - EXC - - - 14 - 86 - 0 - EXC - - - 15 - 86 - 0 - EXC - - - 16 - 86 - 0 - EXC - - - 17 - 86 - 1 - EXC - - - 18 - 86 - 0 - EXC - - - 19 - 86 - 0 - EXC - - - 20 - 86 - 0 - EXC - - - 21 - 86 - 0 - EXC - - - 22 - 86 - 0 - INH - - - 23 - 86 - 0 - EXC - - - 24 - 86 - 0 - EXC - - - 25 - 86 - 0 - EXC - - - 26 - 86 - 0 - EXC - - - 27 - 86 - 1 - EXC - - - 28 - 86 - 0 - EXC - - - 29 - 86 - 0 - EXC - - - 30 - 86 - 0 - EXC - - - 31 - 86 - 0 - EXC - - - 32 - 86 - 0 - INH - - - 33 - 86 - 0 - EXC - - - 34 - 86 - 0 - EXC - - - 35 - 86 - 0 - EXC - - - 36 - 86 - 0 - EXC - - - 37 - 86 - 1 - EXC - - - 38 - 86 - 0 - EXC - - - 39 - 86 - 0 - EXC - - - 40 - 86 - 0 - EXC - - - 41 - 86 - 0 - EXC - - - 42 - 86 - 0 - INH - - - 43 - 86 - 0 - EXC - - - 44 - 86 - 0 - EXC - - - 45 - 86 - 0 - EXC - - - 46 - 86 - 0 - EXC - - - 47 - 86 - 1 - EXC - - - 48 - 86 - 0 - EXC - - - 49 - 86 - 0 - EXC - - - 50 - 86 - 0 - EXC - - - 51 - 86 - 0 - EXC - - - 52 - 86 - 0 - INH - - - 53 - 86 - 0 - EXC - - - 54 - 86 - 0 - EXC - - - 55 - 86 - 0 - EXC - - - 56 - 86 - 0 - EXC - - - 57 - 86 - 1 - EXC - - - 58 - 86 - 0 - EXC - - - 59 - 86 - 0 - EXC - - - 60 - 86 - 0 - EXC - - - 61 - 86 - 0 - EXC - - - 62 - 86 - 0 - INH - - - 63 - 86 - 0 - EXC - - - 64 - 86 - 0 - EXC - - - 65 - 86 - 0 - EXC - - - 66 - 86 - 0 - EXC - - - 67 - 86 - 1 - EXC - - - 68 - 86 - 0 - EXC - - - 69 - 86 - 0 - EXC - - - 70 - 86 - 0 - EXC - - - 71 - 86 - 0 - EXC - - - 72 - 86 - 0 - INH - - - 73 - 86 - 0 - EXC - - - 74 - 86 - 0 - EXC - - - 75 - 86 - 0 - EXC - - - 76 - 86 - 0 - EXC - - - 77 - 86 - 1 - EXC - - - 78 - 86 - 0 - EXC - - - 79 - 86 - 0 - EXC - - - 80 - 86 - 0 - EXC - - - 81 - 86 - 0 - EXC - - - 82 - 86 - 0 - INH - - - 83 - 86 - 0 - EXC - - - 84 - 86 - 0 - EXC - - - 85 - 86 - 0 - EXC - - - 86 - 86 - 0 - EXC - - - 87 - 86 - 1 - EXC - - - 88 - 86 - 0 - EXC - - - 89 - 86 - 0 - EXC - - - 90 - 86 - 0 - EXC - - - 91 - 86 - 0 - EXC - - - 92 - 86 - 0 - INH - - - 93 - 86 - 0 - EXC - - - 94 - 86 - 0 - EXC - - - 95 - 86 - 0 - EXC - - - 96 - 86 - 0 - EXC - - - 97 - 86 - 1 - EXC - - - 98 - 86 - 0 - EXC - - - 99 - 86 - 0 - EXC - - - 0 - 87 - 0 - EXC - - - 1 - 87 - 1 - EXC - - - 2 - 87 - 0 - EXC - - - 3 - 87 - 0 - EXC - - - 4 - 87 - 1 - EXC - - - 5 - 87 - 0 - EXC - - - 6 - 87 - 0 - EXC - - - 7 - 87 - 0 - EXC - - - 8 - 87 - 0 - EXC - - - 9 - 87 - 0 - EXC - - - 10 - 87 - 0 - EXC - - - 11 - 87 - 1 - EXC - - - 12 - 87 - 0 - EXC - - - 13 - 87 - 0 - EXC - - - 14 - 87 - 1 - EXC - - - 15 - 87 - 0 - EXC - - - 16 - 87 - 0 - EXC - - - 17 - 87 - 0 - EXC - - - 18 - 87 - 0 - EXC - - - 19 - 87 - 0 - EXC - - - 20 - 87 - 0 - EXC - - - 21 - 87 - 1 - EXC - - - 22 - 87 - 0 - EXC - - - 23 - 87 - 0 - EXC - - - 24 - 87 - 1 - EXC - - - 25 - 87 - 0 - EXC - - - 26 - 87 - 0 - EXC - - - 27 - 87 - 0 - EXC - - - 28 - 87 - 0 - EXC - - - 29 - 87 - 0 - EXC - - - 30 - 87 - 0 - EXC - - - 31 - 87 - 1 - EXC - - - 32 - 87 - 0 - EXC - - - 33 - 87 - 0 - EXC - - - 34 - 87 - 1 - EXC - - - 35 - 87 - 0 - EXC - - - 36 - 87 - 0 - EXC - - - 37 - 87 - 0 - EXC - - - 38 - 87 - 0 - EXC - - - 39 - 87 - 0 - EXC - - - 40 - 87 - 0 - EXC - - - 41 - 87 - 1 - EXC - - - 42 - 87 - 0 - EXC - - - 43 - 87 - 0 - EXC - - - 44 - 87 - 1 - EXC - - - 45 - 87 - 0 - EXC - - - 46 - 87 - 0 - EXC - - - 47 - 87 - 0 - EXC - - - 48 - 87 - 0 - EXC - - - 49 - 87 - 0 - EXC - - - 50 - 87 - 0 - EXC - - - 51 - 87 - 1 - EXC - - - 52 - 87 - 0 - EXC - - - 53 - 87 - 0 - EXC - - - 54 - 87 - 1 - EXC - - - 55 - 87 - 0 - EXC - - - 56 - 87 - 0 - EXC - - - 57 - 87 - 0 - EXC - - - 58 - 87 - 0 - EXC - - - 59 - 87 - 0 - EXC - - - 60 - 87 - 0 - EXC - - - 61 - 87 - 1 - EXC - - - 62 - 87 - 0 - EXC - - - 63 - 87 - 0 - EXC - - - 64 - 87 - 1 - EXC - - - 65 - 87 - 0 - EXC - - - 66 - 87 - 0 - EXC - - - 67 - 87 - 0 - EXC - - - 68 - 87 - 0 - EXC - - - 69 - 87 - 0 - EXC - - - 70 - 87 - 0 - EXC - - - 71 - 87 - 1 - EXC - - - 72 - 87 - 0 - EXC - - - 73 - 87 - 0 - EXC - - - 74 - 87 - 1 - EXC - - - 75 - 87 - 0 - EXC - - - 76 - 87 - 0 - EXC - - - 77 - 87 - 0 - EXC - - - 78 - 87 - 0 - EXC - - - 79 - 87 - 0 - EXC - - - 80 - 87 - 0 - EXC - - - 81 - 87 - 1 - EXC - - - 82 - 87 - 0 - EXC - - - 83 - 87 - 0 - EXC - - - 84 - 87 - 1 - EXC - - - 85 - 87 - 0 - EXC - - - 86 - 87 - 0 - EXC - - - 87 - 87 - 0 - EXC - - - 88 - 87 - 0 - EXC - - - 89 - 87 - 0 - EXC - - - 90 - 87 - 0 - EXC - - - 91 - 87 - 1 - EXC - - - 92 - 87 - 0 - EXC - - - 93 - 87 - 0 - EXC - - - 94 - 87 - 1 - EXC - - - 95 - 87 - 0 - EXC - - - 96 - 87 - 0 - EXC - - - 97 - 87 - 0 - EXC - - - 98 - 87 - 0 - EXC - - - 99 - 87 - 0 - EXC - - - 0 - 88 - 0 - EXC - - - 1 - 88 - 0 - EXC - - - 2 - 88 - 0 - EXC - - - 3 - 88 - 0 - EXC - - - 4 - 88 - 0 - EXC - - - 5 - 88 - 0 - INH - - - 6 - 88 - 0 - EXC - - - 7 - 88 - 0 - EXC - - - 8 - 88 - 0 - INH - - - 9 - 88 - 0 - EXC - - - 10 - 88 - 0 - EXC - - - 11 - 88 - 0 - EXC - - - 12 - 88 - 0 - EXC - - - 13 - 88 - 0 - EXC - - - 14 - 88 - 0 - EXC - - - 15 - 88 - 0 - INH - - - 16 - 88 - 0 - EXC - - - 17 - 88 - 0 - EXC - - - 18 - 88 - 0 - INH - - - 19 - 88 - 0 - EXC - - - 20 - 88 - 0 - EXC - - - 21 - 88 - 0 - EXC - - - 22 - 88 - 0 - EXC - - - 23 - 88 - 0 - EXC - - - 24 - 88 - 0 - EXC - - - 25 - 88 - 0 - INH - - - 26 - 88 - 0 - EXC - - - 27 - 88 - 0 - EXC - - - 28 - 88 - 0 - INH - - - 29 - 88 - 0 - EXC - - - 30 - 88 - 0 - EXC - - - 31 - 88 - 0 - EXC - - - 32 - 88 - 0 - EXC - - - 33 - 88 - 0 - EXC - - - 34 - 88 - 0 - EXC - - - 35 - 88 - 0 - INH - - - 36 - 88 - 0 - EXC - - - 37 - 88 - 0 - EXC - - - 38 - 88 - 0 - INH - - - 39 - 88 - 0 - EXC - - - 40 - 88 - 0 - EXC - - - 41 - 88 - 0 - EXC - - - 42 - 88 - 0 - EXC - - - 43 - 88 - 0 - EXC - - - 44 - 88 - 0 - EXC - - - 45 - 88 - 0 - INH - - - 46 - 88 - 0 - EXC - - - 47 - 88 - 0 - EXC - - - 48 - 88 - 0 - INH - - - 49 - 88 - 0 - EXC - - - 50 - 88 - 0 - EXC - - - 51 - 88 - 0 - EXC - - - 52 - 88 - 0 - EXC - - - 53 - 88 - 0 - EXC - - - 54 - 88 - 0 - EXC - - - 55 - 88 - 0 - INH - - - 56 - 88 - 0 - EXC - - - 57 - 88 - 0 - EXC - - - 58 - 88 - 0 - INH - - - 59 - 88 - 0 - EXC - - - 60 - 88 - 0 - EXC - - - 61 - 88 - 0 - EXC - - - 62 - 88 - 0 - EXC - - - 63 - 88 - 0 - EXC - - - 64 - 88 - 0 - EXC - - - 65 - 88 - 0 - INH - - - 66 - 88 - 0 - EXC - - - 67 - 88 - 0 - EXC - - - 68 - 88 - 0 - INH - - - 69 - 88 - 0 - EXC - - - 70 - 88 - 0 - EXC - - - 71 - 88 - 0 - EXC - - - 72 - 88 - 0 - EXC - - - 73 - 88 - 0 - EXC - - - 74 - 88 - 0 - EXC - - - 75 - 88 - 0 - INH - - - 76 - 88 - 0 - EXC - - - 77 - 88 - 0 - EXC - - - 78 - 88 - 0 - INH - - - 79 - 88 - 0 - EXC - - - 80 - 88 - 0 - EXC - - - 81 - 88 - 0 - EXC - - - 82 - 88 - 0 - EXC - - - 83 - 88 - 0 - EXC - - - 84 - 88 - 0 - EXC - - - 85 - 88 - 0 - INH - - - 86 - 88 - 0 - EXC - - - 87 - 88 - 0 - EXC - - - 88 - 88 - 0 - INH - - - 89 - 88 - 0 - EXC - - - 90 - 88 - 0 - EXC - - - 91 - 88 - 0 - EXC - - - 92 - 88 - 0 - EXC - - - 93 - 88 - 0 - EXC - - - 94 - 88 - 0 - EXC - - - 95 - 88 - 0 - INH - - - 96 - 88 - 0 - EXC - - - 97 - 88 - 0 - EXC - - - 98 - 88 - 0 - INH - - - 99 - 88 - 0 - EXC - - - 0 - 89 - 0 - EXC - - - 1 - 89 - 0 - EXC - - - 2 - 89 - 0 - INH - - - 3 - 89 - 0 - EXC - - - 4 - 89 - 0 - EXC - - - 5 - 89 - 0 - EXC - - - 6 - 89 - 0 - EXC - - - 7 - 89 - 1 - EXC - - - 8 - 89 - 0 - EXC - - - 9 - 89 - 0 - EXC - - - 10 - 89 - 0 - EXC - - - 11 - 89 - 0 - EXC - - - 12 - 89 - 0 - INH - - - 13 - 89 - 0 - EXC - - - 14 - 89 - 0 - EXC - - - 15 - 89 - 0 - EXC - - - 16 - 89 - 0 - EXC - - - 17 - 89 - 1 - EXC - - - 18 - 89 - 0 - EXC - - - 19 - 89 - 0 - EXC - - - 20 - 89 - 0 - EXC - - - 21 - 89 - 0 - EXC - - - 22 - 89 - 0 - INH - - - 23 - 89 - 0 - EXC - - - 24 - 89 - 0 - EXC - - - 25 - 89 - 0 - EXC - - - 26 - 89 - 0 - EXC - - - 27 - 89 - 1 - EXC - - - 28 - 89 - 0 - EXC - - - 29 - 89 - 0 - EXC - - - 30 - 89 - 0 - EXC - - - 31 - 89 - 0 - EXC - - - 32 - 89 - 0 - INH - - - 33 - 89 - 0 - EXC - - - 34 - 89 - 0 - EXC - - - 35 - 89 - 0 - EXC - - - 36 - 89 - 0 - EXC - - - 37 - 89 - 1 - EXC - - - 38 - 89 - 0 - EXC - - - 39 - 89 - 0 - EXC - - - 40 - 89 - 0 - EXC - - - 41 - 89 - 0 - EXC - - - 42 - 89 - 0 - INH - - - 43 - 89 - 0 - EXC - - - 44 - 89 - 0 - EXC - - - 45 - 89 - 0 - EXC - - - 46 - 89 - 0 - EXC - - - 47 - 89 - 1 - EXC - - - 48 - 89 - 0 - EXC - - - 49 - 89 - 0 - EXC - - - 50 - 89 - 0 - EXC - - - 51 - 89 - 0 - EXC - - - 52 - 89 - 0 - INH - - - 53 - 89 - 0 - EXC - - - 54 - 89 - 0 - EXC - - - 55 - 89 - 0 - EXC - - - 56 - 89 - 0 - EXC - - - 57 - 89 - 1 - EXC - - - 58 - 89 - 0 - EXC - - - 59 - 89 - 0 - EXC - - - 60 - 89 - 0 - EXC - - - 61 - 89 - 0 - EXC - - - 62 - 89 - 0 - INH - - - 63 - 89 - 0 - EXC - - - 64 - 89 - 0 - EXC - - - 65 - 89 - 0 - EXC - - - 66 - 89 - 0 - EXC - - - 67 - 89 - 1 - EXC - - - 68 - 89 - 0 - EXC - - - 69 - 89 - 0 - EXC - - - 70 - 89 - 0 - EXC - - - 71 - 89 - 0 - EXC - - - 72 - 89 - 0 - INH - - - 73 - 89 - 0 - EXC - - - 74 - 89 - 0 - EXC - - - 75 - 89 - 0 - EXC - - - 76 - 89 - 0 - EXC - - - 77 - 89 - 1 - EXC - - - 78 - 89 - 0 - EXC - - - 79 - 89 - 0 - EXC - - - 80 - 89 - 0 - EXC - - - 81 - 89 - 0 - EXC - - - 82 - 89 - 0 - INH - - - 83 - 89 - 0 - EXC - - - 84 - 89 - 0 - EXC - - - 85 - 89 - 0 - EXC - - - 86 - 89 - 0 - EXC - - - 87 - 89 - 1 - EXC - - - 88 - 89 - 0 - EXC - - - 89 - 89 - 0 - EXC - - - 90 - 89 - 0 - EXC - - - 91 - 89 - 0 - EXC - - - 92 - 89 - 0 - INH - - - 93 - 89 - 0 - EXC - - - 94 - 89 - 0 - EXC - - - 95 - 89 - 0 - EXC - - - 96 - 89 - 0 - EXC - - - 97 - 89 - 1 - EXC - - - 98 - 89 - 0 - EXC - - - 99 - 89 - 0 - EXC - - - 0 - 90 - 0 - EXC - - - 1 - 90 - 0 - EXC - - - 2 - 90 - 0 - EXC - - - 3 - 90 - 0 - EXC - - - 4 - 90 - 0 - EXC - - - 5 - 90 - 0 - EXC - - - 6 - 90 - 0 - EXC - - - 7 - 90 - 1 - EXC - - - 8 - 90 - 0 - INH - - - 9 - 90 - 0 - EXC - - - 10 - 90 - 0 - EXC - - - 11 - 90 - 0 - EXC - - - 12 - 90 - 0 - EXC - - - 13 - 90 - 0 - EXC - - - 14 - 90 - 0 - EXC - - - 15 - 90 - 0 - EXC - - - 16 - 90 - 0 - EXC - - - 17 - 90 - 1 - EXC - - - 18 - 90 - 0 - INH - - - 19 - 90 - 0 - EXC - - - 20 - 90 - 0 - EXC - - - 21 - 90 - 0 - EXC - - - 22 - 90 - 0 - EXC - - - 23 - 90 - 0 - EXC - - - 24 - 90 - 0 - EXC - - - 25 - 90 - 0 - EXC - - - 26 - 90 - 0 - EXC - - - 27 - 90 - 1 - EXC - - - 28 - 90 - 0 - INH - - - 29 - 90 - 0 - EXC - - - 30 - 90 - 0 - EXC - - - 31 - 90 - 0 - EXC - - - 32 - 90 - 0 - EXC - - - 33 - 90 - 0 - EXC - - - 34 - 90 - 0 - EXC - - - 35 - 90 - 0 - EXC - - - 36 - 90 - 0 - EXC - - - 37 - 90 - 1 - EXC - - - 38 - 90 - 0 - INH - - - 39 - 90 - 0 - EXC - - - 40 - 90 - 0 - EXC - - - 41 - 90 - 0 - EXC - - - 42 - 90 - 0 - EXC - - - 43 - 90 - 0 - EXC - - - 44 - 90 - 0 - EXC - - - 45 - 90 - 0 - EXC - - - 46 - 90 - 0 - EXC - - - 47 - 90 - 1 - EXC - - - 48 - 90 - 0 - INH - - - 49 - 90 - 0 - EXC - - - 50 - 90 - 0 - EXC - - - 51 - 90 - 0 - EXC - - - 52 - 90 - 0 - EXC - - - 53 - 90 - 0 - EXC - - - 54 - 90 - 0 - EXC - - - 55 - 90 - 0 - EXC - - - 56 - 90 - 0 - EXC - - - 57 - 90 - 1 - EXC - - - 58 - 90 - 0 - INH - - - 59 - 90 - 0 - EXC - - - 60 - 90 - 0 - EXC - - - 61 - 90 - 0 - EXC - - - 62 - 90 - 0 - EXC - - - 63 - 90 - 0 - EXC - - - 64 - 90 - 0 - EXC - - - 65 - 90 - 0 - EXC - - - 66 - 90 - 0 - EXC - - - 67 - 90 - 1 - EXC - - - 68 - 90 - 0 - INH - - - 69 - 90 - 0 - EXC - - - 70 - 90 - 0 - EXC - - - 71 - 90 - 0 - EXC - - - 72 - 90 - 0 - EXC - - - 73 - 90 - 0 - EXC - - - 74 - 90 - 0 - EXC - - - 75 - 90 - 0 - EXC - - - 76 - 90 - 0 - EXC - - - 77 - 90 - 1 - EXC - - - 78 - 90 - 0 - INH - - - 79 - 90 - 0 - EXC - - - 80 - 90 - 0 - EXC - - - 81 - 90 - 0 - EXC - - - 82 - 90 - 0 - EXC - - - 83 - 90 - 0 - EXC - - - 84 - 90 - 0 - EXC - - - 85 - 90 - 0 - EXC - - - 86 - 90 - 0 - EXC - - - 87 - 90 - 1 - EXC - - - 88 - 90 - 0 - INH - - - 89 - 90 - 0 - EXC - - - 90 - 90 - 0 - EXC - - - 91 - 90 - 0 - EXC - - - 92 - 90 - 0 - EXC - - - 93 - 90 - 0 - EXC - - - 94 - 90 - 0 - EXC - - - 95 - 90 - 0 - EXC - - - 96 - 90 - 0 - EXC - - - 97 - 90 - 1 - EXC - - - 98 - 90 - 0 - INH - - - 99 - 90 - 0 - EXC - - - 0 - 91 - 0 - EXC - - - 1 - 91 - 1 - EXC - - - 2 - 91 - 0 - EXC - - - 3 - 91 - 0 - EXC - - - 4 - 91 - 1 - EXC - - - 5 - 91 - 0 - EXC - - - 6 - 91 - 0 - EXC - - - 7 - 91 - 0 - EXC - - - 8 - 91 - 0 - EXC - - - 9 - 91 - 0 - EXC - - - 10 - 91 - 0 - EXC - - - 11 - 91 - 1 - EXC - - - 12 - 91 - 0 - EXC - - - 13 - 91 - 0 - EXC - - - 14 - 91 - 1 - EXC - - - 15 - 91 - 0 - EXC - - - 16 - 91 - 0 - EXC - - - 17 - 91 - 0 - EXC - - - 18 - 91 - 0 - EXC - - - 19 - 91 - 0 - EXC - - - 20 - 91 - 0 - EXC - - - 21 - 91 - 1 - EXC - - - 22 - 91 - 0 - EXC - - - 23 - 91 - 0 - EXC - - - 24 - 91 - 1 - EXC - - - 25 - 91 - 0 - EXC - - - 26 - 91 - 0 - EXC - - - 27 - 91 - 0 - EXC - - - 28 - 91 - 0 - EXC - - - 29 - 91 - 0 - EXC - - - 30 - 91 - 0 - EXC - - - 31 - 91 - 1 - EXC - - - 32 - 91 - 0 - EXC - - - 33 - 91 - 0 - EXC - - - 34 - 91 - 1 - EXC - - - 35 - 91 - 0 - EXC - - - 36 - 91 - 0 - EXC - - - 37 - 91 - 0 - EXC - - - 38 - 91 - 0 - EXC - - - 39 - 91 - 0 - EXC - - - 40 - 91 - 0 - EXC - - - 41 - 91 - 1 - EXC - - - 42 - 91 - 0 - EXC - - - 43 - 91 - 0 - EXC - - - 44 - 91 - 1 - EXC - - - 45 - 91 - 0 - EXC - - - 46 - 91 - 0 - EXC - - - 47 - 91 - 0 - EXC - - - 48 - 91 - 0 - EXC - - - 49 - 91 - 0 - EXC - - - 50 - 91 - 0 - EXC - - - 51 - 91 - 1 - EXC - - - 52 - 91 - 0 - EXC - - - 53 - 91 - 0 - EXC - - - 54 - 91 - 1 - EXC - - - 55 - 91 - 0 - EXC - - - 56 - 91 - 0 - EXC - - - 57 - 91 - 0 - EXC - - - 58 - 91 - 0 - EXC - - - 59 - 91 - 0 - EXC - - - 60 - 91 - 0 - EXC - - - 61 - 91 - 1 - EXC - - - 62 - 91 - 0 - EXC - - - 63 - 91 - 0 - EXC - - - 64 - 91 - 1 - EXC - - - 65 - 91 - 0 - EXC - - - 66 - 91 - 0 - EXC - - - 67 - 91 - 0 - EXC - - - 68 - 91 - 0 - EXC - - - 69 - 91 - 0 - EXC - - - 70 - 91 - 0 - EXC - - - 71 - 91 - 1 - EXC - - - 72 - 91 - 0 - EXC - - - 73 - 91 - 0 - EXC - - - 74 - 91 - 1 - EXC - - - 75 - 91 - 0 - EXC - - - 76 - 91 - 0 - EXC - - - 77 - 91 - 0 - EXC - - - 78 - 91 - 0 - EXC - - - 79 - 91 - 0 - EXC - - - 80 - 91 - 0 - EXC - - - 81 - 91 - 1 - EXC - - - 82 - 91 - 0 - EXC - - - 83 - 91 - 0 - EXC - - - 84 - 91 - 1 - EXC - - - 85 - 91 - 0 - EXC - - - 86 - 91 - 0 - EXC - - - 87 - 91 - 0 - EXC - - - 88 - 91 - 0 - EXC - - - 89 - 91 - 0 - EXC - - - 90 - 91 - 0 - EXC - - - 91 - 91 - 1 - EXC - - - 92 - 91 - 0 - EXC - - - 93 - 91 - 0 - EXC - - - 94 - 91 - 1 - EXC - - - 95 - 91 - 0 - EXC - - - 96 - 91 - 0 - EXC - - - 97 - 91 - 0 - EXC - - - 98 - 91 - 0 - EXC - - - 99 - 91 - 0 - EXC - - - 0 - 92 - 0 - EXC - - - 1 - 92 - 0 - EXC - - - 2 - 92 - 0 - INH - - - 3 - 92 - 0 - EXC - - - 4 - 92 - 0 - EXC - - - 5 - 92 - 0 - INH - - - 6 - 92 - 0 - EXC - - - 7 - 92 - 0 - EXC - - - 8 - 92 - 0 - EXC - - - 9 - 92 - 0 - EXC - - - 10 - 92 - 0 - EXC - - - 11 - 92 - 0 - EXC - - - 12 - 92 - 0 - INH - - - 13 - 92 - 0 - EXC - - - 14 - 92 - 0 - EXC - - - 15 - 92 - 0 - INH - - - 16 - 92 - 0 - EXC - - - 17 - 92 - 0 - EXC - - - 18 - 92 - 0 - EXC - - - 19 - 92 - 0 - EXC - - - 20 - 92 - 0 - EXC - - - 21 - 92 - 0 - EXC - - - 22 - 92 - 0 - INH - - - 23 - 92 - 0 - EXC - - - 24 - 92 - 0 - EXC - - - 25 - 92 - 0 - INH - - - 26 - 92 - 0 - EXC - - - 27 - 92 - 0 - EXC - - - 28 - 92 - 0 - EXC - - - 29 - 92 - 0 - EXC - - - 30 - 92 - 0 - EXC - - - 31 - 92 - 0 - EXC - - - 32 - 92 - 0 - INH - - - 33 - 92 - 0 - EXC - - - 34 - 92 - 0 - EXC - - - 35 - 92 - 0 - INH - - - 36 - 92 - 0 - EXC - - - 37 - 92 - 0 - EXC - - - 38 - 92 - 0 - EXC - - - 39 - 92 - 0 - EXC - - - 40 - 92 - 0 - EXC - - - 41 - 92 - 0 - EXC - - - 42 - 92 - 0 - INH - - - 43 - 92 - 0 - EXC - - - 44 - 92 - 0 - EXC - - - 45 - 92 - 0 - INH - - - 46 - 92 - 0 - EXC - - - 47 - 92 - 0 - EXC - - - 48 - 92 - 0 - EXC - - - 49 - 92 - 0 - EXC - - - 50 - 92 - 0 - EXC - - - 51 - 92 - 0 - EXC - - - 52 - 92 - 0 - INH - - - 53 - 92 - 0 - EXC - - - 54 - 92 - 0 - EXC - - - 55 - 92 - 0 - INH - - - 56 - 92 - 0 - EXC - - - 57 - 92 - 0 - EXC - - - 58 - 92 - 0 - EXC - - - 59 - 92 - 0 - EXC - - - 60 - 92 - 0 - EXC - - - 61 - 92 - 0 - EXC - - - 62 - 92 - 0 - INH - - - 63 - 92 - 0 - EXC - - - 64 - 92 - 0 - EXC - - - 65 - 92 - 0 - INH - - - 66 - 92 - 0 - EXC - - - 67 - 92 - 0 - EXC - - - 68 - 92 - 0 - EXC - - - 69 - 92 - 0 - EXC - - - 70 - 92 - 0 - EXC - - - 71 - 92 - 0 - EXC - - - 72 - 92 - 0 - INH - - - 73 - 92 - 0 - EXC - - - 74 - 92 - 0 - EXC - - - 75 - 92 - 0 - INH - - - 76 - 92 - 0 - EXC - - - 77 - 92 - 0 - EXC - - - 78 - 92 - 0 - EXC - - - 79 - 92 - 0 - EXC - - - 80 - 92 - 0 - EXC - - - 81 - 92 - 0 - EXC - - - 82 - 92 - 0 - INH - - - 83 - 92 - 0 - EXC - - - 84 - 92 - 0 - EXC - - - 85 - 92 - 0 - INH - - - 86 - 92 - 0 - EXC - - - 87 - 92 - 0 - EXC - - - 88 - 92 - 0 - EXC - - - 89 - 92 - 0 - EXC - - - 90 - 92 - 0 - EXC - - - 91 - 92 - 0 - EXC - - - 92 - 92 - 0 - INH - - - 93 - 92 - 0 - EXC - - - 94 - 92 - 0 - EXC - - - 95 - 92 - 0 - INH - - - 96 - 92 - 0 - EXC - - - 97 - 92 - 0 - EXC - - - 98 - 92 - 0 - EXC - - - 99 - 92 - 0 - EXC - - - 0 - 93 - 0 - EXC - - - 1 - 93 - 0 - EXC - - - 2 - 93 - 0 - EXC - - - 3 - 93 - 0 - EXC - - - 4 - 93 - 0 - EXC - - - 5 - 93 - 0 - EXC - - - 6 - 93 - 0 - EXC - - - 7 - 93 - 1 - EXC - - - 8 - 93 - 0 - INH - - - 9 - 93 - 0 - EXC - - - 10 - 93 - 0 - EXC - - - 11 - 93 - 0 - EXC - - - 12 - 93 - 0 - EXC - - - 13 - 93 - 0 - EXC - - - 14 - 93 - 0 - EXC - - - 15 - 93 - 0 - EXC - - - 16 - 93 - 0 - EXC - - - 17 - 93 - 1 - EXC - - - 18 - 93 - 0 - INH - - - 19 - 93 - 0 - EXC - - - 20 - 93 - 0 - EXC - - - 21 - 93 - 0 - EXC - - - 22 - 93 - 0 - EXC - - - 23 - 93 - 0 - EXC - - - 24 - 93 - 0 - EXC - - - 25 - 93 - 0 - EXC - - - 26 - 93 - 0 - EXC - - - 27 - 93 - 1 - EXC - - - 28 - 93 - 0 - INH - - - 29 - 93 - 0 - EXC - - - 30 - 93 - 0 - EXC - - - 31 - 93 - 0 - EXC - - - 32 - 93 - 0 - EXC - - - 33 - 93 - 0 - EXC - - - 34 - 93 - 0 - EXC - - - 35 - 93 - 0 - EXC - - - 36 - 93 - 0 - EXC - - - 37 - 93 - 1 - EXC - - - 38 - 93 - 0 - INH - - - 39 - 93 - 0 - EXC - - - 40 - 93 - 0 - EXC - - - 41 - 93 - 0 - EXC - - - 42 - 93 - 0 - EXC - - - 43 - 93 - 0 - EXC - - - 44 - 93 - 0 - EXC - - - 45 - 93 - 0 - EXC - - - 46 - 93 - 0 - EXC - - - 47 - 93 - 1 - EXC - - - 48 - 93 - 0 - INH - - - 49 - 93 - 0 - EXC - - - 50 - 93 - 0 - EXC - - - 51 - 93 - 0 - EXC - - - 52 - 93 - 0 - EXC - - - 53 - 93 - 0 - EXC - - - 54 - 93 - 0 - EXC - - - 55 - 93 - 0 - EXC - - - 56 - 93 - 0 - EXC - - - 57 - 93 - 1 - EXC - - - 58 - 93 - 0 - INH - - - 59 - 93 - 0 - EXC - - - 60 - 93 - 0 - EXC - - - 61 - 93 - 0 - EXC - - - 62 - 93 - 0 - EXC - - - 63 - 93 - 0 - EXC - - - 64 - 93 - 0 - EXC - - - 65 - 93 - 0 - EXC - - - 66 - 93 - 0 - EXC - - - 67 - 93 - 1 - EXC - - - 68 - 93 - 0 - INH - - - 69 - 93 - 0 - EXC - - - 70 - 93 - 0 - EXC - - - 71 - 93 - 0 - EXC - - - 72 - 93 - 0 - EXC - - - 73 - 93 - 0 - EXC - - - 74 - 93 - 0 - EXC - - - 75 - 93 - 0 - EXC - - - 76 - 93 - 0 - EXC - - - 77 - 93 - 1 - EXC - - - 78 - 93 - 0 - INH - - - 79 - 93 - 0 - EXC - - - 80 - 93 - 0 - EXC - - - 81 - 93 - 0 - EXC - - - 82 - 93 - 0 - EXC - - - 83 - 93 - 0 - EXC - - - 84 - 93 - 0 - EXC - - - 85 - 93 - 0 - EXC - - - 86 - 93 - 0 - EXC - - - 87 - 93 - 1 - EXC - - - 88 - 93 - 0 - INH - - - 89 - 93 - 0 - EXC - - - 90 - 93 - 0 - EXC - - - 91 - 93 - 0 - EXC - - - 92 - 93 - 0 - EXC - - - 93 - 93 - 0 - EXC - - - 94 - 93 - 0 - EXC - - - 95 - 93 - 0 - EXC - - - 96 - 93 - 0 - EXC - - - 97 - 93 - 1 - EXC - - - 98 - 93 - 0 - INH - - - 99 - 93 - 0 - EXC - - - 0 - 94 - 0 - EXC - - - 1 - 94 - 1 - EXC - - - 2 - 94 - 0 - EXC - - - 3 - 94 - 0 - EXC - - - 4 - 94 - 1 - EXC - - - 5 - 94 - 0 - EXC - - - 6 - 94 - 0 - EXC - - - 7 - 94 - 0 - EXC - - - 8 - 94 - 0 - EXC - - - 9 - 94 - 0 - EXC - - - 10 - 94 - 0 - EXC - - - 11 - 94 - 1 - EXC - - - 12 - 94 - 0 - EXC - - - 13 - 94 - 0 - EXC - - - 14 - 94 - 1 - EXC - - - 15 - 94 - 0 - EXC - - - 16 - 94 - 0 - EXC - - - 17 - 94 - 0 - EXC - - - 18 - 94 - 0 - EXC - - - 19 - 94 - 0 - EXC - - - 20 - 94 - 0 - EXC - - - 21 - 94 - 1 - EXC - - - 22 - 94 - 0 - EXC - - - 23 - 94 - 0 - EXC - - - 24 - 94 - 1 - EXC - - - 25 - 94 - 0 - EXC - - - 26 - 94 - 0 - EXC - - - 27 - 94 - 0 - EXC - - - 28 - 94 - 0 - EXC - - - 29 - 94 - 0 - EXC - - - 30 - 94 - 0 - EXC - - - 31 - 94 - 1 - EXC - - - 32 - 94 - 0 - EXC - - - 33 - 94 - 0 - EXC - - - 34 - 94 - 1 - EXC - - - 35 - 94 - 0 - EXC - - - 36 - 94 - 0 - EXC - - - 37 - 94 - 0 - EXC - - - 38 - 94 - 0 - EXC - - - 39 - 94 - 0 - EXC - - - 40 - 94 - 0 - EXC - - - 41 - 94 - 1 - EXC - - - 42 - 94 - 0 - EXC - - - 43 - 94 - 0 - EXC - - - 44 - 94 - 1 - EXC - - - 45 - 94 - 0 - EXC - - - 46 - 94 - 0 - EXC - - - 47 - 94 - 0 - EXC - - - 48 - 94 - 0 - EXC - - - 49 - 94 - 0 - EXC - - - 50 - 94 - 0 - EXC - - - 51 - 94 - 1 - EXC - - - 52 - 94 - 0 - EXC - - - 53 - 94 - 0 - EXC - - - 54 - 94 - 1 - EXC - - - 55 - 94 - 0 - EXC - - - 56 - 94 - 0 - EXC - - - 57 - 94 - 0 - EXC - - - 58 - 94 - 0 - EXC - - - 59 - 94 - 0 - EXC - - - 60 - 94 - 0 - EXC - - - 61 - 94 - 1 - EXC - - - 62 - 94 - 0 - EXC - - - 63 - 94 - 0 - EXC - - - 64 - 94 - 1 - EXC - - - 65 - 94 - 0 - EXC - - - 66 - 94 - 0 - EXC - - - 67 - 94 - 0 - EXC - - - 68 - 94 - 0 - EXC - - - 69 - 94 - 0 - EXC - - - 70 - 94 - 0 - EXC - - - 71 - 94 - 1 - EXC - - - 72 - 94 - 0 - EXC - - - 73 - 94 - 0 - EXC - - - 74 - 94 - 1 - EXC - - - 75 - 94 - 0 - EXC - - - 76 - 94 - 0 - EXC - - - 77 - 94 - 0 - EXC - - - 78 - 94 - 0 - EXC - - - 79 - 94 - 0 - EXC - - - 80 - 94 - 0 - EXC - - - 81 - 94 - 1 - EXC - - - 82 - 94 - 0 - EXC - - - 83 - 94 - 0 - EXC - - - 84 - 94 - 1 - EXC - - - 85 - 94 - 0 - EXC - - - 86 - 94 - 0 - EXC - - - 87 - 94 - 0 - EXC - - - 88 - 94 - 0 - EXC - - - 89 - 94 - 0 - EXC - - - 90 - 94 - 0 - EXC - - - 91 - 94 - 1 - EXC - - - 92 - 94 - 0 - EXC - - - 93 - 94 - 0 - EXC - - - 94 - 94 - 1 - EXC - - - 95 - 94 - 0 - EXC - - - 96 - 94 - 0 - EXC - - - 97 - 94 - 0 - EXC - - - 98 - 94 - 0 - EXC - - - 99 - 94 - 0 - EXC - - - 0 - 95 - 0 - EXC - - - 1 - 95 - 0 - EXC - - - 2 - 95 - 0 - INH - - - 3 - 95 - 0 - EXC - - - 4 - 95 - 0 - EXC - - - 5 - 95 - 0 - INH - - - 6 - 95 - 0 - EXC - - - 7 - 95 - 0 - EXC - - - 8 - 95 - 0 - EXC - - - 9 - 95 - 0 - EXC - - - 10 - 95 - 0 - EXC - - - 11 - 95 - 0 - EXC - - - 12 - 95 - 0 - INH - - - 13 - 95 - 0 - EXC - - - 14 - 95 - 0 - EXC - - - 15 - 95 - 0 - INH - - - 16 - 95 - 0 - EXC - - - 17 - 95 - 0 - EXC - - - 18 - 95 - 0 - EXC - - - 19 - 95 - 0 - EXC - - - 20 - 95 - 0 - EXC - - - 21 - 95 - 0 - EXC - - - 22 - 95 - 0 - INH - - - 23 - 95 - 0 - EXC - - - 24 - 95 - 0 - EXC - - - 25 - 95 - 0 - INH - - - 26 - 95 - 0 - EXC - - - 27 - 95 - 0 - EXC - - - 28 - 95 - 0 - EXC - - - 29 - 95 - 0 - EXC - - - 30 - 95 - 0 - EXC - - - 31 - 95 - 0 - EXC - - - 32 - 95 - 0 - INH - - - 33 - 95 - 0 - EXC - - - 34 - 95 - 0 - EXC - - - 35 - 95 - 0 - INH - - - 36 - 95 - 0 - EXC - - - 37 - 95 - 0 - EXC - - - 38 - 95 - 0 - EXC - - - 39 - 95 - 0 - EXC - - - 40 - 95 - 0 - EXC - - - 41 - 95 - 0 - EXC - - - 42 - 95 - 0 - INH - - - 43 - 95 - 0 - EXC - - - 44 - 95 - 0 - EXC - - - 45 - 95 - 0 - INH - - - 46 - 95 - 0 - EXC - - - 47 - 95 - 0 - EXC - - - 48 - 95 - 0 - EXC - - - 49 - 95 - 0 - EXC - - - 50 - 95 - 0 - EXC - - - 51 - 95 - 0 - EXC - - - 52 - 95 - 0 - INH - - - 53 - 95 - 0 - EXC - - - 54 - 95 - 0 - EXC - - - 55 - 95 - 0 - INH - - - 56 - 95 - 0 - EXC - - - 57 - 95 - 0 - EXC - - - 58 - 95 - 0 - EXC - - - 59 - 95 - 0 - EXC - - - 60 - 95 - 0 - EXC - - - 61 - 95 - 0 - EXC - - - 62 - 95 - 0 - INH - - - 63 - 95 - 0 - EXC - - - 64 - 95 - 0 - EXC - - - 65 - 95 - 0 - INH - - - 66 - 95 - 0 - EXC - - - 67 - 95 - 0 - EXC - - - 68 - 95 - 0 - EXC - - - 69 - 95 - 0 - EXC - - - 70 - 95 - 0 - EXC - - - 71 - 95 - 0 - EXC - - - 72 - 95 - 0 - INH - - - 73 - 95 - 0 - EXC - - - 74 - 95 - 0 - EXC - - - 75 - 95 - 0 - INH - - - 76 - 95 - 0 - EXC - - - 77 - 95 - 0 - EXC - - - 78 - 95 - 0 - EXC - - - 79 - 95 - 0 - EXC - - - 80 - 95 - 0 - EXC - - - 81 - 95 - 0 - EXC - - - 82 - 95 - 0 - INH - - - 83 - 95 - 0 - EXC - - - 84 - 95 - 0 - EXC - - - 85 - 95 - 0 - INH - - - 86 - 95 - 0 - EXC - - - 87 - 95 - 0 - EXC - - - 88 - 95 - 0 - EXC - - - 89 - 95 - 0 - EXC - - - 90 - 95 - 0 - EXC - - - 91 - 95 - 0 - EXC - - - 92 - 95 - 0 - INH - - - 93 - 95 - 0 - EXC - - - 94 - 95 - 0 - EXC - - - 95 - 95 - 0 - INH - - - 96 - 95 - 0 - EXC - - - 97 - 95 - 0 - EXC - - - 98 - 95 - 0 - EXC - - - 99 - 95 - 0 - EXC - - - 0 - 96 - 0 - EXC - - - 1 - 96 - 0 - EXC - - - 2 - 96 - 0 - EXC - - - 3 - 96 - 0 - EXC - - - 4 - 96 - 0 - EXC - - - 5 - 96 - 0 - EXC - - - 6 - 96 - 0 - EXC - - - 7 - 96 - 1 - EXC - - - 8 - 96 - 0 - INH - - - 9 - 96 - 0 - EXC - - - 10 - 96 - 0 - EXC - - - 11 - 96 - 0 - EXC - - - 12 - 96 - 0 - EXC - - - 13 - 96 - 0 - EXC - - - 14 - 96 - 0 - EXC - - - 15 - 96 - 0 - EXC - - - 16 - 96 - 0 - EXC - - - 17 - 96 - 1 - EXC - - - 18 - 96 - 0 - INH - - - 19 - 96 - 0 - EXC - - - 20 - 96 - 0 - EXC - - - 21 - 96 - 0 - EXC - - - 22 - 96 - 0 - EXC - - - 23 - 96 - 0 - EXC - - - 24 - 96 - 0 - EXC - - - 25 - 96 - 0 - EXC - - - 26 - 96 - 0 - EXC - - - 27 - 96 - 1 - EXC - - - 28 - 96 - 0 - INH - - - 29 - 96 - 0 - EXC - - - 30 - 96 - 0 - EXC - - - 31 - 96 - 0 - EXC - - - 32 - 96 - 0 - EXC - - - 33 - 96 - 0 - EXC - - - 34 - 96 - 0 - EXC - - - 35 - 96 - 0 - EXC - - - 36 - 96 - 0 - EXC - - - 37 - 96 - 1 - EXC - - - 38 - 96 - 0 - INH - - - 39 - 96 - 0 - EXC - - - 40 - 96 - 0 - EXC - - - 41 - 96 - 0 - EXC - - - 42 - 96 - 0 - EXC - - - 43 - 96 - 0 - EXC - - - 44 - 96 - 0 - EXC - - - 45 - 96 - 0 - EXC - - - 46 - 96 - 0 - EXC - - - 47 - 96 - 1 - EXC - - - 48 - 96 - 0 - INH - - - 49 - 96 - 0 - EXC - - - 50 - 96 - 0 - EXC - - - 51 - 96 - 0 - EXC - - - 52 - 96 - 0 - EXC - - - 53 - 96 - 0 - EXC - - - 54 - 96 - 0 - EXC - - - 55 - 96 - 0 - EXC - - - 56 - 96 - 0 - EXC - - - 57 - 96 - 1 - EXC - - - 58 - 96 - 0 - INH - - - 59 - 96 - 0 - EXC - - - 60 - 96 - 0 - EXC - - - 61 - 96 - 0 - EXC - - - 62 - 96 - 0 - EXC - - - 63 - 96 - 0 - EXC - - - 64 - 96 - 0 - EXC - - - 65 - 96 - 0 - EXC - - - 66 - 96 - 0 - EXC - - - 67 - 96 - 1 - EXC - - - 68 - 96 - 0 - INH - - - 69 - 96 - 0 - EXC - - - 70 - 96 - 0 - EXC - - - 71 - 96 - 0 - EXC - - - 72 - 96 - 0 - EXC - - - 73 - 96 - 0 - EXC - - - 74 - 96 - 0 - EXC - - - 75 - 96 - 0 - EXC - - - 76 - 96 - 0 - EXC - - - 77 - 96 - 1 - EXC - - - 78 - 96 - 0 - INH - - - 79 - 96 - 0 - EXC - - - 80 - 96 - 0 - EXC - - - 81 - 96 - 0 - EXC - - - 82 - 96 - 0 - EXC - - - 83 - 96 - 0 - EXC - - - 84 - 96 - 0 - EXC - - - 85 - 96 - 0 - EXC - - - 86 - 96 - 0 - EXC - - - 87 - 96 - 1 - EXC - - - 88 - 96 - 0 - INH - - - 89 - 96 - 0 - EXC - - - 90 - 96 - 0 - EXC - - - 91 - 96 - 0 - EXC - - - 92 - 96 - 0 - EXC - - - 93 - 96 - 0 - EXC - - - 94 - 96 - 0 - EXC - - - 95 - 96 - 0 - EXC - - - 96 - 96 - 0 - EXC - - - 97 - 96 - 1 - EXC - - - 98 - 96 - 0 - INH - - - 99 - 96 - 0 - EXC - - - 0 - 97 - 0 - EXC - - - 1 - 97 - 1 - EXC - - - 2 - 97 - 0 - EXC - - - 3 - 97 - 0 - EXC - - - 4 - 97 - 1 - EXC - - - 5 - 97 - 0 - EXC - - - 6 - 97 - 0 - EXC - - - 7 - 97 - 0 - EXC - - - 8 - 97 - 0 - EXC - - - 9 - 97 - 0 - EXC - - - 10 - 97 - 0 - EXC - - - 11 - 97 - 1 - EXC - - - 12 - 97 - 0 - EXC - - - 13 - 97 - 0 - EXC - - - 14 - 97 - 1 - EXC - - - 15 - 97 - 0 - EXC - - - 16 - 97 - 0 - EXC - - - 17 - 97 - 0 - EXC - - - 18 - 97 - 0 - EXC - - - 19 - 97 - 0 - EXC - - - 20 - 97 - 0 - EXC - - - 21 - 97 - 1 - EXC - - - 22 - 97 - 0 - EXC - - - 23 - 97 - 0 - EXC - - - 24 - 97 - 1 - EXC - - - 25 - 97 - 0 - EXC - - - 26 - 97 - 0 - EXC - - - 27 - 97 - 0 - EXC - - - 28 - 97 - 0 - EXC - - - 29 - 97 - 0 - EXC - - - 30 - 97 - 0 - EXC - - - 31 - 97 - 1 - EXC - - - 32 - 97 - 0 - EXC - - - 33 - 97 - 0 - EXC - - - 34 - 97 - 1 - EXC - - - 35 - 97 - 0 - EXC - - - 36 - 97 - 0 - EXC - - - 37 - 97 - 0 - EXC - - - 38 - 97 - 0 - EXC - - - 39 - 97 - 0 - EXC - - - 40 - 97 - 0 - EXC - - - 41 - 97 - 1 - EXC - - - 42 - 97 - 0 - EXC - - - 43 - 97 - 0 - EXC - - - 44 - 97 - 1 - EXC - - - 45 - 97 - 0 - EXC - - - 46 - 97 - 0 - EXC - - - 47 - 97 - 0 - EXC - - - 48 - 97 - 0 - EXC - - - 49 - 97 - 0 - EXC - - - 50 - 97 - 0 - EXC - - - 51 - 97 - 1 - EXC - - - 52 - 97 - 0 - EXC - - - 53 - 97 - 0 - EXC - - - 54 - 97 - 1 - EXC - - - 55 - 97 - 0 - EXC - - - 56 - 97 - 0 - EXC - - - 57 - 97 - 0 - EXC - - - 58 - 97 - 0 - EXC - - - 59 - 97 - 0 - EXC - - - 60 - 97 - 0 - EXC - - - 61 - 97 - 1 - EXC - - - 62 - 97 - 0 - EXC - - - 63 - 97 - 0 - EXC - - - 64 - 97 - 1 - EXC - - - 65 - 97 - 0 - EXC - - - 66 - 97 - 0 - EXC - - - 67 - 97 - 0 - EXC - - - 68 - 97 - 0 - EXC - - - 69 - 97 - 0 - EXC - - - 70 - 97 - 0 - EXC - - - 71 - 97 - 1 - EXC - - - 72 - 97 - 0 - EXC - - - 73 - 97 - 0 - EXC - - - 74 - 97 - 1 - EXC - - - 75 - 97 - 0 - EXC - - - 76 - 97 - 0 - EXC - - - 77 - 97 - 0 - EXC - - - 78 - 97 - 0 - EXC - - - 79 - 97 - 0 - EXC - - - 80 - 97 - 0 - EXC - - - 81 - 97 - 1 - EXC - - - 82 - 97 - 0 - EXC - - - 83 - 97 - 0 - EXC - - - 84 - 97 - 1 - EXC - - - 85 - 97 - 0 - EXC - - - 86 - 97 - 0 - EXC - - - 87 - 97 - 0 - EXC - - - 88 - 97 - 0 - EXC - - - 89 - 97 - 0 - EXC - - - 90 - 97 - 0 - EXC - - - 91 - 97 - 1 - EXC - - - 92 - 97 - 0 - EXC - - - 93 - 97 - 0 - EXC - - - 94 - 97 - 1 - EXC - - - 95 - 97 - 0 - EXC - - - 96 - 97 - 0 - EXC - - - 97 - 97 - 0 - EXC - - - 98 - 97 - 0 - EXC - - - 99 - 97 - 0 - EXC - - - 0 - 98 - 0 - EXC - - - 1 - 98 - 0 - EXC - - - 2 - 98 - 0 - INH - - - 3 - 98 - 0 - EXC - - - 4 - 98 - 0 - EXC - - - 5 - 98 - 0 - INH - - - 6 - 98 - 0 - EXC - - - 7 - 98 - 0 - EXC - - - 8 - 98 - 0 - EXC - - - 9 - 98 - 0 - EXC - - - 10 - 98 - 0 - EXC - - - 11 - 98 - 0 - EXC - - - 12 - 98 - 0 - INH - - - 13 - 98 - 0 - EXC - - - 14 - 98 - 0 - EXC - - - 15 - 98 - 0 - INH - - - 16 - 98 - 0 - EXC - - - 17 - 98 - 0 - EXC - - - 18 - 98 - 0 - EXC - - - 19 - 98 - 0 - EXC - - - 20 - 98 - 0 - EXC - - - 21 - 98 - 0 - EXC - - - 22 - 98 - 0 - INH - - - 23 - 98 - 0 - EXC - - - 24 - 98 - 0 - EXC - - - 25 - 98 - 0 - INH - - - 26 - 98 - 0 - EXC - - - 27 - 98 - 0 - EXC - - - 28 - 98 - 0 - EXC - - - 29 - 98 - 0 - EXC - - - 30 - 98 - 0 - EXC - - - 31 - 98 - 0 - EXC - - - 32 - 98 - 0 - INH - - - 33 - 98 - 0 - EXC - - - 34 - 98 - 0 - EXC - - - 35 - 98 - 0 - INH - - - 36 - 98 - 0 - EXC - - - 37 - 98 - 0 - EXC - - - 38 - 98 - 0 - EXC - - - 39 - 98 - 0 - EXC - - - 40 - 98 - 0 - EXC - - - 41 - 98 - 0 - EXC - - - 42 - 98 - 0 - INH - - - 43 - 98 - 0 - EXC - - - 44 - 98 - 0 - EXC - - - 45 - 98 - 0 - INH - - - 46 - 98 - 0 - EXC - - - 47 - 98 - 0 - EXC - - - 48 - 98 - 0 - EXC - - - 49 - 98 - 0 - EXC - - - 50 - 98 - 0 - EXC - - - 51 - 98 - 0 - EXC - - - 52 - 98 - 0 - INH - - - 53 - 98 - 0 - EXC - - - 54 - 98 - 0 - EXC - - - 55 - 98 - 0 - INH - - - 56 - 98 - 0 - EXC - - - 57 - 98 - 0 - EXC - - - 58 - 98 - 0 - EXC - - - 59 - 98 - 0 - EXC - - - 60 - 98 - 0 - EXC - - - 61 - 98 - 0 - EXC - - - 62 - 98 - 0 - INH - - - 63 - 98 - 0 - EXC - - - 64 - 98 - 0 - EXC - - - 65 - 98 - 0 - INH - - - 66 - 98 - 0 - EXC - - - 67 - 98 - 0 - EXC - - - 68 - 98 - 0 - EXC - - - 69 - 98 - 0 - EXC - - - 70 - 98 - 0 - EXC - - - 71 - 98 - 0 - EXC - - - 72 - 98 - 0 - INH - - - 73 - 98 - 0 - EXC - - - 74 - 98 - 0 - EXC - - - 75 - 98 - 0 - INH - - - 76 - 98 - 0 - EXC - - - 77 - 98 - 0 - EXC - - - 78 - 98 - 0 - EXC - - - 79 - 98 - 0 - EXC - - - 80 - 98 - 0 - EXC - - - 81 - 98 - 0 - EXC - - - 82 - 98 - 0 - INH - - - 83 - 98 - 0 - EXC - - - 84 - 98 - 0 - EXC - - - 85 - 98 - 0 - INH - - - 86 - 98 - 0 - EXC - - - 87 - 98 - 0 - EXC - - - 88 - 98 - 0 - EXC - - - 89 - 98 - 0 - EXC - - - 90 - 98 - 0 - EXC - - - 91 - 98 - 0 - EXC - - - 92 - 98 - 0 - INH - - - 93 - 98 - 0 - EXC - - - 94 - 98 - 0 - EXC - - - 95 - 98 - 0 - INH - - - 96 - 98 - 0 - EXC - - - 97 - 98 - 0 - EXC - - - 98 - 98 - 0 - EXC - - - 99 - 98 - 0 - EXC - - - 0 - 99 - 0 - EXC - - - 1 - 99 - 0 - EXC - - - 2 - 99 - 0 - EXC - - - 3 - 99 - 0 - EXC - - - 4 - 99 - 0 - EXC - - - 5 - 99 - 0 - EXC - - - 6 - 99 - 0 - EXC - - - 7 - 99 - 1 - EXC - - - 8 - 99 - 0 - INH - - - 9 - 99 - 0 - EXC - - - 10 - 99 - 0 - EXC - - - 11 - 99 - 0 - EXC - - - 12 - 99 - 0 - EXC - - - 13 - 99 - 0 - EXC - - - 14 - 99 - 0 - EXC - - - 15 - 99 - 0 - EXC - - - 16 - 99 - 0 - EXC - - - 17 - 99 - 1 - EXC - - - 18 - 99 - 0 - INH - - - 19 - 99 - 0 - EXC - - - 20 - 99 - 0 - EXC - - - 21 - 99 - 0 - EXC - - - 22 - 99 - 0 - EXC - - - 23 - 99 - 0 - EXC - - - 24 - 99 - 0 - EXC - - - 25 - 99 - 0 - EXC - - - 26 - 99 - 0 - EXC - - - 27 - 99 - 1 - EXC - - - 28 - 99 - 0 - INH - - - 29 - 99 - 0 - EXC - - - 30 - 99 - 0 - EXC - - - 31 - 99 - 0 - EXC - - - 32 - 99 - 0 - EXC - - - 33 - 99 - 0 - EXC - - - 34 - 99 - 0 - EXC - - - 35 - 99 - 0 - EXC - - - 36 - 99 - 0 - EXC - - - 37 - 99 - 1 - EXC - - - 38 - 99 - 0 - INH - - - 39 - 99 - 0 - EXC - - - 40 - 99 - 0 - EXC - - - 41 - 99 - 0 - EXC - - - 42 - 99 - 0 - EXC - - - 43 - 99 - 0 - EXC - - - 44 - 99 - 0 - EXC - - - 45 - 99 - 0 - EXC - - - 46 - 99 - 0 - EXC - - - 47 - 99 - 1 - EXC - - - 48 - 99 - 0 - INH - - - 49 - 99 - 0 - EXC - - - 50 - 99 - 0 - EXC - - - 51 - 99 - 0 - EXC - - - 52 - 99 - 0 - EXC - - - 53 - 99 - 0 - EXC - - - 54 - 99 - 0 - EXC - - - 55 - 99 - 0 - EXC - - - 56 - 99 - 0 - EXC - - - 57 - 99 - 1 - EXC - - - 58 - 99 - 0 - INH - - - 59 - 99 - 0 - EXC - - - 60 - 99 - 0 - EXC - - - 61 - 99 - 0 - EXC - - - 62 - 99 - 0 - EXC - - - 63 - 99 - 0 - EXC - - - 64 - 99 - 0 - EXC - - - 65 - 99 - 0 - EXC - - - 66 - 99 - 0 - EXC - - - 67 - 99 - 1 - EXC - - - 68 - 99 - 0 - INH - - - 69 - 99 - 0 - EXC - - - 70 - 99 - 0 - EXC - - - 71 - 99 - 0 - EXC - - - 72 - 99 - 0 - EXC - - - 73 - 99 - 0 - EXC - - - 74 - 99 - 0 - EXC - - - 75 - 99 - 0 - EXC - - - 76 - 99 - 0 - EXC - - - 77 - 99 - 1 - EXC - - - 78 - 99 - 0 - INH - - - 79 - 99 - 0 - EXC - - - 80 - 99 - 0 - EXC - - - 81 - 99 - 0 - EXC - - - 82 - 99 - 0 - EXC - - - 83 - 99 - 0 - EXC - - - 84 - 99 - 0 - EXC - - - 85 - 99 - 0 - EXC - - - 86 - 99 - 0 - EXC - - - 87 - 99 - 1 - EXC - - - 88 - 99 - 0 - INH - - - 89 - 99 - 0 - EXC - - - 90 - 99 - 0 - EXC - - - 91 - 99 - 0 - EXC - - - 92 - 99 - 0 - EXC - - - 93 - 99 - 0 - EXC - - - 94 - 99 - 0 - EXC - - - 95 - 99 - 0 - EXC - - - 96 - 99 - 0 - EXC - - - 97 - 99 - 1 - EXC - - - 98 - 99 - 0 - INH - - - 99 - 99 - 0 - EXC - - - diff --git a/configfiles/graphs/tR_0.1--fE_0.98_10000.graphml b/configfiles/graphs/tR_0.1--fE_0.98_10000.graphml deleted file mode 100644 index 333c60ffd..000000000 --- a/configfiles/graphs/tR_0.1--fE_0.98_10000.graphml +++ /dev/null @@ -1,60009 +0,0 @@ - - - - - - - - - 0 - 0 - 0 - EXC - - - 1 - 0 - 0 - EXC - - - 2 - 0 - 0 - EXC - - - 3 - 0 - 0 - EXC - - - 4 - 0 - 0 - EXC - - - 5 - 0 - 0 - EXC - - - 6 - 0 - 0 - EXC - - - 7 - 0 - 1 - EXC - - - 8 - 0 - 0 - EXC - - - 9 - 0 - 0 - EXC - - - 10 - 0 - 0 - EXC - - - 11 - 0 - 0 - EXC - - - 12 - 0 - 0 - EXC - - - 13 - 0 - 0 - EXC - - - 14 - 0 - 0 - EXC - - - 15 - 0 - 0 - EXC - - - 16 - 0 - 0 - EXC - - - 17 - 0 - 1 - EXC - - - 18 - 0 - 0 - EXC - - - 19 - 0 - 0 - EXC - - - 20 - 0 - 0 - EXC - - - 21 - 0 - 0 - EXC - - - 22 - 0 - 0 - EXC - - - 23 - 0 - 0 - EXC - - - 24 - 0 - 0 - EXC - - - 25 - 0 - 0 - EXC - - - 26 - 0 - 0 - EXC - - - 27 - 0 - 1 - EXC - - - 28 - 0 - 0 - EXC - - - 29 - 0 - 0 - EXC - - - 30 - 0 - 0 - EXC - - - 31 - 0 - 0 - EXC - - - 32 - 0 - 0 - EXC - - - 33 - 0 - 0 - EXC - - - 34 - 0 - 0 - EXC - - - 35 - 0 - 0 - EXC - - - 36 - 0 - 0 - EXC - - - 37 - 0 - 1 - EXC - - - 38 - 0 - 0 - EXC - - - 39 - 0 - 0 - EXC - - - 40 - 0 - 0 - EXC - - - 41 - 0 - 0 - EXC - - - 42 - 0 - 0 - EXC - - - 43 - 0 - 0 - EXC - - - 44 - 0 - 0 - EXC - - - 45 - 0 - 0 - EXC - - - 46 - 0 - 0 - EXC - - - 47 - 0 - 1 - EXC - - - 48 - 0 - 0 - EXC - - - 49 - 0 - 0 - EXC - - - 50 - 0 - 0 - EXC - - - 51 - 0 - 0 - EXC - - - 52 - 0 - 0 - EXC - - - 53 - 0 - 0 - EXC - - - 54 - 0 - 0 - EXC - - - 55 - 0 - 0 - EXC - - - 56 - 0 - 0 - EXC - - - 57 - 0 - 1 - EXC - - - 58 - 0 - 0 - EXC - - - 59 - 0 - 0 - EXC - - - 60 - 0 - 0 - EXC - - - 61 - 0 - 0 - EXC - - - 62 - 0 - 0 - EXC - - - 63 - 0 - 0 - EXC - - - 64 - 0 - 0 - EXC - - - 65 - 0 - 0 - EXC - - - 66 - 0 - 0 - EXC - - - 67 - 0 - 1 - EXC - - - 68 - 0 - 0 - EXC - - - 69 - 0 - 0 - EXC - - - 70 - 0 - 0 - EXC - - - 71 - 0 - 0 - EXC - - - 72 - 0 - 0 - EXC - - - 73 - 0 - 0 - EXC - - - 74 - 0 - 0 - EXC - - - 75 - 0 - 0 - EXC - - - 76 - 0 - 0 - EXC - - - 77 - 0 - 1 - EXC - - - 78 - 0 - 0 - EXC - - - 79 - 0 - 0 - EXC - - - 80 - 0 - 0 - EXC - - - 81 - 0 - 0 - EXC - - - 82 - 0 - 0 - EXC - - - 83 - 0 - 0 - EXC - - - 84 - 0 - 0 - EXC - - - 85 - 0 - 0 - EXC - - - 86 - 0 - 0 - EXC - - - 87 - 0 - 1 - EXC - - - 88 - 0 - 0 - EXC - - - 89 - 0 - 0 - EXC - - - 90 - 0 - 0 - EXC - - - 91 - 0 - 0 - EXC - - - 92 - 0 - 0 - EXC - - - 93 - 0 - 0 - EXC - - - 94 - 0 - 0 - EXC - - - 95 - 0 - 0 - EXC - - - 96 - 0 - 0 - EXC - - - 97 - 0 - 1 - EXC - - - 98 - 0 - 0 - EXC - - - 99 - 0 - 0 - EXC - - - 0 - 1 - 0 - EXC - - - 1 - 1 - 1 - EXC - - - 2 - 1 - 0 - EXC - - - 3 - 1 - 0 - EXC - - - 4 - 1 - 1 - EXC - - - 5 - 1 - 0 - EXC - - - 6 - 1 - 0 - EXC - - - 7 - 1 - 0 - EXC - - - 8 - 1 - 0 - EXC - - - 9 - 1 - 0 - EXC - - - 10 - 1 - 0 - EXC - - - 11 - 1 - 1 - EXC - - - 12 - 1 - 0 - EXC - - - 13 - 1 - 0 - EXC - - - 14 - 1 - 1 - EXC - - - 15 - 1 - 0 - EXC - - - 16 - 1 - 0 - EXC - - - 17 - 1 - 0 - EXC - - - 18 - 1 - 0 - EXC - - - 19 - 1 - 0 - EXC - - - 20 - 1 - 0 - EXC - - - 21 - 1 - 1 - EXC - - - 22 - 1 - 0 - EXC - - - 23 - 1 - 0 - EXC - - - 24 - 1 - 1 - EXC - - - 25 - 1 - 0 - EXC - - - 26 - 1 - 0 - EXC - - - 27 - 1 - 0 - EXC - - - 28 - 1 - 0 - EXC - - - 29 - 1 - 0 - EXC - - - 30 - 1 - 0 - EXC - - - 31 - 1 - 1 - EXC - - - 32 - 1 - 0 - EXC - - - 33 - 1 - 0 - EXC - - - 34 - 1 - 1 - EXC - - - 35 - 1 - 0 - EXC - - - 36 - 1 - 0 - EXC - - - 37 - 1 - 0 - EXC - - - 38 - 1 - 0 - EXC - - - 39 - 1 - 0 - EXC - - - 40 - 1 - 0 - EXC - - - 41 - 1 - 1 - EXC - - - 42 - 1 - 0 - EXC - - - 43 - 1 - 0 - EXC - - - 44 - 1 - 1 - EXC - - - 45 - 1 - 0 - EXC - - - 46 - 1 - 0 - EXC - - - 47 - 1 - 0 - EXC - - - 48 - 1 - 0 - EXC - - - 49 - 1 - 0 - EXC - - - 50 - 1 - 0 - EXC - - - 51 - 1 - 1 - EXC - - - 52 - 1 - 0 - EXC - - - 53 - 1 - 0 - EXC - - - 54 - 1 - 1 - EXC - - - 55 - 1 - 0 - EXC - - - 56 - 1 - 0 - EXC - - - 57 - 1 - 0 - EXC - - - 58 - 1 - 0 - EXC - - - 59 - 1 - 0 - EXC - - - 60 - 1 - 0 - EXC - - - 61 - 1 - 1 - EXC - - - 62 - 1 - 0 - EXC - - - 63 - 1 - 0 - EXC - - - 64 - 1 - 1 - EXC - - - 65 - 1 - 0 - EXC - - - 66 - 1 - 0 - EXC - - - 67 - 1 - 0 - EXC - - - 68 - 1 - 0 - EXC - - - 69 - 1 - 0 - EXC - - - 70 - 1 - 0 - EXC - - - 71 - 1 - 1 - EXC - - - 72 - 1 - 0 - EXC - - - 73 - 1 - 0 - EXC - - - 74 - 1 - 1 - EXC - - - 75 - 1 - 0 - EXC - - - 76 - 1 - 0 - EXC - - - 77 - 1 - 0 - EXC - - - 78 - 1 - 0 - EXC - - - 79 - 1 - 0 - EXC - - - 80 - 1 - 0 - EXC - - - 81 - 1 - 1 - EXC - - - 82 - 1 - 0 - EXC - - - 83 - 1 - 0 - EXC - - - 84 - 1 - 1 - EXC - - - 85 - 1 - 0 - EXC - - - 86 - 1 - 0 - EXC - - - 87 - 1 - 0 - EXC - - - 88 - 1 - 0 - EXC - - - 89 - 1 - 0 - EXC - - - 90 - 1 - 0 - EXC - - - 91 - 1 - 1 - EXC - - - 92 - 1 - 0 - EXC - - - 93 - 1 - 0 - EXC - - - 94 - 1 - 1 - EXC - - - 95 - 1 - 0 - EXC - - - 96 - 1 - 0 - EXC - - - 97 - 1 - 0 - EXC - - - 98 - 1 - 0 - EXC - - - 99 - 1 - 0 - EXC - - - 0 - 2 - 0 - EXC - - - 1 - 2 - 0 - EXC - - - 2 - 2 - 0 - EXC - - - 3 - 2 - 0 - EXC - - - 4 - 2 - 0 - EXC - - - 5 - 2 - 0 - EXC - - - 6 - 2 - 0 - EXC - - - 7 - 2 - 0 - EXC - - - 8 - 2 - 0 - EXC - - - 9 - 2 - 0 - EXC - - - 10 - 2 - 0 - EXC - - - 11 - 2 - 0 - EXC - - - 12 - 2 - 0 - EXC - - - 13 - 2 - 0 - EXC - - - 14 - 2 - 0 - EXC - - - 15 - 2 - 0 - EXC - - - 16 - 2 - 0 - EXC - - - 17 - 2 - 0 - EXC - - - 18 - 2 - 0 - EXC - - - 19 - 2 - 0 - EXC - - - 20 - 2 - 0 - EXC - - - 21 - 2 - 0 - EXC - - - 22 - 2 - 0 - EXC - - - 23 - 2 - 0 - EXC - - - 24 - 2 - 0 - EXC - - - 25 - 2 - 0 - EXC - - - 26 - 2 - 0 - EXC - - - 27 - 2 - 0 - EXC - - - 28 - 2 - 0 - EXC - - - 29 - 2 - 0 - EXC - - - 30 - 2 - 0 - EXC - - - 31 - 2 - 0 - EXC - - - 32 - 2 - 0 - EXC - - - 33 - 2 - 0 - EXC - - - 34 - 2 - 0 - EXC - - - 35 - 2 - 0 - EXC - - - 36 - 2 - 0 - EXC - - - 37 - 2 - 0 - EXC - - - 38 - 2 - 0 - EXC - - - 39 - 2 - 0 - EXC - - - 40 - 2 - 0 - EXC - - - 41 - 2 - 0 - EXC - - - 42 - 2 - 0 - EXC - - - 43 - 2 - 0 - EXC - - - 44 - 2 - 0 - EXC - - - 45 - 2 - 0 - EXC - - - 46 - 2 - 0 - EXC - - - 47 - 2 - 0 - EXC - - - 48 - 2 - 0 - EXC - - - 49 - 2 - 0 - EXC - - - 50 - 2 - 0 - EXC - - - 51 - 2 - 0 - EXC - - - 52 - 2 - 0 - EXC - - - 53 - 2 - 0 - EXC - - - 54 - 2 - 0 - EXC - - - 55 - 2 - 0 - EXC - - - 56 - 2 - 0 - EXC - - - 57 - 2 - 0 - EXC - - - 58 - 2 - 0 - EXC - - - 59 - 2 - 0 - EXC - - - 60 - 2 - 0 - EXC - - - 61 - 2 - 0 - EXC - - - 62 - 2 - 0 - EXC - - - 63 - 2 - 0 - EXC - - - 64 - 2 - 0 - EXC - - - 65 - 2 - 0 - EXC - - - 66 - 2 - 0 - EXC - - - 67 - 2 - 0 - EXC - - - 68 - 2 - 0 - EXC - - - 69 - 2 - 0 - EXC - - - 70 - 2 - 0 - EXC - - - 71 - 2 - 0 - EXC - - - 72 - 2 - 0 - EXC - - - 73 - 2 - 0 - EXC - - - 74 - 2 - 0 - EXC - - - 75 - 2 - 0 - EXC - - - 76 - 2 - 0 - EXC - - - 77 - 2 - 0 - EXC - - - 78 - 2 - 0 - EXC - - - 79 - 2 - 0 - EXC - - - 80 - 2 - 0 - EXC - - - 81 - 2 - 0 - EXC - - - 82 - 2 - 0 - EXC - - - 83 - 2 - 0 - EXC - - - 84 - 2 - 0 - EXC - - - 85 - 2 - 0 - EXC - - - 86 - 2 - 0 - EXC - - - 87 - 2 - 0 - EXC - - - 88 - 2 - 0 - EXC - - - 89 - 2 - 0 - EXC - - - 90 - 2 - 0 - EXC - - - 91 - 2 - 0 - EXC - - - 92 - 2 - 0 - EXC - - - 93 - 2 - 0 - EXC - - - 94 - 2 - 0 - EXC - - - 95 - 2 - 0 - EXC - - - 96 - 2 - 0 - EXC - - - 97 - 2 - 0 - EXC - - - 98 - 2 - 0 - EXC - - - 99 - 2 - 0 - EXC - - - 0 - 3 - 0 - EXC - - - 1 - 3 - 0 - EXC - - - 2 - 3 - 0 - EXC - - - 3 - 3 - 0 - INH - - - 4 - 3 - 0 - EXC - - - 5 - 3 - 0 - EXC - - - 6 - 3 - 0 - EXC - - - 7 - 3 - 1 - EXC - - - 8 - 3 - 0 - EXC - - - 9 - 3 - 0 - EXC - - - 10 - 3 - 0 - EXC - - - 11 - 3 - 0 - EXC - - - 12 - 3 - 0 - EXC - - - 13 - 3 - 0 - INH - - - 14 - 3 - 0 - EXC - - - 15 - 3 - 0 - EXC - - - 16 - 3 - 0 - EXC - - - 17 - 3 - 1 - EXC - - - 18 - 3 - 0 - EXC - - - 19 - 3 - 0 - EXC - - - 20 - 3 - 0 - EXC - - - 21 - 3 - 0 - EXC - - - 22 - 3 - 0 - EXC - - - 23 - 3 - 0 - INH - - - 24 - 3 - 0 - EXC - - - 25 - 3 - 0 - EXC - - - 26 - 3 - 0 - EXC - - - 27 - 3 - 1 - EXC - - - 28 - 3 - 0 - EXC - - - 29 - 3 - 0 - EXC - - - 30 - 3 - 0 - EXC - - - 31 - 3 - 0 - EXC - - - 32 - 3 - 0 - EXC - - - 33 - 3 - 0 - INH - - - 34 - 3 - 0 - EXC - - - 35 - 3 - 0 - EXC - - - 36 - 3 - 0 - EXC - - - 37 - 3 - 1 - EXC - - - 38 - 3 - 0 - EXC - - - 39 - 3 - 0 - EXC - - - 40 - 3 - 0 - EXC - - - 41 - 3 - 0 - EXC - - - 42 - 3 - 0 - EXC - - - 43 - 3 - 0 - INH - - - 44 - 3 - 0 - EXC - - - 45 - 3 - 0 - EXC - - - 46 - 3 - 0 - EXC - - - 47 - 3 - 1 - EXC - - - 48 - 3 - 0 - EXC - - - 49 - 3 - 0 - EXC - - - 50 - 3 - 0 - EXC - - - 51 - 3 - 0 - EXC - - - 52 - 3 - 0 - EXC - - - 53 - 3 - 0 - INH - - - 54 - 3 - 0 - EXC - - - 55 - 3 - 0 - EXC - - - 56 - 3 - 0 - EXC - - - 57 - 3 - 1 - EXC - - - 58 - 3 - 0 - EXC - - - 59 - 3 - 0 - EXC - - - 60 - 3 - 0 - EXC - - - 61 - 3 - 0 - EXC - - - 62 - 3 - 0 - EXC - - - 63 - 3 - 0 - INH - - - 64 - 3 - 0 - EXC - - - 65 - 3 - 0 - EXC - - - 66 - 3 - 0 - EXC - - - 67 - 3 - 1 - EXC - - - 68 - 3 - 0 - EXC - - - 69 - 3 - 0 - EXC - - - 70 - 3 - 0 - EXC - - - 71 - 3 - 0 - EXC - - - 72 - 3 - 0 - EXC - - - 73 - 3 - 0 - INH - - - 74 - 3 - 0 - EXC - - - 75 - 3 - 0 - EXC - - - 76 - 3 - 0 - EXC - - - 77 - 3 - 1 - EXC - - - 78 - 3 - 0 - EXC - - - 79 - 3 - 0 - EXC - - - 80 - 3 - 0 - EXC - - - 81 - 3 - 0 - EXC - - - 82 - 3 - 0 - EXC - - - 83 - 3 - 0 - INH - - - 84 - 3 - 0 - EXC - - - 85 - 3 - 0 - EXC - - - 86 - 3 - 0 - EXC - - - 87 - 3 - 1 - EXC - - - 88 - 3 - 0 - EXC - - - 89 - 3 - 0 - EXC - - - 90 - 3 - 0 - EXC - - - 91 - 3 - 0 - EXC - - - 92 - 3 - 0 - EXC - - - 93 - 3 - 0 - INH - - - 94 - 3 - 0 - EXC - - - 95 - 3 - 0 - EXC - - - 96 - 3 - 0 - EXC - - - 97 - 3 - 1 - EXC - - - 98 - 3 - 0 - EXC - - - 99 - 3 - 0 - EXC - - - 0 - 4 - 0 - EXC - - - 1 - 4 - 1 - EXC - - - 2 - 4 - 0 - EXC - - - 3 - 4 - 0 - EXC - - - 4 - 4 - 1 - EXC - - - 5 - 4 - 0 - EXC - - - 6 - 4 - 0 - EXC - - - 7 - 4 - 0 - EXC - - - 8 - 4 - 0 - EXC - - - 9 - 4 - 0 - EXC - - - 10 - 4 - 0 - EXC - - - 11 - 4 - 1 - EXC - - - 12 - 4 - 0 - EXC - - - 13 - 4 - 0 - EXC - - - 14 - 4 - 1 - EXC - - - 15 - 4 - 0 - EXC - - - 16 - 4 - 0 - EXC - - - 17 - 4 - 0 - EXC - - - 18 - 4 - 0 - EXC - - - 19 - 4 - 0 - EXC - - - 20 - 4 - 0 - EXC - - - 21 - 4 - 1 - EXC - - - 22 - 4 - 0 - EXC - - - 23 - 4 - 0 - EXC - - - 24 - 4 - 1 - EXC - - - 25 - 4 - 0 - EXC - - - 26 - 4 - 0 - EXC - - - 27 - 4 - 0 - EXC - - - 28 - 4 - 0 - EXC - - - 29 - 4 - 0 - EXC - - - 30 - 4 - 0 - EXC - - - 31 - 4 - 1 - EXC - - - 32 - 4 - 0 - EXC - - - 33 - 4 - 0 - EXC - - - 34 - 4 - 1 - EXC - - - 35 - 4 - 0 - EXC - - - 36 - 4 - 0 - EXC - - - 37 - 4 - 0 - EXC - - - 38 - 4 - 0 - EXC - - - 39 - 4 - 0 - EXC - - - 40 - 4 - 0 - EXC - - - 41 - 4 - 1 - EXC - - - 42 - 4 - 0 - EXC - - - 43 - 4 - 0 - EXC - - - 44 - 4 - 1 - EXC - - - 45 - 4 - 0 - EXC - - - 46 - 4 - 0 - EXC - - - 47 - 4 - 0 - EXC - - - 48 - 4 - 0 - EXC - - - 49 - 4 - 0 - EXC - - - 50 - 4 - 0 - EXC - - - 51 - 4 - 1 - EXC - - - 52 - 4 - 0 - EXC - - - 53 - 4 - 0 - EXC - - - 54 - 4 - 1 - EXC - - - 55 - 4 - 0 - EXC - - - 56 - 4 - 0 - EXC - - - 57 - 4 - 0 - EXC - - - 58 - 4 - 0 - EXC - - - 59 - 4 - 0 - EXC - - - 60 - 4 - 0 - EXC - - - 61 - 4 - 1 - EXC - - - 62 - 4 - 0 - EXC - - - 63 - 4 - 0 - EXC - - - 64 - 4 - 1 - EXC - - - 65 - 4 - 0 - EXC - - - 66 - 4 - 0 - EXC - - - 67 - 4 - 0 - EXC - - - 68 - 4 - 0 - EXC - - - 69 - 4 - 0 - EXC - - - 70 - 4 - 0 - EXC - - - 71 - 4 - 1 - EXC - - - 72 - 4 - 0 - EXC - - - 73 - 4 - 0 - EXC - - - 74 - 4 - 1 - EXC - - - 75 - 4 - 0 - EXC - - - 76 - 4 - 0 - EXC - - - 77 - 4 - 0 - EXC - - - 78 - 4 - 0 - EXC - - - 79 - 4 - 0 - EXC - - - 80 - 4 - 0 - EXC - - - 81 - 4 - 1 - EXC - - - 82 - 4 - 0 - EXC - - - 83 - 4 - 0 - EXC - - - 84 - 4 - 1 - EXC - - - 85 - 4 - 0 - EXC - - - 86 - 4 - 0 - EXC - - - 87 - 4 - 0 - EXC - - - 88 - 4 - 0 - EXC - - - 89 - 4 - 0 - EXC - - - 90 - 4 - 0 - EXC - - - 91 - 4 - 1 - EXC - - - 92 - 4 - 0 - EXC - - - 93 - 4 - 0 - EXC - - - 94 - 4 - 1 - EXC - - - 95 - 4 - 0 - EXC - - - 96 - 4 - 0 - EXC - - - 97 - 4 - 0 - EXC - - - 98 - 4 - 0 - EXC - - - 99 - 4 - 0 - EXC - - - 0 - 5 - 0 - EXC - - - 1 - 5 - 0 - EXC - - - 2 - 5 - 0 - EXC - - - 3 - 5 - 0 - EXC - - - 4 - 5 - 0 - EXC - - - 5 - 5 - 0 - EXC - - - 6 - 5 - 0 - EXC - - - 7 - 5 - 0 - EXC - - - 8 - 5 - 0 - EXC - - - 9 - 5 - 0 - EXC - - - 10 - 5 - 0 - EXC - - - 11 - 5 - 0 - EXC - - - 12 - 5 - 0 - EXC - - - 13 - 5 - 0 - EXC - - - 14 - 5 - 0 - EXC - - - 15 - 5 - 0 - EXC - - - 16 - 5 - 0 - EXC - - - 17 - 5 - 0 - EXC - - - 18 - 5 - 0 - EXC - - - 19 - 5 - 0 - EXC - - - 20 - 5 - 0 - EXC - - - 21 - 5 - 0 - EXC - - - 22 - 5 - 0 - EXC - - - 23 - 5 - 0 - EXC - - - 24 - 5 - 0 - EXC - - - 25 - 5 - 0 - EXC - - - 26 - 5 - 0 - EXC - - - 27 - 5 - 0 - EXC - - - 28 - 5 - 0 - EXC - - - 29 - 5 - 0 - EXC - - - 30 - 5 - 0 - EXC - - - 31 - 5 - 0 - EXC - - - 32 - 5 - 0 - EXC - - - 33 - 5 - 0 - EXC - - - 34 - 5 - 0 - EXC - - - 35 - 5 - 0 - EXC - - - 36 - 5 - 0 - EXC - - - 37 - 5 - 0 - EXC - - - 38 - 5 - 0 - EXC - - - 39 - 5 - 0 - EXC - - - 40 - 5 - 0 - EXC - - - 41 - 5 - 0 - EXC - - - 42 - 5 - 0 - EXC - - - 43 - 5 - 0 - EXC - - - 44 - 5 - 0 - EXC - - - 45 - 5 - 0 - EXC - - - 46 - 5 - 0 - EXC - - - 47 - 5 - 0 - EXC - - - 48 - 5 - 0 - EXC - - - 49 - 5 - 0 - EXC - - - 50 - 5 - 0 - EXC - - - 51 - 5 - 0 - EXC - - - 52 - 5 - 0 - EXC - - - 53 - 5 - 0 - EXC - - - 54 - 5 - 0 - EXC - - - 55 - 5 - 0 - EXC - - - 56 - 5 - 0 - EXC - - - 57 - 5 - 0 - EXC - - - 58 - 5 - 0 - EXC - - - 59 - 5 - 0 - EXC - - - 60 - 5 - 0 - EXC - - - 61 - 5 - 0 - EXC - - - 62 - 5 - 0 - EXC - - - 63 - 5 - 0 - EXC - - - 64 - 5 - 0 - EXC - - - 65 - 5 - 0 - EXC - - - 66 - 5 - 0 - EXC - - - 67 - 5 - 0 - EXC - - - 68 - 5 - 0 - EXC - - - 69 - 5 - 0 - EXC - - - 70 - 5 - 0 - EXC - - - 71 - 5 - 0 - EXC - - - 72 - 5 - 0 - EXC - - - 73 - 5 - 0 - EXC - - - 74 - 5 - 0 - EXC - - - 75 - 5 - 0 - EXC - - - 76 - 5 - 0 - EXC - - - 77 - 5 - 0 - EXC - - - 78 - 5 - 0 - EXC - - - 79 - 5 - 0 - EXC - - - 80 - 5 - 0 - EXC - - - 81 - 5 - 0 - EXC - - - 82 - 5 - 0 - EXC - - - 83 - 5 - 0 - EXC - - - 84 - 5 - 0 - EXC - - - 85 - 5 - 0 - EXC - - - 86 - 5 - 0 - EXC - - - 87 - 5 - 0 - EXC - - - 88 - 5 - 0 - EXC - - - 89 - 5 - 0 - EXC - - - 90 - 5 - 0 - EXC - - - 91 - 5 - 0 - EXC - - - 92 - 5 - 0 - EXC - - - 93 - 5 - 0 - EXC - - - 94 - 5 - 0 - EXC - - - 95 - 5 - 0 - EXC - - - 96 - 5 - 0 - EXC - - - 97 - 5 - 0 - EXC - - - 98 - 5 - 0 - EXC - - - 99 - 5 - 0 - EXC - - - 0 - 6 - 0 - EXC - - - 1 - 6 - 0 - EXC - - - 2 - 6 - 0 - EXC - - - 3 - 6 - 0 - EXC - - - 4 - 6 - 0 - EXC - - - 5 - 6 - 0 - EXC - - - 6 - 6 - 0 - INH - - - 7 - 6 - 1 - EXC - - - 8 - 6 - 0 - EXC - - - 9 - 6 - 0 - EXC - - - 10 - 6 - 0 - EXC - - - 11 - 6 - 0 - EXC - - - 12 - 6 - 0 - EXC - - - 13 - 6 - 0 - EXC - - - 14 - 6 - 0 - EXC - - - 15 - 6 - 0 - EXC - - - 16 - 6 - 0 - INH - - - 17 - 6 - 1 - EXC - - - 18 - 6 - 0 - EXC - - - 19 - 6 - 0 - EXC - - - 20 - 6 - 0 - EXC - - - 21 - 6 - 0 - EXC - - - 22 - 6 - 0 - EXC - - - 23 - 6 - 0 - EXC - - - 24 - 6 - 0 - EXC - - - 25 - 6 - 0 - EXC - - - 26 - 6 - 0 - INH - - - 27 - 6 - 1 - EXC - - - 28 - 6 - 0 - EXC - - - 29 - 6 - 0 - EXC - - - 30 - 6 - 0 - EXC - - - 31 - 6 - 0 - EXC - - - 32 - 6 - 0 - EXC - - - 33 - 6 - 0 - EXC - - - 34 - 6 - 0 - EXC - - - 35 - 6 - 0 - EXC - - - 36 - 6 - 0 - INH - - - 37 - 6 - 1 - EXC - - - 38 - 6 - 0 - EXC - - - 39 - 6 - 0 - EXC - - - 40 - 6 - 0 - EXC - - - 41 - 6 - 0 - EXC - - - 42 - 6 - 0 - EXC - - - 43 - 6 - 0 - EXC - - - 44 - 6 - 0 - EXC - - - 45 - 6 - 0 - EXC - - - 46 - 6 - 0 - INH - - - 47 - 6 - 1 - EXC - - - 48 - 6 - 0 - EXC - - - 49 - 6 - 0 - EXC - - - 50 - 6 - 0 - EXC - - - 51 - 6 - 0 - EXC - - - 52 - 6 - 0 - EXC - - - 53 - 6 - 0 - EXC - - - 54 - 6 - 0 - EXC - - - 55 - 6 - 0 - EXC - - - 56 - 6 - 0 - INH - - - 57 - 6 - 1 - EXC - - - 58 - 6 - 0 - EXC - - - 59 - 6 - 0 - EXC - - - 60 - 6 - 0 - EXC - - - 61 - 6 - 0 - EXC - - - 62 - 6 - 0 - EXC - - - 63 - 6 - 0 - EXC - - - 64 - 6 - 0 - EXC - - - 65 - 6 - 0 - EXC - - - 66 - 6 - 0 - INH - - - 67 - 6 - 1 - EXC - - - 68 - 6 - 0 - EXC - - - 69 - 6 - 0 - EXC - - - 70 - 6 - 0 - EXC - - - 71 - 6 - 0 - EXC - - - 72 - 6 - 0 - EXC - - - 73 - 6 - 0 - EXC - - - 74 - 6 - 0 - EXC - - - 75 - 6 - 0 - EXC - - - 76 - 6 - 0 - INH - - - 77 - 6 - 1 - EXC - - - 78 - 6 - 0 - EXC - - - 79 - 6 - 0 - EXC - - - 80 - 6 - 0 - EXC - - - 81 - 6 - 0 - EXC - - - 82 - 6 - 0 - EXC - - - 83 - 6 - 0 - EXC - - - 84 - 6 - 0 - EXC - - - 85 - 6 - 0 - EXC - - - 86 - 6 - 0 - INH - - - 87 - 6 - 1 - EXC - - - 88 - 6 - 0 - EXC - - - 89 - 6 - 0 - EXC - - - 90 - 6 - 0 - EXC - - - 91 - 6 - 0 - EXC - - - 92 - 6 - 0 - EXC - - - 93 - 6 - 0 - EXC - - - 94 - 6 - 0 - EXC - - - 95 - 6 - 0 - EXC - - - 96 - 6 - 0 - INH - - - 97 - 6 - 1 - EXC - - - 98 - 6 - 0 - EXC - - - 99 - 6 - 0 - EXC - - - 0 - 7 - 0 - EXC - - - 1 - 7 - 1 - EXC - - - 2 - 7 - 0 - EXC - - - 3 - 7 - 0 - EXC - - - 4 - 7 - 1 - EXC - - - 5 - 7 - 0 - EXC - - - 6 - 7 - 0 - EXC - - - 7 - 7 - 0 - EXC - - - 8 - 7 - 0 - EXC - - - 9 - 7 - 0 - EXC - - - 10 - 7 - 0 - EXC - - - 11 - 7 - 1 - EXC - - - 12 - 7 - 0 - EXC - - - 13 - 7 - 0 - EXC - - - 14 - 7 - 1 - EXC - - - 15 - 7 - 0 - EXC - - - 16 - 7 - 0 - EXC - - - 17 - 7 - 0 - EXC - - - 18 - 7 - 0 - EXC - - - 19 - 7 - 0 - EXC - - - 20 - 7 - 0 - EXC - - - 21 - 7 - 1 - EXC - - - 22 - 7 - 0 - EXC - - - 23 - 7 - 0 - EXC - - - 24 - 7 - 1 - EXC - - - 25 - 7 - 0 - EXC - - - 26 - 7 - 0 - EXC - - - 27 - 7 - 0 - EXC - - - 28 - 7 - 0 - EXC - - - 29 - 7 - 0 - EXC - - - 30 - 7 - 0 - EXC - - - 31 - 7 - 1 - EXC - - - 32 - 7 - 0 - EXC - - - 33 - 7 - 0 - EXC - - - 34 - 7 - 1 - EXC - - - 35 - 7 - 0 - EXC - - - 36 - 7 - 0 - EXC - - - 37 - 7 - 0 - EXC - - - 38 - 7 - 0 - EXC - - - 39 - 7 - 0 - EXC - - - 40 - 7 - 0 - EXC - - - 41 - 7 - 1 - EXC - - - 42 - 7 - 0 - EXC - - - 43 - 7 - 0 - EXC - - - 44 - 7 - 1 - EXC - - - 45 - 7 - 0 - EXC - - - 46 - 7 - 0 - EXC - - - 47 - 7 - 0 - EXC - - - 48 - 7 - 0 - EXC - - - 49 - 7 - 0 - EXC - - - 50 - 7 - 0 - EXC - - - 51 - 7 - 1 - EXC - - - 52 - 7 - 0 - EXC - - - 53 - 7 - 0 - EXC - - - 54 - 7 - 1 - EXC - - - 55 - 7 - 0 - EXC - - - 56 - 7 - 0 - EXC - - - 57 - 7 - 0 - EXC - - - 58 - 7 - 0 - EXC - - - 59 - 7 - 0 - EXC - - - 60 - 7 - 0 - EXC - - - 61 - 7 - 1 - EXC - - - 62 - 7 - 0 - EXC - - - 63 - 7 - 0 - EXC - - - 64 - 7 - 1 - EXC - - - 65 - 7 - 0 - EXC - - - 66 - 7 - 0 - EXC - - - 67 - 7 - 0 - EXC - - - 68 - 7 - 0 - EXC - - - 69 - 7 - 0 - EXC - - - 70 - 7 - 0 - EXC - - - 71 - 7 - 1 - EXC - - - 72 - 7 - 0 - EXC - - - 73 - 7 - 0 - EXC - - - 74 - 7 - 1 - EXC - - - 75 - 7 - 0 - EXC - - - 76 - 7 - 0 - EXC - - - 77 - 7 - 0 - EXC - - - 78 - 7 - 0 - EXC - - - 79 - 7 - 0 - EXC - - - 80 - 7 - 0 - EXC - - - 81 - 7 - 1 - EXC - - - 82 - 7 - 0 - EXC - - - 83 - 7 - 0 - EXC - - - 84 - 7 - 1 - EXC - - - 85 - 7 - 0 - EXC - - - 86 - 7 - 0 - EXC - - - 87 - 7 - 0 - EXC - - - 88 - 7 - 0 - EXC - - - 89 - 7 - 0 - EXC - - - 90 - 7 - 0 - EXC - - - 91 - 7 - 1 - EXC - - - 92 - 7 - 0 - EXC - - - 93 - 7 - 0 - EXC - - - 94 - 7 - 1 - EXC - - - 95 - 7 - 0 - EXC - - - 96 - 7 - 0 - EXC - - - 97 - 7 - 0 - EXC - - - 98 - 7 - 0 - EXC - - - 99 - 7 - 0 - EXC - - - 0 - 8 - 0 - EXC - - - 1 - 8 - 0 - EXC - - - 2 - 8 - 0 - EXC - - - 3 - 8 - 0 - EXC - - - 4 - 8 - 0 - EXC - - - 5 - 8 - 0 - EXC - - - 6 - 8 - 0 - EXC - - - 7 - 8 - 0 - EXC - - - 8 - 8 - 0 - EXC - - - 9 - 8 - 0 - EXC - - - 10 - 8 - 0 - EXC - - - 11 - 8 - 0 - EXC - - - 12 - 8 - 0 - EXC - - - 13 - 8 - 0 - EXC - - - 14 - 8 - 0 - EXC - - - 15 - 8 - 0 - EXC - - - 16 - 8 - 0 - EXC - - - 17 - 8 - 0 - EXC - - - 18 - 8 - 0 - EXC - - - 19 - 8 - 0 - EXC - - - 20 - 8 - 0 - EXC - - - 21 - 8 - 0 - EXC - - - 22 - 8 - 0 - EXC - - - 23 - 8 - 0 - EXC - - - 24 - 8 - 0 - EXC - - - 25 - 8 - 0 - EXC - - - 26 - 8 - 0 - EXC - - - 27 - 8 - 0 - EXC - - - 28 - 8 - 0 - EXC - - - 29 - 8 - 0 - EXC - - - 30 - 8 - 0 - EXC - - - 31 - 8 - 0 - EXC - - - 32 - 8 - 0 - EXC - - - 33 - 8 - 0 - EXC - - - 34 - 8 - 0 - EXC - - - 35 - 8 - 0 - EXC - - - 36 - 8 - 0 - EXC - - - 37 - 8 - 0 - EXC - - - 38 - 8 - 0 - EXC - - - 39 - 8 - 0 - EXC - - - 40 - 8 - 0 - EXC - - - 41 - 8 - 0 - EXC - - - 42 - 8 - 0 - EXC - - - 43 - 8 - 0 - EXC - - - 44 - 8 - 0 - EXC - - - 45 - 8 - 0 - EXC - - - 46 - 8 - 0 - EXC - - - 47 - 8 - 0 - EXC - - - 48 - 8 - 0 - EXC - - - 49 - 8 - 0 - EXC - - - 50 - 8 - 0 - EXC - - - 51 - 8 - 0 - EXC - - - 52 - 8 - 0 - EXC - - - 53 - 8 - 0 - EXC - - - 54 - 8 - 0 - EXC - - - 55 - 8 - 0 - EXC - - - 56 - 8 - 0 - EXC - - - 57 - 8 - 0 - EXC - - - 58 - 8 - 0 - EXC - - - 59 - 8 - 0 - EXC - - - 60 - 8 - 0 - EXC - - - 61 - 8 - 0 - EXC - - - 62 - 8 - 0 - EXC - - - 63 - 8 - 0 - EXC - - - 64 - 8 - 0 - EXC - - - 65 - 8 - 0 - EXC - - - 66 - 8 - 0 - EXC - - - 67 - 8 - 0 - EXC - - - 68 - 8 - 0 - EXC - - - 69 - 8 - 0 - EXC - - - 70 - 8 - 0 - EXC - - - 71 - 8 - 0 - EXC - - - 72 - 8 - 0 - EXC - - - 73 - 8 - 0 - EXC - - - 74 - 8 - 0 - EXC - - - 75 - 8 - 0 - EXC - - - 76 - 8 - 0 - EXC - - - 77 - 8 - 0 - EXC - - - 78 - 8 - 0 - EXC - - - 79 - 8 - 0 - EXC - - - 80 - 8 - 0 - EXC - - - 81 - 8 - 0 - EXC - - - 82 - 8 - 0 - EXC - - - 83 - 8 - 0 - EXC - - - 84 - 8 - 0 - EXC - - - 85 - 8 - 0 - EXC - - - 86 - 8 - 0 - EXC - - - 87 - 8 - 0 - EXC - - - 88 - 8 - 0 - EXC - - - 89 - 8 - 0 - EXC - - - 90 - 8 - 0 - EXC - - - 91 - 8 - 0 - EXC - - - 92 - 8 - 0 - EXC - - - 93 - 8 - 0 - EXC - - - 94 - 8 - 0 - EXC - - - 95 - 8 - 0 - EXC - - - 96 - 8 - 0 - EXC - - - 97 - 8 - 0 - EXC - - - 98 - 8 - 0 - EXC - - - 99 - 8 - 0 - EXC - - - 0 - 9 - 0 - EXC - - - 1 - 9 - 0 - EXC - - - 2 - 9 - 0 - EXC - - - 3 - 9 - 0 - EXC - - - 4 - 9 - 0 - EXC - - - 5 - 9 - 0 - EXC - - - 6 - 9 - 0 - EXC - - - 7 - 9 - 1 - EXC - - - 8 - 9 - 0 - EXC - - - 9 - 9 - 0 - EXC - - - 10 - 9 - 0 - EXC - - - 11 - 9 - 0 - EXC - - - 12 - 9 - 0 - EXC - - - 13 - 9 - 0 - EXC - - - 14 - 9 - 0 - EXC - - - 15 - 9 - 0 - EXC - - - 16 - 9 - 0 - EXC - - - 17 - 9 - 1 - EXC - - - 18 - 9 - 0 - EXC - - - 19 - 9 - 0 - EXC - - - 20 - 9 - 0 - EXC - - - 21 - 9 - 0 - EXC - - - 22 - 9 - 0 - EXC - - - 23 - 9 - 0 - EXC - - - 24 - 9 - 0 - EXC - - - 25 - 9 - 0 - EXC - - - 26 - 9 - 0 - EXC - - - 27 - 9 - 1 - EXC - - - 28 - 9 - 0 - EXC - - - 29 - 9 - 0 - EXC - - - 30 - 9 - 0 - EXC - - - 31 - 9 - 0 - EXC - - - 32 - 9 - 0 - EXC - - - 33 - 9 - 0 - EXC - - - 34 - 9 - 0 - EXC - - - 35 - 9 - 0 - EXC - - - 36 - 9 - 0 - EXC - - - 37 - 9 - 1 - EXC - - - 38 - 9 - 0 - EXC - - - 39 - 9 - 0 - EXC - - - 40 - 9 - 0 - EXC - - - 41 - 9 - 0 - EXC - - - 42 - 9 - 0 - EXC - - - 43 - 9 - 0 - EXC - - - 44 - 9 - 0 - EXC - - - 45 - 9 - 0 - EXC - - - 46 - 9 - 0 - EXC - - - 47 - 9 - 1 - EXC - - - 48 - 9 - 0 - EXC - - - 49 - 9 - 0 - EXC - - - 50 - 9 - 0 - EXC - - - 51 - 9 - 0 - EXC - - - 52 - 9 - 0 - EXC - - - 53 - 9 - 0 - EXC - - - 54 - 9 - 0 - EXC - - - 55 - 9 - 0 - EXC - - - 56 - 9 - 0 - EXC - - - 57 - 9 - 1 - EXC - - - 58 - 9 - 0 - EXC - - - 59 - 9 - 0 - EXC - - - 60 - 9 - 0 - EXC - - - 61 - 9 - 0 - EXC - - - 62 - 9 - 0 - EXC - - - 63 - 9 - 0 - EXC - - - 64 - 9 - 0 - EXC - - - 65 - 9 - 0 - EXC - - - 66 - 9 - 0 - EXC - - - 67 - 9 - 1 - EXC - - - 68 - 9 - 0 - EXC - - - 69 - 9 - 0 - EXC - - - 70 - 9 - 0 - EXC - - - 71 - 9 - 0 - EXC - - - 72 - 9 - 0 - EXC - - - 73 - 9 - 0 - EXC - - - 74 - 9 - 0 - EXC - - - 75 - 9 - 0 - EXC - - - 76 - 9 - 0 - EXC - - - 77 - 9 - 1 - EXC - - - 78 - 9 - 0 - EXC - - - 79 - 9 - 0 - EXC - - - 80 - 9 - 0 - EXC - - - 81 - 9 - 0 - EXC - - - 82 - 9 - 0 - EXC - - - 83 - 9 - 0 - EXC - - - 84 - 9 - 0 - EXC - - - 85 - 9 - 0 - EXC - - - 86 - 9 - 0 - EXC - - - 87 - 9 - 1 - EXC - - - 88 - 9 - 0 - EXC - - - 89 - 9 - 0 - EXC - - - 90 - 9 - 0 - EXC - - - 91 - 9 - 0 - EXC - - - 92 - 9 - 0 - EXC - - - 93 - 9 - 0 - EXC - - - 94 - 9 - 0 - EXC - - - 95 - 9 - 0 - EXC - - - 96 - 9 - 0 - EXC - - - 97 - 9 - 1 - EXC - - - 98 - 9 - 0 - EXC - - - 99 - 9 - 0 - EXC - - - 0 - 10 - 0 - EXC - - - 1 - 10 - 0 - EXC - - - 2 - 10 - 0 - EXC - - - 3 - 10 - 0 - EXC - - - 4 - 10 - 0 - EXC - - - 5 - 10 - 0 - EXC - - - 6 - 10 - 0 - EXC - - - 7 - 10 - 1 - EXC - - - 8 - 10 - 0 - EXC - - - 9 - 10 - 0 - EXC - - - 10 - 10 - 0 - EXC - - - 11 - 10 - 0 - EXC - - - 12 - 10 - 0 - EXC - - - 13 - 10 - 0 - EXC - - - 14 - 10 - 0 - EXC - - - 15 - 10 - 0 - EXC - - - 16 - 10 - 0 - EXC - - - 17 - 10 - 1 - EXC - - - 18 - 10 - 0 - EXC - - - 19 - 10 - 0 - EXC - - - 20 - 10 - 0 - EXC - - - 21 - 10 - 0 - EXC - - - 22 - 10 - 0 - EXC - - - 23 - 10 - 0 - EXC - - - 24 - 10 - 0 - EXC - - - 25 - 10 - 0 - EXC - - - 26 - 10 - 0 - EXC - - - 27 - 10 - 1 - EXC - - - 28 - 10 - 0 - EXC - - - 29 - 10 - 0 - EXC - - - 30 - 10 - 0 - EXC - - - 31 - 10 - 0 - EXC - - - 32 - 10 - 0 - EXC - - - 33 - 10 - 0 - EXC - - - 34 - 10 - 0 - EXC - - - 35 - 10 - 0 - EXC - - - 36 - 10 - 0 - EXC - - - 37 - 10 - 1 - EXC - - - 38 - 10 - 0 - EXC - - - 39 - 10 - 0 - EXC - - - 40 - 10 - 0 - EXC - - - 41 - 10 - 0 - EXC - - - 42 - 10 - 0 - EXC - - - 43 - 10 - 0 - EXC - - - 44 - 10 - 0 - EXC - - - 45 - 10 - 0 - EXC - - - 46 - 10 - 0 - EXC - - - 47 - 10 - 1 - EXC - - - 48 - 10 - 0 - EXC - - - 49 - 10 - 0 - EXC - - - 50 - 10 - 0 - EXC - - - 51 - 10 - 0 - EXC - - - 52 - 10 - 0 - EXC - - - 53 - 10 - 0 - EXC - - - 54 - 10 - 0 - EXC - - - 55 - 10 - 0 - EXC - - - 56 - 10 - 0 - EXC - - - 57 - 10 - 1 - EXC - - - 58 - 10 - 0 - EXC - - - 59 - 10 - 0 - EXC - - - 60 - 10 - 0 - EXC - - - 61 - 10 - 0 - EXC - - - 62 - 10 - 0 - EXC - - - 63 - 10 - 0 - EXC - - - 64 - 10 - 0 - EXC - - - 65 - 10 - 0 - EXC - - - 66 - 10 - 0 - EXC - - - 67 - 10 - 1 - EXC - - - 68 - 10 - 0 - EXC - - - 69 - 10 - 0 - EXC - - - 70 - 10 - 0 - EXC - - - 71 - 10 - 0 - EXC - - - 72 - 10 - 0 - EXC - - - 73 - 10 - 0 - EXC - - - 74 - 10 - 0 - EXC - - - 75 - 10 - 0 - EXC - - - 76 - 10 - 0 - EXC - - - 77 - 10 - 1 - EXC - - - 78 - 10 - 0 - EXC - - - 79 - 10 - 0 - EXC - - - 80 - 10 - 0 - EXC - - - 81 - 10 - 0 - EXC - - - 82 - 10 - 0 - EXC - - - 83 - 10 - 0 - EXC - - - 84 - 10 - 0 - EXC - - - 85 - 10 - 0 - EXC - - - 86 - 10 - 0 - EXC - - - 87 - 10 - 1 - EXC - - - 88 - 10 - 0 - EXC - - - 89 - 10 - 0 - EXC - - - 90 - 10 - 0 - EXC - - - 91 - 10 - 0 - EXC - - - 92 - 10 - 0 - EXC - - - 93 - 10 - 0 - EXC - - - 94 - 10 - 0 - EXC - - - 95 - 10 - 0 - EXC - - - 96 - 10 - 0 - EXC - - - 97 - 10 - 1 - EXC - - - 98 - 10 - 0 - EXC - - - 99 - 10 - 0 - EXC - - - 0 - 11 - 0 - EXC - - - 1 - 11 - 1 - EXC - - - 2 - 11 - 0 - EXC - - - 3 - 11 - 0 - EXC - - - 4 - 11 - 1 - EXC - - - 5 - 11 - 0 - EXC - - - 6 - 11 - 0 - EXC - - - 7 - 11 - 0 - EXC - - - 8 - 11 - 0 - EXC - - - 9 - 11 - 0 - EXC - - - 10 - 11 - 0 - EXC - - - 11 - 11 - 1 - EXC - - - 12 - 11 - 0 - EXC - - - 13 - 11 - 0 - EXC - - - 14 - 11 - 1 - EXC - - - 15 - 11 - 0 - EXC - - - 16 - 11 - 0 - EXC - - - 17 - 11 - 0 - EXC - - - 18 - 11 - 0 - EXC - - - 19 - 11 - 0 - EXC - - - 20 - 11 - 0 - EXC - - - 21 - 11 - 1 - EXC - - - 22 - 11 - 0 - EXC - - - 23 - 11 - 0 - EXC - - - 24 - 11 - 1 - EXC - - - 25 - 11 - 0 - EXC - - - 26 - 11 - 0 - EXC - - - 27 - 11 - 0 - EXC - - - 28 - 11 - 0 - EXC - - - 29 - 11 - 0 - EXC - - - 30 - 11 - 0 - EXC - - - 31 - 11 - 1 - EXC - - - 32 - 11 - 0 - EXC - - - 33 - 11 - 0 - EXC - - - 34 - 11 - 1 - EXC - - - 35 - 11 - 0 - EXC - - - 36 - 11 - 0 - EXC - - - 37 - 11 - 0 - EXC - - - 38 - 11 - 0 - EXC - - - 39 - 11 - 0 - EXC - - - 40 - 11 - 0 - EXC - - - 41 - 11 - 1 - EXC - - - 42 - 11 - 0 - EXC - - - 43 - 11 - 0 - EXC - - - 44 - 11 - 1 - EXC - - - 45 - 11 - 0 - EXC - - - 46 - 11 - 0 - EXC - - - 47 - 11 - 0 - EXC - - - 48 - 11 - 0 - EXC - - - 49 - 11 - 0 - EXC - - - 50 - 11 - 0 - EXC - - - 51 - 11 - 1 - EXC - - - 52 - 11 - 0 - EXC - - - 53 - 11 - 0 - EXC - - - 54 - 11 - 1 - EXC - - - 55 - 11 - 0 - EXC - - - 56 - 11 - 0 - EXC - - - 57 - 11 - 0 - EXC - - - 58 - 11 - 0 - EXC - - - 59 - 11 - 0 - EXC - - - 60 - 11 - 0 - EXC - - - 61 - 11 - 1 - EXC - - - 62 - 11 - 0 - EXC - - - 63 - 11 - 0 - EXC - - - 64 - 11 - 1 - EXC - - - 65 - 11 - 0 - EXC - - - 66 - 11 - 0 - EXC - - - 67 - 11 - 0 - EXC - - - 68 - 11 - 0 - EXC - - - 69 - 11 - 0 - EXC - - - 70 - 11 - 0 - EXC - - - 71 - 11 - 1 - EXC - - - 72 - 11 - 0 - EXC - - - 73 - 11 - 0 - EXC - - - 74 - 11 - 1 - EXC - - - 75 - 11 - 0 - EXC - - - 76 - 11 - 0 - EXC - - - 77 - 11 - 0 - EXC - - - 78 - 11 - 0 - EXC - - - 79 - 11 - 0 - EXC - - - 80 - 11 - 0 - EXC - - - 81 - 11 - 1 - EXC - - - 82 - 11 - 0 - EXC - - - 83 - 11 - 0 - EXC - - - 84 - 11 - 1 - EXC - - - 85 - 11 - 0 - EXC - - - 86 - 11 - 0 - EXC - - - 87 - 11 - 0 - EXC - - - 88 - 11 - 0 - EXC - - - 89 - 11 - 0 - EXC - - - 90 - 11 - 0 - EXC - - - 91 - 11 - 1 - EXC - - - 92 - 11 - 0 - EXC - - - 93 - 11 - 0 - EXC - - - 94 - 11 - 1 - EXC - - - 95 - 11 - 0 - EXC - - - 96 - 11 - 0 - EXC - - - 97 - 11 - 0 - EXC - - - 98 - 11 - 0 - EXC - - - 99 - 11 - 0 - EXC - - - 0 - 12 - 0 - EXC - - - 1 - 12 - 0 - EXC - - - 2 - 12 - 0 - EXC - - - 3 - 12 - 0 - EXC - - - 4 - 12 - 0 - EXC - - - 5 - 12 - 0 - EXC - - - 6 - 12 - 0 - EXC - - - 7 - 12 - 0 - EXC - - - 8 - 12 - 0 - EXC - - - 9 - 12 - 0 - EXC - - - 10 - 12 - 0 - EXC - - - 11 - 12 - 0 - EXC - - - 12 - 12 - 0 - EXC - - - 13 - 12 - 0 - EXC - - - 14 - 12 - 0 - EXC - - - 15 - 12 - 0 - EXC - - - 16 - 12 - 0 - EXC - - - 17 - 12 - 0 - EXC - - - 18 - 12 - 0 - EXC - - - 19 - 12 - 0 - EXC - - - 20 - 12 - 0 - EXC - - - 21 - 12 - 0 - EXC - - - 22 - 12 - 0 - EXC - - - 23 - 12 - 0 - EXC - - - 24 - 12 - 0 - EXC - - - 25 - 12 - 0 - EXC - - - 26 - 12 - 0 - EXC - - - 27 - 12 - 0 - EXC - - - 28 - 12 - 0 - EXC - - - 29 - 12 - 0 - EXC - - - 30 - 12 - 0 - EXC - - - 31 - 12 - 0 - EXC - - - 32 - 12 - 0 - EXC - - - 33 - 12 - 0 - EXC - - - 34 - 12 - 0 - EXC - - - 35 - 12 - 0 - EXC - - - 36 - 12 - 0 - EXC - - - 37 - 12 - 0 - EXC - - - 38 - 12 - 0 - EXC - - - 39 - 12 - 0 - EXC - - - 40 - 12 - 0 - EXC - - - 41 - 12 - 0 - EXC - - - 42 - 12 - 0 - EXC - - - 43 - 12 - 0 - EXC - - - 44 - 12 - 0 - EXC - - - 45 - 12 - 0 - EXC - - - 46 - 12 - 0 - EXC - - - 47 - 12 - 0 - EXC - - - 48 - 12 - 0 - EXC - - - 49 - 12 - 0 - EXC - - - 50 - 12 - 0 - EXC - - - 51 - 12 - 0 - EXC - - - 52 - 12 - 0 - EXC - - - 53 - 12 - 0 - EXC - - - 54 - 12 - 0 - EXC - - - 55 - 12 - 0 - EXC - - - 56 - 12 - 0 - EXC - - - 57 - 12 - 0 - EXC - - - 58 - 12 - 0 - EXC - - - 59 - 12 - 0 - EXC - - - 60 - 12 - 0 - EXC - - - 61 - 12 - 0 - EXC - - - 62 - 12 - 0 - EXC - - - 63 - 12 - 0 - EXC - - - 64 - 12 - 0 - EXC - - - 65 - 12 - 0 - EXC - - - 66 - 12 - 0 - EXC - - - 67 - 12 - 0 - EXC - - - 68 - 12 - 0 - EXC - - - 69 - 12 - 0 - EXC - - - 70 - 12 - 0 - EXC - - - 71 - 12 - 0 - EXC - - - 72 - 12 - 0 - EXC - - - 73 - 12 - 0 - EXC - - - 74 - 12 - 0 - EXC - - - 75 - 12 - 0 - EXC - - - 76 - 12 - 0 - EXC - - - 77 - 12 - 0 - EXC - - - 78 - 12 - 0 - EXC - - - 79 - 12 - 0 - EXC - - - 80 - 12 - 0 - EXC - - - 81 - 12 - 0 - EXC - - - 82 - 12 - 0 - EXC - - - 83 - 12 - 0 - EXC - - - 84 - 12 - 0 - EXC - - - 85 - 12 - 0 - EXC - - - 86 - 12 - 0 - EXC - - - 87 - 12 - 0 - EXC - - - 88 - 12 - 0 - EXC - - - 89 - 12 - 0 - EXC - - - 90 - 12 - 0 - EXC - - - 91 - 12 - 0 - EXC - - - 92 - 12 - 0 - EXC - - - 93 - 12 - 0 - EXC - - - 94 - 12 - 0 - EXC - - - 95 - 12 - 0 - EXC - - - 96 - 12 - 0 - EXC - - - 97 - 12 - 0 - EXC - - - 98 - 12 - 0 - EXC - - - 99 - 12 - 0 - EXC - - - 0 - 13 - 0 - EXC - - - 1 - 13 - 0 - EXC - - - 2 - 13 - 0 - EXC - - - 3 - 13 - 0 - INH - - - 4 - 13 - 0 - EXC - - - 5 - 13 - 0 - EXC - - - 6 - 13 - 0 - EXC - - - 7 - 13 - 1 - EXC - - - 8 - 13 - 0 - EXC - - - 9 - 13 - 0 - EXC - - - 10 - 13 - 0 - EXC - - - 11 - 13 - 0 - EXC - - - 12 - 13 - 0 - EXC - - - 13 - 13 - 0 - INH - - - 14 - 13 - 0 - EXC - - - 15 - 13 - 0 - EXC - - - 16 - 13 - 0 - EXC - - - 17 - 13 - 1 - EXC - - - 18 - 13 - 0 - EXC - - - 19 - 13 - 0 - EXC - - - 20 - 13 - 0 - EXC - - - 21 - 13 - 0 - EXC - - - 22 - 13 - 0 - EXC - - - 23 - 13 - 0 - INH - - - 24 - 13 - 0 - EXC - - - 25 - 13 - 0 - EXC - - - 26 - 13 - 0 - EXC - - - 27 - 13 - 1 - EXC - - - 28 - 13 - 0 - EXC - - - 29 - 13 - 0 - EXC - - - 30 - 13 - 0 - EXC - - - 31 - 13 - 0 - EXC - - - 32 - 13 - 0 - EXC - - - 33 - 13 - 0 - INH - - - 34 - 13 - 0 - EXC - - - 35 - 13 - 0 - EXC - - - 36 - 13 - 0 - EXC - - - 37 - 13 - 1 - EXC - - - 38 - 13 - 0 - EXC - - - 39 - 13 - 0 - EXC - - - 40 - 13 - 0 - EXC - - - 41 - 13 - 0 - EXC - - - 42 - 13 - 0 - EXC - - - 43 - 13 - 0 - INH - - - 44 - 13 - 0 - EXC - - - 45 - 13 - 0 - EXC - - - 46 - 13 - 0 - EXC - - - 47 - 13 - 1 - EXC - - - 48 - 13 - 0 - EXC - - - 49 - 13 - 0 - EXC - - - 50 - 13 - 0 - EXC - - - 51 - 13 - 0 - EXC - - - 52 - 13 - 0 - EXC - - - 53 - 13 - 0 - INH - - - 54 - 13 - 0 - EXC - - - 55 - 13 - 0 - EXC - - - 56 - 13 - 0 - EXC - - - 57 - 13 - 1 - EXC - - - 58 - 13 - 0 - EXC - - - 59 - 13 - 0 - EXC - - - 60 - 13 - 0 - EXC - - - 61 - 13 - 0 - EXC - - - 62 - 13 - 0 - EXC - - - 63 - 13 - 0 - INH - - - 64 - 13 - 0 - EXC - - - 65 - 13 - 0 - EXC - - - 66 - 13 - 0 - EXC - - - 67 - 13 - 1 - EXC - - - 68 - 13 - 0 - EXC - - - 69 - 13 - 0 - EXC - - - 70 - 13 - 0 - EXC - - - 71 - 13 - 0 - EXC - - - 72 - 13 - 0 - EXC - - - 73 - 13 - 0 - INH - - - 74 - 13 - 0 - EXC - - - 75 - 13 - 0 - EXC - - - 76 - 13 - 0 - EXC - - - 77 - 13 - 1 - EXC - - - 78 - 13 - 0 - EXC - - - 79 - 13 - 0 - EXC - - - 80 - 13 - 0 - EXC - - - 81 - 13 - 0 - EXC - - - 82 - 13 - 0 - EXC - - - 83 - 13 - 0 - INH - - - 84 - 13 - 0 - EXC - - - 85 - 13 - 0 - EXC - - - 86 - 13 - 0 - EXC - - - 87 - 13 - 1 - EXC - - - 88 - 13 - 0 - EXC - - - 89 - 13 - 0 - EXC - - - 90 - 13 - 0 - EXC - - - 91 - 13 - 0 - EXC - - - 92 - 13 - 0 - EXC - - - 93 - 13 - 0 - INH - - - 94 - 13 - 0 - EXC - - - 95 - 13 - 0 - EXC - - - 96 - 13 - 0 - EXC - - - 97 - 13 - 1 - EXC - - - 98 - 13 - 0 - EXC - - - 99 - 13 - 0 - EXC - - - 0 - 14 - 0 - EXC - - - 1 - 14 - 1 - EXC - - - 2 - 14 - 0 - EXC - - - 3 - 14 - 0 - EXC - - - 4 - 14 - 1 - EXC - - - 5 - 14 - 0 - EXC - - - 6 - 14 - 0 - EXC - - - 7 - 14 - 0 - EXC - - - 8 - 14 - 0 - EXC - - - 9 - 14 - 0 - EXC - - - 10 - 14 - 0 - EXC - - - 11 - 14 - 1 - EXC - - - 12 - 14 - 0 - EXC - - - 13 - 14 - 0 - EXC - - - 14 - 14 - 1 - EXC - - - 15 - 14 - 0 - EXC - - - 16 - 14 - 0 - EXC - - - 17 - 14 - 0 - EXC - - - 18 - 14 - 0 - EXC - - - 19 - 14 - 0 - EXC - - - 20 - 14 - 0 - EXC - - - 21 - 14 - 1 - EXC - - - 22 - 14 - 0 - EXC - - - 23 - 14 - 0 - EXC - - - 24 - 14 - 1 - EXC - - - 25 - 14 - 0 - EXC - - - 26 - 14 - 0 - EXC - - - 27 - 14 - 0 - EXC - - - 28 - 14 - 0 - EXC - - - 29 - 14 - 0 - EXC - - - 30 - 14 - 0 - EXC - - - 31 - 14 - 1 - EXC - - - 32 - 14 - 0 - EXC - - - 33 - 14 - 0 - EXC - - - 34 - 14 - 1 - EXC - - - 35 - 14 - 0 - EXC - - - 36 - 14 - 0 - EXC - - - 37 - 14 - 0 - EXC - - - 38 - 14 - 0 - EXC - - - 39 - 14 - 0 - EXC - - - 40 - 14 - 0 - EXC - - - 41 - 14 - 1 - EXC - - - 42 - 14 - 0 - EXC - - - 43 - 14 - 0 - EXC - - - 44 - 14 - 1 - EXC - - - 45 - 14 - 0 - EXC - - - 46 - 14 - 0 - EXC - - - 47 - 14 - 0 - EXC - - - 48 - 14 - 0 - EXC - - - 49 - 14 - 0 - EXC - - - 50 - 14 - 0 - EXC - - - 51 - 14 - 1 - EXC - - - 52 - 14 - 0 - EXC - - - 53 - 14 - 0 - EXC - - - 54 - 14 - 1 - EXC - - - 55 - 14 - 0 - EXC - - - 56 - 14 - 0 - EXC - - - 57 - 14 - 0 - EXC - - - 58 - 14 - 0 - EXC - - - 59 - 14 - 0 - EXC - - - 60 - 14 - 0 - EXC - - - 61 - 14 - 1 - EXC - - - 62 - 14 - 0 - EXC - - - 63 - 14 - 0 - EXC - - - 64 - 14 - 1 - EXC - - - 65 - 14 - 0 - EXC - - - 66 - 14 - 0 - EXC - - - 67 - 14 - 0 - EXC - - - 68 - 14 - 0 - EXC - - - 69 - 14 - 0 - EXC - - - 70 - 14 - 0 - EXC - - - 71 - 14 - 1 - EXC - - - 72 - 14 - 0 - EXC - - - 73 - 14 - 0 - EXC - - - 74 - 14 - 1 - EXC - - - 75 - 14 - 0 - EXC - - - 76 - 14 - 0 - EXC - - - 77 - 14 - 0 - EXC - - - 78 - 14 - 0 - EXC - - - 79 - 14 - 0 - EXC - - - 80 - 14 - 0 - EXC - - - 81 - 14 - 1 - EXC - - - 82 - 14 - 0 - EXC - - - 83 - 14 - 0 - EXC - - - 84 - 14 - 1 - EXC - - - 85 - 14 - 0 - EXC - - - 86 - 14 - 0 - EXC - - - 87 - 14 - 0 - EXC - - - 88 - 14 - 0 - EXC - - - 89 - 14 - 0 - EXC - - - 90 - 14 - 0 - EXC - - - 91 - 14 - 1 - EXC - - - 92 - 14 - 0 - EXC - - - 93 - 14 - 0 - EXC - - - 94 - 14 - 1 - EXC - - - 95 - 14 - 0 - EXC - - - 96 - 14 - 0 - EXC - - - 97 - 14 - 0 - EXC - - - 98 - 14 - 0 - EXC - - - 99 - 14 - 0 - EXC - - - 0 - 15 - 0 - EXC - - - 1 - 15 - 0 - EXC - - - 2 - 15 - 0 - EXC - - - 3 - 15 - 0 - EXC - - - 4 - 15 - 0 - EXC - - - 5 - 15 - 0 - EXC - - - 6 - 15 - 0 - EXC - - - 7 - 15 - 0 - EXC - - - 8 - 15 - 0 - EXC - - - 9 - 15 - 0 - EXC - - - 10 - 15 - 0 - EXC - - - 11 - 15 - 0 - EXC - - - 12 - 15 - 0 - EXC - - - 13 - 15 - 0 - EXC - - - 14 - 15 - 0 - EXC - - - 15 - 15 - 0 - EXC - - - 16 - 15 - 0 - EXC - - - 17 - 15 - 0 - EXC - - - 18 - 15 - 0 - EXC - - - 19 - 15 - 0 - EXC - - - 20 - 15 - 0 - EXC - - - 21 - 15 - 0 - EXC - - - 22 - 15 - 0 - EXC - - - 23 - 15 - 0 - EXC - - - 24 - 15 - 0 - EXC - - - 25 - 15 - 0 - EXC - - - 26 - 15 - 0 - EXC - - - 27 - 15 - 0 - EXC - - - 28 - 15 - 0 - EXC - - - 29 - 15 - 0 - EXC - - - 30 - 15 - 0 - EXC - - - 31 - 15 - 0 - EXC - - - 32 - 15 - 0 - EXC - - - 33 - 15 - 0 - EXC - - - 34 - 15 - 0 - EXC - - - 35 - 15 - 0 - EXC - - - 36 - 15 - 0 - EXC - - - 37 - 15 - 0 - EXC - - - 38 - 15 - 0 - EXC - - - 39 - 15 - 0 - EXC - - - 40 - 15 - 0 - EXC - - - 41 - 15 - 0 - EXC - - - 42 - 15 - 0 - EXC - - - 43 - 15 - 0 - EXC - - - 44 - 15 - 0 - EXC - - - 45 - 15 - 0 - EXC - - - 46 - 15 - 0 - EXC - - - 47 - 15 - 0 - EXC - - - 48 - 15 - 0 - EXC - - - 49 - 15 - 0 - EXC - - - 50 - 15 - 0 - EXC - - - 51 - 15 - 0 - EXC - - - 52 - 15 - 0 - EXC - - - 53 - 15 - 0 - EXC - - - 54 - 15 - 0 - EXC - - - 55 - 15 - 0 - EXC - - - 56 - 15 - 0 - EXC - - - 57 - 15 - 0 - EXC - - - 58 - 15 - 0 - EXC - - - 59 - 15 - 0 - EXC - - - 60 - 15 - 0 - EXC - - - 61 - 15 - 0 - EXC - - - 62 - 15 - 0 - EXC - - - 63 - 15 - 0 - EXC - - - 64 - 15 - 0 - EXC - - - 65 - 15 - 0 - EXC - - - 66 - 15 - 0 - EXC - - - 67 - 15 - 0 - EXC - - - 68 - 15 - 0 - EXC - - - 69 - 15 - 0 - EXC - - - 70 - 15 - 0 - EXC - - - 71 - 15 - 0 - EXC - - - 72 - 15 - 0 - EXC - - - 73 - 15 - 0 - EXC - - - 74 - 15 - 0 - EXC - - - 75 - 15 - 0 - EXC - - - 76 - 15 - 0 - EXC - - - 77 - 15 - 0 - EXC - - - 78 - 15 - 0 - EXC - - - 79 - 15 - 0 - EXC - - - 80 - 15 - 0 - EXC - - - 81 - 15 - 0 - EXC - - - 82 - 15 - 0 - EXC - - - 83 - 15 - 0 - EXC - - - 84 - 15 - 0 - EXC - - - 85 - 15 - 0 - EXC - - - 86 - 15 - 0 - EXC - - - 87 - 15 - 0 - EXC - - - 88 - 15 - 0 - EXC - - - 89 - 15 - 0 - EXC - - - 90 - 15 - 0 - EXC - - - 91 - 15 - 0 - EXC - - - 92 - 15 - 0 - EXC - - - 93 - 15 - 0 - EXC - - - 94 - 15 - 0 - EXC - - - 95 - 15 - 0 - EXC - - - 96 - 15 - 0 - EXC - - - 97 - 15 - 0 - EXC - - - 98 - 15 - 0 - EXC - - - 99 - 15 - 0 - EXC - - - 0 - 16 - 0 - EXC - - - 1 - 16 - 0 - EXC - - - 2 - 16 - 0 - EXC - - - 3 - 16 - 0 - EXC - - - 4 - 16 - 0 - EXC - - - 5 - 16 - 0 - EXC - - - 6 - 16 - 0 - INH - - - 7 - 16 - 1 - EXC - - - 8 - 16 - 0 - EXC - - - 9 - 16 - 0 - EXC - - - 10 - 16 - 0 - EXC - - - 11 - 16 - 0 - EXC - - - 12 - 16 - 0 - EXC - - - 13 - 16 - 0 - EXC - - - 14 - 16 - 0 - EXC - - - 15 - 16 - 0 - EXC - - - 16 - 16 - 0 - INH - - - 17 - 16 - 1 - EXC - - - 18 - 16 - 0 - EXC - - - 19 - 16 - 0 - EXC - - - 20 - 16 - 0 - EXC - - - 21 - 16 - 0 - EXC - - - 22 - 16 - 0 - EXC - - - 23 - 16 - 0 - EXC - - - 24 - 16 - 0 - EXC - - - 25 - 16 - 0 - EXC - - - 26 - 16 - 0 - INH - - - 27 - 16 - 1 - EXC - - - 28 - 16 - 0 - EXC - - - 29 - 16 - 0 - EXC - - - 30 - 16 - 0 - EXC - - - 31 - 16 - 0 - EXC - - - 32 - 16 - 0 - EXC - - - 33 - 16 - 0 - EXC - - - 34 - 16 - 0 - EXC - - - 35 - 16 - 0 - EXC - - - 36 - 16 - 0 - INH - - - 37 - 16 - 1 - EXC - - - 38 - 16 - 0 - EXC - - - 39 - 16 - 0 - EXC - - - 40 - 16 - 0 - EXC - - - 41 - 16 - 0 - EXC - - - 42 - 16 - 0 - EXC - - - 43 - 16 - 0 - EXC - - - 44 - 16 - 0 - EXC - - - 45 - 16 - 0 - EXC - - - 46 - 16 - 0 - INH - - - 47 - 16 - 1 - EXC - - - 48 - 16 - 0 - EXC - - - 49 - 16 - 0 - EXC - - - 50 - 16 - 0 - EXC - - - 51 - 16 - 0 - EXC - - - 52 - 16 - 0 - EXC - - - 53 - 16 - 0 - EXC - - - 54 - 16 - 0 - EXC - - - 55 - 16 - 0 - EXC - - - 56 - 16 - 0 - INH - - - 57 - 16 - 1 - EXC - - - 58 - 16 - 0 - EXC - - - 59 - 16 - 0 - EXC - - - 60 - 16 - 0 - EXC - - - 61 - 16 - 0 - EXC - - - 62 - 16 - 0 - EXC - - - 63 - 16 - 0 - EXC - - - 64 - 16 - 0 - EXC - - - 65 - 16 - 0 - EXC - - - 66 - 16 - 0 - INH - - - 67 - 16 - 1 - EXC - - - 68 - 16 - 0 - EXC - - - 69 - 16 - 0 - EXC - - - 70 - 16 - 0 - EXC - - - 71 - 16 - 0 - EXC - - - 72 - 16 - 0 - EXC - - - 73 - 16 - 0 - EXC - - - 74 - 16 - 0 - EXC - - - 75 - 16 - 0 - EXC - - - 76 - 16 - 0 - INH - - - 77 - 16 - 1 - EXC - - - 78 - 16 - 0 - EXC - - - 79 - 16 - 0 - EXC - - - 80 - 16 - 0 - EXC - - - 81 - 16 - 0 - EXC - - - 82 - 16 - 0 - EXC - - - 83 - 16 - 0 - EXC - - - 84 - 16 - 0 - EXC - - - 85 - 16 - 0 - EXC - - - 86 - 16 - 0 - INH - - - 87 - 16 - 1 - EXC - - - 88 - 16 - 0 - EXC - - - 89 - 16 - 0 - EXC - - - 90 - 16 - 0 - EXC - - - 91 - 16 - 0 - EXC - - - 92 - 16 - 0 - EXC - - - 93 - 16 - 0 - EXC - - - 94 - 16 - 0 - EXC - - - 95 - 16 - 0 - EXC - - - 96 - 16 - 0 - INH - - - 97 - 16 - 1 - EXC - - - 98 - 16 - 0 - EXC - - - 99 - 16 - 0 - EXC - - - 0 - 17 - 0 - EXC - - - 1 - 17 - 1 - EXC - - - 2 - 17 - 0 - EXC - - - 3 - 17 - 0 - EXC - - - 4 - 17 - 1 - EXC - - - 5 - 17 - 0 - EXC - - - 6 - 17 - 0 - EXC - - - 7 - 17 - 0 - EXC - - - 8 - 17 - 0 - EXC - - - 9 - 17 - 0 - EXC - - - 10 - 17 - 0 - EXC - - - 11 - 17 - 1 - EXC - - - 12 - 17 - 0 - EXC - - - 13 - 17 - 0 - EXC - - - 14 - 17 - 1 - EXC - - - 15 - 17 - 0 - EXC - - - 16 - 17 - 0 - EXC - - - 17 - 17 - 0 - EXC - - - 18 - 17 - 0 - EXC - - - 19 - 17 - 0 - EXC - - - 20 - 17 - 0 - EXC - - - 21 - 17 - 1 - EXC - - - 22 - 17 - 0 - EXC - - - 23 - 17 - 0 - EXC - - - 24 - 17 - 1 - EXC - - - 25 - 17 - 0 - EXC - - - 26 - 17 - 0 - EXC - - - 27 - 17 - 0 - EXC - - - 28 - 17 - 0 - EXC - - - 29 - 17 - 0 - EXC - - - 30 - 17 - 0 - EXC - - - 31 - 17 - 1 - EXC - - - 32 - 17 - 0 - EXC - - - 33 - 17 - 0 - EXC - - - 34 - 17 - 1 - EXC - - - 35 - 17 - 0 - EXC - - - 36 - 17 - 0 - EXC - - - 37 - 17 - 0 - EXC - - - 38 - 17 - 0 - EXC - - - 39 - 17 - 0 - EXC - - - 40 - 17 - 0 - EXC - - - 41 - 17 - 1 - EXC - - - 42 - 17 - 0 - EXC - - - 43 - 17 - 0 - EXC - - - 44 - 17 - 1 - EXC - - - 45 - 17 - 0 - EXC - - - 46 - 17 - 0 - EXC - - - 47 - 17 - 0 - EXC - - - 48 - 17 - 0 - EXC - - - 49 - 17 - 0 - EXC - - - 50 - 17 - 0 - EXC - - - 51 - 17 - 1 - EXC - - - 52 - 17 - 0 - EXC - - - 53 - 17 - 0 - EXC - - - 54 - 17 - 1 - EXC - - - 55 - 17 - 0 - EXC - - - 56 - 17 - 0 - EXC - - - 57 - 17 - 0 - EXC - - - 58 - 17 - 0 - EXC - - - 59 - 17 - 0 - EXC - - - 60 - 17 - 0 - EXC - - - 61 - 17 - 1 - EXC - - - 62 - 17 - 0 - EXC - - - 63 - 17 - 0 - EXC - - - 64 - 17 - 1 - EXC - - - 65 - 17 - 0 - EXC - - - 66 - 17 - 0 - EXC - - - 67 - 17 - 0 - EXC - - - 68 - 17 - 0 - EXC - - - 69 - 17 - 0 - EXC - - - 70 - 17 - 0 - EXC - - - 71 - 17 - 1 - EXC - - - 72 - 17 - 0 - EXC - - - 73 - 17 - 0 - EXC - - - 74 - 17 - 1 - EXC - - - 75 - 17 - 0 - EXC - - - 76 - 17 - 0 - EXC - - - 77 - 17 - 0 - EXC - - - 78 - 17 - 0 - EXC - - - 79 - 17 - 0 - EXC - - - 80 - 17 - 0 - EXC - - - 81 - 17 - 1 - EXC - - - 82 - 17 - 0 - EXC - - - 83 - 17 - 0 - EXC - - - 84 - 17 - 1 - EXC - - - 85 - 17 - 0 - EXC - - - 86 - 17 - 0 - EXC - - - 87 - 17 - 0 - EXC - - - 88 - 17 - 0 - EXC - - - 89 - 17 - 0 - EXC - - - 90 - 17 - 0 - EXC - - - 91 - 17 - 1 - EXC - - - 92 - 17 - 0 - EXC - - - 93 - 17 - 0 - EXC - - - 94 - 17 - 1 - EXC - - - 95 - 17 - 0 - EXC - - - 96 - 17 - 0 - EXC - - - 97 - 17 - 0 - EXC - - - 98 - 17 - 0 - EXC - - - 99 - 17 - 0 - EXC - - - 0 - 18 - 0 - EXC - - - 1 - 18 - 0 - EXC - - - 2 - 18 - 0 - EXC - - - 3 - 18 - 0 - EXC - - - 4 - 18 - 0 - EXC - - - 5 - 18 - 0 - EXC - - - 6 - 18 - 0 - EXC - - - 7 - 18 - 0 - EXC - - - 8 - 18 - 0 - EXC - - - 9 - 18 - 0 - EXC - - - 10 - 18 - 0 - EXC - - - 11 - 18 - 0 - EXC - - - 12 - 18 - 0 - EXC - - - 13 - 18 - 0 - EXC - - - 14 - 18 - 0 - EXC - - - 15 - 18 - 0 - EXC - - - 16 - 18 - 0 - EXC - - - 17 - 18 - 0 - EXC - - - 18 - 18 - 0 - EXC - - - 19 - 18 - 0 - EXC - - - 20 - 18 - 0 - EXC - - - 21 - 18 - 0 - EXC - - - 22 - 18 - 0 - EXC - - - 23 - 18 - 0 - EXC - - - 24 - 18 - 0 - EXC - - - 25 - 18 - 0 - EXC - - - 26 - 18 - 0 - EXC - - - 27 - 18 - 0 - EXC - - - 28 - 18 - 0 - EXC - - - 29 - 18 - 0 - EXC - - - 30 - 18 - 0 - EXC - - - 31 - 18 - 0 - EXC - - - 32 - 18 - 0 - EXC - - - 33 - 18 - 0 - EXC - - - 34 - 18 - 0 - EXC - - - 35 - 18 - 0 - EXC - - - 36 - 18 - 0 - EXC - - - 37 - 18 - 0 - EXC - - - 38 - 18 - 0 - EXC - - - 39 - 18 - 0 - EXC - - - 40 - 18 - 0 - EXC - - - 41 - 18 - 0 - EXC - - - 42 - 18 - 0 - EXC - - - 43 - 18 - 0 - EXC - - - 44 - 18 - 0 - EXC - - - 45 - 18 - 0 - EXC - - - 46 - 18 - 0 - EXC - - - 47 - 18 - 0 - EXC - - - 48 - 18 - 0 - EXC - - - 49 - 18 - 0 - EXC - - - 50 - 18 - 0 - EXC - - - 51 - 18 - 0 - EXC - - - 52 - 18 - 0 - EXC - - - 53 - 18 - 0 - EXC - - - 54 - 18 - 0 - EXC - - - 55 - 18 - 0 - EXC - - - 56 - 18 - 0 - EXC - - - 57 - 18 - 0 - EXC - - - 58 - 18 - 0 - EXC - - - 59 - 18 - 0 - EXC - - - 60 - 18 - 0 - EXC - - - 61 - 18 - 0 - EXC - - - 62 - 18 - 0 - EXC - - - 63 - 18 - 0 - EXC - - - 64 - 18 - 0 - EXC - - - 65 - 18 - 0 - EXC - - - 66 - 18 - 0 - EXC - - - 67 - 18 - 0 - EXC - - - 68 - 18 - 0 - EXC - - - 69 - 18 - 0 - EXC - - - 70 - 18 - 0 - EXC - - - 71 - 18 - 0 - EXC - - - 72 - 18 - 0 - EXC - - - 73 - 18 - 0 - EXC - - - 74 - 18 - 0 - EXC - - - 75 - 18 - 0 - EXC - - - 76 - 18 - 0 - EXC - - - 77 - 18 - 0 - EXC - - - 78 - 18 - 0 - EXC - - - 79 - 18 - 0 - EXC - - - 80 - 18 - 0 - EXC - - - 81 - 18 - 0 - EXC - - - 82 - 18 - 0 - EXC - - - 83 - 18 - 0 - EXC - - - 84 - 18 - 0 - EXC - - - 85 - 18 - 0 - EXC - - - 86 - 18 - 0 - EXC - - - 87 - 18 - 0 - EXC - - - 88 - 18 - 0 - EXC - - - 89 - 18 - 0 - EXC - - - 90 - 18 - 0 - EXC - - - 91 - 18 - 0 - EXC - - - 92 - 18 - 0 - EXC - - - 93 - 18 - 0 - EXC - - - 94 - 18 - 0 - EXC - - - 95 - 18 - 0 - EXC - - - 96 - 18 - 0 - EXC - - - 97 - 18 - 0 - EXC - - - 98 - 18 - 0 - EXC - - - 99 - 18 - 0 - EXC - - - 0 - 19 - 0 - EXC - - - 1 - 19 - 0 - EXC - - - 2 - 19 - 0 - EXC - - - 3 - 19 - 0 - EXC - - - 4 - 19 - 0 - EXC - - - 5 - 19 - 0 - EXC - - - 6 - 19 - 0 - EXC - - - 7 - 19 - 1 - EXC - - - 8 - 19 - 0 - EXC - - - 9 - 19 - 0 - EXC - - - 10 - 19 - 0 - EXC - - - 11 - 19 - 0 - EXC - - - 12 - 19 - 0 - EXC - - - 13 - 19 - 0 - EXC - - - 14 - 19 - 0 - EXC - - - 15 - 19 - 0 - EXC - - - 16 - 19 - 0 - EXC - - - 17 - 19 - 1 - EXC - - - 18 - 19 - 0 - EXC - - - 19 - 19 - 0 - EXC - - - 20 - 19 - 0 - EXC - - - 21 - 19 - 0 - EXC - - - 22 - 19 - 0 - EXC - - - 23 - 19 - 0 - EXC - - - 24 - 19 - 0 - EXC - - - 25 - 19 - 0 - EXC - - - 26 - 19 - 0 - EXC - - - 27 - 19 - 1 - EXC - - - 28 - 19 - 0 - EXC - - - 29 - 19 - 0 - EXC - - - 30 - 19 - 0 - EXC - - - 31 - 19 - 0 - EXC - - - 32 - 19 - 0 - EXC - - - 33 - 19 - 0 - EXC - - - 34 - 19 - 0 - EXC - - - 35 - 19 - 0 - EXC - - - 36 - 19 - 0 - EXC - - - 37 - 19 - 1 - EXC - - - 38 - 19 - 0 - EXC - - - 39 - 19 - 0 - EXC - - - 40 - 19 - 0 - EXC - - - 41 - 19 - 0 - EXC - - - 42 - 19 - 0 - EXC - - - 43 - 19 - 0 - EXC - - - 44 - 19 - 0 - EXC - - - 45 - 19 - 0 - EXC - - - 46 - 19 - 0 - EXC - - - 47 - 19 - 1 - EXC - - - 48 - 19 - 0 - EXC - - - 49 - 19 - 0 - EXC - - - 50 - 19 - 0 - EXC - - - 51 - 19 - 0 - EXC - - - 52 - 19 - 0 - EXC - - - 53 - 19 - 0 - EXC - - - 54 - 19 - 0 - EXC - - - 55 - 19 - 0 - EXC - - - 56 - 19 - 0 - EXC - - - 57 - 19 - 1 - EXC - - - 58 - 19 - 0 - EXC - - - 59 - 19 - 0 - EXC - - - 60 - 19 - 0 - EXC - - - 61 - 19 - 0 - EXC - - - 62 - 19 - 0 - EXC - - - 63 - 19 - 0 - EXC - - - 64 - 19 - 0 - EXC - - - 65 - 19 - 0 - EXC - - - 66 - 19 - 0 - EXC - - - 67 - 19 - 1 - EXC - - - 68 - 19 - 0 - EXC - - - 69 - 19 - 0 - EXC - - - 70 - 19 - 0 - EXC - - - 71 - 19 - 0 - EXC - - - 72 - 19 - 0 - EXC - - - 73 - 19 - 0 - EXC - - - 74 - 19 - 0 - EXC - - - 75 - 19 - 0 - EXC - - - 76 - 19 - 0 - EXC - - - 77 - 19 - 1 - EXC - - - 78 - 19 - 0 - EXC - - - 79 - 19 - 0 - EXC - - - 80 - 19 - 0 - EXC - - - 81 - 19 - 0 - EXC - - - 82 - 19 - 0 - EXC - - - 83 - 19 - 0 - EXC - - - 84 - 19 - 0 - EXC - - - 85 - 19 - 0 - EXC - - - 86 - 19 - 0 - EXC - - - 87 - 19 - 1 - EXC - - - 88 - 19 - 0 - EXC - - - 89 - 19 - 0 - EXC - - - 90 - 19 - 0 - EXC - - - 91 - 19 - 0 - EXC - - - 92 - 19 - 0 - EXC - - - 93 - 19 - 0 - EXC - - - 94 - 19 - 0 - EXC - - - 95 - 19 - 0 - EXC - - - 96 - 19 - 0 - EXC - - - 97 - 19 - 1 - EXC - - - 98 - 19 - 0 - EXC - - - 99 - 19 - 0 - EXC - - - 0 - 20 - 0 - EXC - - - 1 - 20 - 0 - EXC - - - 2 - 20 - 0 - EXC - - - 3 - 20 - 0 - EXC - - - 4 - 20 - 0 - EXC - - - 5 - 20 - 0 - EXC - - - 6 - 20 - 0 - EXC - - - 7 - 20 - 1 - EXC - - - 8 - 20 - 0 - EXC - - - 9 - 20 - 0 - EXC - - - 10 - 20 - 0 - EXC - - - 11 - 20 - 0 - EXC - - - 12 - 20 - 0 - EXC - - - 13 - 20 - 0 - EXC - - - 14 - 20 - 0 - EXC - - - 15 - 20 - 0 - EXC - - - 16 - 20 - 0 - EXC - - - 17 - 20 - 1 - EXC - - - 18 - 20 - 0 - EXC - - - 19 - 20 - 0 - EXC - - - 20 - 20 - 0 - EXC - - - 21 - 20 - 0 - EXC - - - 22 - 20 - 0 - EXC - - - 23 - 20 - 0 - EXC - - - 24 - 20 - 0 - EXC - - - 25 - 20 - 0 - EXC - - - 26 - 20 - 0 - EXC - - - 27 - 20 - 1 - EXC - - - 28 - 20 - 0 - EXC - - - 29 - 20 - 0 - EXC - - - 30 - 20 - 0 - EXC - - - 31 - 20 - 0 - EXC - - - 32 - 20 - 0 - EXC - - - 33 - 20 - 0 - EXC - - - 34 - 20 - 0 - EXC - - - 35 - 20 - 0 - EXC - - - 36 - 20 - 0 - EXC - - - 37 - 20 - 1 - EXC - - - 38 - 20 - 0 - EXC - - - 39 - 20 - 0 - EXC - - - 40 - 20 - 0 - EXC - - - 41 - 20 - 0 - EXC - - - 42 - 20 - 0 - EXC - - - 43 - 20 - 0 - EXC - - - 44 - 20 - 0 - EXC - - - 45 - 20 - 0 - EXC - - - 46 - 20 - 0 - EXC - - - 47 - 20 - 1 - EXC - - - 48 - 20 - 0 - EXC - - - 49 - 20 - 0 - EXC - - - 50 - 20 - 0 - EXC - - - 51 - 20 - 0 - EXC - - - 52 - 20 - 0 - EXC - - - 53 - 20 - 0 - EXC - - - 54 - 20 - 0 - EXC - - - 55 - 20 - 0 - EXC - - - 56 - 20 - 0 - EXC - - - 57 - 20 - 1 - EXC - - - 58 - 20 - 0 - EXC - - - 59 - 20 - 0 - EXC - - - 60 - 20 - 0 - EXC - - - 61 - 20 - 0 - EXC - - - 62 - 20 - 0 - EXC - - - 63 - 20 - 0 - EXC - - - 64 - 20 - 0 - EXC - - - 65 - 20 - 0 - EXC - - - 66 - 20 - 0 - EXC - - - 67 - 20 - 1 - EXC - - - 68 - 20 - 0 - EXC - - - 69 - 20 - 0 - EXC - - - 70 - 20 - 0 - EXC - - - 71 - 20 - 0 - EXC - - - 72 - 20 - 0 - EXC - - - 73 - 20 - 0 - EXC - - - 74 - 20 - 0 - EXC - - - 75 - 20 - 0 - EXC - - - 76 - 20 - 0 - EXC - - - 77 - 20 - 1 - EXC - - - 78 - 20 - 0 - EXC - - - 79 - 20 - 0 - EXC - - - 80 - 20 - 0 - EXC - - - 81 - 20 - 0 - EXC - - - 82 - 20 - 0 - EXC - - - 83 - 20 - 0 - EXC - - - 84 - 20 - 0 - EXC - - - 85 - 20 - 0 - EXC - - - 86 - 20 - 0 - EXC - - - 87 - 20 - 1 - EXC - - - 88 - 20 - 0 - EXC - - - 89 - 20 - 0 - EXC - - - 90 - 20 - 0 - EXC - - - 91 - 20 - 0 - EXC - - - 92 - 20 - 0 - EXC - - - 93 - 20 - 0 - EXC - - - 94 - 20 - 0 - EXC - - - 95 - 20 - 0 - EXC - - - 96 - 20 - 0 - EXC - - - 97 - 20 - 1 - EXC - - - 98 - 20 - 0 - EXC - - - 99 - 20 - 0 - EXC - - - 0 - 21 - 0 - EXC - - - 1 - 21 - 1 - EXC - - - 2 - 21 - 0 - EXC - - - 3 - 21 - 0 - EXC - - - 4 - 21 - 1 - EXC - - - 5 - 21 - 0 - EXC - - - 6 - 21 - 0 - EXC - - - 7 - 21 - 0 - EXC - - - 8 - 21 - 0 - EXC - - - 9 - 21 - 0 - EXC - - - 10 - 21 - 0 - EXC - - - 11 - 21 - 1 - EXC - - - 12 - 21 - 0 - EXC - - - 13 - 21 - 0 - EXC - - - 14 - 21 - 1 - EXC - - - 15 - 21 - 0 - EXC - - - 16 - 21 - 0 - EXC - - - 17 - 21 - 0 - EXC - - - 18 - 21 - 0 - EXC - - - 19 - 21 - 0 - EXC - - - 20 - 21 - 0 - EXC - - - 21 - 21 - 1 - EXC - - - 22 - 21 - 0 - EXC - - - 23 - 21 - 0 - EXC - - - 24 - 21 - 1 - EXC - - - 25 - 21 - 0 - EXC - - - 26 - 21 - 0 - EXC - - - 27 - 21 - 0 - EXC - - - 28 - 21 - 0 - EXC - - - 29 - 21 - 0 - EXC - - - 30 - 21 - 0 - EXC - - - 31 - 21 - 1 - EXC - - - 32 - 21 - 0 - EXC - - - 33 - 21 - 0 - EXC - - - 34 - 21 - 1 - EXC - - - 35 - 21 - 0 - EXC - - - 36 - 21 - 0 - EXC - - - 37 - 21 - 0 - EXC - - - 38 - 21 - 0 - EXC - - - 39 - 21 - 0 - EXC - - - 40 - 21 - 0 - EXC - - - 41 - 21 - 1 - EXC - - - 42 - 21 - 0 - EXC - - - 43 - 21 - 0 - EXC - - - 44 - 21 - 1 - EXC - - - 45 - 21 - 0 - EXC - - - 46 - 21 - 0 - EXC - - - 47 - 21 - 0 - EXC - - - 48 - 21 - 0 - EXC - - - 49 - 21 - 0 - EXC - - - 50 - 21 - 0 - EXC - - - 51 - 21 - 1 - EXC - - - 52 - 21 - 0 - EXC - - - 53 - 21 - 0 - EXC - - - 54 - 21 - 1 - EXC - - - 55 - 21 - 0 - EXC - - - 56 - 21 - 0 - EXC - - - 57 - 21 - 0 - EXC - - - 58 - 21 - 0 - EXC - - - 59 - 21 - 0 - EXC - - - 60 - 21 - 0 - EXC - - - 61 - 21 - 1 - EXC - - - 62 - 21 - 0 - EXC - - - 63 - 21 - 0 - EXC - - - 64 - 21 - 1 - EXC - - - 65 - 21 - 0 - EXC - - - 66 - 21 - 0 - EXC - - - 67 - 21 - 0 - EXC - - - 68 - 21 - 0 - EXC - - - 69 - 21 - 0 - EXC - - - 70 - 21 - 0 - EXC - - - 71 - 21 - 1 - EXC - - - 72 - 21 - 0 - EXC - - - 73 - 21 - 0 - EXC - - - 74 - 21 - 1 - EXC - - - 75 - 21 - 0 - EXC - - - 76 - 21 - 0 - EXC - - - 77 - 21 - 0 - EXC - - - 78 - 21 - 0 - EXC - - - 79 - 21 - 0 - EXC - - - 80 - 21 - 0 - EXC - - - 81 - 21 - 1 - EXC - - - 82 - 21 - 0 - EXC - - - 83 - 21 - 0 - EXC - - - 84 - 21 - 1 - EXC - - - 85 - 21 - 0 - EXC - - - 86 - 21 - 0 - EXC - - - 87 - 21 - 0 - EXC - - - 88 - 21 - 0 - EXC - - - 89 - 21 - 0 - EXC - - - 90 - 21 - 0 - EXC - - - 91 - 21 - 1 - EXC - - - 92 - 21 - 0 - EXC - - - 93 - 21 - 0 - EXC - - - 94 - 21 - 1 - EXC - - - 95 - 21 - 0 - EXC - - - 96 - 21 - 0 - EXC - - - 97 - 21 - 0 - EXC - - - 98 - 21 - 0 - EXC - - - 99 - 21 - 0 - EXC - - - 0 - 22 - 0 - EXC - - - 1 - 22 - 0 - EXC - - - 2 - 22 - 0 - EXC - - - 3 - 22 - 0 - EXC - - - 4 - 22 - 0 - EXC - - - 5 - 22 - 0 - EXC - - - 6 - 22 - 0 - EXC - - - 7 - 22 - 0 - EXC - - - 8 - 22 - 0 - EXC - - - 9 - 22 - 0 - EXC - - - 10 - 22 - 0 - EXC - - - 11 - 22 - 0 - EXC - - - 12 - 22 - 0 - EXC - - - 13 - 22 - 0 - EXC - - - 14 - 22 - 0 - EXC - - - 15 - 22 - 0 - EXC - - - 16 - 22 - 0 - EXC - - - 17 - 22 - 0 - EXC - - - 18 - 22 - 0 - EXC - - - 19 - 22 - 0 - EXC - - - 20 - 22 - 0 - EXC - - - 21 - 22 - 0 - EXC - - - 22 - 22 - 0 - EXC - - - 23 - 22 - 0 - EXC - - - 24 - 22 - 0 - EXC - - - 25 - 22 - 0 - EXC - - - 26 - 22 - 0 - EXC - - - 27 - 22 - 0 - EXC - - - 28 - 22 - 0 - EXC - - - 29 - 22 - 0 - EXC - - - 30 - 22 - 0 - EXC - - - 31 - 22 - 0 - EXC - - - 32 - 22 - 0 - EXC - - - 33 - 22 - 0 - EXC - - - 34 - 22 - 0 - EXC - - - 35 - 22 - 0 - EXC - - - 36 - 22 - 0 - EXC - - - 37 - 22 - 0 - EXC - - - 38 - 22 - 0 - EXC - - - 39 - 22 - 0 - EXC - - - 40 - 22 - 0 - EXC - - - 41 - 22 - 0 - EXC - - - 42 - 22 - 0 - EXC - - - 43 - 22 - 0 - EXC - - - 44 - 22 - 0 - EXC - - - 45 - 22 - 0 - EXC - - - 46 - 22 - 0 - EXC - - - 47 - 22 - 0 - EXC - - - 48 - 22 - 0 - EXC - - - 49 - 22 - 0 - EXC - - - 50 - 22 - 0 - EXC - - - 51 - 22 - 0 - EXC - - - 52 - 22 - 0 - EXC - - - 53 - 22 - 0 - EXC - - - 54 - 22 - 0 - EXC - - - 55 - 22 - 0 - EXC - - - 56 - 22 - 0 - EXC - - - 57 - 22 - 0 - EXC - - - 58 - 22 - 0 - EXC - - - 59 - 22 - 0 - EXC - - - 60 - 22 - 0 - EXC - - - 61 - 22 - 0 - EXC - - - 62 - 22 - 0 - EXC - - - 63 - 22 - 0 - EXC - - - 64 - 22 - 0 - EXC - - - 65 - 22 - 0 - EXC - - - 66 - 22 - 0 - EXC - - - 67 - 22 - 0 - EXC - - - 68 - 22 - 0 - EXC - - - 69 - 22 - 0 - EXC - - - 70 - 22 - 0 - EXC - - - 71 - 22 - 0 - EXC - - - 72 - 22 - 0 - EXC - - - 73 - 22 - 0 - EXC - - - 74 - 22 - 0 - EXC - - - 75 - 22 - 0 - EXC - - - 76 - 22 - 0 - EXC - - - 77 - 22 - 0 - EXC - - - 78 - 22 - 0 - EXC - - - 79 - 22 - 0 - EXC - - - 80 - 22 - 0 - EXC - - - 81 - 22 - 0 - EXC - - - 82 - 22 - 0 - EXC - - - 83 - 22 - 0 - EXC - - - 84 - 22 - 0 - EXC - - - 85 - 22 - 0 - EXC - - - 86 - 22 - 0 - EXC - - - 87 - 22 - 0 - EXC - - - 88 - 22 - 0 - EXC - - - 89 - 22 - 0 - EXC - - - 90 - 22 - 0 - EXC - - - 91 - 22 - 0 - EXC - - - 92 - 22 - 0 - EXC - - - 93 - 22 - 0 - EXC - - - 94 - 22 - 0 - EXC - - - 95 - 22 - 0 - EXC - - - 96 - 22 - 0 - EXC - - - 97 - 22 - 0 - EXC - - - 98 - 22 - 0 - EXC - - - 99 - 22 - 0 - EXC - - - 0 - 23 - 0 - EXC - - - 1 - 23 - 0 - EXC - - - 2 - 23 - 0 - EXC - - - 3 - 23 - 0 - INH - - - 4 - 23 - 0 - EXC - - - 5 - 23 - 0 - EXC - - - 6 - 23 - 0 - EXC - - - 7 - 23 - 1 - EXC - - - 8 - 23 - 0 - EXC - - - 9 - 23 - 0 - EXC - - - 10 - 23 - 0 - EXC - - - 11 - 23 - 0 - EXC - - - 12 - 23 - 0 - EXC - - - 13 - 23 - 0 - INH - - - 14 - 23 - 0 - EXC - - - 15 - 23 - 0 - EXC - - - 16 - 23 - 0 - EXC - - - 17 - 23 - 1 - EXC - - - 18 - 23 - 0 - EXC - - - 19 - 23 - 0 - EXC - - - 20 - 23 - 0 - EXC - - - 21 - 23 - 0 - EXC - - - 22 - 23 - 0 - EXC - - - 23 - 23 - 0 - INH - - - 24 - 23 - 0 - EXC - - - 25 - 23 - 0 - EXC - - - 26 - 23 - 0 - EXC - - - 27 - 23 - 1 - EXC - - - 28 - 23 - 0 - EXC - - - 29 - 23 - 0 - EXC - - - 30 - 23 - 0 - EXC - - - 31 - 23 - 0 - EXC - - - 32 - 23 - 0 - EXC - - - 33 - 23 - 0 - INH - - - 34 - 23 - 0 - EXC - - - 35 - 23 - 0 - EXC - - - 36 - 23 - 0 - EXC - - - 37 - 23 - 1 - EXC - - - 38 - 23 - 0 - EXC - - - 39 - 23 - 0 - EXC - - - 40 - 23 - 0 - EXC - - - 41 - 23 - 0 - EXC - - - 42 - 23 - 0 - EXC - - - 43 - 23 - 0 - INH - - - 44 - 23 - 0 - EXC - - - 45 - 23 - 0 - EXC - - - 46 - 23 - 0 - EXC - - - 47 - 23 - 1 - EXC - - - 48 - 23 - 0 - EXC - - - 49 - 23 - 0 - EXC - - - 50 - 23 - 0 - EXC - - - 51 - 23 - 0 - EXC - - - 52 - 23 - 0 - EXC - - - 53 - 23 - 0 - INH - - - 54 - 23 - 0 - EXC - - - 55 - 23 - 0 - EXC - - - 56 - 23 - 0 - EXC - - - 57 - 23 - 1 - EXC - - - 58 - 23 - 0 - EXC - - - 59 - 23 - 0 - EXC - - - 60 - 23 - 0 - EXC - - - 61 - 23 - 0 - EXC - - - 62 - 23 - 0 - EXC - - - 63 - 23 - 0 - INH - - - 64 - 23 - 0 - EXC - - - 65 - 23 - 0 - EXC - - - 66 - 23 - 0 - EXC - - - 67 - 23 - 1 - EXC - - - 68 - 23 - 0 - EXC - - - 69 - 23 - 0 - EXC - - - 70 - 23 - 0 - EXC - - - 71 - 23 - 0 - EXC - - - 72 - 23 - 0 - EXC - - - 73 - 23 - 0 - INH - - - 74 - 23 - 0 - EXC - - - 75 - 23 - 0 - EXC - - - 76 - 23 - 0 - EXC - - - 77 - 23 - 1 - EXC - - - 78 - 23 - 0 - EXC - - - 79 - 23 - 0 - EXC - - - 80 - 23 - 0 - EXC - - - 81 - 23 - 0 - EXC - - - 82 - 23 - 0 - EXC - - - 83 - 23 - 0 - INH - - - 84 - 23 - 0 - EXC - - - 85 - 23 - 0 - EXC - - - 86 - 23 - 0 - EXC - - - 87 - 23 - 1 - EXC - - - 88 - 23 - 0 - EXC - - - 89 - 23 - 0 - EXC - - - 90 - 23 - 0 - EXC - - - 91 - 23 - 0 - EXC - - - 92 - 23 - 0 - EXC - - - 93 - 23 - 0 - INH - - - 94 - 23 - 0 - EXC - - - 95 - 23 - 0 - EXC - - - 96 - 23 - 0 - EXC - - - 97 - 23 - 1 - EXC - - - 98 - 23 - 0 - EXC - - - 99 - 23 - 0 - EXC - - - 0 - 24 - 0 - EXC - - - 1 - 24 - 1 - EXC - - - 2 - 24 - 0 - EXC - - - 3 - 24 - 0 - EXC - - - 4 - 24 - 1 - EXC - - - 5 - 24 - 0 - EXC - - - 6 - 24 - 0 - EXC - - - 7 - 24 - 0 - EXC - - - 8 - 24 - 0 - EXC - - - 9 - 24 - 0 - EXC - - - 10 - 24 - 0 - EXC - - - 11 - 24 - 1 - EXC - - - 12 - 24 - 0 - EXC - - - 13 - 24 - 0 - EXC - - - 14 - 24 - 1 - EXC - - - 15 - 24 - 0 - EXC - - - 16 - 24 - 0 - EXC - - - 17 - 24 - 0 - EXC - - - 18 - 24 - 0 - EXC - - - 19 - 24 - 0 - EXC - - - 20 - 24 - 0 - EXC - - - 21 - 24 - 1 - EXC - - - 22 - 24 - 0 - EXC - - - 23 - 24 - 0 - EXC - - - 24 - 24 - 1 - EXC - - - 25 - 24 - 0 - EXC - - - 26 - 24 - 0 - EXC - - - 27 - 24 - 0 - EXC - - - 28 - 24 - 0 - EXC - - - 29 - 24 - 0 - EXC - - - 30 - 24 - 0 - EXC - - - 31 - 24 - 1 - EXC - - - 32 - 24 - 0 - EXC - - - 33 - 24 - 0 - EXC - - - 34 - 24 - 1 - EXC - - - 35 - 24 - 0 - EXC - - - 36 - 24 - 0 - EXC - - - 37 - 24 - 0 - EXC - - - 38 - 24 - 0 - EXC - - - 39 - 24 - 0 - EXC - - - 40 - 24 - 0 - EXC - - - 41 - 24 - 1 - EXC - - - 42 - 24 - 0 - EXC - - - 43 - 24 - 0 - EXC - - - 44 - 24 - 1 - EXC - - - 45 - 24 - 0 - EXC - - - 46 - 24 - 0 - EXC - - - 47 - 24 - 0 - EXC - - - 48 - 24 - 0 - EXC - - - 49 - 24 - 0 - EXC - - - 50 - 24 - 0 - EXC - - - 51 - 24 - 1 - EXC - - - 52 - 24 - 0 - EXC - - - 53 - 24 - 0 - EXC - - - 54 - 24 - 1 - EXC - - - 55 - 24 - 0 - EXC - - - 56 - 24 - 0 - EXC - - - 57 - 24 - 0 - EXC - - - 58 - 24 - 0 - EXC - - - 59 - 24 - 0 - EXC - - - 60 - 24 - 0 - EXC - - - 61 - 24 - 1 - EXC - - - 62 - 24 - 0 - EXC - - - 63 - 24 - 0 - EXC - - - 64 - 24 - 1 - EXC - - - 65 - 24 - 0 - EXC - - - 66 - 24 - 0 - EXC - - - 67 - 24 - 0 - EXC - - - 68 - 24 - 0 - EXC - - - 69 - 24 - 0 - EXC - - - 70 - 24 - 0 - EXC - - - 71 - 24 - 1 - EXC - - - 72 - 24 - 0 - EXC - - - 73 - 24 - 0 - EXC - - - 74 - 24 - 1 - EXC - - - 75 - 24 - 0 - EXC - - - 76 - 24 - 0 - EXC - - - 77 - 24 - 0 - EXC - - - 78 - 24 - 0 - EXC - - - 79 - 24 - 0 - EXC - - - 80 - 24 - 0 - EXC - - - 81 - 24 - 1 - EXC - - - 82 - 24 - 0 - EXC - - - 83 - 24 - 0 - EXC - - - 84 - 24 - 1 - EXC - - - 85 - 24 - 0 - EXC - - - 86 - 24 - 0 - EXC - - - 87 - 24 - 0 - EXC - - - 88 - 24 - 0 - EXC - - - 89 - 24 - 0 - EXC - - - 90 - 24 - 0 - EXC - - - 91 - 24 - 1 - EXC - - - 92 - 24 - 0 - EXC - - - 93 - 24 - 0 - EXC - - - 94 - 24 - 1 - EXC - - - 95 - 24 - 0 - EXC - - - 96 - 24 - 0 - EXC - - - 97 - 24 - 0 - EXC - - - 98 - 24 - 0 - EXC - - - 99 - 24 - 0 - EXC - - - 0 - 25 - 0 - EXC - - - 1 - 25 - 0 - EXC - - - 2 - 25 - 0 - EXC - - - 3 - 25 - 0 - EXC - - - 4 - 25 - 0 - EXC - - - 5 - 25 - 0 - EXC - - - 6 - 25 - 0 - EXC - - - 7 - 25 - 0 - EXC - - - 8 - 25 - 0 - EXC - - - 9 - 25 - 0 - EXC - - - 10 - 25 - 0 - EXC - - - 11 - 25 - 0 - EXC - - - 12 - 25 - 0 - EXC - - - 13 - 25 - 0 - EXC - - - 14 - 25 - 0 - EXC - - - 15 - 25 - 0 - EXC - - - 16 - 25 - 0 - EXC - - - 17 - 25 - 0 - EXC - - - 18 - 25 - 0 - EXC - - - 19 - 25 - 0 - EXC - - - 20 - 25 - 0 - EXC - - - 21 - 25 - 0 - EXC - - - 22 - 25 - 0 - EXC - - - 23 - 25 - 0 - EXC - - - 24 - 25 - 0 - EXC - - - 25 - 25 - 0 - EXC - - - 26 - 25 - 0 - EXC - - - 27 - 25 - 0 - EXC - - - 28 - 25 - 0 - EXC - - - 29 - 25 - 0 - EXC - - - 30 - 25 - 0 - EXC - - - 31 - 25 - 0 - EXC - - - 32 - 25 - 0 - EXC - - - 33 - 25 - 0 - EXC - - - 34 - 25 - 0 - EXC - - - 35 - 25 - 0 - EXC - - - 36 - 25 - 0 - EXC - - - 37 - 25 - 0 - EXC - - - 38 - 25 - 0 - EXC - - - 39 - 25 - 0 - EXC - - - 40 - 25 - 0 - EXC - - - 41 - 25 - 0 - EXC - - - 42 - 25 - 0 - EXC - - - 43 - 25 - 0 - EXC - - - 44 - 25 - 0 - EXC - - - 45 - 25 - 0 - EXC - - - 46 - 25 - 0 - EXC - - - 47 - 25 - 0 - EXC - - - 48 - 25 - 0 - EXC - - - 49 - 25 - 0 - EXC - - - 50 - 25 - 0 - EXC - - - 51 - 25 - 0 - EXC - - - 52 - 25 - 0 - EXC - - - 53 - 25 - 0 - EXC - - - 54 - 25 - 0 - EXC - - - 55 - 25 - 0 - EXC - - - 56 - 25 - 0 - EXC - - - 57 - 25 - 0 - EXC - - - 58 - 25 - 0 - EXC - - - 59 - 25 - 0 - EXC - - - 60 - 25 - 0 - EXC - - - 61 - 25 - 0 - EXC - - - 62 - 25 - 0 - EXC - - - 63 - 25 - 0 - EXC - - - 64 - 25 - 0 - EXC - - - 65 - 25 - 0 - EXC - - - 66 - 25 - 0 - EXC - - - 67 - 25 - 0 - EXC - - - 68 - 25 - 0 - EXC - - - 69 - 25 - 0 - EXC - - - 70 - 25 - 0 - EXC - - - 71 - 25 - 0 - EXC - - - 72 - 25 - 0 - EXC - - - 73 - 25 - 0 - EXC - - - 74 - 25 - 0 - EXC - - - 75 - 25 - 0 - EXC - - - 76 - 25 - 0 - EXC - - - 77 - 25 - 0 - EXC - - - 78 - 25 - 0 - EXC - - - 79 - 25 - 0 - EXC - - - 80 - 25 - 0 - EXC - - - 81 - 25 - 0 - EXC - - - 82 - 25 - 0 - EXC - - - 83 - 25 - 0 - EXC - - - 84 - 25 - 0 - EXC - - - 85 - 25 - 0 - EXC - - - 86 - 25 - 0 - EXC - - - 87 - 25 - 0 - EXC - - - 88 - 25 - 0 - EXC - - - 89 - 25 - 0 - EXC - - - 90 - 25 - 0 - EXC - - - 91 - 25 - 0 - EXC - - - 92 - 25 - 0 - EXC - - - 93 - 25 - 0 - EXC - - - 94 - 25 - 0 - EXC - - - 95 - 25 - 0 - EXC - - - 96 - 25 - 0 - EXC - - - 97 - 25 - 0 - EXC - - - 98 - 25 - 0 - EXC - - - 99 - 25 - 0 - EXC - - - 0 - 26 - 0 - EXC - - - 1 - 26 - 0 - EXC - - - 2 - 26 - 0 - EXC - - - 3 - 26 - 0 - EXC - - - 4 - 26 - 0 - EXC - - - 5 - 26 - 0 - EXC - - - 6 - 26 - 0 - INH - - - 7 - 26 - 1 - EXC - - - 8 - 26 - 0 - EXC - - - 9 - 26 - 0 - EXC - - - 10 - 26 - 0 - EXC - - - 11 - 26 - 0 - EXC - - - 12 - 26 - 0 - EXC - - - 13 - 26 - 0 - EXC - - - 14 - 26 - 0 - EXC - - - 15 - 26 - 0 - EXC - - - 16 - 26 - 0 - INH - - - 17 - 26 - 1 - EXC - - - 18 - 26 - 0 - EXC - - - 19 - 26 - 0 - EXC - - - 20 - 26 - 0 - EXC - - - 21 - 26 - 0 - EXC - - - 22 - 26 - 0 - EXC - - - 23 - 26 - 0 - EXC - - - 24 - 26 - 0 - EXC - - - 25 - 26 - 0 - EXC - - - 26 - 26 - 0 - INH - - - 27 - 26 - 1 - EXC - - - 28 - 26 - 0 - EXC - - - 29 - 26 - 0 - EXC - - - 30 - 26 - 0 - EXC - - - 31 - 26 - 0 - EXC - - - 32 - 26 - 0 - EXC - - - 33 - 26 - 0 - EXC - - - 34 - 26 - 0 - EXC - - - 35 - 26 - 0 - EXC - - - 36 - 26 - 0 - INH - - - 37 - 26 - 1 - EXC - - - 38 - 26 - 0 - EXC - - - 39 - 26 - 0 - EXC - - - 40 - 26 - 0 - EXC - - - 41 - 26 - 0 - EXC - - - 42 - 26 - 0 - EXC - - - 43 - 26 - 0 - EXC - - - 44 - 26 - 0 - EXC - - - 45 - 26 - 0 - EXC - - - 46 - 26 - 0 - INH - - - 47 - 26 - 1 - EXC - - - 48 - 26 - 0 - EXC - - - 49 - 26 - 0 - EXC - - - 50 - 26 - 0 - EXC - - - 51 - 26 - 0 - EXC - - - 52 - 26 - 0 - EXC - - - 53 - 26 - 0 - EXC - - - 54 - 26 - 0 - EXC - - - 55 - 26 - 0 - EXC - - - 56 - 26 - 0 - INH - - - 57 - 26 - 1 - EXC - - - 58 - 26 - 0 - EXC - - - 59 - 26 - 0 - EXC - - - 60 - 26 - 0 - EXC - - - 61 - 26 - 0 - EXC - - - 62 - 26 - 0 - EXC - - - 63 - 26 - 0 - EXC - - - 64 - 26 - 0 - EXC - - - 65 - 26 - 0 - EXC - - - 66 - 26 - 0 - INH - - - 67 - 26 - 1 - EXC - - - 68 - 26 - 0 - EXC - - - 69 - 26 - 0 - EXC - - - 70 - 26 - 0 - EXC - - - 71 - 26 - 0 - EXC - - - 72 - 26 - 0 - EXC - - - 73 - 26 - 0 - EXC - - - 74 - 26 - 0 - EXC - - - 75 - 26 - 0 - EXC - - - 76 - 26 - 0 - INH - - - 77 - 26 - 1 - EXC - - - 78 - 26 - 0 - EXC - - - 79 - 26 - 0 - EXC - - - 80 - 26 - 0 - EXC - - - 81 - 26 - 0 - EXC - - - 82 - 26 - 0 - EXC - - - 83 - 26 - 0 - EXC - - - 84 - 26 - 0 - EXC - - - 85 - 26 - 0 - EXC - - - 86 - 26 - 0 - INH - - - 87 - 26 - 1 - EXC - - - 88 - 26 - 0 - EXC - - - 89 - 26 - 0 - EXC - - - 90 - 26 - 0 - EXC - - - 91 - 26 - 0 - EXC - - - 92 - 26 - 0 - EXC - - - 93 - 26 - 0 - EXC - - - 94 - 26 - 0 - EXC - - - 95 - 26 - 0 - EXC - - - 96 - 26 - 0 - INH - - - 97 - 26 - 1 - EXC - - - 98 - 26 - 0 - EXC - - - 99 - 26 - 0 - EXC - - - 0 - 27 - 0 - EXC - - - 1 - 27 - 1 - EXC - - - 2 - 27 - 0 - EXC - - - 3 - 27 - 0 - EXC - - - 4 - 27 - 1 - EXC - - - 5 - 27 - 0 - EXC - - - 6 - 27 - 0 - EXC - - - 7 - 27 - 0 - EXC - - - 8 - 27 - 0 - EXC - - - 9 - 27 - 0 - EXC - - - 10 - 27 - 0 - EXC - - - 11 - 27 - 1 - EXC - - - 12 - 27 - 0 - EXC - - - 13 - 27 - 0 - EXC - - - 14 - 27 - 1 - EXC - - - 15 - 27 - 0 - EXC - - - 16 - 27 - 0 - EXC - - - 17 - 27 - 0 - EXC - - - 18 - 27 - 0 - EXC - - - 19 - 27 - 0 - EXC - - - 20 - 27 - 0 - EXC - - - 21 - 27 - 1 - EXC - - - 22 - 27 - 0 - EXC - - - 23 - 27 - 0 - EXC - - - 24 - 27 - 1 - EXC - - - 25 - 27 - 0 - EXC - - - 26 - 27 - 0 - EXC - - - 27 - 27 - 0 - EXC - - - 28 - 27 - 0 - EXC - - - 29 - 27 - 0 - EXC - - - 30 - 27 - 0 - EXC - - - 31 - 27 - 1 - EXC - - - 32 - 27 - 0 - EXC - - - 33 - 27 - 0 - EXC - - - 34 - 27 - 1 - EXC - - - 35 - 27 - 0 - EXC - - - 36 - 27 - 0 - EXC - - - 37 - 27 - 0 - EXC - - - 38 - 27 - 0 - EXC - - - 39 - 27 - 0 - EXC - - - 40 - 27 - 0 - EXC - - - 41 - 27 - 1 - EXC - - - 42 - 27 - 0 - EXC - - - 43 - 27 - 0 - EXC - - - 44 - 27 - 1 - EXC - - - 45 - 27 - 0 - EXC - - - 46 - 27 - 0 - EXC - - - 47 - 27 - 0 - EXC - - - 48 - 27 - 0 - EXC - - - 49 - 27 - 0 - EXC - - - 50 - 27 - 0 - EXC - - - 51 - 27 - 1 - EXC - - - 52 - 27 - 0 - EXC - - - 53 - 27 - 0 - EXC - - - 54 - 27 - 1 - EXC - - - 55 - 27 - 0 - EXC - - - 56 - 27 - 0 - EXC - - - 57 - 27 - 0 - EXC - - - 58 - 27 - 0 - EXC - - - 59 - 27 - 0 - EXC - - - 60 - 27 - 0 - EXC - - - 61 - 27 - 1 - EXC - - - 62 - 27 - 0 - EXC - - - 63 - 27 - 0 - EXC - - - 64 - 27 - 1 - EXC - - - 65 - 27 - 0 - EXC - - - 66 - 27 - 0 - EXC - - - 67 - 27 - 0 - EXC - - - 68 - 27 - 0 - EXC - - - 69 - 27 - 0 - EXC - - - 70 - 27 - 0 - EXC - - - 71 - 27 - 1 - EXC - - - 72 - 27 - 0 - EXC - - - 73 - 27 - 0 - EXC - - - 74 - 27 - 1 - EXC - - - 75 - 27 - 0 - EXC - - - 76 - 27 - 0 - EXC - - - 77 - 27 - 0 - EXC - - - 78 - 27 - 0 - EXC - - - 79 - 27 - 0 - EXC - - - 80 - 27 - 0 - EXC - - - 81 - 27 - 1 - EXC - - - 82 - 27 - 0 - EXC - - - 83 - 27 - 0 - EXC - - - 84 - 27 - 1 - EXC - - - 85 - 27 - 0 - EXC - - - 86 - 27 - 0 - EXC - - - 87 - 27 - 0 - EXC - - - 88 - 27 - 0 - EXC - - - 89 - 27 - 0 - EXC - - - 90 - 27 - 0 - EXC - - - 91 - 27 - 1 - EXC - - - 92 - 27 - 0 - EXC - - - 93 - 27 - 0 - EXC - - - 94 - 27 - 1 - EXC - - - 95 - 27 - 0 - EXC - - - 96 - 27 - 0 - EXC - - - 97 - 27 - 0 - EXC - - - 98 - 27 - 0 - EXC - - - 99 - 27 - 0 - EXC - - - 0 - 28 - 0 - EXC - - - 1 - 28 - 0 - EXC - - - 2 - 28 - 0 - EXC - - - 3 - 28 - 0 - EXC - - - 4 - 28 - 0 - EXC - - - 5 - 28 - 0 - EXC - - - 6 - 28 - 0 - EXC - - - 7 - 28 - 0 - EXC - - - 8 - 28 - 0 - EXC - - - 9 - 28 - 0 - EXC - - - 10 - 28 - 0 - EXC - - - 11 - 28 - 0 - EXC - - - 12 - 28 - 0 - EXC - - - 13 - 28 - 0 - EXC - - - 14 - 28 - 0 - EXC - - - 15 - 28 - 0 - EXC - - - 16 - 28 - 0 - EXC - - - 17 - 28 - 0 - EXC - - - 18 - 28 - 0 - EXC - - - 19 - 28 - 0 - EXC - - - 20 - 28 - 0 - EXC - - - 21 - 28 - 0 - EXC - - - 22 - 28 - 0 - EXC - - - 23 - 28 - 0 - EXC - - - 24 - 28 - 0 - EXC - - - 25 - 28 - 0 - EXC - - - 26 - 28 - 0 - EXC - - - 27 - 28 - 0 - EXC - - - 28 - 28 - 0 - EXC - - - 29 - 28 - 0 - EXC - - - 30 - 28 - 0 - EXC - - - 31 - 28 - 0 - EXC - - - 32 - 28 - 0 - EXC - - - 33 - 28 - 0 - EXC - - - 34 - 28 - 0 - EXC - - - 35 - 28 - 0 - EXC - - - 36 - 28 - 0 - EXC - - - 37 - 28 - 0 - EXC - - - 38 - 28 - 0 - EXC - - - 39 - 28 - 0 - EXC - - - 40 - 28 - 0 - EXC - - - 41 - 28 - 0 - EXC - - - 42 - 28 - 0 - EXC - - - 43 - 28 - 0 - EXC - - - 44 - 28 - 0 - EXC - - - 45 - 28 - 0 - EXC - - - 46 - 28 - 0 - EXC - - - 47 - 28 - 0 - EXC - - - 48 - 28 - 0 - EXC - - - 49 - 28 - 0 - EXC - - - 50 - 28 - 0 - EXC - - - 51 - 28 - 0 - EXC - - - 52 - 28 - 0 - EXC - - - 53 - 28 - 0 - EXC - - - 54 - 28 - 0 - EXC - - - 55 - 28 - 0 - EXC - - - 56 - 28 - 0 - EXC - - - 57 - 28 - 0 - EXC - - - 58 - 28 - 0 - EXC - - - 59 - 28 - 0 - EXC - - - 60 - 28 - 0 - EXC - - - 61 - 28 - 0 - EXC - - - 62 - 28 - 0 - EXC - - - 63 - 28 - 0 - EXC - - - 64 - 28 - 0 - EXC - - - 65 - 28 - 0 - EXC - - - 66 - 28 - 0 - EXC - - - 67 - 28 - 0 - EXC - - - 68 - 28 - 0 - EXC - - - 69 - 28 - 0 - EXC - - - 70 - 28 - 0 - EXC - - - 71 - 28 - 0 - EXC - - - 72 - 28 - 0 - EXC - - - 73 - 28 - 0 - EXC - - - 74 - 28 - 0 - EXC - - - 75 - 28 - 0 - EXC - - - 76 - 28 - 0 - EXC - - - 77 - 28 - 0 - EXC - - - 78 - 28 - 0 - EXC - - - 79 - 28 - 0 - EXC - - - 80 - 28 - 0 - EXC - - - 81 - 28 - 0 - EXC - - - 82 - 28 - 0 - EXC - - - 83 - 28 - 0 - EXC - - - 84 - 28 - 0 - EXC - - - 85 - 28 - 0 - EXC - - - 86 - 28 - 0 - EXC - - - 87 - 28 - 0 - EXC - - - 88 - 28 - 0 - EXC - - - 89 - 28 - 0 - EXC - - - 90 - 28 - 0 - EXC - - - 91 - 28 - 0 - EXC - - - 92 - 28 - 0 - EXC - - - 93 - 28 - 0 - EXC - - - 94 - 28 - 0 - EXC - - - 95 - 28 - 0 - EXC - - - 96 - 28 - 0 - EXC - - - 97 - 28 - 0 - EXC - - - 98 - 28 - 0 - EXC - - - 99 - 28 - 0 - EXC - - - 0 - 29 - 0 - EXC - - - 1 - 29 - 0 - EXC - - - 2 - 29 - 0 - EXC - - - 3 - 29 - 0 - EXC - - - 4 - 29 - 0 - EXC - - - 5 - 29 - 0 - EXC - - - 6 - 29 - 0 - EXC - - - 7 - 29 - 1 - EXC - - - 8 - 29 - 0 - EXC - - - 9 - 29 - 0 - EXC - - - 10 - 29 - 0 - EXC - - - 11 - 29 - 0 - EXC - - - 12 - 29 - 0 - EXC - - - 13 - 29 - 0 - EXC - - - 14 - 29 - 0 - EXC - - - 15 - 29 - 0 - EXC - - - 16 - 29 - 0 - EXC - - - 17 - 29 - 1 - EXC - - - 18 - 29 - 0 - EXC - - - 19 - 29 - 0 - EXC - - - 20 - 29 - 0 - EXC - - - 21 - 29 - 0 - EXC - - - 22 - 29 - 0 - EXC - - - 23 - 29 - 0 - EXC - - - 24 - 29 - 0 - EXC - - - 25 - 29 - 0 - EXC - - - 26 - 29 - 0 - EXC - - - 27 - 29 - 1 - EXC - - - 28 - 29 - 0 - EXC - - - 29 - 29 - 0 - EXC - - - 30 - 29 - 0 - EXC - - - 31 - 29 - 0 - EXC - - - 32 - 29 - 0 - EXC - - - 33 - 29 - 0 - EXC - - - 34 - 29 - 0 - EXC - - - 35 - 29 - 0 - EXC - - - 36 - 29 - 0 - EXC - - - 37 - 29 - 1 - EXC - - - 38 - 29 - 0 - EXC - - - 39 - 29 - 0 - EXC - - - 40 - 29 - 0 - EXC - - - 41 - 29 - 0 - EXC - - - 42 - 29 - 0 - EXC - - - 43 - 29 - 0 - EXC - - - 44 - 29 - 0 - EXC - - - 45 - 29 - 0 - EXC - - - 46 - 29 - 0 - EXC - - - 47 - 29 - 1 - EXC - - - 48 - 29 - 0 - EXC - - - 49 - 29 - 0 - EXC - - - 50 - 29 - 0 - EXC - - - 51 - 29 - 0 - EXC - - - 52 - 29 - 0 - EXC - - - 53 - 29 - 0 - EXC - - - 54 - 29 - 0 - EXC - - - 55 - 29 - 0 - EXC - - - 56 - 29 - 0 - EXC - - - 57 - 29 - 1 - EXC - - - 58 - 29 - 0 - EXC - - - 59 - 29 - 0 - EXC - - - 60 - 29 - 0 - EXC - - - 61 - 29 - 0 - EXC - - - 62 - 29 - 0 - EXC - - - 63 - 29 - 0 - EXC - - - 64 - 29 - 0 - EXC - - - 65 - 29 - 0 - EXC - - - 66 - 29 - 0 - EXC - - - 67 - 29 - 1 - EXC - - - 68 - 29 - 0 - EXC - - - 69 - 29 - 0 - EXC - - - 70 - 29 - 0 - EXC - - - 71 - 29 - 0 - EXC - - - 72 - 29 - 0 - EXC - - - 73 - 29 - 0 - EXC - - - 74 - 29 - 0 - EXC - - - 75 - 29 - 0 - EXC - - - 76 - 29 - 0 - EXC - - - 77 - 29 - 1 - EXC - - - 78 - 29 - 0 - EXC - - - 79 - 29 - 0 - EXC - - - 80 - 29 - 0 - EXC - - - 81 - 29 - 0 - EXC - - - 82 - 29 - 0 - EXC - - - 83 - 29 - 0 - EXC - - - 84 - 29 - 0 - EXC - - - 85 - 29 - 0 - EXC - - - 86 - 29 - 0 - EXC - - - 87 - 29 - 1 - EXC - - - 88 - 29 - 0 - EXC - - - 89 - 29 - 0 - EXC - - - 90 - 29 - 0 - EXC - - - 91 - 29 - 0 - EXC - - - 92 - 29 - 0 - EXC - - - 93 - 29 - 0 - EXC - - - 94 - 29 - 0 - EXC - - - 95 - 29 - 0 - EXC - - - 96 - 29 - 0 - EXC - - - 97 - 29 - 1 - EXC - - - 98 - 29 - 0 - EXC - - - 99 - 29 - 0 - EXC - - - 0 - 30 - 0 - EXC - - - 1 - 30 - 0 - EXC - - - 2 - 30 - 0 - EXC - - - 3 - 30 - 0 - EXC - - - 4 - 30 - 0 - EXC - - - 5 - 30 - 0 - EXC - - - 6 - 30 - 0 - EXC - - - 7 - 30 - 1 - EXC - - - 8 - 30 - 0 - EXC - - - 9 - 30 - 0 - EXC - - - 10 - 30 - 0 - EXC - - - 11 - 30 - 0 - EXC - - - 12 - 30 - 0 - EXC - - - 13 - 30 - 0 - EXC - - - 14 - 30 - 0 - EXC - - - 15 - 30 - 0 - EXC - - - 16 - 30 - 0 - EXC - - - 17 - 30 - 1 - EXC - - - 18 - 30 - 0 - EXC - - - 19 - 30 - 0 - EXC - - - 20 - 30 - 0 - EXC - - - 21 - 30 - 0 - EXC - - - 22 - 30 - 0 - EXC - - - 23 - 30 - 0 - EXC - - - 24 - 30 - 0 - EXC - - - 25 - 30 - 0 - EXC - - - 26 - 30 - 0 - EXC - - - 27 - 30 - 1 - EXC - - - 28 - 30 - 0 - EXC - - - 29 - 30 - 0 - EXC - - - 30 - 30 - 0 - EXC - - - 31 - 30 - 0 - EXC - - - 32 - 30 - 0 - EXC - - - 33 - 30 - 0 - EXC - - - 34 - 30 - 0 - EXC - - - 35 - 30 - 0 - EXC - - - 36 - 30 - 0 - EXC - - - 37 - 30 - 1 - EXC - - - 38 - 30 - 0 - EXC - - - 39 - 30 - 0 - EXC - - - 40 - 30 - 0 - EXC - - - 41 - 30 - 0 - EXC - - - 42 - 30 - 0 - EXC - - - 43 - 30 - 0 - EXC - - - 44 - 30 - 0 - EXC - - - 45 - 30 - 0 - EXC - - - 46 - 30 - 0 - EXC - - - 47 - 30 - 1 - EXC - - - 48 - 30 - 0 - EXC - - - 49 - 30 - 0 - EXC - - - 50 - 30 - 0 - EXC - - - 51 - 30 - 0 - EXC - - - 52 - 30 - 0 - EXC - - - 53 - 30 - 0 - EXC - - - 54 - 30 - 0 - EXC - - - 55 - 30 - 0 - EXC - - - 56 - 30 - 0 - EXC - - - 57 - 30 - 1 - EXC - - - 58 - 30 - 0 - EXC - - - 59 - 30 - 0 - EXC - - - 60 - 30 - 0 - EXC - - - 61 - 30 - 0 - EXC - - - 62 - 30 - 0 - EXC - - - 63 - 30 - 0 - EXC - - - 64 - 30 - 0 - EXC - - - 65 - 30 - 0 - EXC - - - 66 - 30 - 0 - EXC - - - 67 - 30 - 1 - EXC - - - 68 - 30 - 0 - EXC - - - 69 - 30 - 0 - EXC - - - 70 - 30 - 0 - EXC - - - 71 - 30 - 0 - EXC - - - 72 - 30 - 0 - EXC - - - 73 - 30 - 0 - EXC - - - 74 - 30 - 0 - EXC - - - 75 - 30 - 0 - EXC - - - 76 - 30 - 0 - EXC - - - 77 - 30 - 1 - EXC - - - 78 - 30 - 0 - EXC - - - 79 - 30 - 0 - EXC - - - 80 - 30 - 0 - EXC - - - 81 - 30 - 0 - EXC - - - 82 - 30 - 0 - EXC - - - 83 - 30 - 0 - EXC - - - 84 - 30 - 0 - EXC - - - 85 - 30 - 0 - EXC - - - 86 - 30 - 0 - EXC - - - 87 - 30 - 1 - EXC - - - 88 - 30 - 0 - EXC - - - 89 - 30 - 0 - EXC - - - 90 - 30 - 0 - EXC - - - 91 - 30 - 0 - EXC - - - 92 - 30 - 0 - EXC - - - 93 - 30 - 0 - EXC - - - 94 - 30 - 0 - EXC - - - 95 - 30 - 0 - EXC - - - 96 - 30 - 0 - EXC - - - 97 - 30 - 1 - EXC - - - 98 - 30 - 0 - EXC - - - 99 - 30 - 0 - EXC - - - 0 - 31 - 0 - EXC - - - 1 - 31 - 1 - EXC - - - 2 - 31 - 0 - EXC - - - 3 - 31 - 0 - EXC - - - 4 - 31 - 1 - EXC - - - 5 - 31 - 0 - EXC - - - 6 - 31 - 0 - EXC - - - 7 - 31 - 0 - EXC - - - 8 - 31 - 0 - EXC - - - 9 - 31 - 0 - EXC - - - 10 - 31 - 0 - EXC - - - 11 - 31 - 1 - EXC - - - 12 - 31 - 0 - EXC - - - 13 - 31 - 0 - EXC - - - 14 - 31 - 1 - EXC - - - 15 - 31 - 0 - EXC - - - 16 - 31 - 0 - EXC - - - 17 - 31 - 0 - EXC - - - 18 - 31 - 0 - EXC - - - 19 - 31 - 0 - EXC - - - 20 - 31 - 0 - EXC - - - 21 - 31 - 1 - EXC - - - 22 - 31 - 0 - EXC - - - 23 - 31 - 0 - EXC - - - 24 - 31 - 1 - EXC - - - 25 - 31 - 0 - EXC - - - 26 - 31 - 0 - EXC - - - 27 - 31 - 0 - EXC - - - 28 - 31 - 0 - EXC - - - 29 - 31 - 0 - EXC - - - 30 - 31 - 0 - EXC - - - 31 - 31 - 1 - EXC - - - 32 - 31 - 0 - EXC - - - 33 - 31 - 0 - EXC - - - 34 - 31 - 1 - EXC - - - 35 - 31 - 0 - EXC - - - 36 - 31 - 0 - EXC - - - 37 - 31 - 0 - EXC - - - 38 - 31 - 0 - EXC - - - 39 - 31 - 0 - EXC - - - 40 - 31 - 0 - EXC - - - 41 - 31 - 1 - EXC - - - 42 - 31 - 0 - EXC - - - 43 - 31 - 0 - EXC - - - 44 - 31 - 1 - EXC - - - 45 - 31 - 0 - EXC - - - 46 - 31 - 0 - EXC - - - 47 - 31 - 0 - EXC - - - 48 - 31 - 0 - EXC - - - 49 - 31 - 0 - EXC - - - 50 - 31 - 0 - EXC - - - 51 - 31 - 1 - EXC - - - 52 - 31 - 0 - EXC - - - 53 - 31 - 0 - EXC - - - 54 - 31 - 1 - EXC - - - 55 - 31 - 0 - EXC - - - 56 - 31 - 0 - EXC - - - 57 - 31 - 0 - EXC - - - 58 - 31 - 0 - EXC - - - 59 - 31 - 0 - EXC - - - 60 - 31 - 0 - EXC - - - 61 - 31 - 1 - EXC - - - 62 - 31 - 0 - EXC - - - 63 - 31 - 0 - EXC - - - 64 - 31 - 1 - EXC - - - 65 - 31 - 0 - EXC - - - 66 - 31 - 0 - EXC - - - 67 - 31 - 0 - EXC - - - 68 - 31 - 0 - EXC - - - 69 - 31 - 0 - EXC - - - 70 - 31 - 0 - EXC - - - 71 - 31 - 1 - EXC - - - 72 - 31 - 0 - EXC - - - 73 - 31 - 0 - EXC - - - 74 - 31 - 1 - EXC - - - 75 - 31 - 0 - EXC - - - 76 - 31 - 0 - EXC - - - 77 - 31 - 0 - EXC - - - 78 - 31 - 0 - EXC - - - 79 - 31 - 0 - EXC - - - 80 - 31 - 0 - EXC - - - 81 - 31 - 1 - EXC - - - 82 - 31 - 0 - EXC - - - 83 - 31 - 0 - EXC - - - 84 - 31 - 1 - EXC - - - 85 - 31 - 0 - EXC - - - 86 - 31 - 0 - EXC - - - 87 - 31 - 0 - EXC - - - 88 - 31 - 0 - EXC - - - 89 - 31 - 0 - EXC - - - 90 - 31 - 0 - EXC - - - 91 - 31 - 1 - EXC - - - 92 - 31 - 0 - EXC - - - 93 - 31 - 0 - EXC - - - 94 - 31 - 1 - EXC - - - 95 - 31 - 0 - EXC - - - 96 - 31 - 0 - EXC - - - 97 - 31 - 0 - EXC - - - 98 - 31 - 0 - EXC - - - 99 - 31 - 0 - EXC - - - 0 - 32 - 0 - EXC - - - 1 - 32 - 0 - EXC - - - 2 - 32 - 0 - EXC - - - 3 - 32 - 0 - EXC - - - 4 - 32 - 0 - EXC - - - 5 - 32 - 0 - EXC - - - 6 - 32 - 0 - EXC - - - 7 - 32 - 0 - EXC - - - 8 - 32 - 0 - EXC - - - 9 - 32 - 0 - EXC - - - 10 - 32 - 0 - EXC - - - 11 - 32 - 0 - EXC - - - 12 - 32 - 0 - EXC - - - 13 - 32 - 0 - EXC - - - 14 - 32 - 0 - EXC - - - 15 - 32 - 0 - EXC - - - 16 - 32 - 0 - EXC - - - 17 - 32 - 0 - EXC - - - 18 - 32 - 0 - EXC - - - 19 - 32 - 0 - EXC - - - 20 - 32 - 0 - EXC - - - 21 - 32 - 0 - EXC - - - 22 - 32 - 0 - EXC - - - 23 - 32 - 0 - EXC - - - 24 - 32 - 0 - EXC - - - 25 - 32 - 0 - EXC - - - 26 - 32 - 0 - EXC - - - 27 - 32 - 0 - EXC - - - 28 - 32 - 0 - EXC - - - 29 - 32 - 0 - EXC - - - 30 - 32 - 0 - EXC - - - 31 - 32 - 0 - EXC - - - 32 - 32 - 0 - EXC - - - 33 - 32 - 0 - EXC - - - 34 - 32 - 0 - EXC - - - 35 - 32 - 0 - EXC - - - 36 - 32 - 0 - EXC - - - 37 - 32 - 0 - EXC - - - 38 - 32 - 0 - EXC - - - 39 - 32 - 0 - EXC - - - 40 - 32 - 0 - EXC - - - 41 - 32 - 0 - EXC - - - 42 - 32 - 0 - EXC - - - 43 - 32 - 0 - EXC - - - 44 - 32 - 0 - EXC - - - 45 - 32 - 0 - EXC - - - 46 - 32 - 0 - EXC - - - 47 - 32 - 0 - EXC - - - 48 - 32 - 0 - EXC - - - 49 - 32 - 0 - EXC - - - 50 - 32 - 0 - EXC - - - 51 - 32 - 0 - EXC - - - 52 - 32 - 0 - EXC - - - 53 - 32 - 0 - EXC - - - 54 - 32 - 0 - EXC - - - 55 - 32 - 0 - EXC - - - 56 - 32 - 0 - EXC - - - 57 - 32 - 0 - EXC - - - 58 - 32 - 0 - EXC - - - 59 - 32 - 0 - EXC - - - 60 - 32 - 0 - EXC - - - 61 - 32 - 0 - EXC - - - 62 - 32 - 0 - EXC - - - 63 - 32 - 0 - EXC - - - 64 - 32 - 0 - EXC - - - 65 - 32 - 0 - EXC - - - 66 - 32 - 0 - EXC - - - 67 - 32 - 0 - EXC - - - 68 - 32 - 0 - EXC - - - 69 - 32 - 0 - EXC - - - 70 - 32 - 0 - EXC - - - 71 - 32 - 0 - EXC - - - 72 - 32 - 0 - EXC - - - 73 - 32 - 0 - EXC - - - 74 - 32 - 0 - EXC - - - 75 - 32 - 0 - EXC - - - 76 - 32 - 0 - EXC - - - 77 - 32 - 0 - EXC - - - 78 - 32 - 0 - EXC - - - 79 - 32 - 0 - EXC - - - 80 - 32 - 0 - EXC - - - 81 - 32 - 0 - EXC - - - 82 - 32 - 0 - EXC - - - 83 - 32 - 0 - EXC - - - 84 - 32 - 0 - EXC - - - 85 - 32 - 0 - EXC - - - 86 - 32 - 0 - EXC - - - 87 - 32 - 0 - EXC - - - 88 - 32 - 0 - EXC - - - 89 - 32 - 0 - EXC - - - 90 - 32 - 0 - EXC - - - 91 - 32 - 0 - EXC - - - 92 - 32 - 0 - EXC - - - 93 - 32 - 0 - EXC - - - 94 - 32 - 0 - EXC - - - 95 - 32 - 0 - EXC - - - 96 - 32 - 0 - EXC - - - 97 - 32 - 0 - EXC - - - 98 - 32 - 0 - EXC - - - 99 - 32 - 0 - EXC - - - 0 - 33 - 0 - EXC - - - 1 - 33 - 0 - EXC - - - 2 - 33 - 0 - EXC - - - 3 - 33 - 0 - INH - - - 4 - 33 - 0 - EXC - - - 5 - 33 - 0 - EXC - - - 6 - 33 - 0 - EXC - - - 7 - 33 - 1 - EXC - - - 8 - 33 - 0 - EXC - - - 9 - 33 - 0 - EXC - - - 10 - 33 - 0 - EXC - - - 11 - 33 - 0 - EXC - - - 12 - 33 - 0 - EXC - - - 13 - 33 - 0 - INH - - - 14 - 33 - 0 - EXC - - - 15 - 33 - 0 - EXC - - - 16 - 33 - 0 - EXC - - - 17 - 33 - 1 - EXC - - - 18 - 33 - 0 - EXC - - - 19 - 33 - 0 - EXC - - - 20 - 33 - 0 - EXC - - - 21 - 33 - 0 - EXC - - - 22 - 33 - 0 - EXC - - - 23 - 33 - 0 - INH - - - 24 - 33 - 0 - EXC - - - 25 - 33 - 0 - EXC - - - 26 - 33 - 0 - EXC - - - 27 - 33 - 1 - EXC - - - 28 - 33 - 0 - EXC - - - 29 - 33 - 0 - EXC - - - 30 - 33 - 0 - EXC - - - 31 - 33 - 0 - EXC - - - 32 - 33 - 0 - EXC - - - 33 - 33 - 0 - INH - - - 34 - 33 - 0 - EXC - - - 35 - 33 - 0 - EXC - - - 36 - 33 - 0 - EXC - - - 37 - 33 - 1 - EXC - - - 38 - 33 - 0 - EXC - - - 39 - 33 - 0 - EXC - - - 40 - 33 - 0 - EXC - - - 41 - 33 - 0 - EXC - - - 42 - 33 - 0 - EXC - - - 43 - 33 - 0 - INH - - - 44 - 33 - 0 - EXC - - - 45 - 33 - 0 - EXC - - - 46 - 33 - 0 - EXC - - - 47 - 33 - 1 - EXC - - - 48 - 33 - 0 - EXC - - - 49 - 33 - 0 - EXC - - - 50 - 33 - 0 - EXC - - - 51 - 33 - 0 - EXC - - - 52 - 33 - 0 - EXC - - - 53 - 33 - 0 - INH - - - 54 - 33 - 0 - EXC - - - 55 - 33 - 0 - EXC - - - 56 - 33 - 0 - EXC - - - 57 - 33 - 1 - EXC - - - 58 - 33 - 0 - EXC - - - 59 - 33 - 0 - EXC - - - 60 - 33 - 0 - EXC - - - 61 - 33 - 0 - EXC - - - 62 - 33 - 0 - EXC - - - 63 - 33 - 0 - INH - - - 64 - 33 - 0 - EXC - - - 65 - 33 - 0 - EXC - - - 66 - 33 - 0 - EXC - - - 67 - 33 - 1 - EXC - - - 68 - 33 - 0 - EXC - - - 69 - 33 - 0 - EXC - - - 70 - 33 - 0 - EXC - - - 71 - 33 - 0 - EXC - - - 72 - 33 - 0 - EXC - - - 73 - 33 - 0 - INH - - - 74 - 33 - 0 - EXC - - - 75 - 33 - 0 - EXC - - - 76 - 33 - 0 - EXC - - - 77 - 33 - 1 - EXC - - - 78 - 33 - 0 - EXC - - - 79 - 33 - 0 - EXC - - - 80 - 33 - 0 - EXC - - - 81 - 33 - 0 - EXC - - - 82 - 33 - 0 - EXC - - - 83 - 33 - 0 - INH - - - 84 - 33 - 0 - EXC - - - 85 - 33 - 0 - EXC - - - 86 - 33 - 0 - EXC - - - 87 - 33 - 1 - EXC - - - 88 - 33 - 0 - EXC - - - 89 - 33 - 0 - EXC - - - 90 - 33 - 0 - EXC - - - 91 - 33 - 0 - EXC - - - 92 - 33 - 0 - EXC - - - 93 - 33 - 0 - INH - - - 94 - 33 - 0 - EXC - - - 95 - 33 - 0 - EXC - - - 96 - 33 - 0 - EXC - - - 97 - 33 - 1 - EXC - - - 98 - 33 - 0 - EXC - - - 99 - 33 - 0 - EXC - - - 0 - 34 - 0 - EXC - - - 1 - 34 - 1 - EXC - - - 2 - 34 - 0 - EXC - - - 3 - 34 - 0 - EXC - - - 4 - 34 - 1 - EXC - - - 5 - 34 - 0 - EXC - - - 6 - 34 - 0 - EXC - - - 7 - 34 - 0 - EXC - - - 8 - 34 - 0 - EXC - - - 9 - 34 - 0 - EXC - - - 10 - 34 - 0 - EXC - - - 11 - 34 - 1 - EXC - - - 12 - 34 - 0 - EXC - - - 13 - 34 - 0 - EXC - - - 14 - 34 - 1 - EXC - - - 15 - 34 - 0 - EXC - - - 16 - 34 - 0 - EXC - - - 17 - 34 - 0 - EXC - - - 18 - 34 - 0 - EXC - - - 19 - 34 - 0 - EXC - - - 20 - 34 - 0 - EXC - - - 21 - 34 - 1 - EXC - - - 22 - 34 - 0 - EXC - - - 23 - 34 - 0 - EXC - - - 24 - 34 - 1 - EXC - - - 25 - 34 - 0 - EXC - - - 26 - 34 - 0 - EXC - - - 27 - 34 - 0 - EXC - - - 28 - 34 - 0 - EXC - - - 29 - 34 - 0 - EXC - - - 30 - 34 - 0 - EXC - - - 31 - 34 - 1 - EXC - - - 32 - 34 - 0 - EXC - - - 33 - 34 - 0 - EXC - - - 34 - 34 - 1 - EXC - - - 35 - 34 - 0 - EXC - - - 36 - 34 - 0 - EXC - - - 37 - 34 - 0 - EXC - - - 38 - 34 - 0 - EXC - - - 39 - 34 - 0 - EXC - - - 40 - 34 - 0 - EXC - - - 41 - 34 - 1 - EXC - - - 42 - 34 - 0 - EXC - - - 43 - 34 - 0 - EXC - - - 44 - 34 - 1 - EXC - - - 45 - 34 - 0 - EXC - - - 46 - 34 - 0 - EXC - - - 47 - 34 - 0 - EXC - - - 48 - 34 - 0 - EXC - - - 49 - 34 - 0 - EXC - - - 50 - 34 - 0 - EXC - - - 51 - 34 - 1 - EXC - - - 52 - 34 - 0 - EXC - - - 53 - 34 - 0 - EXC - - - 54 - 34 - 1 - EXC - - - 55 - 34 - 0 - EXC - - - 56 - 34 - 0 - EXC - - - 57 - 34 - 0 - EXC - - - 58 - 34 - 0 - EXC - - - 59 - 34 - 0 - EXC - - - 60 - 34 - 0 - EXC - - - 61 - 34 - 1 - EXC - - - 62 - 34 - 0 - EXC - - - 63 - 34 - 0 - EXC - - - 64 - 34 - 1 - EXC - - - 65 - 34 - 0 - EXC - - - 66 - 34 - 0 - EXC - - - 67 - 34 - 0 - EXC - - - 68 - 34 - 0 - EXC - - - 69 - 34 - 0 - EXC - - - 70 - 34 - 0 - EXC - - - 71 - 34 - 1 - EXC - - - 72 - 34 - 0 - EXC - - - 73 - 34 - 0 - EXC - - - 74 - 34 - 1 - EXC - - - 75 - 34 - 0 - EXC - - - 76 - 34 - 0 - EXC - - - 77 - 34 - 0 - EXC - - - 78 - 34 - 0 - EXC - - - 79 - 34 - 0 - EXC - - - 80 - 34 - 0 - EXC - - - 81 - 34 - 1 - EXC - - - 82 - 34 - 0 - EXC - - - 83 - 34 - 0 - EXC - - - 84 - 34 - 1 - EXC - - - 85 - 34 - 0 - EXC - - - 86 - 34 - 0 - EXC - - - 87 - 34 - 0 - EXC - - - 88 - 34 - 0 - EXC - - - 89 - 34 - 0 - EXC - - - 90 - 34 - 0 - EXC - - - 91 - 34 - 1 - EXC - - - 92 - 34 - 0 - EXC - - - 93 - 34 - 0 - EXC - - - 94 - 34 - 1 - EXC - - - 95 - 34 - 0 - EXC - - - 96 - 34 - 0 - EXC - - - 97 - 34 - 0 - EXC - - - 98 - 34 - 0 - EXC - - - 99 - 34 - 0 - EXC - - - 0 - 35 - 0 - EXC - - - 1 - 35 - 0 - EXC - - - 2 - 35 - 0 - EXC - - - 3 - 35 - 0 - EXC - - - 4 - 35 - 0 - EXC - - - 5 - 35 - 0 - EXC - - - 6 - 35 - 0 - EXC - - - 7 - 35 - 0 - EXC - - - 8 - 35 - 0 - EXC - - - 9 - 35 - 0 - EXC - - - 10 - 35 - 0 - EXC - - - 11 - 35 - 0 - EXC - - - 12 - 35 - 0 - EXC - - - 13 - 35 - 0 - EXC - - - 14 - 35 - 0 - EXC - - - 15 - 35 - 0 - EXC - - - 16 - 35 - 0 - EXC - - - 17 - 35 - 0 - EXC - - - 18 - 35 - 0 - EXC - - - 19 - 35 - 0 - EXC - - - 20 - 35 - 0 - EXC - - - 21 - 35 - 0 - EXC - - - 22 - 35 - 0 - EXC - - - 23 - 35 - 0 - EXC - - - 24 - 35 - 0 - EXC - - - 25 - 35 - 0 - EXC - - - 26 - 35 - 0 - EXC - - - 27 - 35 - 0 - EXC - - - 28 - 35 - 0 - EXC - - - 29 - 35 - 0 - EXC - - - 30 - 35 - 0 - EXC - - - 31 - 35 - 0 - EXC - - - 32 - 35 - 0 - EXC - - - 33 - 35 - 0 - EXC - - - 34 - 35 - 0 - EXC - - - 35 - 35 - 0 - EXC - - - 36 - 35 - 0 - EXC - - - 37 - 35 - 0 - EXC - - - 38 - 35 - 0 - EXC - - - 39 - 35 - 0 - EXC - - - 40 - 35 - 0 - EXC - - - 41 - 35 - 0 - EXC - - - 42 - 35 - 0 - EXC - - - 43 - 35 - 0 - EXC - - - 44 - 35 - 0 - EXC - - - 45 - 35 - 0 - EXC - - - 46 - 35 - 0 - EXC - - - 47 - 35 - 0 - EXC - - - 48 - 35 - 0 - EXC - - - 49 - 35 - 0 - EXC - - - 50 - 35 - 0 - EXC - - - 51 - 35 - 0 - EXC - - - 52 - 35 - 0 - EXC - - - 53 - 35 - 0 - EXC - - - 54 - 35 - 0 - EXC - - - 55 - 35 - 0 - EXC - - - 56 - 35 - 0 - EXC - - - 57 - 35 - 0 - EXC - - - 58 - 35 - 0 - EXC - - - 59 - 35 - 0 - EXC - - - 60 - 35 - 0 - EXC - - - 61 - 35 - 0 - EXC - - - 62 - 35 - 0 - EXC - - - 63 - 35 - 0 - EXC - - - 64 - 35 - 0 - EXC - - - 65 - 35 - 0 - EXC - - - 66 - 35 - 0 - EXC - - - 67 - 35 - 0 - EXC - - - 68 - 35 - 0 - EXC - - - 69 - 35 - 0 - EXC - - - 70 - 35 - 0 - EXC - - - 71 - 35 - 0 - EXC - - - 72 - 35 - 0 - EXC - - - 73 - 35 - 0 - EXC - - - 74 - 35 - 0 - EXC - - - 75 - 35 - 0 - EXC - - - 76 - 35 - 0 - EXC - - - 77 - 35 - 0 - EXC - - - 78 - 35 - 0 - EXC - - - 79 - 35 - 0 - EXC - - - 80 - 35 - 0 - EXC - - - 81 - 35 - 0 - EXC - - - 82 - 35 - 0 - EXC - - - 83 - 35 - 0 - EXC - - - 84 - 35 - 0 - EXC - - - 85 - 35 - 0 - EXC - - - 86 - 35 - 0 - EXC - - - 87 - 35 - 0 - EXC - - - 88 - 35 - 0 - EXC - - - 89 - 35 - 0 - EXC - - - 90 - 35 - 0 - EXC - - - 91 - 35 - 0 - EXC - - - 92 - 35 - 0 - EXC - - - 93 - 35 - 0 - EXC - - - 94 - 35 - 0 - EXC - - - 95 - 35 - 0 - EXC - - - 96 - 35 - 0 - EXC - - - 97 - 35 - 0 - EXC - - - 98 - 35 - 0 - EXC - - - 99 - 35 - 0 - EXC - - - 0 - 36 - 0 - EXC - - - 1 - 36 - 0 - EXC - - - 2 - 36 - 0 - EXC - - - 3 - 36 - 0 - EXC - - - 4 - 36 - 0 - EXC - - - 5 - 36 - 0 - EXC - - - 6 - 36 - 0 - INH - - - 7 - 36 - 1 - EXC - - - 8 - 36 - 0 - EXC - - - 9 - 36 - 0 - EXC - - - 10 - 36 - 0 - EXC - - - 11 - 36 - 0 - EXC - - - 12 - 36 - 0 - EXC - - - 13 - 36 - 0 - EXC - - - 14 - 36 - 0 - EXC - - - 15 - 36 - 0 - EXC - - - 16 - 36 - 0 - INH - - - 17 - 36 - 1 - EXC - - - 18 - 36 - 0 - EXC - - - 19 - 36 - 0 - EXC - - - 20 - 36 - 0 - EXC - - - 21 - 36 - 0 - EXC - - - 22 - 36 - 0 - EXC - - - 23 - 36 - 0 - EXC - - - 24 - 36 - 0 - EXC - - - 25 - 36 - 0 - EXC - - - 26 - 36 - 0 - INH - - - 27 - 36 - 1 - EXC - - - 28 - 36 - 0 - EXC - - - 29 - 36 - 0 - EXC - - - 30 - 36 - 0 - EXC - - - 31 - 36 - 0 - EXC - - - 32 - 36 - 0 - EXC - - - 33 - 36 - 0 - EXC - - - 34 - 36 - 0 - EXC - - - 35 - 36 - 0 - EXC - - - 36 - 36 - 0 - INH - - - 37 - 36 - 1 - EXC - - - 38 - 36 - 0 - EXC - - - 39 - 36 - 0 - EXC - - - 40 - 36 - 0 - EXC - - - 41 - 36 - 0 - EXC - - - 42 - 36 - 0 - EXC - - - 43 - 36 - 0 - EXC - - - 44 - 36 - 0 - EXC - - - 45 - 36 - 0 - EXC - - - 46 - 36 - 0 - INH - - - 47 - 36 - 1 - EXC - - - 48 - 36 - 0 - EXC - - - 49 - 36 - 0 - EXC - - - 50 - 36 - 0 - EXC - - - 51 - 36 - 0 - EXC - - - 52 - 36 - 0 - EXC - - - 53 - 36 - 0 - EXC - - - 54 - 36 - 0 - EXC - - - 55 - 36 - 0 - EXC - - - 56 - 36 - 0 - INH - - - 57 - 36 - 1 - EXC - - - 58 - 36 - 0 - EXC - - - 59 - 36 - 0 - EXC - - - 60 - 36 - 0 - EXC - - - 61 - 36 - 0 - EXC - - - 62 - 36 - 0 - EXC - - - 63 - 36 - 0 - EXC - - - 64 - 36 - 0 - EXC - - - 65 - 36 - 0 - EXC - - - 66 - 36 - 0 - INH - - - 67 - 36 - 1 - EXC - - - 68 - 36 - 0 - EXC - - - 69 - 36 - 0 - EXC - - - 70 - 36 - 0 - EXC - - - 71 - 36 - 0 - EXC - - - 72 - 36 - 0 - EXC - - - 73 - 36 - 0 - EXC - - - 74 - 36 - 0 - EXC - - - 75 - 36 - 0 - EXC - - - 76 - 36 - 0 - INH - - - 77 - 36 - 1 - EXC - - - 78 - 36 - 0 - EXC - - - 79 - 36 - 0 - EXC - - - 80 - 36 - 0 - EXC - - - 81 - 36 - 0 - EXC - - - 82 - 36 - 0 - EXC - - - 83 - 36 - 0 - EXC - - - 84 - 36 - 0 - EXC - - - 85 - 36 - 0 - EXC - - - 86 - 36 - 0 - INH - - - 87 - 36 - 1 - EXC - - - 88 - 36 - 0 - EXC - - - 89 - 36 - 0 - EXC - - - 90 - 36 - 0 - EXC - - - 91 - 36 - 0 - EXC - - - 92 - 36 - 0 - EXC - - - 93 - 36 - 0 - EXC - - - 94 - 36 - 0 - EXC - - - 95 - 36 - 0 - EXC - - - 96 - 36 - 0 - INH - - - 97 - 36 - 1 - EXC - - - 98 - 36 - 0 - EXC - - - 99 - 36 - 0 - EXC - - - 0 - 37 - 0 - EXC - - - 1 - 37 - 1 - EXC - - - 2 - 37 - 0 - EXC - - - 3 - 37 - 0 - EXC - - - 4 - 37 - 1 - EXC - - - 5 - 37 - 0 - EXC - - - 6 - 37 - 0 - EXC - - - 7 - 37 - 0 - EXC - - - 8 - 37 - 0 - EXC - - - 9 - 37 - 0 - EXC - - - 10 - 37 - 0 - EXC - - - 11 - 37 - 1 - EXC - - - 12 - 37 - 0 - EXC - - - 13 - 37 - 0 - EXC - - - 14 - 37 - 1 - EXC - - - 15 - 37 - 0 - EXC - - - 16 - 37 - 0 - EXC - - - 17 - 37 - 0 - EXC - - - 18 - 37 - 0 - EXC - - - 19 - 37 - 0 - EXC - - - 20 - 37 - 0 - EXC - - - 21 - 37 - 1 - EXC - - - 22 - 37 - 0 - EXC - - - 23 - 37 - 0 - EXC - - - 24 - 37 - 1 - EXC - - - 25 - 37 - 0 - EXC - - - 26 - 37 - 0 - EXC - - - 27 - 37 - 0 - EXC - - - 28 - 37 - 0 - EXC - - - 29 - 37 - 0 - EXC - - - 30 - 37 - 0 - EXC - - - 31 - 37 - 1 - EXC - - - 32 - 37 - 0 - EXC - - - 33 - 37 - 0 - EXC - - - 34 - 37 - 1 - EXC - - - 35 - 37 - 0 - EXC - - - 36 - 37 - 0 - EXC - - - 37 - 37 - 0 - EXC - - - 38 - 37 - 0 - EXC - - - 39 - 37 - 0 - EXC - - - 40 - 37 - 0 - EXC - - - 41 - 37 - 1 - EXC - - - 42 - 37 - 0 - EXC - - - 43 - 37 - 0 - EXC - - - 44 - 37 - 1 - EXC - - - 45 - 37 - 0 - EXC - - - 46 - 37 - 0 - EXC - - - 47 - 37 - 0 - EXC - - - 48 - 37 - 0 - EXC - - - 49 - 37 - 0 - EXC - - - 50 - 37 - 0 - EXC - - - 51 - 37 - 1 - EXC - - - 52 - 37 - 0 - EXC - - - 53 - 37 - 0 - EXC - - - 54 - 37 - 1 - EXC - - - 55 - 37 - 0 - EXC - - - 56 - 37 - 0 - EXC - - - 57 - 37 - 0 - EXC - - - 58 - 37 - 0 - EXC - - - 59 - 37 - 0 - EXC - - - 60 - 37 - 0 - EXC - - - 61 - 37 - 1 - EXC - - - 62 - 37 - 0 - EXC - - - 63 - 37 - 0 - EXC - - - 64 - 37 - 1 - EXC - - - 65 - 37 - 0 - EXC - - - 66 - 37 - 0 - EXC - - - 67 - 37 - 0 - EXC - - - 68 - 37 - 0 - EXC - - - 69 - 37 - 0 - EXC - - - 70 - 37 - 0 - EXC - - - 71 - 37 - 1 - EXC - - - 72 - 37 - 0 - EXC - - - 73 - 37 - 0 - EXC - - - 74 - 37 - 1 - EXC - - - 75 - 37 - 0 - EXC - - - 76 - 37 - 0 - EXC - - - 77 - 37 - 0 - EXC - - - 78 - 37 - 0 - EXC - - - 79 - 37 - 0 - EXC - - - 80 - 37 - 0 - EXC - - - 81 - 37 - 1 - EXC - - - 82 - 37 - 0 - EXC - - - 83 - 37 - 0 - EXC - - - 84 - 37 - 1 - EXC - - - 85 - 37 - 0 - EXC - - - 86 - 37 - 0 - EXC - - - 87 - 37 - 0 - EXC - - - 88 - 37 - 0 - EXC - - - 89 - 37 - 0 - EXC - - - 90 - 37 - 0 - EXC - - - 91 - 37 - 1 - EXC - - - 92 - 37 - 0 - EXC - - - 93 - 37 - 0 - EXC - - - 94 - 37 - 1 - EXC - - - 95 - 37 - 0 - EXC - - - 96 - 37 - 0 - EXC - - - 97 - 37 - 0 - EXC - - - 98 - 37 - 0 - EXC - - - 99 - 37 - 0 - EXC - - - 0 - 38 - 0 - EXC - - - 1 - 38 - 0 - EXC - - - 2 - 38 - 0 - EXC - - - 3 - 38 - 0 - EXC - - - 4 - 38 - 0 - EXC - - - 5 - 38 - 0 - EXC - - - 6 - 38 - 0 - EXC - - - 7 - 38 - 0 - EXC - - - 8 - 38 - 0 - EXC - - - 9 - 38 - 0 - EXC - - - 10 - 38 - 0 - EXC - - - 11 - 38 - 0 - EXC - - - 12 - 38 - 0 - EXC - - - 13 - 38 - 0 - EXC - - - 14 - 38 - 0 - EXC - - - 15 - 38 - 0 - EXC - - - 16 - 38 - 0 - EXC - - - 17 - 38 - 0 - EXC - - - 18 - 38 - 0 - EXC - - - 19 - 38 - 0 - EXC - - - 20 - 38 - 0 - EXC - - - 21 - 38 - 0 - EXC - - - 22 - 38 - 0 - EXC - - - 23 - 38 - 0 - EXC - - - 24 - 38 - 0 - EXC - - - 25 - 38 - 0 - EXC - - - 26 - 38 - 0 - EXC - - - 27 - 38 - 0 - EXC - - - 28 - 38 - 0 - EXC - - - 29 - 38 - 0 - EXC - - - 30 - 38 - 0 - EXC - - - 31 - 38 - 0 - EXC - - - 32 - 38 - 0 - EXC - - - 33 - 38 - 0 - EXC - - - 34 - 38 - 0 - EXC - - - 35 - 38 - 0 - EXC - - - 36 - 38 - 0 - EXC - - - 37 - 38 - 0 - EXC - - - 38 - 38 - 0 - EXC - - - 39 - 38 - 0 - EXC - - - 40 - 38 - 0 - EXC - - - 41 - 38 - 0 - EXC - - - 42 - 38 - 0 - EXC - - - 43 - 38 - 0 - EXC - - - 44 - 38 - 0 - EXC - - - 45 - 38 - 0 - EXC - - - 46 - 38 - 0 - EXC - - - 47 - 38 - 0 - EXC - - - 48 - 38 - 0 - EXC - - - 49 - 38 - 0 - EXC - - - 50 - 38 - 0 - EXC - - - 51 - 38 - 0 - EXC - - - 52 - 38 - 0 - EXC - - - 53 - 38 - 0 - EXC - - - 54 - 38 - 0 - EXC - - - 55 - 38 - 0 - EXC - - - 56 - 38 - 0 - EXC - - - 57 - 38 - 0 - EXC - - - 58 - 38 - 0 - EXC - - - 59 - 38 - 0 - EXC - - - 60 - 38 - 0 - EXC - - - 61 - 38 - 0 - EXC - - - 62 - 38 - 0 - EXC - - - 63 - 38 - 0 - EXC - - - 64 - 38 - 0 - EXC - - - 65 - 38 - 0 - EXC - - - 66 - 38 - 0 - EXC - - - 67 - 38 - 0 - EXC - - - 68 - 38 - 0 - EXC - - - 69 - 38 - 0 - EXC - - - 70 - 38 - 0 - EXC - - - 71 - 38 - 0 - EXC - - - 72 - 38 - 0 - EXC - - - 73 - 38 - 0 - EXC - - - 74 - 38 - 0 - EXC - - - 75 - 38 - 0 - EXC - - - 76 - 38 - 0 - EXC - - - 77 - 38 - 0 - EXC - - - 78 - 38 - 0 - EXC - - - 79 - 38 - 0 - EXC - - - 80 - 38 - 0 - EXC - - - 81 - 38 - 0 - EXC - - - 82 - 38 - 0 - EXC - - - 83 - 38 - 0 - EXC - - - 84 - 38 - 0 - EXC - - - 85 - 38 - 0 - EXC - - - 86 - 38 - 0 - EXC - - - 87 - 38 - 0 - EXC - - - 88 - 38 - 0 - EXC - - - 89 - 38 - 0 - EXC - - - 90 - 38 - 0 - EXC - - - 91 - 38 - 0 - EXC - - - 92 - 38 - 0 - EXC - - - 93 - 38 - 0 - EXC - - - 94 - 38 - 0 - EXC - - - 95 - 38 - 0 - EXC - - - 96 - 38 - 0 - EXC - - - 97 - 38 - 0 - EXC - - - 98 - 38 - 0 - EXC - - - 99 - 38 - 0 - EXC - - - 0 - 39 - 0 - EXC - - - 1 - 39 - 0 - EXC - - - 2 - 39 - 0 - EXC - - - 3 - 39 - 0 - EXC - - - 4 - 39 - 0 - EXC - - - 5 - 39 - 0 - EXC - - - 6 - 39 - 0 - EXC - - - 7 - 39 - 1 - EXC - - - 8 - 39 - 0 - EXC - - - 9 - 39 - 0 - EXC - - - 10 - 39 - 0 - EXC - - - 11 - 39 - 0 - EXC - - - 12 - 39 - 0 - EXC - - - 13 - 39 - 0 - EXC - - - 14 - 39 - 0 - EXC - - - 15 - 39 - 0 - EXC - - - 16 - 39 - 0 - EXC - - - 17 - 39 - 1 - EXC - - - 18 - 39 - 0 - EXC - - - 19 - 39 - 0 - EXC - - - 20 - 39 - 0 - EXC - - - 21 - 39 - 0 - EXC - - - 22 - 39 - 0 - EXC - - - 23 - 39 - 0 - EXC - - - 24 - 39 - 0 - EXC - - - 25 - 39 - 0 - EXC - - - 26 - 39 - 0 - EXC - - - 27 - 39 - 1 - EXC - - - 28 - 39 - 0 - EXC - - - 29 - 39 - 0 - EXC - - - 30 - 39 - 0 - EXC - - - 31 - 39 - 0 - EXC - - - 32 - 39 - 0 - EXC - - - 33 - 39 - 0 - EXC - - - 34 - 39 - 0 - EXC - - - 35 - 39 - 0 - EXC - - - 36 - 39 - 0 - EXC - - - 37 - 39 - 1 - EXC - - - 38 - 39 - 0 - EXC - - - 39 - 39 - 0 - EXC - - - 40 - 39 - 0 - EXC - - - 41 - 39 - 0 - EXC - - - 42 - 39 - 0 - EXC - - - 43 - 39 - 0 - EXC - - - 44 - 39 - 0 - EXC - - - 45 - 39 - 0 - EXC - - - 46 - 39 - 0 - EXC - - - 47 - 39 - 1 - EXC - - - 48 - 39 - 0 - EXC - - - 49 - 39 - 0 - EXC - - - 50 - 39 - 0 - EXC - - - 51 - 39 - 0 - EXC - - - 52 - 39 - 0 - EXC - - - 53 - 39 - 0 - EXC - - - 54 - 39 - 0 - EXC - - - 55 - 39 - 0 - EXC - - - 56 - 39 - 0 - EXC - - - 57 - 39 - 1 - EXC - - - 58 - 39 - 0 - EXC - - - 59 - 39 - 0 - EXC - - - 60 - 39 - 0 - EXC - - - 61 - 39 - 0 - EXC - - - 62 - 39 - 0 - EXC - - - 63 - 39 - 0 - EXC - - - 64 - 39 - 0 - EXC - - - 65 - 39 - 0 - EXC - - - 66 - 39 - 0 - EXC - - - 67 - 39 - 1 - EXC - - - 68 - 39 - 0 - EXC - - - 69 - 39 - 0 - EXC - - - 70 - 39 - 0 - EXC - - - 71 - 39 - 0 - EXC - - - 72 - 39 - 0 - EXC - - - 73 - 39 - 0 - EXC - - - 74 - 39 - 0 - EXC - - - 75 - 39 - 0 - EXC - - - 76 - 39 - 0 - EXC - - - 77 - 39 - 1 - EXC - - - 78 - 39 - 0 - EXC - - - 79 - 39 - 0 - EXC - - - 80 - 39 - 0 - EXC - - - 81 - 39 - 0 - EXC - - - 82 - 39 - 0 - EXC - - - 83 - 39 - 0 - EXC - - - 84 - 39 - 0 - EXC - - - 85 - 39 - 0 - EXC - - - 86 - 39 - 0 - EXC - - - 87 - 39 - 1 - EXC - - - 88 - 39 - 0 - EXC - - - 89 - 39 - 0 - EXC - - - 90 - 39 - 0 - EXC - - - 91 - 39 - 0 - EXC - - - 92 - 39 - 0 - EXC - - - 93 - 39 - 0 - EXC - - - 94 - 39 - 0 - EXC - - - 95 - 39 - 0 - EXC - - - 96 - 39 - 0 - EXC - - - 97 - 39 - 1 - EXC - - - 98 - 39 - 0 - EXC - - - 99 - 39 - 0 - EXC - - - 0 - 40 - 0 - EXC - - - 1 - 40 - 0 - EXC - - - 2 - 40 - 0 - EXC - - - 3 - 40 - 0 - EXC - - - 4 - 40 - 0 - EXC - - - 5 - 40 - 0 - EXC - - - 6 - 40 - 0 - EXC - - - 7 - 40 - 1 - EXC - - - 8 - 40 - 0 - EXC - - - 9 - 40 - 0 - EXC - - - 10 - 40 - 0 - EXC - - - 11 - 40 - 0 - EXC - - - 12 - 40 - 0 - EXC - - - 13 - 40 - 0 - EXC - - - 14 - 40 - 0 - EXC - - - 15 - 40 - 0 - EXC - - - 16 - 40 - 0 - EXC - - - 17 - 40 - 1 - EXC - - - 18 - 40 - 0 - EXC - - - 19 - 40 - 0 - EXC - - - 20 - 40 - 0 - EXC - - - 21 - 40 - 0 - EXC - - - 22 - 40 - 0 - EXC - - - 23 - 40 - 0 - EXC - - - 24 - 40 - 0 - EXC - - - 25 - 40 - 0 - EXC - - - 26 - 40 - 0 - EXC - - - 27 - 40 - 1 - EXC - - - 28 - 40 - 0 - EXC - - - 29 - 40 - 0 - EXC - - - 30 - 40 - 0 - EXC - - - 31 - 40 - 0 - EXC - - - 32 - 40 - 0 - EXC - - - 33 - 40 - 0 - EXC - - - 34 - 40 - 0 - EXC - - - 35 - 40 - 0 - EXC - - - 36 - 40 - 0 - EXC - - - 37 - 40 - 1 - EXC - - - 38 - 40 - 0 - EXC - - - 39 - 40 - 0 - EXC - - - 40 - 40 - 0 - EXC - - - 41 - 40 - 0 - EXC - - - 42 - 40 - 0 - EXC - - - 43 - 40 - 0 - EXC - - - 44 - 40 - 0 - EXC - - - 45 - 40 - 0 - EXC - - - 46 - 40 - 0 - EXC - - - 47 - 40 - 1 - EXC - - - 48 - 40 - 0 - EXC - - - 49 - 40 - 0 - EXC - - - 50 - 40 - 0 - EXC - - - 51 - 40 - 0 - EXC - - - 52 - 40 - 0 - EXC - - - 53 - 40 - 0 - EXC - - - 54 - 40 - 0 - EXC - - - 55 - 40 - 0 - EXC - - - 56 - 40 - 0 - EXC - - - 57 - 40 - 1 - EXC - - - 58 - 40 - 0 - EXC - - - 59 - 40 - 0 - EXC - - - 60 - 40 - 0 - EXC - - - 61 - 40 - 0 - EXC - - - 62 - 40 - 0 - EXC - - - 63 - 40 - 0 - EXC - - - 64 - 40 - 0 - EXC - - - 65 - 40 - 0 - EXC - - - 66 - 40 - 0 - EXC - - - 67 - 40 - 1 - EXC - - - 68 - 40 - 0 - EXC - - - 69 - 40 - 0 - EXC - - - 70 - 40 - 0 - EXC - - - 71 - 40 - 0 - EXC - - - 72 - 40 - 0 - EXC - - - 73 - 40 - 0 - EXC - - - 74 - 40 - 0 - EXC - - - 75 - 40 - 0 - EXC - - - 76 - 40 - 0 - EXC - - - 77 - 40 - 1 - EXC - - - 78 - 40 - 0 - EXC - - - 79 - 40 - 0 - EXC - - - 80 - 40 - 0 - EXC - - - 81 - 40 - 0 - EXC - - - 82 - 40 - 0 - EXC - - - 83 - 40 - 0 - EXC - - - 84 - 40 - 0 - EXC - - - 85 - 40 - 0 - EXC - - - 86 - 40 - 0 - EXC - - - 87 - 40 - 1 - EXC - - - 88 - 40 - 0 - EXC - - - 89 - 40 - 0 - EXC - - - 90 - 40 - 0 - EXC - - - 91 - 40 - 0 - EXC - - - 92 - 40 - 0 - EXC - - - 93 - 40 - 0 - EXC - - - 94 - 40 - 0 - EXC - - - 95 - 40 - 0 - EXC - - - 96 - 40 - 0 - EXC - - - 97 - 40 - 1 - EXC - - - 98 - 40 - 0 - EXC - - - 99 - 40 - 0 - EXC - - - 0 - 41 - 0 - EXC - - - 1 - 41 - 1 - EXC - - - 2 - 41 - 0 - EXC - - - 3 - 41 - 0 - EXC - - - 4 - 41 - 1 - EXC - - - 5 - 41 - 0 - EXC - - - 6 - 41 - 0 - EXC - - - 7 - 41 - 0 - EXC - - - 8 - 41 - 0 - EXC - - - 9 - 41 - 0 - EXC - - - 10 - 41 - 0 - EXC - - - 11 - 41 - 1 - EXC - - - 12 - 41 - 0 - EXC - - - 13 - 41 - 0 - EXC - - - 14 - 41 - 1 - EXC - - - 15 - 41 - 0 - EXC - - - 16 - 41 - 0 - EXC - - - 17 - 41 - 0 - EXC - - - 18 - 41 - 0 - EXC - - - 19 - 41 - 0 - EXC - - - 20 - 41 - 0 - EXC - - - 21 - 41 - 1 - EXC - - - 22 - 41 - 0 - EXC - - - 23 - 41 - 0 - EXC - - - 24 - 41 - 1 - EXC - - - 25 - 41 - 0 - EXC - - - 26 - 41 - 0 - EXC - - - 27 - 41 - 0 - EXC - - - 28 - 41 - 0 - EXC - - - 29 - 41 - 0 - EXC - - - 30 - 41 - 0 - EXC - - - 31 - 41 - 1 - EXC - - - 32 - 41 - 0 - EXC - - - 33 - 41 - 0 - EXC - - - 34 - 41 - 1 - EXC - - - 35 - 41 - 0 - EXC - - - 36 - 41 - 0 - EXC - - - 37 - 41 - 0 - EXC - - - 38 - 41 - 0 - EXC - - - 39 - 41 - 0 - EXC - - - 40 - 41 - 0 - EXC - - - 41 - 41 - 1 - EXC - - - 42 - 41 - 0 - EXC - - - 43 - 41 - 0 - EXC - - - 44 - 41 - 1 - EXC - - - 45 - 41 - 0 - EXC - - - 46 - 41 - 0 - EXC - - - 47 - 41 - 0 - EXC - - - 48 - 41 - 0 - EXC - - - 49 - 41 - 0 - EXC - - - 50 - 41 - 0 - EXC - - - 51 - 41 - 1 - EXC - - - 52 - 41 - 0 - EXC - - - 53 - 41 - 0 - EXC - - - 54 - 41 - 1 - EXC - - - 55 - 41 - 0 - EXC - - - 56 - 41 - 0 - EXC - - - 57 - 41 - 0 - EXC - - - 58 - 41 - 0 - EXC - - - 59 - 41 - 0 - EXC - - - 60 - 41 - 0 - EXC - - - 61 - 41 - 1 - EXC - - - 62 - 41 - 0 - EXC - - - 63 - 41 - 0 - EXC - - - 64 - 41 - 1 - EXC - - - 65 - 41 - 0 - EXC - - - 66 - 41 - 0 - EXC - - - 67 - 41 - 0 - EXC - - - 68 - 41 - 0 - EXC - - - 69 - 41 - 0 - EXC - - - 70 - 41 - 0 - EXC - - - 71 - 41 - 1 - EXC - - - 72 - 41 - 0 - EXC - - - 73 - 41 - 0 - EXC - - - 74 - 41 - 1 - EXC - - - 75 - 41 - 0 - EXC - - - 76 - 41 - 0 - EXC - - - 77 - 41 - 0 - EXC - - - 78 - 41 - 0 - EXC - - - 79 - 41 - 0 - EXC - - - 80 - 41 - 0 - EXC - - - 81 - 41 - 1 - EXC - - - 82 - 41 - 0 - EXC - - - 83 - 41 - 0 - EXC - - - 84 - 41 - 1 - EXC - - - 85 - 41 - 0 - EXC - - - 86 - 41 - 0 - EXC - - - 87 - 41 - 0 - EXC - - - 88 - 41 - 0 - EXC - - - 89 - 41 - 0 - EXC - - - 90 - 41 - 0 - EXC - - - 91 - 41 - 1 - EXC - - - 92 - 41 - 0 - EXC - - - 93 - 41 - 0 - EXC - - - 94 - 41 - 1 - EXC - - - 95 - 41 - 0 - EXC - - - 96 - 41 - 0 - EXC - - - 97 - 41 - 0 - EXC - - - 98 - 41 - 0 - EXC - - - 99 - 41 - 0 - EXC - - - 0 - 42 - 0 - EXC - - - 1 - 42 - 0 - EXC - - - 2 - 42 - 0 - EXC - - - 3 - 42 - 0 - EXC - - - 4 - 42 - 0 - EXC - - - 5 - 42 - 0 - EXC - - - 6 - 42 - 0 - EXC - - - 7 - 42 - 0 - EXC - - - 8 - 42 - 0 - EXC - - - 9 - 42 - 0 - EXC - - - 10 - 42 - 0 - EXC - - - 11 - 42 - 0 - EXC - - - 12 - 42 - 0 - EXC - - - 13 - 42 - 0 - EXC - - - 14 - 42 - 0 - EXC - - - 15 - 42 - 0 - EXC - - - 16 - 42 - 0 - EXC - - - 17 - 42 - 0 - EXC - - - 18 - 42 - 0 - EXC - - - 19 - 42 - 0 - EXC - - - 20 - 42 - 0 - EXC - - - 21 - 42 - 0 - EXC - - - 22 - 42 - 0 - EXC - - - 23 - 42 - 0 - EXC - - - 24 - 42 - 0 - EXC - - - 25 - 42 - 0 - EXC - - - 26 - 42 - 0 - EXC - - - 27 - 42 - 0 - EXC - - - 28 - 42 - 0 - EXC - - - 29 - 42 - 0 - EXC - - - 30 - 42 - 0 - EXC - - - 31 - 42 - 0 - EXC - - - 32 - 42 - 0 - EXC - - - 33 - 42 - 0 - EXC - - - 34 - 42 - 0 - EXC - - - 35 - 42 - 0 - EXC - - - 36 - 42 - 0 - EXC - - - 37 - 42 - 0 - EXC - - - 38 - 42 - 0 - EXC - - - 39 - 42 - 0 - EXC - - - 40 - 42 - 0 - EXC - - - 41 - 42 - 0 - EXC - - - 42 - 42 - 0 - EXC - - - 43 - 42 - 0 - EXC - - - 44 - 42 - 0 - EXC - - - 45 - 42 - 0 - EXC - - - 46 - 42 - 0 - EXC - - - 47 - 42 - 0 - EXC - - - 48 - 42 - 0 - EXC - - - 49 - 42 - 0 - EXC - - - 50 - 42 - 0 - EXC - - - 51 - 42 - 0 - EXC - - - 52 - 42 - 0 - EXC - - - 53 - 42 - 0 - EXC - - - 54 - 42 - 0 - EXC - - - 55 - 42 - 0 - EXC - - - 56 - 42 - 0 - EXC - - - 57 - 42 - 0 - EXC - - - 58 - 42 - 0 - EXC - - - 59 - 42 - 0 - EXC - - - 60 - 42 - 0 - EXC - - - 61 - 42 - 0 - EXC - - - 62 - 42 - 0 - EXC - - - 63 - 42 - 0 - EXC - - - 64 - 42 - 0 - EXC - - - 65 - 42 - 0 - EXC - - - 66 - 42 - 0 - EXC - - - 67 - 42 - 0 - EXC - - - 68 - 42 - 0 - EXC - - - 69 - 42 - 0 - EXC - - - 70 - 42 - 0 - EXC - - - 71 - 42 - 0 - EXC - - - 72 - 42 - 0 - EXC - - - 73 - 42 - 0 - EXC - - - 74 - 42 - 0 - EXC - - - 75 - 42 - 0 - EXC - - - 76 - 42 - 0 - EXC - - - 77 - 42 - 0 - EXC - - - 78 - 42 - 0 - EXC - - - 79 - 42 - 0 - EXC - - - 80 - 42 - 0 - EXC - - - 81 - 42 - 0 - EXC - - - 82 - 42 - 0 - EXC - - - 83 - 42 - 0 - EXC - - - 84 - 42 - 0 - EXC - - - 85 - 42 - 0 - EXC - - - 86 - 42 - 0 - EXC - - - 87 - 42 - 0 - EXC - - - 88 - 42 - 0 - EXC - - - 89 - 42 - 0 - EXC - - - 90 - 42 - 0 - EXC - - - 91 - 42 - 0 - EXC - - - 92 - 42 - 0 - EXC - - - 93 - 42 - 0 - EXC - - - 94 - 42 - 0 - EXC - - - 95 - 42 - 0 - EXC - - - 96 - 42 - 0 - EXC - - - 97 - 42 - 0 - EXC - - - 98 - 42 - 0 - EXC - - - 99 - 42 - 0 - EXC - - - 0 - 43 - 0 - EXC - - - 1 - 43 - 0 - EXC - - - 2 - 43 - 0 - EXC - - - 3 - 43 - 0 - INH - - - 4 - 43 - 0 - EXC - - - 5 - 43 - 0 - EXC - - - 6 - 43 - 0 - EXC - - - 7 - 43 - 1 - EXC - - - 8 - 43 - 0 - EXC - - - 9 - 43 - 0 - EXC - - - 10 - 43 - 0 - EXC - - - 11 - 43 - 0 - EXC - - - 12 - 43 - 0 - EXC - - - 13 - 43 - 0 - INH - - - 14 - 43 - 0 - EXC - - - 15 - 43 - 0 - EXC - - - 16 - 43 - 0 - EXC - - - 17 - 43 - 1 - EXC - - - 18 - 43 - 0 - EXC - - - 19 - 43 - 0 - EXC - - - 20 - 43 - 0 - EXC - - - 21 - 43 - 0 - EXC - - - 22 - 43 - 0 - EXC - - - 23 - 43 - 0 - INH - - - 24 - 43 - 0 - EXC - - - 25 - 43 - 0 - EXC - - - 26 - 43 - 0 - EXC - - - 27 - 43 - 1 - EXC - - - 28 - 43 - 0 - EXC - - - 29 - 43 - 0 - EXC - - - 30 - 43 - 0 - EXC - - - 31 - 43 - 0 - EXC - - - 32 - 43 - 0 - EXC - - - 33 - 43 - 0 - INH - - - 34 - 43 - 0 - EXC - - - 35 - 43 - 0 - EXC - - - 36 - 43 - 0 - EXC - - - 37 - 43 - 1 - EXC - - - 38 - 43 - 0 - EXC - - - 39 - 43 - 0 - EXC - - - 40 - 43 - 0 - EXC - - - 41 - 43 - 0 - EXC - - - 42 - 43 - 0 - EXC - - - 43 - 43 - 0 - INH - - - 44 - 43 - 0 - EXC - - - 45 - 43 - 0 - EXC - - - 46 - 43 - 0 - EXC - - - 47 - 43 - 1 - EXC - - - 48 - 43 - 0 - EXC - - - 49 - 43 - 0 - EXC - - - 50 - 43 - 0 - EXC - - - 51 - 43 - 0 - EXC - - - 52 - 43 - 0 - EXC - - - 53 - 43 - 0 - INH - - - 54 - 43 - 0 - EXC - - - 55 - 43 - 0 - EXC - - - 56 - 43 - 0 - EXC - - - 57 - 43 - 1 - EXC - - - 58 - 43 - 0 - EXC - - - 59 - 43 - 0 - EXC - - - 60 - 43 - 0 - EXC - - - 61 - 43 - 0 - EXC - - - 62 - 43 - 0 - EXC - - - 63 - 43 - 0 - INH - - - 64 - 43 - 0 - EXC - - - 65 - 43 - 0 - EXC - - - 66 - 43 - 0 - EXC - - - 67 - 43 - 1 - EXC - - - 68 - 43 - 0 - EXC - - - 69 - 43 - 0 - EXC - - - 70 - 43 - 0 - EXC - - - 71 - 43 - 0 - EXC - - - 72 - 43 - 0 - EXC - - - 73 - 43 - 0 - INH - - - 74 - 43 - 0 - EXC - - - 75 - 43 - 0 - EXC - - - 76 - 43 - 0 - EXC - - - 77 - 43 - 1 - EXC - - - 78 - 43 - 0 - EXC - - - 79 - 43 - 0 - EXC - - - 80 - 43 - 0 - EXC - - - 81 - 43 - 0 - EXC - - - 82 - 43 - 0 - EXC - - - 83 - 43 - 0 - INH - - - 84 - 43 - 0 - EXC - - - 85 - 43 - 0 - EXC - - - 86 - 43 - 0 - EXC - - - 87 - 43 - 1 - EXC - - - 88 - 43 - 0 - EXC - - - 89 - 43 - 0 - EXC - - - 90 - 43 - 0 - EXC - - - 91 - 43 - 0 - EXC - - - 92 - 43 - 0 - EXC - - - 93 - 43 - 0 - INH - - - 94 - 43 - 0 - EXC - - - 95 - 43 - 0 - EXC - - - 96 - 43 - 0 - EXC - - - 97 - 43 - 1 - EXC - - - 98 - 43 - 0 - EXC - - - 99 - 43 - 0 - EXC - - - 0 - 44 - 0 - EXC - - - 1 - 44 - 1 - EXC - - - 2 - 44 - 0 - EXC - - - 3 - 44 - 0 - EXC - - - 4 - 44 - 1 - EXC - - - 5 - 44 - 0 - EXC - - - 6 - 44 - 0 - EXC - - - 7 - 44 - 0 - EXC - - - 8 - 44 - 0 - EXC - - - 9 - 44 - 0 - EXC - - - 10 - 44 - 0 - EXC - - - 11 - 44 - 1 - EXC - - - 12 - 44 - 0 - EXC - - - 13 - 44 - 0 - EXC - - - 14 - 44 - 1 - EXC - - - 15 - 44 - 0 - EXC - - - 16 - 44 - 0 - EXC - - - 17 - 44 - 0 - EXC - - - 18 - 44 - 0 - EXC - - - 19 - 44 - 0 - EXC - - - 20 - 44 - 0 - EXC - - - 21 - 44 - 1 - EXC - - - 22 - 44 - 0 - EXC - - - 23 - 44 - 0 - EXC - - - 24 - 44 - 1 - EXC - - - 25 - 44 - 0 - EXC - - - 26 - 44 - 0 - EXC - - - 27 - 44 - 0 - EXC - - - 28 - 44 - 0 - EXC - - - 29 - 44 - 0 - EXC - - - 30 - 44 - 0 - EXC - - - 31 - 44 - 1 - EXC - - - 32 - 44 - 0 - EXC - - - 33 - 44 - 0 - EXC - - - 34 - 44 - 1 - EXC - - - 35 - 44 - 0 - EXC - - - 36 - 44 - 0 - EXC - - - 37 - 44 - 0 - EXC - - - 38 - 44 - 0 - EXC - - - 39 - 44 - 0 - EXC - - - 40 - 44 - 0 - EXC - - - 41 - 44 - 1 - EXC - - - 42 - 44 - 0 - EXC - - - 43 - 44 - 0 - EXC - - - 44 - 44 - 1 - EXC - - - 45 - 44 - 0 - EXC - - - 46 - 44 - 0 - EXC - - - 47 - 44 - 0 - EXC - - - 48 - 44 - 0 - EXC - - - 49 - 44 - 0 - EXC - - - 50 - 44 - 0 - EXC - - - 51 - 44 - 1 - EXC - - - 52 - 44 - 0 - EXC - - - 53 - 44 - 0 - EXC - - - 54 - 44 - 1 - EXC - - - 55 - 44 - 0 - EXC - - - 56 - 44 - 0 - EXC - - - 57 - 44 - 0 - EXC - - - 58 - 44 - 0 - EXC - - - 59 - 44 - 0 - EXC - - - 60 - 44 - 0 - EXC - - - 61 - 44 - 1 - EXC - - - 62 - 44 - 0 - EXC - - - 63 - 44 - 0 - EXC - - - 64 - 44 - 1 - EXC - - - 65 - 44 - 0 - EXC - - - 66 - 44 - 0 - EXC - - - 67 - 44 - 0 - EXC - - - 68 - 44 - 0 - EXC - - - 69 - 44 - 0 - EXC - - - 70 - 44 - 0 - EXC - - - 71 - 44 - 1 - EXC - - - 72 - 44 - 0 - EXC - - - 73 - 44 - 0 - EXC - - - 74 - 44 - 1 - EXC - - - 75 - 44 - 0 - EXC - - - 76 - 44 - 0 - EXC - - - 77 - 44 - 0 - EXC - - - 78 - 44 - 0 - EXC - - - 79 - 44 - 0 - EXC - - - 80 - 44 - 0 - EXC - - - 81 - 44 - 1 - EXC - - - 82 - 44 - 0 - EXC - - - 83 - 44 - 0 - EXC - - - 84 - 44 - 1 - EXC - - - 85 - 44 - 0 - EXC - - - 86 - 44 - 0 - EXC - - - 87 - 44 - 0 - EXC - - - 88 - 44 - 0 - EXC - - - 89 - 44 - 0 - EXC - - - 90 - 44 - 0 - EXC - - - 91 - 44 - 1 - EXC - - - 92 - 44 - 0 - EXC - - - 93 - 44 - 0 - EXC - - - 94 - 44 - 1 - EXC - - - 95 - 44 - 0 - EXC - - - 96 - 44 - 0 - EXC - - - 97 - 44 - 0 - EXC - - - 98 - 44 - 0 - EXC - - - 99 - 44 - 0 - EXC - - - 0 - 45 - 0 - EXC - - - 1 - 45 - 0 - EXC - - - 2 - 45 - 0 - EXC - - - 3 - 45 - 0 - EXC - - - 4 - 45 - 0 - EXC - - - 5 - 45 - 0 - EXC - - - 6 - 45 - 0 - EXC - - - 7 - 45 - 0 - EXC - - - 8 - 45 - 0 - EXC - - - 9 - 45 - 0 - EXC - - - 10 - 45 - 0 - EXC - - - 11 - 45 - 0 - EXC - - - 12 - 45 - 0 - EXC - - - 13 - 45 - 0 - EXC - - - 14 - 45 - 0 - EXC - - - 15 - 45 - 0 - EXC - - - 16 - 45 - 0 - EXC - - - 17 - 45 - 0 - EXC - - - 18 - 45 - 0 - EXC - - - 19 - 45 - 0 - EXC - - - 20 - 45 - 0 - EXC - - - 21 - 45 - 0 - EXC - - - 22 - 45 - 0 - EXC - - - 23 - 45 - 0 - EXC - - - 24 - 45 - 0 - EXC - - - 25 - 45 - 0 - EXC - - - 26 - 45 - 0 - EXC - - - 27 - 45 - 0 - EXC - - - 28 - 45 - 0 - EXC - - - 29 - 45 - 0 - EXC - - - 30 - 45 - 0 - EXC - - - 31 - 45 - 0 - EXC - - - 32 - 45 - 0 - EXC - - - 33 - 45 - 0 - EXC - - - 34 - 45 - 0 - EXC - - - 35 - 45 - 0 - EXC - - - 36 - 45 - 0 - EXC - - - 37 - 45 - 0 - EXC - - - 38 - 45 - 0 - EXC - - - 39 - 45 - 0 - EXC - - - 40 - 45 - 0 - EXC - - - 41 - 45 - 0 - EXC - - - 42 - 45 - 0 - EXC - - - 43 - 45 - 0 - EXC - - - 44 - 45 - 0 - EXC - - - 45 - 45 - 0 - EXC - - - 46 - 45 - 0 - EXC - - - 47 - 45 - 0 - EXC - - - 48 - 45 - 0 - EXC - - - 49 - 45 - 0 - EXC - - - 50 - 45 - 0 - EXC - - - 51 - 45 - 0 - EXC - - - 52 - 45 - 0 - EXC - - - 53 - 45 - 0 - EXC - - - 54 - 45 - 0 - EXC - - - 55 - 45 - 0 - EXC - - - 56 - 45 - 0 - EXC - - - 57 - 45 - 0 - EXC - - - 58 - 45 - 0 - EXC - - - 59 - 45 - 0 - EXC - - - 60 - 45 - 0 - EXC - - - 61 - 45 - 0 - EXC - - - 62 - 45 - 0 - EXC - - - 63 - 45 - 0 - EXC - - - 64 - 45 - 0 - EXC - - - 65 - 45 - 0 - EXC - - - 66 - 45 - 0 - EXC - - - 67 - 45 - 0 - EXC - - - 68 - 45 - 0 - EXC - - - 69 - 45 - 0 - EXC - - - 70 - 45 - 0 - EXC - - - 71 - 45 - 0 - EXC - - - 72 - 45 - 0 - EXC - - - 73 - 45 - 0 - EXC - - - 74 - 45 - 0 - EXC - - - 75 - 45 - 0 - EXC - - - 76 - 45 - 0 - EXC - - - 77 - 45 - 0 - EXC - - - 78 - 45 - 0 - EXC - - - 79 - 45 - 0 - EXC - - - 80 - 45 - 0 - EXC - - - 81 - 45 - 0 - EXC - - - 82 - 45 - 0 - EXC - - - 83 - 45 - 0 - EXC - - - 84 - 45 - 0 - EXC - - - 85 - 45 - 0 - EXC - - - 86 - 45 - 0 - EXC - - - 87 - 45 - 0 - EXC - - - 88 - 45 - 0 - EXC - - - 89 - 45 - 0 - EXC - - - 90 - 45 - 0 - EXC - - - 91 - 45 - 0 - EXC - - - 92 - 45 - 0 - EXC - - - 93 - 45 - 0 - EXC - - - 94 - 45 - 0 - EXC - - - 95 - 45 - 0 - EXC - - - 96 - 45 - 0 - EXC - - - 97 - 45 - 0 - EXC - - - 98 - 45 - 0 - EXC - - - 99 - 45 - 0 - EXC - - - 0 - 46 - 0 - EXC - - - 1 - 46 - 0 - EXC - - - 2 - 46 - 0 - EXC - - - 3 - 46 - 0 - EXC - - - 4 - 46 - 0 - EXC - - - 5 - 46 - 0 - EXC - - - 6 - 46 - 0 - INH - - - 7 - 46 - 1 - EXC - - - 8 - 46 - 0 - EXC - - - 9 - 46 - 0 - EXC - - - 10 - 46 - 0 - EXC - - - 11 - 46 - 0 - EXC - - - 12 - 46 - 0 - EXC - - - 13 - 46 - 0 - EXC - - - 14 - 46 - 0 - EXC - - - 15 - 46 - 0 - EXC - - - 16 - 46 - 0 - INH - - - 17 - 46 - 1 - EXC - - - 18 - 46 - 0 - EXC - - - 19 - 46 - 0 - EXC - - - 20 - 46 - 0 - EXC - - - 21 - 46 - 0 - EXC - - - 22 - 46 - 0 - EXC - - - 23 - 46 - 0 - EXC - - - 24 - 46 - 0 - EXC - - - 25 - 46 - 0 - EXC - - - 26 - 46 - 0 - INH - - - 27 - 46 - 1 - EXC - - - 28 - 46 - 0 - EXC - - - 29 - 46 - 0 - EXC - - - 30 - 46 - 0 - EXC - - - 31 - 46 - 0 - EXC - - - 32 - 46 - 0 - EXC - - - 33 - 46 - 0 - EXC - - - 34 - 46 - 0 - EXC - - - 35 - 46 - 0 - EXC - - - 36 - 46 - 0 - INH - - - 37 - 46 - 1 - EXC - - - 38 - 46 - 0 - EXC - - - 39 - 46 - 0 - EXC - - - 40 - 46 - 0 - EXC - - - 41 - 46 - 0 - EXC - - - 42 - 46 - 0 - EXC - - - 43 - 46 - 0 - EXC - - - 44 - 46 - 0 - EXC - - - 45 - 46 - 0 - EXC - - - 46 - 46 - 0 - INH - - - 47 - 46 - 1 - EXC - - - 48 - 46 - 0 - EXC - - - 49 - 46 - 0 - EXC - - - 50 - 46 - 0 - EXC - - - 51 - 46 - 0 - EXC - - - 52 - 46 - 0 - EXC - - - 53 - 46 - 0 - EXC - - - 54 - 46 - 0 - EXC - - - 55 - 46 - 0 - EXC - - - 56 - 46 - 0 - INH - - - 57 - 46 - 1 - EXC - - - 58 - 46 - 0 - EXC - - - 59 - 46 - 0 - EXC - - - 60 - 46 - 0 - EXC - - - 61 - 46 - 0 - EXC - - - 62 - 46 - 0 - EXC - - - 63 - 46 - 0 - EXC - - - 64 - 46 - 0 - EXC - - - 65 - 46 - 0 - EXC - - - 66 - 46 - 0 - INH - - - 67 - 46 - 1 - EXC - - - 68 - 46 - 0 - EXC - - - 69 - 46 - 0 - EXC - - - 70 - 46 - 0 - EXC - - - 71 - 46 - 0 - EXC - - - 72 - 46 - 0 - EXC - - - 73 - 46 - 0 - EXC - - - 74 - 46 - 0 - EXC - - - 75 - 46 - 0 - EXC - - - 76 - 46 - 0 - INH - - - 77 - 46 - 1 - EXC - - - 78 - 46 - 0 - EXC - - - 79 - 46 - 0 - EXC - - - 80 - 46 - 0 - EXC - - - 81 - 46 - 0 - EXC - - - 82 - 46 - 0 - EXC - - - 83 - 46 - 0 - EXC - - - 84 - 46 - 0 - EXC - - - 85 - 46 - 0 - EXC - - - 86 - 46 - 0 - INH - - - 87 - 46 - 1 - EXC - - - 88 - 46 - 0 - EXC - - - 89 - 46 - 0 - EXC - - - 90 - 46 - 0 - EXC - - - 91 - 46 - 0 - EXC - - - 92 - 46 - 0 - EXC - - - 93 - 46 - 0 - EXC - - - 94 - 46 - 0 - EXC - - - 95 - 46 - 0 - EXC - - - 96 - 46 - 0 - INH - - - 97 - 46 - 1 - EXC - - - 98 - 46 - 0 - EXC - - - 99 - 46 - 0 - EXC - - - 0 - 47 - 0 - EXC - - - 1 - 47 - 1 - EXC - - - 2 - 47 - 0 - EXC - - - 3 - 47 - 0 - EXC - - - 4 - 47 - 1 - EXC - - - 5 - 47 - 0 - EXC - - - 6 - 47 - 0 - EXC - - - 7 - 47 - 0 - EXC - - - 8 - 47 - 0 - EXC - - - 9 - 47 - 0 - EXC - - - 10 - 47 - 0 - EXC - - - 11 - 47 - 1 - EXC - - - 12 - 47 - 0 - EXC - - - 13 - 47 - 0 - EXC - - - 14 - 47 - 1 - EXC - - - 15 - 47 - 0 - EXC - - - 16 - 47 - 0 - EXC - - - 17 - 47 - 0 - EXC - - - 18 - 47 - 0 - EXC - - - 19 - 47 - 0 - EXC - - - 20 - 47 - 0 - EXC - - - 21 - 47 - 1 - EXC - - - 22 - 47 - 0 - EXC - - - 23 - 47 - 0 - EXC - - - 24 - 47 - 1 - EXC - - - 25 - 47 - 0 - EXC - - - 26 - 47 - 0 - EXC - - - 27 - 47 - 0 - EXC - - - 28 - 47 - 0 - EXC - - - 29 - 47 - 0 - EXC - - - 30 - 47 - 0 - EXC - - - 31 - 47 - 1 - EXC - - - 32 - 47 - 0 - EXC - - - 33 - 47 - 0 - EXC - - - 34 - 47 - 1 - EXC - - - 35 - 47 - 0 - EXC - - - 36 - 47 - 0 - EXC - - - 37 - 47 - 0 - EXC - - - 38 - 47 - 0 - EXC - - - 39 - 47 - 0 - EXC - - - 40 - 47 - 0 - EXC - - - 41 - 47 - 1 - EXC - - - 42 - 47 - 0 - EXC - - - 43 - 47 - 0 - EXC - - - 44 - 47 - 1 - EXC - - - 45 - 47 - 0 - EXC - - - 46 - 47 - 0 - EXC - - - 47 - 47 - 0 - EXC - - - 48 - 47 - 0 - EXC - - - 49 - 47 - 0 - EXC - - - 50 - 47 - 0 - EXC - - - 51 - 47 - 1 - EXC - - - 52 - 47 - 0 - EXC - - - 53 - 47 - 0 - EXC - - - 54 - 47 - 1 - EXC - - - 55 - 47 - 0 - EXC - - - 56 - 47 - 0 - EXC - - - 57 - 47 - 0 - EXC - - - 58 - 47 - 0 - EXC - - - 59 - 47 - 0 - EXC - - - 60 - 47 - 0 - EXC - - - 61 - 47 - 1 - EXC - - - 62 - 47 - 0 - EXC - - - 63 - 47 - 0 - EXC - - - 64 - 47 - 1 - EXC - - - 65 - 47 - 0 - EXC - - - 66 - 47 - 0 - EXC - - - 67 - 47 - 0 - EXC - - - 68 - 47 - 0 - EXC - - - 69 - 47 - 0 - EXC - - - 70 - 47 - 0 - EXC - - - 71 - 47 - 1 - EXC - - - 72 - 47 - 0 - EXC - - - 73 - 47 - 0 - EXC - - - 74 - 47 - 1 - EXC - - - 75 - 47 - 0 - EXC - - - 76 - 47 - 0 - EXC - - - 77 - 47 - 0 - EXC - - - 78 - 47 - 0 - EXC - - - 79 - 47 - 0 - EXC - - - 80 - 47 - 0 - EXC - - - 81 - 47 - 1 - EXC - - - 82 - 47 - 0 - EXC - - - 83 - 47 - 0 - EXC - - - 84 - 47 - 1 - EXC - - - 85 - 47 - 0 - EXC - - - 86 - 47 - 0 - EXC - - - 87 - 47 - 0 - EXC - - - 88 - 47 - 0 - EXC - - - 89 - 47 - 0 - EXC - - - 90 - 47 - 0 - EXC - - - 91 - 47 - 1 - EXC - - - 92 - 47 - 0 - EXC - - - 93 - 47 - 0 - EXC - - - 94 - 47 - 1 - EXC - - - 95 - 47 - 0 - EXC - - - 96 - 47 - 0 - EXC - - - 97 - 47 - 0 - EXC - - - 98 - 47 - 0 - EXC - - - 99 - 47 - 0 - EXC - - - 0 - 48 - 0 - EXC - - - 1 - 48 - 0 - EXC - - - 2 - 48 - 0 - EXC - - - 3 - 48 - 0 - EXC - - - 4 - 48 - 0 - EXC - - - 5 - 48 - 0 - EXC - - - 6 - 48 - 0 - EXC - - - 7 - 48 - 0 - EXC - - - 8 - 48 - 0 - EXC - - - 9 - 48 - 0 - EXC - - - 10 - 48 - 0 - EXC - - - 11 - 48 - 0 - EXC - - - 12 - 48 - 0 - EXC - - - 13 - 48 - 0 - EXC - - - 14 - 48 - 0 - EXC - - - 15 - 48 - 0 - EXC - - - 16 - 48 - 0 - EXC - - - 17 - 48 - 0 - EXC - - - 18 - 48 - 0 - EXC - - - 19 - 48 - 0 - EXC - - - 20 - 48 - 0 - EXC - - - 21 - 48 - 0 - EXC - - - 22 - 48 - 0 - EXC - - - 23 - 48 - 0 - EXC - - - 24 - 48 - 0 - EXC - - - 25 - 48 - 0 - EXC - - - 26 - 48 - 0 - EXC - - - 27 - 48 - 0 - EXC - - - 28 - 48 - 0 - EXC - - - 29 - 48 - 0 - EXC - - - 30 - 48 - 0 - EXC - - - 31 - 48 - 0 - EXC - - - 32 - 48 - 0 - EXC - - - 33 - 48 - 0 - EXC - - - 34 - 48 - 0 - EXC - - - 35 - 48 - 0 - EXC - - - 36 - 48 - 0 - EXC - - - 37 - 48 - 0 - EXC - - - 38 - 48 - 0 - EXC - - - 39 - 48 - 0 - EXC - - - 40 - 48 - 0 - EXC - - - 41 - 48 - 0 - EXC - - - 42 - 48 - 0 - EXC - - - 43 - 48 - 0 - EXC - - - 44 - 48 - 0 - EXC - - - 45 - 48 - 0 - EXC - - - 46 - 48 - 0 - EXC - - - 47 - 48 - 0 - EXC - - - 48 - 48 - 0 - EXC - - - 49 - 48 - 0 - EXC - - - 50 - 48 - 0 - EXC - - - 51 - 48 - 0 - EXC - - - 52 - 48 - 0 - EXC - - - 53 - 48 - 0 - EXC - - - 54 - 48 - 0 - EXC - - - 55 - 48 - 0 - EXC - - - 56 - 48 - 0 - EXC - - - 57 - 48 - 0 - EXC - - - 58 - 48 - 0 - EXC - - - 59 - 48 - 0 - EXC - - - 60 - 48 - 0 - EXC - - - 61 - 48 - 0 - EXC - - - 62 - 48 - 0 - EXC - - - 63 - 48 - 0 - EXC - - - 64 - 48 - 0 - EXC - - - 65 - 48 - 0 - EXC - - - 66 - 48 - 0 - EXC - - - 67 - 48 - 0 - EXC - - - 68 - 48 - 0 - EXC - - - 69 - 48 - 0 - EXC - - - 70 - 48 - 0 - EXC - - - 71 - 48 - 0 - EXC - - - 72 - 48 - 0 - EXC - - - 73 - 48 - 0 - EXC - - - 74 - 48 - 0 - EXC - - - 75 - 48 - 0 - EXC - - - 76 - 48 - 0 - EXC - - - 77 - 48 - 0 - EXC - - - 78 - 48 - 0 - EXC - - - 79 - 48 - 0 - EXC - - - 80 - 48 - 0 - EXC - - - 81 - 48 - 0 - EXC - - - 82 - 48 - 0 - EXC - - - 83 - 48 - 0 - EXC - - - 84 - 48 - 0 - EXC - - - 85 - 48 - 0 - EXC - - - 86 - 48 - 0 - EXC - - - 87 - 48 - 0 - EXC - - - 88 - 48 - 0 - EXC - - - 89 - 48 - 0 - EXC - - - 90 - 48 - 0 - EXC - - - 91 - 48 - 0 - EXC - - - 92 - 48 - 0 - EXC - - - 93 - 48 - 0 - EXC - - - 94 - 48 - 0 - EXC - - - 95 - 48 - 0 - EXC - - - 96 - 48 - 0 - EXC - - - 97 - 48 - 0 - EXC - - - 98 - 48 - 0 - EXC - - - 99 - 48 - 0 - EXC - - - 0 - 49 - 0 - EXC - - - 1 - 49 - 0 - EXC - - - 2 - 49 - 0 - EXC - - - 3 - 49 - 0 - EXC - - - 4 - 49 - 0 - EXC - - - 5 - 49 - 0 - EXC - - - 6 - 49 - 0 - EXC - - - 7 - 49 - 1 - EXC - - - 8 - 49 - 0 - EXC - - - 9 - 49 - 0 - EXC - - - 10 - 49 - 0 - EXC - - - 11 - 49 - 0 - EXC - - - 12 - 49 - 0 - EXC - - - 13 - 49 - 0 - EXC - - - 14 - 49 - 0 - EXC - - - 15 - 49 - 0 - EXC - - - 16 - 49 - 0 - EXC - - - 17 - 49 - 1 - EXC - - - 18 - 49 - 0 - EXC - - - 19 - 49 - 0 - EXC - - - 20 - 49 - 0 - EXC - - - 21 - 49 - 0 - EXC - - - 22 - 49 - 0 - EXC - - - 23 - 49 - 0 - EXC - - - 24 - 49 - 0 - EXC - - - 25 - 49 - 0 - EXC - - - 26 - 49 - 0 - EXC - - - 27 - 49 - 1 - EXC - - - 28 - 49 - 0 - EXC - - - 29 - 49 - 0 - EXC - - - 30 - 49 - 0 - EXC - - - 31 - 49 - 0 - EXC - - - 32 - 49 - 0 - EXC - - - 33 - 49 - 0 - EXC - - - 34 - 49 - 0 - EXC - - - 35 - 49 - 0 - EXC - - - 36 - 49 - 0 - EXC - - - 37 - 49 - 1 - EXC - - - 38 - 49 - 0 - EXC - - - 39 - 49 - 0 - EXC - - - 40 - 49 - 0 - EXC - - - 41 - 49 - 0 - EXC - - - 42 - 49 - 0 - EXC - - - 43 - 49 - 0 - EXC - - - 44 - 49 - 0 - EXC - - - 45 - 49 - 0 - EXC - - - 46 - 49 - 0 - EXC - - - 47 - 49 - 1 - EXC - - - 48 - 49 - 0 - EXC - - - 49 - 49 - 0 - EXC - - - 50 - 49 - 0 - EXC - - - 51 - 49 - 0 - EXC - - - 52 - 49 - 0 - EXC - - - 53 - 49 - 0 - EXC - - - 54 - 49 - 0 - EXC - - - 55 - 49 - 0 - EXC - - - 56 - 49 - 0 - EXC - - - 57 - 49 - 1 - EXC - - - 58 - 49 - 0 - EXC - - - 59 - 49 - 0 - EXC - - - 60 - 49 - 0 - EXC - - - 61 - 49 - 0 - EXC - - - 62 - 49 - 0 - EXC - - - 63 - 49 - 0 - EXC - - - 64 - 49 - 0 - EXC - - - 65 - 49 - 0 - EXC - - - 66 - 49 - 0 - EXC - - - 67 - 49 - 1 - EXC - - - 68 - 49 - 0 - EXC - - - 69 - 49 - 0 - EXC - - - 70 - 49 - 0 - EXC - - - 71 - 49 - 0 - EXC - - - 72 - 49 - 0 - EXC - - - 73 - 49 - 0 - EXC - - - 74 - 49 - 0 - EXC - - - 75 - 49 - 0 - EXC - - - 76 - 49 - 0 - EXC - - - 77 - 49 - 1 - EXC - - - 78 - 49 - 0 - EXC - - - 79 - 49 - 0 - EXC - - - 80 - 49 - 0 - EXC - - - 81 - 49 - 0 - EXC - - - 82 - 49 - 0 - EXC - - - 83 - 49 - 0 - EXC - - - 84 - 49 - 0 - EXC - - - 85 - 49 - 0 - EXC - - - 86 - 49 - 0 - EXC - - - 87 - 49 - 1 - EXC - - - 88 - 49 - 0 - EXC - - - 89 - 49 - 0 - EXC - - - 90 - 49 - 0 - EXC - - - 91 - 49 - 0 - EXC - - - 92 - 49 - 0 - EXC - - - 93 - 49 - 0 - EXC - - - 94 - 49 - 0 - EXC - - - 95 - 49 - 0 - EXC - - - 96 - 49 - 0 - EXC - - - 97 - 49 - 1 - EXC - - - 98 - 49 - 0 - EXC - - - 99 - 49 - 0 - EXC - - - 0 - 50 - 0 - EXC - - - 1 - 50 - 0 - EXC - - - 2 - 50 - 0 - EXC - - - 3 - 50 - 0 - EXC - - - 4 - 50 - 0 - EXC - - - 5 - 50 - 0 - EXC - - - 6 - 50 - 0 - EXC - - - 7 - 50 - 1 - EXC - - - 8 - 50 - 0 - EXC - - - 9 - 50 - 0 - EXC - - - 10 - 50 - 0 - EXC - - - 11 - 50 - 0 - EXC - - - 12 - 50 - 0 - EXC - - - 13 - 50 - 0 - EXC - - - 14 - 50 - 0 - EXC - - - 15 - 50 - 0 - EXC - - - 16 - 50 - 0 - EXC - - - 17 - 50 - 1 - EXC - - - 18 - 50 - 0 - EXC - - - 19 - 50 - 0 - EXC - - - 20 - 50 - 0 - EXC - - - 21 - 50 - 0 - EXC - - - 22 - 50 - 0 - EXC - - - 23 - 50 - 0 - EXC - - - 24 - 50 - 0 - EXC - - - 25 - 50 - 0 - EXC - - - 26 - 50 - 0 - EXC - - - 27 - 50 - 1 - EXC - - - 28 - 50 - 0 - EXC - - - 29 - 50 - 0 - EXC - - - 30 - 50 - 0 - EXC - - - 31 - 50 - 0 - EXC - - - 32 - 50 - 0 - EXC - - - 33 - 50 - 0 - EXC - - - 34 - 50 - 0 - EXC - - - 35 - 50 - 0 - EXC - - - 36 - 50 - 0 - EXC - - - 37 - 50 - 1 - EXC - - - 38 - 50 - 0 - EXC - - - 39 - 50 - 0 - EXC - - - 40 - 50 - 0 - EXC - - - 41 - 50 - 0 - EXC - - - 42 - 50 - 0 - EXC - - - 43 - 50 - 0 - EXC - - - 44 - 50 - 0 - EXC - - - 45 - 50 - 0 - EXC - - - 46 - 50 - 0 - EXC - - - 47 - 50 - 1 - EXC - - - 48 - 50 - 0 - EXC - - - 49 - 50 - 0 - EXC - - - 50 - 50 - 0 - EXC - - - 51 - 50 - 0 - EXC - - - 52 - 50 - 0 - EXC - - - 53 - 50 - 0 - EXC - - - 54 - 50 - 0 - EXC - - - 55 - 50 - 0 - EXC - - - 56 - 50 - 0 - EXC - - - 57 - 50 - 1 - EXC - - - 58 - 50 - 0 - EXC - - - 59 - 50 - 0 - EXC - - - 60 - 50 - 0 - EXC - - - 61 - 50 - 0 - EXC - - - 62 - 50 - 0 - EXC - - - 63 - 50 - 0 - EXC - - - 64 - 50 - 0 - EXC - - - 65 - 50 - 0 - EXC - - - 66 - 50 - 0 - EXC - - - 67 - 50 - 1 - EXC - - - 68 - 50 - 0 - EXC - - - 69 - 50 - 0 - EXC - - - 70 - 50 - 0 - EXC - - - 71 - 50 - 0 - EXC - - - 72 - 50 - 0 - EXC - - - 73 - 50 - 0 - EXC - - - 74 - 50 - 0 - EXC - - - 75 - 50 - 0 - EXC - - - 76 - 50 - 0 - EXC - - - 77 - 50 - 1 - EXC - - - 78 - 50 - 0 - EXC - - - 79 - 50 - 0 - EXC - - - 80 - 50 - 0 - EXC - - - 81 - 50 - 0 - EXC - - - 82 - 50 - 0 - EXC - - - 83 - 50 - 0 - EXC - - - 84 - 50 - 0 - EXC - - - 85 - 50 - 0 - EXC - - - 86 - 50 - 0 - EXC - - - 87 - 50 - 1 - EXC - - - 88 - 50 - 0 - EXC - - - 89 - 50 - 0 - EXC - - - 90 - 50 - 0 - EXC - - - 91 - 50 - 0 - EXC - - - 92 - 50 - 0 - EXC - - - 93 - 50 - 0 - EXC - - - 94 - 50 - 0 - EXC - - - 95 - 50 - 0 - EXC - - - 96 - 50 - 0 - EXC - - - 97 - 50 - 1 - EXC - - - 98 - 50 - 0 - EXC - - - 99 - 50 - 0 - EXC - - - 0 - 51 - 0 - EXC - - - 1 - 51 - 1 - EXC - - - 2 - 51 - 0 - EXC - - - 3 - 51 - 0 - EXC - - - 4 - 51 - 1 - EXC - - - 5 - 51 - 0 - EXC - - - 6 - 51 - 0 - EXC - - - 7 - 51 - 0 - EXC - - - 8 - 51 - 0 - EXC - - - 9 - 51 - 0 - EXC - - - 10 - 51 - 0 - EXC - - - 11 - 51 - 1 - EXC - - - 12 - 51 - 0 - EXC - - - 13 - 51 - 0 - EXC - - - 14 - 51 - 1 - EXC - - - 15 - 51 - 0 - EXC - - - 16 - 51 - 0 - EXC - - - 17 - 51 - 0 - EXC - - - 18 - 51 - 0 - EXC - - - 19 - 51 - 0 - EXC - - - 20 - 51 - 0 - EXC - - - 21 - 51 - 1 - EXC - - - 22 - 51 - 0 - EXC - - - 23 - 51 - 0 - EXC - - - 24 - 51 - 1 - EXC - - - 25 - 51 - 0 - EXC - - - 26 - 51 - 0 - EXC - - - 27 - 51 - 0 - EXC - - - 28 - 51 - 0 - EXC - - - 29 - 51 - 0 - EXC - - - 30 - 51 - 0 - EXC - - - 31 - 51 - 1 - EXC - - - 32 - 51 - 0 - EXC - - - 33 - 51 - 0 - EXC - - - 34 - 51 - 1 - EXC - - - 35 - 51 - 0 - EXC - - - 36 - 51 - 0 - EXC - - - 37 - 51 - 0 - EXC - - - 38 - 51 - 0 - EXC - - - 39 - 51 - 0 - EXC - - - 40 - 51 - 0 - EXC - - - 41 - 51 - 1 - EXC - - - 42 - 51 - 0 - EXC - - - 43 - 51 - 0 - EXC - - - 44 - 51 - 1 - EXC - - - 45 - 51 - 0 - EXC - - - 46 - 51 - 0 - EXC - - - 47 - 51 - 0 - EXC - - - 48 - 51 - 0 - EXC - - - 49 - 51 - 0 - EXC - - - 50 - 51 - 0 - EXC - - - 51 - 51 - 1 - EXC - - - 52 - 51 - 0 - EXC - - - 53 - 51 - 0 - EXC - - - 54 - 51 - 1 - EXC - - - 55 - 51 - 0 - EXC - - - 56 - 51 - 0 - EXC - - - 57 - 51 - 0 - EXC - - - 58 - 51 - 0 - EXC - - - 59 - 51 - 0 - EXC - - - 60 - 51 - 0 - EXC - - - 61 - 51 - 1 - EXC - - - 62 - 51 - 0 - EXC - - - 63 - 51 - 0 - EXC - - - 64 - 51 - 1 - EXC - - - 65 - 51 - 0 - EXC - - - 66 - 51 - 0 - EXC - - - 67 - 51 - 0 - EXC - - - 68 - 51 - 0 - EXC - - - 69 - 51 - 0 - EXC - - - 70 - 51 - 0 - EXC - - - 71 - 51 - 1 - EXC - - - 72 - 51 - 0 - EXC - - - 73 - 51 - 0 - EXC - - - 74 - 51 - 1 - EXC - - - 75 - 51 - 0 - EXC - - - 76 - 51 - 0 - EXC - - - 77 - 51 - 0 - EXC - - - 78 - 51 - 0 - EXC - - - 79 - 51 - 0 - EXC - - - 80 - 51 - 0 - EXC - - - 81 - 51 - 1 - EXC - - - 82 - 51 - 0 - EXC - - - 83 - 51 - 0 - EXC - - - 84 - 51 - 1 - EXC - - - 85 - 51 - 0 - EXC - - - 86 - 51 - 0 - EXC - - - 87 - 51 - 0 - EXC - - - 88 - 51 - 0 - EXC - - - 89 - 51 - 0 - EXC - - - 90 - 51 - 0 - EXC - - - 91 - 51 - 1 - EXC - - - 92 - 51 - 0 - EXC - - - 93 - 51 - 0 - EXC - - - 94 - 51 - 1 - EXC - - - 95 - 51 - 0 - EXC - - - 96 - 51 - 0 - EXC - - - 97 - 51 - 0 - EXC - - - 98 - 51 - 0 - EXC - - - 99 - 51 - 0 - EXC - - - 0 - 52 - 0 - EXC - - - 1 - 52 - 0 - EXC - - - 2 - 52 - 0 - EXC - - - 3 - 52 - 0 - EXC - - - 4 - 52 - 0 - EXC - - - 5 - 52 - 0 - EXC - - - 6 - 52 - 0 - EXC - - - 7 - 52 - 0 - EXC - - - 8 - 52 - 0 - EXC - - - 9 - 52 - 0 - EXC - - - 10 - 52 - 0 - EXC - - - 11 - 52 - 0 - EXC - - - 12 - 52 - 0 - EXC - - - 13 - 52 - 0 - EXC - - - 14 - 52 - 0 - EXC - - - 15 - 52 - 0 - EXC - - - 16 - 52 - 0 - EXC - - - 17 - 52 - 0 - EXC - - - 18 - 52 - 0 - EXC - - - 19 - 52 - 0 - EXC - - - 20 - 52 - 0 - EXC - - - 21 - 52 - 0 - EXC - - - 22 - 52 - 0 - EXC - - - 23 - 52 - 0 - EXC - - - 24 - 52 - 0 - EXC - - - 25 - 52 - 0 - EXC - - - 26 - 52 - 0 - EXC - - - 27 - 52 - 0 - EXC - - - 28 - 52 - 0 - EXC - - - 29 - 52 - 0 - EXC - - - 30 - 52 - 0 - EXC - - - 31 - 52 - 0 - EXC - - - 32 - 52 - 0 - EXC - - - 33 - 52 - 0 - EXC - - - 34 - 52 - 0 - EXC - - - 35 - 52 - 0 - EXC - - - 36 - 52 - 0 - EXC - - - 37 - 52 - 0 - EXC - - - 38 - 52 - 0 - EXC - - - 39 - 52 - 0 - EXC - - - 40 - 52 - 0 - EXC - - - 41 - 52 - 0 - EXC - - - 42 - 52 - 0 - EXC - - - 43 - 52 - 0 - EXC - - - 44 - 52 - 0 - EXC - - - 45 - 52 - 0 - EXC - - - 46 - 52 - 0 - EXC - - - 47 - 52 - 0 - EXC - - - 48 - 52 - 0 - EXC - - - 49 - 52 - 0 - EXC - - - 50 - 52 - 0 - EXC - - - 51 - 52 - 0 - EXC - - - 52 - 52 - 0 - EXC - - - 53 - 52 - 0 - EXC - - - 54 - 52 - 0 - EXC - - - 55 - 52 - 0 - EXC - - - 56 - 52 - 0 - EXC - - - 57 - 52 - 0 - EXC - - - 58 - 52 - 0 - EXC - - - 59 - 52 - 0 - EXC - - - 60 - 52 - 0 - EXC - - - 61 - 52 - 0 - EXC - - - 62 - 52 - 0 - EXC - - - 63 - 52 - 0 - EXC - - - 64 - 52 - 0 - EXC - - - 65 - 52 - 0 - EXC - - - 66 - 52 - 0 - EXC - - - 67 - 52 - 0 - EXC - - - 68 - 52 - 0 - EXC - - - 69 - 52 - 0 - EXC - - - 70 - 52 - 0 - EXC - - - 71 - 52 - 0 - EXC - - - 72 - 52 - 0 - EXC - - - 73 - 52 - 0 - EXC - - - 74 - 52 - 0 - EXC - - - 75 - 52 - 0 - EXC - - - 76 - 52 - 0 - EXC - - - 77 - 52 - 0 - EXC - - - 78 - 52 - 0 - EXC - - - 79 - 52 - 0 - EXC - - - 80 - 52 - 0 - EXC - - - 81 - 52 - 0 - EXC - - - 82 - 52 - 0 - EXC - - - 83 - 52 - 0 - EXC - - - 84 - 52 - 0 - EXC - - - 85 - 52 - 0 - EXC - - - 86 - 52 - 0 - EXC - - - 87 - 52 - 0 - EXC - - - 88 - 52 - 0 - EXC - - - 89 - 52 - 0 - EXC - - - 90 - 52 - 0 - EXC - - - 91 - 52 - 0 - EXC - - - 92 - 52 - 0 - EXC - - - 93 - 52 - 0 - EXC - - - 94 - 52 - 0 - EXC - - - 95 - 52 - 0 - EXC - - - 96 - 52 - 0 - EXC - - - 97 - 52 - 0 - EXC - - - 98 - 52 - 0 - EXC - - - 99 - 52 - 0 - EXC - - - 0 - 53 - 0 - EXC - - - 1 - 53 - 0 - EXC - - - 2 - 53 - 0 - EXC - - - 3 - 53 - 0 - INH - - - 4 - 53 - 0 - EXC - - - 5 - 53 - 0 - EXC - - - 6 - 53 - 0 - EXC - - - 7 - 53 - 1 - EXC - - - 8 - 53 - 0 - EXC - - - 9 - 53 - 0 - EXC - - - 10 - 53 - 0 - EXC - - - 11 - 53 - 0 - EXC - - - 12 - 53 - 0 - EXC - - - 13 - 53 - 0 - INH - - - 14 - 53 - 0 - EXC - - - 15 - 53 - 0 - EXC - - - 16 - 53 - 0 - EXC - - - 17 - 53 - 1 - EXC - - - 18 - 53 - 0 - EXC - - - 19 - 53 - 0 - EXC - - - 20 - 53 - 0 - EXC - - - 21 - 53 - 0 - EXC - - - 22 - 53 - 0 - EXC - - - 23 - 53 - 0 - INH - - - 24 - 53 - 0 - EXC - - - 25 - 53 - 0 - EXC - - - 26 - 53 - 0 - EXC - - - 27 - 53 - 1 - EXC - - - 28 - 53 - 0 - EXC - - - 29 - 53 - 0 - EXC - - - 30 - 53 - 0 - EXC - - - 31 - 53 - 0 - EXC - - - 32 - 53 - 0 - EXC - - - 33 - 53 - 0 - INH - - - 34 - 53 - 0 - EXC - - - 35 - 53 - 0 - EXC - - - 36 - 53 - 0 - EXC - - - 37 - 53 - 1 - EXC - - - 38 - 53 - 0 - EXC - - - 39 - 53 - 0 - EXC - - - 40 - 53 - 0 - EXC - - - 41 - 53 - 0 - EXC - - - 42 - 53 - 0 - EXC - - - 43 - 53 - 0 - INH - - - 44 - 53 - 0 - EXC - - - 45 - 53 - 0 - EXC - - - 46 - 53 - 0 - EXC - - - 47 - 53 - 1 - EXC - - - 48 - 53 - 0 - EXC - - - 49 - 53 - 0 - EXC - - - 50 - 53 - 0 - EXC - - - 51 - 53 - 0 - EXC - - - 52 - 53 - 0 - EXC - - - 53 - 53 - 0 - INH - - - 54 - 53 - 0 - EXC - - - 55 - 53 - 0 - EXC - - - 56 - 53 - 0 - EXC - - - 57 - 53 - 1 - EXC - - - 58 - 53 - 0 - EXC - - - 59 - 53 - 0 - EXC - - - 60 - 53 - 0 - EXC - - - 61 - 53 - 0 - EXC - - - 62 - 53 - 0 - EXC - - - 63 - 53 - 0 - INH - - - 64 - 53 - 0 - EXC - - - 65 - 53 - 0 - EXC - - - 66 - 53 - 0 - EXC - - - 67 - 53 - 1 - EXC - - - 68 - 53 - 0 - EXC - - - 69 - 53 - 0 - EXC - - - 70 - 53 - 0 - EXC - - - 71 - 53 - 0 - EXC - - - 72 - 53 - 0 - EXC - - - 73 - 53 - 0 - INH - - - 74 - 53 - 0 - EXC - - - 75 - 53 - 0 - EXC - - - 76 - 53 - 0 - EXC - - - 77 - 53 - 1 - EXC - - - 78 - 53 - 0 - EXC - - - 79 - 53 - 0 - EXC - - - 80 - 53 - 0 - EXC - - - 81 - 53 - 0 - EXC - - - 82 - 53 - 0 - EXC - - - 83 - 53 - 0 - INH - - - 84 - 53 - 0 - EXC - - - 85 - 53 - 0 - EXC - - - 86 - 53 - 0 - EXC - - - 87 - 53 - 1 - EXC - - - 88 - 53 - 0 - EXC - - - 89 - 53 - 0 - EXC - - - 90 - 53 - 0 - EXC - - - 91 - 53 - 0 - EXC - - - 92 - 53 - 0 - EXC - - - 93 - 53 - 0 - INH - - - 94 - 53 - 0 - EXC - - - 95 - 53 - 0 - EXC - - - 96 - 53 - 0 - EXC - - - 97 - 53 - 1 - EXC - - - 98 - 53 - 0 - EXC - - - 99 - 53 - 0 - EXC - - - 0 - 54 - 0 - EXC - - - 1 - 54 - 1 - EXC - - - 2 - 54 - 0 - EXC - - - 3 - 54 - 0 - EXC - - - 4 - 54 - 1 - EXC - - - 5 - 54 - 0 - EXC - - - 6 - 54 - 0 - EXC - - - 7 - 54 - 0 - EXC - - - 8 - 54 - 0 - EXC - - - 9 - 54 - 0 - EXC - - - 10 - 54 - 0 - EXC - - - 11 - 54 - 1 - EXC - - - 12 - 54 - 0 - EXC - - - 13 - 54 - 0 - EXC - - - 14 - 54 - 1 - EXC - - - 15 - 54 - 0 - EXC - - - 16 - 54 - 0 - EXC - - - 17 - 54 - 0 - EXC - - - 18 - 54 - 0 - EXC - - - 19 - 54 - 0 - EXC - - - 20 - 54 - 0 - EXC - - - 21 - 54 - 1 - EXC - - - 22 - 54 - 0 - EXC - - - 23 - 54 - 0 - EXC - - - 24 - 54 - 1 - EXC - - - 25 - 54 - 0 - EXC - - - 26 - 54 - 0 - EXC - - - 27 - 54 - 0 - EXC - - - 28 - 54 - 0 - EXC - - - 29 - 54 - 0 - EXC - - - 30 - 54 - 0 - EXC - - - 31 - 54 - 1 - EXC - - - 32 - 54 - 0 - EXC - - - 33 - 54 - 0 - EXC - - - 34 - 54 - 1 - EXC - - - 35 - 54 - 0 - EXC - - - 36 - 54 - 0 - EXC - - - 37 - 54 - 0 - EXC - - - 38 - 54 - 0 - EXC - - - 39 - 54 - 0 - EXC - - - 40 - 54 - 0 - EXC - - - 41 - 54 - 1 - EXC - - - 42 - 54 - 0 - EXC - - - 43 - 54 - 0 - EXC - - - 44 - 54 - 1 - EXC - - - 45 - 54 - 0 - EXC - - - 46 - 54 - 0 - EXC - - - 47 - 54 - 0 - EXC - - - 48 - 54 - 0 - EXC - - - 49 - 54 - 0 - EXC - - - 50 - 54 - 0 - EXC - - - 51 - 54 - 1 - EXC - - - 52 - 54 - 0 - EXC - - - 53 - 54 - 0 - EXC - - - 54 - 54 - 1 - EXC - - - 55 - 54 - 0 - EXC - - - 56 - 54 - 0 - EXC - - - 57 - 54 - 0 - EXC - - - 58 - 54 - 0 - EXC - - - 59 - 54 - 0 - EXC - - - 60 - 54 - 0 - EXC - - - 61 - 54 - 1 - EXC - - - 62 - 54 - 0 - EXC - - - 63 - 54 - 0 - EXC - - - 64 - 54 - 1 - EXC - - - 65 - 54 - 0 - EXC - - - 66 - 54 - 0 - EXC - - - 67 - 54 - 0 - EXC - - - 68 - 54 - 0 - EXC - - - 69 - 54 - 0 - EXC - - - 70 - 54 - 0 - EXC - - - 71 - 54 - 1 - EXC - - - 72 - 54 - 0 - EXC - - - 73 - 54 - 0 - EXC - - - 74 - 54 - 1 - EXC - - - 75 - 54 - 0 - EXC - - - 76 - 54 - 0 - EXC - - - 77 - 54 - 0 - EXC - - - 78 - 54 - 0 - EXC - - - 79 - 54 - 0 - EXC - - - 80 - 54 - 0 - EXC - - - 81 - 54 - 1 - EXC - - - 82 - 54 - 0 - EXC - - - 83 - 54 - 0 - EXC - - - 84 - 54 - 1 - EXC - - - 85 - 54 - 0 - EXC - - - 86 - 54 - 0 - EXC - - - 87 - 54 - 0 - EXC - - - 88 - 54 - 0 - EXC - - - 89 - 54 - 0 - EXC - - - 90 - 54 - 0 - EXC - - - 91 - 54 - 1 - EXC - - - 92 - 54 - 0 - EXC - - - 93 - 54 - 0 - EXC - - - 94 - 54 - 1 - EXC - - - 95 - 54 - 0 - EXC - - - 96 - 54 - 0 - EXC - - - 97 - 54 - 0 - EXC - - - 98 - 54 - 0 - EXC - - - 99 - 54 - 0 - EXC - - - 0 - 55 - 0 - EXC - - - 1 - 55 - 0 - EXC - - - 2 - 55 - 0 - EXC - - - 3 - 55 - 0 - EXC - - - 4 - 55 - 0 - EXC - - - 5 - 55 - 0 - EXC - - - 6 - 55 - 0 - EXC - - - 7 - 55 - 0 - EXC - - - 8 - 55 - 0 - EXC - - - 9 - 55 - 0 - EXC - - - 10 - 55 - 0 - EXC - - - 11 - 55 - 0 - EXC - - - 12 - 55 - 0 - EXC - - - 13 - 55 - 0 - EXC - - - 14 - 55 - 0 - EXC - - - 15 - 55 - 0 - EXC - - - 16 - 55 - 0 - EXC - - - 17 - 55 - 0 - EXC - - - 18 - 55 - 0 - EXC - - - 19 - 55 - 0 - EXC - - - 20 - 55 - 0 - EXC - - - 21 - 55 - 0 - EXC - - - 22 - 55 - 0 - EXC - - - 23 - 55 - 0 - EXC - - - 24 - 55 - 0 - EXC - - - 25 - 55 - 0 - EXC - - - 26 - 55 - 0 - EXC - - - 27 - 55 - 0 - EXC - - - 28 - 55 - 0 - EXC - - - 29 - 55 - 0 - EXC - - - 30 - 55 - 0 - EXC - - - 31 - 55 - 0 - EXC - - - 32 - 55 - 0 - EXC - - - 33 - 55 - 0 - EXC - - - 34 - 55 - 0 - EXC - - - 35 - 55 - 0 - EXC - - - 36 - 55 - 0 - EXC - - - 37 - 55 - 0 - EXC - - - 38 - 55 - 0 - EXC - - - 39 - 55 - 0 - EXC - - - 40 - 55 - 0 - EXC - - - 41 - 55 - 0 - EXC - - - 42 - 55 - 0 - EXC - - - 43 - 55 - 0 - EXC - - - 44 - 55 - 0 - EXC - - - 45 - 55 - 0 - EXC - - - 46 - 55 - 0 - EXC - - - 47 - 55 - 0 - EXC - - - 48 - 55 - 0 - EXC - - - 49 - 55 - 0 - EXC - - - 50 - 55 - 0 - EXC - - - 51 - 55 - 0 - EXC - - - 52 - 55 - 0 - EXC - - - 53 - 55 - 0 - EXC - - - 54 - 55 - 0 - EXC - - - 55 - 55 - 0 - EXC - - - 56 - 55 - 0 - EXC - - - 57 - 55 - 0 - EXC - - - 58 - 55 - 0 - EXC - - - 59 - 55 - 0 - EXC - - - 60 - 55 - 0 - EXC - - - 61 - 55 - 0 - EXC - - - 62 - 55 - 0 - EXC - - - 63 - 55 - 0 - EXC - - - 64 - 55 - 0 - EXC - - - 65 - 55 - 0 - EXC - - - 66 - 55 - 0 - EXC - - - 67 - 55 - 0 - EXC - - - 68 - 55 - 0 - EXC - - - 69 - 55 - 0 - EXC - - - 70 - 55 - 0 - EXC - - - 71 - 55 - 0 - EXC - - - 72 - 55 - 0 - EXC - - - 73 - 55 - 0 - EXC - - - 74 - 55 - 0 - EXC - - - 75 - 55 - 0 - EXC - - - 76 - 55 - 0 - EXC - - - 77 - 55 - 0 - EXC - - - 78 - 55 - 0 - EXC - - - 79 - 55 - 0 - EXC - - - 80 - 55 - 0 - EXC - - - 81 - 55 - 0 - EXC - - - 82 - 55 - 0 - EXC - - - 83 - 55 - 0 - EXC - - - 84 - 55 - 0 - EXC - - - 85 - 55 - 0 - EXC - - - 86 - 55 - 0 - EXC - - - 87 - 55 - 0 - EXC - - - 88 - 55 - 0 - EXC - - - 89 - 55 - 0 - EXC - - - 90 - 55 - 0 - EXC - - - 91 - 55 - 0 - EXC - - - 92 - 55 - 0 - EXC - - - 93 - 55 - 0 - EXC - - - 94 - 55 - 0 - EXC - - - 95 - 55 - 0 - EXC - - - 96 - 55 - 0 - EXC - - - 97 - 55 - 0 - EXC - - - 98 - 55 - 0 - EXC - - - 99 - 55 - 0 - EXC - - - 0 - 56 - 0 - EXC - - - 1 - 56 - 0 - EXC - - - 2 - 56 - 0 - EXC - - - 3 - 56 - 0 - EXC - - - 4 - 56 - 0 - EXC - - - 5 - 56 - 0 - EXC - - - 6 - 56 - 0 - INH - - - 7 - 56 - 1 - EXC - - - 8 - 56 - 0 - EXC - - - 9 - 56 - 0 - EXC - - - 10 - 56 - 0 - EXC - - - 11 - 56 - 0 - EXC - - - 12 - 56 - 0 - EXC - - - 13 - 56 - 0 - EXC - - - 14 - 56 - 0 - EXC - - - 15 - 56 - 0 - EXC - - - 16 - 56 - 0 - INH - - - 17 - 56 - 1 - EXC - - - 18 - 56 - 0 - EXC - - - 19 - 56 - 0 - EXC - - - 20 - 56 - 0 - EXC - - - 21 - 56 - 0 - EXC - - - 22 - 56 - 0 - EXC - - - 23 - 56 - 0 - EXC - - - 24 - 56 - 0 - EXC - - - 25 - 56 - 0 - EXC - - - 26 - 56 - 0 - INH - - - 27 - 56 - 1 - EXC - - - 28 - 56 - 0 - EXC - - - 29 - 56 - 0 - EXC - - - 30 - 56 - 0 - EXC - - - 31 - 56 - 0 - EXC - - - 32 - 56 - 0 - EXC - - - 33 - 56 - 0 - EXC - - - 34 - 56 - 0 - EXC - - - 35 - 56 - 0 - EXC - - - 36 - 56 - 0 - INH - - - 37 - 56 - 1 - EXC - - - 38 - 56 - 0 - EXC - - - 39 - 56 - 0 - EXC - - - 40 - 56 - 0 - EXC - - - 41 - 56 - 0 - EXC - - - 42 - 56 - 0 - EXC - - - 43 - 56 - 0 - EXC - - - 44 - 56 - 0 - EXC - - - 45 - 56 - 0 - EXC - - - 46 - 56 - 0 - INH - - - 47 - 56 - 1 - EXC - - - 48 - 56 - 0 - EXC - - - 49 - 56 - 0 - EXC - - - 50 - 56 - 0 - EXC - - - 51 - 56 - 0 - EXC - - - 52 - 56 - 0 - EXC - - - 53 - 56 - 0 - EXC - - - 54 - 56 - 0 - EXC - - - 55 - 56 - 0 - EXC - - - 56 - 56 - 0 - INH - - - 57 - 56 - 1 - EXC - - - 58 - 56 - 0 - EXC - - - 59 - 56 - 0 - EXC - - - 60 - 56 - 0 - EXC - - - 61 - 56 - 0 - EXC - - - 62 - 56 - 0 - EXC - - - 63 - 56 - 0 - EXC - - - 64 - 56 - 0 - EXC - - - 65 - 56 - 0 - EXC - - - 66 - 56 - 0 - INH - - - 67 - 56 - 1 - EXC - - - 68 - 56 - 0 - EXC - - - 69 - 56 - 0 - EXC - - - 70 - 56 - 0 - EXC - - - 71 - 56 - 0 - EXC - - - 72 - 56 - 0 - EXC - - - 73 - 56 - 0 - EXC - - - 74 - 56 - 0 - EXC - - - 75 - 56 - 0 - EXC - - - 76 - 56 - 0 - INH - - - 77 - 56 - 1 - EXC - - - 78 - 56 - 0 - EXC - - - 79 - 56 - 0 - EXC - - - 80 - 56 - 0 - EXC - - - 81 - 56 - 0 - EXC - - - 82 - 56 - 0 - EXC - - - 83 - 56 - 0 - EXC - - - 84 - 56 - 0 - EXC - - - 85 - 56 - 0 - EXC - - - 86 - 56 - 0 - INH - - - 87 - 56 - 1 - EXC - - - 88 - 56 - 0 - EXC - - - 89 - 56 - 0 - EXC - - - 90 - 56 - 0 - EXC - - - 91 - 56 - 0 - EXC - - - 92 - 56 - 0 - EXC - - - 93 - 56 - 0 - EXC - - - 94 - 56 - 0 - EXC - - - 95 - 56 - 0 - EXC - - - 96 - 56 - 0 - INH - - - 97 - 56 - 1 - EXC - - - 98 - 56 - 0 - EXC - - - 99 - 56 - 0 - EXC - - - 0 - 57 - 0 - EXC - - - 1 - 57 - 1 - EXC - - - 2 - 57 - 0 - EXC - - - 3 - 57 - 0 - EXC - - - 4 - 57 - 1 - EXC - - - 5 - 57 - 0 - EXC - - - 6 - 57 - 0 - EXC - - - 7 - 57 - 0 - EXC - - - 8 - 57 - 0 - EXC - - - 9 - 57 - 0 - EXC - - - 10 - 57 - 0 - EXC - - - 11 - 57 - 1 - EXC - - - 12 - 57 - 0 - EXC - - - 13 - 57 - 0 - EXC - - - 14 - 57 - 1 - EXC - - - 15 - 57 - 0 - EXC - - - 16 - 57 - 0 - EXC - - - 17 - 57 - 0 - EXC - - - 18 - 57 - 0 - EXC - - - 19 - 57 - 0 - EXC - - - 20 - 57 - 0 - EXC - - - 21 - 57 - 1 - EXC - - - 22 - 57 - 0 - EXC - - - 23 - 57 - 0 - EXC - - - 24 - 57 - 1 - EXC - - - 25 - 57 - 0 - EXC - - - 26 - 57 - 0 - EXC - - - 27 - 57 - 0 - EXC - - - 28 - 57 - 0 - EXC - - - 29 - 57 - 0 - EXC - - - 30 - 57 - 0 - EXC - - - 31 - 57 - 1 - EXC - - - 32 - 57 - 0 - EXC - - - 33 - 57 - 0 - EXC - - - 34 - 57 - 1 - EXC - - - 35 - 57 - 0 - EXC - - - 36 - 57 - 0 - EXC - - - 37 - 57 - 0 - EXC - - - 38 - 57 - 0 - EXC - - - 39 - 57 - 0 - EXC - - - 40 - 57 - 0 - EXC - - - 41 - 57 - 1 - EXC - - - 42 - 57 - 0 - EXC - - - 43 - 57 - 0 - EXC - - - 44 - 57 - 1 - EXC - - - 45 - 57 - 0 - EXC - - - 46 - 57 - 0 - EXC - - - 47 - 57 - 0 - EXC - - - 48 - 57 - 0 - EXC - - - 49 - 57 - 0 - EXC - - - 50 - 57 - 0 - EXC - - - 51 - 57 - 1 - EXC - - - 52 - 57 - 0 - EXC - - - 53 - 57 - 0 - EXC - - - 54 - 57 - 1 - EXC - - - 55 - 57 - 0 - EXC - - - 56 - 57 - 0 - EXC - - - 57 - 57 - 0 - EXC - - - 58 - 57 - 0 - EXC - - - 59 - 57 - 0 - EXC - - - 60 - 57 - 0 - EXC - - - 61 - 57 - 1 - EXC - - - 62 - 57 - 0 - EXC - - - 63 - 57 - 0 - EXC - - - 64 - 57 - 1 - EXC - - - 65 - 57 - 0 - EXC - - - 66 - 57 - 0 - EXC - - - 67 - 57 - 0 - EXC - - - 68 - 57 - 0 - EXC - - - 69 - 57 - 0 - EXC - - - 70 - 57 - 0 - EXC - - - 71 - 57 - 1 - EXC - - - 72 - 57 - 0 - EXC - - - 73 - 57 - 0 - EXC - - - 74 - 57 - 1 - EXC - - - 75 - 57 - 0 - EXC - - - 76 - 57 - 0 - EXC - - - 77 - 57 - 0 - EXC - - - 78 - 57 - 0 - EXC - - - 79 - 57 - 0 - EXC - - - 80 - 57 - 0 - EXC - - - 81 - 57 - 1 - EXC - - - 82 - 57 - 0 - EXC - - - 83 - 57 - 0 - EXC - - - 84 - 57 - 1 - EXC - - - 85 - 57 - 0 - EXC - - - 86 - 57 - 0 - EXC - - - 87 - 57 - 0 - EXC - - - 88 - 57 - 0 - EXC - - - 89 - 57 - 0 - EXC - - - 90 - 57 - 0 - EXC - - - 91 - 57 - 1 - EXC - - - 92 - 57 - 0 - EXC - - - 93 - 57 - 0 - EXC - - - 94 - 57 - 1 - EXC - - - 95 - 57 - 0 - EXC - - - 96 - 57 - 0 - EXC - - - 97 - 57 - 0 - EXC - - - 98 - 57 - 0 - EXC - - - 99 - 57 - 0 - EXC - - - 0 - 58 - 0 - EXC - - - 1 - 58 - 0 - EXC - - - 2 - 58 - 0 - EXC - - - 3 - 58 - 0 - EXC - - - 4 - 58 - 0 - EXC - - - 5 - 58 - 0 - EXC - - - 6 - 58 - 0 - EXC - - - 7 - 58 - 0 - EXC - - - 8 - 58 - 0 - EXC - - - 9 - 58 - 0 - EXC - - - 10 - 58 - 0 - EXC - - - 11 - 58 - 0 - EXC - - - 12 - 58 - 0 - EXC - - - 13 - 58 - 0 - EXC - - - 14 - 58 - 0 - EXC - - - 15 - 58 - 0 - EXC - - - 16 - 58 - 0 - EXC - - - 17 - 58 - 0 - EXC - - - 18 - 58 - 0 - EXC - - - 19 - 58 - 0 - EXC - - - 20 - 58 - 0 - EXC - - - 21 - 58 - 0 - EXC - - - 22 - 58 - 0 - EXC - - - 23 - 58 - 0 - EXC - - - 24 - 58 - 0 - EXC - - - 25 - 58 - 0 - EXC - - - 26 - 58 - 0 - EXC - - - 27 - 58 - 0 - EXC - - - 28 - 58 - 0 - EXC - - - 29 - 58 - 0 - EXC - - - 30 - 58 - 0 - EXC - - - 31 - 58 - 0 - EXC - - - 32 - 58 - 0 - EXC - - - 33 - 58 - 0 - EXC - - - 34 - 58 - 0 - EXC - - - 35 - 58 - 0 - EXC - - - 36 - 58 - 0 - EXC - - - 37 - 58 - 0 - EXC - - - 38 - 58 - 0 - EXC - - - 39 - 58 - 0 - EXC - - - 40 - 58 - 0 - EXC - - - 41 - 58 - 0 - EXC - - - 42 - 58 - 0 - EXC - - - 43 - 58 - 0 - EXC - - - 44 - 58 - 0 - EXC - - - 45 - 58 - 0 - EXC - - - 46 - 58 - 0 - EXC - - - 47 - 58 - 0 - EXC - - - 48 - 58 - 0 - EXC - - - 49 - 58 - 0 - EXC - - - 50 - 58 - 0 - EXC - - - 51 - 58 - 0 - EXC - - - 52 - 58 - 0 - EXC - - - 53 - 58 - 0 - EXC - - - 54 - 58 - 0 - EXC - - - 55 - 58 - 0 - EXC - - - 56 - 58 - 0 - EXC - - - 57 - 58 - 0 - EXC - - - 58 - 58 - 0 - EXC - - - 59 - 58 - 0 - EXC - - - 60 - 58 - 0 - EXC - - - 61 - 58 - 0 - EXC - - - 62 - 58 - 0 - EXC - - - 63 - 58 - 0 - EXC - - - 64 - 58 - 0 - EXC - - - 65 - 58 - 0 - EXC - - - 66 - 58 - 0 - EXC - - - 67 - 58 - 0 - EXC - - - 68 - 58 - 0 - EXC - - - 69 - 58 - 0 - EXC - - - 70 - 58 - 0 - EXC - - - 71 - 58 - 0 - EXC - - - 72 - 58 - 0 - EXC - - - 73 - 58 - 0 - EXC - - - 74 - 58 - 0 - EXC - - - 75 - 58 - 0 - EXC - - - 76 - 58 - 0 - EXC - - - 77 - 58 - 0 - EXC - - - 78 - 58 - 0 - EXC - - - 79 - 58 - 0 - EXC - - - 80 - 58 - 0 - EXC - - - 81 - 58 - 0 - EXC - - - 82 - 58 - 0 - EXC - - - 83 - 58 - 0 - EXC - - - 84 - 58 - 0 - EXC - - - 85 - 58 - 0 - EXC - - - 86 - 58 - 0 - EXC - - - 87 - 58 - 0 - EXC - - - 88 - 58 - 0 - EXC - - - 89 - 58 - 0 - EXC - - - 90 - 58 - 0 - EXC - - - 91 - 58 - 0 - EXC - - - 92 - 58 - 0 - EXC - - - 93 - 58 - 0 - EXC - - - 94 - 58 - 0 - EXC - - - 95 - 58 - 0 - EXC - - - 96 - 58 - 0 - EXC - - - 97 - 58 - 0 - EXC - - - 98 - 58 - 0 - EXC - - - 99 - 58 - 0 - EXC - - - 0 - 59 - 0 - EXC - - - 1 - 59 - 0 - EXC - - - 2 - 59 - 0 - EXC - - - 3 - 59 - 0 - EXC - - - 4 - 59 - 0 - EXC - - - 5 - 59 - 0 - EXC - - - 6 - 59 - 0 - EXC - - - 7 - 59 - 1 - EXC - - - 8 - 59 - 0 - EXC - - - 9 - 59 - 0 - EXC - - - 10 - 59 - 0 - EXC - - - 11 - 59 - 0 - EXC - - - 12 - 59 - 0 - EXC - - - 13 - 59 - 0 - EXC - - - 14 - 59 - 0 - EXC - - - 15 - 59 - 0 - EXC - - - 16 - 59 - 0 - EXC - - - 17 - 59 - 1 - EXC - - - 18 - 59 - 0 - EXC - - - 19 - 59 - 0 - EXC - - - 20 - 59 - 0 - EXC - - - 21 - 59 - 0 - EXC - - - 22 - 59 - 0 - EXC - - - 23 - 59 - 0 - EXC - - - 24 - 59 - 0 - EXC - - - 25 - 59 - 0 - EXC - - - 26 - 59 - 0 - EXC - - - 27 - 59 - 1 - EXC - - - 28 - 59 - 0 - EXC - - - 29 - 59 - 0 - EXC - - - 30 - 59 - 0 - EXC - - - 31 - 59 - 0 - EXC - - - 32 - 59 - 0 - EXC - - - 33 - 59 - 0 - EXC - - - 34 - 59 - 0 - EXC - - - 35 - 59 - 0 - EXC - - - 36 - 59 - 0 - EXC - - - 37 - 59 - 1 - EXC - - - 38 - 59 - 0 - EXC - - - 39 - 59 - 0 - EXC - - - 40 - 59 - 0 - EXC - - - 41 - 59 - 0 - EXC - - - 42 - 59 - 0 - EXC - - - 43 - 59 - 0 - EXC - - - 44 - 59 - 0 - EXC - - - 45 - 59 - 0 - EXC - - - 46 - 59 - 0 - EXC - - - 47 - 59 - 1 - EXC - - - 48 - 59 - 0 - EXC - - - 49 - 59 - 0 - EXC - - - 50 - 59 - 0 - EXC - - - 51 - 59 - 0 - EXC - - - 52 - 59 - 0 - EXC - - - 53 - 59 - 0 - EXC - - - 54 - 59 - 0 - EXC - - - 55 - 59 - 0 - EXC - - - 56 - 59 - 0 - EXC - - - 57 - 59 - 1 - EXC - - - 58 - 59 - 0 - EXC - - - 59 - 59 - 0 - EXC - - - 60 - 59 - 0 - EXC - - - 61 - 59 - 0 - EXC - - - 62 - 59 - 0 - EXC - - - 63 - 59 - 0 - EXC - - - 64 - 59 - 0 - EXC - - - 65 - 59 - 0 - EXC - - - 66 - 59 - 0 - EXC - - - 67 - 59 - 1 - EXC - - - 68 - 59 - 0 - EXC - - - 69 - 59 - 0 - EXC - - - 70 - 59 - 0 - EXC - - - 71 - 59 - 0 - EXC - - - 72 - 59 - 0 - EXC - - - 73 - 59 - 0 - EXC - - - 74 - 59 - 0 - EXC - - - 75 - 59 - 0 - EXC - - - 76 - 59 - 0 - EXC - - - 77 - 59 - 1 - EXC - - - 78 - 59 - 0 - EXC - - - 79 - 59 - 0 - EXC - - - 80 - 59 - 0 - EXC - - - 81 - 59 - 0 - EXC - - - 82 - 59 - 0 - EXC - - - 83 - 59 - 0 - EXC - - - 84 - 59 - 0 - EXC - - - 85 - 59 - 0 - EXC - - - 86 - 59 - 0 - EXC - - - 87 - 59 - 1 - EXC - - - 88 - 59 - 0 - EXC - - - 89 - 59 - 0 - EXC - - - 90 - 59 - 0 - EXC - - - 91 - 59 - 0 - EXC - - - 92 - 59 - 0 - EXC - - - 93 - 59 - 0 - EXC - - - 94 - 59 - 0 - EXC - - - 95 - 59 - 0 - EXC - - - 96 - 59 - 0 - EXC - - - 97 - 59 - 1 - EXC - - - 98 - 59 - 0 - EXC - - - 99 - 59 - 0 - EXC - - - 0 - 60 - 0 - EXC - - - 1 - 60 - 0 - EXC - - - 2 - 60 - 0 - EXC - - - 3 - 60 - 0 - EXC - - - 4 - 60 - 0 - EXC - - - 5 - 60 - 0 - EXC - - - 6 - 60 - 0 - EXC - - - 7 - 60 - 1 - EXC - - - 8 - 60 - 0 - EXC - - - 9 - 60 - 0 - EXC - - - 10 - 60 - 0 - EXC - - - 11 - 60 - 0 - EXC - - - 12 - 60 - 0 - EXC - - - 13 - 60 - 0 - EXC - - - 14 - 60 - 0 - EXC - - - 15 - 60 - 0 - EXC - - - 16 - 60 - 0 - EXC - - - 17 - 60 - 1 - EXC - - - 18 - 60 - 0 - EXC - - - 19 - 60 - 0 - EXC - - - 20 - 60 - 0 - EXC - - - 21 - 60 - 0 - EXC - - - 22 - 60 - 0 - EXC - - - 23 - 60 - 0 - EXC - - - 24 - 60 - 0 - EXC - - - 25 - 60 - 0 - EXC - - - 26 - 60 - 0 - EXC - - - 27 - 60 - 1 - EXC - - - 28 - 60 - 0 - EXC - - - 29 - 60 - 0 - EXC - - - 30 - 60 - 0 - EXC - - - 31 - 60 - 0 - EXC - - - 32 - 60 - 0 - EXC - - - 33 - 60 - 0 - EXC - - - 34 - 60 - 0 - EXC - - - 35 - 60 - 0 - EXC - - - 36 - 60 - 0 - EXC - - - 37 - 60 - 1 - EXC - - - 38 - 60 - 0 - EXC - - - 39 - 60 - 0 - EXC - - - 40 - 60 - 0 - EXC - - - 41 - 60 - 0 - EXC - - - 42 - 60 - 0 - EXC - - - 43 - 60 - 0 - EXC - - - 44 - 60 - 0 - EXC - - - 45 - 60 - 0 - EXC - - - 46 - 60 - 0 - EXC - - - 47 - 60 - 1 - EXC - - - 48 - 60 - 0 - EXC - - - 49 - 60 - 0 - EXC - - - 50 - 60 - 0 - EXC - - - 51 - 60 - 0 - EXC - - - 52 - 60 - 0 - EXC - - - 53 - 60 - 0 - EXC - - - 54 - 60 - 0 - EXC - - - 55 - 60 - 0 - EXC - - - 56 - 60 - 0 - EXC - - - 57 - 60 - 1 - EXC - - - 58 - 60 - 0 - EXC - - - 59 - 60 - 0 - EXC - - - 60 - 60 - 0 - EXC - - - 61 - 60 - 0 - EXC - - - 62 - 60 - 0 - EXC - - - 63 - 60 - 0 - EXC - - - 64 - 60 - 0 - EXC - - - 65 - 60 - 0 - EXC - - - 66 - 60 - 0 - EXC - - - 67 - 60 - 1 - EXC - - - 68 - 60 - 0 - EXC - - - 69 - 60 - 0 - EXC - - - 70 - 60 - 0 - EXC - - - 71 - 60 - 0 - EXC - - - 72 - 60 - 0 - EXC - - - 73 - 60 - 0 - EXC - - - 74 - 60 - 0 - EXC - - - 75 - 60 - 0 - EXC - - - 76 - 60 - 0 - EXC - - - 77 - 60 - 1 - EXC - - - 78 - 60 - 0 - EXC - - - 79 - 60 - 0 - EXC - - - 80 - 60 - 0 - EXC - - - 81 - 60 - 0 - EXC - - - 82 - 60 - 0 - EXC - - - 83 - 60 - 0 - EXC - - - 84 - 60 - 0 - EXC - - - 85 - 60 - 0 - EXC - - - 86 - 60 - 0 - EXC - - - 87 - 60 - 1 - EXC - - - 88 - 60 - 0 - EXC - - - 89 - 60 - 0 - EXC - - - 90 - 60 - 0 - EXC - - - 91 - 60 - 0 - EXC - - - 92 - 60 - 0 - EXC - - - 93 - 60 - 0 - EXC - - - 94 - 60 - 0 - EXC - - - 95 - 60 - 0 - EXC - - - 96 - 60 - 0 - EXC - - - 97 - 60 - 1 - EXC - - - 98 - 60 - 0 - EXC - - - 99 - 60 - 0 - EXC - - - 0 - 61 - 0 - EXC - - - 1 - 61 - 1 - EXC - - - 2 - 61 - 0 - EXC - - - 3 - 61 - 0 - EXC - - - 4 - 61 - 1 - EXC - - - 5 - 61 - 0 - EXC - - - 6 - 61 - 0 - EXC - - - 7 - 61 - 0 - EXC - - - 8 - 61 - 0 - EXC - - - 9 - 61 - 0 - EXC - - - 10 - 61 - 0 - EXC - - - 11 - 61 - 1 - EXC - - - 12 - 61 - 0 - EXC - - - 13 - 61 - 0 - EXC - - - 14 - 61 - 1 - EXC - - - 15 - 61 - 0 - EXC - - - 16 - 61 - 0 - EXC - - - 17 - 61 - 0 - EXC - - - 18 - 61 - 0 - EXC - - - 19 - 61 - 0 - EXC - - - 20 - 61 - 0 - EXC - - - 21 - 61 - 1 - EXC - - - 22 - 61 - 0 - EXC - - - 23 - 61 - 0 - EXC - - - 24 - 61 - 1 - EXC - - - 25 - 61 - 0 - EXC - - - 26 - 61 - 0 - EXC - - - 27 - 61 - 0 - EXC - - - 28 - 61 - 0 - EXC - - - 29 - 61 - 0 - EXC - - - 30 - 61 - 0 - EXC - - - 31 - 61 - 1 - EXC - - - 32 - 61 - 0 - EXC - - - 33 - 61 - 0 - EXC - - - 34 - 61 - 1 - EXC - - - 35 - 61 - 0 - EXC - - - 36 - 61 - 0 - EXC - - - 37 - 61 - 0 - EXC - - - 38 - 61 - 0 - EXC - - - 39 - 61 - 0 - EXC - - - 40 - 61 - 0 - EXC - - - 41 - 61 - 1 - EXC - - - 42 - 61 - 0 - EXC - - - 43 - 61 - 0 - EXC - - - 44 - 61 - 1 - EXC - - - 45 - 61 - 0 - EXC - - - 46 - 61 - 0 - EXC - - - 47 - 61 - 0 - EXC - - - 48 - 61 - 0 - EXC - - - 49 - 61 - 0 - EXC - - - 50 - 61 - 0 - EXC - - - 51 - 61 - 1 - EXC - - - 52 - 61 - 0 - EXC - - - 53 - 61 - 0 - EXC - - - 54 - 61 - 1 - EXC - - - 55 - 61 - 0 - EXC - - - 56 - 61 - 0 - EXC - - - 57 - 61 - 0 - EXC - - - 58 - 61 - 0 - EXC - - - 59 - 61 - 0 - EXC - - - 60 - 61 - 0 - EXC - - - 61 - 61 - 1 - EXC - - - 62 - 61 - 0 - EXC - - - 63 - 61 - 0 - EXC - - - 64 - 61 - 1 - EXC - - - 65 - 61 - 0 - EXC - - - 66 - 61 - 0 - EXC - - - 67 - 61 - 0 - EXC - - - 68 - 61 - 0 - EXC - - - 69 - 61 - 0 - EXC - - - 70 - 61 - 0 - EXC - - - 71 - 61 - 1 - EXC - - - 72 - 61 - 0 - EXC - - - 73 - 61 - 0 - EXC - - - 74 - 61 - 1 - EXC - - - 75 - 61 - 0 - EXC - - - 76 - 61 - 0 - EXC - - - 77 - 61 - 0 - EXC - - - 78 - 61 - 0 - EXC - - - 79 - 61 - 0 - EXC - - - 80 - 61 - 0 - EXC - - - 81 - 61 - 1 - EXC - - - 82 - 61 - 0 - EXC - - - 83 - 61 - 0 - EXC - - - 84 - 61 - 1 - EXC - - - 85 - 61 - 0 - EXC - - - 86 - 61 - 0 - EXC - - - 87 - 61 - 0 - EXC - - - 88 - 61 - 0 - EXC - - - 89 - 61 - 0 - EXC - - - 90 - 61 - 0 - EXC - - - 91 - 61 - 1 - EXC - - - 92 - 61 - 0 - EXC - - - 93 - 61 - 0 - EXC - - - 94 - 61 - 1 - EXC - - - 95 - 61 - 0 - EXC - - - 96 - 61 - 0 - EXC - - - 97 - 61 - 0 - EXC - - - 98 - 61 - 0 - EXC - - - 99 - 61 - 0 - EXC - - - 0 - 62 - 0 - EXC - - - 1 - 62 - 0 - EXC - - - 2 - 62 - 0 - EXC - - - 3 - 62 - 0 - EXC - - - 4 - 62 - 0 - EXC - - - 5 - 62 - 0 - EXC - - - 6 - 62 - 0 - EXC - - - 7 - 62 - 0 - EXC - - - 8 - 62 - 0 - EXC - - - 9 - 62 - 0 - EXC - - - 10 - 62 - 0 - EXC - - - 11 - 62 - 0 - EXC - - - 12 - 62 - 0 - EXC - - - 13 - 62 - 0 - EXC - - - 14 - 62 - 0 - EXC - - - 15 - 62 - 0 - EXC - - - 16 - 62 - 0 - EXC - - - 17 - 62 - 0 - EXC - - - 18 - 62 - 0 - EXC - - - 19 - 62 - 0 - EXC - - - 20 - 62 - 0 - EXC - - - 21 - 62 - 0 - EXC - - - 22 - 62 - 0 - EXC - - - 23 - 62 - 0 - EXC - - - 24 - 62 - 0 - EXC - - - 25 - 62 - 0 - EXC - - - 26 - 62 - 0 - EXC - - - 27 - 62 - 0 - EXC - - - 28 - 62 - 0 - EXC - - - 29 - 62 - 0 - EXC - - - 30 - 62 - 0 - EXC - - - 31 - 62 - 0 - EXC - - - 32 - 62 - 0 - EXC - - - 33 - 62 - 0 - EXC - - - 34 - 62 - 0 - EXC - - - 35 - 62 - 0 - EXC - - - 36 - 62 - 0 - EXC - - - 37 - 62 - 0 - EXC - - - 38 - 62 - 0 - EXC - - - 39 - 62 - 0 - EXC - - - 40 - 62 - 0 - EXC - - - 41 - 62 - 0 - EXC - - - 42 - 62 - 0 - EXC - - - 43 - 62 - 0 - EXC - - - 44 - 62 - 0 - EXC - - - 45 - 62 - 0 - EXC - - - 46 - 62 - 0 - EXC - - - 47 - 62 - 0 - EXC - - - 48 - 62 - 0 - EXC - - - 49 - 62 - 0 - EXC - - - 50 - 62 - 0 - EXC - - - 51 - 62 - 0 - EXC - - - 52 - 62 - 0 - EXC - - - 53 - 62 - 0 - EXC - - - 54 - 62 - 0 - EXC - - - 55 - 62 - 0 - EXC - - - 56 - 62 - 0 - EXC - - - 57 - 62 - 0 - EXC - - - 58 - 62 - 0 - EXC - - - 59 - 62 - 0 - EXC - - - 60 - 62 - 0 - EXC - - - 61 - 62 - 0 - EXC - - - 62 - 62 - 0 - EXC - - - 63 - 62 - 0 - EXC - - - 64 - 62 - 0 - EXC - - - 65 - 62 - 0 - EXC - - - 66 - 62 - 0 - EXC - - - 67 - 62 - 0 - EXC - - - 68 - 62 - 0 - EXC - - - 69 - 62 - 0 - EXC - - - 70 - 62 - 0 - EXC - - - 71 - 62 - 0 - EXC - - - 72 - 62 - 0 - EXC - - - 73 - 62 - 0 - EXC - - - 74 - 62 - 0 - EXC - - - 75 - 62 - 0 - EXC - - - 76 - 62 - 0 - EXC - - - 77 - 62 - 0 - EXC - - - 78 - 62 - 0 - EXC - - - 79 - 62 - 0 - EXC - - - 80 - 62 - 0 - EXC - - - 81 - 62 - 0 - EXC - - - 82 - 62 - 0 - EXC - - - 83 - 62 - 0 - EXC - - - 84 - 62 - 0 - EXC - - - 85 - 62 - 0 - EXC - - - 86 - 62 - 0 - EXC - - - 87 - 62 - 0 - EXC - - - 88 - 62 - 0 - EXC - - - 89 - 62 - 0 - EXC - - - 90 - 62 - 0 - EXC - - - 91 - 62 - 0 - EXC - - - 92 - 62 - 0 - EXC - - - 93 - 62 - 0 - EXC - - - 94 - 62 - 0 - EXC - - - 95 - 62 - 0 - EXC - - - 96 - 62 - 0 - EXC - - - 97 - 62 - 0 - EXC - - - 98 - 62 - 0 - EXC - - - 99 - 62 - 0 - EXC - - - 0 - 63 - 0 - EXC - - - 1 - 63 - 0 - EXC - - - 2 - 63 - 0 - EXC - - - 3 - 63 - 0 - INH - - - 4 - 63 - 0 - EXC - - - 5 - 63 - 0 - EXC - - - 6 - 63 - 0 - EXC - - - 7 - 63 - 1 - EXC - - - 8 - 63 - 0 - EXC - - - 9 - 63 - 0 - EXC - - - 10 - 63 - 0 - EXC - - - 11 - 63 - 0 - EXC - - - 12 - 63 - 0 - EXC - - - 13 - 63 - 0 - INH - - - 14 - 63 - 0 - EXC - - - 15 - 63 - 0 - EXC - - - 16 - 63 - 0 - EXC - - - 17 - 63 - 1 - EXC - - - 18 - 63 - 0 - EXC - - - 19 - 63 - 0 - EXC - - - 20 - 63 - 0 - EXC - - - 21 - 63 - 0 - EXC - - - 22 - 63 - 0 - EXC - - - 23 - 63 - 0 - INH - - - 24 - 63 - 0 - EXC - - - 25 - 63 - 0 - EXC - - - 26 - 63 - 0 - EXC - - - 27 - 63 - 1 - EXC - - - 28 - 63 - 0 - EXC - - - 29 - 63 - 0 - EXC - - - 30 - 63 - 0 - EXC - - - 31 - 63 - 0 - EXC - - - 32 - 63 - 0 - EXC - - - 33 - 63 - 0 - INH - - - 34 - 63 - 0 - EXC - - - 35 - 63 - 0 - EXC - - - 36 - 63 - 0 - EXC - - - 37 - 63 - 1 - EXC - - - 38 - 63 - 0 - EXC - - - 39 - 63 - 0 - EXC - - - 40 - 63 - 0 - EXC - - - 41 - 63 - 0 - EXC - - - 42 - 63 - 0 - EXC - - - 43 - 63 - 0 - INH - - - 44 - 63 - 0 - EXC - - - 45 - 63 - 0 - EXC - - - 46 - 63 - 0 - EXC - - - 47 - 63 - 1 - EXC - - - 48 - 63 - 0 - EXC - - - 49 - 63 - 0 - EXC - - - 50 - 63 - 0 - EXC - - - 51 - 63 - 0 - EXC - - - 52 - 63 - 0 - EXC - - - 53 - 63 - 0 - INH - - - 54 - 63 - 0 - EXC - - - 55 - 63 - 0 - EXC - - - 56 - 63 - 0 - EXC - - - 57 - 63 - 1 - EXC - - - 58 - 63 - 0 - EXC - - - 59 - 63 - 0 - EXC - - - 60 - 63 - 0 - EXC - - - 61 - 63 - 0 - EXC - - - 62 - 63 - 0 - EXC - - - 63 - 63 - 0 - INH - - - 64 - 63 - 0 - EXC - - - 65 - 63 - 0 - EXC - - - 66 - 63 - 0 - EXC - - - 67 - 63 - 1 - EXC - - - 68 - 63 - 0 - EXC - - - 69 - 63 - 0 - EXC - - - 70 - 63 - 0 - EXC - - - 71 - 63 - 0 - EXC - - - 72 - 63 - 0 - EXC - - - 73 - 63 - 0 - INH - - - 74 - 63 - 0 - EXC - - - 75 - 63 - 0 - EXC - - - 76 - 63 - 0 - EXC - - - 77 - 63 - 1 - EXC - - - 78 - 63 - 0 - EXC - - - 79 - 63 - 0 - EXC - - - 80 - 63 - 0 - EXC - - - 81 - 63 - 0 - EXC - - - 82 - 63 - 0 - EXC - - - 83 - 63 - 0 - INH - - - 84 - 63 - 0 - EXC - - - 85 - 63 - 0 - EXC - - - 86 - 63 - 0 - EXC - - - 87 - 63 - 1 - EXC - - - 88 - 63 - 0 - EXC - - - 89 - 63 - 0 - EXC - - - 90 - 63 - 0 - EXC - - - 91 - 63 - 0 - EXC - - - 92 - 63 - 0 - EXC - - - 93 - 63 - 0 - INH - - - 94 - 63 - 0 - EXC - - - 95 - 63 - 0 - EXC - - - 96 - 63 - 0 - EXC - - - 97 - 63 - 1 - EXC - - - 98 - 63 - 0 - EXC - - - 99 - 63 - 0 - EXC - - - 0 - 64 - 0 - EXC - - - 1 - 64 - 1 - EXC - - - 2 - 64 - 0 - EXC - - - 3 - 64 - 0 - EXC - - - 4 - 64 - 1 - EXC - - - 5 - 64 - 0 - EXC - - - 6 - 64 - 0 - EXC - - - 7 - 64 - 0 - EXC - - - 8 - 64 - 0 - EXC - - - 9 - 64 - 0 - EXC - - - 10 - 64 - 0 - EXC - - - 11 - 64 - 1 - EXC - - - 12 - 64 - 0 - EXC - - - 13 - 64 - 0 - EXC - - - 14 - 64 - 1 - EXC - - - 15 - 64 - 0 - EXC - - - 16 - 64 - 0 - EXC - - - 17 - 64 - 0 - EXC - - - 18 - 64 - 0 - EXC - - - 19 - 64 - 0 - EXC - - - 20 - 64 - 0 - EXC - - - 21 - 64 - 1 - EXC - - - 22 - 64 - 0 - EXC - - - 23 - 64 - 0 - EXC - - - 24 - 64 - 1 - EXC - - - 25 - 64 - 0 - EXC - - - 26 - 64 - 0 - EXC - - - 27 - 64 - 0 - EXC - - - 28 - 64 - 0 - EXC - - - 29 - 64 - 0 - EXC - - - 30 - 64 - 0 - EXC - - - 31 - 64 - 1 - EXC - - - 32 - 64 - 0 - EXC - - - 33 - 64 - 0 - EXC - - - 34 - 64 - 1 - EXC - - - 35 - 64 - 0 - EXC - - - 36 - 64 - 0 - EXC - - - 37 - 64 - 0 - EXC - - - 38 - 64 - 0 - EXC - - - 39 - 64 - 0 - EXC - - - 40 - 64 - 0 - EXC - - - 41 - 64 - 1 - EXC - - - 42 - 64 - 0 - EXC - - - 43 - 64 - 0 - EXC - - - 44 - 64 - 1 - EXC - - - 45 - 64 - 0 - EXC - - - 46 - 64 - 0 - EXC - - - 47 - 64 - 0 - EXC - - - 48 - 64 - 0 - EXC - - - 49 - 64 - 0 - EXC - - - 50 - 64 - 0 - EXC - - - 51 - 64 - 1 - EXC - - - 52 - 64 - 0 - EXC - - - 53 - 64 - 0 - EXC - - - 54 - 64 - 1 - EXC - - - 55 - 64 - 0 - EXC - - - 56 - 64 - 0 - EXC - - - 57 - 64 - 0 - EXC - - - 58 - 64 - 0 - EXC - - - 59 - 64 - 0 - EXC - - - 60 - 64 - 0 - EXC - - - 61 - 64 - 1 - EXC - - - 62 - 64 - 0 - EXC - - - 63 - 64 - 0 - EXC - - - 64 - 64 - 1 - EXC - - - 65 - 64 - 0 - EXC - - - 66 - 64 - 0 - EXC - - - 67 - 64 - 0 - EXC - - - 68 - 64 - 0 - EXC - - - 69 - 64 - 0 - EXC - - - 70 - 64 - 0 - EXC - - - 71 - 64 - 1 - EXC - - - 72 - 64 - 0 - EXC - - - 73 - 64 - 0 - EXC - - - 74 - 64 - 1 - EXC - - - 75 - 64 - 0 - EXC - - - 76 - 64 - 0 - EXC - - - 77 - 64 - 0 - EXC - - - 78 - 64 - 0 - EXC - - - 79 - 64 - 0 - EXC - - - 80 - 64 - 0 - EXC - - - 81 - 64 - 1 - EXC - - - 82 - 64 - 0 - EXC - - - 83 - 64 - 0 - EXC - - - 84 - 64 - 1 - EXC - - - 85 - 64 - 0 - EXC - - - 86 - 64 - 0 - EXC - - - 87 - 64 - 0 - EXC - - - 88 - 64 - 0 - EXC - - - 89 - 64 - 0 - EXC - - - 90 - 64 - 0 - EXC - - - 91 - 64 - 1 - EXC - - - 92 - 64 - 0 - EXC - - - 93 - 64 - 0 - EXC - - - 94 - 64 - 1 - EXC - - - 95 - 64 - 0 - EXC - - - 96 - 64 - 0 - EXC - - - 97 - 64 - 0 - EXC - - - 98 - 64 - 0 - EXC - - - 99 - 64 - 0 - EXC - - - 0 - 65 - 0 - EXC - - - 1 - 65 - 0 - EXC - - - 2 - 65 - 0 - EXC - - - 3 - 65 - 0 - EXC - - - 4 - 65 - 0 - EXC - - - 5 - 65 - 0 - EXC - - - 6 - 65 - 0 - EXC - - - 7 - 65 - 0 - EXC - - - 8 - 65 - 0 - EXC - - - 9 - 65 - 0 - EXC - - - 10 - 65 - 0 - EXC - - - 11 - 65 - 0 - EXC - - - 12 - 65 - 0 - EXC - - - 13 - 65 - 0 - EXC - - - 14 - 65 - 0 - EXC - - - 15 - 65 - 0 - EXC - - - 16 - 65 - 0 - EXC - - - 17 - 65 - 0 - EXC - - - 18 - 65 - 0 - EXC - - - 19 - 65 - 0 - EXC - - - 20 - 65 - 0 - EXC - - - 21 - 65 - 0 - EXC - - - 22 - 65 - 0 - EXC - - - 23 - 65 - 0 - EXC - - - 24 - 65 - 0 - EXC - - - 25 - 65 - 0 - EXC - - - 26 - 65 - 0 - EXC - - - 27 - 65 - 0 - EXC - - - 28 - 65 - 0 - EXC - - - 29 - 65 - 0 - EXC - - - 30 - 65 - 0 - EXC - - - 31 - 65 - 0 - EXC - - - 32 - 65 - 0 - EXC - - - 33 - 65 - 0 - EXC - - - 34 - 65 - 0 - EXC - - - 35 - 65 - 0 - EXC - - - 36 - 65 - 0 - EXC - - - 37 - 65 - 0 - EXC - - - 38 - 65 - 0 - EXC - - - 39 - 65 - 0 - EXC - - - 40 - 65 - 0 - EXC - - - 41 - 65 - 0 - EXC - - - 42 - 65 - 0 - EXC - - - 43 - 65 - 0 - EXC - - - 44 - 65 - 0 - EXC - - - 45 - 65 - 0 - EXC - - - 46 - 65 - 0 - EXC - - - 47 - 65 - 0 - EXC - - - 48 - 65 - 0 - EXC - - - 49 - 65 - 0 - EXC - - - 50 - 65 - 0 - EXC - - - 51 - 65 - 0 - EXC - - - 52 - 65 - 0 - EXC - - - 53 - 65 - 0 - EXC - - - 54 - 65 - 0 - EXC - - - 55 - 65 - 0 - EXC - - - 56 - 65 - 0 - EXC - - - 57 - 65 - 0 - EXC - - - 58 - 65 - 0 - EXC - - - 59 - 65 - 0 - EXC - - - 60 - 65 - 0 - EXC - - - 61 - 65 - 0 - EXC - - - 62 - 65 - 0 - EXC - - - 63 - 65 - 0 - EXC - - - 64 - 65 - 0 - EXC - - - 65 - 65 - 0 - EXC - - - 66 - 65 - 0 - EXC - - - 67 - 65 - 0 - EXC - - - 68 - 65 - 0 - EXC - - - 69 - 65 - 0 - EXC - - - 70 - 65 - 0 - EXC - - - 71 - 65 - 0 - EXC - - - 72 - 65 - 0 - EXC - - - 73 - 65 - 0 - EXC - - - 74 - 65 - 0 - EXC - - - 75 - 65 - 0 - EXC - - - 76 - 65 - 0 - EXC - - - 77 - 65 - 0 - EXC - - - 78 - 65 - 0 - EXC - - - 79 - 65 - 0 - EXC - - - 80 - 65 - 0 - EXC - - - 81 - 65 - 0 - EXC - - - 82 - 65 - 0 - EXC - - - 83 - 65 - 0 - EXC - - - 84 - 65 - 0 - EXC - - - 85 - 65 - 0 - EXC - - - 86 - 65 - 0 - EXC - - - 87 - 65 - 0 - EXC - - - 88 - 65 - 0 - EXC - - - 89 - 65 - 0 - EXC - - - 90 - 65 - 0 - EXC - - - 91 - 65 - 0 - EXC - - - 92 - 65 - 0 - EXC - - - 93 - 65 - 0 - EXC - - - 94 - 65 - 0 - EXC - - - 95 - 65 - 0 - EXC - - - 96 - 65 - 0 - EXC - - - 97 - 65 - 0 - EXC - - - 98 - 65 - 0 - EXC - - - 99 - 65 - 0 - EXC - - - 0 - 66 - 0 - EXC - - - 1 - 66 - 0 - EXC - - - 2 - 66 - 0 - EXC - - - 3 - 66 - 0 - EXC - - - 4 - 66 - 0 - EXC - - - 5 - 66 - 0 - EXC - - - 6 - 66 - 0 - INH - - - 7 - 66 - 1 - EXC - - - 8 - 66 - 0 - EXC - - - 9 - 66 - 0 - EXC - - - 10 - 66 - 0 - EXC - - - 11 - 66 - 0 - EXC - - - 12 - 66 - 0 - EXC - - - 13 - 66 - 0 - EXC - - - 14 - 66 - 0 - EXC - - - 15 - 66 - 0 - EXC - - - 16 - 66 - 0 - INH - - - 17 - 66 - 1 - EXC - - - 18 - 66 - 0 - EXC - - - 19 - 66 - 0 - EXC - - - 20 - 66 - 0 - EXC - - - 21 - 66 - 0 - EXC - - - 22 - 66 - 0 - EXC - - - 23 - 66 - 0 - EXC - - - 24 - 66 - 0 - EXC - - - 25 - 66 - 0 - EXC - - - 26 - 66 - 0 - INH - - - 27 - 66 - 1 - EXC - - - 28 - 66 - 0 - EXC - - - 29 - 66 - 0 - EXC - - - 30 - 66 - 0 - EXC - - - 31 - 66 - 0 - EXC - - - 32 - 66 - 0 - EXC - - - 33 - 66 - 0 - EXC - - - 34 - 66 - 0 - EXC - - - 35 - 66 - 0 - EXC - - - 36 - 66 - 0 - INH - - - 37 - 66 - 1 - EXC - - - 38 - 66 - 0 - EXC - - - 39 - 66 - 0 - EXC - - - 40 - 66 - 0 - EXC - - - 41 - 66 - 0 - EXC - - - 42 - 66 - 0 - EXC - - - 43 - 66 - 0 - EXC - - - 44 - 66 - 0 - EXC - - - 45 - 66 - 0 - EXC - - - 46 - 66 - 0 - INH - - - 47 - 66 - 1 - EXC - - - 48 - 66 - 0 - EXC - - - 49 - 66 - 0 - EXC - - - 50 - 66 - 0 - EXC - - - 51 - 66 - 0 - EXC - - - 52 - 66 - 0 - EXC - - - 53 - 66 - 0 - EXC - - - 54 - 66 - 0 - EXC - - - 55 - 66 - 0 - EXC - - - 56 - 66 - 0 - INH - - - 57 - 66 - 1 - EXC - - - 58 - 66 - 0 - EXC - - - 59 - 66 - 0 - EXC - - - 60 - 66 - 0 - EXC - - - 61 - 66 - 0 - EXC - - - 62 - 66 - 0 - EXC - - - 63 - 66 - 0 - EXC - - - 64 - 66 - 0 - EXC - - - 65 - 66 - 0 - EXC - - - 66 - 66 - 0 - INH - - - 67 - 66 - 1 - EXC - - - 68 - 66 - 0 - EXC - - - 69 - 66 - 0 - EXC - - - 70 - 66 - 0 - EXC - - - 71 - 66 - 0 - EXC - - - 72 - 66 - 0 - EXC - - - 73 - 66 - 0 - EXC - - - 74 - 66 - 0 - EXC - - - 75 - 66 - 0 - EXC - - - 76 - 66 - 0 - INH - - - 77 - 66 - 1 - EXC - - - 78 - 66 - 0 - EXC - - - 79 - 66 - 0 - EXC - - - 80 - 66 - 0 - EXC - - - 81 - 66 - 0 - EXC - - - 82 - 66 - 0 - EXC - - - 83 - 66 - 0 - EXC - - - 84 - 66 - 0 - EXC - - - 85 - 66 - 0 - EXC - - - 86 - 66 - 0 - INH - - - 87 - 66 - 1 - EXC - - - 88 - 66 - 0 - EXC - - - 89 - 66 - 0 - EXC - - - 90 - 66 - 0 - EXC - - - 91 - 66 - 0 - EXC - - - 92 - 66 - 0 - EXC - - - 93 - 66 - 0 - EXC - - - 94 - 66 - 0 - EXC - - - 95 - 66 - 0 - EXC - - - 96 - 66 - 0 - INH - - - 97 - 66 - 1 - EXC - - - 98 - 66 - 0 - EXC - - - 99 - 66 - 0 - EXC - - - 0 - 67 - 0 - EXC - - - 1 - 67 - 1 - EXC - - - 2 - 67 - 0 - EXC - - - 3 - 67 - 0 - EXC - - - 4 - 67 - 1 - EXC - - - 5 - 67 - 0 - EXC - - - 6 - 67 - 0 - EXC - - - 7 - 67 - 0 - EXC - - - 8 - 67 - 0 - EXC - - - 9 - 67 - 0 - EXC - - - 10 - 67 - 0 - EXC - - - 11 - 67 - 1 - EXC - - - 12 - 67 - 0 - EXC - - - 13 - 67 - 0 - EXC - - - 14 - 67 - 1 - EXC - - - 15 - 67 - 0 - EXC - - - 16 - 67 - 0 - EXC - - - 17 - 67 - 0 - EXC - - - 18 - 67 - 0 - EXC - - - 19 - 67 - 0 - EXC - - - 20 - 67 - 0 - EXC - - - 21 - 67 - 1 - EXC - - - 22 - 67 - 0 - EXC - - - 23 - 67 - 0 - EXC - - - 24 - 67 - 1 - EXC - - - 25 - 67 - 0 - EXC - - - 26 - 67 - 0 - EXC - - - 27 - 67 - 0 - EXC - - - 28 - 67 - 0 - EXC - - - 29 - 67 - 0 - EXC - - - 30 - 67 - 0 - EXC - - - 31 - 67 - 1 - EXC - - - 32 - 67 - 0 - EXC - - - 33 - 67 - 0 - EXC - - - 34 - 67 - 1 - EXC - - - 35 - 67 - 0 - EXC - - - 36 - 67 - 0 - EXC - - - 37 - 67 - 0 - EXC - - - 38 - 67 - 0 - EXC - - - 39 - 67 - 0 - EXC - - - 40 - 67 - 0 - EXC - - - 41 - 67 - 1 - EXC - - - 42 - 67 - 0 - EXC - - - 43 - 67 - 0 - EXC - - - 44 - 67 - 1 - EXC - - - 45 - 67 - 0 - EXC - - - 46 - 67 - 0 - EXC - - - 47 - 67 - 0 - EXC - - - 48 - 67 - 0 - EXC - - - 49 - 67 - 0 - EXC - - - 50 - 67 - 0 - EXC - - - 51 - 67 - 1 - EXC - - - 52 - 67 - 0 - EXC - - - 53 - 67 - 0 - EXC - - - 54 - 67 - 1 - EXC - - - 55 - 67 - 0 - EXC - - - 56 - 67 - 0 - EXC - - - 57 - 67 - 0 - EXC - - - 58 - 67 - 0 - EXC - - - 59 - 67 - 0 - EXC - - - 60 - 67 - 0 - EXC - - - 61 - 67 - 1 - EXC - - - 62 - 67 - 0 - EXC - - - 63 - 67 - 0 - EXC - - - 64 - 67 - 1 - EXC - - - 65 - 67 - 0 - EXC - - - 66 - 67 - 0 - EXC - - - 67 - 67 - 0 - EXC - - - 68 - 67 - 0 - EXC - - - 69 - 67 - 0 - EXC - - - 70 - 67 - 0 - EXC - - - 71 - 67 - 1 - EXC - - - 72 - 67 - 0 - EXC - - - 73 - 67 - 0 - EXC - - - 74 - 67 - 1 - EXC - - - 75 - 67 - 0 - EXC - - - 76 - 67 - 0 - EXC - - - 77 - 67 - 0 - EXC - - - 78 - 67 - 0 - EXC - - - 79 - 67 - 0 - EXC - - - 80 - 67 - 0 - EXC - - - 81 - 67 - 1 - EXC - - - 82 - 67 - 0 - EXC - - - 83 - 67 - 0 - EXC - - - 84 - 67 - 1 - EXC - - - 85 - 67 - 0 - EXC - - - 86 - 67 - 0 - EXC - - - 87 - 67 - 0 - EXC - - - 88 - 67 - 0 - EXC - - - 89 - 67 - 0 - EXC - - - 90 - 67 - 0 - EXC - - - 91 - 67 - 1 - EXC - - - 92 - 67 - 0 - EXC - - - 93 - 67 - 0 - EXC - - - 94 - 67 - 1 - EXC - - - 95 - 67 - 0 - EXC - - - 96 - 67 - 0 - EXC - - - 97 - 67 - 0 - EXC - - - 98 - 67 - 0 - EXC - - - 99 - 67 - 0 - EXC - - - 0 - 68 - 0 - EXC - - - 1 - 68 - 0 - EXC - - - 2 - 68 - 0 - EXC - - - 3 - 68 - 0 - EXC - - - 4 - 68 - 0 - EXC - - - 5 - 68 - 0 - EXC - - - 6 - 68 - 0 - EXC - - - 7 - 68 - 0 - EXC - - - 8 - 68 - 0 - EXC - - - 9 - 68 - 0 - EXC - - - 10 - 68 - 0 - EXC - - - 11 - 68 - 0 - EXC - - - 12 - 68 - 0 - EXC - - - 13 - 68 - 0 - EXC - - - 14 - 68 - 0 - EXC - - - 15 - 68 - 0 - EXC - - - 16 - 68 - 0 - EXC - - - 17 - 68 - 0 - EXC - - - 18 - 68 - 0 - EXC - - - 19 - 68 - 0 - EXC - - - 20 - 68 - 0 - EXC - - - 21 - 68 - 0 - EXC - - - 22 - 68 - 0 - EXC - - - 23 - 68 - 0 - EXC - - - 24 - 68 - 0 - EXC - - - 25 - 68 - 0 - EXC - - - 26 - 68 - 0 - EXC - - - 27 - 68 - 0 - EXC - - - 28 - 68 - 0 - EXC - - - 29 - 68 - 0 - EXC - - - 30 - 68 - 0 - EXC - - - 31 - 68 - 0 - EXC - - - 32 - 68 - 0 - EXC - - - 33 - 68 - 0 - EXC - - - 34 - 68 - 0 - EXC - - - 35 - 68 - 0 - EXC - - - 36 - 68 - 0 - EXC - - - 37 - 68 - 0 - EXC - - - 38 - 68 - 0 - EXC - - - 39 - 68 - 0 - EXC - - - 40 - 68 - 0 - EXC - - - 41 - 68 - 0 - EXC - - - 42 - 68 - 0 - EXC - - - 43 - 68 - 0 - EXC - - - 44 - 68 - 0 - EXC - - - 45 - 68 - 0 - EXC - - - 46 - 68 - 0 - EXC - - - 47 - 68 - 0 - EXC - - - 48 - 68 - 0 - EXC - - - 49 - 68 - 0 - EXC - - - 50 - 68 - 0 - EXC - - - 51 - 68 - 0 - EXC - - - 52 - 68 - 0 - EXC - - - 53 - 68 - 0 - EXC - - - 54 - 68 - 0 - EXC - - - 55 - 68 - 0 - EXC - - - 56 - 68 - 0 - EXC - - - 57 - 68 - 0 - EXC - - - 58 - 68 - 0 - EXC - - - 59 - 68 - 0 - EXC - - - 60 - 68 - 0 - EXC - - - 61 - 68 - 0 - EXC - - - 62 - 68 - 0 - EXC - - - 63 - 68 - 0 - EXC - - - 64 - 68 - 0 - EXC - - - 65 - 68 - 0 - EXC - - - 66 - 68 - 0 - EXC - - - 67 - 68 - 0 - EXC - - - 68 - 68 - 0 - EXC - - - 69 - 68 - 0 - EXC - - - 70 - 68 - 0 - EXC - - - 71 - 68 - 0 - EXC - - - 72 - 68 - 0 - EXC - - - 73 - 68 - 0 - EXC - - - 74 - 68 - 0 - EXC - - - 75 - 68 - 0 - EXC - - - 76 - 68 - 0 - EXC - - - 77 - 68 - 0 - EXC - - - 78 - 68 - 0 - EXC - - - 79 - 68 - 0 - EXC - - - 80 - 68 - 0 - EXC - - - 81 - 68 - 0 - EXC - - - 82 - 68 - 0 - EXC - - - 83 - 68 - 0 - EXC - - - 84 - 68 - 0 - EXC - - - 85 - 68 - 0 - EXC - - - 86 - 68 - 0 - EXC - - - 87 - 68 - 0 - EXC - - - 88 - 68 - 0 - EXC - - - 89 - 68 - 0 - EXC - - - 90 - 68 - 0 - EXC - - - 91 - 68 - 0 - EXC - - - 92 - 68 - 0 - EXC - - - 93 - 68 - 0 - EXC - - - 94 - 68 - 0 - EXC - - - 95 - 68 - 0 - EXC - - - 96 - 68 - 0 - EXC - - - 97 - 68 - 0 - EXC - - - 98 - 68 - 0 - EXC - - - 99 - 68 - 0 - EXC - - - 0 - 69 - 0 - EXC - - - 1 - 69 - 0 - EXC - - - 2 - 69 - 0 - EXC - - - 3 - 69 - 0 - EXC - - - 4 - 69 - 0 - EXC - - - 5 - 69 - 0 - EXC - - - 6 - 69 - 0 - EXC - - - 7 - 69 - 1 - EXC - - - 8 - 69 - 0 - EXC - - - 9 - 69 - 0 - EXC - - - 10 - 69 - 0 - EXC - - - 11 - 69 - 0 - EXC - - - 12 - 69 - 0 - EXC - - - 13 - 69 - 0 - EXC - - - 14 - 69 - 0 - EXC - - - 15 - 69 - 0 - EXC - - - 16 - 69 - 0 - EXC - - - 17 - 69 - 1 - EXC - - - 18 - 69 - 0 - EXC - - - 19 - 69 - 0 - EXC - - - 20 - 69 - 0 - EXC - - - 21 - 69 - 0 - EXC - - - 22 - 69 - 0 - EXC - - - 23 - 69 - 0 - EXC - - - 24 - 69 - 0 - EXC - - - 25 - 69 - 0 - EXC - - - 26 - 69 - 0 - EXC - - - 27 - 69 - 1 - EXC - - - 28 - 69 - 0 - EXC - - - 29 - 69 - 0 - EXC - - - 30 - 69 - 0 - EXC - - - 31 - 69 - 0 - EXC - - - 32 - 69 - 0 - EXC - - - 33 - 69 - 0 - EXC - - - 34 - 69 - 0 - EXC - - - 35 - 69 - 0 - EXC - - - 36 - 69 - 0 - EXC - - - 37 - 69 - 1 - EXC - - - 38 - 69 - 0 - EXC - - - 39 - 69 - 0 - EXC - - - 40 - 69 - 0 - EXC - - - 41 - 69 - 0 - EXC - - - 42 - 69 - 0 - EXC - - - 43 - 69 - 0 - EXC - - - 44 - 69 - 0 - EXC - - - 45 - 69 - 0 - EXC - - - 46 - 69 - 0 - EXC - - - 47 - 69 - 1 - EXC - - - 48 - 69 - 0 - EXC - - - 49 - 69 - 0 - EXC - - - 50 - 69 - 0 - EXC - - - 51 - 69 - 0 - EXC - - - 52 - 69 - 0 - EXC - - - 53 - 69 - 0 - EXC - - - 54 - 69 - 0 - EXC - - - 55 - 69 - 0 - EXC - - - 56 - 69 - 0 - EXC - - - 57 - 69 - 1 - EXC - - - 58 - 69 - 0 - EXC - - - 59 - 69 - 0 - EXC - - - 60 - 69 - 0 - EXC - - - 61 - 69 - 0 - EXC - - - 62 - 69 - 0 - EXC - - - 63 - 69 - 0 - EXC - - - 64 - 69 - 0 - EXC - - - 65 - 69 - 0 - EXC - - - 66 - 69 - 0 - EXC - - - 67 - 69 - 1 - EXC - - - 68 - 69 - 0 - EXC - - - 69 - 69 - 0 - EXC - - - 70 - 69 - 0 - EXC - - - 71 - 69 - 0 - EXC - - - 72 - 69 - 0 - EXC - - - 73 - 69 - 0 - EXC - - - 74 - 69 - 0 - EXC - - - 75 - 69 - 0 - EXC - - - 76 - 69 - 0 - EXC - - - 77 - 69 - 1 - EXC - - - 78 - 69 - 0 - EXC - - - 79 - 69 - 0 - EXC - - - 80 - 69 - 0 - EXC - - - 81 - 69 - 0 - EXC - - - 82 - 69 - 0 - EXC - - - 83 - 69 - 0 - EXC - - - 84 - 69 - 0 - EXC - - - 85 - 69 - 0 - EXC - - - 86 - 69 - 0 - EXC - - - 87 - 69 - 1 - EXC - - - 88 - 69 - 0 - EXC - - - 89 - 69 - 0 - EXC - - - 90 - 69 - 0 - EXC - - - 91 - 69 - 0 - EXC - - - 92 - 69 - 0 - EXC - - - 93 - 69 - 0 - EXC - - - 94 - 69 - 0 - EXC - - - 95 - 69 - 0 - EXC - - - 96 - 69 - 0 - EXC - - - 97 - 69 - 1 - EXC - - - 98 - 69 - 0 - EXC - - - 99 - 69 - 0 - EXC - - - 0 - 70 - 0 - EXC - - - 1 - 70 - 0 - EXC - - - 2 - 70 - 0 - EXC - - - 3 - 70 - 0 - EXC - - - 4 - 70 - 0 - EXC - - - 5 - 70 - 0 - EXC - - - 6 - 70 - 0 - EXC - - - 7 - 70 - 1 - EXC - - - 8 - 70 - 0 - EXC - - - 9 - 70 - 0 - EXC - - - 10 - 70 - 0 - EXC - - - 11 - 70 - 0 - EXC - - - 12 - 70 - 0 - EXC - - - 13 - 70 - 0 - EXC - - - 14 - 70 - 0 - EXC - - - 15 - 70 - 0 - EXC - - - 16 - 70 - 0 - EXC - - - 17 - 70 - 1 - EXC - - - 18 - 70 - 0 - EXC - - - 19 - 70 - 0 - EXC - - - 20 - 70 - 0 - EXC - - - 21 - 70 - 0 - EXC - - - 22 - 70 - 0 - EXC - - - 23 - 70 - 0 - EXC - - - 24 - 70 - 0 - EXC - - - 25 - 70 - 0 - EXC - - - 26 - 70 - 0 - EXC - - - 27 - 70 - 1 - EXC - - - 28 - 70 - 0 - EXC - - - 29 - 70 - 0 - EXC - - - 30 - 70 - 0 - EXC - - - 31 - 70 - 0 - EXC - - - 32 - 70 - 0 - EXC - - - 33 - 70 - 0 - EXC - - - 34 - 70 - 0 - EXC - - - 35 - 70 - 0 - EXC - - - 36 - 70 - 0 - EXC - - - 37 - 70 - 1 - EXC - - - 38 - 70 - 0 - EXC - - - 39 - 70 - 0 - EXC - - - 40 - 70 - 0 - EXC - - - 41 - 70 - 0 - EXC - - - 42 - 70 - 0 - EXC - - - 43 - 70 - 0 - EXC - - - 44 - 70 - 0 - EXC - - - 45 - 70 - 0 - EXC - - - 46 - 70 - 0 - EXC - - - 47 - 70 - 1 - EXC - - - 48 - 70 - 0 - EXC - - - 49 - 70 - 0 - EXC - - - 50 - 70 - 0 - EXC - - - 51 - 70 - 0 - EXC - - - 52 - 70 - 0 - EXC - - - 53 - 70 - 0 - EXC - - - 54 - 70 - 0 - EXC - - - 55 - 70 - 0 - EXC - - - 56 - 70 - 0 - EXC - - - 57 - 70 - 1 - EXC - - - 58 - 70 - 0 - EXC - - - 59 - 70 - 0 - EXC - - - 60 - 70 - 0 - EXC - - - 61 - 70 - 0 - EXC - - - 62 - 70 - 0 - EXC - - - 63 - 70 - 0 - EXC - - - 64 - 70 - 0 - EXC - - - 65 - 70 - 0 - EXC - - - 66 - 70 - 0 - EXC - - - 67 - 70 - 1 - EXC - - - 68 - 70 - 0 - EXC - - - 69 - 70 - 0 - EXC - - - 70 - 70 - 0 - EXC - - - 71 - 70 - 0 - EXC - - - 72 - 70 - 0 - EXC - - - 73 - 70 - 0 - EXC - - - 74 - 70 - 0 - EXC - - - 75 - 70 - 0 - EXC - - - 76 - 70 - 0 - EXC - - - 77 - 70 - 1 - EXC - - - 78 - 70 - 0 - EXC - - - 79 - 70 - 0 - EXC - - - 80 - 70 - 0 - EXC - - - 81 - 70 - 0 - EXC - - - 82 - 70 - 0 - EXC - - - 83 - 70 - 0 - EXC - - - 84 - 70 - 0 - EXC - - - 85 - 70 - 0 - EXC - - - 86 - 70 - 0 - EXC - - - 87 - 70 - 1 - EXC - - - 88 - 70 - 0 - EXC - - - 89 - 70 - 0 - EXC - - - 90 - 70 - 0 - EXC - - - 91 - 70 - 0 - EXC - - - 92 - 70 - 0 - EXC - - - 93 - 70 - 0 - EXC - - - 94 - 70 - 0 - EXC - - - 95 - 70 - 0 - EXC - - - 96 - 70 - 0 - EXC - - - 97 - 70 - 1 - EXC - - - 98 - 70 - 0 - EXC - - - 99 - 70 - 0 - EXC - - - 0 - 71 - 0 - EXC - - - 1 - 71 - 1 - EXC - - - 2 - 71 - 0 - EXC - - - 3 - 71 - 0 - EXC - - - 4 - 71 - 1 - EXC - - - 5 - 71 - 0 - EXC - - - 6 - 71 - 0 - EXC - - - 7 - 71 - 0 - EXC - - - 8 - 71 - 0 - EXC - - - 9 - 71 - 0 - EXC - - - 10 - 71 - 0 - EXC - - - 11 - 71 - 1 - EXC - - - 12 - 71 - 0 - EXC - - - 13 - 71 - 0 - EXC - - - 14 - 71 - 1 - EXC - - - 15 - 71 - 0 - EXC - - - 16 - 71 - 0 - EXC - - - 17 - 71 - 0 - EXC - - - 18 - 71 - 0 - EXC - - - 19 - 71 - 0 - EXC - - - 20 - 71 - 0 - EXC - - - 21 - 71 - 1 - EXC - - - 22 - 71 - 0 - EXC - - - 23 - 71 - 0 - EXC - - - 24 - 71 - 1 - EXC - - - 25 - 71 - 0 - EXC - - - 26 - 71 - 0 - EXC - - - 27 - 71 - 0 - EXC - - - 28 - 71 - 0 - EXC - - - 29 - 71 - 0 - EXC - - - 30 - 71 - 0 - EXC - - - 31 - 71 - 1 - EXC - - - 32 - 71 - 0 - EXC - - - 33 - 71 - 0 - EXC - - - 34 - 71 - 1 - EXC - - - 35 - 71 - 0 - EXC - - - 36 - 71 - 0 - EXC - - - 37 - 71 - 0 - EXC - - - 38 - 71 - 0 - EXC - - - 39 - 71 - 0 - EXC - - - 40 - 71 - 0 - EXC - - - 41 - 71 - 1 - EXC - - - 42 - 71 - 0 - EXC - - - 43 - 71 - 0 - EXC - - - 44 - 71 - 1 - EXC - - - 45 - 71 - 0 - EXC - - - 46 - 71 - 0 - EXC - - - 47 - 71 - 0 - EXC - - - 48 - 71 - 0 - EXC - - - 49 - 71 - 0 - EXC - - - 50 - 71 - 0 - EXC - - - 51 - 71 - 1 - EXC - - - 52 - 71 - 0 - EXC - - - 53 - 71 - 0 - EXC - - - 54 - 71 - 1 - EXC - - - 55 - 71 - 0 - EXC - - - 56 - 71 - 0 - EXC - - - 57 - 71 - 0 - EXC - - - 58 - 71 - 0 - EXC - - - 59 - 71 - 0 - EXC - - - 60 - 71 - 0 - EXC - - - 61 - 71 - 1 - EXC - - - 62 - 71 - 0 - EXC - - - 63 - 71 - 0 - EXC - - - 64 - 71 - 1 - EXC - - - 65 - 71 - 0 - EXC - - - 66 - 71 - 0 - EXC - - - 67 - 71 - 0 - EXC - - - 68 - 71 - 0 - EXC - - - 69 - 71 - 0 - EXC - - - 70 - 71 - 0 - EXC - - - 71 - 71 - 1 - EXC - - - 72 - 71 - 0 - EXC - - - 73 - 71 - 0 - EXC - - - 74 - 71 - 1 - EXC - - - 75 - 71 - 0 - EXC - - - 76 - 71 - 0 - EXC - - - 77 - 71 - 0 - EXC - - - 78 - 71 - 0 - EXC - - - 79 - 71 - 0 - EXC - - - 80 - 71 - 0 - EXC - - - 81 - 71 - 1 - EXC - - - 82 - 71 - 0 - EXC - - - 83 - 71 - 0 - EXC - - - 84 - 71 - 1 - EXC - - - 85 - 71 - 0 - EXC - - - 86 - 71 - 0 - EXC - - - 87 - 71 - 0 - EXC - - - 88 - 71 - 0 - EXC - - - 89 - 71 - 0 - EXC - - - 90 - 71 - 0 - EXC - - - 91 - 71 - 1 - EXC - - - 92 - 71 - 0 - EXC - - - 93 - 71 - 0 - EXC - - - 94 - 71 - 1 - EXC - - - 95 - 71 - 0 - EXC - - - 96 - 71 - 0 - EXC - - - 97 - 71 - 0 - EXC - - - 98 - 71 - 0 - EXC - - - 99 - 71 - 0 - EXC - - - 0 - 72 - 0 - EXC - - - 1 - 72 - 0 - EXC - - - 2 - 72 - 0 - EXC - - - 3 - 72 - 0 - EXC - - - 4 - 72 - 0 - EXC - - - 5 - 72 - 0 - EXC - - - 6 - 72 - 0 - EXC - - - 7 - 72 - 0 - EXC - - - 8 - 72 - 0 - EXC - - - 9 - 72 - 0 - EXC - - - 10 - 72 - 0 - EXC - - - 11 - 72 - 0 - EXC - - - 12 - 72 - 0 - EXC - - - 13 - 72 - 0 - EXC - - - 14 - 72 - 0 - EXC - - - 15 - 72 - 0 - EXC - - - 16 - 72 - 0 - EXC - - - 17 - 72 - 0 - EXC - - - 18 - 72 - 0 - EXC - - - 19 - 72 - 0 - EXC - - - 20 - 72 - 0 - EXC - - - 21 - 72 - 0 - EXC - - - 22 - 72 - 0 - EXC - - - 23 - 72 - 0 - EXC - - - 24 - 72 - 0 - EXC - - - 25 - 72 - 0 - EXC - - - 26 - 72 - 0 - EXC - - - 27 - 72 - 0 - EXC - - - 28 - 72 - 0 - EXC - - - 29 - 72 - 0 - EXC - - - 30 - 72 - 0 - EXC - - - 31 - 72 - 0 - EXC - - - 32 - 72 - 0 - EXC - - - 33 - 72 - 0 - EXC - - - 34 - 72 - 0 - EXC - - - 35 - 72 - 0 - EXC - - - 36 - 72 - 0 - EXC - - - 37 - 72 - 0 - EXC - - - 38 - 72 - 0 - EXC - - - 39 - 72 - 0 - EXC - - - 40 - 72 - 0 - EXC - - - 41 - 72 - 0 - EXC - - - 42 - 72 - 0 - EXC - - - 43 - 72 - 0 - EXC - - - 44 - 72 - 0 - EXC - - - 45 - 72 - 0 - EXC - - - 46 - 72 - 0 - EXC - - - 47 - 72 - 0 - EXC - - - 48 - 72 - 0 - EXC - - - 49 - 72 - 0 - EXC - - - 50 - 72 - 0 - EXC - - - 51 - 72 - 0 - EXC - - - 52 - 72 - 0 - EXC - - - 53 - 72 - 0 - EXC - - - 54 - 72 - 0 - EXC - - - 55 - 72 - 0 - EXC - - - 56 - 72 - 0 - EXC - - - 57 - 72 - 0 - EXC - - - 58 - 72 - 0 - EXC - - - 59 - 72 - 0 - EXC - - - 60 - 72 - 0 - EXC - - - 61 - 72 - 0 - EXC - - - 62 - 72 - 0 - EXC - - - 63 - 72 - 0 - EXC - - - 64 - 72 - 0 - EXC - - - 65 - 72 - 0 - EXC - - - 66 - 72 - 0 - EXC - - - 67 - 72 - 0 - EXC - - - 68 - 72 - 0 - EXC - - - 69 - 72 - 0 - EXC - - - 70 - 72 - 0 - EXC - - - 71 - 72 - 0 - EXC - - - 72 - 72 - 0 - EXC - - - 73 - 72 - 0 - EXC - - - 74 - 72 - 0 - EXC - - - 75 - 72 - 0 - EXC - - - 76 - 72 - 0 - EXC - - - 77 - 72 - 0 - EXC - - - 78 - 72 - 0 - EXC - - - 79 - 72 - 0 - EXC - - - 80 - 72 - 0 - EXC - - - 81 - 72 - 0 - EXC - - - 82 - 72 - 0 - EXC - - - 83 - 72 - 0 - EXC - - - 84 - 72 - 0 - EXC - - - 85 - 72 - 0 - EXC - - - 86 - 72 - 0 - EXC - - - 87 - 72 - 0 - EXC - - - 88 - 72 - 0 - EXC - - - 89 - 72 - 0 - EXC - - - 90 - 72 - 0 - EXC - - - 91 - 72 - 0 - EXC - - - 92 - 72 - 0 - EXC - - - 93 - 72 - 0 - EXC - - - 94 - 72 - 0 - EXC - - - 95 - 72 - 0 - EXC - - - 96 - 72 - 0 - EXC - - - 97 - 72 - 0 - EXC - - - 98 - 72 - 0 - EXC - - - 99 - 72 - 0 - EXC - - - 0 - 73 - 0 - EXC - - - 1 - 73 - 0 - EXC - - - 2 - 73 - 0 - EXC - - - 3 - 73 - 0 - INH - - - 4 - 73 - 0 - EXC - - - 5 - 73 - 0 - EXC - - - 6 - 73 - 0 - EXC - - - 7 - 73 - 1 - EXC - - - 8 - 73 - 0 - EXC - - - 9 - 73 - 0 - EXC - - - 10 - 73 - 0 - EXC - - - 11 - 73 - 0 - EXC - - - 12 - 73 - 0 - EXC - - - 13 - 73 - 0 - INH - - - 14 - 73 - 0 - EXC - - - 15 - 73 - 0 - EXC - - - 16 - 73 - 0 - EXC - - - 17 - 73 - 1 - EXC - - - 18 - 73 - 0 - EXC - - - 19 - 73 - 0 - EXC - - - 20 - 73 - 0 - EXC - - - 21 - 73 - 0 - EXC - - - 22 - 73 - 0 - EXC - - - 23 - 73 - 0 - INH - - - 24 - 73 - 0 - EXC - - - 25 - 73 - 0 - EXC - - - 26 - 73 - 0 - EXC - - - 27 - 73 - 1 - EXC - - - 28 - 73 - 0 - EXC - - - 29 - 73 - 0 - EXC - - - 30 - 73 - 0 - EXC - - - 31 - 73 - 0 - EXC - - - 32 - 73 - 0 - EXC - - - 33 - 73 - 0 - INH - - - 34 - 73 - 0 - EXC - - - 35 - 73 - 0 - EXC - - - 36 - 73 - 0 - EXC - - - 37 - 73 - 1 - EXC - - - 38 - 73 - 0 - EXC - - - 39 - 73 - 0 - EXC - - - 40 - 73 - 0 - EXC - - - 41 - 73 - 0 - EXC - - - 42 - 73 - 0 - EXC - - - 43 - 73 - 0 - INH - - - 44 - 73 - 0 - EXC - - - 45 - 73 - 0 - EXC - - - 46 - 73 - 0 - EXC - - - 47 - 73 - 1 - EXC - - - 48 - 73 - 0 - EXC - - - 49 - 73 - 0 - EXC - - - 50 - 73 - 0 - EXC - - - 51 - 73 - 0 - EXC - - - 52 - 73 - 0 - EXC - - - 53 - 73 - 0 - INH - - - 54 - 73 - 0 - EXC - - - 55 - 73 - 0 - EXC - - - 56 - 73 - 0 - EXC - - - 57 - 73 - 1 - EXC - - - 58 - 73 - 0 - EXC - - - 59 - 73 - 0 - EXC - - - 60 - 73 - 0 - EXC - - - 61 - 73 - 0 - EXC - - - 62 - 73 - 0 - EXC - - - 63 - 73 - 0 - INH - - - 64 - 73 - 0 - EXC - - - 65 - 73 - 0 - EXC - - - 66 - 73 - 0 - EXC - - - 67 - 73 - 1 - EXC - - - 68 - 73 - 0 - EXC - - - 69 - 73 - 0 - EXC - - - 70 - 73 - 0 - EXC - - - 71 - 73 - 0 - EXC - - - 72 - 73 - 0 - EXC - - - 73 - 73 - 0 - INH - - - 74 - 73 - 0 - EXC - - - 75 - 73 - 0 - EXC - - - 76 - 73 - 0 - EXC - - - 77 - 73 - 1 - EXC - - - 78 - 73 - 0 - EXC - - - 79 - 73 - 0 - EXC - - - 80 - 73 - 0 - EXC - - - 81 - 73 - 0 - EXC - - - 82 - 73 - 0 - EXC - - - 83 - 73 - 0 - INH - - - 84 - 73 - 0 - EXC - - - 85 - 73 - 0 - EXC - - - 86 - 73 - 0 - EXC - - - 87 - 73 - 1 - EXC - - - 88 - 73 - 0 - EXC - - - 89 - 73 - 0 - EXC - - - 90 - 73 - 0 - EXC - - - 91 - 73 - 0 - EXC - - - 92 - 73 - 0 - EXC - - - 93 - 73 - 0 - INH - - - 94 - 73 - 0 - EXC - - - 95 - 73 - 0 - EXC - - - 96 - 73 - 0 - EXC - - - 97 - 73 - 1 - EXC - - - 98 - 73 - 0 - EXC - - - 99 - 73 - 0 - EXC - - - 0 - 74 - 0 - EXC - - - 1 - 74 - 1 - EXC - - - 2 - 74 - 0 - EXC - - - 3 - 74 - 0 - EXC - - - 4 - 74 - 1 - EXC - - - 5 - 74 - 0 - EXC - - - 6 - 74 - 0 - EXC - - - 7 - 74 - 0 - EXC - - - 8 - 74 - 0 - EXC - - - 9 - 74 - 0 - EXC - - - 10 - 74 - 0 - EXC - - - 11 - 74 - 1 - EXC - - - 12 - 74 - 0 - EXC - - - 13 - 74 - 0 - EXC - - - 14 - 74 - 1 - EXC - - - 15 - 74 - 0 - EXC - - - 16 - 74 - 0 - EXC - - - 17 - 74 - 0 - EXC - - - 18 - 74 - 0 - EXC - - - 19 - 74 - 0 - EXC - - - 20 - 74 - 0 - EXC - - - 21 - 74 - 1 - EXC - - - 22 - 74 - 0 - EXC - - - 23 - 74 - 0 - EXC - - - 24 - 74 - 1 - EXC - - - 25 - 74 - 0 - EXC - - - 26 - 74 - 0 - EXC - - - 27 - 74 - 0 - EXC - - - 28 - 74 - 0 - EXC - - - 29 - 74 - 0 - EXC - - - 30 - 74 - 0 - EXC - - - 31 - 74 - 1 - EXC - - - 32 - 74 - 0 - EXC - - - 33 - 74 - 0 - EXC - - - 34 - 74 - 1 - EXC - - - 35 - 74 - 0 - EXC - - - 36 - 74 - 0 - EXC - - - 37 - 74 - 0 - EXC - - - 38 - 74 - 0 - EXC - - - 39 - 74 - 0 - EXC - - - 40 - 74 - 0 - EXC - - - 41 - 74 - 1 - EXC - - - 42 - 74 - 0 - EXC - - - 43 - 74 - 0 - EXC - - - 44 - 74 - 1 - EXC - - - 45 - 74 - 0 - EXC - - - 46 - 74 - 0 - EXC - - - 47 - 74 - 0 - EXC - - - 48 - 74 - 0 - EXC - - - 49 - 74 - 0 - EXC - - - 50 - 74 - 0 - EXC - - - 51 - 74 - 1 - EXC - - - 52 - 74 - 0 - EXC - - - 53 - 74 - 0 - EXC - - - 54 - 74 - 1 - EXC - - - 55 - 74 - 0 - EXC - - - 56 - 74 - 0 - EXC - - - 57 - 74 - 0 - EXC - - - 58 - 74 - 0 - EXC - - - 59 - 74 - 0 - EXC - - - 60 - 74 - 0 - EXC - - - 61 - 74 - 1 - EXC - - - 62 - 74 - 0 - EXC - - - 63 - 74 - 0 - EXC - - - 64 - 74 - 1 - EXC - - - 65 - 74 - 0 - EXC - - - 66 - 74 - 0 - EXC - - - 67 - 74 - 0 - EXC - - - 68 - 74 - 0 - EXC - - - 69 - 74 - 0 - EXC - - - 70 - 74 - 0 - EXC - - - 71 - 74 - 1 - EXC - - - 72 - 74 - 0 - EXC - - - 73 - 74 - 0 - EXC - - - 74 - 74 - 1 - EXC - - - 75 - 74 - 0 - EXC - - - 76 - 74 - 0 - EXC - - - 77 - 74 - 0 - EXC - - - 78 - 74 - 0 - EXC - - - 79 - 74 - 0 - EXC - - - 80 - 74 - 0 - EXC - - - 81 - 74 - 1 - EXC - - - 82 - 74 - 0 - EXC - - - 83 - 74 - 0 - EXC - - - 84 - 74 - 1 - EXC - - - 85 - 74 - 0 - EXC - - - 86 - 74 - 0 - EXC - - - 87 - 74 - 0 - EXC - - - 88 - 74 - 0 - EXC - - - 89 - 74 - 0 - EXC - - - 90 - 74 - 0 - EXC - - - 91 - 74 - 1 - EXC - - - 92 - 74 - 0 - EXC - - - 93 - 74 - 0 - EXC - - - 94 - 74 - 1 - EXC - - - 95 - 74 - 0 - EXC - - - 96 - 74 - 0 - EXC - - - 97 - 74 - 0 - EXC - - - 98 - 74 - 0 - EXC - - - 99 - 74 - 0 - EXC - - - 0 - 75 - 0 - EXC - - - 1 - 75 - 0 - EXC - - - 2 - 75 - 0 - EXC - - - 3 - 75 - 0 - EXC - - - 4 - 75 - 0 - EXC - - - 5 - 75 - 0 - EXC - - - 6 - 75 - 0 - EXC - - - 7 - 75 - 0 - EXC - - - 8 - 75 - 0 - EXC - - - 9 - 75 - 0 - EXC - - - 10 - 75 - 0 - EXC - - - 11 - 75 - 0 - EXC - - - 12 - 75 - 0 - EXC - - - 13 - 75 - 0 - EXC - - - 14 - 75 - 0 - EXC - - - 15 - 75 - 0 - EXC - - - 16 - 75 - 0 - EXC - - - 17 - 75 - 0 - EXC - - - 18 - 75 - 0 - EXC - - - 19 - 75 - 0 - EXC - - - 20 - 75 - 0 - EXC - - - 21 - 75 - 0 - EXC - - - 22 - 75 - 0 - EXC - - - 23 - 75 - 0 - EXC - - - 24 - 75 - 0 - EXC - - - 25 - 75 - 0 - EXC - - - 26 - 75 - 0 - EXC - - - 27 - 75 - 0 - EXC - - - 28 - 75 - 0 - EXC - - - 29 - 75 - 0 - EXC - - - 30 - 75 - 0 - EXC - - - 31 - 75 - 0 - EXC - - - 32 - 75 - 0 - EXC - - - 33 - 75 - 0 - EXC - - - 34 - 75 - 0 - EXC - - - 35 - 75 - 0 - EXC - - - 36 - 75 - 0 - EXC - - - 37 - 75 - 0 - EXC - - - 38 - 75 - 0 - EXC - - - 39 - 75 - 0 - EXC - - - 40 - 75 - 0 - EXC - - - 41 - 75 - 0 - EXC - - - 42 - 75 - 0 - EXC - - - 43 - 75 - 0 - EXC - - - 44 - 75 - 0 - EXC - - - 45 - 75 - 0 - EXC - - - 46 - 75 - 0 - EXC - - - 47 - 75 - 0 - EXC - - - 48 - 75 - 0 - EXC - - - 49 - 75 - 0 - EXC - - - 50 - 75 - 0 - EXC - - - 51 - 75 - 0 - EXC - - - 52 - 75 - 0 - EXC - - - 53 - 75 - 0 - EXC - - - 54 - 75 - 0 - EXC - - - 55 - 75 - 0 - EXC - - - 56 - 75 - 0 - EXC - - - 57 - 75 - 0 - EXC - - - 58 - 75 - 0 - EXC - - - 59 - 75 - 0 - EXC - - - 60 - 75 - 0 - EXC - - - 61 - 75 - 0 - EXC - - - 62 - 75 - 0 - EXC - - - 63 - 75 - 0 - EXC - - - 64 - 75 - 0 - EXC - - - 65 - 75 - 0 - EXC - - - 66 - 75 - 0 - EXC - - - 67 - 75 - 0 - EXC - - - 68 - 75 - 0 - EXC - - - 69 - 75 - 0 - EXC - - - 70 - 75 - 0 - EXC - - - 71 - 75 - 0 - EXC - - - 72 - 75 - 0 - EXC - - - 73 - 75 - 0 - EXC - - - 74 - 75 - 0 - EXC - - - 75 - 75 - 0 - EXC - - - 76 - 75 - 0 - EXC - - - 77 - 75 - 0 - EXC - - - 78 - 75 - 0 - EXC - - - 79 - 75 - 0 - EXC - - - 80 - 75 - 0 - EXC - - - 81 - 75 - 0 - EXC - - - 82 - 75 - 0 - EXC - - - 83 - 75 - 0 - EXC - - - 84 - 75 - 0 - EXC - - - 85 - 75 - 0 - EXC - - - 86 - 75 - 0 - EXC - - - 87 - 75 - 0 - EXC - - - 88 - 75 - 0 - EXC - - - 89 - 75 - 0 - EXC - - - 90 - 75 - 0 - EXC - - - 91 - 75 - 0 - EXC - - - 92 - 75 - 0 - EXC - - - 93 - 75 - 0 - EXC - - - 94 - 75 - 0 - EXC - - - 95 - 75 - 0 - EXC - - - 96 - 75 - 0 - EXC - - - 97 - 75 - 0 - EXC - - - 98 - 75 - 0 - EXC - - - 99 - 75 - 0 - EXC - - - 0 - 76 - 0 - EXC - - - 1 - 76 - 0 - EXC - - - 2 - 76 - 0 - EXC - - - 3 - 76 - 0 - EXC - - - 4 - 76 - 0 - EXC - - - 5 - 76 - 0 - EXC - - - 6 - 76 - 0 - INH - - - 7 - 76 - 1 - EXC - - - 8 - 76 - 0 - EXC - - - 9 - 76 - 0 - EXC - - - 10 - 76 - 0 - EXC - - - 11 - 76 - 0 - EXC - - - 12 - 76 - 0 - EXC - - - 13 - 76 - 0 - EXC - - - 14 - 76 - 0 - EXC - - - 15 - 76 - 0 - EXC - - - 16 - 76 - 0 - INH - - - 17 - 76 - 1 - EXC - - - 18 - 76 - 0 - EXC - - - 19 - 76 - 0 - EXC - - - 20 - 76 - 0 - EXC - - - 21 - 76 - 0 - EXC - - - 22 - 76 - 0 - EXC - - - 23 - 76 - 0 - EXC - - - 24 - 76 - 0 - EXC - - - 25 - 76 - 0 - EXC - - - 26 - 76 - 0 - INH - - - 27 - 76 - 1 - EXC - - - 28 - 76 - 0 - EXC - - - 29 - 76 - 0 - EXC - - - 30 - 76 - 0 - EXC - - - 31 - 76 - 0 - EXC - - - 32 - 76 - 0 - EXC - - - 33 - 76 - 0 - EXC - - - 34 - 76 - 0 - EXC - - - 35 - 76 - 0 - EXC - - - 36 - 76 - 0 - INH - - - 37 - 76 - 1 - EXC - - - 38 - 76 - 0 - EXC - - - 39 - 76 - 0 - EXC - - - 40 - 76 - 0 - EXC - - - 41 - 76 - 0 - EXC - - - 42 - 76 - 0 - EXC - - - 43 - 76 - 0 - EXC - - - 44 - 76 - 0 - EXC - - - 45 - 76 - 0 - EXC - - - 46 - 76 - 0 - INH - - - 47 - 76 - 1 - EXC - - - 48 - 76 - 0 - EXC - - - 49 - 76 - 0 - EXC - - - 50 - 76 - 0 - EXC - - - 51 - 76 - 0 - EXC - - - 52 - 76 - 0 - EXC - - - 53 - 76 - 0 - EXC - - - 54 - 76 - 0 - EXC - - - 55 - 76 - 0 - EXC - - - 56 - 76 - 0 - INH - - - 57 - 76 - 1 - EXC - - - 58 - 76 - 0 - EXC - - - 59 - 76 - 0 - EXC - - - 60 - 76 - 0 - EXC - - - 61 - 76 - 0 - EXC - - - 62 - 76 - 0 - EXC - - - 63 - 76 - 0 - EXC - - - 64 - 76 - 0 - EXC - - - 65 - 76 - 0 - EXC - - - 66 - 76 - 0 - INH - - - 67 - 76 - 1 - EXC - - - 68 - 76 - 0 - EXC - - - 69 - 76 - 0 - EXC - - - 70 - 76 - 0 - EXC - - - 71 - 76 - 0 - EXC - - - 72 - 76 - 0 - EXC - - - 73 - 76 - 0 - EXC - - - 74 - 76 - 0 - EXC - - - 75 - 76 - 0 - EXC - - - 76 - 76 - 0 - INH - - - 77 - 76 - 1 - EXC - - - 78 - 76 - 0 - EXC - - - 79 - 76 - 0 - EXC - - - 80 - 76 - 0 - EXC - - - 81 - 76 - 0 - EXC - - - 82 - 76 - 0 - EXC - - - 83 - 76 - 0 - EXC - - - 84 - 76 - 0 - EXC - - - 85 - 76 - 0 - EXC - - - 86 - 76 - 0 - INH - - - 87 - 76 - 1 - EXC - - - 88 - 76 - 0 - EXC - - - 89 - 76 - 0 - EXC - - - 90 - 76 - 0 - EXC - - - 91 - 76 - 0 - EXC - - - 92 - 76 - 0 - EXC - - - 93 - 76 - 0 - EXC - - - 94 - 76 - 0 - EXC - - - 95 - 76 - 0 - EXC - - - 96 - 76 - 0 - INH - - - 97 - 76 - 1 - EXC - - - 98 - 76 - 0 - EXC - - - 99 - 76 - 0 - EXC - - - 0 - 77 - 0 - EXC - - - 1 - 77 - 1 - EXC - - - 2 - 77 - 0 - EXC - - - 3 - 77 - 0 - EXC - - - 4 - 77 - 1 - EXC - - - 5 - 77 - 0 - EXC - - - 6 - 77 - 0 - EXC - - - 7 - 77 - 0 - EXC - - - 8 - 77 - 0 - EXC - - - 9 - 77 - 0 - EXC - - - 10 - 77 - 0 - EXC - - - 11 - 77 - 1 - EXC - - - 12 - 77 - 0 - EXC - - - 13 - 77 - 0 - EXC - - - 14 - 77 - 1 - EXC - - - 15 - 77 - 0 - EXC - - - 16 - 77 - 0 - EXC - - - 17 - 77 - 0 - EXC - - - 18 - 77 - 0 - EXC - - - 19 - 77 - 0 - EXC - - - 20 - 77 - 0 - EXC - - - 21 - 77 - 1 - EXC - - - 22 - 77 - 0 - EXC - - - 23 - 77 - 0 - EXC - - - 24 - 77 - 1 - EXC - - - 25 - 77 - 0 - EXC - - - 26 - 77 - 0 - EXC - - - 27 - 77 - 0 - EXC - - - 28 - 77 - 0 - EXC - - - 29 - 77 - 0 - EXC - - - 30 - 77 - 0 - EXC - - - 31 - 77 - 1 - EXC - - - 32 - 77 - 0 - EXC - - - 33 - 77 - 0 - EXC - - - 34 - 77 - 1 - EXC - - - 35 - 77 - 0 - EXC - - - 36 - 77 - 0 - EXC - - - 37 - 77 - 0 - EXC - - - 38 - 77 - 0 - EXC - - - 39 - 77 - 0 - EXC - - - 40 - 77 - 0 - EXC - - - 41 - 77 - 1 - EXC - - - 42 - 77 - 0 - EXC - - - 43 - 77 - 0 - EXC - - - 44 - 77 - 1 - EXC - - - 45 - 77 - 0 - EXC - - - 46 - 77 - 0 - EXC - - - 47 - 77 - 0 - EXC - - - 48 - 77 - 0 - EXC - - - 49 - 77 - 0 - EXC - - - 50 - 77 - 0 - EXC - - - 51 - 77 - 1 - EXC - - - 52 - 77 - 0 - EXC - - - 53 - 77 - 0 - EXC - - - 54 - 77 - 1 - EXC - - - 55 - 77 - 0 - EXC - - - 56 - 77 - 0 - EXC - - - 57 - 77 - 0 - EXC - - - 58 - 77 - 0 - EXC - - - 59 - 77 - 0 - EXC - - - 60 - 77 - 0 - EXC - - - 61 - 77 - 1 - EXC - - - 62 - 77 - 0 - EXC - - - 63 - 77 - 0 - EXC - - - 64 - 77 - 1 - EXC - - - 65 - 77 - 0 - EXC - - - 66 - 77 - 0 - EXC - - - 67 - 77 - 0 - EXC - - - 68 - 77 - 0 - EXC - - - 69 - 77 - 0 - EXC - - - 70 - 77 - 0 - EXC - - - 71 - 77 - 1 - EXC - - - 72 - 77 - 0 - EXC - - - 73 - 77 - 0 - EXC - - - 74 - 77 - 1 - EXC - - - 75 - 77 - 0 - EXC - - - 76 - 77 - 0 - EXC - - - 77 - 77 - 0 - EXC - - - 78 - 77 - 0 - EXC - - - 79 - 77 - 0 - EXC - - - 80 - 77 - 0 - EXC - - - 81 - 77 - 1 - EXC - - - 82 - 77 - 0 - EXC - - - 83 - 77 - 0 - EXC - - - 84 - 77 - 1 - EXC - - - 85 - 77 - 0 - EXC - - - 86 - 77 - 0 - EXC - - - 87 - 77 - 0 - EXC - - - 88 - 77 - 0 - EXC - - - 89 - 77 - 0 - EXC - - - 90 - 77 - 0 - EXC - - - 91 - 77 - 1 - EXC - - - 92 - 77 - 0 - EXC - - - 93 - 77 - 0 - EXC - - - 94 - 77 - 1 - EXC - - - 95 - 77 - 0 - EXC - - - 96 - 77 - 0 - EXC - - - 97 - 77 - 0 - EXC - - - 98 - 77 - 0 - EXC - - - 99 - 77 - 0 - EXC - - - 0 - 78 - 0 - EXC - - - 1 - 78 - 0 - EXC - - - 2 - 78 - 0 - EXC - - - 3 - 78 - 0 - EXC - - - 4 - 78 - 0 - EXC - - - 5 - 78 - 0 - EXC - - - 6 - 78 - 0 - EXC - - - 7 - 78 - 0 - EXC - - - 8 - 78 - 0 - EXC - - - 9 - 78 - 0 - EXC - - - 10 - 78 - 0 - EXC - - - 11 - 78 - 0 - EXC - - - 12 - 78 - 0 - EXC - - - 13 - 78 - 0 - EXC - - - 14 - 78 - 0 - EXC - - - 15 - 78 - 0 - EXC - - - 16 - 78 - 0 - EXC - - - 17 - 78 - 0 - EXC - - - 18 - 78 - 0 - EXC - - - 19 - 78 - 0 - EXC - - - 20 - 78 - 0 - EXC - - - 21 - 78 - 0 - EXC - - - 22 - 78 - 0 - EXC - - - 23 - 78 - 0 - EXC - - - 24 - 78 - 0 - EXC - - - 25 - 78 - 0 - EXC - - - 26 - 78 - 0 - EXC - - - 27 - 78 - 0 - EXC - - - 28 - 78 - 0 - EXC - - - 29 - 78 - 0 - EXC - - - 30 - 78 - 0 - EXC - - - 31 - 78 - 0 - EXC - - - 32 - 78 - 0 - EXC - - - 33 - 78 - 0 - EXC - - - 34 - 78 - 0 - EXC - - - 35 - 78 - 0 - EXC - - - 36 - 78 - 0 - EXC - - - 37 - 78 - 0 - EXC - - - 38 - 78 - 0 - EXC - - - 39 - 78 - 0 - EXC - - - 40 - 78 - 0 - EXC - - - 41 - 78 - 0 - EXC - - - 42 - 78 - 0 - EXC - - - 43 - 78 - 0 - EXC - - - 44 - 78 - 0 - EXC - - - 45 - 78 - 0 - EXC - - - 46 - 78 - 0 - EXC - - - 47 - 78 - 0 - EXC - - - 48 - 78 - 0 - EXC - - - 49 - 78 - 0 - EXC - - - 50 - 78 - 0 - EXC - - - 51 - 78 - 0 - EXC - - - 52 - 78 - 0 - EXC - - - 53 - 78 - 0 - EXC - - - 54 - 78 - 0 - EXC - - - 55 - 78 - 0 - EXC - - - 56 - 78 - 0 - EXC - - - 57 - 78 - 0 - EXC - - - 58 - 78 - 0 - EXC - - - 59 - 78 - 0 - EXC - - - 60 - 78 - 0 - EXC - - - 61 - 78 - 0 - EXC - - - 62 - 78 - 0 - EXC - - - 63 - 78 - 0 - EXC - - - 64 - 78 - 0 - EXC - - - 65 - 78 - 0 - EXC - - - 66 - 78 - 0 - EXC - - - 67 - 78 - 0 - EXC - - - 68 - 78 - 0 - EXC - - - 69 - 78 - 0 - EXC - - - 70 - 78 - 0 - EXC - - - 71 - 78 - 0 - EXC - - - 72 - 78 - 0 - EXC - - - 73 - 78 - 0 - EXC - - - 74 - 78 - 0 - EXC - - - 75 - 78 - 0 - EXC - - - 76 - 78 - 0 - EXC - - - 77 - 78 - 0 - EXC - - - 78 - 78 - 0 - EXC - - - 79 - 78 - 0 - EXC - - - 80 - 78 - 0 - EXC - - - 81 - 78 - 0 - EXC - - - 82 - 78 - 0 - EXC - - - 83 - 78 - 0 - EXC - - - 84 - 78 - 0 - EXC - - - 85 - 78 - 0 - EXC - - - 86 - 78 - 0 - EXC - - - 87 - 78 - 0 - EXC - - - 88 - 78 - 0 - EXC - - - 89 - 78 - 0 - EXC - - - 90 - 78 - 0 - EXC - - - 91 - 78 - 0 - EXC - - - 92 - 78 - 0 - EXC - - - 93 - 78 - 0 - EXC - - - 94 - 78 - 0 - EXC - - - 95 - 78 - 0 - EXC - - - 96 - 78 - 0 - EXC - - - 97 - 78 - 0 - EXC - - - 98 - 78 - 0 - EXC - - - 99 - 78 - 0 - EXC - - - 0 - 79 - 0 - EXC - - - 1 - 79 - 0 - EXC - - - 2 - 79 - 0 - EXC - - - 3 - 79 - 0 - EXC - - - 4 - 79 - 0 - EXC - - - 5 - 79 - 0 - EXC - - - 6 - 79 - 0 - EXC - - - 7 - 79 - 1 - EXC - - - 8 - 79 - 0 - EXC - - - 9 - 79 - 0 - EXC - - - 10 - 79 - 0 - EXC - - - 11 - 79 - 0 - EXC - - - 12 - 79 - 0 - EXC - - - 13 - 79 - 0 - EXC - - - 14 - 79 - 0 - EXC - - - 15 - 79 - 0 - EXC - - - 16 - 79 - 0 - EXC - - - 17 - 79 - 1 - EXC - - - 18 - 79 - 0 - EXC - - - 19 - 79 - 0 - EXC - - - 20 - 79 - 0 - EXC - - - 21 - 79 - 0 - EXC - - - 22 - 79 - 0 - EXC - - - 23 - 79 - 0 - EXC - - - 24 - 79 - 0 - EXC - - - 25 - 79 - 0 - EXC - - - 26 - 79 - 0 - EXC - - - 27 - 79 - 1 - EXC - - - 28 - 79 - 0 - EXC - - - 29 - 79 - 0 - EXC - - - 30 - 79 - 0 - EXC - - - 31 - 79 - 0 - EXC - - - 32 - 79 - 0 - EXC - - - 33 - 79 - 0 - EXC - - - 34 - 79 - 0 - EXC - - - 35 - 79 - 0 - EXC - - - 36 - 79 - 0 - EXC - - - 37 - 79 - 1 - EXC - - - 38 - 79 - 0 - EXC - - - 39 - 79 - 0 - EXC - - - 40 - 79 - 0 - EXC - - - 41 - 79 - 0 - EXC - - - 42 - 79 - 0 - EXC - - - 43 - 79 - 0 - EXC - - - 44 - 79 - 0 - EXC - - - 45 - 79 - 0 - EXC - - - 46 - 79 - 0 - EXC - - - 47 - 79 - 1 - EXC - - - 48 - 79 - 0 - EXC - - - 49 - 79 - 0 - EXC - - - 50 - 79 - 0 - EXC - - - 51 - 79 - 0 - EXC - - - 52 - 79 - 0 - EXC - - - 53 - 79 - 0 - EXC - - - 54 - 79 - 0 - EXC - - - 55 - 79 - 0 - EXC - - - 56 - 79 - 0 - EXC - - - 57 - 79 - 1 - EXC - - - 58 - 79 - 0 - EXC - - - 59 - 79 - 0 - EXC - - - 60 - 79 - 0 - EXC - - - 61 - 79 - 0 - EXC - - - 62 - 79 - 0 - EXC - - - 63 - 79 - 0 - EXC - - - 64 - 79 - 0 - EXC - - - 65 - 79 - 0 - EXC - - - 66 - 79 - 0 - EXC - - - 67 - 79 - 1 - EXC - - - 68 - 79 - 0 - EXC - - - 69 - 79 - 0 - EXC - - - 70 - 79 - 0 - EXC - - - 71 - 79 - 0 - EXC - - - 72 - 79 - 0 - EXC - - - 73 - 79 - 0 - EXC - - - 74 - 79 - 0 - EXC - - - 75 - 79 - 0 - EXC - - - 76 - 79 - 0 - EXC - - - 77 - 79 - 1 - EXC - - - 78 - 79 - 0 - EXC - - - 79 - 79 - 0 - EXC - - - 80 - 79 - 0 - EXC - - - 81 - 79 - 0 - EXC - - - 82 - 79 - 0 - EXC - - - 83 - 79 - 0 - EXC - - - 84 - 79 - 0 - EXC - - - 85 - 79 - 0 - EXC - - - 86 - 79 - 0 - EXC - - - 87 - 79 - 1 - EXC - - - 88 - 79 - 0 - EXC - - - 89 - 79 - 0 - EXC - - - 90 - 79 - 0 - EXC - - - 91 - 79 - 0 - EXC - - - 92 - 79 - 0 - EXC - - - 93 - 79 - 0 - EXC - - - 94 - 79 - 0 - EXC - - - 95 - 79 - 0 - EXC - - - 96 - 79 - 0 - EXC - - - 97 - 79 - 1 - EXC - - - 98 - 79 - 0 - EXC - - - 99 - 79 - 0 - EXC - - - 0 - 80 - 0 - EXC - - - 1 - 80 - 0 - EXC - - - 2 - 80 - 0 - EXC - - - 3 - 80 - 0 - EXC - - - 4 - 80 - 0 - EXC - - - 5 - 80 - 0 - EXC - - - 6 - 80 - 0 - EXC - - - 7 - 80 - 1 - EXC - - - 8 - 80 - 0 - EXC - - - 9 - 80 - 0 - EXC - - - 10 - 80 - 0 - EXC - - - 11 - 80 - 0 - EXC - - - 12 - 80 - 0 - EXC - - - 13 - 80 - 0 - EXC - - - 14 - 80 - 0 - EXC - - - 15 - 80 - 0 - EXC - - - 16 - 80 - 0 - EXC - - - 17 - 80 - 1 - EXC - - - 18 - 80 - 0 - EXC - - - 19 - 80 - 0 - EXC - - - 20 - 80 - 0 - EXC - - - 21 - 80 - 0 - EXC - - - 22 - 80 - 0 - EXC - - - 23 - 80 - 0 - EXC - - - 24 - 80 - 0 - EXC - - - 25 - 80 - 0 - EXC - - - 26 - 80 - 0 - EXC - - - 27 - 80 - 1 - EXC - - - 28 - 80 - 0 - EXC - - - 29 - 80 - 0 - EXC - - - 30 - 80 - 0 - EXC - - - 31 - 80 - 0 - EXC - - - 32 - 80 - 0 - EXC - - - 33 - 80 - 0 - EXC - - - 34 - 80 - 0 - EXC - - - 35 - 80 - 0 - EXC - - - 36 - 80 - 0 - EXC - - - 37 - 80 - 1 - EXC - - - 38 - 80 - 0 - EXC - - - 39 - 80 - 0 - EXC - - - 40 - 80 - 0 - EXC - - - 41 - 80 - 0 - EXC - - - 42 - 80 - 0 - EXC - - - 43 - 80 - 0 - EXC - - - 44 - 80 - 0 - EXC - - - 45 - 80 - 0 - EXC - - - 46 - 80 - 0 - EXC - - - 47 - 80 - 1 - EXC - - - 48 - 80 - 0 - EXC - - - 49 - 80 - 0 - EXC - - - 50 - 80 - 0 - EXC - - - 51 - 80 - 0 - EXC - - - 52 - 80 - 0 - EXC - - - 53 - 80 - 0 - EXC - - - 54 - 80 - 0 - EXC - - - 55 - 80 - 0 - EXC - - - 56 - 80 - 0 - EXC - - - 57 - 80 - 1 - EXC - - - 58 - 80 - 0 - EXC - - - 59 - 80 - 0 - EXC - - - 60 - 80 - 0 - EXC - - - 61 - 80 - 0 - EXC - - - 62 - 80 - 0 - EXC - - - 63 - 80 - 0 - EXC - - - 64 - 80 - 0 - EXC - - - 65 - 80 - 0 - EXC - - - 66 - 80 - 0 - EXC - - - 67 - 80 - 1 - EXC - - - 68 - 80 - 0 - EXC - - - 69 - 80 - 0 - EXC - - - 70 - 80 - 0 - EXC - - - 71 - 80 - 0 - EXC - - - 72 - 80 - 0 - EXC - - - 73 - 80 - 0 - EXC - - - 74 - 80 - 0 - EXC - - - 75 - 80 - 0 - EXC - - - 76 - 80 - 0 - EXC - - - 77 - 80 - 1 - EXC - - - 78 - 80 - 0 - EXC - - - 79 - 80 - 0 - EXC - - - 80 - 80 - 0 - EXC - - - 81 - 80 - 0 - EXC - - - 82 - 80 - 0 - EXC - - - 83 - 80 - 0 - EXC - - - 84 - 80 - 0 - EXC - - - 85 - 80 - 0 - EXC - - - 86 - 80 - 0 - EXC - - - 87 - 80 - 1 - EXC - - - 88 - 80 - 0 - EXC - - - 89 - 80 - 0 - EXC - - - 90 - 80 - 0 - EXC - - - 91 - 80 - 0 - EXC - - - 92 - 80 - 0 - EXC - - - 93 - 80 - 0 - EXC - - - 94 - 80 - 0 - EXC - - - 95 - 80 - 0 - EXC - - - 96 - 80 - 0 - EXC - - - 97 - 80 - 1 - EXC - - - 98 - 80 - 0 - EXC - - - 99 - 80 - 0 - EXC - - - 0 - 81 - 0 - EXC - - - 1 - 81 - 1 - EXC - - - 2 - 81 - 0 - EXC - - - 3 - 81 - 0 - EXC - - - 4 - 81 - 1 - EXC - - - 5 - 81 - 0 - EXC - - - 6 - 81 - 0 - EXC - - - 7 - 81 - 0 - EXC - - - 8 - 81 - 0 - EXC - - - 9 - 81 - 0 - EXC - - - 10 - 81 - 0 - EXC - - - 11 - 81 - 1 - EXC - - - 12 - 81 - 0 - EXC - - - 13 - 81 - 0 - EXC - - - 14 - 81 - 1 - EXC - - - 15 - 81 - 0 - EXC - - - 16 - 81 - 0 - EXC - - - 17 - 81 - 0 - EXC - - - 18 - 81 - 0 - EXC - - - 19 - 81 - 0 - EXC - - - 20 - 81 - 0 - EXC - - - 21 - 81 - 1 - EXC - - - 22 - 81 - 0 - EXC - - - 23 - 81 - 0 - EXC - - - 24 - 81 - 1 - EXC - - - 25 - 81 - 0 - EXC - - - 26 - 81 - 0 - EXC - - - 27 - 81 - 0 - EXC - - - 28 - 81 - 0 - EXC - - - 29 - 81 - 0 - EXC - - - 30 - 81 - 0 - EXC - - - 31 - 81 - 1 - EXC - - - 32 - 81 - 0 - EXC - - - 33 - 81 - 0 - EXC - - - 34 - 81 - 1 - EXC - - - 35 - 81 - 0 - EXC - - - 36 - 81 - 0 - EXC - - - 37 - 81 - 0 - EXC - - - 38 - 81 - 0 - EXC - - - 39 - 81 - 0 - EXC - - - 40 - 81 - 0 - EXC - - - 41 - 81 - 1 - EXC - - - 42 - 81 - 0 - EXC - - - 43 - 81 - 0 - EXC - - - 44 - 81 - 1 - EXC - - - 45 - 81 - 0 - EXC - - - 46 - 81 - 0 - EXC - - - 47 - 81 - 0 - EXC - - - 48 - 81 - 0 - EXC - - - 49 - 81 - 0 - EXC - - - 50 - 81 - 0 - EXC - - - 51 - 81 - 1 - EXC - - - 52 - 81 - 0 - EXC - - - 53 - 81 - 0 - EXC - - - 54 - 81 - 1 - EXC - - - 55 - 81 - 0 - EXC - - - 56 - 81 - 0 - EXC - - - 57 - 81 - 0 - EXC - - - 58 - 81 - 0 - EXC - - - 59 - 81 - 0 - EXC - - - 60 - 81 - 0 - EXC - - - 61 - 81 - 1 - EXC - - - 62 - 81 - 0 - EXC - - - 63 - 81 - 0 - EXC - - - 64 - 81 - 1 - EXC - - - 65 - 81 - 0 - EXC - - - 66 - 81 - 0 - EXC - - - 67 - 81 - 0 - EXC - - - 68 - 81 - 0 - EXC - - - 69 - 81 - 0 - EXC - - - 70 - 81 - 0 - EXC - - - 71 - 81 - 1 - EXC - - - 72 - 81 - 0 - EXC - - - 73 - 81 - 0 - EXC - - - 74 - 81 - 1 - EXC - - - 75 - 81 - 0 - EXC - - - 76 - 81 - 0 - EXC - - - 77 - 81 - 0 - EXC - - - 78 - 81 - 0 - EXC - - - 79 - 81 - 0 - EXC - - - 80 - 81 - 0 - EXC - - - 81 - 81 - 1 - EXC - - - 82 - 81 - 0 - EXC - - - 83 - 81 - 0 - EXC - - - 84 - 81 - 1 - EXC - - - 85 - 81 - 0 - EXC - - - 86 - 81 - 0 - EXC - - - 87 - 81 - 0 - EXC - - - 88 - 81 - 0 - EXC - - - 89 - 81 - 0 - EXC - - - 90 - 81 - 0 - EXC - - - 91 - 81 - 1 - EXC - - - 92 - 81 - 0 - EXC - - - 93 - 81 - 0 - EXC - - - 94 - 81 - 1 - EXC - - - 95 - 81 - 0 - EXC - - - 96 - 81 - 0 - EXC - - - 97 - 81 - 0 - EXC - - - 98 - 81 - 0 - EXC - - - 99 - 81 - 0 - EXC - - - 0 - 82 - 0 - EXC - - - 1 - 82 - 0 - EXC - - - 2 - 82 - 0 - EXC - - - 3 - 82 - 0 - EXC - - - 4 - 82 - 0 - EXC - - - 5 - 82 - 0 - EXC - - - 6 - 82 - 0 - EXC - - - 7 - 82 - 0 - EXC - - - 8 - 82 - 0 - EXC - - - 9 - 82 - 0 - EXC - - - 10 - 82 - 0 - EXC - - - 11 - 82 - 0 - EXC - - - 12 - 82 - 0 - EXC - - - 13 - 82 - 0 - EXC - - - 14 - 82 - 0 - EXC - - - 15 - 82 - 0 - EXC - - - 16 - 82 - 0 - EXC - - - 17 - 82 - 0 - EXC - - - 18 - 82 - 0 - EXC - - - 19 - 82 - 0 - EXC - - - 20 - 82 - 0 - EXC - - - 21 - 82 - 0 - EXC - - - 22 - 82 - 0 - EXC - - - 23 - 82 - 0 - EXC - - - 24 - 82 - 0 - EXC - - - 25 - 82 - 0 - EXC - - - 26 - 82 - 0 - EXC - - - 27 - 82 - 0 - EXC - - - 28 - 82 - 0 - EXC - - - 29 - 82 - 0 - EXC - - - 30 - 82 - 0 - EXC - - - 31 - 82 - 0 - EXC - - - 32 - 82 - 0 - EXC - - - 33 - 82 - 0 - EXC - - - 34 - 82 - 0 - EXC - - - 35 - 82 - 0 - EXC - - - 36 - 82 - 0 - EXC - - - 37 - 82 - 0 - EXC - - - 38 - 82 - 0 - EXC - - - 39 - 82 - 0 - EXC - - - 40 - 82 - 0 - EXC - - - 41 - 82 - 0 - EXC - - - 42 - 82 - 0 - EXC - - - 43 - 82 - 0 - EXC - - - 44 - 82 - 0 - EXC - - - 45 - 82 - 0 - EXC - - - 46 - 82 - 0 - EXC - - - 47 - 82 - 0 - EXC - - - 48 - 82 - 0 - EXC - - - 49 - 82 - 0 - EXC - - - 50 - 82 - 0 - EXC - - - 51 - 82 - 0 - EXC - - - 52 - 82 - 0 - EXC - - - 53 - 82 - 0 - EXC - - - 54 - 82 - 0 - EXC - - - 55 - 82 - 0 - EXC - - - 56 - 82 - 0 - EXC - - - 57 - 82 - 0 - EXC - - - 58 - 82 - 0 - EXC - - - 59 - 82 - 0 - EXC - - - 60 - 82 - 0 - EXC - - - 61 - 82 - 0 - EXC - - - 62 - 82 - 0 - EXC - - - 63 - 82 - 0 - EXC - - - 64 - 82 - 0 - EXC - - - 65 - 82 - 0 - EXC - - - 66 - 82 - 0 - EXC - - - 67 - 82 - 0 - EXC - - - 68 - 82 - 0 - EXC - - - 69 - 82 - 0 - EXC - - - 70 - 82 - 0 - EXC - - - 71 - 82 - 0 - EXC - - - 72 - 82 - 0 - EXC - - - 73 - 82 - 0 - EXC - - - 74 - 82 - 0 - EXC - - - 75 - 82 - 0 - EXC - - - 76 - 82 - 0 - EXC - - - 77 - 82 - 0 - EXC - - - 78 - 82 - 0 - EXC - - - 79 - 82 - 0 - EXC - - - 80 - 82 - 0 - EXC - - - 81 - 82 - 0 - EXC - - - 82 - 82 - 0 - EXC - - - 83 - 82 - 0 - EXC - - - 84 - 82 - 0 - EXC - - - 85 - 82 - 0 - EXC - - - 86 - 82 - 0 - EXC - - - 87 - 82 - 0 - EXC - - - 88 - 82 - 0 - EXC - - - 89 - 82 - 0 - EXC - - - 90 - 82 - 0 - EXC - - - 91 - 82 - 0 - EXC - - - 92 - 82 - 0 - EXC - - - 93 - 82 - 0 - EXC - - - 94 - 82 - 0 - EXC - - - 95 - 82 - 0 - EXC - - - 96 - 82 - 0 - EXC - - - 97 - 82 - 0 - EXC - - - 98 - 82 - 0 - EXC - - - 99 - 82 - 0 - EXC - - - 0 - 83 - 0 - EXC - - - 1 - 83 - 0 - EXC - - - 2 - 83 - 0 - EXC - - - 3 - 83 - 0 - INH - - - 4 - 83 - 0 - EXC - - - 5 - 83 - 0 - EXC - - - 6 - 83 - 0 - EXC - - - 7 - 83 - 1 - EXC - - - 8 - 83 - 0 - EXC - - - 9 - 83 - 0 - EXC - - - 10 - 83 - 0 - EXC - - - 11 - 83 - 0 - EXC - - - 12 - 83 - 0 - EXC - - - 13 - 83 - 0 - INH - - - 14 - 83 - 0 - EXC - - - 15 - 83 - 0 - EXC - - - 16 - 83 - 0 - EXC - - - 17 - 83 - 1 - EXC - - - 18 - 83 - 0 - EXC - - - 19 - 83 - 0 - EXC - - - 20 - 83 - 0 - EXC - - - 21 - 83 - 0 - EXC - - - 22 - 83 - 0 - EXC - - - 23 - 83 - 0 - INH - - - 24 - 83 - 0 - EXC - - - 25 - 83 - 0 - EXC - - - 26 - 83 - 0 - EXC - - - 27 - 83 - 1 - EXC - - - 28 - 83 - 0 - EXC - - - 29 - 83 - 0 - EXC - - - 30 - 83 - 0 - EXC - - - 31 - 83 - 0 - EXC - - - 32 - 83 - 0 - EXC - - - 33 - 83 - 0 - INH - - - 34 - 83 - 0 - EXC - - - 35 - 83 - 0 - EXC - - - 36 - 83 - 0 - EXC - - - 37 - 83 - 1 - EXC - - - 38 - 83 - 0 - EXC - - - 39 - 83 - 0 - EXC - - - 40 - 83 - 0 - EXC - - - 41 - 83 - 0 - EXC - - - 42 - 83 - 0 - EXC - - - 43 - 83 - 0 - INH - - - 44 - 83 - 0 - EXC - - - 45 - 83 - 0 - EXC - - - 46 - 83 - 0 - EXC - - - 47 - 83 - 1 - EXC - - - 48 - 83 - 0 - EXC - - - 49 - 83 - 0 - EXC - - - 50 - 83 - 0 - EXC - - - 51 - 83 - 0 - EXC - - - 52 - 83 - 0 - EXC - - - 53 - 83 - 0 - INH - - - 54 - 83 - 0 - EXC - - - 55 - 83 - 0 - EXC - - - 56 - 83 - 0 - EXC - - - 57 - 83 - 1 - EXC - - - 58 - 83 - 0 - EXC - - - 59 - 83 - 0 - EXC - - - 60 - 83 - 0 - EXC - - - 61 - 83 - 0 - EXC - - - 62 - 83 - 0 - EXC - - - 63 - 83 - 0 - INH - - - 64 - 83 - 0 - EXC - - - 65 - 83 - 0 - EXC - - - 66 - 83 - 0 - EXC - - - 67 - 83 - 1 - EXC - - - 68 - 83 - 0 - EXC - - - 69 - 83 - 0 - EXC - - - 70 - 83 - 0 - EXC - - - 71 - 83 - 0 - EXC - - - 72 - 83 - 0 - EXC - - - 73 - 83 - 0 - INH - - - 74 - 83 - 0 - EXC - - - 75 - 83 - 0 - EXC - - - 76 - 83 - 0 - EXC - - - 77 - 83 - 1 - EXC - - - 78 - 83 - 0 - EXC - - - 79 - 83 - 0 - EXC - - - 80 - 83 - 0 - EXC - - - 81 - 83 - 0 - EXC - - - 82 - 83 - 0 - EXC - - - 83 - 83 - 0 - INH - - - 84 - 83 - 0 - EXC - - - 85 - 83 - 0 - EXC - - - 86 - 83 - 0 - EXC - - - 87 - 83 - 1 - EXC - - - 88 - 83 - 0 - EXC - - - 89 - 83 - 0 - EXC - - - 90 - 83 - 0 - EXC - - - 91 - 83 - 0 - EXC - - - 92 - 83 - 0 - EXC - - - 93 - 83 - 0 - INH - - - 94 - 83 - 0 - EXC - - - 95 - 83 - 0 - EXC - - - 96 - 83 - 0 - EXC - - - 97 - 83 - 1 - EXC - - - 98 - 83 - 0 - EXC - - - 99 - 83 - 0 - EXC - - - 0 - 84 - 0 - EXC - - - 1 - 84 - 1 - EXC - - - 2 - 84 - 0 - EXC - - - 3 - 84 - 0 - EXC - - - 4 - 84 - 1 - EXC - - - 5 - 84 - 0 - EXC - - - 6 - 84 - 0 - EXC - - - 7 - 84 - 0 - EXC - - - 8 - 84 - 0 - EXC - - - 9 - 84 - 0 - EXC - - - 10 - 84 - 0 - EXC - - - 11 - 84 - 1 - EXC - - - 12 - 84 - 0 - EXC - - - 13 - 84 - 0 - EXC - - - 14 - 84 - 1 - EXC - - - 15 - 84 - 0 - EXC - - - 16 - 84 - 0 - EXC - - - 17 - 84 - 0 - EXC - - - 18 - 84 - 0 - EXC - - - 19 - 84 - 0 - EXC - - - 20 - 84 - 0 - EXC - - - 21 - 84 - 1 - EXC - - - 22 - 84 - 0 - EXC - - - 23 - 84 - 0 - EXC - - - 24 - 84 - 1 - EXC - - - 25 - 84 - 0 - EXC - - - 26 - 84 - 0 - EXC - - - 27 - 84 - 0 - EXC - - - 28 - 84 - 0 - EXC - - - 29 - 84 - 0 - EXC - - - 30 - 84 - 0 - EXC - - - 31 - 84 - 1 - EXC - - - 32 - 84 - 0 - EXC - - - 33 - 84 - 0 - EXC - - - 34 - 84 - 1 - EXC - - - 35 - 84 - 0 - EXC - - - 36 - 84 - 0 - EXC - - - 37 - 84 - 0 - EXC - - - 38 - 84 - 0 - EXC - - - 39 - 84 - 0 - EXC - - - 40 - 84 - 0 - EXC - - - 41 - 84 - 1 - EXC - - - 42 - 84 - 0 - EXC - - - 43 - 84 - 0 - EXC - - - 44 - 84 - 1 - EXC - - - 45 - 84 - 0 - EXC - - - 46 - 84 - 0 - EXC - - - 47 - 84 - 0 - EXC - - - 48 - 84 - 0 - EXC - - - 49 - 84 - 0 - EXC - - - 50 - 84 - 0 - EXC - - - 51 - 84 - 1 - EXC - - - 52 - 84 - 0 - EXC - - - 53 - 84 - 0 - EXC - - - 54 - 84 - 1 - EXC - - - 55 - 84 - 0 - EXC - - - 56 - 84 - 0 - EXC - - - 57 - 84 - 0 - EXC - - - 58 - 84 - 0 - EXC - - - 59 - 84 - 0 - EXC - - - 60 - 84 - 0 - EXC - - - 61 - 84 - 1 - EXC - - - 62 - 84 - 0 - EXC - - - 63 - 84 - 0 - EXC - - - 64 - 84 - 1 - EXC - - - 65 - 84 - 0 - EXC - - - 66 - 84 - 0 - EXC - - - 67 - 84 - 0 - EXC - - - 68 - 84 - 0 - EXC - - - 69 - 84 - 0 - EXC - - - 70 - 84 - 0 - EXC - - - 71 - 84 - 1 - EXC - - - 72 - 84 - 0 - EXC - - - 73 - 84 - 0 - EXC - - - 74 - 84 - 1 - EXC - - - 75 - 84 - 0 - EXC - - - 76 - 84 - 0 - EXC - - - 77 - 84 - 0 - EXC - - - 78 - 84 - 0 - EXC - - - 79 - 84 - 0 - EXC - - - 80 - 84 - 0 - EXC - - - 81 - 84 - 1 - EXC - - - 82 - 84 - 0 - EXC - - - 83 - 84 - 0 - EXC - - - 84 - 84 - 1 - EXC - - - 85 - 84 - 0 - EXC - - - 86 - 84 - 0 - EXC - - - 87 - 84 - 0 - EXC - - - 88 - 84 - 0 - EXC - - - 89 - 84 - 0 - EXC - - - 90 - 84 - 0 - EXC - - - 91 - 84 - 1 - EXC - - - 92 - 84 - 0 - EXC - - - 93 - 84 - 0 - EXC - - - 94 - 84 - 1 - EXC - - - 95 - 84 - 0 - EXC - - - 96 - 84 - 0 - EXC - - - 97 - 84 - 0 - EXC - - - 98 - 84 - 0 - EXC - - - 99 - 84 - 0 - EXC - - - 0 - 85 - 0 - EXC - - - 1 - 85 - 0 - EXC - - - 2 - 85 - 0 - EXC - - - 3 - 85 - 0 - EXC - - - 4 - 85 - 0 - EXC - - - 5 - 85 - 0 - EXC - - - 6 - 85 - 0 - EXC - - - 7 - 85 - 0 - EXC - - - 8 - 85 - 0 - EXC - - - 9 - 85 - 0 - EXC - - - 10 - 85 - 0 - EXC - - - 11 - 85 - 0 - EXC - - - 12 - 85 - 0 - EXC - - - 13 - 85 - 0 - EXC - - - 14 - 85 - 0 - EXC - - - 15 - 85 - 0 - EXC - - - 16 - 85 - 0 - EXC - - - 17 - 85 - 0 - EXC - - - 18 - 85 - 0 - EXC - - - 19 - 85 - 0 - EXC - - - 20 - 85 - 0 - EXC - - - 21 - 85 - 0 - EXC - - - 22 - 85 - 0 - EXC - - - 23 - 85 - 0 - EXC - - - 24 - 85 - 0 - EXC - - - 25 - 85 - 0 - EXC - - - 26 - 85 - 0 - EXC - - - 27 - 85 - 0 - EXC - - - 28 - 85 - 0 - EXC - - - 29 - 85 - 0 - EXC - - - 30 - 85 - 0 - EXC - - - 31 - 85 - 0 - EXC - - - 32 - 85 - 0 - EXC - - - 33 - 85 - 0 - EXC - - - 34 - 85 - 0 - EXC - - - 35 - 85 - 0 - EXC - - - 36 - 85 - 0 - EXC - - - 37 - 85 - 0 - EXC - - - 38 - 85 - 0 - EXC - - - 39 - 85 - 0 - EXC - - - 40 - 85 - 0 - EXC - - - 41 - 85 - 0 - EXC - - - 42 - 85 - 0 - EXC - - - 43 - 85 - 0 - EXC - - - 44 - 85 - 0 - EXC - - - 45 - 85 - 0 - EXC - - - 46 - 85 - 0 - EXC - - - 47 - 85 - 0 - EXC - - - 48 - 85 - 0 - EXC - - - 49 - 85 - 0 - EXC - - - 50 - 85 - 0 - EXC - - - 51 - 85 - 0 - EXC - - - 52 - 85 - 0 - EXC - - - 53 - 85 - 0 - EXC - - - 54 - 85 - 0 - EXC - - - 55 - 85 - 0 - EXC - - - 56 - 85 - 0 - EXC - - - 57 - 85 - 0 - EXC - - - 58 - 85 - 0 - EXC - - - 59 - 85 - 0 - EXC - - - 60 - 85 - 0 - EXC - - - 61 - 85 - 0 - EXC - - - 62 - 85 - 0 - EXC - - - 63 - 85 - 0 - EXC - - - 64 - 85 - 0 - EXC - - - 65 - 85 - 0 - EXC - - - 66 - 85 - 0 - EXC - - - 67 - 85 - 0 - EXC - - - 68 - 85 - 0 - EXC - - - 69 - 85 - 0 - EXC - - - 70 - 85 - 0 - EXC - - - 71 - 85 - 0 - EXC - - - 72 - 85 - 0 - EXC - - - 73 - 85 - 0 - EXC - - - 74 - 85 - 0 - EXC - - - 75 - 85 - 0 - EXC - - - 76 - 85 - 0 - EXC - - - 77 - 85 - 0 - EXC - - - 78 - 85 - 0 - EXC - - - 79 - 85 - 0 - EXC - - - 80 - 85 - 0 - EXC - - - 81 - 85 - 0 - EXC - - - 82 - 85 - 0 - EXC - - - 83 - 85 - 0 - EXC - - - 84 - 85 - 0 - EXC - - - 85 - 85 - 0 - EXC - - - 86 - 85 - 0 - EXC - - - 87 - 85 - 0 - EXC - - - 88 - 85 - 0 - EXC - - - 89 - 85 - 0 - EXC - - - 90 - 85 - 0 - EXC - - - 91 - 85 - 0 - EXC - - - 92 - 85 - 0 - EXC - - - 93 - 85 - 0 - EXC - - - 94 - 85 - 0 - EXC - - - 95 - 85 - 0 - EXC - - - 96 - 85 - 0 - EXC - - - 97 - 85 - 0 - EXC - - - 98 - 85 - 0 - EXC - - - 99 - 85 - 0 - EXC - - - 0 - 86 - 0 - EXC - - - 1 - 86 - 0 - EXC - - - 2 - 86 - 0 - EXC - - - 3 - 86 - 0 - EXC - - - 4 - 86 - 0 - EXC - - - 5 - 86 - 0 - EXC - - - 6 - 86 - 0 - INH - - - 7 - 86 - 1 - EXC - - - 8 - 86 - 0 - EXC - - - 9 - 86 - 0 - EXC - - - 10 - 86 - 0 - EXC - - - 11 - 86 - 0 - EXC - - - 12 - 86 - 0 - EXC - - - 13 - 86 - 0 - EXC - - - 14 - 86 - 0 - EXC - - - 15 - 86 - 0 - EXC - - - 16 - 86 - 0 - INH - - - 17 - 86 - 1 - EXC - - - 18 - 86 - 0 - EXC - - - 19 - 86 - 0 - EXC - - - 20 - 86 - 0 - EXC - - - 21 - 86 - 0 - EXC - - - 22 - 86 - 0 - EXC - - - 23 - 86 - 0 - EXC - - - 24 - 86 - 0 - EXC - - - 25 - 86 - 0 - EXC - - - 26 - 86 - 0 - INH - - - 27 - 86 - 1 - EXC - - - 28 - 86 - 0 - EXC - - - 29 - 86 - 0 - EXC - - - 30 - 86 - 0 - EXC - - - 31 - 86 - 0 - EXC - - - 32 - 86 - 0 - EXC - - - 33 - 86 - 0 - EXC - - - 34 - 86 - 0 - EXC - - - 35 - 86 - 0 - EXC - - - 36 - 86 - 0 - INH - - - 37 - 86 - 1 - EXC - - - 38 - 86 - 0 - EXC - - - 39 - 86 - 0 - EXC - - - 40 - 86 - 0 - EXC - - - 41 - 86 - 0 - EXC - - - 42 - 86 - 0 - EXC - - - 43 - 86 - 0 - EXC - - - 44 - 86 - 0 - EXC - - - 45 - 86 - 0 - EXC - - - 46 - 86 - 0 - INH - - - 47 - 86 - 1 - EXC - - - 48 - 86 - 0 - EXC - - - 49 - 86 - 0 - EXC - - - 50 - 86 - 0 - EXC - - - 51 - 86 - 0 - EXC - - - 52 - 86 - 0 - EXC - - - 53 - 86 - 0 - EXC - - - 54 - 86 - 0 - EXC - - - 55 - 86 - 0 - EXC - - - 56 - 86 - 0 - INH - - - 57 - 86 - 1 - EXC - - - 58 - 86 - 0 - EXC - - - 59 - 86 - 0 - EXC - - - 60 - 86 - 0 - EXC - - - 61 - 86 - 0 - EXC - - - 62 - 86 - 0 - EXC - - - 63 - 86 - 0 - EXC - - - 64 - 86 - 0 - EXC - - - 65 - 86 - 0 - EXC - - - 66 - 86 - 0 - INH - - - 67 - 86 - 1 - EXC - - - 68 - 86 - 0 - EXC - - - 69 - 86 - 0 - EXC - - - 70 - 86 - 0 - EXC - - - 71 - 86 - 0 - EXC - - - 72 - 86 - 0 - EXC - - - 73 - 86 - 0 - EXC - - - 74 - 86 - 0 - EXC - - - 75 - 86 - 0 - EXC - - - 76 - 86 - 0 - INH - - - 77 - 86 - 1 - EXC - - - 78 - 86 - 0 - EXC - - - 79 - 86 - 0 - EXC - - - 80 - 86 - 0 - EXC - - - 81 - 86 - 0 - EXC - - - 82 - 86 - 0 - EXC - - - 83 - 86 - 0 - EXC - - - 84 - 86 - 0 - EXC - - - 85 - 86 - 0 - EXC - - - 86 - 86 - 0 - INH - - - 87 - 86 - 1 - EXC - - - 88 - 86 - 0 - EXC - - - 89 - 86 - 0 - EXC - - - 90 - 86 - 0 - EXC - - - 91 - 86 - 0 - EXC - - - 92 - 86 - 0 - EXC - - - 93 - 86 - 0 - EXC - - - 94 - 86 - 0 - EXC - - - 95 - 86 - 0 - EXC - - - 96 - 86 - 0 - INH - - - 97 - 86 - 1 - EXC - - - 98 - 86 - 0 - EXC - - - 99 - 86 - 0 - EXC - - - 0 - 87 - 0 - EXC - - - 1 - 87 - 1 - EXC - - - 2 - 87 - 0 - EXC - - - 3 - 87 - 0 - EXC - - - 4 - 87 - 1 - EXC - - - 5 - 87 - 0 - EXC - - - 6 - 87 - 0 - EXC - - - 7 - 87 - 0 - EXC - - - 8 - 87 - 0 - EXC - - - 9 - 87 - 0 - EXC - - - 10 - 87 - 0 - EXC - - - 11 - 87 - 1 - EXC - - - 12 - 87 - 0 - EXC - - - 13 - 87 - 0 - EXC - - - 14 - 87 - 1 - EXC - - - 15 - 87 - 0 - EXC - - - 16 - 87 - 0 - EXC - - - 17 - 87 - 0 - EXC - - - 18 - 87 - 0 - EXC - - - 19 - 87 - 0 - EXC - - - 20 - 87 - 0 - EXC - - - 21 - 87 - 1 - EXC - - - 22 - 87 - 0 - EXC - - - 23 - 87 - 0 - EXC - - - 24 - 87 - 1 - EXC - - - 25 - 87 - 0 - EXC - - - 26 - 87 - 0 - EXC - - - 27 - 87 - 0 - EXC - - - 28 - 87 - 0 - EXC - - - 29 - 87 - 0 - EXC - - - 30 - 87 - 0 - EXC - - - 31 - 87 - 1 - EXC - - - 32 - 87 - 0 - EXC - - - 33 - 87 - 0 - EXC - - - 34 - 87 - 1 - EXC - - - 35 - 87 - 0 - EXC - - - 36 - 87 - 0 - EXC - - - 37 - 87 - 0 - EXC - - - 38 - 87 - 0 - EXC - - - 39 - 87 - 0 - EXC - - - 40 - 87 - 0 - EXC - - - 41 - 87 - 1 - EXC - - - 42 - 87 - 0 - EXC - - - 43 - 87 - 0 - EXC - - - 44 - 87 - 1 - EXC - - - 45 - 87 - 0 - EXC - - - 46 - 87 - 0 - EXC - - - 47 - 87 - 0 - EXC - - - 48 - 87 - 0 - EXC - - - 49 - 87 - 0 - EXC - - - 50 - 87 - 0 - EXC - - - 51 - 87 - 1 - EXC - - - 52 - 87 - 0 - EXC - - - 53 - 87 - 0 - EXC - - - 54 - 87 - 1 - EXC - - - 55 - 87 - 0 - EXC - - - 56 - 87 - 0 - EXC - - - 57 - 87 - 0 - EXC - - - 58 - 87 - 0 - EXC - - - 59 - 87 - 0 - EXC - - - 60 - 87 - 0 - EXC - - - 61 - 87 - 1 - EXC - - - 62 - 87 - 0 - EXC - - - 63 - 87 - 0 - EXC - - - 64 - 87 - 1 - EXC - - - 65 - 87 - 0 - EXC - - - 66 - 87 - 0 - EXC - - - 67 - 87 - 0 - EXC - - - 68 - 87 - 0 - EXC - - - 69 - 87 - 0 - EXC - - - 70 - 87 - 0 - EXC - - - 71 - 87 - 1 - EXC - - - 72 - 87 - 0 - EXC - - - 73 - 87 - 0 - EXC - - - 74 - 87 - 1 - EXC - - - 75 - 87 - 0 - EXC - - - 76 - 87 - 0 - EXC - - - 77 - 87 - 0 - EXC - - - 78 - 87 - 0 - EXC - - - 79 - 87 - 0 - EXC - - - 80 - 87 - 0 - EXC - - - 81 - 87 - 1 - EXC - - - 82 - 87 - 0 - EXC - - - 83 - 87 - 0 - EXC - - - 84 - 87 - 1 - EXC - - - 85 - 87 - 0 - EXC - - - 86 - 87 - 0 - EXC - - - 87 - 87 - 0 - EXC - - - 88 - 87 - 0 - EXC - - - 89 - 87 - 0 - EXC - - - 90 - 87 - 0 - EXC - - - 91 - 87 - 1 - EXC - - - 92 - 87 - 0 - EXC - - - 93 - 87 - 0 - EXC - - - 94 - 87 - 1 - EXC - - - 95 - 87 - 0 - EXC - - - 96 - 87 - 0 - EXC - - - 97 - 87 - 0 - EXC - - - 98 - 87 - 0 - EXC - - - 99 - 87 - 0 - EXC - - - 0 - 88 - 0 - EXC - - - 1 - 88 - 0 - EXC - - - 2 - 88 - 0 - EXC - - - 3 - 88 - 0 - EXC - - - 4 - 88 - 0 - EXC - - - 5 - 88 - 0 - EXC - - - 6 - 88 - 0 - EXC - - - 7 - 88 - 0 - EXC - - - 8 - 88 - 0 - EXC - - - 9 - 88 - 0 - EXC - - - 10 - 88 - 0 - EXC - - - 11 - 88 - 0 - EXC - - - 12 - 88 - 0 - EXC - - - 13 - 88 - 0 - EXC - - - 14 - 88 - 0 - EXC - - - 15 - 88 - 0 - EXC - - - 16 - 88 - 0 - EXC - - - 17 - 88 - 0 - EXC - - - 18 - 88 - 0 - EXC - - - 19 - 88 - 0 - EXC - - - 20 - 88 - 0 - EXC - - - 21 - 88 - 0 - EXC - - - 22 - 88 - 0 - EXC - - - 23 - 88 - 0 - EXC - - - 24 - 88 - 0 - EXC - - - 25 - 88 - 0 - EXC - - - 26 - 88 - 0 - EXC - - - 27 - 88 - 0 - EXC - - - 28 - 88 - 0 - EXC - - - 29 - 88 - 0 - EXC - - - 30 - 88 - 0 - EXC - - - 31 - 88 - 0 - EXC - - - 32 - 88 - 0 - EXC - - - 33 - 88 - 0 - EXC - - - 34 - 88 - 0 - EXC - - - 35 - 88 - 0 - EXC - - - 36 - 88 - 0 - EXC - - - 37 - 88 - 0 - EXC - - - 38 - 88 - 0 - EXC - - - 39 - 88 - 0 - EXC - - - 40 - 88 - 0 - EXC - - - 41 - 88 - 0 - EXC - - - 42 - 88 - 0 - EXC - - - 43 - 88 - 0 - EXC - - - 44 - 88 - 0 - EXC - - - 45 - 88 - 0 - EXC - - - 46 - 88 - 0 - EXC - - - 47 - 88 - 0 - EXC - - - 48 - 88 - 0 - EXC - - - 49 - 88 - 0 - EXC - - - 50 - 88 - 0 - EXC - - - 51 - 88 - 0 - EXC - - - 52 - 88 - 0 - EXC - - - 53 - 88 - 0 - EXC - - - 54 - 88 - 0 - EXC - - - 55 - 88 - 0 - EXC - - - 56 - 88 - 0 - EXC - - - 57 - 88 - 0 - EXC - - - 58 - 88 - 0 - EXC - - - 59 - 88 - 0 - EXC - - - 60 - 88 - 0 - EXC - - - 61 - 88 - 0 - EXC - - - 62 - 88 - 0 - EXC - - - 63 - 88 - 0 - EXC - - - 64 - 88 - 0 - EXC - - - 65 - 88 - 0 - EXC - - - 66 - 88 - 0 - EXC - - - 67 - 88 - 0 - EXC - - - 68 - 88 - 0 - EXC - - - 69 - 88 - 0 - EXC - - - 70 - 88 - 0 - EXC - - - 71 - 88 - 0 - EXC - - - 72 - 88 - 0 - EXC - - - 73 - 88 - 0 - EXC - - - 74 - 88 - 0 - EXC - - - 75 - 88 - 0 - EXC - - - 76 - 88 - 0 - EXC - - - 77 - 88 - 0 - EXC - - - 78 - 88 - 0 - EXC - - - 79 - 88 - 0 - EXC - - - 80 - 88 - 0 - EXC - - - 81 - 88 - 0 - EXC - - - 82 - 88 - 0 - EXC - - - 83 - 88 - 0 - EXC - - - 84 - 88 - 0 - EXC - - - 85 - 88 - 0 - EXC - - - 86 - 88 - 0 - EXC - - - 87 - 88 - 0 - EXC - - - 88 - 88 - 0 - EXC - - - 89 - 88 - 0 - EXC - - - 90 - 88 - 0 - EXC - - - 91 - 88 - 0 - EXC - - - 92 - 88 - 0 - EXC - - - 93 - 88 - 0 - EXC - - - 94 - 88 - 0 - EXC - - - 95 - 88 - 0 - EXC - - - 96 - 88 - 0 - EXC - - - 97 - 88 - 0 - EXC - - - 98 - 88 - 0 - EXC - - - 99 - 88 - 0 - EXC - - - 0 - 89 - 0 - EXC - - - 1 - 89 - 0 - EXC - - - 2 - 89 - 0 - EXC - - - 3 - 89 - 0 - EXC - - - 4 - 89 - 0 - EXC - - - 5 - 89 - 0 - EXC - - - 6 - 89 - 0 - EXC - - - 7 - 89 - 1 - EXC - - - 8 - 89 - 0 - EXC - - - 9 - 89 - 0 - EXC - - - 10 - 89 - 0 - EXC - - - 11 - 89 - 0 - EXC - - - 12 - 89 - 0 - EXC - - - 13 - 89 - 0 - EXC - - - 14 - 89 - 0 - EXC - - - 15 - 89 - 0 - EXC - - - 16 - 89 - 0 - EXC - - - 17 - 89 - 1 - EXC - - - 18 - 89 - 0 - EXC - - - 19 - 89 - 0 - EXC - - - 20 - 89 - 0 - EXC - - - 21 - 89 - 0 - EXC - - - 22 - 89 - 0 - EXC - - - 23 - 89 - 0 - EXC - - - 24 - 89 - 0 - EXC - - - 25 - 89 - 0 - EXC - - - 26 - 89 - 0 - EXC - - - 27 - 89 - 1 - EXC - - - 28 - 89 - 0 - EXC - - - 29 - 89 - 0 - EXC - - - 30 - 89 - 0 - EXC - - - 31 - 89 - 0 - EXC - - - 32 - 89 - 0 - EXC - - - 33 - 89 - 0 - EXC - - - 34 - 89 - 0 - EXC - - - 35 - 89 - 0 - EXC - - - 36 - 89 - 0 - EXC - - - 37 - 89 - 1 - EXC - - - 38 - 89 - 0 - EXC - - - 39 - 89 - 0 - EXC - - - 40 - 89 - 0 - EXC - - - 41 - 89 - 0 - EXC - - - 42 - 89 - 0 - EXC - - - 43 - 89 - 0 - EXC - - - 44 - 89 - 0 - EXC - - - 45 - 89 - 0 - EXC - - - 46 - 89 - 0 - EXC - - - 47 - 89 - 1 - EXC - - - 48 - 89 - 0 - EXC - - - 49 - 89 - 0 - EXC - - - 50 - 89 - 0 - EXC - - - 51 - 89 - 0 - EXC - - - 52 - 89 - 0 - EXC - - - 53 - 89 - 0 - EXC - - - 54 - 89 - 0 - EXC - - - 55 - 89 - 0 - EXC - - - 56 - 89 - 0 - EXC - - - 57 - 89 - 1 - EXC - - - 58 - 89 - 0 - EXC - - - 59 - 89 - 0 - EXC - - - 60 - 89 - 0 - EXC - - - 61 - 89 - 0 - EXC - - - 62 - 89 - 0 - EXC - - - 63 - 89 - 0 - EXC - - - 64 - 89 - 0 - EXC - - - 65 - 89 - 0 - EXC - - - 66 - 89 - 0 - EXC - - - 67 - 89 - 1 - EXC - - - 68 - 89 - 0 - EXC - - - 69 - 89 - 0 - EXC - - - 70 - 89 - 0 - EXC - - - 71 - 89 - 0 - EXC - - - 72 - 89 - 0 - EXC - - - 73 - 89 - 0 - EXC - - - 74 - 89 - 0 - EXC - - - 75 - 89 - 0 - EXC - - - 76 - 89 - 0 - EXC - - - 77 - 89 - 1 - EXC - - - 78 - 89 - 0 - EXC - - - 79 - 89 - 0 - EXC - - - 80 - 89 - 0 - EXC - - - 81 - 89 - 0 - EXC - - - 82 - 89 - 0 - EXC - - - 83 - 89 - 0 - EXC - - - 84 - 89 - 0 - EXC - - - 85 - 89 - 0 - EXC - - - 86 - 89 - 0 - EXC - - - 87 - 89 - 1 - EXC - - - 88 - 89 - 0 - EXC - - - 89 - 89 - 0 - EXC - - - 90 - 89 - 0 - EXC - - - 91 - 89 - 0 - EXC - - - 92 - 89 - 0 - EXC - - - 93 - 89 - 0 - EXC - - - 94 - 89 - 0 - EXC - - - 95 - 89 - 0 - EXC - - - 96 - 89 - 0 - EXC - - - 97 - 89 - 1 - EXC - - - 98 - 89 - 0 - EXC - - - 99 - 89 - 0 - EXC - - - 0 - 90 - 0 - EXC - - - 1 - 90 - 0 - EXC - - - 2 - 90 - 0 - EXC - - - 3 - 90 - 0 - EXC - - - 4 - 90 - 0 - EXC - - - 5 - 90 - 0 - EXC - - - 6 - 90 - 0 - EXC - - - 7 - 90 - 1 - EXC - - - 8 - 90 - 0 - EXC - - - 9 - 90 - 0 - EXC - - - 10 - 90 - 0 - EXC - - - 11 - 90 - 0 - EXC - - - 12 - 90 - 0 - EXC - - - 13 - 90 - 0 - EXC - - - 14 - 90 - 0 - EXC - - - 15 - 90 - 0 - EXC - - - 16 - 90 - 0 - EXC - - - 17 - 90 - 1 - EXC - - - 18 - 90 - 0 - EXC - - - 19 - 90 - 0 - EXC - - - 20 - 90 - 0 - EXC - - - 21 - 90 - 0 - EXC - - - 22 - 90 - 0 - EXC - - - 23 - 90 - 0 - EXC - - - 24 - 90 - 0 - EXC - - - 25 - 90 - 0 - EXC - - - 26 - 90 - 0 - EXC - - - 27 - 90 - 1 - EXC - - - 28 - 90 - 0 - EXC - - - 29 - 90 - 0 - EXC - - - 30 - 90 - 0 - EXC - - - 31 - 90 - 0 - EXC - - - 32 - 90 - 0 - EXC - - - 33 - 90 - 0 - EXC - - - 34 - 90 - 0 - EXC - - - 35 - 90 - 0 - EXC - - - 36 - 90 - 0 - EXC - - - 37 - 90 - 1 - EXC - - - 38 - 90 - 0 - EXC - - - 39 - 90 - 0 - EXC - - - 40 - 90 - 0 - EXC - - - 41 - 90 - 0 - EXC - - - 42 - 90 - 0 - EXC - - - 43 - 90 - 0 - EXC - - - 44 - 90 - 0 - EXC - - - 45 - 90 - 0 - EXC - - - 46 - 90 - 0 - EXC - - - 47 - 90 - 1 - EXC - - - 48 - 90 - 0 - EXC - - - 49 - 90 - 0 - EXC - - - 50 - 90 - 0 - EXC - - - 51 - 90 - 0 - EXC - - - 52 - 90 - 0 - EXC - - - 53 - 90 - 0 - EXC - - - 54 - 90 - 0 - EXC - - - 55 - 90 - 0 - EXC - - - 56 - 90 - 0 - EXC - - - 57 - 90 - 1 - EXC - - - 58 - 90 - 0 - EXC - - - 59 - 90 - 0 - EXC - - - 60 - 90 - 0 - EXC - - - 61 - 90 - 0 - EXC - - - 62 - 90 - 0 - EXC - - - 63 - 90 - 0 - EXC - - - 64 - 90 - 0 - EXC - - - 65 - 90 - 0 - EXC - - - 66 - 90 - 0 - EXC - - - 67 - 90 - 1 - EXC - - - 68 - 90 - 0 - EXC - - - 69 - 90 - 0 - EXC - - - 70 - 90 - 0 - EXC - - - 71 - 90 - 0 - EXC - - - 72 - 90 - 0 - EXC - - - 73 - 90 - 0 - EXC - - - 74 - 90 - 0 - EXC - - - 75 - 90 - 0 - EXC - - - 76 - 90 - 0 - EXC - - - 77 - 90 - 1 - EXC - - - 78 - 90 - 0 - EXC - - - 79 - 90 - 0 - EXC - - - 80 - 90 - 0 - EXC - - - 81 - 90 - 0 - EXC - - - 82 - 90 - 0 - EXC - - - 83 - 90 - 0 - EXC - - - 84 - 90 - 0 - EXC - - - 85 - 90 - 0 - EXC - - - 86 - 90 - 0 - EXC - - - 87 - 90 - 1 - EXC - - - 88 - 90 - 0 - EXC - - - 89 - 90 - 0 - EXC - - - 90 - 90 - 0 - EXC - - - 91 - 90 - 0 - EXC - - - 92 - 90 - 0 - EXC - - - 93 - 90 - 0 - EXC - - - 94 - 90 - 0 - EXC - - - 95 - 90 - 0 - EXC - - - 96 - 90 - 0 - EXC - - - 97 - 90 - 1 - EXC - - - 98 - 90 - 0 - EXC - - - 99 - 90 - 0 - EXC - - - 0 - 91 - 0 - EXC - - - 1 - 91 - 1 - EXC - - - 2 - 91 - 0 - EXC - - - 3 - 91 - 0 - EXC - - - 4 - 91 - 1 - EXC - - - 5 - 91 - 0 - EXC - - - 6 - 91 - 0 - EXC - - - 7 - 91 - 0 - EXC - - - 8 - 91 - 0 - EXC - - - 9 - 91 - 0 - EXC - - - 10 - 91 - 0 - EXC - - - 11 - 91 - 1 - EXC - - - 12 - 91 - 0 - EXC - - - 13 - 91 - 0 - EXC - - - 14 - 91 - 1 - EXC - - - 15 - 91 - 0 - EXC - - - 16 - 91 - 0 - EXC - - - 17 - 91 - 0 - EXC - - - 18 - 91 - 0 - EXC - - - 19 - 91 - 0 - EXC - - - 20 - 91 - 0 - EXC - - - 21 - 91 - 1 - EXC - - - 22 - 91 - 0 - EXC - - - 23 - 91 - 0 - EXC - - - 24 - 91 - 1 - EXC - - - 25 - 91 - 0 - EXC - - - 26 - 91 - 0 - EXC - - - 27 - 91 - 0 - EXC - - - 28 - 91 - 0 - EXC - - - 29 - 91 - 0 - EXC - - - 30 - 91 - 0 - EXC - - - 31 - 91 - 1 - EXC - - - 32 - 91 - 0 - EXC - - - 33 - 91 - 0 - EXC - - - 34 - 91 - 1 - EXC - - - 35 - 91 - 0 - EXC - - - 36 - 91 - 0 - EXC - - - 37 - 91 - 0 - EXC - - - 38 - 91 - 0 - EXC - - - 39 - 91 - 0 - EXC - - - 40 - 91 - 0 - EXC - - - 41 - 91 - 1 - EXC - - - 42 - 91 - 0 - EXC - - - 43 - 91 - 0 - EXC - - - 44 - 91 - 1 - EXC - - - 45 - 91 - 0 - EXC - - - 46 - 91 - 0 - EXC - - - 47 - 91 - 0 - EXC - - - 48 - 91 - 0 - EXC - - - 49 - 91 - 0 - EXC - - - 50 - 91 - 0 - EXC - - - 51 - 91 - 1 - EXC - - - 52 - 91 - 0 - EXC - - - 53 - 91 - 0 - EXC - - - 54 - 91 - 1 - EXC - - - 55 - 91 - 0 - EXC - - - 56 - 91 - 0 - EXC - - - 57 - 91 - 0 - EXC - - - 58 - 91 - 0 - EXC - - - 59 - 91 - 0 - EXC - - - 60 - 91 - 0 - EXC - - - 61 - 91 - 1 - EXC - - - 62 - 91 - 0 - EXC - - - 63 - 91 - 0 - EXC - - - 64 - 91 - 1 - EXC - - - 65 - 91 - 0 - EXC - - - 66 - 91 - 0 - EXC - - - 67 - 91 - 0 - EXC - - - 68 - 91 - 0 - EXC - - - 69 - 91 - 0 - EXC - - - 70 - 91 - 0 - EXC - - - 71 - 91 - 1 - EXC - - - 72 - 91 - 0 - EXC - - - 73 - 91 - 0 - EXC - - - 74 - 91 - 1 - EXC - - - 75 - 91 - 0 - EXC - - - 76 - 91 - 0 - EXC - - - 77 - 91 - 0 - EXC - - - 78 - 91 - 0 - EXC - - - 79 - 91 - 0 - EXC - - - 80 - 91 - 0 - EXC - - - 81 - 91 - 1 - EXC - - - 82 - 91 - 0 - EXC - - - 83 - 91 - 0 - EXC - - - 84 - 91 - 1 - EXC - - - 85 - 91 - 0 - EXC - - - 86 - 91 - 0 - EXC - - - 87 - 91 - 0 - EXC - - - 88 - 91 - 0 - EXC - - - 89 - 91 - 0 - EXC - - - 90 - 91 - 0 - EXC - - - 91 - 91 - 1 - EXC - - - 92 - 91 - 0 - EXC - - - 93 - 91 - 0 - EXC - - - 94 - 91 - 1 - EXC - - - 95 - 91 - 0 - EXC - - - 96 - 91 - 0 - EXC - - - 97 - 91 - 0 - EXC - - - 98 - 91 - 0 - EXC - - - 99 - 91 - 0 - EXC - - - 0 - 92 - 0 - EXC - - - 1 - 92 - 0 - EXC - - - 2 - 92 - 0 - EXC - - - 3 - 92 - 0 - EXC - - - 4 - 92 - 0 - EXC - - - 5 - 92 - 0 - EXC - - - 6 - 92 - 0 - EXC - - - 7 - 92 - 0 - EXC - - - 8 - 92 - 0 - EXC - - - 9 - 92 - 0 - EXC - - - 10 - 92 - 0 - EXC - - - 11 - 92 - 0 - EXC - - - 12 - 92 - 0 - EXC - - - 13 - 92 - 0 - EXC - - - 14 - 92 - 0 - EXC - - - 15 - 92 - 0 - EXC - - - 16 - 92 - 0 - EXC - - - 17 - 92 - 0 - EXC - - - 18 - 92 - 0 - EXC - - - 19 - 92 - 0 - EXC - - - 20 - 92 - 0 - EXC - - - 21 - 92 - 0 - EXC - - - 22 - 92 - 0 - EXC - - - 23 - 92 - 0 - EXC - - - 24 - 92 - 0 - EXC - - - 25 - 92 - 0 - EXC - - - 26 - 92 - 0 - EXC - - - 27 - 92 - 0 - EXC - - - 28 - 92 - 0 - EXC - - - 29 - 92 - 0 - EXC - - - 30 - 92 - 0 - EXC - - - 31 - 92 - 0 - EXC - - - 32 - 92 - 0 - EXC - - - 33 - 92 - 0 - EXC - - - 34 - 92 - 0 - EXC - - - 35 - 92 - 0 - EXC - - - 36 - 92 - 0 - EXC - - - 37 - 92 - 0 - EXC - - - 38 - 92 - 0 - EXC - - - 39 - 92 - 0 - EXC - - - 40 - 92 - 0 - EXC - - - 41 - 92 - 0 - EXC - - - 42 - 92 - 0 - EXC - - - 43 - 92 - 0 - EXC - - - 44 - 92 - 0 - EXC - - - 45 - 92 - 0 - EXC - - - 46 - 92 - 0 - EXC - - - 47 - 92 - 0 - EXC - - - 48 - 92 - 0 - EXC - - - 49 - 92 - 0 - EXC - - - 50 - 92 - 0 - EXC - - - 51 - 92 - 0 - EXC - - - 52 - 92 - 0 - EXC - - - 53 - 92 - 0 - EXC - - - 54 - 92 - 0 - EXC - - - 55 - 92 - 0 - EXC - - - 56 - 92 - 0 - EXC - - - 57 - 92 - 0 - EXC - - - 58 - 92 - 0 - EXC - - - 59 - 92 - 0 - EXC - - - 60 - 92 - 0 - EXC - - - 61 - 92 - 0 - EXC - - - 62 - 92 - 0 - EXC - - - 63 - 92 - 0 - EXC - - - 64 - 92 - 0 - EXC - - - 65 - 92 - 0 - EXC - - - 66 - 92 - 0 - EXC - - - 67 - 92 - 0 - EXC - - - 68 - 92 - 0 - EXC - - - 69 - 92 - 0 - EXC - - - 70 - 92 - 0 - EXC - - - 71 - 92 - 0 - EXC - - - 72 - 92 - 0 - EXC - - - 73 - 92 - 0 - EXC - - - 74 - 92 - 0 - EXC - - - 75 - 92 - 0 - EXC - - - 76 - 92 - 0 - EXC - - - 77 - 92 - 0 - EXC - - - 78 - 92 - 0 - EXC - - - 79 - 92 - 0 - EXC - - - 80 - 92 - 0 - EXC - - - 81 - 92 - 0 - EXC - - - 82 - 92 - 0 - EXC - - - 83 - 92 - 0 - EXC - - - 84 - 92 - 0 - EXC - - - 85 - 92 - 0 - EXC - - - 86 - 92 - 0 - EXC - - - 87 - 92 - 0 - EXC - - - 88 - 92 - 0 - EXC - - - 89 - 92 - 0 - EXC - - - 90 - 92 - 0 - EXC - - - 91 - 92 - 0 - EXC - - - 92 - 92 - 0 - EXC - - - 93 - 92 - 0 - EXC - - - 94 - 92 - 0 - EXC - - - 95 - 92 - 0 - EXC - - - 96 - 92 - 0 - EXC - - - 97 - 92 - 0 - EXC - - - 98 - 92 - 0 - EXC - - - 99 - 92 - 0 - EXC - - - 0 - 93 - 0 - EXC - - - 1 - 93 - 0 - EXC - - - 2 - 93 - 0 - EXC - - - 3 - 93 - 0 - INH - - - 4 - 93 - 0 - EXC - - - 5 - 93 - 0 - EXC - - - 6 - 93 - 0 - EXC - - - 7 - 93 - 1 - EXC - - - 8 - 93 - 0 - EXC - - - 9 - 93 - 0 - EXC - - - 10 - 93 - 0 - EXC - - - 11 - 93 - 0 - EXC - - - 12 - 93 - 0 - EXC - - - 13 - 93 - 0 - INH - - - 14 - 93 - 0 - EXC - - - 15 - 93 - 0 - EXC - - - 16 - 93 - 0 - EXC - - - 17 - 93 - 1 - EXC - - - 18 - 93 - 0 - EXC - - - 19 - 93 - 0 - EXC - - - 20 - 93 - 0 - EXC - - - 21 - 93 - 0 - EXC - - - 22 - 93 - 0 - EXC - - - 23 - 93 - 0 - INH - - - 24 - 93 - 0 - EXC - - - 25 - 93 - 0 - EXC - - - 26 - 93 - 0 - EXC - - - 27 - 93 - 1 - EXC - - - 28 - 93 - 0 - EXC - - - 29 - 93 - 0 - EXC - - - 30 - 93 - 0 - EXC - - - 31 - 93 - 0 - EXC - - - 32 - 93 - 0 - EXC - - - 33 - 93 - 0 - INH - - - 34 - 93 - 0 - EXC - - - 35 - 93 - 0 - EXC - - - 36 - 93 - 0 - EXC - - - 37 - 93 - 1 - EXC - - - 38 - 93 - 0 - EXC - - - 39 - 93 - 0 - EXC - - - 40 - 93 - 0 - EXC - - - 41 - 93 - 0 - EXC - - - 42 - 93 - 0 - EXC - - - 43 - 93 - 0 - INH - - - 44 - 93 - 0 - EXC - - - 45 - 93 - 0 - EXC - - - 46 - 93 - 0 - EXC - - - 47 - 93 - 1 - EXC - - - 48 - 93 - 0 - EXC - - - 49 - 93 - 0 - EXC - - - 50 - 93 - 0 - EXC - - - 51 - 93 - 0 - EXC - - - 52 - 93 - 0 - EXC - - - 53 - 93 - 0 - INH - - - 54 - 93 - 0 - EXC - - - 55 - 93 - 0 - EXC - - - 56 - 93 - 0 - EXC - - - 57 - 93 - 1 - EXC - - - 58 - 93 - 0 - EXC - - - 59 - 93 - 0 - EXC - - - 60 - 93 - 0 - EXC - - - 61 - 93 - 0 - EXC - - - 62 - 93 - 0 - EXC - - - 63 - 93 - 0 - INH - - - 64 - 93 - 0 - EXC - - - 65 - 93 - 0 - EXC - - - 66 - 93 - 0 - EXC - - - 67 - 93 - 1 - EXC - - - 68 - 93 - 0 - EXC - - - 69 - 93 - 0 - EXC - - - 70 - 93 - 0 - EXC - - - 71 - 93 - 0 - EXC - - - 72 - 93 - 0 - EXC - - - 73 - 93 - 0 - INH - - - 74 - 93 - 0 - EXC - - - 75 - 93 - 0 - EXC - - - 76 - 93 - 0 - EXC - - - 77 - 93 - 1 - EXC - - - 78 - 93 - 0 - EXC - - - 79 - 93 - 0 - EXC - - - 80 - 93 - 0 - EXC - - - 81 - 93 - 0 - EXC - - - 82 - 93 - 0 - EXC - - - 83 - 93 - 0 - INH - - - 84 - 93 - 0 - EXC - - - 85 - 93 - 0 - EXC - - - 86 - 93 - 0 - EXC - - - 87 - 93 - 1 - EXC - - - 88 - 93 - 0 - EXC - - - 89 - 93 - 0 - EXC - - - 90 - 93 - 0 - EXC - - - 91 - 93 - 0 - EXC - - - 92 - 93 - 0 - EXC - - - 93 - 93 - 0 - INH - - - 94 - 93 - 0 - EXC - - - 95 - 93 - 0 - EXC - - - 96 - 93 - 0 - EXC - - - 97 - 93 - 1 - EXC - - - 98 - 93 - 0 - EXC - - - 99 - 93 - 0 - EXC - - - 0 - 94 - 0 - EXC - - - 1 - 94 - 1 - EXC - - - 2 - 94 - 0 - EXC - - - 3 - 94 - 0 - EXC - - - 4 - 94 - 1 - EXC - - - 5 - 94 - 0 - EXC - - - 6 - 94 - 0 - EXC - - - 7 - 94 - 0 - EXC - - - 8 - 94 - 0 - EXC - - - 9 - 94 - 0 - EXC - - - 10 - 94 - 0 - EXC - - - 11 - 94 - 1 - EXC - - - 12 - 94 - 0 - EXC - - - 13 - 94 - 0 - EXC - - - 14 - 94 - 1 - EXC - - - 15 - 94 - 0 - EXC - - - 16 - 94 - 0 - EXC - - - 17 - 94 - 0 - EXC - - - 18 - 94 - 0 - EXC - - - 19 - 94 - 0 - EXC - - - 20 - 94 - 0 - EXC - - - 21 - 94 - 1 - EXC - - - 22 - 94 - 0 - EXC - - - 23 - 94 - 0 - EXC - - - 24 - 94 - 1 - EXC - - - 25 - 94 - 0 - EXC - - - 26 - 94 - 0 - EXC - - - 27 - 94 - 0 - EXC - - - 28 - 94 - 0 - EXC - - - 29 - 94 - 0 - EXC - - - 30 - 94 - 0 - EXC - - - 31 - 94 - 1 - EXC - - - 32 - 94 - 0 - EXC - - - 33 - 94 - 0 - EXC - - - 34 - 94 - 1 - EXC - - - 35 - 94 - 0 - EXC - - - 36 - 94 - 0 - EXC - - - 37 - 94 - 0 - EXC - - - 38 - 94 - 0 - EXC - - - 39 - 94 - 0 - EXC - - - 40 - 94 - 0 - EXC - - - 41 - 94 - 1 - EXC - - - 42 - 94 - 0 - EXC - - - 43 - 94 - 0 - EXC - - - 44 - 94 - 1 - EXC - - - 45 - 94 - 0 - EXC - - - 46 - 94 - 0 - EXC - - - 47 - 94 - 0 - EXC - - - 48 - 94 - 0 - EXC - - - 49 - 94 - 0 - EXC - - - 50 - 94 - 0 - EXC - - - 51 - 94 - 1 - EXC - - - 52 - 94 - 0 - EXC - - - 53 - 94 - 0 - EXC - - - 54 - 94 - 1 - EXC - - - 55 - 94 - 0 - EXC - - - 56 - 94 - 0 - EXC - - - 57 - 94 - 0 - EXC - - - 58 - 94 - 0 - EXC - - - 59 - 94 - 0 - EXC - - - 60 - 94 - 0 - EXC - - - 61 - 94 - 1 - EXC - - - 62 - 94 - 0 - EXC - - - 63 - 94 - 0 - EXC - - - 64 - 94 - 1 - EXC - - - 65 - 94 - 0 - EXC - - - 66 - 94 - 0 - EXC - - - 67 - 94 - 0 - EXC - - - 68 - 94 - 0 - EXC - - - 69 - 94 - 0 - EXC - - - 70 - 94 - 0 - EXC - - - 71 - 94 - 1 - EXC - - - 72 - 94 - 0 - EXC - - - 73 - 94 - 0 - EXC - - - 74 - 94 - 1 - EXC - - - 75 - 94 - 0 - EXC - - - 76 - 94 - 0 - EXC - - - 77 - 94 - 0 - EXC - - - 78 - 94 - 0 - EXC - - - 79 - 94 - 0 - EXC - - - 80 - 94 - 0 - EXC - - - 81 - 94 - 1 - EXC - - - 82 - 94 - 0 - EXC - - - 83 - 94 - 0 - EXC - - - 84 - 94 - 1 - EXC - - - 85 - 94 - 0 - EXC - - - 86 - 94 - 0 - EXC - - - 87 - 94 - 0 - EXC - - - 88 - 94 - 0 - EXC - - - 89 - 94 - 0 - EXC - - - 90 - 94 - 0 - EXC - - - 91 - 94 - 1 - EXC - - - 92 - 94 - 0 - EXC - - - 93 - 94 - 0 - EXC - - - 94 - 94 - 1 - EXC - - - 95 - 94 - 0 - EXC - - - 96 - 94 - 0 - EXC - - - 97 - 94 - 0 - EXC - - - 98 - 94 - 0 - EXC - - - 99 - 94 - 0 - EXC - - - 0 - 95 - 0 - EXC - - - 1 - 95 - 0 - EXC - - - 2 - 95 - 0 - EXC - - - 3 - 95 - 0 - EXC - - - 4 - 95 - 0 - EXC - - - 5 - 95 - 0 - EXC - - - 6 - 95 - 0 - EXC - - - 7 - 95 - 0 - EXC - - - 8 - 95 - 0 - EXC - - - 9 - 95 - 0 - EXC - - - 10 - 95 - 0 - EXC - - - 11 - 95 - 0 - EXC - - - 12 - 95 - 0 - EXC - - - 13 - 95 - 0 - EXC - - - 14 - 95 - 0 - EXC - - - 15 - 95 - 0 - EXC - - - 16 - 95 - 0 - EXC - - - 17 - 95 - 0 - EXC - - - 18 - 95 - 0 - EXC - - - 19 - 95 - 0 - EXC - - - 20 - 95 - 0 - EXC - - - 21 - 95 - 0 - EXC - - - 22 - 95 - 0 - EXC - - - 23 - 95 - 0 - EXC - - - 24 - 95 - 0 - EXC - - - 25 - 95 - 0 - EXC - - - 26 - 95 - 0 - EXC - - - 27 - 95 - 0 - EXC - - - 28 - 95 - 0 - EXC - - - 29 - 95 - 0 - EXC - - - 30 - 95 - 0 - EXC - - - 31 - 95 - 0 - EXC - - - 32 - 95 - 0 - EXC - - - 33 - 95 - 0 - EXC - - - 34 - 95 - 0 - EXC - - - 35 - 95 - 0 - EXC - - - 36 - 95 - 0 - EXC - - - 37 - 95 - 0 - EXC - - - 38 - 95 - 0 - EXC - - - 39 - 95 - 0 - EXC - - - 40 - 95 - 0 - EXC - - - 41 - 95 - 0 - EXC - - - 42 - 95 - 0 - EXC - - - 43 - 95 - 0 - EXC - - - 44 - 95 - 0 - EXC - - - 45 - 95 - 0 - EXC - - - 46 - 95 - 0 - EXC - - - 47 - 95 - 0 - EXC - - - 48 - 95 - 0 - EXC - - - 49 - 95 - 0 - EXC - - - 50 - 95 - 0 - EXC - - - 51 - 95 - 0 - EXC - - - 52 - 95 - 0 - EXC - - - 53 - 95 - 0 - EXC - - - 54 - 95 - 0 - EXC - - - 55 - 95 - 0 - EXC - - - 56 - 95 - 0 - EXC - - - 57 - 95 - 0 - EXC - - - 58 - 95 - 0 - EXC - - - 59 - 95 - 0 - EXC - - - 60 - 95 - 0 - EXC - - - 61 - 95 - 0 - EXC - - - 62 - 95 - 0 - EXC - - - 63 - 95 - 0 - EXC - - - 64 - 95 - 0 - EXC - - - 65 - 95 - 0 - EXC - - - 66 - 95 - 0 - EXC - - - 67 - 95 - 0 - EXC - - - 68 - 95 - 0 - EXC - - - 69 - 95 - 0 - EXC - - - 70 - 95 - 0 - EXC - - - 71 - 95 - 0 - EXC - - - 72 - 95 - 0 - EXC - - - 73 - 95 - 0 - EXC - - - 74 - 95 - 0 - EXC - - - 75 - 95 - 0 - EXC - - - 76 - 95 - 0 - EXC - - - 77 - 95 - 0 - EXC - - - 78 - 95 - 0 - EXC - - - 79 - 95 - 0 - EXC - - - 80 - 95 - 0 - EXC - - - 81 - 95 - 0 - EXC - - - 82 - 95 - 0 - EXC - - - 83 - 95 - 0 - EXC - - - 84 - 95 - 0 - EXC - - - 85 - 95 - 0 - EXC - - - 86 - 95 - 0 - EXC - - - 87 - 95 - 0 - EXC - - - 88 - 95 - 0 - EXC - - - 89 - 95 - 0 - EXC - - - 90 - 95 - 0 - EXC - - - 91 - 95 - 0 - EXC - - - 92 - 95 - 0 - EXC - - - 93 - 95 - 0 - EXC - - - 94 - 95 - 0 - EXC - - - 95 - 95 - 0 - EXC - - - 96 - 95 - 0 - EXC - - - 97 - 95 - 0 - EXC - - - 98 - 95 - 0 - EXC - - - 99 - 95 - 0 - EXC - - - 0 - 96 - 0 - EXC - - - 1 - 96 - 0 - EXC - - - 2 - 96 - 0 - EXC - - - 3 - 96 - 0 - EXC - - - 4 - 96 - 0 - EXC - - - 5 - 96 - 0 - EXC - - - 6 - 96 - 0 - INH - - - 7 - 96 - 1 - EXC - - - 8 - 96 - 0 - EXC - - - 9 - 96 - 0 - EXC - - - 10 - 96 - 0 - EXC - - - 11 - 96 - 0 - EXC - - - 12 - 96 - 0 - EXC - - - 13 - 96 - 0 - EXC - - - 14 - 96 - 0 - EXC - - - 15 - 96 - 0 - EXC - - - 16 - 96 - 0 - INH - - - 17 - 96 - 1 - EXC - - - 18 - 96 - 0 - EXC - - - 19 - 96 - 0 - EXC - - - 20 - 96 - 0 - EXC - - - 21 - 96 - 0 - EXC - - - 22 - 96 - 0 - EXC - - - 23 - 96 - 0 - EXC - - - 24 - 96 - 0 - EXC - - - 25 - 96 - 0 - EXC - - - 26 - 96 - 0 - INH - - - 27 - 96 - 1 - EXC - - - 28 - 96 - 0 - EXC - - - 29 - 96 - 0 - EXC - - - 30 - 96 - 0 - EXC - - - 31 - 96 - 0 - EXC - - - 32 - 96 - 0 - EXC - - - 33 - 96 - 0 - EXC - - - 34 - 96 - 0 - EXC - - - 35 - 96 - 0 - EXC - - - 36 - 96 - 0 - INH - - - 37 - 96 - 1 - EXC - - - 38 - 96 - 0 - EXC - - - 39 - 96 - 0 - EXC - - - 40 - 96 - 0 - EXC - - - 41 - 96 - 0 - EXC - - - 42 - 96 - 0 - EXC - - - 43 - 96 - 0 - EXC - - - 44 - 96 - 0 - EXC - - - 45 - 96 - 0 - EXC - - - 46 - 96 - 0 - INH - - - 47 - 96 - 1 - EXC - - - 48 - 96 - 0 - EXC - - - 49 - 96 - 0 - EXC - - - 50 - 96 - 0 - EXC - - - 51 - 96 - 0 - EXC - - - 52 - 96 - 0 - EXC - - - 53 - 96 - 0 - EXC - - - 54 - 96 - 0 - EXC - - - 55 - 96 - 0 - EXC - - - 56 - 96 - 0 - INH - - - 57 - 96 - 1 - EXC - - - 58 - 96 - 0 - EXC - - - 59 - 96 - 0 - EXC - - - 60 - 96 - 0 - EXC - - - 61 - 96 - 0 - EXC - - - 62 - 96 - 0 - EXC - - - 63 - 96 - 0 - EXC - - - 64 - 96 - 0 - EXC - - - 65 - 96 - 0 - EXC - - - 66 - 96 - 0 - INH - - - 67 - 96 - 1 - EXC - - - 68 - 96 - 0 - EXC - - - 69 - 96 - 0 - EXC - - - 70 - 96 - 0 - EXC - - - 71 - 96 - 0 - EXC - - - 72 - 96 - 0 - EXC - - - 73 - 96 - 0 - EXC - - - 74 - 96 - 0 - EXC - - - 75 - 96 - 0 - EXC - - - 76 - 96 - 0 - INH - - - 77 - 96 - 1 - EXC - - - 78 - 96 - 0 - EXC - - - 79 - 96 - 0 - EXC - - - 80 - 96 - 0 - EXC - - - 81 - 96 - 0 - EXC - - - 82 - 96 - 0 - EXC - - - 83 - 96 - 0 - EXC - - - 84 - 96 - 0 - EXC - - - 85 - 96 - 0 - EXC - - - 86 - 96 - 0 - INH - - - 87 - 96 - 1 - EXC - - - 88 - 96 - 0 - EXC - - - 89 - 96 - 0 - EXC - - - 90 - 96 - 0 - EXC - - - 91 - 96 - 0 - EXC - - - 92 - 96 - 0 - EXC - - - 93 - 96 - 0 - EXC - - - 94 - 96 - 0 - EXC - - - 95 - 96 - 0 - EXC - - - 96 - 96 - 0 - INH - - - 97 - 96 - 1 - EXC - - - 98 - 96 - 0 - EXC - - - 99 - 96 - 0 - EXC - - - 0 - 97 - 0 - EXC - - - 1 - 97 - 1 - EXC - - - 2 - 97 - 0 - EXC - - - 3 - 97 - 0 - EXC - - - 4 - 97 - 1 - EXC - - - 5 - 97 - 0 - EXC - - - 6 - 97 - 0 - EXC - - - 7 - 97 - 0 - EXC - - - 8 - 97 - 0 - EXC - - - 9 - 97 - 0 - EXC - - - 10 - 97 - 0 - EXC - - - 11 - 97 - 1 - EXC - - - 12 - 97 - 0 - EXC - - - 13 - 97 - 0 - EXC - - - 14 - 97 - 1 - EXC - - - 15 - 97 - 0 - EXC - - - 16 - 97 - 0 - EXC - - - 17 - 97 - 0 - EXC - - - 18 - 97 - 0 - EXC - - - 19 - 97 - 0 - EXC - - - 20 - 97 - 0 - EXC - - - 21 - 97 - 1 - EXC - - - 22 - 97 - 0 - EXC - - - 23 - 97 - 0 - EXC - - - 24 - 97 - 1 - EXC - - - 25 - 97 - 0 - EXC - - - 26 - 97 - 0 - EXC - - - 27 - 97 - 0 - EXC - - - 28 - 97 - 0 - EXC - - - 29 - 97 - 0 - EXC - - - 30 - 97 - 0 - EXC - - - 31 - 97 - 1 - EXC - - - 32 - 97 - 0 - EXC - - - 33 - 97 - 0 - EXC - - - 34 - 97 - 1 - EXC - - - 35 - 97 - 0 - EXC - - - 36 - 97 - 0 - EXC - - - 37 - 97 - 0 - EXC - - - 38 - 97 - 0 - EXC - - - 39 - 97 - 0 - EXC - - - 40 - 97 - 0 - EXC - - - 41 - 97 - 1 - EXC - - - 42 - 97 - 0 - EXC - - - 43 - 97 - 0 - EXC - - - 44 - 97 - 1 - EXC - - - 45 - 97 - 0 - EXC - - - 46 - 97 - 0 - EXC - - - 47 - 97 - 0 - EXC - - - 48 - 97 - 0 - EXC - - - 49 - 97 - 0 - EXC - - - 50 - 97 - 0 - EXC - - - 51 - 97 - 1 - EXC - - - 52 - 97 - 0 - EXC - - - 53 - 97 - 0 - EXC - - - 54 - 97 - 1 - EXC - - - 55 - 97 - 0 - EXC - - - 56 - 97 - 0 - EXC - - - 57 - 97 - 0 - EXC - - - 58 - 97 - 0 - EXC - - - 59 - 97 - 0 - EXC - - - 60 - 97 - 0 - EXC - - - 61 - 97 - 1 - EXC - - - 62 - 97 - 0 - EXC - - - 63 - 97 - 0 - EXC - - - 64 - 97 - 1 - EXC - - - 65 - 97 - 0 - EXC - - - 66 - 97 - 0 - EXC - - - 67 - 97 - 0 - EXC - - - 68 - 97 - 0 - EXC - - - 69 - 97 - 0 - EXC - - - 70 - 97 - 0 - EXC - - - 71 - 97 - 1 - EXC - - - 72 - 97 - 0 - EXC - - - 73 - 97 - 0 - EXC - - - 74 - 97 - 1 - EXC - - - 75 - 97 - 0 - EXC - - - 76 - 97 - 0 - EXC - - - 77 - 97 - 0 - EXC - - - 78 - 97 - 0 - EXC - - - 79 - 97 - 0 - EXC - - - 80 - 97 - 0 - EXC - - - 81 - 97 - 1 - EXC - - - 82 - 97 - 0 - EXC - - - 83 - 97 - 0 - EXC - - - 84 - 97 - 1 - EXC - - - 85 - 97 - 0 - EXC - - - 86 - 97 - 0 - EXC - - - 87 - 97 - 0 - EXC - - - 88 - 97 - 0 - EXC - - - 89 - 97 - 0 - EXC - - - 90 - 97 - 0 - EXC - - - 91 - 97 - 1 - EXC - - - 92 - 97 - 0 - EXC - - - 93 - 97 - 0 - EXC - - - 94 - 97 - 1 - EXC - - - 95 - 97 - 0 - EXC - - - 96 - 97 - 0 - EXC - - - 97 - 97 - 0 - EXC - - - 98 - 97 - 0 - EXC - - - 99 - 97 - 0 - EXC - - - 0 - 98 - 0 - EXC - - - 1 - 98 - 0 - EXC - - - 2 - 98 - 0 - EXC - - - 3 - 98 - 0 - EXC - - - 4 - 98 - 0 - EXC - - - 5 - 98 - 0 - EXC - - - 6 - 98 - 0 - EXC - - - 7 - 98 - 0 - EXC - - - 8 - 98 - 0 - EXC - - - 9 - 98 - 0 - EXC - - - 10 - 98 - 0 - EXC - - - 11 - 98 - 0 - EXC - - - 12 - 98 - 0 - EXC - - - 13 - 98 - 0 - EXC - - - 14 - 98 - 0 - EXC - - - 15 - 98 - 0 - EXC - - - 16 - 98 - 0 - EXC - - - 17 - 98 - 0 - EXC - - - 18 - 98 - 0 - EXC - - - 19 - 98 - 0 - EXC - - - 20 - 98 - 0 - EXC - - - 21 - 98 - 0 - EXC - - - 22 - 98 - 0 - EXC - - - 23 - 98 - 0 - EXC - - - 24 - 98 - 0 - EXC - - - 25 - 98 - 0 - EXC - - - 26 - 98 - 0 - EXC - - - 27 - 98 - 0 - EXC - - - 28 - 98 - 0 - EXC - - - 29 - 98 - 0 - EXC - - - 30 - 98 - 0 - EXC - - - 31 - 98 - 0 - EXC - - - 32 - 98 - 0 - EXC - - - 33 - 98 - 0 - EXC - - - 34 - 98 - 0 - EXC - - - 35 - 98 - 0 - EXC - - - 36 - 98 - 0 - EXC - - - 37 - 98 - 0 - EXC - - - 38 - 98 - 0 - EXC - - - 39 - 98 - 0 - EXC - - - 40 - 98 - 0 - EXC - - - 41 - 98 - 0 - EXC - - - 42 - 98 - 0 - EXC - - - 43 - 98 - 0 - EXC - - - 44 - 98 - 0 - EXC - - - 45 - 98 - 0 - EXC - - - 46 - 98 - 0 - EXC - - - 47 - 98 - 0 - EXC - - - 48 - 98 - 0 - EXC - - - 49 - 98 - 0 - EXC - - - 50 - 98 - 0 - EXC - - - 51 - 98 - 0 - EXC - - - 52 - 98 - 0 - EXC - - - 53 - 98 - 0 - EXC - - - 54 - 98 - 0 - EXC - - - 55 - 98 - 0 - EXC - - - 56 - 98 - 0 - EXC - - - 57 - 98 - 0 - EXC - - - 58 - 98 - 0 - EXC - - - 59 - 98 - 0 - EXC - - - 60 - 98 - 0 - EXC - - - 61 - 98 - 0 - EXC - - - 62 - 98 - 0 - EXC - - - 63 - 98 - 0 - EXC - - - 64 - 98 - 0 - EXC - - - 65 - 98 - 0 - EXC - - - 66 - 98 - 0 - EXC - - - 67 - 98 - 0 - EXC - - - 68 - 98 - 0 - EXC - - - 69 - 98 - 0 - EXC - - - 70 - 98 - 0 - EXC - - - 71 - 98 - 0 - EXC - - - 72 - 98 - 0 - EXC - - - 73 - 98 - 0 - EXC - - - 74 - 98 - 0 - EXC - - - 75 - 98 - 0 - EXC - - - 76 - 98 - 0 - EXC - - - 77 - 98 - 0 - EXC - - - 78 - 98 - 0 - EXC - - - 79 - 98 - 0 - EXC - - - 80 - 98 - 0 - EXC - - - 81 - 98 - 0 - EXC - - - 82 - 98 - 0 - EXC - - - 83 - 98 - 0 - EXC - - - 84 - 98 - 0 - EXC - - - 85 - 98 - 0 - EXC - - - 86 - 98 - 0 - EXC - - - 87 - 98 - 0 - EXC - - - 88 - 98 - 0 - EXC - - - 89 - 98 - 0 - EXC - - - 90 - 98 - 0 - EXC - - - 91 - 98 - 0 - EXC - - - 92 - 98 - 0 - EXC - - - 93 - 98 - 0 - EXC - - - 94 - 98 - 0 - EXC - - - 95 - 98 - 0 - EXC - - - 96 - 98 - 0 - EXC - - - 97 - 98 - 0 - EXC - - - 98 - 98 - 0 - EXC - - - 99 - 98 - 0 - EXC - - - 0 - 99 - 0 - EXC - - - 1 - 99 - 0 - EXC - - - 2 - 99 - 0 - EXC - - - 3 - 99 - 0 - EXC - - - 4 - 99 - 0 - EXC - - - 5 - 99 - 0 - EXC - - - 6 - 99 - 0 - EXC - - - 7 - 99 - 1 - EXC - - - 8 - 99 - 0 - EXC - - - 9 - 99 - 0 - EXC - - - 10 - 99 - 0 - EXC - - - 11 - 99 - 0 - EXC - - - 12 - 99 - 0 - EXC - - - 13 - 99 - 0 - EXC - - - 14 - 99 - 0 - EXC - - - 15 - 99 - 0 - EXC - - - 16 - 99 - 0 - EXC - - - 17 - 99 - 1 - EXC - - - 18 - 99 - 0 - EXC - - - 19 - 99 - 0 - EXC - - - 20 - 99 - 0 - EXC - - - 21 - 99 - 0 - EXC - - - 22 - 99 - 0 - EXC - - - 23 - 99 - 0 - EXC - - - 24 - 99 - 0 - EXC - - - 25 - 99 - 0 - EXC - - - 26 - 99 - 0 - EXC - - - 27 - 99 - 1 - EXC - - - 28 - 99 - 0 - EXC - - - 29 - 99 - 0 - EXC - - - 30 - 99 - 0 - EXC - - - 31 - 99 - 0 - EXC - - - 32 - 99 - 0 - EXC - - - 33 - 99 - 0 - EXC - - - 34 - 99 - 0 - EXC - - - 35 - 99 - 0 - EXC - - - 36 - 99 - 0 - EXC - - - 37 - 99 - 1 - EXC - - - 38 - 99 - 0 - EXC - - - 39 - 99 - 0 - EXC - - - 40 - 99 - 0 - EXC - - - 41 - 99 - 0 - EXC - - - 42 - 99 - 0 - EXC - - - 43 - 99 - 0 - EXC - - - 44 - 99 - 0 - EXC - - - 45 - 99 - 0 - EXC - - - 46 - 99 - 0 - EXC - - - 47 - 99 - 1 - EXC - - - 48 - 99 - 0 - EXC - - - 49 - 99 - 0 - EXC - - - 50 - 99 - 0 - EXC - - - 51 - 99 - 0 - EXC - - - 52 - 99 - 0 - EXC - - - 53 - 99 - 0 - EXC - - - 54 - 99 - 0 - EXC - - - 55 - 99 - 0 - EXC - - - 56 - 99 - 0 - EXC - - - 57 - 99 - 1 - EXC - - - 58 - 99 - 0 - EXC - - - 59 - 99 - 0 - EXC - - - 60 - 99 - 0 - EXC - - - 61 - 99 - 0 - EXC - - - 62 - 99 - 0 - EXC - - - 63 - 99 - 0 - EXC - - - 64 - 99 - 0 - EXC - - - 65 - 99 - 0 - EXC - - - 66 - 99 - 0 - EXC - - - 67 - 99 - 1 - EXC - - - 68 - 99 - 0 - EXC - - - 69 - 99 - 0 - EXC - - - 70 - 99 - 0 - EXC - - - 71 - 99 - 0 - EXC - - - 72 - 99 - 0 - EXC - - - 73 - 99 - 0 - EXC - - - 74 - 99 - 0 - EXC - - - 75 - 99 - 0 - EXC - - - 76 - 99 - 0 - EXC - - - 77 - 99 - 1 - EXC - - - 78 - 99 - 0 - EXC - - - 79 - 99 - 0 - EXC - - - 80 - 99 - 0 - EXC - - - 81 - 99 - 0 - EXC - - - 82 - 99 - 0 - EXC - - - 83 - 99 - 0 - EXC - - - 84 - 99 - 0 - EXC - - - 85 - 99 - 0 - EXC - - - 86 - 99 - 0 - EXC - - - 87 - 99 - 1 - EXC - - - 88 - 99 - 0 - EXC - - - 89 - 99 - 0 - EXC - - - 90 - 99 - 0 - EXC - - - 91 - 99 - 0 - EXC - - - 92 - 99 - 0 - EXC - - - 93 - 99 - 0 - EXC - - - 94 - 99 - 0 - EXC - - - 95 - 99 - 0 - EXC - - - 96 - 99 - 0 - EXC - - - 97 - 99 - 1 - EXC - - - 98 - 99 - 0 - EXC - - - 99 - 99 - 0 - EXC - - - diff --git a/configfiles/graphs/tR_1.0--fE_0.80_10000.graphml b/configfiles/graphs/tR_1.0--fE_0.80_10000.graphml deleted file mode 100644 index f2dc3b7fe..000000000 --- a/configfiles/graphs/tR_1.0--fE_0.80_10000.graphml +++ /dev/null @@ -1,60009 +0,0 @@ - - - - - - - - - 0 - 0 - 0 - INH - - - 1 - 0 - 0 - EXC - - - 2 - 0 - 0 - INH - - - 3 - 0 - 0 - EXC - - - 4 - 0 - 0 - INH - - - 5 - 0 - 0 - EXC - - - 6 - 0 - 0 - INH - - - 7 - 0 - 1 - EXC - - - 8 - 0 - 0 - INH - - - 9 - 0 - 0 - EXC - - - 10 - 0 - 0 - INH - - - 11 - 0 - 0 - EXC - - - 12 - 0 - 0 - INH - - - 13 - 0 - 0 - EXC - - - 14 - 0 - 0 - INH - - - 15 - 0 - 0 - EXC - - - 16 - 0 - 0 - INH - - - 17 - 0 - 1 - EXC - - - 18 - 0 - 0 - INH - - - 19 - 0 - 0 - EXC - - - 20 - 0 - 0 - INH - - - 21 - 0 - 0 - EXC - - - 22 - 0 - 0 - INH - - - 23 - 0 - 0 - EXC - - - 24 - 0 - 0 - EXC - - - 25 - 0 - 0 - EXC - - - 26 - 0 - 0 - INH - - - 27 - 0 - 1 - EXC - - - 28 - 0 - 0 - INH - - - 29 - 0 - 0 - EXC - - - 30 - 0 - 0 - INH - - - 31 - 0 - 0 - EXC - - - 32 - 0 - 0 - INH - - - 33 - 0 - 0 - EXC - - - 34 - 0 - 0 - INH - - - 35 - 0 - 0 - EXC - - - 36 - 0 - 0 - INH - - - 37 - 0 - 1 - EXC - - - 38 - 0 - 0 - INH - - - 39 - 0 - 0 - EXC - - - 40 - 0 - 0 - INH - - - 41 - 0 - 0 - EXC - - - 42 - 0 - 0 - INH - - - 43 - 0 - 0 - EXC - - - 44 - 0 - 0 - INH - - - 45 - 0 - 0 - EXC - - - 46 - 0 - 0 - INH - - - 47 - 0 - 1 - EXC - - - 48 - 0 - 0 - INH - - - 49 - 0 - 0 - EXC - - - 50 - 0 - 0 - INH - - - 51 - 0 - 0 - EXC - - - 52 - 0 - 0 - INH - - - 53 - 0 - 0 - EXC - - - 54 - 0 - 0 - INH - - - 55 - 0 - 0 - EXC - - - 56 - 0 - 0 - INH - - - 57 - 0 - 1 - EXC - - - 58 - 0 - 0 - INH - - - 59 - 0 - 0 - EXC - - - 60 - 0 - 0 - INH - - - 61 - 0 - 0 - EXC - - - 62 - 0 - 0 - INH - - - 63 - 0 - 0 - EXC - - - 64 - 0 - 0 - INH - - - 65 - 0 - 0 - EXC - - - 66 - 0 - 0 - INH - - - 67 - 0 - 1 - EXC - - - 68 - 0 - 0 - INH - - - 69 - 0 - 0 - EXC - - - 70 - 0 - 0 - INH - - - 71 - 0 - 0 - EXC - - - 72 - 0 - 0 - INH - - - 73 - 0 - 0 - EXC - - - 74 - 0 - 0 - INH - - - 75 - 0 - 0 - EXC - - - 76 - 0 - 0 - INH - - - 77 - 0 - 1 - EXC - - - 78 - 0 - 0 - INH - - - 79 - 0 - 0 - EXC - - - 80 - 0 - 0 - INH - - - 81 - 0 - 0 - EXC - - - 82 - 0 - 0 - INH - - - 83 - 0 - 0 - EXC - - - 84 - 0 - 0 - INH - - - 85 - 0 - 0 - EXC - - - 86 - 0 - 0 - INH - - - 87 - 0 - 1 - EXC - - - 88 - 0 - 0 - INH - - - 89 - 0 - 0 - EXC - - - 90 - 0 - 0 - INH - - - 91 - 0 - 0 - EXC - - - 92 - 0 - 0 - INH - - - 93 - 0 - 0 - EXC - - - 94 - 0 - 0 - INH - - - 95 - 0 - 0 - EXC - - - 96 - 0 - 0 - INH - - - 97 - 0 - 1 - EXC - - - 98 - 0 - 0 - INH - - - 99 - 0 - 0 - EXC - - - 0 - 1 - 0 - EXC - - - 1 - 1 - 1 - EXC - - - 2 - 1 - 0 - EXC - - - 3 - 1 - 0 - EXC - - - 4 - 1 - 1 - EXC - - - 5 - 1 - 0 - EXC - - - 6 - 1 - 0 - EXC - - - 7 - 1 - 0 - EXC - - - 8 - 1 - 0 - EXC - - - 9 - 1 - 0 - EXC - - - 10 - 1 - 0 - EXC - - - 11 - 1 - 1 - EXC - - - 12 - 1 - 0 - EXC - - - 13 - 1 - 0 - EXC - - - 14 - 1 - 1 - EXC - - - 15 - 1 - 0 - EXC - - - 16 - 1 - 0 - EXC - - - 17 - 1 - 0 - EXC - - - 18 - 1 - 0 - EXC - - - 19 - 1 - 0 - EXC - - - 20 - 1 - 0 - EXC - - - 21 - 1 - 1 - EXC - - - 22 - 1 - 0 - EXC - - - 23 - 1 - 0 - EXC - - - 24 - 1 - 1 - EXC - - - 25 - 1 - 0 - EXC - - - 26 - 1 - 0 - EXC - - - 27 - 1 - 0 - EXC - - - 28 - 1 - 0 - EXC - - - 29 - 1 - 0 - EXC - - - 30 - 1 - 0 - EXC - - - 31 - 1 - 1 - EXC - - - 32 - 1 - 0 - EXC - - - 33 - 1 - 0 - EXC - - - 34 - 1 - 1 - EXC - - - 35 - 1 - 0 - EXC - - - 36 - 1 - 0 - EXC - - - 37 - 1 - 0 - EXC - - - 38 - 1 - 0 - EXC - - - 39 - 1 - 0 - EXC - - - 40 - 1 - 0 - EXC - - - 41 - 1 - 1 - EXC - - - 42 - 1 - 0 - EXC - - - 43 - 1 - 0 - EXC - - - 44 - 1 - 1 - EXC - - - 45 - 1 - 0 - EXC - - - 46 - 1 - 0 - EXC - - - 47 - 1 - 0 - EXC - - - 48 - 1 - 0 - EXC - - - 49 - 1 - 0 - EXC - - - 50 - 1 - 0 - EXC - - - 51 - 1 - 1 - EXC - - - 52 - 1 - 0 - EXC - - - 53 - 1 - 0 - EXC - - - 54 - 1 - 1 - EXC - - - 55 - 1 - 0 - EXC - - - 56 - 1 - 0 - EXC - - - 57 - 1 - 0 - EXC - - - 58 - 1 - 0 - EXC - - - 59 - 1 - 0 - EXC - - - 60 - 1 - 0 - EXC - - - 61 - 1 - 1 - EXC - - - 62 - 1 - 0 - EXC - - - 63 - 1 - 0 - EXC - - - 64 - 1 - 1 - EXC - - - 65 - 1 - 0 - EXC - - - 66 - 1 - 0 - EXC - - - 67 - 1 - 0 - EXC - - - 68 - 1 - 0 - EXC - - - 69 - 1 - 0 - EXC - - - 70 - 1 - 0 - EXC - - - 71 - 1 - 1 - EXC - - - 72 - 1 - 0 - EXC - - - 73 - 1 - 0 - EXC - - - 74 - 1 - 1 - EXC - - - 75 - 1 - 0 - EXC - - - 76 - 1 - 0 - EXC - - - 77 - 1 - 0 - EXC - - - 78 - 1 - 0 - EXC - - - 79 - 1 - 0 - EXC - - - 80 - 1 - 0 - EXC - - - 81 - 1 - 1 - EXC - - - 82 - 1 - 0 - EXC - - - 83 - 1 - 0 - EXC - - - 84 - 1 - 1 - EXC - - - 85 - 1 - 0 - EXC - - - 86 - 1 - 0 - EXC - - - 87 - 1 - 0 - EXC - - - 88 - 1 - 0 - EXC - - - 89 - 1 - 0 - EXC - - - 90 - 1 - 0 - EXC - - - 91 - 1 - 1 - EXC - - - 92 - 1 - 0 - EXC - - - 93 - 1 - 0 - EXC - - - 94 - 1 - 1 - EXC - - - 95 - 1 - 0 - EXC - - - 96 - 1 - 0 - EXC - - - 97 - 1 - 0 - EXC - - - 98 - 1 - 0 - EXC - - - 99 - 1 - 0 - EXC - - - 0 - 2 - 0 - INH - - - 1 - 2 - 0 - EXC - - - 2 - 2 - 0 - EXC - - - 3 - 2 - 0 - EXC - - - 4 - 2 - 0 - EXC - - - 5 - 2 - 0 - EXC - - - 6 - 2 - 0 - INH - - - 7 - 2 - 0 - EXC - - - 8 - 2 - 0 - EXC - - - 9 - 2 - 0 - EXC - - - 10 - 2 - 0 - INH - - - 11 - 2 - 0 - EXC - - - 12 - 2 - 0 - EXC - - - 13 - 2 - 0 - EXC - - - 14 - 2 - 0 - EXC - - - 15 - 2 - 0 - EXC - - - 16 - 2 - 0 - INH - - - 17 - 2 - 0 - EXC - - - 18 - 2 - 0 - EXC - - - 19 - 2 - 0 - EXC - - - 20 - 2 - 0 - INH - - - 21 - 2 - 0 - EXC - - - 22 - 2 - 0 - EXC - - - 23 - 2 - 0 - EXC - - - 24 - 2 - 0 - EXC - - - 25 - 2 - 0 - EXC - - - 26 - 2 - 0 - INH - - - 27 - 2 - 0 - EXC - - - 28 - 2 - 0 - EXC - - - 29 - 2 - 0 - EXC - - - 30 - 2 - 0 - INH - - - 31 - 2 - 0 - EXC - - - 32 - 2 - 0 - EXC - - - 33 - 2 - 0 - EXC - - - 34 - 2 - 0 - EXC - - - 35 - 2 - 0 - EXC - - - 36 - 2 - 0 - INH - - - 37 - 2 - 0 - EXC - - - 38 - 2 - 0 - EXC - - - 39 - 2 - 0 - EXC - - - 40 - 2 - 0 - INH - - - 41 - 2 - 0 - EXC - - - 42 - 2 - 0 - EXC - - - 43 - 2 - 0 - EXC - - - 44 - 2 - 0 - EXC - - - 45 - 2 - 0 - EXC - - - 46 - 2 - 0 - INH - - - 47 - 2 - 0 - EXC - - - 48 - 2 - 0 - EXC - - - 49 - 2 - 0 - EXC - - - 50 - 2 - 0 - INH - - - 51 - 2 - 0 - EXC - - - 52 - 2 - 0 - EXC - - - 53 - 2 - 0 - EXC - - - 54 - 2 - 0 - EXC - - - 55 - 2 - 0 - EXC - - - 56 - 2 - 0 - INH - - - 57 - 2 - 0 - EXC - - - 58 - 2 - 0 - EXC - - - 59 - 2 - 0 - EXC - - - 60 - 2 - 0 - INH - - - 61 - 2 - 0 - EXC - - - 62 - 2 - 0 - EXC - - - 63 - 2 - 0 - EXC - - - 64 - 2 - 0 - EXC - - - 65 - 2 - 0 - EXC - - - 66 - 2 - 0 - INH - - - 67 - 2 - 0 - EXC - - - 68 - 2 - 0 - EXC - - - 69 - 2 - 0 - EXC - - - 70 - 2 - 0 - INH - - - 71 - 2 - 0 - EXC - - - 72 - 2 - 0 - EXC - - - 73 - 2 - 0 - EXC - - - 74 - 2 - 0 - EXC - - - 75 - 2 - 0 - EXC - - - 76 - 2 - 0 - INH - - - 77 - 2 - 0 - EXC - - - 78 - 2 - 0 - EXC - - - 79 - 2 - 0 - EXC - - - 80 - 2 - 0 - INH - - - 81 - 2 - 0 - EXC - - - 82 - 2 - 0 - EXC - - - 83 - 2 - 0 - EXC - - - 84 - 2 - 0 - EXC - - - 85 - 2 - 0 - EXC - - - 86 - 2 - 0 - INH - - - 87 - 2 - 0 - EXC - - - 88 - 2 - 0 - EXC - - - 89 - 2 - 0 - EXC - - - 90 - 2 - 0 - INH - - - 91 - 2 - 0 - EXC - - - 92 - 2 - 0 - EXC - - - 93 - 2 - 0 - EXC - - - 94 - 2 - 0 - EXC - - - 95 - 2 - 0 - EXC - - - 96 - 2 - 0 - INH - - - 97 - 2 - 0 - EXC - - - 98 - 2 - 0 - EXC - - - 99 - 2 - 0 - EXC - - - 0 - 3 - 0 - EXC - - - 1 - 3 - 0 - EXC - - - 2 - 3 - 0 - INH - - - 3 - 3 - 0 - EXC - - - 4 - 3 - 0 - INH - - - 5 - 3 - 0 - EXC - - - 6 - 3 - 0 - EXC - - - 7 - 3 - 1 - EXC - - - 8 - 3 - 0 - INH - - - 9 - 3 - 0 - EXC - - - 10 - 3 - 0 - EXC - - - 11 - 3 - 0 - EXC - - - 12 - 3 - 0 - INH - - - 13 - 3 - 0 - EXC - - - 14 - 3 - 0 - INH - - - 15 - 3 - 0 - EXC - - - 16 - 3 - 0 - EXC - - - 17 - 3 - 1 - EXC - - - 18 - 3 - 0 - INH - - - 19 - 3 - 0 - EXC - - - 20 - 3 - 0 - EXC - - - 21 - 3 - 0 - EXC - - - 22 - 3 - 0 - INH - - - 23 - 3 - 0 - EXC - - - 24 - 3 - 0 - INH - - - 25 - 3 - 0 - EXC - - - 26 - 3 - 0 - EXC - - - 27 - 3 - 1 - EXC - - - 28 - 3 - 0 - INH - - - 29 - 3 - 0 - EXC - - - 30 - 3 - 0 - EXC - - - 31 - 3 - 0 - EXC - - - 32 - 3 - 0 - INH - - - 33 - 3 - 0 - EXC - - - 34 - 3 - 0 - INH - - - 35 - 3 - 0 - EXC - - - 36 - 3 - 0 - EXC - - - 37 - 3 - 1 - EXC - - - 38 - 3 - 0 - INH - - - 39 - 3 - 0 - EXC - - - 40 - 3 - 0 - EXC - - - 41 - 3 - 0 - EXC - - - 42 - 3 - 0 - INH - - - 43 - 3 - 0 - EXC - - - 44 - 3 - 0 - INH - - - 45 - 3 - 0 - EXC - - - 46 - 3 - 0 - EXC - - - 47 - 3 - 1 - EXC - - - 48 - 3 - 0 - INH - - - 49 - 3 - 0 - EXC - - - 50 - 3 - 0 - EXC - - - 51 - 3 - 0 - EXC - - - 52 - 3 - 0 - INH - - - 53 - 3 - 0 - EXC - - - 54 - 3 - 0 - INH - - - 55 - 3 - 0 - EXC - - - 56 - 3 - 0 - EXC - - - 57 - 3 - 1 - EXC - - - 58 - 3 - 0 - INH - - - 59 - 3 - 0 - EXC - - - 60 - 3 - 0 - EXC - - - 61 - 3 - 0 - EXC - - - 62 - 3 - 0 - INH - - - 63 - 3 - 0 - EXC - - - 64 - 3 - 0 - INH - - - 65 - 3 - 0 - EXC - - - 66 - 3 - 0 - EXC - - - 67 - 3 - 1 - EXC - - - 68 - 3 - 0 - INH - - - 69 - 3 - 0 - EXC - - - 70 - 3 - 0 - EXC - - - 71 - 3 - 0 - EXC - - - 72 - 3 - 0 - INH - - - 73 - 3 - 0 - EXC - - - 74 - 3 - 0 - INH - - - 75 - 3 - 0 - EXC - - - 76 - 3 - 0 - EXC - - - 77 - 3 - 1 - EXC - - - 78 - 3 - 0 - INH - - - 79 - 3 - 0 - EXC - - - 80 - 3 - 0 - EXC - - - 81 - 3 - 0 - EXC - - - 82 - 3 - 0 - INH - - - 83 - 3 - 0 - EXC - - - 84 - 3 - 0 - INH - - - 85 - 3 - 0 - EXC - - - 86 - 3 - 0 - EXC - - - 87 - 3 - 1 - EXC - - - 88 - 3 - 0 - INH - - - 89 - 3 - 0 - EXC - - - 90 - 3 - 0 - EXC - - - 91 - 3 - 0 - EXC - - - 92 - 3 - 0 - INH - - - 93 - 3 - 0 - EXC - - - 94 - 3 - 0 - INH - - - 95 - 3 - 0 - EXC - - - 96 - 3 - 0 - EXC - - - 97 - 3 - 1 - EXC - - - 98 - 3 - 0 - INH - - - 99 - 3 - 0 - EXC - - - 0 - 4 - 0 - EXC - - - 1 - 4 - 1 - EXC - - - 2 - 4 - 0 - EXC - - - 3 - 4 - 0 - EXC - - - 4 - 4 - 1 - EXC - - - 5 - 4 - 0 - EXC - - - 6 - 4 - 0 - EXC - - - 7 - 4 - 0 - EXC - - - 8 - 4 - 0 - EXC - - - 9 - 4 - 0 - EXC - - - 10 - 4 - 0 - EXC - - - 11 - 4 - 1 - EXC - - - 12 - 4 - 0 - EXC - - - 13 - 4 - 0 - EXC - - - 14 - 4 - 1 - EXC - - - 15 - 4 - 0 - EXC - - - 16 - 4 - 0 - EXC - - - 17 - 4 - 0 - EXC - - - 18 - 4 - 0 - EXC - - - 19 - 4 - 0 - EXC - - - 20 - 4 - 0 - EXC - - - 21 - 4 - 1 - EXC - - - 22 - 4 - 0 - EXC - - - 23 - 4 - 0 - EXC - - - 24 - 4 - 1 - EXC - - - 25 - 4 - 0 - EXC - - - 26 - 4 - 0 - EXC - - - 27 - 4 - 0 - EXC - - - 28 - 4 - 0 - EXC - - - 29 - 4 - 0 - EXC - - - 30 - 4 - 0 - EXC - - - 31 - 4 - 1 - EXC - - - 32 - 4 - 0 - EXC - - - 33 - 4 - 0 - EXC - - - 34 - 4 - 1 - EXC - - - 35 - 4 - 0 - EXC - - - 36 - 4 - 0 - EXC - - - 37 - 4 - 0 - EXC - - - 38 - 4 - 0 - EXC - - - 39 - 4 - 0 - EXC - - - 40 - 4 - 0 - EXC - - - 41 - 4 - 1 - EXC - - - 42 - 4 - 0 - EXC - - - 43 - 4 - 0 - EXC - - - 44 - 4 - 1 - EXC - - - 45 - 4 - 0 - EXC - - - 46 - 4 - 0 - EXC - - - 47 - 4 - 0 - EXC - - - 48 - 4 - 0 - EXC - - - 49 - 4 - 0 - EXC - - - 50 - 4 - 0 - EXC - - - 51 - 4 - 1 - EXC - - - 52 - 4 - 0 - EXC - - - 53 - 4 - 0 - EXC - - - 54 - 4 - 1 - EXC - - - 55 - 4 - 0 - EXC - - - 56 - 4 - 0 - EXC - - - 57 - 4 - 0 - EXC - - - 58 - 4 - 0 - EXC - - - 59 - 4 - 0 - EXC - - - 60 - 4 - 0 - EXC - - - 61 - 4 - 1 - EXC - - - 62 - 4 - 0 - EXC - - - 63 - 4 - 0 - EXC - - - 64 - 4 - 1 - EXC - - - 65 - 4 - 0 - EXC - - - 66 - 4 - 0 - EXC - - - 67 - 4 - 0 - EXC - - - 68 - 4 - 0 - EXC - - - 69 - 4 - 0 - EXC - - - 70 - 4 - 0 - EXC - - - 71 - 4 - 1 - EXC - - - 72 - 4 - 0 - EXC - - - 73 - 4 - 0 - EXC - - - 74 - 4 - 1 - EXC - - - 75 - 4 - 0 - EXC - - - 76 - 4 - 0 - EXC - - - 77 - 4 - 0 - EXC - - - 78 - 4 - 0 - EXC - - - 79 - 4 - 0 - EXC - - - 80 - 4 - 0 - EXC - - - 81 - 4 - 1 - EXC - - - 82 - 4 - 0 - EXC - - - 83 - 4 - 0 - EXC - - - 84 - 4 - 1 - EXC - - - 85 - 4 - 0 - EXC - - - 86 - 4 - 0 - EXC - - - 87 - 4 - 0 - EXC - - - 88 - 4 - 0 - EXC - - - 89 - 4 - 0 - EXC - - - 90 - 4 - 0 - EXC - - - 91 - 4 - 1 - EXC - - - 92 - 4 - 0 - EXC - - - 93 - 4 - 0 - EXC - - - 94 - 4 - 1 - EXC - - - 95 - 4 - 0 - EXC - - - 96 - 4 - 0 - EXC - - - 97 - 4 - 0 - EXC - - - 98 - 4 - 0 - EXC - - - 99 - 4 - 0 - EXC - - - 0 - 5 - 0 - INH - - - 1 - 5 - 0 - EXC - - - 2 - 5 - 0 - EXC - - - 3 - 5 - 0 - EXC - - - 4 - 5 - 0 - EXC - - - 5 - 5 - 0 - EXC - - - 6 - 5 - 0 - INH - - - 7 - 5 - 0 - EXC - - - 8 - 5 - 0 - EXC - - - 9 - 5 - 0 - EXC - - - 10 - 5 - 0 - INH - - - 11 - 5 - 0 - EXC - - - 12 - 5 - 0 - EXC - - - 13 - 5 - 0 - EXC - - - 14 - 5 - 0 - EXC - - - 15 - 5 - 0 - EXC - - - 16 - 5 - 0 - INH - - - 17 - 5 - 0 - EXC - - - 18 - 5 - 0 - EXC - - - 19 - 5 - 0 - EXC - - - 20 - 5 - 0 - INH - - - 21 - 5 - 0 - EXC - - - 22 - 5 - 0 - EXC - - - 23 - 5 - 0 - EXC - - - 24 - 5 - 0 - EXC - - - 25 - 5 - 0 - EXC - - - 26 - 5 - 0 - INH - - - 27 - 5 - 0 - EXC - - - 28 - 5 - 0 - EXC - - - 29 - 5 - 0 - EXC - - - 30 - 5 - 0 - INH - - - 31 - 5 - 0 - EXC - - - 32 - 5 - 0 - EXC - - - 33 - 5 - 0 - EXC - - - 34 - 5 - 0 - EXC - - - 35 - 5 - 0 - EXC - - - 36 - 5 - 0 - INH - - - 37 - 5 - 0 - EXC - - - 38 - 5 - 0 - EXC - - - 39 - 5 - 0 - EXC - - - 40 - 5 - 0 - INH - - - 41 - 5 - 0 - EXC - - - 42 - 5 - 0 - EXC - - - 43 - 5 - 0 - EXC - - - 44 - 5 - 0 - EXC - - - 45 - 5 - 0 - EXC - - - 46 - 5 - 0 - INH - - - 47 - 5 - 0 - EXC - - - 48 - 5 - 0 - EXC - - - 49 - 5 - 0 - EXC - - - 50 - 5 - 0 - INH - - - 51 - 5 - 0 - EXC - - - 52 - 5 - 0 - EXC - - - 53 - 5 - 0 - EXC - - - 54 - 5 - 0 - EXC - - - 55 - 5 - 0 - EXC - - - 56 - 5 - 0 - INH - - - 57 - 5 - 0 - EXC - - - 58 - 5 - 0 - EXC - - - 59 - 5 - 0 - EXC - - - 60 - 5 - 0 - INH - - - 61 - 5 - 0 - EXC - - - 62 - 5 - 0 - EXC - - - 63 - 5 - 0 - EXC - - - 64 - 5 - 0 - EXC - - - 65 - 5 - 0 - EXC - - - 66 - 5 - 0 - INH - - - 67 - 5 - 0 - EXC - - - 68 - 5 - 0 - EXC - - - 69 - 5 - 0 - EXC - - - 70 - 5 - 0 - INH - - - 71 - 5 - 0 - EXC - - - 72 - 5 - 0 - EXC - - - 73 - 5 - 0 - EXC - - - 74 - 5 - 0 - EXC - - - 75 - 5 - 0 - EXC - - - 76 - 5 - 0 - INH - - - 77 - 5 - 0 - EXC - - - 78 - 5 - 0 - EXC - - - 79 - 5 - 0 - EXC - - - 80 - 5 - 0 - INH - - - 81 - 5 - 0 - EXC - - - 82 - 5 - 0 - EXC - - - 83 - 5 - 0 - EXC - - - 84 - 5 - 0 - EXC - - - 85 - 5 - 0 - EXC - - - 86 - 5 - 0 - INH - - - 87 - 5 - 0 - EXC - - - 88 - 5 - 0 - EXC - - - 89 - 5 - 0 - EXC - - - 90 - 5 - 0 - INH - - - 91 - 5 - 0 - EXC - - - 92 - 5 - 0 - EXC - - - 93 - 5 - 0 - EXC - - - 94 - 5 - 0 - EXC - - - 95 - 5 - 0 - EXC - - - 96 - 5 - 0 - INH - - - 97 - 5 - 0 - EXC - - - 98 - 5 - 0 - EXC - - - 99 - 5 - 0 - EXC - - - 0 - 6 - 0 - EXC - - - 1 - 6 - 0 - EXC - - - 2 - 6 - 0 - INH - - - 3 - 6 - 0 - EXC - - - 4 - 6 - 0 - INH - - - 5 - 6 - 0 - EXC - - - 6 - 6 - 0 - EXC - - - 7 - 6 - 1 - EXC - - - 8 - 6 - 0 - INH - - - 9 - 6 - 0 - EXC - - - 10 - 6 - 0 - EXC - - - 11 - 6 - 0 - EXC - - - 12 - 6 - 0 - INH - - - 13 - 6 - 0 - EXC - - - 14 - 6 - 0 - INH - - - 15 - 6 - 0 - EXC - - - 16 - 6 - 0 - EXC - - - 17 - 6 - 1 - EXC - - - 18 - 6 - 0 - INH - - - 19 - 6 - 0 - EXC - - - 20 - 6 - 0 - EXC - - - 21 - 6 - 0 - EXC - - - 22 - 6 - 0 - INH - - - 23 - 6 - 0 - EXC - - - 24 - 6 - 0 - INH - - - 25 - 6 - 0 - EXC - - - 26 - 6 - 0 - EXC - - - 27 - 6 - 1 - EXC - - - 28 - 6 - 0 - INH - - - 29 - 6 - 0 - EXC - - - 30 - 6 - 0 - EXC - - - 31 - 6 - 0 - EXC - - - 32 - 6 - 0 - INH - - - 33 - 6 - 0 - EXC - - - 34 - 6 - 0 - INH - - - 35 - 6 - 0 - EXC - - - 36 - 6 - 0 - EXC - - - 37 - 6 - 1 - EXC - - - 38 - 6 - 0 - INH - - - 39 - 6 - 0 - EXC - - - 40 - 6 - 0 - EXC - - - 41 - 6 - 0 - EXC - - - 42 - 6 - 0 - INH - - - 43 - 6 - 0 - EXC - - - 44 - 6 - 0 - INH - - - 45 - 6 - 0 - EXC - - - 46 - 6 - 0 - EXC - - - 47 - 6 - 1 - EXC - - - 48 - 6 - 0 - INH - - - 49 - 6 - 0 - EXC - - - 50 - 6 - 0 - EXC - - - 51 - 6 - 0 - EXC - - - 52 - 6 - 0 - INH - - - 53 - 6 - 0 - EXC - - - 54 - 6 - 0 - INH - - - 55 - 6 - 0 - EXC - - - 56 - 6 - 0 - EXC - - - 57 - 6 - 1 - EXC - - - 58 - 6 - 0 - INH - - - 59 - 6 - 0 - EXC - - - 60 - 6 - 0 - EXC - - - 61 - 6 - 0 - EXC - - - 62 - 6 - 0 - INH - - - 63 - 6 - 0 - EXC - - - 64 - 6 - 0 - INH - - - 65 - 6 - 0 - EXC - - - 66 - 6 - 0 - EXC - - - 67 - 6 - 1 - EXC - - - 68 - 6 - 0 - INH - - - 69 - 6 - 0 - EXC - - - 70 - 6 - 0 - EXC - - - 71 - 6 - 0 - EXC - - - 72 - 6 - 0 - INH - - - 73 - 6 - 0 - EXC - - - 74 - 6 - 0 - INH - - - 75 - 6 - 0 - EXC - - - 76 - 6 - 0 - EXC - - - 77 - 6 - 1 - EXC - - - 78 - 6 - 0 - INH - - - 79 - 6 - 0 - EXC - - - 80 - 6 - 0 - EXC - - - 81 - 6 - 0 - EXC - - - 82 - 6 - 0 - INH - - - 83 - 6 - 0 - EXC - - - 84 - 6 - 0 - INH - - - 85 - 6 - 0 - EXC - - - 86 - 6 - 0 - EXC - - - 87 - 6 - 1 - EXC - - - 88 - 6 - 0 - INH - - - 89 - 6 - 0 - EXC - - - 90 - 6 - 0 - EXC - - - 91 - 6 - 0 - EXC - - - 92 - 6 - 0 - INH - - - 93 - 6 - 0 - EXC - - - 94 - 6 - 0 - INH - - - 95 - 6 - 0 - EXC - - - 96 - 6 - 0 - EXC - - - 97 - 6 - 1 - EXC - - - 98 - 6 - 0 - INH - - - 99 - 6 - 0 - EXC - - - 0 - 7 - 0 - EXC - - - 1 - 7 - 1 - EXC - - - 2 - 7 - 0 - EXC - - - 3 - 7 - 0 - EXC - - - 4 - 7 - 1 - EXC - - - 5 - 7 - 0 - EXC - - - 6 - 7 - 0 - EXC - - - 7 - 7 - 0 - EXC - - - 8 - 7 - 0 - EXC - - - 9 - 7 - 0 - EXC - - - 10 - 7 - 0 - EXC - - - 11 - 7 - 1 - EXC - - - 12 - 7 - 0 - EXC - - - 13 - 7 - 0 - EXC - - - 14 - 7 - 1 - EXC - - - 15 - 7 - 0 - EXC - - - 16 - 7 - 0 - EXC - - - 17 - 7 - 0 - EXC - - - 18 - 7 - 0 - EXC - - - 19 - 7 - 0 - EXC - - - 20 - 7 - 0 - EXC - - - 21 - 7 - 1 - EXC - - - 22 - 7 - 0 - EXC - - - 23 - 7 - 0 - EXC - - - 24 - 7 - 1 - EXC - - - 25 - 7 - 0 - EXC - - - 26 - 7 - 0 - EXC - - - 27 - 7 - 0 - EXC - - - 28 - 7 - 0 - EXC - - - 29 - 7 - 0 - EXC - - - 30 - 7 - 0 - EXC - - - 31 - 7 - 1 - EXC - - - 32 - 7 - 0 - EXC - - - 33 - 7 - 0 - EXC - - - 34 - 7 - 1 - EXC - - - 35 - 7 - 0 - EXC - - - 36 - 7 - 0 - EXC - - - 37 - 7 - 0 - EXC - - - 38 - 7 - 0 - EXC - - - 39 - 7 - 0 - EXC - - - 40 - 7 - 0 - EXC - - - 41 - 7 - 1 - EXC - - - 42 - 7 - 0 - EXC - - - 43 - 7 - 0 - EXC - - - 44 - 7 - 1 - EXC - - - 45 - 7 - 0 - EXC - - - 46 - 7 - 0 - EXC - - - 47 - 7 - 0 - EXC - - - 48 - 7 - 0 - EXC - - - 49 - 7 - 0 - EXC - - - 50 - 7 - 0 - EXC - - - 51 - 7 - 1 - EXC - - - 52 - 7 - 0 - EXC - - - 53 - 7 - 0 - EXC - - - 54 - 7 - 1 - EXC - - - 55 - 7 - 0 - EXC - - - 56 - 7 - 0 - EXC - - - 57 - 7 - 0 - EXC - - - 58 - 7 - 0 - EXC - - - 59 - 7 - 0 - EXC - - - 60 - 7 - 0 - EXC - - - 61 - 7 - 1 - EXC - - - 62 - 7 - 0 - EXC - - - 63 - 7 - 0 - EXC - - - 64 - 7 - 1 - EXC - - - 65 - 7 - 0 - EXC - - - 66 - 7 - 0 - EXC - - - 67 - 7 - 0 - EXC - - - 68 - 7 - 0 - EXC - - - 69 - 7 - 0 - EXC - - - 70 - 7 - 0 - EXC - - - 71 - 7 - 1 - EXC - - - 72 - 7 - 0 - EXC - - - 73 - 7 - 0 - EXC - - - 74 - 7 - 1 - EXC - - - 75 - 7 - 0 - EXC - - - 76 - 7 - 0 - EXC - - - 77 - 7 - 0 - EXC - - - 78 - 7 - 0 - EXC - - - 79 - 7 - 0 - EXC - - - 80 - 7 - 0 - EXC - - - 81 - 7 - 1 - EXC - - - 82 - 7 - 0 - EXC - - - 83 - 7 - 0 - EXC - - - 84 - 7 - 1 - EXC - - - 85 - 7 - 0 - EXC - - - 86 - 7 - 0 - EXC - - - 87 - 7 - 0 - EXC - - - 88 - 7 - 0 - EXC - - - 89 - 7 - 0 - EXC - - - 90 - 7 - 0 - EXC - - - 91 - 7 - 1 - EXC - - - 92 - 7 - 0 - EXC - - - 93 - 7 - 0 - EXC - - - 94 - 7 - 1 - EXC - - - 95 - 7 - 0 - EXC - - - 96 - 7 - 0 - EXC - - - 97 - 7 - 0 - EXC - - - 98 - 7 - 0 - EXC - - - 99 - 7 - 0 - EXC - - - 0 - 8 - 0 - INH - - - 1 - 8 - 0 - EXC - - - 2 - 8 - 0 - EXC - - - 3 - 8 - 0 - EXC - - - 4 - 8 - 0 - EXC - - - 5 - 8 - 0 - EXC - - - 6 - 8 - 0 - INH - - - 7 - 8 - 0 - EXC - - - 8 - 8 - 0 - EXC - - - 9 - 8 - 0 - EXC - - - 10 - 8 - 0 - INH - - - 11 - 8 - 0 - EXC - - - 12 - 8 - 0 - EXC - - - 13 - 8 - 0 - EXC - - - 14 - 8 - 0 - EXC - - - 15 - 8 - 0 - EXC - - - 16 - 8 - 0 - INH - - - 17 - 8 - 0 - EXC - - - 18 - 8 - 0 - EXC - - - 19 - 8 - 0 - EXC - - - 20 - 8 - 0 - INH - - - 21 - 8 - 0 - EXC - - - 22 - 8 - 0 - EXC - - - 23 - 8 - 0 - EXC - - - 24 - 8 - 0 - EXC - - - 25 - 8 - 0 - EXC - - - 26 - 8 - 0 - INH - - - 27 - 8 - 0 - EXC - - - 28 - 8 - 0 - EXC - - - 29 - 8 - 0 - EXC - - - 30 - 8 - 0 - INH - - - 31 - 8 - 0 - EXC - - - 32 - 8 - 0 - EXC - - - 33 - 8 - 0 - EXC - - - 34 - 8 - 0 - EXC - - - 35 - 8 - 0 - EXC - - - 36 - 8 - 0 - INH - - - 37 - 8 - 0 - EXC - - - 38 - 8 - 0 - EXC - - - 39 - 8 - 0 - EXC - - - 40 - 8 - 0 - INH - - - 41 - 8 - 0 - EXC - - - 42 - 8 - 0 - EXC - - - 43 - 8 - 0 - EXC - - - 44 - 8 - 0 - EXC - - - 45 - 8 - 0 - EXC - - - 46 - 8 - 0 - INH - - - 47 - 8 - 0 - EXC - - - 48 - 8 - 0 - EXC - - - 49 - 8 - 0 - EXC - - - 50 - 8 - 0 - INH - - - 51 - 8 - 0 - EXC - - - 52 - 8 - 0 - EXC - - - 53 - 8 - 0 - EXC - - - 54 - 8 - 0 - EXC - - - 55 - 8 - 0 - EXC - - - 56 - 8 - 0 - INH - - - 57 - 8 - 0 - EXC - - - 58 - 8 - 0 - EXC - - - 59 - 8 - 0 - EXC - - - 60 - 8 - 0 - INH - - - 61 - 8 - 0 - EXC - - - 62 - 8 - 0 - EXC - - - 63 - 8 - 0 - EXC - - - 64 - 8 - 0 - EXC - - - 65 - 8 - 0 - EXC - - - 66 - 8 - 0 - INH - - - 67 - 8 - 0 - EXC - - - 68 - 8 - 0 - EXC - - - 69 - 8 - 0 - EXC - - - 70 - 8 - 0 - INH - - - 71 - 8 - 0 - EXC - - - 72 - 8 - 0 - EXC - - - 73 - 8 - 0 - EXC - - - 74 - 8 - 0 - INH - - - 75 - 8 - 0 - EXC - - - 76 - 8 - 0 - INH - - - 77 - 8 - 0 - EXC - - - 78 - 8 - 0 - EXC - - - 79 - 8 - 0 - EXC - - - 80 - 8 - 0 - INH - - - 81 - 8 - 0 - EXC - - - 82 - 8 - 0 - EXC - - - 83 - 8 - 0 - EXC - - - 84 - 8 - 0 - EXC - - - 85 - 8 - 0 - EXC - - - 86 - 8 - 0 - INH - - - 87 - 8 - 0 - EXC - - - 88 - 8 - 0 - EXC - - - 89 - 8 - 0 - EXC - - - 90 - 8 - 0 - INH - - - 91 - 8 - 0 - EXC - - - 92 - 8 - 0 - EXC - - - 93 - 8 - 0 - EXC - - - 94 - 8 - 0 - EXC - - - 95 - 8 - 0 - EXC - - - 96 - 8 - 0 - INH - - - 97 - 8 - 0 - EXC - - - 98 - 8 - 0 - EXC - - - 99 - 8 - 0 - EXC - - - 0 - 9 - 0 - EXC - - - 1 - 9 - 0 - EXC - - - 2 - 9 - 0 - INH - - - 3 - 9 - 0 - EXC - - - 4 - 9 - 0 - INH - - - 5 - 9 - 0 - EXC - - - 6 - 9 - 0 - EXC - - - 7 - 9 - 1 - EXC - - - 8 - 9 - 0 - INH - - - 9 - 9 - 0 - EXC - - - 10 - 9 - 0 - EXC - - - 11 - 9 - 0 - EXC - - - 12 - 9 - 0 - INH - - - 13 - 9 - 0 - EXC - - - 14 - 9 - 0 - INH - - - 15 - 9 - 0 - EXC - - - 16 - 9 - 0 - EXC - - - 17 - 9 - 1 - EXC - - - 18 - 9 - 0 - INH - - - 19 - 9 - 0 - EXC - - - 20 - 9 - 0 - EXC - - - 21 - 9 - 0 - EXC - - - 22 - 9 - 0 - INH - - - 23 - 9 - 0 - EXC - - - 24 - 9 - 0 - INH - - - 25 - 9 - 0 - EXC - - - 26 - 9 - 0 - EXC - - - 27 - 9 - 1 - EXC - - - 28 - 9 - 0 - INH - - - 29 - 9 - 0 - EXC - - - 30 - 9 - 0 - EXC - - - 31 - 9 - 0 - EXC - - - 32 - 9 - 0 - INH - - - 33 - 9 - 0 - EXC - - - 34 - 9 - 0 - INH - - - 35 - 9 - 0 - EXC - - - 36 - 9 - 0 - EXC - - - 37 - 9 - 1 - EXC - - - 38 - 9 - 0 - INH - - - 39 - 9 - 0 - EXC - - - 40 - 9 - 0 - EXC - - - 41 - 9 - 0 - EXC - - - 42 - 9 - 0 - INH - - - 43 - 9 - 0 - EXC - - - 44 - 9 - 0 - INH - - - 45 - 9 - 0 - EXC - - - 46 - 9 - 0 - EXC - - - 47 - 9 - 1 - EXC - - - 48 - 9 - 0 - INH - - - 49 - 9 - 0 - EXC - - - 50 - 9 - 0 - EXC - - - 51 - 9 - 0 - EXC - - - 52 - 9 - 0 - INH - - - 53 - 9 - 0 - EXC - - - 54 - 9 - 0 - INH - - - 55 - 9 - 0 - EXC - - - 56 - 9 - 0 - EXC - - - 57 - 9 - 1 - EXC - - - 58 - 9 - 0 - INH - - - 59 - 9 - 0 - EXC - - - 60 - 9 - 0 - EXC - - - 61 - 9 - 0 - EXC - - - 62 - 9 - 0 - INH - - - 63 - 9 - 0 - EXC - - - 64 - 9 - 0 - INH - - - 65 - 9 - 0 - EXC - - - 66 - 9 - 0 - EXC - - - 67 - 9 - 1 - EXC - - - 68 - 9 - 0 - INH - - - 69 - 9 - 0 - EXC - - - 70 - 9 - 0 - EXC - - - 71 - 9 - 0 - EXC - - - 72 - 9 - 0 - INH - - - 73 - 9 - 0 - EXC - - - 74 - 9 - 0 - EXC - - - 75 - 9 - 0 - EXC - - - 76 - 9 - 0 - EXC - - - 77 - 9 - 1 - EXC - - - 78 - 9 - 0 - INH - - - 79 - 9 - 0 - EXC - - - 80 - 9 - 0 - EXC - - - 81 - 9 - 0 - EXC - - - 82 - 9 - 0 - INH - - - 83 - 9 - 0 - EXC - - - 84 - 9 - 0 - INH - - - 85 - 9 - 0 - EXC - - - 86 - 9 - 0 - EXC - - - 87 - 9 - 1 - EXC - - - 88 - 9 - 0 - INH - - - 89 - 9 - 0 - EXC - - - 90 - 9 - 0 - EXC - - - 91 - 9 - 0 - EXC - - - 92 - 9 - 0 - INH - - - 93 - 9 - 0 - EXC - - - 94 - 9 - 0 - INH - - - 95 - 9 - 0 - EXC - - - 96 - 9 - 0 - EXC - - - 97 - 9 - 1 - EXC - - - 98 - 9 - 0 - INH - - - 99 - 9 - 0 - EXC - - - 0 - 10 - 0 - EXC - - - 1 - 10 - 0 - INH - - - 2 - 10 - 1 - EXC - - - 3 - 10 - 0 - EXC - - - 4 - 10 - 0 - EXC - - - 5 - 10 - 0 - INH - - - 6 - 10 - 0 - EXC - - - 7 - 10 - 0 - INH - - - 8 - 10 - 0 - EXC - - - 9 - 10 - 0 - EXC - - - 10 - 10 - 0 - EXC - - - 11 - 10 - 0 - INH - - - 12 - 10 - 1 - EXC - - - 13 - 10 - 0 - EXC - - - 14 - 10 - 0 - EXC - - - 15 - 10 - 0 - INH - - - 16 - 10 - 0 - EXC - - - 17 - 10 - 0 - INH - - - 18 - 10 - 0 - EXC - - - 19 - 10 - 0 - EXC - - - 20 - 10 - 0 - EXC - - - 21 - 10 - 0 - INH - - - 22 - 10 - 1 - EXC - - - 23 - 10 - 0 - EXC - - - 24 - 10 - 0 - EXC - - - 25 - 10 - 0 - INH - - - 26 - 10 - 0 - EXC - - - 27 - 10 - 0 - INH - - - 28 - 10 - 0 - EXC - - - 29 - 10 - 0 - EXC - - - 30 - 10 - 0 - EXC - - - 31 - 10 - 0 - INH - - - 32 - 10 - 1 - EXC - - - 33 - 10 - 0 - EXC - - - 34 - 10 - 0 - EXC - - - 35 - 10 - 0 - INH - - - 36 - 10 - 0 - EXC - - - 37 - 10 - 0 - INH - - - 38 - 10 - 0 - EXC - - - 39 - 10 - 0 - EXC - - - 40 - 10 - 0 - EXC - - - 41 - 10 - 0 - INH - - - 42 - 10 - 1 - EXC - - - 43 - 10 - 0 - EXC - - - 44 - 10 - 0 - EXC - - - 45 - 10 - 0 - INH - - - 46 - 10 - 0 - EXC - - - 47 - 10 - 0 - INH - - - 48 - 10 - 0 - EXC - - - 49 - 10 - 0 - EXC - - - 50 - 10 - 0 - EXC - - - 51 - 10 - 0 - INH - - - 52 - 10 - 1 - EXC - - - 53 - 10 - 0 - EXC - - - 54 - 10 - 0 - EXC - - - 55 - 10 - 0 - INH - - - 56 - 10 - 0 - EXC - - - 57 - 10 - 0 - INH - - - 58 - 10 - 0 - EXC - - - 59 - 10 - 0 - EXC - - - 60 - 10 - 0 - EXC - - - 61 - 10 - 0 - INH - - - 62 - 10 - 1 - EXC - - - 63 - 10 - 0 - EXC - - - 64 - 10 - 0 - EXC - - - 65 - 10 - 0 - INH - - - 66 - 10 - 0 - EXC - - - 67 - 10 - 0 - INH - - - 68 - 10 - 0 - EXC - - - 69 - 10 - 0 - EXC - - - 70 - 10 - 0 - EXC - - - 71 - 10 - 0 - INH - - - 72 - 10 - 1 - EXC - - - 73 - 10 - 0 - EXC - - - 74 - 10 - 0 - EXC - - - 75 - 10 - 0 - INH - - - 76 - 10 - 0 - EXC - - - 77 - 10 - 0 - INH - - - 78 - 10 - 0 - EXC - - - 79 - 10 - 0 - EXC - - - 80 - 10 - 0 - EXC - - - 81 - 10 - 0 - INH - - - 82 - 10 - 1 - EXC - - - 83 - 10 - 0 - EXC - - - 84 - 10 - 0 - EXC - - - 85 - 10 - 0 - INH - - - 86 - 10 - 0 - EXC - - - 87 - 10 - 0 - INH - - - 88 - 10 - 0 - EXC - - - 89 - 10 - 0 - EXC - - - 90 - 10 - 0 - EXC - - - 91 - 10 - 0 - INH - - - 92 - 10 - 1 - EXC - - - 93 - 10 - 0 - EXC - - - 94 - 10 - 0 - EXC - - - 95 - 10 - 0 - INH - - - 96 - 10 - 0 - EXC - - - 97 - 10 - 0 - INH - - - 98 - 10 - 0 - EXC - - - 99 - 10 - 0 - EXC - - - 0 - 11 - 0 - EXC - - - 1 - 11 - 0 - EXC - - - 2 - 11 - 0 - EXC - - - 3 - 11 - 0 - INH - - - 4 - 11 - 0 - EXC - - - 5 - 11 - 0 - EXC - - - 6 - 11 - 0 - EXC - - - 7 - 11 - 0 - EXC - - - 8 - 11 - 0 - EXC - - - 9 - 11 - 0 - INH - - - 10 - 11 - 0 - EXC - - - 11 - 11 - 0 - EXC - - - 12 - 11 - 0 - EXC - - - 13 - 11 - 0 - INH - - - 14 - 11 - 0 - EXC - - - 15 - 11 - 0 - EXC - - - 16 - 11 - 0 - EXC - - - 17 - 11 - 0 - EXC - - - 18 - 11 - 0 - EXC - - - 19 - 11 - 0 - INH - - - 20 - 11 - 0 - EXC - - - 21 - 11 - 0 - EXC - - - 22 - 11 - 0 - EXC - - - 23 - 11 - 0 - INH - - - 24 - 11 - 0 - EXC - - - 25 - 11 - 0 - EXC - - - 26 - 11 - 0 - EXC - - - 27 - 11 - 0 - EXC - - - 28 - 11 - 0 - EXC - - - 29 - 11 - 0 - INH - - - 30 - 11 - 0 - EXC - - - 31 - 11 - 0 - EXC - - - 32 - 11 - 0 - EXC - - - 33 - 11 - 0 - INH - - - 34 - 11 - 0 - EXC - - - 35 - 11 - 0 - EXC - - - 36 - 11 - 0 - EXC - - - 37 - 11 - 0 - EXC - - - 38 - 11 - 0 - EXC - - - 39 - 11 - 0 - INH - - - 40 - 11 - 0 - EXC - - - 41 - 11 - 0 - EXC - - - 42 - 11 - 0 - EXC - - - 43 - 11 - 0 - INH - - - 44 - 11 - 0 - EXC - - - 45 - 11 - 0 - EXC - - - 46 - 11 - 0 - EXC - - - 47 - 11 - 0 - EXC - - - 48 - 11 - 0 - EXC - - - 49 - 11 - 0 - INH - - - 50 - 11 - 0 - EXC - - - 51 - 11 - 0 - EXC - - - 52 - 11 - 0 - EXC - - - 53 - 11 - 0 - INH - - - 54 - 11 - 0 - EXC - - - 55 - 11 - 0 - EXC - - - 56 - 11 - 0 - EXC - - - 57 - 11 - 0 - EXC - - - 58 - 11 - 0 - EXC - - - 59 - 11 - 0 - INH - - - 60 - 11 - 0 - EXC - - - 61 - 11 - 0 - EXC - - - 62 - 11 - 0 - EXC - - - 63 - 11 - 0 - INH - - - 64 - 11 - 0 - EXC - - - 65 - 11 - 0 - EXC - - - 66 - 11 - 0 - EXC - - - 67 - 11 - 0 - EXC - - - 68 - 11 - 0 - EXC - - - 69 - 11 - 0 - INH - - - 70 - 11 - 0 - EXC - - - 71 - 11 - 0 - EXC - - - 72 - 11 - 0 - EXC - - - 73 - 11 - 0 - INH - - - 74 - 11 - 0 - EXC - - - 75 - 11 - 0 - EXC - - - 76 - 11 - 0 - EXC - - - 77 - 11 - 0 - EXC - - - 78 - 11 - 0 - EXC - - - 79 - 11 - 0 - INH - - - 80 - 11 - 0 - EXC - - - 81 - 11 - 0 - EXC - - - 82 - 11 - 0 - EXC - - - 83 - 11 - 0 - INH - - - 84 - 11 - 0 - EXC - - - 85 - 11 - 0 - EXC - - - 86 - 11 - 0 - EXC - - - 87 - 11 - 0 - EXC - - - 88 - 11 - 0 - EXC - - - 89 - 11 - 0 - INH - - - 90 - 11 - 0 - EXC - - - 91 - 11 - 0 - EXC - - - 92 - 11 - 0 - EXC - - - 93 - 11 - 0 - INH - - - 94 - 11 - 0 - EXC - - - 95 - 11 - 0 - EXC - - - 96 - 11 - 0 - EXC - - - 97 - 11 - 0 - EXC - - - 98 - 11 - 0 - EXC - - - 99 - 11 - 0 - INH - - - 0 - 12 - 0 - EXC - - - 1 - 12 - 0 - EXC - - - 2 - 12 - 0 - EXC - - - 3 - 12 - 0 - EXC - - - 4 - 12 - 0 - EXC - - - 5 - 12 - 1 - EXC - - - 6 - 12 - 0 - EXC - - - 7 - 12 - 0 - EXC - - - 8 - 12 - 1 - EXC - - - 9 - 12 - 0 - EXC - - - 10 - 12 - 0 - EXC - - - 11 - 12 - 0 - EXC - - - 12 - 12 - 0 - EXC - - - 13 - 12 - 0 - EXC - - - 14 - 12 - 0 - EXC - - - 15 - 12 - 1 - EXC - - - 16 - 12 - 0 - EXC - - - 17 - 12 - 0 - EXC - - - 18 - 12 - 1 - EXC - - - 19 - 12 - 0 - EXC - - - 20 - 12 - 0 - EXC - - - 21 - 12 - 0 - EXC - - - 22 - 12 - 0 - EXC - - - 23 - 12 - 0 - EXC - - - 24 - 12 - 0 - EXC - - - 25 - 12 - 1 - EXC - - - 26 - 12 - 0 - EXC - - - 27 - 12 - 0 - EXC - - - 28 - 12 - 1 - EXC - - - 29 - 12 - 0 - EXC - - - 30 - 12 - 0 - EXC - - - 31 - 12 - 0 - EXC - - - 32 - 12 - 0 - EXC - - - 33 - 12 - 0 - EXC - - - 34 - 12 - 0 - EXC - - - 35 - 12 - 1 - EXC - - - 36 - 12 - 0 - EXC - - - 37 - 12 - 0 - EXC - - - 38 - 12 - 1 - EXC - - - 39 - 12 - 0 - EXC - - - 40 - 12 - 0 - EXC - - - 41 - 12 - 0 - EXC - - - 42 - 12 - 0 - EXC - - - 43 - 12 - 0 - EXC - - - 44 - 12 - 0 - EXC - - - 45 - 12 - 1 - EXC - - - 46 - 12 - 0 - EXC - - - 47 - 12 - 0 - EXC - - - 48 - 12 - 1 - EXC - - - 49 - 12 - 0 - EXC - - - 50 - 12 - 0 - EXC - - - 51 - 12 - 0 - EXC - - - 52 - 12 - 0 - EXC - - - 53 - 12 - 0 - EXC - - - 54 - 12 - 0 - EXC - - - 55 - 12 - 1 - EXC - - - 56 - 12 - 0 - EXC - - - 57 - 12 - 0 - EXC - - - 58 - 12 - 1 - EXC - - - 59 - 12 - 0 - EXC - - - 60 - 12 - 0 - EXC - - - 61 - 12 - 0 - EXC - - - 62 - 12 - 0 - EXC - - - 63 - 12 - 0 - EXC - - - 64 - 12 - 0 - EXC - - - 65 - 12 - 1 - EXC - - - 66 - 12 - 0 - EXC - - - 67 - 12 - 0 - EXC - - - 68 - 12 - 1 - EXC - - - 69 - 12 - 0 - EXC - - - 70 - 12 - 0 - EXC - - - 71 - 12 - 0 - EXC - - - 72 - 12 - 0 - EXC - - - 73 - 12 - 0 - EXC - - - 74 - 12 - 0 - EXC - - - 75 - 12 - 1 - EXC - - - 76 - 12 - 0 - EXC - - - 77 - 12 - 0 - EXC - - - 78 - 12 - 1 - EXC - - - 79 - 12 - 0 - EXC - - - 80 - 12 - 0 - EXC - - - 81 - 12 - 0 - EXC - - - 82 - 12 - 0 - EXC - - - 83 - 12 - 0 - EXC - - - 84 - 12 - 0 - EXC - - - 85 - 12 - 1 - EXC - - - 86 - 12 - 0 - EXC - - - 87 - 12 - 0 - EXC - - - 88 - 12 - 1 - EXC - - - 89 - 12 - 0 - EXC - - - 90 - 12 - 0 - EXC - - - 91 - 12 - 0 - EXC - - - 92 - 12 - 0 - EXC - - - 93 - 12 - 0 - EXC - - - 94 - 12 - 0 - EXC - - - 95 - 12 - 1 - EXC - - - 96 - 12 - 0 - EXC - - - 97 - 12 - 0 - EXC - - - 98 - 12 - 1 - EXC - - - 99 - 12 - 0 - EXC - - - 0 - 13 - 0 - EXC - - - 1 - 13 - 0 - INH - - - 2 - 13 - 1 - EXC - - - 3 - 13 - 0 - EXC - - - 4 - 13 - 0 - EXC - - - 5 - 13 - 0 - INH - - - 6 - 13 - 0 - EXC - - - 7 - 13 - 0 - INH - - - 8 - 13 - 0 - EXC - - - 9 - 13 - 0 - EXC - - - 10 - 13 - 0 - EXC - - - 11 - 13 - 0 - INH - - - 12 - 13 - 1 - EXC - - - 13 - 13 - 0 - EXC - - - 14 - 13 - 0 - EXC - - - 15 - 13 - 0 - INH - - - 16 - 13 - 0 - EXC - - - 17 - 13 - 0 - INH - - - 18 - 13 - 0 - EXC - - - 19 - 13 - 0 - EXC - - - 20 - 13 - 0 - EXC - - - 21 - 13 - 0 - INH - - - 22 - 13 - 1 - EXC - - - 23 - 13 - 0 - EXC - - - 24 - 13 - 0 - EXC - - - 25 - 13 - 0 - INH - - - 26 - 13 - 0 - EXC - - - 27 - 13 - 0 - INH - - - 28 - 13 - 0 - EXC - - - 29 - 13 - 0 - EXC - - - 30 - 13 - 0 - EXC - - - 31 - 13 - 0 - INH - - - 32 - 13 - 1 - EXC - - - 33 - 13 - 0 - EXC - - - 34 - 13 - 0 - EXC - - - 35 - 13 - 0 - INH - - - 36 - 13 - 0 - EXC - - - 37 - 13 - 0 - INH - - - 38 - 13 - 0 - EXC - - - 39 - 13 - 0 - EXC - - - 40 - 13 - 0 - EXC - - - 41 - 13 - 0 - INH - - - 42 - 13 - 1 - EXC - - - 43 - 13 - 0 - EXC - - - 44 - 13 - 0 - EXC - - - 45 - 13 - 0 - INH - - - 46 - 13 - 0 - EXC - - - 47 - 13 - 0 - INH - - - 48 - 13 - 0 - EXC - - - 49 - 13 - 0 - EXC - - - 50 - 13 - 0 - EXC - - - 51 - 13 - 0 - INH - - - 52 - 13 - 1 - EXC - - - 53 - 13 - 0 - EXC - - - 54 - 13 - 0 - EXC - - - 55 - 13 - 0 - INH - - - 56 - 13 - 0 - EXC - - - 57 - 13 - 0 - INH - - - 58 - 13 - 0 - EXC - - - 59 - 13 - 0 - EXC - - - 60 - 13 - 0 - EXC - - - 61 - 13 - 0 - INH - - - 62 - 13 - 1 - EXC - - - 63 - 13 - 0 - EXC - - - 64 - 13 - 0 - EXC - - - 65 - 13 - 0 - INH - - - 66 - 13 - 0 - EXC - - - 67 - 13 - 0 - INH - - - 68 - 13 - 0 - EXC - - - 69 - 13 - 0 - EXC - - - 70 - 13 - 0 - EXC - - - 71 - 13 - 0 - INH - - - 72 - 13 - 1 - EXC - - - 73 - 13 - 0 - EXC - - - 74 - 13 - 0 - EXC - - - 75 - 13 - 0 - INH - - - 76 - 13 - 0 - EXC - - - 77 - 13 - 0 - INH - - - 78 - 13 - 0 - EXC - - - 79 - 13 - 0 - EXC - - - 80 - 13 - 0 - EXC - - - 81 - 13 - 0 - INH - - - 82 - 13 - 1 - EXC - - - 83 - 13 - 0 - EXC - - - 84 - 13 - 0 - EXC - - - 85 - 13 - 0 - INH - - - 86 - 13 - 0 - EXC - - - 87 - 13 - 0 - INH - - - 88 - 13 - 0 - EXC - - - 89 - 13 - 0 - EXC - - - 90 - 13 - 0 - EXC - - - 91 - 13 - 0 - INH - - - 92 - 13 - 1 - EXC - - - 93 - 13 - 0 - EXC - - - 94 - 13 - 0 - EXC - - - 95 - 13 - 0 - INH - - - 96 - 13 - 0 - EXC - - - 97 - 13 - 0 - INH - - - 98 - 13 - 0 - EXC - - - 99 - 13 - 0 - EXC - - - 0 - 14 - 0 - EXC - - - 1 - 14 - 0 - EXC - - - 2 - 14 - 0 - EXC - - - 3 - 14 - 0 - INH - - - 4 - 14 - 0 - EXC - - - 5 - 14 - 0 - EXC - - - 6 - 14 - 0 - EXC - - - 7 - 14 - 0 - EXC - - - 8 - 14 - 0 - EXC - - - 9 - 14 - 0 - INH - - - 10 - 14 - 0 - EXC - - - 11 - 14 - 0 - EXC - - - 12 - 14 - 0 - EXC - - - 13 - 14 - 0 - INH - - - 14 - 14 - 0 - EXC - - - 15 - 14 - 0 - EXC - - - 16 - 14 - 0 - EXC - - - 17 - 14 - 0 - EXC - - - 18 - 14 - 0 - EXC - - - 19 - 14 - 0 - INH - - - 20 - 14 - 0 - EXC - - - 21 - 14 - 0 - EXC - - - 22 - 14 - 0 - EXC - - - 23 - 14 - 0 - INH - - - 24 - 14 - 0 - EXC - - - 25 - 14 - 0 - EXC - - - 26 - 14 - 0 - EXC - - - 27 - 14 - 0 - EXC - - - 28 - 14 - 0 - EXC - - - 29 - 14 - 0 - INH - - - 30 - 14 - 0 - EXC - - - 31 - 14 - 0 - EXC - - - 32 - 14 - 0 - EXC - - - 33 - 14 - 0 - INH - - - 34 - 14 - 0 - EXC - - - 35 - 14 - 0 - EXC - - - 36 - 14 - 0 - EXC - - - 37 - 14 - 0 - EXC - - - 38 - 14 - 0 - EXC - - - 39 - 14 - 0 - INH - - - 40 - 14 - 0 - EXC - - - 41 - 14 - 0 - EXC - - - 42 - 14 - 0 - EXC - - - 43 - 14 - 0 - INH - - - 44 - 14 - 0 - EXC - - - 45 - 14 - 0 - EXC - - - 46 - 14 - 0 - EXC - - - 47 - 14 - 0 - EXC - - - 48 - 14 - 0 - EXC - - - 49 - 14 - 0 - INH - - - 50 - 14 - 0 - EXC - - - 51 - 14 - 0 - EXC - - - 52 - 14 - 0 - EXC - - - 53 - 14 - 0 - INH - - - 54 - 14 - 0 - EXC - - - 55 - 14 - 0 - EXC - - - 56 - 14 - 0 - EXC - - - 57 - 14 - 0 - EXC - - - 58 - 14 - 0 - EXC - - - 59 - 14 - 0 - INH - - - 60 - 14 - 0 - EXC - - - 61 - 14 - 0 - EXC - - - 62 - 14 - 0 - EXC - - - 63 - 14 - 0 - INH - - - 64 - 14 - 0 - EXC - - - 65 - 14 - 0 - EXC - - - 66 - 14 - 0 - EXC - - - 67 - 14 - 0 - EXC - - - 68 - 14 - 0 - EXC - - - 69 - 14 - 0 - INH - - - 70 - 14 - 0 - EXC - - - 71 - 14 - 0 - EXC - - - 72 - 14 - 0 - EXC - - - 73 - 14 - 0 - INH - - - 74 - 14 - 0 - EXC - - - 75 - 14 - 0 - EXC - - - 76 - 14 - 0 - EXC - - - 77 - 14 - 0 - EXC - - - 78 - 14 - 0 - EXC - - - 79 - 14 - 0 - INH - - - 80 - 14 - 0 - EXC - - - 81 - 14 - 0 - EXC - - - 82 - 14 - 0 - EXC - - - 83 - 14 - 0 - INH - - - 84 - 14 - 0 - EXC - - - 85 - 14 - 0 - EXC - - - 86 - 14 - 0 - EXC - - - 87 - 14 - 0 - EXC - - - 88 - 14 - 0 - EXC - - - 89 - 14 - 0 - INH - - - 90 - 14 - 0 - EXC - - - 91 - 14 - 0 - EXC - - - 92 - 14 - 0 - EXC - - - 93 - 14 - 0 - INH - - - 94 - 14 - 0 - EXC - - - 95 - 14 - 0 - EXC - - - 96 - 14 - 0 - EXC - - - 97 - 14 - 0 - EXC - - - 98 - 14 - 0 - EXC - - - 99 - 14 - 0 - INH - - - 0 - 15 - 0 - EXC - - - 1 - 15 - 0 - EXC - - - 2 - 15 - 0 - EXC - - - 3 - 15 - 0 - EXC - - - 4 - 15 - 0 - EXC - - - 5 - 15 - 1 - EXC - - - 6 - 15 - 0 - EXC - - - 7 - 15 - 0 - EXC - - - 8 - 15 - 1 - EXC - - - 9 - 15 - 0 - EXC - - - 10 - 15 - 0 - EXC - - - 11 - 15 - 0 - EXC - - - 12 - 15 - 0 - EXC - - - 13 - 15 - 0 - EXC - - - 14 - 15 - 0 - EXC - - - 15 - 15 - 1 - EXC - - - 16 - 15 - 0 - EXC - - - 17 - 15 - 0 - EXC - - - 18 - 15 - 1 - EXC - - - 19 - 15 - 0 - EXC - - - 20 - 15 - 0 - EXC - - - 21 - 15 - 0 - EXC - - - 22 - 15 - 0 - EXC - - - 23 - 15 - 0 - EXC - - - 24 - 15 - 0 - EXC - - - 25 - 15 - 1 - EXC - - - 26 - 15 - 0 - EXC - - - 27 - 15 - 0 - EXC - - - 28 - 15 - 1 - EXC - - - 29 - 15 - 0 - EXC - - - 30 - 15 - 0 - EXC - - - 31 - 15 - 0 - EXC - - - 32 - 15 - 0 - EXC - - - 33 - 15 - 0 - EXC - - - 34 - 15 - 0 - EXC - - - 35 - 15 - 1 - EXC - - - 36 - 15 - 0 - EXC - - - 37 - 15 - 0 - EXC - - - 38 - 15 - 1 - EXC - - - 39 - 15 - 0 - EXC - - - 40 - 15 - 0 - EXC - - - 41 - 15 - 0 - EXC - - - 42 - 15 - 0 - EXC - - - 43 - 15 - 0 - EXC - - - 44 - 15 - 0 - EXC - - - 45 - 15 - 1 - EXC - - - 46 - 15 - 0 - EXC - - - 47 - 15 - 0 - EXC - - - 48 - 15 - 1 - EXC - - - 49 - 15 - 0 - EXC - - - 50 - 15 - 0 - EXC - - - 51 - 15 - 0 - EXC - - - 52 - 15 - 0 - EXC - - - 53 - 15 - 0 - EXC - - - 54 - 15 - 0 - EXC - - - 55 - 15 - 1 - EXC - - - 56 - 15 - 0 - EXC - - - 57 - 15 - 0 - EXC - - - 58 - 15 - 1 - EXC - - - 59 - 15 - 0 - EXC - - - 60 - 15 - 0 - EXC - - - 61 - 15 - 0 - EXC - - - 62 - 15 - 0 - EXC - - - 63 - 15 - 0 - EXC - - - 64 - 15 - 0 - EXC - - - 65 - 15 - 1 - EXC - - - 66 - 15 - 0 - EXC - - - 67 - 15 - 0 - EXC - - - 68 - 15 - 1 - EXC - - - 69 - 15 - 0 - EXC - - - 70 - 15 - 0 - EXC - - - 71 - 15 - 0 - EXC - - - 72 - 15 - 0 - EXC - - - 73 - 15 - 0 - EXC - - - 74 - 15 - 0 - EXC - - - 75 - 15 - 1 - EXC - - - 76 - 15 - 0 - EXC - - - 77 - 15 - 0 - EXC - - - 78 - 15 - 1 - EXC - - - 79 - 15 - 0 - EXC - - - 80 - 15 - 0 - EXC - - - 81 - 15 - 0 - EXC - - - 82 - 15 - 0 - EXC - - - 83 - 15 - 0 - EXC - - - 84 - 15 - 0 - EXC - - - 85 - 15 - 1 - EXC - - - 86 - 15 - 0 - EXC - - - 87 - 15 - 0 - EXC - - - 88 - 15 - 1 - EXC - - - 89 - 15 - 0 - EXC - - - 90 - 15 - 0 - EXC - - - 91 - 15 - 0 - EXC - - - 92 - 15 - 0 - EXC - - - 93 - 15 - 0 - EXC - - - 94 - 15 - 0 - EXC - - - 95 - 15 - 1 - EXC - - - 96 - 15 - 0 - EXC - - - 97 - 15 - 0 - EXC - - - 98 - 15 - 1 - EXC - - - 99 - 15 - 0 - EXC - - - 0 - 16 - 0 - EXC - - - 1 - 16 - 0 - INH - - - 2 - 16 - 1 - EXC - - - 3 - 16 - 0 - EXC - - - 4 - 16 - 0 - EXC - - - 5 - 16 - 0 - INH - - - 6 - 16 - 0 - EXC - - - 7 - 16 - 0 - INH - - - 8 - 16 - 0 - EXC - - - 9 - 16 - 0 - EXC - - - 10 - 16 - 0 - EXC - - - 11 - 16 - 0 - INH - - - 12 - 16 - 1 - EXC - - - 13 - 16 - 0 - EXC - - - 14 - 16 - 0 - EXC - - - 15 - 16 - 0 - INH - - - 16 - 16 - 0 - EXC - - - 17 - 16 - 0 - INH - - - 18 - 16 - 0 - EXC - - - 19 - 16 - 0 - EXC - - - 20 - 16 - 0 - EXC - - - 21 - 16 - 0 - INH - - - 22 - 16 - 1 - EXC - - - 23 - 16 - 0 - EXC - - - 24 - 16 - 0 - EXC - - - 25 - 16 - 0 - INH - - - 26 - 16 - 0 - EXC - - - 27 - 16 - 0 - INH - - - 28 - 16 - 0 - EXC - - - 29 - 16 - 0 - EXC - - - 30 - 16 - 0 - EXC - - - 31 - 16 - 0 - INH - - - 32 - 16 - 1 - EXC - - - 33 - 16 - 0 - EXC - - - 34 - 16 - 0 - EXC - - - 35 - 16 - 0 - INH - - - 36 - 16 - 0 - EXC - - - 37 - 16 - 0 - INH - - - 38 - 16 - 0 - EXC - - - 39 - 16 - 0 - EXC - - - 40 - 16 - 0 - EXC - - - 41 - 16 - 0 - INH - - - 42 - 16 - 1 - EXC - - - 43 - 16 - 0 - EXC - - - 44 - 16 - 0 - EXC - - - 45 - 16 - 0 - INH - - - 46 - 16 - 0 - EXC - - - 47 - 16 - 0 - INH - - - 48 - 16 - 0 - EXC - - - 49 - 16 - 0 - EXC - - - 50 - 16 - 0 - EXC - - - 51 - 16 - 0 - INH - - - 52 - 16 - 1 - EXC - - - 53 - 16 - 0 - EXC - - - 54 - 16 - 0 - EXC - - - 55 - 16 - 0 - INH - - - 56 - 16 - 0 - EXC - - - 57 - 16 - 0 - INH - - - 58 - 16 - 0 - EXC - - - 59 - 16 - 0 - EXC - - - 60 - 16 - 0 - EXC - - - 61 - 16 - 0 - INH - - - 62 - 16 - 1 - EXC - - - 63 - 16 - 0 - EXC - - - 64 - 16 - 0 - EXC - - - 65 - 16 - 0 - INH - - - 66 - 16 - 0 - EXC - - - 67 - 16 - 0 - INH - - - 68 - 16 - 0 - EXC - - - 69 - 16 - 0 - EXC - - - 70 - 16 - 0 - EXC - - - 71 - 16 - 0 - INH - - - 72 - 16 - 1 - EXC - - - 73 - 16 - 0 - EXC - - - 74 - 16 - 0 - EXC - - - 75 - 16 - 0 - INH - - - 76 - 16 - 0 - EXC - - - 77 - 16 - 0 - INH - - - 78 - 16 - 0 - EXC - - - 79 - 16 - 0 - EXC - - - 80 - 16 - 0 - EXC - - - 81 - 16 - 0 - INH - - - 82 - 16 - 1 - EXC - - - 83 - 16 - 0 - EXC - - - 84 - 16 - 0 - EXC - - - 85 - 16 - 0 - INH - - - 86 - 16 - 0 - EXC - - - 87 - 16 - 0 - INH - - - 88 - 16 - 0 - EXC - - - 89 - 16 - 0 - EXC - - - 90 - 16 - 0 - EXC - - - 91 - 16 - 0 - INH - - - 92 - 16 - 1 - EXC - - - 93 - 16 - 0 - EXC - - - 94 - 16 - 0 - EXC - - - 95 - 16 - 0 - INH - - - 96 - 16 - 0 - EXC - - - 97 - 16 - 0 - INH - - - 98 - 16 - 0 - EXC - - - 99 - 16 - 0 - EXC - - - 0 - 17 - 0 - EXC - - - 1 - 17 - 0 - EXC - - - 2 - 17 - 0 - EXC - - - 3 - 17 - 0 - INH - - - 4 - 17 - 0 - EXC - - - 5 - 17 - 0 - EXC - - - 6 - 17 - 0 - EXC - - - 7 - 17 - 0 - EXC - - - 8 - 17 - 0 - EXC - - - 9 - 17 - 0 - INH - - - 10 - 17 - 0 - EXC - - - 11 - 17 - 0 - EXC - - - 12 - 17 - 0 - EXC - - - 13 - 17 - 0 - INH - - - 14 - 17 - 0 - EXC - - - 15 - 17 - 0 - EXC - - - 16 - 17 - 0 - EXC - - - 17 - 17 - 0 - EXC - - - 18 - 17 - 0 - EXC - - - 19 - 17 - 0 - INH - - - 20 - 17 - 0 - EXC - - - 21 - 17 - 0 - EXC - - - 22 - 17 - 0 - EXC - - - 23 - 17 - 0 - INH - - - 24 - 17 - 0 - EXC - - - 25 - 17 - 0 - EXC - - - 26 - 17 - 0 - EXC - - - 27 - 17 - 0 - EXC - - - 28 - 17 - 0 - EXC - - - 29 - 17 - 0 - INH - - - 30 - 17 - 0 - EXC - - - 31 - 17 - 0 - EXC - - - 32 - 17 - 0 - EXC - - - 33 - 17 - 0 - INH - - - 34 - 17 - 0 - EXC - - - 35 - 17 - 0 - EXC - - - 36 - 17 - 0 - EXC - - - 37 - 17 - 0 - EXC - - - 38 - 17 - 0 - EXC - - - 39 - 17 - 0 - INH - - - 40 - 17 - 0 - EXC - - - 41 - 17 - 0 - EXC - - - 42 - 17 - 0 - EXC - - - 43 - 17 - 0 - INH - - - 44 - 17 - 0 - EXC - - - 45 - 17 - 0 - EXC - - - 46 - 17 - 0 - EXC - - - 47 - 17 - 0 - EXC - - - 48 - 17 - 0 - EXC - - - 49 - 17 - 0 - INH - - - 50 - 17 - 0 - EXC - - - 51 - 17 - 0 - EXC - - - 52 - 17 - 0 - EXC - - - 53 - 17 - 0 - INH - - - 54 - 17 - 0 - EXC - - - 55 - 17 - 0 - EXC - - - 56 - 17 - 0 - EXC - - - 57 - 17 - 0 - EXC - - - 58 - 17 - 0 - EXC - - - 59 - 17 - 0 - INH - - - 60 - 17 - 0 - EXC - - - 61 - 17 - 0 - EXC - - - 62 - 17 - 0 - EXC - - - 63 - 17 - 0 - INH - - - 64 - 17 - 0 - EXC - - - 65 - 17 - 0 - EXC - - - 66 - 17 - 0 - EXC - - - 67 - 17 - 0 - EXC - - - 68 - 17 - 0 - EXC - - - 69 - 17 - 0 - INH - - - 70 - 17 - 0 - EXC - - - 71 - 17 - 0 - EXC - - - 72 - 17 - 0 - EXC - - - 73 - 17 - 0 - INH - - - 74 - 17 - 0 - EXC - - - 75 - 17 - 0 - EXC - - - 76 - 17 - 0 - EXC - - - 77 - 17 - 0 - EXC - - - 78 - 17 - 0 - EXC - - - 79 - 17 - 0 - INH - - - 80 - 17 - 0 - EXC - - - 81 - 17 - 0 - EXC - - - 82 - 17 - 0 - EXC - - - 83 - 17 - 0 - INH - - - 84 - 17 - 0 - EXC - - - 85 - 17 - 0 - EXC - - - 86 - 17 - 0 - EXC - - - 87 - 17 - 0 - EXC - - - 88 - 17 - 0 - EXC - - - 89 - 17 - 0 - INH - - - 90 - 17 - 0 - EXC - - - 91 - 17 - 0 - EXC - - - 92 - 17 - 0 - EXC - - - 93 - 17 - 0 - EXC - - - 94 - 17 - 0 - EXC - - - 95 - 17 - 0 - EXC - - - 96 - 17 - 0 - EXC - - - 97 - 17 - 0 - EXC - - - 98 - 17 - 0 - EXC - - - 99 - 17 - 0 - INH - - - 0 - 18 - 0 - EXC - - - 1 - 18 - 0 - EXC - - - 2 - 18 - 0 - EXC - - - 3 - 18 - 0 - EXC - - - 4 - 18 - 0 - EXC - - - 5 - 18 - 1 - EXC - - - 6 - 18 - 0 - EXC - - - 7 - 18 - 0 - EXC - - - 8 - 18 - 1 - EXC - - - 9 - 18 - 0 - EXC - - - 10 - 18 - 0 - EXC - - - 11 - 18 - 0 - EXC - - - 12 - 18 - 0 - EXC - - - 13 - 18 - 0 - EXC - - - 14 - 18 - 0 - EXC - - - 15 - 18 - 1 - EXC - - - 16 - 18 - 0 - EXC - - - 17 - 18 - 0 - EXC - - - 18 - 18 - 1 - EXC - - - 19 - 18 - 0 - EXC - - - 20 - 18 - 0 - EXC - - - 21 - 18 - 0 - EXC - - - 22 - 18 - 0 - EXC - - - 23 - 18 - 0 - EXC - - - 24 - 18 - 0 - EXC - - - 25 - 18 - 1 - EXC - - - 26 - 18 - 0 - EXC - - - 27 - 18 - 0 - EXC - - - 28 - 18 - 1 - EXC - - - 29 - 18 - 0 - EXC - - - 30 - 18 - 0 - EXC - - - 31 - 18 - 0 - EXC - - - 32 - 18 - 0 - EXC - - - 33 - 18 - 0 - EXC - - - 34 - 18 - 0 - EXC - - - 35 - 18 - 1 - EXC - - - 36 - 18 - 0 - EXC - - - 37 - 18 - 0 - EXC - - - 38 - 18 - 1 - EXC - - - 39 - 18 - 0 - EXC - - - 40 - 18 - 0 - EXC - - - 41 - 18 - 0 - EXC - - - 42 - 18 - 0 - EXC - - - 43 - 18 - 0 - EXC - - - 44 - 18 - 0 - EXC - - - 45 - 18 - 1 - EXC - - - 46 - 18 - 0 - EXC - - - 47 - 18 - 0 - EXC - - - 48 - 18 - 1 - EXC - - - 49 - 18 - 0 - EXC - - - 50 - 18 - 0 - EXC - - - 51 - 18 - 0 - EXC - - - 52 - 18 - 0 - EXC - - - 53 - 18 - 0 - EXC - - - 54 - 18 - 0 - EXC - - - 55 - 18 - 1 - EXC - - - 56 - 18 - 0 - EXC - - - 57 - 18 - 0 - EXC - - - 58 - 18 - 1 - EXC - - - 59 - 18 - 0 - EXC - - - 60 - 18 - 0 - EXC - - - 61 - 18 - 0 - EXC - - - 62 - 18 - 0 - EXC - - - 63 - 18 - 0 - EXC - - - 64 - 18 - 0 - EXC - - - 65 - 18 - 1 - EXC - - - 66 - 18 - 0 - EXC - - - 67 - 18 - 0 - EXC - - - 68 - 18 - 1 - EXC - - - 69 - 18 - 0 - EXC - - - 70 - 18 - 0 - EXC - - - 71 - 18 - 0 - EXC - - - 72 - 18 - 0 - EXC - - - 73 - 18 - 0 - EXC - - - 74 - 18 - 0 - EXC - - - 75 - 18 - 1 - EXC - - - 76 - 18 - 0 - EXC - - - 77 - 18 - 0 - EXC - - - 78 - 18 - 1 - EXC - - - 79 - 18 - 0 - EXC - - - 80 - 18 - 0 - EXC - - - 81 - 18 - 0 - EXC - - - 82 - 18 - 0 - EXC - - - 83 - 18 - 0 - EXC - - - 84 - 18 - 0 - EXC - - - 85 - 18 - 1 - EXC - - - 86 - 18 - 0 - EXC - - - 87 - 18 - 0 - EXC - - - 88 - 18 - 1 - EXC - - - 89 - 18 - 0 - EXC - - - 90 - 18 - 0 - EXC - - - 91 - 18 - 0 - EXC - - - 92 - 18 - 0 - EXC - - - 93 - 18 - 0 - EXC - - - 94 - 18 - 0 - EXC - - - 95 - 18 - 1 - EXC - - - 96 - 18 - 0 - EXC - - - 97 - 18 - 0 - EXC - - - 98 - 18 - 1 - EXC - - - 99 - 18 - 0 - EXC - - - 0 - 19 - 0 - EXC - - - 1 - 19 - 0 - INH - - - 2 - 19 - 1 - EXC - - - 3 - 19 - 0 - INH - - - 4 - 19 - 0 - EXC - - - 5 - 19 - 0 - INH - - - 6 - 19 - 0 - EXC - - - 7 - 19 - 0 - INH - - - 8 - 19 - 0 - EXC - - - 9 - 19 - 0 - INH - - - 10 - 19 - 0 - EXC - - - 11 - 19 - 0 - INH - - - 12 - 19 - 1 - EXC - - - 13 - 19 - 0 - INH - - - 14 - 19 - 0 - EXC - - - 15 - 19 - 0 - INH - - - 16 - 19 - 0 - EXC - - - 17 - 19 - 0 - INH - - - 18 - 19 - 0 - EXC - - - 19 - 19 - 0 - INH - - - 20 - 19 - 0 - EXC - - - 21 - 19 - 0 - INH - - - 22 - 19 - 1 - EXC - - - 23 - 19 - 0 - INH - - - 24 - 19 - 0 - EXC - - - 25 - 19 - 0 - INH - - - 26 - 19 - 0 - EXC - - - 27 - 19 - 0 - INH - - - 28 - 19 - 0 - EXC - - - 29 - 19 - 0 - INH - - - 30 - 19 - 0 - EXC - - - 31 - 19 - 0 - INH - - - 32 - 19 - 1 - EXC - - - 33 - 19 - 0 - INH - - - 34 - 19 - 0 - EXC - - - 35 - 19 - 0 - INH - - - 36 - 19 - 0 - EXC - - - 37 - 19 - 0 - INH - - - 38 - 19 - 0 - EXC - - - 39 - 19 - 0 - INH - - - 40 - 19 - 0 - EXC - - - 41 - 19 - 0 - INH - - - 42 - 19 - 1 - EXC - - - 43 - 19 - 0 - INH - - - 44 - 19 - 0 - EXC - - - 45 - 19 - 0 - INH - - - 46 - 19 - 0 - EXC - - - 47 - 19 - 0 - INH - - - 48 - 19 - 0 - EXC - - - 49 - 19 - 0 - INH - - - 50 - 19 - 0 - EXC - - - 51 - 19 - 0 - INH - - - 52 - 19 - 1 - EXC - - - 53 - 19 - 0 - INH - - - 54 - 19 - 0 - EXC - - - 55 - 19 - 0 - INH - - - 56 - 19 - 0 - EXC - - - 57 - 19 - 0 - INH - - - 58 - 19 - 0 - EXC - - - 59 - 19 - 0 - INH - - - 60 - 19 - 0 - EXC - - - 61 - 19 - 0 - INH - - - 62 - 19 - 1 - EXC - - - 63 - 19 - 0 - INH - - - 64 - 19 - 0 - EXC - - - 65 - 19 - 0 - INH - - - 66 - 19 - 0 - EXC - - - 67 - 19 - 0 - INH - - - 68 - 19 - 0 - EXC - - - 69 - 19 - 0 - INH - - - 70 - 19 - 0 - EXC - - - 71 - 19 - 0 - INH - - - 72 - 19 - 1 - EXC - - - 73 - 19 - 0 - INH - - - 74 - 19 - 0 - EXC - - - 75 - 19 - 0 - INH - - - 76 - 19 - 0 - EXC - - - 77 - 19 - 0 - INH - - - 78 - 19 - 0 - EXC - - - 79 - 19 - 0 - INH - - - 80 - 19 - 0 - EXC - - - 81 - 19 - 0 - INH - - - 82 - 19 - 1 - EXC - - - 83 - 19 - 0 - INH - - - 84 - 19 - 0 - EXC - - - 85 - 19 - 0 - INH - - - 86 - 19 - 0 - EXC - - - 87 - 19 - 0 - INH - - - 88 - 19 - 0 - EXC - - - 89 - 19 - 0 - INH - - - 90 - 19 - 0 - EXC - - - 91 - 19 - 0 - INH - - - 92 - 19 - 1 - EXC - - - 93 - 19 - 0 - INH - - - 94 - 19 - 0 - EXC - - - 95 - 19 - 0 - INH - - - 96 - 19 - 0 - EXC - - - 97 - 19 - 0 - INH - - - 98 - 19 - 0 - EXC - - - 99 - 19 - 0 - INH - - - 0 - 20 - 0 - INH - - - 1 - 20 - 0 - EXC - - - 2 - 20 - 0 - INH - - - 3 - 20 - 0 - EXC - - - 4 - 20 - 0 - INH - - - 5 - 20 - 0 - EXC - - - 6 - 20 - 0 - INH - - - 7 - 20 - 1 - EXC - - - 8 - 20 - 0 - INH - - - 9 - 20 - 0 - EXC - - - 10 - 20 - 0 - INH - - - 11 - 20 - 0 - EXC - - - 12 - 20 - 0 - INH - - - 13 - 20 - 0 - EXC - - - 14 - 20 - 0 - INH - - - 15 - 20 - 0 - EXC - - - 16 - 20 - 0 - INH - - - 17 - 20 - 1 - EXC - - - 18 - 20 - 0 - INH - - - 19 - 20 - 0 - EXC - - - 20 - 20 - 0 - INH - - - 21 - 20 - 0 - EXC - - - 22 - 20 - 0 - INH - - - 23 - 20 - 0 - EXC - - - 24 - 20 - 0 - EXC - - - 25 - 20 - 0 - EXC - - - 26 - 20 - 0 - INH - - - 27 - 20 - 1 - EXC - - - 28 - 20 - 0 - INH - - - 29 - 20 - 0 - EXC - - - 30 - 20 - 0 - INH - - - 31 - 20 - 0 - EXC - - - 32 - 20 - 0 - INH - - - 33 - 20 - 0 - EXC - - - 34 - 20 - 0 - INH - - - 35 - 20 - 0 - EXC - - - 36 - 20 - 0 - INH - - - 37 - 20 - 1 - EXC - - - 38 - 20 - 0 - INH - - - 39 - 20 - 0 - EXC - - - 40 - 20 - 0 - INH - - - 41 - 20 - 0 - EXC - - - 42 - 20 - 0 - INH - - - 43 - 20 - 0 - EXC - - - 44 - 20 - 0 - INH - - - 45 - 20 - 0 - EXC - - - 46 - 20 - 0 - INH - - - 47 - 20 - 1 - EXC - - - 48 - 20 - 0 - INH - - - 49 - 20 - 0 - EXC - - - 50 - 20 - 0 - INH - - - 51 - 20 - 0 - EXC - - - 52 - 20 - 0 - INH - - - 53 - 20 - 0 - EXC - - - 54 - 20 - 0 - INH - - - 55 - 20 - 0 - EXC - - - 56 - 20 - 0 - INH - - - 57 - 20 - 1 - EXC - - - 58 - 20 - 0 - INH - - - 59 - 20 - 0 - EXC - - - 60 - 20 - 0 - INH - - - 61 - 20 - 0 - EXC - - - 62 - 20 - 0 - INH - - - 63 - 20 - 0 - EXC - - - 64 - 20 - 0 - INH - - - 65 - 20 - 0 - EXC - - - 66 - 20 - 0 - INH - - - 67 - 20 - 1 - EXC - - - 68 - 20 - 0 - INH - - - 69 - 20 - 0 - EXC - - - 70 - 20 - 0 - INH - - - 71 - 20 - 0 - EXC - - - 72 - 20 - 0 - INH - - - 73 - 20 - 0 - EXC - - - 74 - 20 - 0 - INH - - - 75 - 20 - 0 - EXC - - - 76 - 20 - 0 - INH - - - 77 - 20 - 1 - EXC - - - 78 - 20 - 0 - INH - - - 79 - 20 - 0 - EXC - - - 80 - 20 - 0 - INH - - - 81 - 20 - 0 - EXC - - - 82 - 20 - 0 - INH - - - 83 - 20 - 0 - EXC - - - 84 - 20 - 0 - INH - - - 85 - 20 - 0 - EXC - - - 86 - 20 - 0 - INH - - - 87 - 20 - 1 - EXC - - - 88 - 20 - 0 - INH - - - 89 - 20 - 0 - EXC - - - 90 - 20 - 0 - INH - - - 91 - 20 - 0 - EXC - - - 92 - 20 - 0 - INH - - - 93 - 20 - 0 - EXC - - - 94 - 20 - 0 - INH - - - 95 - 20 - 0 - EXC - - - 96 - 20 - 0 - INH - - - 97 - 20 - 1 - EXC - - - 98 - 20 - 0 - INH - - - 99 - 20 - 0 - EXC - - - 0 - 21 - 0 - EXC - - - 1 - 21 - 1 - EXC - - - 2 - 21 - 0 - EXC - - - 3 - 21 - 0 - EXC - - - 4 - 21 - 1 - EXC - - - 5 - 21 - 0 - EXC - - - 6 - 21 - 0 - EXC - - - 7 - 21 - 0 - EXC - - - 8 - 21 - 0 - EXC - - - 9 - 21 - 0 - EXC - - - 10 - 21 - 0 - EXC - - - 11 - 21 - 1 - EXC - - - 12 - 21 - 0 - EXC - - - 13 - 21 - 0 - EXC - - - 14 - 21 - 1 - EXC - - - 15 - 21 - 0 - EXC - - - 16 - 21 - 0 - EXC - - - 17 - 21 - 0 - EXC - - - 18 - 21 - 0 - EXC - - - 19 - 21 - 0 - EXC - - - 20 - 21 - 0 - EXC - - - 21 - 21 - 1 - EXC - - - 22 - 21 - 0 - EXC - - - 23 - 21 - 0 - EXC - - - 24 - 21 - 1 - EXC - - - 25 - 21 - 0 - EXC - - - 26 - 21 - 0 - EXC - - - 27 - 21 - 0 - EXC - - - 28 - 21 - 0 - EXC - - - 29 - 21 - 0 - EXC - - - 30 - 21 - 0 - EXC - - - 31 - 21 - 1 - EXC - - - 32 - 21 - 0 - EXC - - - 33 - 21 - 0 - EXC - - - 34 - 21 - 1 - EXC - - - 35 - 21 - 0 - EXC - - - 36 - 21 - 0 - EXC - - - 37 - 21 - 0 - EXC - - - 38 - 21 - 0 - EXC - - - 39 - 21 - 0 - EXC - - - 40 - 21 - 0 - EXC - - - 41 - 21 - 1 - EXC - - - 42 - 21 - 0 - EXC - - - 43 - 21 - 0 - EXC - - - 44 - 21 - 1 - EXC - - - 45 - 21 - 0 - EXC - - - 46 - 21 - 0 - EXC - - - 47 - 21 - 0 - EXC - - - 48 - 21 - 0 - EXC - - - 49 - 21 - 0 - EXC - - - 50 - 21 - 0 - EXC - - - 51 - 21 - 1 - EXC - - - 52 - 21 - 0 - EXC - - - 53 - 21 - 0 - EXC - - - 54 - 21 - 1 - EXC - - - 55 - 21 - 0 - EXC - - - 56 - 21 - 0 - EXC - - - 57 - 21 - 0 - EXC - - - 58 - 21 - 0 - EXC - - - 59 - 21 - 0 - EXC - - - 60 - 21 - 0 - EXC - - - 61 - 21 - 1 - EXC - - - 62 - 21 - 0 - EXC - - - 63 - 21 - 0 - EXC - - - 64 - 21 - 1 - EXC - - - 65 - 21 - 0 - EXC - - - 66 - 21 - 0 - EXC - - - 67 - 21 - 0 - EXC - - - 68 - 21 - 0 - EXC - - - 69 - 21 - 0 - EXC - - - 70 - 21 - 0 - EXC - - - 71 - 21 - 1 - EXC - - - 72 - 21 - 0 - EXC - - - 73 - 21 - 0 - EXC - - - 74 - 21 - 1 - EXC - - - 75 - 21 - 0 - EXC - - - 76 - 21 - 0 - EXC - - - 77 - 21 - 0 - EXC - - - 78 - 21 - 0 - EXC - - - 79 - 21 - 0 - EXC - - - 80 - 21 - 0 - EXC - - - 81 - 21 - 1 - EXC - - - 82 - 21 - 0 - EXC - - - 83 - 21 - 0 - EXC - - - 84 - 21 - 1 - EXC - - - 85 - 21 - 0 - EXC - - - 86 - 21 - 0 - EXC - - - 87 - 21 - 0 - EXC - - - 88 - 21 - 0 - EXC - - - 89 - 21 - 0 - EXC - - - 90 - 21 - 0 - EXC - - - 91 - 21 - 1 - EXC - - - 92 - 21 - 0 - EXC - - - 93 - 21 - 0 - EXC - - - 94 - 21 - 1 - EXC - - - 95 - 21 - 0 - EXC - - - 96 - 21 - 0 - EXC - - - 97 - 21 - 0 - EXC - - - 98 - 21 - 0 - EXC - - - 99 - 21 - 0 - EXC - - - 0 - 22 - 0 - INH - - - 1 - 22 - 0 - EXC - - - 2 - 22 - 0 - EXC - - - 3 - 22 - 0 - EXC - - - 4 - 22 - 0 - EXC - - - 5 - 22 - 0 - EXC - - - 6 - 22 - 0 - INH - - - 7 - 22 - 0 - EXC - - - 8 - 22 - 0 - EXC - - - 9 - 22 - 0 - EXC - - - 10 - 22 - 0 - INH - - - 11 - 22 - 0 - EXC - - - 12 - 22 - 0 - EXC - - - 13 - 22 - 0 - EXC - - - 14 - 22 - 0 - EXC - - - 15 - 22 - 0 - EXC - - - 16 - 22 - 0 - INH - - - 17 - 22 - 0 - EXC - - - 18 - 22 - 0 - EXC - - - 19 - 22 - 0 - EXC - - - 20 - 22 - 0 - INH - - - 21 - 22 - 0 - EXC - - - 22 - 22 - 0 - EXC - - - 23 - 22 - 0 - EXC - - - 24 - 22 - 0 - EXC - - - 25 - 22 - 0 - EXC - - - 26 - 22 - 0 - INH - - - 27 - 22 - 0 - EXC - - - 28 - 22 - 0 - EXC - - - 29 - 22 - 0 - EXC - - - 30 - 22 - 0 - INH - - - 31 - 22 - 0 - EXC - - - 32 - 22 - 0 - EXC - - - 33 - 22 - 0 - EXC - - - 34 - 22 - 0 - EXC - - - 35 - 22 - 0 - EXC - - - 36 - 22 - 0 - INH - - - 37 - 22 - 0 - EXC - - - 38 - 22 - 0 - EXC - - - 39 - 22 - 0 - EXC - - - 40 - 22 - 0 - INH - - - 41 - 22 - 0 - EXC - - - 42 - 22 - 0 - EXC - - - 43 - 22 - 0 - EXC - - - 44 - 22 - 0 - EXC - - - 45 - 22 - 0 - EXC - - - 46 - 22 - 0 - INH - - - 47 - 22 - 0 - EXC - - - 48 - 22 - 0 - EXC - - - 49 - 22 - 0 - EXC - - - 50 - 22 - 0 - INH - - - 51 - 22 - 0 - EXC - - - 52 - 22 - 0 - EXC - - - 53 - 22 - 0 - EXC - - - 54 - 22 - 0 - EXC - - - 55 - 22 - 0 - EXC - - - 56 - 22 - 0 - INH - - - 57 - 22 - 0 - EXC - - - 58 - 22 - 0 - EXC - - - 59 - 22 - 0 - EXC - - - 60 - 22 - 0 - INH - - - 61 - 22 - 0 - EXC - - - 62 - 22 - 0 - EXC - - - 63 - 22 - 0 - EXC - - - 64 - 22 - 0 - EXC - - - 65 - 22 - 0 - EXC - - - 66 - 22 - 0 - INH - - - 67 - 22 - 0 - EXC - - - 68 - 22 - 0 - EXC - - - 69 - 22 - 0 - EXC - - - 70 - 22 - 0 - INH - - - 71 - 22 - 0 - EXC - - - 72 - 22 - 0 - EXC - - - 73 - 22 - 0 - EXC - - - 74 - 22 - 0 - EXC - - - 75 - 22 - 0 - EXC - - - 76 - 22 - 0 - INH - - - 77 - 22 - 0 - EXC - - - 78 - 22 - 0 - EXC - - - 79 - 22 - 0 - EXC - - - 80 - 22 - 0 - INH - - - 81 - 22 - 0 - EXC - - - 82 - 22 - 0 - EXC - - - 83 - 22 - 0 - EXC - - - 84 - 22 - 0 - EXC - - - 85 - 22 - 0 - EXC - - - 86 - 22 - 0 - INH - - - 87 - 22 - 0 - EXC - - - 88 - 22 - 0 - EXC - - - 89 - 22 - 0 - EXC - - - 90 - 22 - 0 - INH - - - 91 - 22 - 0 - EXC - - - 92 - 22 - 0 - EXC - - - 93 - 22 - 0 - EXC - - - 94 - 22 - 0 - EXC - - - 95 - 22 - 0 - EXC - - - 96 - 22 - 0 - INH - - - 97 - 22 - 0 - EXC - - - 98 - 22 - 0 - EXC - - - 99 - 22 - 0 - EXC - - - 0 - 23 - 0 - EXC - - - 1 - 23 - 0 - EXC - - - 2 - 23 - 0 - INH - - - 3 - 23 - 0 - EXC - - - 4 - 23 - 0 - INH - - - 5 - 23 - 0 - EXC - - - 6 - 23 - 0 - EXC - - - 7 - 23 - 1 - EXC - - - 8 - 23 - 0 - INH - - - 9 - 23 - 0 - EXC - - - 10 - 23 - 0 - EXC - - - 11 - 23 - 0 - EXC - - - 12 - 23 - 0 - INH - - - 13 - 23 - 0 - EXC - - - 14 - 23 - 0 - INH - - - 15 - 23 - 0 - EXC - - - 16 - 23 - 0 - EXC - - - 17 - 23 - 1 - EXC - - - 18 - 23 - 0 - INH - - - 19 - 23 - 0 - EXC - - - 20 - 23 - 0 - EXC - - - 21 - 23 - 0 - EXC - - - 22 - 23 - 0 - INH - - - 23 - 23 - 0 - EXC - - - 24 - 23 - 0 - INH - - - 25 - 23 - 0 - EXC - - - 26 - 23 - 0 - EXC - - - 27 - 23 - 1 - EXC - - - 28 - 23 - 0 - INH - - - 29 - 23 - 0 - EXC - - - 30 - 23 - 0 - EXC - - - 31 - 23 - 0 - EXC - - - 32 - 23 - 0 - INH - - - 33 - 23 - 0 - EXC - - - 34 - 23 - 0 - INH - - - 35 - 23 - 0 - EXC - - - 36 - 23 - 0 - EXC - - - 37 - 23 - 1 - EXC - - - 38 - 23 - 0 - INH - - - 39 - 23 - 0 - EXC - - - 40 - 23 - 0 - EXC - - - 41 - 23 - 0 - EXC - - - 42 - 23 - 0 - INH - - - 43 - 23 - 0 - EXC - - - 44 - 23 - 0 - INH - - - 45 - 23 - 0 - EXC - - - 46 - 23 - 0 - EXC - - - 47 - 23 - 1 - EXC - - - 48 - 23 - 0 - INH - - - 49 - 23 - 0 - EXC - - - 50 - 23 - 0 - EXC - - - 51 - 23 - 0 - EXC - - - 52 - 23 - 0 - INH - - - 53 - 23 - 0 - EXC - - - 54 - 23 - 0 - INH - - - 55 - 23 - 0 - EXC - - - 56 - 23 - 0 - EXC - - - 57 - 23 - 1 - EXC - - - 58 - 23 - 0 - INH - - - 59 - 23 - 0 - EXC - - - 60 - 23 - 0 - EXC - - - 61 - 23 - 0 - EXC - - - 62 - 23 - 0 - INH - - - 63 - 23 - 0 - EXC - - - 64 - 23 - 0 - INH - - - 65 - 23 - 0 - EXC - - - 66 - 23 - 0 - EXC - - - 67 - 23 - 1 - EXC - - - 68 - 23 - 0 - INH - - - 69 - 23 - 0 - EXC - - - 70 - 23 - 0 - EXC - - - 71 - 23 - 0 - EXC - - - 72 - 23 - 0 - INH - - - 73 - 23 - 0 - EXC - - - 74 - 23 - 0 - INH - - - 75 - 23 - 0 - EXC - - - 76 - 23 - 0 - EXC - - - 77 - 23 - 1 - EXC - - - 78 - 23 - 0 - INH - - - 79 - 23 - 0 - EXC - - - 80 - 23 - 0 - EXC - - - 81 - 23 - 0 - EXC - - - 82 - 23 - 0 - INH - - - 83 - 23 - 0 - EXC - - - 84 - 23 - 0 - INH - - - 85 - 23 - 0 - EXC - - - 86 - 23 - 0 - EXC - - - 87 - 23 - 1 - EXC - - - 88 - 23 - 0 - INH - - - 89 - 23 - 0 - EXC - - - 90 - 23 - 0 - EXC - - - 91 - 23 - 0 - EXC - - - 92 - 23 - 0 - INH - - - 93 - 23 - 0 - EXC - - - 94 - 23 - 0 - INH - - - 95 - 23 - 0 - EXC - - - 96 - 23 - 0 - EXC - - - 97 - 23 - 1 - EXC - - - 98 - 23 - 0 - INH - - - 99 - 23 - 0 - EXC - - - 0 - 24 - 0 - EXC - - - 1 - 24 - 1 - EXC - - - 2 - 24 - 0 - EXC - - - 3 - 24 - 0 - EXC - - - 4 - 24 - 1 - EXC - - - 5 - 24 - 0 - EXC - - - 6 - 24 - 0 - EXC - - - 7 - 24 - 0 - EXC - - - 8 - 24 - 0 - EXC - - - 9 - 24 - 0 - EXC - - - 10 - 24 - 0 - EXC - - - 11 - 24 - 1 - EXC - - - 12 - 24 - 0 - EXC - - - 13 - 24 - 0 - EXC - - - 14 - 24 - 1 - EXC - - - 15 - 24 - 0 - EXC - - - 16 - 24 - 0 - EXC - - - 17 - 24 - 0 - EXC - - - 18 - 24 - 0 - EXC - - - 19 - 24 - 0 - EXC - - - 20 - 24 - 0 - EXC - - - 21 - 24 - 1 - EXC - - - 22 - 24 - 0 - EXC - - - 23 - 24 - 0 - EXC - - - 24 - 24 - 1 - EXC - - - 25 - 24 - 0 - EXC - - - 26 - 24 - 0 - EXC - - - 27 - 24 - 0 - EXC - - - 28 - 24 - 0 - EXC - - - 29 - 24 - 0 - EXC - - - 30 - 24 - 0 - EXC - - - 31 - 24 - 1 - EXC - - - 32 - 24 - 0 - EXC - - - 33 - 24 - 0 - EXC - - - 34 - 24 - 1 - EXC - - - 35 - 24 - 0 - EXC - - - 36 - 24 - 0 - EXC - - - 37 - 24 - 0 - EXC - - - 38 - 24 - 0 - EXC - - - 39 - 24 - 0 - EXC - - - 40 - 24 - 0 - EXC - - - 41 - 24 - 1 - EXC - - - 42 - 24 - 0 - EXC - - - 43 - 24 - 0 - EXC - - - 44 - 24 - 1 - EXC - - - 45 - 24 - 0 - EXC - - - 46 - 24 - 0 - EXC - - - 47 - 24 - 0 - EXC - - - 48 - 24 - 0 - EXC - - - 49 - 24 - 0 - EXC - - - 50 - 24 - 0 - EXC - - - 51 - 24 - 1 - EXC - - - 52 - 24 - 0 - EXC - - - 53 - 24 - 0 - EXC - - - 54 - 24 - 1 - EXC - - - 55 - 24 - 0 - EXC - - - 56 - 24 - 0 - EXC - - - 57 - 24 - 0 - EXC - - - 58 - 24 - 0 - EXC - - - 59 - 24 - 0 - EXC - - - 60 - 24 - 0 - EXC - - - 61 - 24 - 1 - EXC - - - 62 - 24 - 0 - EXC - - - 63 - 24 - 0 - EXC - - - 64 - 24 - 1 - EXC - - - 65 - 24 - 0 - EXC - - - 66 - 24 - 0 - EXC - - - 67 - 24 - 0 - EXC - - - 68 - 24 - 0 - EXC - - - 69 - 24 - 0 - EXC - - - 70 - 24 - 0 - EXC - - - 71 - 24 - 1 - EXC - - - 72 - 24 - 0 - EXC - - - 73 - 24 - 0 - EXC - - - 74 - 24 - 1 - EXC - - - 75 - 24 - 0 - EXC - - - 76 - 24 - 0 - EXC - - - 77 - 24 - 0 - EXC - - - 78 - 24 - 0 - EXC - - - 79 - 24 - 0 - EXC - - - 80 - 24 - 0 - EXC - - - 81 - 24 - 1 - EXC - - - 82 - 24 - 0 - EXC - - - 83 - 24 - 0 - EXC - - - 84 - 24 - 1 - EXC - - - 85 - 24 - 0 - EXC - - - 86 - 24 - 0 - EXC - - - 87 - 24 - 0 - EXC - - - 88 - 24 - 0 - EXC - - - 89 - 24 - 0 - EXC - - - 90 - 24 - 0 - EXC - - - 91 - 24 - 1 - EXC - - - 92 - 24 - 0 - EXC - - - 93 - 24 - 0 - EXC - - - 94 - 24 - 1 - EXC - - - 95 - 24 - 0 - EXC - - - 96 - 24 - 0 - EXC - - - 97 - 24 - 0 - EXC - - - 98 - 24 - 0 - EXC - - - 99 - 24 - 0 - EXC - - - 0 - 25 - 0 - INH - - - 1 - 25 - 0 - EXC - - - 2 - 25 - 0 - EXC - - - 3 - 25 - 0 - EXC - - - 4 - 25 - 0 - EXC - - - 5 - 25 - 0 - EXC - - - 6 - 25 - 0 - INH - - - 7 - 25 - 0 - EXC - - - 8 - 25 - 0 - EXC - - - 9 - 25 - 0 - EXC - - - 10 - 25 - 0 - INH - - - 11 - 25 - 0 - EXC - - - 12 - 25 - 0 - EXC - - - 13 - 25 - 0 - EXC - - - 14 - 25 - 0 - EXC - - - 15 - 25 - 0 - EXC - - - 16 - 25 - 0 - INH - - - 17 - 25 - 0 - EXC - - - 18 - 25 - 0 - EXC - - - 19 - 25 - 0 - EXC - - - 20 - 25 - 0 - INH - - - 21 - 25 - 0 - EXC - - - 22 - 25 - 0 - EXC - - - 23 - 25 - 0 - EXC - - - 24 - 25 - 0 - EXC - - - 25 - 25 - 0 - EXC - - - 26 - 25 - 0 - INH - - - 27 - 25 - 0 - EXC - - - 28 - 25 - 0 - EXC - - - 29 - 25 - 0 - EXC - - - 30 - 25 - 0 - INH - - - 31 - 25 - 0 - EXC - - - 32 - 25 - 0 - EXC - - - 33 - 25 - 0 - EXC - - - 34 - 25 - 0 - EXC - - - 35 - 25 - 0 - EXC - - - 36 - 25 - 0 - INH - - - 37 - 25 - 0 - EXC - - - 38 - 25 - 0 - EXC - - - 39 - 25 - 0 - EXC - - - 40 - 25 - 0 - INH - - - 41 - 25 - 0 - EXC - - - 42 - 25 - 0 - EXC - - - 43 - 25 - 0 - EXC - - - 44 - 25 - 0 - EXC - - - 45 - 25 - 0 - EXC - - - 46 - 25 - 0 - INH - - - 47 - 25 - 0 - EXC - - - 48 - 25 - 0 - EXC - - - 49 - 25 - 0 - EXC - - - 50 - 25 - 0 - INH - - - 51 - 25 - 0 - EXC - - - 52 - 25 - 0 - EXC - - - 53 - 25 - 0 - EXC - - - 54 - 25 - 0 - EXC - - - 55 - 25 - 0 - EXC - - - 56 - 25 - 0 - INH - - - 57 - 25 - 0 - EXC - - - 58 - 25 - 0 - EXC - - - 59 - 25 - 0 - EXC - - - 60 - 25 - 0 - INH - - - 61 - 25 - 0 - EXC - - - 62 - 25 - 0 - EXC - - - 63 - 25 - 0 - EXC - - - 64 - 25 - 0 - EXC - - - 65 - 25 - 0 - EXC - - - 66 - 25 - 0 - INH - - - 67 - 25 - 0 - EXC - - - 68 - 25 - 0 - EXC - - - 69 - 25 - 0 - EXC - - - 70 - 25 - 0 - INH - - - 71 - 25 - 0 - EXC - - - 72 - 25 - 0 - EXC - - - 73 - 25 - 0 - EXC - - - 74 - 25 - 0 - EXC - - - 75 - 25 - 0 - EXC - - - 76 - 25 - 0 - INH - - - 77 - 25 - 0 - EXC - - - 78 - 25 - 0 - EXC - - - 79 - 25 - 0 - EXC - - - 80 - 25 - 0 - INH - - - 81 - 25 - 0 - EXC - - - 82 - 25 - 0 - EXC - - - 83 - 25 - 0 - EXC - - - 84 - 25 - 0 - EXC - - - 85 - 25 - 0 - EXC - - - 86 - 25 - 0 - INH - - - 87 - 25 - 0 - EXC - - - 88 - 25 - 0 - EXC - - - 89 - 25 - 0 - EXC - - - 90 - 25 - 0 - INH - - - 91 - 25 - 0 - EXC - - - 92 - 25 - 0 - EXC - - - 93 - 25 - 0 - EXC - - - 94 - 25 - 0 - EXC - - - 95 - 25 - 0 - EXC - - - 96 - 25 - 0 - INH - - - 97 - 25 - 0 - EXC - - - 98 - 25 - 0 - EXC - - - 99 - 25 - 0 - EXC - - - 0 - 26 - 0 - EXC - - - 1 - 26 - 0 - EXC - - - 2 - 26 - 0 - INH - - - 3 - 26 - 0 - EXC - - - 4 - 26 - 0 - INH - - - 5 - 26 - 0 - EXC - - - 6 - 26 - 0 - EXC - - - 7 - 26 - 1 - EXC - - - 8 - 26 - 0 - INH - - - 9 - 26 - 0 - EXC - - - 10 - 26 - 0 - EXC - - - 11 - 26 - 0 - EXC - - - 12 - 26 - 0 - INH - - - 13 - 26 - 0 - EXC - - - 14 - 26 - 0 - INH - - - 15 - 26 - 0 - EXC - - - 16 - 26 - 0 - EXC - - - 17 - 26 - 1 - EXC - - - 18 - 26 - 0 - INH - - - 19 - 26 - 0 - EXC - - - 20 - 26 - 0 - EXC - - - 21 - 26 - 0 - EXC - - - 22 - 26 - 0 - INH - - - 23 - 26 - 0 - EXC - - - 24 - 26 - 0 - INH - - - 25 - 26 - 0 - EXC - - - 26 - 26 - 0 - EXC - - - 27 - 26 - 1 - EXC - - - 28 - 26 - 0 - INH - - - 29 - 26 - 0 - EXC - - - 30 - 26 - 0 - EXC - - - 31 - 26 - 0 - EXC - - - 32 - 26 - 0 - INH - - - 33 - 26 - 0 - EXC - - - 34 - 26 - 0 - INH - - - 35 - 26 - 0 - EXC - - - 36 - 26 - 0 - EXC - - - 37 - 26 - 1 - EXC - - - 38 - 26 - 0 - INH - - - 39 - 26 - 0 - EXC - - - 40 - 26 - 0 - EXC - - - 41 - 26 - 0 - EXC - - - 42 - 26 - 0 - INH - - - 43 - 26 - 0 - EXC - - - 44 - 26 - 0 - INH - - - 45 - 26 - 0 - EXC - - - 46 - 26 - 0 - EXC - - - 47 - 26 - 1 - EXC - - - 48 - 26 - 0 - INH - - - 49 - 26 - 0 - EXC - - - 50 - 26 - 0 - EXC - - - 51 - 26 - 0 - EXC - - - 52 - 26 - 0 - INH - - - 53 - 26 - 0 - EXC - - - 54 - 26 - 0 - INH - - - 55 - 26 - 0 - EXC - - - 56 - 26 - 0 - EXC - - - 57 - 26 - 1 - EXC - - - 58 - 26 - 0 - INH - - - 59 - 26 - 0 - EXC - - - 60 - 26 - 0 - EXC - - - 61 - 26 - 0 - EXC - - - 62 - 26 - 0 - INH - - - 63 - 26 - 0 - EXC - - - 64 - 26 - 0 - INH - - - 65 - 26 - 0 - EXC - - - 66 - 26 - 0 - EXC - - - 67 - 26 - 1 - EXC - - - 68 - 26 - 0 - INH - - - 69 - 26 - 0 - EXC - - - 70 - 26 - 0 - EXC - - - 71 - 26 - 0 - EXC - - - 72 - 26 - 0 - INH - - - 73 - 26 - 0 - EXC - - - 74 - 26 - 0 - INH - - - 75 - 26 - 0 - EXC - - - 76 - 26 - 0 - EXC - - - 77 - 26 - 1 - EXC - - - 78 - 26 - 0 - INH - - - 79 - 26 - 0 - EXC - - - 80 - 26 - 0 - EXC - - - 81 - 26 - 0 - EXC - - - 82 - 26 - 0 - INH - - - 83 - 26 - 0 - EXC - - - 84 - 26 - 0 - INH - - - 85 - 26 - 0 - EXC - - - 86 - 26 - 0 - EXC - - - 87 - 26 - 1 - EXC - - - 88 - 26 - 0 - INH - - - 89 - 26 - 0 - EXC - - - 90 - 26 - 0 - EXC - - - 91 - 26 - 0 - EXC - - - 92 - 26 - 0 - INH - - - 93 - 26 - 0 - EXC - - - 94 - 26 - 0 - INH - - - 95 - 26 - 0 - EXC - - - 96 - 26 - 0 - EXC - - - 97 - 26 - 1 - EXC - - - 98 - 26 - 0 - INH - - - 99 - 26 - 0 - EXC - - - 0 - 27 - 0 - EXC - - - 1 - 27 - 1 - EXC - - - 2 - 27 - 0 - EXC - - - 3 - 27 - 0 - EXC - - - 4 - 27 - 1 - EXC - - - 5 - 27 - 0 - EXC - - - 6 - 27 - 0 - EXC - - - 7 - 27 - 0 - EXC - - - 8 - 27 - 0 - EXC - - - 9 - 27 - 0 - EXC - - - 10 - 27 - 0 - EXC - - - 11 - 27 - 1 - EXC - - - 12 - 27 - 0 - EXC - - - 13 - 27 - 0 - EXC - - - 14 - 27 - 1 - EXC - - - 15 - 27 - 0 - EXC - - - 16 - 27 - 0 - EXC - - - 17 - 27 - 0 - EXC - - - 18 - 27 - 0 - EXC - - - 19 - 27 - 0 - EXC - - - 20 - 27 - 0 - EXC - - - 21 - 27 - 1 - EXC - - - 22 - 27 - 0 - EXC - - - 23 - 27 - 0 - EXC - - - 24 - 27 - 1 - EXC - - - 25 - 27 - 0 - EXC - - - 26 - 27 - 0 - EXC - - - 27 - 27 - 0 - EXC - - - 28 - 27 - 0 - EXC - - - 29 - 27 - 0 - EXC - - - 30 - 27 - 0 - EXC - - - 31 - 27 - 1 - EXC - - - 32 - 27 - 0 - EXC - - - 33 - 27 - 0 - EXC - - - 34 - 27 - 1 - EXC - - - 35 - 27 - 0 - EXC - - - 36 - 27 - 0 - EXC - - - 37 - 27 - 0 - EXC - - - 38 - 27 - 0 - EXC - - - 39 - 27 - 0 - EXC - - - 40 - 27 - 0 - EXC - - - 41 - 27 - 1 - EXC - - - 42 - 27 - 0 - EXC - - - 43 - 27 - 0 - EXC - - - 44 - 27 - 1 - EXC - - - 45 - 27 - 0 - EXC - - - 46 - 27 - 0 - EXC - - - 47 - 27 - 0 - EXC - - - 48 - 27 - 0 - EXC - - - 49 - 27 - 0 - EXC - - - 50 - 27 - 0 - EXC - - - 51 - 27 - 1 - EXC - - - 52 - 27 - 0 - EXC - - - 53 - 27 - 0 - EXC - - - 54 - 27 - 1 - EXC - - - 55 - 27 - 0 - EXC - - - 56 - 27 - 0 - EXC - - - 57 - 27 - 0 - EXC - - - 58 - 27 - 0 - EXC - - - 59 - 27 - 0 - EXC - - - 60 - 27 - 0 - EXC - - - 61 - 27 - 1 - EXC - - - 62 - 27 - 0 - EXC - - - 63 - 27 - 0 - EXC - - - 64 - 27 - 1 - EXC - - - 65 - 27 - 0 - EXC - - - 66 - 27 - 0 - EXC - - - 67 - 27 - 0 - EXC - - - 68 - 27 - 0 - EXC - - - 69 - 27 - 0 - EXC - - - 70 - 27 - 0 - EXC - - - 71 - 27 - 1 - EXC - - - 72 - 27 - 0 - EXC - - - 73 - 27 - 0 - EXC - - - 74 - 27 - 1 - EXC - - - 75 - 27 - 0 - EXC - - - 76 - 27 - 0 - EXC - - - 77 - 27 - 0 - EXC - - - 78 - 27 - 0 - EXC - - - 79 - 27 - 0 - EXC - - - 80 - 27 - 0 - EXC - - - 81 - 27 - 1 - EXC - - - 82 - 27 - 0 - EXC - - - 83 - 27 - 0 - EXC - - - 84 - 27 - 1 - EXC - - - 85 - 27 - 0 - EXC - - - 86 - 27 - 0 - EXC - - - 87 - 27 - 0 - EXC - - - 88 - 27 - 0 - EXC - - - 89 - 27 - 0 - EXC - - - 90 - 27 - 0 - EXC - - - 91 - 27 - 1 - EXC - - - 92 - 27 - 0 - EXC - - - 93 - 27 - 0 - EXC - - - 94 - 27 - 1 - EXC - - - 95 - 27 - 0 - EXC - - - 96 - 27 - 0 - EXC - - - 97 - 27 - 0 - EXC - - - 98 - 27 - 0 - EXC - - - 99 - 27 - 0 - EXC - - - 0 - 28 - 0 - INH - - - 1 - 28 - 0 - EXC - - - 2 - 28 - 0 - EXC - - - 3 - 28 - 0 - EXC - - - 4 - 28 - 0 - EXC - - - 5 - 28 - 0 - EXC - - - 6 - 28 - 0 - INH - - - 7 - 28 - 0 - EXC - - - 8 - 28 - 0 - EXC - - - 9 - 28 - 0 - EXC - - - 10 - 28 - 0 - INH - - - 11 - 28 - 0 - EXC - - - 12 - 28 - 0 - EXC - - - 13 - 28 - 0 - EXC - - - 14 - 28 - 0 - EXC - - - 15 - 28 - 0 - EXC - - - 16 - 28 - 0 - INH - - - 17 - 28 - 0 - EXC - - - 18 - 28 - 0 - EXC - - - 19 - 28 - 0 - EXC - - - 20 - 28 - 0 - INH - - - 21 - 28 - 0 - EXC - - - 22 - 28 - 0 - EXC - - - 23 - 28 - 0 - EXC - - - 24 - 28 - 0 - EXC - - - 25 - 28 - 0 - EXC - - - 26 - 28 - 0 - INH - - - 27 - 28 - 0 - EXC - - - 28 - 28 - 0 - EXC - - - 29 - 28 - 0 - EXC - - - 30 - 28 - 0 - INH - - - 31 - 28 - 0 - EXC - - - 32 - 28 - 0 - EXC - - - 33 - 28 - 0 - EXC - - - 34 - 28 - 0 - EXC - - - 35 - 28 - 0 - EXC - - - 36 - 28 - 0 - INH - - - 37 - 28 - 0 - EXC - - - 38 - 28 - 0 - EXC - - - 39 - 28 - 0 - EXC - - - 40 - 28 - 0 - INH - - - 41 - 28 - 0 - EXC - - - 42 - 28 - 0 - EXC - - - 43 - 28 - 0 - EXC - - - 44 - 28 - 0 - EXC - - - 45 - 28 - 0 - EXC - - - 46 - 28 - 0 - INH - - - 47 - 28 - 0 - EXC - - - 48 - 28 - 0 - EXC - - - 49 - 28 - 0 - EXC - - - 50 - 28 - 0 - INH - - - 51 - 28 - 0 - EXC - - - 52 - 28 - 0 - EXC - - - 53 - 28 - 0 - EXC - - - 54 - 28 - 0 - EXC - - - 55 - 28 - 0 - EXC - - - 56 - 28 - 0 - INH - - - 57 - 28 - 0 - EXC - - - 58 - 28 - 0 - EXC - - - 59 - 28 - 0 - EXC - - - 60 - 28 - 0 - INH - - - 61 - 28 - 0 - EXC - - - 62 - 28 - 0 - EXC - - - 63 - 28 - 0 - EXC - - - 64 - 28 - 0 - EXC - - - 65 - 28 - 0 - EXC - - - 66 - 28 - 0 - INH - - - 67 - 28 - 0 - EXC - - - 68 - 28 - 0 - EXC - - - 69 - 28 - 0 - EXC - - - 70 - 28 - 0 - INH - - - 71 - 28 - 0 - EXC - - - 72 - 28 - 0 - EXC - - - 73 - 28 - 0 - EXC - - - 74 - 28 - 0 - EXC - - - 75 - 28 - 0 - EXC - - - 76 - 28 - 0 - INH - - - 77 - 28 - 0 - EXC - - - 78 - 28 - 0 - EXC - - - 79 - 28 - 0 - EXC - - - 80 - 28 - 0 - INH - - - 81 - 28 - 0 - EXC - - - 82 - 28 - 0 - EXC - - - 83 - 28 - 0 - EXC - - - 84 - 28 - 0 - EXC - - - 85 - 28 - 0 - EXC - - - 86 - 28 - 0 - INH - - - 87 - 28 - 0 - EXC - - - 88 - 28 - 0 - EXC - - - 89 - 28 - 0 - EXC - - - 90 - 28 - 0 - INH - - - 91 - 28 - 0 - EXC - - - 92 - 28 - 0 - EXC - - - 93 - 28 - 0 - EXC - - - 94 - 28 - 0 - EXC - - - 95 - 28 - 0 - EXC - - - 96 - 28 - 0 - INH - - - 97 - 28 - 0 - EXC - - - 98 - 28 - 0 - EXC - - - 99 - 28 - 0 - EXC - - - 0 - 29 - 0 - EXC - - - 1 - 29 - 0 - EXC - - - 2 - 29 - 0 - INH - - - 3 - 29 - 0 - EXC - - - 4 - 29 - 0 - INH - - - 5 - 29 - 0 - EXC - - - 6 - 29 - 0 - EXC - - - 7 - 29 - 1 - EXC - - - 8 - 29 - 0 - INH - - - 9 - 29 - 0 - EXC - - - 10 - 29 - 0 - EXC - - - 11 - 29 - 0 - EXC - - - 12 - 29 - 0 - INH - - - 13 - 29 - 0 - EXC - - - 14 - 29 - 0 - INH - - - 15 - 29 - 0 - EXC - - - 16 - 29 - 0 - EXC - - - 17 - 29 - 1 - EXC - - - 18 - 29 - 0 - INH - - - 19 - 29 - 0 - EXC - - - 20 - 29 - 0 - EXC - - - 21 - 29 - 0 - EXC - - - 22 - 29 - 0 - INH - - - 23 - 29 - 0 - EXC - - - 24 - 29 - 0 - INH - - - 25 - 29 - 0 - EXC - - - 26 - 29 - 0 - EXC - - - 27 - 29 - 1 - EXC - - - 28 - 29 - 0 - INH - - - 29 - 29 - 0 - EXC - - - 30 - 29 - 0 - EXC - - - 31 - 29 - 0 - EXC - - - 32 - 29 - 0 - INH - - - 33 - 29 - 0 - EXC - - - 34 - 29 - 0 - INH - - - 35 - 29 - 0 - EXC - - - 36 - 29 - 0 - EXC - - - 37 - 29 - 1 - EXC - - - 38 - 29 - 0 - INH - - - 39 - 29 - 0 - EXC - - - 40 - 29 - 0 - EXC - - - 41 - 29 - 0 - EXC - - - 42 - 29 - 0 - INH - - - 43 - 29 - 0 - EXC - - - 44 - 29 - 0 - INH - - - 45 - 29 - 0 - EXC - - - 46 - 29 - 0 - EXC - - - 47 - 29 - 1 - EXC - - - 48 - 29 - 0 - INH - - - 49 - 29 - 0 - EXC - - - 50 - 29 - 0 - EXC - - - 51 - 29 - 0 - EXC - - - 52 - 29 - 0 - INH - - - 53 - 29 - 0 - EXC - - - 54 - 29 - 0 - INH - - - 55 - 29 - 0 - EXC - - - 56 - 29 - 0 - EXC - - - 57 - 29 - 1 - EXC - - - 58 - 29 - 0 - INH - - - 59 - 29 - 0 - EXC - - - 60 - 29 - 0 - EXC - - - 61 - 29 - 0 - EXC - - - 62 - 29 - 0 - INH - - - 63 - 29 - 0 - EXC - - - 64 - 29 - 0 - INH - - - 65 - 29 - 0 - EXC - - - 66 - 29 - 0 - EXC - - - 67 - 29 - 1 - EXC - - - 68 - 29 - 0 - INH - - - 69 - 29 - 0 - EXC - - - 70 - 29 - 0 - EXC - - - 71 - 29 - 0 - EXC - - - 72 - 29 - 0 - INH - - - 73 - 29 - 0 - EXC - - - 74 - 29 - 0 - INH - - - 75 - 29 - 0 - EXC - - - 76 - 29 - 0 - EXC - - - 77 - 29 - 1 - EXC - - - 78 - 29 - 0 - INH - - - 79 - 29 - 0 - EXC - - - 80 - 29 - 0 - EXC - - - 81 - 29 - 0 - EXC - - - 82 - 29 - 0 - INH - - - 83 - 29 - 0 - EXC - - - 84 - 29 - 0 - INH - - - 85 - 29 - 0 - EXC - - - 86 - 29 - 0 - EXC - - - 87 - 29 - 1 - EXC - - - 88 - 29 - 0 - INH - - - 89 - 29 - 0 - EXC - - - 90 - 29 - 0 - EXC - - - 91 - 29 - 0 - EXC - - - 92 - 29 - 0 - INH - - - 93 - 29 - 0 - EXC - - - 94 - 29 - 0 - INH - - - 95 - 29 - 0 - EXC - - - 96 - 29 - 0 - EXC - - - 97 - 29 - 1 - EXC - - - 98 - 29 - 0 - INH - - - 99 - 29 - 0 - EXC - - - 0 - 30 - 0 - EXC - - - 1 - 30 - 0 - INH - - - 2 - 30 - 1 - EXC - - - 3 - 30 - 0 - EXC - - - 4 - 30 - 0 - EXC - - - 5 - 30 - 0 - INH - - - 6 - 30 - 0 - EXC - - - 7 - 30 - 0 - INH - - - 8 - 30 - 0 - EXC - - - 9 - 30 - 0 - EXC - - - 10 - 30 - 0 - EXC - - - 11 - 30 - 0 - INH - - - 12 - 30 - 1 - EXC - - - 13 - 30 - 0 - EXC - - - 14 - 30 - 0 - EXC - - - 15 - 30 - 0 - INH - - - 16 - 30 - 0 - EXC - - - 17 - 30 - 0 - INH - - - 18 - 30 - 0 - EXC - - - 19 - 30 - 0 - EXC - - - 20 - 30 - 0 - EXC - - - 21 - 30 - 0 - INH - - - 22 - 30 - 1 - EXC - - - 23 - 30 - 0 - EXC - - - 24 - 30 - 0 - EXC - - - 25 - 30 - 0 - INH - - - 26 - 30 - 0 - EXC - - - 27 - 30 - 0 - INH - - - 28 - 30 - 0 - EXC - - - 29 - 30 - 0 - EXC - - - 30 - 30 - 0 - EXC - - - 31 - 30 - 0 - INH - - - 32 - 30 - 1 - EXC - - - 33 - 30 - 0 - EXC - - - 34 - 30 - 0 - EXC - - - 35 - 30 - 0 - INH - - - 36 - 30 - 0 - EXC - - - 37 - 30 - 0 - INH - - - 38 - 30 - 0 - EXC - - - 39 - 30 - 0 - EXC - - - 40 - 30 - 0 - EXC - - - 41 - 30 - 0 - INH - - - 42 - 30 - 1 - EXC - - - 43 - 30 - 0 - EXC - - - 44 - 30 - 0 - EXC - - - 45 - 30 - 0 - INH - - - 46 - 30 - 0 - EXC - - - 47 - 30 - 0 - INH - - - 48 - 30 - 0 - EXC - - - 49 - 30 - 0 - EXC - - - 50 - 30 - 0 - EXC - - - 51 - 30 - 0 - INH - - - 52 - 30 - 1 - EXC - - - 53 - 30 - 0 - EXC - - - 54 - 30 - 0 - EXC - - - 55 - 30 - 0 - INH - - - 56 - 30 - 0 - EXC - - - 57 - 30 - 0 - INH - - - 58 - 30 - 0 - EXC - - - 59 - 30 - 0 - EXC - - - 60 - 30 - 0 - EXC - - - 61 - 30 - 0 - INH - - - 62 - 30 - 1 - EXC - - - 63 - 30 - 0 - EXC - - - 64 - 30 - 0 - EXC - - - 65 - 30 - 0 - INH - - - 66 - 30 - 0 - EXC - - - 67 - 30 - 0 - INH - - - 68 - 30 - 0 - EXC - - - 69 - 30 - 0 - EXC - - - 70 - 30 - 0 - EXC - - - 71 - 30 - 0 - INH - - - 72 - 30 - 1 - EXC - - - 73 - 30 - 0 - EXC - - - 74 - 30 - 0 - EXC - - - 75 - 30 - 0 - INH - - - 76 - 30 - 0 - EXC - - - 77 - 30 - 0 - INH - - - 78 - 30 - 0 - EXC - - - 79 - 30 - 0 - EXC - - - 80 - 30 - 0 - EXC - - - 81 - 30 - 0 - INH - - - 82 - 30 - 1 - EXC - - - 83 - 30 - 0 - EXC - - - 84 - 30 - 0 - EXC - - - 85 - 30 - 0 - INH - - - 86 - 30 - 0 - EXC - - - 87 - 30 - 0 - INH - - - 88 - 30 - 0 - EXC - - - 89 - 30 - 0 - EXC - - - 90 - 30 - 0 - EXC - - - 91 - 30 - 0 - INH - - - 92 - 30 - 1 - EXC - - - 93 - 30 - 0 - EXC - - - 94 - 30 - 0 - EXC - - - 95 - 30 - 0 - INH - - - 96 - 30 - 0 - EXC - - - 97 - 30 - 0 - INH - - - 98 - 30 - 0 - EXC - - - 99 - 30 - 0 - EXC - - - 0 - 31 - 0 - EXC - - - 1 - 31 - 0 - EXC - - - 2 - 31 - 0 - EXC - - - 3 - 31 - 0 - INH - - - 4 - 31 - 0 - EXC - - - 5 - 31 - 0 - EXC - - - 6 - 31 - 0 - EXC - - - 7 - 31 - 0 - EXC - - - 8 - 31 - 0 - EXC - - - 9 - 31 - 0 - INH - - - 10 - 31 - 0 - EXC - - - 11 - 31 - 0 - EXC - - - 12 - 31 - 0 - EXC - - - 13 - 31 - 0 - INH - - - 14 - 31 - 0 - EXC - - - 15 - 31 - 0 - EXC - - - 16 - 31 - 0 - EXC - - - 17 - 31 - 0 - EXC - - - 18 - 31 - 0 - EXC - - - 19 - 31 - 0 - INH - - - 20 - 31 - 0 - EXC - - - 21 - 31 - 0 - EXC - - - 22 - 31 - 0 - EXC - - - 23 - 31 - 0 - INH - - - 24 - 31 - 0 - EXC - - - 25 - 31 - 0 - EXC - - - 26 - 31 - 0 - EXC - - - 27 - 31 - 0 - EXC - - - 28 - 31 - 0 - EXC - - - 29 - 31 - 0 - INH - - - 30 - 31 - 0 - EXC - - - 31 - 31 - 0 - EXC - - - 32 - 31 - 0 - EXC - - - 33 - 31 - 0 - INH - - - 34 - 31 - 0 - EXC - - - 35 - 31 - 0 - EXC - - - 36 - 31 - 0 - EXC - - - 37 - 31 - 0 - EXC - - - 38 - 31 - 0 - EXC - - - 39 - 31 - 0 - INH - - - 40 - 31 - 0 - EXC - - - 41 - 31 - 0 - EXC - - - 42 - 31 - 0 - EXC - - - 43 - 31 - 0 - INH - - - 44 - 31 - 0 - EXC - - - 45 - 31 - 0 - EXC - - - 46 - 31 - 0 - EXC - - - 47 - 31 - 0 - EXC - - - 48 - 31 - 0 - EXC - - - 49 - 31 - 0 - INH - - - 50 - 31 - 0 - EXC - - - 51 - 31 - 0 - EXC - - - 52 - 31 - 0 - EXC - - - 53 - 31 - 0 - INH - - - 54 - 31 - 0 - EXC - - - 55 - 31 - 0 - EXC - - - 56 - 31 - 0 - EXC - - - 57 - 31 - 0 - EXC - - - 58 - 31 - 0 - EXC - - - 59 - 31 - 0 - INH - - - 60 - 31 - 0 - EXC - - - 61 - 31 - 0 - EXC - - - 62 - 31 - 0 - EXC - - - 63 - 31 - 0 - INH - - - 64 - 31 - 0 - EXC - - - 65 - 31 - 0 - EXC - - - 66 - 31 - 0 - EXC - - - 67 - 31 - 0 - EXC - - - 68 - 31 - 0 - EXC - - - 69 - 31 - 0 - INH - - - 70 - 31 - 0 - EXC - - - 71 - 31 - 0 - EXC - - - 72 - 31 - 0 - EXC - - - 73 - 31 - 0 - INH - - - 74 - 31 - 0 - EXC - - - 75 - 31 - 0 - EXC - - - 76 - 31 - 0 - EXC - - - 77 - 31 - 0 - EXC - - - 78 - 31 - 0 - EXC - - - 79 - 31 - 0 - INH - - - 80 - 31 - 0 - EXC - - - 81 - 31 - 0 - EXC - - - 82 - 31 - 0 - EXC - - - 83 - 31 - 0 - INH - - - 84 - 31 - 0 - EXC - - - 85 - 31 - 0 - EXC - - - 86 - 31 - 0 - EXC - - - 87 - 31 - 0 - EXC - - - 88 - 31 - 0 - EXC - - - 89 - 31 - 0 - INH - - - 90 - 31 - 0 - EXC - - - 91 - 31 - 0 - EXC - - - 92 - 31 - 0 - EXC - - - 93 - 31 - 0 - INH - - - 94 - 31 - 0 - EXC - - - 95 - 31 - 0 - EXC - - - 96 - 31 - 0 - EXC - - - 97 - 31 - 0 - EXC - - - 98 - 31 - 0 - EXC - - - 99 - 31 - 0 - INH - - - 0 - 32 - 0 - EXC - - - 1 - 32 - 0 - EXC - - - 2 - 32 - 0 - EXC - - - 3 - 32 - 0 - EXC - - - 4 - 32 - 0 - EXC - - - 5 - 32 - 1 - EXC - - - 6 - 32 - 0 - EXC - - - 7 - 32 - 0 - EXC - - - 8 - 32 - 1 - EXC - - - 9 - 32 - 0 - EXC - - - 10 - 32 - 0 - EXC - - - 11 - 32 - 0 - EXC - - - 12 - 32 - 0 - EXC - - - 13 - 32 - 0 - EXC - - - 14 - 32 - 0 - EXC - - - 15 - 32 - 1 - EXC - - - 16 - 32 - 0 - EXC - - - 17 - 32 - 0 - EXC - - - 18 - 32 - 1 - EXC - - - 19 - 32 - 0 - EXC - - - 20 - 32 - 0 - EXC - - - 21 - 32 - 0 - EXC - - - 22 - 32 - 0 - EXC - - - 23 - 32 - 0 - EXC - - - 24 - 32 - 0 - EXC - - - 25 - 32 - 1 - EXC - - - 26 - 32 - 0 - EXC - - - 27 - 32 - 0 - EXC - - - 28 - 32 - 1 - EXC - - - 29 - 32 - 0 - EXC - - - 30 - 32 - 0 - EXC - - - 31 - 32 - 0 - EXC - - - 32 - 32 - 0 - EXC - - - 33 - 32 - 0 - EXC - - - 34 - 32 - 0 - EXC - - - 35 - 32 - 1 - EXC - - - 36 - 32 - 0 - EXC - - - 37 - 32 - 0 - EXC - - - 38 - 32 - 1 - EXC - - - 39 - 32 - 0 - EXC - - - 40 - 32 - 0 - EXC - - - 41 - 32 - 0 - EXC - - - 42 - 32 - 0 - EXC - - - 43 - 32 - 0 - EXC - - - 44 - 32 - 0 - EXC - - - 45 - 32 - 1 - EXC - - - 46 - 32 - 0 - EXC - - - 47 - 32 - 0 - EXC - - - 48 - 32 - 1 - EXC - - - 49 - 32 - 0 - EXC - - - 50 - 32 - 0 - EXC - - - 51 - 32 - 0 - EXC - - - 52 - 32 - 0 - EXC - - - 53 - 32 - 0 - EXC - - - 54 - 32 - 0 - EXC - - - 55 - 32 - 1 - EXC - - - 56 - 32 - 0 - EXC - - - 57 - 32 - 0 - EXC - - - 58 - 32 - 1 - EXC - - - 59 - 32 - 0 - EXC - - - 60 - 32 - 0 - EXC - - - 61 - 32 - 0 - EXC - - - 62 - 32 - 0 - EXC - - - 63 - 32 - 0 - EXC - - - 64 - 32 - 0 - EXC - - - 65 - 32 - 1 - EXC - - - 66 - 32 - 0 - EXC - - - 67 - 32 - 0 - EXC - - - 68 - 32 - 1 - EXC - - - 69 - 32 - 0 - EXC - - - 70 - 32 - 0 - EXC - - - 71 - 32 - 0 - EXC - - - 72 - 32 - 0 - EXC - - - 73 - 32 - 0 - EXC - - - 74 - 32 - 0 - EXC - - - 75 - 32 - 1 - EXC - - - 76 - 32 - 0 - EXC - - - 77 - 32 - 0 - EXC - - - 78 - 32 - 1 - EXC - - - 79 - 32 - 0 - EXC - - - 80 - 32 - 0 - EXC - - - 81 - 32 - 0 - EXC - - - 82 - 32 - 0 - EXC - - - 83 - 32 - 0 - EXC - - - 84 - 32 - 0 - EXC - - - 85 - 32 - 1 - EXC - - - 86 - 32 - 0 - EXC - - - 87 - 32 - 0 - EXC - - - 88 - 32 - 1 - EXC - - - 89 - 32 - 0 - EXC - - - 90 - 32 - 0 - EXC - - - 91 - 32 - 0 - EXC - - - 92 - 32 - 0 - EXC - - - 93 - 32 - 0 - EXC - - - 94 - 32 - 0 - EXC - - - 95 - 32 - 1 - EXC - - - 96 - 32 - 0 - EXC - - - 97 - 32 - 0 - EXC - - - 98 - 32 - 1 - EXC - - - 99 - 32 - 0 - EXC - - - 0 - 33 - 0 - EXC - - - 1 - 33 - 0 - INH - - - 2 - 33 - 1 - EXC - - - 3 - 33 - 0 - EXC - - - 4 - 33 - 0 - EXC - - - 5 - 33 - 0 - INH - - - 6 - 33 - 0 - EXC - - - 7 - 33 - 0 - INH - - - 8 - 33 - 0 - EXC - - - 9 - 33 - 0 - EXC - - - 10 - 33 - 0 - EXC - - - 11 - 33 - 0 - INH - - - 12 - 33 - 1 - EXC - - - 13 - 33 - 0 - EXC - - - 14 - 33 - 0 - EXC - - - 15 - 33 - 0 - INH - - - 16 - 33 - 0 - EXC - - - 17 - 33 - 0 - INH - - - 18 - 33 - 0 - EXC - - - 19 - 33 - 0 - EXC - - - 20 - 33 - 0 - EXC - - - 21 - 33 - 0 - INH - - - 22 - 33 - 1 - EXC - - - 23 - 33 - 0 - EXC - - - 24 - 33 - 0 - EXC - - - 25 - 33 - 0 - INH - - - 26 - 33 - 0 - EXC - - - 27 - 33 - 0 - INH - - - 28 - 33 - 0 - EXC - - - 29 - 33 - 0 - EXC - - - 30 - 33 - 0 - EXC - - - 31 - 33 - 0 - INH - - - 32 - 33 - 1 - EXC - - - 33 - 33 - 0 - EXC - - - 34 - 33 - 0 - EXC - - - 35 - 33 - 0 - INH - - - 36 - 33 - 0 - EXC - - - 37 - 33 - 0 - INH - - - 38 - 33 - 0 - EXC - - - 39 - 33 - 0 - EXC - - - 40 - 33 - 0 - EXC - - - 41 - 33 - 0 - INH - - - 42 - 33 - 1 - EXC - - - 43 - 33 - 0 - EXC - - - 44 - 33 - 0 - EXC - - - 45 - 33 - 0 - INH - - - 46 - 33 - 0 - EXC - - - 47 - 33 - 0 - INH - - - 48 - 33 - 0 - EXC - - - 49 - 33 - 0 - EXC - - - 50 - 33 - 0 - EXC - - - 51 - 33 - 0 - INH - - - 52 - 33 - 1 - EXC - - - 53 - 33 - 0 - EXC - - - 54 - 33 - 0 - EXC - - - 55 - 33 - 0 - INH - - - 56 - 33 - 0 - EXC - - - 57 - 33 - 0 - INH - - - 58 - 33 - 0 - EXC - - - 59 - 33 - 0 - EXC - - - 60 - 33 - 0 - EXC - - - 61 - 33 - 0 - INH - - - 62 - 33 - 1 - EXC - - - 63 - 33 - 0 - EXC - - - 64 - 33 - 0 - EXC - - - 65 - 33 - 0 - INH - - - 66 - 33 - 0 - EXC - - - 67 - 33 - 0 - INH - - - 68 - 33 - 0 - EXC - - - 69 - 33 - 0 - EXC - - - 70 - 33 - 0 - EXC - - - 71 - 33 - 0 - INH - - - 72 - 33 - 1 - EXC - - - 73 - 33 - 0 - EXC - - - 74 - 33 - 0 - EXC - - - 75 - 33 - 0 - INH - - - 76 - 33 - 0 - EXC - - - 77 - 33 - 0 - INH - - - 78 - 33 - 0 - EXC - - - 79 - 33 - 0 - EXC - - - 80 - 33 - 0 - EXC - - - 81 - 33 - 0 - INH - - - 82 - 33 - 1 - EXC - - - 83 - 33 - 0 - EXC - - - 84 - 33 - 0 - EXC - - - 85 - 33 - 0 - INH - - - 86 - 33 - 0 - EXC - - - 87 - 33 - 0 - INH - - - 88 - 33 - 0 - EXC - - - 89 - 33 - 0 - EXC - - - 90 - 33 - 0 - EXC - - - 91 - 33 - 0 - INH - - - 92 - 33 - 1 - EXC - - - 93 - 33 - 0 - EXC - - - 94 - 33 - 0 - EXC - - - 95 - 33 - 0 - INH - - - 96 - 33 - 0 - EXC - - - 97 - 33 - 0 - INH - - - 98 - 33 - 0 - EXC - - - 99 - 33 - 0 - EXC - - - 0 - 34 - 0 - EXC - - - 1 - 34 - 0 - EXC - - - 2 - 34 - 0 - EXC - - - 3 - 34 - 0 - INH - - - 4 - 34 - 0 - EXC - - - 5 - 34 - 0 - EXC - - - 6 - 34 - 0 - EXC - - - 7 - 34 - 0 - EXC - - - 8 - 34 - 0 - EXC - - - 9 - 34 - 0 - INH - - - 10 - 34 - 0 - EXC - - - 11 - 34 - 0 - EXC - - - 12 - 34 - 0 - EXC - - - 13 - 34 - 0 - INH - - - 14 - 34 - 0 - EXC - - - 15 - 34 - 0 - EXC - - - 16 - 34 - 0 - EXC - - - 17 - 34 - 0 - EXC - - - 18 - 34 - 0 - EXC - - - 19 - 34 - 0 - INH - - - 20 - 34 - 0 - EXC - - - 21 - 34 - 0 - EXC - - - 22 - 34 - 0 - EXC - - - 23 - 34 - 0 - INH - - - 24 - 34 - 0 - EXC - - - 25 - 34 - 0 - EXC - - - 26 - 34 - 0 - EXC - - - 27 - 34 - 0 - EXC - - - 28 - 34 - 0 - EXC - - - 29 - 34 - 0 - INH - - - 30 - 34 - 0 - EXC - - - 31 - 34 - 0 - EXC - - - 32 - 34 - 0 - EXC - - - 33 - 34 - 0 - INH - - - 34 - 34 - 0 - EXC - - - 35 - 34 - 0 - EXC - - - 36 - 34 - 0 - EXC - - - 37 - 34 - 0 - EXC - - - 38 - 34 - 0 - EXC - - - 39 - 34 - 0 - INH - - - 40 - 34 - 0 - EXC - - - 41 - 34 - 0 - EXC - - - 42 - 34 - 0 - EXC - - - 43 - 34 - 0 - INH - - - 44 - 34 - 0 - EXC - - - 45 - 34 - 0 - EXC - - - 46 - 34 - 0 - EXC - - - 47 - 34 - 0 - EXC - - - 48 - 34 - 0 - EXC - - - 49 - 34 - 0 - INH - - - 50 - 34 - 0 - EXC - - - 51 - 34 - 0 - EXC - - - 52 - 34 - 0 - EXC - - - 53 - 34 - 0 - INH - - - 54 - 34 - 0 - EXC - - - 55 - 34 - 0 - EXC - - - 56 - 34 - 0 - EXC - - - 57 - 34 - 0 - EXC - - - 58 - 34 - 0 - EXC - - - 59 - 34 - 0 - INH - - - 60 - 34 - 0 - EXC - - - 61 - 34 - 0 - EXC - - - 62 - 34 - 0 - EXC - - - 63 - 34 - 0 - INH - - - 64 - 34 - 0 - EXC - - - 65 - 34 - 0 - EXC - - - 66 - 34 - 0 - EXC - - - 67 - 34 - 0 - EXC - - - 68 - 34 - 0 - EXC - - - 69 - 34 - 0 - INH - - - 70 - 34 - 0 - EXC - - - 71 - 34 - 0 - EXC - - - 72 - 34 - 0 - EXC - - - 73 - 34 - 0 - INH - - - 74 - 34 - 0 - EXC - - - 75 - 34 - 0 - EXC - - - 76 - 34 - 0 - EXC - - - 77 - 34 - 0 - EXC - - - 78 - 34 - 0 - EXC - - - 79 - 34 - 0 - INH - - - 80 - 34 - 0 - EXC - - - 81 - 34 - 0 - EXC - - - 82 - 34 - 0 - EXC - - - 83 - 34 - 0 - INH - - - 84 - 34 - 0 - EXC - - - 85 - 34 - 0 - EXC - - - 86 - 34 - 0 - EXC - - - 87 - 34 - 0 - EXC - - - 88 - 34 - 0 - EXC - - - 89 - 34 - 0 - INH - - - 90 - 34 - 0 - EXC - - - 91 - 34 - 0 - EXC - - - 92 - 34 - 0 - EXC - - - 93 - 34 - 0 - INH - - - 94 - 34 - 0 - EXC - - - 95 - 34 - 0 - EXC - - - 96 - 34 - 0 - EXC - - - 97 - 34 - 0 - EXC - - - 98 - 34 - 0 - EXC - - - 99 - 34 - 0 - INH - - - 0 - 35 - 0 - EXC - - - 1 - 35 - 0 - EXC - - - 2 - 35 - 0 - EXC - - - 3 - 35 - 0 - EXC - - - 4 - 35 - 0 - EXC - - - 5 - 35 - 1 - EXC - - - 6 - 35 - 0 - EXC - - - 7 - 35 - 0 - EXC - - - 8 - 35 - 1 - EXC - - - 9 - 35 - 0 - EXC - - - 10 - 35 - 0 - EXC - - - 11 - 35 - 0 - EXC - - - 12 - 35 - 0 - EXC - - - 13 - 35 - 0 - EXC - - - 14 - 35 - 0 - EXC - - - 15 - 35 - 1 - EXC - - - 16 - 35 - 0 - EXC - - - 17 - 35 - 0 - EXC - - - 18 - 35 - 1 - EXC - - - 19 - 35 - 0 - EXC - - - 20 - 35 - 0 - EXC - - - 21 - 35 - 0 - EXC - - - 22 - 35 - 0 - EXC - - - 23 - 35 - 0 - EXC - - - 24 - 35 - 0 - EXC - - - 25 - 35 - 1 - EXC - - - 26 - 35 - 0 - EXC - - - 27 - 35 - 0 - EXC - - - 28 - 35 - 1 - EXC - - - 29 - 35 - 0 - EXC - - - 30 - 35 - 0 - EXC - - - 31 - 35 - 0 - EXC - - - 32 - 35 - 0 - EXC - - - 33 - 35 - 0 - EXC - - - 34 - 35 - 0 - EXC - - - 35 - 35 - 1 - EXC - - - 36 - 35 - 0 - EXC - - - 37 - 35 - 0 - EXC - - - 38 - 35 - 1 - EXC - - - 39 - 35 - 0 - EXC - - - 40 - 35 - 0 - EXC - - - 41 - 35 - 0 - EXC - - - 42 - 35 - 0 - EXC - - - 43 - 35 - 0 - EXC - - - 44 - 35 - 0 - EXC - - - 45 - 35 - 1 - EXC - - - 46 - 35 - 0 - EXC - - - 47 - 35 - 0 - EXC - - - 48 - 35 - 1 - EXC - - - 49 - 35 - 0 - EXC - - - 50 - 35 - 0 - EXC - - - 51 - 35 - 0 - EXC - - - 52 - 35 - 0 - EXC - - - 53 - 35 - 0 - EXC - - - 54 - 35 - 0 - EXC - - - 55 - 35 - 1 - EXC - - - 56 - 35 - 0 - EXC - - - 57 - 35 - 0 - EXC - - - 58 - 35 - 1 - EXC - - - 59 - 35 - 0 - EXC - - - 60 - 35 - 0 - EXC - - - 61 - 35 - 0 - EXC - - - 62 - 35 - 0 - EXC - - - 63 - 35 - 0 - EXC - - - 64 - 35 - 0 - EXC - - - 65 - 35 - 1 - EXC - - - 66 - 35 - 0 - EXC - - - 67 - 35 - 0 - EXC - - - 68 - 35 - 1 - EXC - - - 69 - 35 - 0 - EXC - - - 70 - 35 - 0 - EXC - - - 71 - 35 - 0 - EXC - - - 72 - 35 - 0 - EXC - - - 73 - 35 - 0 - EXC - - - 74 - 35 - 0 - EXC - - - 75 - 35 - 1 - EXC - - - 76 - 35 - 0 - EXC - - - 77 - 35 - 0 - EXC - - - 78 - 35 - 1 - EXC - - - 79 - 35 - 0 - EXC - - - 80 - 35 - 0 - EXC - - - 81 - 35 - 0 - EXC - - - 82 - 35 - 0 - EXC - - - 83 - 35 - 0 - EXC - - - 84 - 35 - 0 - EXC - - - 85 - 35 - 1 - EXC - - - 86 - 35 - 0 - EXC - - - 87 - 35 - 0 - EXC - - - 88 - 35 - 1 - EXC - - - 89 - 35 - 0 - EXC - - - 90 - 35 - 0 - EXC - - - 91 - 35 - 0 - EXC - - - 92 - 35 - 0 - EXC - - - 93 - 35 - 0 - EXC - - - 94 - 35 - 0 - EXC - - - 95 - 35 - 1 - EXC - - - 96 - 35 - 0 - EXC - - - 97 - 35 - 0 - EXC - - - 98 - 35 - 1 - EXC - - - 99 - 35 - 0 - EXC - - - 0 - 36 - 0 - EXC - - - 1 - 36 - 0 - INH - - - 2 - 36 - 1 - EXC - - - 3 - 36 - 0 - EXC - - - 4 - 36 - 0 - EXC - - - 5 - 36 - 0 - INH - - - 6 - 36 - 0 - EXC - - - 7 - 36 - 0 - INH - - - 8 - 36 - 0 - EXC - - - 9 - 36 - 0 - EXC - - - 10 - 36 - 0 - EXC - - - 11 - 36 - 0 - INH - - - 12 - 36 - 1 - EXC - - - 13 - 36 - 0 - EXC - - - 14 - 36 - 0 - EXC - - - 15 - 36 - 0 - INH - - - 16 - 36 - 0 - EXC - - - 17 - 36 - 0 - INH - - - 18 - 36 - 0 - EXC - - - 19 - 36 - 0 - EXC - - - 20 - 36 - 0 - EXC - - - 21 - 36 - 0 - INH - - - 22 - 36 - 1 - EXC - - - 23 - 36 - 0 - EXC - - - 24 - 36 - 0 - EXC - - - 25 - 36 - 0 - INH - - - 26 - 36 - 0 - EXC - - - 27 - 36 - 0 - INH - - - 28 - 36 - 0 - EXC - - - 29 - 36 - 0 - EXC - - - 30 - 36 - 0 - EXC - - - 31 - 36 - 0 - INH - - - 32 - 36 - 1 - EXC - - - 33 - 36 - 0 - EXC - - - 34 - 36 - 0 - EXC - - - 35 - 36 - 0 - INH - - - 36 - 36 - 0 - EXC - - - 37 - 36 - 0 - INH - - - 38 - 36 - 0 - EXC - - - 39 - 36 - 0 - EXC - - - 40 - 36 - 0 - EXC - - - 41 - 36 - 0 - INH - - - 42 - 36 - 1 - EXC - - - 43 - 36 - 0 - EXC - - - 44 - 36 - 0 - EXC - - - 45 - 36 - 0 - INH - - - 46 - 36 - 0 - EXC - - - 47 - 36 - 0 - INH - - - 48 - 36 - 0 - EXC - - - 49 - 36 - 0 - EXC - - - 50 - 36 - 0 - EXC - - - 51 - 36 - 0 - INH - - - 52 - 36 - 1 - EXC - - - 53 - 36 - 0 - EXC - - - 54 - 36 - 0 - EXC - - - 55 - 36 - 0 - INH - - - 56 - 36 - 0 - EXC - - - 57 - 36 - 0 - INH - - - 58 - 36 - 0 - EXC - - - 59 - 36 - 0 - EXC - - - 60 - 36 - 0 - EXC - - - 61 - 36 - 0 - INH - - - 62 - 36 - 1 - EXC - - - 63 - 36 - 0 - EXC - - - 64 - 36 - 0 - EXC - - - 65 - 36 - 0 - INH - - - 66 - 36 - 0 - EXC - - - 67 - 36 - 0 - INH - - - 68 - 36 - 0 - EXC - - - 69 - 36 - 0 - EXC - - - 70 - 36 - 0 - EXC - - - 71 - 36 - 0 - INH - - - 72 - 36 - 1 - EXC - - - 73 - 36 - 0 - EXC - - - 74 - 36 - 0 - EXC - - - 75 - 36 - 0 - INH - - - 76 - 36 - 0 - EXC - - - 77 - 36 - 0 - INH - - - 78 - 36 - 0 - EXC - - - 79 - 36 - 0 - EXC - - - 80 - 36 - 0 - EXC - - - 81 - 36 - 0 - INH - - - 82 - 36 - 1 - EXC - - - 83 - 36 - 0 - EXC - - - 84 - 36 - 0 - EXC - - - 85 - 36 - 0 - INH - - - 86 - 36 - 0 - EXC - - - 87 - 36 - 0 - INH - - - 88 - 36 - 0 - EXC - - - 89 - 36 - 0 - EXC - - - 90 - 36 - 0 - EXC - - - 91 - 36 - 0 - INH - - - 92 - 36 - 1 - EXC - - - 93 - 36 - 0 - EXC - - - 94 - 36 - 0 - EXC - - - 95 - 36 - 0 - INH - - - 96 - 36 - 0 - EXC - - - 97 - 36 - 0 - INH - - - 98 - 36 - 0 - EXC - - - 99 - 36 - 0 - EXC - - - 0 - 37 - 0 - EXC - - - 1 - 37 - 0 - EXC - - - 2 - 37 - 0 - EXC - - - 3 - 37 - 0 - INH - - - 4 - 37 - 0 - EXC - - - 5 - 37 - 0 - EXC - - - 6 - 37 - 0 - EXC - - - 7 - 37 - 0 - EXC - - - 8 - 37 - 0 - EXC - - - 9 - 37 - 0 - INH - - - 10 - 37 - 0 - EXC - - - 11 - 37 - 0 - EXC - - - 12 - 37 - 0 - EXC - - - 13 - 37 - 0 - INH - - - 14 - 37 - 0 - EXC - - - 15 - 37 - 0 - EXC - - - 16 - 37 - 0 - EXC - - - 17 - 37 - 0 - EXC - - - 18 - 37 - 0 - EXC - - - 19 - 37 - 0 - INH - - - 20 - 37 - 0 - EXC - - - 21 - 37 - 0 - EXC - - - 22 - 37 - 0 - EXC - - - 23 - 37 - 0 - INH - - - 24 - 37 - 0 - EXC - - - 25 - 37 - 0 - EXC - - - 26 - 37 - 0 - EXC - - - 27 - 37 - 0 - EXC - - - 28 - 37 - 0 - EXC - - - 29 - 37 - 0 - INH - - - 30 - 37 - 0 - EXC - - - 31 - 37 - 0 - EXC - - - 32 - 37 - 0 - EXC - - - 33 - 37 - 0 - INH - - - 34 - 37 - 0 - EXC - - - 35 - 37 - 0 - EXC - - - 36 - 37 - 0 - EXC - - - 37 - 37 - 0 - EXC - - - 38 - 37 - 0 - EXC - - - 39 - 37 - 0 - INH - - - 40 - 37 - 0 - EXC - - - 41 - 37 - 0 - EXC - - - 42 - 37 - 0 - EXC - - - 43 - 37 - 0 - INH - - - 44 - 37 - 0 - EXC - - - 45 - 37 - 0 - EXC - - - 46 - 37 - 0 - EXC - - - 47 - 37 - 0 - EXC - - - 48 - 37 - 0 - EXC - - - 49 - 37 - 0 - INH - - - 50 - 37 - 0 - EXC - - - 51 - 37 - 0 - EXC - - - 52 - 37 - 0 - EXC - - - 53 - 37 - 0 - INH - - - 54 - 37 - 0 - EXC - - - 55 - 37 - 0 - EXC - - - 56 - 37 - 0 - EXC - - - 57 - 37 - 0 - EXC - - - 58 - 37 - 0 - EXC - - - 59 - 37 - 0 - INH - - - 60 - 37 - 0 - EXC - - - 61 - 37 - 0 - EXC - - - 62 - 37 - 0 - EXC - - - 63 - 37 - 0 - INH - - - 64 - 37 - 0 - EXC - - - 65 - 37 - 0 - EXC - - - 66 - 37 - 0 - EXC - - - 67 - 37 - 0 - EXC - - - 68 - 37 - 0 - EXC - - - 69 - 37 - 0 - INH - - - 70 - 37 - 0 - EXC - - - 71 - 37 - 0 - EXC - - - 72 - 37 - 0 - EXC - - - 73 - 37 - 0 - INH - - - 74 - 37 - 0 - EXC - - - 75 - 37 - 0 - EXC - - - 76 - 37 - 0 - EXC - - - 77 - 37 - 0 - EXC - - - 78 - 37 - 0 - EXC - - - 79 - 37 - 0 - INH - - - 80 - 37 - 0 - EXC - - - 81 - 37 - 0 - EXC - - - 82 - 37 - 0 - EXC - - - 83 - 37 - 0 - INH - - - 84 - 37 - 0 - EXC - - - 85 - 37 - 0 - EXC - - - 86 - 37 - 0 - EXC - - - 87 - 37 - 0 - EXC - - - 88 - 37 - 0 - EXC - - - 89 - 37 - 0 - INH - - - 90 - 37 - 0 - EXC - - - 91 - 37 - 0 - EXC - - - 92 - 37 - 0 - EXC - - - 93 - 37 - 0 - EXC - - - 94 - 37 - 0 - EXC - - - 95 - 37 - 0 - EXC - - - 96 - 37 - 0 - EXC - - - 97 - 37 - 0 - EXC - - - 98 - 37 - 0 - EXC - - - 99 - 37 - 0 - INH - - - 0 - 38 - 0 - EXC - - - 1 - 38 - 0 - EXC - - - 2 - 38 - 0 - EXC - - - 3 - 38 - 0 - EXC - - - 4 - 38 - 0 - EXC - - - 5 - 38 - 1 - EXC - - - 6 - 38 - 0 - EXC - - - 7 - 38 - 0 - EXC - - - 8 - 38 - 1 - EXC - - - 9 - 38 - 0 - EXC - - - 10 - 38 - 0 - EXC - - - 11 - 38 - 0 - EXC - - - 12 - 38 - 0 - EXC - - - 13 - 38 - 0 - EXC - - - 14 - 38 - 0 - EXC - - - 15 - 38 - 1 - EXC - - - 16 - 38 - 0 - EXC - - - 17 - 38 - 0 - EXC - - - 18 - 38 - 1 - EXC - - - 19 - 38 - 0 - EXC - - - 20 - 38 - 0 - EXC - - - 21 - 38 - 0 - EXC - - - 22 - 38 - 0 - EXC - - - 23 - 38 - 0 - EXC - - - 24 - 38 - 0 - EXC - - - 25 - 38 - 1 - EXC - - - 26 - 38 - 0 - EXC - - - 27 - 38 - 0 - EXC - - - 28 - 38 - 1 - EXC - - - 29 - 38 - 0 - EXC - - - 30 - 38 - 0 - EXC - - - 31 - 38 - 0 - EXC - - - 32 - 38 - 0 - EXC - - - 33 - 38 - 0 - EXC - - - 34 - 38 - 0 - EXC - - - 35 - 38 - 1 - EXC - - - 36 - 38 - 0 - EXC - - - 37 - 38 - 0 - EXC - - - 38 - 38 - 1 - EXC - - - 39 - 38 - 0 - EXC - - - 40 - 38 - 0 - EXC - - - 41 - 38 - 0 - EXC - - - 42 - 38 - 0 - EXC - - - 43 - 38 - 0 - EXC - - - 44 - 38 - 0 - EXC - - - 45 - 38 - 1 - EXC - - - 46 - 38 - 0 - EXC - - - 47 - 38 - 0 - EXC - - - 48 - 38 - 1 - EXC - - - 49 - 38 - 0 - EXC - - - 50 - 38 - 0 - EXC - - - 51 - 38 - 0 - EXC - - - 52 - 38 - 0 - EXC - - - 53 - 38 - 0 - EXC - - - 54 - 38 - 0 - EXC - - - 55 - 38 - 1 - EXC - - - 56 - 38 - 0 - EXC - - - 57 - 38 - 0 - EXC - - - 58 - 38 - 1 - EXC - - - 59 - 38 - 0 - EXC - - - 60 - 38 - 0 - EXC - - - 61 - 38 - 0 - EXC - - - 62 - 38 - 0 - EXC - - - 63 - 38 - 0 - EXC - - - 64 - 38 - 0 - EXC - - - 65 - 38 - 1 - EXC - - - 66 - 38 - 0 - EXC - - - 67 - 38 - 0 - EXC - - - 68 - 38 - 1 - EXC - - - 69 - 38 - 0 - EXC - - - 70 - 38 - 0 - EXC - - - 71 - 38 - 0 - EXC - - - 72 - 38 - 0 - EXC - - - 73 - 38 - 0 - EXC - - - 74 - 38 - 0 - EXC - - - 75 - 38 - 1 - EXC - - - 76 - 38 - 0 - EXC - - - 77 - 38 - 0 - EXC - - - 78 - 38 - 1 - EXC - - - 79 - 38 - 0 - EXC - - - 80 - 38 - 0 - EXC - - - 81 - 38 - 0 - EXC - - - 82 - 38 - 0 - EXC - - - 83 - 38 - 0 - EXC - - - 84 - 38 - 0 - EXC - - - 85 - 38 - 1 - EXC - - - 86 - 38 - 0 - EXC - - - 87 - 38 - 0 - EXC - - - 88 - 38 - 1 - EXC - - - 89 - 38 - 0 - EXC - - - 90 - 38 - 0 - EXC - - - 91 - 38 - 0 - EXC - - - 92 - 38 - 0 - EXC - - - 93 - 38 - 0 - EXC - - - 94 - 38 - 0 - EXC - - - 95 - 38 - 1 - EXC - - - 96 - 38 - 0 - EXC - - - 97 - 38 - 0 - EXC - - - 98 - 38 - 1 - EXC - - - 99 - 38 - 0 - EXC - - - 0 - 39 - 0 - EXC - - - 1 - 39 - 0 - INH - - - 2 - 39 - 1 - EXC - - - 3 - 39 - 0 - INH - - - 4 - 39 - 0 - EXC - - - 5 - 39 - 0 - INH - - - 6 - 39 - 0 - EXC - - - 7 - 39 - 0 - INH - - - 8 - 39 - 0 - EXC - - - 9 - 39 - 0 - INH - - - 10 - 39 - 0 - EXC - - - 11 - 39 - 0 - INH - - - 12 - 39 - 1 - EXC - - - 13 - 39 - 0 - INH - - - 14 - 39 - 0 - EXC - - - 15 - 39 - 0 - INH - - - 16 - 39 - 0 - EXC - - - 17 - 39 - 0 - INH - - - 18 - 39 - 0 - EXC - - - 19 - 39 - 0 - INH - - - 20 - 39 - 0 - EXC - - - 21 - 39 - 0 - INH - - - 22 - 39 - 1 - EXC - - - 23 - 39 - 0 - INH - - - 24 - 39 - 0 - EXC - - - 25 - 39 - 0 - INH - - - 26 - 39 - 0 - EXC - - - 27 - 39 - 0 - INH - - - 28 - 39 - 0 - EXC - - - 29 - 39 - 0 - INH - - - 30 - 39 - 0 - EXC - - - 31 - 39 - 0 - INH - - - 32 - 39 - 1 - EXC - - - 33 - 39 - 0 - INH - - - 34 - 39 - 0 - EXC - - - 35 - 39 - 0 - INH - - - 36 - 39 - 0 - EXC - - - 37 - 39 - 0 - INH - - - 38 - 39 - 0 - EXC - - - 39 - 39 - 0 - INH - - - 40 - 39 - 0 - EXC - - - 41 - 39 - 0 - INH - - - 42 - 39 - 1 - EXC - - - 43 - 39 - 0 - INH - - - 44 - 39 - 0 - EXC - - - 45 - 39 - 0 - INH - - - 46 - 39 - 0 - EXC - - - 47 - 39 - 0 - INH - - - 48 - 39 - 0 - EXC - - - 49 - 39 - 0 - INH - - - 50 - 39 - 0 - EXC - - - 51 - 39 - 0 - INH - - - 52 - 39 - 1 - EXC - - - 53 - 39 - 0 - INH - - - 54 - 39 - 0 - EXC - - - 55 - 39 - 0 - INH - - - 56 - 39 - 0 - EXC - - - 57 - 39 - 0 - INH - - - 58 - 39 - 0 - EXC - - - 59 - 39 - 0 - INH - - - 60 - 39 - 0 - EXC - - - 61 - 39 - 0 - INH - - - 62 - 39 - 1 - EXC - - - 63 - 39 - 0 - INH - - - 64 - 39 - 0 - EXC - - - 65 - 39 - 0 - INH - - - 66 - 39 - 0 - EXC - - - 67 - 39 - 0 - INH - - - 68 - 39 - 0 - EXC - - - 69 - 39 - 0 - INH - - - 70 - 39 - 0 - EXC - - - 71 - 39 - 0 - INH - - - 72 - 39 - 1 - EXC - - - 73 - 39 - 0 - INH - - - 74 - 39 - 0 - EXC - - - 75 - 39 - 0 - INH - - - 76 - 39 - 0 - EXC - - - 77 - 39 - 0 - INH - - - 78 - 39 - 0 - EXC - - - 79 - 39 - 0 - INH - - - 80 - 39 - 0 - EXC - - - 81 - 39 - 0 - INH - - - 82 - 39 - 1 - EXC - - - 83 - 39 - 0 - INH - - - 84 - 39 - 0 - EXC - - - 85 - 39 - 0 - INH - - - 86 - 39 - 0 - EXC - - - 87 - 39 - 0 - INH - - - 88 - 39 - 0 - EXC - - - 89 - 39 - 0 - INH - - - 90 - 39 - 0 - EXC - - - 91 - 39 - 0 - INH - - - 92 - 39 - 1 - EXC - - - 93 - 39 - 0 - INH - - - 94 - 39 - 0 - EXC - - - 95 - 39 - 0 - INH - - - 96 - 39 - 0 - EXC - - - 97 - 39 - 0 - INH - - - 98 - 39 - 0 - EXC - - - 99 - 39 - 0 - INH - - - 0 - 40 - 0 - INH - - - 1 - 40 - 0 - EXC - - - 2 - 40 - 0 - INH - - - 3 - 40 - 0 - EXC - - - 4 - 40 - 0 - INH - - - 5 - 40 - 0 - EXC - - - 6 - 40 - 0 - INH - - - 7 - 40 - 1 - EXC - - - 8 - 40 - 0 - INH - - - 9 - 40 - 0 - EXC - - - 10 - 40 - 0 - INH - - - 11 - 40 - 0 - EXC - - - 12 - 40 - 0 - INH - - - 13 - 40 - 0 - EXC - - - 14 - 40 - 0 - INH - - - 15 - 40 - 0 - EXC - - - 16 - 40 - 0 - INH - - - 17 - 40 - 1 - EXC - - - 18 - 40 - 0 - INH - - - 19 - 40 - 0 - EXC - - - 20 - 40 - 0 - INH - - - 21 - 40 - 0 - EXC - - - 22 - 40 - 0 - INH - - - 23 - 40 - 0 - EXC - - - 24 - 40 - 0 - EXC - - - 25 - 40 - 0 - EXC - - - 26 - 40 - 0 - INH - - - 27 - 40 - 1 - EXC - - - 28 - 40 - 0 - INH - - - 29 - 40 - 0 - EXC - - - 30 - 40 - 0 - INH - - - 31 - 40 - 0 - EXC - - - 32 - 40 - 0 - INH - - - 33 - 40 - 0 - EXC - - - 34 - 40 - 0 - INH - - - 35 - 40 - 0 - EXC - - - 36 - 40 - 0 - INH - - - 37 - 40 - 1 - EXC - - - 38 - 40 - 0 - INH - - - 39 - 40 - 0 - EXC - - - 40 - 40 - 0 - INH - - - 41 - 40 - 0 - EXC - - - 42 - 40 - 0 - INH - - - 43 - 40 - 0 - EXC - - - 44 - 40 - 0 - INH - - - 45 - 40 - 0 - EXC - - - 46 - 40 - 0 - INH - - - 47 - 40 - 1 - EXC - - - 48 - 40 - 0 - INH - - - 49 - 40 - 0 - EXC - - - 50 - 40 - 0 - INH - - - 51 - 40 - 0 - EXC - - - 52 - 40 - 0 - INH - - - 53 - 40 - 0 - EXC - - - 54 - 40 - 0 - INH - - - 55 - 40 - 0 - EXC - - - 56 - 40 - 0 - INH - - - 57 - 40 - 1 - EXC - - - 58 - 40 - 0 - INH - - - 59 - 40 - 0 - EXC - - - 60 - 40 - 0 - INH - - - 61 - 40 - 0 - EXC - - - 62 - 40 - 0 - INH - - - 63 - 40 - 0 - EXC - - - 64 - 40 - 0 - INH - - - 65 - 40 - 0 - EXC - - - 66 - 40 - 0 - INH - - - 67 - 40 - 1 - EXC - - - 68 - 40 - 0 - INH - - - 69 - 40 - 0 - EXC - - - 70 - 40 - 0 - INH - - - 71 - 40 - 0 - EXC - - - 72 - 40 - 0 - INH - - - 73 - 40 - 0 - EXC - - - 74 - 40 - 0 - INH - - - 75 - 40 - 0 - EXC - - - 76 - 40 - 0 - INH - - - 77 - 40 - 1 - EXC - - - 78 - 40 - 0 - INH - - - 79 - 40 - 0 - EXC - - - 80 - 40 - 0 - INH - - - 81 - 40 - 0 - EXC - - - 82 - 40 - 0 - INH - - - 83 - 40 - 0 - EXC - - - 84 - 40 - 0 - INH - - - 85 - 40 - 0 - EXC - - - 86 - 40 - 0 - INH - - - 87 - 40 - 1 - EXC - - - 88 - 40 - 0 - INH - - - 89 - 40 - 0 - EXC - - - 90 - 40 - 0 - INH - - - 91 - 40 - 0 - EXC - - - 92 - 40 - 0 - INH - - - 93 - 40 - 0 - EXC - - - 94 - 40 - 0 - INH - - - 95 - 40 - 0 - EXC - - - 96 - 40 - 0 - INH - - - 97 - 40 - 1 - EXC - - - 98 - 40 - 0 - INH - - - 99 - 40 - 0 - EXC - - - 0 - 41 - 0 - EXC - - - 1 - 41 - 1 - EXC - - - 2 - 41 - 0 - EXC - - - 3 - 41 - 0 - EXC - - - 4 - 41 - 1 - EXC - - - 5 - 41 - 0 - EXC - - - 6 - 41 - 0 - EXC - - - 7 - 41 - 0 - EXC - - - 8 - 41 - 0 - EXC - - - 9 - 41 - 0 - EXC - - - 10 - 41 - 0 - EXC - - - 11 - 41 - 1 - EXC - - - 12 - 41 - 0 - EXC - - - 13 - 41 - 0 - EXC - - - 14 - 41 - 1 - EXC - - - 15 - 41 - 0 - EXC - - - 16 - 41 - 0 - EXC - - - 17 - 41 - 0 - EXC - - - 18 - 41 - 0 - EXC - - - 19 - 41 - 0 - EXC - - - 20 - 41 - 0 - EXC - - - 21 - 41 - 1 - EXC - - - 22 - 41 - 0 - EXC - - - 23 - 41 - 0 - EXC - - - 24 - 41 - 1 - EXC - - - 25 - 41 - 0 - EXC - - - 26 - 41 - 0 - EXC - - - 27 - 41 - 0 - EXC - - - 28 - 41 - 0 - EXC - - - 29 - 41 - 0 - EXC - - - 30 - 41 - 0 - EXC - - - 31 - 41 - 1 - EXC - - - 32 - 41 - 0 - EXC - - - 33 - 41 - 0 - EXC - - - 34 - 41 - 1 - EXC - - - 35 - 41 - 0 - EXC - - - 36 - 41 - 0 - EXC - - - 37 - 41 - 0 - EXC - - - 38 - 41 - 0 - EXC - - - 39 - 41 - 0 - EXC - - - 40 - 41 - 0 - EXC - - - 41 - 41 - 1 - EXC - - - 42 - 41 - 0 - EXC - - - 43 - 41 - 0 - EXC - - - 44 - 41 - 1 - EXC - - - 45 - 41 - 0 - EXC - - - 46 - 41 - 0 - EXC - - - 47 - 41 - 0 - EXC - - - 48 - 41 - 0 - EXC - - - 49 - 41 - 0 - EXC - - - 50 - 41 - 0 - EXC - - - 51 - 41 - 1 - EXC - - - 52 - 41 - 0 - EXC - - - 53 - 41 - 0 - EXC - - - 54 - 41 - 1 - EXC - - - 55 - 41 - 0 - EXC - - - 56 - 41 - 0 - EXC - - - 57 - 41 - 0 - EXC - - - 58 - 41 - 0 - EXC - - - 59 - 41 - 0 - EXC - - - 60 - 41 - 0 - EXC - - - 61 - 41 - 1 - EXC - - - 62 - 41 - 0 - EXC - - - 63 - 41 - 0 - EXC - - - 64 - 41 - 1 - EXC - - - 65 - 41 - 0 - EXC - - - 66 - 41 - 0 - EXC - - - 67 - 41 - 0 - EXC - - - 68 - 41 - 0 - EXC - - - 69 - 41 - 0 - EXC - - - 70 - 41 - 0 - EXC - - - 71 - 41 - 1 - EXC - - - 72 - 41 - 0 - EXC - - - 73 - 41 - 0 - EXC - - - 74 - 41 - 1 - EXC - - - 75 - 41 - 0 - EXC - - - 76 - 41 - 0 - EXC - - - 77 - 41 - 0 - EXC - - - 78 - 41 - 0 - EXC - - - 79 - 41 - 0 - EXC - - - 80 - 41 - 0 - EXC - - - 81 - 41 - 1 - EXC - - - 82 - 41 - 0 - EXC - - - 83 - 41 - 0 - EXC - - - 84 - 41 - 1 - EXC - - - 85 - 41 - 0 - EXC - - - 86 - 41 - 0 - EXC - - - 87 - 41 - 0 - EXC - - - 88 - 41 - 0 - EXC - - - 89 - 41 - 0 - EXC - - - 90 - 41 - 0 - EXC - - - 91 - 41 - 1 - EXC - - - 92 - 41 - 0 - EXC - - - 93 - 41 - 0 - EXC - - - 94 - 41 - 1 - EXC - - - 95 - 41 - 0 - EXC - - - 96 - 41 - 0 - EXC - - - 97 - 41 - 0 - EXC - - - 98 - 41 - 0 - EXC - - - 99 - 41 - 0 - EXC - - - 0 - 42 - 0 - INH - - - 1 - 42 - 0 - EXC - - - 2 - 42 - 0 - EXC - - - 3 - 42 - 0 - EXC - - - 4 - 42 - 0 - EXC - - - 5 - 42 - 0 - EXC - - - 6 - 42 - 0 - INH - - - 7 - 42 - 0 - EXC - - - 8 - 42 - 0 - EXC - - - 9 - 42 - 0 - EXC - - - 10 - 42 - 0 - INH - - - 11 - 42 - 0 - EXC - - - 12 - 42 - 0 - EXC - - - 13 - 42 - 0 - EXC - - - 14 - 42 - 0 - EXC - - - 15 - 42 - 0 - EXC - - - 16 - 42 - 0 - INH - - - 17 - 42 - 0 - EXC - - - 18 - 42 - 0 - EXC - - - 19 - 42 - 0 - EXC - - - 20 - 42 - 0 - INH - - - 21 - 42 - 0 - EXC - - - 22 - 42 - 0 - EXC - - - 23 - 42 - 0 - EXC - - - 24 - 42 - 0 - EXC - - - 25 - 42 - 0 - EXC - - - 26 - 42 - 0 - INH - - - 27 - 42 - 0 - EXC - - - 28 - 42 - 0 - EXC - - - 29 - 42 - 0 - EXC - - - 30 - 42 - 0 - INH - - - 31 - 42 - 0 - EXC - - - 32 - 42 - 0 - EXC - - - 33 - 42 - 0 - EXC - - - 34 - 42 - 0 - EXC - - - 35 - 42 - 0 - EXC - - - 36 - 42 - 0 - INH - - - 37 - 42 - 0 - EXC - - - 38 - 42 - 0 - EXC - - - 39 - 42 - 0 - EXC - - - 40 - 42 - 0 - INH - - - 41 - 42 - 0 - EXC - - - 42 - 42 - 0 - EXC - - - 43 - 42 - 0 - EXC - - - 44 - 42 - 0 - EXC - - - 45 - 42 - 0 - EXC - - - 46 - 42 - 0 - INH - - - 47 - 42 - 0 - EXC - - - 48 - 42 - 0 - EXC - - - 49 - 42 - 0 - EXC - - - 50 - 42 - 0 - INH - - - 51 - 42 - 0 - EXC - - - 52 - 42 - 0 - EXC - - - 53 - 42 - 0 - EXC - - - 54 - 42 - 0 - EXC - - - 55 - 42 - 0 - EXC - - - 56 - 42 - 0 - INH - - - 57 - 42 - 0 - EXC - - - 58 - 42 - 0 - EXC - - - 59 - 42 - 0 - EXC - - - 60 - 42 - 0 - INH - - - 61 - 42 - 0 - EXC - - - 62 - 42 - 0 - EXC - - - 63 - 42 - 0 - EXC - - - 64 - 42 - 0 - EXC - - - 65 - 42 - 0 - EXC - - - 66 - 42 - 0 - INH - - - 67 - 42 - 0 - EXC - - - 68 - 42 - 0 - EXC - - - 69 - 42 - 0 - EXC - - - 70 - 42 - 0 - INH - - - 71 - 42 - 0 - EXC - - - 72 - 42 - 0 - EXC - - - 73 - 42 - 0 - EXC - - - 74 - 42 - 0 - EXC - - - 75 - 42 - 0 - EXC - - - 76 - 42 - 0 - INH - - - 77 - 42 - 0 - EXC - - - 78 - 42 - 0 - EXC - - - 79 - 42 - 0 - EXC - - - 80 - 42 - 0 - INH - - - 81 - 42 - 0 - EXC - - - 82 - 42 - 0 - EXC - - - 83 - 42 - 0 - EXC - - - 84 - 42 - 0 - EXC - - - 85 - 42 - 0 - EXC - - - 86 - 42 - 0 - INH - - - 87 - 42 - 0 - EXC - - - 88 - 42 - 0 - EXC - - - 89 - 42 - 0 - EXC - - - 90 - 42 - 0 - INH - - - 91 - 42 - 0 - EXC - - - 92 - 42 - 0 - EXC - - - 93 - 42 - 0 - EXC - - - 94 - 42 - 0 - EXC - - - 95 - 42 - 0 - EXC - - - 96 - 42 - 0 - INH - - - 97 - 42 - 0 - EXC - - - 98 - 42 - 0 - EXC - - - 99 - 42 - 0 - EXC - - - 0 - 43 - 0 - EXC - - - 1 - 43 - 0 - EXC - - - 2 - 43 - 0 - INH - - - 3 - 43 - 0 - EXC - - - 4 - 43 - 0 - INH - - - 5 - 43 - 0 - EXC - - - 6 - 43 - 0 - EXC - - - 7 - 43 - 1 - EXC - - - 8 - 43 - 0 - INH - - - 9 - 43 - 0 - EXC - - - 10 - 43 - 0 - EXC - - - 11 - 43 - 0 - EXC - - - 12 - 43 - 0 - INH - - - 13 - 43 - 0 - EXC - - - 14 - 43 - 0 - INH - - - 15 - 43 - 0 - EXC - - - 16 - 43 - 0 - EXC - - - 17 - 43 - 1 - EXC - - - 18 - 43 - 0 - INH - - - 19 - 43 - 0 - EXC - - - 20 - 43 - 0 - EXC - - - 21 - 43 - 0 - EXC - - - 22 - 43 - 0 - INH - - - 23 - 43 - 0 - EXC - - - 24 - 43 - 0 - INH - - - 25 - 43 - 0 - EXC - - - 26 - 43 - 0 - EXC - - - 27 - 43 - 1 - EXC - - - 28 - 43 - 0 - INH - - - 29 - 43 - 0 - EXC - - - 30 - 43 - 0 - EXC - - - 31 - 43 - 0 - EXC - - - 32 - 43 - 0 - INH - - - 33 - 43 - 0 - EXC - - - 34 - 43 - 0 - INH - - - 35 - 43 - 0 - EXC - - - 36 - 43 - 0 - EXC - - - 37 - 43 - 1 - EXC - - - 38 - 43 - 0 - INH - - - 39 - 43 - 0 - EXC - - - 40 - 43 - 0 - EXC - - - 41 - 43 - 0 - EXC - - - 42 - 43 - 0 - INH - - - 43 - 43 - 0 - EXC - - - 44 - 43 - 0 - INH - - - 45 - 43 - 0 - EXC - - - 46 - 43 - 0 - EXC - - - 47 - 43 - 1 - EXC - - - 48 - 43 - 0 - INH - - - 49 - 43 - 0 - EXC - - - 50 - 43 - 0 - EXC - - - 51 - 43 - 0 - EXC - - - 52 - 43 - 0 - INH - - - 53 - 43 - 0 - EXC - - - 54 - 43 - 0 - INH - - - 55 - 43 - 0 - EXC - - - 56 - 43 - 0 - EXC - - - 57 - 43 - 1 - EXC - - - 58 - 43 - 0 - INH - - - 59 - 43 - 0 - EXC - - - 60 - 43 - 0 - EXC - - - 61 - 43 - 0 - EXC - - - 62 - 43 - 0 - INH - - - 63 - 43 - 0 - EXC - - - 64 - 43 - 0 - INH - - - 65 - 43 - 0 - EXC - - - 66 - 43 - 0 - EXC - - - 67 - 43 - 1 - EXC - - - 68 - 43 - 0 - INH - - - 69 - 43 - 0 - EXC - - - 70 - 43 - 0 - EXC - - - 71 - 43 - 0 - EXC - - - 72 - 43 - 0 - INH - - - 73 - 43 - 0 - EXC - - - 74 - 43 - 0 - INH - - - 75 - 43 - 0 - EXC - - - 76 - 43 - 0 - EXC - - - 77 - 43 - 1 - EXC - - - 78 - 43 - 0 - INH - - - 79 - 43 - 0 - EXC - - - 80 - 43 - 0 - EXC - - - 81 - 43 - 0 - EXC - - - 82 - 43 - 0 - INH - - - 83 - 43 - 0 - EXC - - - 84 - 43 - 0 - INH - - - 85 - 43 - 0 - EXC - - - 86 - 43 - 0 - EXC - - - 87 - 43 - 1 - EXC - - - 88 - 43 - 0 - INH - - - 89 - 43 - 0 - EXC - - - 90 - 43 - 0 - EXC - - - 91 - 43 - 0 - EXC - - - 92 - 43 - 0 - INH - - - 93 - 43 - 0 - EXC - - - 94 - 43 - 0 - INH - - - 95 - 43 - 0 - EXC - - - 96 - 43 - 0 - EXC - - - 97 - 43 - 1 - EXC - - - 98 - 43 - 0 - INH - - - 99 - 43 - 0 - EXC - - - 0 - 44 - 0 - EXC - - - 1 - 44 - 1 - EXC - - - 2 - 44 - 0 - EXC - - - 3 - 44 - 0 - EXC - - - 4 - 44 - 1 - EXC - - - 5 - 44 - 0 - EXC - - - 6 - 44 - 0 - EXC - - - 7 - 44 - 0 - EXC - - - 8 - 44 - 0 - EXC - - - 9 - 44 - 0 - EXC - - - 10 - 44 - 0 - EXC - - - 11 - 44 - 1 - EXC - - - 12 - 44 - 0 - EXC - - - 13 - 44 - 0 - EXC - - - 14 - 44 - 1 - EXC - - - 15 - 44 - 0 - EXC - - - 16 - 44 - 0 - EXC - - - 17 - 44 - 0 - EXC - - - 18 - 44 - 0 - EXC - - - 19 - 44 - 0 - EXC - - - 20 - 44 - 0 - EXC - - - 21 - 44 - 1 - EXC - - - 22 - 44 - 0 - EXC - - - 23 - 44 - 0 - EXC - - - 24 - 44 - 1 - EXC - - - 25 - 44 - 0 - EXC - - - 26 - 44 - 0 - EXC - - - 27 - 44 - 0 - EXC - - - 28 - 44 - 0 - EXC - - - 29 - 44 - 0 - EXC - - - 30 - 44 - 0 - EXC - - - 31 - 44 - 1 - EXC - - - 32 - 44 - 0 - EXC - - - 33 - 44 - 0 - EXC - - - 34 - 44 - 1 - EXC - - - 35 - 44 - 0 - EXC - - - 36 - 44 - 0 - EXC - - - 37 - 44 - 0 - EXC - - - 38 - 44 - 0 - EXC - - - 39 - 44 - 0 - EXC - - - 40 - 44 - 0 - EXC - - - 41 - 44 - 1 - EXC - - - 42 - 44 - 0 - EXC - - - 43 - 44 - 0 - EXC - - - 44 - 44 - 1 - EXC - - - 45 - 44 - 0 - EXC - - - 46 - 44 - 0 - EXC - - - 47 - 44 - 0 - EXC - - - 48 - 44 - 0 - EXC - - - 49 - 44 - 0 - EXC - - - 50 - 44 - 0 - EXC - - - 51 - 44 - 1 - EXC - - - 52 - 44 - 0 - EXC - - - 53 - 44 - 0 - EXC - - - 54 - 44 - 1 - EXC - - - 55 - 44 - 0 - EXC - - - 56 - 44 - 0 - EXC - - - 57 - 44 - 0 - EXC - - - 58 - 44 - 0 - EXC - - - 59 - 44 - 0 - EXC - - - 60 - 44 - 0 - EXC - - - 61 - 44 - 1 - EXC - - - 62 - 44 - 0 - EXC - - - 63 - 44 - 0 - EXC - - - 64 - 44 - 1 - EXC - - - 65 - 44 - 0 - EXC - - - 66 - 44 - 0 - EXC - - - 67 - 44 - 0 - EXC - - - 68 - 44 - 0 - EXC - - - 69 - 44 - 0 - EXC - - - 70 - 44 - 0 - EXC - - - 71 - 44 - 1 - EXC - - - 72 - 44 - 0 - EXC - - - 73 - 44 - 0 - EXC - - - 74 - 44 - 1 - EXC - - - 75 - 44 - 0 - EXC - - - 76 - 44 - 0 - EXC - - - 77 - 44 - 0 - EXC - - - 78 - 44 - 0 - EXC - - - 79 - 44 - 0 - EXC - - - 80 - 44 - 0 - EXC - - - 81 - 44 - 1 - EXC - - - 82 - 44 - 0 - EXC - - - 83 - 44 - 0 - EXC - - - 84 - 44 - 1 - EXC - - - 85 - 44 - 0 - EXC - - - 86 - 44 - 0 - EXC - - - 87 - 44 - 0 - EXC - - - 88 - 44 - 0 - EXC - - - 89 - 44 - 0 - EXC - - - 90 - 44 - 0 - EXC - - - 91 - 44 - 1 - EXC - - - 92 - 44 - 0 - EXC - - - 93 - 44 - 0 - EXC - - - 94 - 44 - 1 - EXC - - - 95 - 44 - 0 - EXC - - - 96 - 44 - 0 - EXC - - - 97 - 44 - 0 - EXC - - - 98 - 44 - 0 - EXC - - - 99 - 44 - 0 - EXC - - - 0 - 45 - 0 - INH - - - 1 - 45 - 0 - EXC - - - 2 - 45 - 0 - EXC - - - 3 - 45 - 0 - EXC - - - 4 - 45 - 0 - EXC - - - 5 - 45 - 0 - EXC - - - 6 - 45 - 0 - INH - - - 7 - 45 - 0 - EXC - - - 8 - 45 - 0 - EXC - - - 9 - 45 - 0 - EXC - - - 10 - 45 - 0 - INH - - - 11 - 45 - 0 - EXC - - - 12 - 45 - 0 - EXC - - - 13 - 45 - 0 - EXC - - - 14 - 45 - 0 - EXC - - - 15 - 45 - 0 - EXC - - - 16 - 45 - 0 - INH - - - 17 - 45 - 0 - EXC - - - 18 - 45 - 0 - EXC - - - 19 - 45 - 0 - EXC - - - 20 - 45 - 0 - INH - - - 21 - 45 - 0 - EXC - - - 22 - 45 - 0 - EXC - - - 23 - 45 - 0 - EXC - - - 24 - 45 - 0 - EXC - - - 25 - 45 - 0 - EXC - - - 26 - 45 - 0 - INH - - - 27 - 45 - 0 - EXC - - - 28 - 45 - 0 - EXC - - - 29 - 45 - 0 - EXC - - - 30 - 45 - 0 - INH - - - 31 - 45 - 0 - EXC - - - 32 - 45 - 0 - EXC - - - 33 - 45 - 0 - EXC - - - 34 - 45 - 0 - EXC - - - 35 - 45 - 0 - EXC - - - 36 - 45 - 0 - INH - - - 37 - 45 - 0 - EXC - - - 38 - 45 - 0 - EXC - - - 39 - 45 - 0 - EXC - - - 40 - 45 - 0 - INH - - - 41 - 45 - 0 - EXC - - - 42 - 45 - 0 - EXC - - - 43 - 45 - 0 - EXC - - - 44 - 45 - 0 - EXC - - - 45 - 45 - 0 - EXC - - - 46 - 45 - 0 - INH - - - 47 - 45 - 0 - EXC - - - 48 - 45 - 0 - EXC - - - 49 - 45 - 0 - EXC - - - 50 - 45 - 0 - INH - - - 51 - 45 - 0 - EXC - - - 52 - 45 - 0 - EXC - - - 53 - 45 - 0 - EXC - - - 54 - 45 - 0 - EXC - - - 55 - 45 - 0 - EXC - - - 56 - 45 - 0 - INH - - - 57 - 45 - 0 - EXC - - - 58 - 45 - 0 - EXC - - - 59 - 45 - 0 - EXC - - - 60 - 45 - 0 - INH - - - 61 - 45 - 0 - EXC - - - 62 - 45 - 0 - EXC - - - 63 - 45 - 0 - EXC - - - 64 - 45 - 0 - EXC - - - 65 - 45 - 0 - EXC - - - 66 - 45 - 0 - INH - - - 67 - 45 - 0 - EXC - - - 68 - 45 - 0 - EXC - - - 69 - 45 - 0 - EXC - - - 70 - 45 - 0 - INH - - - 71 - 45 - 0 - EXC - - - 72 - 45 - 0 - EXC - - - 73 - 45 - 0 - EXC - - - 74 - 45 - 0 - EXC - - - 75 - 45 - 0 - EXC - - - 76 - 45 - 0 - INH - - - 77 - 45 - 0 - EXC - - - 78 - 45 - 0 - EXC - - - 79 - 45 - 0 - EXC - - - 80 - 45 - 0 - INH - - - 81 - 45 - 0 - EXC - - - 82 - 45 - 0 - EXC - - - 83 - 45 - 0 - EXC - - - 84 - 45 - 0 - EXC - - - 85 - 45 - 0 - EXC - - - 86 - 45 - 0 - INH - - - 87 - 45 - 0 - EXC - - - 88 - 45 - 0 - EXC - - - 89 - 45 - 0 - EXC - - - 90 - 45 - 0 - INH - - - 91 - 45 - 0 - EXC - - - 92 - 45 - 0 - EXC - - - 93 - 45 - 0 - EXC - - - 94 - 45 - 0 - EXC - - - 95 - 45 - 0 - EXC - - - 96 - 45 - 0 - INH - - - 97 - 45 - 0 - EXC - - - 98 - 45 - 0 - EXC - - - 99 - 45 - 0 - EXC - - - 0 - 46 - 0 - EXC - - - 1 - 46 - 0 - EXC - - - 2 - 46 - 0 - INH - - - 3 - 46 - 0 - EXC - - - 4 - 46 - 0 - INH - - - 5 - 46 - 0 - EXC - - - 6 - 46 - 0 - EXC - - - 7 - 46 - 1 - EXC - - - 8 - 46 - 0 - INH - - - 9 - 46 - 0 - EXC - - - 10 - 46 - 0 - EXC - - - 11 - 46 - 0 - EXC - - - 12 - 46 - 0 - INH - - - 13 - 46 - 0 - EXC - - - 14 - 46 - 0 - INH - - - 15 - 46 - 0 - EXC - - - 16 - 46 - 0 - EXC - - - 17 - 46 - 1 - EXC - - - 18 - 46 - 0 - INH - - - 19 - 46 - 0 - EXC - - - 20 - 46 - 0 - EXC - - - 21 - 46 - 0 - EXC - - - 22 - 46 - 0 - INH - - - 23 - 46 - 0 - EXC - - - 24 - 46 - 0 - INH - - - 25 - 46 - 0 - EXC - - - 26 - 46 - 0 - EXC - - - 27 - 46 - 1 - EXC - - - 28 - 46 - 0 - INH - - - 29 - 46 - 0 - EXC - - - 30 - 46 - 0 - EXC - - - 31 - 46 - 0 - EXC - - - 32 - 46 - 0 - INH - - - 33 - 46 - 0 - EXC - - - 34 - 46 - 0 - INH - - - 35 - 46 - 0 - EXC - - - 36 - 46 - 0 - EXC - - - 37 - 46 - 1 - EXC - - - 38 - 46 - 0 - INH - - - 39 - 46 - 0 - EXC - - - 40 - 46 - 0 - EXC - - - 41 - 46 - 0 - EXC - - - 42 - 46 - 0 - INH - - - 43 - 46 - 0 - EXC - - - 44 - 46 - 0 - INH - - - 45 - 46 - 0 - EXC - - - 46 - 46 - 0 - EXC - - - 47 - 46 - 1 - EXC - - - 48 - 46 - 0 - INH - - - 49 - 46 - 0 - EXC - - - 50 - 46 - 0 - EXC - - - 51 - 46 - 0 - EXC - - - 52 - 46 - 0 - INH - - - 53 - 46 - 0 - EXC - - - 54 - 46 - 0 - INH - - - 55 - 46 - 0 - EXC - - - 56 - 46 - 0 - EXC - - - 57 - 46 - 1 - EXC - - - 58 - 46 - 0 - INH - - - 59 - 46 - 0 - EXC - - - 60 - 46 - 0 - EXC - - - 61 - 46 - 0 - EXC - - - 62 - 46 - 0 - INH - - - 63 - 46 - 0 - EXC - - - 64 - 46 - 0 - INH - - - 65 - 46 - 0 - EXC - - - 66 - 46 - 0 - EXC - - - 67 - 46 - 1 - EXC - - - 68 - 46 - 0 - INH - - - 69 - 46 - 0 - EXC - - - 70 - 46 - 0 - EXC - - - 71 - 46 - 0 - EXC - - - 72 - 46 - 0 - INH - - - 73 - 46 - 0 - EXC - - - 74 - 46 - 0 - INH - - - 75 - 46 - 0 - EXC - - - 76 - 46 - 0 - EXC - - - 77 - 46 - 1 - EXC - - - 78 - 46 - 0 - INH - - - 79 - 46 - 0 - EXC - - - 80 - 46 - 0 - EXC - - - 81 - 46 - 0 - EXC - - - 82 - 46 - 0 - INH - - - 83 - 46 - 0 - EXC - - - 84 - 46 - 0 - INH - - - 85 - 46 - 0 - EXC - - - 86 - 46 - 0 - EXC - - - 87 - 46 - 1 - EXC - - - 88 - 46 - 0 - INH - - - 89 - 46 - 0 - EXC - - - 90 - 46 - 0 - EXC - - - 91 - 46 - 0 - EXC - - - 92 - 46 - 0 - INH - - - 93 - 46 - 0 - EXC - - - 94 - 46 - 0 - INH - - - 95 - 46 - 0 - EXC - - - 96 - 46 - 0 - EXC - - - 97 - 46 - 1 - EXC - - - 98 - 46 - 0 - INH - - - 99 - 46 - 0 - EXC - - - 0 - 47 - 0 - EXC - - - 1 - 47 - 1 - EXC - - - 2 - 47 - 0 - EXC - - - 3 - 47 - 0 - EXC - - - 4 - 47 - 1 - EXC - - - 5 - 47 - 0 - EXC - - - 6 - 47 - 0 - EXC - - - 7 - 47 - 0 - EXC - - - 8 - 47 - 0 - EXC - - - 9 - 47 - 0 - EXC - - - 10 - 47 - 0 - EXC - - - 11 - 47 - 1 - EXC - - - 12 - 47 - 0 - EXC - - - 13 - 47 - 0 - EXC - - - 14 - 47 - 1 - EXC - - - 15 - 47 - 0 - EXC - - - 16 - 47 - 0 - EXC - - - 17 - 47 - 0 - EXC - - - 18 - 47 - 0 - EXC - - - 19 - 47 - 0 - EXC - - - 20 - 47 - 0 - EXC - - - 21 - 47 - 1 - EXC - - - 22 - 47 - 0 - EXC - - - 23 - 47 - 0 - EXC - - - 24 - 47 - 1 - EXC - - - 25 - 47 - 0 - EXC - - - 26 - 47 - 0 - EXC - - - 27 - 47 - 0 - EXC - - - 28 - 47 - 0 - EXC - - - 29 - 47 - 0 - EXC - - - 30 - 47 - 0 - EXC - - - 31 - 47 - 1 - EXC - - - 32 - 47 - 0 - EXC - - - 33 - 47 - 0 - EXC - - - 34 - 47 - 1 - EXC - - - 35 - 47 - 0 - EXC - - - 36 - 47 - 0 - EXC - - - 37 - 47 - 0 - EXC - - - 38 - 47 - 0 - EXC - - - 39 - 47 - 0 - EXC - - - 40 - 47 - 0 - EXC - - - 41 - 47 - 1 - EXC - - - 42 - 47 - 0 - EXC - - - 43 - 47 - 0 - EXC - - - 44 - 47 - 1 - EXC - - - 45 - 47 - 0 - EXC - - - 46 - 47 - 0 - EXC - - - 47 - 47 - 0 - EXC - - - 48 - 47 - 0 - EXC - - - 49 - 47 - 0 - EXC - - - 50 - 47 - 0 - EXC - - - 51 - 47 - 1 - EXC - - - 52 - 47 - 0 - EXC - - - 53 - 47 - 0 - EXC - - - 54 - 47 - 1 - EXC - - - 55 - 47 - 0 - EXC - - - 56 - 47 - 0 - EXC - - - 57 - 47 - 0 - EXC - - - 58 - 47 - 0 - EXC - - - 59 - 47 - 0 - EXC - - - 60 - 47 - 0 - EXC - - - 61 - 47 - 1 - EXC - - - 62 - 47 - 0 - EXC - - - 63 - 47 - 0 - EXC - - - 64 - 47 - 1 - EXC - - - 65 - 47 - 0 - EXC - - - 66 - 47 - 0 - EXC - - - 67 - 47 - 0 - EXC - - - 68 - 47 - 0 - EXC - - - 69 - 47 - 0 - EXC - - - 70 - 47 - 0 - EXC - - - 71 - 47 - 1 - EXC - - - 72 - 47 - 0 - EXC - - - 73 - 47 - 0 - EXC - - - 74 - 47 - 1 - EXC - - - 75 - 47 - 0 - EXC - - - 76 - 47 - 0 - EXC - - - 77 - 47 - 0 - EXC - - - 78 - 47 - 0 - EXC - - - 79 - 47 - 0 - EXC - - - 80 - 47 - 0 - EXC - - - 81 - 47 - 1 - EXC - - - 82 - 47 - 0 - EXC - - - 83 - 47 - 0 - EXC - - - 84 - 47 - 1 - EXC - - - 85 - 47 - 0 - EXC - - - 86 - 47 - 0 - EXC - - - 87 - 47 - 0 - EXC - - - 88 - 47 - 0 - EXC - - - 89 - 47 - 0 - EXC - - - 90 - 47 - 0 - EXC - - - 91 - 47 - 1 - EXC - - - 92 - 47 - 0 - EXC - - - 93 - 47 - 0 - EXC - - - 94 - 47 - 1 - EXC - - - 95 - 47 - 0 - EXC - - - 96 - 47 - 0 - EXC - - - 97 - 47 - 0 - EXC - - - 98 - 47 - 0 - EXC - - - 99 - 47 - 0 - EXC - - - 0 - 48 - 0 - INH - - - 1 - 48 - 0 - EXC - - - 2 - 48 - 0 - EXC - - - 3 - 48 - 0 - EXC - - - 4 - 48 - 0 - EXC - - - 5 - 48 - 0 - EXC - - - 6 - 48 - 0 - INH - - - 7 - 48 - 0 - EXC - - - 8 - 48 - 0 - EXC - - - 9 - 48 - 0 - EXC - - - 10 - 48 - 0 - INH - - - 11 - 48 - 0 - EXC - - - 12 - 48 - 0 - EXC - - - 13 - 48 - 0 - EXC - - - 14 - 48 - 0 - EXC - - - 15 - 48 - 0 - EXC - - - 16 - 48 - 0 - INH - - - 17 - 48 - 0 - EXC - - - 18 - 48 - 0 - EXC - - - 19 - 48 - 0 - EXC - - - 20 - 48 - 0 - INH - - - 21 - 48 - 0 - EXC - - - 22 - 48 - 0 - EXC - - - 23 - 48 - 0 - EXC - - - 24 - 48 - 0 - EXC - - - 25 - 48 - 0 - EXC - - - 26 - 48 - 0 - INH - - - 27 - 48 - 0 - EXC - - - 28 - 48 - 0 - EXC - - - 29 - 48 - 0 - EXC - - - 30 - 48 - 0 - INH - - - 31 - 48 - 0 - EXC - - - 32 - 48 - 0 - EXC - - - 33 - 48 - 0 - EXC - - - 34 - 48 - 0 - EXC - - - 35 - 48 - 0 - EXC - - - 36 - 48 - 0 - INH - - - 37 - 48 - 0 - EXC - - - 38 - 48 - 0 - EXC - - - 39 - 48 - 0 - EXC - - - 40 - 48 - 0 - INH - - - 41 - 48 - 0 - EXC - - - 42 - 48 - 0 - EXC - - - 43 - 48 - 0 - EXC - - - 44 - 48 - 0 - EXC - - - 45 - 48 - 0 - EXC - - - 46 - 48 - 0 - INH - - - 47 - 48 - 0 - EXC - - - 48 - 48 - 0 - EXC - - - 49 - 48 - 0 - EXC - - - 50 - 48 - 0 - INH - - - 51 - 48 - 0 - EXC - - - 52 - 48 - 0 - EXC - - - 53 - 48 - 0 - EXC - - - 54 - 48 - 0 - EXC - - - 55 - 48 - 0 - EXC - - - 56 - 48 - 0 - INH - - - 57 - 48 - 0 - EXC - - - 58 - 48 - 0 - EXC - - - 59 - 48 - 0 - EXC - - - 60 - 48 - 0 - INH - - - 61 - 48 - 0 - EXC - - - 62 - 48 - 0 - EXC - - - 63 - 48 - 0 - EXC - - - 64 - 48 - 0 - EXC - - - 65 - 48 - 0 - EXC - - - 66 - 48 - 0 - INH - - - 67 - 48 - 0 - EXC - - - 68 - 48 - 0 - EXC - - - 69 - 48 - 0 - EXC - - - 70 - 48 - 0 - INH - - - 71 - 48 - 0 - EXC - - - 72 - 48 - 0 - EXC - - - 73 - 48 - 0 - EXC - - - 74 - 48 - 0 - EXC - - - 75 - 48 - 0 - EXC - - - 76 - 48 - 0 - INH - - - 77 - 48 - 0 - EXC - - - 78 - 48 - 0 - EXC - - - 79 - 48 - 0 - EXC - - - 80 - 48 - 0 - INH - - - 81 - 48 - 0 - EXC - - - 82 - 48 - 0 - EXC - - - 83 - 48 - 0 - EXC - - - 84 - 48 - 0 - EXC - - - 85 - 48 - 0 - EXC - - - 86 - 48 - 0 - INH - - - 87 - 48 - 0 - EXC - - - 88 - 48 - 0 - EXC - - - 89 - 48 - 0 - EXC - - - 90 - 48 - 0 - INH - - - 91 - 48 - 0 - EXC - - - 92 - 48 - 0 - EXC - - - 93 - 48 - 0 - EXC - - - 94 - 48 - 0 - EXC - - - 95 - 48 - 0 - EXC - - - 96 - 48 - 0 - INH - - - 97 - 48 - 0 - EXC - - - 98 - 48 - 0 - EXC - - - 99 - 48 - 0 - EXC - - - 0 - 49 - 0 - EXC - - - 1 - 49 - 0 - EXC - - - 2 - 49 - 0 - INH - - - 3 - 49 - 0 - EXC - - - 4 - 49 - 0 - INH - - - 5 - 49 - 0 - EXC - - - 6 - 49 - 0 - EXC - - - 7 - 49 - 1 - EXC - - - 8 - 49 - 0 - INH - - - 9 - 49 - 0 - EXC - - - 10 - 49 - 0 - EXC - - - 11 - 49 - 0 - EXC - - - 12 - 49 - 0 - INH - - - 13 - 49 - 0 - EXC - - - 14 - 49 - 0 - INH - - - 15 - 49 - 0 - EXC - - - 16 - 49 - 0 - EXC - - - 17 - 49 - 1 - EXC - - - 18 - 49 - 0 - INH - - - 19 - 49 - 0 - EXC - - - 20 - 49 - 0 - EXC - - - 21 - 49 - 0 - EXC - - - 22 - 49 - 0 - INH - - - 23 - 49 - 0 - EXC - - - 24 - 49 - 0 - INH - - - 25 - 49 - 0 - EXC - - - 26 - 49 - 0 - EXC - - - 27 - 49 - 1 - EXC - - - 28 - 49 - 0 - INH - - - 29 - 49 - 0 - EXC - - - 30 - 49 - 0 - EXC - - - 31 - 49 - 0 - EXC - - - 32 - 49 - 0 - INH - - - 33 - 49 - 0 - EXC - - - 34 - 49 - 0 - INH - - - 35 - 49 - 0 - EXC - - - 36 - 49 - 0 - EXC - - - 37 - 49 - 1 - EXC - - - 38 - 49 - 0 - INH - - - 39 - 49 - 0 - EXC - - - 40 - 49 - 0 - EXC - - - 41 - 49 - 0 - EXC - - - 42 - 49 - 0 - INH - - - 43 - 49 - 0 - EXC - - - 44 - 49 - 0 - INH - - - 45 - 49 - 0 - EXC - - - 46 - 49 - 0 - EXC - - - 47 - 49 - 1 - EXC - - - 48 - 49 - 0 - INH - - - 49 - 49 - 0 - EXC - - - 50 - 49 - 0 - EXC - - - 51 - 49 - 0 - EXC - - - 52 - 49 - 0 - INH - - - 53 - 49 - 0 - EXC - - - 54 - 49 - 0 - INH - - - 55 - 49 - 0 - EXC - - - 56 - 49 - 0 - EXC - - - 57 - 49 - 1 - EXC - - - 58 - 49 - 0 - INH - - - 59 - 49 - 0 - EXC - - - 60 - 49 - 0 - EXC - - - 61 - 49 - 0 - EXC - - - 62 - 49 - 0 - INH - - - 63 - 49 - 0 - EXC - - - 64 - 49 - 0 - INH - - - 65 - 49 - 0 - EXC - - - 66 - 49 - 0 - EXC - - - 67 - 49 - 1 - EXC - - - 68 - 49 - 0 - INH - - - 69 - 49 - 0 - EXC - - - 70 - 49 - 0 - EXC - - - 71 - 49 - 0 - EXC - - - 72 - 49 - 0 - INH - - - 73 - 49 - 0 - EXC - - - 74 - 49 - 0 - INH - - - 75 - 49 - 0 - EXC - - - 76 - 49 - 0 - EXC - - - 77 - 49 - 1 - EXC - - - 78 - 49 - 0 - INH - - - 79 - 49 - 0 - EXC - - - 80 - 49 - 0 - EXC - - - 81 - 49 - 0 - EXC - - - 82 - 49 - 0 - INH - - - 83 - 49 - 0 - EXC - - - 84 - 49 - 0 - INH - - - 85 - 49 - 0 - EXC - - - 86 - 49 - 0 - EXC - - - 87 - 49 - 1 - EXC - - - 88 - 49 - 0 - INH - - - 89 - 49 - 0 - EXC - - - 90 - 49 - 0 - EXC - - - 91 - 49 - 0 - EXC - - - 92 - 49 - 0 - INH - - - 93 - 49 - 0 - EXC - - - 94 - 49 - 0 - INH - - - 95 - 49 - 0 - EXC - - - 96 - 49 - 0 - EXC - - - 97 - 49 - 1 - EXC - - - 98 - 49 - 0 - INH - - - 99 - 49 - 0 - EXC - - - 0 - 50 - 0 - EXC - - - 1 - 50 - 0 - INH - - - 2 - 50 - 1 - EXC - - - 3 - 50 - 0 - EXC - - - 4 - 50 - 0 - EXC - - - 5 - 50 - 0 - INH - - - 6 - 50 - 0 - EXC - - - 7 - 50 - 0 - INH - - - 8 - 50 - 0 - EXC - - - 9 - 50 - 0 - EXC - - - 10 - 50 - 0 - EXC - - - 11 - 50 - 0 - INH - - - 12 - 50 - 1 - EXC - - - 13 - 50 - 0 - EXC - - - 14 - 50 - 0 - EXC - - - 15 - 50 - 0 - INH - - - 16 - 50 - 0 - EXC - - - 17 - 50 - 0 - INH - - - 18 - 50 - 0 - EXC - - - 19 - 50 - 0 - EXC - - - 20 - 50 - 0 - EXC - - - 21 - 50 - 0 - INH - - - 22 - 50 - 1 - EXC - - - 23 - 50 - 0 - EXC - - - 24 - 50 - 0 - EXC - - - 25 - 50 - 0 - INH - - - 26 - 50 - 0 - EXC - - - 27 - 50 - 0 - INH - - - 28 - 50 - 0 - EXC - - - 29 - 50 - 0 - EXC - - - 30 - 50 - 0 - EXC - - - 31 - 50 - 0 - INH - - - 32 - 50 - 1 - EXC - - - 33 - 50 - 0 - EXC - - - 34 - 50 - 0 - EXC - - - 35 - 50 - 0 - INH - - - 36 - 50 - 0 - EXC - - - 37 - 50 - 0 - INH - - - 38 - 50 - 0 - EXC - - - 39 - 50 - 0 - EXC - - - 40 - 50 - 0 - EXC - - - 41 - 50 - 0 - INH - - - 42 - 50 - 1 - EXC - - - 43 - 50 - 0 - EXC - - - 44 - 50 - 0 - EXC - - - 45 - 50 - 0 - INH - - - 46 - 50 - 0 - EXC - - - 47 - 50 - 0 - INH - - - 48 - 50 - 0 - EXC - - - 49 - 50 - 0 - EXC - - - 50 - 50 - 0 - EXC - - - 51 - 50 - 0 - INH - - - 52 - 50 - 1 - EXC - - - 53 - 50 - 0 - EXC - - - 54 - 50 - 0 - EXC - - - 55 - 50 - 0 - INH - - - 56 - 50 - 0 - EXC - - - 57 - 50 - 0 - INH - - - 58 - 50 - 0 - EXC - - - 59 - 50 - 0 - EXC - - - 60 - 50 - 0 - EXC - - - 61 - 50 - 0 - INH - - - 62 - 50 - 1 - EXC - - - 63 - 50 - 0 - EXC - - - 64 - 50 - 0 - EXC - - - 65 - 50 - 0 - INH - - - 66 - 50 - 0 - EXC - - - 67 - 50 - 0 - INH - - - 68 - 50 - 0 - EXC - - - 69 - 50 - 0 - EXC - - - 70 - 50 - 0 - EXC - - - 71 - 50 - 0 - INH - - - 72 - 50 - 1 - EXC - - - 73 - 50 - 0 - EXC - - - 74 - 50 - 0 - EXC - - - 75 - 50 - 0 - INH - - - 76 - 50 - 0 - EXC - - - 77 - 50 - 0 - INH - - - 78 - 50 - 0 - EXC - - - 79 - 50 - 0 - EXC - - - 80 - 50 - 0 - EXC - - - 81 - 50 - 0 - INH - - - 82 - 50 - 1 - EXC - - - 83 - 50 - 0 - EXC - - - 84 - 50 - 0 - EXC - - - 85 - 50 - 0 - INH - - - 86 - 50 - 0 - EXC - - - 87 - 50 - 0 - INH - - - 88 - 50 - 0 - EXC - - - 89 - 50 - 0 - EXC - - - 90 - 50 - 0 - EXC - - - 91 - 50 - 0 - INH - - - 92 - 50 - 1 - EXC - - - 93 - 50 - 0 - EXC - - - 94 - 50 - 0 - EXC - - - 95 - 50 - 0 - INH - - - 96 - 50 - 0 - EXC - - - 97 - 50 - 0 - INH - - - 98 - 50 - 0 - EXC - - - 99 - 50 - 0 - EXC - - - 0 - 51 - 0 - EXC - - - 1 - 51 - 0 - EXC - - - 2 - 51 - 0 - EXC - - - 3 - 51 - 0 - INH - - - 4 - 51 - 0 - EXC - - - 5 - 51 - 0 - EXC - - - 6 - 51 - 0 - EXC - - - 7 - 51 - 0 - EXC - - - 8 - 51 - 0 - EXC - - - 9 - 51 - 0 - INH - - - 10 - 51 - 0 - EXC - - - 11 - 51 - 0 - EXC - - - 12 - 51 - 0 - EXC - - - 13 - 51 - 0 - INH - - - 14 - 51 - 0 - EXC - - - 15 - 51 - 0 - EXC - - - 16 - 51 - 0 - EXC - - - 17 - 51 - 0 - EXC - - - 18 - 51 - 0 - EXC - - - 19 - 51 - 0 - INH - - - 20 - 51 - 0 - EXC - - - 21 - 51 - 0 - EXC - - - 22 - 51 - 0 - EXC - - - 23 - 51 - 0 - INH - - - 24 - 51 - 0 - EXC - - - 25 - 51 - 0 - EXC - - - 26 - 51 - 0 - EXC - - - 27 - 51 - 0 - EXC - - - 28 - 51 - 0 - EXC - - - 29 - 51 - 0 - INH - - - 30 - 51 - 0 - EXC - - - 31 - 51 - 0 - EXC - - - 32 - 51 - 0 - EXC - - - 33 - 51 - 0 - INH - - - 34 - 51 - 0 - EXC - - - 35 - 51 - 0 - EXC - - - 36 - 51 - 0 - EXC - - - 37 - 51 - 0 - EXC - - - 38 - 51 - 0 - EXC - - - 39 - 51 - 0 - INH - - - 40 - 51 - 0 - EXC - - - 41 - 51 - 0 - EXC - - - 42 - 51 - 0 - EXC - - - 43 - 51 - 0 - INH - - - 44 - 51 - 0 - EXC - - - 45 - 51 - 0 - EXC - - - 46 - 51 - 0 - EXC - - - 47 - 51 - 0 - EXC - - - 48 - 51 - 0 - EXC - - - 49 - 51 - 0 - INH - - - 50 - 51 - 0 - EXC - - - 51 - 51 - 0 - EXC - - - 52 - 51 - 0 - EXC - - - 53 - 51 - 0 - INH - - - 54 - 51 - 0 - EXC - - - 55 - 51 - 0 - EXC - - - 56 - 51 - 0 - EXC - - - 57 - 51 - 0 - EXC - - - 58 - 51 - 0 - EXC - - - 59 - 51 - 0 - INH - - - 60 - 51 - 0 - EXC - - - 61 - 51 - 0 - EXC - - - 62 - 51 - 0 - EXC - - - 63 - 51 - 0 - INH - - - 64 - 51 - 0 - EXC - - - 65 - 51 - 0 - EXC - - - 66 - 51 - 0 - EXC - - - 67 - 51 - 0 - EXC - - - 68 - 51 - 0 - EXC - - - 69 - 51 - 0 - INH - - - 70 - 51 - 0 - EXC - - - 71 - 51 - 0 - EXC - - - 72 - 51 - 0 - EXC - - - 73 - 51 - 0 - INH - - - 74 - 51 - 0 - EXC - - - 75 - 51 - 0 - EXC - - - 76 - 51 - 0 - EXC - - - 77 - 51 - 0 - EXC - - - 78 - 51 - 0 - EXC - - - 79 - 51 - 0 - INH - - - 80 - 51 - 0 - EXC - - - 81 - 51 - 0 - EXC - - - 82 - 51 - 0 - EXC - - - 83 - 51 - 0 - INH - - - 84 - 51 - 0 - EXC - - - 85 - 51 - 0 - EXC - - - 86 - 51 - 0 - EXC - - - 87 - 51 - 0 - EXC - - - 88 - 51 - 0 - EXC - - - 89 - 51 - 0 - INH - - - 90 - 51 - 0 - EXC - - - 91 - 51 - 0 - EXC - - - 92 - 51 - 0 - EXC - - - 93 - 51 - 0 - INH - - - 94 - 51 - 0 - EXC - - - 95 - 51 - 0 - EXC - - - 96 - 51 - 0 - EXC - - - 97 - 51 - 0 - EXC - - - 98 - 51 - 0 - EXC - - - 99 - 51 - 0 - INH - - - 0 - 52 - 0 - EXC - - - 1 - 52 - 0 - EXC - - - 2 - 52 - 0 - EXC - - - 3 - 52 - 0 - EXC - - - 4 - 52 - 0 - EXC - - - 5 - 52 - 1 - EXC - - - 6 - 52 - 0 - EXC - - - 7 - 52 - 0 - EXC - - - 8 - 52 - 1 - EXC - - - 9 - 52 - 0 - EXC - - - 10 - 52 - 0 - EXC - - - 11 - 52 - 0 - EXC - - - 12 - 52 - 0 - EXC - - - 13 - 52 - 0 - EXC - - - 14 - 52 - 0 - EXC - - - 15 - 52 - 1 - EXC - - - 16 - 52 - 0 - EXC - - - 17 - 52 - 0 - EXC - - - 18 - 52 - 1 - EXC - - - 19 - 52 - 0 - EXC - - - 20 - 52 - 0 - EXC - - - 21 - 52 - 0 - EXC - - - 22 - 52 - 0 - EXC - - - 23 - 52 - 0 - EXC - - - 24 - 52 - 0 - EXC - - - 25 - 52 - 1 - EXC - - - 26 - 52 - 0 - EXC - - - 27 - 52 - 0 - EXC - - - 28 - 52 - 1 - EXC - - - 29 - 52 - 0 - EXC - - - 30 - 52 - 0 - EXC - - - 31 - 52 - 0 - EXC - - - 32 - 52 - 0 - EXC - - - 33 - 52 - 0 - EXC - - - 34 - 52 - 0 - EXC - - - 35 - 52 - 1 - EXC - - - 36 - 52 - 0 - EXC - - - 37 - 52 - 0 - EXC - - - 38 - 52 - 1 - EXC - - - 39 - 52 - 0 - EXC - - - 40 - 52 - 0 - EXC - - - 41 - 52 - 0 - EXC - - - 42 - 52 - 0 - EXC - - - 43 - 52 - 0 - EXC - - - 44 - 52 - 0 - EXC - - - 45 - 52 - 1 - EXC - - - 46 - 52 - 0 - EXC - - - 47 - 52 - 0 - EXC - - - 48 - 52 - 1 - EXC - - - 49 - 52 - 0 - EXC - - - 50 - 52 - 0 - EXC - - - 51 - 52 - 0 - EXC - - - 52 - 52 - 0 - EXC - - - 53 - 52 - 0 - EXC - - - 54 - 52 - 0 - EXC - - - 55 - 52 - 1 - EXC - - - 56 - 52 - 0 - EXC - - - 57 - 52 - 0 - EXC - - - 58 - 52 - 1 - EXC - - - 59 - 52 - 0 - EXC - - - 60 - 52 - 0 - EXC - - - 61 - 52 - 0 - EXC - - - 62 - 52 - 0 - EXC - - - 63 - 52 - 0 - EXC - - - 64 - 52 - 0 - EXC - - - 65 - 52 - 1 - EXC - - - 66 - 52 - 0 - EXC - - - 67 - 52 - 0 - EXC - - - 68 - 52 - 1 - EXC - - - 69 - 52 - 0 - EXC - - - 70 - 52 - 0 - EXC - - - 71 - 52 - 0 - EXC - - - 72 - 52 - 0 - EXC - - - 73 - 52 - 0 - EXC - - - 74 - 52 - 0 - EXC - - - 75 - 52 - 1 - EXC - - - 76 - 52 - 0 - EXC - - - 77 - 52 - 0 - EXC - - - 78 - 52 - 1 - EXC - - - 79 - 52 - 0 - EXC - - - 80 - 52 - 0 - EXC - - - 81 - 52 - 0 - EXC - - - 82 - 52 - 0 - EXC - - - 83 - 52 - 0 - EXC - - - 84 - 52 - 0 - EXC - - - 85 - 52 - 1 - EXC - - - 86 - 52 - 0 - EXC - - - 87 - 52 - 0 - EXC - - - 88 - 52 - 1 - EXC - - - 89 - 52 - 0 - EXC - - - 90 - 52 - 0 - EXC - - - 91 - 52 - 0 - EXC - - - 92 - 52 - 0 - EXC - - - 93 - 52 - 0 - EXC - - - 94 - 52 - 0 - EXC - - - 95 - 52 - 1 - EXC - - - 96 - 52 - 0 - EXC - - - 97 - 52 - 0 - EXC - - - 98 - 52 - 1 - EXC - - - 99 - 52 - 0 - EXC - - - 0 - 53 - 0 - EXC - - - 1 - 53 - 0 - INH - - - 2 - 53 - 1 - EXC - - - 3 - 53 - 0 - EXC - - - 4 - 53 - 0 - EXC - - - 5 - 53 - 0 - INH - - - 6 - 53 - 0 - EXC - - - 7 - 53 - 0 - INH - - - 8 - 53 - 0 - EXC - - - 9 - 53 - 0 - EXC - - - 10 - 53 - 0 - EXC - - - 11 - 53 - 0 - INH - - - 12 - 53 - 1 - EXC - - - 13 - 53 - 0 - EXC - - - 14 - 53 - 0 - EXC - - - 15 - 53 - 0 - INH - - - 16 - 53 - 0 - EXC - - - 17 - 53 - 0 - INH - - - 18 - 53 - 0 - EXC - - - 19 - 53 - 0 - EXC - - - 20 - 53 - 0 - EXC - - - 21 - 53 - 0 - INH - - - 22 - 53 - 1 - EXC - - - 23 - 53 - 0 - EXC - - - 24 - 53 - 0 - EXC - - - 25 - 53 - 0 - INH - - - 26 - 53 - 0 - EXC - - - 27 - 53 - 0 - INH - - - 28 - 53 - 0 - EXC - - - 29 - 53 - 0 - EXC - - - 30 - 53 - 0 - EXC - - - 31 - 53 - 0 - INH - - - 32 - 53 - 1 - EXC - - - 33 - 53 - 0 - EXC - - - 34 - 53 - 0 - EXC - - - 35 - 53 - 0 - INH - - - 36 - 53 - 0 - EXC - - - 37 - 53 - 0 - INH - - - 38 - 53 - 0 - EXC - - - 39 - 53 - 0 - EXC - - - 40 - 53 - 0 - EXC - - - 41 - 53 - 0 - INH - - - 42 - 53 - 1 - EXC - - - 43 - 53 - 0 - EXC - - - 44 - 53 - 0 - EXC - - - 45 - 53 - 0 - INH - - - 46 - 53 - 0 - EXC - - - 47 - 53 - 0 - INH - - - 48 - 53 - 0 - EXC - - - 49 - 53 - 0 - EXC - - - 50 - 53 - 0 - EXC - - - 51 - 53 - 0 - INH - - - 52 - 53 - 1 - EXC - - - 53 - 53 - 0 - EXC - - - 54 - 53 - 0 - EXC - - - 55 - 53 - 0 - INH - - - 56 - 53 - 0 - EXC - - - 57 - 53 - 0 - INH - - - 58 - 53 - 0 - EXC - - - 59 - 53 - 0 - EXC - - - 60 - 53 - 0 - EXC - - - 61 - 53 - 0 - INH - - - 62 - 53 - 1 - EXC - - - 63 - 53 - 0 - EXC - - - 64 - 53 - 0 - EXC - - - 65 - 53 - 0 - INH - - - 66 - 53 - 0 - EXC - - - 67 - 53 - 0 - INH - - - 68 - 53 - 0 - EXC - - - 69 - 53 - 0 - EXC - - - 70 - 53 - 0 - EXC - - - 71 - 53 - 0 - INH - - - 72 - 53 - 1 - EXC - - - 73 - 53 - 0 - EXC - - - 74 - 53 - 0 - EXC - - - 75 - 53 - 0 - INH - - - 76 - 53 - 0 - EXC - - - 77 - 53 - 0 - INH - - - 78 - 53 - 0 - EXC - - - 79 - 53 - 0 - EXC - - - 80 - 53 - 0 - EXC - - - 81 - 53 - 0 - INH - - - 82 - 53 - 1 - EXC - - - 83 - 53 - 0 - EXC - - - 84 - 53 - 0 - EXC - - - 85 - 53 - 0 - INH - - - 86 - 53 - 0 - EXC - - - 87 - 53 - 0 - INH - - - 88 - 53 - 0 - EXC - - - 89 - 53 - 0 - EXC - - - 90 - 53 - 0 - EXC - - - 91 - 53 - 0 - INH - - - 92 - 53 - 1 - EXC - - - 93 - 53 - 0 - EXC - - - 94 - 53 - 0 - EXC - - - 95 - 53 - 0 - INH - - - 96 - 53 - 0 - EXC - - - 97 - 53 - 0 - INH - - - 98 - 53 - 0 - EXC - - - 99 - 53 - 0 - EXC - - - 0 - 54 - 0 - EXC - - - 1 - 54 - 0 - EXC - - - 2 - 54 - 0 - EXC - - - 3 - 54 - 0 - INH - - - 4 - 54 - 0 - EXC - - - 5 - 54 - 0 - EXC - - - 6 - 54 - 0 - EXC - - - 7 - 54 - 0 - EXC - - - 8 - 54 - 0 - EXC - - - 9 - 54 - 0 - INH - - - 10 - 54 - 0 - EXC - - - 11 - 54 - 0 - EXC - - - 12 - 54 - 0 - EXC - - - 13 - 54 - 0 - INH - - - 14 - 54 - 0 - EXC - - - 15 - 54 - 0 - EXC - - - 16 - 54 - 0 - EXC - - - 17 - 54 - 0 - EXC - - - 18 - 54 - 0 - EXC - - - 19 - 54 - 0 - INH - - - 20 - 54 - 0 - EXC - - - 21 - 54 - 0 - EXC - - - 22 - 54 - 0 - EXC - - - 23 - 54 - 0 - INH - - - 24 - 54 - 0 - EXC - - - 25 - 54 - 0 - EXC - - - 26 - 54 - 0 - EXC - - - 27 - 54 - 0 - EXC - - - 28 - 54 - 0 - EXC - - - 29 - 54 - 0 - INH - - - 30 - 54 - 0 - EXC - - - 31 - 54 - 0 - EXC - - - 32 - 54 - 0 - EXC - - - 33 - 54 - 0 - INH - - - 34 - 54 - 0 - EXC - - - 35 - 54 - 0 - EXC - - - 36 - 54 - 0 - EXC - - - 37 - 54 - 0 - EXC - - - 38 - 54 - 0 - EXC - - - 39 - 54 - 0 - INH - - - 40 - 54 - 0 - EXC - - - 41 - 54 - 0 - EXC - - - 42 - 54 - 0 - EXC - - - 43 - 54 - 0 - INH - - - 44 - 54 - 0 - EXC - - - 45 - 54 - 0 - EXC - - - 46 - 54 - 0 - EXC - - - 47 - 54 - 0 - EXC - - - 48 - 54 - 0 - EXC - - - 49 - 54 - 0 - INH - - - 50 - 54 - 0 - EXC - - - 51 - 54 - 0 - EXC - - - 52 - 54 - 0 - EXC - - - 53 - 54 - 0 - INH - - - 54 - 54 - 0 - EXC - - - 55 - 54 - 0 - EXC - - - 56 - 54 - 0 - EXC - - - 57 - 54 - 0 - EXC - - - 58 - 54 - 0 - EXC - - - 59 - 54 - 0 - INH - - - 60 - 54 - 0 - EXC - - - 61 - 54 - 0 - EXC - - - 62 - 54 - 0 - EXC - - - 63 - 54 - 0 - INH - - - 64 - 54 - 0 - EXC - - - 65 - 54 - 0 - EXC - - - 66 - 54 - 0 - EXC - - - 67 - 54 - 0 - EXC - - - 68 - 54 - 0 - EXC - - - 69 - 54 - 0 - INH - - - 70 - 54 - 0 - EXC - - - 71 - 54 - 0 - EXC - - - 72 - 54 - 0 - EXC - - - 73 - 54 - 0 - INH - - - 74 - 54 - 0 - EXC - - - 75 - 54 - 0 - EXC - - - 76 - 54 - 0 - EXC - - - 77 - 54 - 0 - EXC - - - 78 - 54 - 0 - EXC - - - 79 - 54 - 0 - INH - - - 80 - 54 - 0 - EXC - - - 81 - 54 - 0 - EXC - - - 82 - 54 - 0 - EXC - - - 83 - 54 - 0 - INH - - - 84 - 54 - 0 - EXC - - - 85 - 54 - 0 - EXC - - - 86 - 54 - 0 - EXC - - - 87 - 54 - 0 - EXC - - - 88 - 54 - 0 - EXC - - - 89 - 54 - 0 - INH - - - 90 - 54 - 0 - EXC - - - 91 - 54 - 0 - EXC - - - 92 - 54 - 0 - EXC - - - 93 - 54 - 0 - INH - - - 94 - 54 - 0 - EXC - - - 95 - 54 - 0 - EXC - - - 96 - 54 - 0 - EXC - - - 97 - 54 - 0 - EXC - - - 98 - 54 - 0 - EXC - - - 99 - 54 - 0 - INH - - - 0 - 55 - 0 - EXC - - - 1 - 55 - 0 - EXC - - - 2 - 55 - 0 - EXC - - - 3 - 55 - 0 - EXC - - - 4 - 55 - 0 - EXC - - - 5 - 55 - 1 - EXC - - - 6 - 55 - 0 - EXC - - - 7 - 55 - 0 - EXC - - - 8 - 55 - 1 - EXC - - - 9 - 55 - 0 - EXC - - - 10 - 55 - 0 - EXC - - - 11 - 55 - 0 - EXC - - - 12 - 55 - 0 - EXC - - - 13 - 55 - 0 - EXC - - - 14 - 55 - 0 - EXC - - - 15 - 55 - 1 - EXC - - - 16 - 55 - 0 - EXC - - - 17 - 55 - 0 - EXC - - - 18 - 55 - 1 - EXC - - - 19 - 55 - 0 - EXC - - - 20 - 55 - 0 - EXC - - - 21 - 55 - 0 - EXC - - - 22 - 55 - 0 - EXC - - - 23 - 55 - 0 - EXC - - - 24 - 55 - 0 - EXC - - - 25 - 55 - 1 - EXC - - - 26 - 55 - 0 - EXC - - - 27 - 55 - 0 - EXC - - - 28 - 55 - 1 - EXC - - - 29 - 55 - 0 - EXC - - - 30 - 55 - 0 - EXC - - - 31 - 55 - 0 - EXC - - - 32 - 55 - 0 - EXC - - - 33 - 55 - 0 - EXC - - - 34 - 55 - 0 - EXC - - - 35 - 55 - 1 - EXC - - - 36 - 55 - 0 - EXC - - - 37 - 55 - 0 - EXC - - - 38 - 55 - 1 - EXC - - - 39 - 55 - 0 - EXC - - - 40 - 55 - 0 - EXC - - - 41 - 55 - 0 - EXC - - - 42 - 55 - 0 - EXC - - - 43 - 55 - 0 - EXC - - - 44 - 55 - 0 - EXC - - - 45 - 55 - 1 - EXC - - - 46 - 55 - 0 - EXC - - - 47 - 55 - 0 - EXC - - - 48 - 55 - 1 - EXC - - - 49 - 55 - 0 - EXC - - - 50 - 55 - 0 - EXC - - - 51 - 55 - 0 - EXC - - - 52 - 55 - 0 - EXC - - - 53 - 55 - 0 - EXC - - - 54 - 55 - 0 - EXC - - - 55 - 55 - 1 - EXC - - - 56 - 55 - 0 - EXC - - - 57 - 55 - 0 - EXC - - - 58 - 55 - 1 - EXC - - - 59 - 55 - 0 - EXC - - - 60 - 55 - 0 - EXC - - - 61 - 55 - 0 - EXC - - - 62 - 55 - 0 - EXC - - - 63 - 55 - 0 - EXC - - - 64 - 55 - 0 - EXC - - - 65 - 55 - 1 - EXC - - - 66 - 55 - 0 - EXC - - - 67 - 55 - 0 - EXC - - - 68 - 55 - 1 - EXC - - - 69 - 55 - 0 - EXC - - - 70 - 55 - 0 - EXC - - - 71 - 55 - 0 - EXC - - - 72 - 55 - 0 - EXC - - - 73 - 55 - 0 - EXC - - - 74 - 55 - 0 - EXC - - - 75 - 55 - 1 - EXC - - - 76 - 55 - 0 - EXC - - - 77 - 55 - 0 - EXC - - - 78 - 55 - 1 - EXC - - - 79 - 55 - 0 - EXC - - - 80 - 55 - 0 - EXC - - - 81 - 55 - 0 - EXC - - - 82 - 55 - 0 - EXC - - - 83 - 55 - 0 - EXC - - - 84 - 55 - 0 - EXC - - - 85 - 55 - 1 - EXC - - - 86 - 55 - 0 - EXC - - - 87 - 55 - 0 - EXC - - - 88 - 55 - 1 - EXC - - - 89 - 55 - 0 - EXC - - - 90 - 55 - 0 - EXC - - - 91 - 55 - 0 - EXC - - - 92 - 55 - 0 - EXC - - - 93 - 55 - 0 - EXC - - - 94 - 55 - 0 - EXC - - - 95 - 55 - 1 - EXC - - - 96 - 55 - 0 - EXC - - - 97 - 55 - 0 - EXC - - - 98 - 55 - 1 - EXC - - - 99 - 55 - 0 - EXC - - - 0 - 56 - 0 - EXC - - - 1 - 56 - 0 - INH - - - 2 - 56 - 1 - EXC - - - 3 - 56 - 0 - EXC - - - 4 - 56 - 0 - EXC - - - 5 - 56 - 0 - INH - - - 6 - 56 - 0 - EXC - - - 7 - 56 - 0 - INH - - - 8 - 56 - 0 - EXC - - - 9 - 56 - 0 - EXC - - - 10 - 56 - 0 - EXC - - - 11 - 56 - 0 - INH - - - 12 - 56 - 1 - EXC - - - 13 - 56 - 0 - EXC - - - 14 - 56 - 0 - EXC - - - 15 - 56 - 0 - INH - - - 16 - 56 - 0 - EXC - - - 17 - 56 - 0 - INH - - - 18 - 56 - 0 - EXC - - - 19 - 56 - 0 - EXC - - - 20 - 56 - 0 - EXC - - - 21 - 56 - 0 - INH - - - 22 - 56 - 1 - EXC - - - 23 - 56 - 0 - EXC - - - 24 - 56 - 0 - EXC - - - 25 - 56 - 0 - INH - - - 26 - 56 - 0 - EXC - - - 27 - 56 - 0 - INH - - - 28 - 56 - 0 - EXC - - - 29 - 56 - 0 - EXC - - - 30 - 56 - 0 - EXC - - - 31 - 56 - 0 - INH - - - 32 - 56 - 1 - EXC - - - 33 - 56 - 0 - EXC - - - 34 - 56 - 0 - EXC - - - 35 - 56 - 0 - INH - - - 36 - 56 - 0 - EXC - - - 37 - 56 - 0 - INH - - - 38 - 56 - 0 - EXC - - - 39 - 56 - 0 - EXC - - - 40 - 56 - 0 - EXC - - - 41 - 56 - 0 - INH - - - 42 - 56 - 1 - EXC - - - 43 - 56 - 0 - EXC - - - 44 - 56 - 0 - EXC - - - 45 - 56 - 0 - INH - - - 46 - 56 - 0 - EXC - - - 47 - 56 - 0 - INH - - - 48 - 56 - 0 - EXC - - - 49 - 56 - 0 - EXC - - - 50 - 56 - 0 - EXC - - - 51 - 56 - 0 - INH - - - 52 - 56 - 1 - EXC - - - 53 - 56 - 0 - EXC - - - 54 - 56 - 0 - EXC - - - 55 - 56 - 0 - INH - - - 56 - 56 - 0 - EXC - - - 57 - 56 - 0 - INH - - - 58 - 56 - 0 - EXC - - - 59 - 56 - 0 - EXC - - - 60 - 56 - 0 - EXC - - - 61 - 56 - 0 - INH - - - 62 - 56 - 1 - EXC - - - 63 - 56 - 0 - EXC - - - 64 - 56 - 0 - EXC - - - 65 - 56 - 0 - INH - - - 66 - 56 - 0 - EXC - - - 67 - 56 - 0 - INH - - - 68 - 56 - 0 - EXC - - - 69 - 56 - 0 - EXC - - - 70 - 56 - 0 - EXC - - - 71 - 56 - 0 - INH - - - 72 - 56 - 1 - EXC - - - 73 - 56 - 0 - EXC - - - 74 - 56 - 0 - EXC - - - 75 - 56 - 0 - INH - - - 76 - 56 - 0 - EXC - - - 77 - 56 - 0 - INH - - - 78 - 56 - 0 - EXC - - - 79 - 56 - 0 - EXC - - - 80 - 56 - 0 - EXC - - - 81 - 56 - 0 - INH - - - 82 - 56 - 1 - EXC - - - 83 - 56 - 0 - EXC - - - 84 - 56 - 0 - EXC - - - 85 - 56 - 0 - INH - - - 86 - 56 - 0 - EXC - - - 87 - 56 - 0 - INH - - - 88 - 56 - 0 - EXC - - - 89 - 56 - 0 - EXC - - - 90 - 56 - 0 - EXC - - - 91 - 56 - 0 - INH - - - 92 - 56 - 1 - EXC - - - 93 - 56 - 0 - EXC - - - 94 - 56 - 0 - EXC - - - 95 - 56 - 0 - INH - - - 96 - 56 - 0 - EXC - - - 97 - 56 - 0 - INH - - - 98 - 56 - 0 - EXC - - - 99 - 56 - 0 - EXC - - - 0 - 57 - 0 - EXC - - - 1 - 57 - 0 - EXC - - - 2 - 57 - 0 - EXC - - - 3 - 57 - 0 - INH - - - 4 - 57 - 0 - EXC - - - 5 - 57 - 0 - EXC - - - 6 - 57 - 0 - EXC - - - 7 - 57 - 0 - EXC - - - 8 - 57 - 0 - EXC - - - 9 - 57 - 0 - INH - - - 10 - 57 - 0 - EXC - - - 11 - 57 - 0 - EXC - - - 12 - 57 - 0 - EXC - - - 13 - 57 - 0 - INH - - - 14 - 57 - 0 - EXC - - - 15 - 57 - 0 - EXC - - - 16 - 57 - 0 - EXC - - - 17 - 57 - 0 - EXC - - - 18 - 57 - 0 - EXC - - - 19 - 57 - 0 - INH - - - 20 - 57 - 0 - EXC - - - 21 - 57 - 0 - EXC - - - 22 - 57 - 0 - EXC - - - 23 - 57 - 0 - INH - - - 24 - 57 - 0 - EXC - - - 25 - 57 - 0 - EXC - - - 26 - 57 - 0 - EXC - - - 27 - 57 - 0 - EXC - - - 28 - 57 - 0 - EXC - - - 29 - 57 - 0 - INH - - - 30 - 57 - 0 - EXC - - - 31 - 57 - 0 - EXC - - - 32 - 57 - 0 - EXC - - - 33 - 57 - 0 - INH - - - 34 - 57 - 0 - EXC - - - 35 - 57 - 0 - EXC - - - 36 - 57 - 0 - EXC - - - 37 - 57 - 0 - EXC - - - 38 - 57 - 0 - EXC - - - 39 - 57 - 0 - INH - - - 40 - 57 - 0 - EXC - - - 41 - 57 - 0 - EXC - - - 42 - 57 - 0 - EXC - - - 43 - 57 - 0 - INH - - - 44 - 57 - 0 - EXC - - - 45 - 57 - 0 - EXC - - - 46 - 57 - 0 - EXC - - - 47 - 57 - 0 - EXC - - - 48 - 57 - 0 - EXC - - - 49 - 57 - 0 - INH - - - 50 - 57 - 0 - EXC - - - 51 - 57 - 0 - EXC - - - 52 - 57 - 0 - EXC - - - 53 - 57 - 0 - INH - - - 54 - 57 - 0 - EXC - - - 55 - 57 - 0 - EXC - - - 56 - 57 - 0 - EXC - - - 57 - 57 - 0 - EXC - - - 58 - 57 - 0 - EXC - - - 59 - 57 - 0 - INH - - - 60 - 57 - 0 - EXC - - - 61 - 57 - 0 - EXC - - - 62 - 57 - 0 - EXC - - - 63 - 57 - 0 - INH - - - 64 - 57 - 0 - EXC - - - 65 - 57 - 0 - EXC - - - 66 - 57 - 0 - EXC - - - 67 - 57 - 0 - EXC - - - 68 - 57 - 0 - EXC - - - 69 - 57 - 0 - INH - - - 70 - 57 - 0 - EXC - - - 71 - 57 - 0 - EXC - - - 72 - 57 - 0 - EXC - - - 73 - 57 - 0 - INH - - - 74 - 57 - 0 - EXC - - - 75 - 57 - 0 - EXC - - - 76 - 57 - 0 - EXC - - - 77 - 57 - 0 - EXC - - - 78 - 57 - 0 - EXC - - - 79 - 57 - 0 - INH - - - 80 - 57 - 0 - EXC - - - 81 - 57 - 0 - EXC - - - 82 - 57 - 0 - EXC - - - 83 - 57 - 0 - INH - - - 84 - 57 - 0 - EXC - - - 85 - 57 - 0 - EXC - - - 86 - 57 - 0 - EXC - - - 87 - 57 - 0 - EXC - - - 88 - 57 - 0 - EXC - - - 89 - 57 - 0 - INH - - - 90 - 57 - 0 - EXC - - - 91 - 57 - 0 - EXC - - - 92 - 57 - 0 - EXC - - - 93 - 57 - 0 - EXC - - - 94 - 57 - 0 - EXC - - - 95 - 57 - 0 - EXC - - - 96 - 57 - 0 - EXC - - - 97 - 57 - 0 - EXC - - - 98 - 57 - 0 - EXC - - - 99 - 57 - 0 - INH - - - 0 - 58 - 0 - EXC - - - 1 - 58 - 0 - EXC - - - 2 - 58 - 0 - EXC - - - 3 - 58 - 0 - EXC - - - 4 - 58 - 0 - EXC - - - 5 - 58 - 1 - EXC - - - 6 - 58 - 0 - EXC - - - 7 - 58 - 0 - EXC - - - 8 - 58 - 1 - EXC - - - 9 - 58 - 0 - EXC - - - 10 - 58 - 0 - EXC - - - 11 - 58 - 0 - EXC - - - 12 - 58 - 0 - EXC - - - 13 - 58 - 0 - EXC - - - 14 - 58 - 0 - EXC - - - 15 - 58 - 1 - EXC - - - 16 - 58 - 0 - EXC - - - 17 - 58 - 0 - EXC - - - 18 - 58 - 1 - EXC - - - 19 - 58 - 0 - EXC - - - 20 - 58 - 0 - EXC - - - 21 - 58 - 0 - EXC - - - 22 - 58 - 0 - EXC - - - 23 - 58 - 0 - EXC - - - 24 - 58 - 0 - EXC - - - 25 - 58 - 1 - EXC - - - 26 - 58 - 0 - EXC - - - 27 - 58 - 0 - EXC - - - 28 - 58 - 1 - EXC - - - 29 - 58 - 0 - EXC - - - 30 - 58 - 0 - EXC - - - 31 - 58 - 0 - EXC - - - 32 - 58 - 0 - EXC - - - 33 - 58 - 0 - EXC - - - 34 - 58 - 0 - EXC - - - 35 - 58 - 1 - EXC - - - 36 - 58 - 0 - EXC - - - 37 - 58 - 0 - EXC - - - 38 - 58 - 1 - EXC - - - 39 - 58 - 0 - EXC - - - 40 - 58 - 0 - EXC - - - 41 - 58 - 0 - EXC - - - 42 - 58 - 0 - EXC - - - 43 - 58 - 0 - EXC - - - 44 - 58 - 0 - EXC - - - 45 - 58 - 1 - EXC - - - 46 - 58 - 0 - EXC - - - 47 - 58 - 0 - EXC - - - 48 - 58 - 1 - EXC - - - 49 - 58 - 0 - EXC - - - 50 - 58 - 0 - EXC - - - 51 - 58 - 0 - EXC - - - 52 - 58 - 0 - EXC - - - 53 - 58 - 0 - EXC - - - 54 - 58 - 0 - EXC - - - 55 - 58 - 1 - EXC - - - 56 - 58 - 0 - EXC - - - 57 - 58 - 0 - EXC - - - 58 - 58 - 1 - EXC - - - 59 - 58 - 0 - EXC - - - 60 - 58 - 0 - EXC - - - 61 - 58 - 0 - EXC - - - 62 - 58 - 0 - EXC - - - 63 - 58 - 0 - EXC - - - 64 - 58 - 0 - EXC - - - 65 - 58 - 1 - EXC - - - 66 - 58 - 0 - EXC - - - 67 - 58 - 0 - EXC - - - 68 - 58 - 1 - EXC - - - 69 - 58 - 0 - EXC - - - 70 - 58 - 0 - EXC - - - 71 - 58 - 0 - EXC - - - 72 - 58 - 0 - EXC - - - 73 - 58 - 0 - EXC - - - 74 - 58 - 0 - EXC - - - 75 - 58 - 1 - EXC - - - 76 - 58 - 0 - EXC - - - 77 - 58 - 0 - EXC - - - 78 - 58 - 1 - EXC - - - 79 - 58 - 0 - EXC - - - 80 - 58 - 0 - EXC - - - 81 - 58 - 0 - EXC - - - 82 - 58 - 0 - EXC - - - 83 - 58 - 0 - EXC - - - 84 - 58 - 0 - EXC - - - 85 - 58 - 1 - EXC - - - 86 - 58 - 0 - EXC - - - 87 - 58 - 0 - EXC - - - 88 - 58 - 1 - EXC - - - 89 - 58 - 0 - EXC - - - 90 - 58 - 0 - EXC - - - 91 - 58 - 0 - EXC - - - 92 - 58 - 0 - EXC - - - 93 - 58 - 0 - EXC - - - 94 - 58 - 0 - EXC - - - 95 - 58 - 1 - EXC - - - 96 - 58 - 0 - EXC - - - 97 - 58 - 0 - EXC - - - 98 - 58 - 1 - EXC - - - 99 - 58 - 0 - EXC - - - 0 - 59 - 0 - EXC - - - 1 - 59 - 0 - INH - - - 2 - 59 - 1 - EXC - - - 3 - 59 - 0 - INH - - - 4 - 59 - 0 - EXC - - - 5 - 59 - 0 - INH - - - 6 - 59 - 0 - EXC - - - 7 - 59 - 0 - INH - - - 8 - 59 - 0 - EXC - - - 9 - 59 - 0 - INH - - - 10 - 59 - 0 - EXC - - - 11 - 59 - 0 - INH - - - 12 - 59 - 1 - EXC - - - 13 - 59 - 0 - INH - - - 14 - 59 - 0 - EXC - - - 15 - 59 - 0 - INH - - - 16 - 59 - 0 - EXC - - - 17 - 59 - 0 - INH - - - 18 - 59 - 0 - EXC - - - 19 - 59 - 0 - INH - - - 20 - 59 - 0 - EXC - - - 21 - 59 - 0 - INH - - - 22 - 59 - 1 - EXC - - - 23 - 59 - 0 - INH - - - 24 - 59 - 0 - EXC - - - 25 - 59 - 0 - INH - - - 26 - 59 - 0 - EXC - - - 27 - 59 - 0 - INH - - - 28 - 59 - 0 - EXC - - - 29 - 59 - 0 - INH - - - 30 - 59 - 0 - EXC - - - 31 - 59 - 0 - INH - - - 32 - 59 - 1 - EXC - - - 33 - 59 - 0 - INH - - - 34 - 59 - 0 - EXC - - - 35 - 59 - 0 - INH - - - 36 - 59 - 0 - EXC - - - 37 - 59 - 0 - INH - - - 38 - 59 - 0 - EXC - - - 39 - 59 - 0 - INH - - - 40 - 59 - 0 - EXC - - - 41 - 59 - 0 - INH - - - 42 - 59 - 1 - EXC - - - 43 - 59 - 0 - INH - - - 44 - 59 - 0 - EXC - - - 45 - 59 - 0 - INH - - - 46 - 59 - 0 - EXC - - - 47 - 59 - 0 - INH - - - 48 - 59 - 0 - EXC - - - 49 - 59 - 0 - INH - - - 50 - 59 - 0 - EXC - - - 51 - 59 - 0 - INH - - - 52 - 59 - 1 - EXC - - - 53 - 59 - 0 - INH - - - 54 - 59 - 0 - EXC - - - 55 - 59 - 0 - INH - - - 56 - 59 - 0 - EXC - - - 57 - 59 - 0 - INH - - - 58 - 59 - 0 - EXC - - - 59 - 59 - 0 - INH - - - 60 - 59 - 0 - EXC - - - 61 - 59 - 0 - INH - - - 62 - 59 - 1 - EXC - - - 63 - 59 - 0 - INH - - - 64 - 59 - 0 - EXC - - - 65 - 59 - 0 - INH - - - 66 - 59 - 0 - EXC - - - 67 - 59 - 0 - INH - - - 68 - 59 - 0 - EXC - - - 69 - 59 - 0 - INH - - - 70 - 59 - 0 - EXC - - - 71 - 59 - 0 - INH - - - 72 - 59 - 1 - EXC - - - 73 - 59 - 0 - INH - - - 74 - 59 - 0 - EXC - - - 75 - 59 - 0 - INH - - - 76 - 59 - 0 - EXC - - - 77 - 59 - 0 - INH - - - 78 - 59 - 0 - EXC - - - 79 - 59 - 0 - INH - - - 80 - 59 - 0 - EXC - - - 81 - 59 - 0 - INH - - - 82 - 59 - 1 - EXC - - - 83 - 59 - 0 - INH - - - 84 - 59 - 0 - EXC - - - 85 - 59 - 0 - INH - - - 86 - 59 - 0 - EXC - - - 87 - 59 - 0 - INH - - - 88 - 59 - 0 - EXC - - - 89 - 59 - 0 - INH - - - 90 - 59 - 0 - EXC - - - 91 - 59 - 0 - INH - - - 92 - 59 - 1 - EXC - - - 93 - 59 - 0 - INH - - - 94 - 59 - 0 - EXC - - - 95 - 59 - 0 - INH - - - 96 - 59 - 0 - EXC - - - 97 - 59 - 0 - INH - - - 98 - 59 - 0 - EXC - - - 99 - 59 - 0 - INH - - - 0 - 60 - 0 - INH - - - 1 - 60 - 0 - EXC - - - 2 - 60 - 0 - INH - - - 3 - 60 - 0 - EXC - - - 4 - 60 - 0 - INH - - - 5 - 60 - 0 - EXC - - - 6 - 60 - 0 - INH - - - 7 - 60 - 1 - EXC - - - 8 - 60 - 0 - INH - - - 9 - 60 - 0 - EXC - - - 10 - 60 - 0 - INH - - - 11 - 60 - 0 - EXC - - - 12 - 60 - 0 - INH - - - 13 - 60 - 0 - EXC - - - 14 - 60 - 0 - INH - - - 15 - 60 - 0 - EXC - - - 16 - 60 - 0 - INH - - - 17 - 60 - 1 - EXC - - - 18 - 60 - 0 - INH - - - 19 - 60 - 0 - EXC - - - 20 - 60 - 0 - INH - - - 21 - 60 - 0 - EXC - - - 22 - 60 - 0 - INH - - - 23 - 60 - 0 - EXC - - - 24 - 60 - 0 - EXC - - - 25 - 60 - 0 - EXC - - - 26 - 60 - 0 - INH - - - 27 - 60 - 1 - EXC - - - 28 - 60 - 0 - INH - - - 29 - 60 - 0 - EXC - - - 30 - 60 - 0 - INH - - - 31 - 60 - 0 - EXC - - - 32 - 60 - 0 - INH - - - 33 - 60 - 0 - EXC - - - 34 - 60 - 0 - INH - - - 35 - 60 - 0 - EXC - - - 36 - 60 - 0 - INH - - - 37 - 60 - 1 - EXC - - - 38 - 60 - 0 - INH - - - 39 - 60 - 0 - EXC - - - 40 - 60 - 0 - INH - - - 41 - 60 - 0 - EXC - - - 42 - 60 - 0 - INH - - - 43 - 60 - 0 - EXC - - - 44 - 60 - 0 - INH - - - 45 - 60 - 0 - EXC - - - 46 - 60 - 0 - INH - - - 47 - 60 - 1 - EXC - - - 48 - 60 - 0 - INH - - - 49 - 60 - 0 - EXC - - - 50 - 60 - 0 - INH - - - 51 - 60 - 0 - EXC - - - 52 - 60 - 0 - INH - - - 53 - 60 - 0 - EXC - - - 54 - 60 - 0 - INH - - - 55 - 60 - 0 - EXC - - - 56 - 60 - 0 - INH - - - 57 - 60 - 1 - EXC - - - 58 - 60 - 0 - INH - - - 59 - 60 - 0 - EXC - - - 60 - 60 - 0 - INH - - - 61 - 60 - 0 - EXC - - - 62 - 60 - 0 - INH - - - 63 - 60 - 0 - EXC - - - 64 - 60 - 0 - INH - - - 65 - 60 - 0 - EXC - - - 66 - 60 - 0 - INH - - - 67 - 60 - 1 - EXC - - - 68 - 60 - 0 - INH - - - 69 - 60 - 0 - EXC - - - 70 - 60 - 0 - INH - - - 71 - 60 - 0 - EXC - - - 72 - 60 - 0 - INH - - - 73 - 60 - 0 - EXC - - - 74 - 60 - 0 - INH - - - 75 - 60 - 0 - EXC - - - 76 - 60 - 0 - INH - - - 77 - 60 - 1 - EXC - - - 78 - 60 - 0 - INH - - - 79 - 60 - 0 - EXC - - - 80 - 60 - 0 - INH - - - 81 - 60 - 0 - EXC - - - 82 - 60 - 0 - INH - - - 83 - 60 - 0 - EXC - - - 84 - 60 - 0 - INH - - - 85 - 60 - 0 - EXC - - - 86 - 60 - 0 - INH - - - 87 - 60 - 1 - EXC - - - 88 - 60 - 0 - INH - - - 89 - 60 - 0 - EXC - - - 90 - 60 - 0 - INH - - - 91 - 60 - 0 - EXC - - - 92 - 60 - 0 - INH - - - 93 - 60 - 0 - EXC - - - 94 - 60 - 0 - INH - - - 95 - 60 - 0 - EXC - - - 96 - 60 - 0 - INH - - - 97 - 60 - 1 - EXC - - - 98 - 60 - 0 - INH - - - 99 - 60 - 0 - EXC - - - 0 - 61 - 0 - EXC - - - 1 - 61 - 1 - EXC - - - 2 - 61 - 0 - EXC - - - 3 - 61 - 0 - EXC - - - 4 - 61 - 1 - EXC - - - 5 - 61 - 0 - EXC - - - 6 - 61 - 0 - EXC - - - 7 - 61 - 0 - EXC - - - 8 - 61 - 0 - EXC - - - 9 - 61 - 0 - EXC - - - 10 - 61 - 0 - EXC - - - 11 - 61 - 1 - EXC - - - 12 - 61 - 0 - EXC - - - 13 - 61 - 0 - EXC - - - 14 - 61 - 1 - EXC - - - 15 - 61 - 0 - EXC - - - 16 - 61 - 0 - EXC - - - 17 - 61 - 0 - EXC - - - 18 - 61 - 0 - EXC - - - 19 - 61 - 0 - EXC - - - 20 - 61 - 0 - EXC - - - 21 - 61 - 1 - EXC - - - 22 - 61 - 0 - EXC - - - 23 - 61 - 0 - EXC - - - 24 - 61 - 1 - EXC - - - 25 - 61 - 0 - EXC - - - 26 - 61 - 0 - EXC - - - 27 - 61 - 0 - EXC - - - 28 - 61 - 0 - EXC - - - 29 - 61 - 0 - EXC - - - 30 - 61 - 0 - EXC - - - 31 - 61 - 1 - EXC - - - 32 - 61 - 0 - EXC - - - 33 - 61 - 0 - EXC - - - 34 - 61 - 1 - EXC - - - 35 - 61 - 0 - EXC - - - 36 - 61 - 0 - EXC - - - 37 - 61 - 0 - EXC - - - 38 - 61 - 0 - EXC - - - 39 - 61 - 0 - EXC - - - 40 - 61 - 0 - EXC - - - 41 - 61 - 1 - EXC - - - 42 - 61 - 0 - EXC - - - 43 - 61 - 0 - EXC - - - 44 - 61 - 1 - EXC - - - 45 - 61 - 0 - EXC - - - 46 - 61 - 0 - EXC - - - 47 - 61 - 0 - EXC - - - 48 - 61 - 0 - EXC - - - 49 - 61 - 0 - EXC - - - 50 - 61 - 0 - EXC - - - 51 - 61 - 1 - EXC - - - 52 - 61 - 0 - EXC - - - 53 - 61 - 0 - EXC - - - 54 - 61 - 1 - EXC - - - 55 - 61 - 0 - EXC - - - 56 - 61 - 0 - EXC - - - 57 - 61 - 0 - EXC - - - 58 - 61 - 0 - EXC - - - 59 - 61 - 0 - EXC - - - 60 - 61 - 0 - EXC - - - 61 - 61 - 1 - EXC - - - 62 - 61 - 0 - EXC - - - 63 - 61 - 0 - EXC - - - 64 - 61 - 1 - EXC - - - 65 - 61 - 0 - EXC - - - 66 - 61 - 0 - EXC - - - 67 - 61 - 0 - EXC - - - 68 - 61 - 0 - EXC - - - 69 - 61 - 0 - EXC - - - 70 - 61 - 0 - EXC - - - 71 - 61 - 1 - EXC - - - 72 - 61 - 0 - EXC - - - 73 - 61 - 0 - EXC - - - 74 - 61 - 1 - EXC - - - 75 - 61 - 0 - EXC - - - 76 - 61 - 0 - EXC - - - 77 - 61 - 0 - EXC - - - 78 - 61 - 0 - EXC - - - 79 - 61 - 0 - EXC - - - 80 - 61 - 0 - EXC - - - 81 - 61 - 1 - EXC - - - 82 - 61 - 0 - EXC - - - 83 - 61 - 0 - EXC - - - 84 - 61 - 1 - EXC - - - 85 - 61 - 0 - EXC - - - 86 - 61 - 0 - EXC - - - 87 - 61 - 0 - EXC - - - 88 - 61 - 0 - EXC - - - 89 - 61 - 0 - EXC - - - 90 - 61 - 0 - EXC - - - 91 - 61 - 1 - EXC - - - 92 - 61 - 0 - EXC - - - 93 - 61 - 0 - EXC - - - 94 - 61 - 1 - EXC - - - 95 - 61 - 0 - EXC - - - 96 - 61 - 0 - EXC - - - 97 - 61 - 0 - EXC - - - 98 - 61 - 0 - EXC - - - 99 - 61 - 0 - EXC - - - 0 - 62 - 0 - INH - - - 1 - 62 - 0 - EXC - - - 2 - 62 - 0 - EXC - - - 3 - 62 - 0 - EXC - - - 4 - 62 - 0 - EXC - - - 5 - 62 - 0 - EXC - - - 6 - 62 - 0 - INH - - - 7 - 62 - 0 - EXC - - - 8 - 62 - 0 - EXC - - - 9 - 62 - 0 - EXC - - - 10 - 62 - 0 - INH - - - 11 - 62 - 0 - EXC - - - 12 - 62 - 0 - EXC - - - 13 - 62 - 0 - EXC - - - 14 - 62 - 0 - EXC - - - 15 - 62 - 0 - EXC - - - 16 - 62 - 0 - INH - - - 17 - 62 - 0 - EXC - - - 18 - 62 - 0 - EXC - - - 19 - 62 - 0 - EXC - - - 20 - 62 - 0 - INH - - - 21 - 62 - 0 - EXC - - - 22 - 62 - 0 - EXC - - - 23 - 62 - 0 - EXC - - - 24 - 62 - 0 - EXC - - - 25 - 62 - 0 - EXC - - - 26 - 62 - 0 - INH - - - 27 - 62 - 0 - EXC - - - 28 - 62 - 0 - EXC - - - 29 - 62 - 0 - EXC - - - 30 - 62 - 0 - INH - - - 31 - 62 - 0 - EXC - - - 32 - 62 - 0 - EXC - - - 33 - 62 - 0 - EXC - - - 34 - 62 - 0 - EXC - - - 35 - 62 - 0 - EXC - - - 36 - 62 - 0 - INH - - - 37 - 62 - 0 - EXC - - - 38 - 62 - 0 - EXC - - - 39 - 62 - 0 - EXC - - - 40 - 62 - 0 - INH - - - 41 - 62 - 0 - EXC - - - 42 - 62 - 0 - EXC - - - 43 - 62 - 0 - EXC - - - 44 - 62 - 0 - EXC - - - 45 - 62 - 0 - EXC - - - 46 - 62 - 0 - INH - - - 47 - 62 - 0 - EXC - - - 48 - 62 - 0 - EXC - - - 49 - 62 - 0 - EXC - - - 50 - 62 - 0 - INH - - - 51 - 62 - 0 - EXC - - - 52 - 62 - 0 - EXC - - - 53 - 62 - 0 - EXC - - - 54 - 62 - 0 - EXC - - - 55 - 62 - 0 - EXC - - - 56 - 62 - 0 - INH - - - 57 - 62 - 0 - EXC - - - 58 - 62 - 0 - EXC - - - 59 - 62 - 0 - EXC - - - 60 - 62 - 0 - INH - - - 61 - 62 - 0 - EXC - - - 62 - 62 - 0 - EXC - - - 63 - 62 - 0 - EXC - - - 64 - 62 - 0 - EXC - - - 65 - 62 - 0 - EXC - - - 66 - 62 - 0 - INH - - - 67 - 62 - 0 - EXC - - - 68 - 62 - 0 - EXC - - - 69 - 62 - 0 - EXC - - - 70 - 62 - 0 - INH - - - 71 - 62 - 0 - EXC - - - 72 - 62 - 0 - EXC - - - 73 - 62 - 0 - EXC - - - 74 - 62 - 0 - EXC - - - 75 - 62 - 0 - EXC - - - 76 - 62 - 0 - INH - - - 77 - 62 - 0 - EXC - - - 78 - 62 - 0 - EXC - - - 79 - 62 - 0 - EXC - - - 80 - 62 - 0 - INH - - - 81 - 62 - 0 - EXC - - - 82 - 62 - 0 - EXC - - - 83 - 62 - 0 - EXC - - - 84 - 62 - 0 - EXC - - - 85 - 62 - 0 - EXC - - - 86 - 62 - 0 - INH - - - 87 - 62 - 0 - EXC - - - 88 - 62 - 0 - EXC - - - 89 - 62 - 0 - EXC - - - 90 - 62 - 0 - INH - - - 91 - 62 - 0 - EXC - - - 92 - 62 - 0 - EXC - - - 93 - 62 - 0 - EXC - - - 94 - 62 - 0 - EXC - - - 95 - 62 - 0 - EXC - - - 96 - 62 - 0 - INH - - - 97 - 62 - 0 - EXC - - - 98 - 62 - 0 - EXC - - - 99 - 62 - 0 - EXC - - - 0 - 63 - 0 - EXC - - - 1 - 63 - 0 - EXC - - - 2 - 63 - 0 - INH - - - 3 - 63 - 0 - EXC - - - 4 - 63 - 0 - INH - - - 5 - 63 - 0 - EXC - - - 6 - 63 - 0 - EXC - - - 7 - 63 - 1 - EXC - - - 8 - 63 - 0 - INH - - - 9 - 63 - 0 - EXC - - - 10 - 63 - 0 - EXC - - - 11 - 63 - 0 - EXC - - - 12 - 63 - 0 - INH - - - 13 - 63 - 0 - EXC - - - 14 - 63 - 0 - INH - - - 15 - 63 - 0 - EXC - - - 16 - 63 - 0 - EXC - - - 17 - 63 - 1 - EXC - - - 18 - 63 - 0 - INH - - - 19 - 63 - 0 - EXC - - - 20 - 63 - 0 - EXC - - - 21 - 63 - 0 - EXC - - - 22 - 63 - 0 - INH - - - 23 - 63 - 0 - EXC - - - 24 - 63 - 0 - INH - - - 25 - 63 - 0 - EXC - - - 26 - 63 - 0 - EXC - - - 27 - 63 - 1 - EXC - - - 28 - 63 - 0 - INH - - - 29 - 63 - 0 - EXC - - - 30 - 63 - 0 - EXC - - - 31 - 63 - 0 - EXC - - - 32 - 63 - 0 - INH - - - 33 - 63 - 0 - EXC - - - 34 - 63 - 0 - INH - - - 35 - 63 - 0 - EXC - - - 36 - 63 - 0 - EXC - - - 37 - 63 - 1 - EXC - - - 38 - 63 - 0 - INH - - - 39 - 63 - 0 - EXC - - - 40 - 63 - 0 - EXC - - - 41 - 63 - 0 - EXC - - - 42 - 63 - 0 - INH - - - 43 - 63 - 0 - EXC - - - 44 - 63 - 0 - INH - - - 45 - 63 - 0 - EXC - - - 46 - 63 - 0 - EXC - - - 47 - 63 - 1 - EXC - - - 48 - 63 - 0 - INH - - - 49 - 63 - 0 - EXC - - - 50 - 63 - 0 - EXC - - - 51 - 63 - 0 - EXC - - - 52 - 63 - 0 - INH - - - 53 - 63 - 0 - EXC - - - 54 - 63 - 0 - INH - - - 55 - 63 - 0 - EXC - - - 56 - 63 - 0 - EXC - - - 57 - 63 - 1 - EXC - - - 58 - 63 - 0 - INH - - - 59 - 63 - 0 - EXC - - - 60 - 63 - 0 - EXC - - - 61 - 63 - 0 - EXC - - - 62 - 63 - 0 - INH - - - 63 - 63 - 0 - EXC - - - 64 - 63 - 0 - INH - - - 65 - 63 - 0 - EXC - - - 66 - 63 - 0 - EXC - - - 67 - 63 - 1 - EXC - - - 68 - 63 - 0 - INH - - - 69 - 63 - 0 - EXC - - - 70 - 63 - 0 - EXC - - - 71 - 63 - 0 - EXC - - - 72 - 63 - 0 - INH - - - 73 - 63 - 0 - EXC - - - 74 - 63 - 0 - INH - - - 75 - 63 - 0 - EXC - - - 76 - 63 - 0 - EXC - - - 77 - 63 - 1 - EXC - - - 78 - 63 - 0 - INH - - - 79 - 63 - 0 - EXC - - - 80 - 63 - 0 - EXC - - - 81 - 63 - 0 - EXC - - - 82 - 63 - 0 - INH - - - 83 - 63 - 0 - EXC - - - 84 - 63 - 0 - INH - - - 85 - 63 - 0 - EXC - - - 86 - 63 - 0 - EXC - - - 87 - 63 - 1 - EXC - - - 88 - 63 - 0 - INH - - - 89 - 63 - 0 - EXC - - - 90 - 63 - 0 - EXC - - - 91 - 63 - 0 - EXC - - - 92 - 63 - 0 - INH - - - 93 - 63 - 0 - EXC - - - 94 - 63 - 0 - INH - - - 95 - 63 - 0 - EXC - - - 96 - 63 - 0 - EXC - - - 97 - 63 - 1 - EXC - - - 98 - 63 - 0 - INH - - - 99 - 63 - 0 - EXC - - - 0 - 64 - 0 - EXC - - - 1 - 64 - 1 - EXC - - - 2 - 64 - 0 - EXC - - - 3 - 64 - 0 - EXC - - - 4 - 64 - 1 - EXC - - - 5 - 64 - 0 - EXC - - - 6 - 64 - 0 - EXC - - - 7 - 64 - 0 - EXC - - - 8 - 64 - 0 - EXC - - - 9 - 64 - 0 - EXC - - - 10 - 64 - 0 - EXC - - - 11 - 64 - 1 - EXC - - - 12 - 64 - 0 - EXC - - - 13 - 64 - 0 - EXC - - - 14 - 64 - 1 - EXC - - - 15 - 64 - 0 - EXC - - - 16 - 64 - 0 - EXC - - - 17 - 64 - 0 - EXC - - - 18 - 64 - 0 - EXC - - - 19 - 64 - 0 - EXC - - - 20 - 64 - 0 - EXC - - - 21 - 64 - 1 - EXC - - - 22 - 64 - 0 - EXC - - - 23 - 64 - 0 - EXC - - - 24 - 64 - 1 - EXC - - - 25 - 64 - 0 - EXC - - - 26 - 64 - 0 - EXC - - - 27 - 64 - 0 - EXC - - - 28 - 64 - 0 - EXC - - - 29 - 64 - 0 - EXC - - - 30 - 64 - 0 - EXC - - - 31 - 64 - 1 - EXC - - - 32 - 64 - 0 - EXC - - - 33 - 64 - 0 - EXC - - - 34 - 64 - 1 - EXC - - - 35 - 64 - 0 - EXC - - - 36 - 64 - 0 - EXC - - - 37 - 64 - 0 - EXC - - - 38 - 64 - 0 - EXC - - - 39 - 64 - 0 - EXC - - - 40 - 64 - 0 - EXC - - - 41 - 64 - 1 - EXC - - - 42 - 64 - 0 - EXC - - - 43 - 64 - 0 - EXC - - - 44 - 64 - 1 - EXC - - - 45 - 64 - 0 - EXC - - - 46 - 64 - 0 - EXC - - - 47 - 64 - 0 - EXC - - - 48 - 64 - 0 - EXC - - - 49 - 64 - 0 - EXC - - - 50 - 64 - 0 - EXC - - - 51 - 64 - 1 - EXC - - - 52 - 64 - 0 - EXC - - - 53 - 64 - 0 - EXC - - - 54 - 64 - 1 - EXC - - - 55 - 64 - 0 - EXC - - - 56 - 64 - 0 - EXC - - - 57 - 64 - 0 - EXC - - - 58 - 64 - 0 - EXC - - - 59 - 64 - 0 - EXC - - - 60 - 64 - 0 - EXC - - - 61 - 64 - 1 - EXC - - - 62 - 64 - 0 - EXC - - - 63 - 64 - 0 - EXC - - - 64 - 64 - 1 - EXC - - - 65 - 64 - 0 - EXC - - - 66 - 64 - 0 - EXC - - - 67 - 64 - 0 - EXC - - - 68 - 64 - 0 - EXC - - - 69 - 64 - 0 - EXC - - - 70 - 64 - 0 - EXC - - - 71 - 64 - 1 - EXC - - - 72 - 64 - 0 - EXC - - - 73 - 64 - 0 - EXC - - - 74 - 64 - 1 - EXC - - - 75 - 64 - 0 - EXC - - - 76 - 64 - 0 - EXC - - - 77 - 64 - 0 - EXC - - - 78 - 64 - 0 - EXC - - - 79 - 64 - 0 - EXC - - - 80 - 64 - 0 - EXC - - - 81 - 64 - 1 - EXC - - - 82 - 64 - 0 - EXC - - - 83 - 64 - 0 - EXC - - - 84 - 64 - 1 - EXC - - - 85 - 64 - 0 - EXC - - - 86 - 64 - 0 - EXC - - - 87 - 64 - 0 - EXC - - - 88 - 64 - 0 - EXC - - - 89 - 64 - 0 - EXC - - - 90 - 64 - 0 - EXC - - - 91 - 64 - 1 - EXC - - - 92 - 64 - 0 - EXC - - - 93 - 64 - 0 - EXC - - - 94 - 64 - 1 - EXC - - - 95 - 64 - 0 - EXC - - - 96 - 64 - 0 - EXC - - - 97 - 64 - 0 - EXC - - - 98 - 64 - 0 - EXC - - - 99 - 64 - 0 - EXC - - - 0 - 65 - 0 - INH - - - 1 - 65 - 0 - EXC - - - 2 - 65 - 0 - EXC - - - 3 - 65 - 0 - EXC - - - 4 - 65 - 0 - EXC - - - 5 - 65 - 0 - EXC - - - 6 - 65 - 0 - INH - - - 7 - 65 - 0 - EXC - - - 8 - 65 - 0 - EXC - - - 9 - 65 - 0 - EXC - - - 10 - 65 - 0 - INH - - - 11 - 65 - 0 - EXC - - - 12 - 65 - 0 - EXC - - - 13 - 65 - 0 - EXC - - - 14 - 65 - 0 - EXC - - - 15 - 65 - 0 - EXC - - - 16 - 65 - 0 - INH - - - 17 - 65 - 0 - EXC - - - 18 - 65 - 0 - EXC - - - 19 - 65 - 0 - EXC - - - 20 - 65 - 0 - INH - - - 21 - 65 - 0 - EXC - - - 22 - 65 - 0 - EXC - - - 23 - 65 - 0 - EXC - - - 24 - 65 - 0 - EXC - - - 25 - 65 - 0 - EXC - - - 26 - 65 - 0 - INH - - - 27 - 65 - 0 - EXC - - - 28 - 65 - 0 - EXC - - - 29 - 65 - 0 - EXC - - - 30 - 65 - 0 - INH - - - 31 - 65 - 0 - EXC - - - 32 - 65 - 0 - EXC - - - 33 - 65 - 0 - EXC - - - 34 - 65 - 0 - EXC - - - 35 - 65 - 0 - EXC - - - 36 - 65 - 0 - INH - - - 37 - 65 - 0 - EXC - - - 38 - 65 - 0 - EXC - - - 39 - 65 - 0 - EXC - - - 40 - 65 - 0 - INH - - - 41 - 65 - 0 - EXC - - - 42 - 65 - 0 - EXC - - - 43 - 65 - 0 - EXC - - - 44 - 65 - 0 - EXC - - - 45 - 65 - 0 - EXC - - - 46 - 65 - 0 - INH - - - 47 - 65 - 0 - EXC - - - 48 - 65 - 0 - EXC - - - 49 - 65 - 0 - EXC - - - 50 - 65 - 0 - INH - - - 51 - 65 - 0 - EXC - - - 52 - 65 - 0 - EXC - - - 53 - 65 - 0 - EXC - - - 54 - 65 - 0 - EXC - - - 55 - 65 - 0 - EXC - - - 56 - 65 - 0 - INH - - - 57 - 65 - 0 - EXC - - - 58 - 65 - 0 - EXC - - - 59 - 65 - 0 - EXC - - - 60 - 65 - 0 - INH - - - 61 - 65 - 0 - EXC - - - 62 - 65 - 0 - EXC - - - 63 - 65 - 0 - EXC - - - 64 - 65 - 0 - EXC - - - 65 - 65 - 0 - EXC - - - 66 - 65 - 0 - INH - - - 67 - 65 - 0 - EXC - - - 68 - 65 - 0 - EXC - - - 69 - 65 - 0 - EXC - - - 70 - 65 - 0 - INH - - - 71 - 65 - 0 - EXC - - - 72 - 65 - 0 - EXC - - - 73 - 65 - 0 - EXC - - - 74 - 65 - 0 - EXC - - - 75 - 65 - 0 - EXC - - - 76 - 65 - 0 - INH - - - 77 - 65 - 0 - EXC - - - 78 - 65 - 0 - EXC - - - 79 - 65 - 0 - EXC - - - 80 - 65 - 0 - INH - - - 81 - 65 - 0 - EXC - - - 82 - 65 - 0 - EXC - - - 83 - 65 - 0 - EXC - - - 84 - 65 - 0 - EXC - - - 85 - 65 - 0 - EXC - - - 86 - 65 - 0 - INH - - - 87 - 65 - 0 - EXC - - - 88 - 65 - 0 - EXC - - - 89 - 65 - 0 - EXC - - - 90 - 65 - 0 - INH - - - 91 - 65 - 0 - EXC - - - 92 - 65 - 0 - EXC - - - 93 - 65 - 0 - EXC - - - 94 - 65 - 0 - EXC - - - 95 - 65 - 0 - EXC - - - 96 - 65 - 0 - INH - - - 97 - 65 - 0 - EXC - - - 98 - 65 - 0 - EXC - - - 99 - 65 - 0 - EXC - - - 0 - 66 - 0 - EXC - - - 1 - 66 - 0 - EXC - - - 2 - 66 - 0 - INH - - - 3 - 66 - 0 - EXC - - - 4 - 66 - 0 - INH - - - 5 - 66 - 0 - EXC - - - 6 - 66 - 0 - EXC - - - 7 - 66 - 1 - EXC - - - 8 - 66 - 0 - INH - - - 9 - 66 - 0 - EXC - - - 10 - 66 - 0 - EXC - - - 11 - 66 - 0 - EXC - - - 12 - 66 - 0 - INH - - - 13 - 66 - 0 - EXC - - - 14 - 66 - 0 - INH - - - 15 - 66 - 0 - EXC - - - 16 - 66 - 0 - EXC - - - 17 - 66 - 1 - EXC - - - 18 - 66 - 0 - INH - - - 19 - 66 - 0 - EXC - - - 20 - 66 - 0 - EXC - - - 21 - 66 - 0 - EXC - - - 22 - 66 - 0 - INH - - - 23 - 66 - 0 - EXC - - - 24 - 66 - 0 - INH - - - 25 - 66 - 0 - EXC - - - 26 - 66 - 0 - EXC - - - 27 - 66 - 1 - EXC - - - 28 - 66 - 0 - INH - - - 29 - 66 - 0 - EXC - - - 30 - 66 - 0 - EXC - - - 31 - 66 - 0 - EXC - - - 32 - 66 - 0 - INH - - - 33 - 66 - 0 - EXC - - - 34 - 66 - 0 - INH - - - 35 - 66 - 0 - EXC - - - 36 - 66 - 0 - EXC - - - 37 - 66 - 1 - EXC - - - 38 - 66 - 0 - INH - - - 39 - 66 - 0 - EXC - - - 40 - 66 - 0 - EXC - - - 41 - 66 - 0 - EXC - - - 42 - 66 - 0 - INH - - - 43 - 66 - 0 - EXC - - - 44 - 66 - 0 - INH - - - 45 - 66 - 0 - EXC - - - 46 - 66 - 0 - EXC - - - 47 - 66 - 1 - EXC - - - 48 - 66 - 0 - INH - - - 49 - 66 - 0 - EXC - - - 50 - 66 - 0 - EXC - - - 51 - 66 - 0 - EXC - - - 52 - 66 - 0 - INH - - - 53 - 66 - 0 - EXC - - - 54 - 66 - 0 - INH - - - 55 - 66 - 0 - EXC - - - 56 - 66 - 0 - EXC - - - 57 - 66 - 1 - EXC - - - 58 - 66 - 0 - INH - - - 59 - 66 - 0 - EXC - - - 60 - 66 - 0 - EXC - - - 61 - 66 - 0 - EXC - - - 62 - 66 - 0 - INH - - - 63 - 66 - 0 - EXC - - - 64 - 66 - 0 - INH - - - 65 - 66 - 0 - EXC - - - 66 - 66 - 0 - EXC - - - 67 - 66 - 1 - EXC - - - 68 - 66 - 0 - INH - - - 69 - 66 - 0 - EXC - - - 70 - 66 - 0 - EXC - - - 71 - 66 - 0 - EXC - - - 72 - 66 - 0 - INH - - - 73 - 66 - 0 - EXC - - - 74 - 66 - 0 - INH - - - 75 - 66 - 0 - EXC - - - 76 - 66 - 0 - EXC - - - 77 - 66 - 1 - EXC - - - 78 - 66 - 0 - INH - - - 79 - 66 - 0 - EXC - - - 80 - 66 - 0 - EXC - - - 81 - 66 - 0 - EXC - - - 82 - 66 - 0 - INH - - - 83 - 66 - 0 - EXC - - - 84 - 66 - 0 - INH - - - 85 - 66 - 0 - EXC - - - 86 - 66 - 0 - EXC - - - 87 - 66 - 1 - EXC - - - 88 - 66 - 0 - INH - - - 89 - 66 - 0 - EXC - - - 90 - 66 - 0 - EXC - - - 91 - 66 - 0 - EXC - - - 92 - 66 - 0 - INH - - - 93 - 66 - 0 - EXC - - - 94 - 66 - 0 - INH - - - 95 - 66 - 0 - EXC - - - 96 - 66 - 0 - EXC - - - 97 - 66 - 1 - EXC - - - 98 - 66 - 0 - INH - - - 99 - 66 - 0 - EXC - - - 0 - 67 - 0 - EXC - - - 1 - 67 - 1 - EXC - - - 2 - 67 - 0 - EXC - - - 3 - 67 - 0 - EXC - - - 4 - 67 - 1 - EXC - - - 5 - 67 - 0 - EXC - - - 6 - 67 - 0 - EXC - - - 7 - 67 - 0 - EXC - - - 8 - 67 - 0 - EXC - - - 9 - 67 - 0 - EXC - - - 10 - 67 - 0 - EXC - - - 11 - 67 - 1 - EXC - - - 12 - 67 - 0 - EXC - - - 13 - 67 - 0 - EXC - - - 14 - 67 - 1 - EXC - - - 15 - 67 - 0 - EXC - - - 16 - 67 - 0 - EXC - - - 17 - 67 - 0 - EXC - - - 18 - 67 - 0 - EXC - - - 19 - 67 - 0 - EXC - - - 20 - 67 - 0 - EXC - - - 21 - 67 - 1 - EXC - - - 22 - 67 - 0 - EXC - - - 23 - 67 - 0 - EXC - - - 24 - 67 - 1 - EXC - - - 25 - 67 - 0 - EXC - - - 26 - 67 - 0 - EXC - - - 27 - 67 - 0 - EXC - - - 28 - 67 - 0 - EXC - - - 29 - 67 - 0 - EXC - - - 30 - 67 - 0 - EXC - - - 31 - 67 - 1 - EXC - - - 32 - 67 - 0 - EXC - - - 33 - 67 - 0 - EXC - - - 34 - 67 - 1 - EXC - - - 35 - 67 - 0 - EXC - - - 36 - 67 - 0 - EXC - - - 37 - 67 - 0 - EXC - - - 38 - 67 - 0 - EXC - - - 39 - 67 - 0 - EXC - - - 40 - 67 - 0 - EXC - - - 41 - 67 - 1 - EXC - - - 42 - 67 - 0 - EXC - - - 43 - 67 - 0 - EXC - - - 44 - 67 - 1 - EXC - - - 45 - 67 - 0 - EXC - - - 46 - 67 - 0 - EXC - - - 47 - 67 - 0 - EXC - - - 48 - 67 - 0 - EXC - - - 49 - 67 - 0 - EXC - - - 50 - 67 - 0 - EXC - - - 51 - 67 - 1 - EXC - - - 52 - 67 - 0 - EXC - - - 53 - 67 - 0 - EXC - - - 54 - 67 - 1 - EXC - - - 55 - 67 - 0 - EXC - - - 56 - 67 - 0 - EXC - - - 57 - 67 - 0 - EXC - - - 58 - 67 - 0 - EXC - - - 59 - 67 - 0 - EXC - - - 60 - 67 - 0 - EXC - - - 61 - 67 - 1 - EXC - - - 62 - 67 - 0 - EXC - - - 63 - 67 - 0 - EXC - - - 64 - 67 - 1 - EXC - - - 65 - 67 - 0 - EXC - - - 66 - 67 - 0 - EXC - - - 67 - 67 - 0 - EXC - - - 68 - 67 - 0 - EXC - - - 69 - 67 - 0 - EXC - - - 70 - 67 - 0 - EXC - - - 71 - 67 - 1 - EXC - - - 72 - 67 - 0 - EXC - - - 73 - 67 - 0 - EXC - - - 74 - 67 - 1 - EXC - - - 75 - 67 - 0 - EXC - - - 76 - 67 - 0 - EXC - - - 77 - 67 - 0 - EXC - - - 78 - 67 - 0 - EXC - - - 79 - 67 - 0 - EXC - - - 80 - 67 - 0 - EXC - - - 81 - 67 - 1 - EXC - - - 82 - 67 - 0 - EXC - - - 83 - 67 - 0 - EXC - - - 84 - 67 - 1 - EXC - - - 85 - 67 - 0 - EXC - - - 86 - 67 - 0 - EXC - - - 87 - 67 - 0 - EXC - - - 88 - 67 - 0 - EXC - - - 89 - 67 - 0 - EXC - - - 90 - 67 - 0 - EXC - - - 91 - 67 - 1 - EXC - - - 92 - 67 - 0 - EXC - - - 93 - 67 - 0 - EXC - - - 94 - 67 - 1 - EXC - - - 95 - 67 - 0 - EXC - - - 96 - 67 - 0 - EXC - - - 97 - 67 - 0 - EXC - - - 98 - 67 - 0 - EXC - - - 99 - 67 - 0 - EXC - - - 0 - 68 - 0 - INH - - - 1 - 68 - 0 - EXC - - - 2 - 68 - 0 - EXC - - - 3 - 68 - 0 - EXC - - - 4 - 68 - 0 - EXC - - - 5 - 68 - 0 - EXC - - - 6 - 68 - 0 - INH - - - 7 - 68 - 0 - EXC - - - 8 - 68 - 0 - EXC - - - 9 - 68 - 0 - EXC - - - 10 - 68 - 0 - INH - - - 11 - 68 - 0 - EXC - - - 12 - 68 - 0 - EXC - - - 13 - 68 - 0 - EXC - - - 14 - 68 - 0 - EXC - - - 15 - 68 - 0 - EXC - - - 16 - 68 - 0 - INH - - - 17 - 68 - 0 - EXC - - - 18 - 68 - 0 - EXC - - - 19 - 68 - 0 - EXC - - - 20 - 68 - 0 - INH - - - 21 - 68 - 0 - EXC - - - 22 - 68 - 0 - EXC - - - 23 - 68 - 0 - EXC - - - 24 - 68 - 0 - EXC - - - 25 - 68 - 0 - EXC - - - 26 - 68 - 0 - INH - - - 27 - 68 - 0 - EXC - - - 28 - 68 - 0 - EXC - - - 29 - 68 - 0 - EXC - - - 30 - 68 - 0 - INH - - - 31 - 68 - 0 - EXC - - - 32 - 68 - 0 - EXC - - - 33 - 68 - 0 - EXC - - - 34 - 68 - 0 - EXC - - - 35 - 68 - 0 - EXC - - - 36 - 68 - 0 - INH - - - 37 - 68 - 0 - EXC - - - 38 - 68 - 0 - EXC - - - 39 - 68 - 0 - EXC - - - 40 - 68 - 0 - INH - - - 41 - 68 - 0 - EXC - - - 42 - 68 - 0 - EXC - - - 43 - 68 - 0 - EXC - - - 44 - 68 - 0 - EXC - - - 45 - 68 - 0 - EXC - - - 46 - 68 - 0 - INH - - - 47 - 68 - 0 - EXC - - - 48 - 68 - 0 - EXC - - - 49 - 68 - 0 - EXC - - - 50 - 68 - 0 - INH - - - 51 - 68 - 0 - EXC - - - 52 - 68 - 0 - EXC - - - 53 - 68 - 0 - EXC - - - 54 - 68 - 0 - EXC - - - 55 - 68 - 0 - EXC - - - 56 - 68 - 0 - INH - - - 57 - 68 - 0 - EXC - - - 58 - 68 - 0 - EXC - - - 59 - 68 - 0 - EXC - - - 60 - 68 - 0 - INH - - - 61 - 68 - 0 - EXC - - - 62 - 68 - 0 - EXC - - - 63 - 68 - 0 - EXC - - - 64 - 68 - 0 - EXC - - - 65 - 68 - 0 - EXC - - - 66 - 68 - 0 - INH - - - 67 - 68 - 0 - EXC - - - 68 - 68 - 0 - EXC - - - 69 - 68 - 0 - EXC - - - 70 - 68 - 0 - INH - - - 71 - 68 - 0 - EXC - - - 72 - 68 - 0 - EXC - - - 73 - 68 - 0 - EXC - - - 74 - 68 - 0 - EXC - - - 75 - 68 - 0 - EXC - - - 76 - 68 - 0 - INH - - - 77 - 68 - 0 - EXC - - - 78 - 68 - 0 - EXC - - - 79 - 68 - 0 - EXC - - - 80 - 68 - 0 - INH - - - 81 - 68 - 0 - EXC - - - 82 - 68 - 0 - EXC - - - 83 - 68 - 0 - EXC - - - 84 - 68 - 0 - EXC - - - 85 - 68 - 0 - EXC - - - 86 - 68 - 0 - INH - - - 87 - 68 - 0 - EXC - - - 88 - 68 - 0 - EXC - - - 89 - 68 - 0 - EXC - - - 90 - 68 - 0 - INH - - - 91 - 68 - 0 - EXC - - - 92 - 68 - 0 - EXC - - - 93 - 68 - 0 - EXC - - - 94 - 68 - 0 - EXC - - - 95 - 68 - 0 - EXC - - - 96 - 68 - 0 - INH - - - 97 - 68 - 0 - EXC - - - 98 - 68 - 0 - EXC - - - 99 - 68 - 0 - EXC - - - 0 - 69 - 0 - EXC - - - 1 - 69 - 0 - EXC - - - 2 - 69 - 0 - INH - - - 3 - 69 - 0 - EXC - - - 4 - 69 - 0 - INH - - - 5 - 69 - 0 - EXC - - - 6 - 69 - 0 - EXC - - - 7 - 69 - 1 - EXC - - - 8 - 69 - 0 - INH - - - 9 - 69 - 0 - EXC - - - 10 - 69 - 0 - EXC - - - 11 - 69 - 0 - EXC - - - 12 - 69 - 0 - INH - - - 13 - 69 - 0 - EXC - - - 14 - 69 - 0 - INH - - - 15 - 69 - 0 - EXC - - - 16 - 69 - 0 - EXC - - - 17 - 69 - 1 - EXC - - - 18 - 69 - 0 - INH - - - 19 - 69 - 0 - EXC - - - 20 - 69 - 0 - EXC - - - 21 - 69 - 0 - EXC - - - 22 - 69 - 0 - INH - - - 23 - 69 - 0 - EXC - - - 24 - 69 - 0 - INH - - - 25 - 69 - 0 - EXC - - - 26 - 69 - 0 - EXC - - - 27 - 69 - 1 - EXC - - - 28 - 69 - 0 - INH - - - 29 - 69 - 0 - EXC - - - 30 - 69 - 0 - EXC - - - 31 - 69 - 0 - EXC - - - 32 - 69 - 0 - INH - - - 33 - 69 - 0 - EXC - - - 34 - 69 - 0 - INH - - - 35 - 69 - 0 - EXC - - - 36 - 69 - 0 - EXC - - - 37 - 69 - 1 - EXC - - - 38 - 69 - 0 - INH - - - 39 - 69 - 0 - EXC - - - 40 - 69 - 0 - EXC - - - 41 - 69 - 0 - EXC - - - 42 - 69 - 0 - INH - - - 43 - 69 - 0 - EXC - - - 44 - 69 - 0 - INH - - - 45 - 69 - 0 - EXC - - - 46 - 69 - 0 - EXC - - - 47 - 69 - 1 - EXC - - - 48 - 69 - 0 - INH - - - 49 - 69 - 0 - EXC - - - 50 - 69 - 0 - EXC - - - 51 - 69 - 0 - EXC - - - 52 - 69 - 0 - INH - - - 53 - 69 - 0 - EXC - - - 54 - 69 - 0 - INH - - - 55 - 69 - 0 - EXC - - - 56 - 69 - 0 - EXC - - - 57 - 69 - 1 - EXC - - - 58 - 69 - 0 - INH - - - 59 - 69 - 0 - EXC - - - 60 - 69 - 0 - EXC - - - 61 - 69 - 0 - EXC - - - 62 - 69 - 0 - INH - - - 63 - 69 - 0 - EXC - - - 64 - 69 - 0 - INH - - - 65 - 69 - 0 - EXC - - - 66 - 69 - 0 - EXC - - - 67 - 69 - 1 - EXC - - - 68 - 69 - 0 - INH - - - 69 - 69 - 0 - EXC - - - 70 - 69 - 0 - EXC - - - 71 - 69 - 0 - EXC - - - 72 - 69 - 0 - INH - - - 73 - 69 - 0 - EXC - - - 74 - 69 - 0 - INH - - - 75 - 69 - 0 - EXC - - - 76 - 69 - 0 - EXC - - - 77 - 69 - 1 - EXC - - - 78 - 69 - 0 - INH - - - 79 - 69 - 0 - EXC - - - 80 - 69 - 0 - EXC - - - 81 - 69 - 0 - EXC - - - 82 - 69 - 0 - INH - - - 83 - 69 - 0 - EXC - - - 84 - 69 - 0 - INH - - - 85 - 69 - 0 - EXC - - - 86 - 69 - 0 - EXC - - - 87 - 69 - 1 - EXC - - - 88 - 69 - 0 - INH - - - 89 - 69 - 0 - EXC - - - 90 - 69 - 0 - EXC - - - 91 - 69 - 0 - EXC - - - 92 - 69 - 0 - INH - - - 93 - 69 - 0 - EXC - - - 94 - 69 - 0 - INH - - - 95 - 69 - 0 - EXC - - - 96 - 69 - 0 - EXC - - - 97 - 69 - 1 - EXC - - - 98 - 69 - 0 - INH - - - 99 - 69 - 0 - EXC - - - 0 - 70 - 0 - EXC - - - 1 - 70 - 0 - INH - - - 2 - 70 - 1 - EXC - - - 3 - 70 - 0 - EXC - - - 4 - 70 - 0 - EXC - - - 5 - 70 - 0 - INH - - - 6 - 70 - 0 - EXC - - - 7 - 70 - 0 - INH - - - 8 - 70 - 0 - EXC - - - 9 - 70 - 0 - EXC - - - 10 - 70 - 0 - EXC - - - 11 - 70 - 0 - INH - - - 12 - 70 - 1 - EXC - - - 13 - 70 - 0 - EXC - - - 14 - 70 - 0 - EXC - - - 15 - 70 - 0 - INH - - - 16 - 70 - 0 - EXC - - - 17 - 70 - 0 - INH - - - 18 - 70 - 0 - EXC - - - 19 - 70 - 0 - EXC - - - 20 - 70 - 0 - EXC - - - 21 - 70 - 0 - INH - - - 22 - 70 - 1 - EXC - - - 23 - 70 - 0 - EXC - - - 24 - 70 - 0 - EXC - - - 25 - 70 - 0 - INH - - - 26 - 70 - 0 - EXC - - - 27 - 70 - 0 - INH - - - 28 - 70 - 0 - EXC - - - 29 - 70 - 0 - EXC - - - 30 - 70 - 0 - EXC - - - 31 - 70 - 0 - INH - - - 32 - 70 - 1 - EXC - - - 33 - 70 - 0 - EXC - - - 34 - 70 - 0 - EXC - - - 35 - 70 - 0 - INH - - - 36 - 70 - 0 - EXC - - - 37 - 70 - 0 - INH - - - 38 - 70 - 0 - EXC - - - 39 - 70 - 0 - EXC - - - 40 - 70 - 0 - EXC - - - 41 - 70 - 0 - INH - - - 42 - 70 - 1 - EXC - - - 43 - 70 - 0 - EXC - - - 44 - 70 - 0 - EXC - - - 45 - 70 - 0 - INH - - - 46 - 70 - 0 - EXC - - - 47 - 70 - 0 - INH - - - 48 - 70 - 0 - EXC - - - 49 - 70 - 0 - EXC - - - 50 - 70 - 0 - EXC - - - 51 - 70 - 0 - INH - - - 52 - 70 - 1 - EXC - - - 53 - 70 - 0 - EXC - - - 54 - 70 - 0 - EXC - - - 55 - 70 - 0 - INH - - - 56 - 70 - 0 - EXC - - - 57 - 70 - 0 - INH - - - 58 - 70 - 0 - EXC - - - 59 - 70 - 0 - EXC - - - 60 - 70 - 0 - EXC - - - 61 - 70 - 0 - INH - - - 62 - 70 - 1 - EXC - - - 63 - 70 - 0 - EXC - - - 64 - 70 - 0 - EXC - - - 65 - 70 - 0 - INH - - - 66 - 70 - 0 - EXC - - - 67 - 70 - 0 - INH - - - 68 - 70 - 0 - EXC - - - 69 - 70 - 0 - EXC - - - 70 - 70 - 0 - EXC - - - 71 - 70 - 0 - INH - - - 72 - 70 - 1 - EXC - - - 73 - 70 - 0 - EXC - - - 74 - 70 - 0 - EXC - - - 75 - 70 - 0 - INH - - - 76 - 70 - 0 - EXC - - - 77 - 70 - 0 - INH - - - 78 - 70 - 0 - EXC - - - 79 - 70 - 0 - EXC - - - 80 - 70 - 0 - EXC - - - 81 - 70 - 0 - INH - - - 82 - 70 - 1 - EXC - - - 83 - 70 - 0 - EXC - - - 84 - 70 - 0 - EXC - - - 85 - 70 - 0 - INH - - - 86 - 70 - 0 - EXC - - - 87 - 70 - 0 - INH - - - 88 - 70 - 0 - EXC - - - 89 - 70 - 0 - EXC - - - 90 - 70 - 0 - EXC - - - 91 - 70 - 0 - INH - - - 92 - 70 - 1 - EXC - - - 93 - 70 - 0 - EXC - - - 94 - 70 - 0 - EXC - - - 95 - 70 - 0 - INH - - - 96 - 70 - 0 - EXC - - - 97 - 70 - 0 - INH - - - 98 - 70 - 0 - EXC - - - 99 - 70 - 0 - EXC - - - 0 - 71 - 0 - EXC - - - 1 - 71 - 0 - EXC - - - 2 - 71 - 0 - EXC - - - 3 - 71 - 0 - INH - - - 4 - 71 - 0 - EXC - - - 5 - 71 - 0 - EXC - - - 6 - 71 - 0 - EXC - - - 7 - 71 - 0 - EXC - - - 8 - 71 - 0 - EXC - - - 9 - 71 - 0 - INH - - - 10 - 71 - 0 - EXC - - - 11 - 71 - 0 - EXC - - - 12 - 71 - 0 - EXC - - - 13 - 71 - 0 - INH - - - 14 - 71 - 0 - EXC - - - 15 - 71 - 0 - EXC - - - 16 - 71 - 0 - EXC - - - 17 - 71 - 0 - EXC - - - 18 - 71 - 0 - EXC - - - 19 - 71 - 0 - INH - - - 20 - 71 - 0 - EXC - - - 21 - 71 - 0 - EXC - - - 22 - 71 - 0 - EXC - - - 23 - 71 - 0 - INH - - - 24 - 71 - 0 - EXC - - - 25 - 71 - 0 - EXC - - - 26 - 71 - 0 - EXC - - - 27 - 71 - 0 - EXC - - - 28 - 71 - 0 - EXC - - - 29 - 71 - 0 - INH - - - 30 - 71 - 0 - EXC - - - 31 - 71 - 0 - EXC - - - 32 - 71 - 0 - EXC - - - 33 - 71 - 0 - INH - - - 34 - 71 - 0 - EXC - - - 35 - 71 - 0 - EXC - - - 36 - 71 - 0 - EXC - - - 37 - 71 - 0 - EXC - - - 38 - 71 - 0 - EXC - - - 39 - 71 - 0 - INH - - - 40 - 71 - 0 - EXC - - - 41 - 71 - 0 - EXC - - - 42 - 71 - 0 - EXC - - - 43 - 71 - 0 - INH - - - 44 - 71 - 0 - EXC - - - 45 - 71 - 0 - EXC - - - 46 - 71 - 0 - EXC - - - 47 - 71 - 0 - EXC - - - 48 - 71 - 0 - EXC - - - 49 - 71 - 0 - INH - - - 50 - 71 - 0 - EXC - - - 51 - 71 - 0 - EXC - - - 52 - 71 - 0 - EXC - - - 53 - 71 - 0 - INH - - - 54 - 71 - 0 - EXC - - - 55 - 71 - 0 - EXC - - - 56 - 71 - 0 - EXC - - - 57 - 71 - 0 - EXC - - - 58 - 71 - 0 - EXC - - - 59 - 71 - 0 - INH - - - 60 - 71 - 0 - EXC - - - 61 - 71 - 0 - EXC - - - 62 - 71 - 0 - EXC - - - 63 - 71 - 0 - INH - - - 64 - 71 - 0 - EXC - - - 65 - 71 - 0 - EXC - - - 66 - 71 - 0 - EXC - - - 67 - 71 - 0 - EXC - - - 68 - 71 - 0 - EXC - - - 69 - 71 - 0 - INH - - - 70 - 71 - 0 - EXC - - - 71 - 71 - 0 - EXC - - - 72 - 71 - 0 - EXC - - - 73 - 71 - 0 - INH - - - 74 - 71 - 0 - EXC - - - 75 - 71 - 0 - EXC - - - 76 - 71 - 0 - EXC - - - 77 - 71 - 0 - EXC - - - 78 - 71 - 0 - EXC - - - 79 - 71 - 0 - INH - - - 80 - 71 - 0 - EXC - - - 81 - 71 - 0 - EXC - - - 82 - 71 - 0 - EXC - - - 83 - 71 - 0 - INH - - - 84 - 71 - 0 - EXC - - - 85 - 71 - 0 - EXC - - - 86 - 71 - 0 - EXC - - - 87 - 71 - 0 - EXC - - - 88 - 71 - 0 - EXC - - - 89 - 71 - 0 - INH - - - 90 - 71 - 0 - EXC - - - 91 - 71 - 0 - EXC - - - 92 - 71 - 0 - EXC - - - 93 - 71 - 0 - INH - - - 94 - 71 - 0 - EXC - - - 95 - 71 - 0 - EXC - - - 96 - 71 - 0 - EXC - - - 97 - 71 - 0 - EXC - - - 98 - 71 - 0 - EXC - - - 99 - 71 - 0 - INH - - - 0 - 72 - 0 - EXC - - - 1 - 72 - 0 - EXC - - - 2 - 72 - 0 - EXC - - - 3 - 72 - 0 - EXC - - - 4 - 72 - 0 - EXC - - - 5 - 72 - 1 - EXC - - - 6 - 72 - 0 - EXC - - - 7 - 72 - 0 - EXC - - - 8 - 72 - 1 - EXC - - - 9 - 72 - 0 - EXC - - - 10 - 72 - 0 - EXC - - - 11 - 72 - 0 - EXC - - - 12 - 72 - 0 - EXC - - - 13 - 72 - 0 - EXC - - - 14 - 72 - 0 - EXC - - - 15 - 72 - 1 - EXC - - - 16 - 72 - 0 - EXC - - - 17 - 72 - 0 - EXC - - - 18 - 72 - 1 - EXC - - - 19 - 72 - 0 - EXC - - - 20 - 72 - 0 - EXC - - - 21 - 72 - 0 - EXC - - - 22 - 72 - 0 - EXC - - - 23 - 72 - 0 - EXC - - - 24 - 72 - 0 - EXC - - - 25 - 72 - 1 - EXC - - - 26 - 72 - 0 - EXC - - - 27 - 72 - 0 - EXC - - - 28 - 72 - 1 - EXC - - - 29 - 72 - 0 - EXC - - - 30 - 72 - 0 - EXC - - - 31 - 72 - 0 - EXC - - - 32 - 72 - 0 - EXC - - - 33 - 72 - 0 - EXC - - - 34 - 72 - 0 - EXC - - - 35 - 72 - 1 - EXC - - - 36 - 72 - 0 - EXC - - - 37 - 72 - 0 - EXC - - - 38 - 72 - 1 - EXC - - - 39 - 72 - 0 - EXC - - - 40 - 72 - 0 - EXC - - - 41 - 72 - 0 - EXC - - - 42 - 72 - 0 - EXC - - - 43 - 72 - 0 - EXC - - - 44 - 72 - 0 - EXC - - - 45 - 72 - 1 - EXC - - - 46 - 72 - 0 - EXC - - - 47 - 72 - 0 - EXC - - - 48 - 72 - 1 - EXC - - - 49 - 72 - 0 - EXC - - - 50 - 72 - 0 - EXC - - - 51 - 72 - 0 - EXC - - - 52 - 72 - 0 - EXC - - - 53 - 72 - 0 - EXC - - - 54 - 72 - 0 - EXC - - - 55 - 72 - 1 - EXC - - - 56 - 72 - 0 - EXC - - - 57 - 72 - 0 - EXC - - - 58 - 72 - 1 - EXC - - - 59 - 72 - 0 - EXC - - - 60 - 72 - 0 - EXC - - - 61 - 72 - 0 - EXC - - - 62 - 72 - 0 - EXC - - - 63 - 72 - 0 - EXC - - - 64 - 72 - 0 - EXC - - - 65 - 72 - 1 - EXC - - - 66 - 72 - 0 - EXC - - - 67 - 72 - 0 - EXC - - - 68 - 72 - 1 - EXC - - - 69 - 72 - 0 - EXC - - - 70 - 72 - 0 - EXC - - - 71 - 72 - 0 - EXC - - - 72 - 72 - 0 - EXC - - - 73 - 72 - 0 - EXC - - - 74 - 72 - 0 - EXC - - - 75 - 72 - 1 - EXC - - - 76 - 72 - 0 - EXC - - - 77 - 72 - 0 - EXC - - - 78 - 72 - 1 - EXC - - - 79 - 72 - 0 - EXC - - - 80 - 72 - 0 - EXC - - - 81 - 72 - 0 - EXC - - - 82 - 72 - 0 - EXC - - - 83 - 72 - 0 - EXC - - - 84 - 72 - 0 - EXC - - - 85 - 72 - 1 - EXC - - - 86 - 72 - 0 - EXC - - - 87 - 72 - 0 - EXC - - - 88 - 72 - 1 - EXC - - - 89 - 72 - 0 - EXC - - - 90 - 72 - 0 - EXC - - - 91 - 72 - 0 - EXC - - - 92 - 72 - 0 - EXC - - - 93 - 72 - 0 - EXC - - - 94 - 72 - 0 - EXC - - - 95 - 72 - 1 - EXC - - - 96 - 72 - 0 - EXC - - - 97 - 72 - 0 - EXC - - - 98 - 72 - 1 - EXC - - - 99 - 72 - 0 - EXC - - - 0 - 73 - 0 - EXC - - - 1 - 73 - 0 - INH - - - 2 - 73 - 1 - EXC - - - 3 - 73 - 0 - EXC - - - 4 - 73 - 0 - EXC - - - 5 - 73 - 0 - INH - - - 6 - 73 - 0 - EXC - - - 7 - 73 - 0 - INH - - - 8 - 73 - 0 - EXC - - - 9 - 73 - 0 - EXC - - - 10 - 73 - 0 - EXC - - - 11 - 73 - 0 - INH - - - 12 - 73 - 1 - EXC - - - 13 - 73 - 0 - EXC - - - 14 - 73 - 0 - EXC - - - 15 - 73 - 0 - INH - - - 16 - 73 - 0 - EXC - - - 17 - 73 - 0 - INH - - - 18 - 73 - 0 - EXC - - - 19 - 73 - 0 - EXC - - - 20 - 73 - 0 - EXC - - - 21 - 73 - 0 - INH - - - 22 - 73 - 1 - EXC - - - 23 - 73 - 0 - EXC - - - 24 - 73 - 0 - EXC - - - 25 - 73 - 0 - INH - - - 26 - 73 - 0 - EXC - - - 27 - 73 - 0 - INH - - - 28 - 73 - 0 - EXC - - - 29 - 73 - 0 - EXC - - - 30 - 73 - 0 - EXC - - - 31 - 73 - 0 - INH - - - 32 - 73 - 1 - EXC - - - 33 - 73 - 0 - EXC - - - 34 - 73 - 0 - EXC - - - 35 - 73 - 0 - INH - - - 36 - 73 - 0 - EXC - - - 37 - 73 - 0 - INH - - - 38 - 73 - 0 - EXC - - - 39 - 73 - 0 - EXC - - - 40 - 73 - 0 - EXC - - - 41 - 73 - 0 - INH - - - 42 - 73 - 1 - EXC - - - 43 - 73 - 0 - EXC - - - 44 - 73 - 0 - EXC - - - 45 - 73 - 0 - INH - - - 46 - 73 - 0 - EXC - - - 47 - 73 - 0 - INH - - - 48 - 73 - 0 - EXC - - - 49 - 73 - 0 - EXC - - - 50 - 73 - 0 - EXC - - - 51 - 73 - 0 - INH - - - 52 - 73 - 1 - EXC - - - 53 - 73 - 0 - EXC - - - 54 - 73 - 0 - EXC - - - 55 - 73 - 0 - INH - - - 56 - 73 - 0 - EXC - - - 57 - 73 - 0 - INH - - - 58 - 73 - 0 - EXC - - - 59 - 73 - 0 - EXC - - - 60 - 73 - 0 - EXC - - - 61 - 73 - 0 - INH - - - 62 - 73 - 1 - EXC - - - 63 - 73 - 0 - EXC - - - 64 - 73 - 0 - EXC - - - 65 - 73 - 0 - INH - - - 66 - 73 - 0 - EXC - - - 67 - 73 - 0 - INH - - - 68 - 73 - 0 - EXC - - - 69 - 73 - 0 - EXC - - - 70 - 73 - 0 - EXC - - - 71 - 73 - 0 - INH - - - 72 - 73 - 1 - EXC - - - 73 - 73 - 0 - EXC - - - 74 - 73 - 0 - EXC - - - 75 - 73 - 0 - INH - - - 76 - 73 - 0 - EXC - - - 77 - 73 - 0 - INH - - - 78 - 73 - 0 - EXC - - - 79 - 73 - 0 - EXC - - - 80 - 73 - 0 - EXC - - - 81 - 73 - 0 - INH - - - 82 - 73 - 1 - EXC - - - 83 - 73 - 0 - EXC - - - 84 - 73 - 0 - EXC - - - 85 - 73 - 0 - INH - - - 86 - 73 - 0 - EXC - - - 87 - 73 - 0 - INH - - - 88 - 73 - 0 - EXC - - - 89 - 73 - 0 - EXC - - - 90 - 73 - 0 - EXC - - - 91 - 73 - 0 - INH - - - 92 - 73 - 1 - EXC - - - 93 - 73 - 0 - EXC - - - 94 - 73 - 0 - EXC - - - 95 - 73 - 0 - INH - - - 96 - 73 - 0 - EXC - - - 97 - 73 - 0 - INH - - - 98 - 73 - 0 - EXC - - - 99 - 73 - 0 - EXC - - - 0 - 74 - 0 - EXC - - - 1 - 74 - 0 - EXC - - - 2 - 74 - 0 - EXC - - - 3 - 74 - 0 - INH - - - 4 - 74 - 0 - EXC - - - 5 - 74 - 0 - EXC - - - 6 - 74 - 0 - EXC - - - 7 - 74 - 0 - EXC - - - 8 - 74 - 0 - EXC - - - 9 - 74 - 0 - INH - - - 10 - 74 - 0 - EXC - - - 11 - 74 - 0 - EXC - - - 12 - 74 - 0 - EXC - - - 13 - 74 - 0 - INH - - - 14 - 74 - 0 - EXC - - - 15 - 74 - 0 - EXC - - - 16 - 74 - 0 - EXC - - - 17 - 74 - 0 - EXC - - - 18 - 74 - 0 - EXC - - - 19 - 74 - 0 - INH - - - 20 - 74 - 0 - EXC - - - 21 - 74 - 0 - EXC - - - 22 - 74 - 0 - EXC - - - 23 - 74 - 0 - INH - - - 24 - 74 - 0 - EXC - - - 25 - 74 - 0 - EXC - - - 26 - 74 - 0 - EXC - - - 27 - 74 - 0 - EXC - - - 28 - 74 - 0 - EXC - - - 29 - 74 - 0 - INH - - - 30 - 74 - 0 - EXC - - - 31 - 74 - 0 - EXC - - - 32 - 74 - 0 - EXC - - - 33 - 74 - 0 - INH - - - 34 - 74 - 0 - EXC - - - 35 - 74 - 0 - EXC - - - 36 - 74 - 0 - EXC - - - 37 - 74 - 0 - EXC - - - 38 - 74 - 0 - EXC - - - 39 - 74 - 0 - INH - - - 40 - 74 - 0 - EXC - - - 41 - 74 - 0 - EXC - - - 42 - 74 - 0 - EXC - - - 43 - 74 - 0 - INH - - - 44 - 74 - 0 - EXC - - - 45 - 74 - 0 - EXC - - - 46 - 74 - 0 - EXC - - - 47 - 74 - 0 - EXC - - - 48 - 74 - 0 - EXC - - - 49 - 74 - 0 - INH - - - 50 - 74 - 0 - EXC - - - 51 - 74 - 0 - EXC - - - 52 - 74 - 0 - EXC - - - 53 - 74 - 0 - INH - - - 54 - 74 - 0 - EXC - - - 55 - 74 - 0 - EXC - - - 56 - 74 - 0 - EXC - - - 57 - 74 - 0 - EXC - - - 58 - 74 - 0 - EXC - - - 59 - 74 - 0 - INH - - - 60 - 74 - 0 - EXC - - - 61 - 74 - 0 - EXC - - - 62 - 74 - 0 - EXC - - - 63 - 74 - 0 - INH - - - 64 - 74 - 0 - EXC - - - 65 - 74 - 0 - EXC - - - 66 - 74 - 0 - EXC - - - 67 - 74 - 0 - EXC - - - 68 - 74 - 0 - EXC - - - 69 - 74 - 0 - INH - - - 70 - 74 - 0 - EXC - - - 71 - 74 - 0 - EXC - - - 72 - 74 - 0 - EXC - - - 73 - 74 - 0 - INH - - - 74 - 74 - 0 - EXC - - - 75 - 74 - 0 - EXC - - - 76 - 74 - 0 - EXC - - - 77 - 74 - 0 - EXC - - - 78 - 74 - 0 - EXC - - - 79 - 74 - 0 - INH - - - 80 - 74 - 0 - EXC - - - 81 - 74 - 0 - EXC - - - 82 - 74 - 0 - EXC - - - 83 - 74 - 0 - INH - - - 84 - 74 - 0 - EXC - - - 85 - 74 - 0 - EXC - - - 86 - 74 - 0 - EXC - - - 87 - 74 - 0 - EXC - - - 88 - 74 - 0 - EXC - - - 89 - 74 - 0 - INH - - - 90 - 74 - 0 - EXC - - - 91 - 74 - 0 - EXC - - - 92 - 74 - 0 - EXC - - - 93 - 74 - 0 - INH - - - 94 - 74 - 0 - EXC - - - 95 - 74 - 0 - EXC - - - 96 - 74 - 0 - EXC - - - 97 - 74 - 0 - EXC - - - 98 - 74 - 0 - EXC - - - 99 - 74 - 0 - INH - - - 0 - 75 - 0 - EXC - - - 1 - 75 - 0 - EXC - - - 2 - 75 - 0 - EXC - - - 3 - 75 - 0 - EXC - - - 4 - 75 - 0 - EXC - - - 5 - 75 - 1 - EXC - - - 6 - 75 - 0 - EXC - - - 7 - 75 - 0 - EXC - - - 8 - 75 - 1 - EXC - - - 9 - 75 - 0 - EXC - - - 10 - 75 - 0 - EXC - - - 11 - 75 - 0 - EXC - - - 12 - 75 - 0 - EXC - - - 13 - 75 - 0 - EXC - - - 14 - 75 - 0 - EXC - - - 15 - 75 - 1 - EXC - - - 16 - 75 - 0 - EXC - - - 17 - 75 - 0 - EXC - - - 18 - 75 - 1 - EXC - - - 19 - 75 - 0 - EXC - - - 20 - 75 - 0 - EXC - - - 21 - 75 - 0 - EXC - - - 22 - 75 - 0 - EXC - - - 23 - 75 - 0 - EXC - - - 24 - 75 - 0 - EXC - - - 25 - 75 - 1 - EXC - - - 26 - 75 - 0 - EXC - - - 27 - 75 - 0 - EXC - - - 28 - 75 - 1 - EXC - - - 29 - 75 - 0 - EXC - - - 30 - 75 - 0 - EXC - - - 31 - 75 - 0 - EXC - - - 32 - 75 - 0 - EXC - - - 33 - 75 - 0 - EXC - - - 34 - 75 - 0 - EXC - - - 35 - 75 - 1 - EXC - - - 36 - 75 - 0 - EXC - - - 37 - 75 - 0 - EXC - - - 38 - 75 - 1 - EXC - - - 39 - 75 - 0 - EXC - - - 40 - 75 - 0 - EXC - - - 41 - 75 - 0 - EXC - - - 42 - 75 - 0 - EXC - - - 43 - 75 - 0 - EXC - - - 44 - 75 - 0 - EXC - - - 45 - 75 - 1 - EXC - - - 46 - 75 - 0 - EXC - - - 47 - 75 - 0 - EXC - - - 48 - 75 - 1 - EXC - - - 49 - 75 - 0 - EXC - - - 50 - 75 - 0 - EXC - - - 51 - 75 - 0 - EXC - - - 52 - 75 - 0 - EXC - - - 53 - 75 - 0 - EXC - - - 54 - 75 - 0 - EXC - - - 55 - 75 - 1 - EXC - - - 56 - 75 - 0 - EXC - - - 57 - 75 - 0 - EXC - - - 58 - 75 - 1 - EXC - - - 59 - 75 - 0 - EXC - - - 60 - 75 - 0 - EXC - - - 61 - 75 - 0 - EXC - - - 62 - 75 - 0 - EXC - - - 63 - 75 - 0 - EXC - - - 64 - 75 - 0 - EXC - - - 65 - 75 - 1 - EXC - - - 66 - 75 - 0 - EXC - - - 67 - 75 - 0 - EXC - - - 68 - 75 - 1 - EXC - - - 69 - 75 - 0 - EXC - - - 70 - 75 - 0 - EXC - - - 71 - 75 - 0 - EXC - - - 72 - 75 - 0 - EXC - - - 73 - 75 - 0 - EXC - - - 74 - 75 - 0 - EXC - - - 75 - 75 - 1 - EXC - - - 76 - 75 - 0 - EXC - - - 77 - 75 - 0 - EXC - - - 78 - 75 - 1 - EXC - - - 79 - 75 - 0 - EXC - - - 80 - 75 - 0 - EXC - - - 81 - 75 - 0 - EXC - - - 82 - 75 - 0 - EXC - - - 83 - 75 - 0 - EXC - - - 84 - 75 - 0 - EXC - - - 85 - 75 - 1 - EXC - - - 86 - 75 - 0 - EXC - - - 87 - 75 - 0 - EXC - - - 88 - 75 - 1 - EXC - - - 89 - 75 - 0 - EXC - - - 90 - 75 - 0 - EXC - - - 91 - 75 - 0 - EXC - - - 92 - 75 - 0 - EXC - - - 93 - 75 - 0 - EXC - - - 94 - 75 - 0 - EXC - - - 95 - 75 - 1 - EXC - - - 96 - 75 - 0 - EXC - - - 97 - 75 - 0 - EXC - - - 98 - 75 - 1 - EXC - - - 99 - 75 - 0 - EXC - - - 0 - 76 - 0 - EXC - - - 1 - 76 - 0 - INH - - - 2 - 76 - 1 - EXC - - - 3 - 76 - 0 - EXC - - - 4 - 76 - 0 - EXC - - - 5 - 76 - 0 - INH - - - 6 - 76 - 0 - EXC - - - 7 - 76 - 0 - INH - - - 8 - 76 - 0 - EXC - - - 9 - 76 - 0 - EXC - - - 10 - 76 - 0 - EXC - - - 11 - 76 - 0 - INH - - - 12 - 76 - 1 - EXC - - - 13 - 76 - 0 - EXC - - - 14 - 76 - 0 - EXC - - - 15 - 76 - 0 - INH - - - 16 - 76 - 0 - EXC - - - 17 - 76 - 0 - INH - - - 18 - 76 - 0 - EXC - - - 19 - 76 - 0 - EXC - - - 20 - 76 - 0 - EXC - - - 21 - 76 - 0 - INH - - - 22 - 76 - 1 - EXC - - - 23 - 76 - 0 - EXC - - - 24 - 76 - 0 - EXC - - - 25 - 76 - 0 - INH - - - 26 - 76 - 0 - EXC - - - 27 - 76 - 0 - INH - - - 28 - 76 - 0 - EXC - - - 29 - 76 - 0 - EXC - - - 30 - 76 - 0 - EXC - - - 31 - 76 - 0 - INH - - - 32 - 76 - 1 - EXC - - - 33 - 76 - 0 - EXC - - - 34 - 76 - 0 - EXC - - - 35 - 76 - 0 - INH - - - 36 - 76 - 0 - EXC - - - 37 - 76 - 0 - INH - - - 38 - 76 - 0 - EXC - - - 39 - 76 - 0 - EXC - - - 40 - 76 - 0 - EXC - - - 41 - 76 - 0 - INH - - - 42 - 76 - 1 - EXC - - - 43 - 76 - 0 - EXC - - - 44 - 76 - 0 - EXC - - - 45 - 76 - 0 - INH - - - 46 - 76 - 0 - EXC - - - 47 - 76 - 0 - INH - - - 48 - 76 - 0 - EXC - - - 49 - 76 - 0 - EXC - - - 50 - 76 - 0 - EXC - - - 51 - 76 - 0 - INH - - - 52 - 76 - 1 - EXC - - - 53 - 76 - 0 - EXC - - - 54 - 76 - 0 - EXC - - - 55 - 76 - 0 - INH - - - 56 - 76 - 0 - EXC - - - 57 - 76 - 0 - INH - - - 58 - 76 - 0 - EXC - - - 59 - 76 - 0 - EXC - - - 60 - 76 - 0 - EXC - - - 61 - 76 - 0 - INH - - - 62 - 76 - 1 - EXC - - - 63 - 76 - 0 - EXC - - - 64 - 76 - 0 - EXC - - - 65 - 76 - 0 - INH - - - 66 - 76 - 0 - EXC - - - 67 - 76 - 0 - INH - - - 68 - 76 - 0 - EXC - - - 69 - 76 - 0 - EXC - - - 70 - 76 - 0 - EXC - - - 71 - 76 - 0 - INH - - - 72 - 76 - 1 - EXC - - - 73 - 76 - 0 - EXC - - - 74 - 76 - 0 - EXC - - - 75 - 76 - 0 - INH - - - 76 - 76 - 0 - EXC - - - 77 - 76 - 0 - INH - - - 78 - 76 - 0 - EXC - - - 79 - 76 - 0 - EXC - - - 80 - 76 - 0 - EXC - - - 81 - 76 - 0 - INH - - - 82 - 76 - 1 - EXC - - - 83 - 76 - 0 - EXC - - - 84 - 76 - 0 - EXC - - - 85 - 76 - 0 - INH - - - 86 - 76 - 0 - EXC - - - 87 - 76 - 0 - INH - - - 88 - 76 - 0 - EXC - - - 89 - 76 - 0 - EXC - - - 90 - 76 - 0 - EXC - - - 91 - 76 - 0 - INH - - - 92 - 76 - 1 - EXC - - - 93 - 76 - 0 - EXC - - - 94 - 76 - 0 - EXC - - - 95 - 76 - 0 - INH - - - 96 - 76 - 0 - EXC - - - 97 - 76 - 0 - INH - - - 98 - 76 - 0 - EXC - - - 99 - 76 - 0 - EXC - - - 0 - 77 - 0 - EXC - - - 1 - 77 - 0 - EXC - - - 2 - 77 - 0 - EXC - - - 3 - 77 - 0 - INH - - - 4 - 77 - 0 - EXC - - - 5 - 77 - 0 - EXC - - - 6 - 77 - 0 - EXC - - - 7 - 77 - 0 - EXC - - - 8 - 77 - 0 - EXC - - - 9 - 77 - 0 - INH - - - 10 - 77 - 0 - EXC - - - 11 - 77 - 0 - EXC - - - 12 - 77 - 0 - EXC - - - 13 - 77 - 0 - INH - - - 14 - 77 - 0 - EXC - - - 15 - 77 - 0 - EXC - - - 16 - 77 - 0 - EXC - - - 17 - 77 - 0 - EXC - - - 18 - 77 - 0 - EXC - - - 19 - 77 - 0 - INH - - - 20 - 77 - 0 - EXC - - - 21 - 77 - 0 - EXC - - - 22 - 77 - 0 - EXC - - - 23 - 77 - 0 - INH - - - 24 - 77 - 0 - EXC - - - 25 - 77 - 0 - EXC - - - 26 - 77 - 0 - EXC - - - 27 - 77 - 0 - EXC - - - 28 - 77 - 0 - EXC - - - 29 - 77 - 0 - INH - - - 30 - 77 - 0 - EXC - - - 31 - 77 - 0 - EXC - - - 32 - 77 - 0 - EXC - - - 33 - 77 - 0 - INH - - - 34 - 77 - 0 - EXC - - - 35 - 77 - 0 - EXC - - - 36 - 77 - 0 - EXC - - - 37 - 77 - 0 - EXC - - - 38 - 77 - 0 - EXC - - - 39 - 77 - 0 - INH - - - 40 - 77 - 0 - EXC - - - 41 - 77 - 0 - EXC - - - 42 - 77 - 0 - EXC - - - 43 - 77 - 0 - INH - - - 44 - 77 - 0 - EXC - - - 45 - 77 - 0 - EXC - - - 46 - 77 - 0 - EXC - - - 47 - 77 - 0 - EXC - - - 48 - 77 - 0 - EXC - - - 49 - 77 - 0 - INH - - - 50 - 77 - 0 - EXC - - - 51 - 77 - 0 - EXC - - - 52 - 77 - 0 - EXC - - - 53 - 77 - 0 - INH - - - 54 - 77 - 0 - EXC - - - 55 - 77 - 0 - EXC - - - 56 - 77 - 0 - EXC - - - 57 - 77 - 0 - EXC - - - 58 - 77 - 0 - EXC - - - 59 - 77 - 0 - INH - - - 60 - 77 - 0 - EXC - - - 61 - 77 - 0 - EXC - - - 62 - 77 - 0 - EXC - - - 63 - 77 - 0 - INH - - - 64 - 77 - 0 - EXC - - - 65 - 77 - 0 - EXC - - - 66 - 77 - 0 - EXC - - - 67 - 77 - 0 - EXC - - - 68 - 77 - 0 - EXC - - - 69 - 77 - 0 - INH - - - 70 - 77 - 0 - EXC - - - 71 - 77 - 0 - EXC - - - 72 - 77 - 0 - EXC - - - 73 - 77 - 0 - INH - - - 74 - 77 - 0 - EXC - - - 75 - 77 - 0 - EXC - - - 76 - 77 - 0 - EXC - - - 77 - 77 - 0 - EXC - - - 78 - 77 - 0 - EXC - - - 79 - 77 - 0 - INH - - - 80 - 77 - 0 - EXC - - - 81 - 77 - 0 - EXC - - - 82 - 77 - 0 - EXC - - - 83 - 77 - 0 - INH - - - 84 - 77 - 0 - EXC - - - 85 - 77 - 0 - EXC - - - 86 - 77 - 0 - EXC - - - 87 - 77 - 0 - EXC - - - 88 - 77 - 0 - EXC - - - 89 - 77 - 0 - INH - - - 90 - 77 - 0 - EXC - - - 91 - 77 - 0 - EXC - - - 92 - 77 - 0 - EXC - - - 93 - 77 - 0 - EXC - - - 94 - 77 - 0 - EXC - - - 95 - 77 - 0 - EXC - - - 96 - 77 - 0 - EXC - - - 97 - 77 - 0 - EXC - - - 98 - 77 - 0 - EXC - - - 99 - 77 - 0 - INH - - - 0 - 78 - 0 - EXC - - - 1 - 78 - 0 - EXC - - - 2 - 78 - 0 - EXC - - - 3 - 78 - 0 - EXC - - - 4 - 78 - 0 - EXC - - - 5 - 78 - 1 - EXC - - - 6 - 78 - 0 - EXC - - - 7 - 78 - 0 - EXC - - - 8 - 78 - 1 - EXC - - - 9 - 78 - 0 - EXC - - - 10 - 78 - 0 - EXC - - - 11 - 78 - 0 - EXC - - - 12 - 78 - 0 - EXC - - - 13 - 78 - 0 - EXC - - - 14 - 78 - 0 - EXC - - - 15 - 78 - 1 - EXC - - - 16 - 78 - 0 - EXC - - - 17 - 78 - 0 - EXC - - - 18 - 78 - 1 - EXC - - - 19 - 78 - 0 - EXC - - - 20 - 78 - 0 - EXC - - - 21 - 78 - 0 - EXC - - - 22 - 78 - 0 - EXC - - - 23 - 78 - 0 - EXC - - - 24 - 78 - 0 - EXC - - - 25 - 78 - 1 - EXC - - - 26 - 78 - 0 - EXC - - - 27 - 78 - 0 - EXC - - - 28 - 78 - 1 - EXC - - - 29 - 78 - 0 - EXC - - - 30 - 78 - 0 - EXC - - - 31 - 78 - 0 - EXC - - - 32 - 78 - 0 - EXC - - - 33 - 78 - 0 - EXC - - - 34 - 78 - 0 - EXC - - - 35 - 78 - 1 - EXC - - - 36 - 78 - 0 - EXC - - - 37 - 78 - 0 - EXC - - - 38 - 78 - 1 - EXC - - - 39 - 78 - 0 - EXC - - - 40 - 78 - 0 - EXC - - - 41 - 78 - 0 - EXC - - - 42 - 78 - 0 - EXC - - - 43 - 78 - 0 - EXC - - - 44 - 78 - 0 - EXC - - - 45 - 78 - 1 - EXC - - - 46 - 78 - 0 - EXC - - - 47 - 78 - 0 - EXC - - - 48 - 78 - 1 - EXC - - - 49 - 78 - 0 - EXC - - - 50 - 78 - 0 - EXC - - - 51 - 78 - 0 - EXC - - - 52 - 78 - 0 - EXC - - - 53 - 78 - 0 - EXC - - - 54 - 78 - 0 - EXC - - - 55 - 78 - 1 - EXC - - - 56 - 78 - 0 - EXC - - - 57 - 78 - 0 - EXC - - - 58 - 78 - 1 - EXC - - - 59 - 78 - 0 - EXC - - - 60 - 78 - 0 - EXC - - - 61 - 78 - 0 - EXC - - - 62 - 78 - 0 - EXC - - - 63 - 78 - 0 - EXC - - - 64 - 78 - 0 - EXC - - - 65 - 78 - 1 - EXC - - - 66 - 78 - 0 - EXC - - - 67 - 78 - 0 - EXC - - - 68 - 78 - 1 - EXC - - - 69 - 78 - 0 - EXC - - - 70 - 78 - 0 - EXC - - - 71 - 78 - 0 - EXC - - - 72 - 78 - 0 - EXC - - - 73 - 78 - 0 - EXC - - - 74 - 78 - 0 - EXC - - - 75 - 78 - 1 - EXC - - - 76 - 78 - 0 - EXC - - - 77 - 78 - 0 - EXC - - - 78 - 78 - 1 - EXC - - - 79 - 78 - 0 - EXC - - - 80 - 78 - 0 - EXC - - - 81 - 78 - 0 - EXC - - - 82 - 78 - 0 - EXC - - - 83 - 78 - 0 - EXC - - - 84 - 78 - 0 - EXC - - - 85 - 78 - 1 - EXC - - - 86 - 78 - 0 - EXC - - - 87 - 78 - 0 - EXC - - - 88 - 78 - 1 - EXC - - - 89 - 78 - 0 - EXC - - - 90 - 78 - 0 - EXC - - - 91 - 78 - 0 - EXC - - - 92 - 78 - 0 - EXC - - - 93 - 78 - 0 - EXC - - - 94 - 78 - 0 - EXC - - - 95 - 78 - 1 - EXC - - - 96 - 78 - 0 - EXC - - - 97 - 78 - 0 - EXC - - - 98 - 78 - 1 - EXC - - - 99 - 78 - 0 - EXC - - - 0 - 79 - 0 - EXC - - - 1 - 79 - 0 - INH - - - 2 - 79 - 1 - EXC - - - 3 - 79 - 0 - INH - - - 4 - 79 - 0 - EXC - - - 5 - 79 - 0 - INH - - - 6 - 79 - 0 - EXC - - - 7 - 79 - 0 - INH - - - 8 - 79 - 0 - EXC - - - 9 - 79 - 0 - INH - - - 10 - 79 - 0 - EXC - - - 11 - 79 - 0 - INH - - - 12 - 79 - 1 - EXC - - - 13 - 79 - 0 - INH - - - 14 - 79 - 0 - EXC - - - 15 - 79 - 0 - INH - - - 16 - 79 - 0 - EXC - - - 17 - 79 - 0 - INH - - - 18 - 79 - 0 - EXC - - - 19 - 79 - 0 - INH - - - 20 - 79 - 0 - EXC - - - 21 - 79 - 0 - INH - - - 22 - 79 - 1 - EXC - - - 23 - 79 - 0 - INH - - - 24 - 79 - 0 - EXC - - - 25 - 79 - 0 - INH - - - 26 - 79 - 0 - EXC - - - 27 - 79 - 0 - INH - - - 28 - 79 - 0 - EXC - - - 29 - 79 - 0 - INH - - - 30 - 79 - 0 - EXC - - - 31 - 79 - 0 - INH - - - 32 - 79 - 1 - EXC - - - 33 - 79 - 0 - INH - - - 34 - 79 - 0 - EXC - - - 35 - 79 - 0 - INH - - - 36 - 79 - 0 - EXC - - - 37 - 79 - 0 - INH - - - 38 - 79 - 0 - EXC - - - 39 - 79 - 0 - INH - - - 40 - 79 - 0 - EXC - - - 41 - 79 - 0 - INH - - - 42 - 79 - 1 - EXC - - - 43 - 79 - 0 - INH - - - 44 - 79 - 0 - EXC - - - 45 - 79 - 0 - INH - - - 46 - 79 - 0 - EXC - - - 47 - 79 - 0 - INH - - - 48 - 79 - 0 - EXC - - - 49 - 79 - 0 - INH - - - 50 - 79 - 0 - EXC - - - 51 - 79 - 0 - INH - - - 52 - 79 - 1 - EXC - - - 53 - 79 - 0 - INH - - - 54 - 79 - 0 - EXC - - - 55 - 79 - 0 - INH - - - 56 - 79 - 0 - EXC - - - 57 - 79 - 0 - INH - - - 58 - 79 - 0 - EXC - - - 59 - 79 - 0 - INH - - - 60 - 79 - 0 - EXC - - - 61 - 79 - 0 - INH - - - 62 - 79 - 1 - EXC - - - 63 - 79 - 0 - INH - - - 64 - 79 - 0 - EXC - - - 65 - 79 - 0 - INH - - - 66 - 79 - 0 - EXC - - - 67 - 79 - 0 - INH - - - 68 - 79 - 0 - EXC - - - 69 - 79 - 0 - INH - - - 70 - 79 - 0 - EXC - - - 71 - 79 - 0 - INH - - - 72 - 79 - 1 - EXC - - - 73 - 79 - 0 - INH - - - 74 - 79 - 0 - EXC - - - 75 - 79 - 0 - INH - - - 76 - 79 - 0 - EXC - - - 77 - 79 - 0 - INH - - - 78 - 79 - 0 - EXC - - - 79 - 79 - 0 - INH - - - 80 - 79 - 0 - EXC - - - 81 - 79 - 0 - INH - - - 82 - 79 - 1 - EXC - - - 83 - 79 - 0 - INH - - - 84 - 79 - 0 - EXC - - - 85 - 79 - 0 - INH - - - 86 - 79 - 0 - EXC - - - 87 - 79 - 0 - INH - - - 88 - 79 - 0 - EXC - - - 89 - 79 - 0 - INH - - - 90 - 79 - 0 - EXC - - - 91 - 79 - 0 - INH - - - 92 - 79 - 1 - EXC - - - 93 - 79 - 0 - INH - - - 94 - 79 - 0 - EXC - - - 95 - 79 - 0 - INH - - - 96 - 79 - 0 - EXC - - - 97 - 79 - 0 - INH - - - 98 - 79 - 0 - EXC - - - 99 - 79 - 0 - INH - - - 0 - 80 - 0 - INH - - - 1 - 80 - 0 - EXC - - - 2 - 80 - 0 - INH - - - 3 - 80 - 0 - EXC - - - 4 - 80 - 0 - INH - - - 5 - 80 - 0 - EXC - - - 6 - 80 - 0 - INH - - - 7 - 80 - 1 - EXC - - - 8 - 80 - 0 - INH - - - 9 - 80 - 0 - EXC - - - 10 - 80 - 0 - INH - - - 11 - 80 - 0 - EXC - - - 12 - 80 - 0 - INH - - - 13 - 80 - 0 - EXC - - - 14 - 80 - 0 - INH - - - 15 - 80 - 0 - EXC - - - 16 - 80 - 0 - INH - - - 17 - 80 - 1 - EXC - - - 18 - 80 - 0 - INH - - - 19 - 80 - 0 - EXC - - - 20 - 80 - 0 - INH - - - 21 - 80 - 0 - EXC - - - 22 - 80 - 0 - INH - - - 23 - 80 - 0 - EXC - - - 24 - 80 - 0 - EXC - - - 25 - 80 - 0 - EXC - - - 26 - 80 - 0 - INH - - - 27 - 80 - 1 - EXC - - - 28 - 80 - 0 - INH - - - 29 - 80 - 0 - EXC - - - 30 - 80 - 0 - INH - - - 31 - 80 - 0 - EXC - - - 32 - 80 - 0 - INH - - - 33 - 80 - 0 - EXC - - - 34 - 80 - 0 - INH - - - 35 - 80 - 0 - EXC - - - 36 - 80 - 0 - INH - - - 37 - 80 - 1 - EXC - - - 38 - 80 - 0 - INH - - - 39 - 80 - 0 - EXC - - - 40 - 80 - 0 - INH - - - 41 - 80 - 0 - EXC - - - 42 - 80 - 0 - INH - - - 43 - 80 - 0 - EXC - - - 44 - 80 - 0 - INH - - - 45 - 80 - 0 - EXC - - - 46 - 80 - 0 - INH - - - 47 - 80 - 1 - EXC - - - 48 - 80 - 0 - INH - - - 49 - 80 - 0 - EXC - - - 50 - 80 - 0 - INH - - - 51 - 80 - 0 - EXC - - - 52 - 80 - 0 - INH - - - 53 - 80 - 0 - EXC - - - 54 - 80 - 0 - INH - - - 55 - 80 - 0 - EXC - - - 56 - 80 - 0 - INH - - - 57 - 80 - 1 - EXC - - - 58 - 80 - 0 - INH - - - 59 - 80 - 0 - EXC - - - 60 - 80 - 0 - INH - - - 61 - 80 - 0 - EXC - - - 62 - 80 - 0 - INH - - - 63 - 80 - 0 - EXC - - - 64 - 80 - 0 - INH - - - 65 - 80 - 0 - EXC - - - 66 - 80 - 0 - INH - - - 67 - 80 - 1 - EXC - - - 68 - 80 - 0 - INH - - - 69 - 80 - 0 - EXC - - - 70 - 80 - 0 - INH - - - 71 - 80 - 0 - EXC - - - 72 - 80 - 0 - INH - - - 73 - 80 - 0 - EXC - - - 74 - 80 - 0 - INH - - - 75 - 80 - 0 - EXC - - - 76 - 80 - 0 - INH - - - 77 - 80 - 1 - EXC - - - 78 - 80 - 0 - INH - - - 79 - 80 - 0 - EXC - - - 80 - 80 - 0 - INH - - - 81 - 80 - 0 - EXC - - - 82 - 80 - 0 - INH - - - 83 - 80 - 0 - EXC - - - 84 - 80 - 0 - INH - - - 85 - 80 - 0 - EXC - - - 86 - 80 - 0 - INH - - - 87 - 80 - 1 - EXC - - - 88 - 80 - 0 - INH - - - 89 - 80 - 0 - EXC - - - 90 - 80 - 0 - INH - - - 91 - 80 - 0 - EXC - - - 92 - 80 - 0 - INH - - - 93 - 80 - 0 - EXC - - - 94 - 80 - 0 - INH - - - 95 - 80 - 0 - EXC - - - 96 - 80 - 0 - INH - - - 97 - 80 - 1 - EXC - - - 98 - 80 - 0 - INH - - - 99 - 80 - 0 - EXC - - - 0 - 81 - 0 - EXC - - - 1 - 81 - 1 - EXC - - - 2 - 81 - 0 - EXC - - - 3 - 81 - 0 - EXC - - - 4 - 81 - 1 - EXC - - - 5 - 81 - 0 - EXC - - - 6 - 81 - 0 - EXC - - - 7 - 81 - 0 - EXC - - - 8 - 81 - 0 - EXC - - - 9 - 81 - 0 - EXC - - - 10 - 81 - 0 - EXC - - - 11 - 81 - 1 - EXC - - - 12 - 81 - 0 - EXC - - - 13 - 81 - 0 - EXC - - - 14 - 81 - 1 - EXC - - - 15 - 81 - 0 - EXC - - - 16 - 81 - 0 - EXC - - - 17 - 81 - 0 - EXC - - - 18 - 81 - 0 - EXC - - - 19 - 81 - 0 - EXC - - - 20 - 81 - 0 - EXC - - - 21 - 81 - 1 - EXC - - - 22 - 81 - 0 - EXC - - - 23 - 81 - 0 - EXC - - - 24 - 81 - 1 - EXC - - - 25 - 81 - 0 - EXC - - - 26 - 81 - 0 - EXC - - - 27 - 81 - 0 - EXC - - - 28 - 81 - 0 - EXC - - - 29 - 81 - 0 - EXC - - - 30 - 81 - 0 - EXC - - - 31 - 81 - 1 - EXC - - - 32 - 81 - 0 - EXC - - - 33 - 81 - 0 - EXC - - - 34 - 81 - 1 - EXC - - - 35 - 81 - 0 - EXC - - - 36 - 81 - 0 - EXC - - - 37 - 81 - 0 - EXC - - - 38 - 81 - 0 - EXC - - - 39 - 81 - 0 - EXC - - - 40 - 81 - 0 - EXC - - - 41 - 81 - 1 - EXC - - - 42 - 81 - 0 - EXC - - - 43 - 81 - 0 - EXC - - - 44 - 81 - 1 - EXC - - - 45 - 81 - 0 - EXC - - - 46 - 81 - 0 - EXC - - - 47 - 81 - 0 - EXC - - - 48 - 81 - 0 - EXC - - - 49 - 81 - 0 - EXC - - - 50 - 81 - 0 - EXC - - - 51 - 81 - 1 - EXC - - - 52 - 81 - 0 - EXC - - - 53 - 81 - 0 - EXC - - - 54 - 81 - 1 - EXC - - - 55 - 81 - 0 - EXC - - - 56 - 81 - 0 - EXC - - - 57 - 81 - 0 - EXC - - - 58 - 81 - 0 - EXC - - - 59 - 81 - 0 - EXC - - - 60 - 81 - 0 - EXC - - - 61 - 81 - 1 - EXC - - - 62 - 81 - 0 - EXC - - - 63 - 81 - 0 - EXC - - - 64 - 81 - 1 - EXC - - - 65 - 81 - 0 - EXC - - - 66 - 81 - 0 - EXC - - - 67 - 81 - 0 - EXC - - - 68 - 81 - 0 - EXC - - - 69 - 81 - 0 - EXC - - - 70 - 81 - 0 - EXC - - - 71 - 81 - 1 - EXC - - - 72 - 81 - 0 - EXC - - - 73 - 81 - 0 - EXC - - - 74 - 81 - 1 - EXC - - - 75 - 81 - 0 - EXC - - - 76 - 81 - 0 - EXC - - - 77 - 81 - 0 - EXC - - - 78 - 81 - 0 - EXC - - - 79 - 81 - 0 - EXC - - - 80 - 81 - 0 - EXC - - - 81 - 81 - 1 - EXC - - - 82 - 81 - 0 - EXC - - - 83 - 81 - 0 - EXC - - - 84 - 81 - 1 - EXC - - - 85 - 81 - 0 - EXC - - - 86 - 81 - 0 - EXC - - - 87 - 81 - 0 - EXC - - - 88 - 81 - 0 - EXC - - - 89 - 81 - 0 - EXC - - - 90 - 81 - 0 - EXC - - - 91 - 81 - 1 - EXC - - - 92 - 81 - 0 - EXC - - - 93 - 81 - 0 - EXC - - - 94 - 81 - 1 - EXC - - - 95 - 81 - 0 - EXC - - - 96 - 81 - 0 - EXC - - - 97 - 81 - 0 - EXC - - - 98 - 81 - 0 - EXC - - - 99 - 81 - 0 - EXC - - - 0 - 82 - 0 - INH - - - 1 - 82 - 0 - EXC - - - 2 - 82 - 0 - EXC - - - 3 - 82 - 0 - EXC - - - 4 - 82 - 0 - EXC - - - 5 - 82 - 0 - EXC - - - 6 - 82 - 0 - INH - - - 7 - 82 - 0 - EXC - - - 8 - 82 - 0 - EXC - - - 9 - 82 - 0 - EXC - - - 10 - 82 - 0 - INH - - - 11 - 82 - 0 - EXC - - - 12 - 82 - 0 - EXC - - - 13 - 82 - 0 - EXC - - - 14 - 82 - 0 - EXC - - - 15 - 82 - 0 - EXC - - - 16 - 82 - 0 - INH - - - 17 - 82 - 0 - EXC - - - 18 - 82 - 0 - EXC - - - 19 - 82 - 0 - EXC - - - 20 - 82 - 0 - INH - - - 21 - 82 - 0 - EXC - - - 22 - 82 - 0 - EXC - - - 23 - 82 - 0 - EXC - - - 24 - 82 - 0 - EXC - - - 25 - 82 - 0 - EXC - - - 26 - 82 - 0 - INH - - - 27 - 82 - 0 - EXC - - - 28 - 82 - 0 - EXC - - - 29 - 82 - 0 - EXC - - - 30 - 82 - 0 - INH - - - 31 - 82 - 0 - EXC - - - 32 - 82 - 0 - EXC - - - 33 - 82 - 0 - EXC - - - 34 - 82 - 0 - EXC - - - 35 - 82 - 0 - EXC - - - 36 - 82 - 0 - INH - - - 37 - 82 - 0 - EXC - - - 38 - 82 - 0 - EXC - - - 39 - 82 - 0 - EXC - - - 40 - 82 - 0 - INH - - - 41 - 82 - 0 - EXC - - - 42 - 82 - 0 - EXC - - - 43 - 82 - 0 - EXC - - - 44 - 82 - 0 - EXC - - - 45 - 82 - 0 - EXC - - - 46 - 82 - 0 - INH - - - 47 - 82 - 0 - EXC - - - 48 - 82 - 0 - EXC - - - 49 - 82 - 0 - EXC - - - 50 - 82 - 0 - INH - - - 51 - 82 - 0 - EXC - - - 52 - 82 - 0 - EXC - - - 53 - 82 - 0 - EXC - - - 54 - 82 - 0 - EXC - - - 55 - 82 - 0 - EXC - - - 56 - 82 - 0 - INH - - - 57 - 82 - 0 - EXC - - - 58 - 82 - 0 - EXC - - - 59 - 82 - 0 - EXC - - - 60 - 82 - 0 - INH - - - 61 - 82 - 0 - EXC - - - 62 - 82 - 0 - EXC - - - 63 - 82 - 0 - EXC - - - 64 - 82 - 0 - EXC - - - 65 - 82 - 0 - EXC - - - 66 - 82 - 0 - INH - - - 67 - 82 - 0 - EXC - - - 68 - 82 - 0 - EXC - - - 69 - 82 - 0 - EXC - - - 70 - 82 - 0 - INH - - - 71 - 82 - 0 - EXC - - - 72 - 82 - 0 - EXC - - - 73 - 82 - 0 - EXC - - - 74 - 82 - 0 - EXC - - - 75 - 82 - 0 - EXC - - - 76 - 82 - 0 - INH - - - 77 - 82 - 0 - EXC - - - 78 - 82 - 0 - EXC - - - 79 - 82 - 0 - EXC - - - 80 - 82 - 0 - INH - - - 81 - 82 - 0 - EXC - - - 82 - 82 - 0 - EXC - - - 83 - 82 - 0 - EXC - - - 84 - 82 - 0 - EXC - - - 85 - 82 - 0 - EXC - - - 86 - 82 - 0 - INH - - - 87 - 82 - 0 - EXC - - - 88 - 82 - 0 - EXC - - - 89 - 82 - 0 - EXC - - - 90 - 82 - 0 - INH - - - 91 - 82 - 0 - EXC - - - 92 - 82 - 0 - EXC - - - 93 - 82 - 0 - EXC - - - 94 - 82 - 0 - EXC - - - 95 - 82 - 0 - EXC - - - 96 - 82 - 0 - INH - - - 97 - 82 - 0 - EXC - - - 98 - 82 - 0 - EXC - - - 99 - 82 - 0 - EXC - - - 0 - 83 - 0 - EXC - - - 1 - 83 - 0 - EXC - - - 2 - 83 - 0 - INH - - - 3 - 83 - 0 - EXC - - - 4 - 83 - 0 - INH - - - 5 - 83 - 0 - EXC - - - 6 - 83 - 0 - EXC - - - 7 - 83 - 1 - EXC - - - 8 - 83 - 0 - INH - - - 9 - 83 - 0 - EXC - - - 10 - 83 - 0 - EXC - - - 11 - 83 - 0 - EXC - - - 12 - 83 - 0 - INH - - - 13 - 83 - 0 - EXC - - - 14 - 83 - 0 - INH - - - 15 - 83 - 0 - EXC - - - 16 - 83 - 0 - EXC - - - 17 - 83 - 1 - EXC - - - 18 - 83 - 0 - INH - - - 19 - 83 - 0 - EXC - - - 20 - 83 - 0 - EXC - - - 21 - 83 - 0 - EXC - - - 22 - 83 - 0 - INH - - - 23 - 83 - 0 - EXC - - - 24 - 83 - 0 - INH - - - 25 - 83 - 0 - EXC - - - 26 - 83 - 0 - EXC - - - 27 - 83 - 1 - EXC - - - 28 - 83 - 0 - INH - - - 29 - 83 - 0 - EXC - - - 30 - 83 - 0 - EXC - - - 31 - 83 - 0 - EXC - - - 32 - 83 - 0 - INH - - - 33 - 83 - 0 - EXC - - - 34 - 83 - 0 - INH - - - 35 - 83 - 0 - EXC - - - 36 - 83 - 0 - EXC - - - 37 - 83 - 1 - EXC - - - 38 - 83 - 0 - INH - - - 39 - 83 - 0 - EXC - - - 40 - 83 - 0 - EXC - - - 41 - 83 - 0 - EXC - - - 42 - 83 - 0 - INH - - - 43 - 83 - 0 - EXC - - - 44 - 83 - 0 - INH - - - 45 - 83 - 0 - EXC - - - 46 - 83 - 0 - EXC - - - 47 - 83 - 1 - EXC - - - 48 - 83 - 0 - INH - - - 49 - 83 - 0 - EXC - - - 50 - 83 - 0 - EXC - - - 51 - 83 - 0 - EXC - - - 52 - 83 - 0 - INH - - - 53 - 83 - 0 - EXC - - - 54 - 83 - 0 - INH - - - 55 - 83 - 0 - EXC - - - 56 - 83 - 0 - EXC - - - 57 - 83 - 1 - EXC - - - 58 - 83 - 0 - INH - - - 59 - 83 - 0 - EXC - - - 60 - 83 - 0 - EXC - - - 61 - 83 - 0 - EXC - - - 62 - 83 - 0 - INH - - - 63 - 83 - 0 - EXC - - - 64 - 83 - 0 - INH - - - 65 - 83 - 0 - EXC - - - 66 - 83 - 0 - EXC - - - 67 - 83 - 1 - EXC - - - 68 - 83 - 0 - INH - - - 69 - 83 - 0 - EXC - - - 70 - 83 - 0 - EXC - - - 71 - 83 - 0 - EXC - - - 72 - 83 - 0 - INH - - - 73 - 83 - 0 - EXC - - - 74 - 83 - 0 - INH - - - 75 - 83 - 0 - EXC - - - 76 - 83 - 0 - EXC - - - 77 - 83 - 1 - EXC - - - 78 - 83 - 0 - INH - - - 79 - 83 - 0 - EXC - - - 80 - 83 - 0 - EXC - - - 81 - 83 - 0 - EXC - - - 82 - 83 - 0 - INH - - - 83 - 83 - 0 - EXC - - - 84 - 83 - 0 - INH - - - 85 - 83 - 0 - EXC - - - 86 - 83 - 0 - EXC - - - 87 - 83 - 1 - EXC - - - 88 - 83 - 0 - INH - - - 89 - 83 - 0 - EXC - - - 90 - 83 - 0 - EXC - - - 91 - 83 - 0 - EXC - - - 92 - 83 - 0 - INH - - - 93 - 83 - 0 - EXC - - - 94 - 83 - 0 - INH - - - 95 - 83 - 0 - EXC - - - 96 - 83 - 0 - EXC - - - 97 - 83 - 1 - EXC - - - 98 - 83 - 0 - INH - - - 99 - 83 - 0 - EXC - - - 0 - 84 - 0 - EXC - - - 1 - 84 - 1 - EXC - - - 2 - 84 - 0 - EXC - - - 3 - 84 - 0 - EXC - - - 4 - 84 - 1 - EXC - - - 5 - 84 - 0 - EXC - - - 6 - 84 - 0 - EXC - - - 7 - 84 - 0 - EXC - - - 8 - 84 - 0 - EXC - - - 9 - 84 - 0 - EXC - - - 10 - 84 - 0 - EXC - - - 11 - 84 - 1 - EXC - - - 12 - 84 - 0 - EXC - - - 13 - 84 - 0 - EXC - - - 14 - 84 - 1 - EXC - - - 15 - 84 - 0 - EXC - - - 16 - 84 - 0 - EXC - - - 17 - 84 - 0 - EXC - - - 18 - 84 - 0 - EXC - - - 19 - 84 - 0 - EXC - - - 20 - 84 - 0 - EXC - - - 21 - 84 - 1 - EXC - - - 22 - 84 - 0 - EXC - - - 23 - 84 - 0 - EXC - - - 24 - 84 - 1 - EXC - - - 25 - 84 - 0 - EXC - - - 26 - 84 - 0 - EXC - - - 27 - 84 - 0 - EXC - - - 28 - 84 - 0 - EXC - - - 29 - 84 - 0 - EXC - - - 30 - 84 - 0 - EXC - - - 31 - 84 - 1 - EXC - - - 32 - 84 - 0 - EXC - - - 33 - 84 - 0 - EXC - - - 34 - 84 - 1 - EXC - - - 35 - 84 - 0 - EXC - - - 36 - 84 - 0 - EXC - - - 37 - 84 - 0 - EXC - - - 38 - 84 - 0 - EXC - - - 39 - 84 - 0 - EXC - - - 40 - 84 - 0 - EXC - - - 41 - 84 - 1 - EXC - - - 42 - 84 - 0 - EXC - - - 43 - 84 - 0 - EXC - - - 44 - 84 - 1 - EXC - - - 45 - 84 - 0 - EXC - - - 46 - 84 - 0 - EXC - - - 47 - 84 - 0 - EXC - - - 48 - 84 - 0 - EXC - - - 49 - 84 - 0 - EXC - - - 50 - 84 - 0 - EXC - - - 51 - 84 - 1 - EXC - - - 52 - 84 - 0 - EXC - - - 53 - 84 - 0 - EXC - - - 54 - 84 - 1 - EXC - - - 55 - 84 - 0 - EXC - - - 56 - 84 - 0 - EXC - - - 57 - 84 - 0 - EXC - - - 58 - 84 - 0 - EXC - - - 59 - 84 - 0 - EXC - - - 60 - 84 - 0 - EXC - - - 61 - 84 - 1 - EXC - - - 62 - 84 - 0 - EXC - - - 63 - 84 - 0 - EXC - - - 64 - 84 - 1 - EXC - - - 65 - 84 - 0 - EXC - - - 66 - 84 - 0 - EXC - - - 67 - 84 - 0 - EXC - - - 68 - 84 - 0 - EXC - - - 69 - 84 - 0 - EXC - - - 70 - 84 - 0 - EXC - - - 71 - 84 - 1 - EXC - - - 72 - 84 - 0 - EXC - - - 73 - 84 - 0 - EXC - - - 74 - 84 - 1 - EXC - - - 75 - 84 - 0 - EXC - - - 76 - 84 - 0 - EXC - - - 77 - 84 - 0 - EXC - - - 78 - 84 - 0 - EXC - - - 79 - 84 - 0 - EXC - - - 80 - 84 - 0 - EXC - - - 81 - 84 - 1 - EXC - - - 82 - 84 - 0 - EXC - - - 83 - 84 - 0 - EXC - - - 84 - 84 - 1 - EXC - - - 85 - 84 - 0 - EXC - - - 86 - 84 - 0 - EXC - - - 87 - 84 - 0 - EXC - - - 88 - 84 - 0 - EXC - - - 89 - 84 - 0 - EXC - - - 90 - 84 - 0 - EXC - - - 91 - 84 - 1 - EXC - - - 92 - 84 - 0 - EXC - - - 93 - 84 - 0 - EXC - - - 94 - 84 - 1 - EXC - - - 95 - 84 - 0 - EXC - - - 96 - 84 - 0 - EXC - - - 97 - 84 - 0 - EXC - - - 98 - 84 - 0 - EXC - - - 99 - 84 - 0 - EXC - - - 0 - 85 - 0 - INH - - - 1 - 85 - 0 - EXC - - - 2 - 85 - 0 - EXC - - - 3 - 85 - 0 - EXC - - - 4 - 85 - 0 - EXC - - - 5 - 85 - 0 - EXC - - - 6 - 85 - 0 - INH - - - 7 - 85 - 0 - EXC - - - 8 - 85 - 0 - EXC - - - 9 - 85 - 0 - EXC - - - 10 - 85 - 0 - INH - - - 11 - 85 - 0 - EXC - - - 12 - 85 - 0 - EXC - - - 13 - 85 - 0 - EXC - - - 14 - 85 - 0 - EXC - - - 15 - 85 - 0 - EXC - - - 16 - 85 - 0 - INH - - - 17 - 85 - 0 - EXC - - - 18 - 85 - 0 - EXC - - - 19 - 85 - 0 - EXC - - - 20 - 85 - 0 - INH - - - 21 - 85 - 0 - EXC - - - 22 - 85 - 0 - EXC - - - 23 - 85 - 0 - EXC - - - 24 - 85 - 0 - EXC - - - 25 - 85 - 0 - EXC - - - 26 - 85 - 0 - INH - - - 27 - 85 - 0 - EXC - - - 28 - 85 - 0 - EXC - - - 29 - 85 - 0 - EXC - - - 30 - 85 - 0 - INH - - - 31 - 85 - 0 - EXC - - - 32 - 85 - 0 - EXC - - - 33 - 85 - 0 - EXC - - - 34 - 85 - 0 - EXC - - - 35 - 85 - 0 - EXC - - - 36 - 85 - 0 - INH - - - 37 - 85 - 0 - EXC - - - 38 - 85 - 0 - EXC - - - 39 - 85 - 0 - EXC - - - 40 - 85 - 0 - INH - - - 41 - 85 - 0 - EXC - - - 42 - 85 - 0 - EXC - - - 43 - 85 - 0 - EXC - - - 44 - 85 - 0 - EXC - - - 45 - 85 - 0 - EXC - - - 46 - 85 - 0 - INH - - - 47 - 85 - 0 - EXC - - - 48 - 85 - 0 - EXC - - - 49 - 85 - 0 - EXC - - - 50 - 85 - 0 - INH - - - 51 - 85 - 0 - EXC - - - 52 - 85 - 0 - EXC - - - 53 - 85 - 0 - EXC - - - 54 - 85 - 0 - EXC - - - 55 - 85 - 0 - EXC - - - 56 - 85 - 0 - INH - - - 57 - 85 - 0 - EXC - - - 58 - 85 - 0 - EXC - - - 59 - 85 - 0 - EXC - - - 60 - 85 - 0 - INH - - - 61 - 85 - 0 - EXC - - - 62 - 85 - 0 - EXC - - - 63 - 85 - 0 - EXC - - - 64 - 85 - 0 - EXC - - - 65 - 85 - 0 - EXC - - - 66 - 85 - 0 - INH - - - 67 - 85 - 0 - EXC - - - 68 - 85 - 0 - EXC - - - 69 - 85 - 0 - EXC - - - 70 - 85 - 0 - INH - - - 71 - 85 - 0 - EXC - - - 72 - 85 - 0 - EXC - - - 73 - 85 - 0 - EXC - - - 74 - 85 - 0 - EXC - - - 75 - 85 - 0 - EXC - - - 76 - 85 - 0 - INH - - - 77 - 85 - 0 - EXC - - - 78 - 85 - 0 - EXC - - - 79 - 85 - 0 - EXC - - - 80 - 85 - 0 - INH - - - 81 - 85 - 0 - EXC - - - 82 - 85 - 0 - EXC - - - 83 - 85 - 0 - EXC - - - 84 - 85 - 0 - EXC - - - 85 - 85 - 0 - EXC - - - 86 - 85 - 0 - INH - - - 87 - 85 - 0 - EXC - - - 88 - 85 - 0 - EXC - - - 89 - 85 - 0 - EXC - - - 90 - 85 - 0 - INH - - - 91 - 85 - 0 - EXC - - - 92 - 85 - 0 - EXC - - - 93 - 85 - 0 - EXC - - - 94 - 85 - 0 - EXC - - - 95 - 85 - 0 - EXC - - - 96 - 85 - 0 - INH - - - 97 - 85 - 0 - EXC - - - 98 - 85 - 0 - EXC - - - 99 - 85 - 0 - EXC - - - 0 - 86 - 0 - EXC - - - 1 - 86 - 0 - EXC - - - 2 - 86 - 0 - INH - - - 3 - 86 - 0 - EXC - - - 4 - 86 - 0 - INH - - - 5 - 86 - 0 - EXC - - - 6 - 86 - 0 - EXC - - - 7 - 86 - 1 - EXC - - - 8 - 86 - 0 - INH - - - 9 - 86 - 0 - EXC - - - 10 - 86 - 0 - EXC - - - 11 - 86 - 0 - EXC - - - 12 - 86 - 0 - INH - - - 13 - 86 - 0 - EXC - - - 14 - 86 - 0 - INH - - - 15 - 86 - 0 - EXC - - - 16 - 86 - 0 - EXC - - - 17 - 86 - 1 - EXC - - - 18 - 86 - 0 - INH - - - 19 - 86 - 0 - EXC - - - 20 - 86 - 0 - EXC - - - 21 - 86 - 0 - EXC - - - 22 - 86 - 0 - INH - - - 23 - 86 - 0 - EXC - - - 24 - 86 - 0 - INH - - - 25 - 86 - 0 - EXC - - - 26 - 86 - 0 - EXC - - - 27 - 86 - 1 - EXC - - - 28 - 86 - 0 - INH - - - 29 - 86 - 0 - EXC - - - 30 - 86 - 0 - EXC - - - 31 - 86 - 0 - EXC - - - 32 - 86 - 0 - INH - - - 33 - 86 - 0 - EXC - - - 34 - 86 - 0 - INH - - - 35 - 86 - 0 - EXC - - - 36 - 86 - 0 - EXC - - - 37 - 86 - 1 - EXC - - - 38 - 86 - 0 - INH - - - 39 - 86 - 0 - EXC - - - 40 - 86 - 0 - EXC - - - 41 - 86 - 0 - EXC - - - 42 - 86 - 0 - INH - - - 43 - 86 - 0 - EXC - - - 44 - 86 - 0 - INH - - - 45 - 86 - 0 - EXC - - - 46 - 86 - 0 - EXC - - - 47 - 86 - 1 - EXC - - - 48 - 86 - 0 - INH - - - 49 - 86 - 0 - EXC - - - 50 - 86 - 0 - EXC - - - 51 - 86 - 0 - EXC - - - 52 - 86 - 0 - INH - - - 53 - 86 - 0 - EXC - - - 54 - 86 - 0 - INH - - - 55 - 86 - 0 - EXC - - - 56 - 86 - 0 - EXC - - - 57 - 86 - 1 - EXC - - - 58 - 86 - 0 - INH - - - 59 - 86 - 0 - EXC - - - 60 - 86 - 0 - EXC - - - 61 - 86 - 0 - EXC - - - 62 - 86 - 0 - INH - - - 63 - 86 - 0 - EXC - - - 64 - 86 - 0 - INH - - - 65 - 86 - 0 - EXC - - - 66 - 86 - 0 - EXC - - - 67 - 86 - 1 - EXC - - - 68 - 86 - 0 - INH - - - 69 - 86 - 0 - EXC - - - 70 - 86 - 0 - EXC - - - 71 - 86 - 0 - EXC - - - 72 - 86 - 0 - INH - - - 73 - 86 - 0 - EXC - - - 74 - 86 - 0 - INH - - - 75 - 86 - 0 - EXC - - - 76 - 86 - 0 - EXC - - - 77 - 86 - 1 - EXC - - - 78 - 86 - 0 - INH - - - 79 - 86 - 0 - EXC - - - 80 - 86 - 0 - EXC - - - 81 - 86 - 0 - EXC - - - 82 - 86 - 0 - INH - - - 83 - 86 - 0 - EXC - - - 84 - 86 - 0 - INH - - - 85 - 86 - 0 - EXC - - - 86 - 86 - 0 - EXC - - - 87 - 86 - 1 - EXC - - - 88 - 86 - 0 - INH - - - 89 - 86 - 0 - EXC - - - 90 - 86 - 0 - EXC - - - 91 - 86 - 0 - EXC - - - 92 - 86 - 0 - INH - - - 93 - 86 - 0 - EXC - - - 94 - 86 - 0 - INH - - - 95 - 86 - 0 - EXC - - - 96 - 86 - 0 - EXC - - - 97 - 86 - 1 - EXC - - - 98 - 86 - 0 - INH - - - 99 - 86 - 0 - EXC - - - 0 - 87 - 0 - EXC - - - 1 - 87 - 1 - EXC - - - 2 - 87 - 0 - EXC - - - 3 - 87 - 0 - EXC - - - 4 - 87 - 1 - EXC - - - 5 - 87 - 0 - EXC - - - 6 - 87 - 0 - EXC - - - 7 - 87 - 0 - EXC - - - 8 - 87 - 0 - EXC - - - 9 - 87 - 0 - EXC - - - 10 - 87 - 0 - EXC - - - 11 - 87 - 1 - EXC - - - 12 - 87 - 0 - EXC - - - 13 - 87 - 0 - EXC - - - 14 - 87 - 1 - EXC - - - 15 - 87 - 0 - EXC - - - 16 - 87 - 0 - EXC - - - 17 - 87 - 0 - EXC - - - 18 - 87 - 0 - EXC - - - 19 - 87 - 0 - EXC - - - 20 - 87 - 0 - EXC - - - 21 - 87 - 1 - EXC - - - 22 - 87 - 0 - EXC - - - 23 - 87 - 0 - EXC - - - 24 - 87 - 1 - EXC - - - 25 - 87 - 0 - EXC - - - 26 - 87 - 0 - EXC - - - 27 - 87 - 0 - EXC - - - 28 - 87 - 0 - EXC - - - 29 - 87 - 0 - EXC - - - 30 - 87 - 0 - EXC - - - 31 - 87 - 1 - EXC - - - 32 - 87 - 0 - EXC - - - 33 - 87 - 0 - EXC - - - 34 - 87 - 1 - EXC - - - 35 - 87 - 0 - EXC - - - 36 - 87 - 0 - EXC - - - 37 - 87 - 0 - EXC - - - 38 - 87 - 0 - EXC - - - 39 - 87 - 0 - EXC - - - 40 - 87 - 0 - EXC - - - 41 - 87 - 1 - EXC - - - 42 - 87 - 0 - EXC - - - 43 - 87 - 0 - EXC - - - 44 - 87 - 1 - EXC - - - 45 - 87 - 0 - EXC - - - 46 - 87 - 0 - EXC - - - 47 - 87 - 0 - EXC - - - 48 - 87 - 0 - EXC - - - 49 - 87 - 0 - EXC - - - 50 - 87 - 0 - EXC - - - 51 - 87 - 1 - EXC - - - 52 - 87 - 0 - EXC - - - 53 - 87 - 0 - EXC - - - 54 - 87 - 1 - EXC - - - 55 - 87 - 0 - EXC - - - 56 - 87 - 0 - EXC - - - 57 - 87 - 0 - EXC - - - 58 - 87 - 0 - EXC - - - 59 - 87 - 0 - EXC - - - 60 - 87 - 0 - EXC - - - 61 - 87 - 1 - EXC - - - 62 - 87 - 0 - EXC - - - 63 - 87 - 0 - EXC - - - 64 - 87 - 1 - EXC - - - 65 - 87 - 0 - EXC - - - 66 - 87 - 0 - EXC - - - 67 - 87 - 0 - EXC - - - 68 - 87 - 0 - EXC - - - 69 - 87 - 0 - EXC - - - 70 - 87 - 0 - EXC - - - 71 - 87 - 1 - EXC - - - 72 - 87 - 0 - EXC - - - 73 - 87 - 0 - EXC - - - 74 - 87 - 1 - EXC - - - 75 - 87 - 0 - EXC - - - 76 - 87 - 0 - EXC - - - 77 - 87 - 0 - EXC - - - 78 - 87 - 0 - EXC - - - 79 - 87 - 0 - EXC - - - 80 - 87 - 0 - EXC - - - 81 - 87 - 1 - EXC - - - 82 - 87 - 0 - EXC - - - 83 - 87 - 0 - EXC - - - 84 - 87 - 1 - EXC - - - 85 - 87 - 0 - EXC - - - 86 - 87 - 0 - EXC - - - 87 - 87 - 0 - EXC - - - 88 - 87 - 0 - EXC - - - 89 - 87 - 0 - EXC - - - 90 - 87 - 0 - EXC - - - 91 - 87 - 1 - EXC - - - 92 - 87 - 0 - EXC - - - 93 - 87 - 0 - EXC - - - 94 - 87 - 1 - EXC - - - 95 - 87 - 0 - EXC - - - 96 - 87 - 0 - EXC - - - 97 - 87 - 0 - EXC - - - 98 - 87 - 0 - EXC - - - 99 - 87 - 0 - EXC - - - 0 - 88 - 0 - INH - - - 1 - 88 - 0 - EXC - - - 2 - 88 - 0 - EXC - - - 3 - 88 - 0 - EXC - - - 4 - 88 - 0 - EXC - - - 5 - 88 - 0 - EXC - - - 6 - 88 - 0 - INH - - - 7 - 88 - 0 - EXC - - - 8 - 88 - 0 - EXC - - - 9 - 88 - 0 - EXC - - - 10 - 88 - 0 - INH - - - 11 - 88 - 0 - EXC - - - 12 - 88 - 0 - EXC - - - 13 - 88 - 0 - EXC - - - 14 - 88 - 0 - EXC - - - 15 - 88 - 0 - EXC - - - 16 - 88 - 0 - INH - - - 17 - 88 - 0 - EXC - - - 18 - 88 - 0 - EXC - - - 19 - 88 - 0 - EXC - - - 20 - 88 - 0 - INH - - - 21 - 88 - 0 - EXC - - - 22 - 88 - 0 - EXC - - - 23 - 88 - 0 - EXC - - - 24 - 88 - 0 - EXC - - - 25 - 88 - 0 - EXC - - - 26 - 88 - 0 - INH - - - 27 - 88 - 0 - EXC - - - 28 - 88 - 0 - EXC - - - 29 - 88 - 0 - EXC - - - 30 - 88 - 0 - INH - - - 31 - 88 - 0 - EXC - - - 32 - 88 - 0 - EXC - - - 33 - 88 - 0 - EXC - - - 34 - 88 - 0 - EXC - - - 35 - 88 - 0 - EXC - - - 36 - 88 - 0 - INH - - - 37 - 88 - 0 - EXC - - - 38 - 88 - 0 - EXC - - - 39 - 88 - 0 - EXC - - - 40 - 88 - 0 - INH - - - 41 - 88 - 0 - EXC - - - 42 - 88 - 0 - EXC - - - 43 - 88 - 0 - EXC - - - 44 - 88 - 0 - EXC - - - 45 - 88 - 0 - EXC - - - 46 - 88 - 0 - INH - - - 47 - 88 - 0 - EXC - - - 48 - 88 - 0 - EXC - - - 49 - 88 - 0 - EXC - - - 50 - 88 - 0 - INH - - - 51 - 88 - 0 - EXC - - - 52 - 88 - 0 - EXC - - - 53 - 88 - 0 - EXC - - - 54 - 88 - 0 - EXC - - - 55 - 88 - 0 - EXC - - - 56 - 88 - 0 - INH - - - 57 - 88 - 0 - EXC - - - 58 - 88 - 0 - EXC - - - 59 - 88 - 0 - EXC - - - 60 - 88 - 0 - INH - - - 61 - 88 - 0 - EXC - - - 62 - 88 - 0 - EXC - - - 63 - 88 - 0 - EXC - - - 64 - 88 - 0 - EXC - - - 65 - 88 - 0 - EXC - - - 66 - 88 - 0 - INH - - - 67 - 88 - 0 - EXC - - - 68 - 88 - 0 - EXC - - - 69 - 88 - 0 - EXC - - - 70 - 88 - 0 - INH - - - 71 - 88 - 0 - EXC - - - 72 - 88 - 0 - EXC - - - 73 - 88 - 0 - EXC - - - 74 - 88 - 0 - EXC - - - 75 - 88 - 0 - EXC - - - 76 - 88 - 0 - INH - - - 77 - 88 - 0 - EXC - - - 78 - 88 - 0 - EXC - - - 79 - 88 - 0 - EXC - - - 80 - 88 - 0 - INH - - - 81 - 88 - 0 - EXC - - - 82 - 88 - 0 - EXC - - - 83 - 88 - 0 - EXC - - - 84 - 88 - 0 - EXC - - - 85 - 88 - 0 - EXC - - - 86 - 88 - 0 - INH - - - 87 - 88 - 0 - EXC - - - 88 - 88 - 0 - EXC - - - 89 - 88 - 0 - EXC - - - 90 - 88 - 0 - INH - - - 91 - 88 - 0 - EXC - - - 92 - 88 - 0 - EXC - - - 93 - 88 - 0 - EXC - - - 94 - 88 - 0 - EXC - - - 95 - 88 - 0 - EXC - - - 96 - 88 - 0 - INH - - - 97 - 88 - 0 - EXC - - - 98 - 88 - 0 - EXC - - - 99 - 88 - 0 - EXC - - - 0 - 89 - 0 - EXC - - - 1 - 89 - 0 - EXC - - - 2 - 89 - 0 - INH - - - 3 - 89 - 0 - EXC - - - 4 - 89 - 0 - INH - - - 5 - 89 - 0 - EXC - - - 6 - 89 - 0 - EXC - - - 7 - 89 - 1 - EXC - - - 8 - 89 - 0 - INH - - - 9 - 89 - 0 - EXC - - - 10 - 89 - 0 - EXC - - - 11 - 89 - 0 - EXC - - - 12 - 89 - 0 - INH - - - 13 - 89 - 0 - EXC - - - 14 - 89 - 0 - INH - - - 15 - 89 - 0 - EXC - - - 16 - 89 - 0 - EXC - - - 17 - 89 - 1 - EXC - - - 18 - 89 - 0 - INH - - - 19 - 89 - 0 - EXC - - - 20 - 89 - 0 - EXC - - - 21 - 89 - 0 - EXC - - - 22 - 89 - 0 - INH - - - 23 - 89 - 0 - EXC - - - 24 - 89 - 0 - INH - - - 25 - 89 - 0 - EXC - - - 26 - 89 - 0 - EXC - - - 27 - 89 - 1 - EXC - - - 28 - 89 - 0 - INH - - - 29 - 89 - 0 - EXC - - - 30 - 89 - 0 - EXC - - - 31 - 89 - 0 - EXC - - - 32 - 89 - 0 - INH - - - 33 - 89 - 0 - EXC - - - 34 - 89 - 0 - INH - - - 35 - 89 - 0 - EXC - - - 36 - 89 - 0 - EXC - - - 37 - 89 - 1 - EXC - - - 38 - 89 - 0 - INH - - - 39 - 89 - 0 - EXC - - - 40 - 89 - 0 - EXC - - - 41 - 89 - 0 - EXC - - - 42 - 89 - 0 - INH - - - 43 - 89 - 0 - EXC - - - 44 - 89 - 0 - INH - - - 45 - 89 - 0 - EXC - - - 46 - 89 - 0 - EXC - - - 47 - 89 - 1 - EXC - - - 48 - 89 - 0 - INH - - - 49 - 89 - 0 - EXC - - - 50 - 89 - 0 - EXC - - - 51 - 89 - 0 - EXC - - - 52 - 89 - 0 - INH - - - 53 - 89 - 0 - EXC - - - 54 - 89 - 0 - INH - - - 55 - 89 - 0 - EXC - - - 56 - 89 - 0 - EXC - - - 57 - 89 - 1 - EXC - - - 58 - 89 - 0 - INH - - - 59 - 89 - 0 - EXC - - - 60 - 89 - 0 - EXC - - - 61 - 89 - 0 - EXC - - - 62 - 89 - 0 - INH - - - 63 - 89 - 0 - EXC - - - 64 - 89 - 0 - INH - - - 65 - 89 - 0 - EXC - - - 66 - 89 - 0 - EXC - - - 67 - 89 - 1 - EXC - - - 68 - 89 - 0 - INH - - - 69 - 89 - 0 - EXC - - - 70 - 89 - 0 - EXC - - - 71 - 89 - 0 - EXC - - - 72 - 89 - 0 - INH - - - 73 - 89 - 0 - EXC - - - 74 - 89 - 0 - INH - - - 75 - 89 - 0 - EXC - - - 76 - 89 - 0 - EXC - - - 77 - 89 - 1 - EXC - - - 78 - 89 - 0 - INH - - - 79 - 89 - 0 - EXC - - - 80 - 89 - 0 - EXC - - - 81 - 89 - 0 - EXC - - - 82 - 89 - 0 - INH - - - 83 - 89 - 0 - EXC - - - 84 - 89 - 0 - INH - - - 85 - 89 - 0 - EXC - - - 86 - 89 - 0 - EXC - - - 87 - 89 - 1 - EXC - - - 88 - 89 - 0 - INH - - - 89 - 89 - 0 - EXC - - - 90 - 89 - 0 - EXC - - - 91 - 89 - 0 - EXC - - - 92 - 89 - 0 - INH - - - 93 - 89 - 0 - EXC - - - 94 - 89 - 0 - INH - - - 95 - 89 - 0 - EXC - - - 96 - 89 - 0 - EXC - - - 97 - 89 - 1 - EXC - - - 98 - 89 - 0 - INH - - - 99 - 89 - 0 - EXC - - - 0 - 90 - 0 - EXC - - - 1 - 90 - 0 - INH - - - 2 - 90 - 1 - EXC - - - 3 - 90 - 0 - EXC - - - 4 - 90 - 0 - EXC - - - 5 - 90 - 0 - INH - - - 6 - 90 - 0 - EXC - - - 7 - 90 - 0 - INH - - - 8 - 90 - 0 - EXC - - - 9 - 90 - 0 - EXC - - - 10 - 90 - 0 - EXC - - - 11 - 90 - 0 - INH - - - 12 - 90 - 1 - EXC - - - 13 - 90 - 0 - EXC - - - 14 - 90 - 0 - EXC - - - 15 - 90 - 0 - INH - - - 16 - 90 - 0 - EXC - - - 17 - 90 - 0 - INH - - - 18 - 90 - 0 - EXC - - - 19 - 90 - 0 - EXC - - - 20 - 90 - 0 - EXC - - - 21 - 90 - 0 - INH - - - 22 - 90 - 1 - EXC - - - 23 - 90 - 0 - EXC - - - 24 - 90 - 0 - EXC - - - 25 - 90 - 0 - INH - - - 26 - 90 - 0 - EXC - - - 27 - 90 - 0 - INH - - - 28 - 90 - 0 - EXC - - - 29 - 90 - 0 - EXC - - - 30 - 90 - 0 - EXC - - - 31 - 90 - 0 - INH - - - 32 - 90 - 1 - EXC - - - 33 - 90 - 0 - EXC - - - 34 - 90 - 0 - EXC - - - 35 - 90 - 0 - INH - - - 36 - 90 - 0 - EXC - - - 37 - 90 - 0 - INH - - - 38 - 90 - 0 - EXC - - - 39 - 90 - 0 - EXC - - - 40 - 90 - 0 - EXC - - - 41 - 90 - 0 - INH - - - 42 - 90 - 1 - EXC - - - 43 - 90 - 0 - EXC - - - 44 - 90 - 0 - EXC - - - 45 - 90 - 0 - INH - - - 46 - 90 - 0 - EXC - - - 47 - 90 - 0 - INH - - - 48 - 90 - 0 - EXC - - - 49 - 90 - 0 - EXC - - - 50 - 90 - 0 - EXC - - - 51 - 90 - 0 - INH - - - 52 - 90 - 1 - EXC - - - 53 - 90 - 0 - EXC - - - 54 - 90 - 0 - EXC - - - 55 - 90 - 0 - INH - - - 56 - 90 - 0 - EXC - - - 57 - 90 - 0 - INH - - - 58 - 90 - 0 - EXC - - - 59 - 90 - 0 - EXC - - - 60 - 90 - 0 - EXC - - - 61 - 90 - 0 - INH - - - 62 - 90 - 1 - EXC - - - 63 - 90 - 0 - EXC - - - 64 - 90 - 0 - EXC - - - 65 - 90 - 0 - INH - - - 66 - 90 - 0 - EXC - - - 67 - 90 - 0 - INH - - - 68 - 90 - 0 - EXC - - - 69 - 90 - 0 - EXC - - - 70 - 90 - 0 - EXC - - - 71 - 90 - 0 - INH - - - 72 - 90 - 1 - EXC - - - 73 - 90 - 0 - EXC - - - 74 - 90 - 0 - EXC - - - 75 - 90 - 0 - INH - - - 76 - 90 - 0 - EXC - - - 77 - 90 - 0 - INH - - - 78 - 90 - 0 - EXC - - - 79 - 90 - 0 - EXC - - - 80 - 90 - 0 - EXC - - - 81 - 90 - 0 - INH - - - 82 - 90 - 1 - EXC - - - 83 - 90 - 0 - EXC - - - 84 - 90 - 0 - EXC - - - 85 - 90 - 0 - INH - - - 86 - 90 - 0 - EXC - - - 87 - 90 - 0 - INH - - - 88 - 90 - 0 - EXC - - - 89 - 90 - 0 - EXC - - - 90 - 90 - 0 - EXC - - - 91 - 90 - 0 - INH - - - 92 - 90 - 1 - EXC - - - 93 - 90 - 0 - EXC - - - 94 - 90 - 0 - EXC - - - 95 - 90 - 0 - INH - - - 96 - 90 - 0 - EXC - - - 97 - 90 - 0 - INH - - - 98 - 90 - 0 - EXC - - - 99 - 90 - 0 - EXC - - - 0 - 91 - 0 - EXC - - - 1 - 91 - 0 - EXC - - - 2 - 91 - 0 - EXC - - - 3 - 91 - 0 - INH - - - 4 - 91 - 0 - EXC - - - 5 - 91 - 0 - EXC - - - 6 - 91 - 0 - EXC - - - 7 - 91 - 0 - EXC - - - 8 - 91 - 0 - EXC - - - 9 - 91 - 0 - INH - - - 10 - 91 - 0 - EXC - - - 11 - 91 - 0 - EXC - - - 12 - 91 - 0 - EXC - - - 13 - 91 - 0 - INH - - - 14 - 91 - 0 - EXC - - - 15 - 91 - 0 - EXC - - - 16 - 91 - 0 - EXC - - - 17 - 91 - 0 - EXC - - - 18 - 91 - 0 - EXC - - - 19 - 91 - 0 - INH - - - 20 - 91 - 0 - EXC - - - 21 - 91 - 0 - EXC - - - 22 - 91 - 0 - EXC - - - 23 - 91 - 0 - INH - - - 24 - 91 - 0 - EXC - - - 25 - 91 - 0 - EXC - - - 26 - 91 - 0 - EXC - - - 27 - 91 - 0 - EXC - - - 28 - 91 - 0 - EXC - - - 29 - 91 - 0 - INH - - - 30 - 91 - 0 - EXC - - - 31 - 91 - 0 - EXC - - - 32 - 91 - 0 - EXC - - - 33 - 91 - 0 - INH - - - 34 - 91 - 0 - EXC - - - 35 - 91 - 0 - EXC - - - 36 - 91 - 0 - EXC - - - 37 - 91 - 0 - EXC - - - 38 - 91 - 0 - EXC - - - 39 - 91 - 0 - INH - - - 40 - 91 - 0 - EXC - - - 41 - 91 - 0 - EXC - - - 42 - 91 - 0 - EXC - - - 43 - 91 - 0 - INH - - - 44 - 91 - 0 - EXC - - - 45 - 91 - 0 - EXC - - - 46 - 91 - 0 - EXC - - - 47 - 91 - 0 - EXC - - - 48 - 91 - 0 - EXC - - - 49 - 91 - 0 - INH - - - 50 - 91 - 0 - EXC - - - 51 - 91 - 0 - EXC - - - 52 - 91 - 0 - EXC - - - 53 - 91 - 0 - INH - - - 54 - 91 - 0 - EXC - - - 55 - 91 - 0 - EXC - - - 56 - 91 - 0 - EXC - - - 57 - 91 - 0 - EXC - - - 58 - 91 - 0 - EXC - - - 59 - 91 - 0 - INH - - - 60 - 91 - 0 - EXC - - - 61 - 91 - 0 - EXC - - - 62 - 91 - 0 - EXC - - - 63 - 91 - 0 - INH - - - 64 - 91 - 0 - EXC - - - 65 - 91 - 0 - EXC - - - 66 - 91 - 0 - EXC - - - 67 - 91 - 0 - EXC - - - 68 - 91 - 0 - EXC - - - 69 - 91 - 0 - INH - - - 70 - 91 - 0 - EXC - - - 71 - 91 - 0 - EXC - - - 72 - 91 - 0 - EXC - - - 73 - 91 - 0 - INH - - - 74 - 91 - 0 - EXC - - - 75 - 91 - 0 - EXC - - - 76 - 91 - 0 - EXC - - - 77 - 91 - 0 - EXC - - - 78 - 91 - 0 - EXC - - - 79 - 91 - 0 - INH - - - 80 - 91 - 0 - EXC - - - 81 - 91 - 0 - EXC - - - 82 - 91 - 0 - EXC - - - 83 - 91 - 0 - INH - - - 84 - 91 - 0 - EXC - - - 85 - 91 - 0 - EXC - - - 86 - 91 - 0 - EXC - - - 87 - 91 - 0 - EXC - - - 88 - 91 - 0 - EXC - - - 89 - 91 - 0 - INH - - - 90 - 91 - 0 - EXC - - - 91 - 91 - 0 - EXC - - - 92 - 91 - 0 - EXC - - - 93 - 91 - 0 - INH - - - 94 - 91 - 0 - EXC - - - 95 - 91 - 0 - EXC - - - 96 - 91 - 0 - EXC - - - 97 - 91 - 0 - EXC - - - 98 - 91 - 0 - EXC - - - 99 - 91 - 0 - INH - - - 0 - 92 - 0 - EXC - - - 1 - 92 - 0 - EXC - - - 2 - 92 - 0 - EXC - - - 3 - 92 - 0 - EXC - - - 4 - 92 - 0 - EXC - - - 5 - 92 - 1 - EXC - - - 6 - 92 - 0 - EXC - - - 7 - 92 - 0 - EXC - - - 8 - 92 - 1 - EXC - - - 9 - 92 - 0 - EXC - - - 10 - 92 - 0 - EXC - - - 11 - 92 - 0 - EXC - - - 12 - 92 - 0 - EXC - - - 13 - 92 - 0 - EXC - - - 14 - 92 - 0 - EXC - - - 15 - 92 - 1 - EXC - - - 16 - 92 - 0 - EXC - - - 17 - 92 - 0 - EXC - - - 18 - 92 - 1 - EXC - - - 19 - 92 - 0 - EXC - - - 20 - 92 - 0 - EXC - - - 21 - 92 - 0 - EXC - - - 22 - 92 - 0 - EXC - - - 23 - 92 - 0 - EXC - - - 24 - 92 - 0 - EXC - - - 25 - 92 - 1 - EXC - - - 26 - 92 - 0 - EXC - - - 27 - 92 - 0 - EXC - - - 28 - 92 - 1 - EXC - - - 29 - 92 - 0 - EXC - - - 30 - 92 - 0 - EXC - - - 31 - 92 - 0 - EXC - - - 32 - 92 - 0 - EXC - - - 33 - 92 - 0 - EXC - - - 34 - 92 - 0 - EXC - - - 35 - 92 - 1 - EXC - - - 36 - 92 - 0 - EXC - - - 37 - 92 - 0 - EXC - - - 38 - 92 - 1 - EXC - - - 39 - 92 - 0 - EXC - - - 40 - 92 - 0 - EXC - - - 41 - 92 - 0 - EXC - - - 42 - 92 - 0 - EXC - - - 43 - 92 - 0 - EXC - - - 44 - 92 - 0 - EXC - - - 45 - 92 - 1 - EXC - - - 46 - 92 - 0 - EXC - - - 47 - 92 - 0 - EXC - - - 48 - 92 - 1 - EXC - - - 49 - 92 - 0 - EXC - - - 50 - 92 - 0 - EXC - - - 51 - 92 - 0 - EXC - - - 52 - 92 - 0 - EXC - - - 53 - 92 - 0 - EXC - - - 54 - 92 - 0 - EXC - - - 55 - 92 - 1 - EXC - - - 56 - 92 - 0 - EXC - - - 57 - 92 - 0 - EXC - - - 58 - 92 - 1 - EXC - - - 59 - 92 - 0 - EXC - - - 60 - 92 - 0 - EXC - - - 61 - 92 - 0 - EXC - - - 62 - 92 - 0 - EXC - - - 63 - 92 - 0 - EXC - - - 64 - 92 - 0 - EXC - - - 65 - 92 - 1 - EXC - - - 66 - 92 - 0 - EXC - - - 67 - 92 - 0 - EXC - - - 68 - 92 - 1 - EXC - - - 69 - 92 - 0 - EXC - - - 70 - 92 - 0 - EXC - - - 71 - 92 - 0 - EXC - - - 72 - 92 - 0 - EXC - - - 73 - 92 - 0 - EXC - - - 74 - 92 - 0 - EXC - - - 75 - 92 - 1 - EXC - - - 76 - 92 - 0 - EXC - - - 77 - 92 - 0 - EXC - - - 78 - 92 - 1 - EXC - - - 79 - 92 - 0 - EXC - - - 80 - 92 - 0 - EXC - - - 81 - 92 - 0 - EXC - - - 82 - 92 - 0 - EXC - - - 83 - 92 - 0 - EXC - - - 84 - 92 - 0 - EXC - - - 85 - 92 - 1 - EXC - - - 86 - 92 - 0 - EXC - - - 87 - 92 - 0 - EXC - - - 88 - 92 - 1 - EXC - - - 89 - 92 - 0 - EXC - - - 90 - 92 - 0 - EXC - - - 91 - 92 - 0 - EXC - - - 92 - 92 - 0 - EXC - - - 93 - 92 - 0 - EXC - - - 94 - 92 - 0 - EXC - - - 95 - 92 - 1 - EXC - - - 96 - 92 - 0 - EXC - - - 97 - 92 - 0 - EXC - - - 98 - 92 - 1 - EXC - - - 99 - 92 - 0 - EXC - - - 0 - 93 - 0 - EXC - - - 1 - 93 - 0 - INH - - - 2 - 93 - 1 - EXC - - - 3 - 93 - 0 - EXC - - - 4 - 93 - 0 - EXC - - - 5 - 93 - 0 - INH - - - 6 - 93 - 0 - EXC - - - 7 - 93 - 0 - INH - - - 8 - 93 - 0 - EXC - - - 9 - 93 - 0 - EXC - - - 10 - 93 - 0 - EXC - - - 11 - 93 - 0 - INH - - - 12 - 93 - 1 - EXC - - - 13 - 93 - 0 - EXC - - - 14 - 93 - 0 - EXC - - - 15 - 93 - 0 - INH - - - 16 - 93 - 0 - EXC - - - 17 - 93 - 0 - INH - - - 18 - 93 - 0 - EXC - - - 19 - 93 - 0 - EXC - - - 20 - 93 - 0 - EXC - - - 21 - 93 - 0 - INH - - - 22 - 93 - 1 - EXC - - - 23 - 93 - 0 - EXC - - - 24 - 93 - 0 - EXC - - - 25 - 93 - 0 - INH - - - 26 - 93 - 0 - EXC - - - 27 - 93 - 0 - INH - - - 28 - 93 - 0 - EXC - - - 29 - 93 - 0 - EXC - - - 30 - 93 - 0 - EXC - - - 31 - 93 - 0 - INH - - - 32 - 93 - 1 - EXC - - - 33 - 93 - 0 - EXC - - - 34 - 93 - 0 - EXC - - - 35 - 93 - 0 - INH - - - 36 - 93 - 0 - EXC - - - 37 - 93 - 0 - INH - - - 38 - 93 - 0 - EXC - - - 39 - 93 - 0 - EXC - - - 40 - 93 - 0 - EXC - - - 41 - 93 - 0 - INH - - - 42 - 93 - 1 - EXC - - - 43 - 93 - 0 - EXC - - - 44 - 93 - 0 - EXC - - - 45 - 93 - 0 - INH - - - 46 - 93 - 0 - EXC - - - 47 - 93 - 0 - INH - - - 48 - 93 - 0 - EXC - - - 49 - 93 - 0 - EXC - - - 50 - 93 - 0 - EXC - - - 51 - 93 - 0 - INH - - - 52 - 93 - 1 - EXC - - - 53 - 93 - 0 - EXC - - - 54 - 93 - 0 - EXC - - - 55 - 93 - 0 - INH - - - 56 - 93 - 0 - EXC - - - 57 - 93 - 0 - INH - - - 58 - 93 - 0 - EXC - - - 59 - 93 - 0 - EXC - - - 60 - 93 - 0 - EXC - - - 61 - 93 - 0 - INH - - - 62 - 93 - 1 - EXC - - - 63 - 93 - 0 - EXC - - - 64 - 93 - 0 - EXC - - - 65 - 93 - 0 - INH - - - 66 - 93 - 0 - EXC - - - 67 - 93 - 0 - INH - - - 68 - 93 - 0 - EXC - - - 69 - 93 - 0 - EXC - - - 70 - 93 - 0 - EXC - - - 71 - 93 - 0 - INH - - - 72 - 93 - 1 - EXC - - - 73 - 93 - 0 - EXC - - - 74 - 93 - 0 - EXC - - - 75 - 93 - 0 - INH - - - 76 - 93 - 0 - EXC - - - 77 - 93 - 0 - INH - - - 78 - 93 - 0 - EXC - - - 79 - 93 - 0 - EXC - - - 80 - 93 - 0 - EXC - - - 81 - 93 - 0 - INH - - - 82 - 93 - 1 - EXC - - - 83 - 93 - 0 - EXC - - - 84 - 93 - 0 - EXC - - - 85 - 93 - 0 - INH - - - 86 - 93 - 0 - EXC - - - 87 - 93 - 0 - INH - - - 88 - 93 - 0 - EXC - - - 89 - 93 - 0 - EXC - - - 90 - 93 - 0 - EXC - - - 91 - 93 - 0 - INH - - - 92 - 93 - 1 - EXC - - - 93 - 93 - 0 - EXC - - - 94 - 93 - 0 - EXC - - - 95 - 93 - 0 - INH - - - 96 - 93 - 0 - EXC - - - 97 - 93 - 0 - INH - - - 98 - 93 - 0 - EXC - - - 99 - 93 - 0 - EXC - - - 0 - 94 - 0 - EXC - - - 1 - 94 - 0 - EXC - - - 2 - 94 - 0 - EXC - - - 3 - 94 - 0 - INH - - - 4 - 94 - 0 - EXC - - - 5 - 94 - 0 - EXC - - - 6 - 94 - 0 - EXC - - - 7 - 94 - 0 - EXC - - - 8 - 94 - 0 - EXC - - - 9 - 94 - 0 - INH - - - 10 - 94 - 0 - EXC - - - 11 - 94 - 0 - EXC - - - 12 - 94 - 0 - EXC - - - 13 - 94 - 0 - INH - - - 14 - 94 - 0 - EXC - - - 15 - 94 - 0 - EXC - - - 16 - 94 - 0 - EXC - - - 17 - 94 - 0 - EXC - - - 18 - 94 - 0 - EXC - - - 19 - 94 - 0 - INH - - - 20 - 94 - 0 - EXC - - - 21 - 94 - 0 - EXC - - - 22 - 94 - 0 - EXC - - - 23 - 94 - 0 - INH - - - 24 - 94 - 0 - EXC - - - 25 - 94 - 0 - EXC - - - 26 - 94 - 0 - EXC - - - 27 - 94 - 0 - EXC - - - 28 - 94 - 0 - EXC - - - 29 - 94 - 0 - INH - - - 30 - 94 - 0 - EXC - - - 31 - 94 - 0 - EXC - - - 32 - 94 - 0 - EXC - - - 33 - 94 - 0 - INH - - - 34 - 94 - 0 - EXC - - - 35 - 94 - 0 - EXC - - - 36 - 94 - 0 - EXC - - - 37 - 94 - 0 - EXC - - - 38 - 94 - 0 - EXC - - - 39 - 94 - 0 - INH - - - 40 - 94 - 0 - EXC - - - 41 - 94 - 0 - EXC - - - 42 - 94 - 0 - EXC - - - 43 - 94 - 0 - INH - - - 44 - 94 - 0 - EXC - - - 45 - 94 - 0 - EXC - - - 46 - 94 - 0 - EXC - - - 47 - 94 - 0 - EXC - - - 48 - 94 - 0 - EXC - - - 49 - 94 - 0 - INH - - - 50 - 94 - 0 - EXC - - - 51 - 94 - 0 - EXC - - - 52 - 94 - 0 - EXC - - - 53 - 94 - 0 - INH - - - 54 - 94 - 0 - EXC - - - 55 - 94 - 0 - EXC - - - 56 - 94 - 0 - EXC - - - 57 - 94 - 0 - EXC - - - 58 - 94 - 0 - EXC - - - 59 - 94 - 0 - INH - - - 60 - 94 - 0 - EXC - - - 61 - 94 - 0 - EXC - - - 62 - 94 - 0 - EXC - - - 63 - 94 - 0 - INH - - - 64 - 94 - 0 - EXC - - - 65 - 94 - 0 - EXC - - - 66 - 94 - 0 - EXC - - - 67 - 94 - 0 - EXC - - - 68 - 94 - 0 - EXC - - - 69 - 94 - 0 - INH - - - 70 - 94 - 0 - EXC - - - 71 - 94 - 0 - EXC - - - 72 - 94 - 0 - EXC - - - 73 - 94 - 0 - INH - - - 74 - 94 - 0 - EXC - - - 75 - 94 - 0 - EXC - - - 76 - 94 - 0 - EXC - - - 77 - 94 - 0 - EXC - - - 78 - 94 - 0 - EXC - - - 79 - 94 - 0 - INH - - - 80 - 94 - 0 - EXC - - - 81 - 94 - 0 - EXC - - - 82 - 94 - 0 - EXC - - - 83 - 94 - 0 - INH - - - 84 - 94 - 0 - EXC - - - 85 - 94 - 0 - EXC - - - 86 - 94 - 0 - EXC - - - 87 - 94 - 0 - EXC - - - 88 - 94 - 0 - EXC - - - 89 - 94 - 0 - INH - - - 90 - 94 - 0 - EXC - - - 91 - 94 - 0 - EXC - - - 92 - 94 - 0 - EXC - - - 93 - 94 - 0 - INH - - - 94 - 94 - 0 - EXC - - - 95 - 94 - 0 - EXC - - - 96 - 94 - 0 - EXC - - - 97 - 94 - 0 - EXC - - - 98 - 94 - 0 - EXC - - - 99 - 94 - 0 - INH - - - 0 - 95 - 0 - EXC - - - 1 - 95 - 0 - EXC - - - 2 - 95 - 0 - EXC - - - 3 - 95 - 0 - EXC - - - 4 - 95 - 0 - EXC - - - 5 - 95 - 1 - EXC - - - 6 - 95 - 0 - EXC - - - 7 - 95 - 0 - EXC - - - 8 - 95 - 1 - EXC - - - 9 - 95 - 0 - EXC - - - 10 - 95 - 0 - EXC - - - 11 - 95 - 0 - EXC - - - 12 - 95 - 0 - EXC - - - 13 - 95 - 0 - EXC - - - 14 - 95 - 0 - EXC - - - 15 - 95 - 1 - EXC - - - 16 - 95 - 0 - EXC - - - 17 - 95 - 0 - EXC - - - 18 - 95 - 1 - EXC - - - 19 - 95 - 0 - EXC - - - 20 - 95 - 0 - EXC - - - 21 - 95 - 0 - EXC - - - 22 - 95 - 0 - EXC - - - 23 - 95 - 0 - EXC - - - 24 - 95 - 0 - EXC - - - 25 - 95 - 1 - EXC - - - 26 - 95 - 0 - EXC - - - 27 - 95 - 0 - EXC - - - 28 - 95 - 1 - EXC - - - 29 - 95 - 0 - EXC - - - 30 - 95 - 0 - EXC - - - 31 - 95 - 0 - EXC - - - 32 - 95 - 0 - EXC - - - 33 - 95 - 0 - EXC - - - 34 - 95 - 0 - EXC - - - 35 - 95 - 1 - EXC - - - 36 - 95 - 0 - EXC - - - 37 - 95 - 0 - EXC - - - 38 - 95 - 1 - EXC - - - 39 - 95 - 0 - EXC - - - 40 - 95 - 0 - EXC - - - 41 - 95 - 0 - EXC - - - 42 - 95 - 0 - EXC - - - 43 - 95 - 0 - EXC - - - 44 - 95 - 0 - EXC - - - 45 - 95 - 1 - EXC - - - 46 - 95 - 0 - EXC - - - 47 - 95 - 0 - EXC - - - 48 - 95 - 1 - EXC - - - 49 - 95 - 0 - EXC - - - 50 - 95 - 0 - EXC - - - 51 - 95 - 0 - EXC - - - 52 - 95 - 0 - EXC - - - 53 - 95 - 0 - EXC - - - 54 - 95 - 0 - EXC - - - 55 - 95 - 1 - EXC - - - 56 - 95 - 0 - EXC - - - 57 - 95 - 0 - EXC - - - 58 - 95 - 1 - EXC - - - 59 - 95 - 0 - EXC - - - 60 - 95 - 0 - EXC - - - 61 - 95 - 0 - EXC - - - 62 - 95 - 0 - EXC - - - 63 - 95 - 0 - EXC - - - 64 - 95 - 0 - EXC - - - 65 - 95 - 1 - EXC - - - 66 - 95 - 0 - EXC - - - 67 - 95 - 0 - EXC - - - 68 - 95 - 1 - EXC - - - 69 - 95 - 0 - EXC - - - 70 - 95 - 0 - EXC - - - 71 - 95 - 0 - EXC - - - 72 - 95 - 0 - EXC - - - 73 - 95 - 0 - EXC - - - 74 - 95 - 0 - EXC - - - 75 - 95 - 1 - EXC - - - 76 - 95 - 0 - EXC - - - 77 - 95 - 0 - EXC - - - 78 - 95 - 1 - EXC - - - 79 - 95 - 0 - EXC - - - 80 - 95 - 0 - EXC - - - 81 - 95 - 0 - EXC - - - 82 - 95 - 0 - EXC - - - 83 - 95 - 0 - EXC - - - 84 - 95 - 0 - EXC - - - 85 - 95 - 1 - EXC - - - 86 - 95 - 0 - EXC - - - 87 - 95 - 0 - EXC - - - 88 - 95 - 1 - EXC - - - 89 - 95 - 0 - EXC - - - 90 - 95 - 0 - EXC - - - 91 - 95 - 0 - EXC - - - 92 - 95 - 0 - EXC - - - 93 - 95 - 0 - EXC - - - 94 - 95 - 0 - EXC - - - 95 - 95 - 1 - EXC - - - 96 - 95 - 0 - EXC - - - 97 - 95 - 0 - EXC - - - 98 - 95 - 1 - EXC - - - 99 - 95 - 0 - EXC - - - 0 - 96 - 0 - EXC - - - 1 - 96 - 0 - INH - - - 2 - 96 - 1 - EXC - - - 3 - 96 - 0 - EXC - - - 4 - 96 - 0 - EXC - - - 5 - 96 - 0 - INH - - - 6 - 96 - 0 - EXC - - - 7 - 96 - 0 - INH - - - 8 - 96 - 0 - EXC - - - 9 - 96 - 0 - EXC - - - 10 - 96 - 0 - EXC - - - 11 - 96 - 0 - INH - - - 12 - 96 - 1 - EXC - - - 13 - 96 - 0 - EXC - - - 14 - 96 - 0 - EXC - - - 15 - 96 - 0 - INH - - - 16 - 96 - 0 - EXC - - - 17 - 96 - 0 - INH - - - 18 - 96 - 0 - EXC - - - 19 - 96 - 0 - EXC - - - 20 - 96 - 0 - EXC - - - 21 - 96 - 0 - INH - - - 22 - 96 - 1 - EXC - - - 23 - 96 - 0 - EXC - - - 24 - 96 - 0 - EXC - - - 25 - 96 - 0 - INH - - - 26 - 96 - 0 - EXC - - - 27 - 96 - 0 - INH - - - 28 - 96 - 0 - EXC - - - 29 - 96 - 0 - EXC - - - 30 - 96 - 0 - EXC - - - 31 - 96 - 0 - INH - - - 32 - 96 - 1 - EXC - - - 33 - 96 - 0 - EXC - - - 34 - 96 - 0 - EXC - - - 35 - 96 - 0 - INH - - - 36 - 96 - 0 - EXC - - - 37 - 96 - 0 - INH - - - 38 - 96 - 0 - EXC - - - 39 - 96 - 0 - EXC - - - 40 - 96 - 0 - EXC - - - 41 - 96 - 0 - INH - - - 42 - 96 - 1 - EXC - - - 43 - 96 - 0 - EXC - - - 44 - 96 - 0 - EXC - - - 45 - 96 - 0 - INH - - - 46 - 96 - 0 - EXC - - - 47 - 96 - 0 - INH - - - 48 - 96 - 0 - EXC - - - 49 - 96 - 0 - EXC - - - 50 - 96 - 0 - EXC - - - 51 - 96 - 0 - INH - - - 52 - 96 - 1 - EXC - - - 53 - 96 - 0 - EXC - - - 54 - 96 - 0 - EXC - - - 55 - 96 - 0 - INH - - - 56 - 96 - 0 - EXC - - - 57 - 96 - 0 - INH - - - 58 - 96 - 0 - EXC - - - 59 - 96 - 0 - EXC - - - 60 - 96 - 0 - EXC - - - 61 - 96 - 0 - INH - - - 62 - 96 - 1 - EXC - - - 63 - 96 - 0 - EXC - - - 64 - 96 - 0 - EXC - - - 65 - 96 - 0 - INH - - - 66 - 96 - 0 - EXC - - - 67 - 96 - 0 - INH - - - 68 - 96 - 0 - EXC - - - 69 - 96 - 0 - EXC - - - 70 - 96 - 0 - EXC - - - 71 - 96 - 0 - INH - - - 72 - 96 - 1 - EXC - - - 73 - 96 - 0 - EXC - - - 74 - 96 - 0 - EXC - - - 75 - 96 - 0 - INH - - - 76 - 96 - 0 - EXC - - - 77 - 96 - 0 - INH - - - 78 - 96 - 0 - EXC - - - 79 - 96 - 0 - EXC - - - 80 - 96 - 0 - EXC - - - 81 - 96 - 0 - INH - - - 82 - 96 - 1 - EXC - - - 83 - 96 - 0 - EXC - - - 84 - 96 - 0 - EXC - - - 85 - 96 - 0 - INH - - - 86 - 96 - 0 - EXC - - - 87 - 96 - 0 - INH - - - 88 - 96 - 0 - EXC - - - 89 - 96 - 0 - EXC - - - 90 - 96 - 0 - EXC - - - 91 - 96 - 0 - INH - - - 92 - 96 - 1 - EXC - - - 93 - 96 - 0 - EXC - - - 94 - 96 - 0 - EXC - - - 95 - 96 - 0 - INH - - - 96 - 96 - 0 - EXC - - - 97 - 96 - 0 - INH - - - 98 - 96 - 0 - EXC - - - 99 - 96 - 0 - EXC - - - 0 - 97 - 0 - EXC - - - 1 - 97 - 0 - EXC - - - 2 - 97 - 0 - EXC - - - 3 - 97 - 0 - INH - - - 4 - 97 - 0 - EXC - - - 5 - 97 - 0 - EXC - - - 6 - 97 - 0 - EXC - - - 7 - 97 - 0 - EXC - - - 8 - 97 - 0 - EXC - - - 9 - 97 - 0 - INH - - - 10 - 97 - 0 - EXC - - - 11 - 97 - 0 - EXC - - - 12 - 97 - 0 - EXC - - - 13 - 97 - 0 - INH - - - 14 - 97 - 0 - EXC - - - 15 - 97 - 0 - EXC - - - 16 - 97 - 0 - EXC - - - 17 - 97 - 0 - EXC - - - 18 - 97 - 0 - EXC - - - 19 - 97 - 0 - INH - - - 20 - 97 - 0 - EXC - - - 21 - 97 - 0 - EXC - - - 22 - 97 - 0 - EXC - - - 23 - 97 - 0 - INH - - - 24 - 97 - 0 - EXC - - - 25 - 97 - 0 - EXC - - - 26 - 97 - 0 - EXC - - - 27 - 97 - 0 - EXC - - - 28 - 97 - 0 - EXC - - - 29 - 97 - 0 - INH - - - 30 - 97 - 0 - EXC - - - 31 - 97 - 0 - EXC - - - 32 - 97 - 0 - EXC - - - 33 - 97 - 0 - INH - - - 34 - 97 - 0 - EXC - - - 35 - 97 - 0 - EXC - - - 36 - 97 - 0 - EXC - - - 37 - 97 - 0 - EXC - - - 38 - 97 - 0 - EXC - - - 39 - 97 - 0 - INH - - - 40 - 97 - 0 - EXC - - - 41 - 97 - 0 - EXC - - - 42 - 97 - 0 - EXC - - - 43 - 97 - 0 - INH - - - 44 - 97 - 0 - EXC - - - 45 - 97 - 0 - EXC - - - 46 - 97 - 0 - EXC - - - 47 - 97 - 0 - EXC - - - 48 - 97 - 0 - EXC - - - 49 - 97 - 0 - INH - - - 50 - 97 - 0 - EXC - - - 51 - 97 - 0 - EXC - - - 52 - 97 - 0 - EXC - - - 53 - 97 - 0 - INH - - - 54 - 97 - 0 - EXC - - - 55 - 97 - 0 - EXC - - - 56 - 97 - 0 - EXC - - - 57 - 97 - 0 - EXC - - - 58 - 97 - 0 - EXC - - - 59 - 97 - 0 - INH - - - 60 - 97 - 0 - EXC - - - 61 - 97 - 0 - EXC - - - 62 - 97 - 0 - EXC - - - 63 - 97 - 0 - INH - - - 64 - 97 - 0 - EXC - - - 65 - 97 - 0 - EXC - - - 66 - 97 - 0 - EXC - - - 67 - 97 - 0 - EXC - - - 68 - 97 - 0 - EXC - - - 69 - 97 - 0 - INH - - - 70 - 97 - 0 - EXC - - - 71 - 97 - 0 - EXC - - - 72 - 97 - 0 - EXC - - - 73 - 97 - 0 - INH - - - 74 - 97 - 0 - EXC - - - 75 - 97 - 0 - EXC - - - 76 - 97 - 0 - EXC - - - 77 - 97 - 0 - EXC - - - 78 - 97 - 0 - EXC - - - 79 - 97 - 0 - INH - - - 80 - 97 - 0 - EXC - - - 81 - 97 - 0 - EXC - - - 82 - 97 - 0 - EXC - - - 83 - 97 - 0 - INH - - - 84 - 97 - 0 - EXC - - - 85 - 97 - 0 - EXC - - - 86 - 97 - 0 - EXC - - - 87 - 97 - 0 - EXC - - - 88 - 97 - 0 - EXC - - - 89 - 97 - 0 - INH - - - 90 - 97 - 0 - EXC - - - 91 - 97 - 0 - EXC - - - 92 - 97 - 0 - EXC - - - 93 - 97 - 0 - EXC - - - 94 - 97 - 0 - EXC - - - 95 - 97 - 0 - EXC - - - 96 - 97 - 0 - EXC - - - 97 - 97 - 0 - EXC - - - 98 - 97 - 0 - EXC - - - 99 - 97 - 0 - INH - - - 0 - 98 - 0 - EXC - - - 1 - 98 - 0 - EXC - - - 2 - 98 - 0 - EXC - - - 3 - 98 - 0 - EXC - - - 4 - 98 - 0 - EXC - - - 5 - 98 - 1 - EXC - - - 6 - 98 - 0 - EXC - - - 7 - 98 - 0 - EXC - - - 8 - 98 - 1 - EXC - - - 9 - 98 - 0 - EXC - - - 10 - 98 - 0 - EXC - - - 11 - 98 - 0 - EXC - - - 12 - 98 - 0 - EXC - - - 13 - 98 - 0 - EXC - - - 14 - 98 - 0 - EXC - - - 15 - 98 - 1 - EXC - - - 16 - 98 - 0 - EXC - - - 17 - 98 - 0 - EXC - - - 18 - 98 - 1 - EXC - - - 19 - 98 - 0 - EXC - - - 20 - 98 - 0 - EXC - - - 21 - 98 - 0 - EXC - - - 22 - 98 - 0 - EXC - - - 23 - 98 - 0 - EXC - - - 24 - 98 - 0 - EXC - - - 25 - 98 - 1 - EXC - - - 26 - 98 - 0 - EXC - - - 27 - 98 - 0 - EXC - - - 28 - 98 - 1 - EXC - - - 29 - 98 - 0 - EXC - - - 30 - 98 - 0 - EXC - - - 31 - 98 - 0 - EXC - - - 32 - 98 - 0 - EXC - - - 33 - 98 - 0 - EXC - - - 34 - 98 - 0 - EXC - - - 35 - 98 - 1 - EXC - - - 36 - 98 - 0 - EXC - - - 37 - 98 - 0 - EXC - - - 38 - 98 - 1 - EXC - - - 39 - 98 - 0 - EXC - - - 40 - 98 - 0 - EXC - - - 41 - 98 - 0 - EXC - - - 42 - 98 - 0 - EXC - - - 43 - 98 - 0 - EXC - - - 44 - 98 - 0 - EXC - - - 45 - 98 - 1 - EXC - - - 46 - 98 - 0 - EXC - - - 47 - 98 - 0 - EXC - - - 48 - 98 - 1 - EXC - - - 49 - 98 - 0 - EXC - - - 50 - 98 - 0 - EXC - - - 51 - 98 - 0 - EXC - - - 52 - 98 - 0 - EXC - - - 53 - 98 - 0 - EXC - - - 54 - 98 - 0 - EXC - - - 55 - 98 - 1 - EXC - - - 56 - 98 - 0 - EXC - - - 57 - 98 - 0 - EXC - - - 58 - 98 - 1 - EXC - - - 59 - 98 - 0 - EXC - - - 60 - 98 - 0 - EXC - - - 61 - 98 - 0 - EXC - - - 62 - 98 - 0 - EXC - - - 63 - 98 - 0 - EXC - - - 64 - 98 - 0 - EXC - - - 65 - 98 - 1 - EXC - - - 66 - 98 - 0 - EXC - - - 67 - 98 - 0 - EXC - - - 68 - 98 - 1 - EXC - - - 69 - 98 - 0 - EXC - - - 70 - 98 - 0 - EXC - - - 71 - 98 - 0 - EXC - - - 72 - 98 - 0 - EXC - - - 73 - 98 - 0 - EXC - - - 74 - 98 - 0 - EXC - - - 75 - 98 - 1 - EXC - - - 76 - 98 - 0 - EXC - - - 77 - 98 - 0 - EXC - - - 78 - 98 - 1 - EXC - - - 79 - 98 - 0 - EXC - - - 80 - 98 - 0 - EXC - - - 81 - 98 - 0 - EXC - - - 82 - 98 - 0 - EXC - - - 83 - 98 - 0 - EXC - - - 84 - 98 - 0 - EXC - - - 85 - 98 - 1 - EXC - - - 86 - 98 - 0 - EXC - - - 87 - 98 - 0 - EXC - - - 88 - 98 - 1 - EXC - - - 89 - 98 - 0 - EXC - - - 90 - 98 - 0 - EXC - - - 91 - 98 - 0 - EXC - - - 92 - 98 - 0 - EXC - - - 93 - 98 - 0 - EXC - - - 94 - 98 - 0 - EXC - - - 95 - 98 - 1 - EXC - - - 96 - 98 - 0 - EXC - - - 97 - 98 - 0 - EXC - - - 98 - 98 - 1 - EXC - - - 99 - 98 - 0 - EXC - - - 0 - 99 - 0 - EXC - - - 1 - 99 - 0 - INH - - - 2 - 99 - 1 - EXC - - - 3 - 99 - 0 - INH - - - 4 - 99 - 0 - EXC - - - 5 - 99 - 0 - INH - - - 6 - 99 - 0 - EXC - - - 7 - 99 - 0 - INH - - - 8 - 99 - 0 - EXC - - - 9 - 99 - 0 - INH - - - 10 - 99 - 0 - EXC - - - 11 - 99 - 0 - INH - - - 12 - 99 - 1 - EXC - - - 13 - 99 - 0 - INH - - - 14 - 99 - 0 - EXC - - - 15 - 99 - 0 - INH - - - 16 - 99 - 0 - EXC - - - 17 - 99 - 0 - INH - - - 18 - 99 - 0 - EXC - - - 19 - 99 - 0 - INH - - - 20 - 99 - 0 - EXC - - - 21 - 99 - 0 - INH - - - 22 - 99 - 1 - EXC - - - 23 - 99 - 0 - INH - - - 24 - 99 - 0 - EXC - - - 25 - 99 - 0 - INH - - - 26 - 99 - 0 - EXC - - - 27 - 99 - 0 - INH - - - 28 - 99 - 0 - EXC - - - 29 - 99 - 0 - INH - - - 30 - 99 - 0 - EXC - - - 31 - 99 - 0 - INH - - - 32 - 99 - 1 - EXC - - - 33 - 99 - 0 - INH - - - 34 - 99 - 0 - EXC - - - 35 - 99 - 0 - INH - - - 36 - 99 - 0 - EXC - - - 37 - 99 - 0 - INH - - - 38 - 99 - 0 - EXC - - - 39 - 99 - 0 - INH - - - 40 - 99 - 0 - EXC - - - 41 - 99 - 0 - INH - - - 42 - 99 - 1 - EXC - - - 43 - 99 - 0 - INH - - - 44 - 99 - 0 - EXC - - - 45 - 99 - 0 - INH - - - 46 - 99 - 0 - EXC - - - 47 - 99 - 0 - INH - - - 48 - 99 - 0 - EXC - - - 49 - 99 - 0 - INH - - - 50 - 99 - 0 - EXC - - - 51 - 99 - 0 - INH - - - 52 - 99 - 1 - EXC - - - 53 - 99 - 0 - INH - - - 54 - 99 - 0 - EXC - - - 55 - 99 - 0 - INH - - - 56 - 99 - 0 - EXC - - - 57 - 99 - 0 - INH - - - 58 - 99 - 0 - EXC - - - 59 - 99 - 0 - INH - - - 60 - 99 - 0 - EXC - - - 61 - 99 - 0 - INH - - - 62 - 99 - 1 - EXC - - - 63 - 99 - 0 - INH - - - 64 - 99 - 0 - EXC - - - 65 - 99 - 0 - INH - - - 66 - 99 - 0 - EXC - - - 67 - 99 - 0 - INH - - - 68 - 99 - 0 - EXC - - - 69 - 99 - 0 - INH - - - 70 - 99 - 0 - EXC - - - 71 - 99 - 0 - INH - - - 72 - 99 - 1 - EXC - - - 73 - 99 - 0 - INH - - - 74 - 99 - 0 - EXC - - - 75 - 99 - 0 - INH - - - 76 - 99 - 0 - EXC - - - 77 - 99 - 0 - INH - - - 78 - 99 - 0 - EXC - - - 79 - 99 - 0 - INH - - - 80 - 99 - 0 - EXC - - - 81 - 99 - 0 - INH - - - 82 - 99 - 1 - EXC - - - 83 - 99 - 0 - INH - - - 84 - 99 - 0 - EXC - - - 85 - 99 - 0 - INH - - - 86 - 99 - 0 - EXC - - - 87 - 99 - 0 - INH - - - 88 - 99 - 0 - EXC - - - 89 - 99 - 0 - INH - - - 90 - 99 - 0 - EXC - - - 91 - 99 - 0 - INH - - - 92 - 99 - 1 - EXC - - - 93 - 99 - 0 - INH - - - 94 - 99 - 0 - EXC - - - 95 - 99 - 0 - INH - - - 96 - 99 - 0 - EXC - - - 97 - 99 - 0 - INH - - - 98 - 99 - 0 - EXC - - - 99 - 99 - 0 - INH - - - diff --git a/configfiles/graphs/tR_1.0--fE_0.90.graphml b/configfiles/graphs/tR_1.0--fE_0.90.graphml deleted file mode 100644 index 60fedfc83..000000000 --- a/configfiles/graphs/tR_1.0--fE_0.90.graphml +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - - - - 0 - 0 - 0 - EXC - - - 1 - 0 - 0 - EXC - - - 2 - 0 - 0 - INH - - - 3 - 0 - 0 - EXC - - - 4 - 0 - 0 - EXC - - - 5 - 0 - 0 - EXC - - - 6 - 0 - 0 - EXC - - - 7 - 0 - 1 - EXC - - - 8 - 0 - 0 - EXC - - - 9 - 0 - 0 - EXC - - - 0 - 1 - 0 - EXC - - - 1 - 1 - 1 - EXC - - - 2 - 1 - 0 - EXC - - - 3 - 1 - 0 - EXC - - - 4 - 1 - 1 - EXC - - - 5 - 1 - 0 - EXC - - - 6 - 1 - 0 - EXC - - - 7 - 1 - 0 - EXC - - - 8 - 1 - 0 - EXC - - - 9 - 1 - 0 - EXC - - - 0 - 2 - 0 - EXC - - - 1 - 2 - 0 - EXC - - - 2 - 2 - 0 - EXC - - - 3 - 2 - 0 - EXC - - - 4 - 2 - 0 - EXC - - - 5 - 2 - 0 - INH - - - 6 - 2 - 0 - EXC - - - 7 - 2 - 0 - EXC - - - 8 - 2 - 0 - INH - - - 9 - 2 - 0 - EXC - - - 0 - 3 - 0 - EXC - - - 1 - 3 - 0 - EXC - - - 2 - 3 - 0 - INH - - - 3 - 3 - 0 - EXC - - - 4 - 3 - 0 - EXC - - - 5 - 3 - 0 - EXC - - - 6 - 3 - 0 - EXC - - - 7 - 3 - 1 - EXC - - - 8 - 3 - 0 - EXC - - - 9 - 3 - 0 - EXC - - - 0 - 4 - 0 - EXC - - - 1 - 4 - 1 - EXC - - - 2 - 4 - 0 - EXC - - - 3 - 4 - 0 - EXC - - - 4 - 4 - 1 - EXC - - - 5 - 4 - 0 - EXC - - - 6 - 4 - 0 - EXC - - - 7 - 4 - 0 - EXC - - - 8 - 4 - 0 - EXC - - - 9 - 4 - 0 - EXC - - - 0 - 5 - 0 - EXC - - - 1 - 5 - 0 - EXC - - - 2 - 5 - 0 - EXC - - - 3 - 5 - 0 - EXC - - - 4 - 5 - 0 - EXC - - - 5 - 5 - 0 - INH - - - 6 - 5 - 0 - EXC - - - 7 - 5 - 0 - EXC - - - 8 - 5 - 0 - INH - - - 9 - 5 - 0 - EXC - - - 0 - 6 - 0 - EXC - - - 1 - 6 - 0 - EXC - - - 2 - 6 - 0 - INH - - - 3 - 6 - 0 - EXC - - - 4 - 6 - 0 - EXC - - - 5 - 6 - 0 - EXC - - - 6 - 6 - 0 - EXC - - - 7 - 6 - 1 - EXC - - - 8 - 6 - 0 - EXC - - - 9 - 6 - 0 - EXC - - - 0 - 7 - 0 - EXC - - - 1 - 7 - 1 - EXC - - - 2 - 7 - 0 - EXC - - - 3 - 7 - 0 - EXC - - - 4 - 7 - 1 - EXC - - - 5 - 7 - 0 - EXC - - - 6 - 7 - 0 - EXC - - - 7 - 7 - 0 - EXC - - - 8 - 7 - 0 - EXC - - - 9 - 7 - 0 - EXC - - - 0 - 8 - 0 - EXC - - - 1 - 8 - 0 - EXC - - - 2 - 8 - 0 - EXC - - - 3 - 8 - 0 - EXC - - - 4 - 8 - 0 - EXC - - - 5 - 8 - 0 - INH - - - 6 - 8 - 0 - EXC - - - 7 - 8 - 0 - EXC - - - 8 - 8 - 0 - INH - - - 9 - 8 - 0 - EXC - - - 0 - 9 - 0 - EXC - - - 1 - 9 - 0 - EXC - - - 2 - 9 - 0 - INH - - - 3 - 9 - 0 - EXC - - - 4 - 9 - 0 - EXC - - - 5 - 9 - 0 - EXC - - - 6 - 9 - 0 - EXC - - - 7 - 9 - 1 - EXC - - - 8 - 9 - 0 - EXC - - - 9 - 9 - 0 - EXC - - - diff --git a/configfiles/graphs/tR_1.0--fE_0.98.graphml b/configfiles/graphs/tR_1.0--fE_0.98.graphml deleted file mode 100644 index adf2d639f..000000000 --- a/configfiles/graphs/tR_1.0--fE_0.98.graphml +++ /dev/null @@ -1,609 +0,0 @@ - - - - - - - - - 0 - 0 - 0 - EXC - - - 1 - 0 - 0 - EXC - - - 2 - 0 - 0 - EXC - - - 3 - 0 - 0 - EXC - - - 4 - 0 - 0 - EXC - - - 5 - 0 - 0 - EXC - - - 6 - 0 - 0 - EXC - - - 7 - 0 - 1 - EXC - - - 8 - 0 - 0 - EXC - - - 9 - 0 - 0 - EXC - - - 0 - 1 - 0 - EXC - - - 1 - 1 - 1 - EXC - - - 2 - 1 - 0 - EXC - - - 3 - 1 - 0 - EXC - - - 4 - 1 - 1 - EXC - - - 5 - 1 - 0 - EXC - - - 6 - 1 - 0 - EXC - - - 7 - 1 - 0 - EXC - - - 8 - 1 - 0 - EXC - - - 9 - 1 - 0 - EXC - - - 0 - 2 - 0 - EXC - - - 1 - 2 - 0 - EXC - - - 2 - 2 - 0 - EXC - - - 3 - 2 - 0 - EXC - - - 4 - 2 - 0 - EXC - - - 5 - 2 - 0 - EXC - - - 6 - 2 - 0 - EXC - - - 7 - 2 - 0 - EXC - - - 8 - 2 - 0 - EXC - - - 9 - 2 - 0 - EXC - - - 0 - 3 - 0 - EXC - - - 1 - 3 - 0 - EXC - - - 2 - 3 - 0 - EXC - - - 3 - 3 - 0 - INH - - - 4 - 3 - 0 - EXC - - - 5 - 3 - 0 - EXC - - - 6 - 3 - 0 - EXC - - - 7 - 3 - 1 - EXC - - - 8 - 3 - 0 - EXC - - - 9 - 3 - 0 - EXC - - - 0 - 4 - 0 - EXC - - - 1 - 4 - 1 - EXC - - - 2 - 4 - 0 - EXC - - - 3 - 4 - 0 - EXC - - - 4 - 4 - 1 - EXC - - - 5 - 4 - 0 - EXC - - - 6 - 4 - 0 - EXC - - - 7 - 4 - 0 - EXC - - - 8 - 4 - 0 - EXC - - - 9 - 4 - 0 - EXC - - - 0 - 5 - 0 - EXC - - - 1 - 5 - 0 - EXC - - - 2 - 5 - 0 - EXC - - - 3 - 5 - 0 - EXC - - - 4 - 5 - 0 - EXC - - - 5 - 5 - 0 - EXC - - - 6 - 5 - 0 - EXC - - - 7 - 5 - 0 - EXC - - - 8 - 5 - 0 - EXC - - - 9 - 5 - 0 - EXC - - - 0 - 6 - 0 - EXC - - - 1 - 6 - 0 - EXC - - - 2 - 6 - 0 - EXC - - - 3 - 6 - 0 - EXC - - - 4 - 6 - 0 - EXC - - - 5 - 6 - 0 - EXC - - - 6 - 6 - 0 - INH - - - 7 - 6 - 1 - EXC - - - 8 - 6 - 0 - EXC - - - 9 - 6 - 0 - EXC - - - 0 - 7 - 0 - EXC - - - 1 - 7 - 1 - EXC - - - 2 - 7 - 0 - EXC - - - 3 - 7 - 0 - EXC - - - 4 - 7 - 1 - EXC - - - 5 - 7 - 0 - EXC - - - 6 - 7 - 0 - EXC - - - 7 - 7 - 0 - EXC - - - 8 - 7 - 0 - EXC - - - 9 - 7 - 0 - EXC - - - 0 - 8 - 0 - EXC - - - 1 - 8 - 0 - EXC - - - 2 - 8 - 0 - EXC - - - 3 - 8 - 0 - EXC - - - 4 - 8 - 0 - EXC - - - 5 - 8 - 0 - EXC - - - 6 - 8 - 0 - EXC - - - 7 - 8 - 0 - EXC - - - 8 - 8 - 0 - EXC - - - 9 - 8 - 0 - EXC - - - 0 - 9 - 0 - EXC - - - 1 - 9 - 0 - EXC - - - 2 - 9 - 0 - EXC - - - 3 - 9 - 0 - EXC - - - 4 - 9 - 0 - EXC - - - 5 - 9 - 0 - EXC - - - 6 - 9 - 0 - EXC - - - 7 - 9 - 1 - EXC - - - 8 - 9 - 0 - EXC - - - 9 - 9 - 0 - EXC - - - diff --git a/configfiles/half_tR_1.0--fE_0.90_10000.xml b/configfiles/half_tR_1.0--fE_0.90_10000.xml deleted file mode 100644 index 4d7ae971d..000000000 --- a/configfiles/half_tR_1.0--fE_0.90_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.90_10000.graphml - - 100.0 - 300 - - - 200 - 200 - - - 1 - 777 - - - probed/half_tR_1.0--fE_0.90_10000.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - ../configfiles/NList/probedNList_10000.xml - - - - diff --git a/configfiles/stdp_fE_0.90_10000.xml b/configfiles/stdp_fE_0.90_10000.xml new file mode 100644 index 000000000..74de4eaaa --- /dev/null +++ b/configfiles/stdp_fE_0.90_10000.xml @@ -0,0 +1,143 @@ + + + + ../configfiles/graphs/fE_0.90_10000.graphml + + 100.0 + 3 + + + 200 + 200 + + + 1 + 777 + + + + + + + 13.5e-09 + 13.5e-09 + + + 1.0e-09 + 1.5e-09 + + + 15.0e-03 + 15.0e-03 + + + 0.0 + 0.0 + + + 13.5e-03 + 13.5e-03 + + + 13.0e-03 + 13.0e-03 + + + 13.565e-3 + 13.655e-3 + + + 13.0e-3 + 13.0e-3 + + + + + + + 6e-3 + 6e-3 + 3e-3 + 3e-3 + + + 0.8e-3 + 0.8e-3 + 0.8e-3 + 1.5e-3 + + + 0.32 + 0.25 + 0.05 + 0.5 + + + 0.144 + 0.7 + 0.125 + 1.1 + + + 0.06 + 0.02 + 1.2 + 0.05 + + 2e-3 + + 88e-3 + 88e-3 + + + 28e-3 + 28e-3 + + + 14.8e-3 + 14.8e-3 + + + 33.8e-3 + 33.8e-3 + + + 5.0265e-7 + 5.0265e-7 + + + -52e-2 + -0.52 + + + 1.03 + 1.03 + + + + + 0 + 0 + 0 + + 2.36936e-38 + 2.35106e-38 + + + 9.18355e-41 + 3.58732e-43 + + + + + + + + + + + Output/Results/stdp_fE_0.90_10000.h5 + + + + diff --git a/configfiles/tR_0.1--fE_0.80_10000.xml b/configfiles/tR_0.1--fE_0.80_10000.xml deleted file mode 100644 index 7a806604a..000000000 --- a/configfiles/tR_0.1--fE_0.80_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.80_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_0.1--fE_0.80_10000_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 0.1 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_0.1--fE_0.90.xml b/configfiles/tR_0.1--fE_0.90.xml deleted file mode 100644 index 11bb90b95..000000000 --- a/configfiles/tR_0.1--fE_0.90.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.90.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_0.1--fE_0.90.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 0.1 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_0.1--fE_0.90_10000.xml b/configfiles/tR_0.1--fE_0.90_10000.xml deleted file mode 100644 index a50752796..000000000 --- a/configfiles/tR_0.1--fE_0.90_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.90_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_0.1--fE_0.90_10000_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 0.1 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_0.1--fE_0.98.xml b/configfiles/tR_0.1--fE_0.98.xml deleted file mode 100644 index 5b7894a19..000000000 --- a/configfiles/tR_0.1--fE_0.98.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.98.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_0.1--fE_0.98_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 0.1 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_0.1--fE_0.98_10000.xml b/configfiles/tR_0.1--fE_0.98_10000.xml deleted file mode 100644 index aad51ef68..000000000 --- a/configfiles/tR_0.1--fE_0.98_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_0.1--fE_0.98_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_0.1--fE_0.98_10000_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 0.1 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.0--fE_0.80_10000.xml b/configfiles/tR_1.0--fE_0.80_10000.xml deleted file mode 100644 index e8670d2b4..000000000 --- a/configfiles/tR_1.0--fE_0.80_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.80_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.0--fE_0.80_10000_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.0--fE_0.90.xml b/configfiles/tR_1.0--fE_0.90.xml deleted file mode 100644 index bcbc5149d..000000000 --- a/configfiles/tR_1.0--fE_0.90.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.90.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.0--fE_0.90_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.0--fE_0.90_10000.xml b/configfiles/tR_1.0--fE_0.90_10000.xml index 532728f23..2854174a2 100644 --- a/configfiles/tR_1.0--fE_0.90_10000.xml +++ b/configfiles/tR_1.0--fE_0.90_10000.xml @@ -1,79 +1,111 @@ - - ../configfiles/graphs/tR_1.0--fE_0.90_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.0--fE_0.90_10000_historyDump.h5 - - + + ../configfiles/graphs/fE_0.90_10000.graphml + + 100.0 + 600 + + + 200 + 200 + + + 1 + 777 + + - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - + + 13.5e-09 + 13.5e-09 + + + 1.0e-09 + 1.5e-09 + + + 15.0e-03 + 15.0e-03 + + + 0.0 + 0.0 + + + 13.5e-03 + 13.5e-03 + + + 13.0e-03 + 13.0e-03 + + + 13.565e-3 + 13.655e-3 + + + 13.0e-3 + 13.0e-3 + + - + + 6e-3 + 6e-3 + 3e-3 + 3e-3 + + + 0.8e-3 + 0.8e-3 + 0.8e-3 + 1.5e-3 + + + 0.32 + 0.25 + 0.05 + 0.5 + + + 0.144 + 0.7 + 0.125 + 1.1 + + + 0.06 + 0.02 + 1.2 + 0.05 + + - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - + + + 0.60 + 0.10 + 0.0001 + 1.0 + 0.1 + 0.4 + + - - - - + + + + + + + Output/Results/tR_1.0--fE_0.90_10000.h5 + + diff --git a/configfiles/tR_1.0--fE_0.98.xml b/configfiles/tR_1.0--fE_0.98.xml deleted file mode 100644 index 37d489500..000000000 --- a/configfiles/tR_1.0--fE_0.98.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.98.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.0--fE_0.98_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.0--fE_0.98_10000.xml b/configfiles/tR_1.0--fE_0.98_10000.xml index aeb373f5c..06fb9d796 100644 --- a/configfiles/tR_1.0--fE_0.98_10000.xml +++ b/configfiles/tR_1.0--fE_0.98_10000.xml @@ -1,79 +1,111 @@ - - ../configfiles/graphs/tR_1.0--fE_0.98_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.0--fE_0.98_10000_historyDump.h5 - - + + ../configfiles/graphs/fE_0.98_10000.graphml + + 100.0 + 600 + + + 200 + 200 + + + 1 + 777 + + - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - + + 13.5e-09 + 13.5e-09 + + + 1.0e-09 + 1.5e-09 + + + 15.0e-03 + 15.0e-03 + + + 0.0 + 0.0 + + + 13.5e-03 + 13.5e-03 + + + 13.0e-03 + 13.0e-03 + + + 13.565e-3 + 13.655e-3 + + + 13.0e-3 + 13.0e-3 + + - + + 6e-3 + 6e-3 + 3e-3 + 3e-3 + + + 0.8e-3 + 0.8e-3 + 0.8e-3 + 1.5e-3 + + + 0.32 + 0.25 + 0.05 + 0.5 + + + 0.144 + 0.7 + 0.125 + 1.1 + + + 0.06 + 0.02 + 1.2 + 0.05 + + - - - 0.60 - 0.10 - 0.0001 - 1.0 - 0.1 - 0.4 - - + + + 0.60 + 0.10 + 0.0001 + 1.0 + 0.1 + 0.4 + + - - - - + + + + + + + Output/Results/tR_1.0--fE_0.98_10000.h5 + + diff --git a/configfiles/tR_1.9--fE_0.80_10000.xml b/configfiles/tR_1.9--fE_0.80_10000.xml deleted file mode 100644 index 2b84966e0..000000000 --- a/configfiles/tR_1.9--fE_0.80_10000.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.80_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.9--fE_0.80_10000_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.9--fE_0.90.xml b/configfiles/tR_1.9--fE_0.90.xml deleted file mode 100644 index ed537b9db..000000000 --- a/configfiles/tR_1.9--fE_0.90.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.90.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.9--fE_0.90_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.9--fE_0.90_10000.xml b/configfiles/tR_1.9--fE_0.90_10000.xml index de6243547..bc14241d6 100644 --- a/configfiles/tR_1.9--fE_0.90_10000.xml +++ b/configfiles/tR_1.9--fE_0.90_10000.xml @@ -1,79 +1,111 @@ - - ../configfiles/graphs/tR_0.1--fE_0.90_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.9--fE_0.90_10000_historyDump.h5 - - + + ../configfiles/graphs/fE_0.90_10000.graphml + + 100.0 + 600 + + + 200 + 200 + + + 1 + 777 + + - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - + + 13.5e-09 + 13.5e-09 + + + 1.0e-09 + 1.5e-09 + + + 15.0e-03 + 15.0e-03 + + + 0.0 + 0.0 + + + 13.5e-03 + 13.5e-03 + + + 13.0e-03 + 13.0e-03 + + + 13.565e-3 + 13.655e-3 + + + 13.0e-3 + 13.0e-3 + + - + + 6e-3 + 6e-3 + 3e-3 + 3e-3 + + + 0.8e-3 + 0.8e-3 + 0.8e-3 + 1.5e-3 + + + 0.32 + 0.25 + 0.05 + 0.5 + + + 0.144 + 0.7 + 0.125 + 1.1 + + + 0.06 + 0.02 + 1.2 + 0.05 + + - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - + + + 0.60 + 0.10 + 0.0001 + 1.9 + 0.1 + 0.4 + + - - - - + + + + + + + Output/Results/tR_1.9--fE_0.90_10000.h5 + + diff --git a/configfiles/tR_1.9--fE_0.98.xml b/configfiles/tR_1.9--fE_0.98.xml deleted file mode 100644 index 2e7a8eae1..000000000 --- a/configfiles/tR_1.9--fE_0.98.xml +++ /dev/null @@ -1,79 +0,0 @@ - - - - ../configfiles/graphs/tR_1.0--fE_0.98.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.9--fE_0.98_historyDump.h5 - - - - - - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - - - - - - - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - - - - - - - - - diff --git a/configfiles/tR_1.9--fE_0.98_10000.xml b/configfiles/tR_1.9--fE_0.98_10000.xml index 6711af457..4d2004b29 100644 --- a/configfiles/tR_1.9--fE_0.98_10000.xml +++ b/configfiles/tR_1.9--fE_0.98_10000.xml @@ -1,79 +1,81 @@ - - ../configfiles/graphs/tR_0.1--fE_0.98_10000.graphml - - 100.0 - 600 - - - 200 - 200 - - - 1 - 777 - - - Output/Results/tR_1.9--fE_0.98_10000_historyDump.h5 - - + + ../configfiles/graphs/fE_0.98_10000.graphml + + 100.0 + 600 + + + 200 + 200 + + + 1 + 777 + + - - 13.5e-09 - 13.5e-09 - - - 1.0e-09 - 1.5e-09 - - - 15.0e-03 - 15.0e-03 - - - 0.0 - 0.0 - - - 13.5e-03 - 13.5e-03 - - - 13.0e-03 - 13.0e-03 - - - 13.565e-3 - 13.655e-3 - - - 13.0e-3 - 13.0e-3 - - + + 13.5e-09 + 13.5e-09 + + + 1.0e-09 + 1.5e-09 + + + 15.0e-03 + 15.0e-03 + + + 0.0 + 0.0 + + + 13.5e-03 + 13.5e-03 + + + 13.0e-03 + 13.0e-03 + + + 13.565e-3 + 13.655e-3 + + + 13.0e-3 + 13.0e-3 + + - + - - - 0.60 - 0.10 - 0.0001 - 1.9 - 0.1 - 0.4 - - + + + 0.60 + 0.10 + 0.0001 + 1.9 + 0.1 + 0.4 + + - - - - + + + + + + + Output/Results/tR_1.9--fE_0.98_10000.h5 + + From 2f0d539ae54cf66e884bb763375ae1a2507fe271 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Wed, 15 Jan 2025 16:28:18 -0800 Subject: [PATCH 011/153] comment out serialFileAccessTest until issue-754 is resolved --- CMakeLists.txt | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cb09a2eb..75965c3da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -405,15 +405,16 @@ target_link_libraries(serialFirstHalfTest combinedLib) target_link_libraries(serialSecondHalfTest stdc++fs) target_link_libraries(serialSecondHalfTest combinedLib) -add_executable(serialFileAccessTest - Testing/RunTests.cpp - Testing/UnitTesting/SerializationFileAccessTest.cpp) +# commenting out serialFileAccessTest until issue-754 is resolved +# add_executable(serialFileAccessTest +# Testing/RunTests.cpp +# Testing/UnitTesting/SerializationFileAccessTest.cpp) # Links the Googletest framework with the serialFileAccessTest executable -target_link_libraries(serialFileAccessTest gtest gtest_main) +# target_link_libraries(serialFileAccessTest gtest gtest_main) # Link the combined library into the 'serialFileAccessTest' executable. -target_link_libraries(serialFileAccessTest combinedLib) +# target_link_libraries(serialFileAccessTest combinedLib) # Clear ENABLE_CUDA, PERFORMANCE_METRICS and GPROF from the cache so it's reset for subsequent builds unset(ENABLE_CUDA CACHE) From 6b3bf1a11d31e67563ffd7e9d52ffd3b7f1331ac Mon Sep 17 00:00:00 2001 From: Andrew Madison Date: Thu, 16 Jan 2025 14:39:29 -0800 Subject: [PATCH 012/153] Added Andrew Madison to Contributors.md --- Contributors.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Contributors.md b/Contributors.md index 2fdaef805..136ff3eb5 100644 --- a/Contributors.md +++ b/Contributors.md @@ -78,6 +78,9 @@ ChengHao Hsu Zaina Shaikh +## 2025 +Andrew Madison + # Graduate From 3edba91ce3a91d728396707ace81b8d4dc575c9f Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 16 Jan 2025 17:42:04 -0800 Subject: [PATCH 013/153] Broke up CudaSource into multiple librariers and made the libraries static --- CMakeLists.txt | 39 +++++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 16 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1cb09a2eb..33d3ed69d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,6 +12,7 @@ cmake_minimum_required(VERSION 3.12) # #"YES" / GPU choice only available if CUDA library is installed and the GPU is CUDA capable. ############################################################################################ + if(NOT ENABLE_CUDA) set(ENABLE_CUDA NO) endif() @@ -45,8 +46,8 @@ if(ENABLE_CUDA) add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware - set(CMAKE_CUDA_ARCHITECTURES 37) - set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_37,code=sm_37) + set(CMAKE_CUDA_ARCHITECTURES 75) + set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_75,code=sm_75) else() message("\n----Generating Makefile for Graphitti CPU version----") @@ -161,18 +162,24 @@ include_directories( if(ENABLE_CUDA) - set(cuda_sources Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp - Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp - Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp - Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp - Simulator/Edges/Neuro/AllDSSynapses_d.cpp - Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp - Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp - Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp - Simulator/Vertices/Neuro/AllIFNeurons_d.cpp - Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp + set(cuda_ConnectionsSources Simulator/Connections/Neuro/ConnGrowth_d.cpp ) - set_source_files_properties(${cuda_sources} PROPERTIES LANGUAGE CUDA) + set_source_files_properties(${cuda_ConnectionsSources} PROPERTIES LANGUAGE CUDA) + + set(cuda_EdgesSources Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp + Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp + Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp + Simulator/Edges/Neuro/AllDSSynapses_d.cpp + Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp) + set_source_files_properties(${cuda_EdgesSources} PROPERTIES LANGUAGE CUDA) + + set(cuda_VerticesSources + Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp + Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp + Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp + Simulator/Vertices/Neuro/AllIFNeurons_d.cpp + Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp) + set_source_files_properties(${cuda_VerticesSources} PROPERTIES LANGUAGE CUDA) endif() #Collect source files and create libraries @@ -184,7 +191,7 @@ endif() file(GLOB_RECURSE Connections_Source Simulator/Connections/*.cpp Simulator/Connections/*.h) if(ENABLE_CUDA) - add_library(Connections STATIC ${Connections_Source} ${cuda_sources}) + add_library(Connections STATIC ${Connections_Source} ${cuda_ConnectionsSources}) else() list(REMOVE_ITEM Connections_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Connections/Neuro/ConnGrowth_d.cpp") add_library(Connections STATIC ${Connections_Source}) @@ -195,7 +202,7 @@ endif() file(GLOB_RECURSE Vertices_Source Simulator/Vertices/*.cpp Simulator/Vertices/*.h) if(ENABLE_CUDA) - add_library(Vertices SHARED ${Vertices_Source} ${cuda_sources}) + add_library(Vertices STATIC ${Vertices_Source} ${cuda_VerticesSources}) else() list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/Neuro/AllVerticesDeviceFuncs.h") list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/Neuro/AllVerticesDeviceFuncs_d.cpp") @@ -212,7 +219,7 @@ endif() # Create Edges library file(GLOB_RECURSE Edges_Source Simulator/Edges/*.cpp Simulator/Edges/*.h) if(ENABLE_CUDA) - add_library(Edges SHARED ${Edges_Source} ${cuda_sources}) + add_library(Edges STATIC ${Edges_Source} ${cuda_EdgesSources}) else() list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs.h") list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp") From 7d7836f36de5d6bf3641d4ebb670ba70ad9c2645 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 20 Jan 2025 13:01:18 -0800 Subject: [PATCH 014/153] Revert cuda compilation parameters to support kepler architecture --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 33d3ed69d..01e0860ef 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -46,8 +46,8 @@ if(ENABLE_CUDA) add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware - set(CMAKE_CUDA_ARCHITECTURES 75) - set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_75,code=sm_75) + set(CMAKE_CUDA_ARCHITECTURES 37) + set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_37,code=sm_37) else() message("\n----Generating Makefile for Graphitti CPU version----") From 7f5a172775fc591b6b8cd0ae99019583a5dfa614 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 23 Jan 2025 16:17:35 -0800 Subject: [PATCH 015/153] reverted cmakelists back to kepler --- CMakeLists.txt | 1 - Simulator/Connections/Connections.cpp | 2 +- .../Connections/NG911/Connections911.cpp | 42 +++++------ .../FunctionNodes/GenericFunctionNode.cpp | 4 +- .../Core/FunctionNodes/GenericFunctionNode.h | 4 +- Simulator/Core/FunctionNodes/IFunctionNode.h | 4 +- Simulator/Core/OperationManager.cpp | 22 +++--- Simulator/Core/OperationManager.h | 6 +- Simulator/Core/Operations.h | 25 +++---- Simulator/Edges/AllEdges.cpp | 26 +++---- Simulator/Edges/NG911/All911Edges.cpp | 2 +- Simulator/Edges/Neuro/AllDSSynapses.cpp | 8 +-- Simulator/Edges/Neuro/AllDSSynapses_d.cpp | 4 +- .../Edges/Neuro/AllDynamicSTDPSynapses.cpp | 8 +-- .../Edges/Neuro/AllDynamicSTDPSynapses_d.cpp | 4 +- Simulator/Edges/Neuro/AllNeuroEdges.cpp | 14 ++-- Simulator/Edges/Neuro/AllNeuroEdges.h | 2 +- Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp | 12 ++-- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 8 +-- .../Edges/Neuro/AllSpikingSynapses_d.cpp | 8 +-- .../Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp | 70 +++++++++---------- Simulator/Layouts/Layout.cpp | 8 +-- Simulator/Layouts/NG911/Layout911.cpp | 38 +++++----- Simulator/Layouts/Neuro/LayoutNeuro.cpp | 24 +++---- Simulator/Recorders/NG911/Xml911Recorder.cpp | 8 +-- Simulator/Recorders/Recorder.h | 2 +- Simulator/Utils/Global.cpp | 6 +- Simulator/Utils/Global.h | 4 +- Simulator/Utils/InputManager.h | 14 ++-- Simulator/Vertices/AllVertices.cpp | 2 +- Simulator/Vertices/NG911/All911Vertices.cpp | 10 +-- Simulator/Vertices/Neuro/AllIFNeurons.cpp | 6 +- Simulator/Vertices/Neuro/AllIZHNeurons.cpp | 2 +- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp | 8 +-- Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp | 8 +-- Testing/UnitTesting/FunctionNodeTests.cpp | 4 +- Testing/UnitTesting/OperationManagerTests.cpp | 8 +-- 37 files changed, 212 insertions(+), 216 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5e6f9574c..99d2ee131 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -12,7 +12,6 @@ cmake_minimum_required(VERSION 3.12) # #"YES" / GPU choice only available if CUDA library is installed and the GPU is CUDA capable. ############################################################################################ - if(NOT ENABLE_CUDA) set(ENABLE_CUDA NO) endif() diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index 2318058ae..7c1162ab0 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -38,7 +38,7 @@ Connections::Connections() // Register loadParameters function with Operation Manager function loadParamsFunc = bind(&Connections::loadParameters, this); - opsManager.registerOperation(Operations::op::loadParameters, loadParamsFunc); + opsManager.registerOperation(Operations::loadParameters, loadParamsFunc); // Register registerGraphProperties as Operations registerGraphProperties function regGraphPropsFunc = bind(&Connections::registerGraphProperties, this); diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index 95ef61552..dfb6f9f14 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -97,11 +97,11 @@ BGSIZE Connections911::getEdgeToClosestResponder(const Call &call, BGSIZE vertex vertexType requiredType; if (call.type == "Law") - requiredType = LAW; + requiredType = vertexType::LAW; else if (call.type == "EMS") - requiredType = EMS; + requiredType = vertexType::EMS; else if (call.type == "Fire") - requiredType = FIRE; + requiredType = vertexType::FIRE; // loop over the outgoing edges looking for the responder with the shortest // Euclidean distance to the call's location. @@ -145,7 +145,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) // Find all psaps for (int i = 0; i < numVertices; i++) { - if (layout.vertexTypeMap_[i] == PSAP) { + if (layout.vertexTypeMap_[i] == vertexType::PSAP) { psaps.push_back(i); } } @@ -189,13 +189,13 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) edges_->eraseEdge(destVertex, iEdg); // Identify all psap-less callers - if (layout.vertexTypeMap_[srcVertex] == CALR) { + if (layout.vertexTypeMap_[srcVertex] == vertexType::CALR) { callersToReroute.push_back(srcVertex); } // Identify all psap-less responders - if (layout.vertexTypeMap_[destVertex] == LAW || layout.vertexTypeMap_[destVertex] == FIRE - || layout.vertexTypeMap_[destVertex] == EMS) { + if (layout.vertexTypeMap_[destVertex] == vertexType::LAW || layout.vertexTypeMap_[destVertex] == vertexType::FIRE + || layout.vertexTypeMap_[destVertex] == vertexType::EMS) { respsToReroute.push_back(destVertex); } } @@ -204,7 +204,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) if (changesMade) { // This is here so that we don't delete the vertex if we can't find any edges verticesErased.push_back(randPSAP); - layout.vertexTypeMap_[randPSAP] = VTYPE_UNDEF; + layout.vertexTypeMap_[randPSAP] = vertexType::VTYPE_UNDEF; } // Failsafe @@ -230,13 +230,13 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) // Insert Caller to PSAP edge BGSIZE iEdg - = edges_->addEdge(CP, srcVertex, closestPSAP, Simulator::getInstance().getDeltaT()); + = edges_->addEdge(edgeType::CP, srcVertex, closestPSAP, Simulator::getInstance().getDeltaT()); // Record added edge ChangedEdge addedEdge; addedEdge.srcV = srcVertex; addedEdge.destV = closestPSAP; - addedEdge.eType = CP; + addedEdge.eType = edgeType::CP; edgesAdded.push_back(addedEdge); } @@ -258,13 +258,13 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) // Insert PSAP to Responder edge BGSIZE iEdg - = edges_->addEdge(PR, closestPSAP, destVertex, Simulator::getInstance().getDeltaT()); + = edges_->addEdge(edgeType::PR, closestPSAP, destVertex, Simulator::getInstance().getDeltaT()); // Record added edge ChangedEdge addedEdge; addedEdge.srcV = closestPSAP; addedEdge.destV = destVertex; - addedEdge.eType = PR; + addedEdge.eType = edgeType::PR; edgesAdded.push_back(addedEdge); } @@ -281,8 +281,8 @@ bool Connections911::eraseRESP(AllVertices &vertices, Layout &layout) // Find all resps for (int i = 0; i < numVertices; i++) { - if (layout.vertexTypeMap_[i] == LAW || layout.vertexTypeMap_[i] == FIRE - || layout.vertexTypeMap_[i] == EMS) { + if (layout.vertexTypeMap_[i] == vertexType::LAW || layout.vertexTypeMap_[i] == vertexType::FIRE + || layout.vertexTypeMap_[i] == vertexType::EMS) { resps.push_back(i); } } @@ -325,7 +325,7 @@ bool Connections911::eraseRESP(AllVertices &vertices, Layout &layout) if (changesMade) { // This is here so that we don't delete the vertex if we can't find any edges verticesErased.push_back(randRESP); - layout.vertexTypeMap_[randRESP] = VTYPE_UNDEF; + layout.vertexTypeMap_[randRESP] = vertexType::VTYPE_UNDEF; } return changesMade; @@ -339,22 +339,22 @@ string Connections911::ChangedEdge::toString() string type_s; switch (eType) { - case CP: + case edgeType::CP: type_s = "CP"; break; - case PR: + case edgeType::PR: type_s = "PR"; break; - case PP: + case edgeType::PP: type_s = "PP"; break; - case PC: + case edgeType::PC: type_s = "PC"; break; - case RP: + case edgeType::RP: type_s = "RP"; break; - case RC: + case edgeType::RC: type_s = "RC"; break; default: diff --git a/Simulator/Core/FunctionNodes/GenericFunctionNode.cpp b/Simulator/Core/FunctionNodes/GenericFunctionNode.cpp index a6556821b..9e0acb5ee 100644 --- a/Simulator/Core/FunctionNodes/GenericFunctionNode.cpp +++ b/Simulator/Core/FunctionNodes/GenericFunctionNode.cpp @@ -14,7 +14,7 @@ #include /// Constructor, Function Signature: void () -GenericFunctionNode::GenericFunctionNode(const Operations::op &operation, +GenericFunctionNode::GenericFunctionNode(const Operations &operation, const std::function &func) { operationType_ = operation; @@ -22,7 +22,7 @@ GenericFunctionNode::GenericFunctionNode(const Operations::op &operation, } /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. -bool GenericFunctionNode::invokeFunction(const Operations::op &operation) const +bool GenericFunctionNode::invokeFunction(const Operations &operation) const { if (operation == operationType_) { __invoke(function_); diff --git a/Simulator/Core/FunctionNodes/GenericFunctionNode.h b/Simulator/Core/FunctionNodes/GenericFunctionNode.h index d47c759f5..7f149890b 100644 --- a/Simulator/Core/FunctionNodes/GenericFunctionNode.h +++ b/Simulator/Core/FunctionNodes/GenericFunctionNode.h @@ -17,13 +17,13 @@ using namespace std; class GenericFunctionNode : public IFunctionNode { public: /// Constructor, Function Signature: void () - GenericFunctionNode(const Operations::op &operationType, const std::function &function); + GenericFunctionNode(const Operations &operationType, const std::function &function); /// Destructor ~GenericFunctionNode() = default; /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. - bool invokeFunction(const Operations::op &operation) const override; + bool invokeFunction(const Operations &operation) const override; private: std::function function_; ///< Stored function. diff --git a/Simulator/Core/FunctionNodes/IFunctionNode.h b/Simulator/Core/FunctionNodes/IFunctionNode.h index 36a54935c..dca3629aa 100644 --- a/Simulator/Core/FunctionNodes/IFunctionNode.h +++ b/Simulator/Core/FunctionNodes/IFunctionNode.h @@ -19,9 +19,9 @@ class IFunctionNode { virtual ~IFunctionNode() = default; /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. - virtual bool invokeFunction(const Operations::op &operation) const = 0; + virtual bool invokeFunction(const Operations &operation) const = 0; protected: /// The operation type of the stored function. - Operations::op operationType_; + Operations operationType_; }; diff --git a/Simulator/Core/OperationManager.cpp b/Simulator/Core/OperationManager.cpp index 66dbdb72a..dda9e411a 100644 --- a/Simulator/Core/OperationManager.cpp +++ b/Simulator/Core/OperationManager.cpp @@ -27,7 +27,7 @@ OperationManager &OperationManager::getInstance() /// Called by lower level classes constructors on creation to register their operations with their operation type. /// This method can be overloaded to handle different function signatures. /// Handles function signature: void () -void OperationManager::registerOperation(const Operations::op &operation, +void OperationManager::registerOperation(const Operations &operation, const function &function) { try { @@ -41,7 +41,7 @@ void OperationManager::registerOperation(const Operations::op &operation, } /// Takes in a operation type and invokes all registered functions that are classified as that operation type. -void OperationManager::executeOperation(const Operations::op &operation) const +void OperationManager::executeOperation(const Operations &operation) const { LOG4CPLUS_INFO(logger_, "Executing operation " + operationToString(operation)); if (functionList_.size() > 0) { @@ -52,24 +52,24 @@ void OperationManager::executeOperation(const Operations::op &operation) const } /// Takes in the operation enum and returns the enum as a string. Used for debugging purposes. -string OperationManager::operationToString(const Operations::op &operation) const +string OperationManager::operationToString(const Operations &operation) const { switch (operation) { - case Operations::op::printParameters: + case Operations::printParameters: return "printParameters"; - case Operations::op::loadParameters: + case Operations::loadParameters: return "loadParameters"; - case Operations::op::serialize: + case Operations::serialize: return "serialize"; - case Operations::op::deserialize: + case Operations::deserialize: return "deserialize"; - case Operations::op::deallocateGPUMemory: + case Operations::deallocateGPUMemory: return "deallocateGPUMemory"; - case Operations::op::restoreToDefault: + case Operations::restoreToDefault: return "restoreToDefault"; - case Operations::op::copyToGPU: + case Operations::copyToGPU: return "copyToGPU"; - case Operations::op::copyFromGPU: + case Operations::copyFromGPU: return "copyFromGPU"; default: return "Operation isn't in OperationManager::operationToString()"; diff --git a/Simulator/Core/OperationManager.h b/Simulator/Core/OperationManager.h index 3dd73bd82..e85b00993 100644 --- a/Simulator/Core/OperationManager.h +++ b/Simulator/Core/OperationManager.h @@ -33,13 +33,13 @@ class OperationManager { /// Called by lower level classes constructors on creation to register their operations with their operation type. /// This method can be overloaded to handle different function signatures. /// Handles function signature: void () - void registerOperation(const Operations::op &operation, const function &function); + void registerOperation(const Operations &operation, const function &function); /// Takes in a operation type and invokes all registered functions that are classified as that operation type. - void executeOperation(const Operations::op &operation) const; + void executeOperation(const Operations &operation) const; /// Takes in the operation enum and returns the enum as a string. Used for debugging purposes. - string operationToString(const Operations::op &operation) const; + string operationToString(const Operations &operation) const; /// Delete copy and move methods to avoid copy instances of the singleton OperationManager(const OperationManager &operationManager) = delete; diff --git a/Simulator/Core/Operations.h b/Simulator/Core/Operations.h index ceb87bc80..8cd21f3b6 100644 --- a/Simulator/Core/Operations.h +++ b/Simulator/Core/Operations.h @@ -9,19 +9,16 @@ #pragma once -class Operations { -public: +enum class Operations { /// Available operations the OperationManager can register and execute. - enum op { - printParameters, - loadParameters, - registerGraphProperties, - setup, - serialize, - deserialize, - deallocateGPUMemory, // Make sure deallocate memory isn't called until all GPU memory is copied back. - restoreToDefault, // Not sure what this refers to. - copyToGPU, - copyFromGPU - }; + printParameters, + loadParameters, + registerGraphProperties, + setup, + serialize, + deserialize, + deallocateGPUMemory, // Make sure deallocate memory isn't called until all GPU memory is copied back. + restoreToDefault, // Not sure what this refers to. + copyToGPU, + copyFromGPU }; \ No newline at end of file diff --git a/Simulator/Edges/AllEdges.cpp b/Simulator/Edges/AllEdges.cpp index 2d199af9b..6d27bbeea 100644 --- a/Simulator/Edges/AllEdges.cpp +++ b/Simulator/Edges/AllEdges.cpp @@ -16,7 +16,7 @@ AllEdges::AllEdges() : totalEdgeCount_(0), maxEdgesPerVertex_(0), countVertices_ // OperationManager. This will register the appropriate overridden method // for the actual (sub)class of the object being created. function loadParametersFunc = std::bind(&AllEdges::loadParameters, this); - OperationManager::getInstance().registerOperation(Operations::op::loadParameters, + OperationManager::getInstance().registerOperation(Operations::loadParameters, loadParametersFunc); // Register printParameters function as a printParameters operation in the @@ -76,7 +76,7 @@ void AllEdges::setupEdges(int numVertices, int maxEdges) if (maxTotalEdges != 0) { W_.assign(maxTotalEdges, 0); - type_.assign(maxTotalEdges, ETYPE_UNDEF); + type_.assign(maxTotalEdges, edgeType::ETYPE_UNDEF); inUse_.assign(maxTotalEdges, false); edgeCounts_.assign(numVertices, 0); destVertexIndex_.assign(maxTotalEdges, 0); @@ -116,7 +116,7 @@ void AllEdges::writeEdge(ostream &output, BGSIZE iEdg) const output << sourceVertexIndex_[iEdg] << ends; output << destVertexIndex_[iEdg] << ends; output << W_[iEdg] << ends; - output << type_[iEdg] << ends; + output << static_cast(type_[iEdg]) << ends; output << (inUse_[iEdg] == 1 ? "true" : "false") << ends; } @@ -128,25 +128,25 @@ edgeType AllEdges::edgeOrdinalToType(int typeOrdinal) { switch (typeOrdinal) { case 0: - return II; + return edgeType::II; case 1: - return IE; + return edgeType::IE; case 2: - return EI; + return edgeType::EI; case 3: - return EE; + return edgeType::EE; case 4: - return CP; + return edgeType::CP; case 5: - return PR; + return edgeType::PR; case 6: - return PC; + return edgeType::PC; case 7: - return PP; + return edgeType::PP; case 8: - return RP; + return edgeType::RP; default: - return ETYPE_UNDEF; + return edgeType::ETYPE_UNDEF; } } diff --git a/Simulator/Edges/NG911/All911Edges.cpp b/Simulator/Edges/NG911/All911Edges.cpp index 107da6036..7545b68ae 100644 --- a/Simulator/Edges/NG911/All911Edges.cpp +++ b/Simulator/Edges/NG911/All911Edges.cpp @@ -53,7 +53,7 @@ void All911Edges::advanceEdges(AllVertices &vertices, EdgeIndexMap &edgeIndexMap int start = edgeIndexMap.incomingEdgeBegin_[vertex]; int count = edgeIndexMap.incomingEdgeCount_[vertex]; - if (simulator.getModel().getLayout().vertexTypeMap_[vertex] == CALR) { + if (simulator.getModel().getLayout().vertexTypeMap_[vertex] == vertexType::CALR) { continue; // TODO911: Caller Regions will have different behaviour } diff --git a/Simulator/Edges/Neuro/AllDSSynapses.cpp b/Simulator/Edges/Neuro/AllDSSynapses.cpp index 581c6b3d6..6f12ab551 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses.cpp @@ -123,22 +123,22 @@ void AllDSSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLO BGFLOAT D; BGFLOAT F; switch (type) { - case II: + case edgeType::II: U = 0.32; D = 0.144; F = 0.06; break; - case IE: + case edgeType::IE: U = 0.25; D = 0.7; F = 0.02; break; - case EI: + case edgeType::EI: U = 0.05; D = 0.125; F = 1.2; break; - case EE: + case edgeType::EE: U = 0.5; D = 1.1; F = 0.05; diff --git a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp index 3f49d75af..df8d3e7c5 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp @@ -207,7 +207,7 @@ void AllDSSynapses::copyDeviceToHost(AllDSSynapsesDeviceProperties &allEdgesDevi /// (see issue#137). void AllDSSynapses::setEdgeClassID() { - enumClassSynapses classSynapses_h = classAllDSSynapses; + enumClassSynapses classSynapses_h = enumClassSynapses::classAllDSSynapses; HANDLE_ERROR(cudaMemcpyToSymbol(classSynapses_d, &classSynapses_h, sizeof(enumClassSynapses))); } @@ -310,7 +310,7 @@ void AllDSSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << typePrint[i]; + cout << " GPU type: " << static_cast(typePrint[i]); cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp index 0f107d2ea..1b224a862 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp @@ -123,22 +123,22 @@ void AllDynamicSTDPSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVert BGFLOAT D; BGFLOAT F; switch (type) { - case II: + case edgeType::II: U = 0.32; D = 0.144; F = 0.06; break; - case IE: + case edgeType::IE: U = 0.25; D = 0.7; F = 0.02; break; - case EI: + case edgeType::EI: U = 0.05; D = 0.125; F = 1.2; break; - case EE: + case edgeType::EE: U = 0.5; D = 1.1; F = 0.05; diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp index 005242f03..20a872413 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp @@ -211,7 +211,7 @@ void AllDynamicSTDPSynapses::copyDeviceToHost( /// (see issue#137). void AllDynamicSTDPSynapses::setEdgeClassID() { - enumClassSynapses classSynapses_h = classAllDynamicSTDPSynapses; + enumClassSynapses classSynapses_h = enumClassSynapses::classAllDynamicSTDPSynapses; HANDLE_ERROR(cudaMemcpyToSymbol(classSynapses_d, &classSynapses_h, sizeof(enumClassSynapses))); } @@ -349,7 +349,7 @@ void AllDynamicSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << typePrint[i]; + cout << " GPU type: " << static_cast(typePrint[i]); cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.cpp b/Simulator/Edges/Neuro/AllNeuroEdges.cpp index a42152882..47b892f3f 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.cpp +++ b/Simulator/Edges/Neuro/AllNeuroEdges.cpp @@ -72,7 +72,7 @@ void AllNeuroEdges::writeEdge(ostream &output, BGSIZE iEdg) const output << destVertexIndex_[iEdg] << ends; output << W_[iEdg] << ends; output << psr_[iEdg] << ends; - output << type_[iEdg] << ends; + output << static_cast(type_[iEdg]) << ends; output << (inUse_[iEdg] == 1 ? "true" : "false") << ends; } @@ -83,13 +83,13 @@ void AllNeuroEdges::writeEdge(ostream &output, BGSIZE iEdg) const int AllNeuroEdges::edgSign(const edgeType type) { switch (type) { - case II: - case IE: + case edgeType::II: + case edgeType::IE: return -1; - case EI: - case EE: + case edgeType::EI: + case edgeType::EE: return 1; - case ETYPE_UNDEF: + case edgeType::ETYPE_UNDEF: return 0; default: return 0; @@ -107,7 +107,7 @@ void AllNeuroEdges::printSynapsesProps() const cout << "W[" << i << "] = " << W_[i]; cout << " sourNeuron: " << sourceVertexIndex_[i]; cout << " desNeuron: " << destVertexIndex_[i]; - cout << " type: " << type_[i]; + cout << " type: " << static_cast(type_[i]); cout << " psr: " << psr_[i]; cout << " in_use:" << (inUse_[i] == 1 ? "true" : "false"); } diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.h b/Simulator/Edges/Neuro/AllNeuroEdges.h index 33c6254c2..1b8210cc5 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.h +++ b/Simulator/Edges/Neuro/AllNeuroEdges.h @@ -39,7 +39,7 @@ class AllVertices; // using fpCreateSynapse_t = void (*)(void*, int, int, int, int, BGFLOAT*, BGFLOAT, edgeType); // enumerate all non-abstract edge classes. -enum enumClassSynapses { +enum class enumClassSynapses { classAllSpikingSynapses, classAllDSSynapses, classAllSTDPSynapses, diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp index 64dbe71c5..ad6ce58d0 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp @@ -284,7 +284,7 @@ void AllSTDPSynapses::advanceEdges(void *allEdgesDevice, void *allVerticesDevice /// (see issue#137). void AllSTDPSynapses::setEdgeClassID() { - enumClassSynapses classSynapses_h = classAllSTDPSynapses; + enumClassSynapses classSynapses_h = enumClassSynapses::classAllSTDPSynapses; HANDLE_ERROR(cudaMemcpyToSymbol(classSynapses_d, &classSynapses_h, sizeof(enumClassSynapses))); } @@ -387,7 +387,7 @@ void AllSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << typePrint[i]; + cout << " GPU type: " << static_cast(typePrint[i]); cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); @@ -589,12 +589,12 @@ __global__ void advanceSTDPSynapsesDevice(int totalSynapseCount, // is an input in the queue? if (isFired) { switch (classSynapses_d) { - case classAllSTDPSynapses: + case enumClassSynapses::classAllSTDPSynapses: changeSpikingSynapsesPSRDevice( static_cast(allEdgesDevice), iEdg, simulationStep, deltaT); break; - case classAllDynamicSTDPSynapses: + case enumClassSynapses::classAllDynamicSTDPSynapses: // Note: we cast void * over the allEdgesDevice, then recast it, // because AllDSSynapsesDeviceProperties inherited properties from // the AllDSSynapsesDeviceProperties and the AllSTDPSynapsesDeviceProperties. @@ -674,12 +674,12 @@ __global__ void advanceSTDPSynapsesDevice(int totalSynapseCount, } switch (classSynapses_d) { - case classAllSTDPSynapses: + case enumClassSynapses::classAllSTDPSynapses: changeSpikingSynapsesPSRDevice( static_cast(allEdgesDevice), iEdg, simulationStep, deltaT); break; - case classAllDynamicSTDPSynapses: + case enumClassSynapses::classAllDynamicSTDPSynapses: // Note: we cast void * over the allEdgesDevice, then recast it, // because AllDSSynapsesDeviceProperties inherited properties from // the AllDSSynapsesDeviceProperties and the AllSTDPSynapsesDeviceProperties. diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 385a87e1b..ec74bc30f 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -177,19 +177,19 @@ void AllSpikingSynapses::createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT tau; switch (type) { - case II: + case edgeType::II: tau = 6e-3; delay = 0.8e-3; break; - case IE: + case edgeType::IE: tau = 6e-3; delay = 0.8e-3; break; - case EI: + case edgeType::EI: tau = 3e-3; delay = 0.8e-3; break; - case EE: + case edgeType::EE: tau = 3e-3; delay = 1.5e-3; break; diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index bcb51b33d..3eaedeb21 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -310,7 +310,7 @@ void AllSpikingSynapses::setAdvanceEdgesDeviceParams() /// (see issue#137). void AllSpikingSynapses::setEdgeClassID() { - enumClassSynapses classSynapses_h = classAllSpikingSynapses; + enumClassSynapses classSynapses_h = enumClassSynapses::classAllSpikingSynapses; HANDLE_ERROR(cudaMemcpyToSymbol(classSynapses_d, &classSynapses_h, sizeof(enumClassSynapses))); } @@ -405,7 +405,7 @@ void AllSpikingSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << typePrint[i]; + cout << " GPU type: " << static_cast(typePrint[i]); cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); cout << " GPU decay: " << decayPrint[i]; @@ -465,12 +465,12 @@ __global__ void advanceSpikingSynapsesDevice(int totalSynapseCount, // is an input in the queue? if (isFired) { switch (classSynapses_d) { - case classAllSpikingSynapses: + case enumClassSynapses::classAllSpikingSynapses: changeSpikingSynapsesPSRDevice( static_cast(allEdgesDevice), iEdg, simulationStep, deltaT); break; - case classAllDSSynapses: + case enumClassSynapses::classAllDSSynapses: changeDSSynapsePSRDevice(static_cast(allEdgesDevice), iEdg, simulationStep, deltaT); break; diff --git a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp index 100778a8e..48a18ac89 100644 --- a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp +++ b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp @@ -15,7 +15,7 @@ // a device variable to store synapse class ID. -CUDA_CALLABLE enumClassSynapses classSynapses_d = undefClassSynapses; +CUDA_CALLABLE enumClassSynapses classSynapses_d = enumClassSynapses::undefClassSynapses; /****************************************** * @name Device Functions for utility @@ -29,11 +29,11 @@ CUDA_CALLABLE enumClassSynapses classSynapses_d = undefClassSynapses; CUDA_CALLABLE int edgSign(edgeType t) { switch (t) { - case II: - case IE: + case edgeType::II: + case edgeType::IE: return -1; - case EI: - case EE: + case edgeType::EI: + case edgeType::EE: return 1; } @@ -116,19 +116,19 @@ CUDA_CALLABLE void createSpikingSynapse(AllSpikingSynapsesDeviceProperties *allE BGFLOAT tau; switch (type) { - case II: + case edgeType::II: tau = 6e-3; delay = 0.8e-3; break; - case IE: + case edgeType::IE: tau = 6e-3; delay = 0.8e-3; break; - case EI: + case edgeType::EI: tau = 3e-3; delay = 0.8e-3; break; - case EE: + case edgeType::EE: tau = 3e-3; delay = 1.5e-3; break; @@ -185,28 +185,28 @@ CUDA_CALLABLE void createDSSynapse(AllDSSynapsesDeviceProperties *allEdgesDevice BGFLOAT F; BGFLOAT tau; switch (type) { - case II: + case edgeType::II: U = 0.32; D = 0.144; F = 0.06; tau = 6e-3; delay = 0.8e-3; break; - case IE: + case edgeType::IE: U = 0.25; D = 0.7; F = 0.02; tau = 6e-3; delay = 0.8e-3; break; - case EI: + case edgeType::EI: U = 0.05; D = 0.125; F = 1.2; tau = 3e-3; delay = 0.8e-3; break; - case EE: + case edgeType::EE: U = 0.5; D = 1.1; F = 0.05; @@ -263,19 +263,19 @@ CUDA_CALLABLE void createSTDPSynapse(AllSTDPSynapsesDeviceProperties *allEdgesDe BGFLOAT tau; switch (type) { - case II: + case edgeType::II: tau = 6e-3; delay = 0.8e-3; break; - case IE: + case edgeType::IE: tau = 6e-3; delay = 0.8e-3; break; - case EI: + case edgeType::EI: tau = 3e-3; delay = 0.8e-3; break; - case EE: + case edgeType::EE: tau = 3e-3; delay = 1.5e-3; break; @@ -353,28 +353,28 @@ CUDA_CALLABLE void createDynamicSTDPSynapse(AllDynamicSTDPSynapsesDeviceProperti BGFLOAT F; BGFLOAT tau; switch (type) { - case II: + case edgeType::II: U = 0.32; D = 0.144; F = 0.06; tau = 6e-3; delay = 0.8e-3; break; - case IE: + case edgeType::IE: U = 0.25; D = 0.7; F = 0.02; tau = 6e-3; delay = 0.8e-3; break; - case EI: + case edgeType::EI: U = 0.05; D = 0.125; F = 1.2; tau = 3e-3; delay = 0.8e-3; break; - case EE: + case edgeType::EE: U = 0.5; D = 1.1; F = 0.05; @@ -451,19 +451,19 @@ CUDA_CALLABLE void addSpikingSynapse(AllSpikingSynapsesDeviceProperties *allEdge // create a synapse switch (classSynapses_d) { - case classAllSpikingSynapses: + case enumClassSynapses::classAllSpikingSynapses: createSpikingSynapse(allEdgesDevice, destVertex, synapseIndex, sourceIndex, destIndex, deltaT, type); break; - case classAllDSSynapses: + case enumClassSynapses::classAllDSSynapses: createDSSynapse(static_cast(allEdgesDevice), destVertex, synapseIndex, sourceIndex, destIndex, deltaT, type); break; - case classAllSTDPSynapses: + case enumClassSynapses::classAllSTDPSynapses: createSTDPSynapse(static_cast(allEdgesDevice), destVertex, synapseIndex, sourceIndex, destIndex, deltaT, type); break; - case classAllDynamicSTDPSynapses: + case enumClassSynapses::classAllDynamicSTDPSynapses: createDynamicSTDPSynapse( static_cast(allEdgesDevice), destVertex, synapseIndex, sourceIndex, destIndex, deltaT, type); @@ -499,16 +499,16 @@ CUDA_CALLABLE void eraseSpikingSynapse(AllSpikingSynapsesDeviceProperties *allEd /// @param destVertex Index of the destination neuron. CUDA_CALLABLE edgeType edgType(vertexType *neuronTypeMap_d, int srcVertex, int destVertex) { - if (neuronTypeMap_d[srcVertex] == INH && neuronTypeMap_d[destVertex] == INH) - return II; - else if (neuronTypeMap_d[srcVertex] == INH && neuronTypeMap_d[destVertex] == EXC) - return IE; - else if (neuronTypeMap_d[srcVertex] == EXC && neuronTypeMap_d[destVertex] == INH) - return EI; - else if (neuronTypeMap_d[srcVertex] == EXC && neuronTypeMap_d[destVertex] == EXC) - return EE; - - return ETYPE_UNDEF; + if (neuronTypeMap_d[srcVertex] == vertexType::INH && neuronTypeMap_d[destVertex] == vertexType::INH) + return edgeType::II; + else if (neuronTypeMap_d[srcVertex] == vertexType::INH && neuronTypeMap_d[destVertex] == vertexType::EXC) + return edgeType::IE; + else if (neuronTypeMap_d[srcVertex] == vertexType::EXC && neuronTypeMap_d[destVertex] == vertexType::INH) + return edgeType::EI; + else if (neuronTypeMap_d[srcVertex] == vertexType::EXC && neuronTypeMap_d[destVertex] == vertexType::EXC) + return edgeType::EE; + + return edgeType::ETYPE_UNDEF; } ///@} diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index 7b60cc038..99b67a3f8 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -35,7 +35,7 @@ Layout::Layout() : numEndogenouslyActiveNeurons_(0) // Register loadParameters function as a loadParameters operation in the Operation Manager function loadParametersFunc = std::bind(&Layout::loadParameters, this); - OperationManager::getInstance().registerOperation(Operations::op::loadParameters, + OperationManager::getInstance().registerOperation(Operations::loadParameters, loadParametersFunc); // Register printParameters function as a printParameters operation in the OperationManager @@ -46,7 +46,7 @@ Layout::Layout() : numEndogenouslyActiveNeurons_(0) // Register registerGraphProperties method as registerGraphProperties operation // in the OperationManager function registerGraphPropertiesFunc = bind(&Layout::registerGraphProperties, this); - OperationManager::getInstance().registerOperation(Operations::registerGraphProperties, + OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), registerGraphPropertiesFunc); // Get a copy of the file logger to use log4cplus macros @@ -89,7 +89,7 @@ void Layout::setup() // more allocation of internal memory starterMap_.assign(numVertices_, false); - vertexTypeMap_.assign(numVertices_, VTYPE_UNDEF); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); // Loop over all vertices and set their x and y locations GraphManager::VertexIterator vi, vi_end; @@ -166,7 +166,7 @@ void Layout::printParameters() const void Layout::generateVertexTypeMap() { DEBUG(cout << "\nInitializing vertex type map: VTYPE_UNDEF" << endl;); - vertexTypeMap_.assign(numVertices_, VTYPE_UNDEF); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); } /// Populates the starter map. diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index 8009c62fa..083a25313 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -115,26 +115,26 @@ void Layout911::generateVertexTypeMap() // Returns the type of synapse at the given coordinates edgeType Layout911::edgType(int srcVertex, int destVertex) { - if (vertexTypeMap_[srcVertex] == CALR && vertexTypeMap_[destVertex] == PSAP) - return CP; - else if (vertexTypeMap_[srcVertex] == PSAP - && (vertexTypeMap_[destVertex] == LAW || vertexTypeMap_[destVertex] == FIRE - || vertexTypeMap_[destVertex] == EMS)) - return PR; - else if (vertexTypeMap_[srcVertex] == PSAP && vertexTypeMap_[destVertex] == CALR) - return PC; - else if (vertexTypeMap_[srcVertex] == PSAP && vertexTypeMap_[destVertex] == PSAP) - return PP; - else if ((vertexTypeMap_[srcVertex] == LAW || vertexTypeMap_[destVertex] == FIRE - || vertexTypeMap_[destVertex] == EMS) - && vertexTypeMap_[destVertex] == PSAP) - return RP; - else if ((vertexTypeMap_[srcVertex] == LAW || vertexTypeMap_[destVertex] == FIRE - || vertexTypeMap_[destVertex] == EMS) - && vertexTypeMap_[destVertex] == CALR) - return RC; + if (vertexTypeMap_[srcVertex] == vertexType::CALR && vertexTypeMap_[destVertex] == vertexType::PSAP) + return edgeType::CP; + else if (vertexTypeMap_[srcVertex] == vertexType::PSAP + && (vertexTypeMap_[destVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + || vertexTypeMap_[destVertex] == vertexType::EMS)) + return edgeType::PR; + else if (vertexTypeMap_[srcVertex] == vertexType::PSAP && vertexTypeMap_[destVertex] == vertexType::CALR) + return edgeType::PC; + else if (vertexTypeMap_[srcVertex] == vertexType::PSAP && vertexTypeMap_[destVertex] == vertexType::PSAP) + return edgeType::PP; + else if ((vertexTypeMap_[srcVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + || vertexTypeMap_[destVertex] == vertexType::EMS) + && vertexTypeMap_[destVertex] == vertexType::PSAP) + return edgeType::RP; + else if ((vertexTypeMap_[srcVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + || vertexTypeMap_[destVertex] == vertexType::EMS) + && vertexTypeMap_[destVertex] == vertexType::CALR) + return edgeType::RC; else - return ETYPE_UNDEF; + return edgeType::ETYPE_UNDEF; } diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index 094fc833a..7089f0914 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -58,12 +58,12 @@ void LayoutNeuro::generateVertexTypeMap() for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); if (gm[*vi].type == "INH") { - vertexTypeMap_[*vi] = INH; + vertexTypeMap_[*vi] = vertexType::INH; numInhibitoryNeurons++; } // Default Type is Excitatory else { - vertexTypeMap_[*vi] = EXC; + vertexTypeMap_[*vi] = vertexType::EXC; } } @@ -104,16 +104,16 @@ void LayoutNeuro::initStarterMap() /// @return type of the synapse. edgeType LayoutNeuro::edgType(int srcVertex, int destVertex) { - if (vertexTypeMap_[srcVertex] == INH && vertexTypeMap_[destVertex] == INH) - return II; - else if (vertexTypeMap_[srcVertex] == INH && vertexTypeMap_[destVertex] == EXC) - return IE; - else if (vertexTypeMap_[srcVertex] == EXC && vertexTypeMap_[destVertex] == INH) - return EI; - else if (vertexTypeMap_[srcVertex] == EXC && vertexTypeMap_[destVertex] == EXC) - return EE; - - return ETYPE_UNDEF; + if (vertexTypeMap_[srcVertex] == vertexType::INH && vertexTypeMap_[destVertex] == vertexType::INH) + return edgeType::II; + else if (vertexTypeMap_[srcVertex] == vertexType::INH && vertexTypeMap_[destVertex] == vertexType::EXC) + return edgeType::IE; + else if (vertexTypeMap_[srcVertex] == vertexType::EXC && vertexTypeMap_[destVertex] == vertexType::INH) + return edgeType::EI; + else if (vertexTypeMap_[srcVertex] == vertexType::EXC && vertexTypeMap_[destVertex] == vertexType::EXC) + return edgeType::EE; + + return edgeType::ETYPE_UNDEF; } // Note: This code was previously used for debugging, but it is now dead code left behind diff --git a/Simulator/Recorders/NG911/Xml911Recorder.cpp b/Simulator/Recorders/NG911/Xml911Recorder.cpp index 82943dccd..62213bc53 100644 --- a/Simulator/Recorders/NG911/Xml911Recorder.cpp +++ b/Simulator/Recorders/NG911/Xml911Recorder.cpp @@ -34,13 +34,13 @@ void Xml911Recorder::saveSimData() // create Vertex Types matrix VectorMatrix oldTypes(MATRIX_TYPE, MATRIX_INIT, 1, Simulator::getInstance().getTotalVertices(), - EXC); + static_cast(vertexType::EXC)); VectorMatrix vertexTypes(MATRIX_TYPE, MATRIX_INIT, 1, - Simulator::getInstance().getTotalVertices(), EXC); + Simulator::getInstance().getTotalVertices(), static_cast(vertexType::EXC)); for (int i = 0; i < Simulator::getInstance().getTotalVertices(); i++) { - vertexTypes[i] = Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]; - oldTypes[i] = conns911.oldTypeMap_[i]; + vertexTypes[i] = static_cast(Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]); + oldTypes[i] = static_cast(conns911.oldTypeMap_[i]); } // Write XML header information: diff --git a/Simulator/Recorders/Recorder.h b/Simulator/Recorders/Recorder.h index a0d175053..7c366493c 100644 --- a/Simulator/Recorders/Recorder.h +++ b/Simulator/Recorders/Recorder.h @@ -26,7 +26,7 @@ class AllVertices; class Recorder { public: /// The recorded variable Type/Updated frequency - enum UpdatedType { + enum class UpdatedType { CONSTANT, // value doesn't change in each epoch DYNAMIC // value is updated in each peoch // Add more variable types as needed diff --git a/Simulator/Utils/Global.cpp b/Simulator/Utils/Global.cpp index 9a68b7264..c7278a878 100644 --- a/Simulator/Utils/Global.cpp +++ b/Simulator/Utils/Global.cpp @@ -57,12 +57,12 @@ string coordToString(int x, int y, int z) string neuronTypeToString(vertexType t) { switch (t) { - case INH: + case vertexType::INH: return "INH"; - case EXC: + case vertexType::EXC: return "EXC"; default: - cerr << "ERROR->neuronTypeToString() failed, unknown type: " << t << endl; + cerr << "ERROR->neuronTypeToString() failed, unknown type: " << static_cast(t) << endl; assert(false); return nullptr; // Must return a value -- this will probably cascade to another failure } diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index 4c6940fa0..b7f6cc603 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -98,7 +98,7 @@ const int g_nMaxChunkSize = 100; // CALR: Caller radii // PSAP: PSAP nodes // EMS, FIRE, LAW: Responder nodes -enum vertexType { +enum class vertexType { // Neuro INH = 1, EXC = 2, @@ -124,7 +124,7 @@ enum vertexType { // RC - Responder to Caller // PP - PSAP to PSAP -enum edgeType { +enum class edgeType { // NEURO II = 0, IE = 1, diff --git a/Simulator/Utils/InputManager.h b/Simulator/Utils/InputManager.h index 21c7c61b5..c5fb8e07a 100644 --- a/Simulator/Utils/InputManager.h +++ b/Simulator/Utils/InputManager.h @@ -59,7 +59,7 @@ template class InputManager { // order as declared in the boost::variant below. using EventMemberPtr = boost::variant; - enum PropertyType { INTEGER, UINT64, LONG, FLOAT, DOUBLE, STRING }; + enum class PropertyType { INTEGER, UINT64, LONG, FLOAT, DOUBLE, STRING }; // Some aliases for better readability using VertexId_t = int; @@ -269,27 +269,27 @@ template class InputManager { { switch (eventMbrPtr.which()) { // variant.which() returns a value between 0 and number of types - 1 - case PropertyType::INTEGER: { + case static_cast(PropertyType::INTEGER): { int T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case PropertyType::LONG: { + case static_cast(PropertyType::LONG): { long T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case PropertyType::UINT64: { + case static_cast(PropertyType::UINT64): { uint64_t T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case PropertyType::FLOAT: { + case static_cast(PropertyType::FLOAT): { float T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case PropertyType::DOUBLE: { + case static_cast(PropertyType::DOUBLE): { double T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case PropertyType::STRING: { + case static_cast(PropertyType::STRING): { string T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index db6091852..c8d907666 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -14,7 +14,7 @@ AllVertices::AllVertices() : size_(0) { // Register loadParameters function as a loadParameters operation in the Operation Manager function loadParametersFunc = std::bind(&AllVertices::loadParameters, this); - OperationManager::getInstance().registerOperation(Operations::op::loadParameters, + OperationManager::getInstance().registerOperation(Operations::loadParameters, loadParametersFunc); // Register printParameters function as a printParameters operation in the OperationManager diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index c9a2c8219..6def36e04 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -126,7 +126,7 @@ void All911Vertices::loadEpochInputs(uint64_t currentStep, uint64_t endStep) // Load all the calls into the Caller Regions queue by getting the input events // from the InputManager. for (int idx = 0; idx < simulator.getTotalVertices(); ++idx) { - if (layout.vertexTypeMap_[idx] == CALR) { + if (layout.vertexTypeMap_[idx] == vertexType::CALR) { // If this is a Caller Region get all calls scheduled for the current epoch, // loading them into the aproppriate index of the vertexQueues_ vector inputManager_.getEvents(idx, currentStep, endStep, vertexQueues_[idx]); @@ -174,12 +174,12 @@ void All911Vertices::advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIn // Advance vertices for (int vertex = 0; vertex < simulator.getTotalVertices(); ++vertex) { - if (layout.vertexTypeMap_[vertex] == CALR) { + if (layout.vertexTypeMap_[vertex] == vertexType::CALR) { advanceCALR(vertex, edges911, edgeIndexMap); - } else if (layout.vertexTypeMap_[vertex] == PSAP) { + } else if (layout.vertexTypeMap_[vertex] == vertexType::PSAP) { advancePSAP(vertex, edges911, edgeIndexMap); - } else if (layout.vertexTypeMap_[vertex] == EMS || layout.vertexTypeMap_[vertex] == FIRE - || layout.vertexTypeMap_[vertex] == LAW) { + } else if (layout.vertexTypeMap_[vertex] == vertexType::EMS || layout.vertexTypeMap_[vertex] == vertexType::FIRE + || layout.vertexTypeMap_[vertex] == vertexType::LAW) { advanceRESP(vertex, edges911, edgeIndexMap); } } diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index bd377f477..f99056a01 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -128,13 +128,13 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) initNeuronConstsFromParamValues(i, Simulator::getInstance().getDeltaT()); switch (layout.vertexTypeMap_[i]) { - case INH: + case vertexType::INH: LOG4CPLUS_DEBUG(vertexLogger_, "Setting inhibitory neuron: " << i); // set inhibitory absolute refractory period Trefract_[i] = DEFAULT_InhibTrefract; // TODO(derek): move defaults inside model. break; - case EXC: + case vertexType::EXC: LOG4CPLUS_DEBUG(vertexLogger_, "Setting excitatory neuron: " << i); // set excitatory absolute refractory period Trefract_[i] = DEFAULT_ExcitTrefract; @@ -142,7 +142,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) default: LOG4CPLUS_DEBUG(vertexLogger_, - "ERROR: unknown neuron type: " << layout.vertexTypeMap_[i] << "@" << i); + "ERROR: unknown neuron type: " << static_cast(layout.vertexTypeMap_[i]) << "@" << i); assert(false); break; } diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons.cpp index e5a3d8982..8f38f4cf0 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons.cpp @@ -72,7 +72,7 @@ void AllIZHNeurons::createNeuron(int i, Layout &layout) AllIFNeurons::createNeuron(i, layout); // TODO: we may need another distribution mode besides flat distribution - if (layout.vertexTypeMap_[i] == EXC) { + if (layout.vertexTypeMap_[i] == vertexType::EXC) { // excitatory neuron Aconst_[i] = initRNG.inRange(excAconst_[0], excAconst_[1]); Bconst_[i] = initRNG.inRange(excBconst_[0], excBconst_[1]); diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp index 8978b592a..3a3b1285a 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp @@ -285,8 +285,8 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max // for each synapse, let them know we have fired switch (classSynapses_d) { - case classAllSTDPSynapses: - case classAllDynamicSTDPSynapses: + case enumClassSynapses::classAllSTDPSynapses: + case enumClassSynapses::classAllDynamicSTDPSynapses: for (BGSIZE i = 0; i < synapseCounts; i++) { postSTDPSynapseSpikeHitDevice( incomingMapBegin[i], @@ -294,8 +294,8 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max } // end for break; - case classAllSpikingSynapses: - case classAllDSSynapses: + case enumClassSynapses::classAllSpikingSynapses: + case enumClassSynapses::classAllDSSynapses: for (BGSIZE i = 0; i < synapseCounts; i++) { postSpikingSynapsesSpikeHitDevice(incomingMapBegin[i], allEdgesDevice); } // end for diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp index 21f6937b6..295352a50 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp @@ -153,8 +153,8 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max // for each synapse, let them know we have fired switch (classSynapses_d) { - case classAllSTDPSynapses: - case classAllDynamicSTDPSynapses: + case enumClassSynapses::classAllSTDPSynapses: + case enumClassSynapses::classAllDynamicSTDPSynapses: for (BGSIZE i = 0; i < synapseCounts; i++) { postSTDPSynapseSpikeHitDevice( incomingMapBegin[i], @@ -162,8 +162,8 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max } // end for break; - case classAllSpikingSynapses: - case classAllDSSynapses: + case enumClassSynapses::classAllSpikingSynapses: + case enumClassSynapses::classAllDSSynapses: for (BGSIZE i = 0; i < synapseCounts; i++) { postSpikingSynapsesSpikeHitDevice(incomingMapBegin[i], allEdgesDevice); } // end for diff --git a/Testing/UnitTesting/FunctionNodeTests.cpp b/Testing/UnitTesting/FunctionNodeTests.cpp index add140fea..fdccbef23 100644 --- a/Testing/UnitTesting/FunctionNodeTests.cpp +++ b/Testing/UnitTesting/FunctionNodeTests.cpp @@ -17,6 +17,6 @@ TEST(GenericFunctionNode, TemplateFunctionTest) { Foo foo; function func = std::bind(&Foo::loadParameters, foo); - IFunctionNode *chainNode = new GenericFunctionNode(Operations::op::loadParameters, func); - ASSERT_TRUE(chainNode->invokeFunction(Operations::op::loadParameters)); + IFunctionNode *chainNode = new GenericFunctionNode(Operations::loadParameters, func); + ASSERT_TRUE(chainNode->invokeFunction(Operations::loadParameters)); } \ No newline at end of file diff --git a/Testing/UnitTesting/OperationManagerTests.cpp b/Testing/UnitTesting/OperationManagerTests.cpp index 87464879d..c3e4b0079 100644 --- a/Testing/UnitTesting/OperationManagerTests.cpp +++ b/Testing/UnitTesting/OperationManagerTests.cpp @@ -26,7 +26,7 @@ TEST(OperationManager, AddingOneOperation) Foo foo; function function = std::bind(&Foo::loadParameters, foo); EXPECT_NO_FATAL_FAILURE( - OperationManager::getInstance().registerOperation(Operations::op::loadParameters, function)); + OperationManager::getInstance().registerOperation(Operations::loadParameters, function)); } TEST(OperationManager, AddingManyOperations) @@ -35,18 +35,18 @@ TEST(OperationManager, AddingManyOperations) function function = std::bind(&Foo::loadParameters, foo); for (int i = 0; i < 1000; i++) { EXPECT_NO_FATAL_FAILURE(OperationManager::getInstance().registerOperation( - Operations::op::loadParameters, function)); + Operations::loadParameters, function)); } } TEST(OperationManager, OperationExecutionSuccess) { EXPECT_NO_FATAL_FAILURE( - OperationManager::getInstance().executeOperation(Operations::op::loadParameters)); + OperationManager::getInstance().executeOperation(Operations::loadParameters)); } TEST(OperationManager, OperationExecutionContainsNoFunctionsOfOperationType) { EXPECT_NO_FATAL_FAILURE( - OperationManager::getInstance().executeOperation(Operations::op::copyToGPU)); + OperationManager::getInstance().executeOperation(Operations::copyToGPU)); } \ No newline at end of file From 33b126788db3f7c27c96b19f30854ac1f45ae480 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 27 Jan 2025 17:59:04 -0800 Subject: [PATCH 016/153] added streaming operator<< for enum classes --- Simulator/Edges/AllEdges.cpp | 2 +- Simulator/Edges/Neuro/AllDSSynapses_d.cpp | 2 +- Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp | 2 +- Simulator/Utils/Global.cpp | 2 +- Simulator/Utils/Global.h | 11 ++++++++++- Simulator/Utils/InputManager.h | 14 +++++++------- Simulator/Vertices/Neuro/AllIFNeurons.cpp | 2 +- 7 files changed, 22 insertions(+), 13 deletions(-) diff --git a/Simulator/Edges/AllEdges.cpp b/Simulator/Edges/AllEdges.cpp index 6d27bbeea..ecdd1c21a 100644 --- a/Simulator/Edges/AllEdges.cpp +++ b/Simulator/Edges/AllEdges.cpp @@ -116,7 +116,7 @@ void AllEdges::writeEdge(ostream &output, BGSIZE iEdg) const output << sourceVertexIndex_[iEdg] << ends; output << destVertexIndex_[iEdg] << ends; output << W_[iEdg] << ends; - output << static_cast(type_[iEdg]) << ends; + output << type_[iEdg] << ends; output << (inUse_[iEdg] == 1 ? "true" : "false") << ends; } diff --git a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp index df8d3e7c5..d1783e969 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp @@ -310,7 +310,7 @@ void AllDSSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp index 20a872413..1c676b19e 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp @@ -349,7 +349,7 @@ void AllDynamicSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Utils/Global.cpp b/Simulator/Utils/Global.cpp index c7278a878..9f6572a0d 100644 --- a/Simulator/Utils/Global.cpp +++ b/Simulator/Utils/Global.cpp @@ -62,7 +62,7 @@ string neuronTypeToString(vertexType t) case vertexType::EXC: return "EXC"; default: - cerr << "ERROR->neuronTypeToString() failed, unknown type: " << static_cast(t) << endl; + cerr << "ERROR->neuronTypeToString() failed, unknown type: " << t << endl; assert(false); return nullptr; // Must return a value -- this will probably cascade to another failure } diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index b7f6cc603..3f58c769f 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -111,6 +111,11 @@ enum class vertexType { // UNDEF VTYPE_UNDEF = 0 }; +// Custom streaming operator<< for the enum class vertexType +inline std::ostream& operator<<(std::ostream& os, vertexType vT) { + os << static_cast(vT); + return os; +} // Edge types. // NEURO: @@ -140,7 +145,11 @@ enum class edgeType { // UNDEF ETYPE_UNDEF = -1 }; - +// Custom streaming operator<< for the enum class edgeType +inline std::ostream& operator<<(std::ostream& os, edgeType eT) { + os << static_cast(eT); + return os; +} // The default membrane capacitance. #define DEFAULT_Cm (3e-8) // The default membrane resistance. diff --git a/Simulator/Utils/InputManager.h b/Simulator/Utils/InputManager.h index c5fb8e07a..86c3d52fb 100644 --- a/Simulator/Utils/InputManager.h +++ b/Simulator/Utils/InputManager.h @@ -267,29 +267,29 @@ template class InputManager { bool getProperty(T &event, string propName, EventMemberPtr &eventMbrPtr, const boost::property_tree::ptree &pTree) { - switch (eventMbrPtr.which()) { + switch (static_cast(eventMbrPtr.which())) { // variant.which() returns a value between 0 and number of types - 1 - case static_cast(PropertyType::INTEGER): { + case PropertyType::INTEGER: { int T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case static_cast(PropertyType::LONG): { + case PropertyType::LONG: { long T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case static_cast(PropertyType::UINT64): { + case PropertyType::UINT64: { uint64_t T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case static_cast(PropertyType::FLOAT): { + case PropertyType::FLOAT: { float T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case static_cast(PropertyType::DOUBLE): { + case PropertyType::DOUBLE: { double T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; - case static_cast(PropertyType::STRING): { + case PropertyType::STRING: { string T::*propPtr = get(eventMbrPtr); event.*propPtr = pTree.get(propName); } break; diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index f99056a01..5332a9279 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -142,7 +142,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) default: LOG4CPLUS_DEBUG(vertexLogger_, - "ERROR: unknown neuron type: " << static_cast(layout.vertexTypeMap_[i]) << "@" << i); + "ERROR: unknown neuron type: " << layout.vertexTypeMap_[i] << "@" << i); assert(false); break; } From 5381b70df3c6975432d4a7e38a8180191897c73e Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 27 Jan 2025 18:31:17 -0800 Subject: [PATCH 017/153] fixed enum classes --- Simulator/Edges/AllEdges.cpp | 2 +- Simulator/Edges/Neuro/AllDSSynapses_d.cpp | 2 +- Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp | 2 +- Simulator/Edges/Neuro/AllNeuroEdges.cpp | 4 ++-- Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp | 2 +- Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp | 2 +- Simulator/Utils/Global.cpp | 2 +- Simulator/Utils/Global.h | 10 ++++++++++ Simulator/Vertices/Neuro/AllIFNeurons.cpp | 2 +- 9 files changed, 19 insertions(+), 9 deletions(-) diff --git a/Simulator/Edges/AllEdges.cpp b/Simulator/Edges/AllEdges.cpp index 6d27bbeea..ecdd1c21a 100644 --- a/Simulator/Edges/AllEdges.cpp +++ b/Simulator/Edges/AllEdges.cpp @@ -116,7 +116,7 @@ void AllEdges::writeEdge(ostream &output, BGSIZE iEdg) const output << sourceVertexIndex_[iEdg] << ends; output << destVertexIndex_[iEdg] << ends; output << W_[iEdg] << ends; - output << static_cast(type_[iEdg]) << ends; + output << type_[iEdg] << ends; output << (inUse_[iEdg] == 1 ? "true" : "false") << ends; } diff --git a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp index df8d3e7c5..d1783e969 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp @@ -310,7 +310,7 @@ void AllDSSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp index 20a872413..1c676b19e 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp @@ -349,7 +349,7 @@ void AllDynamicSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.cpp b/Simulator/Edges/Neuro/AllNeuroEdges.cpp index 47b892f3f..5596bb840 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.cpp +++ b/Simulator/Edges/Neuro/AllNeuroEdges.cpp @@ -72,7 +72,7 @@ void AllNeuroEdges::writeEdge(ostream &output, BGSIZE iEdg) const output << destVertexIndex_[iEdg] << ends; output << W_[iEdg] << ends; output << psr_[iEdg] << ends; - output << static_cast(type_[iEdg]) << ends; + output << type_[iEdg] << ends; output << (inUse_[iEdg] == 1 ? "true" : "false") << ends; } @@ -107,7 +107,7 @@ void AllNeuroEdges::printSynapsesProps() const cout << "W[" << i << "] = " << W_[i]; cout << " sourNeuron: " << sourceVertexIndex_[i]; cout << " desNeuron: " << destVertexIndex_[i]; - cout << " type: " << static_cast(type_[i]); + cout << " type: " << type_[i]; cout << " psr: " << psr_[i]; cout << " in_use:" << (inUse_[i] == 1 ? "true" : "false"); } diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp index ad6ce58d0..9527d87c2 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp @@ -387,7 +387,7 @@ void AllSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index 3eaedeb21..94364e4a2 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -405,7 +405,7 @@ void AllSpikingSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const cout << "GPU W[" << i << "] = " << WPrint[i]; cout << " GPU sourNeuron: " << sourceNeuronIndexPrint[i]; cout << " GPU desNeuron: " << destNeuronIndexPrint[i]; - cout << " GPU type: " << static_cast(typePrint[i]); + cout << " GPU type: " << typePrint[i]; cout << " GPU psr: " << psrPrint[i]; cout << " GPU in_use:" << (inUsePrint[i] == 1 ? "true" : "false"); cout << " GPU decay: " << decayPrint[i]; diff --git a/Simulator/Utils/Global.cpp b/Simulator/Utils/Global.cpp index c7278a878..9f6572a0d 100644 --- a/Simulator/Utils/Global.cpp +++ b/Simulator/Utils/Global.cpp @@ -62,7 +62,7 @@ string neuronTypeToString(vertexType t) case vertexType::EXC: return "EXC"; default: - cerr << "ERROR->neuronTypeToString() failed, unknown type: " << static_cast(t) << endl; + cerr << "ERROR->neuronTypeToString() failed, unknown type: " << t << endl; assert(false); return nullptr; // Must return a value -- this will probably cascade to another failure } diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index b7f6cc603..c2e285168 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -111,6 +111,11 @@ enum class vertexType { // UNDEF VTYPE_UNDEF = 0 }; +// Custom streaming operator<< for the enum class vertexType +inline std::ostream& operator<<(std::ostream& os, vertexType vT) { + os << static_cast(vT); + return os; +} // Edge types. // NEURO: @@ -140,6 +145,11 @@ enum class edgeType { // UNDEF ETYPE_UNDEF = -1 }; +// Custom streaming operator<< for the enum class edgeType +inline std::ostream& operator<<(std::ostream& os, edgeType eT) { + os << static_cast(eT); + return os; +} // The default membrane capacitance. #define DEFAULT_Cm (3e-8) diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index f99056a01..5332a9279 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -142,7 +142,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) default: LOG4CPLUS_DEBUG(vertexLogger_, - "ERROR: unknown neuron type: " << static_cast(layout.vertexTypeMap_[i]) << "@" << i); + "ERROR: unknown neuron type: " << layout.vertexTypeMap_[i] << "@" << i); assert(false); break; } From 58c1879f2d8724df2bc62d9637b845358a38eec5 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 27 Jan 2025 20:07:19 -0800 Subject: [PATCH 018/153] clang formatting --- Simulator/Connections/NG911/Connections911.cpp | 14 ++++++++------ .../Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp | 12 ++++++++---- Simulator/Layouts/NG911/Layout911.cpp | 18 ++++++++++++------ Simulator/Layouts/Neuro/LayoutNeuro.cpp | 12 ++++++++---- Simulator/Recorders/NG911/Xml911Recorder.cpp | 6 ++++-- 5 files changed, 40 insertions(+), 22 deletions(-) diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index dfb6f9f14..ddb57c9b8 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -194,7 +194,8 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) } // Identify all psap-less responders - if (layout.vertexTypeMap_[destVertex] == vertexType::LAW || layout.vertexTypeMap_[destVertex] == vertexType::FIRE + if (layout.vertexTypeMap_[destVertex] == vertexType::LAW + || layout.vertexTypeMap_[destVertex] == vertexType::FIRE || layout.vertexTypeMap_[destVertex] == vertexType::EMS) { respsToReroute.push_back(destVertex); } @@ -229,8 +230,8 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) } // Insert Caller to PSAP edge - BGSIZE iEdg - = edges_->addEdge(edgeType::CP, srcVertex, closestPSAP, Simulator::getInstance().getDeltaT()); + BGSIZE iEdg = edges_->addEdge(edgeType::CP, srcVertex, closestPSAP, + Simulator::getInstance().getDeltaT()); // Record added edge ChangedEdge addedEdge; @@ -257,8 +258,8 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) } // Insert PSAP to Responder edge - BGSIZE iEdg - = edges_->addEdge(edgeType::PR, closestPSAP, destVertex, Simulator::getInstance().getDeltaT()); + BGSIZE iEdg = edges_->addEdge(edgeType::PR, closestPSAP, destVertex, + Simulator::getInstance().getDeltaT()); // Record added edge ChangedEdge addedEdge; @@ -281,7 +282,8 @@ bool Connections911::eraseRESP(AllVertices &vertices, Layout &layout) // Find all resps for (int i = 0; i < numVertices; i++) { - if (layout.vertexTypeMap_[i] == vertexType::LAW || layout.vertexTypeMap_[i] == vertexType::FIRE + if (layout.vertexTypeMap_[i] == vertexType::LAW + || layout.vertexTypeMap_[i] == vertexType::FIRE || layout.vertexTypeMap_[i] == vertexType::EMS) { resps.push_back(i); } diff --git a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp index 48a18ac89..d61208c93 100644 --- a/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp +++ b/Simulator/Edges/Neuro/AllSynapsesDeviceFuncs_d.cpp @@ -499,13 +499,17 @@ CUDA_CALLABLE void eraseSpikingSynapse(AllSpikingSynapsesDeviceProperties *allEd /// @param destVertex Index of the destination neuron. CUDA_CALLABLE edgeType edgType(vertexType *neuronTypeMap_d, int srcVertex, int destVertex) { - if (neuronTypeMap_d[srcVertex] == vertexType::INH && neuronTypeMap_d[destVertex] == vertexType::INH) + if (neuronTypeMap_d[srcVertex] == vertexType::INH + && neuronTypeMap_d[destVertex] == vertexType::INH) return edgeType::II; - else if (neuronTypeMap_d[srcVertex] == vertexType::INH && neuronTypeMap_d[destVertex] == vertexType::EXC) + else if (neuronTypeMap_d[srcVertex] == vertexType::INH + && neuronTypeMap_d[destVertex] == vertexType::EXC) return edgeType::IE; - else if (neuronTypeMap_d[srcVertex] == vertexType::EXC && neuronTypeMap_d[destVertex] == vertexType::INH) + else if (neuronTypeMap_d[srcVertex] == vertexType::EXC + && neuronTypeMap_d[destVertex] == vertexType::INH) return edgeType::EI; - else if (neuronTypeMap_d[srcVertex] == vertexType::EXC && neuronTypeMap_d[destVertex] == vertexType::EXC) + else if (neuronTypeMap_d[srcVertex] == vertexType::EXC + && neuronTypeMap_d[destVertex] == vertexType::EXC) return edgeType::EE; return edgeType::ETYPE_UNDEF; diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index 083a25313..0b7d5d912 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -115,21 +115,27 @@ void Layout911::generateVertexTypeMap() // Returns the type of synapse at the given coordinates edgeType Layout911::edgType(int srcVertex, int destVertex) { - if (vertexTypeMap_[srcVertex] == vertexType::CALR && vertexTypeMap_[destVertex] == vertexType::PSAP) + if (vertexTypeMap_[srcVertex] == vertexType::CALR + && vertexTypeMap_[destVertex] == vertexType::PSAP) return edgeType::CP; else if (vertexTypeMap_[srcVertex] == vertexType::PSAP - && (vertexTypeMap_[destVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + && (vertexTypeMap_[destVertex] == vertexType::LAW + || vertexTypeMap_[destVertex] == vertexType::FIRE || vertexTypeMap_[destVertex] == vertexType::EMS)) return edgeType::PR; - else if (vertexTypeMap_[srcVertex] == vertexType::PSAP && vertexTypeMap_[destVertex] == vertexType::CALR) + else if (vertexTypeMap_[srcVertex] == vertexType::PSAP + && vertexTypeMap_[destVertex] == vertexType::CALR) return edgeType::PC; - else if (vertexTypeMap_[srcVertex] == vertexType::PSAP && vertexTypeMap_[destVertex] == vertexType::PSAP) + else if (vertexTypeMap_[srcVertex] == vertexType::PSAP + && vertexTypeMap_[destVertex] == vertexType::PSAP) return edgeType::PP; - else if ((vertexTypeMap_[srcVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + else if ((vertexTypeMap_[srcVertex] == vertexType::LAW + || vertexTypeMap_[destVertex] == vertexType::FIRE || vertexTypeMap_[destVertex] == vertexType::EMS) && vertexTypeMap_[destVertex] == vertexType::PSAP) return edgeType::RP; - else if ((vertexTypeMap_[srcVertex] == vertexType::LAW || vertexTypeMap_[destVertex] == vertexType::FIRE + else if ((vertexTypeMap_[srcVertex] == vertexType::LAW + || vertexTypeMap_[destVertex] == vertexType::FIRE || vertexTypeMap_[destVertex] == vertexType::EMS) && vertexTypeMap_[destVertex] == vertexType::CALR) return edgeType::RC; diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index 7089f0914..3c7c999a6 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -104,13 +104,17 @@ void LayoutNeuro::initStarterMap() /// @return type of the synapse. edgeType LayoutNeuro::edgType(int srcVertex, int destVertex) { - if (vertexTypeMap_[srcVertex] == vertexType::INH && vertexTypeMap_[destVertex] == vertexType::INH) + if (vertexTypeMap_[srcVertex] == vertexType::INH + && vertexTypeMap_[destVertex] == vertexType::INH) return edgeType::II; - else if (vertexTypeMap_[srcVertex] == vertexType::INH && vertexTypeMap_[destVertex] == vertexType::EXC) + else if (vertexTypeMap_[srcVertex] == vertexType::INH + && vertexTypeMap_[destVertex] == vertexType::EXC) return edgeType::IE; - else if (vertexTypeMap_[srcVertex] == vertexType::EXC && vertexTypeMap_[destVertex] == vertexType::INH) + else if (vertexTypeMap_[srcVertex] == vertexType::EXC + && vertexTypeMap_[destVertex] == vertexType::INH) return edgeType::EI; - else if (vertexTypeMap_[srcVertex] == vertexType::EXC && vertexTypeMap_[destVertex] == vertexType::EXC) + else if (vertexTypeMap_[srcVertex] == vertexType::EXC + && vertexTypeMap_[destVertex] == vertexType::EXC) return edgeType::EE; return edgeType::ETYPE_UNDEF; diff --git a/Simulator/Recorders/NG911/Xml911Recorder.cpp b/Simulator/Recorders/NG911/Xml911Recorder.cpp index 62213bc53..9cf93348b 100644 --- a/Simulator/Recorders/NG911/Xml911Recorder.cpp +++ b/Simulator/Recorders/NG911/Xml911Recorder.cpp @@ -36,10 +36,12 @@ void Xml911Recorder::saveSimData() VectorMatrix oldTypes(MATRIX_TYPE, MATRIX_INIT, 1, Simulator::getInstance().getTotalVertices(), static_cast(vertexType::EXC)); VectorMatrix vertexTypes(MATRIX_TYPE, MATRIX_INIT, 1, - Simulator::getInstance().getTotalVertices(), static_cast(vertexType::EXC)); + Simulator::getInstance().getTotalVertices(), + static_cast(vertexType::EXC)); for (int i = 0; i < Simulator::getInstance().getTotalVertices(); i++) { - vertexTypes[i] = static_cast(Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]); + vertexTypes[i] + = static_cast(Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]); oldTypes[i] = static_cast(conns911.oldTypeMap_[i]); } From 24a3bea7bd227b89504222d5c8c9863ac63b47de Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 27 Jan 2025 20:07:35 -0800 Subject: [PATCH 019/153] code style --- Simulator/Utils/Global.h | 14 ++++++++------ Simulator/Vertices/NG911/All911Vertices.cpp | 3 ++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index c2e285168..c2c9aa7ea 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -112,9 +112,10 @@ enum class vertexType { VTYPE_UNDEF = 0 }; // Custom streaming operator<< for the enum class vertexType -inline std::ostream& operator<<(std::ostream& os, vertexType vT) { - os << static_cast(vT); - return os; +inline std::ostream &operator<<(std::ostream &os, vertexType vT) +{ + os << static_cast(vT); + return os; } // Edge types. @@ -146,9 +147,10 @@ enum class edgeType { ETYPE_UNDEF = -1 }; // Custom streaming operator<< for the enum class edgeType -inline std::ostream& operator<<(std::ostream& os, edgeType eT) { - os << static_cast(eT); - return os; +inline std::ostream &operator<<(std::ostream &os, edgeType eT) +{ + os << static_cast(eT); + return os; } // The default membrane capacitance. diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index 6def36e04..cbf9d263f 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -178,7 +178,8 @@ void All911Vertices::advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIn advanceCALR(vertex, edges911, edgeIndexMap); } else if (layout.vertexTypeMap_[vertex] == vertexType::PSAP) { advancePSAP(vertex, edges911, edgeIndexMap); - } else if (layout.vertexTypeMap_[vertex] == vertexType::EMS || layout.vertexTypeMap_[vertex] == vertexType::FIRE + } else if (layout.vertexTypeMap_[vertex] == vertexType::EMS + || layout.vertexTypeMap_[vertex] == vertexType::FIRE || layout.vertexTypeMap_[vertex] == vertexType::LAW) { advanceRESP(vertex, edges911, edgeIndexMap); } From 651920253139e98d3d998ea5117e4cfde2b33e0d Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 27 Jan 2025 20:13:33 -0800 Subject: [PATCH 020/153] clang --- Testing/UnitTesting/OperationManagerTests.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Testing/UnitTesting/OperationManagerTests.cpp b/Testing/UnitTesting/OperationManagerTests.cpp index c3e4b0079..0a54afb90 100644 --- a/Testing/UnitTesting/OperationManagerTests.cpp +++ b/Testing/UnitTesting/OperationManagerTests.cpp @@ -34,8 +34,8 @@ TEST(OperationManager, AddingManyOperations) Foo foo; function function = std::bind(&Foo::loadParameters, foo); for (int i = 0; i < 1000; i++) { - EXPECT_NO_FATAL_FAILURE(OperationManager::getInstance().registerOperation( - Operations::loadParameters, function)); + EXPECT_NO_FATAL_FAILURE( + OperationManager::getInstance().registerOperation(Operations::loadParameters, function)); } } @@ -47,6 +47,5 @@ TEST(OperationManager, OperationExecutionSuccess) TEST(OperationManager, OperationExecutionContainsNoFunctionsOfOperationType) { - EXPECT_NO_FATAL_FAILURE( - OperationManager::getInstance().executeOperation(Operations::copyToGPU)); + EXPECT_NO_FATAL_FAILURE(OperationManager::getInstance().executeOperation(Operations::copyToGPU)); } \ No newline at end of file From 75a52d01b4a04195143636729df2e195d9d9e9e5 Mon Sep 17 00:00:00 2001 From: Rimjhim Sudhesh <110277428+rimjhimsudhesh@users.noreply.github.com> Date: Thu, 30 Jan 2025 00:08:09 -0800 Subject: [PATCH 021/153] Add files via upload --- .../cluster_point_process.py | 93 +++++++++++----- .../cluster_point_process_functions.py | 100 +++++++++++++----- 2 files changed, 140 insertions(+), 53 deletions(-) diff --git a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py index 2e8e80b5d..7df290937 100644 --- a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py +++ b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py @@ -1,3 +1,4 @@ +# Import necessary libraries import numpy as np import math import lxml.etree as et @@ -7,7 +8,17 @@ from PyQt5.QtWidgets import QApplication, QWidget, QLabel, QLineEdit, QPushButton, QVBoxLayout, QFileDialog, QMessageBox, QDialog, QDialogButtonBox, QGridLayout from cluster_point_process_functions import primprocess, add_types, secprocess, add_vertex_events -# Class used for setting type_ratios in the GUI for the cluster point process +# source venv/bin/activate +# python3 cluster_point_process.py + +# This script provides a GUI to configure and generate synthetic 911 call data using a cluster point process model. +# It integrates primary and secondary event generation with user-configurable parameters. + + +# ------------------------------ +# Class: TypeRatioDialog +# ------------------------------ +# Provides a dialog to input ratios for different 911 call types (Law, EMS, Fire). class TypeRatioDialog(QDialog): def __init__(self): super().__init__() @@ -17,7 +28,8 @@ def __init__(self): def init_ui(self): layout = QVBoxLayout() - + + # Labels and input fields for call type ratios self.labels = ["Law", "EMS", "Fire"] self.entries = {} for label_text in self.labels: @@ -28,6 +40,7 @@ def init_ui(self): layout.addWidget(label) layout.addWidget(entry) + # OK and Cancel buttons button_box = QDialogButtonBox(QDialogButtonBox.Cancel | QDialogButtonBox.Ok) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.on_cancel_clicked) @@ -37,6 +50,7 @@ def init_ui(self): self.backup_initial_values() # Save initial values def accept(self): + """Validates and processes user inputs when OK is clicked.""" invalid_fields = [] for label, entry in self.entries.items(): text = entry.text().strip() @@ -51,18 +65,22 @@ def accept(self): invalid_fields.append(label) if invalid_fields: + # Show an error message for invalid inputs error_message = "Invalid or empty values in the following fields:\n" for field in invalid_fields: error_message += f"- {field}\n" QMessageBox.warning(self, "Input Error", error_message) else: + # Store validated results self.result = {label: float(entry.text().strip()) for label, entry in self.entries.items()} super().accept() def backup_initial_values(self): + """Stores initial values to restore them if the user cancels.""" self.initial_values = {label: entry.text() for label, entry in self.entries.items()} def on_cancel_clicked(self): + """Restores initial values if the dialog is canceled.""" for label, entry in self.entries.items(): current_text = entry.text().strip() if not current_text: # If the field is empty, reset to initial value @@ -71,7 +89,10 @@ def on_cancel_clicked(self): self.reject() # Close the dialog -# Class used for setting prototype values in the GUI for the cluster point process +# ------------------------------ +# Class: PrototypesDialog +# ------------------------------ +# Allows the user to define prototype configurations for secondary event generation. class PrototypesDialog(QDialog): def __init__(self): super().__init__() @@ -79,11 +100,14 @@ def __init__(self): self.init_ui() def init_ui(self): + """Sets up the layout and input fields for prototype configurations.""" layout = QGridLayout() self.entries = {} + # Labels for prototype parameters labels = ["mu_r:", "sdev_r:", "mu_intensity:", "sdev_intensity:"] + # Add input fields for four prototypes for i in range(4): prototype_label = QLabel(f"Prototype {i}:") layout.addWidget(prototype_label, i, 0) @@ -94,6 +118,7 @@ def init_ui(self): layout.addWidget(QLabel(label), i, j * 2 + 1) layout.addWidget(entry, i, j * 2 + 2) + # OK and Cancel buttons button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) button_box.accepted.connect(self.accept) button_box.rejected.connect(self.reject) @@ -102,6 +127,7 @@ def init_ui(self): self.setLayout(layout) def accept(self): + """Validates and processes user inputs when OK is clicked.""" invalid_fields = [] for label, entry in self.entries.items(): text = entry.text().strip() @@ -116,6 +142,7 @@ def accept(self): invalid_fields.append(label) if invalid_fields: + # Show an error message for invalid inputs error_message = "Invalid or empty values in the following fields:\n" for field in invalid_fields: error_message += f"- {field}\n" @@ -129,40 +156,43 @@ def __init__(self): super().__init__() self.setWindowTitle("911 Call Data Generator") # Input dialog for type_ratio and prototypes + # These will allow the user to input custom type ratios and prototypes via separate dialogs self.type_ratio_dialog = None self.prototypes_dialog = None # Dictionary for holding type_ratio and prototypes - self.type_ratios = {} - self.prototypes = {} + self.type_ratios = {} # Example: {'Law': 0.64, 'EMS': 0.18, 'Fire': 0.18} + self.prototypes = {} # Example: {0: {'mu_r': 0.0005, 'sdev_r': 0.0001}, ...} self.init_ui() def init_ui(self): layout = QVBoxLayout() - # Graph File input field + # Input field for selecting the graph file (.graphml) graph_file_label = QLabel("Select Graph File (.graphml):") self.graph_file_label = QLineEdit() layout.addWidget(graph_file_label) layout.addWidget(self.graph_file_label) + # Button to browse and select a graph file graph_file_button = QPushButton("Browse") graph_file_button.clicked.connect(self.browse_file) layout.addWidget(graph_file_button) - # Input labels for GUI + # Input labels and fields for various parameters + # These fields collect user inputs for parameters like event timing, duration, etc. self.labels = [ - "Graph ID:", - "First (seconds):", - "Last (seconds):", - "Mean Time Interval (seconds):", - "Dead Time after Event (seconds):", - "Mean Call Interval after incident (seconds):", - "Mean Duration (seconds):", - "Minimum Duration (seconds):", - "Mean Patience Time (seconds):", - "Mean On-Site Time (seconds):", + "Graph ID:", # Insert graph labels + "First (seconds):", # The time of the first event or call in the dataset, measured in seconds from a reference point (e.g., the start of the logging period). + "Last (seconds):", # The time of the last event or call in the dataset, measured in seconds from the same reference point. + "Mean Time Interval (seconds):", # The average time interval between consecutive 911 calls, measured in seconds. + "Dead Time after Event (seconds):", # The average time period after an event during which no new events or calls are expected to occur, measured in seconds. This could represent a cooldown period or a time when the system is not actively logging new calls. + "Mean Call Interval after incident (seconds):", # The average time interval between the end of an incident and the next 911 call, measured in seconds. This could be used to model the frequency of follow-up calls or related incidents. + "Mean Duration (seconds):", # The average duration of a 911 call or incident, measured in seconds. This includes the time from the start of the call to its conclusion. + "Minimum Duration (seconds):", # The shortest duration of a 911 call or incident in the dataset, measured in seconds. This could be used to filter out very short or incomplete calls. + "Mean Patience Time (seconds):", # The average time a caller is willing to wait on hold before hanging up, measured in seconds. This metric is important for understanding caller behavior and optimizing call center operations. + "Mean On-Site Time (seconds):", # The average time emergency responders spend on-site at an incident, measured in seconds. This includes the time from arrival at the scene to departure. ] self.entries = {} @@ -174,24 +204,27 @@ def init_ui(self): layout.addWidget(label) layout.addWidget(entry) - # Buttons for opening dialogs (Type Ratio, Prototype) + # Button to open the "Set Type Ratios" dialog set_type_ratio_button = QPushButton("Set Type Ratios") set_type_ratio_button.clicked.connect(self.show_type_ratio_dialog) layout.addWidget(set_type_ratio_button) + # Button to open the "Set Prototypes" dialog set_prototypes_button = QPushButton("Set Prototypes") set_prototypes_button.clicked.connect(self.show_prototypes_dialog) layout.addWidget(set_prototypes_button) - # Submit button + # Button to start the event generation process generate_button = QPushButton("Generate Events") generate_button.clicked.connect(self.generate_events) layout.addWidget(generate_button) + # Set the layout of the UI self.setLayout(layout) self.show() def show_type_ratio_dialog(self): + # Opens a dialog to allow the user to set type ratios if not self.type_ratio_dialog: self.type_ratio_dialog = TypeRatioDialog() @@ -200,14 +233,16 @@ def show_type_ratio_dialog(self): self.type_ratios = {label: float(entry.text()) for label, entry in self.type_ratio_dialog.entries.items()} def show_prototypes_dialog(self): + # Opens a dialog to allow the user to set prototypes if not self.prototypes_dialog: self.prototypes_dialog = PrototypesDialog() if self.prototypes_dialog.exec_() == QDialog.Accepted: + # Extract and reformat prototype values prototypes_entries = self.prototypes_dialog.entries.items() prototypes_values = {label: float(entry.text()) for label, entry in prototypes_entries} - # Reformatting the prototypes dictionary + # Organize prototype data into nested dictionaries self.prototypes = {} for label, value in prototypes_values.items(): split_label = label.split(' - ') @@ -220,7 +255,9 @@ def show_prototypes_dialog(self): self.prototypes[prototype_num][var_name] = value # Function that allows user to browse local files + def browse_file(self): + # Allows the user to browse and select a .graphml file options = QFileDialog.Options() options |= QFileDialog.DontUseNativeDialog file_dialog = QFileDialog() @@ -242,9 +279,11 @@ def browse_file(self): # Handles invalid inputs (string instead of int, wrong file # type but not invalid logic) def generate_events(self): + # Validates inputs and triggers the event generation process error_message = "" invalid_fields = [] + # Validate user input fields for label_text, entry in self.entries.items(): if label_text != "Select Region Grid (.graphml):": text = entry.text().strip() @@ -256,6 +295,7 @@ def generate_events(self): except ValueError: invalid_fields.append(label_text) + # Check if type ratios and prototypes are set if not self.type_ratios and not self.prototypes: error_message += "Please set Type Ratio and Prototype values before generating events." elif not self.type_ratios: @@ -263,20 +303,22 @@ def generate_events(self): elif not self.prototypes: error_message += "Please set Prototype values before generating events." - # Error handling + # Validate the graph file input graph_file = self.graph_file_label.text().strip() if not graph_file: invalid_fields.append("Select Region Grid (.graphml):") elif not graph_file.endswith(".graphml"): invalid_fields.append("Select Region Grid (.graphml) must be a .graphml file.") + # Handle errors and display warnings if invalid_fields: error_message = "Invalid or empty values in the following fields: (float values only)\n" for field in invalid_fields: error_message += f"- {field}\n" - # Event handling + # Proceed with event generation if inputs are valid try: + # Extract user inputs and use them for event generation if error_message: raise ValueError(error_message) @@ -297,13 +339,16 @@ def generate_events(self): # PRIMARY EVENTS ########################################################################### # Start your event generation process here based on the valid inputs - graph = nx.read_graphml('../../gis2graph/graph_files/spd.graphml') + graph_file_path = os.path.join('/Users', 'rimjhimsudhesh', 'research-summer-24', 'data-generation', 'graphml1', 'synth_output2.graphml') + graph = nx.read_graphml(graph_file_path) graph_id = str(self.entries["Graph ID:"].text()) graph_attribute = graph.nodes[graph_id]['segments'] graph_grid = np.array(eval(graph_attribute)) + + # Seed numpy random number to get consistent results - np.random.seed(20) + np.random.seed(20) ## change it when i make the test set to something else # Call primprocess using the inputs from the interface incidents = primprocess(first, last, mu, pp_dead_t, graph_grid) diff --git a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process_functions.py b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process_functions.py index 2e155451d..5d3d5495d 100644 --- a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process_functions.py +++ b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process_functions.py @@ -4,24 +4,34 @@ import pandas as pd def primprocess(first, last, pp_mu, pp_dead_t, region_grid): - # Generates a set of primary spatio-temporal events between first and last. - # The time intervals between events are exponentially distributed with - # mean pp_mu. The events are then uniformly distributed between the segments - # of the region_grid, which serve as a constrain box for randomly selecting - # the (x, y) location. - # The pp_dead_t is the dead time after an event. It helps to avoid having 2 - # events ocurring at the exact same time. Finally, the times are given in seconds. - events = np.array([first]) - aveInt = pp_mu + pp_dead_t + """Generates a set of primary spatio-temporal events between 'first' and 'last'. + + - The time intervals between events follow an exponential distribution with mean 'pp_mu'. + - A dead time 'pp_dead_t' is added after each event to prevent two events from occurring at the same time. + - Events are uniformly distributed within the segments defined by 'region_grid'. + - The function returns an array where each row represents an event with (time, x, y) coordinates. + + Parameters: + first (float): The starting time for event generation. + last (float): The ending time for event generation. + pp_mu (float): Mean of the exponential distribution for event intervals. + pp_dead_t (float): Dead time after each event. + region_grid (numpy.ndarray): Array defining spatial segments as bounding boxes. + + Returns: + numpy.ndarray: A (N, 3) array with event times (rounded to int) and (x, y) coordinates.""" + + events = np.array([first]) # Initialize the events array with the starting time + aveInt = pp_mu + pp_dead_t # Average interval between events, including dead time # Generate all the primary processes between first and lastInp # drawing the interval between event from an exponential # distribution while events[-1] < last: - numInts = int(np.round((last - events[-1]) / aveInt)) + 1 - newInts = np.random.exponential(scale=pp_mu, size=numInts) + pp_dead_t - newInts = np.cumsum(newInts) - events = np.concatenate([events, newInts + events[-1]]) + numInts = int(np.round((last - events[-1]) / aveInt)) + 1 # Estimate required intervals + newInts = np.random.exponential(scale=pp_mu, size=numInts) + pp_dead_t # Generate intervals + newInts = np.cumsum(newInts) # Cumulative sum to get event times + events = np.concatenate([events, newInts + events[-1]]) # Append new events # Include only events between first and lastInp if events[-1] > last: @@ -30,40 +40,68 @@ def primprocess(first, last, pp_mu, pp_dead_t, region_grid): # Add spatial dimension to the primary process. # Create a numpy array of uniformly distributed random segments drawn # from the region_grid - n = len(events) + n = len(events) # Number of events - rand_segments = region_grid[np.random.randint(0, len(region_grid), n)] + # Randomly select spatial segments from 'region_grid' for each event + rand_segments = region_grid[np.random.randint(0, len(region_grid), n)] # Randomly select segments # Generate x and y from the 2 corners defined in each segment x = np.random.uniform(rand_segments[:,0,0], rand_segments[:,1,0]) y = np.random.uniform(rand_segments[:,0,1], rand_segments[:,1,1]) + # Combine time and spatial coordinates into a single array + # Return an array containing event times (rounded to int) and (x, y) coordinates return np.column_stack((np.round(events).astype(np.int64), x, y)) def add_types(events, type_ratios): + # Updated August 1rst, 2024 for Graph Generation + # We will uniformily distribute the events between 3 types: EMS, Fire, and Law. # Assigned a number from 0 to 99 using a uniform distribution, which will be # used as a threshold for randomly selecting the the emergency type based # on their type_ratios. - random_ratio = np.random.randint(0, 100, events.shape[0]) # With the ratios sorted in ascending order we set thresholds for the various # incident types using their cummulative sum. For instance, if we have ratios of # 15% EMS, 15% Fire, and 70% Law; we assign EMS when the uniformly distributed # random variable gets a value less than 15, Fire is assigned when it gets a # value between 15 and 29, and Law for values between 30 and 99. - prev_threshold = 0 - cond_list = [] - choice_list = [] - for key, value in sorted(type_ratios.items(), key=lambda x:x[1]): + # Ensure the type_ratios sum to 1 + + # Randomly assign a number from 0 to 99 for each event + random_ratio = np.random.randint(0, 100, events.shape[0]) + + # Initialize variables to track cumulative thresholds and mappings + prev_threshold = 0 # The starting point for the cumulative threshold + cond_list = [] # A list of conditions for type assignment + choice_list = [] # A list of corresponding types (EMS, Fire, Law) + + # Iterate through the `type_ratios` dictionary, sorted by value (ascending order), + # to define thresholds for each type. + for key, value in sorted(type_ratios.items(), key=lambda x: x[1]): + # Calculate the cumulative threshold for the current type threshold = prev_threshold + value * 100 + # Add a condition for assigning the current type based on the random number cond_list.append(random_ratio < threshold) - # print('Threshold:', key, '= ', threshold) + # Map the condition to the current type choice_list.append(key) + # Update the cumulative threshold for the next iteration prev_threshold = threshold - - type_list = np.select(cond_list, choice_list) - return np.column_stack((events, type_list.astype('object'))) + + # Ensure the condition list is not empty + if len(cond_list) == 0: + raise ValueError("Condition list is empty") + + # Assign types based on the conditions and choices + # If no condition matches, the default type is set to 'Unknown'. + type_list = np.select(cond_list, choice_list, default='Unknown').astype('object') + + # Validate that the number of assigned types matches the number of events. + if type_list.shape[0] != events.shape[0]: + raise ValueError("Mismatch in dimensions between events and type_list") + + # Stack the events with the assigned types + return np.column_stack((events, type_list)) def secprocess(sp_sigma, duration_mean, duration_min, patience_mean, onsite_mean, prototypes, @@ -96,20 +134,23 @@ def secprocess(sp_sigma, duration_mean, duration_min, patience_mean, onsite_mean # class 3 = 1% of events # Each of this classes has a mean and standard deviation for the radius # and intensity of the generated secondary process + # Assign prototype class based on predefined probabilities proto_class = np.random.rand(len(prim_evts)) - proto_class[(proto_class >= 0.99)] = 3 - proto_class[proto_class < 0.4] = 0 - proto_class[(proto_class >= 0.4) & (proto_class < 0.9)] = 1 - proto_class[(proto_class >= 0.9) & (proto_class < 0.99)] = 2 + proto_class[(proto_class >= 0.99)] = 3 # 1% chance for class 3 + proto_class[proto_class < 0.4] = 0 # 40% chance for class 0 + proto_class[(proto_class >= 0.4) & (proto_class < 0.9)] = 1 # 50% for class 1 + proto_class[(proto_class >= 0.9) & (proto_class < 0.99)] = 2 # 9% for class 2 + # Initialize arrays for secondary event attributes sec_evts_t = np.zeros(0) #np.zeros(len(primEvts) * expected_points_num) sec_evts_x = np.zeros(0) #np.zeros(len(primEvts) * expected_points_num) sec_evts_y = np.zeros(0) #np.zeros(len(primEvts) * expected_points_num) sec_evts_cid = np.zeros(0) # We need to compute the actual clusters on a per primary event basis + # Process each primary event to generate secondary events for pe_num in range(len(prim_evts)): - # get the radius and intensity + # Select the prototype for this primary event pcls = proto_class[pe_num] # print('protoclass:', pcls) radius = np.random.normal(prototypes[pcls]['mu_r'], @@ -119,6 +160,7 @@ def secprocess(sp_sigma, duration_mean, duration_min, patience_mean, onsite_mean prototypes[pcls]['sdev_intensity'], size=1)[0] + # Estimate the expected number of secondary events expected_points_num = int(intensity * np.pi * radius**2) # Ensure that at least 1 call is generated if expected_points_num == 0: From 17b9cc6b428c6da7a4fe20d08bdb42bccf17bdcb Mon Sep 17 00:00:00 2001 From: Rimjhim Sudhesh <110277428+rimjhimsudhesh@users.noreply.github.com> Date: Thu, 30 Jan 2025 00:16:32 -0800 Subject: [PATCH 022/153] Added Rimjhim Sudhesh to Contributors List --- Contributors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Contributors.md b/Contributors.md index 136ff3eb5..129f5df9d 100644 --- a/Contributors.md +++ b/Contributors.md @@ -78,6 +78,8 @@ ChengHao Hsu Zaina Shaikh +Rimjhim Sudhesh + ## 2025 Andrew Madison From b01af62ad6771aafa61b9f26f851e80e69b0ae68 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 30 Jan 2025 22:23:00 -0800 Subject: [PATCH 023/153] Added conditional flag TARGET_ARCH and updated quickstart --- CMakeLists.txt | 22 +++++++++++++++++++--- docs/User/quickstart.md | 9 +++++++-- 2 files changed, 26 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 99d2ee131..5dc78838d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,7 +8,7 @@ cmake_minimum_required(VERSION 3.12) # #You can also pass this flag when running cmake from the command line like this: # -#cmake..- D ENABLE_CUDA = YES +#cmake -D ENABLE_CUDA=YES .. # #"YES" / GPU choice only available if CUDA library is installed and the GPU is CUDA capable. ############################################################################################ @@ -34,6 +34,21 @@ if(NOT GPROF) set(GPROF NO) endif() +############################################################################################ +#CONDITIONAL FLAG to change target architecture for the GPU simulator from the default +# +#You can pass this flag when running cmake from the command line like this, setting TARGET_ARCH \ +# to your desired architecture: \ +# +#cmake -D ENABLE_CUDA=YES -D TARGET_ARCH=70 .. +# +#"YES" / GPU choice only available if CUDA library is installed and the GPU is CUDA capable. +#If no TARGET_ARCH is passed in then it will default to 37 which is the kepler architecture +############################################################################################ +if(NOT DEFINED TARGET_ARCH) + set(TARGET_ARCH 37) +endif() + #Creates the Graphitti project with the correct languages, depending on if using GPU or not #If using CUDA, also verify the CUDA package and set the required CUDA variables if(ENABLE_CUDA) @@ -45,8 +60,9 @@ if(ENABLE_CUDA) add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware - set(CMAKE_CUDA_ARCHITECTURES 37) - set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_37,code=sm_37) + set(CMAKE_CUDA_ARCHITECTURES ${TARGET_ARCH}) + set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_${TARGET_ARCH},code=sm_${TARGET_ARCH}) + message(STATUS "Using CUDA architecture: ${TARGET_ARCH}") else() message("\n----Generating Makefile for Graphitti CPU version----") diff --git a/docs/User/quickstart.md b/docs/User/quickstart.md index 06e447067..a429f1ce7 100644 --- a/docs/User/quickstart.md +++ b/docs/User/quickstart.md @@ -16,11 +16,16 @@ As a quick start and sanity test, let's run a small, prepackaged simulation to m $ make $ ./tests ``` - To compile the GPU version set the variable `ENABLE_CUDA` to `YES` in the `CMakeLists.txt` + To compile the GPU version, use the cmake conditional flag ENABLE_CUDA, setting it to YES ```shell - set(ENABLE_CUDA YES) + cmake -D ENABLE_CUDA=YES .. ``` + By default, the target CUDA architecture is set to 37 which is the kepler architecture + To target a different architecture use the cmake conditional flag TARGET_ARCH setting it to your desired architecture + ```shell + cmake -D ENABLE_CUDA=YES -D TARGET_ARCH=70 .. + ``` 3. Unless you have the necessary **HDF5** libraries installed please only use XML recorders only. - HDF5 is useful for making the data analysis easier for Matlab, which has native HDF5 support, after a simulation - especially a very long one; but it is fine to use the default XML output. From 035135545e58667108e03261fdca31fa17d8165e Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 30 Jan 2025 23:34:58 -0800 Subject: [PATCH 024/153] updated StudentSetup --- docs/Developer/StudentSetup.md | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/docs/Developer/StudentSetup.md b/docs/Developer/StudentSetup.md index fbad9d460..ff2f69d9e 100644 --- a/docs/Developer/StudentSetup.md +++ b/docs/Developer/StudentSetup.md @@ -93,6 +93,34 @@ The following options are available: high-performance GPU version has been compiled (`ggraphitti`). - `-v, --version`: Outputs the current git commit ID and exits. +## Running the GPU version of the simulator (ggraphitti)] +1. To run: + + ``` + $ cd build + + $ cmake -D ENABLE_CUDA=YES .. + ``` + + This will generate a makefile. Then type: + + ``` + $ make + ``` + + You can then run a selection of sample tests to ensure the simulator is able to run: + + ``` + $ ./tests + ``` + + You can run ggraphitti on various test files: + + ``` + $ ./ggraphitti -c ../configfiles/test-small-connected.xml + ``` + + ## Using Visual Studio Code 1. Install the [C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) for IntelliSense and debugging. We recommend setting the IntelliSense Cache Size setting to 10 MB. The default size is 5120 MB, which can result in VSC consuming all of your allotted space on the CSS Linux Machines. From de9aebab5a3781ac5708f09cf834d2ba71254983 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 3 Feb 2025 12:44:20 -0800 Subject: [PATCH 025/153] cast to BGFLOAT for enum class --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 2 +- Simulator/Recorders/NG911/Xml911Recorder.cpp | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 1d3158388..e2e73ee06 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -79,7 +79,7 @@ class AllSpikingSynapses : public AllNeuroEdges { /// is allowed in the synapse class. /// /// @return true if the back propagation is allowed. - virtual bool allowBackPropagation(); + virtual bool allowagation(); /// Prints SynapsesProps data to console. virtual void printSynapsesProps() const; diff --git a/Simulator/Recorders/NG911/Xml911Recorder.cpp b/Simulator/Recorders/NG911/Xml911Recorder.cpp index 62213bc53..3c3f3f05f 100644 --- a/Simulator/Recorders/NG911/Xml911Recorder.cpp +++ b/Simulator/Recorders/NG911/Xml911Recorder.cpp @@ -34,13 +34,15 @@ void Xml911Recorder::saveSimData() // create Vertex Types matrix VectorMatrix oldTypes(MATRIX_TYPE, MATRIX_INIT, 1, Simulator::getInstance().getTotalVertices(), - static_cast(vertexType::EXC)); + static_cast(vertexType::EXC)); VectorMatrix vertexTypes(MATRIX_TYPE, MATRIX_INIT, 1, - Simulator::getInstance().getTotalVertices(), static_cast(vertexType::EXC)); + Simulator::getInstance().getTotalVertices(), + static_cast(vertexType::EXC)); for (int i = 0; i < Simulator::getInstance().getTotalVertices(); i++) { - vertexTypes[i] = static_cast(Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]); - oldTypes[i] = static_cast(conns911.oldTypeMap_[i]); + vertexTypes[i] + = static_cast(Simulator::getInstance().getModel().getLayout().vertexTypeMap_[i]); + oldTypes[i] = static_cast(conns911.oldTypeMap_[i]); } // Write XML header information: From b99a2c18e8d8a1854a5dd0f3e6e667f49bb61056 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 3 Feb 2025 12:56:19 -0800 Subject: [PATCH 026/153] fix inadvertent change --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index e2e73ee06..1d3158388 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -79,7 +79,7 @@ class AllSpikingSynapses : public AllNeuroEdges { /// is allowed in the synapse class. /// /// @return true if the back propagation is allowed. - virtual bool allowagation(); + virtual bool allowBackPropagation(); /// Prints SynapsesProps data to console. virtual void printSynapsesProps() const; From a760d9b575436cc9854ded44ef336e87ec2798ed Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Mon, 3 Feb 2025 14:07:34 -0800 Subject: [PATCH 027/153] Fix for issues #443 and #444 Converted to absolute links. --- docs/Developer/index.md | 11 +++++++++-- docs/index.md | 7 ++++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/docs/Developer/index.md b/docs/Developer/index.md index fba940935..125e4fc9a 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -2,7 +2,7 @@ If you're developing Graphitti code, then here are your reference documents. -Writing new code? Then make sure to follow our [contributing guide](../../CONTRIBUTING.md) and *document your code here*. +Writing new code? Then make sure to follow our [contributing guide] and *document your code here*. Reading code that isn't obvious? When you figure out how it works, then *document it here* and *document it in comments in the code.* @@ -38,7 +38,7 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d - Doxygen - Documentation generated from source code - Doxygen provides web-based indices and hierarchical views of Graphitti's class and file structures - - [Visit Doxygen Generated Documentation](https://uwb-biocomputing.github.io/Graphitti/Doxygen/html/index.html) + - [Visit Doxygen Generated Documentation] - Document code in the `.h` file using the [Doxygen Style Guide](../Doxygen/DoxygenStyleGuide.md) format - [Doxygen Update Guide](../Doxygen/DoxygenUpdateGuide.md) - [Event buffering](eventBuffering.md) in vertex classes. @@ -50,3 +50,10 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d --------- [<< Go back to the Graphitti home page](../index.md) + +[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) +[//]: # (Links to repo items which exist outside of the docs folder need a direct link.) + + [contributing guide]: + [Visit Doxygen Generated Documentation]: + \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index 3a720b891..c1d199b4b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -71,7 +71,7 @@ Here is documentation on the [GIS to GEXF](Tools/GIStoGraph.md) tool. This tool ## Code of Conduct -Our [code of conduct](../CODE_OF_CONDUCT.md) +Our [code of conduct]. ## [Acknowledgements](acknowledgements.md) @@ -79,3 +79,8 @@ Those who have helped make Graphitti what it is and shaping what it will be. --------- [<< Go back to UWB Intelligent Networks Lab home page](http://uwb-biocomputing.github.io/) + +[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) +[//]: # (Links to repo items which exist outside of the docs folder need a direct link.) + + [code of conduct]: \ No newline at end of file From 28d8808dc9ab92847091afd450e8f44a86ea1fa0 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 4 Feb 2025 11:55:25 -0800 Subject: [PATCH 028/153] Added cuda flags and new build options to cmakelists. --- .gitignore | 3 ++ CMakeLists.txt | 131 +++++++++++++++++++++++++++++++++++-------------- 2 files changed, 98 insertions(+), 36 deletions(-) diff --git a/.gitignore b/.gitignore index 8e5e3b4cb..3ec5cc21e 100644 --- a/.gitignore +++ b/.gitignore @@ -97,3 +97,6 @@ Testing/RegressionTesting/TestOutput/*.xml Testing/RegressionTesting/TestOutput/*.h5 Testing/UnitTesting/TestOutput/*.xml Testing/UnitTesting/TestOutput/*.h5 + +# Machine Specific build script +build.sh diff --git a/CMakeLists.txt b/CMakeLists.txt index 5dc78838d..e230a5797 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,23 +16,6 @@ if(NOT ENABLE_CUDA) set(ENABLE_CUDA NO) endif() -#CONDITIONAL FLAG to turn on the performance metrics -if(NOT PERFORMANCE_METRICS) - set(PERFORMANCE_METRICS NO) -endif() - -#CONDITIONAL FLAG to turn on the Gprof profiler( \ -# Gprof is a performance analysis tool for Unix applications) -#Steps to run Gprof -#Step 01 : set(GPROF YES) below -#Step 02 : Compile and run the simulation on CPU or GPU as usual -#Step 03 : Run the generated gmon.out file from the build directory and save the output in an txt \ -# file to improve readability \ -#If using CPU - "~/Graphitti/build$ gprof cgraphitti gmon.out > analysis_test.txt" -#If using GPU - "~/Graphitti/build$ gprof ggraphitti gmon.out > analysis_test.txt" -if(NOT GPROF) - set(GPROF NO) -endif() ############################################################################################ #CONDITIONAL FLAG to change target architecture for the GPU simulator from the default @@ -54,14 +37,11 @@ endif() if(ENABLE_CUDA) message("\n----Generating Makefile for Graphitti GPU version----") project(Graphitti LANGUAGES CXX CUDA C) -#Verify CUDA package is present - find_Package(CUDA REQUIRED) #Set the USE_GPU preprocessor macro so that GPU code will be compiled. add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware set(CMAKE_CUDA_ARCHITECTURES ${TARGET_ARCH}) - set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_${TARGET_ARCH},code=sm_${TARGET_ARCH}) message(STATUS "Using CUDA architecture: ${TARGET_ARCH}") else() @@ -69,25 +49,106 @@ else() project(Graphitti LANGUAGES CXX C) endif() +#CONDITIONAL FLAG to turn on the performance metrics +if(NOT PERFORMANCE_METRICS) + set(PERFORMANCE_METRICS NO) +endif() + + +# ----------------------------------------------------------------------------- +# Build Type Configuration +# +# CMake support for different build types controling optimization, debugging and profiling: +# +# - Debug : No optimizations (`-O0`), includes debug symbols (`-g`). +# - Release : Optimized build (`-O3`), removes debug symbols. +# - RelWithDebInfo: Optimized (`-O2`) but keeps debug symbols (`-g`) for profiling. +# - Profiling : Custom build type (defined in this project) that enables: +# - CPU profiling via `-pg` (GPROF) +# - CUDA profiling via `-lineinfo` (for Nsight Compute) +# +# Selecting a Build Type: +# - By default, CMake does NOT set a build type for single-config generators. +# - If no build type is specified, this script defaults to "Release" for performance. +# - You can explicitly set the build type when configuring CMake: +# +# cmake -S . -B build -DCMAKE_BUILD_TYPE=Debug # Debug mode +# cmake -S . -B build -DCMAKE_BUILD_TYPE=Release # Release mode +# cmake -S . -B build -DCMAKE_BUILD_TYPE=Profiling # Profiling mode +# +# If you don't want to pass in the build type flag, you can edit this file and add... +# set(CMAKE_BUILD_TYPE "Debug") or whichever build type you want +# ----------------------------------------------------------------------------- +set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRel;Profiling" CACHE STRING "Supported build types" FORCE) + +# Ensure single-config generators use a valid default +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the build type." FORCE) +endif() + +# Set flags for all build types +set(CMAKE_CXX_FLAGS_DEBUG "-g -O0") +# We should consider using the -DNDEBUG flag for release code, it disables assert() calls and is higher performance +set(CMAKE_CXX_FLAGS_RELEASE "-O3") +set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g") + +# Define a custom build type: "Profiling" +set(CMAKE_CXX_FLAGS_PROFILING "-pg -O2") +set(CMAKE_EXE_LINKER_FLAGS_PROFILING "-pg") +set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") + +# Apply the correct flags based on the selected build type +if(CMAKE_BUILD_TYPE STREQUAL "Debug") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}") + if(ENABLE_CUDA) + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G") + endif() +elseif(CMAKE_BUILD_TYPE STREQUAL "Release") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}") + if(ENABLE_CUDA) + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -O3") + endif() +elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") +elseif(CMAKE_BUILD_TYPE STREQUAL "Profiling") + message(STATUS "Profiling build enabled: Adding -pg (GPROF)") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_PROFILING}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS_PROFILING}") + if(ENABLE_CUDA) + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -lineinfo") +# set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -lineinfo -Xptxas=-v") + endif() +endif() + + +# Gprof is a performance analysis tool for Unix applications) +#Steps to run Gprof +#Step 01 : set build configuration to Profiling ... -DCMAKE_BUILD_TYPE=Profiling +#Step 02 : Compile and run the simulation on CPU or GPU as usual +#Step 03 : Run the generated gmon.out file from the build directory and save the output in an txt \ +# file to improve readability \ +#If using CPU - "~/Graphitti/build$ gprof cgraphitti gmon.out > analysis_test.txt" +#If using GPU - "~/Graphitti/build$ gprof ggraphitti gmon.out > analysis_test.txt" + + +# Print build type for verification +message(STATUS "Build Type: ${CMAKE_BUILD_TYPE}") +message(STATUS "CMAKE_CXX_FLAGS: ${CMAKE_CXX_FLAGS}") + +message(STATUS "ENABLE_CUDA: ${ENABLE_CUDA}") +if(ENABLE_CUDA) + message(STATUS "CMAKE_CUDA_FLAGS: ${CMAKE_CUDA_FLAGS}") +endif() + + #Setting the base version to C++ 17 set(CMAKE_CXX_STANDARD 17) -#set(DEBUG_MODE YES) for debugging, no optimization -#set(DEBUG_MODE NO) for production code, -O3 optimization enabled -set(DEBUG_MODE NO) - if(PERFORMANCE_METRICS) message("-- Setting PEREFORMANCE_METRICS: ON") add_definitions(-DPERFORMANCE_METRICS) endif() -if(GPROF) - message("-- Setting GPROF: ON") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pg") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pg") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") -endif() - #HDF5 Support, finds HDF5 package for C and C++ and links the hdf5 libraries to the executable \ # later in the file. find_package(HDF5 COMPONENTS C CXX) @@ -132,11 +193,6 @@ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}) #Set extra warning flags #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra") -if (NOT DEBUG_MODE) - message("-- Setting Optimization flag: O3") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3") -endif() - #define TIXML_USE_STL as a preproccersser macro to use the C++ standard library with TinyXML add_compile_definitions(TIXML_USE_STL) message("-- Setting Compile Definition: TIMXL_USE_STL") @@ -368,6 +424,9 @@ endif() # ------ TESTS EXECUTABLE ------ # Add the file that contains main (RunTests.cpp) and all test files. GoogleTest will only recognize them if they are # included in the executable. +target_compile_options(gtest PRIVATE -Wno-error=maybe-uninitialized) +target_compile_options(gtest_main PRIVATE -Wno-error=maybe-uninitialized) + add_executable(tests Testing/RunTests.cpp Testing/UnitTesting/OperationManagerTests.cpp From 8de52334198fa70ef178e9a3c71d642144de9100 Mon Sep 17 00:00:00 2001 From: Andrew Blake Madison Date: Fri, 7 Feb 2025 12:07:07 -0800 Subject: [PATCH 029/153] fix --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e230a5797..2dd507a4e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,7 @@ endif() ############################################################################################ if(NOT DEFINED TARGET_ARCH) set(TARGET_ARCH 37) + set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_37,code=sm_37) endif() #Creates the Graphitti project with the correct languages, depending on if using GPU or not @@ -41,7 +42,8 @@ if(ENABLE_CUDA) add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted ### Set gencode and architecture variables to the correct values for your specific NVIDIA hardware - set(CMAKE_CUDA_ARCHITECTURES ${TARGET_ARCH}) + set(CMAKE_CUDA_ARCHITECTURES ${TARGET_ARCH}) + set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_${TARGET_ARCH},code=sm_${TARGET_ARCH}) message(STATUS "Using CUDA architecture: ${TARGET_ARCH}") else() From 4beaabaf3efb8dbe58cf1836ccc52f0c06b1d0a6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Feb 2025 13:13:04 -0800 Subject: [PATCH 030/153] fix --- CMakeLists.txt | 1 - 1 file changed, 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 2dd507a4e..69fd9fe43 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,7 +30,6 @@ endif() ############################################################################################ if(NOT DEFINED TARGET_ARCH) set(TARGET_ARCH 37) - set(CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS};-gencode=arch=compute_37,code=sm_37) endif() #Creates the Graphitti project with the correct languages, depending on if using GPU or not From 424f6c2ece5fe730b08f65c33913c419a81e5d36 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Feb 2025 13:35:00 -0800 Subject: [PATCH 031/153] revert changes to support legacy cuda --- CMakeLists.txt | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 69fd9fe43..1d611e01e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -16,6 +16,10 @@ if(NOT ENABLE_CUDA) set(ENABLE_CUDA NO) endif() +#CONDITIONAL FLAG to turn on the performance metrics +if(NOT PERFORMANCE_METRICS) + set(PERFORMANCE_METRICS NO) +endif() ############################################################################################ #CONDITIONAL FLAG to change target architecture for the GPU simulator from the default @@ -37,6 +41,8 @@ endif() if(ENABLE_CUDA) message("\n----Generating Makefile for Graphitti GPU version----") project(Graphitti LANGUAGES CXX CUDA C) +#Verify CUDA package is present + find_Package(CUDA REQUIRED) #Set the USE_GPU preprocessor macro so that GPU code will be compiled. add_compile_definitions(USE_GPU) #Specify the CUDA architecture / gencode that will be targeted @@ -80,7 +86,7 @@ endif() # If you don't want to pass in the build type flag, you can edit this file and add... # set(CMAKE_BUILD_TYPE "Debug") or whichever build type you want # ----------------------------------------------------------------------------- -set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;MinSizeRel;Profiling" CACHE STRING "Supported build types" FORCE) +set(CMAKE_CONFIGURATION_TYPES "Debug;Release;RelWithDebInfo;Profiling" CACHE STRING "Supported build types" FORCE) # Ensure single-config generators use a valid default if(NOT CMAKE_BUILD_TYPE) From 920b649117e2a150477744efdf128b952692d044 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Feb 2025 13:36:52 -0800 Subject: [PATCH 032/153] cleanup --- CMakeLists.txt | 6 ------ 1 file changed, 6 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d611e01e..9a2b9902d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -56,12 +56,6 @@ else() project(Graphitti LANGUAGES CXX C) endif() -#CONDITIONAL FLAG to turn on the performance metrics -if(NOT PERFORMANCE_METRICS) - set(PERFORMANCE_METRICS NO) -endif() - - # ----------------------------------------------------------------------------- # Build Type Configuration # From 08b49923841d30a8d659943b0966d59fe6a02c2e Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Feb 2025 13:57:17 -0800 Subject: [PATCH 033/153] added documentation for using clang integration with vscode --- docs/Developer/codingConventions.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/docs/Developer/codingConventions.md b/docs/Developer/codingConventions.md index 05fb68934..95d679523 100644 --- a/docs/Developer/codingConventions.md +++ b/docs/Developer/codingConventions.md @@ -80,6 +80,23 @@ clang-format -i fileName * If you want to make changes to the clang-format file options themselves, then visit the [clang-format options online documentation](https://clang.llvm.org/docs/ClangFormatStyleOptions.html) +### running clang-format inside VSCode + +If you want to set clang as the default formatter in VSCode and automatically run clang-format on files as they're saved, you can add this to your settings.json + +```json +{ + "editor.defaultFormatter": "xaver.clang-format", + "clang-format.style": "file", + "clang-format.executable": "/usr/bin/clang-format", + "editor.formatOnSave": true, + "files.associations": { + "ostream": "cpp" + } +} +``` + +Change the file path to wherever you have installed clang-format --------- [<< Go back to the Developer Documentation page](index.md) From f0ae7271aaac1c1a19e75685141581f4f707496d Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Feb 2025 14:50:52 -0800 Subject: [PATCH 034/153] added nvtx support --- CMakeLists.txt | 28 ++++++++++++++++++++++++++-- Simulator/Core/GPUModel.cpp | 3 +++ Simulator/Utils/NvtxHelper.cpp | 21 +++++++++++++++++++++ Simulator/Utils/NvtxHelper.h | 34 ++++++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 Simulator/Utils/NvtxHelper.cpp create mode 100644 Simulator/Utils/NvtxHelper.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a2b9902d..5db1de924 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -355,9 +355,33 @@ add_library(RNG STATIC ${RNG_Source}) # Create Utils library -file(GLOB Utils_Source Simulator/Utils/*.cpp Simulator/Utils/*.h) +file(GLOB Utils_Source Simulator/Utils/*.cpp Simulator/Utils/*.h) list(REMOVE_ITEM Utils_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Utils/Factory.cpp") -add_library(Utils ${Utils_Source}) + +if(CMAKE_BUILD_TYPE STREQUAL "Profiling") + if(ENABLE_CUDA) +# Find NVTX Library + find_library(NVTX_LIBRARY nvToolsExt) + if(NVTX_LIBRARY) + message(STATUS "Found NVTX: ${NVTX_LIBRARY} included in Profiling") + add_compile_definitions(ENABLE_NVTX) + else() + message(STATUS "NVTX library not found! Not included in Profiling.") + list(REMOVE_ITEM Utils_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Utils/NvtxHelper.cpp") + endif() + endif() + +else() + list(REMOVE_ITEM Utils_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Utils/NvtxHelper.cpp") +endif() + +# Always create the Utils library (even if NVTX and CUDA are missing) +add_library(Utils ${Utils_Source}) + +# Only link NVTX if it was found +if(NVTX_LIBRARY) + target_link_libraries(Utils PRIVATE ${NVTX_LIBRARY}) +endif() # Used to locate and run other CMakeLists.txt files from Third Party resources for further compilation of the project. diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 2085c3928..c3ad697f4 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -13,6 +13,7 @@ #include "AllVertices.h" #include "Connections.h" #include "Global.h" +#include "NvtxHelper.h" #ifdef PERFORMANCE_METRICS float g_time; @@ -186,9 +187,11 @@ void GPUModel::calcSummationPoint() int blocksPerGrid = (Simulator::getInstance().getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; + nvtxPushColor("calcSummation", GREEN); calcSummationPointDevice<<>>( Simulator::getInstance().getTotalVertices(), allVerticesDevice_, synapseIndexMapDevice_, allEdgesDevice_); + nvtxPop(); } /// Update the connection of all the Neurons and Synapses of the simulation. diff --git a/Simulator/Utils/NvtxHelper.cpp b/Simulator/Utils/NvtxHelper.cpp new file mode 100644 index 000000000..3f4903abd --- /dev/null +++ b/Simulator/Utils/NvtxHelper.cpp @@ -0,0 +1,21 @@ +#include "NvtxHelper.h" +#include +#include + +void nvtxPushColor(const std::string &name, uint32_t color) +{ + nvtxEventAttributes_t eventAttrib = {}; + eventAttrib.version = NVTX_VERSION; + eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE; + eventAttrib.colorType = NVTX_COLOR_ARGB; + eventAttrib.color = color; + eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII; + eventAttrib.message.ascii = name.c_str(); + + nvtxRangePushEx(&eventAttrib); +} + +void nvtxPop() +{ + nvtxRangePop(); +} \ No newline at end of file diff --git a/Simulator/Utils/NvtxHelper.h b/Simulator/Utils/NvtxHelper.h new file mode 100644 index 000000000..3911f0f68 --- /dev/null +++ b/Simulator/Utils/NvtxHelper.h @@ -0,0 +1,34 @@ +#ifndef NVTX_HELPER_H +#define NVTX_HELPER_H + +#include +#include + +// Define NVTX colors (ARGB format) +#define RED 0xFFFF0000 // Red +#define GREEN 0xFF00FF00 // Green +#define BLUE 0xFF0000FF // Blue +#define YELLOW 0xFFFFFF00 // Yellow +#define ORANGE 0xFFFFA500 // Orange +#define PURPLE 0xFF800080 // Purple + +#ifdef ENABLE_NVTX + +// Function to push an NVTX range with a given name and color +void nvtxPushColor(const std::string &name, uint32_t color); + +// Function to pop the most recent NVTX range +void nvtxPop(); + +#else +inline void nvtxPushColor(const std::string &, uint32_t) +{ +} +inline void nvtxPop() +{ +} + +#endif // ENABLE_NVTX + + +#endif // NVTX_HELPER_H \ No newline at end of file From dbc37b3fa3491629abf35ba2768faafa5f5b5047 Mon Sep 17 00:00:00 2001 From: Andrew Date: Mon, 10 Feb 2025 14:29:24 -0800 Subject: [PATCH 035/153] changed defines to enum class --- Simulator/Core/GPUModel.cpp | 3 --- Simulator/Utils/NvtxHelper.cpp | 14 ++++++++++++-- Simulator/Utils/NvtxHelper.h | 27 +++++++++++++++++++-------- 3 files changed, 31 insertions(+), 13 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index c3ad697f4..2085c3928 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -13,7 +13,6 @@ #include "AllVertices.h" #include "Connections.h" #include "Global.h" -#include "NvtxHelper.h" #ifdef PERFORMANCE_METRICS float g_time; @@ -187,11 +186,9 @@ void GPUModel::calcSummationPoint() int blocksPerGrid = (Simulator::getInstance().getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; - nvtxPushColor("calcSummation", GREEN); calcSummationPointDevice<<>>( Simulator::getInstance().getTotalVertices(), allVerticesDevice_, synapseIndexMapDevice_, allEdgesDevice_); - nvtxPop(); } /// Update the connection of all the Neurons and Synapses of the simulation. diff --git a/Simulator/Utils/NvtxHelper.cpp b/Simulator/Utils/NvtxHelper.cpp index 3f4903abd..b067cd500 100644 --- a/Simulator/Utils/NvtxHelper.cpp +++ b/Simulator/Utils/NvtxHelper.cpp @@ -1,14 +1,24 @@ +/** + * @file NvtxHelper.cpp + * + * @ingroup Simulator/Utils + * + * @brief Helper functions to enable nvtx profiling + * When ENABLE_NVTX is false the functions are replaced with blank inline functions which are removed by the compiler + * This file is only included in the utils library when ENABLE_CUDA=YES + */ + #include "NvtxHelper.h" #include #include -void nvtxPushColor(const std::string &name, uint32_t color) +void nvtxPushColor(const std::string &name, Color pColor) { nvtxEventAttributes_t eventAttrib = {}; eventAttrib.version = NVTX_VERSION; eventAttrib.size = NVTX_EVENT_ATTRIB_STRUCT_SIZE; eventAttrib.colorType = NVTX_COLOR_ARGB; - eventAttrib.color = color; + eventAttrib.color = static_cast(pColor); eventAttrib.messageType = NVTX_MESSAGE_TYPE_ASCII; eventAttrib.message.ascii = name.c_str(); diff --git a/Simulator/Utils/NvtxHelper.h b/Simulator/Utils/NvtxHelper.h index 3911f0f68..487b9d755 100644 --- a/Simulator/Utils/NvtxHelper.h +++ b/Simulator/Utils/NvtxHelper.h @@ -1,3 +1,12 @@ +/** + * @file NvtxHelper.h + * + * @ingroup Simulator/Utils + * + * @brief Helper functions to enable nvtx profiling + * When ENABLE_NVTX is false the functions are replaced with blank inline functions which are removed by the compiler + */ + #ifndef NVTX_HELPER_H #define NVTX_HELPER_H @@ -5,23 +14,25 @@ #include // Define NVTX colors (ARGB format) -#define RED 0xFFFF0000 // Red -#define GREEN 0xFF00FF00 // Green -#define BLUE 0xFF0000FF // Blue -#define YELLOW 0xFFFFFF00 // Yellow -#define ORANGE 0xFFFFA500 // Orange -#define PURPLE 0xFF800080 // Purple +enum class Color : std::uint32_t { + RED = 0xFFFF0000, + GREEN = 0xFF00FF00, + BLUE = 0xFF0000FF, + YELLOW = 0xFFFFFF00, + ORANGE = 0xFFFFA500, + PURPLE = 0xFF800080 +}; #ifdef ENABLE_NVTX // Function to push an NVTX range with a given name and color -void nvtxPushColor(const std::string &name, uint32_t color); +void nvtxPushColor(const std::string &name, Color pColor); // Function to pop the most recent NVTX range void nvtxPop(); #else -inline void nvtxPushColor(const std::string &, uint32_t) +inline void nvtxPushColor(const std::string &, Color) { } inline void nvtxPop() From bb6a77ddb489f1fc94a33970921ee03bce7e79e6 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 11 Feb 2025 11:52:22 -0800 Subject: [PATCH 036/153] implemented validation mode --- CMakeLists.txt | 3 +++ Simulator/Core/GPUModel.cpp | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5db1de924..9ac4b2941 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -526,3 +526,6 @@ target_link_libraries(serialSecondHalfTest combinedLib) unset(ENABLE_CUDA CACHE) unset(PERFORMANCE_METRICS CACHE) unset(GPROF CACHE) +unset(CMAKE_BUILD_TYPE CACHE) +unset(NVTX_LIBRARY CACHE) +unset(TARGET_ARCH CACHE) \ No newline at end of file diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 2085c3928..ffc61f9b0 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -144,7 +144,18 @@ void GPUModel::advance() AllVertices &neurons = layout_->getVertices(); AllEdges &synapses = connections_->getEdges(); - normalMTGPU(randNoise_d); + //#ifdef VALIDATION_MODE + int verts = Simulator::getInstance().getTotalVertices(); + std::vector randNoise_h(verts); + for (int i = 0; i < verts; i++) { + randNoise_h[i] = noiseRNG->rand(); + } + cudaMemcpy(randNoise_d, randNoise_h.data(), verts * sizeof(float), cudaMemcpyHostToDevice); + //#endif // VALIDATION_MODE + + //#else VALIDATION_MODE + // normalMTGPU(randNoise_d); + //#endif #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_rndGeneration); From 87af4df08fd2b543e8fb01649602ace976cdf2d9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 11 Feb 2025 11:53:25 -0800 Subject: [PATCH 037/153] clear new flags from cache --- CMakeLists.txt | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5db1de924..9ac4b2941 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -526,3 +526,6 @@ target_link_libraries(serialSecondHalfTest combinedLib) unset(ENABLE_CUDA CACHE) unset(PERFORMANCE_METRICS CACHE) unset(GPROF CACHE) +unset(CMAKE_BUILD_TYPE CACHE) +unset(NVTX_LIBRARY CACHE) +unset(TARGET_ARCH CACHE) \ No newline at end of file From 9ab3af6462507d2a7b318bce67ba15e038d40b46 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 11 Feb 2025 12:13:37 -0800 Subject: [PATCH 038/153] test --- Simulator/Core/GPUModel.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index ffc61f9b0..bc1d275d1 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -145,16 +145,16 @@ void GPUModel::advance() AllEdges &synapses = connections_->getEdges(); //#ifdef VALIDATION_MODE - int verts = Simulator::getInstance().getTotalVertices(); - std::vector randNoise_h(verts); - for (int i = 0; i < verts; i++) { - randNoise_h[i] = noiseRNG->rand(); - } - cudaMemcpy(randNoise_d, randNoise_h.data(), verts * sizeof(float), cudaMemcpyHostToDevice); + // int verts = Simulator::getInstance().getTotalVertices(); + // std::vector randNoise_h(verts); + // for (int i = 0; i < verts; i++) { + // randNoise_h[i] = noiseRNG->rand(); + // } + // cudaMemcpy(randNoise_d, randNoise_h.data(), verts * sizeof(float), cudaMemcpyHostToDevice); //#endif // VALIDATION_MODE //#else VALIDATION_MODE - // normalMTGPU(randNoise_d); + normalMTGPU(randNoise_d); //#endif #ifdef PERFORMANCE_METRICS From 212fb1df8950cf5cd040ef2a0bf0f80b32e8af64 Mon Sep 17 00:00:00 2001 From: Nick Posey <44657018+NicolasJPosey@users.noreply.github.com> Date: Wed, 19 Feb 2025 11:45:51 -0800 Subject: [PATCH 039/153] Merge PoseyDevelopment into SharedDevelopment (#798) * [issue-745] Refactor where summation is calculated (#777) * Refactor model class to generalize the summation logic method and move implementation into neuron class * Implement new AllVertices method in 911 class * Fix last compile errors * Clean up commented out code * Resolve code format failure * Remove dynamic cast of vertices so model with work with non-neuron models * Add override keyword to integrateVertexInputs declaration * Fix formatting issue * [issue-785] Remove neuro items from gpu model (#789) * Rename edge index map device variable name * Rename method names to remove neuro context * Rename variables both in method signature and implementation * Fix formatting * Remove neuro from GPU model and generalize what we can * Remove summation point operation as it's now done in the neuro vertices base class * Revert formatting that breaks code style * Clean up comments, variable names, and includes * Move edge sum index into all spiking synapses and rename neuro GPU methods in both edges and vertices * Fix style violation * Make corresponding updates to documentation * Re add serialize method to documentation * Fix const representation * Add All911Edges to connections documentation * Update diagram images --- Simulator/Connections/Connections.cpp | 11 +- Simulator/Connections/Connections.h | 27 +- Simulator/Connections/Neuro/ConnGrowth.cpp | 2 +- Simulator/Connections/Neuro/ConnGrowth.h | 16 +- Simulator/Connections/Neuro/ConnGrowth_d.cpp | 17 +- Simulator/Core/CPUModel.cpp | 21 +- Simulator/Core/CPUModel.h | 34 +- Simulator/Core/GPUModel.cpp | 323 ++++------ Simulator/Core/GPUModel.h | 90 +-- Simulator/Core/Serializer.cpp | 4 +- Simulator/Edges/AllEdges.h | 61 +- Simulator/Edges/NG911/All911Edges.h | 1 - Simulator/Edges/Neuro/AllNeuroEdges.h | 34 +- Simulator/Edges/Neuro/AllSTDPSynapses.cpp | 9 - Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 9 - Simulator/Edges/Neuro/AllSpikingSynapses.h | 12 +- Simulator/Vertices/AllVertices.cpp | 9 - Simulator/Vertices/AllVertices.h | 64 +- Simulator/Vertices/NG911/All911Vertices.cpp | 5 + Simulator/Vertices/NG911/All911Vertices.h | 22 +- Simulator/Vertices/Neuro/AllIFNeurons.h | 10 +- Simulator/Vertices/Neuro/AllIFNeurons_d.cpp | 12 +- Simulator/Vertices/Neuro/AllIZHNeurons.h | 10 +- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp | 12 +- .../Vertices/Neuro/AllSpikingNeurons.cpp | 35 ++ Simulator/Vertices/Neuro/AllSpikingNeurons.h | 33 +- .../Vertices/Neuro/AllSpikingNeurons_d.cpp | 94 +++ docs/Developer/ClassDiagrams/connections.puml | 95 ++- docs/Developer/ClassDiagrams/core.puml | 94 +-- .../diagrams/ConnectionsClassDiagram.png | Bin 722642 -> 1149203 bytes .../diagrams/ConnectionsClassDiagram.svg | 567 +----------------- .../diagrams/EdgesClassDiagram.png | Bin 505048 -> 1033311 bytes .../diagrams/EdgesClassDiagram.svg | 424 +------------ .../diagrams/GraphittiCoreClassDiagram.png | Bin 197388 -> 343114 bytes .../diagrams/GraphittiCoreClassDiagram.svg | 200 +----- .../diagrams/VerticesClassDiagram.png | Bin 353405 -> 813194 bytes .../diagrams/VerticesClassDiagram.svg | 312 +--------- docs/Developer/ClassDiagrams/edges.puml | 230 ++++--- docs/Developer/ClassDiagrams/vertices.puml | 331 +++++----- 39 files changed, 962 insertions(+), 2268 deletions(-) diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index 7c1162ab0..a8a63fc0e 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -89,17 +89,16 @@ bool Connections::updateConnections(AllVertices &vertices) } #if defined(USE_GPU) -void Connections::updateSynapsesWeights(int numVertices, AllVertices &vertices, AllEdges &synapses, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - Layout &layout) +void Connections::updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges, + AllVerticesDeviceProperties *allVerticesDevice, + AllEdgesDeviceProperties *allEdgesDevice, Layout &layout) { } #else -/// Update the weight of the Synapses in the simulation. +/// Update the weight of the edges in the simulation. /// Note: Platform Dependent. -void Connections::updateSynapsesWeights() +void Connections::updateEdgesWeights() { } #endif // !USE_GPU diff --git a/Simulator/Connections/Connections.h b/Simulator/Connections/Connections.h index 37391e744..d8bcc8596 100644 --- a/Simulator/Connections/Connections.h +++ b/Simulator/Connections/Connections.h @@ -24,8 +24,6 @@ #pragma once #include "AllEdges.h" -#include "AllSpikingNeurons.h" -#include "AllSpikingSynapses.h" #include "AllVertices.h" #include "EdgeIndexMap.h" #include "Layout.h" @@ -69,7 +67,7 @@ class Connections { /// Update the connections status in every epoch. /// - /// @param neurons The Neuron list to search from. + /// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. virtual bool updateConnections(AllVertices &vertices); @@ -78,35 +76,36 @@ class Connections { #if defined(USE_GPU) public: - /// Update the weight of the Synapses in the simulation. + /// Update the weight of the edges in the simulation. /// Note: Platform Dependent. /// /// @param numVertices number of vertices to update. - /// @param neurons the Neuron list to search from. - /// @param synapses the Synapse list to search from. + /// @param vertices the vertex list to search from. + /// @param edges the edge list to search from. /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - /// @param layout Layout information of the neural network. - virtual void updateSynapsesWeights(int numVertices, AllVertices &vertices, AllEdges &synapses, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - Layout &layout); + /// @param allEdgesDevice GPU address of the allEdges struct on device memory. + /// @param layout Layout information of the graph network. + virtual void updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges, + AllVerticesDeviceProperties *allVerticesDevice, + AllEdgesDeviceProperties *allEdgesDevice, Layout &layout); #else public: - /// Update the weight of the Synapses in the simulation. + /// Update the weight of the edges in the simulation. /// Note: Platform Dependent. - virtual void updateSynapsesWeights(); + virtual void updateEdgesWeights(); #endif // USE_GPU protected: unique_ptr edges_; + /// TODO: Rename to edgeIndexMap_ since this is a base class unique_ptr synapseIndexMap_; log4cplus::Logger fileLogger_; log4cplus::Logger edgeLogger_; }; +/// TODO: Rename to synapseIndexMap since this is a base class /// Cereal serialization method template void Connections::serialize(Archive &archive) { diff --git a/Simulator/Connections/Neuro/ConnGrowth.cpp b/Simulator/Connections/Neuro/ConnGrowth.cpp index 5afa80070..beaad1660 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth.cpp @@ -240,7 +240,7 @@ void ConnGrowth::updateOverlap() /// To be clear, iterates through all source and destination neurons /// and updates their synaptic strengths from the weight matrix. /// Note: Platform Dependent. -void ConnGrowth::updateSynapsesWeights() +void ConnGrowth::updateEdgesWeights() { int numVertices = Simulator::getInstance().getTotalVertices(); AllNeuroEdges &synapses = dynamic_cast(*edges_); diff --git a/Simulator/Connections/Neuro/ConnGrowth.h b/Simulator/Connections/Neuro/ConnGrowth.h index 8004d644c..e6a88078c 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.h +++ b/Simulator/Connections/Neuro/ConnGrowth.h @@ -103,9 +103,9 @@ class ConnGrowth : public Connections { /// Update the connections status in every epoch. /// - /// @param neurons The Neuron list to search from. + /// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. - virtual bool updateConnections(AllVertices &neurons) override; + virtual bool updateConnections(AllVertices &vertices) override; /// Cereal serialization method template void serialize(Archive &archive); @@ -121,20 +121,20 @@ class ConnGrowth : public Connections { /// /// @param numVertices The number of vertices to update. /// @param vertices The AllVertices object. - /// @param synapses The AllEdges object. + /// @param edges The AllEdges object. /// @param allVerticesDevice GPU address of the AllVertices struct in device memory. /// @param allEdgesDevice GPU address of the AllEdges struct in device memory. /// @param layout The Layout object. - virtual void updateSynapsesWeights(int numVertices, AllVertices &neurons, AllEdges &synapses, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - Layout &layout) override; + virtual void updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges, + AllVerticesDeviceProperties *allVerticesDevice, + AllEdgesDeviceProperties *allEdgesDevice, + Layout &layout) override; #else /// Update the weights of the Synapses in the simulation. To be clear, /// iterates through all source and destination neurons and updates their /// synaptic strengths from the weight matrix. /// Note: Platform Dependent. - virtual void updateSynapsesWeights() override; + virtual void updateEdgesWeights() override; #endif private: diff --git a/Simulator/Connections/Neuro/ConnGrowth_d.cpp b/Simulator/Connections/Neuro/ConnGrowth_d.cpp index 58041fd8d..148834fea 100644 --- a/Simulator/Connections/Neuro/ConnGrowth_d.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth_d.cpp @@ -7,6 +7,7 @@ * @brief Update the weights of the Synapses in the simulation. */ +#include "AllSpikingNeurons.h" #include "AllSpikingSynapses.h" #include "AllSynapsesDeviceFuncs.h" #include "Book.h" @@ -21,15 +22,14 @@ * * @param numVertices The number of vertices to update. * @param vertices The AllVertices object. - * @param synapses The AllEdges object. + * @param edges The AllEdges object. * @param allVerticesDevice GPU address to the AllVertices struct in device memory. * @param allEdgesDevice GPU address to the AllEdges struct in device memory. * @param layout The Layout object. */ -void ConnGrowth::updateSynapsesWeights(int numVertices, AllVertices &vertices, AllEdges &synapses, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - Layout &layout) +void ConnGrowth::updateEdgesWeights(int numVertices, AllVertices &vertices, AllEdges &edges, + AllVerticesDeviceProperties *allVerticesDevice, + AllEdgesDeviceProperties *allEdgesDevice, Layout &layout) { Simulator &simulator = Simulator::getInstance(); // For now, we just set the weights to equal the areas. We will later @@ -66,7 +66,8 @@ void ConnGrowth::updateSynapsesWeights(int numVertices, AllVertices &vertices, A blocksPerGrid = (simulator.getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; updateSynapsesWeightsDevice<<>>( simulator.getTotalVertices(), deltaT, W_d, simulator.getMaxEdgesPerVertex(), - allVerticesDevice, allEdgesDevice, neuronTypeMapD); + (AllSpikingNeuronsDeviceProperties *)allVerticesDevice, + (AllSpikingSynapsesDeviceProperties *)allEdgesDevice, neuronTypeMapD); // free memories HANDLE_ERROR(cudaFree(W_d)); @@ -75,7 +76,7 @@ void ConnGrowth::updateSynapsesWeights(int numVertices, AllVertices &vertices, A HANDLE_ERROR(cudaFree(neuronTypeMapD)); // copy device synapse count to host memory - synapses.copyDeviceEdgeCountsToHost(allEdgesDevice); + edges.copyDeviceEdgeCountsToHost(allEdgesDevice); // copy device synapse summation coordinate to host memory - synapses.copyDeviceEdgeSumIdxToHost(allEdgesDevice); + dynamic_cast(edges).copyDeviceEdgeSumIdxToHost(allEdgesDevice); } diff --git a/Simulator/Core/CPUModel.cpp b/Simulator/Core/CPUModel.cpp index bcc6864a2..1e335fca6 100644 --- a/Simulator/Core/CPUModel.cpp +++ b/Simulator/Core/CPUModel.cpp @@ -7,7 +7,6 @@ */ #include "CPUModel.h" -#include "AllDSSynapses.h" #include "Simulator.h" #if !defined(USE_GPU) @@ -23,30 +22,34 @@ void CPUModel::advance() { // ToDo: look at pointer v no pointer in params - to change // dereferencing the ptr, lose late binding -- look into changing! - layout_->getVertices().advanceVertices(connections_->getEdges(), - connections_->getEdgeIndexMap()); - connections_->getEdges().advanceEdges(layout_->getVertices(), connections_->getEdgeIndexMap()); + AllVertices &vertices = layout_->getVertices(); + AllEdges &edges = connections_->getEdges(); + EdgeIndexMap &edgeIndexMap = connections_->getEdgeIndexMap(); + + vertices.advanceVertices(edges, edgeIndexMap); + edges.advanceEdges(vertices, edgeIndexMap); + vertices.integrateVertexInputs(edges, edgeIndexMap); } -/// Update the connection of all the Neurons and Synapses of the simulation. +/// Update the connection of all the vertices and edges of the simulation. void CPUModel::updateConnections() { // Update Connections data if (connections_->updateConnections(layout_->getVertices())) { - connections_->updateSynapsesWeights(); - // create synapse inverse map + connections_->updateEdgesWeights(); + // create edge inverse map connections_->createEdgeIndexMap(); } } -/// Copy GPU Synapse data to CPU. (Inheritance, no implem) +/// Copy GPU edge data to CPU. (Inheritance, no implem) void CPUModel::copyGPUtoCPU() { LOG4CPLUS_WARN(fileLogger_, "ERROR: CPUModel::copyGPUtoCPU() was called." << endl); exit(EXIT_FAILURE); } -/// Copy CPU Synapse data to GPU. (Inheritance, no implem, GPUModel has implem) +/// Copy CPU edge data to GPU. (Inheritance, no implem, GPUModel has implem) void CPUModel::copyCPUtoGPU() { LOG4CPLUS_WARN(fileLogger_, "ERROR: CPUModel::copyCPUtoGPU() was called." << endl); diff --git a/Simulator/Core/CPUModel.h b/Simulator/Core/CPUModel.h index 06f014852..592e4b7e3 100644 --- a/Simulator/Core/CPUModel.h +++ b/Simulator/Core/CPUModel.h @@ -6,28 +6,14 @@ * @brief Implementation of Model for execution on CPU (single core). * * The Model class maintains and manages classes of objects that make up - * essential components of the spiking neural network. - * -# AllVertices: A class to define a list of particular type of neurons. - * -# AllEdges: A class to define a list of particular type of synapses. - * -# Connections: A class to define connections of the neural network. - * -# Layout: A class to define neurons' layout information in the network. + * essential components of the graph network. + * -# AllVertices: A class to define a list of particular type of vertices. + * -# AllEdges: A class to define a list of particular type of edges. + * -# Connections: A class to define connections of the graph network. + * -# Layout: A class to define vertices' layout information in the network. * - * The network is composed of 3 superimposed 2-d arrays: neurons, synapses, and - * summation points. - * - * Synapses in the synapse map are located at the coordinates of the neuron - * from which they receive output. Each synapse stores a pointer into a - * summation point. - * - * If, during an advance cycle, a neuron \f$A\f$ at coordinates \f$x,y\f$ fires, every synapse - * which receives output is notified of the spike. Those synapses then hold - * the spike until their delay period is completed. At a later advance cycle, once the delay - * period has been completed, the synapses apply their PSRs (Post-Synaptic-Response) to - * the summation points. - * - * Finally, on the next advance cycle, each neuron \f$B\f$ adds the value stored - * in their corresponding summation points to their \f$V_m\f$ and resets the summation points to - * zero. + * Edges in the edge map are located at the coordinates of the vertex + * from which they receive output. * * The model runs on a single thread. * @@ -54,13 +40,13 @@ class CPUModel : public Model { /// Advances network state one simulation step. virtual void advance() override; - /// Modifies connections between neurons based on current state of the network and behavior + /// Modifies connections between vertices based on current state of the network and behavior /// over the past epoch. Should be called once every epoch. virtual void updateConnections() override; - /// Copy GPU Synapse data to CPU. + /// Copy GPU edge data to CPU. virtual void copyGPUtoCPU() override; - /// Copy CPU Synapse data to GPU. + /// Copy CPU edge data to GPU. virtual void copyCPUtoGPU() override; }; diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 2085c3928..97312f35d 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -3,13 +3,12 @@ * * @ingroup Simulator/Core * - * @brief Implementation of Model for the spiking neural networks. + * @brief Implementation of Model for the graph-based networks. * */ #include "GPUModel.h" #include "AllEdges.h" -#include "AllSynapsesDeviceFuncs.h" #include "AllVertices.h" #include "Connections.h" #include "Global.h" @@ -22,54 +21,54 @@ cudaEvent_t start, stop; __constant__ int d_debug_mask[1]; GPUModel::GPUModel() : - Model::Model(), synapseIndexMapDevice_(nullptr), randNoise_d(nullptr), - allVerticesDevice_(nullptr), allEdgesDevice_(nullptr) + Model::Model(), edgeIndexMapDevice_(nullptr), randNoise_d(nullptr), allVerticesDevice_(nullptr), + allEdgesDevice_(nullptr) { } /// Allocates and initializes memories on CUDA device. -/// @param[out] allVerticesDevice Memory location of the pointer to the neurons list on device memory. -/// @param[out] allEdgesDevice Memory location of the pointer to the synapses list on device memory. +/// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. +/// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. void GPUModel::allocDeviceStruct(void **allVerticesDevice, void **allEdgesDevice) { - // Get neurons and synapses - AllVertices &neurons = layout_->getVertices(); - AllEdges &synapses = connections_->getEdges(); + // Get vertices and edges + AllVertices &vertices = layout_->getVertices(); + AllEdges &edges = connections_->getEdges(); - // Allocate Neurons and Synapses structs on GPU device memory - neurons.allocNeuronDeviceStruct(allVerticesDevice); - synapses.allocEdgeDeviceStruct(allEdgesDevice); + // Allocate vertices and edges structs on GPU device memory + vertices.allocVerticesDeviceStruct(allVerticesDevice); + edges.allocEdgeDeviceStruct(allEdgesDevice); // Allocate memory for random noise array int numVertices = Simulator::getInstance().getTotalVertices(); BGSIZE randNoise_d_size = numVertices * sizeof(float); // size of random noise array HANDLE_ERROR(cudaMalloc((void **)&randNoise_d, randNoise_d_size)); - // Copy host neuron and synapse arrays into GPU device - neurons.copyToDevice(*allVerticesDevice); - synapses.copyEdgeHostToDevice(*allEdgesDevice); + // Copy host vertex and edge arrays into GPU device + vertices.copyToDevice(*allVerticesDevice); + edges.copyEdgeHostToDevice(*allEdgesDevice); - // Allocate synapse inverse map in device memory - allocSynapseImap(numVertices); + // Allocate edge inverse map in device memory + allocEdgeIndexMap(numVertices); } /// Copies device memories to host memories and deallocates them. -/// @param[out] allVerticesDevice Memory location of the pointer to the neurons list on device memory. -/// @param[out] allEdgesDevice Memory location of the pointer to the synapses list on device memory. +/// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. +/// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. void GPUModel::deleteDeviceStruct(void **allVerticesDevice, void **allEdgesDevice) { - // Get neurons and synapses - AllVertices &neurons = layout_->getVertices(); - AllEdges &synapses = connections_->getEdges(); + // Get vertices and edges + AllVertices &vertices = layout_->getVertices(); + AllEdges &edges = connections_->getEdges(); - // Copy device synapse and neuron structs to host memory - neurons.copyFromDevice(*allVerticesDevice); + // Copy device edge and vertex structs to host memory + vertices.copyFromDevice(*allVerticesDevice); // Deallocate device memory - neurons.deleteNeuronDeviceStruct(*allVerticesDevice); - // Copy device synapse and neuron structs to host memory - synapses.copyEdgeDeviceToHost(*allEdgesDevice); + vertices.deleteVerticesDeviceStruct(*allVerticesDevice); + // Copy device edge and vertex structs to host memory + edges.copyEdgeDeviceToHost(*allEdgesDevice); // Deallocate device memory - synapses.deleteEdgeDeviceStruct(*allEdgesDevice); + edges.deleteEdgeDeviceStruct(*allEdgesDevice); HANDLE_ERROR(cudaFree(randNoise_d)); } @@ -106,15 +105,16 @@ void GPUModel::setupSim() // allocates memories on CUDA device allocDeviceStruct((void **)&allVerticesDevice_, (void **)&allEdgesDevice_); + EdgeIndexMap &edgeIndexMap = connections_->getEdgeIndexMap(); // copy inverse map to the device memory - copySynapseIndexMapHostToDevice(connections_->getEdgeIndexMap(), - Simulator::getInstance().getTotalVertices()); + copyEdgeIndexMapHostToDevice(edgeIndexMap, Simulator::getInstance().getTotalVertices()); + AllEdges &edges = connections_->getEdges(); // set some parameters used for advanceVerticesDevice - layout_->getVertices().setAdvanceVerticesDeviceParams(connections_->getEdges()); + layout_->getVertices().setAdvanceVerticesDeviceParams(edges); // set some parameters used for advanceEdgesDevice - connections_->getEdges().setAdvanceEdgesDeviceParams(); + edges.setAdvanceEdgesDeviceParams(); } /// Performs any finalization tasks on network following a simulation. @@ -122,7 +122,7 @@ void GPUModel::finish() { // deallocates memories on CUDA device deleteDeviceStruct((void **)&allVerticesDevice_, (void **)&allEdgesDevice_); - deleteSynapseImap(); + deleteEdgeIndexMap(); #ifdef PERFORMANCE_METRICS cudaEventDestroy(start); @@ -140,9 +140,9 @@ void GPUModel::advance() cudaStartTimer(); #endif // PERFORMANCE_METRICS - // Get neurons and synapses - AllVertices &neurons = layout_->getVertices(); - AllEdges &synapses = connections_->getEdges(); + // Get vertices and edges + AllVertices &vertices = layout_->getVertices(); + AllEdges &edges = connections_->getEdges(); normalMTGPU(randNoise_d); @@ -152,229 +152,162 @@ void GPUModel::advance() #endif // PERFORMANCE_METRICS // display running info to console - // Advance neurons -------------> - dynamic_cast(neurons).advanceVertices(connections_->getEdges(), - allVerticesDevice_, allEdgesDevice_, - randNoise_d, synapseIndexMapDevice_); + // Advance vertices -------------> + vertices.advanceVertices(edges, allVerticesDevice_, allEdgesDevice_, randNoise_d, + edgeIndexMapDevice_); #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_advanceNeurons); cudaStartTimer(); #endif // PERFORMANCE_METRICS - // Advance synapses -------------> - synapses.advanceEdges(allEdgesDevice_, allVerticesDevice_, synapseIndexMapDevice_); + // Advance edges -------------> + edges.advanceEdges(allEdgesDevice_, allVerticesDevice_, edgeIndexMapDevice_); #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_advanceSynapses); cudaStartTimer(); #endif // PERFORMANCE_METRICS - // calculate summation point - calcSummationPoint(); + // integrate the inputs of the vertices + vertices.integrateVertexInputs(allVerticesDevice_, edgeIndexMapDevice_, allEdgesDevice_); #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_calcSummation); #endif // PERFORMANCE_METRICS } -/// Add psr of all incoming synapses to summation points. -void GPUModel::calcSummationPoint() -{ - // CUDA parameters - const int threadsPerBlock = 256; - int blocksPerGrid - = (Simulator::getInstance().getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; - - calcSummationPointDevice<<>>( - Simulator::getInstance().getTotalVertices(), allVerticesDevice_, synapseIndexMapDevice_, - allEdgesDevice_); -} - -/// Update the connection of all the Neurons and Synapses of the simulation. +/// Update the connection of all the vertices and edges of the simulation. void GPUModel::updateConnections() { - // Get neurons and synapses - AllVertices &neurons = layout_->getVertices(); - AllEdges &synapses = connections_->getEdges(); + // Get vertices and edges + AllVertices &vertices = layout_->getVertices(); + AllEdges &edges = connections_->getEdges(); - dynamic_cast(neurons).copyFromDevice(allVerticesDevice_); - // dynamic_cast(neurons.get()) - // ->copyNeuronDeviceSpikeHistoryToHost(allVerticesDevice_); + vertices.copyFromDevice(allVerticesDevice_); // Update Connections data - if (connections_->updateConnections(neurons)) { - connections_->updateSynapsesWeights(Simulator::getInstance().getTotalVertices(), neurons, - synapses, allVerticesDevice_, allEdgesDevice_, - getLayout()); - // create synapse index map + if (connections_->updateConnections(vertices)) { + connections_->updateEdgesWeights(Simulator::getInstance().getTotalVertices(), vertices, edges, + allVerticesDevice_, allEdgesDevice_, getLayout()); + // create edge index map connections_->createEdgeIndexMap(); // copy index map to the device memory - copySynapseIndexMapHostToDevice(connections_->getEdgeIndexMap(), - Simulator::getInstance().getTotalVertices()); + copyEdgeIndexMapHostToDevice(connections_->getEdgeIndexMap(), + Simulator::getInstance().getTotalVertices()); } } -/// Update the Neuron's history. +/// Update the vertex's history. void GPUModel::updateHistory() { Model::updateHistory(); - // clear spike count - AllVertices &neurons = layout_->getVertices(); - dynamic_cast(neurons).clearNeuronSpikeCounts(allVerticesDevice_); + layout_->getVertices().clearVertexHistory(allVerticesDevice_); } -/// Allocate device memory for synapse inverse map. +/// Allocate device memory for edge inverse map. /// @param count The number of vertices. -void GPUModel::allocSynapseImap(int count) +void GPUModel::allocEdgeIndexMap(int count) { - EdgeIndexMapDevice synapseIMapDevice; - - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.outgoingEdgeBegin_, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.outgoingEdgeCount_, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemset(synapseIMapDevice.outgoingEdgeBegin_, 0, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemset(synapseIMapDevice.outgoingEdgeCount_, 0, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.incomingEdgeBegin_, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.incomingEdgeCount_, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemset(synapseIMapDevice.incomingEdgeBegin_, 0, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemset(synapseIMapDevice.incomingEdgeCount_, 0, count * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMalloc((void **)&synapseIndexMapDevice_, sizeof(EdgeIndexMapDevice))); - synapseIMapDevice.incomingEdgeIndexMap_ = nullptr; - synapseIMapDevice.outgoingEdgeIndexMap_ = nullptr; - HANDLE_ERROR(cudaMemcpy(synapseIndexMapDevice_, &synapseIMapDevice, sizeof(EdgeIndexMapDevice), + EdgeIndexMapDevice edgeIndexMapDevice; + + HANDLE_ERROR( + cudaMalloc((void **)&edgeIndexMapDevice.outgoingEdgeBegin_, count * sizeof(BGSIZE))); + HANDLE_ERROR( + cudaMalloc((void **)&edgeIndexMapDevice.outgoingEdgeCount_, count * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemset(edgeIndexMapDevice.outgoingEdgeBegin_, 0, count * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemset(edgeIndexMapDevice.outgoingEdgeCount_, 0, count * sizeof(BGSIZE))); + HANDLE_ERROR( + cudaMalloc((void **)&edgeIndexMapDevice.incomingEdgeBegin_, count * sizeof(BGSIZE))); + HANDLE_ERROR( + cudaMalloc((void **)&edgeIndexMapDevice.incomingEdgeCount_, count * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemset(edgeIndexMapDevice.incomingEdgeBegin_, 0, count * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemset(edgeIndexMapDevice.incomingEdgeCount_, 0, count * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMalloc((void **)&edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice))); + edgeIndexMapDevice.incomingEdgeIndexMap_ = nullptr; + edgeIndexMapDevice.outgoingEdgeIndexMap_ = nullptr; + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice_, &edgeIndexMapDevice, sizeof(EdgeIndexMapDevice), cudaMemcpyHostToDevice)); } -/// Deallocate device memory for synapse inverse map. -void GPUModel::deleteSynapseImap() +/// Deallocate device memory for edge inverse map. +void GPUModel::deleteEdgeIndexMap() { - EdgeIndexMapDevice synapseIMapDevice; - HANDLE_ERROR(cudaMemcpy(&synapseIMapDevice, synapseIndexMapDevice_, sizeof(EdgeIndexMapDevice), + EdgeIndexMapDevice edgeIndexMapDevice; + HANDLE_ERROR(cudaMemcpy(&edgeIndexMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeBegin_)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeCount_)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeIndexMap_)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeBegin_)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeCount_)); - HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeIndexMap_)); - HANDLE_ERROR(cudaFree(synapseIndexMapDevice_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeBegin_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeCount_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeIndexMap_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeBegin_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeCount_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeIndexMap_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice_)); } /// Copy EdgeIndexMap in host memory to EdgeIndexMap in device memory. -/// @param synapseIndexMapHost Reference to the EdgeIndexMap in host memory. -void GPUModel::copySynapseIndexMapHostToDevice(EdgeIndexMap &synapseIndexMapHost, int numVertices) +/// @param edgeIndexMapHost Reference to the EdgeIndexMap in host memory. +void GPUModel::copyEdgeIndexMapHostToDevice(EdgeIndexMap &edgeIndexMapHost, int numVertices) { - AllEdges &synapses = connections_->getEdges(); - int totalSynapseCount = dynamic_cast(synapses).totalEdgeCount_; - if (totalSynapseCount == 0) + AllEdges &edges = connections_->getEdges(); + int totalEdgeCount = edges.totalEdgeCount_; + if (totalEdgeCount == 0) return; - EdgeIndexMapDevice synapseIMapDevice; - HANDLE_ERROR(cudaMemcpy(&synapseIMapDevice, synapseIndexMapDevice_, sizeof(EdgeIndexMapDevice), + EdgeIndexMapDevice edgeIndexMapDevice; + HANDLE_ERROR(cudaMemcpy(&edgeIndexMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeBegin_, - synapseIndexMapHost.outgoingEdgeBegin_.data(), - numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeCount_, - synapseIndexMapHost.outgoingEdgeCount_.data(), - numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); - if (synapseIMapDevice.outgoingEdgeIndexMap_ != nullptr) { - HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeIndexMap_)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeBegin_, + edgeIndexMapHost.outgoingEdgeBegin_.data(), numVertices * sizeof(BGSIZE), + cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeCount_, + edgeIndexMapHost.outgoingEdgeCount_.data(), numVertices * sizeof(BGSIZE), + cudaMemcpyHostToDevice)); + if (edgeIndexMapDevice.outgoingEdgeIndexMap_ != nullptr) { + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeIndexMap_)); } - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.outgoingEdgeIndexMap_, - totalSynapseCount * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeIndexMap_, - synapseIndexMapHost.outgoingEdgeIndexMap_.data(), - totalSynapseCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMalloc((void **)&edgeIndexMapDevice.outgoingEdgeIndexMap_, + totalEdgeCount * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeIndexMap_, + edgeIndexMapHost.outgoingEdgeIndexMap_.data(), + totalEdgeCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); // active synapse map - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeBegin_, - synapseIndexMapHost.incomingEdgeBegin_.data(), - numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeCount_, - synapseIndexMapHost.incomingEdgeCount_.data(), - numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeBegin_, + edgeIndexMapHost.incomingEdgeBegin_.data(), numVertices * sizeof(BGSIZE), + cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeCount_, + edgeIndexMapHost.incomingEdgeCount_.data(), numVertices * sizeof(BGSIZE), + cudaMemcpyHostToDevice)); // the number of synapses may change, so we reallocate the memory - if (synapseIMapDevice.incomingEdgeIndexMap_ != nullptr) { - HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeIndexMap_)); - synapseIMapDevice.incomingEdgeIndexMap_ = nullptr; + if (edgeIndexMapDevice.incomingEdgeIndexMap_ != nullptr) { + HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeIndexMap_)); + edgeIndexMapDevice.incomingEdgeIndexMap_ = nullptr; } - HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.incomingEdgeIndexMap_, - totalSynapseCount * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeIndexMap_, - synapseIndexMapHost.incomingEdgeIndexMap_.data(), - totalSynapseCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(synapseIndexMapDevice_, &synapseIMapDevice, sizeof(EdgeIndexMapDevice), + HANDLE_ERROR(cudaMalloc((void **)&edgeIndexMapDevice.incomingEdgeIndexMap_, + totalEdgeCount * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeIndexMap_, + edgeIndexMapHost.incomingEdgeIndexMap_.data(), + totalEdgeCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice_, &edgeIndexMapDevice, sizeof(EdgeIndexMapDevice), cudaMemcpyHostToDevice)); } -/// Calculate the sum of synaptic input to each neuron. -/// -/// Calculate the sum of synaptic input to each neuron. One thread -/// corresponds to one neuron. Iterates sequentially through the -/// forward synapse index map (synapseIndexMapDevice_) to access only -/// existing synapses. Using this structure eliminates the need to skip -/// synapses that have undergone lazy deletion from the main -/// (allEdgesDevice) synapse structure. The forward map is -/// re-computed during each network restructure (once per epoch) to -/// ensure that all synapse pointers for a neuron are stored -/// contiguously. -/// -/// @param[in] totalVertices Number of vertices in the entire simulation. -/// @param[in,out] allVerticesDevice Pointer to Neuron structures in device memory. -/// @param[in] synapseIndexMapDevice_ Pointer to forward map structures in device memory. -/// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. -__global__ void - calcSummationPointDevice(int totalVertices, - AllSpikingNeuronsDeviceProperties *__restrict__ allVerticesDevice, - const EdgeIndexMapDevice *__restrict__ synapseIndexMapDevice_, - const AllSpikingSynapsesDeviceProperties *__restrict__ allEdgesDevice) -{ - // The usual thread ID calculation and guard against excess threads - // (beyond the number of vertices, in this case). - int idx = blockIdx.x * blockDim.x + threadIdx.x; - if (idx >= totalVertices) - return; - - // Number of incoming synapses - const BGSIZE synCount = synapseIndexMapDevice_->incomingEdgeCount_[idx]; - // Optimization: terminate thread if no incoming synapses - if (synCount != 0) { - // Index of start of this neuron's block of forward map entries - const int beginIndex = synapseIndexMapDevice_->incomingEdgeBegin_[idx]; - // Address of the start of this neuron's block of forward map entries - const BGSIZE *activeMapBegin = &(synapseIndexMapDevice_->incomingEdgeIndexMap_[beginIndex]); - // Summed post-synaptic response (PSR) - BGFLOAT sum = 0.0; - // Index of the current incoming synapse - BGSIZE synIndex; - // Repeat for each incoming synapse - for (BGSIZE i = 0; i < synCount; i++) { - // Get index of current incoming synapse - synIndex = activeMapBegin[i]; - // Fetch its PSR and add into sum - sum += allEdgesDevice->psr_[synIndex]; - } - // Store summed PSR into this neuron's summation point - allVerticesDevice->summationPoints_[idx] = sum; - } -} - -/// Copy GPU Synapse data to CPU. +/// Copy GPU edge data to CPU. void GPUModel::copyGPUtoCPU() { - // copy device synapse structs to host memory + // copy device edge structs to host memory connections_->getEdges().copyEdgeDeviceToHost(allEdgesDevice_); } -/// Copy CPU Synapse data to GPU. +/// Copy CPU edge data to GPU. void GPUModel::copyCPUtoGPU() { - // copy host synapse structs to device memory + // copy host edge structs to device memory connections_->getEdges().copyEdgeHostToDevice(allEdgesDevice_); } -/// Print out SynapseProps on the GPU. -void GPUModel::printGPUSynapsesPropsModel() const +/// Print out EdgeProps on the GPU. +void GPUModel::printGPUEdgesPropsModel() const { connections_->getEdges().printGPUEdgesProps(allEdgesDevice_); } diff --git a/Simulator/Core/GPUModel.h b/Simulator/Core/GPUModel.h index fc5254d68..2fdbe0656 100644 --- a/Simulator/Core/GPUModel.h +++ b/Simulator/Core/GPUModel.h @@ -6,28 +6,14 @@ * @brief Implementation of Model for the graph-based networks. * * The Model class maintains and manages classes of objects that make up - * essential components of graph-based networks. - * -# AllVertices: A class to define a list of particular type of neurons. - * -# AllEdges: A class to define a list of particular type of synapses. - * -# Connections: A class to define connections of the neural network. - * -# Layout: A class to define neurons' layout information in the network. + * essential components of the graph network. + * -# AllVertices: A class to define a list of particular type of vertices. + * -# AllEdges: A class to define a list of particular type of edges. + * -# Connections: A class to define connections of the graph network. + * -# Layout: A class to define vertices' layout information in the network. * - * The network is composed of 3 superimposed 2-d arrays: neurons, synapses, and - * summation points. - * - * Synapses in the synapse map are located at the coordinates of the neuron - * from which they receive output. Each synapse stores a pointer into a - * summation point. - * - * If, during an advance cycle, a neuron \f$A\f$ at coordinates \f$x,y\f$ fires, every synapse - * which receives output is notified of the spike. Those synapses then hold - * the spike until their delay period is completed. At a later advance cycle, once the delay - * period has been completed, the synapses apply their PSRs (Post-Synaptic-Response) to - * the summation points. - * - * Finally, on the next advance cycle, each neuron \f$B\f$ adds the value stored - * in their corresponding summation points to their \f$V_m\f$ and resets the summation points to - * zero. + * Edges in the edge map are located at the coordinates of the vertex + * from which they receive output. * * The model runs on multi-threaded on a GPU. * @@ -35,15 +21,13 @@ #pragma once -#include "AllSpikingNeurons.h" -#include "AllSpikingSynapses.h" +#include "AllEdges.h" +#include "AllVertices.h" #ifdef __CUDACC__ #include "Book.h" #endif -const BGFLOAT SYNAPSE_STRENGTH_ADJUSTMENT = 1.0e-8; - /************************************************ * @name Inline functions for handling performance recording ***********************************************/ @@ -69,7 +53,7 @@ inline void cudaLapTime(double &t_event) #endif // PERFORMANCE_METRICS ///@} -class AllSpikingSynapses; +class AllEdges; class GPUModel : public Model { friend class GpuSInputPoisson; @@ -88,67 +72,64 @@ class GPUModel : public Model { /// Advances network state one simulation step. virtual void advance() override; - /// Modifies connections between neurons based on current state of the network and behavior + /// Modifies connections between vertices based on current state of the network and behavior /// over the past epoch. Should be called once every epoch. virtual void updateConnections() override; - /// Copy GPU Synapse data to CPU. + /// Copy GPU edge data to CPU. virtual void copyGPUtoCPU() override; - /// Copy CPU Synapse data to GPU. + /// Copy CPU edge data to GPU. virtual void copyCPUtoGPU() override; - /// Print out SynapseProps on the GPU. - void printGPUSynapsesPropsModel() const; + /// Print out EdgeProps on the GPU. + void printGPUEdgesPropsModel() const; protected: /// Allocates and initializes memories on CUDA device. - /// @param[out] allVerticesDevice Memory location of the pointer to the neurons list on device memory. - /// @param[out] allEdgesDevice Memory location of the pointer to the synapses list on device memory. + /// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. + /// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. void allocDeviceStruct(void **allVerticesDevice, void **allEdgesDevice); /// Copies device memories to host memories and deallocates them. - /// @param[out] allVerticesDevice Memory location of the pointer to the neurons list on device memory. - /// @param[out] allEdgesDevice Memory location of the pointer to the synapses list on device memory. + /// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. + /// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. virtual void deleteDeviceStruct(void **allVerticesDevice, void **allEdgesDevice); - /// Add psr of all incoming synapses to summation points. - virtual void calcSummationPoint(); - /// Pointer to device random noise array. float *randNoise_d; #if defined(USE_GPU) - /// Pointer to synapse index map in device memory. - EdgeIndexMapDevice *synapseIndexMapDevice_; + /// Pointer to edge index map in device memory. + EdgeIndexMapDevice *edgeIndexMapDevice_; #endif // defined(USE_GPU) - /// Synapse structures in device memory. - AllSpikingSynapsesDeviceProperties *allEdgesDevice_; + /// edge structures in device memory. + AllEdgesDeviceProperties *allEdgesDevice_; - /// Neuron structure in device memory. - AllSpikingNeuronsDeviceProperties *allVerticesDevice_; + /// vertex structure in device memory. + AllVerticesDeviceProperties *allVerticesDevice_; private: - void allocSynapseImap(int count); + void allocEdgeIndexMap(int count); - void deleteSynapseImap(); + void deleteEdgeIndexMap(); public: //2020/03/14 changed to public for accessing in Core - void copySynapseIndexMapHostToDevice(EdgeIndexMap &synapseIndexMapHost, int numVertices); + void copyEdgeIndexMapHostToDevice(EdgeIndexMap &edgeIndexMapHost, int numVertices); private: void updateHistory(); // TODO - void eraseEdge(AllEdges &synapses, int neuronIndex, int synapseIndex); + void eraseEdge(AllEdges &edges, int vertexIndex, int edgeIndex); // TODO - void addEdge(AllEdges &synapses, edgeType type, int srcVertex, int destVertex, - Coordinate &source, Coordinate &dest, BGFLOAT deltaT); + void addEdge(AllEdges &edges, edgeType type, int srcVertex, int destVertex, Coordinate &source, + Coordinate &dest, BGFLOAT deltaT); // TODO - void createEdge(AllEdges &synapses, int neuronIndex, int synapseIndex, Coordinate source, + void createEdge(AllEdges &edges, int vertexIndex, int edgeIndex, Coordinate source, Coordinate dest, BGFLOAT deltaT, edgeType type); }; @@ -158,11 +139,4 @@ void normalMTGPU(float *randNoise_d); void initMTGPU(unsigned int seed, unsigned int blocks, unsigned int threads, unsigned int nPerRng, unsigned int mt_rng_count); } - -//! Calculate summation point. -extern __global__ void - calcSummationPointDevice(int totalVertices, - AllSpikingNeuronsDeviceProperties *__restrict__ allNeurnsDevice, - const EdgeIndexMapDevice *__restrict__ synapseIndexMapDevice_, - const AllSpikingSynapsesDeviceProperties *__restrict__ allEdgesDevice); #endif diff --git a/Simulator/Core/Serializer.cpp b/Simulator/Core/Serializer.cpp index 36cf960da..4b90fbc04 100644 --- a/Simulator/Core/Serializer.cpp +++ b/Simulator/Core/Serializer.cpp @@ -67,8 +67,8 @@ bool Serializer::deserialize() #if defined(USE_GPU) GPUModel &gpuModel = static_cast(simulator.getModel()); - gpuModel.copySynapseIndexMapHostToDevice(simulator.getModel().getConnections().getEdgeIndexMap(), - simulator.getTotalVertices()); + gpuModel.copyEdgeIndexMapHostToDevice(simulator.getModel().getConnections().getEdgeIndexMap(), + simulator.getTotalVertices()); #endif // USE_GPU return true; diff --git a/Simulator/Edges/AllEdges.h b/Simulator/Edges/AllEdges.h index 9c208e5b7..72605ef53 100644 --- a/Simulator/Edges/AllEdges.h +++ b/Simulator/Edges/AllEdges.h @@ -17,6 +17,7 @@ #include "cereal/types/vector.hpp" class AllVertices; +struct AllEdgesDeviceProperties; class AllEdges { public: @@ -83,7 +84,7 @@ class AllEdges { /// Returns an appropriate edgeType object for the given integer. /// /// @param typeOrdinal Integer that correspond with a edgeType. - /// @return the SynapseType that corresponds with the given integer. + /// @return the edgeType that corresponds with the given integer. edgeType edgeOrdinalToType(int typeOrdinal); /// Loggers used to print to using log4cplus logging macros, prints to Results/Debug/logging.txt @@ -135,16 +136,11 @@ class AllEdges { /// @param allEdgesDevice GPU address of the allEdges struct on device memory. virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) = 0; - /// Get summationCoord and in_use in AllEdges struct on device memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyDeviceEdgeSumIdxToHost(void *allEdgesDevice) = 0; - - /// Advance all the Synapses in the simulation. + /// Advance all the edges in the simulation. /// Update the state of all edges for a time step. /// /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. + /// @param allVerticesDevice GPU address of the allVertices struct on device memory. /// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. virtual void advanceEdges(void *allEdgesDevice, void *allVerticesDevice, void *edgeIndexMapDevice) @@ -153,6 +149,7 @@ class AllEdges { /// Set some parameters used for advanceEdgesDevice. virtual void setAdvanceEdgesDeviceParams() = 0; + /// TODO: Clean up this comment to remove synapses reference since this is neuro-specific /// Set edge class ID defined by enumClassSynapses for the caller's Edge class. /// The class ID will be set to classSynapses_d in device memory, /// and the classSynapses_d will be referred to call a device function for the @@ -163,9 +160,9 @@ class AllEdges { /// (see issue#137). virtual void setEdgeClassID() = 0; - /// Prints GPU SynapsesProps data. + /// Prints GPU edgesProps data. /// - /// @param allEdgesDeviceProps GPU address of the corresponding SynapsesDeviceProperties struct on device memory. + /// @param allEdgesDeviceProps GPU address of the corresponding AllEdgesDeviceProperties struct on device memory. virtual void printGPUEdgesProps(void *allEdgesDeviceProps) const = 0; #else // !defined(USE_GPU) @@ -185,21 +182,22 @@ class AllEdges { /// Remove a edge from the network. /// - /// @param neuronIndex Index of a vertex to remove from. + /// @param vertexIndex Index of a vertex to remove from. /// @param iEdg Index of a edge to remove. - virtual void eraseEdge(int neuronIndex, BGSIZE iEdg); + virtual void eraseEdge(int vertexIndex, BGSIZE iEdg); #endif // defined(USE_GPU) /// The location of the edge. vector sourceVertexIndex_; + /// TODO: Should generalize this comment since summation point is neuro-specific /// The coordinates of the summation point. vector destVertexIndex_; /// The weight (scaling factor, strength, maximal amplitude) of the edge. vector W_; - /// Synapse type + /// edge type vector type_; /// The value indicating the entry in the array is in use. @@ -223,6 +221,43 @@ class AllEdges { int countVertices_; }; +#if defined(USE_GPU) +struct AllEdgesDeviceProperties { + /// The location of the edge. + int *sourceVertexIndex_; + + /// TODO: Should generalize this comment since summation point is neuro-specific + /// The coordinates of the summation point. + int *destVertexIndex_; + + /// The weight (scaling factor, strength, maximal amplitude) of the edge. + BGFLOAT *W_; + + /// edge type + edgeType *type_; + + /// The value indicating the entry in the array is in use. + // The representation of inUse has been updated from bool to unsigned char + // to store 1 (true) or 0 (false) for the support of serialization operations. See ISSUE-459 + unsigned char *inUse_; + + /// The number of edges for each vertex. + /// Note: Likely under a different name in GpuSim_struct, see edge_count. -Aaron + BGSIZE *edgeCounts_; + + /// The total number of active edges. + BGSIZE totalEdgeCount_; + + /// The maximum number of edges for each vertex. + BGSIZE maxEdgesPerVertex_; + + /// The number of vertices + /// Aaron: Is this even supposed to be here?! + /// Usage: Used by destructor + int countVertices_; +}; +#endif // defined(USE_GPU) + /// Cereal serialization method /// (Serializes edge weights, source vertices, and destination vertices) template void AllEdges::serialize(Archive &archive) diff --git a/Simulator/Edges/NG911/All911Edges.h b/Simulator/Edges/NG911/All911Edges.h index 5ac9351a1..6b1c288cf 100644 --- a/Simulator/Edges/NG911/All911Edges.h +++ b/Simulator/Edges/NG911/All911Edges.h @@ -74,7 +74,6 @@ class All911Edges : public AllEdges { }; virtual void copyEdgeDeviceToHost(void *allEdgesDevice) {}; virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) {}; - virtual void copyDeviceEdgeSumIdxToHost(void *allEdgesDevice) {}; virtual void advanceEdges(void *allEdgesDevice, void *allVerticesDevice, void *edgeIndexMapDevice) {}; virtual void setAdvanceEdgesDeviceParams() {}; diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.h b/Simulator/Edges/Neuro/AllNeuroEdges.h index 1b8210cc5..e8f0bdfb3 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.h +++ b/Simulator/Edges/Neuro/AllNeuroEdges.h @@ -112,42 +112,10 @@ class AllNeuroEdges : public AllEdges { }; #if defined(USE_GPU) -struct AllEdgesDeviceProperties { - /// The location of the edge. - int *sourceVertexIndex_; - - /// The coordinates of the summation point. - int *destVertexIndex_; - - /// The weight (scaling factor, strength, maximal amplitude) of the edge. - BGFLOAT *W_; - - /// Synapse type - edgeType *type_; - +struct AllNeuroEdgesDeviceProperties : public AllEdgesDeviceProperties { /// The post-synaptic response is the result of whatever computation /// is going on in the edge. BGFLOAT *psr_; - - /// The value indicating the entry in the array is in use. - // The representation of inUse has been updated from bool to unsigned char - // to store 1 (true) or 0 (false) for the support of serialization operations. See ISSUE-459 - unsigned char *inUse_; - - /// The number of edges for each vertex. - /// Note: Likely under a different name in GpuSim_struct, see edge_count. -Aaron - BGSIZE *edgeCounts_; - - /// The total number of active edges. - BGSIZE totalEdgeCount_; - - /// The maximum number of edges for each vertex. - BGSIZE maxEdgesPerVertex_; - - /// The number of vertices - /// Aaron: Is this even supposed to be here?! - /// Usage: Used by destructor - int countVertices_; }; #endif // defined(USE_GPU) diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp index 64c09e2b6..77f56bcfd 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp @@ -364,15 +364,6 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) // decay the post spike response psr *= decay; - // and apply it to the summation point - #ifdef USE_OMP - #pragma omp atomic - #endif - neurons.summationPoints_[sumPointIndex] += psr; - #ifdef USE_OMP - //PAB: atomic above has implied flush (following statement generates error -- can't be member variable) - //#pragma omp flush (summationPoint) - #endif } diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index ec74bc30f..0c7b54bb3 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -279,15 +279,6 @@ void AllSpikingSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) // decay the post spike response psr *= decay; - // and apply it to the summation point - #ifdef USE_OMP - #pragma omp atomic #endif - #endif - neurons.summationPoints_[sumPointIndex] += psr; - #ifdef USE_OMP - //PAB: atomic above has implied flush (following statement generates error -- can't be member variable) - //#pragma omp flush (summationPoint) - #endif } /// Calculate the post synapse response after a spike. diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 1d3158388..0cd04821b 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -163,11 +163,6 @@ class AllSpikingSynapses : public AllNeuroEdges { /// @param allEdgesDevice GPU address of the allEdges struct on device memory. virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) override; - /// Get summationCoord and in_use in AllNeuroEdges struct on device memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyDeviceEdgeSumIdxToHost(void *allEdgesDevice) override; - /// Advance all the Synapses in the simulation. /// Update the state of all synapses for a time step. /// @@ -196,6 +191,11 @@ class AllSpikingSynapses : public AllNeuroEdges { /// @param allEdgesDeviceProps GPU address of the corresponding SynapsesDeviceProperties struct on device memory. virtual void printGPUEdgesProps(void *allEdgesDeviceProps) const override; + /// Get summationCoord and in_use in AllNeuroEdges struct on device memory. + /// + /// @param allEdgesDevice GPU address of the allEdges struct on device memory. + void copyDeviceEdgeSumIdxToHost(void *allEdgesDevice); + protected: /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. @@ -307,7 +307,7 @@ CUDA_CALLABLE void changeSpikingSynapsesPSRDevice(AllSpikingSynapsesDeviceProperties *allEdgesDevice, BGSIZE iEdg, const uint64_t simulationStep, BGFLOAT deltaT); -struct AllSpikingSynapsesDeviceProperties : public AllEdgesDeviceProperties { +struct AllSpikingSynapsesDeviceProperties : public AllNeuroEdgesDeviceProperties { /// The decay for the psr. BGFLOAT *decay_; diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index c8d907666..cd14ebda0 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -31,15 +31,6 @@ AllVertices::AllVertices() : size_(0) void AllVertices::setupVertices() { size_ = Simulator::getInstance().getTotalVertices(); -#if defined(USE_GPU) - // We don't allocate memory for summationPoints_ in CPU when building the GPU - // implementation. This is to avoid misusing it in GPU code. - // summationPoints_ = nullptr; - -#else - summationPoints_.assign(size_, 0); - -#endif } /// Prints out all parameters of the vertices to logging file. diff --git a/Simulator/Vertices/AllVertices.h b/Simulator/Vertices/AllVertices.h index b929dbd0b..d005c689c 100644 --- a/Simulator/Vertices/AllVertices.h +++ b/Simulator/Vertices/AllVertices.h @@ -35,6 +35,7 @@ using namespace std; class Layout; class AllEdges; +struct AllVerticesDeviceProperties; class AllVertices { public: @@ -43,10 +44,10 @@ class AllVertices { virtual ~AllVertices() = default; /// Setup the internal structure of the class. - /// Allocate memories to store all neurons' state. + /// Allocate memories to store all vertices' state. virtual void setupVertices(); - /// Prints out all parameters of the neurons to logging file. + /// Prints out all parameters of the vertices to logging file. /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const; @@ -64,7 +65,7 @@ class AllVertices { /// Creates all the Vertices and assigns initial data for them. /// - /// @param layout Layout information of the neural network. + /// @param layout Layout information of the network. virtual void createAllVertices(Layout &layout) = 0; /// Outputs state of the vertex chosen as a string. @@ -73,15 +74,8 @@ class AllVertices { /// @return the complete state of the vertex. virtual string toString(int i) const = 0; - /// The summation point for each vertex. - /// Summation points are places where the synapses connected to the vertex - /// apply (summed up) their PSRs (Post-Synaptic-Response). - /// On the next advance cycle, vertices add the values stored in their corresponding - /// summation points to their Vm and resets the summation points to zero - vector summationPoints_; - - /// Helper function for recorder to register spike history variables for all neurons. - /// Option 1: Register neuron information in vertexEvents_ one by one. + /// Helper function for recorder to register spike history variables for all vertices. + /// Option 1: Register vertex information in vertexEvents_ one by one. /// Option 2: Register a vector of EventBuffer variables. virtual void registerHistoryVariables() = 0; @@ -93,7 +87,8 @@ class AllVertices { int size_; // Loggers used to print to using log4cplus logging macros - log4cplus::Logger fileLogger_; // Logs to Output/Debug/logging.txt + log4cplus::Logger fileLogger_; // Logs to Output/Debug/logging.txt + /// TODO: Should check to see if this file name "neurons" is hardcoded and change it to vertices log4cplus::Logger vertexLogger_; // Logs to Output/Debug/neurons.txt #if defined(USE_GPU) @@ -102,12 +97,17 @@ class AllVertices { /// and copy them from host to GPU memory. /// /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void allocNeuronDeviceStruct(void **allVerticesDevice) = 0; + virtual void allocVerticesDeviceStruct(void **allVerticesDevice) = 0; /// Delete GPU memories. /// /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void deleteNeuronDeviceStruct(void *allVerticesDevice) = 0; + virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) = 0; + + /// Clear the spike counts out of all vertices. + // + /// @param allVerticesDevice GPU address of the allVertices struct on device memory. + virtual void clearVertexHistory(void *allVerticesDevice) = 0; /// Copy all vertices' data from host to device. /// @@ -120,7 +120,7 @@ class AllVertices { virtual void copyFromDevice(void *allVerticesDevice) = 0; /// Update the state of all vertices for a time step - /// Notify outgoing synapses if vertex has fired. + /// Notify outgoing edges if vertex has fired. /// /// @param edges Reference to the allEdges struct on host memory. /// @param allVerticesDevice GPU address of the allVertices struct on device memory. @@ -135,30 +135,38 @@ class AllVertices { /// /// @param edges Reference to the allEdges struct on host memory. virtual void setAdvanceVerticesDeviceParams(AllEdges &edges) = 0; + + /// Performs an integration operation per vertex using the inputs to the vertex. + /// + /// @param allVerticesDevice GPU address of the allVertices struct on device memory. + /// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. + /// @param allEdgesDevice GPU address of the allEdges struct on device memory. + virtual void integrateVertexInputs(void *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, void *allEdgesDevice) + = 0; #else // !defined(USE_GPU) public: - /// Update internal state of the indexed Neuron (called by every simulation step). - /// Notify outgoing synapses if vertex has fired. + /// Update internal state of the indexed vertex (called by every simulation step). + /// Notify outgoing edges if vertex has fired. /// - /// @param edges The Synapse list to search from. + /// @param edges The edge list to search from. /// @param edgeIndexMap Reference to the EdgeIndexMap. virtual void advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIndexMap) = 0; + /// Performs an integration operation per vertex using the inputs to the vertex. + /// + /// @param edges The edge list to search from. + /// @param edgeIndexMap Reference to the EdgeIndexMap. + virtual void integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap) = 0; + #endif // defined(USE_GPU) }; #if defined(USE_GPU) -struct AllVerticesDeviceProperties { - /// The summation point for each vertex. - /// Summation points are places where the synapses connected to the vertex - /// apply (summed up) their PSRs (Post-Synaptic-Response). - /// On the next advance cycle, vertices add the values stored in their corresponding - /// summation points to their Vm and resets the summation points to zero - BGFLOAT *summationPoints_; -}; +struct AllVerticesDeviceProperties {}; #endif // defined(USE_GPU) template void AllVertices::serialize(Archive &archive) { - archive(cereal::make_nvp("summationPoints", summationPoints_), cereal::make_nvp("size", size_)); + archive(cereal::make_nvp("size", size_)); } diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index cbf9d263f..69b911454 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -160,6 +160,11 @@ int All911Vertices::busyServers(int vIdx) const #if !defined(USE_GPU) +// Short description of the method. +void All911Vertices::integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap) +{ + //TODO: Figure out where the appropriate logic is and move it here. +} // Update internal state of the indexed vertex (called by every simulation step). void All911Vertices::advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIndexMap) diff --git a/Simulator/Vertices/NG911/All911Vertices.h b/Simulator/Vertices/NG911/All911Vertices.h index 6187b31c8..1a537437a 100644 --- a/Simulator/Vertices/NG911/All911Vertices.h +++ b/Simulator/Vertices/NG911/All911Vertices.h @@ -94,7 +94,7 @@ class All911Vertices : public AllVertices { /// Setup the internal structure of the class. /// Allocate memories to store all vertices' states. - virtual void setupVertices(); + virtual void setupVertices() override; /// Creates all the Vertices and assigns initial data for them. /// @@ -225,13 +225,23 @@ class All911Vertices : public AllVertices { // GPU functionality for 911 simulation is unimplemented. // These signatures are required to make the class non-abstract public: - virtual void allocNeuronDeviceStruct(void **allVerticesDevice) {}; - virtual void deleteNeuronDeviceStruct(void *allVerticesDevice) {}; + virtual void allocVerticesDeviceStruct(void **allVerticesDevice) {}; + virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) {}; virtual void copyToDevice(void *allVerticesDevice) {}; virtual void copyFromDevice(void *allVerticesDevice) {}; virtual void advanceVertices(AllEdges &edges, void *allVerticesDevice, void *allEdgesDevice, float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) {}; virtual void setAdvanceVerticesDeviceParams(AllEdges &edges) {}; + virtual void clearVertexHistory(void *allVerticesDevice) {}; + + /// Performs an integration operation per vertex using the inputs to the vertex. + /// + /// @param allVerticesDevice GPU address of the allVertices struct on device memory. + /// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. + /// @param allEdgesDevice GPU address of the allEdges struct on device memory. + virtual void integrateVertexInputs(void *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, + void *allEdgesDevice) {}; #else // !defined(USE_GPU) public: /// Update internal state of the indexed Vertex (called by every simulation step). @@ -241,6 +251,12 @@ class All911Vertices : public AllVertices { /// @param edgeIndexMap Reference to the EdgeIndexMap. virtual void advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIndexMap) override; + /// Performs an integration operation per vertex using the inputs to the vertex. + /// + /// @param edges The edge list to search from. + /// @param edgeIndexMap Reference to the EdgeIndexMap. + virtual void integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap) override; + protected: #endif // defined(USE_GPU) diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index f657fec32..b199dd32d 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -90,17 +90,17 @@ class AllIFNeurons : public AllSpikingNeurons { /// and copy them from host to GPU memory. /// /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void allocNeuronDeviceStruct(void **allVerticesDevice); + virtual void allocVerticesDeviceStruct(void **allVerticesDevice); /// Delete GPU memories. /// /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void deleteNeuronDeviceStruct(void *allVerticesDevice); + virtual void deleteVerticesDeviceStruct(void *allVerticesDevice); /// Clear the spike counts out of all neurons. // /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void clearNeuronSpikeCounts(void *allVerticesDevice) override; + virtual void clearVertexHistory(void *allVerticesDevice) override; //Copy all neurons' data from device to host. //@param allVerticesDevice GPU address of the allNeurons struct on device memory. virtual void copyFromDevice(void *deviceAddress) override; @@ -110,12 +110,12 @@ class AllIFNeurons : public AllSpikingNeurons { protected: /// Allocate GPU memories to store all neurons' states. - /// (Helper function of allocNeuronDeviceStruct) + /// (Helper function of allocVerticesDeviceStruct) /// @param allVerticesDevice Reference to the AllIFNeuronsDeviceProperties struct. void allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDevice); /// Delete GPU memories. - /// (Helper function of deleteNeuronDeviceStruct) + /// (Helper function of deleteVerticesDeviceStruct) /// /// @param allVerticesDevice Reference to the AllIFNeuronsDeviceProperties struct. void deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDevice); diff --git a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp index ec9c1341d..cd0173655 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp @@ -13,7 +13,7 @@ /// and copy them from host to GPU memory. /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. -void AllIFNeurons::allocNeuronDeviceStruct(void **allVerticesDevice) +void AllIFNeurons::allocVerticesDeviceStruct(void **allVerticesDevice) { AllIFNeuronsDeviceProperties allNeurons; allocDeviceStruct(allNeurons); @@ -23,7 +23,7 @@ void AllIFNeurons::allocNeuronDeviceStruct(void **allVerticesDevice) } /// Allocate GPU memories to store all neurons' states. -/// (Helper function of allocNeuronDeviceStruct) +/// (Helper function of allocVerticesDeviceStruct) /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct. void AllIFNeurons::allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDevice) @@ -66,8 +66,8 @@ void AllIFNeurons::allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDe /// Delete GPU memories. /// -/// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. -void AllIFNeurons::deleteNeuronDeviceStruct(void *allVerticesDevice) +/// @param allVerticesDevice GPU address of the AllVerticesDeviceProperties struct on device memory. +void AllIFNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) { AllIFNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, @@ -77,7 +77,7 @@ void AllIFNeurons::deleteNeuronDeviceStruct(void *allVerticesDevice) } /// Delete GPU memories. -/// (Helper function of deleteNeuronDeviceStruct) +/// (Helper function of deleteVerticesDeviceStruct) /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct. void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDevice) @@ -203,7 +203,7 @@ void AllIFNeurons::copyFromDevice(void *allVerticesDevice) /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. // TODO: Move this into EventBuffer somehow -void AllIFNeurons::clearNeuronSpikeCounts(void *allVerticesDevice) +void AllIFNeurons::clearVertexHistory(void *allVerticesDevice) { AllIFNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons.h b/Simulator/Vertices/Neuro/AllIZHNeurons.h index 8b9a98f30..ee1520790 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons.h +++ b/Simulator/Vertices/Neuro/AllIZHNeurons.h @@ -140,12 +140,12 @@ class AllIZHNeurons : public AllIFNeurons { /// and copy them from host to GPU memory. // /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void allocNeuronDeviceStruct(void **allVerticesDevice) override; + virtual void allocVerticesDeviceStruct(void **allVerticesDevice) override; /// Delete GPU memories. // /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void deleteNeuronDeviceStruct(void *allVerticesDevice) override; + virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) override; /// Copy spike history data stored in device memory to host. // @@ -160,7 +160,7 @@ class AllIZHNeurons : public AllIFNeurons { /// Clear the spike counts out of all neurons. // /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void clearNeuronSpikeCounts(void *allVerticesDevice) override; + virtual void clearVertexHistory(void *allVerticesDevice) override; // Copy all neurons' data from device to host. // @@ -175,13 +175,13 @@ class AllIZHNeurons : public AllIFNeurons { protected: /// Allocate GPU memories to store all neurons' states. - /// (Helper function of allocNeuronDeviceStruct) + /// (Helper function of allocVerticesDeviceStruct) /// /// @param allVerticesDevice Reference to the AllIZHNeuronsDeviceProperties struct. void allocDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice); /// Delete GPU memories. - /// (Helper function of deleteNeuronDeviceStruct) + /// (Helper function of deleteVerticesDeviceStruct) /// /// @param allVerticesDevice Reference to the AllIZHNeuronsDeviceProperties struct. void deleteDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice); diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp index 3a3b1285a..2e0c8d2a6 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp @@ -38,7 +38,7 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max /// /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct /// on device memory. -void AllIZHNeurons::allocNeuronDeviceStruct(void **allVerticesDevice) +void AllIZHNeurons::allocVerticesDeviceStruct(void **allVerticesDevice) { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; @@ -50,7 +50,7 @@ void AllIZHNeurons::allocNeuronDeviceStruct(void **allVerticesDevice) } /// Allocate GPU memories to store all neurons' states. -/// (Helper function of allocNeuronDeviceStruct) +/// (Helper function of allocVerticesDeviceStruct) /// /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct on device memory. void AllIZHNeurons::allocDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice) @@ -69,9 +69,9 @@ void AllIZHNeurons::allocDeviceStruct(AllIZHNeuronsDeviceProperties &allVertices /// Delete GPU memories. /// -/// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct +/// @param allVerticesDevice GPU address of the AllVerticesDeviceProperties struct /// on device memory. -void AllIZHNeurons::deleteNeuronDeviceStruct(void *allVerticesDevice) +void AllIZHNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; @@ -84,7 +84,7 @@ void AllIZHNeurons::deleteNeuronDeviceStruct(void *allVerticesDevice) } /// Delete GPU memories. -/// (Helper function of deleteNeuronDeviceStruct) +/// (Helper function of deleteVerticesDeviceStruct) /// /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct on device memory. void AllIZHNeurons::deleteDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice) @@ -173,7 +173,7 @@ void AllIZHNeurons::copyFromDevice(void *allVerticesDevice) /// /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct /// on device memory. -void AllIZHNeurons::clearNeuronSpikeCounts(void *allVerticesDevice) +void AllIZHNeurons::clearVertexHistory(void *allVerticesDevice) { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp index 57bd25fc8..5ce2bd246 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp @@ -20,6 +20,15 @@ void AllSpikingNeurons::setupVertices() hasFired_.assign(size_, false); vertexEvents_.assign(size_, maxSpikes); +#if defined(USE_GPU) + // We don't allocate memory for summationPoints_ in CPU when building the GPU + // implementation. This is to avoid misusing it in GPU code. + // summationPoints_ = nullptr; + +#else + summationPoints_.assign(size_, 0); + +#endif } /// Register spike history variables for all neurons. @@ -115,6 +124,32 @@ void AllSpikingNeurons::advanceVertices(AllEdges &synapses, const EdgeIndexMap & } } +/// Add psr of all incoming synapses to summation points. +/// +/// @param edges The edge list to search from. +/// @param edgeIndexMap Reference to the EdgeIndexMap. +void AllSpikingNeurons::integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap) +{ + AllNeuroEdges &synapses = dynamic_cast(edges); + + //totalEdgeCount_ and destVertexIndex_ are properties of AllEdges + //Access from synapses instead of edges for readability and consistency with the psr_ access call + for (BGSIZE i = 0; i < synapses.totalEdgeCount_; i++) { + BGSIZE iEdg = edgeIndexMap.incomingEdgeIndexMap_[i]; + BGFLOAT &psr = synapses.psr_[iEdg]; + int sumPointIndex = synapses.destVertexIndex_[iEdg]; + // and apply it to the summation point + #ifdef USE_OMP + #pragma omp atomic #endif + #endif + summationPoints_[sumPointIndex] += psr; + #ifdef USE_OMP + //PAB: atomic above has implied flush (following statement generates error -- can't be member variable) + //#pragma omp flush (summationPoint) + #endif + } +} + /// Fire the selected Neuron and calculate the result. /// /// @param index Index of the Neuron to update. diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.h b/Simulator/Vertices/Neuro/AllSpikingNeurons.h index bdb4c8181..f9938b4e4 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.h +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.h @@ -62,10 +62,14 @@ class AllSpikingNeurons : public AllVertices { /// @param synapses Reference to the allEdges struct on host memory. virtual void setAdvanceVerticesDeviceParams(AllEdges &synapses); - /// Clear the spike counts out of all neurons. - // - /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void clearNeuronSpikeCounts(void *allVerticesDevice) = 0; + /// Add psr of all incoming synapses to summation points. + /// + /// @param allVerticesDevice GPU address of the allVertices struct on device memory. + /// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. + /// @param allEdgesDevice GPU address of the allEdges struct on device memory. + virtual void integrateVertexInputs(void *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, void *allEdgesDevice); + virtual void copyFromDevice(void *deviceAddress) override; virtual void copyToDevice(void *deviceAddress) override; @@ -84,6 +88,12 @@ class AllSpikingNeurons : public AllVertices { /// @param edgeIndexMap Reference to the EdgeIndexMap. virtual void advanceVertices(AllEdges &synapses, const EdgeIndexMap &edgeIndexMap); + /// Add psr of all incoming synapses to summation points. + /// + /// @param edges The edge list to search from. + /// @param edgeIndexMap Reference to the EdgeIndexMap. + virtual void integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap); + /// Get the spike history of neuron[index] at the location offIndex. /// More specifically, retrieves the global simulation time step for the spike /// in question from the spike history record. @@ -113,6 +123,13 @@ class AllSpikingNeurons : public AllVertices { /// Holds at least one epoch's worth of event times for every vertex vector vertexEvents_; + /// The summation point for each vertex. + /// Summation points are places where the synapses connected to the vertex + /// apply (summed up) their PSRs (Post-Synaptic-Response). + /// On the next advance cycle, vertices add the values stored in their corresponding + /// summation points to their Vm and resets the summation points to zero + vector summationPoints_; + protected: /// True if back propagation is allowed. /// (parameters used for advanceVerticesDevice.) @@ -135,6 +152,13 @@ struct AllSpikingNeuronsDeviceProperties : public AllVerticesDeviceProperties { int *bufferEnd_; int *epochStart_; int *numElementsInEpoch_; + + /// The summation point for each vertex. + /// Summation points are places where the synapses connected to the vertex + /// apply (summed up) their PSRs (Post-Synaptic-Response). + /// On the next advance cycle, vertices add the values stored in their corresponding + /// summation points to their Vm and resets the summation points to zero + BGFLOAT *summationPoints_; }; #endif // defined(USE_GPU) @@ -145,5 +169,6 @@ template void AllSpikingNeurons::serialize(Archive &archive) { archive(cereal::base_class(this), cereal::make_nvp("hasFired", hasFired_), cereal::make_nvp("vertexEvents", vertexEvents_), + cereal::make_nvp("summationPoints", summationPoints_), cereal::make_nvp("fAllowBackPropagation", fAllowBackPropagation_)); } diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index a4bcbfa38..2d361e93a 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -10,6 +10,28 @@ #include "AllSpikingSynapses.h" #include "Book.h" +/// CUDA kernel for adding psr of all incoming synapses to summation points. +/// +/// Calculate the sum of synaptic input to each neuron. One thread +/// corresponds to one neuron. Iterates sequentially through the +/// forward synapse index map (synapseIndexMapDevice_) to access only +/// existing synapses. Using this structure eliminates the need to skip +/// synapses that have undergone lazy deletion from the main +/// (allEdgesDevice) synapse structure. The forward map is +/// re-computed during each network restructure (once per epoch) to +/// ensure that all synapse pointers for a neuron are stored +/// contiguously. +/// +/// @param[in] totalVertices Number of vertices in the entire simulation. +/// @param[in,out] allVerticesDevice Pointer to Neuron structures in device memory. +/// @param[in] synapseIndexMapDevice_ Pointer to forward map structures in device memory. +/// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. + +__global__ void calcSummationPointDevice(int totalVertices, + AllSpikingNeuronsDeviceProperties *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice); + void AllSpikingNeurons::copyToDevice(void *deviceAddress) { AllSpikingNeuronsDeviceProperties allVerticesDevice; @@ -153,3 +175,75 @@ void AllSpikingNeurons::setAdvanceVerticesDeviceParams(AllEdges &synapses) AllSpikingSynapses &spSynapses = dynamic_cast(synapses); fAllowBackPropagation_ = spSynapses.allowBackPropagation(); } + +/// Add psr of all incoming synapses to summation points. +/// +/// @param allVerticesDevice GPU address of the allVertices struct on device memory. +/// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. +/// @param allEdgesDevice GPU address of the allEdges struct on device memory. +void AllSpikingNeurons::integrateVertexInputs(void *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, + void *allEdgesDevice) +{ + // CUDA parameters + const int threadsPerBlock = 256; + int blocksPerGrid + = (Simulator::getInstance().getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; + int vertex_count = Simulator::getInstance().getTotalVertices(); + + calcSummationPointDevice<<>>( + vertex_count, (AllSpikingNeuronsDeviceProperties *)allVerticesDevice, edgeIndexMapDevice, + (AllSpikingSynapsesDeviceProperties *)allEdgesDevice); +} + +/// CUDA kernel for adding psr of all incoming synapses to summation points. +/// +/// Calculate the sum of synaptic input to each neuron. One thread +/// corresponds to one neuron. Iterates sequentially through the +/// forward synapse index map (synapseIndexMapDevice_) to access only +/// existing synapses. Using this structure eliminates the need to skip +/// synapses that have undergone lazy deletion from the main +/// (allEdgesDevice) synapse structure. The forward map is +/// re-computed during each network restructure (once per epoch) to +/// ensure that all synapse pointers for a neuron are stored +/// contiguously. +/// +/// @param[in] totalVertices Number of vertices in the entire simulation. +/// @param[in,out] allVerticesDevice Pointer to Neuron structures in device memory. +/// @param[in] edgeIndexMapDevice Pointer to forward map structures in device memory. +/// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. + +__global__ void calcSummationPointDevice(int totalVertices, + AllSpikingNeuronsDeviceProperties *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice) +{ + // The usual thread ID calculation and guard against excess threads + // (beyond the number of vertices, in this case). + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx >= totalVertices) + return; + + // Number of incoming synapses + BGSIZE synCount = edgeIndexMapDevice->incomingEdgeCount_[idx]; + // Optimization: terminate thread if no incoming synapses + if (synCount != 0) { + // Index of start of this neuron's block of forward map entries + int beginIndex = edgeIndexMapDevice->incomingEdgeBegin_[idx]; + // Address of the start of this neuron's block of forward map entries + BGSIZE *activeMapBegin = &(edgeIndexMapDevice->incomingEdgeIndexMap_[beginIndex]); + // Summed post-synaptic response (PSR) + BGFLOAT sum = 0.0; + // Index of the current incoming synapse + BGSIZE synIndex; + // Repeat for each incoming synapse + for (BGSIZE i = 0; i < synCount; i++) { + // Get index of current incoming synapse + synIndex = activeMapBegin[i]; + // Fetch its PSR and add into sum + sum += allEdgesDevice->psr_[synIndex]; + } + // Store summed PSR into this neuron's summation point + allVerticesDevice->summationPoints_[idx] = sum; + } +} diff --git a/docs/Developer/ClassDiagrams/connections.puml b/docs/Developer/ClassDiagrams/connections.puml index 3412b3d15..f673f44d8 100644 --- a/docs/Developer/ClassDiagrams/connections.puml +++ b/docs/Developer/ClassDiagrams/connections.puml @@ -121,6 +121,33 @@ abstract class AllEdges { } +class All911Edges { + +All911Edges() + +All911Edges(int numVertices, int maxEdges) + +{abstract} ~All911Edges() + +{static} Create() : AllEdges* + +{abstract} setupEdges() : void <> + +{abstract} createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void <> + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice) : void + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void + +{abstract} deleteEdgeDeviceStruct(void* allEdgesDevice) : void + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice) : void + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void + +{abstract} copyEdgeDeviceToHost(void* allEdgesDevice) : void + +{abstract} copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void + +{abstract} advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void + +{abstract} setAdvanceEdgesDeviceParams() : void + +{abstract} setEdgeClassID() : void + +{abstract} printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} + +{abstract} advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : void + +advance911Edge(BGSIZE iEdg, All911Vertices& vertices) : void + +{abstract} advanceEdge(BGSIZE iEdg, AllVertices& vertices) : void <> + +isAvailable_ : unique_ptr + +isRedial_ : unique_ptr + +call_ : vector +} + + class AllNeuroEdges { +AllNeuroEdges() +~AllNeuroEdges() @@ -259,30 +286,28 @@ class AllSpikingSynapses { class ConnGrowth { +ConnGrowth() - +~ConnGrowth() - +W_ : CompleteMatrix* - +area_ : CompleteMatrix* - +delta_ : CompleteMatrix* + +{abstract} ~ConnGrowth() +{static} Create() : Connections* - +growthParams_ : GrowthParams - +deltaR_ : VectorMatrix* - +outgrowth_ : VectorMatrix* - +radii_ : VectorMatrix* - +rates_ : VectorMatrix* - +updateConnections(AllVertices& neurons, Layout* layout) : bool - +radiiSize_ : int - +spikeCounts_ : int* - +load(Archive& archive) : void - +loadParameters() : void - +printParameters() : void {query} + +{abstract} setup() : void <> + +{abstract} loadParameters() : void <> + +{abstract} printParameters() : void {query} <> + +{abstract} updateConnections(AllVertices& vertices) : bool <> + +serialize(Archive& archive) : void +printRadii() : void {query} - +save(Archive& archive) : void {query} - +setupConnections(Layout* layout, AllVertices* neurons, AllEdges* synapses) : void + +{abstract} updateEdgesWeights(int numVertices, AllVertices& vertices, AllEdges& edges, AllVerticesDeviceProperties* allVerticesDevice, AllEdgesDeviceProperties* allEdgesDevice, Layout& layout) : void <> + +{abstract} updateEdgesWeights() : void <> -updateConns(AllVertices& neurons) : void - -updateFrontiers(const int numVertices, Layout* layout) : void - -updateOverlap(BGFLOAT numVertices, Layout* layout) : void - +updateSynapsesWeights(const int numVertices, AllVertices& neurons, AllEdges& synapses, AllSpikingNeuronsDeviceProperties* allVerticesDevice, AllSpikingSynapsesDeviceProperties* allEdgesDevice, Layout* layout) : void - +updateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, Layout* layout) : void + -updateFrontiers() : void + -updateOverlap() : void + +growthParams_ : GrowthParams + +radiiSize_ : int + +W_ : CompleteMatrix + +radii_ : VectorMatrix + +rates_ : VectorMatrix + +delta_ : CompleteMatrix + +area_ : CompleteMatrix + +outgrowth_ : VectorMatrix + +deltaR_ : VectorMatrix } @@ -313,21 +338,22 @@ class ConnStatic { abstract class Connections { +Connections() - +~Connections() - +updateConnections(AllVertices& vertices, Layout* layout) : bool - #edgeLogger_ : log4cplus::Logger - #fileLogger_ : log4cplus::Logger - #edges_ : shared_ptr - +getEdges() : shared_ptr {query} - +getEdgeIndexMap() : shared_ptr {query} - #synapseIndexMap_ : shared_ptr + +{abstract} ~Connections() + +getEdges() : AllEdges& {query} + +getEdgeIndexMap() : EdgeIndexMap& {query} +createEdgeIndexMap() : void - +createSynapsesFromWeights(const int numVertices, Layout* layout, AllVertices& vertices, AllEdges& synapses) : void + +{abstract} setup() : void + +{abstract} registerGraphProperties() : void +{abstract} loadParameters() : void +{abstract} printParameters() : void {query} - +{abstract} setupConnections(Layout* layout, AllVertices* vertices, AllEdges* synapses) : void - +updateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, AllSpikingNeuronsDeviceProperties* allVerticesDevice, AllSpikingSynapsesDeviceProperties* allEdgesDevice, Layout* layout) : void - +updateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, Layout* layout) : void + +{abstract} updateConnections(AllVertices& vertices) : bool + +serialize(Archive& archive) : void + +{abstract} updateEdgesWeights(int numVertices, AllVertices& vertices, AllEdges& edges, AllVerticesDeviceProperties* allVerticesDevice, AllEdgesDeviceProperties* allEdgesDevice, Layout& layout) : void + +{abstract} updateEdgesWeights() : void + #edges_ : shared_ptr + #synapseIndexMap_ : shared_ptr + #fileLogger_ : log4cplus::Logger + #edgeLogger_ : log4cplus::Logger } @@ -453,6 +479,9 @@ class ConnStatic::DistDestVertex { .AllEdges <|-- .AllNeuroEdges +.AllEdges <|-- .All911Edges + + .AllEdgesDeviceProperties <|-- .AllSpikingSynapsesDeviceProperties diff --git a/docs/Developer/ClassDiagrams/core.puml b/docs/Developer/ClassDiagrams/core.puml index f901a53de..45a25c344 100644 --- a/docs/Developer/ClassDiagrams/core.puml +++ b/docs/Developer/ClassDiagrams/core.puml @@ -8,39 +8,40 @@ class CPUModel { +CPUModel() - +~CPUModel() - +advance() : void - +copyCPUtoGPU() : void - +copyGPUtoCPU() : void - +finish() : void - +updateConnections() : void + +{abstract} ~CPUModel() + +{abstract} finish() : void <> + +{abstract} advance() : void <> + +{abstract} updateConnections() : void <> + +{abstract} copyGPUtoCPU() : void <> + +{abstract} copyCPUtoGPU() : void <> } class GPUModel { +GPUModel() - +~GPUModel() - #allVerticesDevice_ : AllSpikingNeuronsDeviceProperties* - #allEdgesDevice_ : AllSpikingSynapsesDeviceProperties* - #synapseIndexMapDevice_ : EdgeIndexMap* + +{abstract} ~GPUModel() + +{abstract} setupSim() : void <> + +{abstract} finish() : void <> + +{abstract} advance() : void <> + +{abstract} updateConnections() : void <> + +{abstract} copyGPUtoCPU() : void <> + +{abstract} copyCPUtoGPU() : void <> + +printGPUEdgesPropsModel() : void {query} + #allocDeviceStruct(void* * allVerticesDevice, void** allEdgesDevice) : void + #{abstract} deleteDeviceStruct(void* * allVerticesDevice, void** allEdgesDevice) : void #randNoise_d : float* - -addEdge(AllEdges& synapses, edgeType type, const int srcVertex, const int destVertex, Coordinate& source, Coordinate& dest, BGFLOAT deltaT) : void - +advance() : void - #allocDeviceStruct(void** allVerticesDevice, void** allEdgesDevice) : void - -allocSynapseImap(int count) : void - #calcSummationPoint() : void - +copyCPUtoGPU() : void - +copyGPUtoCPU() : void - +copySynapseIndexMapHostToDevice(EdgeIndexMap& synapseIndexMapHost, int numVertices) : void - -createEdge(AllEdges& synapses, const int neuronIndex, const int synapseIndex, Coordinate source, Coordinate dest, BGFLOAT deltaT, edgeType type) : void - #deleteDeviceStruct(void** allVerticesDevice, void** allEdgesDevice) : void - -deleteSynapseImap() : void - -eraseEdge(AllEdges& synapses, const int neuronIndex, const int synapseIndex) : void - +finish() : void - +printGPUSynapsesPropsModel() : void {query} - +setupSim() : void - +updateConnections() : void + #edgeIndexMapDevice_ : EdgeIndexMapDevice* + #allEdgesDevice_ : AllEdgesDeviceProperties* + #allVerticesDevice_ : AllVerticesDeviceProperties* + -allocEdgeIndexMap(int count) : void + -deleteEdgeIndexMap() : void + +copyEdgeIndexMapHostToDevice(EdgeIndexMap& edgeIndexMapHost, int numVertices) : void -updateHistory() : void + -eraseEdge(AllEdges& edges, int vertexIndex, int edgeIndex) : void + -addEdge(AllEdges& edges, edgeType type, int srcVertex, int destVertex, Coordinate& source, Coordinate& dest, BGFLOAT deltaT) : void + -createEdge(AllEdges& edges, int vertexIndex, int edgeIndex, Coordinate source, Coordinate dest, BGFLOAT deltaT, edgeType type) : void + +normalMTGPU(float *randNoise_d) : void + +initMTGPU(unsigned int seed, unsigned int blocks, unsigned int threads, unsigned int nPerRng, unsigned int mt_rng_count) : void } @@ -135,18 +136,31 @@ class Simulator { } -class EdgeIndexMap { - +EdgeIndexMap() - +EdgeIndexMap(int vertexCount, int edgeCount) - +~EdgeIndexMap() - -numOfEdges_ : BGSIZE - -numOfVertices_ : BGSIZE - +incomingEdgeBegin_ : BGSIZE* - +incomingEdgeCount_ : BGSIZE* - +incomingEdgeIndexMap_ : BGSIZE* - +outgoingEdgeBegin_ : BGSIZE* - +outgoingEdgeCount_ : BGSIZE* - +outgoingEdgeIndexMap_ : BGSIZE* +class EdgeIndexMapDevice { + +outgoingEdgeIndexMap_ : BGSIZE* + +outgoingEdgeBegin_ : BGSIZE* + +outgoingEdgeCount_ : BGSIZE* + +incomingEdgeIndexMap_ : BGSIZE* + +incomingEdgeBegin_ : BGSIZE* + +incomingEdgeCount_ : BGSIZE* +} + + +class AllEdgesDeviceProperties { + +sourceVertexIndex_ : int* + +destVertexIndex_ : int* + +W_ : BGFLOAT* + +type_ : edgeType* + +inUse_ : unsigned char* + +edgeCounts_ : BGSIZE* + +totalEdgeCount_ : BGSIZE + +maxEdgesPerVertex_ : BGSIZE + +countVertices_ : int +} + + +class AllVerticesDeviceProperties { + } @@ -166,7 +180,9 @@ class EdgeIndexMap { /' Aggregation relationships '/ -.GPUModel o-- .EdgeIndexMap +.GPUModel o-- .EdgeIndexMapDevice +.GPUModel o-- .AllEdgesDeviceProperties +.GPUModel o-- .AllVerticesDeviceProperties .Simulator *-- .Model diff --git a/docs/Developer/ClassDiagrams/diagrams/ConnectionsClassDiagram.png b/docs/Developer/ClassDiagrams/diagrams/ConnectionsClassDiagram.png index 6ad4f73aa75cc7b9a1b5b30a21310c4311c864ea..76f444422744afb9c6e97e7995f036175878cbbf 100644 GIT binary patch literal 1149203 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 z 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 z

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 z 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∓aqUIjQoBSuZBQj@+JVvU}VlU3SHa6*vwWZ`K*O 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�A= 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%0Ad}yCSG*Ila<*;XJ~}cI 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 U!y9$`N|>DJ!fqu@Eb{YnCJc>g1X(Zg_- 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 literal 722642 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%0DKb$1xbS8}=FWY({IQLL? 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 z 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 : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDSSynapses()AllDSSynapses(const int numVertices, const int maxEdges)~AllDSSynapses()Create() : AllEdges*allocDeviceStruct(AllDSSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDSSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDynamicSTDPSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapses()AllDynamicSTDPSynapses(const int numVertices, const int maxEdges)~AllDynamicSTDPSynapses()Create() : AllEdges*allocDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllEdgesW_ : BGFLOAT*summationPoint_ : BGFLOAT**maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*edgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerAllEdges()AllEdges(const int numVertices, const int maxEdges)~AllEdges()edgeOrdinalToType(const int typeOrdinal) : edgeTypeaddEdge(BGSIZE& iEdg, edgeType type, const int srcVertex, const int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT) : voidadvanceEdge(const BGSIZE iEdg, AllVertices* vertices) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidadvanceEdges(AllVertices* vertices, EdgeIndexMap* edgeIndexMap) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT, edgeType type) : voidcreateEdgeIndexMap(shared_ptr<EdgeIndexMap> edgeIndexMap) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voideraseEdge(const int neuronIndex, const BGSIZE iEdg) : voidload(Archive& archive) : voidloadParameters() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidsave(Archive& archive) : void {query}setAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllNeuroEdgespsr_ : BGFLOAT*SYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOATAllNeuroEdges()~AllNeuroEdges()edgSign(const edgeType type) : intprintSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSTDPSynapsesAneg_E_ : BGFLOATAneg_I_ : BGFLOATApos_E_ : BGFLOATApos_I_ : BGFLOATWex_E_ : BGFLOATWex_I_ : BGFLOATdefaultSTDPgap_ : BGFLOATtauneg_E_ : BGFLOATtauneg_I_ : BGFLOATtaupos_E_ : BGFLOATtaupos_I_ : BGFLOATtauspost_E_ : BGFLOATtauspost_I_ : BGFLOATtauspre_E_ : BGFLOATtauspre_I_ : BGFLOATAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSTDPSynapses()AllSTDPSynapses(const int numVertices, const int maxEdges)~AllSTDPSynapses()Create() : AllEdges*synapticWeightModification(const BGSIZE iEdg, BGFLOAT edgeWeight, double delta) : BGFLOATallowBackPropagation() : boolisSpikeQueuePost(const BGSIZE iEdg) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidstdpLearning(const BGSIZE iEdg, double delta, double epost, double epre, int srcVertex, int destVertex) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSpikingSynapsesdelay_EE_ : BGFLOATdelay_EI_ : BGFLOATdelay_IE_ : BGFLOATdelay_II_ : BGFLOATtau_EE_ : BGFLOATtau_EI_ : BGFLOATtau_IE_ : BGFLOATtau_II_ : BGFLOATdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*AllSpikingSynapses()AllSpikingSynapses(const int numVertices, const int maxEdges)~AllSpikingSynapses()Create() : AllEdges*allowBackPropagation() : boolisSpikeQueue(const BGSIZE iEdg) : boolupdateDecay(const BGSIZE iEdg, const BGFLOAT deltaT) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT* sumPoint, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidpreSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDSSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDSSynapses()AllDSSynapses(const int numVertices, const int maxEdges)~AllDSSynapses()Create() : AllEdges*allocDeviceStruct(AllDSSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDSSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDynamicSTDPSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapses()AllDynamicSTDPSynapses(const int numVertices, const int maxEdges)~AllDynamicSTDPSynapses()Create() : AllEdges*allocDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllEdgesW_ : BGFLOAT*summationPoint_ : BGFLOAT**maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*edgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerAllEdges()AllEdges(const int numVertices, const int maxEdges)~AllEdges()edgeOrdinalToType(const int typeOrdinal) : edgeTypeaddEdge(BGSIZE& iEdg, edgeType type, const int srcVertex, const int destVertex, const BGFLOAT deltaT) : voidadvanceEdge(const BGSIZE iEdg, AllVertices* vertices) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidadvanceEdges(AllVertices* vertices, EdgeIndexMap* edgeIndexMap) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voidcreateEdgeIndexMap(shared_ptr<EdgeIndexMap> edgeIndexMap) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voideraseEdge(const int neuronIndex, const BGSIZE iEdg) : voidload(Archive& archive) : voidloadParameters() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidsave(Archive& archive) : void {query}setAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllNeuroEdgespsr_ : BGFLOAT*SYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOATAllNeuroEdges()~AllNeuroEdges()edgSign(const edgeType type) : intprintSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSTDPSynapsesAneg_E_ : BGFLOATAneg_I_ : BGFLOATApos_E_ : BGFLOATApos_I_ : BGFLOATWex_E_ : BGFLOATWex_I_ : BGFLOATdefaultSTDPgap_ : BGFLOATtauneg_E_ : BGFLOATtauneg_I_ : BGFLOATtaupos_E_ : BGFLOATtaupos_I_ : BGFLOATtauspost_E_ : BGFLOATtauspost_I_ : BGFLOATtauspre_E_ : BGFLOATtauspre_I_ : BGFLOATAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSTDPSynapses()AllSTDPSynapses(const int numVertices, const int maxEdges)~AllSTDPSynapses()Create() : AllEdges*synapticWeightModification(const BGSIZE iEdg, BGFLOAT edgeWeight, double delta) : BGFLOATallowBackPropagation() : boolisSpikeQueuePost(const BGSIZE iEdg) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidstdpLearning(const BGSIZE iEdg, double delta, double epost, double epre, int srcVertex, int destVertex) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSpikingSynapsesdelay_EE_ : BGFLOATdelay_EI_ : BGFLOATdelay_IE_ : BGFLOATdelay_II_ : BGFLOATtau_EE_ : BGFLOATtau_EI_ : BGFLOATtau_IE_ : BGFLOATtau_II_ : BGFLOATdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*AllSpikingSynapses()AllSpikingSynapses(const int numVertices, const int maxEdges)~AllSpikingSynapses()Create() : AllEdges*allowBackPropagation() : boolisSpikeQueue(const BGSIZE iEdg) : boolupdateDecay(const BGSIZE iEdg, const BGFLOAT deltaT) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidpreSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}ConnGrowthW_ : CompleteMatrix*area_ : CompleteMatrix*delta_ : CompleteMatrix*growthParams_ : GrowthParamsdeltaR_ : VectorMatrix*outgrowth_ : VectorMatrix*radii_ : VectorMatrix*rates_ : VectorMatrix*radiiSize_ : intspikeCounts_ : int*ConnGrowth()~ConnGrowth()Create() : Connections*updateConnections(AllVertices& neurons, Layout* layout) : boolload(Archive& archive) : voidloadParameters() : voidprintParameters() : void {query}printRadii() : void {query}save(Archive& archive) : void {query}setupConnections(Layout* layout, AllVertices* neurons, AllEdges* synapses) : voidupdateConns(AllVertices& neurons) : voidupdateFrontiers(const int numVertices, Layout* layout) : voidupdateOverlap(BGFLOAT numVertices, Layout* layout) : voidupdateSynapsesWeights(const int numVertices, AllVertices& neurons, AllEdges& synapses, AllSpikingNeuronsDeviceProperties* allVerticesDevice, AllSpikingSynapsesDeviceProperties* allEdgesDevice, Layout* layout) : voidupdateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, Layout* layout) : voidConnStaticexcWeight_ : BGFLOATinhWeight_ : BGFLOATrewiringProbability_ : BGFLOATthreshConnsRadius_ : BGFLOATWCurrentEpoch_ : BGFLOAT*connsPerVertex_ : intradiiSize_ : intdestVertexIndexCurrentEpoch_ : int*sourceVertexIndexCurrentEpoch_ : int*ConnStatic()~ConnStatic()getConnsRadiusThresh() : BGFLOAT {query}getWCurrentEpoch() : BGFLOAT* {query}Create() : Connections*getDestVertexIndexCurrentEpoch() : int* {query}getSourceVertexIndexCurrentEpoch() : int* {query}load(Archive& archive) : voidloadParameters() : voidprintParameters() : void {query}save(Archive& archive) : void {query}setupConnections(Layout* layout, AllVertices* vertices, AllEdges* edges) : voidConnectionsedgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::Loggeredges_ : shared_ptr<AllEdges>synapseIndexMap_ : shared_ptr<EdgeIndexMap>Connections()~Connections()updateConnections(AllVertices& vertices, Layout* layout) : boolgetEdges() : shared_ptr<AllEdges> {query}getEdgeIndexMap() : shared_ptr<EdgeIndexMap> {query}createEdgeIndexMap() : voidcreateSynapsesFromWeights(const int numVertices, Layout* layout, AllVertices& vertices, AllEdges& synapses) : voidloadParameters() : voidprintParameters() : void {query}setupConnections(Layout* layout, AllVertices* vertices, AllEdges* synapses) : voidupdateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, AllSpikingNeuronsDeviceProperties* allVerticesDevice, AllSpikingSynapsesDeviceProperties* allEdgesDevice, Layout* layout) : voidupdateSynapsesWeights(const int numVertices, AllVertices& vertices, AllEdges& synapses, Layout* layout) : voidConnectionsFactorycreateFunctions : ConnectionsFunctionMapconnectionsInstance : shared_ptr<Connections>ConnectionsFactory()~ConnectionsFactory()invokeCreateFunction(const string& className) : Connections*getInstance() : ConnectionsFactory*createConnections(const string& className) : shared_ptr<Connections>registerClass(const string& className, CreateFunction function) : voidEdgesFactorycreateFunctions : EdgesFunctionMapedgesInstance_ : shared_ptr<AllEdges>EdgesFactory()~EdgesFactory()invokeCreateFunction(const string& className) : AllEdges*getInstance() : EdgesFactory*createEdges(const string& className) : shared_ptr<AllEdges>registerClass(const string& className, CreateFunction function) : voidenumClassSynapsesclassAllDSSynapsesclassAllDynamicSTDPSynapsesclassAllSTDPSynapsesclassAllSpikingSynapsesundefClassSynapsesAllDSSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllEdgesDevicePropertiesW_ : BGFLOAT*psr_ : BGFLOAT*maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*AllSTDPSynapsesDevicePropertiesAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*useFroemkeDanSTDP_ : bool*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSpikingSynapsesDevicePropertiesdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*ConnGrowth::GrowthParamsbeta : BGFLOATepsilon : BGFLOATmaxRate : BGFLOATminRadius : BGFLOATrho : BGFLOATstartRadius : BGFLOATtargetRate : BGFLOATConnStatic::DistDestVertexdist : BGFLOATdestVertex : intoperator<(DistDestVertex other) : bool {query} \ No newline at end of file +AllDSSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDSSynapses()AllDSSynapses(const int numVertices, const int maxEdges)~AllDSSynapses()Create() : AllEdges*allocDeviceStruct(AllDSSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDSSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDynamicSTDPSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapses()AllDynamicSTDPSynapses(const int numVertices, const int maxEdges)~AllDynamicSTDPSynapses()Create() : AllEdges*allocDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllEdgesW_ : BGFLOAT*maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*edgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerAllEdges()AllEdges(const int numVertices, const int maxEdges)~AllEdges()edgeOrdinalToType(const int typeOrdinal) : edgeTypeaddEdge(edgeType type, const int srcVertex, const int destVertex, const BGFLOAT deltaT) : BGSIZEadvanceEdge(const BGSIZE iEdg, AllVertices* vertices) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidadvanceEdges(AllVertices* vertices, EdgeIndexMap* edgeIndexMap) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voidcreateEdgeIndexMap(shared_ptr<EdgeIndexMap> edgeIndexMap) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voideraseEdge(const int neuronIndex, const BGSIZE iEdg) : voidload(Archive& archive) : voidloadParameters() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidsave(Archive& archive) : void {query}setAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}All911EdgesisAvailable_ : unique_ptr<bool[]>isRedial_ : unique_ptr<bool[]>call_ : vector<Call>All911Edges()All911Edges(int numVertices, int maxEdges)~All911Edges()Create() : AllEdges*setupEdges() : void «override»createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void «override»allocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : voidadvance911Edge(BGSIZE iEdg, All911Vertices& vertices) : voidadvanceEdge(BGSIZE iEdg, AllVertices& vertices) : void «override»AllNeuroEdgespsr_ : BGFLOAT*SYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOATAllNeuroEdges()~AllNeuroEdges()edgSign(const edgeType type) : intprintSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSTDPSynapsesAneg_E_ : BGFLOATAneg_I_ : BGFLOATApos_E_ : BGFLOATApos_I_ : BGFLOATWex_E_ : BGFLOATWex_I_ : BGFLOATdefaultSTDPgap_ : BGFLOATtauneg_E_ : BGFLOATtauneg_I_ : BGFLOATtaupos_E_ : BGFLOATtaupos_I_ : BGFLOATtauspost_E_ : BGFLOATtauspost_I_ : BGFLOATtauspre_E_ : BGFLOATtauspre_I_ : BGFLOATAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSTDPSynapses()AllSTDPSynapses(const int numVertices, const int maxEdges)~AllSTDPSynapses()Create() : AllEdges*synapticWeightModification(const BGSIZE iEdg, BGFLOAT edgeWeight, double delta) : BGFLOATallowBackPropagation() : boolisSpikeQueuePost(const BGSIZE iEdg) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidstdpLearning(const BGSIZE iEdg, double delta, double epost, double epre, int srcVertex, int destVertex) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSpikingSynapsesdelay_EE_ : BGFLOATdelay_EI_ : BGFLOATdelay_IE_ : BGFLOATdelay_II_ : BGFLOATtau_EE_ : BGFLOATtau_EI_ : BGFLOATtau_IE_ : BGFLOATtau_II_ : BGFLOATdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*AllSpikingSynapses()AllSpikingSynapses(const int numVertices, const int maxEdges)~AllSpikingSynapses()Create() : AllEdges*allowBackPropagation() : boolisSpikeQueue(const BGSIZE iEdg) : boolupdateDecay(const BGSIZE iEdg, const BGFLOAT deltaT) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidpreSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}ConnGrowthgrowthParams_ : GrowthParamsradiiSize_ : intW_ : CompleteMatrixradii_ : VectorMatrixrates_ : VectorMatrixdelta_ : CompleteMatrixarea_ : CompleteMatrixoutgrowth_ : VectorMatrixdeltaR_ : VectorMatrixConnGrowth()~ConnGrowth()Create() : Connections*setup() : void «override»loadParameters() : void «override»printParameters() : void {query} «override»updateConnections(AllVertices& vertices) : bool «override»serialize(Archive& archive) : voidprintRadii() : void {query}updateEdgesWeights(int numVertices, AllVertices& vertices, AllEdges& edges, AllVerticesDeviceProperties* allVerticesDevice, AllEdgesDeviceProperties* allEdgesDevice, Layout& layout) : void «override»updateEdgesWeights() : void «override»updateConns(AllVertices& neurons) : voidupdateFrontiers() : voidupdateOverlap() : voidConnStaticexcWeight_ : BGFLOATinhWeight_ : BGFLOATrewiringProbability_ : BGFLOATthreshConnsRadius_ : BGFLOATWCurrentEpoch_ : BGFLOAT*connsPerVertex_ : intradiiSize_ : intdestVertexIndexCurrentEpoch_ : int*sourceVertexIndexCurrentEpoch_ : int*ConnStatic()~ConnStatic()getConnsRadiusThresh() : BGFLOAT {query}getWCurrentEpoch() : BGFLOAT* {query}Create() : Connections*getDestVertexIndexCurrentEpoch() : int* {query}getSourceVertexIndexCurrentEpoch() : int* {query}load(Archive& archive) : voidloadParameters() : voidprintParameters() : void {query}save(Archive& archive) : void {query}setupConnections(Layout* layout, AllVertices* vertices, AllEdges* edges) : voidConnectionsedges_ : shared_ptr<AllEdges>synapseIndexMap_ : shared_ptr<EdgeIndexMap>fileLogger_ : log4cplus::LoggeredgeLogger_ : log4cplus::LoggerConnections()~Connections()getEdges() : AllEdges& {query}getEdgeIndexMap() : EdgeIndexMap& {query}createEdgeIndexMap() : voidsetup() : voidregisterGraphProperties() : voidloadParameters() : voidprintParameters() : void {query}updateConnections(AllVertices& vertices) : boolserialize(Archive& archive) : voidupdateEdgesWeights(int numVertices, AllVertices& vertices, AllEdges& edges, AllVerticesDeviceProperties* allVerticesDevice, AllEdgesDeviceProperties* allEdgesDevice, Layout& layout) : voidupdateEdgesWeights() : voidConnectionsFactorycreateFunctions : ConnectionsFunctionMapconnectionsInstance : shared_ptr<Connections>ConnectionsFactory()~ConnectionsFactory()invokeCreateFunction(const string& className) : Connections*getInstance() : ConnectionsFactory*createConnections(const string& className) : shared_ptr<Connections>registerClass(const string& className, CreateFunction function) : voidEdgesFactorycreateFunctions : EdgesFunctionMapedgesInstance_ : shared_ptr<AllEdges>EdgesFactory()~EdgesFactory()invokeCreateFunction(const string& className) : AllEdges*getInstance() : EdgesFactory*createEdges(const string& className) : shared_ptr<AllEdges>registerClass(const string& className, CreateFunction function) : voidenumClassSynapsesclassAllDSSynapsesclassAllDynamicSTDPSynapsesclassAllSTDPSynapsesclassAllSpikingSynapsesundefClassSynapsesAllDSSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllEdgesDevicePropertiesW_ : BGFLOAT*psr_ : BGFLOAT*maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*AllSTDPSynapsesDevicePropertiesAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*useFroemkeDanSTDP_ : bool*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSpikingSynapsesDevicePropertiesdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*ConnGrowth::GrowthParamsbeta : BGFLOATepsilon : BGFLOATmaxRate : BGFLOATminRadius : BGFLOATrho : BGFLOATstartRadius : BGFLOATtargetRate : BGFLOATConnStatic::DistDestVertexdist : BGFLOATdestVertex : intoperator<(DistDestVertex other) : bool {query} \ No newline at end of file diff --git a/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.png b/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.png index 4c02bb35d889247a4af9a27fa27d098dbe05374b..d6c4729e369019974882cefa56a1c9b3debfed50 100644 GIT binary patch literal 1033311 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

smEt|Jpt!(xo=p9AC?f%< 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%0A#z{P< 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∾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

vO-fd!!m@`6l6GB=If>k@$hVc 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

bg+$2OsW_~X&Q!st$S^nCE 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

Lm2i;dbt7nLzquL>&9IhJc~ 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

ZuS>gnnV4G%XN6WM!)LKW-oTttwjlVy5t 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�AgUF#Cp_2w~!g!+1AoM?3WjLJ((zjk+vIE$AM`P}B7c`ZGh2dSv3 zuL3HYjh zZleq@YctgwyQ~c|GV5GBkyQsPl6@f~=XRdPM3F5?x!Y$WVr65X{5V@w@Dx*+o#%OO z$7rs=s+p^pidIjVz->ZA>3Wgp0sOsm{W^k5@ZHxf`R?c6lh!efr&o1Wp-+cXo#;y4t94FlL7k=eidTR=;sC-yE9$W}2#=d$eR|1flJf+Qy(48!qq?VWb#s zuhmV4F!idpZ%>Z9?gYGpQAKqM5AfT4_Ov06bD=^b{@CrrwR}JJ<>RH>l=u(vbCGY! zLlXSa9~Cb72VQSJl911_ekb2P4r?z|`LW6v_>Nn^EoJIh)t4{ZXlbzl-bnzi&Yk)m zn{)2rXAnn*q#biuxb-Wayqk zhO~2-+<{97#=XNfGZQN)XsloxL{(d!@rDFfF5E{(pvpkzdRG&o$Je`r{#i^FU+kD# z34^NTbYI$}7O-ZxW@?8>JvHiP-|T^os!dz&+B*1Ji<=J8N8HSiK0exEiQKF6v2Vsc zs^mfi7cPx_TCD=TPLwAQnW7>pCtvu^>`TA1S$rndi#|Xh+NrM z@LdT`A2iqR>kP6DL^T0X)Rrypi@{D2Bgy#qytIgdFreoNk++BFryc59W^UTReYUNIG*F^fcOl7*k;>u&ZVq3>TPX3S!^))_09E;DRif-o}xro{{fLU zS`|uF5XNiW%Oa-LntR@%Fq<0fCbBS;-90@C1D=g&vCv72;WnqJHN>-A%erLc?`xYf zmn)D-s;Q4~sF39Kk{3YH&g)w3@41_%j&$|IzrwpI~rI+Q+w{&vJv=RdUqz<5JO z)O)u(W4V`3^zj!9ggR|TG13^ixepvjgjBn9WfSHyTip}K1Q289HPgPhCBXmUUKW{z zfHTOlSo4R~VZoaWwfesZ%^Yg9Ed;IKv0TDNs^(7g^+d_txp=xZL z`bsKZ}K^~BWuG!?}7#U8X;_Om&kpS@*bY+PnRq~?xKg3l~{jOxT}@wp#d^4#CI z6VE-&A>cAPe{M5c#*@IbXji{su6vg_ZybIV|$GMvK6mm5_GfhXoVBHexlf=|K$tj>dv{R)=|KuvVLn1txtZ`tv2 ztKgUPwrT?iK8O0S@`>=aZjs{!H`?#rG8COr4^lTRJ~D1MLVeuf`S`JvqGBz= z#EZ1n620+O!}&Su?~_PX1ulm!kLZ&xB%dzQlT*d5&>Ve0JO&XJ0(4im-+Y1hpu4yuT3t$hPoT^(8%tt{TJwvWBt9Q&s*lV zmS8(A?K{aj{}M#{oNaHpty21dRFEqBnc=#idOVlShFl-yDdFW~tyOB1&>P^w25$A| z)6dXd9>I8rvl0>=k?fY3Sr;LKN$4}GO#J*$7oSG|YrNxw2M^M4C|^Ox0E3U324P_$ zGU<2B?$yLyOD1wkP_{wb%+C!hk7$u6VZUEAZlRmQ&c0EN`%;EveQC~N-8SfxY7czb zQyqc1(P>~qy^Bd&nTU;~i(=+f=s)G&16Iu=#-{rZZEiZ{G#E=OjF4}NjwL@8fTitB zE4`L5+Cdbxvi`8{3ix5Uvy`kdr1$G?jrw!MgWdAqg%Hww$B!mx-Y_-nkCAK z;o=Dj(XwcaG$MO5+ejT#o`$_SU)&7ccHSSk zyiJ8DTsUj4gN_lU`0}GQyoulWqctR5UM3?g4fk|ZfW>23i1A}at%;Zh9P)JkK5QcO z)b+nm?XVo1-M|%DD)|%axQI)P<_Ye>h3OU{nYw@KT#TourR^LTXa>Q0~tI06P2QxxTswQ*vlvJHtHoT*ygBsL-66?Oq^0$xqqZ zntultsSnLFh-l=7ZsMv9KEBv%>O6-A)F576MkY);8e(=1PT4N#Lz`d}Lj#$jiSm4O zb0X_o+Q$SQxCSM-%wBgwS6u!$kk6cfg&3i5TX0G3hMr8lRCu~#eSY15ijY9NkhS2p zR6PDEPX#r7q|F^Y3Qk>PS@Oa|Qb*F|#*G)@g^-Sh`KQgmdU)s^JpwHA0peCy6AmIE zQWl2R_Ffq-?FO?b#UMro2Z}qPynUgwN_AVS7!uy51{o4$D%>xisam^(*9evx;H7qB z8#Z;tpb2eqM-gj`+NOoFAB~<-5AHE7d-=slCxoYop3m&BSkdXjI4$VR0eC00d@)*V z^zhC$F$$Nyr*3*%f)vkkRn!#u_T*0isFn_w3zbE%t7Z8pY|Xi?A}i~GdaK`mOewy( zu8!ruJRf_N=D+x~(Q0nCy*mBXY@rSEZ8%d^uvRY`9j{!RJaoWgqoZegrVeJcqt1%H zicF1H`=KmgV6Y2ArvKQ!;5FX+XKU@HexSxt{k)~+G}w5vud@jA+s<<< zSno-57{pDmIRPd}Pe}1@n_8}b_+VdO2)?jhSU448t5EFW!n%*9*_)tb|8)x$zc!q` zfB!zfdNHv#Ot_j;l~v(-nHIIWhWUOlp1FIie+_#+KOdjbd{+n-DUzH+LxrRlrds{$ zcm}t!uw%*E2w-6U4x-Q{ejcvCIZpg+*+AfBzqdt)Y9z(Pj++ezr&N-`eLD#ghB+kv zI0qp4J+C~g9vTtR5mSx0P4F^IaYy{X_u{F;KWKvbU<&L%>88eJ@-I&zz9Pap`g#Df zfumDH&5jKoZhY5SSm^CpadAjnJQr*IV89Fy2iI2(ARQ z7F^k*?)c)b#&Ypn9s)`L$c)8>;UWB%CIrvwwh2sm9?_naH85_Tm>sP^e%3kYp_Ga3OIBjHQC>J0rZ~qu*iY9qNcUfZHqBoOE-zr$Un(7!c+mPvXaiR4`*l>{uzw>feWUll zmo!&$1^Avco5{H12_79_1_)3fj^@a$$XJZbI2iZ+ySAq&LWM5LvzaUw@b`%;0#twD zqxPv>_*wBJQOvnO_c;gKU5j_|xqBX-o`71;;c$R|1$Hr=~${x3Es=7)r+f)Lv9>K^<;&q#f$!9gvxj0BzTUj9h&iq$bk}}ZZM8W%%@N$fK7hzM2zis_Q@Qp=V)A`+> zrw_L>X$EblD~Cqy)Pf5BYaM~a`>g-bVUrbxKJE$1u`cL*lGbO+84_f~9%sV}&nrS` z0K}s9!9qiGh1}dr?I`HfUfueJmIU&+bIe9rzz1xq08znYhfR@=EDB^_;_zf8K+Lo> zQ&eX9ai}hUdz97Gj6>$}B#SpEKK?V@-nd+zqHssnOfM?;r$wY(C`BtPD^Yx4fnul# zf|Wc?_Z@XZtMUC9gb#qEx!tgqK(7dHyN13*TI@S4dMIT5taDW2v;S^*^f=UFaSY1n z;fUdOM_0{r{5VwkBVM_hk8$v=U%S@IqQtiN!-tSL=1T&{jJh6+hJ&|t_jm&O!b#w- z<}Y8wmPc$NueXh=I<7oqQX$m`_a?@(3=eB=(j+fRCnRY`b8t67Hd-xyV^ zOzJZ%@PyF-?iLE`+q;)Mb_VZ-$KKc4W!y;k0t=X<4kbRa-4_T|LOiqcB0`)iHRZC*bA>AuI)8d!(w4SJfNY_ z6$GDVs4lMg+USN;xPhYT@JJ@@pZ#h>zA@`%4He=DS>Zcoccf-~csRpss0GaOiJ8HZ zh>t@Yjy$s(+jnzJ#^8&JsL*dMguiOo%VC52JqL$)rDS30voaBdP@TIQq$#~?$dlIp(Ta$~b7`u-CS2&y%V&s&OJ`5_ zXFlf>5NIwebg)l=M$u;E)6q$0gIRoFUC1gBp^9L0?3aj;K%|DKhnh0L;Rh^Y7{?udI#bHp)t-h959|o9xv|$l^%Trl8*rfWR>+QH;&nTwwx%) z56d>`^NSf^>pFU)cH`#F`4{L;oMjC_x)+G2f-i>_XfaO@HUPjwaAOQ3W=NUvnAByk zV1XUgLF4=G3uM2=?Ni*|IHOi-I~7y&y0uL~yLPp`$nx2=6)T^F-I)Edh1Nv+_txb0 zAO9}e)#fuLhRv-BDJXe$OC%-}LZdD?aEk80vB;1K5%f%Ap|kyKt@G$NCSpl9M#O1k&*B3S%hPcrhb_Alp- zh8`gpI2Q=v9OHGt4T=y!KTo}*w`ua*fs!>z0so03&Ct; zxBoLJ!kOt^@Cy|AL5b9Y9|&)Syzg zMVB>3F^2z(kj%U4wUw3JaKVA(fV^34-}}+#va(B8ucq40+X(to!FK55>+57_olS*F zS?E^Sr$whbIO=d$3>zw!z*B$j~ecB}5F7$B9UJ z{J@tu6%vHKN8Y!tghaF|99nBJ+$mBC@SD?xxlqA!NjgQKh68tgwK*MVb5inP>@I&0 z2{{lhVWxpWZ{oS(Ea_}-M-ts(n3w(R@+>EOLG@&a$;o-Xl8S$V&|V_SZFPMG^v2G| zy}vLDUjK9~+x5vHcMT$^Jv@k-{$HyO5a`O5Nra<>Pgqvlo)(y&IYhFWoifg*XGXuL zoF*}E`ezpjXD%#njqx6P4WL#*{8&Q+JB!}Uo8iNNJbj`LP28!-S3R*Iwtu&E3_eYBx%ih zH0f-EtS^YFZ>P#^CLCd)rOQRl# zFtW=Va&6U>Yieu@j2^lONI;^1g^#PWoW_obID|133o?k$d>D$>mKb2!Ghjubrj$a8 zBD90=i=)4wSSuIAUTBUaHJb^nJWEIyco3HA3P$!y} z)CgWhM^=tB6qfhLJ-$vGkp^Y7{egW(R0=gp%MhCI4!%utJ!KtzQ-y?n*iW5NpR@F z0g3GG7le@=7IBPg9--7mjkI$t(LlLxv9ps$P%F{dJ)#aQFF7&&v7v$R@b}7wgl~V# zbzo58cHjv9u;^UyrNON{%ETU8zoe5ry}PEyVd?~_hPG7FUK1#PAKD9OM}u;6=TRL+ zF@Y^-X9w5AhRI6P1G$|X(7$b=qH68w5#xYA8;PHL<>SjVF$DZqKP0#um`^NPMWAz# z%NE8U=gHsK_XC&5HnmHaLSS2!d>1_ex6%t7C`nOKQ83?r#_5T|5G);*HyUY7lPFFB zqqBF0PV5cuB>Ki^stj6}c_^5l`9}QCLj_wH%t~fTE$fENJJpv0#GC zR$_T;`xTry+>|yM$QgP0%%VoH4xaS6(MSPAHMJv_F05E-ccb%>`icreL~(-v$VzOG zT5s?;n0k zB-eIDmz)1DRjQ-R_%?FQanxdeQ(TD+V@`WR_bbL%yn8O+S#K++d_E({b(_JTV_^xQd)efuB}U$=U-8C(uZ z#|~qxwiw#o;$r{9I$ntX;HlZLc5N>WLQkzb zt@)&h`oXAlA;p7o+crz6=>0A(h)dgl)3O4ZAkQt79+W_guEf(RsERd^vZ-Aab6BUk zl*Q!@`#z;9m%Mvci`GbAB2UVuJ5l+eB00vApE{aD-J?th-)R^ zzD!EObiLJ?`DpUOTu-!Q6UHcx=q6(+WMH3e#4LDQD9~oGBD6lO=o287w}6%`vj$r7 zwYL|0^<#bUx~jo*o2ah0!5)47{CN;Q4AZM^0Cb6lQ#v+NR+caJzZKSZvzxkRahjyK z;;w@1v{OkuONrcjbU@)Y^7KmWdaU2P1tP1tL-R0GJK>%(m?Nv$qG__|)BLZmP%oZq zJ*m!i@!i3Z33=EKkXo1&W&j^#*4U!%bJA8>pg^M%z7B}R08$dTfhXc1APKl{Xf3Dy zT=ZKE`t9S#Gf}n4SCy50Ls(giha)W=UBH z!phpZ?tt-O#2nAntOU0Ws9D`=Xa#}zG(uF=+}!-(gHvQ2^p7p0s^SZ*TC%=7`n@Dp zR(#0LM13KlJU~Eoi7N42T^CjzOVQ!BncJ=BK=a_GyQxGZ2mu6ST!}O|dDu!OpUJfX zfjO_|SwmA&JVc=pHfzPno0z-dl~Fh4Q^azlpe9jq+_01%(~WQbGSXJQ_r$uRYONtBrd>s&0<@X?pxwTF`EnfuE569~%rv=)o=93+ z8msy2+4mTSt4ItkhddT&N7NPQw$V+Y{v!;MV!BOPAC5m0%TLcqNYL|KJ)M$~C&!-L z#-*^ANaB+#dW*8w+10gEVd!iU4texM&8!psvS5dd3pfki^05;nBt0x5om#uqvIxAN+K0!WK zF0{nz5PL{udkZtB)>Cry5m1#N18^JAij8k@lTPqy%yWwpCrVL z2x6=%4B|5bASxd%i+osH+HcJv{jIH3baWO-Zb?z>gpib|^N#P8%9jVc|kd%!Z;3MGTI$71o=E$-ITq zs3jz)QBo;~XrI5&fFHISbLoP#BTU#O!+aznH`f+4Kw8+esTo2#g7 z=bG>E*X!am;u73T=sL9o3}yi*N;%4f4ye-x>M~!DzP2bu?N!u`vU}stu*W=ro6ZID z9?;G^(q6uVZ>_f>eMBHGm4-|0qoMTy<$d*sX$-_NJ{1*(#@CLoIQyQzgc9#~fO&SB z`l4cy8g6Z|wL_?>am{1VWA>{eawhl6!zFoYvoL|Wl<+SpM7usAu(2#hCYNL0j+vw=98PCBQpCshh3N0bT$0y)jqT8*1#V01Vkh`DM_>TMruJLfd&D*xilbK$~?{|w#B_?949l&0+$%P z)6D4(7AY(lLWamOX1cHsMsKR~TZqsCzVUw}d=!#lv#Y2ps6lD%HCIj4uqUSU)l4nY zbu0S3tu81j^)=_JmpWKsHUiE7_K$G650XgMP%Z_}DhPnU*N-1)ZI#)b*Lur7mdIU& zq7=il(gCq^a()JerSM^$D=|hKEuU>BpDPn|ia79#i}0?ZuaEhfeXnb7&ILXb7w2NV zZ05DMP-!=`^pdL(YNl^!cv*c`VmXogA{tJIfvEkN&0A4O0iHfWsm$xgGJk?JF<}N! zAJ4yBysoos(*1kqf@TQoDmgi&Kw^ud{5Nx&Cv8&(3wP!X3_;>-i_{>uJcId^#HfY#c4iwE zyS)EV?(D{ty&Zj$@~cTJp0=fCXIrBPgmMe30(Zs&M<_>#Cb10kAwEH>X}aOws-)GE zkp94o0W=)$wcsYEfo}?=(+Y{KSmyQhbI9eYP_2zjL=^pIdioNqb3};>M$VAB`P?z+ z07pTnn=6Lufi$JcyQQ#1HNg^K2DLK>g&vY+?LwQJ=p7nq%ZFkl#T`R#6+ zls|f%Yk>mnM>jNx?R0BMBCa$f zN&bp#Xf2Ve7kwc{q zg(&I))YdUM1A_{+Cx(8WGe?)4Gy6KHo~3oF(@V{TgEp?xHU@SGvh~#roT5M;GJ;kj z)DfqK$Mo~`?I+_ymt~wP;E&@hPHEkvE=GdG|r>2?Q-q*ajozEMn<#l{V<6mTId z8X{~{_Ksad0iq{^{vMIRuhk_?^);hUuJtgp0KQK)KbPHF)lhP z3hutm-Uv7^N%;d2W%OU;XCF)ru}MiwBgat4^=h;H@~iL1wjNxlspppTIPJdabGBj7 z3GH4erh0J=Vg@1>K6HMGDQ+hqnn$45ex?i?PLUJaoAqGYaGQR8bnSY3^*g3b=ADS| zu=Xc_lP#N;wzb77^Vl9ZFhHQ$PQ0Z@86m$g{9p>nxC_!v@_G9~HvC(%T>2&8uQ{jT zq7z`^>5^WOg7`D|*}rqin<2g!@zY9(FMktp6x*IBlmLdQ35WrLhXXmLMD|cOSJ_X! z<=(gnjzK4H3<+0IK$$0YVKrpPHCU7Dp)WwugUP{S+5`enVmmhi^a+M8R1=I`k%7dl zidA?-*4|^yiV6-1R-h+QGuI{FQCMe{Y;$3G!;VHdKw_8MZ|IDE@9N?)?cdHpf=W

czmz2XlD+{k? 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

pc&59VyVkH( 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 Bv-$u4 literal 505048 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
=p93O)52jLEE0)lq9%yKkJ^?keKp(MDXD zR^vvBSbFhp5BlPW%!qY^Q3lLV?C1!|n{X@9&!0t5wSk-!nmFawhUl^0w{c%Z&QwEB z@a_d?Cuho#&9L2BVaWi4{_LB~$~fV+l5sIu|5-9tVkDixqtBY&RL6q1zI8-|JXg2> zoU2(IipV7>U10fz0wf-TnCdR%BPSw6KZtOOO*f}k9tN3g@)>r&Sl3aY!dje0idb-8 zIZmuIAL|z=+(EKYC%-VY0Ch$EMP1hF)V#bA6_}TRmF=&vUxiOo(4E0O_z-ZNqVq_z z9Ge4z(zri>BvmAwdUGu#TvNRupeU0V(?2!lCrc0@FQdPrlx~~U>}+PBW_K3*^1+5O zKCS~%?w7OFEM*%X+WT8bz=Hd#&cR?VPf~ThbYBb^U5WohR~mIi;LoT+ zosfk=UvufHjW~Pei&{C^Co+9bNK95?`prpuvx-gS~8Z5 z+<5=1`gWR~|HqGlsiNlkH1R3kre$Sv+ZURHQiO?=yxDATW+g(}v3OSdI>%Hgxi|yhXQRPbS?QK59JR&>1=1 zFv9nEe;)^zJ-2a$Vp}7&RZUbzNPYu9%+se8(~q0lup9~jLn1Eh-h{Uck<26z?STD+ zQZRB59o+`*w@(A|4@wTbM|~T!%pafQX^ct>igIFwKVV>B|I+vxP}}G|X{t!%>&v`t z%0a$4rI{^{;E*d>^Q~S*N^V&Hybo|1VrZhXqTxUK3)+yx(Em_u(ZeAK#6Ik`Pw#ia z=zZzwmzIE^H+UgRD4<+q6z1)n2y6&gi6}g;jgs>5@O&GuqJ9(!A_J&&-_Anm6%#Z3 zMj!h5ggnFg`ji_kkf|QIIH9oQYVwU1WyQXKrat&>HAl4z)Nwc76j-UsAQ)L$p;!y8 zsE`9$?nfxPK2J=B9Qi?OZJQQ18Y>wUc zNdf~XIH5dsUvl61X!hg}e%p!Cz!<>G*xcv8U-N`=j zr3@iqulGc>Ly>C@sBHs?x=1>a!8$7Y->djPwB1)Pd5LCnlu1j)JdGlkW6qgxZ@0Dz zCuufgkB>gGfc71VrK!m&3`lp{{-RZL_j740*XVbFge!dB2VL9CT( zKXx(WL(ttl<|HW^N(hxS?Gujv_c7vHRpetv4*laTz!pvFmHGBhk^H~Z8=MXGKsdP9 zd?+}nIo|+c0zOzN&HpV(Kb7fSH{0P7Mdh^-93`c_ISve$N9)AAm+;{Va5@%COPMB; zUtw{C=aZhi<^xy;qM5>k^yh(-PZ_a~9;19oKOV%slWIC~Vv1~DNrMNL+v@2Q*2GpFpta6TXFx)qn1AUF^>KPL^>+JKJi3{!j!^BN_HY-`+TzN0Ufh?L0J0z8C zO-=6_%Uf*3>Ap9%qitb$0e&UXe;20LsP^uhJp~wq;dOwNs}9?uujX6QYOeapC%KMR zuG59I_*>K9B?PY_2L4Yf4z)m)nUK`ipwhLt1;|C8iLIZqvqShG1MJeu>2R!rCkrX_ zYq5vjwS8v>r#O8_oN5X?p>`%mnUbcs9!(@X?1Zs@?lB%4-S>fk@e2E! zI%za%x@bwh7`Y&RkQj!GHhsO7J9kN7kY_R2Qri-rJh_%u(6N)f>*zs|Vb$693pTdt!5-10;us_1|+@;&~J?t|*ttIA-2DBQF zrjXHUVyKip!`ftQQ4EvS)F>$4_3h5&aYV#jXv|*6h1>lG!4$~SRIU!QYE-LT2<<1E z`igvO5CVI|{GjY|JbDyoo19GEN>y)zU9$gXsh0^U|ELkpjgVfu9?i1%Hl=+&5c3DT zZjco*?s}jzXrYdD`Owk<3BWD@HYP7v>pkP0;sjUgQm$yiQk zY#7#a=-18o`ACM>j9I?2g9^@D=<2BBD>qU?qWG&C8s-xu^bd4`^`9oni9tG+3sNdFcQax#WRnnz$sESL9iad5^nxDKN zR(i;MdwC_gKTosqyObSBIf7kaNQ&#mj2{2GUm9qVz#t>a%NiSWb9$!tvNp_~uC}3# zx_WomDKG&%E+J`Rbv*m|EnLWb#$|U9f^%6bTwIoWF;=VA_S-xDK+eGp&prH&^G?Ux z-|KxT`B93Y>LRNJM*Ok*)!8ud$qCC7h-Q6$Y z%K`AKZzQ3Kw72(ypT)vJF;nhpjMo~`qM8XwQkP2&J!+bVqxkakz)ad$zG^(TG|dk* z4|I+oiz03V{Oy}v8)HJY)3Q{4bw*Br&#oP!d+OiluAvy51NWD?%y&o|RDi78H6*TU zccN3{bDeuhvS@Cy&;WxvC!$30@p=jVsJd}~+oWTX)E$N2Z)|h=sBhb@=bhWPE9z-L zY2`z+*XHjBca;Tudz0+nZP#=qFzQYr0Vb9E#T0ON$d83uW6zvXUi|lmM&M(K(m^oI z6br3S$Zlm<$|?(d^nGcKM+k|kF#cjS6~*DQz7p9q1@Mwu+L}cNe-2rDBY?>H74{@? zoEjO7Te3cQqWbl2PK&-l<^G zO`Mf|UtW2n^Zfa))I3`6>K--AAZY+E!^O^rt(pmZr`$*x1sKbw55+LjXsCouhkHpG z*0?8RWq_jd`>^#GAkwDLgjlL~ijGh;=z4$c>;})=<6BNjkfM?^L}uG(9P?E(c?rka z@|9j@+>bWdk93~O-8sYDQK!YZg|<1nF&yTut^_PP4Naib83xPcgr?;ls+ekdf01#} zKps(lSJzBHRk-MF@9=Qdg=?z8G|%Ngro63%Y#1j!WyRk+YN7AX)JS=*9$BT01HI@w z=l@6y?bWH5H!!lmOt`gn4cSJ0=PGs=wAx&p!yt?YU0ZvT*Lk?U>Sw>;jVlpuD=~6K{^HSZ5{d#lSIKUQ%0Z>his*-FY)w zjnS#zClYWk_%5NK`_8DQUXIU&ebEmpHi*UU4ZkLNFbIzbaiNwiEOJ);tPB!fkf&-o zO$wkXeb{Sir4ELks^@htNpvG{TdY4=^OR)eAdA-kruiTO`I3D`hi}Gmo18b6=R(t% zSsqwc*`o=Eo^Slus~P%2 zpq3F;7xCGxO^b>Nl4Jl%+*urn7@l?b?e82kTBbdeGZDUw4DPOhPO_3=)8*mq6`^V|Iuv9=v=YPjKvhkTIkQ zzgT6I&3_-BLUg~cFt;uR2dI4Bj}TeXNj=*S`6R1h-v!a0A90P$j{*Ql^Kb99*CF}v z9g5W-BUw;V17Jub{MGnoX|qB~)k5@7lK182g~=nfK>L3mEb9wbf)lbf&U2rNuwkg$ z_0IPGW+$ysz$)#7Auuzawd>4t?*+NhXVQGiVCSdVu=Ke&X9m2p=WV97uj?**av{tc3ouI}J>Yi?ZERKDC0p9k z%Q0#xDC7%p;zf3S{_{LoHmrrKiwxWt?V4CisHz6;@7Dxa$qF7EOyqxI_l)3g!&3x;zG^>cyv?2?GWXF z>M$An9_mD|D#AJs(-m-WS%2zBBYOn~QYB}-w~iQ&TXaGJxt_0Il!%0QK&fyvbuAp? zjI{ah%_ai&6x}x%lv7KhABcGSWq~X02@F~8kq(CvDmAZ zqA@-xY|k!-`+^I!3DWD%-@ubcizoqr0cGT`9W>GiuFZO6!$?LQx#u}B`mEZk9HNUd z8A@ykMR2E(iTUsUc~o-NTFUT4?lNo!vr#{m3@X4zGrX^FCC<}fVI#Bc_@D2AKS(9e zOQfkKv%WpYv%`N&D`&BzD@>DDTS|w2IuPE|?OI%B~dEsJmKy zH!Rez7E4R>sVGNojm$%@Fb&(HDQ|G&6htapvszQ72 zS>7ge(>9q4pzBTgpMfxcycA1KNxwbS#kz*xa!<_0d~B@?2VfKiz=@!nC}GeTQ&s67 z=;|{0Uc-W%Nd$cD&d&3%4_~(60B9zwg;^@V8pCj<;A8;(^X*oY@{}hAz_2?zQ$k%g zkegF&uK5EBd19n<45Y@Fg^0Mlz_FAJXf7vb8)(s*hb~7oe?>mYQ&!-gZLO=jQStT0 zAT+rrfd>5k#uVlz2>+6UVz6fia^;H`{QQ{-R66{OkSaI#N$f+~u0rI@NJ4In8|=kT z;|Pi(iWII(?8e#ayCRqO-rwa-$<;0Ca-RBHda{1<6lvx2>lK3DRRyS(f#Kg?nn#C` zOJT+Xq$1~MVOErmje)^Loz+l7Db=jVq+Og*Kx1lV?I1zW~f! zxr}a*8(%t2lQ7MYZ9L}>*DQh0axKwfXIVmZq$HK-K3~-TA-r-qs;&>lZERL7mz8d?fTR;<=ROZ?!Myt9Atm6NR3Bu@6F>^p z8p4G8RhYgU)K+cY4ufhci0Kbrg9cud*x`QNL08!=q^+84`zBDfF)>&M6%IBE(BZ;0 zG)#ocbhF_{Vg&hk7u(W5qM?eDxHW*N8HfJ)M%@iQwBpiIb8Z~F&^Uh*0Vndqzv0HH%B9e8&*X1*<4uB8 zyGZu`PH?PPGOEY~hdntlk4WE>p31|Z=4&Y-32tk;05lDyK?cRlKxg{tKxMvum7qsz6Rd}w)quX6{$NuW zJ(c>4mJ2-$^DYk4nH>pfP{|0mj@ygWQq4F&0Gh-tDHwF5PqnlbL1!tv-ZWIY0(l@I z-zF<>&z>Tm-6ix(fASI41mRhks|{Y9FczcU^qoD6iW%ue5_b04?$r21knn$iH)Qa) znEeC}BGR$+h}|ELp>*0@kNh#aJtsTiCg;*rN^a!_aW9h!8TY>V{Xn5kc2+iiHg)vw zrK0N~QrVIFHxg&izTG*hDq4@a$r`@(9@(J&R=pi`rhWi24G25{!tO62{hsmaXNrz1 zbZ5n4e}68k{YD@#_#uGY>(?ON9&GUVCNT`*W- zUijy9^M9Wtk2W#A>eOW?n1b;8n-v&xv4?@QDSk!ryYgNv3&&Fp>hKnu9K#5Z!qo6i z!pAq1|M2GSHmSF0U=Ce#20F`&R@Z{xX#<(Y+?M%H8}bxTz?jLyZSfZNC*A)mW4J-8 zOZl>&-|y4-a-tp7W;!`nNX7n?Sn%f`iX1^~U-vC~gk}p`?vlZ-d`8SZ|G%FJ<(KAo zS*Hpup@5e3yEv;=cSu0CiUT+vA)L zDoySXR+WL89~hcno`9v0_3XyH{XtIc+%arO3PZ2moLC{~-8Este?bm&o3%+z&q_39 z`&ZIR4ZO%miL2N!=sM|DRdUr9B0;(@7izmYnhPB83#5($WGmqeA$Tl|&qaqN=)hC@ zQ9>Bi!hN95+uet2OJeOx($ zPUEf56y^1)Nn6Tp$a>5J!)9Tq0A(UAlxF0b1+W1iTN>AJ5cy~UBnH&C`yDTn-l7oH z)+%n=Vl9#(`T3*LDw3n$V|t#=3jTUqkcnXdo3 zi-tXJ54soz^@Dr3KUQEO%ZzpPDdBzI!`arudLHl9aUP&@^pT3FXTI2elT!Z=6-H~D z_$#|LOem%`!REHjNW;QXGdzs%_6`HeHm7q_89XldaP_3*lPBto!FTuM7%?g83p$*H2RJnuT!_o2#i(} zUF$F;^a4lWTiUW#AzFLVX5+fo_xIDr9Cnt^@l3LLOwN?OfvE=xFCCWl-IJb%hQ& z!2g(-0`Qc8C3ge#Gazo%eGP+%NC*x7xE!ybc0po*!aPMfUCc+XH(3g?D1dK1|vH= ziAYC_L-gWCYcO~gE2&@?UcStE^!RNwYix3I@^O{(TX4Mu;wu&72uRJq9LJT58DMt_ z#0ySm0fXBPSVQAo$KNa{K)VAH@B!tojh7FbNto^QKElOL0l$rf)ktF@3(N_lmEc9& zCPF6LBMznVfvgcsCF4tTUfbXGtB;ToUhm&rW%yua{`Qj4k|+|hp(|8>Qn|m9o=yZA z{i0Z-zd8MPTTtVSfD+`Un3K~ds8$VXHtzPX)J4QpB-<=?CI$uGxUh5@#hTT_3*&Ph zvh>1G*&a|ddDT8pSLrG6t^67lKkT~yl7WZp=`3in|5ypHphfZNdNB{W9@`LQ4~hg` zy129t4ZAbvU|`tJPBY#8bL+hclF%{uNnJx3kJg|C2TUPnyvmW)W)W#cs&sMgXlPi3 z0d>LS#5PAyFFv~kLNL(hpjhDy@c%~!Qe@QkuHy#ZBNEj_?t-Tm$c9T8UV*RT_uBIb zH8TgxhEBde2Ud-@>JBm@h&f#8Sgw*Ri)jbQ)0<;2WMF+M!(hL=y^k+{{gL==R8C-Y zbT@QX?O!dx;4e^@Iz7jJf3OD#lGG~h)Pgy4@^QaP{yr!`p;$-ao9lm~G2k2QrLoc4 z(=~evWKCOaGE{hvdEDh>s8L@4DEUuxYLDUw)jz$!AG#$5d)9o7y_4rmQc}_Yp2ttt zIEUmD0v-*}9#1DIH0*%^q^Mo$ubz#^xyRMfcl}43@#I*;`>DImoJ5DR!VT=p&aRz@ zZB{#66EVeB?wjM01sZ0toJA?oJ7VFs{pniHyQ^A0@7~dc7-i4}Y%MQ*-MI_1DpAJB z3y83w)@7rJR4J>p7pv~zhf1zy`;xNz;OdvatX)8US@zP^4fTU}xs zm?TqK%J|ksODSg6%CSwfv|4Z%x@wQ7>Q7DEp!`k3rpH$fxO#OmGlo+0XJ~J)72Nx> zY)WQ!Zo}JTcxE71ote!7_i_>OgG&QH2J@X2vwvx&5%H8c)Oiu+sIu##NR8lbr`nR1 z8V)k%UAopFGr6_k2Mw1{@#!?dLFv?X`6NBVU)H2K=QgeDZp(kmPUVn!%Uk7O6E|ff zNjJ(MfY@vq87hcQxh&7Yy78W|7s4PKZ8bySRzGBAO}nECWjGz$8mtWW z)x}((VGv_-KKKE*Fne3PPrss&aV0dIK^u13#(Z%hjfy-^CEA9tfWYh77Hn-j4VY1T zfB)pUg#}4*F`}O33JvyG#S5bMXE)YRO)B@P_72yKec9{%x95}3QC-~=J$Ej_0PQDj zSG)b%cpUr!AGp+RypVMNP*OXZ{Z8)2XDkwu))ajwtaMVPRMPKw)m~q|1i~8lTC8N~ zO9sF_YNAA7aa&v&QxJDd4h|uUW;Z9UOudU;{8_6uU?`xGKk(K?&8t+AU+!=vd$i9d z|5&RIVNl~!DyJm6^jM@u@xr-t&txBK8V(oon~3SWr=^(H%~I$9rts%zX=*^{{K7() zw#0dPnJ@u&pBD(9$1SI%dL8&J#kV@cVf>vHf(Cn}nEqB4u`r2S-o?DG+Eb$VdK4$vod#<_>UvZ0o*D{+Vvyw5mS|5w*gg^7j?8j(y*6uIqb66;6 z=i(Ov{#}B=O(%*3C7Bb)%@;X@PFP2^@u~un_L9i8yL`5Gg^RREE##xY&qU90Y!0>r zGt@HWsGmHk94^Wdsjf^lZFcM|mywZRGn5HOqgQzZSV%^^DZDqg6O||wn;8_^8fg;f zOd7AG3tGbuy)58MkI<@aNzqxf+C4?rtP%Rkm%{rR-()$rrD=xtoYduCh;!#2cNy#; zFw`(DRXCJfU2r&Ml*L~g!}RZgOnLbOCHQ_$@Eupi#`;C5{hV^>EDvMYg-b*NY4mRs z(GM{hIj4Sp*;?UbFYy6KEr2MVk&W%fG>m%Pzk_^O346&?t0fX%G+lgK!o6R;c}`g8 zUY^sudhQ&S-(}5(n(YKp&E31W+%^(>-0;OYMY^V@V0kttBXg#tJj_ybr`FcjXVz)B zF?WM0{GBDtBY9zDWMF7mY_oL1=Q`e8YI1T??^y8~ECleW&AVNo{>&30xWM*TW zKjFOR*uQ4+4#1Q@F5n%=y;T0?(f1F6ev9%|PRhB;On%rEqKIXp%})Mg7INIn zj@&*TPmQ15%)JROsRSDqOG+-2M=!pjVmB}VJoR#S}>8SLZgRer83JO|+E7NA=Wyq{Y zD-ZE-a8Ttt7``%(%)<34N=gyPwUIfzdDB=l`~eIt?=j?V3^=VhSR5%C8?O}0c(t>9 zUw?j}KcKf^J7Bs}k|z3%`d@ zSulZE>rRD&tiZtJ{CQ@FtylWaU0po|3qE&v={mv$a$)MCLaC*#rgqd%TEjSh=urwc zJ)~KlI3++2xWsq#3nk;9Wf2c%7=QHpfS=CsKNWx7L-K$2kjO+{>+&!A;Jl|VeY^}g zIXU4v!L)C_IQm0)@~NT-(dW*`-C;Ad(mC9u44*E-Q99T*&KEM#)^UeX23m%Og6I!X zo{fJTR_S+9P{}85CwSuw7q_@{2cmrkMe>?eSrOBu>v$O_5D& z0f8`>ts(OM`2}A-Z&WpO)UaL~Eol zh0^KLIkaQwBnrNC`>)@!SCFgR=W;Y(ia4h(|UFlYC?t;IfjE-pM3 zY|hU(Q|Sx~*83_j^D>`R{5emf9=W2EQ@WoYVwlA+z4w~xllC4MA(*Q%#z{g_Vbmwu zhEBdRnE%wl>$)59&zwsTphILedd$qPO(#Dl{=Av8Mu^pV0aXA;-}#bNq(i!A1RNdcPd0e7cm`AR_|`in@>xSMhG(&t* z?;#r-+y>DN_s3Ir=c*UzH1^AokZPkNQvD;IYEr}g$~ChurUUF5Fgk`O>uzTDpu~(o z?zm@QwzWJab_E@M8+6_x&K7=6Juxw#djtbk+lzO{3!4KfF@?$WDUBj9dJweb)Rqtp za*-M30y3izH{;}c1=`B4=rtQtqfj^IdwhK*SO4N`y3IJ^PuQaOZ=quh+0Y zAb5vIM%rSz1jPUS*v})OBP02xG8*25`M(ajO`WjbOkF-ZRePcoa_0HV0CM2>!ScWq zs$0fDzoAh9-Zj)U&()m@I#9f&dERoeW7X?6!F|Z=K6qytdt-|BWs3gkyL&KU`=a3u z2;(e-ryC=kL^@WfPJwY7CM9oG`?FZ8F1*pc^!wYQ*bhW8r`g}M`QNC3=i{j5czS4P z$n&UP&}3M=`t)4P_ttHg$v}1a+A|nG3R-nxzyYu1aT`K}49y3{jYjk*yz=wk#>PIE z`Yu3y0^MTh#a_Q|O)LK}me-l_nv4M8zK=J{fhWG${*rM=#>Sf^fx`^6C4?kbrjW?YFGQWPaqZDJp|^q$Iu9oYGA1@* zvF@BL7R#P!o1BAnTK$Bp<9BJi{@_u?TgIg^>_+>R@fotH-WDIXwtlJIIC7+cD!oKFNU|WtF6rofk}jstuY2eiMJuo!KPwRA8v+$As7r~Mb_<&b&scv-DYM+*LBLx2f4YU7=4A7eW1gFJNXV;_O$$?VFZ?944>d8%ITCeAK+-L`soPcL=5MBs@JzO+p=HCc82c~ZQMDBMRXP;)3*^1yE{E{ zvR#>npFKoGPzhL=;hC3VYF3YjBMx^=OYGKUXkd0s^AN{j81I7z@5XXZ*Bj5nP(7O0 z4s7cA-zaHm*@$0w=n}nJz|>@3r$>QksF)9Scg(V6O0-R`YX?Bikw)&@y_M*k{N()7?vYnz10PiJFp(h% z^X!!M9*AZx&m-78bFvSA`e!ZMQw+qQSFl?}S`V~~qX$Pu2I->0JO~+b$Qw^Qv0+a& zG+bUjiOJNcXtMpNQN>NUi;jlg^GX6^5pFLdF5=Otdw|=#cufJxd86`Gmxx`#E zCNlEa%Lhw;Y}UBVT6em+#Rn1JiktEPT3gH(Q)&MGNGnN&1MA?|uVEBTJt=}IUjF_a zS&H)+k1ZC(d|Iu(5L3dEWIUJepy~3-u*B81y2;h|iOw?LyT^&$?C7&{!2z9tZc1ky zhjuH)Y5%uc#jb41=eWdtv4-Fi9o11Qkq>hTiAN8wX-kg~c zw$Fil+a7)VbB>#yUQ|d(2w~OOu{t9w+nMhr8XHhE3ztSmbAJBB_%dKVeI-jgG9Utn z7=2-?o?xuJ+}^%4Kfov!H=n?w&1i)%!^F(Y^3>(g9VaJVJ3I5`g(2&a;%6I|m7`vh zwnshR+}~toxo(f~EQM8i>5vg_5h}orAdmL;S99O6G;1Xd@8x2ZPZZ!#FzZe+Gcb4) zQ5za~BR5U)ZI-AA2TWH%Ot?-kbhfo;1PN|n51{xJm<+M+i2@cbDJV!RN+ok7c~Ela z_TLj3>Q2LKToQDc_0%MHi><=z)Hu(+yjq?HnWp|Q3FuY9i$ul?de+ltOXAJz%&Yw6 z6+SI<*8A1Ie-K$++Xc*k`^EzuiQmd>s)C(s_OBRO!TmHnJ;|x~`3$sKKH$<-n7vNT zx{W^~f3UM6RqLuzOru$4qOE;V?E82BM|wr8ALMe?hNhN>p35aPWXa{HYgQ`&77ry$ z^`?}WhA|Y??~1hFV>%`^c6ZY~wB&h~k}LmN%hzb4Y9BUcM$LHjUp!aYS7dCQLH3dT zfv=j(8Xj9)$PV0$kXB!0tmx}~HR*wYvl2#8vj$#DkeKQlv9tiV8}_SPekp4QH9J6- z0TkzL2p$^+a^DPcn1e?&+O{=(FhR8G{(dY^^@J#^U-#d6zre*)E3 zkFBkR45(osIDcONrLA7&^}FAtoqU8$gzyUtt~R%NVqB8KjRhXS5AHaD2u59rabNPb zWVTe|=qD|W%a_aGXqsRqKaV~dJhWrEWoVJ2m1X&X+`bj?5A@m6rE8;BMhJ+A7FWk3 zBjs*stZWv>5~-;Z$a84=xx3RB!S&>~ zZ{~ZD0&eJ8uuidD=uXYJxgSo;`XGR@**Wz{1GAS^{oF>s+@e!zdOAJJYs1F$Q3dhk zn{Em0NMMOEP&Iywt3N)#jeE28oq67a!KQ!L*FHHfrDdo=^*VNb6kCqnd%<9rs%Rl&4i&>X&nSc|E(e>mm(+Qzy1>w&u&0>?xh^zckLC87_BPjO% z_z=NYA^y11)6E4hHZtJQ>i>|K_UnjHV%WGQ)zNT4abJckTuwgAT|2cpuJnOcVZ+mV zBZ-h_v@|DST-6)7Wt8x*&}aaLLz~>56U7YKM+?+{sF||bZ630|Ord%HvBeoGelD_( zfC|HOs5`@IK8%p?ISi#GzaRQ^c0kdMyfS0}zR)CH?I`l$J0A z2V9WC|3f*+I8nfLO~RANtop5pBHH!dE;`YreR9Wu%q}sgvFgvC5l(39h~G5P#(_|y zaP@I<8q`y#$7>i&A-8v%Bn1UOxVxJ|g&2{c@GngCD%zLf7wk@YKMg}a>t9!;6blsv zJZ+ET;V!YedX37c_y;Yl-&G{9b3?*9;uYoIUF28qPx-kQIUw^7%31!wnxduGTxGUd zT#9$0^dp)$ZDlxR22O`5Bt&I`d=1)6zP{H=?X9YVf~u6F8Sdzk_k2X}4kk#pm3!G5 zrWJkrP8lH|ua=1kaRbQ}2O=b@JTEUeXI5KmC?dIs7N{wgd85_8^Ylw&<9RB}e-7SC z#ZmIu?lJA2%||js{l(zwQ*wBT(A`18*hV6k2-R|1Rx+~VGg=7lYYjC5e|$O(56>`! z6(%N9sAVA?>gfq~bnJ9>sb*xJ(LdQ=p~jYqk+85X1oVdWY1_YJyJ&I5Gr-RRG`CdVNmO2|b4nVtX-uh6BELB5%?zOMb5BUxgp-C}R> z(pYn|22Gafe18tIAS>K}{V+BCL^;5^!j^upzW%KTkC9y7#%!x)yN_YA&~C0wy#VCQ zx9J~bvA2qS1BW!@QIbW7M31xRq~we{*o;^p`a>0b&lcr0skEn|?~NKyY1 z2i@bws%_Zz=;(2rlum>M8R9pYp8sD)M@{X@=A)Cn={N7+Q{O4GHFe&5MSKT?P;GT( zEDX*0uox`x)OR}K#%7jdR^sF`v@N!c7>!@GM-5d~k;!vZ<5vUgF7Gd&4^Nx5GT3DU z>nLNK`;RTN_zsg289l=@S;5qLix)>W@yyt zKe3fu_x+`l^zd0-VRHy7C&v(YydN<$9~wpt4kiG-23Kf9%w;Umh5?N`R6R9sV|P{# z{n22*cz8I7!;8<1VK0D<3q#O*(>vl_PsHDs+hNKoBXous*F1E!wfCm#l{4%zgLxm) zz9ZP|ruK^*j(@Z+Dr%^?DIa@9O*{qbHT08R zl)18njKcih{V%J8eD?n*uO#YsdWHWx7X#F=S7QwLPFBZnJ7HDa$-70g#%8JbQWpup z>Hi@qw&v|333w$p5b3Zn{H)if{8z`uU`^9aj8*M7^{T@eI#W}hE&Ti`HPe^12^A68 zniI(!LqL_t$iX2qE)e;Uh$#Rru_Xd$0Ga(gxsP6>Ym5)O!`INsRY;a2!X=;>U7f&8 za|0HBb=8lDC)#YJSU8TjEW z6p>BPi0C25kmqfON(GKElwvR@>S?XcS7?xYYAhnY;xGY`0*h-?}Cij3!_w8l6!*X=3#`0_Hn4FRD;`H{hIST!Xz+e7|5a^s#eKUCQ@ zh&0Y}Kv_TuDZwXJNdLrf(2$tu(xo5O%qR@)8o(e^sr-qNKfvEWC^u9+kREu?>f3x* zPz%dNaj( z?KBYeD8+wD2Ei?L1YE^CleId4oVr68GGjcgsYrJpPE83!v71XJd$5kstGY*THb`I+ zpe5YwZiI>_TZJ`Ck)aa`R^gnC-gejk-d;*iXo+Jx$PYx-xS({04Pv-HHmU~Pdip_H zV{5n_Q1p1Xi*V^iNEJ@*P5Y=2S=(W_XLo34JeqAkKm5c%ZuzN2dQ6`6Y>Sx>qoc(5 zql^4&i9cxHYR@lz^TWCSU^Y47964bCy73VQ(WL}~w|N)Oo%0cN2RxA<7L|QZ?^6OT z!86&68%5R&p?Ouf^bHfYyGD_;RYMUuWDQ_hHkwqU`2o!qmy`tY@&fEwVffB}V~h7n z)h#Mpf7gdQX2RsK@Wiw{WQTpxUUMC$Iw|s(F1Dr1 zrg?C0^jCFnEx5zz2wLaDl9EU+yLSNwT**%8y@@0 z*<%Cm1$31h6>`gj({8e>MH~^pFP}41JF04l1t|3QcmLbBlB&Sp#kVp)72!ogb4OvV zka=+00b7gaY->?J)Lei925#03;eKedNW3Fv6w{v@%dGtrlSxAf3TEY8wR=yV@Z37| zV-~rz0E&~mJYy}b;mY!nST4^x{30Ys2ae_DbW+L#*df%Xecbd5omq&rY+dv;y^jfFCf&>~ zo$`DE(${=+FLi4@T(cORXmu=se+3TugU!>EPDeOq`R~7V&&S)f=N!9P)3YA__}T^2 z?_oyCgE=gzY+uOza(QOJD+)3t-q;?{6k1*}g%TMFJ@xe+nG%1{G#Nd)k@6UjTYXb) zNVNwmZk-T6iG^L~`t(Y}I-nx7f4DEyTvYkvkGs866Qx2`DP#z%f-pBXY@jOPLfK-| zrQpbW0Q)&~h1mhO^kpg&a$-Hc3hFcl*|}s%Uc-jCsYHCc-G<#YPe2eGEr>B_Ol3iv z1(BbBeinu-E_J8IA`c-MAH6CkC}Q|t{Wydc6qNc3*#;H5%@=*R9>H`Ct|VaWdyC>H z4CMXsx=YOAu7qf4FM=6V1^;S>L@aJ^70c`VCD}AKn77~1+*}3FktG?r23{+#WapwP zZI)iVN1K)7sJ3d1rRwn20~qkCN>HP+Y|v?z zn^W;1PM?9YfJ!iTFXz+-jZLu|dqFa8jqO#d`15Jnb5ytfiEXSZth#mM3obWZ#3A`a zghe@Ye3x3wtM=E`ty8P63MU;aE4qr_UM%2Gs6Lj7V7>!)R~l+-MQYhT6kQgPXHz>GxIIUlnd+(QI}LBD?Y?S)60)P8xdv3`xPmyJtPFp2P+8z}ZxBnLm$tzq)2K3)WUFckU z$mJ9V{j*3?Z52U5@#zK|E?a9qzjl|Xg>Uayh@7`bn9YP?X%l}0k!A64M}0ctvcr&e zQBlD{l$ffr02Ney^f^Z)q%3;}CM7^jPiKTiOpYoJi0;R`x>m<48GVlSrWKK;r(Cm~ zWZs2Y7^0-YNlU8j2OPgW7p`D;v8nB$xb^@RxVU8;9IT<;8OOuZTU`4*lC{;Ny%1Wu zNDTpH<~#c?I&PlmIg6Q8vG81_t}jq%A?b$<)j*KoqzcxlWcWfuH#awrd8pfh83K)a zNY9ep1QIx^87bs^5s@Z?8wvI03o{EpOtGXg;JPK)3Bod21R=tz#Hybkgv>+0;m&m` z!r&`G^||)X(cZqmi}%^l=WLy#Xc|>is>cV~+J5$CpaUm}%kh~q9E#D1NM_H^pFxm3 z6M;PPMzi8+AMgeO`Z}W7TN>xBXtI?i3tmlrF|Ur@*dDko&w=?3Hljv3c1+~G>3MdC zv*yO}l<$Bk$Y0|+Ag)puJ(1zM#pzqbF#Afq+R45H*fx8n<*^4vD@|!_QK=;PaHDQI z7zd#28rJx%zfNLJ$r4;91GpG$!cp(Z`yNj9&FWDcF z33!UdPQ9PmUD|tTNnOn}pZbcMXf9;bDN?2lfr!=@kO>eeo8eEEwxqI4c_)ZcE+mVpCt0!dJQhWEAA@3SyugiX_s| z9Cw^r$3wJ}Sb%+#&#D5+1_divEkC_~zpy$sk#0GDip!KFwA7ETEDN;-y%J*>8jP4? z0R;{|14Bt*;LGe-*cVivp$D zH&Q^e;}W2YH79~HV^-e&qg{GFQMIDf0U*K8 z4;_#dRnz!nFvJe4o#glW=c5CsuM;wTb=bP3XpiiFZ7t)#ScgMz4l(ka~y(hbKzx{(g)l96w3D3U-$bzR#xch%=kMxB%Tqd z`;u(9bgB<{v=5iC>_8V}sQ*<$*|2+X@RiCyo-Y4@qbRRTBte8Qu?XYO_gM~|Fj#oV zu-+Co1ab@6QE-WtSsRH*vDiDXJFm}#@qU(=0~3s~ z6KD6Pz?Lh2vxv}B%j8x9SL0rYKyCadt7$WMn1c^_@$vT+C^5*xT`L7pZ_#Smi=FL6 zH|xFaivdmS`~-&4gf1rv!A8yX+n_Z;%F!#80kMrgtx^lgzslQ zT}trZKcH$3i<{b78b=6m|* z<+(Nvnq68@DgFA_NbwLYF7og0z8Xl~i__nxZo5Q4$xuF49PN8LR`>X11H=ZEMLaKf zp?Io0Z2Fc-NX1<&5zeJ3zJ9~AzaJ>4Q`G@&OZ&a$ zxF5m6pfyFv_Dq^!6Z2U|FXSI!qt=IPD{cP|EH)>@Tlu4*=POigaiMA(J5$PP+bkS| z;KwMaUy=GYJmd(I5G(NuEI=Zp^K--q@WOE-1XVsEALp-r zWFrWe7B3IL)#M|ti-T8I{iPd097Mvo>HtCOrfc(e<_Ot3!@F^k=f4+T#1g(F9MvZ=+Vsxc+FA|D zb%q2?#5p-R@a=t|<^^zsQit8#M3l&rNQPY#r@Px8jyUf#};e zFTyy^Cx&0^L}Mfq@l*efq?85l2tu5s@Q4Uetp0&&;($azvLDl!L8`%JZFmOHX5lf* z6G0K$0+abX`+Sl~ddL%Cy$Covc)bsdDCuH4DqH^_^@(MY*3HR|<}*dZpinS5 zNu17Uin+Rk_KmLH(nM*gSXi{6Th%~rf|0TDX6GXUM&qNI1nh8=`*Yn{SZKaClz)!4 zznYXQHBlv)T?g?}ccPfOBLDLrjvO2WUSPqb;p5}J{amj#nz*#keyYh=Qu4@w;=Rh| zy0N$iiR*s4{n|O8>*i(^V$YRcu^%EmuAO#m<&!xqF+X^0KU^Urzp*;Wg^sSOcOjRcp{wW`eo=s<)mxQlHltp+-4%%c z9Cb{jIA@KJ&w2OB_i7PpmqgYgZ}!5!SH%nrWZ<<0oH&;w%qV?HjvOq_4PBAY!j{&s z1|tSo73aO5K{?gYsk>WeX9sJ%Yvq_UotWh#OL}o(0x#eoCs6G}{w{DC5QX`t(OvDy zpA$gLGdc+|pOi3mOpI!3H14^lv|NZ05uug4|H%72Rs(Ec3BKvMIlGCvIgxcz1I?T4{Epz{e^67qABnGY9}vdSK!LY;^G+yWl()B znIo41{p9puNdJp9(u7Q34b}pSIyV;rs`w;Ub{L=Q9Z;<6%N7GQIW~rhC~~mpyR&FE zS|(=u*4q;nG!p{v2gaWR?^v#HYjl)ege7#0Bn9~rt-iL|^%PF?Y+Vo^1yDeAr>;Nz zmL{37xh|0z3gxJ*cme(Tf#t2{+*_`YmgDTnkU#~;+ImOMb zn6E{Av>N{d8P01V*_42z7L|<=CdE}5Y5BG>?E@kI6Go!LDe3=-6;6X<4wphi?ah(( zEibq)iEQO7(^E!w;9>et9n<$oJK_K;P_-9n9i1xCnkn&`hl&p0Ov$&DkQFCH0phBB5 z4F6=r@^h?yIQXqKv~En>f^w$jRRuL4UzuW7x|W(d2v;f2g%9_aD_0Hb&vgmOgD&SX z{E6FqR_!@p)Gi_UD;A%EzYcrapYdaOh3IoEy?SgrmVkJ6>Q}}EWQwxOkoL3XF0RqF z8ByKB?*CML{-f?qI$vXLW#zEBE`2ay|5O(QGwlhEaIX^&SD$9(^`>-A%~??CgF?39 z8e6*3&Z;g=o_=dF5Ru^5PtM7K93mfXf$%)AI5Xed&PH!cfj85eCil>O@7A0;tpHS$ zB%A8q%1nl70b2{oMUdE8Sz5+*gUaS>?VI$&Yt@|Wuza`V0Hn72t?cV=PJv>11uwRa zOS+S1vYG>C+XL%YYLN2xr+*bBSV5Ez+YG`fhv`Cs?;o|8{r*hs6Eh3V+rJHMxfDPgQ$BnX>m+ zSnk-G|4kh9|DhUr;fs`@T!3C*c{f01aH0xXhU$p6_8G;RYph+k-(^Q98!a=vSm1D> z6jOf-qfYl*dW+P0tZoXUv>p~GT8}gfhs0q8u5q28`77S2MJj;YRai$+*X#@~u`9`* zwY^8?>&g=H$6Fd+=6vg@;Yp@-{kLdCrVmxp2zYqeISJUm+XSzDnsVaKM>Rs_#d8vJ z*v|I$xX+-rOrycX>;xZ0?v28O26V;bCXpsYymnun*>W)0_{{Y6@7;?B-GxtosHFaQ zkQ0TeG3?=`6lAcuSx^Ch9a zztA%EBj9cM$sbQ5qKO$MpC5Rg$pdDcQ_hQWTCvABi$c8dMN#4TlhVLML2Y60vrr zdqlgdG6;+lDWunsQozzgl&!L|f=>DMp_1GjU|zM{QbBbD9It$ALdn&uNRA#!EDH;Q z=)G4>OeQriZ&TiQYpmrA2z5T62$yi?=(1F&2lA5S0K)(Q7s*pB_UHwiYhI6`EL>D? zx2pvSai$VHKsj=jW8T+#51@kw`teMG*ny=Z-xVD;_IWo}2)u3VTlZS;m%JZKh%G5C zT=_ekUlVHk7$@4Y;Tbx&TtTE{5l3na*<`WcPkq7*s*8b10&D7-N-#&d} z2enlbZXjm%*RSX0 zpwg(QhzIKSH&|=&NOvH(ly2X-19Bi=pJDMUUh^|EU`&kL-8#5Ur>Yv^OFT4CCpuDJ z56!urDAo*3Kr7^hu`xj|Cie7kgVW)ej(j2TW>l@Ysg+|~yrpeVbeL}=j_Sz#W z@iRzi2MP>yj8wyY)>n>Y2SHP#?YH>(gRl&ar3=UM(#sJ6t)c;}M2l*L^;#cFSWetC zT#&$+j#SwVmbkDYXpX*mS_AX(Fr~nF7WZ1IhT2&uBV4=ly3L>P!n~U*#)_5cSbWgO zunz=tz#w#3-zAXRnCpfdo96BXfcQZecl0ks-HsD5x=$E-L){F#nL!*6f#>x`W)>C?2Z19uD0{V?d@34JLTtT zojIf5q0XH#rXdbBi84@}O`bj5^knM@GVWi3QZydng;2u3bXi7_@(_srGB-ilMg+~Z z!KqB&Z3hQs=GKX@^g(uts&g()a2fi8#M$T5=@R&zUD+2Kq1Y)`W;MH19V6)ud@Fid zAMj;)D{cM_wAS8&67?iTV^!x(X})&Wcv{MKX{D>DmXutcYS}-Lyz<&x&SFe8O=En#U(lhKgJyX1nte_!0PEDyvsxj7M zjJ7C5&?kG+kx%OA*2som<5+E4s)}GY>b^~TJUFBRGA@jC&mZ25W|WK!jK`Pzc^8;v z>zTIC9Ubq!QK~D!^#O77H#xTn?ZG&LIT?Ty0Yl}{K0h83J$-BrtQ)-sBUMX}MFy|u zdA_~pMw$d1NgFMI?W^QW%QCTlNfwZ}qI6BMw~wO*C5NWihM5r!hn(kch>&LS?llBz zMj=)-$T7YwzMrjIjHkIfou{%w8S`I=Ah-GP9c`$~xi4rg>xlm@Nzhio(B)jyc=fgOAEMZRu>Zi<; zx^P}baO|~{c6P+~*4$GmUB!eL38Def`u>uMXIC2j<>uM#n61-z+h~GS15pXd);;ru z8SjgrOG;Y96J%D?EMsu^dKU_(Pk(vx#5Q~jgVuH<9OOJr%|TQz<}pxw56e=6bnZk4 z(GP@_avT%|0p-enEMWD1rxp{8H@_qxwi>LM)8aC(4;q~v$LFgWNQF7(6DYB!H9$<~ z<5OuE-Ni%K(^Xhm9Qq>v>{z}D%AvRiA}1nL(k7}rego=k(MA#Y8FkST8@Xc8vFCZFX`4)*dt(&wjlAwu?)dve~ zDlH)k+!ueHU?^c{*9YsiG^maol95i1Fu@<5jZE ztDw(*7e*eE09a>M0q(cEx<}1e#j8v~c){E9;mS8Q`N_Y;R?h{OhOMpw8U*ffHpug; zK$a4dBSHGne#+KhDS4`3Eey^_9TPPR@C44J2Y&kkf{b+v$l^m84+p!YZ{VDzkpNJ! zxozEGtF+&}CKG#mQ(<)dyln7^&fG z2aTpPo65U;_C0a;P67LLWqiqfcq|}c-lQ)tP3wl+FzOf|fBvPFIC?kO_q4|qwk{^q zolCG(Umj~1D4D7P6l?gT14WP!%CULyKM+dmMngIH4hd{=9i-OrkxO9drv(arpJMPo z_T?x#oYOpo`(R&c)L)$vY$_NRk1-KNmy$|xOR?_5l$Iz}2Vfj+O#{OaLLPK#7MIr_ z0KQNe8?LGwj|QpHS-+5Vo#Lme#yOWTh>mkpa0D4_@Noh-ni)d+fhZUssn}S5dcco? zD+bks*^v;?<+&Zx0?mZZNpDu>A>PI%JPsB)_WmX(3Crw&!(Yqomg$mC>FVKQx#OJN z%e=6IH`zi%%WTmigQk@ z6N!JdhE8bvB^K3!gkpN7vUK0;14G?+G$9X05S2YdIeOQH;k)XSxH6b_&mwW+x#J-O z!OIP~`a?Y{a&G*uDq8g^Y6!L-d@DofU=h9@SvGa zB2)L2@D7oN%i3DTV1H;;A)rNZLKUcAJ_d#vPmf7Yb{}L+Uv0o(f`zFn=5cJ=fnH~@9G^12KGwG4#`!-V_xDvaUIU0F zo5C6Zy0|`au4B9gw?;iq3z!8BLhbu`k!I*GU@}zp0;}o));#DL0nDb+>?DSL&8=s+ zU|yP;)eK!jCC)sz$kP`P&EeAQ`WITHwLTNe2+nK4I{|uePfI7XMpPUe)<3y75^}g4 zBtC}P;=Q{e=Ha(MLN-vW$s@knNzwlIj8}Z4m`Tu*KK$P|3rX4PpXEwLj^Y?<%xtMTJpF`&G z#e}sYFJ)zPbfoVA7hb^56RI>(?ex) zP{zooN@s)m4U(GNw`ya(_d|s=Vi!Rep5&zRR8QWZg#a$)n17A6mg@K6!@Kk8D|a@%KSU zpZI_@wHKMrxMN-o)lh%i94wBLQjv00N`Xv|PX=CQ9!!uiSgOiLdRB73kT;M}NQv-} z<48%a?_%Zn*j;Yh7MH(XnMQ|u#L4PAf$?6<<^`BtF)fNG=F{8)c~e#fb|3<>)YSlF7v8O#P9h@II-fHOylmvEx4Q|=H@`A$!M5IY8% zxe}#FpebeW576W>tY(2x1|$4nwZNVgv&8GgXWA zooU{XhK1Ux?^4t;obaG0h&fH2t9lC*P@)1U3sqi!K@lmc0$T5TE?{a=KoV z;ZCza@$?FA!AIx4DG*^w6q%^5e^*LSm@|!-L_4-KWz)2iKe1i4GRjIwxaR>Rj2tFx zl!bP}!k^^Dl{15pw_TkMT0Al!HxbQBpYc)*O8y(H18m{xGcW_DI*5aX8A_? zyGK>0sl%p=7nicSM$Lk~au7dEPH@C;fRB6qdRvwA8YE`f4fZ=3kl!sYE2OJAc|j$Y zlJbFcoK%byKI4sAwIKGWJ53mNKEdd8CHnnd4s{H{dVGw;M?q8pgRXK zU&`Aq4{>&0uS_t?<8*^je!-I%*6s{XKWH-WdL8Y@5GBgbG#E=0hdGSHsD2_ZUhoF$ z8vp9m`|53Fxi<_0D9dj-}1Jq7q15Goi0jfmXz^xH+*2g?)1TnVpb8H1I{#vWm7=G+^s5kc?E= zyF;nFuWIO@8R#uW)(cW)qA&>#ZEpfMXQZv2l%YD@)KvHVI}`{vxHx-dBLJuY$fjm- zD&dHd6rl}eREOJXH4(DotLFm;l^T}V?x}YQlbJ~*wJ3Rc_1|?5wRzWIQuCFVOUyu0 zvJdGA(Hn5|9*MOZHLvPG`tv{2KeQjeoOl`VsYeUbcy(!!-Bl7aFDjc%fhtbvx4(!? z*~+4j8HK{zGa?6B`Vm7Ne7F-Pj0|TNY1`iBfUtV(adI%+rILp*eDZVZ0K+LQR@;sk=Ja7bP za2Wp>5(8_PW>K_)?_NWO^i>6Z_?NFL2IZ>?eKy(SIn(|{eXwfoAjl37gG`Y3RcO&r zuDG^mBL0Ej`QyHVkfUQnsinwUgUj-2$ekTpAVO3Aeh^IkVz%ZkUJ z8c3ii#`PZ@zvyaqrgF`}i0ZWL54JV@5jeO1(M=O$x&n`@8}M4^n@5sCB(jZZr$#?js^Vg@QK{_2OW^*LLSJy z@%%zo4-?HC1_>I)s|m~=?EVd?WL4lD^MSWDXN%1aW?c}-#}2Ekr<{e_7d@0TTZYwW z?tt2e0xj4uM|f}Am2%k}v3epNYeKyRs-ciH^~l|BP9c)XY8ndxD*$~V5J{alYB zk(iWyh#hapY+JFB?Y2w4{WmuW{fQR={HW~4YR%Zl@Pg&g&EIuo63ZY|6!p5_w{7xnxijOa#_$dAS z?)>IMuc`(SAy2Z6oWv*E6;0H#ax-(}+U}KX+T{K&e@nD@2!& ztN08y#(^>r^7u!!=U#BE(5^7=zqNJ$B6)@+x(d91byUcaiv9Y0^s@)tXTJ!!$RfJS zS%j!lwMDsUBgvT_9g=Fz`W|>P*1?rH0g82WkHgGCxRc;W`^?`FZ%6D|^BQ&Fn@E54 z)cNO;mk9_6@bH9fPs7c11E&z%Z({hj`i6Hck#v(28{)@E8_AVjxx22?Gp!9@-eB(t zup=rwd)ptn?CH_LaQmTOVIGxu0}Fli0&;m!Gb4X>@f4$4$@8hE@C3vQ*IxA${h9b+ z`B?Jc9Ye(5)o}u3>nX1eW7}easidNpU5ycTR|R@z*ElyhkZ-7LFk6l_kW4XJeI`~A zxr|@noH>|38vXLditss9%Q+E(mqN)Um)O_dm2awUzA>r>U9J-jLh#)0FRyUe@PaRY z@j#Yj!ZvzEGtui;Y?edUwuj?&@3;nJ=Mc*HDt z!QT^&g)F_jj%;I6hm9P3Xzk{9A!|VDP?a5|)tSW5GwLbM9mAE4qyZ2P=l*H{@?sxF zBOwqJ!4uvbn*&yRs!6+=qDjES9udG#NZal2n=jQ?gC@t;>)?C2K+P8Zvuwr>pD;C}Y2TPU4Jc1E^nHm>N0%cXkJTPsMK!HKYjYY0=8w0V5N>~wy zAW_!+b;2!jbNF!#4|ki&0N3|WIiIlnYHfG7*B;QO4uXP+`y)5%?Ds z48`u3VpczV6Zym=)UneTx6xIta_MhE6fS|^sVx;+8>>3<^lgX*<}3joG8{5s34tv9G(B8-LUVYQ%1)oNbJ|;geE~X- zO`x_W{GU(1F7Y}HT3#ff&7)#*2Z#AN7|wpco#b@;*xR0}x-!j7O1f-bkH|vY4er z{v83OtLdG*=VQ`&dzzX6UuSgc131+5$6{Pws^c{{w_z&eA~Ib z3|m)=4SX0SM%cw7HsMXMcTt2Cax_t|?a{I(aCK904w}I6NT_rK4!t(X@92Obut14S z{`o;T%8kZf-f^z}k?`ZFkLT+4_3XnVs{V5~9qV3`($W^5&Bdj-OTHPKT8JH8ohAIe zzgc!t$g4m7X1XYC`Ta}-dLg@8{)T(Ks!5_Ug=Wf&OGgqu(UQ}HJf+HuqLeXP^J`@} zmepI4mipP_O}6~u;R)6_s=gIfOcKOsf1{cvL3BcWx}fLUNb$7#V?uJ@(^+fdRGLwd zr7HjXNBNaDOOE<3!6GlaOYJ8nh?kzOQX|eCZ`KpJi+Binwc2~jpOn6C7B3j7IKH(k ztt=H!kRW1FWlaR44YiJ9b#^A_f6|ya-|}@^{WR)w$7QHOju=f4)u!avTh&__Z%1Nk z)-)uW`jtY5As$CDVzfzj^lCj*%eh@w?x_7Uh_lD> zR}i%{gXtD*%Z=5g~iB>CtiO44=L& zl6nEekC@}tbRyoNs5w}xuIZV%38PSZ*s`SdUMfW7)HdoE{xu3>D{H%)natR4J0BJ$ zN;B6XQN1|)^7AH15X%I|XWT!l?(%g1&reKBlQPmiee-LZ z@7<{;WDtiZ(d<}gMa{p}vR^htgspV?=*Ju1?!)Cz*X?m%RR8hjUacO5%(V}if?))v z9$0*fp85iF^4|y1xbs((Fbl!t5~|xs7G#YC61p}BAV^96_`vP2rB;s5S3dA!H1NGS zlX7&uOqCezKYtT8$meYC7{w3Ef8kvHs3pAh>Tysy*#=(q9!v>GdpY*-7e`yJ*e<1I z&0If@thjg35hp8v9rXn@w{(BJA*k-V34o#1XZHZE8j~bOL#=ECq5xGaq^2B*EaR^T zqJck=+ASAKAutILIVLC&2ouy%;q_(c=paCvLz)=v2U9lXjo}f43SNwV)-9@8fb@-) z93NhO!zx~kca-y+mGgU@Y?(&ovhgO|2hrP_E99wGwDT>_JGa@e{+J_k&ef?*O^&4? zk(cdl2E0U`q^avO-(Fh%`wxpgBk>biLZ?Z_;?Z*P{3_?|>r-@5%J^2!M~deis<`u! zatGud5*$T+weVDnF9FWn2F%yfCsjC69rIRHq%%8nTh6MZDA0t!y@Z?;X`PlVFJAuL zJNCG^(6>{1_R3nY4U>9kKtO=Mzxm=|X@*h`*o2k%4IiHWV-o9bEOLzZv<<;3y|^44 z+d)1>C)~8d%g@hGLo>U*GCtiBRc^nQ?9>%<`H!!?(mtz|u_I7sagP|?BTi6r)wKIp{okEO<}5mEC@;&iGHV*FWuiTO`V>-PF)^`g z*RH|!roq1bIDf9?>$WZ>9}`?$;d5}%G--IY?i+qBd#mK|#&Odt>^1}KdShy(YP{69 zPP$+koc35HwS>Pj9PiZ>U6wx!ztGv#%5FON7d}2d2}w*qfW^v~@J=ej%|Bv6yt%2c z-Q1BXsju5ztvV%#IymKRJiyxa|_IRKbA2q z4U!M+=E*a-f_^KIY$E@y^fTmF30^5VI4C8GHiH9T`E8Xf3|3a*euD4*xOfs9kJ|zI zSjn!zf79WqH>8u-B$is{pM$No|@)%=}lBH_w;*WNo8uqWQAMQ*G8Qf%J zD^SQ#QdiITo;tcd`X+&TY)Uc8bB>dX>m!TNT{9vglL$5=-~|af_-Q1Y9k&*@=W}?J zr5B3U>)L$6?mDiuO(#AqHOQ*;L(4!k_r{k*;7NbM6<)Gk zaV)}a^&(?hJg__hFD274B|qJj_E+D);NbdDxe~AmH+cUdd#|sb0^Ma&REursQ`>%8 zhQ<-mNEi4($ZUxF$Ej?a=(k@Y%AE$7;XhacbzSm|{C)klX!CTo?BZ)OvK@{tKI3O_OhW5iN#E}F^XH*h8H|*K5sfY@iK&Kw#jR zVDQ$B&d=W~?=H2>0MC9dhQpSU*-=G?ko*2@xk|BVSJFeH%}QgQjUpV^t3<~D<^>t* zu)t{S(;Z2EuL{tM?B-hV=L}n~UB*X-c)3(`g-hK+Fk~hV`>#*;dkmZf$JhSue5w3- zEcNBhfy&3y>%ogdJiMlZ5y5myPHWAK@I@6|8QOJ94RyV{W8O@n<5DriB-{l9Gwmw&8Z4{*v_5)@U|HMxV^lQcH6v>vT>E-0&h~mbd)b@0_q zd8gl{JLJH$0Ml~XC&AS9=z!;5^Nwx3OC$y!E&bzVQyZIMVI4lls>2$B&a{tKvt2F+ z`*w8Zt{a<7KfTN%3Nnj>wZQ83!B1~GIkORLwewmsm^L`+O4<>bBadzaQ2jif<}wunDN?@RfsYg*S^7cB zQ9AQ|feACsRK57e58wR!&TRFE6GGtfE(^tgej$1J`BPEQv?Z(BH6of%Q{N06V?f$} z6JV2XZu5ED42CDg{N&D`1NCf%oP74Hn%yBL`B_e1W^-TT3KjQrHQ_rKPj^`o0D|*)(RK=ir>O zvFY#5@-{Y3U#+$9?)Ho`9dWjmj^VF@?KFWUtXV%i{F?9Fv*C&rUQrJ`I=z`yl8av# zF&(#;XJAXnLqnbOF2b#UzchOkcAJ!rF8C{cT&F7Pqs2gh7|!qfb$jKEooZ3DdU;jR z^U?e2RV0aRYWwDiQShYug-$!H>W9wH7ZiCEg^H>%4%V_WGt)oDs9z^gojs7S`ZJW{ z>hohu#C&{Aj3z8RMMrc)K%$6v&`rX-8UEMQWV~SVt=WZ&+G*!=^TXi-tJV1-9IGdppv~=VERwgiJr$|Vc2na+V@EsnSw8Z#MOFSkD&zYE*cw%M-bK7~a z*K;jBxv@G&!mQZ9;AsKR*uAewRUQ3>B<)IFY2!t9D>}Be1R9oeU8C9A-#@UXwN}l8 zlm(8dgu}F{GV7R+hCMk{8!+LYK7DIx+5LhoaxGo&naJ0vTj@^>lxJt!B`O#OrYxt& z`U?zD>Yw6D0#REMH!qfZzKV|Ur1e4VxzrVS8r^nZ4&%}-@aKo)Q7Cw zy2BxR@xG>~)qd2h%+ELX^}l)^`fL2$XMP%UR4w`F0}VIYWu1!S5GqVHzsV=Q5NnaT zZ>&N5s=+;PaWGWsEaHWm=;Gn9S^FOHS=sYz!4~*+HJukEB%?U5H?%F8@RykJeg-+?y z3h6>Q243$)d_v@RFhx`3R$POT^O#&8Yo?-ff#i2g=J~mR2$usvyKh0*o4Xg^=8Q@O z&jvT(#@W$m9$?X`9;02{D7Sp>^KJ!XAskB@WsDRQ6y)UYEK~pFHcSY_Vg08U^-5aU zbqTR{q-S1=`<{$5x-!w(V3OPlF0Gd7m6eqsW)cCH$bc!h%AsKz4e{bEGR>7pNh$vE zcgXEJK}ds8p--?~NHHZ~m1#;Uij^)-`RK16#`TEK`Ie~zsfst=J2yAJLSOTI{8t_x zHQ&C;c0@v|wK1o#Q-MJEE!XD8*l-Zh`nqYkUp!08ck%&5I@Yw*mP;W&-|s!B?BLP* zT#(wvl(1>)$$w2MN8ZOp-yu^eMqOfWbTq*aLkkkG@EDol8-FA+$frM_6BvmMtB@x~ zt9h+UsvnBh-gQ=}RmoT#)%^h>DDxsmM|M&#g(T`W!{sC*|9M0Q?r43 zPjYqY5_i>ys%uZjVqMyns>u5p3mXBeQ4n%g(ZX?Z6b$-sx+-8cC?YDlcSFx`R8QD+5TCHSU|J`zWBT<(tzz)@uof@ z_Lkte)4{}PPEN0oXRV+dX~rG@?1erYnGB=#E9BYo0dt}{#!(1fqYEtl@+}dk+7K!D z#!X>)YQ$(1r&un-XH5S34CN@XAY=rQc1rH}K=kSG%;`uY?rNQtfcKT}^#jk{qr8MI zw);SZ%4R2EX!zjc-5WX>X^|XfVozPFSXunOtz(ZHbQZNJf_;5a3;7v_j&*X|(q8cc zyUn0*@q9%WW105Pk4UMtN;CB$m15@6Ki8P*?jG(v$Mg=J2^L8$hCA4)>7bqcOC?Tg z+Sg=SN;S9}vlA0PASt@F_m=$&?#OvO3EJsqM38mwmtbTRaE1F*bV#LV{TpgUP>Ycj zEstAnW|`*>8P%ge6=5UWoE#nH`lhB#i{OR?{rAfFm8*e;mS;pZ&HB;`o8-wTDmdu0 z8_>0iS>T>!r~U0yoyqTiT&b**h1Q)mOB&6zVJ%AW(KRKPs$^*b8|?2ObfY5PRF8Bz zmGEMSzs0E+Y>D*DQY#(97P$YGBwW-=IzKnfP+uP~JP*C`O<(X(rW?pf8O_tSv|PHQ zSHY0g^mVww0rNt*Tyb_pk}ieAP=$TfI(c7quB6=?deISz`OCB)a2l;Q%^AWr;!7C&g=)f&O!^7+-NF%e1}fm9-{y!Q6? zkl?KaWw{iefw+5wGjE-yTjEGu-vudj@3FI5y#%0GA9w}8N!P1O-OS7}Yf>AF*OzW` z@2){n*!t)0^~wjrXkzn%!hXLdL)cTt+V7E!q>IdmhgcR_F*h4ELFS&<8vuLpMFVPO zZ->MSZI_@pUnM`&)5^qb&VUIl4&X9&m;D#IjmdL|vvj(8lyFOXwv9;-^aM{%=696k zG^5^dkBlP1XZSEN5ws=J4#zM6Fi>~7&WLdmcGKDw zG`kJ2i|gi|p8e#G%iXP`pTcG`2RG$B^=dQMZwQLJbcx+6^8%K7Y@Ykhagb!*b~shbz&@9j02d5QKzkxB)A6h2*{ zS8rf&zwJC}nW#e$KB2}6Tdr!_gLgAK8$FiRJFY*S_I_&6r}ijuThmVY3T!&sb(NTF z$8;%O|1%ZJL{H0+kGt!EhB=(H5Yq5JIZoeNaG8}sb7baZW6Fw)ntDbQ*Hy<|t4GZr zBTgarv#E?VEBC*&>&#P9SNUcM9LI2AfJz>zgWmhGY2%KFG zSxErbr<<-l^pFyW`e^f0q-=k@eXJ(X(xM|EkfWr8b8Z!z6|VM4_}rcl@qw-Jj^~WD z@S7S~?#u4}ZXY;Yh4GmitFLCsQeXn!JLJG~bR?XUHg2IMEW`G3gG77GEbY<3$Gj4w zihCNwJVi%!{*@~nVK~1dhR0n+bUfv;4RI#riu?%9Hyb+<<(BZ!X zjRxAUZ3d@))T+5C&et00IZ2b|?*2Z*h^_lxmP!k9T;oqyv(|Ta&lQi@$i39C-)*e+ zXawfL=x$C02@lVFLBYrM_1n9K`0eFbfmGO=tE;^g_WYK4u{c4fpz?vR{+grnaEORd zeVpIR0u16PyU`^PN@VY*LRj{PyYrH?pb31_0Hbq-hcrOLF79+CSnDkG-w-*^Jh9rf zy68#r4ub;LRAr>9pha|m>?&MZ$*$bGPP6AdpY+gmPpE>U8>m3&1{U8HsdU+yLh)yR;r(H$ z=gYNtbShn`qhGTNv?@IZ1i8(}R9%nQVVyC$oW&DC#dZUi55TZ)6k5xF?%>ZkWW6p77+G0{1R)i8P!9=j!$p-Ei5d4peNk*B?l%NaE+t-f_JQb!vpt!!>l5{^JF4b{ z)Di-=j6N6w`p*!ywhp?f-acj5?NMs{MEbs(np{PO>7#vp9LK+26>z8@ z>WV`?H8hyMx4WxWQR1%T$EP`)5)%(en-HX) z69OmMl`6wGmm*12Y(3Ba6e}(u0JWP!2dShIGP(6e9I1~GK{qh2iN0)ADzmo~Afich zO^sy{hQx#D8T4M69hK2uo%n=X>dezuTiZA^l%&E|?#mxApujS_5j;}@j+Z3h)~;Q1 zHFFZJi|j8{&yY`Bn0W@CayboUcOH(On;9(KFC}&zdi?Uvr8YRZl4Cy(up% zyR&^BnQ**FmadzNji=+_%a(ZpAQRZwIRC7MT0>~@*O!-_zzOCpl4o6>gbcR z%>Vrj4j#VT`D(HOEKkXuT7`$Z!8oN^;~(9JL}ci4>CV$$K@H%8di%(u=Sh3M6C^Ki z(5{`AcS!s-S}!wO5*wN&1-PH8ymD0P%MY1QDdS9*6x>a`b~~6fP#kr5VGv!rI`A$) zL`V#kqWqp!LB$j|mMzo1;S#ehx=M1&N8T6*EQU)VGl47X;*&GB$+Zp}ecuaW6l2oP z2GbtD%#OLua=mf}R46-wM9*1FJu;qbz;oTcd3V1Km!(m&t+}P8zcb(FaqnH?ky1;A z&gAIsZUulkdQEn!D&d}$!5jEEEGeey9J5-_)$$IsqLwcy`&B*czA3Nsdvt81?kbu+h?rs-XWH*#@C<)LW=UM#kkEeP7|H z-vI(!iG>Tc>*v0Y+>Pfb4sKX4)yp^}*_BH5?ok zDh>|k<`3AXPxs3v>bLgHl7m2)FGEv60GbjRLY-!NeRgGSdc1}|$#8fdPx;l5r(#-w zM|nBsT9)YMCOfdYmm}y#&_NPndkJ1U+2yhFAk*+oCSRff*NM7e=z|=%c>z!Pk3;UP z(DmaS#-BvsaPAFuHB@0QNY@D(6RcP5O;Ec&gp1g|s}wv#R+-YCPc{(K%6%Ff+^-Kj zk{uoWl3-)gEg#zh_KMuM?)Re2*ADl-R8$f|x1-eap*y$rkzWMFyh%T+o)D1BQsGFwmAL=nw3cjV#F6&r5MWvge@a5q#1 z`1&fz21M`uSYHesCXU7FS~{j-$iCzOi_+jL-x%?d=I=zTv;;!*j!9@c4A;24v#;v- z_;e`AH`C{x8jF)1Hc?~uW#c^=O?jj%BLuWp4x;~}J=YlA>+!y|N2vp^fOrtx zKya|;s}6^yKJtfqzkP^_o|&j8K~B24p8%Dfot?sh{QS+0jZ!=FTBsO-GbntxJALxT zjs4v1N?AAsfp=C>RxoIffBN9th$=CJA4tV$6=-?5`-_Zvf|T$F0vxs$>&OaDbv1P4 z$qtp7MsT$DTpMQc@+P`V0WIBt(-Lf#X_+HE-w^<~1~r)BD#r14i&e7i>rmx+D|DV# z`u9Reu7f|NjY96LWJDmlj$y8+)>el#4Gj&{!C8gXDjhZ!hssxT9~(bn4%4)YbNfqP z5wfTxI7cRh{=bhQJLa`mg>L|_rRRy{wQ99;nQNXf0!1Ul{rwklA*W+~`E0NxGD6Bp zFDFJJNw@7>&pTHu_G(LP;u>mW*kbzt<*EL+SO4z$W<`1`fs<5KrU;baLrJt?-=u*hKk{xtdZ_5arEwW(TqHw|NkB=&R{vG54*UM7g3 zW^dkqN9pzP&p-~T~18?4dKO26l+5ya$!=}Gl}qv{Az6%)xH;` zr4(A@>Fd9NORqx|^|Z`%D?MH{rK$Evlucmtgx|@90^B|n3N}NmKlA7a?J_FAxh#*L zWHEg4(aSh79yn?37rK^J4*eezh{U|(NHo!;?^7%u09q=oit{e1Xv*0Ar_XK^GKpgw zc0Gqe(lw4niKr@a&Q=O1rwT3Y(AC%U8r4;fT4O4?s&eO*C1^qozeJ;iSAdRM=7N-V z*wXCqttaZ>8ZA{tfYHFln7+AWQdcilZaLiswYvt|d1u1wWq&s|j!)FT9UQbW?0~zv z!opg2QUWQlqB+d=UtKt}zImDG01)n8nT_*%4JcV9T9c+WA(POs)0KfXrZ&4ijO0je zP0|y$@>Z!VnXT3J=t1rOL)lx0RlNmm!yXlb5Cs7N0i_!WL0Y=ITe?BI!J@mnJ2%~- z2-4jkA+YK0=3N^+=iqss=ew@&e=qs%wPwxSbI(09fTa_J$i|ZHJ<_ArrVBC}TC2b0 zU}I%n-+`*Jk#_y1$V@@8Kl3f9+GY}ruOss(AFdn%qrmn6F6gBrE=*pE!_|c;(q^y*_ zEPe`uD>peNM*v}#joPegRF(P8?)LV{Mh)ahg}lOiv#TB8U1Bs^l`!`%qqem`v+xOur89WM9L(R2XLS4ZqBigRW+r#*H)?yu?(s0f>{ z3|eSMVt79c{1h}4#+=Q#hWVTIbI&V~+gfTu=qX5rC9uUTVcB24bhdSgX_PE{2Gv+F z40wo+o_>3IU~aLeWpzhEZ>&%=V6;lKE4BgOHwvmzBK9y51UiWsFtHm}OJLLwM^d8| z|2NVxzd4#?wgTI<2P8=H)J}s-|H<+Rc&}X)F<)7fW zt!3U#)e|F;|Mj!#jV;n3O#|T@X6WQ=Vq!LUZh4u7wDCgyt9ncl8AzTd;OaIxnA@kN zVZR$Bl3>wZBs{E|TT+tIc)E!UM)MTftl}RCyb{(08z+d3b^R0{@jm?d!+#f)nL0m} zm&;Q|&h{V#U8U@;U;hZkzU(@H3j?M>K~W|{l9;P-C|u*7L`QOU)$_o-9ZMC=x1)uP zZSS5UKX_lTd=}Cy!g#=#Acln){f3Qj8QU+lO!rt<;kk8*s_Fk~FQ@%*b_w^-k zX<~VTn!x?=Kd-rU#qZeor7n3OE_93^nCn*Q0(h_-F3xxExY!(zP_)H7BTKj=b-M-i zn|!|dWSMc9qQI4z3k&yKHQWCV=$sG15rQ=Rh3U1g97}W2?1=zc7CITj;r2i(a^9%h3g-9|87~)%^9OZKb~^eO>GC;ZPn$d6R?^X<=E|4Nn|C1|3IF=# zJ6>)|{=?=t@>sH(`|_=Z8+#-l8=H~I6k8%)9H>CY#>SQqYc*=u9x>tPlEwew4dQ7f zn36=Hxe$(aVE$!BdT-xOz~De8tP9##t=2RRl6L50A)iDT$m#tdq!FlE2KpP9umSny z*ZGz7waL#TD1f$EXm!%j?7u8W3pe^b<@x!kF*#~Ir*K~gVqXQxw~U4)0S=s&jSL`R zw><=Em~aD>T-EfQB_-_$KFFEQ`p>Vy=PI^FRP^D3rx|Wxw9q@tFTf_~BT)Fw5X1gP zpm*X-#Fz>uddG+tBI6=zzQzVb0~m>k}B1!+p>d1vd9(=Ipn!eGI=a=Ngt zfWU<9`rhTQ;4&hB8-n=^w6nsk`KDr-4r{99^hZkRfscBM!TRN2OT(EYef2;2_H}RN zh6=u^+v}p%dLsH&0DyxS(1o{TtoKzxD-n$6&2TzA$P=|%+n!UgH;4ZwjnBiX1;4!s z_-0fbhGux8^t?P-mZ>7Q>=dCg@02LaR&b7hvJj2Qq3yb^1^COW4_sK?PVAqAphcB9i*jfdO`J_Y2gQ3oC$ zSUxzKufoc*ond8va0{mnrZdSq-fVCanCO%rsdhSi9BvqU46*ptcmQ^$^?HC2F{g?iTFv4PI)=d4q4|7zb4rmkZA?;*t8ckM9MN;RF z9Tu+-P6(fgS(A&y9=5RLp4Iumgc6jNlYU0vX#WFNm8u5eW+Mh=D1D}P-+)P+B#-tCq10z`oTbsML-ZK`I2lo7fgD@ zzSb*Dg1O4R0j6U+n5LY@9j-{@?p0PTQWZc17N5LuRs+_=a9A5u^rhZWD&%&DM?kNQ zjgPl8RP0HBxNSFElT)g(l!3H!O86%@K#`i+31X^MQ=$vv-|v`+6iCz7#)LqqW-?J! z$V(cC+ znN<&@ISAqjY@;0=+JMvSlzRy%#>#4WZC2^rh>~kT*Ts6pB~W@L!h`bC+7rgJk;0Oa zdh6veD4z!yOuL5pi^s!y&euUo($Ns*^vP1V26MXIm4xYk96?r45cB$k)8SHIz15=p z6=k&)v}K@{gXDDGgcOsq2g?|um9KEe(!IqPKqfcJ`AC-y<=g(l1w?~Qs7a+ z{$@ttCkVr}j7i8dntB=qXaS3pX9hA`;^T3E)Wz<7kcz@yJ5?IMo1Z>&c6W={*iuQY zP!u)yfw4YBYOCi>-sb1$6MJjNEKbJe=3tmS<3;xG9}VV2#=MR%oR4BB2gPmE|wfya2&}gq7fL#IGBv%2*mz!TrPk%9#51 zX8?autWp<+kB`0^JGgfuJT_(s_S_a1Ww+yY0EQB5r>*s*SX{{HNnrP2|EOplw6{_7 z`DAY!hc<=8slzGaL>Q16YqW2Ht61a$YZPdCA}`;)u+Slyy;L3M2q7puR`zdItKdOsz%=AXKVvq#`%(lQHN|H@B-w-^l`s z%#KKj0qFGo7PB&KG@aAjUe3+-_8j=rv2=@~@TvdxcQ^N}G&Z6SXZ@O=c}H&siH1v#T2~i4ma?QlMnb~Pk65B-gdeT1c|0;mxT`Q3$Lo3IfN)pe(nqM~ zq~UoFbK6w5ahC?uwOi0hBsflOi&WgH{>$x6^j2)0%&KG~o<9Ou9QggBB9UfsL>u*) z`i8xJUm!yaEl=OYyfAq};C8o2We%1o(UP8qi5~#&4Lopac~UMibD`ko%XKz(FahJy z>YhKQ`dDvNA9OlZ3RIe{m+`2_3Z*Utq+nS!01O(VB}6|op)fXr2-WExncU}k3SogcdvVHKUg1cuS= z&CPvX`PD#O2S_U5nLf#^s8Zsp?*}E{voqy>bZJg7 zw0-9HEgJzr+@9h3ctL;VsPLwFii|}HsrWsx)sp(e6BNltpqHqnajW`8l=b25y_;`2L2v!bFqe(dB55H0>qhu# zC;aI?@}rqmuTWxfXW!`xe6zGHosP1mO4`JTJkdk7Gks=D9Rdxt*4`-E zz0KCAe`n7RSTs_It#O~B?lND>K4;WIR=sjttt9I|_Y5FYAjcP(Oi2#)h+XE7tv;i-3g7Rbd1z)flr9q#oKpABxGfx&J@Q=6G$jam!7b-2Vj5UwVV#!R2;`(- zA;>upkEV9GU7X}XhEXXnWc1Rtg#!aF&VKm20HGm2WQ|z^)Q8J7d#+kI-pY{b*o6HU zQeq@sUd(cm2-zT=6B@ht^e3X{w1)u23@=-%wM{`>mprd7tUBzEF8R51|*=`Q7 zvqCXl7~P|uFCxnuCAL+0d*}RA090nY(V`Gd9j+_w9pt|8q>GWN@C|ohsV-0%D*cpP zgxfepppk`@%~Y9}<`)aSsF0VoE(K}IzDZh?;Y zPBeqzs~W4Vc)NQ)eo(tyo@-X08JmN`n^~uG!Hcn%q6$VCdtd~a4Nz+QEmxrWM2~FkQ~lWrmCo@0KMoRO0AT7 zv^>|0Y>Vo}x9#4g$RKPKZ&&6qT?|LLWS;G7T&^@v)gMkh7LH7x#5yKuZC8cy4lXKX zIYhe0KyJQh_ifAFraRtO8@Kl=*=MgQPjqXC4|`iu)`JIf_H}vm&9PmZlVwY*0R>1x zv;1;~sY3yG>6jyhK5D&~nQU=Ul@ZaKhXEeOElP#fpifun8Np6!);Q?okHP2GFl;{ zDc52yax4*Z-__0Ztz5Fs4x4fMhb|ed)AahJgT8jwgq}slm`E$RW4fOHWtz{Jz)|Y3k$$& zFQ~OS6P-2;vqlP`XX4_rx6?)=Pl|RjG-ZXn<>GGK(9@5Yt8n@9yaZj*>19$xBC1|Is^FwKBKp0OYmI*RRiL7d6o(#%g_)DK z&9&iyEfM9=5OBaO@M1doih#K(wOQp~8%r#PFZQzT5Xx7st2Q1nDvIG&a_-RS+>Ol-U)A=Hq@5aX+31x%> zAE=M5ZUb2Zfo@fD7tafMBnZ zD-_tz{oqh@J#br*MLhoiND+I5Gns{P*c*wUN?hK-$O6|(IaOhvIh3nkbUHJd2+^$% z*@@^4Y(qyNQLBl_>Zn*T8nI0$299-Gx3K<%d{e##Y!lx(ojFnvY(8}NKzDoQd3EfJ z<_XhaR@NSc6oq3t-KkSevL?a7*K5kZF-@$x*hvKR3wqtF!~aiZd(@l0yl!0IZosu? zHCk9wDcA_rz409*@tv3Fi=3e>HanU<@O}XoaT(BXirtM320adipsCXt#bjBrWyy!a ze?)v10(oti_@blZbAD}y8ZxnatLN;fO!UVRoj2dDvv z`s7q|b1+IT=S6ExEJX6O-e{;3FxFV6FxEo!h<45xXf&K{$~P;Z%Y9$|?$mT0GwrQZ#znbA)}-k?83zE-usU zI=w!BIX{9il268!jfm93lr=}aa4fG%QAuoui)2jaCm*-8QT2)K4+AaMxx=;9rbma) zy8OuSB+shyKw+N>_#0B>h1>Lx)h<@dL3Omy^Er(604m$jl3l;(9<;O(1#)*87THfX zlD&4Iff^5sjdk5yA_iQ|Hh~~q-O((9Rw3eb`9yR)C_8xH94PaiJ$|%+kLUGL?1m9MrO&0m zb1Td&?NU}Z6?v#r zFA@6f+E~6ky&)jsbm5Ua4mOH>d23+Xq+h-MOZShLtxs8MOuSi8-HCzj?Tw{QYHBJK z#pYN^29PQ7crwnSQdkN`=Z$O`zZ6-ZSROZ5hPE)d7j6 zmb-FU98g%U0`$4I2Fed9Ad@YwsIaiGKm?N2(?vRjytM^+7ZA#26Gz%QMG+qufO)qQ zc}kxL2PJ))eo*i48Y?x_*M!TV0j(a$hS3`$J0@yAQZ~lL10f*}tNh(&c*#y702`Jm{$jJ|{W!*6*cU!?{Vqx)AIE+?5tNW{kJ(-i(C zQ*OJRcqHu*3{msk%HTPceg4UZW=Omc?Vifq;qW z{OiYkAogW(sYih%#?^it0yL1@M7gf)8%JxI5M?&WlmE)!~nTEYZ;*0c)NV zfHIc^xDj*^k~77d3zO>VkZed973y!wNG<=Pt&*QD)G$ zHKJiB{i{8kT^8Nxf00}K2aSV*eAK@Mc>wj{KabgRZPrL6IJ_kU7*AfnIv`CK*8$ug zCbbq05Y|joggQt@x{*D00gYH&Kw6w`LC_o@?};3!tSqku{imKYrm(ZU4Xfwisb1G} z-n04v4ei7oS<)N6!#xkQ&iMb~UXou$`B$k6?Rlr^Vqmm@@&Py(5C##Cg+WLy0?ldY zRkl>YXn^$q>UIY)xaB(J0JQoGM{2ivY5Sv;>)33dZ3*fpd*Qz$9JowLScr2nJG|0t z%>LGF)Um&H|1&-L=Rim=(o7FVq?dj(G4OCchaZ{;Uz35dq5C(J&fRd{L_y`LQp0*s z2J`O+GuA;JBCn!*e^tok)D~d<3{L^19R6T%T+5e0vm*lffAL%h?TU5!S1I~hON(>* z0X+8eYdG}1=KvTAxg1$r>ryZ}mJC8!eqE&iykCZV|0Nca`G%cU?gbEvI#7_ye3{kq zluZ5;70wZfoa;s=$)xaLqCr$YIRvg*^N|~#D3Ss%lO>m1+dx}xIoZL*Nzr*n~A_T2N*b2!ROl)a_MdCFuO!n=r4*eh;*U z9OcP7H?2Ev2$M`{g=RM#G%>?8;p{OX`{7M5WP)AN!zuK|V;Mie4`c==6)XPrslDLJ z%p{{q{i~XI4tt{MUuwDs21Y6hkW*%;Po<6Xf_qPl1jQkCM{7U$-&AuXXJI-@?A!66 z8!2S>N<^mfuOgEm=ov1g04wA0j5m{JKk`@@9i4`VxFCEAHMv70j}R0n!Sg8-6GI9g zUeuN7886ZEPg5WVd%?bsjI>NmWdIr%h?7HXn{9w{IzDA|T-hJ{kT~8@l916hJ5i$p z7*c*-&e3T_au;d?6R80_GtuNOSa$et#AMn@U}$|A#|%1* z-vKY8g_Dgqx%Rnvu#Ei5YR+n(0_lv4(DGQ}2aqr^qG)8zhm4b)3p(w^=v{LP}L zgcj6w)zr(75oHt^w{4C$Y8L~vJ)jBF{65mobh#-eS^)0kV4l(x-gh8KRtEzPzvBZ9 zwRk*WS|QgmvZ<0iYp_dq7>q{Lu^FuZX~*SU;JI~XPLcuKsEuX-h<0*Q>o6Grvg`@ij%6cOldl>QAWK&@ADR(jgvZB+#+-TKPCEivr~ z`$!bS-+5FeP-K9LTz`T6`F&(*Mbzv8-u-BOUdS0_ECte3n+fs;u+(sM2a=v59vAl< z=5#g%4(ifENeBR+jfA*21f4ExY4EZYkVpO0Ui!DiBkVg9#gG8{4^$^6Drgk*2*P1t z_%GjVW9ciGTSeK9xJnqI`-dqMeDitPzZ#DIT#@o(S;c(Cyj20z#v~WJ^FfQnAaokN z0_F=FfG<>6Q+*y9%G8_92k5E3E7|$VP{}B}8JN8qwBN}a4^cVvrsl++!*g(O08;fG zmg3EHdWv#`zI2fqMMi#oC53{uKB$H(bU|KiobztD%{A0~Ww`36!tERH1}?AMd^0|( zQaT3>O z;7{s>xO3=Wi0u|vRWa8z#wdfP|J6Mz*iTQD)argTEJT@lmNE1$|#F56&CQNzKk(AM&1pkhDwoI z=-&qqg71$9@qZ$PkThKj+Q*LPE4j5bQ}X#SZ5y9M!KYG#lc_uWR&*PDtnVKmi}PCr z`wFf(v9#;r_#MVvGnN*nO_xZSH@D_1>|JM~K9P`!=H|Bsh5ooWf_K6_D4Z^WO@tm> zkRijt1d)Z}TG8P*f>P^>55bty$F&sek~4k%opz!qM6x&MNS#r)Fy_r!RfuIcSy#;O?W3FuwP}7iOaXEh~SARca7c zzy1FWt95^e)i3{7SoHxdR4WcZp6w`-Nexs8LU4}jQ+0KvZV$*+u1`s`pK&3Wfu(ts zC7sSX7CAy{r1mNXm5|ATURZL@Kdx5oGa3&+zeIe4Imdw8BkDdUpB*qs!o|6kT6Gju zZpqP~^uRZr&Meu?d}V@-6!>p6oo@RxnwGSf9;`05I7KA1fhqEiK--)5=oB4{Byc+` zO6>k*G;FOU*0h=bkDSe9H;b6{^U3sOiUa6B@cri(=sl#0f4BXNW*BzS>Q`PL^OJ1E zA0|Y}xqe|WtLhEe!>h|At+9iEI#)pPC8+o-@v>3$u2RHv;&Hy8!9If_n~Ec@E1;AkBrzyKh6CZ-Xnh6rCgm~!NNzOOnJ zxaK58BEi46Jcs>kDYv7+IMD6MdO#lW-SC%xhoZ=}-SEAs`z`Q_{Av?``;&au$-e^n z6129M+Yyb4Bb5H|6=rS8>5mXj{d}Sigl1J8ZPfZTHpzTM9edzG9&t_h$pQFNeKs+R zP94`e3n=COTwh;p%bj~Ht6;(o7<&X@ymFl*dQD5d0_0I~LUh(HXfW!7lIWii(9i?| zA&)u;{ou!FuVR8ti@rqqz}_(G}9 zZ=#+%ks1X=KN3@qNSkB4b;bX{Dygyyy96C8)Yt~h4W1)8nvNwb(TMSA&vwEES4VpE z%z-2abePH1Ilg9RGZIZ;i^2!vgFu`Bq<2O|nGv&y(+ki7(a{4Ta#>kjwF0dX01!gl zfS7A2Pw5Uh=n_cWe-GMV0Sf;+KMAut4qtNu{MS!F3l35ZWe(ux%xq5UU0&G8j#kh_ zwL9PWM@;K3g#AgF_sWvTqI@^`10ON`u7`0(W@$`M4iD#u<1pDK2ia4w>k`OhAOdD6 zc@Q6T5sOcMdO16bTTBxUZ%k|?^v91LNV}PETvYJtQmHWR1Cb{fM8Z=K29Xrqz8j8q zWfYRdp^Onyp1jvKN`Qy{qbn86>KJV=Y&Z*Rg|4Bg`N`tnh@ruKZ zzEl?g=K^ph2<1P#K)MRZpLQ4xc~-9D5XONc5g-tOmfme|X%uKf#^`X)2ylBP$2vET)K;o+kpbw`ZMPe5g0X?N-y5aRHX(vE%DCT+|>lIm1 zad9k-B_4-mWO;N9#J-2VPNagHF7NX`yhiP~DJcW}v0OnvuFw;L`l0T_FW$Z zpz*x99bREn;yyQA>NQ*20NfIX1-R%Pr%j|}sWb|M>;L%)#-U^o3^{_ADt6jPw!zC*ly%fh+xJs0;Bo%@7>pUDO_;oH}fzyn7lEgox$bg!O1eHwv%5}@TBuz)zC>r$N8sN(oFWe=&Ysgq1W|a zXH2`hA(fT)fyt5F_yBk%wI&JdTq^kIX!Pr$O;rQ7T^1TFl5BkcgMy3Wz?qwy1DkJO z12qaz>Zb{stVv(DmV+J8+lS`gFV;--^<9?xrvp%SjhkWsb^cGe`59LAhZXD9VYAIC znrtwN8>XwXw;xPWaCEwEm|}Uk46A_TG?fFUg;Y0<1u)e8D!&Wd^wWrHQip;j%}w2I z1sW15rtcze>*}Vnu(C>iVKfJloWcAGyF0d8dReH;8R%6MCw;KNYwI#3svci2(3+;j zHj&}N`Tq9f*vDCOjVHn>im1RULGlaY%fccN<%X2mpDDzNM(t}l$CWde-DnP>6Hzw4 z{}On7pz5oTA0xDgovYBJHP-M4pJ)Fa2;e|BCOU4tR~vw1cPYz_Z?vEX%P;m)NyHVav>VqB&K?+do6Z@S-d)g0U#65*A8Pa z4M7TJK>TD?aQ|uuaa_S(pzrd7BEsOHE)=acL0!owWq$lxgVN-~Ql;8Q@0K!*mSsCe zg=Ge(NR`R86;!A&lchQyXm>s}HHyiWc9W%ASNz0!N#gJ(z-hzDs-(8U0Wy8Kd-}7- zp@;qOr`4v@lvCnv?O{U87W*6V7fay;x)bh=Y4kinUB&qm^jom`pYNX%%d2%^vO^cc z)yL`NaZ+USmYkNQtK;TYRRYdg8ML-{cKR(BTaTJ)gzv$@ZO!o&cPEHZDRc|eES5`( zv~M7aN0RT095@~whcDt3eTnssIKy(UrUFBv48x&y_>a!+V@RYvgufh{rT4M?~2-_(_g0vw317M5Ar1Hk$-~hj+|`>5kny%f9kA z4S+8(taB^_<3zLs1>ZHe;sCK3Nl2JC;<<4B14pRpm~HZ_mCmG_3rx;#%#4i`_H689!aG&$%K z2qpc7%1A_9p1^8{*pUCj+;h1+J>K%?s(JkwIU-GQr-2udk0Bg8z70i$30c6izCe%n zKp%;bJLN>P*j&eK#lPEOTtKebCPwvE&br?~HY0ZcT=IULG5^hz8_sL~{P~3yI2}?Q zeQGmWq9z=-%_(GF%BuB=#i6Vx<@!Cd6BWn+4tcIWt}6W10_`9PjkefZBCjqPAl_dc znO!_mq^Tc0?Qy%9>rG}yGzMLoIMo`V{=6c`$(*gKoggPy-C=L->2*)6#~hYXp_+<|HhA$F-Cl6Jis%*s2vzP2CT zlN5r2Ofld?yG@|KSeY}LPB$BrGR18;8+KkBec3MIUa1rHw@Btc>uo-K6->S5Zo3(f z7$0Ax+hMZpN_rk+FUtCKYY$`K{X*p{#2xfIZInY(QCj3LYT^nj{8 zY&!$`^`rM}v)do%+LS{<4wemGPMB9n&9>kj`nYW&>ZZ^8VS={mXE_TKWEAVNHYa-r zt*!63w}S;-lOu|z33 zHgQe!^F?z%kcKVIR|oB@xPx)oDpi1@`aaSM`N+fQj&ie}udta*U!|fHZTQlAdxhCf zk(I#y?jc!(`P}(*k>%}eu|a26-Sqezet$=^o%zLPfwB262)ra(JVR((Y?3E0<3!h2 zoYD7v9=MjjpY~^LpNZ*T-^sufQRIgY_YNUnanXk$X+J6@30$+b+4Fo4off-)A#)t< z&IJlsWh81i96a_`3Yu@MHgy+06ZXd*0Y=QxXL+faQmXuYtRy>MnLQ#tzOUM*Gn$@t z-smOj*zh{$5p2xZ8+g>*f~-=5zRCzHY}>U_@WKzieoQy|csuOOA$;0aPtWW{2OTvv zzpKuq551t=6L~oHFU4bK_cp$I_%iMVb(ABx3+Z=n?g~G7A{RjwYrj7JF_sD0@(WTC zAiNHWdeXm0`5~w^A&Yr$YN|Ds@RS`Ng)LZ{tfi_{bjx)_orY^^rPyvT*dv40#K?7Z zBHs7oNyV5wUcWsKH=RuQcr`g8^;Hq*1+|PaDUbcgdQ?R{em4F{ON|||c%56bKRUk? zk|sn;L@vL_?&>_bKH(V>;$h{6@bICiga(*hq!}#3?QN0ld!+en`g=Iy^yj&z5Td!} zGhqq^@qC%glVl#UQVgR6z6O+Y(v(!=fhT?PrD+U36O$F@_Z`SLhH|GjMj)x0NRqC) zDi!)Ouz^f7q@sDCDfl^Y?7H5}qfVM}2ajIz!lo>=qJrl%6Vy-LH#_k&ni}2B@7_I< zK7mFiCgbuki$sdgkIbq&W;3$s&DtSD6|_?bwW{Em(-(Zl?!KMrf}NuII%hX^qUX%IMaVK@m^N%Xp7^o zzv^GU{0JoE8F7EzskV1;uvv}x8h&)DaI_FxgPU%(Xe&+YN>0McO7P~*2g^aMDYwfm zaK;0!#)A*$qB#a52#Ju8k@9)Jqm9Q$V82XPt6BK?(bXS|Pfv$Z0m0zVgL_Mg1rAYE)3cdh08Jm;tVkz|8WlS^VL|Bb3Wf6 zeS+FkwIlZEqQ^b&%YS8cmKxGb*1M2`5%z+DNwq$&UC)AIUVoP_h-=5IvG$(BpkOq0 ztdPl+_js+NXZB8^V?@LJ5qx{}S2tlJWQ}V}|EYc@`A06CogfP4`4LKR9h>XOL zcqv4HddW0tq zhPyILw6)D4l@UQ|`ztiRx1v#G?A(10j6zuZzN#`%iPmUK0eBP!pNGTe{tx)vwUT67r18EE^lL6x~0KwJEHFxcDTugt^Ci-r~5TVOuL zwgiQO9gknE_m*-p69ZQJiNrhN@6Y$ATThBZZ>xIO%1_alcAH@-Tb?^?6v<|5_=wfk z?QT)@1rO(Ai_7(eXn4sSlAa0IPQwsqQ3s2Sk+HpfmL{#mn^Fu8>HWA?&pg*BX>z$4 z-k#kr0z$8dK5vf&qVN1;UpLTs#EtI7x-Ap|838v7AF_ct5Bp~>i5@M zqjAUh-wae7Y{jo;rp|;vGx-%9h$GvCasOy{+Jx5TzSi$H*v5@hG@ez!uUR}hW}q5b z{bpX8o=Jlq>Ja#>52Dc!fX^1E%+u^s-x3I^aXFQg?tjl%WlfcA#5}vtG;N}*lB3@< zEgrpdTVZF?F53vai#5TD>87S(&>HeX>;s=CFW`%j8LMs1g0=sWp zRF$&>a_nPE&F_K0Wd`{80KE;`WS3zmScd%CbAc^n(Xm=~(Kn$Cz|E4CzD)5La{@ zwb-0|d8#+e4tWu*OtxBDtIB0L{JgRb%jr`_e~A@M&7UW*l)dJte;6L<>)X~ouB97j zI>AwIJi;y9YayjvphUkzfx~trHCC+4n?z(2_%or0Q)3`YDh)*QZ=Y-W>aD|Do3R)> z$@mY5BsS};mw8>Sf*vI@4aTDuGSG693wPB`h3p@NTT4P@0LD)^GZte_ANt3+kdi{rkoOdrmk7%Ye4;an%B(8 z+k5Bd+;6xIz1Nw*yen7sA(jxI;UU^6Ca?I4skoMl#A; zk0P|!xPMa2eWrKZB> zx8v$ZnNe|Uwm&PsDHjZJ-N#oT?f-n=Zgsk07u+$FIw$QiXN zn}`^MNpSluElkOGsfM!Sf0EF7tq$dqEzXb0D)hTN2@d{cUe7E@b1Y@j1e}ege0)|%D!scm5sZKL^lt2;fw>4#=rYGmp2Q3 z{o5!OQP>Q&Q6=Iev1QqDh{3I)wK7aPbOM+8YW!-rnO?12gQEE~gxO2h>Ek z)+r3oXT!HJ+y6*dxGRb`FZCaA1ub4@fD{;}hu+h@T#6L>*SNl%t|5fD8D@-2+;Um4 zOZ_Nd{fll;Y@R))6&5KdmFUzvVdcj`0C(_M!nmE%B2@M$`e=w)su^)8P5DHGcWWm> zSPIIVRj)f)cRgpp`X8T>hmaX!+ZkB@-YB{n{?m(|>nv^oW1Wr108Lu!gHNISqX<(B zpGG^qCwF*(fg#8x{}`6M6S&l4#(BumsnXpYaJx1-lo2IT_VU}K4lEpSi-IZcIArp zGY{nmEWtzBB;oKEbW31fVgb~nBf0DTBhkSPcCD{JtlL8LG%B1^5D^Mh z_dOT7uvM#ezRE)3f__CpjRJ2#T-}|CrcGV8O@-p(?klj+Rv_kS(R&$jV>+)Cg$##dVj{&~o zt$_Yp!JK2va2RKVuQY`I80C`f$#DDF-*)iV3FrK~8>u``?uPuq1MkcazrRR~DuPLIOCPzis{C59tf z&O(=yKaRA=96Rdw3YSxKkqE!crv26X2FHUk4N8SC^x>sh%++ds81u8fW~M4W!Y(=z zY&_cLF&aixsj|$etx`?m@rr;+vv?rXj2i-ygV~XIt5}=7W3f6fPjgR4vlViL&FdRhiH2DxE+0S!Ja-6+w}v z#sH`Qz#16#CT)Oei~)EWV9Dt>xOuGc z7(!R!T=VHi*i7{u`%B%=D!3+7wXb6P$6ViXJyTaAwIIqe6eW+%Zx**T^Pf`!c7r&6 zECn(10p%m|;6y|Cs#m_8D@Hu?yx2N_&?94II!m(sxO>9CN%mSs{1kZ1w+wF@9Cni; zBO@b>x3>f@PWJD_rIHbcDHAh0P_C1bl77JJq5Y|lE#07_@xh?KFEuy8m8C!=^38?8 zQnu8p)P%{>#*<~B8FxKYBPZeyyl`=L4rMfrxq#A`x1m|m+VHR#adalSj<=Y*dC~1y z-Su$Aivavs!AGK>qNRg!q?u~*=t^3f^0-3p;@M-B3*rLJz^G^^qoJIWO*iupksNe- zk~_g-yQzV! zL`T8muTaN9Mr=oY-fH3SB!GUUKaoR}Uz37RtmK;FN19XtZNhFzkOcmO9r>8Ppr~eP)J4*FIjaxTRY+ycigiRkNy0XG?B~JZ=hT^|X(U`O0zx z_&K$E(&p{S-yGh4pc#8l({Ltweo{udxZ5)lgaksG+18BNEMx}-nd7g5h$?Hc__dss zAs%wM9k=uSxMl7^mon4SqXIRADj^*;K7kQXIC&dOLJ|nA+glz`ckvO(7cea`ifvyu zomh~j9j{fdivcq-z&0T4ZI&oi(aGMHOor%kH1aSas~{@n?~4z3OUhIQLR78(7oNV< z;Wtm8xsb_+?nVHtEeS$QPW}mRUqVDA<9V^Fp_Q_9wN6`ztoIqzrycq{Vojml+$~8> z=6;azfZv($ePmZ&e+GL$*w)+4Gg3UMr>w zOyA!{#;)JG$8r-o}nS9^j&V#6zz*#VYD>Q*tzfn7${mbZ9;tSjN~TGW!hsjsU_{S0Y|cwk0QKwcIogA)@r;l3%9rJC_>hiE)RvD9%Z6u3%y?VI?pcMN`$@`(y4GIw*V z2v#yEW%Zv?CU;trPDc(cV~FV-;XWtXiOZ0rHaU6{jJh8D2j2gOw+30qM74lQz)V62 zT{?K5A8t**My!F4H6j|>xnNQ8Mho7RVKNa=h(N*xLM7gGwUHiJ} zzeF@Y%J7|0|BXN$DJA^ZgwZKzl-tDAN{GFGtW;+QU!G2%gEU;d%977UWpd#`dpE#B zQmx&pf>65%p4PD&Rt~mB)TCoqXPLphT>Tz?O)5{m-Ej{qaNtgf2P(rC3s0u&UDW-t zG@TA8>s?NJK^!=8aOyH(%fMYwF|Rv1+pSa0A8JecuwNo;kJi@KhvU03w*w7LO~DVq zRRa}2&G9tXbLF!w&ediNCs0>)d(KkoDTKsQ#lji4x#FeceIgLx9N`$FoU~;*)QTVc z4`2?oe}7-*bMY#7VaJo7LKhck^~VeK0zyc=-9tM&AZZNbP+sj#4r}B!igbHm2`ydy z_5Bpo5x;VcxgCqswH5eoa*g^t>O>;*fTXqG@%bL~P|LT~yF22B zDORlLttX-ZE_ciuXSHWJGeAPnX4M1qDTjx5s+3X>E=itMY^RM73osCQ>0T4aSovp(%s$N-MoFk zYu)?Cdq3V7@BMgV+#g>3&KG;Hz4lsj&b7Ag%ze$L*7rB)bPo4WJeKZ50jhTeM&#vo zn=Eii61;^T=2(1MDdPlYApr6zw|&pZV0iV4xg+e|yJuFbDdPm|AA&CzvT$*|tPknc z7&@PKA5QnZ4Lz+EuUgMaCbo6=E)-rEHT3;P*W@7{f>le3Y zw6QzQcg17i&edV2#PDn$q&T`YXF3SXrKmvpHghlCRG!(_+`rb(6I~v{7QFg=aZs)Ne*Z%P9WQ z3hG4NxA_y$WiZxSGX_mj%?mv;XYOF@_UFG2%(QK4|m+> z7B%d>&&8Yz*S3hU_1C8wy#14rd7}F&^whMy1D^bZzY~ekb*H}tIjz-d11QFWoem7L z?Q+x0$(iJ7f zo%bz+)A1STz9`8mh)en{J?r2%pM>fU6b(5at$T*--#eS6*7+rPrpdogr=vBMbFQn? zd39{5ElI4FOBSvzfzQ|9S!m+!OFG=?)5NkYWAridG|&c&!``|mFwe!WmlqN~W_;F> zs}EjpHFL&tJJXk%=1Jh*l`0o~E+2YV;GUZ&*6k7XOD@$6C7V@t?N%Or>> zxz|J_$;2jI-k#l2BCX&Q3*Mu~Ydt)uTc1j}J>4!#hLtP8+591x1|FEUwo2DH+tVYw z3wxzT9CF>iHk}bRBnJc#&d2tFs%^n4k3k@ge+qCgs2n_{$2C2Z`&6 zTf~+Y`VZ&2$hbNCvQ<6PNZF4R3ymN8dg;|NRTgtL|88Ji)6le?=h9ZJ=aDpmrpfSw z9d)}sjTo1Vciw1=CE$FMQ2VWeOvR$7i-=pReJ;r7p82|SfD}uXB7f`&Vmq&HZ6%s! zh-V`OfRsSix4;{0x+-lts%0b9;kmuE40~g2I^Qh?#R+>#gz*mV@eRKzgjrLzT(X`1 z+*!CXff5I$!kQx4RkhaNLi%TxmO7guvCxQo`!v+JA}HQ*N;BVhS%Xp9MECyvWu)mS zsj{*3yFdP*)X{vet8A27Wr_pT<3A4{V%jP{2>M!zFf4kAGun}XY=>ccMZ63i{r zr_0L4X7t2H?w68U74g zdK+RYtpRP^Cf37cHz%Ye(xK&p*)ZW>Bc4WT>D?y~u@|`B zbXw^*>s0xC`H43&it!GTeQQ)?c)UMLVA{n2S zq^Mf!jlI*I1Hi%Dz^*6kFioia)25&UT8Jl1#PCus$~3LD*=rrUpFz~G4{;5~@f}*o z0O$qqb&B;x0VEg#_A92U3QfB}^g7miFSEYxO6pi9HzOk9x7{pvu8aKmj;=CgGicVD zPdD1GcC^{phD*`$#%uICKiiBL_YTw8bZoX>$DIHaoIL&t9oGcxX=zYAiupNEvKpnT z9}Oajrq$N~i+y0QWpF>!MqfX#Vho^4_5jSu%PW{6kIMND0I#Z@25)L-3*{!6#V8GOQTvBRanVjQJ_q7Q8hp_9XIj?Jd0=HRfdrQi4MC;^VUi{ks?uNa9 zZ+e`uWcT!|ag6psiiZ!MS9zr}m8@{lGbN~)k~WM})Y%W0*j^jVU`>2_MStdEDnubD{_PS;M=*(yyXjaZXXDJ>R1OESKPRE4Je+xM?t+;tP9X(Pn+3`ImRg!(mTzg*%F{=ccHa1oNMYi7_hWO=Kt~ zrW`B{E}L86KvpknbvL7g0e)nxvhR96+}M`JJ(rN)l4JIv+-i~QTl<74!dY0i0fZqWkk(hS-QW&6$p(Kly(OfH{9n$yQ5nyHDCFiU1pt}ELF!-oX1idl5#JB zcgi!l0|g(Ioj|WRCOFgau(jcU8vUFd? z!~M?kAz=JsT%~=lQdr%l*O~qHdWQZ%M$~#LE?BEoFXgUL`>mF5Q}U(hh%}C3*sEHA zY~iP>1EeebAYIAQs&@l4xA;>J9@FQk%4lt-A-B3uqnyu-eL%-`BF5Q@9N4Y%-G3}b zXN1ooa2~hgt^m%5Xr{dSPYL+o%~UrvYxTgeO_pY>a=>lZqYA%u0xOt&Vs`zqnyXvz z{MvdFzUYK-#b?dy{@=#`M0I|OUVvO_fZ=qq>efXOac}e;F0hKaO!Wbol7ck5_2km% z1E$7tinXECRIrY*aWg9km=xtH1yh1a-OgMgjF8WQyky+ud8jraya{Y;1)_B3hq$gX z&E;0ji<8fK&C~~LdYWKD@OB`c=@V_QdHlWHM;SoxgF}*19V(spKsW19R9_X{(!6t! zD%n<#3@=w;38Dw+b5JoLE}`}%T>m2$+>G_2M~bv$dhmQ*nAkKl!EyF<^1JvYjzW|AQqefHmp2}6C+*$ zY|;P&DdW|tYfocVM{cEHX{{e#`SCG>ifUF?ZUh%JEEIx^T8>u_ z=MSvpgZ$4Xxal#!!YizPgYHW!^z=Z@!x_-yih!wsqcy}1S1OW&iU0^d+m zSSiH;j;saeUt7Zmc+67N^e=QbFG7JKRVn?+)}M_grsw@FDFy=Qoei?JbQY#C_2O5+JdICA5 zyn?j!7a*Z4_8E1WbPEQGXe+eVwtgMoQ`%})Vd(hR?33O4Y^R^l6ILd^t_=Go)X`b5EVD%v0l3FGz=t#ihVrw zZ8=7lvNpx}L*GxUH)R0KTOoU#HsmZb(|aRJ<5 zm_lr!mNv5041n|Sdw*CMg3J2oXe(xxRcB)(yoFic3f7s1wA=hVGt&obC`|zeWO3<} zl6KKyJqX3jG@!^t$qk7>+YlbUagY>N0+k27RJtxf-RdeG&+|v2*o1X#y3){?LX{ZU zEC5m;=wB59N9-V16;XV8r2x!>Wzjdu$XnHxq`mnq9wDo}~y(toBjo zIxd}>^F7SZcyX0O05>`wV|65Q^M~k|UMW%N8Bn(85!aB6>NtS8cB5ElqD0UxuOm$%m@QQe+1HsK zTT7Uwwl66z9;AKsoB+{FfzMmqK}*f|h6IcXo>h_jlq9DqV(AqOlaKz?sFG?{Imr@| zD0}L#QgUSgNL&Am!Y`#nc-XBOic?UkH`JNCeE*(7|AuRNb?IlrhKZy^+SYFD$AYQU zVuOyTZTEo2y3CA9N16XxQfCbXh#FZvFe8ZpUz%^w9Tgik6+p_?u+W-_OKrDpTxhr1 zuNn_jaBvNC2p1(_pc?y;9SF5U!HCi9%0l9JNi5mZxf?Sn-`C1pR`g$w2CebR5{%6Z@P&x7Y zru>(fB9cnjuZ6wH>Clekz!~e24F93m=_~0pMYV31KY6L~=2Qt!F{(v8h@@c z^K{1U)T_4l6V+a*iUBk>PCLS5n(FziBH@nbQhn$)P+Fu-5s4$HK+q*EFMnP*L?(E+ zqFD~$dmkL{enRgwJGU;=1aur7-|~v6r!qnF^5t64GqN6>zz!g09(|`WO&d1sf!mE% zAYcdny{V-eNJBn2?r$xgk4uSn5-j!JyS|wZfo9F@!{V6>9}Q%-Cl?9}xux&6RM15( z`~M6LZ*m2f9T)5#ABCHw#Qxvo=NTNHnwicL~ao+465HxAH70x=aX?k1CJ z(W93~85tSkXkH|9&<})wo;PF(C;7P9=sf$>zXBZFBl=l>m_R(}*#k5oZ3H zaX?vXCgaz)z=MJwa6ibG1vYgK!=lyfoF7=C+#p+(Nqp+(^ki3EU40Nitt*75=kBUN z1|aKL*sdEcl|MP`d%A_o0Re4SRi%JTIAAA2>Bc2E02<=&Zz7v4xd~M21%N~Y4k>lN zlQjb{_FPsC$(2Az5@VC_>URuS{w@gpTrSH60_iJCZE>owfYa}KysI3YDPX;uaZRpS z9IpQr)K+}D|Mlw`h@!Y7@ZmD&1a_tP)HWiAAK*vk8}{Dgam=;DpX%aK29rBd<7!z^c(^%0;JO2-tl5{@>PA2& zhC#ix3=%yzoL^@<6hUe!`1W=1LMX-926x(m_C-e!EXI3r7Qzx+|20l`#^=F+e z!x~JLW{2XbCTm#U$CbK@OV-1+zS$iKpuan>ChKB=9#S?MZU7~q!UpDwQdWF>f)HT_ zs@p#S;7dSJOhYIR;!ZTQ=WpZD&pzh!{=+62qasRPIxS+xLiOPelXu$K$k(7+(l$ncGsYjY=sz%t6+N-&C%LBRovI@gRBS$dFRAwxRj9-E z;0I81MPLyg64d1*`L-m!gn`x~`N^Ovk7=}5XYB)SnbXaT`}XbkeKdQWX$tKrd>Ja+ zeyX0TIv*^Gfe#L4R1?io?2KR)IWUz2uo|1OL#XvfE_a7p`hnP}Y7jKEdtZaW5Ny>? z?Nj|Ms-s1QT#OdYNEC+h99pP`GQLvIN*o2cXSFk(bSv#r`!n`l^Q~9vrKq}4aa!;NTy#VzQ z(=SHHn0~p}DaD(}5J~My63$>AczK_$K9tG9vqM2`MibL^tkuGy_0CS zW=WH%dtrKBQZQy(T49wt+zg>1I1J<(pyuIeRL|-DEX$%h@#W}YBafQjp31XlTE)r| zws?LI44*asfL3JzwAzv*g8m*bfoN!9&yC+09^I#Avwgih(Uku&U-?nUl2fQoS$qgn zta#`iu$NZBFveL>o2ZQ3Itt7bq%3<4+>CcJZ-X2HjBfGK=Lzg}OS8M8S+PxIgL$>` zag)F{^+z?Re;?pzt8TdFh>o_9UemD)2~HEaVyqGdxc?C!}S$>JyIxX1eZ{0 zf^9BJsZ8am*h&*LJ}zhX1a1X$d{6i$HtU>Xs#`3189#= zbrzsww#B{zY1e51V}}{-fL_-^H>-i$s(gF0q>-<`$rI}F6JS;MWWaeTi$5YVZC`L? z#t_4OB6vX}0TO=THS5Sb1G8C(1;rl1tm)Ud-IcSbM6z;hV#GO00geu8aq??HEW%H9 zzHWD%+`eRY>Xv8=I20*HwdbZ9BLhRYU9>Kq*e0Yk^jU!+aqF&HG(TJf9aRp18gdQP zkSG0?d3?;DQYx#_mm}>EN3u! zpo}Lj+b!fACJn+axh$;a5BG3eszWXRRC8gQrq{kV?1c2i=Q}D2y-N>&okq+e1Xwxw zM)wSZ{(@p~%AMRgIR;@|y^M1tkY}?VPospGr=M0ygZGrDSk&R;gUOk?lry*;9@t~f zSJf`MGpdcT8HR~?N<VgIn?d?l+g2Lp)Pe~Pm^vArXIxq46m$@Y|uHv@u_b+Ga) zLP1xO&a-L2WrFY_VT!*?kS3cmv4ub3tOduMN!5x4DtAJAeSzkh$M8fGIHU7e3IO4W zkn!~M52UH+bHd}RO?z@)X#0~H-DyQyBS9tJHNv?AQDBdR!8s2X^@XRj^6mY_69-CD=2)&$TwG&FG(_Q;(*@!RXw z{FOU|?2`>NMdOuVc4zcv3sOg1RjKIoYpB<)J1?T2fzkK?;aXCxTt3$?3+$w-W38)d z64#){M4?K6?f0yWV!IR*wAzUN5tN{kmvu<$8C=z>?39#B(_6l$wIV1rEFq%`8#B;% z1($$rj)Cqlw7evVxT;IqS~JN9;CdFhBpsJ8_qm*bOf+`x;g)hE;s_$}EBT>As6t4V zjK{t?qgVbIh+M`fJCpAR7;fuU{Ff(`e!M~h!+Y-Wucxmd{qo^^Aes>~5M01fG+XNd zwTgh_48E%r5Um&?V~A@htXQY(1rs4ke~f!3p67Z_LS^Y4f@m(j_^xa_+m1K_Ggp0E z0;O$8>J>InT=Mh7LAi%&vg}|WvDDQbIA~N6pOS**hsd*D#?(JU@q)qgc;?;O1M7Ey zVYnZUK9)L3EDYo=#d9dS zzsPLzXoDC%Z~%j%f(Mk*w2V23?-DAgydFZOooHw@VJf$lx@Oz^si-PC9ohhk41iZ& zyN%^eg_xwX=c8?Oe~Tgi6lxdnzflv*02yx|JUw;y34(7`li05ZSCDEE3UgF!ga+%_ zV^hI~&BDV;C1VCArlIO;27Q433(5yM4;l80#a;!+p{ViKioW0olc?U>vK|jmU zl%zpd-3$lm2g7TwYOjmiGmC0o$;Wrh zP$(lnkvbgAf2~Vg64trm+Q3-ox)KrNLYgAOP6ZxqN;>z`U0lxAw9c1#9cM57meWBM zqZi~gQnQkPI4{f*7rY9O*fU8^|ckVgAF++<*TbS$zs=>4Zy|$m`vlgiKRddO&_xZ?dXF;h{JlLntwnE zP`&ur1z~+3uQR%RsT|GG4I%7)iNTVv&698z6p^;Q8Ab#Xc)0(e0`Cxk`jiP@+RAWp z(f>{`7!V=QIPyI)MWkc?jxf|y@W*6j-MwrL0Wg!=``I)}c67_kz=^Op0=D1wnRo?j zi2bqO?gv^H5}aiGc}=1Io9m=??KYU`=q;w!fRO}+m(lFYtR%kBR5RF>~MS4V(CH)UnB+5l?MxnGd0uXNv$ z})FW9*0`qjtWE#A-_3C;V=asAeNmqkj3#Q=liJLm=g?1u8XWk=d{pGRWaC!h;-0i z>(>Fk4AS-lp-1(v%%-{scaBW!@Nn6AG}c8~{1BtlkJh>#Y^6O4g?jDC4(=ugpp*0v zy^E@zLG2Iuk8aKAeE5ZNKotjFEA9o|5qkV7#&>w}9#NK(cQ;5VK zNbqNRn5SP{CgJ{!!_Q*ofT9VkA3geV*n4L(LXQx0_$2vR+s;PuumL>+nco4Fh9W#& zcY96J-a$*(M2CTGLNmhb_N|%{@ASDWU1(K?H&wXH&D^u)l{CJ-zysiw9vE=-{ zt;L*I<49HiQRt^78AUKXk!+KOS=Z#sAH&CM)eI`!!g=iS;{}$778SFdB3Z~C^Si#f zkbBx?phWv%bWOG1JbHil$7WTVMa`d#KMO#oq>tjZKwG4|R6*msTdx9|b$0r=HJT-W z7+oy1%~Bzi_bgd$drMz^y;!|(+Y{FFpuI~XyW3_Eh}Fox;7DOJ2&xAB%FhmDjKW?- zpLR5O>I*89ZxvRq%m^UBnKn08tv6Q}!W{7~7FuzOG zRspDoCY7ATNp1nPIU|rz%Ln^Q=}CUC<^@=mD*WO+z#2iMYw?F(Ms~9!XM%-lT4k1{ zL-O|&jI%I*f@n-Nn%UAnPcpiXgp5r8*{LnYuKZ{*(*dfz8zhAox(R5>K779OBM+@S zn|r6?HNIk3-S(B?ff)i2+o6OlVsmvWSGqw{k4;b`FsIBP{-9IZZItSr1sol7np+1`kirr>FBs9BP7=+!~qKOLC+aF z;e{uG5yBkHrJ?KiT>wtm^(0$gOPk@^n@JQ28rfd!z?kv-c3@G9Zx74UED3|@P1dDq zN})>Cka6qPS}BrF(eITRKcNvt;*oaAMf0(iJ5fVWjv3@{wh)lNN!A-R_vD@v_ABAS zEJKBvLh4N?EeY3R_3BR|0pk34m)W{OEpBM@^(a!FiFG#y

SHzt|?Yp8iS;6+NeQpN}@4)qOU8<(cO4J^IXd*1$0~U z7o9wi*1m)Y@rf2yUQ!Vp8cKTTwU{cWLf80sK*0nj6|{jl$oLM*iS**se>I}%4zV%K ziaM=My`6;l-@RyfzvRUHAa~elc*{J?on4EH!hoRjN3krgEUMGYsRu7U&BEl@K#fW& ztUM&EBx0z*h>bbNEb52(u9 zfG?35ukw+}Y6?RLM+@Y-;hKBl-t2Qp-d03;pjkI&RM(svR!Vij(_%lsEKl^j-TELB z7Q4lR?TB>tt@ePnGy{=KcjASh@4M4h*)5!skX(b@-p0fcGPlqfv(vvTNTX-1_rcE{ z^uhbsygx8o1n`UNZby7{8+`u{?=(}!FNWy%BI>75_!ayD4Go2D!cwe^L}Zr^W|u$T z5+TK+Wd!rf^W`4XwZ{_-}|77}x-;t{sn=5-8( z5zcO4b*1w9{da|`TST^ruuNp1TtHGN=7Q!$UFFWxV8+r2pXB|K?o~;EY80CQlDvw! z9|C@<69K<{enwbiUX7tba<<*Wlh?J1xj`a0v#0M=E)kFFOa&wK@ww={-uPIb`L}TM z_cZVt0aTt9@wPN(p}STZ$o`ff)Pr?|qY5ujkRE`%K!+QB3v}B|kptY`lY-Z&MsxK6E5fIbGr!+Ud8{i&c) zRP&k}zB3LGKX6I`il|FIHb>o3 zm<2m6ZXGfSdGFzg%G5R>N~ySQwZEeVAVaJ`2}n;f5Zh{(_K&ae|9M3x9R`5+1G&(R z7De-$f88)+KRBZUWA>L@d7Fs<>Y7$uLc0`;4LEzJcuj8t3=w^bDl9?QuFk%te?*pc z>~ebC$UVc($Co!&YS>QqWjB!P$;ZFf@0?>+(mzup@%HqphyTqfMiZLlC|Zz3jBCtr z%d4Stz{EoOUY_6pF-uVTZ*kZy&5S2h?CXRVK%P&^ZY(Y$vWxaGIw++ws7FUP6?TS< zWF}Oy+OnxKpy)KJEb>W*LyPgGzH0SO?c9nQQ=J6r-mc5)s^UX~c+w zkr6bwk1*DWDkx4ju74W9D6_l>(1lasOL4}*;S6D>lhg%eS> zZG)ooz5^{$!!@+w+GsryJ@}6r0#IR$N8DB_PHa-gVb2Etz0S9LX*c*sqa3+f&?!$= z_EQvBAqzm?V~1;-ny@Ziin}2yXXJc1Z=c{KTBzIlNdDVce)`Su&{puvEHy4^gazFn z+22-2YGzR23HgOTdGUISD{os{eSNx0;dzhoO$~K* zb>}ZluIHB;oa@(&*`b`S@MHqrtM;CJnf*0~zNG9w<`8rXXoP+02x~Q%F7H+?&5aES zQdAQ=)hcZO-~bgD9Yv^@_BkD_UK9ll-121-Z$NSO<$y#rr+aEXn;jEFk zmxV4DBq2a`F@_Cl6IRc0-4*@JB52uO)c3)bcrgYB&OEgSg4a8%C$+RAmb~u(Z$y`@ z$`K2k#;8D*7PPv%aKQN(39ENJa6e=PI=!G;Y^*L|kM!AKY#K)v|B3M|G~%e}qyuD;}F7DOMjojV3? z6EX5xfvge-)~9TODnC$CGVkGU;iR0edyB0@#L#KWP#+YhYw76Z8-rN1**4^)u@@Rz zPFZ~TSuoO<%$(}2%tCtmEwy7#59WoyI<@!%*;JGnx+RE#Vsm3^p%R>z(*XuN?+BC^#Fw@jScpYmL$ur$Xb zJfWD-&_aqVHqs?VqmPsIwm(1cHM?`{bP2rqh!f}rrx*hj{ZUQI?m=oVWw&*(7(~ak z(zjeD*12TM^GDw_oaQEvD~EfV^AADgkIZPE7C~a7fm|&R*MZmvm01OmpU9`e?pICC z`DFyPUM-gey;DG=)fIbFV2i-%eknhKN350aYNuzLa4^b!^4SJF>zZPk1<)w?GOt2B z_o|R4%jL(~0E!KIDiYoX&;(Gv9|-BL6pT?)xOq>>al$DXr$Fjvu zK)(h8NpKPsLRmAN1owOv6E+ z8PcY31|T7oC4D&t#ov@8o$E+d&sJ}=T8scyrrL}ISFc_Mg&1&<=GihK01x!f*L(M@De%2u4r#`NvhlKL+Xgy3$xmcBo<7G`%!2eQGm^2G9n+3{D4Y zmpK}DV`J^vZch3Xo+zR~AV;&m=ASNBD198nay9tl+8#Z)`gH=vIt1MC*nJn(5D|)0zh z!Es|$|4az($zpX9>dD>!S~!w6e%IF4?jd=Wcn8ltiXRJk_uR>F^HD88-~RT~uh=Iy zIdIT~9jzWLRb&{o6J?QXH{~%0hWf<_ytJ=DoWxWFv#6MAQbjD}L@W$^GU3S&uM%tl z0ty5hK|w)yk9b8qMa4ZG-9q*Vr^L~$FQ)n*mMAg(mdG^#=9-jH}*!wIj zcx2p9U3S4Hm~}QpX?MRBqI?*G56Dg@)*8N!bE)LACLeiiN57#vN-q za9c#|Jk_f!E+@JA@{cz}TTw0G-9zHo`+K1hEIpn(Wv9PGqeVLjrAFdaIrln0tu!6C z=kF^;2yp~C^I=|v{&f>+Kff5UynqW{6n{PaHY1tDeH)JpSH=GNg@E`c*)|Epc`w?( zenCkSKWy=M?9nQ)N0cr9mAY+h}L8^}v`W?x?UiVehU;!Uo z&-tGvEFE<+6KH6XXeamkGX8L7VW&X}vRRB;zBA^JU;R1bXw73=o00Pet)Z3xGlZ<`Cyi-U_4CGisJ2W{2a84D0guK&3J|k^K=24 zp1sG9a?+TuNfF=AoXjD3r3Pv6S6}}B?f(DR{Xb_YhSd9Qo#x0({Fl!Y7S~)fZam9c@h z6^-(?f?1sH#eS6JvZ0{?$S+kvu4poVhURs3Cz$&ZYB3j_Eyo8}ZyYZ~|+4aW7g)gdN@RZ@*AM;uE!i`wCco#1=~`yz=~z}?U3 zw?vPSZt@Tc8q>oL%E^%aO=Z!aAQ#U`=t~ff*Z*!HiOxwoV#^|^; z^_mY1hudPdUaiZ@w{5LADOnYgkZ1%cxr(xKQw-1io2mrPRSJzW zQ&TxCW?GVCo#y_1#}9|igGnlwM~9z+_Su{F6a;(A6-##A8Qh02`)l0QW}_a4y;2!! z&76mmUb*6I1KxCXb~q#`sAqADeaPnJ@zEiO$6>0+ug;9w!BQd3iBmmlp-HAWif z>nkfO|Hs|pz}-5x589`$$Q3Lwbr;-*ZijjY_Y3j$b@qPb!M?JJNu_q-%jMt4>I~0H z^D)w4qC(}8LNU$9C2o1RZDkNoc~s(mU*Brz_&I}eDu%%_D^}jlQm1t=(2UC1cL%BN ztaIV>?ctcU6*)O?1NCG5$7;K=3CqU4M~JOQ0+r-$7Sw3`aggv!2z;~|Y_$uk)orc$ z>suH4?CE*d>%OTwl{!4QYOJ1`QJe>1m5Lg%`&50r@65hAw`n~l6MjV)WQER(cqAls zd7m-27WV_44)+eG*vmV}5)^vv8`UekDaZVU5%{kuT7tzf)h?h}xMsbx;kVt3mQcZ* zC>BU!JuYbCYXM{s?X5evj>Bgm1tn_(5k%E|ysu_vVi6ewK?mN)0|wn>^J53QaZ&NNZAmk;jO+Cx zMo{dF8+3`gd34yCAt6KW9POue4keF;DxUkgO}I*^!PY|v&vhx+r@Xb zj7c9nw$JEeA3o?_9T)cedJgZP1YzeJ)nS!%fk4Rr`Uj9-DQ>E#v)ZhV(IzAqi%3Zs z8)sP{yGM2H4pvKuS!lf8tOfNvlU~uZun-t7 zCz#u|wkI3dZC?tCwb3_7$Hm6J%wp`XT)4D5G0_8N=Qhodej(HPiZKq(G|(t}m9{7I z-O^E3N&oIkdWE##y5{{ETwJX|27ZBxB*>ZTXMbN7K`K<=#G;xy1BW#!M4+?;9{VZO=~c3#^yFBnsD8 z_3!VDFPdquO(5&*L%knMG#V5R$8-$d7kHrhFOw|pHQ5QN&SZqoEZZGM`};RXmtW7s z70F^VK9tMm%KuKUUh<6mnzpAGLXf^%qk1+ABEomL(TH3kVbhlnDY@EQH?R&n-ZW7( z$hl8fIAGB((agPWBPsdGN0jlq7lVfB(g2sn-B?^)Ts^~lcGljC3WhoeqGTq7foa%r z`yO-A_Rxnlm#4=5pc)8IL#*7%v64JV9N}1KJ|!+9A#sO64JbFD!)LB$4;3y;O*p@w znekW(p-32Q3r4&6CQFlZMiea$VnJO=T4(g(B^=mj(sHn(S^vnHEJBgQ9+lD6bx|!X z^y3x0?K`1(eB6?rtj5TIb^W{x*x2u1t}Z0UmeFAx@5Une`T2uHw3fjbx3%FL=&QH$ zQe%$E%<>8f;v62>0c=*-$w@SGE#c-(Oe)H6$K!lMSa{YF&*u`y#uF>`LYdf|wv^xq zh~9AK%JA`_zx6QB0#W%+c*#Ya&o}tWBy0?bhd|P!6`lS z^GJ<)NMFc?Z`Ou8Ykxb>Al@Bz>zz*$O!T3V?ByRFip6ifKALu(i-^cN$cn0H-8fip z7xsA?I$!nqc#R1MSOnk1mc6OQ%F#X{GxG=F>m?WEnoO#1jb;{Z>6ti7`62CFX=9@f zww?Lr$d6Zv7@3lJ>F+jBn)v41tP;#+O{^I+sb`qzrQ*9#39~_BpWDsEBefeNI(mC= z1@S$Zwj!n^Vf>eW;eN2(-MQ{OF6)iWRyHv|KR-VH^1|l^hoe{=_Doep#6c~!xs%m$ zG$W*5=WuRhAsPN%^mxB~du!>Y&Cvm}&gZ%}G4nG1>!xUXS_p*oe%m!d%lbiUynX*; z8~!Y!=B8LaKpn>pIN8fuZ!cbR;X4>DbiqtkEqRvhD0r@19hZe5gBvgq{c?N(2WY)Qg_WdYf%N{SGXoN(cbb917`NCrvd zqrHvxV4IiaAZD1=lg^Wax!5cF*?4dr zc#8*S6C<&QcgMfH@$Ewgf{IdDIj{A=tNmj0W!>0AMf?B$juz+G!;Q$718I4l+Ie)rMR zd6zVi>~Oub{3}iFFdGLs^E#_0%fdl0ey5Oxl9F-^ zcRqKR5Zrmg{U2AC2cZD}5b*?f@}>jNEKRl(2MBXi*PC2xH#xolp0Vn-x#Kkno_!eq zPlU4#eS&(>&hP;2!WXRHLau*3z6E^$mDa2OtFIAlwn~aLDHGwEeKAA|S}EQQ8ERY7 zE`crqPcI_r2k#H1TSr=Dib_d=vP3TrELhG6^QOk6Yh_ZsUR9MhaGGb&9ag>6o0Z*^ z`|f9ii?zaKrun%f$o&o`BFe?X!(*8K_kq&z%G$_e8A@NsOo!z5W|)=eG^f9MB?E`g zBM~J1eW2|vgSFDaR$fNNEmqdimC?pa!ht;jAtBF{cJtOig`V6sCMOLbCnA%41ipCr zk1d|tI_c*3#a_YPkhk2ccdGl)zv1y^G}MX0m0fh29PZuvBGr&zpg28ssjxSLn3xWP z2~F9^HiTs}Ep?SgFn9~A{X7tRP*NFzy`f4jIvV%Nl~D~L`?7*6T^)q^%E;AF;$mnC zkoRU^yvZpoIW?iFsF2xVygd+H2`jZ;HmFOw?tg>hnI98yVMkjaoNI3nY>sspy9tCp1<8fB7AG16hUZ^^R_n zhMFQ-D@~}rUMi=pS>bh{kW7?{HD$ie=M;32v%l~d)DD^FyK}L^gv`0xqr<}siyLZ6 zkB&+;G$zdfIH_?36NL$jmyvQCyMe6VG++iXN zAjoFz1(A`kP~Q`N{)xJ@wBSG*UqTl;IWrK#7~okW44C_fmxJwZ`h5xrsH$+o4G07g z$6bLn9>}!)QAvP%)&tF&*Ps_XHAb@J;+65G|C(nDYJUs@f3vh#2bM?bl4|*lY>}Eitj+lUER4lPRpLO+`ww`g;!kqryyHUwk zLw47bC8OvS8j>PcB21~ii}LkT?iA5@#s+@?JY{mgzZ08IvFA$bQ@}SeCXxlbJaU( z+lLs?I8>Dlv+b+|G(M8zC9D+j!%-Y^Q84Qy@ZLChh3{OIrkWfdGBC&(ACI^&jP>sA z`St}S@kSu&^mGvIMo@eth|=9I5}VGn3?I#njS1%FI)X|uL$-Mj(2rGPQT>JbP_)^n z6y5k9!s|2Se9l(Xph*O%z%QuLu59O3%#dANGTHE`X7=-+*_*BiCeq@+51TryVr`GZ|+ zcr);^lxcssiHi%OU=shD#sBh_JpI8F%Vm0t#zUlPPKOM9&Lv^tY({Ubk}xMJ;^Qf5 zYjdsk?`t`AXDQ6i)>2SB2Hpba8uusljFN;c;Q=piqN?x0sm>UZt3A1yXU;eY`x%CW zu3esd6l(r&chIahi##GzwLVNi+M0A|-&|}cOfyXVKj0%P4gT1!!AiEeQTRPGOm+QL z)$W!Z@RP>vZSLfX+FD70EU2elyJ{*+9cZX$G)X>uLdM!CZ8sZA9>w2rYZ z`)DS8+5AG)vj*MJKV2k7(4Q_cz~;YQU!T8*u31w%s#0*#E|z@vMcPZXu-jwT4QR6ef_Py!KXI6&gTs1)a}No-MB5yR5maWsuue^4>?e2`Q(u(=#~%`bhW)l*ZN^ZC2}nf z5*)&K^Fd1a4u2&hFyyteL4RI56G6fFyo?fu;vM9vyY9aAdjK*P58)`?=PBAA&aSC> zn)}SIIgFW^lk-VK6t5b~i*GZPl_~`IdyU~NRlAl@P;*zjVk-75OlxVty}b>8atn{Q zhcYHJdpLzhX>Pp{c~c^i?Qw&L@S><-p_+&x-la<<_cg!7^E>aq^aks{dJEteIlUQF zLLVXCaC=u;galU&=<_&d2M2i&H8GoSE%eLC6sGW*QCDjSH5lLlr}p=34g_1Q zbfogo(dG8pf`1l(|6zEeYIkQq$3rsjc`H$81CF>pVj5DRb-yVQ!U|Ied?zVka6FFLn>{^;C?>snIt;;Si zKDakvE&IO;8uQDi6je*^@bZct+M9wi3jZTq{A+Vv66Nyi|LncSfNnb`;{(T0UC1K0 zWMB3b?P}e+xva3&)fo(;500VF)15^{DSdsLYHGe<-3t4MAn#h)D=8|zkBBhcSghcuI!@(|}4^l1>5oQf7Rn?%uvW1P=h?=J= z!rvdS%IoNWGmwhHT4S7X)%5;}BkTSvjwDC^9Y;=_#*v-uRNF_1Sg||6fRKg@J+WEJoB0*3`JhSb{W$R$hwTC*NM&4^(@UZ1;7Tf_te9A5Z6LC0 zq|)=I(uRE)Wn!UYchuho3v57nbyNy{BliMTrPyD0(;h{ai+1S{jb+tM7>QQ-P zA+qGX7$N@uCI4tE5esdj-{!m_K~3%Lj!Sx*HnZ!wl1C8oRw@y4L1CjM7{n+mwY12} z5wK)51_mzxleWSAYtRBhW1)G^>|h9sM;FTu)?R04XRpsq{}1NgJCN%CeIKuvqAi(~ zQ6%FSk&<00)sdYYitLcRsT3g;jy*CC*?X@BvSsg)y=8BH_n}^)UhnbwzW@0BUCwzv zALsG7@9Vy<>%JdP;lj>f3z#{4@ZcI!(A%j93W0tY^4tFpE|Xp{^d5JW}Zx7 zQ@cCgnpVw`u#WUQLW|2|)Re3$QmW3k659%~=g{F4Hg;)Xa*2qlB*e>sJ&qL4(;KM3 zNuv?WDd!>o=fF5J@$x>CAmp7>^-8N}mAzpDn|DpzqR7h#4HcD@Qp~@}ue3hE4O{YkLjElDJv0TQG0`c+iC)((bJLXCF(u7pz32ohYy2VuD*0{uU#v=@Gc$D5@2hJy%xhhv@|0QV&&5ov8arqomH6CEpl26V+# zw~l%B9wwf5E|{I}FP@!!G{;j?Fn1Kf<8O7)&+wS^r|_5@zAHR7{zG`|*%lrZvcXBE z!*p@lU*iu2c7M-AJ`T-!;4)BxEJTAP`eHSoZaS;I`shxb(im$lW&Lh>A0|8V?%04( zuce)tbe^}sROMSGZBG#bI?XuG2s%}&N&Y2dwuoA!%n_IH;9)m4dlb&d#&#nffHj9^ ztqh9~D|H4Sp7|$(ro%|Nejl`jjtzWQ12y$|O=s$=89>|-C?6@6s0e3fWz`4uM-c|E;MJmGjT)$pWTZ>lK zht!spoRV^ui77fQjgylzG;fV({99Gf5b_gn16WvV{a3gwyC*tg(zJn^iH)uIJH_5* z*H*9rcL^&ZZ{e%3^v?fzDWG&cb@9CAcy?1lq&P_cFxQ^e^O;LzZlzMT86T?v}Bh@o&fb$T4AB(sYh zfs+QZa@j^-->vtoIV-^K?YGXMu%7L7a=NZ6YrbSKHJHis=T(`VSm^GwEuf^LDpDTi zQ7JAQ8alvYxNKDU;$Rp)zMjzSA$IjD0!*z05B}*hBVgMsLkeL*LC-e6#Rtx2>G?Kc z^N+rzYT{d2Srvw{evKD1YC{#CKKu(cp8l^OK%z(GBq%jr-w0E!uhRih60O_hjQfh6$*G7#2S-3ww7L{(QEH z5O)^!DDq*Xu`zY)ok_`wH;iMt#g_e@z{mIX$>hNOi3QqC(X+FCZ{ECn_3Hcn!{ido zQi``NBgY{vOihW6SQ;b9xzaD4`7l}XwsKmWJd||E;25A)8Nl$nlJ4yZ)zWStt|}{gO-t+3x6l4Stt3%1 zGA1QYtM<3Fq`-|&tA(+$9^3&Kf`^BCdyMbN!UVi(rm_rzKF3=ujZDV}2Hh6s<^r$i zza~kLU$7Dvf8B73l$e;B4`DP@$xer8P)Tbg3JV;r`e-L{U#+hb0K^}vVO3T1u4tzI zDExkYyH8M1Y(Ago!Xzo?YB6kz6TAlue3uM z`a@lLtv@x0WW8?4wmMlke%Dk@t#g2tYGL_LRqk1D`g8v_P>s=TUvxrT1-cyCg5|IT zUGj6Ab?(5u{b3R3Ep;cp1KQQlc*Ve=XoA)YoKnmJ@%O)}V1wMZZ#*C>V)vUXr8XhF zfp|+T4~Tx?`Q~dvs?jizVVs=DmY0{KgR`GJv^A}~$&~(gQC;(WL&E`ENb=|c>w9-=I_r9 zY|%pgig%GtAc{JhQg#M;D@4H~zPq+oq;$>%c8k}-xXo;hC4&ACO0~bg93WivI0le5 zOY9E+3qaTPz15#StgPL{OH8hd*Si%w2riyxXF@4C!~8O&kO{#RU6;(iR8da&bd zmQAVQk9MI;5Q-o>)9v^q@T$CerEzHc2KyB_jF;vzptw|4YfU}aiX!)PcwujUj^<12 zc)912LXH$VlE&f1zMD5*Fw1=Ru}GSBYNgOezyeTEpw~}cDN^~84yrvFN3yJ98NVl% zLe({RqMci8XIB_+gmLt{L5K`X`8WI$drz5ahtP%69aCNFmuu>sP2iXg0V>GzPZ zD1x&gJe(xv(iJ8qq>aYVfWMx&RP-0EG%*3LUKnddr<-A9a(N8qIe!ho>VG6GtR~rj z95<;}phF;xcd}`GR8;+&Xs8b$?D)h!_zlMNx34W6-rb@@yMmnfbFrNTVN9^W$r$4$ zDZhXkCJBFEbN}+!+=X2Q(s%DZGBiX7fDjJO5?7O)a?t++d>(7ZNHP`41WO+}>x2$?m_ ztOb>CJRpyfC*36ylqtNacUG9Ew-`e5+aFo%^H5NJGEz^@GV$kkEtPw-aMLmm;3Aa8 z6;X!-wyHYCY@>H!z3-snTaE$!E4 zik#dua}=01w%>1QXpoV)A`;M-0@ z=u<3^V}{kEU=H4~e^I$vjnuDfv06MkgnIzx=C-!zTjVEc3h2^J#tpxHBVq~STKJZl zdV?iJzgK)IEtA7A;>N988Vj5W0w?D>TqA`1&!`oKnV>`4;?Jey;NToR$=dxjq+pE$ zWIbh-73}@{n;$pgQPrY~TJt{T=5qDl6|1?Pgt+jPkC!(()hNn`!*YHc6!F%!E(w!g z<=Jn)H+7_G0geM4^!GdY(!qEm9w3MB#V9;Eihv+8g|nly3boy=t#Yw6Vn$Sh>rfTk zQ{d0&`}QB5T@VcW{|Sk({f$JLzM`;kh4p>kT5@rnHkq(e9s2srfR%;!m6C)?JB!WN|N5zv>H!3Erb7Qve|)Su5L z4a_jnpZ5PZxMT8X-7=#UxD>P?edt%!Vu;bY{tK=fBfgHoqEHQ_;lSqF9Z4rP^*Q!e zJCN_X0v!#FM4ZXTOR*SiL6N)bUpM^{J6X0rpbM~o{1!jZx3a|*6dX-z1!rcyly})l zV7Fc(_vGs*I(5oDfK)q!Sz^F+Tn-f!M0(-`0UlmH$dDsNWs{YfwuNz-W@1)Wp3Cap z1a4$)r;c}n*ICV+4p;1$5eE*0G|L@6y&^;DR{i!M1y4P?5_~u1ScNlVV~>Zr_~f`I z^N?LN_Cb(?#QzudOOwbBR-Yg9wd5Jf29;k32ir!A!boz21ecb2VK>tVlTsCrHu3~} z5~!qMe<`|IDuUZ#H6v7poRf+Bn~XuHq&ys~lD0oaMoR+<14vd{8I}`BS=lJdh5U&7 zPE#ds?fMr#y<7uV#g?8I%(tOyy2-82dF(>X4a?91(iHJ##jsJ)jgKwHzWy%Ov!=Jx>cTKTF zjH^Ve=eSG#x60cn&5mj@1flSG5Ow0jGKf=f=lfM)NtBe7<|JTx)@1xAqbBQIvHucj z^!&Dlxw!@I;Ai;(HJ<*08kfDdK@Dxwj$1K*Mj8rJYS~;}{mDOSl@;Qg!Z4EZ6%)SY zp*%vumu1P*)BV7x3~ur>xi&k{Jy2D3IbC-6ywfFDmQYDs?txcR?OC`mh{MU(<+OKM zLJl=WJE_q`n>~&M-$-}&I|#m{oU<7Pp>Td4Kkj<>ZjXN@r}B;L zWSJakA8*sh06Ka(T9f_Q%U{0Sf@LJUs9v28m3V1w#S z9%2gn?e-m4Q-J6PdLz$%liZ-%L2kgmVLVtnb=*JcUH?GyW-kr+r+RSG+O_~2caDRj zQCBIVVzM=jo`;9y+&NlGN-NOi>YdTkwf(6-s12o;65J+_wXZ(ydQ0WskLJF?Au8sto3tfyTsqnkQd41e7K2~<4*ejSf6CjJZ_nu_PwarVOUMplLUf5 z9yaEyBX@lD?=*vnzZdUnBJ>D0XdMmWnECj04P2FmV%IGMWd7=- zw-WhrH%3O7^)^9dhfiZNJ8al5uhRR)&Hbpx%6wOst*z_4Wc?PuQs6l72Xr&D&|UaQ zUOo;gkRDPFCVII{jhZ7YGRcn`!9*U7d$0JS+FdKK#}C(0hz2_Xi0x9^6}Xd$`mAdd z6ClO`$VvgdD%VW41qhHw55YW#%shx&a61tE`Uul zmgKIlyFAD}EA&Aqhb#Y~U>3_00&FheLkRk_L$M-!))Lkjsdy*(2Bl3=sTilwn}q;c ztg$|GiM)M%En#J8PTa!xXT{Ysw*%t?Lj-ZK)`z792$R9w<%?R$iQKba70SJMsDszW zQnaSbs(DOTzu^`TVwuZ_CSDNyo6?~!s|eSEXqzAg(d8+2t+a@v`oql_y)oW0G4|~*ww)thc!fM2{r~2u(iLe=?(YYNFnchF zt55};CKgBGMMriDWdAu|toXA^%fPs%SgFc|)zv@$!4?3*^1_6*P!>V&TPmFLsh5XW zF0zVm#X_mB-a8x*muGQ`q5lP}TjY^K{$Cp!-t(S>#W3D|V0L@II?&YABtY;7a%agO z5e{gsiL6HHxmZWWdv4ZjtLOa+Y!iH7R`CFm<0O$9hv@_va8Ho@|CRWE5-c@SQ(tBx zL~O5GpU14v`CSM}mAGHpcD7;7{>4vjcLxp=8{jggj+;LIpUPNiG#FoR-y<-1z9tWx z8;;bAcDo5xg7prv5k&V*+vv8kk^0;$0vc0>YoCFWEk8ehBoew0CQn%Wmk=$!*eMaF z2<*9YgHEcAm91U9Zam%qhN8@BWC?u1Mv2 z{o<6{@VDW#5qW)YZ{}dmIo>S;=_tg${VGQhe2|NA*y6=ADdj3Q#Tcjf}WlZZG z+!;Bj>Q)vP?}AZl#Zzt)cNWuUCn13k8iH2v3GffSXNEqYG;NGaBYVdav}-8b8S3o~ z3pASIB3tAc-zwHzGaj2S0mnCyHF#`F23)ubui=rJ?(BN8U6tPI_s?aqvG>4X01gf) z_zUl9Ya8oMJn^sed;7NbtLVTgCsy2+mLzkMm{>J~8TwdYdz|N^gl-*pHYPQURTt>C zflAAB-0hT&o+v`IrRyR*bGQXdmCQxmO$F=yVCYSqlo|(AH6pllJ}tpNn6I;`$+V}C zMVZ@r8LPM0<#+hva3D1 zugT8ZlDad3B)Gd!@I?c^MDn<6ePv~``Ylcwe_^j6bLH@eR(pn?^`r30a^mG4=T>mr z6?v_%g@H?6n!FifTaRMy_pi^7pY}8=e(mVS7sL+Fy=fYrTE4S=dw@#|oc;|II#NJB zgD(_=L=+EedDjZU>`EIorQ5q?co%;?KEBrd!Tj|5WL(G(9sa34I2+ zvx;a$R&Kn-R{*#k9xW{`7c7h#p}{PQXCG$Cc1v=bw$HVgPn3WAK8=Q-l2|SE?}fsT z<-p+-tMw(`xl=8wTSXzEGZ*KvG8B-8&~gASvYHya@$t#hqU4iNe3aovXg%w*-wM`8 z^*}+!02|hgxH9RQ{P^;75J^u_?uw-5OXg@6m1NaIIwr+)9$)!!J79dd#B@tFZ;Xje z2L>DdO(}W$8&>~9JsgQS@qLwt1EEJ0Dlq6agpIzw+{A~V$!r*3=uS;QfXfXNvNq+a z_x`)K3C7v^ueER*y&y)c%H5bI!}j|}qN&G#Xv{fuTK9oVeCqu;S7+{5e382r>r2DR zXUL(6k3wAdNz8)6@Y`F(ju~;Aa=h_w9%0j}v@rY6w#dQwa69m0ONo9DH_4COVwy4P z?oOr{Y(4)cf%}h463_?BU+QyxC#$x~J&@eCGzTqWD-md}N%iPz0BV?HG2S+?r@!1K zD(WC$<1`Tt$w9%NLCBVSNBRiLsWn~W$(%SOXgZ_Ih(O#H61rk#mh!pAXja2qPOb;~ zFSWg`DGF?*M}EYof;y!^^vFz6us}5}!iah^9lB=G=(-qXb{>r3sxjsaMym*NR`i zMx4Ca=;7rR?LlMe{LvAgYk4+nIxZesoh2pX2<*n&Y;8BzIHs>UqfIg8Tt11zOIc6; zaD(=a!{&;;t7_7^bfx&n^oS z5;79lfq{V?8ewwo!h`i&WYAbOg+czaZQgM#w)$IsnS=_3=KXe>ggDh7;VifM!OffP~3XlJ#(~ntspkkpLmT&3KP)fDUTu2-UflVDQ!Q4aE z(&AN^b{Y&vdFE%kAUIlnIfJe{gwa7;a-GPA$2?si+@M&uK3cFYbOh6x{P=Q=$zDi1 zihA3ND#BmZp+N5-=?mPtNiT{x#!)mj9sUMgBz*MXiLmk_Sxa(i{4DIWIw?xNwh zoCP^5ubv9)Mqj`O|EpnQ6+)$Yh!IJ(1?`ezR%NR@Dy z@M&D}dJ9%n2j7dyf`bf_yGT&``1IITpQ23M$IV7X*2oBi^;|aBIyC|zd1P0+j%r>x z2kf{T0o>5HuKg=ex9EvvwM9vv;^^l^T?pkQO2w4XL( zD@>|8v45`>G=yha7?-CwsVTun9mt~6)9W@U6ukZvhJXB4P3(%9hSAG{8X6_QmKApQ z6fJ*$;#{60BsAaN{_XAC%Sm_b&t)hK1CGbEuYzAjjv)^{%?1x7EZItXOp1hE6Ih%Nx^8gdpi)!1z zj6}+ji5VBdz15rV=$HYk0){51WJOEY??1yH{bV#(-XyY&3lp$*PVeA0rN%cOsSon> zlo{uSow?!VRs7*=IOI`{+~U6XbtSa<=>um`*Ak=0H?m}Xc_tk_FsG>+K+vv zLw2*Fg&u4XXG4^rp=bOreqaV!E?o)%lgT{YLy#6p2?)4b3T%y#$j5-#1}d2yeWjJw z(wb@2KvH|pFshrwMoD=;2Z;EoFAO^X{%$JiNm7nYeMheRb_W3&k6e(KSEg!td8;bB z=av_tT;F)k4|;rAu7KD8d+`W8{UI3lA;j`NP9XvFg^McH0p_DYmJ={(D9nTf13)CU zuLLyS{XsOOu#xdap|sMls{@uETzwksqp1^DRY|6sA`5&J4AH@qsK%o~B1k7Z1lTXf z=2d@$p)a;S!w`vc-8@iP97?Y-l;yFvW%{PfedaDWIJm-MN?IZwZqN%=;lFU(Ec0gW zMso6BEFOQ?uw~1bK*F4V#S+lp2v#*X2)xb{H?#pBygGJbgSzNv>>7mxVf$hiUfA-1 z`(sSm(EX?KW!9SnW zSH2a@E1f@h$!7IEbTlg`TCYq_7VzC7*GQW63SM~Yl=PUTwXALv41NUJvfjJ3t}kry zqLPKCu(Wh9SbqRpv=#x{&uBm46+jBNx1vU{ycv8iSJjcCKjnJd^`}YFsknJwa`=Fv2)P^T1Ur*426XEmFoqu&Ci*sc=m0ff1X}GcQ$40)&Qtr_fjuhPEP4}|>|ndhpvBtk zM~Kb+`c0#(l58DDkc3+w!knhZJ2s@fDH>ec2wF37E@mEZfk9(blaf-X^@v~PrlISd z9s4Is$k1%wJ7|M#&DrHME)EzRhw0w7`#HZ0y0}0l`@(2I#E3d&b5hCD$P5zU9c;5A0^8^nd+Zl!hDgNTArP{* z2B&2fYNnIN=1JfkDC;li_x;Jk~^ zoTJ+}_>7#bDULrpPH?+c~2#Xf&E_%>kQ z<9^uDKI{Io;FeHy=iRzotv+|n$A%k9gGrHf=2fq$O1eJ`&R7&wjdE051^06gR><-i zR{375i!2BTXb-L|v!ceuZDP)sfe{2&6Ya;67;cRqI+z76i?uP_zoNgo_|Vhm!b1{t z5lqb7v*#Y}BJ%h>n&%0ROrFEk-Zytto26Tgtc;ys+Kty))_T?|@97<=wEOn$EFoc0 zNC=F|wu&dTqL!A9Oi|xRwX7czC@o!6xKH}|({)#hYE%()jpwMAf9UBUy)5{Vj?PY! zUY(hF;gYtRSXG43WMN_I;X~7gMyYPjqaWlvFY6E2k{?oA;6!;7U($^YB~1##<@FIj ziL(1$k{Il(kQ$Q_5OB)KaPapx6c?wgRLu3Epy(>?=y>Us@m|A) z$i-s$Fz@r8<2&lid*OXbrDOY)4n9BQQT8+;wZH8Wx#0<=3NpS+d@d0%2bSe^NtvI! zAE*0?i)!bX6*y%Pi%3n)u+_B&?WU@SDMUm>EiF-!lGM(`1t%%G9B;|V@|dhGufIA_ zSrzEZ?eQGOz)Q%=-j~U2FE3Y!F|@T=H`mh~&Oa~2ZBFq>=-hdM!G6Yfg^h8O^AjC6 zlY%^GW|}L7x@-$7>m<<4EI2qh&crk2WveimcOMWh-H{8IaT?_pb^8+||9>ydgZzNvc0*8l3^jka_~o5gSV z$N;_q=UTas(v;IP-db#XVfpEFG&Pr2CO0Aq^$N%gjE#HVdQNoaK_aG-!J9yc`LH>B z5)LS#zDKXFSP<)&o4bE)#Wbw&-LejYL)eDqoZv;vNx4^ z_U;AXjFu27D{~dClS8}W!L>1#^DWRiu7Q*|Kk84Q`4rWlQjr%*cl0I03Cxo=V8in@ zICdj^1L2X6KN3Ir9rek3wYR99Z&ErGv&8)Nv(1TT?W*II`1FRp28jy}&5wT`(@**I zslU>HMay`;a%EB^KAK)ORU>qk{KB*-|Nd>h!E0IsqJwC3# zzRDCg(a4yVji-l)dE!g^et+V0Ywxfsvk9~ie#AgzjVBDpcg`|UO_1w&)p5KKHp*?r zkQnL1m;Cm?;qC5@*uP)aQ$=0f!_#x9?-9kRQw;eTInmMK@)`4R^Kio;LhL0T-YGsl zW(X#w9v%e#Uq?Eh+?aAW7U$`OiikRhDr>2%G#_golutWUe~1k3K%Z%h^Os1=&v!{l zj?ggH+cycrdLBIRc)BN;MFrb&uf9In{DgwQ!4YhMFe3tJ#&`05|T07bX;tKQT4M!y*~1o;-9=lYZdzJ9{#!fockN6@g?a z(AW1LE_TL@2j26ZeD|j(CfpOetw$D(-PuV##&{d%$ZOVoQabV=cdGbsidx>*XVr~N z1UNZr-a6>#q^AtmdhEHHw)+4M3?Wq2BL!~0oEtkyc>1*Y;`fd(?co93zJonI(2ol< zya#(CvEM)Zf_V&4%MUOooDE~xk!YxGeYcslZlhe}Hr^}5WOU+B`a&V+rTX9R$55i47_~qau)n?nPs(LHj zEoAC0iz41C&*PB{T!~QZw7MVk% zj^8@{g0ji(+P{4HG9?9ze_kvt_~TeT-R$z*nlkU6J@tIMPH}_XG)lmYoXvW<972Cf zY=!jn_a|#T&M@@Ab~D{Xwt6?ph55hNAz})+VzYXIrQj4CfJ=H4hyjFw(#PV98ltPy z{ZUqzxwz(*2Js6o(52OToH9_#%TDNC`2_K$;?X_J-eAa4I>vu|0@On#y20}PO5)WH zT>%k4ak(Q8+H=h>aC3);hF)P~^XcfMoI%}J2&@WPtD6vuIZaKoV5+Zw?=bw50Xv za1vKktj|nxGAOj*U3_p#@_L6xCz{P=jiEU6Q5*VIq>nL z5RK3&VF_6g8T{ms#h&m@FzUIXd*g*Y z(&f}#KwMm!lxAE0;FFs9#;{wSsd8{=5_auYdaV4~;$B2Ym&JTh`;^2?od!~~4Da)+ z*jPHFQX$8a7u~&?0%HlS(5b0n>+2(F+JlL*+1XW9!f_A_a~FlO)dt>5Nx3N$^|z^hK^5SDI^HTFbV)m55CLI`-k2zCU|)WMK$DVwh9u$U7z$e)_W^ zGfsq>o|)Dw7lbV5EZha`wW=xt>NE6SE89Mj)I?1@tYJUz^ikPo2r=dJ{CVsxa`V2t zh0b@v6KxB76Vg@7uQpP^mWp9Ja1S+`e!laNV2S;81}3J=*A7}22yu|@UK)bOjy%3@ zd|7XzJeb;(2d61ce&wd~`Q-f%y*x5?x(qY(m(;>$F(Gb_WY-Z_{UEJ{;xJk))*s$K zd;}@sN+OV|)7AsG+k_M@&E(L=0kopzvyBqKf8);TQ|smB1)Q56a&^A#th6)@`5h<^ zxWG*Joba3X8o~L>kVJeM1Bk@FP0ZSq%zD>0);m(OX|fsUVd%5T;21Dq2WNKrm=Ot@u(}!b>G-` zn0?8uIDb3^I`_Zbh*Dn(&>+641 z<-TVZbw#u%{YI=jyLY-ndwT{Nb$c`%?}2e`Poi6)&Pvc{7&}#6T#S^1ONr{Gcf}SA zLeN)Bpj*;x-^#l3Xdj~H=8+sDCn`E$R_+X7vMx43PeqN;ac$;FO zic^4;D}ACx9U6qg(m3tx=7gNsK9r5H3=m{yUP+E7X+IefW%TwWH)9-!qtvVL9*Q(ycgrHC9}u=RWSK0f|Ps66}Jv6tUi2=KJcNU$aRh%%^^OWkdw z?^Quc?f)2>Q0O%ZxFObabDL-!9}=X2o2{N&9NZQ0S-TNw3Y@DOIyQDINDN$kT=Ite z^yNq2TjoXw;YvISiz4BsiZQ&i^LO7!nHsOHub2j@z{NTL5%e%BvRO6LRaMm&5IB_6 z?QQ%zdTk_T&eL{&?3j9oo!}pk2hwP=Q-5y6SFXeMeNCzeOq=laXvP;A%i@-`EsQ=O zFF#uDeb|hInVQM@*#k|u!86eQRrW_>+1Ge=pB?yS8s)<_rrbIoOI<#Y{2(rzhC%5v z!2&7&TL;4nXia^2dd7~X)F^i2&s|EDt5@Q>5kmx=MzKuV1i$1e_^`fihH{kx;qr0cBA?gK+6F=>(!$baG6L#FHm= z&!01tC8ea?K_ZO|l5vk7CF*KZkd%bG!Ys2p8%#$U( zUH=+_s!gtCyA&eMk(0&YMz&%VBW2o2dTzAY<#cd{Zbv}$+?-AT>e9^^ODeNqUIi>H zf7oZQPhPxz3^vFqUkjz06En@-q z)K5Pa(PF88eaunVFMqmh57FbPrUiuc+MNCO@5hmDq%Cf7$MiSjJhq5D*(5HUJC)zh z-JO^eFUl160CgUIiJE)Sm)&@m*;(q$;0outUNm9UG`q0yF$^p`JBfB%M3{s7s7iOCf# z9IG20F5&iMSnurH4coByJheZv>&!*tZ^5r_o85Tt`zBs{K(s40Mz_wO^4Cl};^OAK zmEu)Wk~ccbN`1$Bd!xiT+#tQmq=$yegdLb7{vI$hEAjR z{@(Qx_^ zc}~{w%4CMQMKl4|K=%VvfP;SkE1y5}7w#E3aWNc&6jCiQua?RD`>(Y#6&3>ZKqE4c zrqia}{o#ri|1gEk;)@ed2Zg3eeMh}oT}7V~x{54&fP@N1E65Db7&Y^ zbw#K3fYgf>s|3`E~_HN?E+mXJFr zsIDp$@**-)tH_B>bFKEjNb7V$zOj1Z;d=pwvMe}7un{ER#yl#?ACj&PXMWjQocea6 z=h@S}W}O0>t#2QKx*Ma*}L8t!^1 zD4j7mK*#%-X+VpAgeMUe$;!MnFic5?>T2fZHE?Gt^cheVlh_}E`UWv@@kb4h1QGjn zt@6{7p&C2zjdO5h@%a;4QzyM*OFs3ueR00Oe1AudY51`H(UZ!U)!3u;*RK2um{w5HXeLHJLCYB?4iuRzrpA4pYs@R%;AX6+L{@#UVP)kV0Edx8ll=bJaRX$S3afvQ@9 zCBLj4QB~?I!~u0S6h>>yMfAlq=Zre@EDus^v_b(JJC~SvT(+vxA1CVZ&71lf8W$|Z zG9D@o7dp1TI&gFj?t2`B1*221i-21+VIvb~aff3FJigS6jFMgdQ`LsBuPV6M9e(k zjUxNDpzcBncTId(7kE8XZn?S9aQ6THTW~}y__+rcTT^cqp-}9AY;gFnb6W;(N@`Bd zVRn6>gv`G&|yF?Hhe66(yZezhoA zU=SE1)E{fkRu6U&zWds%A49u$Kl{UT$QP7rve8WaBtnMcEIJcBy))jyFQ|}1v;jF+ zbN8X=bB$jSLayK`}b9*~C0u`i^by`rZ zdiBHu+&auLexCiIWSxi^!SJ{9RtC3sow$r?J%?4_!O24QUApvnE@Mw)geFgky zQqtSOs`15%oXQH@EEAoAz`#nl1eFf-574=8t~gLbA&_dl^2ua;qP>Jl%4T`CF)~Q& z^zm+fiOxd}b;+s^^rr$Rl90L`oR3vhZaRWS;c@<`I=M&eMb9uPcBJrx$ehE=m!y0_ zG0i<&Vq)0cTens+Gmn8P$y9ufni`m(`BCEXobYBTK*AtVl$Tpq`pJ5FY!?b!3yv`u z-{I6&oojxDXB}1Z{rekynh7Jx$JZ<17{O`k+?|*q28B2)k>u;&|5;@Oa{GQ^cs*Ir zH831iyWSu@(lA~J9LB;aW>j2NyLmIo&5b6;iRY7= zic0_BV9|Z@r0Ewgst{7)Vm)x8jc?dOnj71*ROk`ThYx#OnrBHIlPn>c@z=XNT?RIO zZl*wV4=_+DlYjk=uETi|eUbV~j+iH2u=|&%w%BQ@r(w(- zFMNBbVk6T<{yJ=#qy>Z{N}{D9MqRw8*rnPW@w4clJ`$BgX=4Ap3v>6k3X~*|aJ?NF zwT$(i(layn%+VG%x5_Ey-~S*_(00O_T2IeyX3!KMFhGfQI)1BT!i|zi2U&3PK^1*! zf%Q9T(41VSXg_@HqGip!ntPO9jQ-Kv7_n!q12ao@Mkh%G~g&z?o((Hs5JdS4IHo0)x8U?{nGO+n0NTzbh= z;5hsupdbngEFuZ}P1lt-AL`w)X9@LJ3#)|p?s2-`DNVUibzsZMVJxCFT$bf#!d&z9 z-s-FO?`az~{sK+>6-9qv#r)LNy{Ld&E*8S8p2Tbeu4m&WBF@^{rUeEHU42>&VN3a{ zP^O8F?W4ZHf?&%tq*uO&_>?N%0UQYH=_z18XgggR3O@+^EX6L8P+0v{?s-%JJQ{?y z!)RX52qcNC>%1Gcf$5M;{}II$qXt^+3$re^kl9wPN0z@zH(uDvYoLdmQC5%as;Yj6 ze{av8!8TK<6X3$h3jhMbFQUl#6zaVqmSd@{&CD`wrixmfoO%ogO-{KHQB(YQ@8r~&n2d+#2c7-F z(l>{z0{P8lu?3xrTpaJ*9?G>`IDrh{&6|sgYz2SuS5LL-fEIExvTKJyi7sUzmvi#; z{78>V@%CQvyOfgp>3Lm!ZEdnrflMc@9S2u`|IM}x=EqGF6M13^*{P-F@@Jgu5AlC- zHhixFHU`BUlLZ?}>vTLN6WI@d+S$TWnczb6s>Vh?0~l#Ub3Q^r^i6PBnDzbp4yW09 zBliy1P$8wx#&HeDf}w&+U>0qmaV|5{@C5^?PP#*8vLxdN!P>Pt$d^0!u3~P4R)B z)fgEV01HEefLn$x^5)|+Yd{W%m;&K|%T%p)yB_%Y^JF#&P*v^xH6!Hmh9GWTx*#LR zpnLZ&2#pmZaPds8^37A!x?TA*I8X8{c(RO!AB`BQ4TR@gtE6V5eYi~Tf<*H0n*j)D zakbA8%jd`LumR5nhKNR@Yl32O*&;{0j*=mmjt;>h%t!U8=!z@dIra627TB+RDW<^% zY(dP%_V&*SVGxN6ccmtjcEb!Ph4jbKMuARL=LcwAF*VN7~o5n^Jl14FQ6G28KE_*%X4u&gCAgb?wP;2z(R0Qah;)WAe*@z z(}&>TXqh=h!oWzxe!h5%*sB|PO+G^I7Mb6XZT#gy=v^YshYvqu%`#?&>U|pXkB)Z7 zvclOx@*F2G2hQTvvFwCEKyi%+Lv#j+b}^LXS2?NG$;@! z=oigraBti9%LFtW38gaEm1a$2@_jSJkk)DQ+Dd9`Sz#&+ZOP?YTa=&#k#fJKMRfDHoSXt5RH}d- z8l$c#E4%hA!g}mk*q1Mk^)^36qIg(`Lg(?+SZjCZsQVW^nUqJLCmK$>>4eas=^Unq zC7kdM|Mg%3j#ruEMNJAH504bpaxXg^+#n7^fpx;oRN$!EUBZ~=HS3F%3lw^?GXHSC zY8dFoM4C8ShrGLyiBC8z-O^sZELxfDGAGxn33aR;>~1#d%uT|=<`z2W2R@2ZF-wub z)3VA?XoJfKpr2roCUV$zZIrQWVcH;aneHML)k|3#WqlRpEza_$BS_WpiaZ`C0GkWf zL7AzhCahfjWDX2*V7BXdj-Q_1=*>+0{Q|bBiB#7T^*-%s(J)N;0m<7vLgJX?kA-FTuBen18lJY9=aY*T4P0OcZx04l&bf%o! zS|l*>#L2Tm@SfgO_Fl3kC^FV-{6$N1B@+rDqWD6n!fjuh>ufjNN>*avPWea-t;Qd5(!(?)d5 zZJnbPN`ut<^YiJznT@IT^?c2n6{nyVmO$3^NKmhG@M`wglG@ixyJK5zQv_WOUOI&r zGBq;;-km_u@(tc=o+8rJ0puM@UbeXnk6BT}E^PR`s7+rIi#9WnlN3wNYfCf^#L?l- zRGfA1BfT&3mH=1#U_H(2E}T!BP9JdZMw@(G{}qXvy>ay+s&m{$2cqb-zQb+H^sIM6OnAu2Dv8BD!aXdo{?5 zB+WA38BI^=?8OLwYCZ^}6x;!B_pjU^D~lq!@JO@4ki3 z_^36m77{C9lDYA#siu2xWCgjocnS>XJ#~sV@vDo+$_fpTZCZoX%>*hAdx3NUo|GvS6BsQ2KuAxiEOQa~+d>{%0 zp&LqRxVXzi;g>~8100U`Ez98rC@bm5KnJastHn-Fy-#cOPAwl+U)l;1+IBNWZW zmzb22l$e;9mLcTFro3MKQo=ie`q*Ssytbugvw}8VID5mHHZK@pvOHbB_Qj2&*pR@Q zdOnf`a&C4OhwZ#3ZkDQ1q$Rc)9x^U> zu_xu=!N5sboxm`?YZH#&-rl>R|3u3%PQEM8dZkL@uZE$>sV!vXd#`vAiQC6eAMV37)WlT)3e++B_8ws%S;}FkzWvx1e<$bzWB6R^tJ4>V8#F&2+C_BEXD$v za@RWl#EMaCDjo=kcMvQrFn{EhD=pvG$RPw2o^9M4AQ1}-&ok6rO*3}Q-ye0904MS? zEiH+{xI?R5Lj29jIcn1Bs{itvP!FjGhWVh zBw9q((~GmugnW+K=-nIYeD1nx6!x%vs^x+^#w$BJe%d3rz*AL@WEMqR0kTysng@91 zF>HKJ%hZevG>laLBAcQJ)`v0B4-EP{@ZB)(ZS_k=oWvx}FM``d``Yy2a=yX-;V8K2 zt`x`|z1l(vIVYGIu}S?1P5}sgNHI5D2mP6%oE{HT#KYG-E0cB0r-$o{K7W=>YV~98 zo*iZeD7DD9A0M1{sU`PJ3SZ@De*>8S*b@k>89HsD;04dWV11YpvEH>|gS5`q?=@V0 zC7entWPSO9yHgzE*s(y{D&LEKQbgzohkLjeYEOSUPwe8o&tB z$TS+MOs9YM@36)?h8Vt!?ykG3qq+PJYLTW70HgsgJ1vn8oDpqS4^~}SiOJAYqAkAX z_VO?dQtw6l!DX-K#)>gq_mlYUQ<-cpIgGxqgWZN9*!BP8>@CBxUcT>PFhFUM5)h=j zyFt2<4(Tol5u{P1r356TJEglzx{)y5wbmGe zBM&43QTXL=ZF)7V0^JTq-ktJB=sx40UCTtoYyZ*yS(p_(2TUDE`eUr{4VW-0rYhw$ z0Q&nRBSjQBx!K*;*8MI^dp{d5we~Ek_}qakn9-CmGw}P@{X|fxl?Nj&dn|Y9`_ZKa z#u+#`ZLf}*Ma|F)*{Fm`>>gv`Mg~>NY#&sfMPH#Ie?FKezhak-wex@D&Cw z&nd&1`2v`00}4vQ4}iU1yr|@YXeRA}H5tvCnklt&K>2_R98eRs^St+ix$R7rh=9Ar zYDQIJYb>-wawk3OCr}02G46py>Ex{f0%4$5EiNr}+pK&A5LmI4mPA5+OLY%K36Fpm z8xkI#nLmL|3*M{@E3K+m4+`FDVSI|au@VkAdA_UhPFt`@8ue~?B!?T0SAJyg_q|p% zPzv7y=|2$dC$+4NFlAlk=GKLx1?-g>cnYqY04d4phuA@Y?oT$WACvF&axI)52F|6m zEGgw`tD|pyVa`*Pz~OXt$2FUCUbSBO)Y((COK%X{#iK(XCSRQAV6PL^#KcG2|qA)KU{ZMZjgm#o!~0QJP>ym|AA;Zd5EW! ziPhm2`QX8JQr1{Mkdv#g|dDFK&MGU`g+h7mB1b_4~ur}x-{F1f=o-jT-p-xLlZc;r3 z9*>gH{zp8_%&Ju$^DBM}M6Zl2EYc*2Ukw(Wn&LdRnoHmEwF6gF;Ul6`d6Hq2H-b6L zy?PLoz<;;#8YGZ#acP>5*y!(&W-0B1%hT?yYqpBYfUtbx+s7jf<;k;dTtaPfmxJbD z}*sCU@_59_GhDshhxlqpd^_AJt$?$XINY_Nu5v&a|RT}#~i7umWY@k(F$m? zWK7hrf%X+!x&e?H-AV*2FGG8g$B)lWSw}I`tpr-;uTH;f0FL$rAp?U`vp0gW@~oJD zt6B{^dpJcciyz`0>9leWzpk8ox7GaCaW~zs_PZi(Vyb5TE*v&T*M1vj!}oGAw$ z(wr+mG5a@9ruQris=;Z2zIMNwD5y9pg*_Y4pI5h+&1G$xrbU?Lnl!fgK*U>t*oeeLJt*KyQ*otJARCeT0=*xfhXjUfM8bZ1oXc3 z^Yfhj4-vkky)NFWo9yNrxmow}S5MOwasihJg!GUW`KEFdzqPSWT@R38(DpN12uQD} zIbFk4sfE-Ds*irR(8Rw^Uic(wS~8wpb2#*i1VU$$%eZ-suy)7b;HO_ht0pb>MRuiq zK~g2N#%=MRKH*kb90J4-<;Fa(1VEkjmPe2ob(qg1P(48#K`yd88;7MQ=;#Q4dbB0t zC*V0h{xoBBRM{ngmPS%I6F6bs7j$O9;59g%-TH5k+_zHZg?Y`Z0QJ?3oZ+z2A7eO} z6cqg|_iFHdcb|6lz`cF}MfKRiSJN-ua`KL|(6aK0doWdCX;vZQSbWRSn<_vX!>gSI z8i|cy{l0`*VN+L@0to}i*-y?Veq~y8Dk*uyz%&en)@{LcIsK?jt@{P85|D|z-`*=+ zO=lf5`TGXJ87scxWU+f}v}l3EmH8!36yV4ca;i$Y$EFNXUY0~A=PSN=A!W>Hcc)?2 z3MfwRCb+UXjTLBFd~TDp#N@otVPgj|2Sxk1BFt!LuHfkvF3@(yC@<^v?*l@%-_%># zp@`XX!WZyiYTR@rrxJSQhPp7>c^!A^j%IMwr=PBG7)10c$;5Z3v;aNcg2O%n*0!Ck z?G;eqyuWxDrx#Us|53nWy1L^HppnyZ16Kmleqd_d{QM6ws)02vp;Dd3w|Sc!?1#n7 z@F6t$?@k?+0EcNYmUf~?(aP|*#s&!pI+;@_l)an zf4Jt6JW_Rbh9`7alDQG*!$hGQN;O*sETdp07PSVO1#c&3XYL!QR?m%x&gdP-qCUX(?> z0YIzkshv_*tfpq% zA=8$=KG8T51CTPe_6xi}tOty94VtdGd5;z}yH3NvHumD_>7P9t-|AB!8(r(Omu9eOBoZb^9U7~?wEt@ zx=zEDy@-|(0TX6u0B7|`VtsV2Qycw@fp-ofX&z;dNTx^|cdqt9SZ$0iH_p}O3uc9C z#V(P6lm{2x6I6;BWNh>2j8?61dM3L$5+!_&DqT3 zLo0DpTVL}L?txoJbf z1AtD@Tk5ns+yKFqo@35G0nPU56KY)S#!12}w;NK!*w`nO=&TT{>Xk}X?5e!WjW5kW z2@x;0VY6N*-u2puhM)b})hx-mFsQm(Qc)4>>Y?yQZb!y^{Wdb-{Mk+9! zTdp^4X?>%^=h@y_lt5}Sa4h?naeWaC+BC{v$v~IL0so;YuQmjcfeK+cS;p?P-!}kE zFP0O-lQT1)KL<>^Nwtv$l6tHmAie6WDUQ@y6Kplj9=V9Sr_{7n9jZ**qbuf0VhZqC z=78^mz=VWIAD{Kb4)I*YqfPg^Mfo#p1SEKjF4R8mJ+!W*vP?9~55pr$IfE3-5NW$p z%citGkhYU+=gQ?U^UfQ6!~9Ga3hv{)gi%uGN9kzM`9f5hhu3EpGSN19c2lkwjWd); zxSCI2xjDpl(@UJ`7*(%`8M7I4aut;o9wP3qvk1N7dqF`d$>Ix)e9`PX_@HIO+*?N+ z(c*{i(Bwdb9-_;?y##lO$~}73;f9PUDVnZe_mh@@{)d1-`efs`B)l0L2|SRXM@Mvi z@ck~}rqrjeUKL!0-$#a<_%;@H0{Z%FpFa#tZH04>(bb1Q*wKJ;q9^kWPL#rit(I9% zVA3(t)>aG_2<=Ke6;H1DK67oKe0h|cW8fdo2{m|%un6w1nt8MGEydAxPYhpl zj~w(oIH*uY{Wau`vim7sE%SK({NTp_KcRVefuS$2u zFkz^Fxl6#dPc?k>w?+!n!TuYx6*!%gnKO4ZE#_5 zwfi}Y>C1mi`%wWTNQ{gMDbo+RmEWYrrE3y9 z_EB{@paU;&K1|c^UX7@%tJQ&{iK(5Nmq`wM8$P-0%X#G@^`~q6t_hv=C_3ll4F51gQXfT_aNgJ( zxj{I`wY?ELbp?lZVZ37J7jVgdr(DE_5OEk=pdN$Qtm!9WTh3!%*P8>4;Trx;&1^Q# zfMQnt%RN{x&KzpWgq5Gwms#%qw+ttaolIsC_*Te&OB?|Oz3}VTix)3)M@}ASX>9_W z>6-?e`ZsobIMrgK&&o&I8GrqVe@u&!KnjzbTwTuAh5J}-D7@Hohzp#fOq#zUo6+A& z8odB;M+OH40oPa%a4}*8k97b!vpT0gFxCvOZPFB7`x%udsAgo<&wou~mYF*o&1BMQ zPAo3bgb1U8QIv7t%$xAkR*vC9um<^>)y~=*dweI)LAA@NmBNG{eXo|xYZM8j3dJAaL z&-PcdRs9KXQvzaX%St(`je&GsVhV`I(?P#!Im4ZR3e409$o0-iw9ZYE7V3Gg_V@an z0peyco$v7XJ?Iw&7IA-?L!hn!l!%%oaKVt<4>mS#0`9A*hzR(Xbq}a!RGLmrZxlrn zgb)R*zMi%E1i8EW!9?ln)Ydd;z&%h)IBHCp~mddfQvQ z48dT5UqQk=LgdT)v~rf6B5Iqy2wJ3LAmj5!b~kGAt*epot|)4m5YiT(s5P^Insq6D zf!oY#i5J=HuMJyBF#5zs8XAgU@Y^*DVEAJL4f0L@(6}%`Q$bA5(jBr3b*RARk3e;8 zFcA7a2KK(Ixj$M_YGcrU+q1QW5b%^)II0w)Nvl!(!p9r|(lTxz;QF5X=_|3+ z&1i@@sW+r}1!-gG2uFV_g#2ja)v|q1!#fCDW$JD%3(Z^M1IttcCI4uWs(`J}IY`ww zwd+$ty<*BkG4UtVG`*_juV@kDR4aYKoa84ClZ5~Ox-!!oX5;7`ZBa>pj3{r=L?NJ? zNw3`{?Rw{F*F?>xNqzy<1gM!oKy?p%k+%VrWUlmnMCx?THyF9=p{M`%EZ^fdC^&i% z0g&U4&3JR%?d?ye&k@uYprCrow+yff6T8(u>%K02B9O(;Aqx4mC8+k&VeD6B`$)+%WQ97v9MYP zZM_h*7MisIG(|2Dr|YozJm44mcyZ#QuxPp>o6f|QK&Ebioq<6YP$0EpeFMXI!21>j zf7P7C#~ND%TpVTK@G?8rcEl!!1R=0!8dzGkx;_CI-~2tB(A~4+g&v?p6MPI3-mEgL5`*$1V^HM4oZCiD==OAxF9@YL}=QXdo@-V+e%WGfw9F ze3t`Xdi+yp5Jx4vyP_h#vi~?mDJL&v0@a(jm-*6vQkR7lY9a&_ac*w{XCxUa7x2+i zD`k9LifrDU`x9j08(gpcXn*rr^%EXb2~!4-#C5HI zWH(gpNyO#X&!FJpJ&znG5V=*$7{?kT>km@nz?o)&;#SgW@_L>DVL;`R>)&k&Q7JLH z*u(LAw*J9R*-q|@Ks@sAR0`jdy|$jHP--xAYabG5wl{for@y6aa&hXJ_7fZh?za5--Py3Vi>w|S zef4QPgZ6>vHsXi*W~GI46Kj{&85JLq;aWS* z89nSe)8sj3D|R@pAhrUq-wMOgI1Pu_R)a%_7l7~d93v_`++?Ti3Jbg87|yQ^&zYIV zGMw4C@%_%VuT~zvv^M6q1vJWCo1E1_`|f>y*VdaG^mxM#cyvP5#Cwb5fy$#5${S?N zm;K_I_!Yn)5Arb#IHsZ}>RffJ?H&3Ms_jg}BFp)yUyZ3GkAe(AS6<20%uM>vb&h*F zZ{I%nbpkL{8X0|!H{k67!(3KcnojXl3E6MR$A-q=V#KwMB)WX5hV=!O#9 zc?GBmy}qRaYaGK>U1nP|6$TsXT@A+NI!a);&N!grNpt&ET0c2C=^uKU`D=t3f`Z@q zp0F&}!N7T(`rl%)xFFUqeAa#LtW(DqDAE*pTlbWl5KfmO`#`=>3l;@L)!e1aCoCtx z$CnTMGivD|BMMj%3)$g+^1*cmd4xOunn2eZ(42Q71F;z^eaq?H;%P;>p(@On-P2b{PLILnwK>htPmkjVpPGYdfU_cxL9xsPT|5{%q za1`@!a=s@7%u-+6WYWcgo~*_9hG5D0BAmmBmd>0)xgxU@WQU^n{*pbMM%`;6$*K_# zVYZ9=iV|EHV_`*wz0fgeF`aR6r|bq(=a@&TCO>Y93_@(2h!M$BLfsi2;d_YG-1MrdIfEw; zD6p~gv6KaslsbIyWw!d0Sh`YO8DINGd9`SS#??I8q5|I6zgZbHqx@|#prhy~NHPEJ z3y*0pnR6cz@wONO{N8*W;k5HF{Eh>xvxxah<9?e0 zruL{14_Nj&jesSICc{9BjCs=?H9{bm+sS-)tjO@0hS@bv(}4RtGuqOHU0HDO_HAo=>-;y1 zcN2WygwD+Z(EVHUwPyi3`{2(E$t8hL{PBei`Emijc6?*3uy4qbHAi5IlAI4vk?LwS z$34JeH%QB1rq2Q)ym(20W9*0C(orc`r1slIs_J(7dAj9uObvnULzi!S>H(!F6ZgCo zt9cvS?d%syc^V;+#^zWk#kcmu!J=_sx{l|8>uY?a^iq5y5!n{O23gvO=cKBO{ z0@mc|(7$_uBy-lPmv+En;KR>JI|vk z{wK!=;7;S)%vN-8UkrU}*P5Pn3CTdw63Sh^6+zdkMSz{a&%k4m2%aLswLLZCBQ4*(+9obJDaE59*QR z4!m=`y^W2*0sV^qCJ;oL4yn&2QnCK+ArSUQUf(+A(o2B)cSBufgS9?8m7@AxwDx7k z1dB(V;WCjN4m?TD=bJq}ar}Eni#>Hd-!ZZ)!$chnSNou6l{WdsZuHnIFaM_Y*uop= z6FxO_y?8-gXVAe1Lau=3uago)t}~gB<^ZDuh&!?5Rsg#>q4c?6i-;#I6WGTC?HU@h z%_^u=?$4-@JiI;r+#{>5wc36_A+|{ixPy}u$yTT*{&lD$KUPd;%Pa#@M6Wia?Cs5l z(r18xPSJ6>*TKpY408{2nwk2zTWweR#nS-W4A^12hU8c(mBZ|jz%kipka5OYF%b3h z-vSECyP}&kvtM_j!jAPekF!opnbRP-adzl-=Wl5>n;|i8f;tu!#MNl23$%RXAg9BF zLP0Bre(oz1$!AnLUSRa7a5|96+oY>C;RLgRV&nR6cic`X5=abSHCxkfoaA^!IX<*w zW9}{SfbUm3nu;zjZv$~0svfzMV8+qY9ovE@xjJ1Pa2WiRvMdMLwX0V&krl&Vh3afh z#zxUl((-%_B`XY?81(f&0gJT{U&&0r z6}lhgW&r$zoofX9!rdA~iQPg#Mwi82u0r)jbZ7D@CHfRuoWGsGndpvesK| zQFrMi2mp+x6-Y4Y`(Dlf&t+>+T3buw?)+6%qUQKFalexNsh02v40-Gh(6PpdLB3Xf z+xPkWd_vSOp!=mKe7*qmM{{$X@qwR41i$;-XgZUR0U|&{xiK~RPyfzifeX6MW8vD$ z9{UQtPs4@(ZbFq@D{sSxtMx?$P3caK=hrH=_X=cpGe=6-LAC>!9j25Q?g|HUb1jy_(n$ zf_%o?aRvmb0V(Oo2ylT5bD=1IAUc&OEd(|B!S9-!5I6b(+<0P-?n1qdx}8X79|lb! zKLlL+=}uc*_%UGH?HDLve8CfXufBaWV7Qt~!iG1zW53xQ%dv;ffX|JBmp$joUe5pI z8j2Q|C26)nq?ayG4ZnpPN?Uz0(3yDOwthE}BWFbA5F%Zm;?$r;WfHtwWjeta6+(MZuHMc1?TDv%lR8hvz zt}aWspvh%cwXp{_L?A*b)L#cNTA5-w%I_*Gt@dO^Z-eyE&By*t5vMXFHvUza&JmUO zDh|fdnn@}wJFev`C+~sEX3Gw|HG=+;=s;9j+d}gi6x+lJ692JxwqbQ{C?zeaMe?$)YP*c$n4?;O*zpiv6R<`I;E>5j9ir_U0>hjU2MLY~Z;Xw_Z3B1Q#x^ zd54%b1vRzM=VrLik(eOmxj?hJ+Suv0Qw4)MSdZpu4Fp_|l#T%J5SG1c>V3?cD8tLp4N=|VsTq#g#m5)F;qku`Ef2hQPxc6 zOc)S&MAFGF6$9NiP`*6#7SBqHCzp4&99e_WUu5gL=g9|pBBH>Fvoz9_duu2+irsg` zL+!b#=R*$e%|ztV9C}fsiC45~(qG!p;U~saPfi@4^2K*CPEW-G{@Ab8Ft6Rd_qqf6 z$)1*l_qq2v1V=vSjA#J3R3)hvSHZLt5&yCq7+}-hy#EJXd+Wpb?ew*y0h)vu9xvKj z9p2YQ&USY9o(h59BYIW>Lkzms}z{u(`nP{NVijlqZ^D|x*yiv=gy!yt6nW3Bw!O?6bX5jl_>7}OrDTo zliB8iYGUBHo&G6Wn&)8EM^+l)ev_37gO@1;S&||sBqH9&!V>6y>{nJK z0n@*7!@?eSoU!KT&h9z)f~Qu#YdQZa?Q=eyS)YoH-JpAU%rb$BgJWrE$nw@2Emik~ z`Snk%mqHy>h|){8jX-*|FV!HRMR$qKvfk-8sHRgkb14rw~>T0G%Ii8ZO zOx>Lwg@(O;&whL1u3AdyR_dqzN?;a%o9^0~5+{btF+rZKF#7C>F-B;~G{@DYMkZd$ z+mKaEFGy<5Y~)dLj9)x&+#R>OClwV0tgNH{${9F?od~W;dXBJp8%hF{B3GU>Gn@2# zFi+S&vRP@JPncibMMT^6K_;u+eqKP1iiZ~-QTllzYqlPpHH=faRiaeAUU**)`d$6` zl9E`>$EQ>F+yg%AXIA07a=Xzrn5N*BI@Zgbm$Ol^` znr{mdkUMJ2ozD}5YMwolW@!)y9hbee(fSO}JtOZTb)&qro!8IWBCrs=)si@DXQ_H; z>a%}U#vT%8exP=K_BC&fWyZKSb-v}IdTVfMNru>|c$JJ3v%Hf5V z1Od&1ST;JO&lehH)EMY~OH{-yBo0;SX`^t_-vXywl&GBs#O>cdNAMseBk8$cp8N8I z)SE!ANG8tMYKr|1RYI-vV7MXOPQ)9Br5s? zakARM{lV9vVZpN?Y~}honr;h!f089evYc ziaQvRlJ%}5-1Ho`-G&6lQ&%~h%@(I#dv&qHKsBe?zrCXaukE>GBSLh!RV3|*j)lFw zyw!$fh zY*cbB6Ya5?C}k_D?}kCCX6nai*?o%h2uCa^DynimN|1=wXb^sm3M9gB+}87KY&CU~ z3Iu%Pz)=gw$;>8Xd9&J|#1md*tW;*{EUSS0i_2_mJwF%@Zg;lEk%4zib~*>O!T*Ce z=~{nAC&ma+f;3FxF3P0(;98=MP?*c51~uP{P$|Vm?cWL`t4G6Hfi+*KsX<$LkR&}| zTe|k(MGsLDq1~O5`|incT1iTjrKD@{=v`bUOCO%0hZ!nnZ_e^%omgD}H+`{D1TCcw zys2=P%*AD1LG*ATC9hTvi-r&~`VSB@-th&H(zNu{aRc+SurLC5jWYZn&g7?_;Np@3KNs0deu-fhc&qNq;!o1%ES%ox z=ORi0W)98XC)OffYS7{DX;OF2VV0>*l&0uqad@f{(qTvy(*GV-CR-er`cL^*L|81k zF9PfGQa#2&Gz++$-b?7;4T@Ll-gGRPZCqR}* z2eNR9I&N+v7pG-Wqc0Eqn1|mhzcBZbisS6l8)By8?2ti0gYmFcghx-(kVC~~cfY(B zRiX1Z6IF_gwAcH?moH2+21#ndHa0TFMp^~yzkUV1K+pC$e9D3V9!(g<)c)uj6eQPa zlTYm-(IQK_CO48R`3jq7(Ih2PMoBgc37ImVdt%KS5$Akc5Qf;O`&iJxzz2_q^YUWL zJ;Ez1M=37H>=CY*2@`eui+Fn{FXgP^m`plF>a9d2!$DjnfgSu*#%$)O{i)YII-j?; zX3+#|hrvrllwlv46_!-dbH>a#q`^{UE4ka)+k*jo5DIHEbc&kLNNhHHf&^u1+BTgx zQ?`VN@c%hnoW%-hRrRnLPgLFydBthg0*|`uPHR3ZF-Z@Q8x?Eu-~by2t)@hq0$RG^ zySuRV&A9A1f)pB)RlK}f)=oaLAn|o&X#{22NK8x+$?d2ialCs%d|{bCh>8IVq4>G` zBI_;>dsON2Qd&b5A+MW%4N{Axl+@9O57Ea{(7b^oIV#J6IGE&y_{h%@RpCfaO-;MF zc{G`r9_u=c70lA9?_{Oz<)ZB3|Dl7z%%4iZH zczCqW?vDDG$(aia&>sw@xk_+g#u<>w-Q_C8|K`$MO+jrc@R#z9gM^hgKX&1$|-R3xX()5V~2lYax&^I<9JFL?Af zNa}M+r(t44SI;7nRzYm}*XC)l0%`H+;4w$Yf&>Cg zb8e>fA}u^kDGgoby$_~UAc8yBi&WMvOZv;;k$JmhZUE+ykchptZ4r0@jl-Q+lfv0q zY`M3uxk$jxiY?a+I8mFMJzLuH@?Ua5nS1{1!2!~C)ckB78$JD6C)W8qk?X}!RgJp8 zPF2v@mrwCE=N*{yh34xMea}w_4o=_~u(EQR$4PW~d=;Z++77CLAc6b)u)s zEaBzgXT+pp^H7fDp

($RTN>kF#l0V|{`w$HuL%{khXhJtO%&r?6i)#5P+8GG}7 zlEiOHvtJLGij4tz@UOGUF_B(xAy$P1&DK-& zeAh)s%!zhk#5OD#>gfgu0fRb9Y%jq=T`0%=C$xfE6Nmlkpeb{Lnz^ZqbZdbLR&*R= zbZN-#pS&MD72MO*l-u5p#60_8mE}reU}y+^7S;A}OD5DV=w{U_wq=>MeUzAU zjdnXs!W(7Sm|zk8Q}f#$=S?5weT{~dGJLo^7PDoR&T;cswl~5%hEs1#cO%h}RTHHM z=ci9Uy?tO0)-i$3-s$|tiwS4-py5G79E$Zg>{5wwcf@yKG#JR z7KZ6}-p8x)2y4aIO1p1*`UL!nP_I_=Et5Cm;;#YpT|{nv=(g7*gM+i~eqm0vnT(o* z!jwcC@!Sa9LVxh#3mPIe@K+e4rP8x*e%MN%%ut;)lJv(ns_ZCbA?bJ8&HSiz=T`<~ zTLM64md1E)^!HFAb4dwX_tVt}ZmJ3xqf^r*rn&$s09s>fmhYkPM2Ttqr`@{agFbh> zox@4@SbE*ebnmBJGj!zb8zVVP7E8z|Oy&fCf9yr**^U@rV5;m0I$rd*2=YP0G;lcL zxcCz9#MC&@VTzn4CqLdN>s(wE4#ckH;Nog&MQp^4GLvHh=w%-_w0vJ|}saSd7wnp_oseG3;YXPUq zkUevLS>VNt-oL2d5@A9*Sb-{xeTj@Ov%9nNUK}bSix9}H>&|WAKVD$cZNBJSGaG37 z;;$rD`D1s9DP7t*x)Y1I>iWlWrrMBD5=rvnNl!!aZ4r7?Pn3+6)O)}$?OsdXVL@+B zPGaIhl>XSme)PkU;aMtyk3WS0V+vEbK$-bbEG2Bd4>0Rxh(8Vnh^pJ7zhMr5osx>R znAmL2_Vd*YZ8}#0?0p?h2AjjF%7us`IvwCfmsBPn1TndIOh!K{Y&;F(y4A)0-h{@B zGZ&Uc>+>rr3h6x^QLq|fTccHk`#Wt`;LYZifq}1TOmr^CFOlS9`4aFRJ-VZB46cxG zdcARz)4(;TJu6ZmjF_Etw7(i25&|WMg~`_P?Hl%==5ScgSS8=MPlnCPEj}S(pxPk{ zSjwym++}(_JtA|-Xe^(QzxyDu+Zk~;KK|>`W`x!n1#R!nwlxKLyO4sCx2f{nqJjI| zb5p92!omS%Wo1uTQGp2npt_^=b#l0|z55kuF*k-Xx-Ktrm=RNE1TBY!_ti0a9+9p( zM9WL_pyKo0SHJg7P(Mpu!49RO&}!Ct+;(Z8D>$YzkSiLpz3OSM&nsfwc-BJGJGM=u z08M}w&=uMZ(wiz!NiZtiuNKJ?YNo+i>HgpcE#gc6fp~aLCF8M*8IVD^U!6T62Gk_1 zX*M(|Hwdfrbd)^WB#5NjiX34y$N76=;zFw}o4WMvrQ#Ae@E@ACC+R^tIFhWC#3kfI=4n?-L z*s0*fWHWxmxYzpyb9rH*)UZqMMW}BpzuvEj%Ixml@Gi!F@|p)C;F~tf4-5N`mQu%f z4sS80#Ws^Yr8~BS`=hVpc3w}rT*E=EN=Cm zQc|8uvC<tNnV78eIHP8MbbCobO#Gt(I&k?%(9^RorEi`x ztiESnG%?d*jOdL0Q)A;oCttZ;jX&8FdiiiLM6eZ*1;8)U-Q3&?`X(QK4l!s*-y{O9 zBW7<;Tgy0<`0j41A>#fgBshM7^M~QFpuZ79^A@%z z^M$L!uTwcklk84++PI1Y@EO6{(3gMR>^1z``^tQ$vwa`32pvR(T9(zwNU zMo}dF=WFXIAjOM+TR-@jCP1Ui;?tKeE?1Z0QFB-ysVv9n>w#0r(UC$9t}Nu+k$tm; zkega#ndMd>-n6X3-LNdhpMSc^m5)=6IhWgJoy?C^z~_@=0H>2)wP~U{bLB%sM8vL1 z$n%yvIsp#noSYMLj9MWg402FEp)=_jY*~f&zZ&j%tUi z)#dLX{6fE=RW!L@F+%rmzk*SSg)J%HIn(N^JfI98&G{x?81qGQ=8;gl;8L>0i~6qc zwROmY6?MmYLV!S1GWSQiL#L*pf})b#DZOX_xh<8sZcm@yv9tC4`_aulM;2oR?|gi^ zRt7FW=@K(EF#8sv!>9x52;eTXU3PL9z2LjwsQNz2t)w)RC zaf#u1mYVqZbWz>{y}^8V`@3cjm>$1?8w|O7qDb&RAB$emxsHw9etDnc$sXu3dm3>* z&w~$5LQ)B6E9(d0o@fjV)8IJHHw%G-#ezk)CQ_ zbhE@NY%(8Dzg!2(g2hvUU)34NrkG8B&^zu*T23&l;33Mttf?SlEblS3_S!Un+3wzE|}g8+2dXaNC>JC>#7zwxaXKyj?CAqpYS5oO zUG(NH)bdt2A8_7}^%K5l`m%#t#t0xJqtc;kY}=m@r|bo4bC~%3sO}i4+ncY+j>v(f zNWYC0yikUT%6H{53-NM>zrE<|tz@a2Yc8 z$o~C@2t{7W%Br{w^^6x+tC#L3-NE<+VCzYXjSe4Fgw`$iL2esagq!^y5Ct&r&x~7G zr~8P=L4I&*dpptXqA4Z$c`&}V?ENSs(xV5EzYG2p1adYL8Uf6C@|Qf?Zim1IDbgWA zlWQb>?p>_lf=OH_#l+zl+J3cBjQ;MO+u`BC)O6hJ+XZwr)tcZ>Zc9WIreA}DBhL}p z8?EZbfr$Dd-`%oRQ;`r&k90UqzCCy8@1~Jru+7oBqe-BYQY5t?fo4jHf{I%3dKp%c zKkR682_$i0pvNWhy=X#6c|pVm%t(Nyje5PmLZ;aLK)5l%jq@K!ub0mxi1c7~Qkn!m z*l6Y1!hQVeg-(4?gK@Fuo!uqI9oC=0)??%fmI%$NFARTI_?0ITv+rR#UgY<-%h@qE zc@L41ntJTqWkZbUjt(ed7$%SyCU;Z=BS)4<>i(DEG$D3JI{D zwcrqgN1FcvVBHCC?V1QL76&#<^#^3sfAkgtjIY#@9a;v12QQj?Z zls;pv9RD;2ds%$(bJ_y%olGV7?zRE6M2X7_2z@0Ey{~tQ!;zliy*yl>DAhDulUIMq z2YG^Z`~SjZ7e)Y+>&OY2L5h2(YyvGH;0vB|v8JaItBiK%mj2x(b|SBSe9j*&J-7bw zi|YauQc9@vG;`x^)-Dbe&9Kw{$NXkINK&(76r zo_o&?Whm$n!+6=)2Dc(l`grkUgocxoC$-K#AP&1JGd8T)Z|z+v z`9F{&eF&9d7z{FUjL z-Y>S2Sl0+SuM#<$h%aarva>|z7c%$*8s3^vE14%F$v=X3a%72RG)x8Tgvn%yY0_@y z)%`52U!qo4N5HY^`LVis?`Kbdw(~Fd#COjxx93tZwH{yy>zqbGh7J_?ltm;kU&Np0 z=%uOW%@R6gdNgQX?otxZxa^IHhlwPjhT+kdTjA$}t|WO0ZahrMjyEEe#_I~a`Zkvg zms&$Q!0i-x6#xpE*Udh+Gs;NvD}1ty$IS)v0dl>w4|QVVbm~{z_hs3}Q&uZse2W7N z#qO>={o~#_01uN}U#L!f&A~<_*vm+8tL;J`OoScs^DEZfR_f$6tOjUPElDgGpYLsV z)I0jPus4k69RGx@&c-t^k@a=QW}PKB7vyi)s<--Y*b23fLM5@yvRrh8-V2pGE^Cz+Y%ZAilBx?LEuVkar?;Ene6nwLWQ?0cd&P zNC~W61AloiX2=~0xEV8KqO(S2dMdWOm)inLCrXNro=$amN!JsyXvL3*DIp!*QZA>f z8Id&3cc*~#rR}-p`e;vKZGl%wvSEfxW_u~tKgR`2pak8{3nX*F=*WKKExuq#iEn3^ zk_}`9FHYB=Hn|Cm#C*W3jX1>waM<-00=9YGwVLX|s1EVQrG!~lVpzyV+xdV%wk*r* zSPkk?)G8p29}(iNwuo!IIaL0&))E1Ei3TKz!1#fgqCkw92XrCmZUH+uUG4L-u0~tA z>z{?mPGpnyVM^OZ6er(nUev!B89_M-90+#YP64>~7UaRJUCFZI*Q+LQ`jh}5+hK`7 zll$_$`vi`lM<(>j{5<(+A)&&kf?SBHxrT~@?b+em8UnrH%(`lO*Gz73zOZO~yW3Tt zqWs`8>=c_qUzc};5nOmwGV=V}L{;y>x(_-HfPn>QZyv?D_u~rO94#$(SD^2>0_UYQ zPyXlXvuIV6HT3(!I7__GtLal(+>%{MLMexahJ4860ms+mQ3P4eybEPk$Y&7c_`oxXGgUNy$DJXpBRAv^ z78*XjkYFBq(E9L+%mDifXm9VbnPRecoteEe+0%f!xE<5bSNICR-b`r}|HT9R!q`uU zV~}l$cm^hZ-2mBmBkt*%Dk|DFb#_WP+DX%5bQHAaFb4(MS9GGL2FRm%Ea6j1NyQ>g z0C&<3FOs5$Y7|MN{OWj-p^d6)V*28A_0|5KxzqY6!`S>|s%tzbN6*KX0=g?H^RHvV z*k%GbCOOxWfaHKo-C<`v;cVL%X_>Qz5(fwEpdHnAVITyO*lZS4*oWB@BpFLmF)5Vf zr=gvhgF1t+`&fYE=-|l8f9|4Q-MXLLMjSeL5pXbFy26-grbcup<)|)7Pkb2ZnmbjRf3C z7URThY$ul&Vf3A#S80R-Typ>*Cdlt=h%I>ezeqXlq^p}M`&B!Ta%KveIi-JI8k_bx zZ6BvOq;I|{g0ci?RmgGh`GmEc7g$Ntou4;Jxs2*Jczg{Rx+UW+o+D-pFoO#O(-w3A zt+F>v`E#S+lzh7TF@fOd-GCBsR{}yII@)hZTqc&?;&7vID1+~<2J21F+jA_1!i(+6 zH$J9{iDm#tB8H5N8S+jUKA~SZ;JwZo7}L@#7-AjZjV7-WF5JM)doEtul9krF!OhK9 zAEK)~$(4S68fv=QCksu#5HmD!0u>a*0w!E-`#@Jn{tEX(w|%h6rZ7}Usa!Z>8-qs) zY1Su(A6sni>@doIxuOWonNtM5UJ#aow05?r|0F}Bq>fU)kG-Of%L41Jp%Emgw z!+rXUS-fvfHe#C6{BIisZT;0-AnA4xLiaI=o(3M5y#VJYF&GWWgQ2M|`FMdY?;^O1 z1+XMGXD%|x@0+$aB1i37Hw^#9o=Hr$&2rPn7fJ3DJmxarxB+N*z3rVA3Zdlr$ZjZk zhnV)RiT_K<>q|l?`D4oZa*ZhjglZ7a&%-{3522b45A9VtUkN^V_z(oSG>?otOn6;s zy9AXx8UtR4U7r+lbEFS{zr)MTE#?yS^13OYXF|!>hj2av?{#2u1CwX~)?pyMgUeAA z?1Fp;goK|Qub`l{kV2M-$Jw6qtu^BB-Y7GGQW#QWQbb?PoY#O}S%;&&IaNa0yb4La z^F3o!2>hV6AK^*DCGlVheinkX=gz_Uq>*uco2FR?b#92DSbcO%P~MDkm#I_c`A)Fl ztdlt|vCe-p=$8lER)9hOPWX=37r($-?wYU3Tds!8~l6bjOIqc2-s-i+M#|bcZ=bmdiN9^Ef%0)Zz z&;@+#^Z))ov7S_Jp^WzOuFlF>Fs3|%kSpGEzhzrH>lu)VP+Nr<7xv$}wlm-X8 zm5l;Banq_LR@y{@zh{!m2;z@Q&>_X=@J+$C%P0T^-+wlKx;JQ!f=<~Rx^kD zi{bUyaVWt%@+ilj^A71RB=nqCj?=K>?3epP29B4F=ez2}3M&b`7l!PEnfxPa@u6Vm zqBi;akaR-^A+O2|j^ABb)H|}_l!c5U&?r%U9sWA~IvcmfM6vwUA9!3WaMuS6G6&|# zU(S#)w10368uMaaX|&Uu-vGd#%5WA(v)1Wzt{jBs;5O<8IV&(7od4Q`jzs0SiqAh| zs&hKLasV&XfLCi9G3?ie9qj>W2m+YF(Dw@~&4<`vKDQjOF90s+iE*6!MX9BQsKm(S z;D+*K9J*y=W9?vLd=)SmdwWbyM@YbKgMf6{*D?O#%^bh;*`W>ADnnaG$7Pcj?7$N> z5sI_qN&wNG^Kv?^_(rtV`<8qPqmVW1hv^XZQai$RY34a9|r zqi%YXsVD?Uk5VYn8bNMjUH?xSUEs;G(Y&{znyQkr9NE|5I@g@5%OfVSmsKUmgNk>% zWp(QAz4qRm7Npglq02EGmBHqNwSDQ=s1t=ALv&O-zfsgS+ax6S@F7P?zEhwBczE&; zPflg1Klc~mQyI5&ye9pBr2Th1*KgPc4p)j0$|{6PWMq_?nY}lCY(n;k$R;~mc9gvd zN!gS__7>SYBYS83&JWG+ec#XXdtT2U{iiqY>wR74b)3g}oX1IUv3bNLdV2ca?i@eu z#6Qe=5B6XBsNu(6XCezTTJARl-C3Ki-PyJ`?=QS$=Y5V^``tniknaM-Hsf!pBC~$- z^f4^gkCa!qP1)yiv_}Y0H=yPPvuOnOW8Z{l&^|(L=rcbyu@L*T+GuzY6B30diX3bG ziTW72rG_L`1z)6?1gtbXe-_{>Hb?GQ;OF!7G*6)NE?9@6+2+sTetU9K6T%m|-}?F# zkdOrQe0o8DFEogcQjZE22b>qYk-6Y4XE?nJw|wN~C!@6sSFTYqu@r5@^Pnqj2N)hVTYR!5!>NIPUaMh>1TK%|Ip$t*tmUr-9+q%_Vq#$;N2lop*^RddzSB zys#PS#d(PQR=xxK^VT|LYKO%K1S|JO36tcZd zLx7!v1hu+DWe(%_<{`x_K7zGG-8Ieiqumcc4#Z^D(j@7w02M&q8XV@6pa+5}GwhBw ze9~A_>50E-Jb+S7NolJd5)!IUPF$=LyHohY7)imWdq~N5pwrRONk9MesXr82)a%p@ zA_|#Afowl77{%T`J!9CNZ%NlQIcYZ6_ZsWmm_&byLx~XLIqfx?g4*TN|Hyf!n(%%0 zbw|qx!@lN5oRI)TwU=S|YBEsR(eW3S?3E`rc3B7`;d zkEaqpHeXe3k0Y3&ZVsKws`>FjP|u5Ia2JS)I)i<=59^T*F>2bRY%mgYGUod*(Vb6& zon+4+A)^^1^{0#t3q^+`C^=*OHTt5`sm-|_hl#o~q3@%=wtqv(japk(kdUyhrKF%m zId@E~@BB@y$H-w76-?HNh8Gt0`ft%;K8G|z_fldSko;_){L$QuMu_no!1)tpc8kli z{cpNHc$(tt(w+tV%#-m87p~5N@-L>iy03IX(m2$j_M78vVCo*WgM`)YlU~l@aZ?AZ+5R=;GD-eo>z3n+YlgLD` zUir_`q_*Q!qKn36GY}&%@_ACBM_S=a`YVIf1dLnMEphZ zq=EA1#RovWPvhM^Lc=LO%`(rMV?}5O6C*(>^xHR{Pnzz!C4dx1vt3&IU6hO?#W^?l@e4xlOVw>o(>d8FvsxsgqJmf^h6&#voU$i;HKvT4r<#6%u~~dv+>0Y+!X>G*o}T-U ztl6?|%3n}wC|@mMr1QUvBn37j4w>1sX=8U>ysWn&^gsEea-6+~v zTOUNyogsUXgv7Kjn3P0OAxv`WIqRQv0TLFw&!YKX884j}SQS~EyXGV8AMgnKNIfDU zt1a^&TkPd$$+X@zUu>6i;b9<|djEBxI0W470vazR&CwF21%FsaxZLM2?VM^dl#1KD z9eGR4MlCJRv7-bx@);CV(s`p`JSCBa=vq$ev2G^8{x|0s6U?T5d+)v5yOD}GEOjwc z896I%9sov5+`EhAEbPUdm^zRU!xe;2@bY{(yTjy5kc6jWfh4?6Ge!mkmz4nC8Y3+? z7fGqS0O4)|0}3@iCIYXav5!u!yR*1r`iA*9*sj;jg!%z%uUa@*QD*KA+1-F)S_ThZ zZ7e^ON9W?`PT<~2gQ9XK_US7#5UDlGPJ3i=wtZ-@4LW9^C+e`0b^k8Vfk<=HpZxZp z`s}kGgQY`5WpB4O%ulQL@woBwT)UPEP(CwL?sAhd!YL2LfGF38(@)a5+1VL>mM6oy zm6}HH*+Gn(EqV9K?Ch-LlGdy(0X3#0256~cl%6L!d>13A<#6FVV{-E2__z-!fdpGy zUy?)UG=j<#=uYE#xF8iOO^*jW`soFVxVrQWjNRyXrHk#MH9Fba2g<`~VVu#^yX&)s zZilqe`3gLJ7;`KybF|hulUz0YXxTd{x^3a}yf+2}-4sO^qUGMLWHFeA6pMi#?QgwL zvGRfdv32I9;DQ^nR3Fb`rxb*T^R!|Caf%=K1qqM32pnqeWiugV-i%UxSFqM#s>xwi z1dlE%u@_US)5hFhulhv6+2-?~TD~x~guhi5z_p1yY(|^#T-t4x>VdR)e7`msuo+2U0)o$ zgFSGtudPz)*!ze3H`4s>7aS}mt%>0`RL%!PKHc0iy_3M}=OJqxw&-Uk|AMrUz8_N? z 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

GtALMoO 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%0AuPGDdLbm`(zR&p5#O>aVbnoj<&j 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 Xb6dMkr(R0^d{{@*;41FQt^5B4919d0 diff --git a/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.svg b/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.svg index dde26e321..ed926bde9 100644 --- a/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.svg +++ b/docs/Developer/ClassDiagrams/diagrams/EdgesClassDiagram.svg @@ -1,423 +1 @@ -AllDSSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDSSynapses()AllDSSynapses(const int numVertices, const int maxEdges)~AllDSSynapses()Create() : AllEdges*allocDeviceStruct(AllDSSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDSSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDynamicSTDPSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapses()AllDynamicSTDPSynapses(const int numVertices, const int maxEdges)~AllDynamicSTDPSynapses()Create() : AllEdges*allocDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllEdgesW_ : BGFLOAT*summationPoint_ : BGFLOAT**maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*edgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerAllEdges()AllEdges(const int numVertices, const int maxEdges)~AllEdges()edgeOrdinalToType(const int typeOrdinal) : edgeTypeaddEdge(BGSIZE& iEdg, edgeType type, const int srcVertex, const int destVertex, const BGFLOAT deltaT) : voidadvanceEdge(const BGSIZE iEdg, AllVertices* vertices) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidadvanceEdges(AllVertices* vertices, EdgeIndexMap* edgeIndexMap) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voidcreateEdgeIndexMap(shared_ptr<EdgeIndexMap> edgeIndexMap) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voideraseEdge(const int neuronIndex, const BGSIZE iEdg) : voidload(Archive& archive) : voidloadParameters() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidsave(Archive& archive) : void {query}setAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllNeuroEdgespsr_ : BGFLOAT*SYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOATAllNeuroEdges()~AllNeuroEdges()edgSign(const edgeType type) : intprintSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSTDPSynapsesAneg_E_ : BGFLOATAneg_I_ : BGFLOATApos_E_ : BGFLOATApos_I_ : BGFLOATWex_E_ : BGFLOATWex_I_ : BGFLOATdefaultSTDPgap_ : BGFLOATtauneg_E_ : BGFLOATtauneg_I_ : BGFLOATtaupos_E_ : BGFLOATtaupos_I_ : BGFLOATtauspost_E_ : BGFLOATtauspost_I_ : BGFLOATtauspre_E_ : BGFLOATtauspre_I_ : BGFLOATAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSTDPSynapses()AllSTDPSynapses(const int numVertices, const int maxEdges)~AllSTDPSynapses()Create() : AllEdges*synapticWeightModification(const BGSIZE iEdg, BGFLOAT edgeWeight, double delta) : BGFLOATallowBackPropagation() : boolisSpikeQueuePost(const BGSIZE iEdg) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidstdpLearning(const BGSIZE iEdg, double delta, double epost, double epre, int srcVertex, int destVertex) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSpikingSynapsesdelay_EE_ : BGFLOATdelay_EI_ : BGFLOATdelay_IE_ : BGFLOATdelay_II_ : BGFLOATtau_EE_ : BGFLOATtau_EI_ : BGFLOATtau_IE_ : BGFLOATtau_II_ : BGFLOATdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t*AllSpikingSynapses()AllSpikingSynapses(const int numVertices, const int maxEdges)~AllSpikingSynapses()Create() : AllEdges*allowBackPropagation() : boolisSpikeQueue(const BGSIZE iEdg) : boolupdateDecay(const BGSIZE iEdg, const BGFLOAT deltaT) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidcopyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidcopyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidpreSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}EdgesFactorycreateFunctions : EdgesFunctionMapedgesInstance_ : shared_ptr<AllEdges>EdgesFactory()~EdgesFactory()invokeCreateFunction(const string& className) : AllEdges*getInstance() : EdgesFactory*createEdges(const string& className) : shared_ptr<AllEdges>registerClass(const string& className, CreateFunction function) : voidenumClassSynapsesclassAllDSSynapsesclassAllDynamicSTDPSynapsesclassAllSTDPSynapsesclassAllSpikingSynapsesundefClassSynapsesAllDSSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllEdgesDevicePropertiesW_ : BGFLOAT*psr_ : BGFLOAT*maxEdgesPerVertex_ : BGSIZEtotalEdgeCount_ : BGSIZEedgeCounts_ : BGSIZE*inUse_ : bool*type_ : edgeType*countVertices_ : intdestVertexIndex_ : int*sourceVertexIndex_ : int*AllSTDPSynapsesDevicePropertiesAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*useFroemkeDanSTDP_ : bool*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSpikingSynapsesDevicePropertiesdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t* \ No newline at end of file +AllDSSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDSSynapses()AllDSSynapses(const int numVertices, const int maxEdges)~AllDSSynapses()Create() : AllEdges*allocDeviceStruct(AllDSSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDSSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDSSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllDynamicSTDPSynapsesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapses()AllDynamicSTDPSynapses(const int numVertices, const int maxEdges)~AllDynamicSTDPSynapses()Create() : AllEdges*allocDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdges, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidchangePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : voidcopyDeviceToHost(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllDynamicSTDPSynapsesDeviceProperties& allEdgesDeviceProps) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllEdgesfileLogger_ : log4cplus::LoggeredgeLogger_ : log4cplus::LoggersourceVertexIndex_ : vector<int>destVertexIndex_ : vector<int>W_ : vector<BGFLOAT>type_ : vector<edgeType>inUse_ : vector<unsigned char>edgeCounts_ : vector<BGSIZE>totalEdgeCount_ : BGSIZEmaxEdgesPerVertex_ : BGSIZEcountVertices_ : intAllEdges()AllEdges(int numVertices, int maxEdges)~AllEdges()setupEdges() : voidloadParameters() : voidprintParameters() : void {query}addEdge(edgeType type, int srcVertex, int destVertex, BGFLOAT deltaT) : BGSIZEcreateEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : voidcreateEdgeIndexMap(EdgeIndexMap& edgeIndexMap) : voidserialize(Archive& archive) : voidsetupEdges(int numVertices, int maxEdges) : voidreadEdge(istream& input, BGSIZE iEdg) : voidwriteEdge(ostream& output, BGSIZE iEdg) : void {query}edgeOrdinalToType(int typeOrdinal) : edgeTypeallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : voidadvanceEdge(BGSIZE iEdg, AllVertices& vertices) : voideraseEdge(int vertexIndex, BGSIZE iEdg) : voidAll911EdgesisAvailable_ : unique_ptr<bool[]>isRedial_ : unique_ptr<bool[]>call_ : vector<Call>All911Edges()All911Edges(int numVertices, int maxEdges)~All911Edges()Create() : AllEdges*setupEdges() : void «override»createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void «override»allocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyDeviceEdgeCountsToHost(void* allEdgesDevice) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidsetAdvanceEdgesDeviceParams() : voidsetEdgeClassID() : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : voidadvance911Edge(BGSIZE iEdg, All911Vertices& vertices) : voidadvanceEdge(BGSIZE iEdg, AllVertices& vertices) : void «override»AllNeuroEdgesSYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOATpsr_ : vector<BGFLOAT>AllNeuroEdges()~AllNeuroEdges()setupEdges() : void «override»resetEdge(BGSIZE iEdg, BGFLOAT deltaT) : voidedgSign(const edgeType type) : intprintSynapsesProps() : void {query}serialize(Archive& archive) : voidsetupEdges(int numVertices, int maxEdges) : void «override»readEdge(istream& input, BGSIZE iEdg) : void «override»writeEdge(ostream& output, BGSIZE iEdg) : void {query} «override»AllSTDPSynapsesAneg_E_ : BGFLOATAneg_I_ : BGFLOATApos_E_ : BGFLOATApos_I_ : BGFLOATWex_E_ : BGFLOATWex_I_ : BGFLOATdefaultSTDPgap_ : BGFLOATtauneg_E_ : BGFLOATtauneg_I_ : BGFLOATtaupos_E_ : BGFLOATtaupos_I_ : BGFLOATtauspost_E_ : BGFLOATtauspost_I_ : BGFLOATtauspre_E_ : BGFLOATtauspre_I_ : BGFLOATAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSTDPSynapses()AllSTDPSynapses(const int numVertices, const int maxEdges)~AllSTDPSynapses()Create() : AllEdges*synapticWeightModification(const BGSIZE iEdg, BGFLOAT edgeWeight, double delta) : BGFLOATallowBackPropagation() : boolisSpikeQueuePost(const BGSIZE iEdg) : booladvanceEdge(const BGSIZE iEdg, AllVertices* neurons) : voidadvanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : voidallocDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidallocEdgeDeviceStruct(void** allEdgesDevice) : voidallocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voidcopyEdgeDeviceToHost(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice) : voidcopyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voidcopyHostToDevice(void* allEdgesDevice, AllSTDPSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcreateEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(AllSTDPSynapsesDeviceProperties& allEdgesDevice) : voiddeleteEdgeDeviceStruct(void* allEdgesDevice) : voidinitSpikeQueue(const BGSIZE iEdg) : voidloadParameters() : voidpostSpikeHit(const BGSIZE iEdg) : voidprintGPUEdgesProps(void* allEdgesDeviceProps) : void {query}printParameters() : void {query}printSynapsesProps() : void {query}readEdge(istream& input, const BGSIZE iEdg) : voidresetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : voidsetEdgeClassID() : voidsetupEdges() : voidsetupEdges(const int numVertices, const int maxEdges) : voidstdpLearning(const BGSIZE iEdg, double delta, double epost, double epre, int srcVertex, int destVertex) : voidwriteEdge(ostream& output, const BGSIZE iEdg) : void {query}AllSpikingSynapsesdecay_ : vector<BGFLOAT>tau_ : vector<BGFLOAT>tau_II_ : BGFLOATtau_IE_ : BGFLOATtau_EI_ : BGFLOATtau_EE_ : BGFLOATdelay_II_ : BGFLOATdelay_IE_ : BGFLOATdelay_EI_ : BGFLOATdelay_EE_ : BGFLOATtotalDelay_ : vector<int>delayQueue_ : vector<uint32_t>delayIndex_ : vector<int>delayQueueLength_ : vector<int>AllSpikingSynapses()AllSpikingSynapses(int numVertices, int maxEdges)~AllSpikingSynapses()Create() : AllEdges*setupEdges() : void «override»resetEdge(BGSIZE iEdg, BGFLOAT deltaT) : void «override»loadParameters() : void «override»printParameters() : void {query} «override»createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void «override»allowBackPropagation() : boolprintSynapsesProps() : void {query}serialize(Archive& archive) : voidsetupEdges(int numVertices, int maxEdges) : voidinitSpikeQueue(BGSIZE iEdg) : voidupdateDecay(BGSIZE iEdg, BGFLOAT deltaT) : boolreadEdge(istream& input, BGSIZE iEdg) : void «override»writeEdge(ostream& output, BGSIZE iEdg) : void {query} «override»allocEdgeDeviceStruct(void** allEdgesDevice) : void «override»allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void «override»deleteEdgeDeviceStruct(void* allEdgesDevice) : void «override»copyEdgeHostToDevice(void* allEdgesDevice) : void «override»copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void «override»copyEdgeDeviceToHost(void* allEdgesDevice) : void «override»copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void «override»advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void «override»setAdvanceEdgesDeviceParams() : void «override»setEdgeClassID() : void «override»printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} «override»copyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : voidallocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : voiddeleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidcopyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : voidcopyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : voidadvanceEdge(BGSIZE iEdg, AllVertices& neurons) : void «override»preSpikeHit(BGSIZE iEdg) : voidpostSpikeHit(BGSIZE iEdg) : voidisSpikeQueue(BGSIZE iEdg) : boolchangePSR(BGSIZE iEdg, BGFLOAT deltaT) : voidEdgesFactorycreateFunctions : EdgesFunctionMapedgesInstance_ : shared_ptr<AllEdges>EdgesFactory()~EdgesFactory()invokeCreateFunction(const string& className) : AllEdges*getInstance() : EdgesFactory*createEdges(const string& className) : shared_ptr<AllEdges>registerClass(const string& className, CreateFunction function) : voidenumClassSynapsesclassAllDSSynapsesclassAllDynamicSTDPSynapsesclassAllSTDPSynapsesclassAllSpikingSynapsesundefClassSynapsesAllDSSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllDynamicSTDPSynapsesDevicePropertiesD_ : BGFLOAT*F_ : BGFLOAT*U_ : BGFLOAT*r_ : BGFLOAT*u_ : BGFLOAT*lastSpike_ : uint64_t*AllEdgesDevicePropertiessourceVertexIndex_ : int*destVertexIndex_ : int*W_ : BGFLOAT*type_ : edgeType*inUse_ : unsigned char*edgeCounts_ : BGSIZE*totalEdgeCount_ : BGSIZEmaxEdgesPerVertex_ : BGSIZEcountVertices_ : intAllNeuroEdgesDevicePropertiespsr_ : BGFLOAT*AllSTDPSynapsesDevicePropertiesAneg_ : BGFLOAT*Apos_ : BGFLOAT*STDPgap_ : BGFLOAT*Wex_ : BGFLOAT*muneg_ : BGFLOAT*mupos_ : BGFLOAT*tauneg_ : BGFLOAT*taupos_ : BGFLOAT*tauspost_ : BGFLOAT*tauspre_ : BGFLOAT*useFroemkeDanSTDP_ : bool*delayIndexPost_ : int*delayQueuePostLength_ : int*totalDelayPost_ : int*delayQueuePost_ : uint32_t*AllSpikingSynapsesDevicePropertiesdecay_ : BGFLOAT*tau_ : BGFLOAT*delayIndex_ : int*delayQueueLength_ : int*totalDelay_ : int*delayQueue_ : uint32_t* \ No newline at end of file diff --git a/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.png b/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.png index ad4817b289009ecfbc3d52f17bc352cf799159e5..d8c4ee31900f81b9688d8296d70484f7829fa2a5 100644 GIT binary patch literal 343114 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

Eb$Vej1%` z(&o>!p>!Z&gh*H+^J8?pb7}SClK?ssnE~<`6`Nal?LOfC>7#dr7PCK(-P}FFYn(?C zSO4t;y2+?0FaIQ_xmnfae%^j@3qq*IIj(t zuo<@$l|-)#@n1A2uI#?l@0Nbg`6T1^nYEIVTim6o|`e_cOH6<;T?5kKJs> zc2s;h;@vWMO;K|pzp{2SY(#1*HKd1kx!|n#?u9PSZ>ZwnVd42!mOVHi-w>%y%l$PFUl+Hdt{pWEiz zvPfHMXIpC&KwcMkl-6g*=z{u=gIEu5Y4hyg6DjZH{FhxW?YzJKwD$bPIXMyF`v-iq zt{@~pe0OsZmU_i?mln5~B)r66yZwg@9Xa_Pxf6w1Anx%7=Vb%e?l|>k5G_vzu}8Ss zgxh5M$8bb5UfC_bm3Qa%?Kx&m*&~ee>q#$8*5&83aB;oCIp$ZO@q8R3sdqDfblZ*_ zRQs{>iUJQsx6leS?-dW=k6OWpHCJjlY-U=dm_%+>kj<4A7GAz+vYWUNE**KkMXrP9 zqsI=fdB!KE4FM&tVW%!T(Kw;KTvX(7)n3=y6?5=n$_2nplBwK9a(n(?;YDAZY#t=jM@TfvA@Yu zK8$T^t*0K%OLnJ!_jsC-(cI3V;UmueXC}~9q?OZ~(hT1dPyw~gD}37xtX*6e^n!D= zM0T;e$emy1GXRMItLnocl9D%X-}Y$G&Sxf=G1JPqyu6-?jp|8JUl9fN&SloYev_Ns%VkK8{g-$%E?Nw_ z2M=*~EVSXj_v{O|VXAm|L}=@wEz6pcvIasPr+#kPb+Pb=<#w2$yc+B${V+fG8*Yk0 ztbfVKP>p@{mtbySL@fl537RO6y`XLk439jj|A}m}3Dgm2YoNJ;ZqAcKV;^kn_4E(k z92vmvLeFov^(e=_eaMi}z3Cu(`ySDZ|L#W{(5q@PGw@f;K=nENN4B=9i04pQw^TO$ zS+cDk9hxcLIwXOj@q*%Optbez<&W3UZY%IPPg^4p2lh@LKE9^e!ztp4!{{S!CfunRa8<~)%vEhg*3})DrwSrkebRXT&eEb-YZy? zq?&AOY#j0I8J4d!h49*aSj-NH$^N6C%N;KR;QX(qb6U+A&&PFcBzzs|j$h9OXVGH$ z1i^;7i}3A##FqmVN@6xV+2##NT`{jexNSrPS;*@Y0x`g_G^8!0pim3$B!Lr&06zn$ zw%y$B1V=FV2i+#x>@oQqQ+i4Z)LP5j`0+wI=0I0*C*(GwKJ4GW9~}~K>5*T* z3=9nJl`zoV-b~b}E-Y|5K}F8?XwdMF#4HCd2o4jX1EB_3A$WssUY}pG@W%Ga-!N?YA{60t!{gvN!rFyF$HMEuL!f}&^LD6x!K>pe{V`Lp1^@BYCPH)!W+_y8lQOV_;KnL zFv@7IYnLx(W9~yqd(ob3Y-rf`Et5}=@nx9-gi9#9x+3Y0${`2RTK{rdBPZS1X>%>)P#a2*1D5>r5=vcK^`y!Ob zKdYXTHQn;Hs3)drEI`UoIciX@1%bv@<0x~7l*rFCE+aM>%zGJr<`ZhxRc4!LGmC@%OWnV=D;&&zR z6!UqLGDEBWzgzL7WvzHt_U?bT;yyHJNxE(y10bYribm>3dpj)m%U^VAZbjFVOb$|? z{5vak##?&!(uf>q_fNU*?s@z)Pl@p7;$piZ1OefIa@n6Ou0_ z_lZ5J$$F*!yEY?r+stKsvaWa|99YU5ZY1MILM<9E6^OxuoD zXJSQJ)-m4p(z+Cgo)@oP*MvKT4VZ6>(URm>v+1#pscRgqgtsl^n$-q*>n3%w= zvp}QV^r54qTtgYerJt)di#g6fPFcCAX}3&gzvyxtZ3(>~eQ>sT?DKpqZ~pZz;lNzQ z2pWjFM5iDsu`41L)+hQmsC2Zq+f8A+!L>kC>&l3(V&o)S?3N!#3Eg*t18>}ZcS7CY z+i!H}jYu;7d-lM{=;&;zDGsx3tMv}=c*vzfDt4rxEPQ0$J+bb<-S{6rzY}`I@(#oe zSULiVQX^TMZ8*PkN1BL!Qcb)!y_XASAQTF%0HTu>1TiJ=HCYN5PCtTWN>s@p*_1Rm{ar zO_#=5c$!SD`n9yRvHppvmTE!B_33S1wgNc~4G+RvIErnQ;&BhfnQUSDc!1OMZpZAp^q&J5f3m6IoXFg%g!wAzuDc_*On ztuly|CvZV?3U{c>MOL;+5$<(vbA>JX?&mY17c}r~giG#Gw$NN?Xef>~8x=MH@N#ic z{Lr+%phe0B^Gtja>T_!uM7uNf4iNy8 zJu#pMp2e`~`%I=|O_~V$lC5-lxr!P&9teg9Eb>cp)O|q#Mu~lKu+Ql4zV5Li1+yqT zbt3l$23ML&hU&~Ut$x;S+`6i8QKMC%v@UE2%rR8)MZ2CV2K)8)Lwa?+jpwJ@`KYxtF^aLJxyZsQBI~veC=0cU}7SQ7&@PU0883^+Yb`y z&eZ_ME~-DhE7p(f6QBHfcFij@lNQp_(y0{THWguhIxb(HEn4J<6Oo{Ec{{F!b$bf^l9YUAaMiAv}zPu z7@AF*-^qLv{RwnF0u!idX!g4tQuARwR;BK}S%IE{BKPkm_(A2^lWpS=0QDJbt{#$Ij^9<) z07X6uQ>Xn)GcMKtFoXBo6aT>>zGc^@gX+n>d)GYs+1-5%iN{F$6YplNoNDZY^kR9x z$z7AD2hJWyH(pfOx^Z9!n0|n3-*suhJ+aS4>!g5y3lT>Yu4u&HHyc=(RDH_mSlDha~nL8vHGny>9bdaSpnX9E(}V3Z^$C$FC< z;l6t_C+AzkF{b0k>pp!FdUN#)NDrKNM3OPG2_jjt7%Ad;wlEu{Avn?BKid|#n9r6( zFA2aIUog~TUzvlGEjrW12qxe-3DfxL#IG#5dD*Z0I41a9bWK6(hrsa<9mN}Fll6KO z9~57DIMwcT2n+3VujX{cFA}UC#*nevGo|x(=8}QO6H9ZNC3bTVg->! zwTUKS2!fw)=~txz^Dc;1!r?8fyL=eQ;F=&B8%j$}5d#&wF&%Dsd| zO>8M{I(Ulleziya8{kpg`L)we%e!G@qD<2Nm-*WixvLN{nU69n>XYRkT|^yqN-t+) z*d!Vw#907fZ2c(BPxX%izO5gXntW5ZxR{t2aEJPiA)J!+o)3}*8L((*L4UuX-(Va- zv3q)6S9h=Zb}A|{;xKYAJB-*z9WWmB7sTpyCx{Fj>$hHs_=E9ew=I9>XeFbcI2F9u zPYiT)ShZ!Zkr=5jFE0l+HgcfPj|X8O!t73aFn0Ds%je=kY+J*AFf6lBo+=7pt)ScF z&WS)5Te=O zM2D)cx#Q&prr=4lmZq_Xw|5Aap)3~vLP<5nF$)+R5dyd`hx8CNF!0iG*RgzIy74;# zISVy@x4O}?I}bix*dp#s)CBm>d{=H(eEsqzK9@9%ajA5)v=Cf}-oGE|Y$7FvrE+|H zHxd!O4jKkg2L}9UvQ>74<7}@pkR8b?U`{mQN3OJHLf9-gXApV8f8GH$3e`%8+u2F$+PvP`exBSfJ7 zjhbb@&wo^dg)eRygtNFO!}HHtDq=NAFBoFvFPTGSiRm$=_D(NySqe%*`0ZtXSQ#H8 z$QWWZ@kRc7At6o(87v6qXZuSO%N-CH7#JGLacHlH;ErW439s5tUem)naHFARhia{} z##9SwC+Hqvf49VXw#38@8#lf}-pO$Xp6le=yiUg#HLSo3C?4~(f!8Fq@!7w81Up=1 zLEDC9l@m@>?48p4cx}b7tnwJb&^Ui6vf_79?BK4iVrsRHQqiej9=hlkJA_R?!KUlHV5|Y+sDXw{U&?~_e`)Q z&xq?W;MS3L%RVhdR)si~E{Nu(*F16q0f~@4K);|AFpVLB=cwbsHw+@M2B(sqxiM}2`~Nu z$ejVtiO@1ACoxrGqQj6b#i&+pH3s1`jE|w=wCv(5VUP&Be;<)?j7G;fIN}l${qh2C z$en|?ZR{|1w!X=Vh;Xkg(t~8PFeX&cRbb-ctPEn_UdX>f%FYd^-vFLi%BXc5g!?Q* zpUPqe&NwZmtV~0Be?7l8%mq|bRMX}I$oBE9oU%qR$pv%6Yi=`_H_(0|cIWv@j%t&T zTqBVX6_UUEvJA~JVg{ir;;JDwR>rI%QCx@5Ua}sKKu+e$*u1$}#-yOLA}f^Ihc&aa zs){V(*hx|0;QR6OCj?4ONxGZJl-^y@w6=bu%F732WuDb9x|o~RCoYb|)l4=1GEzqR zfbp?O>tD!7PCk0ol6NPMC38`7c~Fek86wjWc3_u|$BcE`g(jLmeEM?Z=1qXhXUU;9 z68{8=YEa~MoepHyU`JpWm&jJAKBhkR00uem;8kX(nr4DqVU6Jl3cRD8gk zbOWRtY>kXwy(4djLQ}pB;Kkm)Vkih5?d%c?IzTrY#IMf#v~iE3xrs?+!mV3tcZr?6 zz5Ho&rpF}r8U+GUTqCCOnQ*ETghU(6vf81MqwLWPBx&9Q{X_PhGR z*Zh)WqxSDjhcUsm_LJbN#aDcErQ*7e@?kGxw&PYeN_i}JN*!1;QX=jh?0r9tb#4Ms zwtX0R|H%y(KN{fPzP@eNRA|?Fy}e1Pw(i{dqoX6oRtx5!b%sW!rg2Z2u7%Q%p?>2| z@D946{H12iSF3J$R>zo(^z`4rtlZ8?_nwMB3YQ-oBkZBc2v~4+b+y=dn=8y=&+{SX zCg4$6-l5C)>uBd%w$X2wq#`OVM4&e!w{EI{Ch}9wifj1VNl5fo$8Wjza^JhOIoHbF zOsbhM8Vd+~%g?{XRfEB6uB5C?QJi{IHMH>aXQo5C=_xeq;@JajZICudDoFbwoWw~o zmF~FN1=Gj~G{z>r)`3JgcBRUzf={2?%3SA?CwZ>S%2?alenCKNH7raIR5TA=ryKBm z;+XaIvVO1h9mZAEbpt&;K>-0wQf-AlR+ZUJ{(1_zcjuJ-`%fD))iUGae3&(&WI;7l zUB-Hde_xBGo8BL!F+rz96V2J@td+34h=1?!>-(OX%Kj&7QdCT#U6?F2)kVgh!~>74 z=7WW!ID_XL9MZ%h+MYw*irnDmw4#i9A6qZ)Ew4wng}@N@Qj%8RjZ4p4-#gyR);2b4 zRM?)SnNd!4+Q2%Bsud0IOK3mq0}Qb4;jANGW3k(7x}6s_pg1JTBxh;EW~YydV$11zibt(+3Kk#kGN`9zfp-( zi95)_(e<3Lm!M}IeDQp<>dqOVrRVEmT@7Xj@r1={in65Cj-)g34Db~oh)^Z5#6)qI zG%q1GGOUb*fE32Z&+mDM>ayl+AO>^OG6gK$^xjGzR(jpN%*^{%%XOlVo%ch%t{#P) z;w39iH3dvZqo^N4yq-WJD=qO3`iNP@Zon9%ei_sMy z1Io#|4hpI@*MfH7t0p12EQagg;T^Y_LDT6rL9am4Y5q#rreSBnuzPynx28|yZN{)r zXot=5IXO9q;^*V#-RBI5tkVS;B>SO5WLvhlbod;%8^WCcSLLvJk}A1)k_C?<>vQKH zDRry!8ZojG^{-!6LZS$O1cjS2Gxrd(9O9J{v+>GOAg07m3Wr7fVbKj`W|~;&7sisK zqxHbIaDBu8CNqse2qV-fy$_ep=<7dMjf~W;-VP?*s0$-gbrG0}{CqL0RHK?#7?W&E zVAF|k$VCF!2j}#gH}ei<&FqoL!rs8Bk!ZxAyf9Ruus!frtldUliGoC33m+d9o#uMX zs>=r~<3FUgdHkjx3Bby<$!`^iRX|38CRgxb0nTHZ~H;XvA#1< z#~%wjB0KObF8IMn7HES(3PCMiYG3Q>CUE6JdoVYUTqgb;ERg+4QVUZzDbIx-z;y7% z{Av1gegG%fL)(k=-ZKk2O_t~7=|a%vW=4UR>QbtSz5H!#kjusfBwKcuwdy>w&54la z^^2h+@a^f6yrpo0AlPD$y9vQjf!zzxTQ3a2({(E2)vL2nvWcz^7nGPj+%5K6 z`B9Q|$^C%#EOVIpVEhbM^09!~x7`d40dM2(t@Wh$-EW|#wzCYh60s5diKEJISger> z*^iwp*VKxqm;`SZ;l^ z_)ttY^IJ$J+MiQoU~4z;lePQ+=NV zXL$3&s7+~RK=X&?78-;fXb|!|o&CeZ2iw{{MYFN6+^Y46VvF6Tai;6v7tEfX{&Bh% zwX6K@>C^d*?9aeJGySl><^j{* z(yy70LDsy;fCdeP!YbXk*gWLs+&I%sID0I#!kdwp1;ZJdM;ICslao6}A`-;>ZSG(C z-$NL^|OK;ZVxGl!wK~?aM02fA@zrrHDlgO-y9jd=GrmH12J!*iiGp zIAC9*aDrdF6vA^}));-bcnKl;Ha6UR2!qFjnC3FeyZ^01%ta51<8@eQkEa(Fwo6EV z5^~IL2E#)f95xmfn#zR0eR!gO@4bAv6iZs^q?14xaitb1c9F*Wl{@aF{GZD&Bxbv- zpvKhmxOrcZ?&f)R6|D=^H^1Gz+L6CG$yk;TxM*s_3Ca24&xdfrfgJU>ww@|&Xlk-b zhs&QSoH+t&C6*DcZW_CrjicropV!b0_T#3+Lml7?GSDu(qbMQg{n{ z>31JLKa;@viOSr_=g*C~Xl6?OC~U zWqqv~elq4ve=!o0Fw&*d0#Q=dFaAaB!uat2{EG+A`}$D>A^EDT{_yVa7J`BNpB6%O zX$v8SfeYMArTjL~fYAR|Ah!&FCQGSf{{{UQtavrht5))pkgizT3OtVAMM*gZEyh_n z$AxC%_?O)sN&jj!z6g-b%{*z*uVQ2a<)l{t7z|psV!F@4n{IO7@$tDhXV(PV6c``^ zIT!TI{LT=BCeoxS^#_9N0Foqek&%cjeQ06PF?2b&YG4Irk=o{J@TVEsIRC1_%FQMG zyl70#tD1gD{aknfC7*O0AHD0)xGx+`fJ1;m03%fmW3=Cd(;U^l7Oz1?hT@TeUFl>2CQQlPJ znKd`|8tq4vI|OYqfmvCCH4su^%R|=ij@jrgH|68|j_lrjx%mEmD7g1>ekm?~R){?v z47}DJbrSMGC<6aRD3V3posaF<-)j>aAAgXA1v@!?ReYfsFWZDgoyZGl$#M;+jua>h z;Ry)8!zdA5VRQAWWThcHE-%XG6jW64%E`BOR^6zI#m$O406PAm9YeGg^5uPz5&;H! z04^V>%>s(+>~DXyI+GR>55qiVBJlCWZGP}KrTmhI%~s-i31U~yPWFIa8dt#`IRm{H ziip<^KCz9&ed)JDq3Yb?%gSPYiF49w^Q=TcrO8h8HB44_y+NSHmJ}9Vcqtz#%Wn+v zEx`#ab}##G-o-kBRbhMxbj6ru{$WZFQIWV<@ymjA4gtU@(P*}FK*q>3CZOuWc%!j( z0&3mxN2mm0GFZ26T^1rf_{Fje-(RMZIPZi6KQ@I}biIr>v9u<#3Tke0y(5}b5^KNX zmeG!MiC52T{PN}QSCQJm3}j1Yjtnw+dDcMr>N{=x3G~_ z4dX)>8yGdu&*S+98~xC7Lx41cL@Pfj3|L;P)*rbjn*=^9Np3be&%=FxWlKwVlpMeP z?x0R|TSzJyXiV_};+zi63ATL>zu2OQ@M(hnQEJvFx(jsjFX-ap;`sf6>IXi2xKHZo zH`!kZUCQ$$9abV&ap$E4Tc;tQFYW&J?OQoA5UTH4tNH*5BS^S@zXp@6#zv%^>-C{> z)4-JB784W{R8qBb}0LAYM6Uef%r8Y<~;slv38R;-B^ck$bmS62GlGwEX3pXHM;tI3m+@KPAXPn%OJ(!*^xHe(iTF_QCCP#$DyTr7r63BMwPw>#ySH&v!k~ z#hdh^5ry{7_TS8~(&Xg0pI5{_@Y1Yby)Elsg!8jAGHL+o}3>as%@LHZ}w}J_<)J|11I?dz3@qxv)ma*&DHevDGA< z|9VEV`B&?9mbJ#uPI3H>agd(%5~$ zeSuv|Xy*t|gNDXy*_TM!PzrRZvi#&<2=$Y!s7tYPQfg{o{%P4vAyGvAY}!7d%p+Ub z49H#LIRqQvydo81rdD;r%&YXqU>n)?UG{^JsONe*TmB38xx0A^mpoM_gMvnqP7&D7 z22Kqos(b<30_2d#3n@PDI=FxTh6+Y0#dx9ie%w>q%D&v!O}2l4XOs4BR8$vmZ96I= z-_dotD%{`#AX2=Z{+%m#FCCTfGW9oSc?`z9exb~IRU@?ZIiR4O{C0=S`ftZnh5PTU zAWfS_rq(&Jt60lqTl}pw(8}iKWhS-Eh=?2{Zkw^%T7*Af8tb_sR4D)=h+N+GaYzV1 z(xfa-fd)@W;okrDM8ytF)BxPESpqRA^>M!eMO8KeiP|M{x0K;-tFfr5j1u@TGRPc{ z^!9tB>{P}gPCpa}|CBKSvJJ<=h?f*w5c&}VA^NVfk+ive-q3<76=oQaTwA@gf`!DG z&u9i42eR~iY!ToK6LNJh^L*f_5lZiGKZpatg(Wp}Zf`y)&~)@ec89FzNTz{-)JI4g0% zuz&JQBm5@d7jrdeFJZB}>udFuhWr=Vo)1M91Ay8cOeq)#aO=E?cGDL`kGku*50;#_bjWk@%d@Z_PEYH2cq?; z9!KdtSHJNC&iHT5&F8Yu_3I89{66j;FXe=_wuoCm)wa2E<%vvvQ`6`7X~GFZ@!x7{ zpsqC6))t{UpVwCg#a`gvg-5_+DTCOT{u;2{MaOWwC+DtMpNbOCZrI=M***!SiK|W#KR^ zz$U#{V>QXCElZEKXMB8x0c;tp=hwK3zfs|!8OH0qS>W!$-fz~eO*9YJ0KtLb+I{{W z3X_bQTB&*j$;TZ_!3dT#G}9UMOCKBYfA3!Wi{u6D_J96Dom~-2nZWmJ^2O`w>FwgN z6r~-~DJ(8Ve0yMYe_?4U2Rr-y=#?buTucA0vbY#bImkf}Cofupv0V*k7(KEHbD(AL zvq#S6RwN&fE(H#Uo71NM>TWBHQjAj4-n_XVj_tHsunDz4d`_mi^IFiVK-fGd&wlHa=@7{5VbW zKYDwgSktx=+?3V}LaepON9l|$@=?FYmoiegbY@&O(sm)(QZX<>ZtJu|#m=t8uJ?X%}7F zaN^NCn!iXIx2+3p)9Y8SWM9gozPrUA#a)3BNk`e5*Rrz^t6zmW3HR=khk(kc(8~}| z8S&6JEPd#O@27j4-~H7TDYyi2+Ba=9y!WLB7~!NLaH*mZs5*)QfT&4WquYlOOZpoh zBr#YQ_XjcZR^(AX+}Yn*kF(K!AHsE+p=G_x$z2TFw~OrhQrRH5??RBB<0j+K zlRXFPuoc$-L;zD*(6 zyTowl!|OSX`9i<+*9UFK?%v&kpVF1tAkhf@rijbIefa^qB#&Lkw#5Z_Cu$Mixqs>3 z@D7VBfYqodT`bln+q7YWru0`U#pkK}2n$^SVb1@L?zhv3#q7Iy0n}fa{R*%{re#C3Rwy~ zHRyX%#>8rVN%KPW8j&RxQXROtv@0@z1MYxmL`E#(b71CyR(Eh(?{HWpmYsuc0P2e~ ze-M1?e)$`g64~~bz_)|7o00c!7Wn0jiNnFcp&q(h;=k3_ ziut4UM3#Wzq}|$G|GEs_VuFQH>!$3%0x5G!LkSioI!?*8VQt5lgtT;>!Q4a&A;Unm zOD=o=h`LtV-LdfK8x>O#ksP=)qG(92QBy5B4#nFo$5=&?wQ%YbNmHZgpBlEFgrt{x z2}JXN`ZKt{)(uPH5n$iov={Lbf4Fvh8-I{7w)^&MqQmn28YLNkq4W=N_E)&4UaM8(hb`gUzL|I`#3ok5y}y z%%{V`?|9$S^O+eL?J2`2vmM-ebhoX|D_5v^Ge(J>({|G)FWg=dN5gh5a_P^XpLx9EqukQj7t9uT!@S(w$*C#uZ@Ji{0FQi^WQ_0H82)5kfC%eY%kn&M!95pNlG?s-`yeQgy%k z&WNPyb^k~@e)i+ehu<6F#3MFuQc{X)6#k)v7&qH?mpq!0$0nQel2|p$tY$CefexRR z@Cq%dge@`4E8#>Rp~+=b?76tXfm=skf5cGcA*Ybba2-@6_~a1Nq>(_-gWC62r-(dE z5(3n^>@*0Y!r3jm_?56Jo1T6qpUymClCX;n_M#4wB1W5yO|qQkrMtTb^m|xn z&|edSx76-oZVeL?6P~DzExY2`cx{~wl%CFues`?mx(Lx~5!|)++6gXK#Xy zg|B@GvPi(=M<~1$wzTPUzsEOP?dffPcp$P010$9RC@R+BQhhohN5bWV004M(kLW*s z0psz3^l4wgImEIYKR!Znla@m7oY}A^L@gEjUIbub=h7CO9SuODAB13^oqx5iDAmWO z;oCbmRpu%iL`1F2k=RWyZSFc%ofVyZny5$o|Bz3$PREWoUjGn(oSWNED(f^7^6_E+${)02wTyX@<9-%C zzTiA)9Q2|2DvrlNGt<^4HUZkcQgv_k-hb}H6Du2R`ioQeYz30gKJ<+f^He+bP-=WQ zH)7jK9B`HwUPjmUiArG$6GRV9t*#x)u%4grN@^kme;7uF1j6;2^#HMR4# z1(g!qSlHQt`52oBUElymJweZ>uM8n81n~nhzrclBN(oKe;Cb0dGzEG@Q-A<)k(caH z<_W-|b_a@+=!gg=Wd>vMr}tG0I!oj(SlhgBEKI~QH~SqHxR&}W7YQY;D^fSk%!{4M z>GVUk9KxKpiDqI&edI$zaUv1`U) zxdHt#t~2)ED8>w4I;b&Vh_Jw_F+M)NK-5FY_A@LQ3qS_j9+$OqcqJfS?6h$XJW|i; zX%87g*$zc&9iw2(E6+}Q`@3JOP>*O*hR4z32jrV`I64d2Kr*v|rt}7tn6c^<1kKdUx;dOpDxr(LFOwJsPkyseRSi*z>kbY8=ZMms ztnC>CN9`aIOY{$NC>CEXSp8Mt2lF$aT-8P?%=w))Ytb$eu1EwguK} zo2#J-l0LvC8rwiG>2YVBdkY>t)p;kRsI zs-~l?DdOaFSzpOl3kqhT7P%Y{Gh?v3^@)cOQ-F{*tG%tIr50UwvbBYIQ)8p}Fyw9! z&q*X@AN}Qx4G~`72+-oM&ub$zacmBHlhJU?KTt&&?b3I3jpA`~OT8rJaSqNec=HGW zs~OX06cLGwe&_tt&yIBZvFRpgL-QoBI^&S)wLwx1??RsQw{Oj=3DKK> zGL}6N0x$}fhw@|1^|HF;9r&KTw&!t+e<+XV*R~8WzlWQSg_TuOZjI*OFh$tGrN2#; z+N>|By*YZkk$QB2@WM(kg-IfFpATIVwkEp2_K;Nl%8ocvU1(3hKMqul(htwjfaXO( zO)}>vk!DzOgg2_rl6fe^?3EyvvCnn%<`R=+)`ZzXIJ6-Z8=dEXEjJ=9Z5o%WzxBUv zG2-X^U)jC~J)de^Vc&#a!ldOxW>ONidRF^>#{S>8i2Xv`19-$gIwB?qD`*7+GT%E+ z9E|e%Oe^R6>&1bgXa{-9DC?_Ny`F_pVEhLNX!-kN=GGlNWzGm>g7g^Dbz?TUe$_-v8TxL$-x4a`55KVGX zS5wpP;lo0?`gKM1$1B6RBF{lPUs=t1YtCp~BK)+s@@s*H6yu<{I8#(@HF;~!=64n% zv_tD}#&k_-3;|ok`=M>ydVJ?i8+-ELZ35euA~VtrH5dsqO&X54I3VoX*!Vm4SLzY(sPN=e1+=4PLY=OO??|KO47}k&XorqUc-}hK2e^ z;*76!L1guN=*E0%m%Cuyxo@d%ccU8IPO0=R2%1IJ6X6>LLNY#PGJSp!+~0wV*u;yV z9qh|Q$Njemsy6Y`87#vDYe22x#27cR4H+)cNjirhD#hf3qK|UP?p197T>*eQxQ|K! z&H^ub!Eu(TEJgIyM%*>hQLFtdWTZnvLJE7uHT0qAMhe2g9XfK@%a(8MI|)ukIjz1n zx4?3h&P6{yq|UhA66>IJ2yQ}eE^hgEZ+^}vN!HCw6ku3HJCYZE5QZib6LD1pr}o{~ zd&nG8E&09=+>>AV@J3JQQ6HQgLvr-J`~WK1Yvr$%x!;xh*C0QK;<%~PwqsWwe?v^e z9g4DKRoB&dHO%7GhJgrc$de;|b|pppE@kvAP5cS0Cl}klmVv(hgEOBEfwB8VE{L`5 z_u_u2-ki2;b)K;ZKV3D=LbKisaFN`xs59%`@=kj;IKM;W_!-unlTG>sM+JWC&&BWz zO{aaUt`-%X-kbgjyfiFIrVU9qpR=pJJIu@bc&8V`b;RP5QnDUx^V52+vl}&lP|ry&aDBr<_CM>f%4@S9q6apV`t&s9nF7A z&&>KTs6&wGn}(%D14Lzb=ii+0DFltVv+A9A_&d9Qlwif@5q;^|^4J9v#Dn$;Nt)T< zi|(5^_6d}mIc+nlZfXiXe!#-UeO5-j6c&+p>FIbKh-er(L$GiRDLdR1y*icb8^hb~ zY?r62v4>17EcxG%HaK@8HU_`7U}!n#+(ws z3VlhH`7G+v+}Q-Bn!>&NWPh4oVsVtGla^S}mTloe~b??x)K^t{z@?~z#=J7N3+;~exL%&pDMXJu>uia(ndW%h}Jmu^PSl+t!=ighDo9*)T_4It|x6xUR&gqyz z<9_d~5a|m+3s?5v&*`g6NBaNA-djgixvuZRu4OF)3lS_Z2nj(-6bV}a1tg`F6ciAU zRKQkB1qlfOkq{=KgwmL#2m(_=O1e8_!eoBe3y7}0f9IUkr$Bx;fQ{m%hrfc3ccyAzW@?m?U2HjB(xY&?t z$K2y;;Y2yUz5RS%%YNNg+uhD(Z_lq{q*oof9E`??*T(u*KWVd&Nb6sgR`gfi94y%U zsqJ_a0yTg~RIn%<@R3%Azt>H+oy%9PVi#|YYVpTAQZjRZ@3`BB-A%`2gZ3SI*QEMj zF}r@9;X#7H{@aaybcVk<*2u@X!gpnvPHp-*E4b0=stQH%YBRs??G{rF8w}9q=x*i2wINt< zxq&0U3Z=52het6gYqciSP|Q zL>3zkx=(WEb?L|6p@t57G+n}Vk1sj&O@QSt#?E^r?pSuZN5`{FzwZqu!nxpi0smM< z5oYp;`5y}cpv_qg4Y!;=GuA%|ay`*YTQA-!S(0+>e9x%UT^Je7@GKXsn>qP0=#-d9 zx#){VLDqTIC6U9T z%p^sh4;+$JD^@&bIyBxm0)&h@HC0ufhDWE*(=*+Iz_k1|n9-?;6OZV7B?LEe;)EYM zCaFj3kf7NgLR#UvaDCur=v;Vf^NpJ` zaNt2gLZs+vWxb>QN~d$n?w2L*OggD&bt)FuJ%;$pstySvM}G*0SJPr=*O6F+7n}2$*5pok$*n*(W~w+&3av z&zPo;I;`=PQ#`RXuw;u^bWXo3<6N_IS#B z7oWYn3OY4=_(^GRKGJ96xrO`Gq@bq7`;rnqIBABsdVZf#$R7c=>Q-M;!mYWvsTxzS zU(;8iG4w5-CJA-y~X#a>j7x^H_=`-Fncj?0&)VGZ$Wu;$2 zBok<4Tg69#HU`19t|6kuRaNdX0T35&9w#h+F7lfEv#E`Lv#MTsHgYEI|0(d^^u}Z zMTG|`yH4UEQM*@fP5w^$bDTcWO!OkV{v3Aw7l!>`zhM75-ihcrM85#r#k(jFNe|gI z$3;{U|9JlR2L2`Vq^99q^d#}63H6CFA2YlamA&6fSkS`p#4u&G|0?o9&@#pcM-=ud zCpWj?PvJ$&8el?%;iH}&kt_aLLnLu?$>mRos306SPdf_i`izWfNG6^MG0dVPGop(j zZ!K{G<(AMYbquV@%{2rY2Guc`W!UwghJkv1_r=G@JGi*Ikp1Qz*|mK-Hreyo${ib1 zIhB{C+v_!~Zr>v5q}ibrm)gEuUKv6*plyv1^xkY3G$_6Dj* z&mALTVL6RI1e#|TJb*Q*jbc<1qU@Pw}W2K+myp zageQ?EmRZ~iBln|kif}^*eK`j6nj|Gbz~tFpbsS|_qV=z{kp8-j&^kx5!V6sc|L$kGj6X0h^c zwi&3r^8g1Kv6>}W#~wvX+kK970Z+0QGB}(IGYZV@=p~&412peAH1+q(sbQFyGfm;< zV;f`9zRh}%?gngmHr;U;S;}knG*mBODO9F7!3W#(UX=W+*|A$owb#2(@_7iYVuGHU|^YwzDa;rM(ad?G}^pb(0Xf{!p#++_!SEQrQUo;Oc*qj5?8_PcN4 zr4W5f<}36qEbmHNpXDqU`}xZCBroeBq2A?GEX#uY{3rV?b`&e4_d+FiXRsFNWu za~%{s^|-mG=M?okxZfJi)2czCqS4l88gpiQ8J15`cYS%axMVqzEa%+Jw1jWiK|{6HQ#w#A5`BRrR}DWG<~*%y@r z5XfI@9;io2aH4aLD@ncC5C>**d8n1w?NYgG0Pe}ndrvECNg{#8M!X3oWk?O(AtnFfgmYt)3Ba;bRMz(BKW60T)GFF> znV-P82rWMhRNf>ehFL5VtqUu3zWNbLw=Yd}V=D4N8w|~m0`M|9IoxS^R`F@Gqwn!* z{=2jJb_bn}+p)qFA{la>y7u-n^75ey(Gn9a^ksHshnKIR2utGOQI*#ajZMKF*87p_ z@sf+^g5v3ihG9$q!QMsagLJi6&qQ%TRk2>qvzgGxl9fp03YLI1hbkz;IZa0)OMSZO z+U0Ygn^n+JirD5w8sIMXH{Kr*!^trJB9UzKq$EPjqtoM{| zm}Dc@{eVxB&Jyxou=}70akE7s*X6k~NcET_xDWNI7CU94W?G|NiHcoD_IX7^p z92_s?zo&cl`n!5AxfOyUqF~4MVZOC^f+LJ=XIS>cI+K| zjIk@#Ry%>=w>E?D-)hAXz{Nwi>N;&fscz%1@mQ4p-#7{r?w>;LBnsNPo z>pP=c@!YNj;Ck|ps9IzCG4pI2rDm{^7EP_ElYYPYA&Jj;vZGhbfw5Sv30Z&>UCA- zceblUsx(@Sf3zY0+uYPt3*o|hMeeMXq8$I-BHh&OR)SNl594;_q&0OC1|#N9E47(# z)^pwG&%WPsc%4H=`n%~paEf-?Qx99kcsC^Zg-rmpP1#mtz$}y04*6&Er;*OCJha7ONMR|y^GC+l`s%@OF*6_J#$5_iqUl(M zYgcL!59{Qf#QWiAp1mP$?pZx)bRS*tKr9A_k#0DL!edeFtw@i`KrJ98EydHBaJ?2y z6vfi|&VI(=PS+I=KTp80J~Nd6Uvi*lIae}emiygnNqF)z<2pKVLR!9Hf!rokIguEn zfROZYoGh}1uQVrt_pX=`LKjCC{-Sx3j3|HYu4k8S*bn&Gz|^!@`?zwvtDb(jWxTBG zVaZl_N`EY?E_&sdP5}@r0&`42kTzUQXCB%$X2#4&k7X>xA&j3YxV(S7JVfL!v0vS) zYQaR8zNMahZNH#M>)MURX3OJnPvR(Z3jreyqKYS4p9Z+o{EiH{$U!+wO9H}~zgCPpRdRk2TiKM{poau|8G3r0N*3Fp~L;0E< zL;|%;Edt7uLSc-eya3gs^6K5@bXm*_`(JlzY(a8Ku)P_&s)V zWP>(;$E+k~@x!r`Nv~hqSX;yHgUkN!tK2@@RdL{fo!nH!mlGaycUDnFe|WKvR#s@} zb?d+npVgi*7rgyM#!Yg|^|9n5TGG}ywe--+cBhQ=_sJ(e$7N;Jq3><_O8<5FPJ#N` z7WF8$=X%+S>7f~?MbW#L?M`QUp*7ZIA=!4KZ|G6%-+VvM9;38(vHs{slF8|vbpE<8 zoTlR?s*T}NPWOoYUal;&6X5ktlc2D`Fre^aGgEVysu0aNG z{A_$Gv$l16u*d7yd%dptNVlS@dj3{$0K4?9;(|GGx@Yq1*Iw-dB^NC6Gj?S~MBH)G zmq}!1OpEzkH8M9z>g(Jnm(zV-k3V(U>$Hx%@Q4_KQZ@$~#|Cr-V)2uGs@7nGXo)LTd3xo)4 zN!kepravo!a;>e`oq&cjtXZ?Ie!SbDRfk4Vg?@Yg0L&HFY~GCdmb5evokO+Sj9lDP zXf*9l&L_tBjhv9A{zp?*C;sm-A<@MhoSPehadSQTzkWf?N|go?Fk;;^@GRi9%~U&D z!-V1&DjyJs*5)zMo3lo$TF*>{&a-@Ts$G@j@KNLD8FB9&@JuZDIwLS23d^xK`z$t& zL5&OwPt0Z@R0y|sDE$P*@7#nb=OA~mzrTG;{#xU%$A`{yL8m!GPNM#c3N+h(Ild0C zn6-QZFQu`uu~PeLG3LZU7sUYfusHpECX^!5WWH}BJ>Nb3e6a9<`&|{C;cz1jfj?8S-{046%uhurx><+)ipJ62q*YR5ejw0 zC}?{VShVX2{~V-w)Ynh{9S6!CA#v9;mzP!FH%yM2IL_fgg$Kx=Y z*LHB6TmsoUo_zd{%h4HP@l_W;6kW8Zw)NW? z37?z`^>*p+I2E3-P%oZxX0Usyx%ORY4X4h@|DcjV!q*edY*Q3 z;P1G7hZq#P!`?dM@RmK@E$J#pw|h>WpFf?;zfya1lkqdBGD7TD^%?Y2=+fH>hF@e@ zV^_xJ2kzXOEl(!eU34OPFh&y6Sd(9jU@DMeJMyT|)ng!vAh5-CtIZ%X^YVwtY2HQW zL77~z*nT)bQtEOD34J>{CTWKO;0PU(r?^#@9kLXFK;O$B;};Xvj@^3$_nL<341>?{ zTi<^+ecxRcLIRt?JP0FU5FkBScPWKQF0x1=22f63!%8YDFwM_MPq(>p>Fliio@8w265Oj*eVRvdbAIG?yU zW(xhoP4|B+Uc81<4Q7JcnTm`@G+jbP7HKn#A`8zR1XP}dFc3EM9XP zNyF1a_R7jW(h<5e-q6dY1IEv~U3F2mtF5Fe6Z)oE+(BZlTbNd_zv{**86*V!`O#s|42D)Rz}D5iBJ+iWDZMYFD6ITs2wm7S>BMV8Ncq3 z`9GOlk@qXCf_)x6+GF%(i_Iy=4Sr$Mk9A(@3B=D0t;95QJ`|R}FOJL3uCJ*{kBmI7 zYi4=NYsBM{Yr_(bU3P#pZZ?I<&rYb6iVt6z^nU(7KjF3)J=)^UxG4>D_rZTRfF(WL zcz3>~e_mP7#Lu4t=lC7d=c?vq>GGTiMthEK;$PlLPk6L`)HIeKwvy$aYQ1)oG7Fpr z%gs$DzMEgOts7j~*F~d#V2>&hF56Zo64sGtd-Ui>uwp7qtU=}liIE!2e!6Dc&7Any z(6dLSrCp^X!Wsq(eI6O#Cm-(Ey}w0fcKFod+OkLKyqcOn>+z;8)b4--dN_6OYO>v| zUt_0Cu-hfdR}RD?b@CDWD?O=@=zrdLFBa%0b=#h`S5Hk_mOdFGw8$l`fKIyX4G>F9 zK_}_pf<7CrWC?g99dp|-xB~!9=*huu%E~))2Xd*#;$=(R{&9%#=3`CcedX)|8Ts;( z<*Qe7=)pXiJ%UBz+SyX^x~-cx%P2_eB5{lL&BWAQm{6Vna>ppW>HSVCr`qCen7)g{ z|K8Qr6{tk1j_7oy^pBcHQw;RZj7V@xo2`r|W_*VrP{34TO@pf30m_|eM{9ol6Zmk? zLPqD9YMYOimzWi_Dd<8C1_@|1SF7~;^=>?OoQjE2HArrHkTGZUXKzL-DG2um7}j&I z9l86K)Ya1y{>7~u)Po;#cZ*y?2KL3ri|y96%5WIvqB8-ZyS8@y5`*wG&g9@(;hvL2 z_qW}yJe-_s?@X;;t{A>Ya*LD4GC(8uQtyYVO8+=qR??~k^D8LbtFx|($RIBM2b{w5 znT)Rpb(wyDJvf3%AC7XwWCo?b>t37mjPDmZa%P4<7x%jbE7P%ol3}{y*87xqQFm&> zn8wT`KNJS1ioQi-&NxE#@0~CbiC;Rl#tyX~>XftTwd)ItAJz)9t1Z@+e|F!A^UeyX zNB!#tL8DMixzag3QZAk@;^w1O1bZrQwRfmaUM23~<{XSfDF zP{l51a~(6+7Bpg;9-|R^A%8Sy_U<^;KG%(T1n9n4HkLlyjd?uy?{19L^#7w9OW7Xm z`#*GJvxVxJ%ho%MO-s(uQ zE7$sWTPAXsBl+KLndy96cIwZ*N;jRfa9fAj+a-$@-5;kqxJ9M;VomaRNmSd%-a)1}R)Y^-A*`uH^tP19Nsjao{pOZX3PJTM0*CSj=i8wEdI% zAQX5Y2L1jWJLumqG3e~;BLo3R&%l^&P*aL^?X0VZtKz9cQ`=wU z8N9o>xFudU1_MwfT8T*dJ}x%Xk3E|2$8>-7W6gc64U+4>5&f7ui@G4ui2X83^oi=}0=x)& zv5k_WLqnhuLg#i4@hT(qw3bBHvK}U5l_j2&JJOkUcK`3kU&h4vD}5Ca++b5%Q{#XN zM7w$ij0^;vrtFMk9x&>DA|lv~N|=pv=hQ4yYw^_1aj~a6z;@=;Dff^Nor4DtB4~Ep z0|cl<9?+N-22t}ReT04i)zDDbgeWi?sWX_-4fc02Z+FoTi9xPVONfg)-1guY^7QfJ zBfYZz0tR5xwQR@J1}cUhfUul3D>PC}7z_r9F-s;g4{Uh$a^Kl=YatZa7OUCX3@;yE zr1kF^*XFH?3+M<-Q(@sz{OH!j9zlN{%I=(Pv|jy3qqWRVl+HD`ySbU3k&&Z*IB4`n z8`qvadk_XawU&=+FPIvs>&|o712^*HC9+mtj~<0OD>L=rJINhCo{L_>I3D-`j=PC< z^z*#ETakY3dDYeaq93Lg|M;YCakDG@+b7N-=y*)DXlJgOTp+|Z-tY?$zWD8>9#Q2B zR>+Ay6*68Ic#W7VFBmv62kB6#SlaTyG>2cYgOeT63M zoU#w>+xKV_xuPO=#=Zj|*UI~s1O@THU=L4pkrKR&r_h9XwOfwvyi?D6G)53zSYm*A z4%Oz9D+9Q@;iiZkydq8AzL;$=bdSP)f^lX-a~|sx%gjCCJe6~M+lsJ5Js!~%wRP$j zg%lWeORu>twfp%o;bdPqQrOdgp=Y`tjn9iqWuskREh!rR> zY3){8IhEs?QRB6JN&iThe;K@{nWZ^y-!SPYdv&xk$cjaZM|_>ThE>WF61_K7V!YNW zXSxkv)8tt5UXSv4-upG)$>r13Nf_j{#HM5vnF1nTw;%FHS>Ubi?%q#hQj(YJ{3VhR z3=PJjxa@c6NGB&IvWCALC>todEuiYbrKvAd8M&xNo#i= zhhKCnjz2__`ea?;jSnnuS5h5Ru5c-8t$TU?7LT!m@;-6q?d{qL+TxwVNHfm-+2n>Y zKUdRR-j6gww6{BD9l<{?^G9)NxyMpiNbYLxCrD@wK6Wl$N~p8%S+o{1l>Y>(udmr~ z5~$0TyP3>FZxZO5$&YS9qbMyURsGsD@OD;blceYcZ1=()#LKe7SS?wK-^O2T#deJ9OxV1*V9}P;x-HL_PtI6Fmz{LgZ-{W8a^~n2QU43nh9I;uIVbqFFDwbwkL`=3g#Z(Xu-@{_&Xd7_?+7f6J(CcgTwBa=~TSMnsoBaX9PA-RM*aH=6PsVMi!K)Q&kPDRF50 zvuf2hz6WBLzJ}eoo$RnHZ(BR>Rn^t4M=RhCX7->YI=+dNFZ=zqDXG6=B<8Y%m{(+( zD;#50nsIh3_)xfiw1+rDNpv1LkHL0L%d$?QAMoH?hQa>uNR-BKvXN%~H~m1gonKE} zvFs}wv$XguC=>^;Ac|j!EzHD`qzU_z@dP@mNxqEC1`T8!Y{D0G043NM4>Xf`_JKN! zTKC*`S6h+97~?GQb8kd9hk1anC+z_0az`Lhm~nXe`$uQn1jBKYA7;9XCTP>p-Ap)- zLjpwQ&VJCzMtUOIqpS0TgL;aI_UFR~B zvD&Vhly3iq4%=0>>Sld>_qENy@{7~Xa!^t6eN`KN9|JFFt1qZ!qZ*G0TpQQ_T3C_X$;2)jw2K;@mOcMu4Ng#wh$Jkh z+9`#`lpNi~mo?%wE!}~2%#0O_`jkH=b7+a6~QMXGpAJ!%%z6BXz z)YBF2E2b4MJSlclK&D$yrCiP0J3`v-r?sIxCy1}*5wRqHJ;Bvy_gv_+9UfKDd6Jb{ zf5M{ePLHGr8;yl!^JWbo!?3r*Owqu|sE8IIV^J(vnlsh&MEf{S7zkRqmTmFF)8bcx z_XnHo$UTRvfjh3@rQ;(t>ptLkkv5&3UT$gSd}ze7yvO{8w8*BS)68StmFBoV6~21e zSX%5guaDgjpU-ePryHc}Oc)=T5LZ`X_~2x2A?izg&8H~>$j0Q95;hfGvR_BpBEYS? z?Pt&?<;x7^vUPX>&1anHEntr4_zmp>Sy2gUyxb>b!!yId5O6)}rD?8~A} zWiC%npDdbQ6JpW(#`0T#05 zE_mDhwd!auiK3xOuYc_&RmuI(VMk#lEE~l>Rr~8I2&OiKm16eKrWL~4NLzGo-`@oGov*NWVC3k%CLIJC==TUvA2q0QlCxcI*B7!__zS?<%>LtJo6POJ;&fWv%uay)+lF|4(K{TXJ)94h|1%q*+E7t`5c) zHx8cU5-IMD$5sQ?(9zl^fSOcnd9#bY5qw3Is*26<+e;K4jqeBFy_E_05t&ETw5Kb5 zzeH5JYr@ciI9_dJTvtbCR)O!u{T+eYr8>*JLSbDFh|*kWQiuK;NNSc;fS(R9Uv*SW zcTG-j8=HBmNe##3Xk{5L`k6iNm2+h-6f;(-@40N=q@q}geU3Z@vS(@hiH8!;V@02EcNk_iTQppEm}ae zZifd)xg{$~*dupW@;m+fmMX03mL~dc($rdn@uQL%Vjov6U#`%~zM8P1ySkc=&S&9c zBk6Bh4VG3(7xy#Tzi8mhN=>!HZuio_*cY~1Zh2tNdOh}Oe}MzBE3&~v(`w(6EDtR$ zk-V83m^qfr_Fl)nl_AaDvM|y8k`66CyP^~9tky-Xl>AN^S0rzokj(*HLl6K*;y4*D zS&Ph^Y+?A40C!7SHl?Mn&V+jB8^CT8TW6>G;)@^bgt68*JmEdVxMd5E(L1BYzZTeS zDJ3?o@#u0?kdI2soJmp~y&TQZe?~Uw38o?LcBBfXM?GD1S<;Esml7SDD-E7nCJ`%2 zhaqztI}QezDMq(^vPkKM&KST$^GQ(ec%sw4p43_tC9=%6^{@Ev3uA{CwCoU@XnEY# zd+}*d4OsnKoJX?+G_`ETopOw(?y)#ssCxOVvvPfrS%c@SP3vcK&b&vVgLp>@97oT@tpa3`kIwx}=@|{WJ!lQ0ujwnYuf_ z`@VMBZJB~V9GqL!Dj4I806*V~2CfvVNohN=n$)*05W;`gxsH(*`ryCo$I$@FM_jND zO%zKeV~;|0G0LZo@ZteXL$a@WHppOZsjePiuT&1D6pk)E=EaTMe^)V|;v|45j%HN* zuqtoaxG`Gtl$@M7+zcJ-Oeb%6F!49Vy{Q*?Xi|ga%3Q1y_P6}nWK_e-_f?j16*Z{< zR;PJ$Dt>-GUSOC6<+^EY>eqc`s0v{ByU{msQ`{=M*^he^A6L0R1=7up`z`h12#Tn* zy~tXp+NQlR{m!n&4Df=H(RQHmknj^PuQDtMRA#H+0EVjtHv;`gjJYXXT5-B6l!FUF z1?+;urWS)fTn9|f7r8*K+_tR|e~EJc37B;#7(8~SV+@Wciv)N}2=QhR4#n;}VFY83 zYLJ}V^9lzs)G|QYa=+ij1C!tCUTpZd6U%SBr&urWa0!k%Mr3 z&rcQITRgq>C$u*Z2VNY@5q=a`klf=4161r+fUG93P-tdB10}Hi1jG9E@J34ni#^(5 zzq|p`?*7xGRO&LMMZo0o*BcKwJaS@uet9qMS}Ag;Tp{X z&ETnP*D?e4IxeYqBteHFB}uvmH?#}oksbkkl?e^l1LWjBz;l*+Q2z0ItcV^&Vjz<0 zpBPwcaSd^$I47b=H3Y6{GJw+!Upj*P zR|yvO0{J_{qSj2IoTzrDlX?)CI$W1?O+;tpMQ!z-~7 zD~9?s9C6y_s>q!>Rbk`^xFxX~_n|+MFiS2bWJQ)JD2dUq$|EhtVQs2{d{1DtS~*U2 z4Gqq4j}x#%_(ipMkXv>Yn7fc?l9NrWQ{1PYTj+wJmMq$s_IrzyROYKfIf<9CGgaYA z)|&6h#yedABej46)8*Tc>^pZJ z(TT*n{m;)uqp45}er8in(55~PI*ww13@6i=1aFzJH>fkHHgGUKeD>@Ur;^v`;|&cB zV>-c)!G=p%*zoA+f33=f;cWBFD=nKd8Z@3f&1?+07^2DlZE&(np&12R3`#Qaf>~`r`67=O z03;!DXb^>Q^32jji}FK2A~x|sl?YZ7WpYv#+Z-EcU9Z>2ME!H;8Xs*x;?AuT%*sH+jn$X-F0*T9%wdRbz!2SJj4y0+j%Yk98{4N()ONuMB9sTpKZA#NkHuUU z6^;^lq}tMm!K4$ar{R?gf`4CbxW4bnm|I67&7e9?LnLbe?MOOwyBUmsU7tKSzu}py zRUW#z1;R7Ye*FR`micq5+tbu~!OL~?=W!VMuY=Etdsl(Dck#zA%=}ST+)Lf#7e-rJ zTA-sGzQCq5v1IO6)F|Km`&M)dv?8b?U=!G{zs@$lSHAUs?LruU9mf5ipZkQ;!qYZ` z?-(HIoNZsRSgI*M|0MN1m<;HY>u9evl`X6+FmL?Cm%MQGiuq4Q5m(PDR1PP@qe9Z4 zaQ*NL!M%ZS+qi_$Y_2CtJoB35f|nIX@Re7uo&QTQ`lR-j7WXat6Hy$YR^E(e6O&<~ z$rFX6ItTC``>-Ql>wa3U7K-%^(?_2@2(9QVizr&bmpOo8d}m+)@RiSG7G7kSkYkih zYO1#usO*%?QbkM%-Q5lo7lXI~y{NM(J)9G^?a ziw2)!gTIHK3clqf;^RRpiAZbWBIcRBh?6QUvB%(A2B{HjaS(-$iP-t#X}`b0?xEEe zo1=;4S@Gm=ZM8RMS~&jVHPduANm?}Bb|;ydjP<`Q@}IqbFW~;Y0=yA@Dnw}*8CK}# zT6yZhH1ii;jKPG5+=*+eD^S3mYCdeDsgM&M{!#2mIpP81ohPoL8b-;1j=)z7B$4j+ z9ji5xFYqJ8c2r){4+||{7iE)bGZbeD8gF?2^9#I@mU{At|Kjauvixe$Aut@B%a3x{4GcR{fE`J+MS)>+(7K+FG8J1Pc{3W?;AcGU;~Hu zPBMH5z`;kF0?Kk}s|(h8K_`wMmlo?@?csve!9CoY(u%Th%7uBfK)JVm?`s#y16xmtP%BqAD$`o*#-|F`IJh2V_bf` z=Iqr{m3}e_0h&o8Y9$hrv3ew()XRq`V+8J?>8Pj4kjSH#S*`&%6F$Tf;%D1Vm1q12$fKi*VIHv;p5=ocs_ath6v{_ZAr#zKOSFC&u4t! zz^?kwN7`U_N$%FC4;ABNqbWV7A_l!JISIkY&%+4-PH}O4Zk&3GLeAysb8!+Vyj;jA zaC&O&aF_xrKXNr^E3D%L1r^y* zmd!N(Rq3lGejcQ0XQ3kxx`Ru->er>NMTHh{zp%CH6z=q*Lxx61B(+>OVwi9MhgFPW z&eo?134H&#vfXmp9UClqyR9WQ)wDj2CfaoKbOOnkYttRz-KbJ`z4x8EmVgE`eq$%f zeh9R3SKr<&l8VtxH4?F2@USmsS+gcoor;1l(E=};YG#Eg$rePYU6L=<-0)ZuoHpUB z14YT}Q)@!YFk*(61Jj8s@qG&ukUJ@CT=sEfVgi6MN->$545IhGJ3!%SP7A_azGLn# z=UpFiV=42F-zy}N%>82a`aYdl__F$vS8Z;>$*Y)ZhHuZaMx;=GUL;(z(a1V zuHg7FF>(N(K;#)dK~l8b`xO#Yh^!lhiBD(;=QiWoRQ?bre|^e=8&V7G0eq!KNBF-;4LGlxTc>&y2i zSRD1ILv$7lY=NJE0L>O#Y%2JI_1ooGRSyYZ>Ks4**xzxh-aaQ9=Ckf9OJfg`j#OQG z?R;&x*ITV$f|0(QH%t$e@%Q6bdN$GvPCQjRkTVfkYbcnoKumyGj6C=`Dxu_87fXWk zVJSA^8a(h$$JelT;^LRDaem8N<@|luZtS0)8rGl>v2cr_(xTW;8#%EOr! z{PW9!HoCu7Ghp*v|1|SND9xSSSyyo+zy8s(G4D;O&V3fO;&>^NN~BuiwWF108Dl;C z=3o5L6mCVm3Yur`J4o^J8^I;?xW(`ak%dr?4|mkTRI5mmHc`@c#_j;IZ{5CjU1zv3 zn)j&K(5i!~Pat!zNsRsA0F+~|kietr;f z6g2|7Te(6dAGWlZmFY2OeTP5}1*AFioi{{t^^z%W)!7>=&MS!ls(4t4ZS0i^j@H2b zhzRP!h2L%ax6_;RsQ09vs_f`6&!N?4e$9Xb4J3TF9i>0+Flv`B#a)M9rMJC(9F{Lk zzHyH*M|48f-S#zu`eU{8Ss?rN>+2u<@ecUCg^a$0=UnSx`Y}{;(b=EFg?TN5a8sPI zz*norZFvUlU#OQUJ*>mW`)xqxSJT?T1z&CtO}NGa{=yUU9)#M8^bY4KpexY-ThrQu z;f>@!*h|6ho_expI}A7gk)TA2S52sgQA4x3#vV4dV-rQ@h7D-#W5qy{l0DHxIy8@%nEsZIo( z2wX&Q0lvK&$Tlp~152xAF<1Va4mTk5bvh265degU2zNx9hEtd)!K%=Dew?o0CvD3j z=G8>cu>r4;yR_@!vw;U&E4S|NV(RK_=bKo%M4EwS|ABF{Z1CXVs845$mRjT|{kpNW zYuh~PO>wp3bNINRo|Z93F7*z8s(|>wlm|b;P2CU?y9)gjE+}ZUamQ7Rpgh9Ld7e`| z4WZO4;1ylZP8G$X@DrA?%mQX4@XBsb*U?%`<&VA0a)g+}O4@#XMQ*1#UKO6yYE|i{ z{V3NPUzWVm&r{yP%yxI!*4UPsRR%9GslSm?whB z3%S>$&t5Kg=iQ{n!9#!SZ6?>tgV_#K$(`ga$^C1M)lYrvEq(Re{`r!7- zZyKC3@Sp&_=1dK_xmQLj8lmYHfRPw)oY_=<`p0XCb3H{gH-;FJD~61|U%~gH!cPr= zb+GLlc+&WjLDvTZw&Oql@vg}xx1z+ceXkt?jSk2JO_F06u4rGK1TdL6LD2;6I)%~>H? za-dfuD?NF{nOc%(($XAaS)tKwB|#0eD3EfV*kk-<%kXi!@Df;(RPKpLIG;qWf`9jDXJgu!ZBEPnADQ(X z9y19v3g0sG;TIo%a)exigr5Zyn6J}-LS%e5`*~9lk%iDe6P!tjaCP$!7)5*qWOO>m zHwj(XR!5kJ7Ec%TViuE}Ey~RO=eF7&SiFIrKB;loBlquq5yPMsi=?PvfmONgQ_olK zHK!&^483dEo4JNwZ)*EU;ZK6~G(FLdwHRnrWxmsPq~nbE*BJ_vpPwxN4ahEr#l)Qc z{EBkmPxOAvnv7JO$Q8(Gm&A_ktj)@Zy;#3xV1OvJ=Pp#q*Ir&;cXRV-)G4++c3Vn` z@35aXv&7+V0_OkNz4-GdYJi7FEPc&uQ+`qX>BSl4&U=FkS%h?N^Yo7#>3n+x_3^Ju zdwSpF0pRFe_0RJX`S$J~OPemaSt4T7Td(EIS~2(!0qV>hhJCdZxOu0T#78p#)c6KNJ($))U9tQurmR>R$C3s#age;5kawh<}^uB3^%)xxUw!De_t14zmVw>j`1YTUagT?bkp($q%m-^%h+@U9!S=BDjAlo zuJ*ZgQB&ulwqa-M+xzcHp#Y!3xms`E{uGp1fIX*%G?G|yVkO|&SM3%Q%Cl`P$ybEg z{o^pQ@J3F9%&*xyh${fA9ud|}F#TbRl0-29?q~6jEvHxakE>Z(Wt$l)_a-gjn=jRG zf{5X6mABRa#O)HXVfX1$V-o0$doPrp!}U+mg~Gw*;loNzr4SyLEn8yWM9eVC^urC! zi$X)UMXLyt!o!c=lrNEuN~-PAN>bGUP>y>*VmvsUiEXRFWZOpD5aMkbHvFWQ6C(^W z>gu{M;*HkH0hpYVz}(gH^TYf1XiLZ+u&R@Ra-CKUCnINw^*y=I{Z#t}2RogTfWTpE zK~iCeupQcqxe9oTMpkBz>gZS7@>I&6%uW?624ezKT=t&86#IcQN#($X{e^kjfj9|< zM~S`?0<*)t{Et`@`o0eRs`i}`eoA#|0j-Ap0a+AKxLzbENKrT?t2hD6h)?z;b$#fq zsf*)H;knpp&ePrU6Oj`MlF0jdgLFIBF7QNHEwDmSYjS#qKx&G)rsGDDzV6xQtTqw* zu6(`;YOLxCNV5I9^@O);vV)Dy>nna0jbaOx!(~bR7^fv>4z?Gv%LQ-Qx;2jK8w;zL zuSRrR_Q{i+OEhTVz^?@JkNzC z<+I$P!b0F3@m*iYJR(;sW6~)jicT*TAJsY*AIxP7HaJ`}i3M%B0ZYGBI^YtV#&x zN^O@PMBW>poc&@kWB)pYPLnR0HJnl9s_L3W5HDf0*j1UpC(iC185xOhN3wZ?4^j9N zlzNP0Tf4h8z=E~DIM^^YK&zj2Z1qw7d*MQZo$D?k8DU*mpHW&(#@Io!>buFeSk_Gb z>T{Hzb#GC}g7>V{;N;irm)ctq{di?zcG&ahqhWiQ39tExu-4`IvIc=T+`mcQsR#5~ zt&UO+vthOqVcFeIC6jL(DrXPUm>MHGZ8Z9GP4##jP*h0gdmGUO-}&{=-MRXj^1LmN#aT1S5NWnwh(;OyQ<$NmLF^4q zV&+t~3t}Ezl|-B%D_(4yKR(3b$wYPbyrfICBD!#p7~$YE(1@J9p)%GBVPqE z8b+a7D@MuqHIA&Xd}H1~SlJ?G!4IIj({%6G7S4pQJi7U!eEiZVSLW(W1575voj5c_ zbU*$>y_d&gu%UsQ@ZgknuF2Z5g>UEHq`!N`GBM2 z-#-;)LU2yP^o6cpoSxvfx74!)7$*p_H(|8}uAwuWlh7kchxej{;41!aEdwXFV`_-tx6IL2gprbuf z0}Q2jOE%#NSU@sg@rh{#}q*|ToB=&%@x|9D&enc=N<=`f;rf>2rE@Zeo z%uAt4D4H1>^TxXjz0^KNh-dWm^-WB0&Z&;FS?K(EUgg?W)MaL5qm{=Sv8}h~z+7Y9 zF=shD6f0=PP-|`6xDj34%4N$qxwy)DcGvtT7aoQL3Zztjws-VQO#6__xzV%g@oqxo zSZpbF9e-17__LswzD^YbaDUxfOXwV^qm^W?@vE0Wr822{`2!tw4jd%lx_}pZKtx2< zv@00p0)mWEP1Ui@{IVK#{9m@7 z_z0#5&O-R1^lx5z3^rqzFAor<&pluZkM@1-VcWSZJm+D}8*?3TC(U9nGKO0(uXHL1 z^Ul%m(uy931n^bD^sROp_-9^Z{;})R1|qA6zm; z#Mrtl94rb)K`GoSdZkp8<$7SD!*#vK>n_d?Y$KFFoMY=9F<^c|GEEmPqY@;cfTCY$(Zp45nH9OqBA&ER+0rjX-$+z@Kn;#xZa!%KLSR{y52dw`hws7>59Xv@Q6PbIe zP}h0FI_MYQeNS`O>d&2f>$V)h!UD(V&BaRI=t9&7l!*yb#99;!#I<(0Mq8mcj?E6& zZviO{*=Dm9(+1o_!uQ-Ri7v5#p%$!~MU2ai7Fq!#8`9s{ZZgI#k8vU~L=%b^s}gKA z@g-dh6BkGb1Bt;LXD{v$Y-TVkhWOf0b$G0J%P@c81iemIdDTzS$#OvGgDn^|k%Pav zQ>dZxl%i zA0Z~Ya-1x)likw?#IOJ6cZHpFv^tx>(>wieH-feB^12Ru_qvvt;Yy3QgFfTZw?R6E znT`6#5V>G0hRFANW5~jlsyw{B@o06se4F8+?0G!P2&a#>R&NIYC(9tpYWF~1986Cj z;4NuJ9B#@1RAqTPfV$E9B_TYHrhb_ipFEWo(%KbpVfCo;2=EH< zB+-SdYjaT?|GNCg*|4UlS4~1lNNCR<`C#F+Rc7jSWCoBqG(mFHcfNf2WvsGi$=jm8 zfw6cMajWuRf77lmEk9->wnP=quI8EB6!H_}FJ+=m@EWwdNzu7e+b`JaG_#^BRKH>h z!98txQ}OrpZf;%dMA|?6h#>Jxth*G`kB%C_5fRt57+Y@*eYf=e<=gspJ6J`%~Pxw%rNC<2SX*Mqu{fmK7Mk7#S6fs zBPzwVuMK%eBnN>qYo=23IWSGBfhI!ncN%>T$#thg4D@64`vZ)r5s%iL=AIU|KZ zKf!Gt(cyDGhcgJTG?!?EiA$Lr12!PqgFr?KRk=-cW*$3>@HJ+W6M`q(MObWoB#Q-^ z|9YqtV=qmD+qpCH*xSCk5(M~wM+6nbFW?K3DykDBE{#bRskPonxaG8CVAcGyn}>5A zch7OC!6O6!{?MX1H~JkeIjKw}w;*&KV|aNTI}GCCc5DfpKX?{pal8h^r_5;<*C}(N zq#8Hx4K#%h6z<}_>Ler3%sI)Ly%n8n(;@eoM{q8vqZEg733XrCGZl{I-gNMo&4SYBbo9xd1Z(j{lFi_m0Q1|Nq9dciKXskd$$yQ#NVYtBmZ1 zt(3h&X-f9WR%D%4Mm8-%*(A&E291we3KnyiN8fW3Ptmbb8v#ae(3qZr`>$kax^bb z&~OS_GPPNH9j-bl1p#Pp3(yQ%b3T=reLsK|d5-e1W4}gd*5TA1v}z!lCa$BR19quU z>mGiKXYW15LDcosw6ur!wm^ApYYXvMdsd#_HOr;~L1Q%MuCA^=%)k+2^|JX~#lEfj z27#7LxUii>l-Z9B1zZ{`iarP68wTpBz8aLEGTlEs%Q(E*j> ziA;>_bkt>c(7}iojFOhGEq3ec?Je_0wbU5k%T6Y~^gB02Z_>rzaM46?U?A&6Y^8Vp zZrbxdcx}F2SW<<#$NX1?sl=5$GdJ%{D)Ilj@~Tzlp({p~$l=_otmT zr;W?Q&yK>F(SOzN(jsQHT3Q&&C!rb$+oL&TinwT)1MR?qpaa5M6VNQGSIy!xRnd75 zGvdq}_@9+u$e%wS3mtpc#So0k1u43uQfh`4 zMNTg#<`DR^tKXxfhXW9@)_n^cnCaD)w}sC3&pF6@)pFReAlYQ&6HGzW*6u(hMZIg< z3E7s1y0HKMal`N&Od7@9ia|z*LTBt>7rRNFD)mNFHsg&G?AO$)lzIr&3(X)r@czwaP$2qVBq0C5Wt5A!x|S8 z29l1e;K|jQf*Ii8MvX~{BZ_?kY;c^NAJZ)=!j#uMy=cngI)eTj_*R@8k@7auk}1cIS<3WubV(+$1@PYXKgav! zexE)H)Si%>+FKJw>@jIMWfg(?J;%;&1-hN;-=&@a)CT9fV#kUAVc*(nCvq!5VP9X2 zw8Ws@vuQDU2pb3qB`Y^-gx?L`ZY}vjBj3(4BNCsv%(P&lLET6h*>ErpV|=O&w3ZV) zP2RovCkOW^PJr$b-P;iMy3vp_X3&cUa~nr5?7T@%v$4>kAUI~6q9Jz$t7kH2KL0W_ z{8EElN0HTHUAOby7VjMBq<^DgP~9;s!eZ9)_czfVVBWQD+gZRsa{{G=k?ot$NW4mN zSPp$w0c&k>B_>i}ZA{R@W0v-aewFpFEqRCh^QF{!!V0okt0ow(z>sxhwtXtw8?V8uWyd=MvJlyl#KNEXDoZQK9@qlhH0vwc; z_4aULR=4S#eyOFmEtg}ZGyHAX{2~rB>9+Sm$)U>Zma#KmAGXzkV+E?Tr{kG*QNL=I zi0SrxS;C{Oy(-hYHmxeJbJb0;r2vwp&7ODG-pl@j{$F3NA6SICx?1u)gn9b5QBm=r ze*C`vX22iL?(=h_iC-mD>-We;4~A>}R1yD)bZipT_THR?7;TXkeBzymgrX3Ce?7X1 z8#s4=0{bbCEcE!dlw!Al&9|#EX2oCdUCz&+FDYqAUqF}gc+4YiDky3pe){XXvX(S} zpJj8`QnD48Ro;y9d`wVej=A}c`VTI!2w#~v{8t#o_p&Bx1(JcvU*#UXuHH7fV|>Mm zL(YFT4o_mz3895|^(JO*zqIl`1A`D#W2K_CAxe;vPe8tqQGP{37h+6!NN&v&l-IV0 ze~2w3d45}zA~RfQF;p{*{PY&GYyh|c^A&0(;vQzWOmN?+x+g+94*@n_&|fT+a^b!_ zBg-a3-0Von>t?9Wsx?$&Rq!6+7xsDA`_MElA;KOPJL;PlkDMzJA^M6(s)=< z&=1wCEYtY&#(tAt-$!zu*Y_+uW)_9$D3lO1OthL;mVQEkhXN=J&6_{KFL=>DE zgL>^yJQi@3Ljue-m-V^1dp_oYjQ$+KEz_u^HPRnvO$$br6p5E#CG`_IaWNgUbT=g#<$ zT=`OJw-g<{fR%Lgv!?M~Nb-#ACQGIQ6-92D(C6-p5XLb*=592M;rm%KE+nx}>X5+v zV^s)w_UIrV!cZfPDwz~ju6K?SwZNcFP_cR45IOy7i?a4<*_hwK5drjz9z5T~kO@GV z^`C$xVA0uEDpPLQaF~-*g%Y_4)zLDv+`~59()aiI{rn9*O%l*k*a)V((grkYWafDF z>x2r&D9zs?LaPwu0wanc3Nc(+Qz(%G11NsAE+BrCuV0xMOVzFy>yYUhc=Ih($~o3 z{$xJVgi;O{v*a9nT#}~;)1qwL?7igo2->9d&g`i_l=`^fVMsto8)Q9T&V7)@S4x9s z-na*)Q`Ts~AkIEzXp{5iF(I`rReM5((p}|^#csf?Nkd5}KM3<7n;z%#?EemV6 ztKlh!g+Y&dxhZQt+u`_sjMkqj=TTxifjrO6;9U=5@qquH`2M{m&o)hO!OrUZ`HwiV z0X{M3PeL9R+e5jRpJ{^mHojW0plzz}lU`3N>;ke)b6ddDf=6ugS&`kf`90lxdZf7< z`@UpJg5nElgUGIz8usJZG+_d3>c+zQ+BEQYwZoT76a9wQcB~r`>|m1N{zL)GfjWR; zwElBE|9&;R!1e+Md#H`K{rHV9spUJ)<=E~M{PCyxyxu&}Jm;kSt0*xfijpoAB@^kv zV4TwZN!_5hDg-_n% z{1pUnj%T;e9@sj)uGH3!;MKsLGd4M?oj;T0(eMsKyYAm7=O!m>7iuXhShJy_3)*o7 zHgBEagtMqfgod|m-)=wt#dNgube!>=deaD~D2Z461*z zrECW=%_EMh9RVT&cG$RBc9bI)Y$h;7o1^DIsR}fJ zO?8BYFnpVc<$$7&P86F)`E~NqNsYEOT8DA~MwoqoBi(1{k(*onSCPK-dhX1=FS|?4 z2}lfyVngNab-+zFf#^kSg4q5+P;h zh|Y?paFfZhNtVF@K8Gy1gLFK9%6vdYhrhx-4lFVrnF{lRJz1PPZ;)Fh1!HV1{=h;P zM9GL~e~$Ns`;)seHXSn2jizTDw42ki_ySNHz|=jn+rd^OmOv|R~M^8Mq!krmSKdJ_Mgr3nDOlW z3MV?vn!}esIi@Drj+^|ZnI`Vn{6K+W#4jX-IchJk%Vsnvv^@U3Jnxoe=5!O82=J>$ zok80JdJ;6vHBoZQl^1B~QS%H?B0`}6*Zcz8rk5>$9;^Jca=-x$_sA>=g%=T{&Lk~q z)g5qj|K&h@_bdr@?8im^uIyp7atH7VgwQbV-w#v}F)*>K-4c-n{@di};D_HM^s-|s z#iB`m5y&>27-pHYp0+V+^XSZR9E+9?)^CYZ)`laHP`y4NO?xv-J%ZhMZf*`E<$$uI zz21#}Ls2nGuRL5t1VLxa%%@W|l(Bc~)iuY20n6?xfhOXpzWbHWxM`py!6eBKFiCSK zUI7i^PihdL`1+p^hpa4DIrpO4d+T=Vf}a6jdl#l#cFHB~9warwzwhe{b5S2?Zb3-S zz}Uf}_%ze*4+mB^HkN|e4K!f>{b<}u5(vslb4Yf_O7#XXIF z=!btoF)?0Wgxo^iA^=u2YnCn1_-JIu2eFAPr3oDusOQ1|m-MV{xAdN2%B+qTtU zqB-)E4elu;pU(5`cLJeM`YocVJS&nJE#61|<mq-yX|mB<9K~W z$IJqFf3D5Tzrj23TRWX)G?C&fLert*ba;?+q(g;@xWjPcgVx|aN&XKcAY(v993?`B z95wZHb#%U@p#ex#%a4sMX>4rl-`nO!WNbu17gNp4v*?~r)$L-S_^tyy-aM z-31$6Pi6G``7gac2aIOiLxYaBt8;*a6BHzbv|PC7?fSnHeLK`Q1ieAj@I#pqKEjP( z*#j0+c}7@R-06gZ5R`>4h`J;Jp9`U8b_a#0KCNhqnBQ`<@jp~giR|i2Uua|0^9AWN zZyKd7Xa=wtOmwbH;D-|yH2%Eb7PL#CU|b(O`1bw#hRvHn9A(Z^+nC~_1Dp#l+({!r z28QGF09ortOwc24qpmC~tKk8ALipRhP%b0FaDHpGTGQ?75#+*)l#IFz!&bety^Ef+ zXwzp1%4jHqUmZi#D$_7bLxgM*FtBgv4Z=-}%7j&9Tl1tZhJgRwxhcBSW(>){Y@ zL6b3`0{jFO&P-(uh2VcZa6@_y$rjsa!U1_mmYBWvy5-}*Qmw@aobxok={Vyr;&lQq zXEhE~bAU<@HKqpyoUX0{m;o+qa%BQ4LkxQcO5JY`MBb{yAN(aMiu1vV#-8T zN|5fA2^fXXU>6zcVo9Z@Ja1oS!?9$+%sjkJ8?MI3f8pYl``p`KgtuM`o1=9Z7#|I~?^H3P8h$lAP41!|Ik55j5f3`!{KjVE!pY`$ zf)(F~@*5rXE?#`45ju0@+p9HrxVkcLaq0j-QdHiRo8#e833k$!rxR97etv$O*i>tl zQLyj$l|LEr50XZGk5|-ZYRtScI`=Zq$GAcNR8@z&0=;qF1PW9PiP}swkr_%kRd= zlw{}|_;G~3QbucUAa&{d&;1Vh_OsgzSwykfzX9M=&4xez+{I)P_!oDq#6L94ATpQ6jd zM@ddh+<7WVOF`iYnH-GK?L5@NH+cCL@TCp{xBAevdGqEEM4-~d_;|O!IaTfq%G`I4 zs2NRUpm=O-jCoZgN^yL{;`oq*8}SI3JIU`b)V}&g?FYj-?BZSD2V_Kt1}?o# zLTFqshEyIhF*GdQbw{6Y8Q|JFdGZZl>qj))4?9-KDJm)9MNseF?fDRop{nEK$MX$L zn4vphWF#pkr?2$7zTOfCMBaJ|gX)(6_b4dtA~iT-B_>IEhU6A;zL?^8DdbqH?m9!O zprHYVkUQ1bH08;YeLOsb(WH|h=IK-CV~{anND#)W?q_3TWB9bt@zMzlA@H?YC(UO*iH|pe;{A$S4)lje5Rz(MK~Z%HzZoB3J<{usubW?or!Ymk zm}I~B%8Ad%P7KJRpjg~4h;02I9~+zK@8@SAoJ1(aaELJB4+{&Pk5q8*CLFHKY5E?d znToo`#`|~fq^$b(0P!C|ZjHHlLLdpIfYC)&7e0by5Ry7WMbr7u;jx*BhS0~b8vL+4 z>#t$yGO7o+OEQv3>43zV4=i8u)@(SFgq`MRA3RuV%EZcA+R)H|0~Z0xU=pjU{$XH< zc=ANFwJ$#+%m_RrDu;dUv#g%2b~ZNOjDV)&h|kD-Fygiwh8@ra#ODBw?gRy0jX|w^ z__xdz_$;R+< zXeOqF^SQz_E*E?(@x=@ONn364vvaNt_tP^oMQ}s#)}X$I_FlDaaM(~ZX`W*{o}rZT zOO}UnMZsgAUai=>Hx&1d1Z_J#dJTANuz+jssVrSTU%w2DuOjBV!BPfJsVz-k&cb3G zRlUt1iiQ$twAv7+5Mx4iJ#uk*j;Y_*uRnhJ6j2ssRQ4(Vpz;JN(A9nWgw{N?#>hfrx!$1gr+?8?9ws;&ey4MrhC{MICPDDiaYZ=cZ&bweha9{&W1w^GdE zHFqz=t!Scg`SIgN)E72qxjOtCK|#SwmoEe2`e1+TE<_b(mId1Px@X6nddHve+l?Rm z`T|i`XBMV67=@G30pljSnYj%&m`0|_-sBoF-?N<}xv@((gMsP93Ld$MCcbxUHBK)_ zJi9VEC4-eb8CBKPYN#yCyb)J{X+Y)@jG_N7xeDlZJ_EOd7M#4nd9X? ziL#9p#2{k7TMowi&YZ29$= zZkg}zcY$EB8ft7_okVVKZi`dUe(5W9qE`3aCXh|D^t|fUaHyQvt{l9gH&i1{nDLTm zS#w2ocx;8a+>e#1*1h$#|^WY`E zg^btltqr}Bm*7G>l&^ZoUpzhSL=?+TQIeo7RK?4Lkn& zg>P1N2tA5~E@1gm&VaR}Do|tuyj@pAH%4!1??tQ4LBEb^A)RkHK*^8{CGPjcZat4^ z_uhT{{6VV_%!BHsI+onh((*kw2njMHU%r%-d9MrTW{4db5k@74SPfMJu)AMYu&FNJ z6n^jsi59m#BTuxBct5)2C?PGDBS)%VzKlps^%hGH(dJWWA54t%4Cy~(DVAl1%hcVV9 zMjJRJmAO?`esc6eLmzq-!4nh)HZf=|0D#Lep9{(<};E3@2B6k@BzCyF4Bwe+YGJPaI zzNWWt?@Uia8o~?hk?G;*5dMQpudaI@vzlq?`HGpEsitRb&aAYaxaRaz1mzEt!(+D{ zyLOGOEfn@As;O>D+EdWmrI=jO#GG7Qa|_5oonp8I9z6d0%--w`yVw|>?@;WRDjIy| zHSGC4B~`=6KLIpuY~+u}NfGr4?HoM(?Wh+JEf22I-roL2_V1$X=h4TE1iaeWT+LhH ze*@^q7i7wKd!Nw9T;+FFRo{RvBuJ$CwGKVE{d6suQJj(1asutEmM#yUh~2ojeDHON z&CUY{hH>U$RGPOfe(U);v%|s)dBG7moA$A?y0A4Pv!|%&?tDI^o6@bfkP!l;>+_+v zrtEzxodbySHz^ZwnlNvUP*W$2Ilg&GNh3f)iimv*#OP_45M(o$Ih5tH^foNXw(}T1 zTGUv7veHDkFiEx}7?kgq4J2{{>Y$OTmoy&b8p`D8ku!O9`nf|2v)fMH$ z*w~1#BLMUTW%s}0C^dRcm3@F+RmgGnaZrg8lc_{J+v^Vl!)9Hcmyq}4UAZ=X(#DPY z=$V>*LPDV-=PD9tP74-j2%~fBR)lGeO?Fj$S$0nAkitC@CCUQ9&QG7JVi9SY1J(s? zpt8SoR!-xQfx$tT?7;wCymYAsT|i38KcjcGZ#*q=#5pGPYs_@B1&+uUJGGM*=1(-qhm*Tz^^1*uyX>oLqL|4*=Bl5k z2#^gM(X4K-JG)a$d)<(XIV4v6wqs28vcWg*S-sQBaDd_&r=4WGWCr}q7*Jz+=Om3> zu6(0S_Gr%-2BI7zk#q)astwTCSgbWm;wY)qI)0quS(*Qyj#S+ZwrY_{m_bu%bt-&M znNQ&b4K7>};<54ZlH%eK9}HiDKTBf}R)AZ`FEFqPkX3)=)1IsP11XlDkUz=3xh%8; zkJUR9>-NEB9eh%Y^+98m+Fg7O$Q1)Ig8A3eGgNyLRv-J%*3F;x>K9woM6^cJqOnC{{1x$ zoQ<{_-qh0@adWKshl}g!wON#q(tHn6Q@L=F8>ObF>qzOOWrgG$T&wX`I(@nbDUqe_ z2?+^6aErpWE6XWeQN|q{Cj~sy;2V7VUV&8>&+n)AbLzeh*ro5OPO#2Y(lHNgO=(xGOn0IHKkty?T-uWJW1y`K2+LUWU889cSUx*UjGR zR4PT?QGL3wbkonf>~B)mwo764oF#YUa9TT}R{Dx@neSxj>5!2$YKv>Ytj_|3Bt``e zSZAZinmVy^^^(RiqNu*Z7XwfL@jTRi!4zw8*TQ+_O|>FZH$iMLekuP6J(R2GYFqm6 z^Q)yoShSV<`G#PbZW;5-b4|HfypRW?;mWgH>^fXk-k9*yylZ?7hyXoseR9qFC#FAW zXlO7O68^77C~ zF%1?=-CWWVwO7|eRxjGoKRi4PaEA}^gA+>0uSEROc{<6+1EOOP6x7IBW3 zl*H}x*q1a^)`53K?iRkf|9QBiw3Nucz>ecix)a0XyYAUm8X7gsy}4@azx1a2T2v31 zsZu-QwC8U8NjGk+K>dt?=x^S1<%_@0O?Z4-OUy9MY_V|)PW@(iPTq$4g>~S{QbPxU z`PKCIGT;2yE9Dj~ESxGUE5jU19FXWWo?R{9w&WcAl%F+&Ide#`eM^qgXIh;Qf;rbU zC-&NqFXd%~ag#_NTUyYyd#a#_f#gM`uzipnEfNP`;9mn5G4|Ll@ZCFrk=i}Ul_nY^B>YYPhY z$NyY(_VKC3#cOz;t|P;kYSWjYA;HVV8%Jx#0meYz2co0}#32;sr_b)Crsli;>9~L1 zsmgAvL)3TngI&N2gv{iVgFlBR8WIDoohOwsrZBs?ShldxtSVzT>DEk-{v z)a0YmQ@k(Z9})?!bWRCBq6>8#4a~bcbEP?*m5`tyDG22dvuJq&eI-RCm?8PW%u>Eg1boS8YT*pOg4Ru4A4gdM_sEQ8nC?Ppn&H-|ma;p2+`swchCgPU?H$qG)2@j`t z*cN2=Yz|<}cpQkWEo(BOx`&1k&v&NX918S=xc)e_3IPX1fNEtl)YVnJyM}t}#s{#D z@{;VAsvVc?9-@k<5NdIJ?`zA_m{9p(YHZxvszq3-(XvL$Y+VhL^0VZL?h_xVF)&+X z>eFptl4BJ_H~lVz_XAf|E{Pet~F<+@26^ zQHi~(pT#psn82PpOUlOTTUd~c?S2de-o1PJoHrHa>u;l@fkO7jlDFZpGF4_nLBU(X zV7=evtV+b}?2Tr`#Gl_5)8@6}dmEe{I2flUI2P`9hac;^_SBz=)%uj$0nyDgfwH>_ zxrs}~-5s~9BV``brql*xBp`66h86kP^bSAj8WoKD=~v4l=bjik=fRqZ1rM4?-2Q>M zv@{GGu?Y#?TiIFHaV5=1$H|89dQpn|NPBZSDiUKC#$9r36lRhOsQ-pG?J7S;WS5c| zk1{qnX(NV`uJBaNeQMU++4s8ztk{132oDXFk--jN=G?Sl1Ec5|<{X)sU23b-Burgc zefzgEPqW-*P`D_AdUVw2MnM2I=hdR$osr;SpCnK2=UmTZgizPp%F$%Amb$LFh+s+^ zVoK6lv_RL<0-4GSFsXr<$Vf|L{3#KPSMnL?j8blg2rXUvNA2x1DpWDgfkHR8!T!!Y|L~Oo9@skE6WyON z0g1G>uu^-Y%&Ix^^Yru`0xu%CnMI51J4p42T0q==Zy#nde+JS0Ht{VK?)@57hPrYj zlKRrk&ZolD#LFtk=$vb()2p}G3o&989(tj(0Yonp6-s;RTg(F}z&d`+f>}itj2BZ% zd@C=UpLGiM1p!&`4pawY3N7osrOz7a?p;o%`CDY-uM0c7MrV_}v{IZ&$nYom5Y zc%hEA@oQtnoJ2;^;q>)JhL}ia4=o6WlyxV;GTC5L{sOlMFQ;~aw4~&IS3DytQ`09- z29VPDSZ!MwltXw&Rra|XOGwC@Pe7-At~NNjtl<=Xj)08U|LB7#TQDFbK0f}fO!=n2 zcWQ3Yhb`JF+VjSDW-KjdR$set;kb5>Y6b@SVP#3PKt@i0;|(WRmYvVKzAsslPN5x! zT`#Y#xxOqs6#%JNWxW|)FxK1Cl9<4@mUT?$=H{8L&&7@(6cr(UmO607}Xfsto&Mos10P&Yi56LT4)c3fHzh^2rBDpFVsq+Yn zaQ0)4QIeOst)Q(P9u&ln3k^&(9KOhMbxEen9H(5d?i;|-z7K(r7X<@fJWHN>U9bly z#M4^qU!9QmHqmo$onAAn-njd?%(bBS2s@_sUu}?c6zk!`Qew3ysmr(g{bVjD?|IR@ z<7JpiOkwC#y;zZCSx+AeL?$ybc7Ym2b)%!L!6IHfG(0>VS_+K?ZqEd1q5B)DPw1UE zD`~=5od)y-@;n#y@K#=Yu1L+a+&E)nW9X9K@k=lEL+nor&<|~+E4b-@N(E48YisLA zyEf!Y?5i}C92=-GUu=6Gc9;-t4~=SFkCSI{?b-nvZAC>3h>MS{m7v;7W3Q4OLRL{x zp{1coEqZA{x_0dv|5-j2s%{TFMuR(N8X6n*1)loI+BzaiEJ4CdO;z7gq#L9FGZT}1 zFXgHO4zEMJ-oN`N#<$0Sc+g zy#3q6M30<_kINz{A-|nZa1I@mt_=P=hF$8c<&W>FVzN8q>Fj+X#n{fQ3!}zi4GkQE zI0)7nYh`Y^Y>f%zjdp?a2l~XhAIr1P~ z+WAZ@JrBOA6{+yHuRcVQed$`-dD+CV3xBl|Q@H zXy?0*9oeQ>-lt5hJ}YjF+gn7N5e=9Xiv#thIIUvIup%+#>E=xeWlUH!!$n*qWyG`B z|Cm$q`AFzRNJ!M0JCwhN#zXukllZ4HYpmMQ$WM|_M-Sf7`+m`8gSek1iCvgQR${Eo z+UV&tl}J^EZKNWm4IY8b+)!}~h*dEx1jBUIr8m-lO^(GVnjFS}l+@Jy_P$m#YmO&z z8&okIkj1&xo?#r2{;p$H_WQI?dokDt3_)mSW@am6=Qb55YnW{z#JYIl0)wO9?TDNr zoT%?n$N$_mS-xh;?)$V?a}Jsk9V&q55I~0@jA%x!HG=u9n%Y3}x`)WuzjOb-6c5E$ z>60f{NSGNJ#m@|Xd4!X|EtG&*pbqv1d*_O06KgIrftW+up2@$rpk&`bS?AsLby1{QH+5s zkI&7`O&_LTxAg03X*j^81d(!Q{Uq7kTW4kcA#FTYRD|92C_Wa@z;p^cHZ`Xv@cQX;eZCjM1)MkJ&aTl zyyaKw7_EIKwY#%(+mdKD-Okd>}_6f@NZ6%`fG^n4nu@u7p0*mn{)<%aj?gs9geXe#jW<2;*D=gF9S z$k&2Yiad)H!ZI>4YF3MuR8)jPB8u&g3D?k|eY7tOB-gh8+prvJrSS;ZN=H|KadIGF z6>8ChoR{w!2bOf|%o!rWH`ME2UdP(nnkJ+#(o~NWz3<)u!X$}jIIHxze7HMlY3p*s z=L{>Fc9np<-s4>Los@+dlFlDgx7YQ)sE&(R7v&o!;>0m9M!A$zwh>cdIg*y1&P2&) z+W8i@WI|$MHnq1hWB*&MP2ZuSJ6Aftlqfxf~Vk*4%H$yu97pEg@nwkp{UIEQ{2J_3d@hpt7r(D^B ztPc>J%$tY9p+4Yb${@8rDG|bd?h<-8Xq0!@svzv%-jzGs?teBVLG&+Nio0~Hl#$s5 zsb|ft6>AJgqK_+9TH}wdEymUi8$F)N6)kXh4DVJp6h62*y`H{0)P48 z__^!!ajxDdn!@TU{b<;XxVc)mpn=@;r^#g3IKtw=|Na+8;~(cQB{7n)&d8kXaOlCW z7UX=O_995~@E32~t&v~wM3~Fm!{Nib1GEnIUqc+&78V3<@2*iW^TQREddP4^|8{fl z=H_Muj9{@ZR z{omS+;d6;cn6uN0%e=F9cE>oIBCRSY9Y^$7iO8-chb`JQp7~wZGFUIPmvRpt-Tx(d zxS{{uHL1j#)NHvLABbKf%@q`?QILQ&hwYW~=Xdk@;Y9cG**@5CO2r8k3hrbC%!|_g z=&u!1QJF+S!45fD*<+Y+)lT?2Dguw*pU}6H&h2IV01^~Ih|Z4$o~PziY+BN6-1yyW z=q+hB7&9)Lp5+=HDcOctwDYPXHciTPKG&Fe@+~+Ha%fqHcDm){Ox<^ZpT3#%XTPX} z9+M$<@I5OYfc|cUm;MQADfN@r)|R6)xqSKL?e9N-6jeQ`j%fx^HuUk%kGO`%-mR*a z9hl4ym&mQshY${%I`Xnk=H$ZVr65!}36A4mydn(oNR~7fIlmeUx6JHNjSApYKov@! zqVUqx(D*|C8mgG6(3Q8MJHfNQQF_qT9HVww(oElN!s|mKgUHTDKpY?wtiIoe{!K|q zsWaM%X350~xI6et$d0hBuQVOLKQs8%ewA$5xN)QS&h!6v6Dt396S6F?esvQ@b=i0s z+k#;UR(`fzDLWU__B^${S~l+f=jOGu3JRi3MJ>ph~C>^?(#4KeA@2!fQ zGc-r_9`Sl(gaPIrRQCiem&lEbWRwVsh}LPX&!A7%Ih@`9Y@^|7Fxj?mU%h&wpu%Ef z33zqau3ZTU!bb;$Sz|e5a7rT7<;~l-QP2wkJ?Tx`rF%Mt=efbQoi!936(Se*3=fb78jLA4-dSXql}#3_xO0_+2@| zKDHl4{aMB&bC}exwB=+xe}2SCE$qlI&5{0#P9mqwVEYUHM%)n+&xq17H&RAC&o+#> z?$Zd{|IWfq#t6YcpPF~*9x04XO0&!L;X~Ol!P3?HBqCKWanAUgTMoY?bC{Xc(r(#u zJTCQgMdp>J6J{S{$+cHf_Et+o2^L~TWkVDmp5cSIzo?T7<^tJ^+zGYrX_lmZPQlBA zFF~rS@2TUeH)Aag4`q^lKZpoQS_21D1Hg87loUKy%MtF~QH^LaTD zIhSS;C;b>#V5_&`)XdBnOMYo9u5hfVSeHFv^H4FQM#Du;NlD4IWpDk%OH8u-$#1kg zckSFsWM`nyq6r_163wdEiq`8W4^Kerocf|rszC=rsfLaErm5UDf|B>{!Cpeuk;Eo( zM&9tK?)w0J7Eo4*yDTPO>TbBjLO)pbWJOO0Z00rWLDWCCWQCA7sClSpc6Uc-LZ^Zr zQaTG4L%Pzrky|mFaXw?@%u`$1BbQb#wBbamtF0%(9}Oq~DcmfFtLH!>>4RkVt+^8>Q*ZyhB4vxxF8h7RI~OY!a!=4l(pP|?_=S3cfqQt zGX9`l;oIdhx|M#YovpEH==KbL_%9DK_g66sK}z&>sH32l;!5gp{OP7qR95zIrF3(D zW%Pgi2J@E%jgoTApL=`Cc(k(!i3Hw1rg9mq`6eBnyexGPz>qM)eKtJIKKUT)ZGFey z>^O$X$+59ioVN+I3m*TYdMY&STHWNDpYH%{Bt|-Lf40OFCnRn4uU>t=HdN`v54v?e zD8dG#(rs+AEN)MVr3qyNF=Q$QHZ_nLc@&4~bmY9#db4v1i>!!A|C-;d$R47fB{~MR zmA_b#(Oq&TE2>(T5;9oOH+OAXQgKs2c$IFjbe%J6&O!8vgSqC*&n}cTsFqRxB575| zss4w68A61R`l?2wRNdOU=H_3`N<#*JRae*7)m6v_sS7nu4V}{_ zuqzukZ}vZ}!|Q0-xG6k#p|=77dl=|#J)^!4@A;)|=p1Z}yXoB<69$?!O4=|HrRR~VtzEePfrkpu`^@90&8Q3moh!LO9;6_=1$x0kn{rzZ`dHY6X2i%AtG!a;%HT$A(( zrWb|+mUU_OWtLQM^lmlwkwY&`ECpJ#!w)xR_^ufWw=lo_o zPo!OdWzNg1n!tUOmead=N0}g(giUt&6=UP~Wl+wTSy=4QKB`|eV(?X?P@-}A04Cp} zq3Bd`^~pSUN2LhC2H-A_A>*q#LQ<~l)+0#T&|~JcAcMB2yZdb!ygdjb;5_`koRYkp zB53WB-2rf@?ULSy-|As?(*gC#DdrkkXL(iCY&?e4b1Ev07%YAM{P`4?B=mYw&>Iz; z7Gz?23qi(uL^a^0>AfmFWJ8}_U2++Pp-mq$a-YY*Ij$}mS0O*ICVF|(h<{9 zR{s5o574sQ)jxGzrQ>mS=~!;#tg^h&LG<-sp|8W3Jb=M)1;1%+B~axZT5U>NN=iin zgrh;qf41=lP9<_=I^x%yCGP~a}hPAv3)c6 z7FU}xRQ6^zrcP8;0kHYFFv^H_-2%Q^a|<|Xh;?Kn9WI!|aK%`oH*;>7UPh6(_3!dS z;H~4Kf~5K6@6`j1^@u-YId`rWES@rvSy!Uj6gmLy4l{S-VE4c

w5E0+cmY2llQiC|ET0sOTU3zyl}k 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.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

Y7moz6tO~WEp?haTpOaiAu-C~D6@h!8%uX= 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 GrT+tChuZZ3 literal 197388 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 diff --git a/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.svg b/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.svg index ea3593693..da1c5bf6f 100644 --- a/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.svg +++ b/docs/Developer/ClassDiagrams/diagrams/GraphittiCoreClassDiagram.svg @@ -1,199 +1 @@ -CPUModelCPUModel()~CPUModel()advance() : voidcopyCPUtoGPU() : voidcopyGPUtoCPU() : voidfinish() : voidupdateConnections() : voidGPUModelallVerticesDevice_ : AllSpikingNeuronsDeviceProperties*allEdgesDevice_ : AllSpikingSynapsesDeviceProperties*synapseIndexMapDevice_ : EdgeIndexMap*randNoise_d : float*GPUModel()~GPUModel()addEdge(AllEdges& synapses, edgeType type, const int srcVertex, const int destVertex, Coordinate& source, Coordinate& dest, BGFLOAT deltaT) : voidadvance() : voidallocDeviceStruct(voidallVerticesDevice, voidallEdgesDevice) : voidallocSynapseImap(int count) : voidcalcSummationMap() : voidcopyCPUtoGPU() : voidcopyGPUtoCPU() : voidcopySynapseIndexMapHostToDevice(EdgeIndexMap& synapseIndexMapHost, int numVertices) : voidcreateEdge(AllEdges& synapses, const int neuronIndex, const int synapseIndex, Coordinate source, Coordinate dest, BGFLOAT deltaT, edgeType type) : voiddeleteDeviceStruct(voidallVerticesDevice, voidallEdgesDevice) : voiddeleteSynapseImap() : voideraseEdge(AllEdges& synapses, const int neuronIndex, const int synapseIndex) : voidfinish() : voidprintGPUSynapsesPropsModel() : void {query}setupSim() : voidupdateConnections() : voidupdateHistory() : voidModelfileLogger_ : log4cplus::Loggerconnections_ : shared_ptr<Connections>recorder_ : shared_ptr<IRecorder>layout_ : shared_ptr<Layout>Model()~Model()getConnections() : shared_ptr<Connections> {query}getRecorder() : shared_ptr<IRecorder> {query}getLayout() : shared_ptr<Layout> {query}advance() : voidcopyCPUtoGPU() : voidcopyGPUtoCPU() : voidcreateAllVertices() : voidfinish() : voidlogSimStep() : void {query}saveResults() : voidsetupSim() : voidupdateConnections() : voidupdateHistory() : voidSimulatordeltaT_ : BGFLOATepochDuration_ : BGFLOATmaxRate_ : BGFLOATpSummationMap_ : BGFLOAT*short_timer : Timertimer : TimerrgEndogenouslyActiveNeuronMap_ : bool*currentEpoch_ : intheight_ : intmaxEdgesPerVertex_ : intmaxFiringRate_ : intnumEpochs_ : inttotalNeurons_ : intwidth_ : intconsoleLogger_ : log4cplus::LoggeredgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerinitRngSeed_ : longnoiseRngSeed_ : longmodel_ : shared_ptr<Model>configFileName_ : stringdeserializationFileName_ : stringserializationFileName_ : stringstimulusFileName_ : stringrgNeuronTypeMap_ : vertexType*Simulator()~Simulator()getDeltaT() : BGFLOAT {query}getEpochDuration() : BGFLOAT {query}getMaxRate() : BGFLOAT {query}getPSummationMap() : BGFLOAT* {query}getInstance() : Simulator&getShort_timer() : TimergetTimer() : TimerinstantiateSimulatorObjects() : boolgetRgEndogenouslyActiveNeuronMap() : bool* {query}getCurrentStep() : int {query}getHeight() : int {query}getMaxEdgesPerVertex() : int {query}getMaxFiringRate() : int {query}getNumEpochs() : int {query}getTotalVertices() : int {query}getWidth() : int {query}getInitRngSeed() : long {query}getNoiseRngSeed() : long {query}getModel() : shared_ptr<Model> {query}getConfigFileName() : string {query}getDeserializationFileName() : string {query}getSerializationFileName() : string {query}getStimulusFileName() : string {query}getRgNeuronTypeMap() : vertexType* {query}advanceEpoch(const int& currentEpoch) : void {query}copyCPUSynapseToGPU() : voidcopyGPUSynapseToCPU() : voidfinish() : voidfreeResources() : voidloadParameters() : voidprintParameters() : void {query}reset() : voidsaveResults() : void {query}setConfigFileName(const string& fileName) : voidsetDeserializationFileName(const string& fileName) : voidsetPSummationMap(BGFLOAT* summationPoints) : voidsetSerializationFileName(const string& fileName) : voidsetStimulusFileName(const string& fileName) : voidsetup() : voidsimulate() : voidEdgeIndexMapnumOfEdges_ : BGSIZEnumOfVertices_ : BGSIZEincomingEdgeBegin_ : BGSIZE*incomingEdgeCount_ : BGSIZE*incomingEdgeIndexMap_ : BGSIZE*outgoingEdgeBegin_ : BGSIZE*outgoingEdgeCount_ : BGSIZE*outgoingEdgeIndexMap_ : BGSIZE*EdgeIndexMap()EdgeIndexMap(int vertexCount, int edgeCount)~EdgeIndexMap() \ No newline at end of file +CPUModelCPUModel()~CPUModel()finish() : void «override»advance() : void «override»updateConnections() : void «override»copyGPUtoCPU() : void «override»copyCPUtoGPU() : void «override»GPUModelrandNoise_d : float*edgeIndexMapDevice_ : EdgeIndexMapDevice*allEdgesDevice_ : AllEdgesDeviceProperties*allVerticesDevice_ : AllVerticesDeviceProperties*GPUModel()~GPUModel()setupSim() : void «override»finish() : void «override»advance() : void «override»updateConnections() : void «override»copyGPUtoCPU() : void «override»copyCPUtoGPU() : void «override»printGPUEdgesPropsModel() : void {query}allocDeviceStruct(void* * allVerticesDevice, void** allEdgesDevice) : voiddeleteDeviceStruct(void* * allVerticesDevice, void** allEdgesDevice) : voidallocEdgeIndexMap(int count) : voiddeleteEdgeIndexMap() : voidcopyEdgeIndexMapHostToDevice(EdgeIndexMap& edgeIndexMapHost, int numVertices) : voidupdateHistory() : voideraseEdge(AllEdges& edges, int vertexIndex, int edgeIndex) : voidaddEdge(AllEdges& edges, edgeType type, int srcVertex, int destVertex, Coordinate& source, Coordinate& dest, BGFLOAT deltaT) : voidcreateEdge(AllEdges& edges, int vertexIndex, int edgeIndex, Coordinate source, Coordinate dest, BGFLOAT deltaT, edgeType type) : voidnormalMTGPU(float *randNoise_d) : voidinitMTGPU(unsigned int seed, unsigned int blocks, unsigned int threads, unsigned int nPerRng, unsigned int mt_rng_count) : voidModelfileLogger_ : log4cplus::Loggerconnections_ : shared_ptr<Connections>recorder_ : shared_ptr<Recorder>layout_ : shared_ptr<Layout>Model()~Model()getConnections() : shared_ptr<Connections> {query}getRecorder() : shared_ptr<Recorder> {query}getLayout() : shared_ptr<Layout> {query}advance() : voidcopyCPUtoGPU() : voidcopyGPUtoCPU() : voidcreateAllVertices() : voidfinish() : voidlogSimStep() : void {query}saveResults() : voidsetupSim() : voidupdateConnections() : voidupdateHistory() : voidSimulatordeltaT_ : BGFLOATepochDuration_ : BGFLOATmaxRate_ : BGFLOATshort_timer : Timertimer : TimerrgEndogenouslyActiveNeuronMap_ : bool*currentEpoch_ : intheight_ : intmaxEdgesPerVertex_ : intmaxFiringRate_ : intnumEpochs_ : inttotalNeurons_ : intwidth_ : intconsoleLogger_ : log4cplus::LoggeredgeLogger_ : log4cplus::LoggerfileLogger_ : log4cplus::LoggerinitRngSeed_ : longnoiseRngSeed_ : longmodel_ : shared_ptr<Model>configFileName_ : stringdeserializationFileName_ : stringserializationFileName_ : stringstimulusFileName_ : stringrgNeuronTypeMap_ : vertexType*Simulator()~Simulator()getDeltaT() : BGFLOAT {query}getEpochDuration() : BGFLOAT {query}getMaxRate() : BGFLOAT {query}getInstance() : Simulator&getShort_timer() : TimergetTimer() : TimerinstantiateSimulatorObjects() : boolgetRgEndogenouslyActiveNeuronMap() : bool* {query}getCurrentStep() : int {query}getHeight() : int {query}getMaxEdgesPerVertex() : int {query}getMaxFiringRate() : int {query}getNumEpochs() : int {query}getTotalVertices() : int {query}getWidth() : int {query}getInitRngSeed() : long {query}getNoiseRngSeed() : long {query}getModel() : shared_ptr<Model> {query}getConfigFileName() : string {query}getDeserializationFileName() : string {query}getSerializationFileName() : string {query}getStimulusFileName() : string {query}getRgNeuronTypeMap() : vertexType* {query}advanceEpoch(const int& currentEpoch) : void {query}copyCPUSynapseToGPU() : voidcopyGPUSynapseToCPU() : voidfinish() : voidfreeResources() : voidloadParameters() : voidprintParameters() : void {query}reset() : voidsaveResults() : void {query}setConfigFileName(const string& fileName) : voidsetDeserializationFileName(const string& fileName) : voidsetSerializationFileName(const string& fileName) : voidsetStimulusFileName(const string& fileName) : voidsetup() : voidsimulate() : voidEdgeIndexMapDeviceoutgoingEdgeIndexMap_ : BGSIZE*outgoingEdgeBegin_ : BGSIZE*outgoingEdgeCount_ : BGSIZE*incomingEdgeIndexMap_ : BGSIZE*incomingEdgeBegin_ : BGSIZE*incomingEdgeCount_ : BGSIZE*AllEdgesDevicePropertiessourceVertexIndex_ : int*destVertexIndex_ : int*W_ : BGFLOAT*type_ : edgeType*inUse_ : unsigned char*edgeCounts_ : BGSIZE*totalEdgeCount_ : BGSIZEmaxEdgesPerVertex_ : BGSIZEcountVertices_ : intAllVerticesDeviceProperties \ No newline at end of file diff --git a/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.png b/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.png index 932b89befa1cfe30c255626d64b5970bb4285cec..50c558af09f2525c6e0f65d9d45d3ff1cc6a22de 100644 GIT binary patch literal 813194 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

0X}r_e~x}*38u7Je!yu7i9d65bERJ`WW##7 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∨X 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

0VDs%Wu+T5;Ayl+@tW-Ym; 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%0AdGTw;vazH|bRG4IS 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®-4G^Cv}zIa0llN85i}o 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

DK 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

DgaR;W7$_KQy7=nJruAQ;2E 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 aC~V^QJRV%XgMHg#kddCQelF{r5}E*dVJ67{ literal 353405 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

OP;B-{;rO_`9udn48b;g4X zfl)EJ8p@+639hwVo5gi_N>*C+@88LqGT!IDbx(5-sRSxOJysMaO|CnCaU@H;CpP3> zf-%p<^Gd*8P&lhCg7{7)FFgbbLr{1Y9|zu(N?okPP#&U1Qi07g5ug_!FRkW=nFH!m z7!QZW?->g^F&HBi0nxlJ)};7p|_5(E$gtvej?T=xkEo!LruJ8D%F# zVV(^w4dBX#N3`SmBJZ^09jg@G0I|^OM6)=D%`!^w-T4zutTJgkP%&oJv0GVgq!9(6 zCO1&~iDl$H@i%BHfG+bD$nyJ(H!Ptj;k;Wg+o{PFz@)CAQmbmayb1H=HAQbRq#6R; zr0vUpwq`8zttC!c(5$6?XkmB6n>h|W(X9B^Ux_-G+LS~B_2DZ0%UAR1;RAGvwT7Pk z4BR@sUw$ZQqG;vgKdn3{vWhD(7ZH0rT!90L9*|K{Y0K>?EKrjKtx}GOs%D{oFr%t& zI}oFqIGK=KK`TUE&{GyCAY)>mVhe3Cwgs?6w7)2~5FEB>d%39L3l~RL6=x-In6iGmh^$Hs;bHfs%3B=o#~F6gHCk;%1A>+ zIg{8vc)3d|C7asGy3-wQ(D?4Sj2eG)Y`o0Teh=16!4-y496MTIpIJ~G$6-}qVQz-a zWFE|Bo@X?a&;~ijdtEJ~;rPt6Fu0w%e`=6*LbsW=m(UIlti1#M9n#@y8H3bWr@nqo zu9XXBPl__czW%mL&+(}L7%J=4Xny&OL0SK8Se+MX;(~xWfdH!|` z3)v71wC(ylAouB(xy{~gzrt9r89y|)ARO6jC3qu5 zjQCCa=wS@Rv`np8NxN!EGD(nQwT~VQ3nu+$Yp(~yM>5mx2+*jx;Pl7c(5}2;^6b76 z>=3l%A6EcXj?K?!Lp#wxPf#FW)6+RZpX@Q+tq+cg55YJ?f?#Jt8?G&hTvq=V1;_- zIv*h;HQ3W;91*ajaU_zOJMG)6krYAi?8FaE^mxB<@H4jXkn_u>gX>mPD9xqP$K>j-jH+`IQlG`lYdD zUt&$Wq~-D#*2}{?TNlP)NRJ`kp2J;exN5to;wZBD{nnX=Oq14ljqmT`($#xo4DHrT z_11r2Jx0uLkD>QfUT{AwhIGjb%AaS36$_&0WiODBG_{WlmUtTohrF3|q{bIBsh&4A zeM_YHmoxSrkDuT9Jep&At1^dUn3;2PUUtPML-^UVhDVoWhp z-W%(q&}+Xi{C(uaEaZC0i2DjUj#8jwhe75epfl^uNm2rL859RBS;Ola_bn{}=fMn# zmQ+wp0et0P?(b6tSPwE6pMe~6Ql!7EuW3hx)Cks>c4<@Pi0eT6)ZWH8r%4McT0WQT z_>se-8#`n-b7KifDi%tAd@BP6QYksup0 zm2khmgyv&`aGHNT@VF+*(ZzggYWQ;`5w(AJbb1BQzXs}GzyyqPyJLYTSS2l}N8duh zg_A2+hIo~?ZEw!1fb95*;*#uXqbHIe-sUq`3eSgm6U6<7zJTQk3F!1q-vaW{`VA75 zyeG~$4$m7|#2T0C`2_}c+RvYO@4@p~yQ&Y;`LLrS^!}8;bolm*`R~V`Y{Myur7#Rb z-`pUuJS9<91Dj|L%=REB!Mfu<>osmSH5D1?!drA+Y4%xP?*hF(we70@Sgp>AZ_BQ) z^gw{EUj4<6Vq3-}gMCfEq8ar2St!SZac%A^@26p&*W%;pzp5OIp<|}~BvDMyt*N&& z)|;YALXUcrw%m`FJXX7o1dBj#;wRS4KKcyOnvCKW#SlN7XHeO%M}1rYiU^tl+tQJP z#T(kh6e%K=P!s06{`>j2-W%CZqDzX7xXW?!bF|gfNfc%K5S#$Q4r+4}>hUpOYrnjT zAUt~1>wRcq*c}5tTm?hZzOEEQQ26B7v^6$Ta>&U@VEfmgCVwYQZ}QFqF@hz!okWuM zGI*iwph*Ev5J(^AS4R{vO5%^FCJsCnASvix6x6ZkN>&V`6b$!&=3n4RCi%tcB4_Fv z9NmDz%*{5(D1r(R9K*|>pbr06c@n^abOWM&@UguAtCs{!4{xABsSDLqP-?!io8GVI zeLA?+w9ia|`p&|s=A&E%AOh#ofaLhv}Zpmhgaz2+(Yox_NTV#Hqn#zX7 z!a{%@e^P``*&eNql1GBr=C=}mXy{d2cc3c~vn6%kOf}?yjQ#kLkjFId=54JF&JWa= zfO$taEajd>*Ax4X5=WvXe&~TH&vpw$d9s1!aG2bq&6TLBmus9RQw6D%2&rR#H~F8{ z=o|Zd$q%RU(A0$Tlz-{!^Z%JtB*$$bR$!BmakF2Sjh2y-`SJp{NCLGs$b9U?39FmM znh=RrVvrU|ln6%kLVYN-T}WCnFV=<mY8GzNnWO7JK!+)`N|x;wHuqJ=(P~7~1oMn5o zsrq?CyMZXS$KSD#u|B9Mfq@ppam*qk;cGu6o0Ud3#N$!YJD>Nww6yr_H^!LIo1=yr zp|*myKMljC3s<+|>|gs8Qnjgw^NPWXk`TR;QB$)^{5ifW8{<6nLFV%Y{zQGyYXtMX zs7#g``SWVNB=2^$#6c%CbWP5Gn&w^c<}W=?$dqjAd(8=8SR-#|6ciGsyfBS?z3A-5 z0mTeM)=Y0_epM_*o>4X+?-ly(Yci82Uw2=*=UR3jezeL9=o@j`+sR_l-ZUB5&UEme z(^lJgfE<;uo+_=)*2{wvv-6d+gVCG@U$**+;c}YQJKHu4-7bz>Rt``qj%~^wFZsE8 zRLUXE=1A1_-dJdinoTb<&2@NZ*{YXSiVEjdZ4BY+QOn>`CaZnNVWwf!8c(c($}z~0 z@O0&kT~86~5RXSnr`g#gI*Y*TlI4}yd|@;o^E*9lO$E=;VPxvEcj)gh#^d(wM(4X* z`vv(G7t3!Rl9R)%xaxUxuK-{J#{z27v<8pu**vK<)lL)$PJO94Ad`R|wid|Jd)(=s zmorzTqYI#wg5*|~83boAZ%S8W!|TM%18EO-kWq?KuZzp=d+*M6=a@JAXpMH)ge z6Y|Gfwo8wYLP5~q-ZNh&l4q`0Jv}gXK1fo({QP|msz$MoOS{v-pqj+y8j*+lCrvZYQg&f%-Aq!Qu=M=;?WaRH@ ztnmUS2|=4wHstIT^527*JeU7WTBEO@@a~qk@aX z-|X)dP7K!%cvpHg&#jML;>lHUXZLhpO?9-Yq8Z{x=MXl+`A<{1_ zg`&cs{S{QpKa25pA2K|(wrBD#OTYWO?NUK~wusPspL;jYIGqFaXukRQ!2ILgZ5ChZ zlH|?3dFL{pC2eniA96L*#>e06BqE@T*f-*JTmFV&J^dq%8Vl(BB_hJii|*d?%?g&y zhA#Rsy(Fn%9_bkoFqci!-?8edO3H82&a~2;D#3CZxs7B|t-3z=&Z%l!Mq+V1qO(>u z^z5j9f_^iC7O;ZBT%RmdEUV!AP(x9*rZZ|d8Ui-FyNprv-`sIn) z-qy$tzdg|kJ<8Y2-n>!td|zxoJLE}fEuH80O3YS*0Gg%jF${ETCHJa-*7}(E{I3ctbA1bdNGiRblu8j&kGUyeCY|sULg3_<>St!)sF`<{ zCnK2bp9YtHILq7_xnX1inLTtqJ-PE7F&HC4Z*n!n`Lvu96gsiaqFpJ1-NIAtvMVk=3=)p zQTppIY_qu7oJF!CL47YK1!bWpssVL?5KbdGd{>*%5vaR8*eBv*Q$g{S( zmA?sZDMiUyvIJ?`k1u!i4G>3JP}76*f4V{vz}OI!dCmV~?Y+aX@Z0cVM1>?uqL8eR zy~?Jt_Y5J~WMyv|scb^_-m)dTkZj7{k-hgGzw3^^^?jb_J>K_s9B=<}o!exH_5_fU&WUI|i!#^qgF^d9RvQx3Q2F{$kBK8B*0?(}d2@X- zyl~=2YlL}4FXYXl^bapOWGOmkgZU>v-?rT)G^q-#$=#1G#!kKm3Q2SqD2N7&k5=@~ znaag??%nC)~4RCQ&R0dn^N^v{qd-8D`&)eMkMzAizMj^rDOIYTmD@0 zQN-?wO+s&y=CqXw%hG7|h2C6CaD0Fz%ZN60DGJVnw!M1((}FvKN6;Xc$xM1N2fyIT z?z%1P=sV?46~VLH@@X}r-$3x3&`&M4m_1yG-1rAf2^A^*$;5o8-$*Ye@}03-!8eO) zNAi2)Abk;L(px-)unNyu6b?!7%(NVw#X+DYRr{ z?)_BcT?@As3h>$I@laV_s4(Q+z`|%A+JXq3&ME6ft8CLeLI!mm2`NWvHb<5r4pnHx4JFiZ z#vsYZI?;z0HlND|3of8&Qz(QoDjKZ?RqUg=R{4j?lyl*O@`LkD#L_OrFON1O|Lj`O zLEfademd(;yp81PqkZAsvSxp6vy13a4v$m%9$XuccA6ow9wf!T^rE)hUXtDnfg%VR z4Q^PJ>@}LCJMT4Ygb@b(*Ds$36YfdNnQ*-ueIDu195>oNR3G~{*yY&&BvHM(*u}%Y zpY4>?G0`^V=(Yu^=0)phbdO-D)e2{byYrR%y=r$*(%pMu&0tjFNz?}p3qVV@a&7@( z=eud6QxcL)J{hQJiD&CT;am&3i_{Z4z#;&J5#LH_5DIy>3N@b-87_0i8HQj7tAt2oOtHwUCuL+; z$wpSKvJ!+hEp^%LZ#^Om?@+%6UHavP{TFIu4L;K-wo%2fJd>K?*oFEYPXqfMq@A0g zxr^zVHKWk6+dE0PQzZh2m^bm`UCGDtYMPRf$4|ZE%Wkq^>bWa5&{JQ&@bt_~h$fw} zKP7qxfLtBJer^ui!z5uUz_op@N9z=$LYLDW_qUX4D4lh|N)uM4LCnW1>IxQ&lIAv- zHU0gmD8J>Q-Is^9{vWf6Ump_Q`XDq)1*320dfWYYzZ|zTUTv+G3PSR_dEQ-zZgakL zF^!|T(8f3CY2MG5GNJRO&ig%)@2*|De%;dxt)o2w6aTp(onZ9@2z&1Cdob-iZ{Bz& zJl0=I-e$0%NrO%;5}of;cDAZaYipFIqa&AmsalEcj6NTe>Cg|Q_brPH*^LF4KBb7C z+uX47?8Y9Icoy;M)p;i7?`ay@M-dv_JVb_f-m9tA)k!3@uKqm3!aTk-LYH_pcyw%| zHo)a)kmP4FI%#X`sC@AUhG%yo67Z6%tMLia0%x|9n|3IW0k*fnxM`?S3BH=T;bA}5 zWjpI#boauD;QJj#rO^-e`&%4OHG^v%mPc^5sxUb?_J4lmQ#@kYbwYYdh8t^R`YPb3 zI4|Ouq(nq8VNG;Ohv%!A?)r`GqJk?gvxJT)RTMa=D@XrJU7=SCXQ? zPRgprmPx&IQh|e%r^mx;ZJ2i=9OV?)5~(A`7X3o?UZmyJfro!XyZ~{eug`K7i~&Qx z{8EPWp1szSCyHBsX!Z3+yVF^HuGHwEG}Dmd$+CJv!zCi#3KedCVqPTPhF;sQfg>&& zx>ictY#+C{xOuWk2pM(HSMPbY4}?9w4q*jt^BIJx5^9!W_oBBDj9=)N|I z-JQG3Ln@n$nlIL;x4&s}5NvN+Q_~JI^l9ZW+rv6DZ76DMX_YxUW*6-7t<3f2w#T9h z-sQ5ra_r3!%EMhIr&aI!#E9KI-aGjY0S-xK-BITyV!AIKrBoSz=XUxszGil6&9|gke}8FQFG|X@!N+0Oxce-B)_du|yfw6i z7(*wNx7?KEEt%POsP9M==P}|fKfQKs=FKs_UnNnH8Rc6FGC6`wO8g?5`7M7t`C5ZC z2?FA)S3ezH#xyvxeuH`&Rp1i2afV7ea%^-oTg^igwuz2}D>fX71$(aF@b8@eIcVU4 zzXFEI08~V)yr}FX+4ZE?fq3RyBsi4-Tg?S znajg^{N8A4yeQ6}CJ&uvn1fD)!g(`(~8U5k`L%dhSzcqO0s-si66!q&`TQt>M~I3XJ|3#{kLlf#57_nRu>tqvEV zrUZ%qy1|hTk^7u`*PVB9yB9jv*0lB8oKmx0)?U7NkyF5l92x!Cx^u70I%r(&NB{I2 zyu$v=BeN{@re|4dMxs-*tFC7#(ypI57u?5|98OPkgR=|9RiG_gwR3f4$SlfZq`M=L z5?NQb-A&FP#qPYmw|PIi!XzqDJbY`qO;?^_FS#I4Z*qSPaf14eI%VuJxtC=#BG~K` zcYCREVMK#KV0MZg4|H@zLW;*a-R(L2mbp;GHh5uuFOnhJVd%DJjL9>#f4~y;7 zV(ZSkI2jidpK4M>Qt`9pQ%e7R^>e3wpiw92}zdQ(s~cX(KN z0c#TmtuWm!EcFt;| zfAUHAYXe+(N`AJ4`OhCEls_{s@zXkRH88G87QN45=07%X>~(OUV{3a(YrWntci@Aw zcyy|)sMSW@do{j^c{Z>{I&p!weu8qmE2HK0WpBhgtN+RSw&@2EiRKM)Ch_|BU37kK94uRlIZod=}h|)nXJ? zFE%C{EHYG4`T%8g5q{S>570 zKn6~Fr)w1gRgPj}tffzwpj0d=G12Jk?Ys>uuN9YIO_yD&P%djD;j0R<-(_WgHcqLT zMReYiX0xzhK{-F&`W}{vy3LUVTd;R%+v1 zbAaGe0;Cny_+18@^O=}(g-=|NC&G}>R3H8;p5-jg#pexM;(1^3wJ&9&(KOoal!neb zlW_`nZRrOG27)n`mM&&wFa?mr`3A&gq@~HLsEp6g%PACj+34z0_!7ul`;;a34wpZ~ zB4ia2dy|=dyT97ix!mTxL3l~Yx<8R($!b`*vbrh3r4An(*@XC;{hggb_Tb2solld} zEi3I0VGw000E>NXOUq>TVGP$OU`?543hfwkl`<(WUMzKI?Oy4_=5rE&G2r!gp6hN} zo4wrTKy89p!Kb+I8|##0 zWd0S|kC+@mdT*LbbMW%qk>3Uhz{fkA`KY=z-7q|6IK&ODp=#&jx+c!SY@HOI%N5*a zB)49a)5{i##)6dlHz;SDFVz!2Cp1lmgBvf7O~>Mk^&=`Jh0fZt(Ck|cgyINT=M4D> zdit2YoJvQ&R6-hwD0b+2*>?`R%Gw-JRC04PEB>a+jP;C+*z(Bm7n@hm#?Yy$ylD_3Q1l*zW(0chbl3vtLv7|so`(l1TPJ9VO{&- zvZmABo%`^iTA7XWbCzW<%+jLyvD%*sZ7q*^9k&darP%wa)+c|;vpJpRV^Pr7?M8%D z2;{Zi`$o9XK%Yv#<@`mAxxqB)0EldIt?)`JB&Hj70hg{h_RYV-aoLE7sSJMHG5b~O`O({} zvF-dCGY=G%;;dl;j4lK1rL<#2&ZRjjJ3Wz|;L%1C_i}<(aB`M>*8{Ig0|_aY?4Oit zD)K&NvOm$__h7kN+WWJbHu}^44i22DsV_-MkDSh6-FvP>tC?|@RLUhhxKPOWOchqg z*+|!zTgVs!mrxs3je0B>dk!WsI?&GXPUIrBHi?xq!A$dqorx9*RqSP=b4v!?fFW!=v2+j1{BJQm>a@oJUuzEFE z7(!@ltba@Rk06X^JMI?0?gf*oa6t=B`SErH^0R@Wckiuo)oB?yI9~h5&dd#{IN@`f zB`6(;*-&R``jSO(YFU0u6t%jvdvYt@4McKq7GDMMS^EPkbHN32C`h0nt0Upz{A|>4 zB_>PZ8jr&#Nc;+!v0mIs=T7mG_qupF<`{SX>FFkP#+`}5#TCXS*Tj+LirJA}Nrf#y z`?CeA4?<99dNs`oik`(rmB${Xq!xevJI!@E^dbH5!Ew83z84#&c?rdVezfK%u=sD} zQ*yYW*U1-)%(>WnJ1dlISKm$Q9V0orO&Ne^=hhZq!!N+E*8t9>p%oVsFKlgx5CYaPK!gxCcXt~njEBoaGGTGP~Ov}uMC{PW+|R*+W&Xfy|9 zx$artbzqHA(f0HXxJ@s0xmTp>R;&%@YSN|a$Ve4Je;_WpDrtGL1mi2Lcxjhn33AFR zGsFJqo;MrPX$596aaw@?8*WMHmPP28|l}C zo?LOPB|^vX*w=oH6wO9$+_M<(5aZ4kYW_P>(rnj_6JIWHi5_8got{{w>4jPD?^C+5 z=}K#AP%0|Q)ISC~9`2DU_qM^U5D;))Tr}xRF$!mxo}FRU-OkKfc!)_&iU!fj-3Yur zkykAhmUoZ`T6m}xGnW(=QZ@@B6$y29cH*q*I~&=<``_pnzHt_DBWbdh-Jo0g_0K^%a}b7W zG$emc>A4>4q%~EyadV|sNRFAG*9$FXHA8R=Ql)UTcNpzFoVInFQ}g3)H#TCPIg_)=Nf9yeLA-r>0egF8r4)ILI6nshp7`q zPLR_>?nSF{Vbc5yNOtNS|D;`=7^SUq@$PXp!_MY!c{5saBMi0fAHRVPH__^OkOfw@ zMrFn7$GpALUF|A8N%Hzjz2Eh3eA{hpMEz0dvn1sVRgWaSfd3*QiX*=@tEtggov^_$ zRquz{IIy>g+1FXJi+bB$LgbyIii+H$cSc%TG$Sd*s#C8y*oxS7o6J?O=Rv4t|9AX# zqq=oVr#Xzm=@8TW*d@QbytddFO##dmhwSX{ci9Jid^z~e%)_JpxwqO$ zDhHiO{0RwWX^$I-7kHQPUYFA#veRNmxHH+`emA z_$5cYGHC>)KE=9cb=zxLFekf;$>_5?W0fDf z9dh+_`|@=@-oRW}iVFS%hPcx#->28Ai|^>&E~<=K4RWa(%sP>Ye%C+*}#Y!M>s@>#RU_Lwwp-7M6wWZAZl-(o?S|jvadCoHT$>@%SJlgv z7_HK!0qQ~m2YQ>V`)7vggNBijm%cM|?DJh2>MH$5BbDVL&SqxQz@brRjZzqBX^F9Q z`9x!c5eVA1yhC1iBgU~UkG2`)4%dc;?*Vt%qNR-|@cow(KG4q01vLMhcq{Bt+P34BCl$t)Wcg_lXIP;%4l$l zZmjsH^iQv80scYnL$F94T`A%u3 ziMR;@Z&DDpw>gv=?8i=mHh=r#7^n`cK*#XZv6gpCR^{Znq#b3Qjn$Pt=I-cp;=Sv-WPQo?A!&;+N#n}?jnHbQG5KQ5?=`rrMJ0=1~J{WyuI@xrO z=8XJ3bBs->-u5`>2!Sia3r>1x`p5;;eEycuM@nYvMSf`Yunou4xOrc{+7Gg$;o;)y`4MrwinMp+TJFQi&2}N@c9wG_ zBXc(D00J>fdEKzHLngPNfc$2B@6n;+y$pAE9cgJ{y|75?tmWiX_7XFEcB3wtkEROa z&^j#fEEXX-#Y07fw}CM>i>geTEqCYTls=4hbp>MJYAQhQR%)67L9gs=PbTfNfoxOi zxZI;bpjsr@UwR%dIHB|4{5z7155KfuFus4Ek%dJs7I1oTh3v7sm)1N`17Ve(dy^V zhjyAp#t=jXOTO~jt-SZ}SOnpxkq}E5x1!0vX)b%5D(+5Ve_!D=*%X)wA=lKsj56g7 zO5dZekj=nzn=dB%gytMQdgxq#x?wMnXZ;~-DnbFdI5L)xR6I!USFEqG%Oxl?P(Ao)Jh>EQ2_e#e!@%Njm@B*;=~1uFsj zyhsoE=d6X>{B+^;@5`25U~H(YtYXlsGgIER?Y3dF?mT$n(;$9zTXsAq94) zR$13aDp5d{m@N)80I9JsC+osq=NIZ4a}JBDFfoywjjbNew7SJE?nM$biO$;@Z&#jQ zL`Fh7sQg2x_uf!lu>v8nhdpwLP!rhv#?+1&GpC6Lr7F3sbabKJUOPFtM4}tdfTRMe zUbAP@;-I#*Rpc7c?$QIFtCYcKo&0Y6`*Jffu3ST;>rqS+gEeg;k!1pRFF0Oh`VFqf-{g-y~`@m!98j~4`R=z8S3;40j zCbbo~A|6N1yt514oXeFQPkXX6$$vnC0lanwRzE3zHrcXBh3$^H=9D`W8i$IsO2xGi z-tF+v#k1FJn#;O!n&@@27zh7Qv^iLI-M*cr`K`0mlFMdx93*N(FRE)=tvh2YEM!*E zygbl#TqN`bkI4@mla8AKO-;eyzdy6IysY(-?ZKgzt_h@quTYYHT5p>M$#t{7`I~Z04JllHTupt0MY7oJUu)KYC2lv@7O8r(Hhk z?a`O3Gv8isExzB`Q}((`torR6$}$kzU$9*E7jM7MFqmxI4z)_t?cSXC-rKZHl4edR z5aRtiAyR2yJhF{cIgr`9(9v*4JX_gsBHRjcA~q%_Mo2<2F;~{+Y{mplo5S>!b0+fJ z9k>1S!aspLLc(`MU7Y6SUs6&Ss_0`nJfhXERaEqhzCw$yLOMxmY>!@#KP2I)oX>s)09M0=iZ@U?4 zzkM@oGF`ozE$Xh^|LsdkNJ0Yf`*vpL@kf#m9-K$Bnf)$cA#z~86M@6&PeOA0Q3&c* z(TmRUfO_acdjCcL;NW?dY|=SwTI2gKKrlKlF7fM(4{>u_0<-Xnc!h`#)|w%SC81Qc+e(H(yg# zk$lJaK&4Uvlm!9W`o9&^qDP5nqN1W_>8SR$mko`KW@Zd*$LnnL#B@>KTEDeRfWe>h z*d$9?*)G=P@7)c;b92R2`du>fi;Fe#Zu;^9;S&Fldf#kVI6$h%KueJADLyWgE;7}L zs;%BO@LjIvd)X7B;{Qr2 z;QfPr^;F5H4>`p9l9^qb-{zPW(kibJ^Ku`>9Xn-Yx2c+rJl>3~`$rNbWdD~Wn#}ZX zN%Xsam$IGvJyIz*v5NDXbw57GUgw}E518*|06#m&U}z*^?G}dZ;zIv=5UBTAPK3i{ zm1HAMswi(!#Q)Ct3?+i#u`JV;%(`}u9wE_oW4nSI1N=m`Tq|BYE`uOX;lcj0BFD8LVZAq;1#13pyTw~^$PV6iW8c|ZD8zfZ z-~K=n<*k$GzDa8JBGlWRBI5M&Z}46mI?c$k$l(kjh62v!A&FrEZuD9Q^M3KB^`Pj1M=>yyw8G{x}0y z6onPY28{(#oM7XW0o3$MFlI^<4Rym|I)*(bCq`vNiC+>$Vdi4p-%G36UMUeAoM=FL zo15+xd-3)aOXiVeQEiBAmX;x(_{~~JJ1Q;p58TnToGLxLx~`o$Gt4piOhP05X12-~ zk+bQ$cFUs-N09hsSNuu(o~u5>BsN^-v|V~s6^@F*%}gkr>)nDS8Wm?Gmz!u^qykFPZQ8Q-X!o4bU#S`%*uFghN2P#1|%Oy`?IskZfb zut<0Cg$BPaAu_#(km*I4R}sUfe)Z>5Td$~u;oy+w=XZKZ0_E~_XN%!Q*`-?J7k@r{ z7$D}!pCRa@+0P0cbP7{EIJ1cgy~~rP8~MtV*FC`JG@y!LMr@ZG;JtPC*k>~{?E zP~TS81Cl$ThkhkR&yIT3rXV9zxbLOu>KtqU5C2^!I~F`nE4wI+h5QHEy%8*N!)1!s zu3qJL{*?i~cVHv$4iD2SWCv0Gcu)E2J=Jpd0?DW_UEO^}2h9q*f>1?FIFeqsqOHj_ zYZlpo_W_;(9nVe^;j_ZO=3r-)@}m)Y^7jXmt`ng#+&RljBYL5Ra+H~jtPOH!_w7{+ zkRMd4oS+iR4^X?ni`LUj@aM#0UIV1vjCOfxK|#DKGv8Bq?0tQraIVb^!)ePz$J&JY zyGlV3NDLMxx<1#{xh>?)OHhkMI&ImnPxX$M2cC+qaTu%LaL(n9Nr=58EYG z`A(#LkN}boz224WhK6GXwmKzU1B27?c&6IBHbC#J@l!7+%yw< zbZkL87RU&IY8ke`YJZoW*mnVO`#`X(si`sdmY5yepHC0w35Is# z5*!?kM|MG)um|qF=9G#TH3z@?pKTsRnVRT&ffXSef*$?|rtpF_)e`+m zqX&IUrEl(I)E6-%J(i;s8HnZ#ogM!!+Q)6roCJbgc7^ToSJ3aSUOBK&V(q>_FfQo@ znxc zF;LOwisM+)Q^$Tg0)$@4G+L0DnC!SMb>{5HPWsQ;xw)8lAk|wf?oCLUh(=cs@jlPg zAN!Ug8uGG0_@|GhQ`4OG*p%LAqSxyjQx+qMoW}F}I#@FXauW(O-OaCk*X2ohImKil z5{fCZWIW#);I+AT&$uC}Lx_Sc!W_^=NG9$_22YoBpuPUn34w~ZuKM@rq{0D zGz@urg-u&1FR#?%r{FIc4U$A{?X>pj-3dJYZ{J`>hn@^61%(4RIKac}`#Pe=Mz*k_ zL560i+_vsCeIz%A^bx;2Nsq*dQ6sOOSh>i2ETkw~Y+2B8K!-j(n6seC8#`co=G)|_ z7vv-O`OrNEt-`2#2#;2;&|k-ogn2ZGO>b!@z0Q%KIZRUf=cJmF!rSE3`gf6p1>zSo zbQKi3Un%88lSyQgOO0IgImsg}khoP;(1B3{^b9TuFkvuukE0*2)Nc3W_ziuK{G3BP znI<^&h#Esu~7nu#xa`$HwN&43-E#eAo!lvVTBTvou)P@!Z9Y zCv0Zb!)w4?LHdRdww{GW6HnW!b7#TGSs5Jq)tBJM+&~07kd505v;2A)!IkRMmD@sj z9GP)<^M^sD83;TC8X!AKY`JD+tkyXKa}D|_-D2Z%=Ja{0ZTMg$ykJl8OJj()y}h;e zCRjEbXtHo-z{EpzYYC z1?DL)QE9bJm^Hh1WvFwH_6Th$S1{{Xqi&w4D=?xvx(HqP7W42zt0<{n;N)cx4# ztG4EODeO9$BI+3%^b09BVKGy(23uNM`c5;w?O&PR@~=#9X$>;Hm)Qkm>or5Gvah$_ zaO{Qwdkrca*nH22HwiuPl<|N&4!PdDAe=O2#6dg&#~Z5-vxo)wo?e~#(O+Wr{`Kn@ z`S}8m9=U}pb7*CLkr&gNnVnr22yI~B&A7y&^ac_9cE^nO`$EI?I$zVEwydmMR$Ba| zweVx7M8Fs{-1v_96e?x692Eg$Juq+aWosmi{jtkYB8x2?lGak_x(hr*a$f6i*MB}H zm{VL#q3OEth%?sv(fxnYr$|QoHAd1n7~;&7mCi*T8g( z(wGg?SXmbG!8tR-X8k4VsFSDT{WfD_Lt@f%O1>Ccf4;yk`PVD>ea^uY;d!KELV*eO zM%_)^ESC315yR4vz?FDn`RxX`$lrD>%=vqWpI7LdzO|1SJvjg32Cw#5B7SVwc&hH^ zJvnRrm)GQdSz)ZW*qiUYy}OGgNi|awjkP;^#qM<d4tK&66+q#qMw2Xw}$myBdh zt;tqN+NswG+X8~~T~rj%$i_#wD=}O@5f;^Xdr&i@0~vjCr^ig7<;E?ouG!f)pgXKp zl6SnSsTIzXUZag*%_QM*KpGYIWqk1qgR0QcOGUApkZT@StSr?bLJG6+KOyC~geFKz zUB*&Mm~M*pvyVVp%F91@Vh?p@goL?_D!_FNjGXuh2}htmczyNw4q%kYsZdqm>0?Vx z2)!kyhcbN^&}DmN866i@KZAz^a=cX&BLo(;vFU-*Lf_F8bnuU)tYG|4I4blu?894U zIcxh$cV0DwtTk@_Z>@o8M4V*t?iVsg<%ur(E z-^Xrmx71_`{r*?|cD1)9y>(x}*UFYf6YiblS6KZm+c}0s#%efHLEC$FFl4xKkRg$i3i{4%6d0&&4 zhcq{M;+s>_1O;QDZ*cHnUQ=bl0Qf@Ks<6;ST~cS>$OJ8ydaSUPRU&W^a<97 zSJn~W^!4OF3IyHCDr3|?PQW;!Zz19kfjh*tD`@obFSRYBFtmkj=)3&! z^x(#SAPK-2j`f0#o_5g8$VddO@l`s^??U+ZFyNWjuD=lfE&{)?PK;Ad;S`IG zppXPS=^P#=Wn+7Z0jQ-vJ>v%MI0@k#AK1IDW`2_9Th!WWk7@q!;e$?Xwex3>?Yilf@#)Ptyl_z?axi1a&3nhI;6`p_e3lH-l`=3qI5$3OTk&ptZ5N})V z8y_Elz|FqCzVACQsgr(oTnPWRK|PGz{m4r7d!uOD%U%KOxx;e3{Eg%FXrZ2x8Aj6007s^gV^M zWQppXseVIMJX-*8fHr4P=M-Vu-z^oR3|oGrP?TcaOJ!>$erIKMg*_wIOSl}eU{$3L zag@T*KjoE35EUv{=_G(hmDMK1A<&A;MkbPs$4_^Ey>2sOmrRkO;OtT% zP==rRV#YJMGgwNB^C5$J899%|X*m!*8+r$Ome8wQq?mk;H`OSt)YL{Gd1xWZ9BQT# zABKRiRbMX^2bMET_rxTs`Y)~Vf?{GD74|t-WoPGo$!6x=Ja%` zo;n+aE$F>NoaMB$Vi!QHe({FLxbTB)HGI*|g5Rk33JYI;us;~#a440Yz6kK{ztYQ~ z!mP-R{{IeYJ+1(bpp>a)qA9%}zo zd^2{y!p~v)xPgAoY30WtAo#Rj+J~&HER5CG2fq*y^4~_lwe_eKT=Nxnt4M70Gy~(y z%erP}WEJZ?j2({KOQG4^kZppWsVE|%v;rtnX7SL4MT8pSUTJn%_j*xCXs_$#0=OQv zh!h?0w=R+_H9vmkj2`7Q8bZYa#ih4!$Lchin!LnqS zgI2`CqHQEWc8hEwq_`jCJq(YFJzxY zqWM7?oVyVb`B}!((tPUmOZ3yi$=NRR{)kFChSIfwcNCYKZEx`LGLn%=rJ(T=>mkZO zu3W%+a|d2+#A<`s4`eiG2FUYS2(}z#Xp#I_UmHkJOxlgW z&K{F4_~`;4UoY4saC;53Ymkxnl@Rc?stnpT18Z3gy;NiPT#tlj?5(ysf`(IF_`;4f zyM<s1a&NnUj;i*urzDMhYg{=g9p=p#LD7sg*?zRWy)aslS9BdO2FT+dZOwCH}db$I}kgr1liG z-k+!|Gt^#h>Uk9t0{QBo!0(WA409gF@$?`c$I0#LhsuevDIDu#B}LU;(lUP<0*MFXpuZjmiD%DO$eH9U>WZHN;rAm`fC?*j-2J zdncadw0~%k7R#q?XD!q;$O_>lnYhl)aIk?u(Q0gmV=dexVKLdco zAIKy4v0ugL-U*eWP)fLSmQDYAast8tw24@L$ips?(`ML@l}~i91aAFa(hO0zCGNsv z`-8v}H%LUKne4nGnc@_GuExJjHBi{9_76)6$<@EgL5vVY71;B^eFsqasj>|8gE=+B zd^9HwH)(%CD}|ED}X_G$c!yi=Ap>~0OnA7H^l~GRJYQBeWO7THV;Azd!5jLlcHe zs$4+!?87rdAv%@*+9YEwtxPcn*2+Jq+1GaVyT&_uSkD49*zVwfw|JqN@3za2*C}TG zjbwQiQ`o-~$(a1UT5=&sCe@U8pKU+>0v1=T*cu95l+l*KLHn=%b~K1+=vb02oAk0q zeB=y@!y*jv;=glSWD6XvH30Q?C&OLk#=vA`Y%ESQ1SD#H{%3G(DSn{p$&Ltrx5JAE zhH!Cd<-9GRCHs9A9#=iKZkz@miK*!p&_}pj!Re?0P|Yz;x}x>Fo&yh$g707j%{elH zpinlDdf-crxMC)u`ft9L!z18Ezc&W>iv~YXHy8@mWan$2d+qHCmQK)$RW2)k*B5!^ zYLI@s(4Pd@^>)$NTM4M^@fpTJRAy+r1i@AI+f^FiG@v|XvjzDzzLvxAFp-?RcKRg} zK6x+#{k?WM6U42SSRp-c9yn(B6@3IjODx?n{B1?%a|bS4>5QO@9lfTGfh%9sqwUu6`NhKo>HwK!7Q zS?m2ZBRZngX=~wI*GPMNs57%LcpRoDO_Bw3HKeX!n+e|t?IY_B!D+m-vjppOrPd93 ziAq{Y9ZBs3ES7kOP>(ex!&92%24!dQ6$g(X6NJWld@3{Fk}!==soG#K$U5>O!P+Z6 z^+1Ja0=zR|n1gaX^=Q{Cdi>X=ET8vu*r93CM6jDoY%S(PvFH4cCypS#k6`juDzrO6 z#16a%2qw_U>e)~*3Ev3yd%V|Ma@P&%6b1!z29wTcTMQg9@pwviDaXWd^O7=PS5g|fHf zn9JV2ov~l9r_iYWpnPx+oem0FK&cLNirdm{8cFr z(D?1;>nE6w%89qSy9wt6)!o&3#eql6y|eYJCZWbR$GC_4T6cet&U`2A4hgt|utcgZgS)u65=xFoE$P{># z0pU!I0HY2yJSXlN%KcNla>O!`=Uet zK~eS;q(rQowHdgs2z9Q#2D_>K;$n4ixPTrV^K*7&PWt0@Puu@;EL?Gj#qId3qd{46WP1u zR5AaYrcHF2PnU6UphYBZl?KIE|CH*3G>x8)SwIS&&zK?3$73N5-o2S`i;i(@7HNDo zlJQ|(8b&CYJiixO#Eq8$Q`j2&w0+o8)t z1l3Oju4%SgE{_EL_~8Pe7chDCE~Vmb_E?s{kVR+e7j*Q(9d>S~^zr*)u{rO!Z10SU zqi{togdB+ZpYIMJ=5br55IP?lAbh{bIq!{6XR74&#$G;#it@BWKRCnLhzmb)hn!#Y z_3!JwiQbW2sK)hv-+QUxv()w4t)sxt9D$66-#c2Pw0HL4)h;SZapJ)t;<1?T!QOR9 zNCE@G82Gd^zPr4?d9B*!{gb-$)le|M!_KAy94_<_bvf9XfF>Yds>yNcS?RucYH;4$ z9t~JEVSPbV@HdtM%NP(g?Il;92#5SnqLG2y2-$=r`xIpDMXncB<3Pm5`?b4Xs57)s zEO=4~PKg}3rT(UI?bK%*aquu1f)$Nr{6Bc&uX#-ua*I=1@MJKc%v4zyb3eS16xn;2?18^7^hy?k0#)Y~gx z0@S%VEmjDn)P;niV`A8d?m($hQxoo04<+oL$!2?ntMy+%Qb?i3W4HeqDgChyZe;@& z0(!RzqHKho|Bbo}c(eN2?C?0~PFdpLbKlo%)&2iJYt`ks{%>neXWQ9*1Mz4DY~@ zdxtO^R=AMi$G;@%(ii^~QT|3?;l!$X2wl~3P9fDtoJwh=d>g#;)2EfJP&XpP&z}qL zAb{tp*s>0KO-+0nZj;;#3}BlwGv|A~?cgn-KMSfj2bg?>A`jZ{8B(ZO4dW7+hQ;o>_I ze;6C6E&DAjM?G#RgAQF{@)Jcu!Tov^sAMnzGhif^g}<~4&n~<)bgJ)U`nui`Np3X~ zg0LPFUJ`^+>2NQ|!ewFn8}%`#kz{JlADR0VD)_-4{Y#cUL21$dapwn2TQzf#{J8Tx zt5K|guVc|eEnI`fL}X<5GxVC?j*YVeRfA6-{i*jdNW(sF2-_D{95cuW6#j89AExym z|L~w8Ynt;G2a%33AY16h*a_+PX0VgeQXsS|NRijct^y1K=Pr`3R=t9P9Zer85S zBt(UQNY20ypZ1d>=jY?8?B58`cdOc-L^&x4McB9h^74iZmn-X?;Izsy@5&2Qj2&E5 z`dFIMzJ%R;U=YKg*_IP#ZfF9&+}wIG`}>jOvfn$lEE;s^v}%K>J7Ccf2^H>P;!*$h zH_l3>AFl-81T+4Gac|B8Bbz;|o=-1`?_@RX%PDD=+yxyG97)-+DoOV7C?;T$r|ZsI z*cm-ul2xiMO0%4{S$Ha>wKE>L^Q(wMDvr3wR6V)rQ!KmrQDFWOO$4Ks$g>428W_U$ zOJgofYUEXciW=TT#+jL+O0{GKHbXc=rLugMa|SuL2mUEaZ3=&$_y3?bqyDduMq%@- zwlaI9;B#B!&)o$oi~lI41p0@Lfe%cfr#+rB@^^5QsEKO1X9+0S_!LS^F@W;Z19;3tprF0OqCoeX z`IlPcbJ$WRa#F_SKj|jqFJ;{o&!4DBR|ndDP`&8aR#g?{foG$P(|6Wfw5HS{1t zZ#{M>2BdpIZYs-jV;X9awN0dV-Dk84YI%ur+U@?IeB;?uiP<0|+V!J>&Z8AQ33cXf zgV1qFOB4)P%DM$ND1lRSSlnp4RLGdFOv$`4u!wi6tY43xE;gNPUxMs?T zb36Pgx$5h+8hhtm&T|?EhMrNDm(Me55{E4*p1|IFY};ys!!cDIvg_7HI(y9i{WVZj z0rV=>)fpM7x{?Erv1Z}#`5e#8z^QaLz!T=a7={e~*=KyF?_N!Q)GOgMvG<4gK6{Wz z1sc)rS(p453s|5o$o>mGb(TGc33&7tpyAuv)RK*_C-NKVJ(v{$pKe5<*&l``BIqc5 zatbR)GD+0y!C^Q+vQP-U6XNWPBIu8NrYcv>ahm&nz+r`vbvMgzI1Ef11D<;Nl#T9U zBKhLjLp;~nR8%iCGAzeZTVJc!PdObAQfy82 zX(@K$t2Y0q?=2S-@a&taCmWkurOqBeap2Tp_>UAvH0u0n{Cp0g(}d{?VCn(U+aKc< zQhn@<_8)+u3W3ZU(NhLNISVjWA)klC)~PA}IJlrvD383HrsP6;z)&2r)lywEXynSJ z!tnw`0FOUKmQ(}H7CdcZGx2!In2&`6D#$bBDKE|bnc2`YI_kToz{?1a;L`y0|CGeG zrp&<(a{}xzYeiBT*_1WH`|=F{ZKy5~4fXxQzYO(CikopJ^*He%(SP)owyFhNdkzPzjE!4BWS3@fvRckQJGTX z&uEA~_}|fx{?NDa~3X>djXSK12IF3=X@= z3~PdAq?|;<4mX2-9;_Tyt58PoY!5sFJV#8uh-T*hO4Fb|SYMq_`}$7VDx12;d^{26 zd*!b99xIcE+I4V{4uD6oJ&NCfEyfh)i-8DAFYSJKV-h#GdMd%0{pAZ-u+)%5;I_3+ z@FiU_5L4T`1PlNdm~UaTE-Tcz(%dkh{3uUPeAAEOGkEpa zi)}7vd+fwRX$M)8QN}#NadhRC+vVN492xTD*bCP`ZGkBZj26Tu^4wm|eIjdE)ZPg- zdHHu4jcA4IF#nU!!#x3%*Xppz1g1J>Z|b=N^p1<;Z+!s`5SX9IbJ=jskaI9oBkCyO z2e+w@D6Ratsb`8uUgBSw(u={}@r>AaDse~H#bGZ^Tj`F6Kt7qsS&0`fE_c57zZ~9- z)k}-hVAIG)I-4ZHT#QoXP=&9pXD^$kT@JrZs@>ya`2fa!y+gvpJvEpGXla5k#MS0y@bD2=d- zgf!*JM_YZzsVJ@b1vDwobC+}#*(#dkTMZaD#&(VL8a7bE$PW&?t3?(qKUyG8r@9lA z#%#ZTT2M%~q^=XF*FxBBKIXG~rG>Wi;q1)z5SNj)6I%Vg4@>WTLZrI%@P4^ZVe$yn zU;E_{o>I1Q2$J~D%-IRmDl4jN_QzXhc6#d+mBV!rvshHq`}rywmv-N@zTV!f2c-lj zi%bNwCP8rBhw}Th_InMKCkG-IV^?T5gpsvuU`uwqk;Azz*K5Du#>vc+}8C{xi332BsCSph<=glf{3HC{)FI!GmVJJfeH!ibq%!7=eq=f6$8{<^kf`teu{Tj!p<#mGF+QJCOG5eB^-tdob_I=&mx2`X$ zY#j?0^;Hp^zoVZb6V%Ek_nlVxS*WJN3hvCUZ0(J!^z>@+XN!~*o=51JU?vk-tY$Aw z@Rm5+Wjo(lj}<7oakKD!-y>{Vt$e%f*y>)5pnr?uhyuD2NxCwY^tr)N73a6d@|FdI&Svv7k?Cc6jNxqQ-6Jw6)MSZ0kLom=^K~Q)n_B|yQ9t?^i>p`E( z>f=~W_ti&9Xor&~p;y(XQWChOL@m9Zy-I(iag63^#IXzAZtba~z9g76j6`r_Tufs$ zmx7y*w%cB9s&uEt;zfKZt^e9$Rph`P(~U*N3H+m{Pq+E)uLd4QrF{8ZA@4-!NP#M> z@94En(aHJwc>xDYjQcU-b3%*$=X2_EE6x8p%(m5aoCa;T={+6dm9lc(^KC3QL=S|- zo!d$t2UC5;Kf7=7IXRIXCnc312ryy09qmF7`!MBapXEm#NrbNhbr!3pj#IKx2a=40 z<7U69Wdd&qj4E$?MJA=1DmO6_k)RNhpA>^O<0z$i1hSyAJgi4yc4_`BJ5Ebb8C;P*q-)N@F#+8`uNdA zIKqc$i%9+mI7tXe_}D;~3x8a?62vW!vU6M8q-1crNz_)`zs;qTj^Em<{CNF!=nUwPj`SKed@5q%i)sDn3efb3Di z*my3C#ic{L0-ijs^S?hVg;L3>(#fE(s=$opx=BuQ+ z%zUCZW(AytE{hymqxti(KpxQEAhdec#BF3!aIc5(4D|BdaC9cca5Z;#zl6nP4<0;^ z;r6etz9$GLXrPQrD*UQSf%*3j(jWCd;jBm@2)?bNfo&0s@|Cbsd~`G+1Y2OSN<8eN z5KPck1F6RH*C-S-HIgfQhn_uqWo8uudtN|jb5v-3tPhK#nO|IFQ^`nmo_(aI_Pix& zBZ5g$FQGZOT@k z!(@YO#P;ndbnR1ETtj(5EAQUP09cL?G?t)NK}X3w6_uvAll;bP+pIRqb<6HqF_(aS zOldhGOZzCly}3e?nDJYY8TOsGqUrUd&6}b2W6i7ZNZjBdzj$$dv57Cr=y9#}$fH_@ zid>C+N7ycviPc`DkuMNh(`Ru)j>y8^!})>?BhBp$ydr!3eR!3u|EIXWk>zf;**VXA zxSZx&YYCATErUL`I+`Sf1GOHlBrk^Xybs|OBUSJ`&V8FN z)*S{iLAn!=Y(0EWqfF ztRx(PKJCWvgwsz#RyI>HMKXq)q_x$ujCbk# zXEL}4iOh}?Fr-$uZv8vhAniI047znA{=UaGD-YF2DO)+{)!l#p!p3a-@<5-(E?`3iZ^MBsDCh z+B)8`d$GB;NY0{?uZ{5$-pcPWoE>i!zOtw?eL}OKB->5O(^;1!z!**jmuc_%xx%$< zCZkKE8I~O{xh&SZ^mukMlT+?Toq`382>_pAbr^0+@K(iPeZvnVluP;n)T}ffo4KP2 zvsVRSa$F$w^c6fstc_Mpu^q>7mi{+N(?Vo)!DbhRGqO@3>+Za(jiskce48$d*SYmcPiD0 zcgKgxt`)&$HB>{45w5RgF4flk&K9kCkAODTD-Q#wd1T&{uH&@X#s*z9A3+CZ!L75> zE$S#z-Q$ntY(K_~FDF1yulT~8%9pV|T-bLoRro2;Hhn3w2Q@p%kq7=-^`|6kCIzT; zcpT{$@KSuk;xKZ%biPuUMDG~fMuKm++X$0#Q^8tjz2ZrcYPUaAEI4F`thbo5`Q!fZ?JikW)4ViI}{ z(Iyk3pPAX~ySiLp_yO9iOO9b}ebU<#Ax!Y%uBoxzSeb1tv}WZ}E_aV(xbG-IiE+5b z{GeC0^2x-RBFnyGT(VtR4ar7O!z3%tJishRO&P4*r=RR9Uu=~U%ny!oigY)OnHg5z zu?Wz06nQ`TlJU~eP*Pi)A}N(dM}dW?vLNTIF^Ay91!{RJksZ-nZxYz5G!2+5PMbO2 zS(s{w<^2-gpz~3$iXjif{nB{~d(P=9zT7T?tzkH-r81HxaqTZ35|_$w!gB=dJgJ9$ zD9c5wQ-%@Nm&2i{O{ zd;PC5ac+#mQBzRRPHUj3!`pJ; zq(Z20bUxdOw81}GkFxNHFPTbS|M~7;Vp7jj3%W%8?e#`&g;wzrE5R)YPi66em-*mixZ^&|!m;((aYL^sCpi<4vp977@+gP7(B+DHs0=)O|Gd*|o~LxH=LX%* zvRyEnX%c1Akuhn$xLF^iZvr;cO27uuRlWYh(}i0b4lU&|VNmPF{rRlq5toZ(F#11%?^mQ&Va`YSq-ZF2 zt-7)XUz}{}FU%bfz*~Mr4gmsg`7>x;@g$<+Vd_7x0=@&W3Ku;72Pnn>H9V*Dd7}W2(F#6?roZX~Kkl5DxAgt!(B&}AS zim%*9I?NM5tnsxt{>)R>dpPG~47mDdhX^XZe6|T2W5yXypDe(Tu`L-^8@chZPEi)7 z%slk7ci7&%A?Q+YgS3qi?R%Z*g*`^K?#Br)ju;jXOCOF9A^nT9e?WJLE5#FacfT>% zIkP<)J1?Q<>$)k{W75~aMZ_DIrOqxA2s2&TA-#fbd}(%*>#!#ZfauIX`F-d2!a8NH z+8A#1R_UQs?Csm%lHL`stvYt5o^&3*_iV{^eS8xlxM>CK)C5iK-o<=)QD8!Cm?p;e zCafh5VL-7cUAc_5Z>oKawZL+A=Z(0TzzC}X5>!%pb&<(5hf%OW)zXrZrph4K^=1%$ zW !;pZ3F6U~$D0yuG+vuvA>_R^*M)Wpg(NsiW`BAyTJ2zCCWY{ZH?xL`QJ`)3nt@C$Dd||T6=P%FolC2374=|YXGMFdh2xa%J ziS&-v&JW7}XFf@&oahX>tE~5dIBVRxPa7?vELt zgE@kPEP1*o017B5cm~dl&(01_Yv1|S)THTeEr)1`xHfy4aZ0 zrBkkM5~gW_i|d3b$Yeaz)L#INGqe{(JMhF7U|gPpF+kA-KzixJ&wH_N>`&9sWcKr5 zF%Gz|Umf1l8o7_uHiQIuA=f%gst4Oms#X3s=Ssuf*V9WUi6 zrrgt18JPzV=d%aDcMRwoTEYVSYh3|I_T>Uu>5_?FRDe;W1Clk z>&PxG!wDp!!<1TJRMc52!8!+oq?U4}TJx4r*8fPH0%<;L>a>;{rwzxw4FY>CN@HcGRo zT-AOnk`|%kE=dCYcz)-&CtXC9q+eK-O_t zzN+HT&_;PA5lgGIldCs5(UJb3%r$WRBz?sUzRj{{A=d(jm(ZK+JZCa#RM5lXSvyX~ zrge{hFocnZ8z3$NIQ?!~>v~N$wXOa^w+KFfN95g2teE_NGi5`2$NCz*NQEBGl&t&* zd2*5Xf}j4Ab;@A%r0lOYQEp5aXvt8gGO5m7!-)VrbK*zue`W#r--n8-{=9*mXK(%d z$It%!>oY(9)+XT3-=(x?DaNG5hKWdx)V}Q!i{U>^J6sU-{2*imgWtTY;(j^eW$p4L zW*YG39)WimXqC$615K8)ianeb{m2`N5q_~bj$buxq~RYQ&wHoW-f&8+>dGR6$e|kf zvuq!L1iJW(1p36v#KiRS<;&dM+}DWj_PP~(Rh`pJ=t>eq;Q73{z!Bf8A~LZzA8AD+ z3Tb|Q3xp-F9OIT;)oS$G7IhhFG8$wDd2LIT0hngcQHca>LvkhYFg z-FtI=GP^SQu;<3fUu^yNaK#jvnvtr{UI!Hw6oU6$bV;WfFP@)XfrH=5ZF#^mHt4eN zRRR4q+Sh@v$*)mHFd$~cf3dxun!{g)x^z6kSOQNo%3RpzY3^ENw_>_;wyJC!kB`eP z4=PwXcW}?G$H&=^gE6BZ|PuzX?7rTb= zykI@&HS3e$1CzdTUjP1Fw2@Sk+WF>*1rHet9{nKq9%eni^U!s9^81%Oc1huxmT=C` z&Q%pJs6D3#O*~J)B0oDM2!y58EQek|DW~y==L3fHwHB7o?(;8YU>6gkbb(9RzVrJ_3{e=PB8Ncjh2|UL zA&D|#%g}i#%7O(#eeaMf2WvE(?B3sTMopCL*2tw^L;hRDLSi%`lLfNer&94>FO(-2 zvBr4uTz-GEbQ?bT{rd|7j&t3)dJu?<9p~T83wI(ADery-l24SxboBL0>fSNP8>dg7 z4hac?H9`(k-MKm*Tfj(}Av_iT4*U;EjwF7Ktk0(rQV-kwk=ijRn{~we@{WK?xG|aP zR*nBPKcPG)J2A0nYXREfLZK7ObVO3JFk1$Wd{QOaf!=$V6^ST@%=Y>$ z>nneM>HGKZOGv;92k-yBsF#w4&e)mMAeOoU9bU6eeCM8Bp%-21DB{!os>4j?s&2L1g|L z*(UwMUX)j89e`9p5aZ2mK*_khC-mO(@e4&riJdULd|RM72Z+YtrkI6OxZv*PRX1HNFeTm4N2Iy5X(BO`cx z=X)vDBEkZ}U(k8eO3yI!MK)I2@OopEG_e5!l$f8NlAXgqSuz=OXe$qWT|~Kdsq@IE zTRV9MAYNgNX1sBy+^YW)M|IM94nxn*kNP#MKrL_w&<|TeF^ym>w%!iDI(<(j7=_@r zKZSvi?Jy*aDtQNOCPap{&)!tC(fZ}E!;iEZI%I2_d2c|Al9cSq-1dwhsnAkjzBrqj z{<)7o20b?CYM2-E@x<1f`_>#Z-C>S`a|alzUqAt#Y-Nt)zIG*b6_&UJ-U zQGnUnTJgZKG2}p336pOSg=zbtOtswnP7dSdkZUD#q>J}NX2jqHd3*_#MfbIc7bDoP zD$AM;e}h1n$sz3KFPvM@*erhs-%O&^ej0k(NFHifV<;r2{TgVDzQ$k7(@bT+l? zl>)(mn3HfkV((>6mPJvsO7V-#2n^hR4KNIWm^panmbO5Q>6YHe1ihX*Jne73jOWXc_u8qC2a|Q&7STcJA)P)BJhEohz`DE#Avf1lSmDRRxSe=rx-BM-?tUqEgVu@tFVC!1GCRG?q7eW8Im^#C$YDLuVr$ z4ph2IW-7jBMqgKt(Z}ZiFcmB*p;1Ftr!KCj|9noJc3+F+uPG3L?WY}qv$bsTTu)h5 zK3up?e(RvLM^!@us}7XTE-Q6?YiS2NWNAy;ZI=hcK3sUgGG7Sw5lAx6lJnf9v>h!I zdi=fN+4%FL{C#~#wTkjo&F+oTcuYA#B}FO_SPm4_wFkW>z`na~Z>~jLrMNbI`1Avq ziIX;Q75Y|n5sLZ)BF}qAW<2+3`yLw)3kpJ7DDWe7%|yN^5d`0MWx1U_H@362LNhy1 zewC9`EzalI2K3XQd&he5(=4=M($aFV7lhp>&Gx)F3Iqg# zQCC|$_B`Pd$^=^y8X5}z`P#a+G{qFQ2PMXv5fOUC`{v1|b_L_8Qq-lhMnL2D8c!QG z^i8F;<#h~*xo=Is+Dm9?oA_vf695eY)Qgv)Marrnz#JzbVQboXtb-^20$)B-zeaaL z^<{9#D4ZUGB(7RHP>x-0s_oWsK-Y6)%ycPuUu%Wg#M3p*-n%l6mpyGd(g z!~_b8g(HN?>~hMTk&$z|d6al`P?x7m_C5LhRCGc$pq`pp?qSQQ?+#_G&Bgvf{#($2 zHS0Vk=s4FYoI~T@tyW;3$U4~kEN+HgWvQ-3KA*_fJYNz_Qh0g))b z!ELTad~2XlkbVQpkVy;NZ4)qml0&s&rSQ_dB4dHYT=UR#Za*d~VEr-Gw2s*r4uYJF z7)dtqf>A#7gh6Qt;Ap zbKAp)hlL|{bKgHh%|!A0uK35Yh1R%5v!Zr_atvR;MPNOC;E=t%_G?IoV05~lCRsM0 zP9*0@_UH7FQ)W*%WYaH$^kG{SYt`Eg77kK)jaGnzA8jgM6BX6aTba2#K{wobMgEKI z)>&83y)?vhHPqkdcfH95fm&ABLM3k9&A@CL8*uf3>!RKQ+$&%l?yo}!S{Y;3g->wj z)8VIy8q7o=KrRD~Ia~-$Wz#um4yq!R@V!OT>@dM8TS*TZ{_kp0ztk3#OjYaOy;@8? zW5tFlQTh?r%KfgXvW+c`({p`tWuK@M&3@3Qi8B2Ly)aW2>(7uNzu)0i?~3csGj~HZ z&XYQ5k#TXl_iW5-hGz+dUP1HV_W54+w%aUpCa2Kr4=Q{J2kXa4tD4tJ=H}+Qy1J5* zwJ%RI`t2;(_z_Et95I=*wZlSz%E_=wht#=R@hX$ z3?@P7@YjKL)iee9js5hCWqA^n)r0jhAlQM1Z2F4J_Iy=*fyH?cN;!Uiy4fVS;!PPI z$|=r|e!34+w@=9nE*=M*+Pk}@!x`~z1zwan)0_x4w7X3J+S z2g-t$+OuiOtOgW1Ojh*uZ{70L`SvOqHE`$GYgRp9%*G*TG5hI}wSne0>6nsrIbHjg z3EaH2g?8A)lkEKhhpp3YZry$L^S<~DJ!dbPwKd$R4M5trsPgJ9&om_vT*S2xk^tqH zEWU1FR&SJsWZVwQ;t^&sitc1ugLoMqk9H3jYqTAy?SJti2c${wOWigOVk2x$=~~3P zTO9rr#;ew4@FC?g%9%UsQBwz#HU3@74JK=|^DEf?WnR-nHtLk}d-8yS5S@>6hl}8Fy`A2quzE#CDm)>(w0p2ZG6aCT{R}S+>w#6S?J}nL#8gnEObGlR^*(>jN9*D zH2sp2vMX_P!fVnG)i`DIxDU%v+IoPLNA|83ql`z;E}|KH`1ZaQeG2-jR7SIX!`o~A z1nDZ?)s6|9>6r-!Z<6!Ne#h_bx z3FxcZ${#u=`gk2@Q-m->r)p7U>Dh$g9mm-1OLsw^hESu!JZHB~yKqiGw{EEE8`Vam z+DJW{c)4cVQi6$>SmaOqC{teW*Z10~>`C^vQ|Wf>9M;GZ{ zHpK6Q&hDrCN@2Z@x{OdYbkJU@TP8~v!JbDZ&<&hd{#5E2Be8^}@Ch=j;EOJw-GF}2 z*(-B_y{3YBFuQ0Y%@ho|1^9+Z$t0OL=82S@_f#jolS8lSF5$^ovl?!zI_R(Q8y806 z@5aTKm&-OpzlH9f9`*OHsd{0|WX-vHA+zN>-2&ftlz!iqiW&H}58>M$KSrHfCW4zj z8j;1fO{3Sc*pv~2akW^pXAhoWq?LKumd(1SkR3Bw92((Mb(f^0i*wX`Juy-IHV+S4 z?F)~7IC`E2+|!zmM;z%x3$) zft;sdUo4rEu9ue-vixrR&=NTlq+7%%N_+C!ugM`%_V99hi9W!cYGKV)l3E)D+ATaj zCc$$^^V1<~)7`hIN4x9WLC)7Z^eQ@S$Cy=X8yYezHHXzuD`Rbxr0-VQL#h?U6x#h zQ71Pqev-xRHf;_aVeT(+>H|6$xkpGS{xn00(ueymgD<~^Ir|Un#KcLNG`Z!RiRnW+ zD=uE(l8%lQ#%Q7LTEZF7+K#uf^*ovXA!7m}z>K)=`Ju@eP)UfJ_ZEit^^sIzOI_r1 zb?+)0$xv6vSe0Fg8yuv?reWiBVvyni;WioKG@00U-;yQ@Cj_Qv4BTb@JfK8X?LP;Q zZ2v^2jCNAC3DRoEy!%6LQLhPOnwd&*SDWl=J;yXT+XWVXgF1$#@wVG`{RIfq?c;Ji z>o_YMs7~#m%yHY355E#Bo%cbp0%&JKtrjHTNawIxS9py5-TK4oxY@IM8nza6>;h{~>PTvlk0B=wmv#6C|KD2D&+V z|758Fg@H%NI5p6zRK9V${b6e)LN*Vl&EE-`*_mM4maW6s5fyTf-KcT0H4?;!P@wTg z>IjF~Tdo)MmDV@CeATA&ez&sf*1mEYC~=8(Ukm*0QwRPLpds4xW(9 zsNsoZhB8@<=Z+*IOx+KrPB^Xf4Fbqo!^d!GsJAsWVE~DmZbQGpc&K5&oXOY#U7Gu2 z2}>0EaV?_5X{OiSA{+V+%+Lo7zC5HHCP&gHW7YOS9Xi^`g0=hM*E}$A>srS^2LoE- z>2#S4sB>uC3+>o@rn4&3X|yJKJ~lv&fNI1E1%lpIDdpH>fpYHucNevNy!prF*O;Or zL9L;awnc3hDjYn)PBU1;sA=NhvTT0(Jb#Nlv~fX-W!k}(F51qn86d78XYk=tpi!pACEtDSX6wQ@HKpEAMv~tWL%qU z7uuW9w~1AXkAL3Qs!OtkFP#!%WG*N2BZ!rQC^-i26S|LL9f^pdht+dC&+QvBaCto% z@BJ-gaine(kH=3>ZhaYh+QMRVUyFSt+4>rfDekKlLi>E@JU;s(GVMwE-uIU*#)I55 z%NYDYsIa^`6d>_4sWtfFkqK{8pa-d(7#jOiQLHE|JPQ~M=0c4sL1$hMdSP{;O!Lb) zFAxM9hZuh=+ihVnUP*NXN#@Jb=a22n-#Z2e5$fYB6}4eUqj_dYEYxm!CS+$jcpVtT z6*MTu^~AkA25QAZqbA)7TDWs7-Fh9+RjWIEv%7CoX^b(~VCNPwZ9xE3&VHbd6U3~c z()wK&@AiOzQDMNUzi!6%9VikIh+am^(tS@VEy-_t5yKDSr4yV(*RsiB50O2)d4 zVX`i|^nmcRVZhtXai&t?pm!z~6dLjy+=f5IN2QiG_q za_wR2D(RK7Mi+|Tc&^&=EeIcnslWaNO;KKUeetPptx24-gbEwysGH1ff8n!%&3*}8 zr=O9h_vFE&2GI9%;NJyC7cu}CwFPSkp6|*Tod_*2C2eYHOri(V&y62DPap6k;jwyx9L*dPyPO? zk4xmjH=S*2!dJ|yGo3|E+3+lrNs?mJ*UmSx|zP$!`%Opcg)b^eWOB#Ev|`F_r3WE0P=8I zlSB}zsgr5DSwW?Gm&9LZ*?luSndf!9W_Z6j>4oqUo%2Hz+N=Gt?|%HwVi4E!E^WWYOywXq}zQITg2 zL$eCQX{k`47Y(T25U!7mZ3UJ7_*EaNJ4`*K}mk)H#6J;t~)TZcWxMC?~%q z8{2(?f&wg{eY>fi8p0>pk!xDrC zI;j7i_+Bb0@kEu2`8PvRGDU3-TDOMijvyJ(l(T9IF$A;-e9$SES%`fyjn(46jH#kz ze;<*M;P5aJSku$y9~gCLcxkr!_U@;i7$|>zK|X#WyS&UP9>3Ng2%P&`IYo+&=HAB! z$2;x3hiQM87D0U?JzDdeE2(2FW;bpmRr*m}^aqVUzTQb2hqT0@t?1*3q7g&?sn+DE zrN91K)h;iystKMKbk2_jp(W%Qh2*{MN)v69`;VTz0@x>v4w%vuQzsCbi{~YAV)IRM z9uKOSXq6Usg)38(fMDy+oo>);|FSSmoL;w~B-)%}>KW<0Mw@8p1Z@~V+Jtub3OZWg zwqQpjY~CB-lU+P#chRk4CKp8bymWMSRd4o#xx@6a{ZC$d^p{3W;s<&~_k;%S z#Owlr@V??VfhB*S-!`i$`2<&fB#G?$;`T1%T zH0Q>yEv9CcmG!fS**_U4DksKTwouf{cQaKoTer7(%4;QOkP2yiAvL?ImNe=f)0G#k ztLu}0y~KW-ITw?LFck{-Yi|@lCreDr8~?nh5L^<`iSrxro(vxST?dQVA2nFq5Nr@+ z)-YhbJR<6_vKOQuN+8@?-($d{qi#62`xo||iOO@-_ z$Vhp12}l{vqiKCN*7q5#d?FYH<67UZ2{bImxY)Ry`3IDuviSJ~HMVgeh#LjzL8IHR z;xsSp;gF*{swB?H>@(xjyvcgTU4ken6oBLE!KyCDhF{zs+4T@4cC>obF6? zwqaok*gL@N*d~-2s_yyGD&#DJKp+U&(9_b<0T=iJ%e=v+y&lfFG{D1WP|MPX5w?uH zb64jt&IG?>@%$_Js!F0tNl3#|=pE~%rX)(owbt@JNa&54EIZy93#nusNyGZI|`qn>w$8gABjqdv&D0jMV*=fqjSrbm$keNt90q49hTxr-a z0fHs6U6al@F90wQCV}qyeF2gtR273UaC7c!`}i0LD`=Z7F5w$oz)_3q>e>K-FQA;3 zaKcs$=-9962;JMEy9ci#kvR40pvSHm?^CL092%6*fuI0&R7HhoJNiv@faCV&8{jp7 z_kK;rvc5jKHT5QFX`(}Hr%Y-wcji5U^3*Bwo3e|W_;?)k^Aoxf#7lao31+Svcf;)= z3B8d?_|f}!6$XwSZr|ChlBNZq;v)G;oR(UUNUe>HSq#|f>h~R@rC0q)6k1}k=;&2{ z=QaP>tDz+2&QHo27-xg7s^>+nZ#Te;<2oF)fZyXJ10>qg4bqF=y%E1&(hxf;THb)) zfjUR7GdN@~OhMHH$z4m9b_EpkGkutD0nZa6He|bDEMxM8?LXDx)lgzn@#Yp0Q0fus z>fdP+n3F@aXDff^bBam6AHBcdn#xk0E3km0x_A8I#OQbBdQIE-Ug|FOqL86}|Eetf zRgHEQditB(_V1i>{zIvC|HO@70rKDMpVxJQ9T5_`37lx2>xKA2?|S z>Z6xe!72b196TGT(7E$MB?0a^1*<_ApB@;%sR*JYU-8>T+IjjV?rl5+8B9vmTd%LF zq+v`?S%`EnRk7c{cj4>rqW!|PP+>kwO`Z=4E8cHxSS%Jjdtu%9Rv2^GjTQbEPJ=PN z!-It~HB{6qmIC$`jUeLWU8Qw_H~`&_P&X0_5#r4vBBgq!$>M38@D*s!KnxyE-U0r2 zz&++lT$4bX5U*1fT*~4qu5t#ew}|f?fo7nI6%{0-xs%7PhpA z>YswjZ@k^GAcm4l1Z97m)NONhok7|ZY@r7Y-VlQccsXnl}io8^a|~`j{5ngwIysI!3Ulw&Yv@@#;R$8?L!lSFG~k$gw4!3uv$+L8+RhGmz5X^8F&pR4}7F zCPcI@*m>|vZY#(Xv$0bAmQXnYZV=?)u;|PP(k|vyj9F@`@A;?+a4XMh;7wIPwyL0v z#}qbp7b?sF5m%v-X@PEYy;&g|n4;9EL;YOfY-Y%b9~XDA^vq-Jlpmv`Tfj@yZxzIn z-6E-Dj44I=euel5umImj@|p(piF|;}(m)_ppM?Dvgwg+&oFHdL3RcLo%tSGElf=JY zsH>r1lqqqv2(VYhw(6bxsSOqH`K1jVoSjW#)il^+QK#Wx+Hor;E838nNgZXHhjH1n zl@fLA=)eW)c`)_F6&1Z(`A4~0v?aX5%bTC^1tpqpT=fe?G>y!VE zg}_!f*6{Do`e_bcT^Kn7?%>971K3f(zofU6%(0W_6QUGaqnEuOF0 z0*=Iv)3SH$C(fh|OcvDCyfxs;M#gF^1*nEGjHs}7k~H~cU|~Ah#g_7YO2QWz86V@S zvKp9D1_$Nk%9RZ}3$Srj^MmH<1BgWGXT^J=*5Ur=0V`xbu&dY!>ac;@KE`sIHcb;< zTj~F?Uhe|=ExJozfcd=n{f;l;RL zn%8M?FXTm;>OVhHl-?vBBOcF>7Q9(F47}7x-NCJu@&u$b-oPyDO)9Fx8oC(iWd=LG zG~CVuGZFV25(bN>-vV4hKN;6-Z5H~HE!h9J-}tWwZgnYxQS!WxA36bZrGzUA&_;cf!Mi(LuTmThKBQPEao9%UKkrzX|2@11l7pLD>OaWF5^L~L1;8TXP zwi|+Z;TcEBLTu27coD`D0fSJ&$nJ@WnSzBCpjkG6#~`}Hc@e#mnjNMtE0*ay+DV0l zOkfUcoH_Qd)oECm^rLqwFke8Ly8ThVQPDp;iniZ^GB_7+2ndQf%sqaI|>Y zsxBH_j^MIBczi0W64H8lqK(U)%*;11PM1xcg`9Ol8Td_rdD!ci8`rIh+)VtODRAZMNGq~-QvLC?2=!YQF1q*%q`l1$sD??BTlI3Zj67Wka zD`2$HI&a>u+M26(x`S?#r$?$$I$RU(O+>toN8eeX_`}SU0rj?8#RvZTggE{z>a+eQ z5OCn=NTt8oxE?iVn;fqFI+Q)dZ$?61|C4=ZdPJf?t;@UnW3{f6fB^oc)75}>eDQo2 z$5a--xykeUV16e4r>noXbE3xJA9%#Cb!Bu~{1ZXgk{VpT;P1!Z=(%hqUTpD-n78-cWKn=e0 zT3u=81KYQ2g1>QFL|Vy$Q0!I`zNvLZhXKD7uIa{ALm`&VJk;@sfPiia472-cVraC4g9Dg)@vlLG%d z^y^JE50bi1H1O#7y_zs|@PR>W@q!o>R0K9G0r!M`{)~0uVb(?Cg2Cml%b!>Tzy*}3 z5beRVqRwk;P6rRH*99v%gBt0{NUedJtAK%g`ZlA-lcf{tVjv({ne397PS&YIVs-A_ zgFNLnqJjl`G>j?M>8$$OH}cE0fp;Bz?s0~B*z)E)wK6%tGBjnpZ-7 zA$nB!Up5gN)kcn8ze&XMFT^n%v+D!F4ah3jMd(yIj5T+M6TD%^&RrR0hKRNTey<{N z7EdDMo}R5TX~f{&JFt7=?0qNs!XVVcB0T+>2(UV6pS_NEcUxk)L57+O3G4PDne9kZ zylcm8sbvNc2j53Ue#_wY>VKe(^lR#bztM(QMl*noi!2gFZrf{(;Kk_j{c8Ph^j2hf zzx@3WT1b?hs9&zEj<#7Cjxg8{%Wj_m@juQB<4Bk%wtkKyfwr?eyv=aqfHauJS)E3e z=9BWIVH0{mrzB=E{cl`SE&0ng5)>81ZPrSKh1rT=S6fmJ5kav`6v$myo%I-j5IhizoUt9d@4%C==PCf+mTdq1T0wM9 zI81fz0WOIs=_cO51wa!1^2#Oo`Q7j(;bcP4O;(A8rK+=lR8=z~-)|+@FY-e}n?-1S zW5f8Uj`}lP-dW7V71gY%Qj0z9fy7R8V;iVO7#Pa*KJt`bjYEmQeWy%6B42$wnRZ|M z!>u$)$*?2M9?OzA<{<+e3`e93%+mmmAM$?sETrS?-^Zy~lg>?G`s^*Jz&VXiSgNs) z(3{SOM@1DFx5NYpsz}?_$}2G`vexA9kAIXLu?SKhY=G;|R#ofjcuGSnchlqbCkjyC zS@w1hA?@89|!2WYzgEAg2~_4 zzAGHntxQ&tuDW7si@#1(L7h6~x@Pl==#_~XjksJGt@GMmNW((Ovf~I&E+aJAK0%0z z9?O5LL&@e27dTXl#A6g0e z0!NVcuX5b} zmJsak5i*yBH*@6OLTl_XdyQ9S0%T)v-h;_>yb_l1*7IBSpD)N5*eaQ3?%e#G4vLBZ z@Yd!$YD&f6*M6gqvKvV7gb`?${zf2L+JHcypK9~{(*pE*yYr~Ay+u62{X(|*Lxhu# zi^uTP7BW$HKCm~*9xBq=t^B5rLzab-Ahn9jfv(JWq2Cu-v3CrbUBJE2OG)=gSte(iqJXRE*vXRD>J0_) zn32PQ;Pl_6wU5{HJl2EdXHD5W8{z#+NI++2udrkXPsThDXu4`*C+YspI^*#0YvlsD0yp{ZLPqc z<{gRb2Nvxv9J2Af-Jl8M-GPAsry04s^O!tM4<9~E^!-69oSQpgcZYays%%gF@#cqv z9}KCQJq26})HzTH)rwrc_z9Gsg|D{bV(^iwx|ZrXljGy+;DZ-GPQ5wV`wNtuH37mJ zG+Aa|4I7f+tbgaMFUaIlQ&dxH0TgNL;$${%I76vOxS%0wN;NhA1)xyrr zqHFa3&3|kLu!WxI$x04zLeP3|%KicYf|^~qr)-0M-{eX`O=8RQ#;(BQPj2G?u_cjv z{r?HD;4|#{Ix}y;7%Avs0iy$3mLF0Fj;7LZG5=;iI(O!)IDlM&u2003K^|8}nyrUq zc3szTK+n`hkhbnz3=X#{Q&&t4+#uJ%xx0rs&&XkcV(f zO7n)}Sb>W}Pu^jWz8$C12#bnhz$j&E+@O7gEC2!8-+cvpBehaz=(cJSX;1Y0e9QWc zI|)P%58=7tr9r%TaEnTaY8F81fATAcUs?72ER*7guaP(Qf%O?!9L-$a*2LSgkOUx1 zU(@9NT!IneGWDi(Ryw=@e9SL;pab>`X4*{}MmjiXA^cw)+87Qg!fKoFn5&7R{j!BsqVjWjZImBIU`!Y>XzYH=ubB>>jggnkhz+Kdo8l?5)-yy+447TlTUxqp z+Fa;8$UVlf)J0+T_FQt%0sLuahGtKUz}g7d4>L9O7Dk(PW-t{T9Blw%{Wne{>s@ll}!)$bkdpI@Wh zNW3wy--4Lqv@e*^dja#^i`BP3@9c^j*)3B@F^iol0`Nk--f5Lsga?xwMK|)Xc>sw< zcX@ap!{t`9A23#hCC_eYI4!k{TKs|)|MPp*p5|BwQnJeIek%5ItKz4Jm(#M0CF z5>}6)Ba8}D7EM0o1KiGV=F0%5U*+L}g}8L6+@-G6%*5yr~D%jB!( z=ikEhJ%yCq2|fEvE?DyZaKP&t;|Y0B{@zN@=t~)|NF^9K?9~UlyW)sk^qKl6qP@z` zZZQX-<1|9P?RbhnMxjRbE0TQh4^H-NhO=8iZ^ZTbtd{hA_cge3GijF;v zYVzo4)a@T9zoXe0y*Fug1sceeV3lOpcB;Yv+Z32#9lVX&3FJIXedKf-$;+<;=?U}- zM2-vmFLckl!$EC^7~Ck=p0+_u6IaCSUY^3FSEK<4#Jfk3abK2Q+w z9Owz(*fx)Uda2XibmL3j12NsiYSs*feZcs@MMAsmv4j8GqGMzAku9zEohFt9k(k&uQIv~JWD4Bc3J=Z*^U$vc^}qCg zdj4FBlNvvWl)#!YR28||?PW3wgQqApJ_gE1Q5yN;SG_zJjnHH~+J{6mqA6N3 zP*HhcL6sIY_&Jd1^F$(`&P-*lZElkBT2MF9)6S%M}s{j!03F)cnu!}yQ0_z8 zd23AP6za>WK@7_EYRIToBNhCT>DPPw^2c5?Al^DX4M-oZJjV#*s=jG|n0PrG@mu?j zi3Qcp^n++xo2Kr+pnK`7IKIy3 zeyr*esHlQOgdt|7rgo88I+h_UVn$lhS2y+CQfu@kTZB$o7_u}8iL@1RjO>#u z(ZHTWFU9e4dpr_XEY2;|OWS~)1+Nm7mI-K;=Bi{l9^89lWBB*;!A<51@jbF}A9C4r zL!=O!nG~RHxM5+z##cYPHE&+3UWS5P457!@GgBZ=r#+I*; zf~Kv#-55lQ0NPLb_oaMZTvkK5dP1Q`u)_f660wA#f)jSOyF4ZUOO}p<#Sj-#Q|U$Z z(qzqXDO6FB9^>ez-lio8aJsu=B!lFs+xpypQT*=YqxNgBF5{v^Ck%Sm@imW(5Jh5^ zJxZ%-ZuU|kgjGqA5_GoQFFQYA)IB`E`j)4_JX=e!Nk!T~OL07Dtsz+Y(VAF8w1BBO za~GHQ?F$^qyFfyLF%-cN?ZVAL%e!F+bf@RYQ}_H0l;)y35^aZg_MQZg`w613jLM)Y}6_HysBklbA3I=Sj@SAY{Af^lht{{?0W=-?UGQ{hQD&p(0U8E(SyJNfr(} z8hin7os0HsS)(g*&+u^Y9nam3cO4lwU%sJU9bwEZv%ySH~hd zf^khiLPQKBBGFN7M z6OMq~t0pgXD-=>*vFOS_X0bm%>ak{82iqD1Q~=}9pYd8u!P&I4 zw}*q(S7w#=T%9lx%eN>v_@2D{%bY5wDLHj@nt{Une5=PwFtB#Tpo;Cv)nep`*Kq7u zWn>=7$@RkbF#W>Zb)Dbx`QJZYKt7uTc8@&5#xAg|a^(Abt1v~uaOTyw?L`4T2B~K* z;W--G+EcT$+v6WNCd!jDpZE9Q!f?4*OB}x;P$cG{j)D2ssVzyX+@rf&dhy;_cst5J z^I8#6|JmS(KjK*W8&SutIYcg_DjriMs%z)yMB`p9RUJEBcXaG}|EPSwEJ%)1P5W(O zz%z@syU*oV5n&{FYIoF`(kFmW2R&Ma8ead!e-34k`qRbdaHM>v&iQv-FsQz%fE4yU zdwS_nQ!?bRXf7NnxM#e!Xp5}OHhV|ZFfnF-~@97jq$adELoNE(BJ^cnUKH}SwBVtRSm z@WBIkLF5m+dba9cy*dZxYai&ZAgbSe@%fF6ptLkysfudU#m51kgoRfWQ_uKbYBK6r z3G&A%E>V$ysGA*ODMV-R3eNgmUE{9L=cuU8rKM@=nmn`qD~7M&JQV#KA)YPz*EPOb z;$^($0Y?!6-jy@7NYf`2MumFtK6|@u3`ISbuYTN zZ!rS`E{R6*nDsn8_qj(C>2X6)Xng!T9P*j3jIt^@nJn7H4^6?hDJu2teBhfm`?@Y2 z@UPeN@WW=?$Q2b7!XhJAzJ5*bqovEy76RGH2Q-|8WHBZ02V+(23Br}Zai`9Nf$YRy z^76UGlGr+igr8pBmUHK`2gkV~@00O??l+1~+Y9MMwq|B6FJ8Pt$9txCeH?kls`|t& zu#<`=^hVFE!30)J6fchJG})I3%tZf=2^Xk#D9a4QyN_w7<|scysB|n6a*l`>DB@vA zzX`*xxhPXQZiA?`zSz!U%8xMRb!FSJL_~66cd-`?M|qhIjJ;RXH8N`97Fz)hcx(P+ z9+r%US4=KSk8FG^5*+d<*H(vk;mRz_vB<%S{exZ_@m&>@Q)^P$uhnW2N7P_*^`!%vAQD5IZh)y3=_M1K+fDX${N zU;3HLeM7_MjUejlm2f<(OpLX>qM~;y9b%;oX9M}ymGoIzS-U%6;|k z@Vaws?6HQ^NqR7A?24>Z2W5-J=&M>;Uh^0c2PT0Z!+K4sbLYIGm2 zz%dq}GoVO72o4N{-P2gIo~xrmnp=!bosm$2p={(-uQaF*_V&)#`c|5@4d*b0b1Bk8 zM9KPd!3=H9hrt#k010E@8DoJO+4Vu z8%GxxISq{r4+JVVLRx>dloX8|_3f%`6o&I>aCcxB-`XZW_Uf|UQ|0rB|9`d1x3*ZF zZwI_+sOhmWF$lhK0!6@HpTp?nc^=IPxytm-Qbz>TrBN5p_KOkC=H=?F$i-TYvU^-= zD*GxhAy<326QbH~$>KQEx`RvUMP28WqP|K0HXz{U>Zn46>&4UZPoIQ9gPoZf%&o06 zl<(wSxmGdVmle3T(2XhYkGH$5@kv$;7aLn5dMr;-UvFb8Z5Id*qq(h(aYM{xe@eA693>Z*)O+7tJfv%rFFEx!>^d*_Qoax(D~gtvP6lBg)o{9%wxr z+@MpqN!dmVz6XlDyd;NOnptY$b3;YmF1AX2Jg672EJvD*(x@k&N|~Aq+Hw9_k^T32 zxS94`7LNG8RXsFvzv84KePhI^duiw;e0?pm@<4*b@N-g9XgU>9tlVZwf45wR zJ*owJQ5>wS94suk8YQ{u>CeHfcLNK0p}msd-hb~Bj(pcwktO)}w@O3fc-=HdjdU_% zqY!mXOrF`?xbgW*dE|ybH)iL!ZuN*JtKxXk%D~%RB!$20_djbO2~Cv(9#LC5QF!`- z_7(^8X$4}sGN!Od2-=#2d;Pbv6vq_+uSL^9e*E#t`_WMgNy+H&@cMJ-B%SC*`?F*= zb}e1LLO}Go)KrT3qK{IrNS*rcLvwoh@0%jdHc6w(;NIPER$?>rHJ)7wr4<@3%t5=o9#O_pmTTqaOHulRGt*lHI3d-=LB*fd% zIoLtL%O0ocSH7jYn}R~4gzaXQbE7Q7EDpinl}bxJw2fEzxgN;^%0fv&bV<6Z*(@TG z1ZZa=2dmo&CW6@O_BXUwWH>vuL#JM>~me+ zYv`CW@Bc4FV2^v8uI>7L=mLYEKIL>QFlD>vm!`_`y=Hq^S&5{sa?S+McCDOz*DOXv(a}+j4fSaQgSZy% z3OjN#^9|sA6SSGifaqr0b~PnAyYj%|1VoB=@L@X%VOsclkAY4GmrG<4ru^a%&u!X_ z6AGzOo3?9yNe?1OC)Ba!Z13buy5jF-U-wHyMpq7C>4@Uk_$+7iu|z@XS&smpM6%v* zXiYx;{ebmJ^!4dFqwqgUbAT8`nqpV4q&3E>tyU&*AwOf=1om9=tx~&6&IO>dbiL7R z^In5`7zQEneZ0JiKw8}T2$M^b%P zoh8ydShR=_Ohmf#t`&ZwS#2vzA*bbN)YGTQ6%~&Gs|dB0(rWJN%8F!(4$4aT=+d7! z2}`~_n1ac9^#w8KOcGpaX~zsgW8|fB99nobVf9T(?kZY}@dx%%LRTkr6_=%f{-Gjl zk5nSHU1(x%FklotlHYDo->VJ{16J37pui=d8;iW(Q#vR@(c;7L7WGuv*S zCP&4lr~DPC6W$3b+P7>Sk&@(O3=sq2Q#dZ<9S>_VW4gnt_B~9-gb|?=pr9a~m>KqQ@Q>87)pu#z*t}g~NgwTI!m{zP@+bLVi$sV}yq~ zFy%)?M9j^>u%{HlPl9yVkiN!T&yc?wc4qWW4Zg=+3<|+<}j&Y!{ zttxfI1jq>4uvt$*%`|Fu{LirQzyZdt2KwD?N6_&oSW- z8YHRKn@@gFE)K!aWldK)M>;yBZ)|>MW_oHd($siGEl2R@i(SR_>`zdqB(esn~Bof(I`Pv*`Y{C%sHkrkMC{E&9`><4J`_02ilPL7Bf z7#UOp)1Z3(&}K)QZ_`>jcS(D{eD!LH@kEBaYRLI6@)1Qd^1PDK1@A{E6MH+uu6Y7J zj@9VT=5kJu+2~BhbiaMM3BIZ?&)dI2~J8_C2+J#=7($Xl#MbZObuXq?PbU60t)@P0Kj7^THJ>w{NFI zLZ!IKc3*~xl>F}?nX&DlmA$O1q? zl(WPA-l(H{uwZPa<>c5W38tikssIR~`4xt7@4tV=g_q`xEY>GbAbn&+kc(S#?qYQs z4ZWzOpxlNt?JfDO*mU*J+2VTU78VOLGhQOW89W&)KwUh~dDdK(T629On0$YUNPp*& zv8k!}{jV5B^zxpvm^hq{b^fE^Jc~;;Dr5Y4fZ^cIQ-Z|r*fRbZUGS-OTN2Wjvl1(@gCu)!B5lzf|A7(UUOXWMHr!!^1UPxZWuKrW;K$`r#Yd zr2KTY6bU45hV)PD)k}BH+;-5SOXTmqKn}gGrlzN_zg8bOC|)2X`FE80cI7|id+&y2 zID(L^DYL`?9M#%S@=(vKI{#{bPXX019seg|ilOru_VGPs(#gmAj5mzyp^Tk={yY^_ znA5hezhm_8->awAQ1NdBL`O5WbVH-6&Wiu{`{#;?6mrt>05~gv^SAhV!5&9m7_oWv z?OsK3+~s{C0=o470Z1iO&q-(K=0Ys9(0Wnr4lAJY6NxFr8tyy?5Q=G}9}KAXz0vJI zn|l8Jx=8mA-WLtFAiIl{JUj6}{cyP(Ki`2sc7~m~ebJPiKU{zgvth>$-jNII(EXIfyx;s z3i#@uUu9lY?d6fn{B6BmvRP4;ET?K^k`SHZhwrko&S|7z$(rT74-ttMwj4cQRe@IF zdeGFbV~HQ}aNvr4b68Tv%p?=ng2)D7M729H?gSg!^Q*|A#)UuM)$2(CnssZ&zfLM? zL4rz0$wBo=V42hLcFeTs$#zaD{Fo|DwyJfh-Q3)o4&eijxW2oOU|6!Fzn`-I*xiPn z_KZe>A-zs^c*vX9^pmCpk?OReJL+aqN3PTa0O9@%fg6c-$NQXU{@F*VB(k)+(b!Il z+Arqx-&mNm)hhI8i$aY^WvF*BdS7hezb@2g~%~&HIP@Lg`e*#8Huv?fn~@ zn=!(!4v^(xhv17BQull{tCtr+fE5x_4v<%thF^|O2e|-uUvKZHwl;%~ct7k3UX!nm zbMjPBMnb z$aBVqRp@z3mp5+fJ>1z4?TWtvTT6~2b?iK?zDh)tmosBP<2XMb04?mJ*=NOhdGFF0 zo<7Ce-)QMw>uLzzM8gf5F#A%mKmDjfs051Zjg4gJt093Q2tW15fUTWu7`rR?D(y+h zhY@)Z+S;@Rt6Z`1Z^^*k;fF~{P>LVz3=8w!V=_XR`KgoHqnf_?S(@0r!Ijt&$7pr*-+=>#Tnr(0>x9SzxvC#AfPFJo|PIo>EMOQg@wm6t#;SGl-Zsw zz5LKCZ4S$Hna`pApeB~)H>3$bGMYTYzY!OfR?mfIH;WNIc5d$RsZW{E39f3(x{7SHy%s*IV|QTTr7texS-g%D@W_gYmp>{Zo@KWxn^6h~lnA-z&*R4ol}@XNC063_znd zdShYV!XVduXsV1000byR_O)_4Id)I#GfHsn%+^9sW@r2))^RNiK;Dtw1O_ys4 zy3Y0VT0_fnmL|06H-O6SFpBgAS_jlo;M z-b#OOflDtcpm6@Esl5iIGEn_NUiJf=22h@+=i)oFiQlysj}tT9 zqL6#zk5GU<8TcTkXPI+efcq*u#QjZYYL|y!%A&KfPPga8@a{ImJ%ShspVah8Eh!`7 z79bvvp+NS2Vb+feD2ew-{<<3v#oSres4<3> zn6&iIYBr!B6FsMig%D7*R|c6Z2UGpB9ODTIF#a^%b~`7G7S$0<;@ z-J5~#L-)_Y{T{|8epU%I*~9A(QX6aCewNMDi_M<*ZLR>lfTE6{B{pTXZ^Pzuckhxh z6kwH3xbjFP$3QuWOQ2I3=+kc6`P9Af@u^d;A@lLgQWw$`L9Z3xL1xX#T;vA0$Nhnn z7X>k~|HksLw0hwhD?7Uv#u{`Kj@ZE2KMlYv%Dv(}nX6}AX!qX#k4yp>4XI@L1=5R` z?~vs?ZJ((+B&Du9+Ny%GK=c=it#!lHr9Im3bB!mkN;#>=T>Qr7=74~0j(^DeoL2Jo zS4{auBQU;vAhRm+?IyWC!$fb7J3acpA|y>0MuPiE!mi1^G4+lh2MaN^ zU%AG;cevTHZudGMOX)k*{c<@oU1>;{>19?AqY`ni0dzrVzw4z&#c$q}1&K+1er;2e z?t~9H&E3CHjZlAE6+_N0iIzpkUM&GaB}a2XI^a*g<-8d z4hcy1u>X#MA@KxJAtl=|x_ z2=$RA!VRg%@dtAN-eD%!S|9MGwkPM`xOdGp6D7Tmag71SrMRp|&3_)8ZtFPV z@)|sHVi;MDyLi3q;DEQdpul_}SKHJS$!+UsS0mp2_&r1^hi_Au^1ii04Gm1tkf`Vg z+3*1o_~lD)b8~H%0x20;P1t@}4K$^yNV4L;6bSMg2dn4+xwxpE!~9Vzrw9Idx^cr2 zp7%<9aftq^(^sI-B;j=##BMdTrse2Bfo)iFDE9zwL$i^o&uj)syH% zaXfgPtKXHptL-r1sIBM)(zG?-?w+wv)p|L@Mc53iu7%Gu+S0f24)dJWxqqUlJ*JxW z6SdkpI`&ns_RjpN<>>a@=%eC9ionT>{!-c7%xeom)(`4!e6V7bPDm&;F7*vv)sFg^ z9D03-8^Ct%+Z?_B2Re^?c0ovYrnLl8fOnb;QdkLfPbTR(tVP(370+Lw^|o+A#P!MB z#f?uq?F4q`sag`DiExpzUd5P#+Mpyqf1IbtrX>OuhJ02>-m_Bpa_zmFe!#zPzqk!` zZ~tAxliz>CjYeC!CJ2|bm#aTUay|LcsUA=M*}VjaIv$l|P>Rg$8}>P`&bFSfd=NA2 z=ekcZ*GMI|yJM%wWPa_M5|q-3Q&6q|z`{TZ2NjegEs>A3wBnjuGV(71W6Q?&48GK? z86e5FmZl9DfpJyu(LhJpVvLze3SaqCNH zSODqOZfk6Gg`Noha@3xSgJb@S;H@L0tFMQY@7`_jJlWa7O2cyOfp>7tQY+j60$1@c)ot=Y?M1IdEIqqsomdSw=?7^7MOGJUS+bm zt*_{??-OS5Dw=W>XOvp!=!^Zq$-$VV*A?4^*ar<~M7`JU08iDBttGRzRpWUNtQi}X zw@5c9K01Hc#ZmV;4fM5PG^+@!QzC`^YrDNgX6O41eB`1tw{@^iY->fXSCP11|9MFX ztiQYjOQEc_YNF%MSeM7}gFXMeLl|M?>3z;aE1=pWA$wK_dsy-;Pp%875cqDetQ^0tWBxILCPH947qo&8IFy+YPa9-v{6 zeE@E)&HD@cf5L4(1g^H`)HP@IvrIc+IrEyNLPVTI(vWiIFVQQHu{_CVZqqhX#ov@D zQFru^l=ygJsYsz8T&EH7fL$ z4kfP;t8y|iaZ8cHNxTKeZ_pNT8V*Rsx|IDjO2M6?{Cx4k#EvLr>7Y3wSfsl)QMnct zYVTpcK{d3vT0K@vVMvrk(Rd;=Q7yZ7Z^C(<_h%Oawe8seoohYvgdK84(FXhsC`kOOEF5Z?9rH6}MUl$QmmojdK80iB3z8LLhh5g02UDuc0FdA zBY42u^MqM_ndfs&KD!hZC(W??1q5JPkRim#H^pZ4$;Brpp%q-g9Y86+OVj8OTSkyr z`#C0FhBT2yV>dM)a(h2qvBnS)%{fiB zWb3`^<;lrs1&Gf6F1&yj4}beT##G|GphUBs=G-5Cz=&4-Ux_ zLCJY>q{4Z34jKYj*3c8PN5FOVH2=bSz!Pka6{yd~{Rvg})obgBn{U0r84?pGayxR0 z&o!YAtJr!WEh!nAlOs4o=g6bbd^-%GH|-q8(LYp%J`i6V2{u1U02T&x(p!L@`Vw4sJbm2M)RO%C-o2(x)BETYW%AW8 zrkY}$zYI$SNAqi&^5SJVw{&aT3I985&))LK0^4nNwcXgy-kUeQ=-bBhiJg^vCa6K0 zboKP4Y&Ha8d-Ku$EM=yA2S>l;=#QsAae&}{Cs|oy>g3JbH-YuaJ@VhMxvk5`pP#tr zg8asi3vG&~+zeK1H$X24DxDT;%}*V2eu*pp5j7`?|08M+T|?*Z5?`jl=Fv7D{tu42 zKbd?E_mR^$S>k$v+{4^NylS*`V2j`^`YS8mZP2?-3bLNT=YUrc8&nMBe2_kSjCz{e=Ax|HA?JtOY<9z z_t4fo8LvJrBiA9e`p$mjsBbPrU(p;bG&vss@THU9Oo1rXjFJ>%1h}SX*&^JY9G#Lx zT~>_FK)@G4{qiI+;oj`FCn5bAv@uXZo|D^$n}JTDlAReNe@0GNtE_PH``hS}Z>*PO z(-J_PrJo#e34Ne$p5JnL>SahlC$5Mvgr9F95d(R^2R%8tbI#IHMIaCF5nSCOBvuxj zNzV+dK(2VX;BJ^Ru`2V%ra?U@nQ_f@MdxXD4&hi}^-r-QsLpXQJT-5aR?zShKXZ|9 zY&zB(Ewdc}RMzJS&LSQCGb=0ko{ZUC5bfKKE#sYZ59W6f5V3s?l9;q|hGDp$A{)Bw zffNAsO+X}A<;o0&yq=yX!zOl7Aj=Jw!aGENR>j?(HVx~Ak;Hg~vQBU6H+T!tnt^D; z>$-yS;Xz|nU#40w(vmsOJ|l(!QNT(!XbqKPUYYv-&aUM{BO`3en|JOY_<}Y74Eq;$$MDjX z+V{li2%tM4Ok6srP*fcH-c1PazWsMjNAOjPP8Kq3Yx6zpEf>qZt_griMvhbnIq&oL z9~Lus0-3yI9{TT{zP@YAptdY5D)MSXD>bbcG(A!>&D zHA*>lX#;bAYVr)-+8VOmcvA?T<@20lzyMO^sBn=e#@x!;AD!_9M$Y|s->5P@Q~EQFh*AHcpi;jsxSeoP z2(;MoX2MNK*Lf(BPoJE0gOxf(7zlf)uI+KKk+X^&Q}K-!f%I?!xBfWzW7foX{ZSXI zb{K;1KRp`Djd2oFBedvDvn2E6=YL1SfNLaduMk4Hb+oyPExs%PDr?$CPW+HKY6-^q zav-khuzmQh6n9}+87z3bvsAKgEa_S2?S-Zs5)%gDIBPd?;r*z&+briCn8~W>@%%(bZgL&aVuTmL6EVsyx2@TMWLi zh$Bw~QRu1Q{QNB^E>rJupU(QS6o(tY?4 zodvF_hk8WB%=jz_%;l5KlI*TV>KH#)W&N84x&%ZFpR?oUSVz{R2mqlHUkU&Hu^_q{ zL5;tm|7ULuu+t|urv%1_X-2q(LnMfg&$@S)6cpg#?mQ5bR%zMTpaG39h>6#!)>~U& zDOS5_p`+I~h30G|a4I_4>75)aS@kwFG))`~7L)s~YE?2L-oV3j3b< zZ8k^ys0dBVIWtMoj7?r$J$Wsx|1F)c?<(5WiRI;pmjzxYTb}|{_VYB=fw?It5VBhT z`spz3+Mvo;py=1`;Ila)aE6V?vJ+%_zNG2f2{-L$ODx>#G9=+i>6_U)%*dhpS-p2# zYq4_tBW6nY&+Cags&K0Ma&n~8)4SRAZA#Sam2`~{#L|hR>n5PtjuRx=6p*_CP&=&9 zk=NFKyfR{OtSIGLX0=9;MTcK%= z0hm2c-^Cm@LN~j|4XQvt16GIyq7&r;YL7pTO{m7z%g2OuQu3=P4Z(jj0kIV+@ zns~m@H^*jJ^Iz+iQtyzTJ7-|Z15S$-fTS2=Is9nsoSh|=lrRi0`ZAsiOR5J%4+P>h zo2R<}fRI&_`}e!c?TMN|0+DF1i-b#r& z{{35F;lL-6C5(mC70qSGqI=pPKYSX<_4zZQ7@>^M)JdXG<>k#s=|X@-QU;`vEEcvA&GR?v|X`{B$ z&)4NAG;#UHkB{cu(#&1!8TcT1w(M<-p!7wf@JBZ|?G6Uj;-HLpbrDL537( zhh{w7F|!HZ8R-B^EpFUQR()1i-rN8f%hPSoR!@-p*fLDyS~-}TShKiUsa@fa52F%L zU|?S^;4(e(Cb-&DXmW`gRr-1F5Lvig{*d*gYxXkpHb7=RV>e$LJL8P z>IR#nS-FIt`KPZGv}GKB1k6Nc`QxLJ=A~(2cUR;>vz-luF7m{kou`8K7pAXs6pYWM z*9i%nPNXm}vbCSWCV_z|adE6OWaIuOxUa7uT2D8-0VJ7achyq%Lw_5jkuvjP=}fp5 zE|U6xPDcp(h)b?LjYfJ8lA6zHc#&7$C=K}&B+7$-=DQUS9;FBKwDi}hqF*NK6I%V- zZ)T;ZJGr;Dwr+)p;7&+`2G(ugfCK~79H`N~1XmTjv*$Okz7JP`?IU~V&wSMF-nh>A!HNIo6v)P#!@j_SVU^VQd#hSn+8U!i zOcgfAyxt{En06-+9TECrbETnArj5(vLCxVw5nQhSO#)SSIsmP~p2E*f6EpfEF&DN2>hMCubwh(_840^HHLJP9=` zb*R`pKDwXED7Vc`O#HcZLQBkGtPc;DcXs%7aE_NDLweOUOz2*&+;m_yg|qbRmE;1LoQKdNcTz z;MG$Hq?iU)6=c_T&;$M;h5QO@Yhb^AjKA7XQ;o z@}@L5-%sz(RJ)|-K(8*MrLXrJrpaq5dv*ce_wQ06h`*D|m$J}M#1o&-?c4mrBEvM3 z?SyFGDpwuYW~HT6bM4uWCKJOHn#^@aj_ri?xk_hg&?|&wWPCn8daJ&S0Oh=;cx`R~ zA(aKbkDY|Y+PM#$vZU=TGL3E8iS^;k8T1WoYMg3(augxZQrD|cIx5xxa&ii9dD*%U zu0c{MEp2)ulQ#Z%2m)SGXMO$IAuoa~EyH}!M@fv1UugJt+KrCg@(?S90$Y8PCiV&& zxE`H0qdwVvrDnC_v@a*DlQT1)ho{^j0_r{`S^Uc9X1r&QbM_SoirPcG%XX^CGcl!p zygDq_^plF_OwHFFyRbK<3>DR^H)fY%B6enV?0gI%&}-;)4^OSZ@PyAFHIRQ<-?EMi zyTChYWV@`xxEBbrl{_B>ZdC0y(%Bs9tLQqD_cBIR%tkK|xFW`L{*qi-G=@Z9z&@Bh zF5I6vLgMpc2}L$IId7XK5KQ#tmIIcGsZ_E71{a`*Bk%4hvYf%Q#QbnhM{Dau?J*g} zQi+Qlz zHr_c7a6=OkNZLzkD}sJb&@lT4?Zea|&qLJ^HR3WH3cf37Pf*1lxt}y7o{2dX`;Wd=j0Fug4EZC5 zHexSC4l_w{r&nv6`kOQdYtpNM`D=6zFi(*lz4YvO0wCs{pLL6 z9_9YyaIYNRLoMBNQo@K#ob5Vd4_82T__2V4@7jF{%foE4r$6(LgyxTqZNkNhx=Fq^ zrjRdzP9Z;BKtYx5_~(${OGaa z^G|Ch?r_)u)y6a@ko@z8N+h;2jBL+EPka~t9lOF54hqKLzK!dij~4jM4FZ!aT57v^ zB{o({-=%hft}kkhB+t0Z*=1iO?$`JH(WfyaBa_~8;GvZvT2QwoQ!_^jyL{SJYX8+p zX4)z=D4w7&RJ)Zm{Z9RjgG|KN5N3YK5QF!C))8E!G%V!oAe9SJL zjt1T&l+*suwD0p#CX-`=-Al)B3#KIgoq#%>fYHj3%|Kmr6(Lp&7qrK+D!=wWc8l2w z|6{l4R=j^EEiXRzRQ|Ab*qNoFs-)Be8;2ZGFU=C-vWGGx|Mp=IL1)`*;#O&iX&Q$V zQhPcDNR~)`wRL;Pj+v<$rJyq+9-(Pm9b&dTbI6U0+V^ZGob5pfI(6(EJ5c#QV; zGKz@AsSM=mtw626z0?8_ECIoj_wV0}a^uM%0rWdzyLEA3|Jx#t%X{^L)y@jX2YWX0 zbMJFeE@%zhsJ-3-lIMMOn){9G7|T!DP{OK#ZPSst(MK{$C4`w36&qXo99;7{Q>0PY zWZvOzKU@bliBUjubdF1>VhM5iLg6X>WArdMDUclcC%u=C-fUUXbp*ns_32&$rYF9r zZaahMOE5Yfs`Anonjm4jB{Pt4K{4dIHhw>u|^R`@%h z80^rXtpQsCur*kU?5T?{ECe3w>v%vDbg&fw`V7{bP1g?2 zZMx7u|8Z?CLVN?O&YkU#f)mE2-8Bnq4^obmZ+=0FI31VnvHVMh2dLULN6tmKA4%6A z0J%3Zq6rfn>b-7_&rVQKd91DE`S=GXT7qD!qdL^betuXlt>xFDOMzV2m6?#xUovL# zby<{uK>8o4UP@>CKl;2o-}QM?NAsWk!1Jo3uaAjwexhmt^l*aqY=&A0ac>pJe3TdZ zb7CV^w#6C3Uh##ZvVB;G(gEN>eZ%&NI7FaM5tg_VMYDwcU1lmzw=brqvR572#KQ2O zs76)Q%9?_{zLlh8*AEHcg~z}{@6hN&Vk&)C#JaW*1EIhnjkdQFpE(77PhBFvfcU4i z?M~8EFmKt(;U@0P6?c<0ny>2svptl%Hx5_>EK&-m!kV~;zk_;o*7fGzLNZ$l-uTt4 zPCHAoBbPmMnnD8NS+&7bgL9Dt)FwP<7zL+;7e&TFX_CzLvo!4n^OwESzvE@a*4%wR zexcD;r`4lZq*j>;8}Irkj3p%2zHL7eE45!WHZiHHtW3_&=YvWAm6_<+@_b-RsSme4 z?|dJI4j@!pS;>aMr~R*i?76!_Ny*S4C_%6A1>UQ-;+t+@_-^R?4XT)FSE9rLpYCHv zbIBW~=8$|HHycg|LDU^#Kq7)QR$W^g#g2@})WZ~nXoyr-(6I!7>C-fvp-AU(KOWGo z6cEQOw3(Eu^7j7vwf>1f$dU)evM>Az^NYNr;h~a@zDN$2}^motDUTbFLo|pY+SmH zaXR30xaywZ>vL`717WGCUU@TiMo)plqlvF(hwHz&gRCukX4_J_H>@b8)#_924p;|-pUD% zIijpgOej9T#EOi3M<5{03@8~}i46^P0fiefk_(%5>&&othc5|gbCP5c{W@5Z*T)H# zkjD_t?DdSi`4H$Yt>nS+>603wIPh<}uc)w&P4DYCxc3Z6-R&_b^su|zTdpqn3 z65@J<%RE+O25VG8KzRq+GZr7+%9>|u8Z~Ke=m1jjiEZLKUi&x;B1PEjbXKki7aO#b zdrN;0+~)5}ANg8((9g8bj3H>{-B$;b0O}DC(*mrzJ$Du+?~*|(o~TuhFrtZJ-vano z^sB>X>V!)I-vyQkrk?Z#$mf#qr#+D$sFzrvrB%eiAPbk_?R!^qbFU!Z*9na)GJ7dt zYpSTNy|r8tOU?3xsaEb(NI>8IYB0O+Vb*8BWxjsB-8nzRbH+?;&lyBDnW${$!#iCe zB5n#L+1E`>gja*q3obo}lnRO7V)T$e7I0Sl%?z{%2HU7%J$BHU9>aRy%eW?BTTO zNf!onJ`Ky;V8qL(Meo1SN#GEk>~6=5v?5l8di=J z-ip1-`cgtx9qWSc9Lz!uc64CV1fMp z^@0GL1EN=T^y1<%05jv;O$H(-B6GlC&X+=y6wr#Rvhp3DD$*&hm1@8k&M4^=(2)TB z`p%63vwxGY1C}eXZHNsS&GZ6bDvBOSfvN}=Qk@K8AoIuD@%jil1L*Gf$hES{tMLO% zEWVrx@c?HAm}U@ZdrHSLYuu6}3fDhoGt~y~VU`_ruUoH%QwBHejaQ zx?NaDp)D8^_37YdWGsIWXu4gu7ZCMsnxEnOqw@aC=)gs@v5C|5A8!}1H@I{kWF9d8 zjlWMsY?#jT(gXwrWp+4(CT`#!WogNaQ39{{e8V5ACpUNBr+`DO-@#^7H@Q^lv`eb%>gra=0SVF56)YN%<8Rs6OU0Hb2UBOtbSW`DteJ@Gcv z{iNN6Kh*gDF!mK}S+z^s(o%w?gdj>vH%Ny;2q-O$q_jvQozmR`qJn~SHwe<9(jXlw z4bt@u`uG@o@Avrr00;M4>zZrktik=+UO~PI2Y=}|Hv|Ec1f9{82*Z6*T?QFQ@#vtt z#wXZGSSa{Xp{Sg%2tpV6kWg{p@)b!t`xm|1p6%(txayKFQ=M1h$(S*)U{W@hVkX)4kmj)=^?wCD{ zwtihQeLsTVenHOj#S8v+DyrKKtJ>|0x9CK{SN+hoMAlQ};VeEUr(*0^lmzDUEQPvQ zfA=z{kz;=-P5WVv)Jy!$b4rnW^adt5t2{oN%h{m+0;O}}S4hmsOzlSXWPW9;r)Lki zvdVQv5CPxR+xkjkj@=6}Le4H#K%~G)l*srucLB>yoSDxnIO!6Iyp_x4x?kSj1Q+Vd zelPaFt;BzcZXao?dTUMkns&iN155!K_k+nfW%tf_gv%)D^RJaxXNZFS(H-P^1L0sX zT3V5riNPy|c#izS+n33U&j$WvF6}t~hcFc`jWee{t_HZ}BGYDn=nDX%jq67wkxonI zHTmlSK1w?*&lxtS)%_8TC7vS)hW*3Lxw-3ZZrbpoK7Kp~6cHFHTyhCq!9OTRl|T%L z$oc~J=xIb&_Rap_9EV16As1i&1%ODm(`lw0VXO8j=Z(mzRXO?%cqGB z|6mnXnmdm!P>kQbrR@oV@xLID+$^T2adq|g^>jMaKP56zlxvMDz2Y=3b@+@sJEu%Z z$E7!t3z8%_DWRe5Fv~(1U)tcMmb9}$OQ{f{68@FhX|8e79vS=MJ*%%Nnwy$xbh z)6=jj8jEIqUFf!~tn*GNBL9!vEHw{tzK}rlu5N8mV^l$@Ek!|2O@OR-79}QD*1KjL zuXPWBp{+dR|BV&QF1AflQ&)4dB>ok>QWj_Pn zB3kZ{_rO?Qc6RIc?5m*H=993ng8k#pW{<$v0XxyIZ{H-1jKAk?U5zczQOuOPcTXS8 zorQ*qumHJ*2^?o?kYfZWsj+;&cB(5}a%j!{*~*Jt?6p7Q5Ijo&PKIS{5$Y1~H2%6mFX# zM%(#3Zuj{;0^zHc++P7(3~wMA6J>(zB3ITTz_hRI4v=a@DJK;n6D{zD_)kLfzh{X3 z8@yHFFRVb@^5jvpG+E~y6?=s7kJ6hp4`t?4C3Uas+GIRPA3qWlJg06M8M*sL>gKay zAZ;ekrDx&TMg5>>9@kRo!nWI@LZY)WYOzG2;$|k4iXpDjN=lB0yYB!taNZ79Fw>Sa zMD6N)E#)y@ccMc{>0oj;l#f_DP6Wf3dwU-OulS@-zrxI)M-!Y@pHXrzfeRY3lm#-;b+IhD8}_0uOgFMhQD8kK*v z|L@Oo2Ke^IwqClUh54tHW-gAXj@A|Fk>#=LF?KIxx_swOXoXcy5?UAk5!m@c7(riR z^aKD3kgNm5_pZ+jbSySruG-qyRs@i*F{*+^PN&eI&>BOK0`_rY-Zrr~3t;XupdDce zAJzm_jU&4N3(LbV9~k&bKx=7D|H#J1r!-A6TSV4RjpQkEea&e&SLP`T-D^M@lvIJ`t<5Aery&Ld+4&;y3aFB&Rul%b)V5@4l~B zH`^axl=yBDt%XqH<&NA|6fyv&XQ65#UxlJt7gGj8Xh zY-8>&mHzfcAR-Ym;pHc3m+U2BgG#e@hGZ&fl$yRfQE=0ff-Cy|Y&b ziEenv1c7s?)7g!UOaWJ$S<5)EGj8sj!?v(6GC~}^lhJ5Xd*$-otzWsapV2Tp3)4oE z5Mvq!wOwNJ4iBvNHrjyx^F}m>MJtV%ry;4KNtV=3I*p&d02=0`F&0EwLo#2v40bS#Y7a& zMsMBHYBUkrSos7}lteLv(nIR!r@_Sn%HQ#9KP=z!ZX+?Z@wb_ns^ST$qZcb4&h@Dm zNk7cU_bt36?IEoa%%li(%F9bZK}Eb4`)SuPt#XPB3L2GYlU^w@F`0H`g`e5lG+W#3 zNyQvV2ukZTE4R5q!)7u1iZ{96vETN*C?V#FL~2G9)alsEgo=R8tL zQ00C+!iM13kK>LRa(C{;W@av?2xKC&d}yNm+AkNZkt9)kK7*Yiy}YqL*w@3w-1V#j<<=BHQGPInOrJ~Ews>A~8{d%$*2IQ&AymTmxxZy*Y)AvfO=3dBFY#wSRdTnF zR%y%0;T3x^N86l#o-R@KWRQEL#^p=C-X{ZYT*FuUzk(vZA^D1uI4ypSowchi%e9=t zfi%?11ztb@i|CnapBC&z94wQ7e!TIHXzZ~iBEewD>{b9n(wTk}Cdj2ZJS279>Q_vf znYjWGJE)+@$<6PTZR<6-2Ls%9i4ke6DKGq#~lIEU7q@{v(qkZ z_PuiC<&Bf@SJ~tsH0Xa_3SRQ=#>Sj%Rh-S6Br-C01DrNyTe`cI!^qV!QBSr8)ioJP z$bA6I?VnyGiQ)8^gQyMxts3Y3Xa=i7iJ2B0AQ{S9LKgk2B9XJ6oMQ@sI5;Y*F7 zmh-O~iLFueiP3O!H`c7@!c@Y0YGMsuy;sw&E?@od0%_9em|lLJhTTLV&c`Qn`0MU& zYlFAM9<6?C&-dSZJ7xc6=$FaD!eSBZUuVXJ9Sh6+DlMz%q4AwRO4JLK_UR?MyF6&l zUp{!+FCUJ5GOH)DhYi341hZDgnds-v)pI3)G_Ks{$lN@~^|6rc!$`|vyad7!b;ynXm1`&@|K^R*C@x3s)EPe5&S zi}cw&4UI)c)u%=))PCqav<|sC^0185Qbpxi&g<>vBZn2uP9^k*NW^pk`B*{_lhQP< zjTCD&QG4dWjnE~q;rC_AvqfiQ&^3G(MN%sC>twEWTfei;!piWTX@!fc*zV!RHFMBK zkX*P@KG@QNG_e##E!weA|KZ*7mrP2#&%HVD9l^{A$vX8EAt5^QQh_Nv7JT-eSEl6= zRyA;N21z(CvlXY~P9WZ%fBimnh2Oackr1(Af1Jy3>}X6( zj$)nKgVRWeyGA`wGN!pB#3eMW#`thB_V$eRMr&L~hlbRfn}^K?yFY)b@=ohgX==GC zep|LvR<`ilSHfbe2@HBr#~0oV6YaYq_W+VKF*qebp}D_QG^fzoI`rYWloTT3Y#2p| zXJfiV_S?6knDT{Kc$~X_^+57eR#fCS(O6x0&B5a)1ZJ;^iN)54NWxo&%EO~(aF`S1 zAMbf?N?rSG(-w(-{kl5*emS{w(-NW(=SIeRmqO?oom*;jh3{b4&EeNCcWbJ1sPhu+ zK#jpIn~Oe@P;~i9i>Ti5p-q}+Ap6t?e|~WRFhX89kRXK4lO|5!ZE33~8OiLW4$uE>0=>*yW5YYa54Is(DYrl?;1x19tD*zY8MX z(PLT7Og*QPZPde66bgM#&}&^xL$O>%!z-zayyNrj!iwNcP<6e1nPzify?u`};FGTp zmrjwE=) z4!9pFN2+*8yBtJTtc3&zTdz1}d1fdKm04Y{bEERw#vg%X4t)um2bXwx`yt95tO zrYirD?WMqX#0`GumMh&)q^G1}#q?1pa1$c&7U$-KO+Vm@b+aj<%yp+|bf*a16N?E6 ziJ?Yl$4RDfRwH@W8XW!H(_^(xq;GK0wk5Rr`gIzsSgHgK$D`>CsIHNNo!7Y8*=ubV z2x5;8NdbmiP=Lff`sjps$4hh8x~BKh3NVQyJ*M$}BzD(Zj(}@7s5)c_-(sFGQYdOd za$T*K*RCg2yPlN4y`AfCMS69#vnp)=yc(4L21roam;3W*p#e}%#PG}z{R6=7zt4!F+xX^RS9_>Ma z0N>R;Z^NHgqI3{E{Ea`$8FXBHXjhYt2#Q~cx-Q);oJBNWE)Mc+HzaEmUQ^)flT)Dr{aOU}Q!)a2tNv8Km`^{}vo>OD{0E4dD^Hi+H z8Kr=9o=CfHH_K5~7q5V#!1BTDhoY za6Q~y^5aWvs7Qt+jBN}G+svy7wGN(}ZBT`17G#Ev#%rqO+Ft2Zz1X|$Xx|qaYF~Gp zi0J#}}iLXH`uyl9#7IQ{xejGOn_JY9~QIYg}K=+Hi6K6sWvw=Q)}#jlr~ zf~US3@*%LRRCCFV#40Xfd~^DKNCKbd7%dTCOnx;R48<5B9){Cs^cohZV$j`M3V$e| z5XpfbS5rNPiNT>R^tDMG!lQ-Q_r*;Y_TC?CKb__#2I7Gj%atA zu^_s7BHN(j6BKl1fK6K1lbCPrkfdp4l4CqyFEs73WSr)i;GZw>p{B!{f0IXfL?Vh_ zzAp#srD(H|DvpSw3!qDCYiL02z*X#jH52*t=^5S>mz@vmEjmn0RS>m^7(mmVI)Nfm z*ZcfVM&DF1Ibv}q!_Y3bVfy6(r@ZabgGRdpVtM6tGB9dU1!ARl`f zVkIrjq%vOZBq&(@7<%YWpUhLKr>Ah3Z`(FA0zT`R^v2KUd8NcQi7$tx! z1<|$>`FiK_Fe=FbIhFfUE`x4NA)s8Hi>|*c%~e)T=EdaW}-t_-ZoEe+T#Z72TkV~%8>S=NfbY? zt}0iRDncW;OH#776d-);$g;ALDLPzMokv~MvH!dn zpvc!NHwPMvE|XjI)-&_it4!2V@l_yPNfvf-!Ty}gXTx@jqifo&fozSg{y4Vd!Slii z$0Xl&5k+gKw-YEldb9Xxc;8<(xEtl8XrJn?#j`(NyEpf0|NA~21NtUAH1}IMMXvSh zC(9KlY)GXFv0a|+xi)BZx)BlgCtoVmR33$144QDUx^x&{^a6#DUR&~9pu<})uTE%g zdCdlJ8Ih2ZrjgeR8(%DoU$R*maxTR*%qQwN{1A%w*SOn^k9)pZ>9Rvk>6=&zljV;#5LO&AHIM!4__hY_VZDN&P&#oli{kga+3cE95AD2*YFW*P` zB*Vlz#j4-@gu(Uk+?{`}SA~E@#OWI^HJuNI_;A}5-UgvRG#gWPDooaW@L-HFue$I- zfARG6QWTwtQP8#68^@HlcHNm26=z0DQikdxmX^56tWsx_GT07Gv?9;=LiG9vnB&*o z&ArAxgvwGehLL=vyL{RF+vjop6iM{IM}chdwga73(~o|vYHKVyCzlz_;?viEjK}L+ zmHA%hptF5qd!_NMvNx(_wTEYs*9uK+(i(9?kHo!KKkq1*>XT6PoN!W)Wyt>c0X8=F zgzvxF&y{QFVc>l;ANeL0L^Q5udjG!fE7?xFLarAZWN8@a3T~!11O1?3LPSa;A}}bm zT6I5iE>vT_Bl~AzMQ(qsfJdTJU5=wamUhW~ec_g~9>2K#vv|Tsx~{GU(13obEP-C0 z&t-cZtxxhDMr9n(b^o-O>9~Vmj#26B-lgp3D&14RSx7LO>TU#LH+}v~X;V{g&74T) zkh1^>S)buZt?yu2rqA}=)qMRM0dOQrrC^lPO1E~J38Iwt+u!9wqrY4DPRmrPXMtAK zP{gyP5z@$p$kRZZm8(-{ucD$44+1J(C^`riVdc`|+$^;i1=^@_hg zvEXVuZegbsdDEav-$&%jKc6*>$XY6%H>C&48JWMR*CJ=#xNi!svxULQ?7XKVB$Sj8 z7G$ocHxIK(WeE=c{3znv#u2^SaQsaSzX#S7+L;mbMVA&|>D$Bz?0NC^7vR~86OCkO zvHfx8u93Cjf++j5l9H0`ot^z}AHy6G)IlrZQ`|dY@(!tR5~kkn1GG?e@ws=b-z!*`262cH>LPpvnEN@ z8*wMk->UBDP{PxxzaF3kF5@I-om`gn;@Gz5@$m`J0o21{>dl)@g)*0Uc?olo*ENY0 z{779Jm2~-oqw@=Ul(JQXot)(9Vi+k6tD=sa?)-x{!PB~2kni~@0Z8h|)fVccG>q<2xRvEHa{dPFRA;W$ zcDPEv5Ox)l^U0fg|7+kC{*Qt8{O<$rT-6X4X$SP^T9uE^2=-9UG1O86ARHOK#-(wQ zl9J!intnpEbAyCI&oK2B$ou-(FKWWx7}KopE77n>Fl@Bu*xB-5#aEwMPyG|)i6){C zDoVXIO#bNbJYXFfWGw-&F3JNy1wmRFSDxEgV zp--(PR8|OAuc;L3JKHl~aSmFM)m0i3;?wAn7;o>}P>vH4M#Vl1S3JWX#qQ&8k`8cEida+L)fOee(|p|ifyRW>nMoSn5BI&ARfWRqRX4+}%99j24= zi0$z&$7}?RT|wDk{jD-9oip62Zu@uO>ILDWg`wg5SBjWR?}v7`qN9hPqTMIvyL`+P zfG?$H)J-reSii%vj=qSgE=5dbzdopAeEW8YU4iPyE*>hECxOHJaq^zQ_hv4u! zM9%uzdHNL9w-M5m`iW@l&T+Qa7t+;`QLm7luC zcGuoD?tiWaXw_?CY5nB>y4IM}?LRwbEvxH=Sf0rBJdT4CMH=af=B= zs2I#%pzll-ImgAuPOB+QsZVp3Rh=U}i=L60xuLC1te18d=IEy7QMv|Hr2zeW*v)e# z@k!O8x-M-&;ZQ;~+U~ehYPClYZq;d9Hox@Ltf&cwg96ksLSjcJH`q5V&&$iZJjyG1 z$SyF`9CW}IxARdREnB(BI8ps3bk*0DPm$ZfSA`KhTVz(YaFkYSM;U8rBO*B4@<&0Yy?a^FVK>+Ek~o-dy0f#53wvL~B}a9*G}RIs+r*Lx+@ zS86QJRg1#&$Yk*7Kovv&?sw#&H9A_2m38MdIQyYr`c-;Z!hIgpetJ zSe6Sm{PL`<*=07Butb_}PrrDt^U^k$iY%j=u1eJ%GFR0M_4QpBx*3=b_PBTV7JAaH zmq+frRbN<{^3+2wv>O{oyhOwAA-p8Kgw(p=2jALiB zP4EYxUthZ|VfeGhi_plg?~u8Hjl%aHpYGiD`g&`JOi!DXS5!waLQxU^DK0iUdj>Ti z&vxK_dyJxS7b!Xl;QOWDF^4i@_m`Fv!hurCC>!68iRZngbD`45x)J|0^EXUwQbL(_ z4!e5{_g+f29MB%tJ3E$7`=4#?5z#?%U@8&8%ECO#W&F> zAYF`M^HoECEJZ+y_;;HVWSdqvEH5T-|BCSD6?G$oQU#*o_jLblS`Lx32|tCoRo+Oe zoFMN31g}<;rqzOfSyur?|f z5WYnH=7Pi45(#{qxGROu8T_R5wKP-LCF9G%SigW*(5{3cj2M7dR>LUaGc?UO^4j}}tg9eeu&Qadp*s-V3 zSvZ4`5WDAl4L1nMVZW~I? z-c;qw5NE+6e04nL)>RFZaac*5mG(H|Hu=X@INibL51x++M?dduGIS*H^uMeUcC8>h zE{=kn+#^Bdn2C>{--D#r?$I~udH0t-J2B54)KitVueVm}DwQTUu;wW~L@)UGWD5_9 z8ti@RXdSw2qO>bvj zP*TF~+FNYMe^gFUegz_m1<|>pR4@A{^|8!kfG1BrybKF7R(jJR7}HK6{A8}fKkXgB zfX}qe%rFBOhBc!AmfY!A)oJL&EPS$k|2>CpTC4Y#T$}J-5Xw3WmrvR-OvK;r zW~*$Kmk&EWY7JL#y%_B9AMY3T)&;@Fdr;0bLde(QJVSK)jisoE2MU^j1{hPO&+RQT zUn^Uzb3T|FKL7Y|U2|-%2i92K+127%YAmPTchZq^j@yzl)bSZY;q>N~+~C<nJZW9j~s>N03_}q(EUsm3pZ@#_IU?!-r(8GDGgW z!+@!a&!sYyS5K`XCb4axD+E3~#?p5H?jP-GcEcq5{r$<3tLeX{l8c8_1>GA6Ehl9Q z$8WKQ#4C!)=|$=`v!4wo@4bqmiQ?Ww%<^2lC4L-7U?cx?ue83vrf$$^du2I&SX(n*FXLD zB)lmQWF>Xj*Vb4R#od7sz54Rq-EjBg1W%c91SCXK$lQpHyCdhZf8cUagk=-GdWrmV zAt_eWA4~}F*2?MB<28;psizw)!|NQM(A4C+dOFgqug=7B6nF^-hlTkVhgp7t{YGfX zLRG%RY}P8hHBIgqzj$rA9bQosOE=?n<}VfS?rj+{pP{D_(gT@J#ABJ-Y^BwdZ?tCBPwMSz!J_iAjtbw<QDE@>%?!&+c5b4)uL~BOv1r_ZDV`U+I=@#Eu}(!DetE$NFCn?<|q{$gF>E zgy@i-`11{en}>kbAfefpmO)Cg>TP-XNfZS_H4aNnk>e~M9E#)wAs40P5jkDkH~0FX z`NL+-z!d9oKdFk!lfMtf0GU7Qn!Nr84!BO(vzgpaYOY)mZZ5{op{<6S5q} z<96C$tBvvbtUV@Phv%K{wl=9y8x!B@I8Jd~%ZQ5qK6- zk=A|45N(=x5EEEr9Cr7!<*qeNs!Vsl3SEHR{-{-pppcf$RK`Ov=3)3#03Lk`+bQ*x z!vqInn>yz$HrBSYH-Js0EW6ZM8;Nv$e1Pt-11q@&pC;vSU3HNqR@rXe?qIz+xiPuO zDEEj@M_wuJ*GmOnFy_xUdN!KZozS>0Ye7RwasGKH+0pQ~dma02^P-TQKjeXsA}FW{ z>G(%2l$o%|2kqRFX31-dj2m`!NA@^p9i1wAlJ{bZZ2O@pdGR8q8WY`@QI%rh4M+(1 z?XFT_Ks6Ri2evTBUj>{Y2Y`eH1hAQCRF!^=xI)9|CVu3LDMkMgcwz{cLAm%wTc`%c zLtw}|wuK#5KHn>O4S`*f*F)a=^%Bbs;Z(cs;pQ^7@61h4w~h~jzlAs$&4Qm_Dw1jw z8)dm1poS1bE{SPmC6w6u?eUs#aw+$KRgG5Wc00Uu0Z|bp`r^wb=EHhoW>PEjL+6%I zW?hBexXesO@&^;+by@V7WM1r9A;2ysd>r~g3_tqX#~a7&q7!b*l!ta?yFBuK<3dOz+O;r{cYfKR2Zd`7K`?UJUs~=C6APrrWeX zrdt9;!<{*#%iD6H(jnq;N$d% z<`1{N>Y<^L(cjwl61TRlC)P3dX@uYlKP+?NRdsnKe%GBRD$>bmYF$kAfscC>{f5 zY{QPA8G7byBc7Bt=OV!a@{7xE$9uM(woDUOZ0!~YgwfF>6x6C61-H-6fiWle!u$Jh zM)gzAob1#gWr;vBP7c%Zj)Fv4yts^`9(Q5W;X-zIPqDh`jzAK4O>r0940X)e)a2z= z`+7bv44&~1&Ix!+lNk8=C!Y(gJn*@H-`|CMhq*;{Cq9^*ei_Eeg6}CAJFT_zJd5?c^W&bfKO;^uk2p^3?j18vK{}%`L0cX z!m-|Xc^%g6KWJIZt9ut|si(IrnsdK}C~Fy%CgBKeDsLzjIOJ+=@IE|g zj*qohR=C$v6x5ZCyUn+^9?v5gyTun;MqG3Rj*0*Svj|otT_7DHRbnqWl~M>kp*st_ zGG=4-DJ8$(OiVT`N*y}4wU+DW%!PCAXi;YhI#fTgKwDR@?P++#Hd|k}C+%_la^JV* zUq@IIR6FMjLK0E_RqORR>VV*d<@2-MaZ78A2l}Ic!+dKsFi=15kN@j>I%OH59xX3( z!{^=b0ERw3^sp7d$IkdVdz#ag%fOif78V$YseZJOn&){CS5ks9HVrKa3(<|~TuBXA z*XKz|L5^Jx?^f$h`Z_yj7xNsZSgz_}6yWVg(sRlF*>h7Vhou*e9Vz|!C$VdoNGEhS}lv`IqQ{fG?3Gx(ze|_t4CbrAx$I%*l_N3 z%vB&BcWXV&24vB^MfOcLKD@v$pfZ{9@8mT=Zrj^zS(g)4&bJus&U4u*oqX~^>GS|q zPh<+p&J(#!Qo8MScP4}}0_=*1cljc@`C7B6*dvTn4*!;dFI_-fw24s)i^jIFtyfb) zHAS(Grij(JS^sjC z)9L$iV?*#cFiN?`^5qM`4T-c zH7?#Qm2?Br?G>%qq$CKMlo?tX#%GRY7ybLCjoS;4PqmS!S*@ntF;jOJRtXJB@ny9G z_1YY0&`Qk%zxKVl4!~yxBL!9iW@w0R@{pp7o*UdcuSp^tSzA~;?BF{6!*EXzttP)U00KqO;MKPn(F0*WJh zgvVlhnEJRx-WKsOGY5FZt4ARep9I+Q83rGZS_=7@vf6vJha z6LY9_e8irYuAx+uHQ#Lh=OnIFAwe8KXcr9}MmAN4#Q{_TZGci)@W|?6>w`8XQ8lAU zY9bU((F?(nbeyW7?!oKy$i_@*6VP1Z6*H&~&3sCEj9ESeLP5Yh8#wTueg-ckQ|>D) zfBgR6*dQ?iRpUL6nUhi56FpS(^v)JLuWdyajd$j%qY;>v`~%@bT%B!rIE#H>N1ar1y)uZ3!^G+t&6v6Fh{-X<43!C4>_-GI|$4}>xHFrIA=A) zP`?$)hMTW0(O(GE64im^LLgs&$Q&tMmN*PfT$Sl%VZE=X=SO*)(;||pg9q!Zi3!}j zz=<4s1UVqS_FA^8yXgH1kpJs9LL-!EOfu{P`fkexzj?z<%4K~padPgK->W4eo;3jI zy|Lu@F{2K3pe9JI1xj zIe&ctC`}=<72kFw^xUoBH>v6oI^qaO-S5$M8pWrvv6SaHs@Wt<2)P2hl zw!KZG-n=tG`E_xz;(m+%cHwgtbcLt!UQ8_A?cNX48|+>E_3$H~V7X z3DeJs2KMQ$Sb2zNZNDS4d-9|ZCW+NCej34~-r}N<9v;upo9u*KP^XHS@ti(E#wd)< zdX|Wwb+{tB&vzQ( zs_Sw1up`d5S4jow{NL*6gws`QF}HudW&YfchJ=o@ryv(|*YIVRY2?pcNiCpL9DJkk z@l(w^h;mt(I022vQ$W(7GT6+CidCi29L!d8wbP113kr4xkvdeJ$6JriuCGVr=5_;* z3u3!B8V788wajcxITr^!*n8W*J5LQ42k5gZ>=r?FGxOG8r%(kr)~p3Wyof&suwNr} zzTK2w*~a`+w9|PSS5GzDXrjnCd?ly`OjVBWg3s1IU4R-z!IxiDQ}YfuLuY41R*%>9 zkv22?>o=RD%Ml%9ie_Qb1f{WD?Qw-HOwd*h^_&XzhI2I0B|gM645eRZ!WJM@%rkDP zEzAbc%$ycxjc2s-6z|F+afO04KC9}p^?|#vy$mmkq-Qka3gdyZfUVIc$fXt*JEUs` z3f>0BNdEIQXIAkC&+DA~X6?7}s(00N-ODS}%1@lrv`v z?ELs~E3dA5gQN2QYcw7wNBCzno;I8?R2PfGh;grhXo~Zi{;GD*-tIX+`&X=gENpX; z;~(nRO73s?e0{ipf)Pz!(rz=5M0+IjF8nLzQ0Jjz05je(pc}wJ!9mQu*Ix>(dy+7#5`hpGopHLL6UI?6EWm1iCaJkqyGJ$AF7TN?s^_ zqc!>k1hEWj>Bk`KjW!)CKOWRs^$JzVd#aro+R>lwZ|IUL;P42(OQ`?Pp1sqP_>8%b zji_DgdX{cv;ozZ-jREUoiRldHJMYruWa_r?JwGpdO#q$WaU@dNAihSF(REqXb_Sgi z9zJpVYdnn(`vQKh^>2@S(@U&Yb(Eq@Ox`=*pBaQ*W(Y=`xwrz-+XQJ33FiMHlKcB! zSwXW{duc&K8**?*N-{oGLC;fyihZgIyXq)r9tn`XKI z!V2v^Ww?M&jAaROT!!PzR!c**?ChLQsX-TMc(hxJSV@F!3GDBY4E{b53!aevGZFW{ z_&E`i1K(@-r_6!?aW0;9aENtjPvt{2Kf|W3#+AxE^K)GEt?n@XD75ylI=#tz>~aEP zktab#u(z2Fiq^qSo#R%&Dm)1BF6gOUc2>@CTofqfv(GUw1(=2y7`*csPEKE7kht{m zg-rH@n*eGRDDI&jhQZ7FOV3QpV41}z^4H}hu1mBgBC@CnAQjSfKjPjVr=K_gp%ETF zXHh;I=C{5#8u$m|b3?OV``<#TPze8q;yXF%!CE_X))!WiVUgfrjO06hFHc84FnfZJL00yo#mVjfl&f8gcZ_^~ddZ$!i9r3Im7#8+d!dd3)-!vNlf#Poz1YSvD-}R7ALQ}p9pyD!}VK#GQ_=`P=RvQ{itL%rsw2vAqt3w&B6GlJDrXfdumVT zGH34w5NbVhy8-2p&%oe1Im>(5UqF-isQ}&k&pLNDdXZ_BvcTb?(gT8rjp^zLVCCUB z+3TT0K)@chw71tk6*CDtS}UgtH^2&pqt6!}01fZe*c1pcK?e?Q$Lg%C4z4)sLj_xa zJWBxZy?2U(tB8pmLnhA5)}YRPlCu1K`%41__c8nIzbXl~dKhG@gl%Cp83nb}!`Qy}mTVDrDJV`MKw&SqWOR4h9`COnrLdS-7 zE@w6c$}FC{J1ZbkJQ$0ui2ellDr-6TW1%-(_Q$ z3&{Vzsm+D!7MG%(m=N}-0#SG{8>uy2*u+5yKm_{Xzdu!x>8Sv3WDM!DN~b%8#TZA)*l*Y`%y!gw@5as&zOaUKXi3n zuf8idvoqoTz{qH0Yp}|i_$Req>-zWm(sZ8_T_;Pk4Rdb=q=8HTQ|BwBn05f)Y%z>? zN}_><=u~X%`6Yym!MYe6A!UWj0c1oHX z%&$1AbUmG8=L%R`J&qy0Mpt5ZeE2xVW9`a-0uVocG_%H$PKTvq; z3q6Q}lQ9J%DCFfQyl}O3b<2G}8Id5jfczh0!2cKKUUa<1bMaf&x9!zbijGNjFSRqH zJbe1NH;o1Qci)8y@o)i@>Dt}-7wX>+#=iq0yzXnuH6vtb(kBX7>*zk@z z-?>fJOS2)du(?*wJZ7;W;Do!Q2j>Ju)5^^an}efNmxSL^vyRi4C&=vT+bK!qtY0eE zdT$YGai&alTvUx=rx4`j5LT+GFB=Zf#(AUpgHUoHTNTsnYJ5YEu5E0SkBg8T1CpRK z*GmATzkNe4cL$KN+bA#AK#-@AUDv{bRg6KLFjOMzj9LBAHK6Ixz*ZF9@G$C5p{0!7Bw%k5R1BAdm?8q7oMTTM@J zpEhW(ILK=||C;zNHa!GV*S#0phvUQ$rx1_=k>heojC{kB`}eIZRbJgS{M}6D7*NA? zO;|UcwN zJ~;-EcD@{W|ApR;{M#<{u$dn=t(8w>z$Ud%AkNzcIM8t_E~Xm)n+%d5isbY}!Y>Ro z^MEW3OhPs5H&S4Pm6snBaFElZkx_Y46stxwI5cdURv|gHw^`-9jn&BTW^dl`vW(dA zo-qWFGQ|EDO8XG_OaOq?Nr~Id?^y(*O8f^q1QR&53eRs;bql{}#QF1jK|~>x?9b4$ z**Q7ex^5HBa>P$39v=y?Xzo(PLfc9MkB~*`(OkRU;kgv6T+w0q$%1^F89^Sj&yb=I z6ktkBjGAV$mQwVK`-qQVv;_(bK8{|DQiXTd!@*;A^{IvtC>+3o9@VdV_V0VGQ%!B{ zn>VcLy+!@{*3T>Uk8zxnqclH}NeJ zqLPwaEe)Xo0TJ z;0-Vb3O$Tm{~@wL9k0B`?WFZqL$z$fKOEe*g#`s(Y<(RaN6^+(d&I*pMMD-mc6i+E zwEvBE9oU#yFKk0RBUek4?xEK)^4jAc6P~xP8tORK7 zBTL3LG6`-N{0jK^Gu74Kyu4(OaeDx5mrvNB)zLX89`+qHH&mz9W4DtRK1E-GL-X?Z z?Ed`g^euMo^8aw!U;n}x&PKBz>>aSaIbJ>S(ql|Qdc0cWdE>?nt*X-VPiMaX&1>8l z;PEC+>oP=BslcEDe6^90rGFy8s%>qHY1aSC>kIo5*!sW}{=;-TGdl~b^ANKFL!Ztr zX%ZTM`xd1t-#7Q*8#>XbH_w_y2es>zcw}8&Tu4a&P{CuseUK|W>+1otC`)6ro!5Zn zS6+z0m`9gh=H<~bPE zWMl%_(EKltkkq(1;1(A#G5;p9MR)+f(J#qv+@r1lZr4!`bTAT~`aDU!qlDIx+B#%F zQbo)4N;Pi)zFN^P2%GeMFI5@dsnwrxbMk!#y8_=M6FWyo7ct986GAJbh+D1~7UL~KY{c=6M5OhtAo!+!Y(Q7w%bZKd@o zu{yV*$jT#BN_!!@gDh<+JSAlwY*+>P1?!9PgP@mhY@&>6avq8;eMi4`xTggO<Q`~M+DrSj)G`VrM>jTmNJ&V*+>MZ{v18@p(gkFtH8B$}yOSK^x2dpO6Nr6Tvw+JB_Ga~j=7p~!*|o)ht8}@0=GXm zg%bHm^%*?kM%8mt!+50OFC83Y-gj!cc`pD=(a=oK`5;R{mPGY{Ae+x?JiG zVzlTb+_T7Dr@0d#ihW@yg2M8aKD2XxXB8sHUDS@Z1__2h>Qn>PSON%4sjwLJSEye- zMI1rYg;ck@^8Sj#GqiT-_#kAEHyT8eSn1RQ&@;@=zvN&ac+z7UE5!!}gO7>Or|xdk zh=ju{sjR%_Ed|kpyK;=d9iXPm(U}zXMEgyYNt5*fwR=>Q8c#?1*Cl#!Z4xIChHh@m zMlj53i!!Ucc>oN;3dsE$_qsZ2h-fmznSA`y^0>`j&In#FWcv6lC77_7+(N+7nourO z$0n8m;kD>`Iq+_%=Q$+j^FI~Q-MjoJ;5sKtVw<)*S7pAfs37a{haYcJS`5tdd^Y+> z1T5NPgN26o!ThO-j6OXB*&)Lt_s~%GbZT91!NUMXcWPM+2l+w&YYJjsvPH1oHJ8yg zN4ky{Vt^=x;%pi>X$J`OL>;`wL?KCgVyq$~{mdxL@;JVIeS8;E)aow9oe_fA3s{37 z=W{h$*m@lGa>VZ4yT8P@=Z?eGe&?&0l91+z{b#Sx1js^r>mdvDw17R68~eRd}? zfww&|j5M$0pF1*3yXi@NwizpT12Cwz_UVO7QUf&vPYv*#Mu(^-0iNaI<&9YuuQtha ztmuY?LK+}t{#^OP^nh3Sk?QM*ogt>i8)-@h-`;J$fLnJ%~37yv__inx>OoZ#WU zE75NzsC^39H{s8F2W)=u?iE>tj>O4NO=ZecME+n6l!f(>E1=*|FL`he@YuE}%Ay!L zSaY*DKVN9Opf4pMW~nFDOGHVDPO7hOWdG%ZbhyS29%o>+#S*TP7YXD~7*^qut-Us> z=sxwwN3MVO$E$2$mm9>$*+>lgGA6v%uJMA!K?uH(xjfA))QCR{Uyxtw_@-YVx9-g! zzjh6M~g_fDREGFz^bmQhb-j51g&GG9%|J)TW5}@ z5&&Zo%?{KUfO#&aTiex;zhS%o&?5q=GZ$qD&jJz}K<)PaeG~y+L{4(5J5e2@ zzl!;bi={*~b@|kvHS20;GghITIKX#f|4GKzO+C^Eu8`fWYZJa|+Br?%RoF^O(anCe z@JMmhwMQCbf}`kgV9q7e*wvoIOZ)NfwHLF!T%ucZW%U~SnpXJt3HY8g+5YcGKtA}T z5JNDPX%rm1B6z86dbli|tsMa!(1e5I&b!**A7VMkDfG?mY+%YHCMCgL&@nR72uTBU zbb&fM5V5-kcWQm?sthg-NuIXQ()@g6TwJ%q>2nrmqZ>OJXkHaE#1ANCF`gt(T)^rwM>oIbnpVL{VAlG7 zw7qp$)$7tezCaNL1(h-gQRxy95ReiT73q>zlrHHGMMXeGq?BBObcr;JP$_AUZlt?A zfAb-Xea?Bm@44RVxBuGv+N`ynoSFNcd*%s&vIZ*ofbEd<(nHMKR0j9dx(gq#NnWqE zgx(#ZqI^B0jrA)L&O{md1N&<3IXJ$jw?8RYWLZ=|y^9lGk{xZ1t=?%lMK=r7erRZt z!-ins-)DiqmvHk@6Jnsr2J~+XGE_9yZEX=GV05Lro z+a$(f#09XL^SsG7NEju2TsOR~D!P99ml1zGwi)W6H)#O94>UgYsO76$?gYM4{}T5K zVm>9dy`A3CGFXwj46(5k#yIwtdH0_oM9i1EG{C4gAn^@UW8g^4^ za>&R8U($O4CuV;JQePLqN}=0aUDKI&!0B_5irH?jmjRHK!Yl35nvhe1>b-lk(uP-V z4Ao3r?>+jn^?c7)*Z6y%97I~B$6C&f^@68>h)m?Mb%2f3dL1Yvp-51zj?&vVh)=cg^4L-=R)mQ|8E(I-NL6&0Qv;~NK9!c2hs#EjqMuTonUeWkphr9= z>M`&&<-$=1*W={)`<|ZK?EUG8eGy6;T~9%<2-&2rmqTrb)JNOWUlnoHmXv>{+n5~? z0qz}r9>NnkDG{C7q;vU~ey4tO3RpCr>>q|AvL4DK){kaNZ?NJ1eGQJ%+b5kO-%SX7 zEu&f2{{VD5=y0ysSxiC^RpBJCSORN?Jj6ikUDBJq+R^w1>if@m3czi8qEuLRFL`+)mae%lK# zJy_Y$kfo?@tJN5%_lQ>_bo~Sc(@E*7z{U&I^xs3o;SHS4{h@-*P(cE0RWB$&(WF7s z`});#>=vNHsy^RQC_o}x{35a->~M>_7L3M|P49CQG? z!bN|htWtIT7SzSC*c?}Dz*yt{bmy>zRx@wzMk0;*V0ZG5b*U zMaBPV=UXZEi4qfDpbVQj96sg-Yw5XW~02KE5OI$8M)Q1X?Cl+pqu8 z_FC4yjJ=U!)@kp3c|Xa;m5vTMQ0uimUyrdIKZbEp1MXm%F+2g&f_~_wNd`Vd^VTJy zi)R7*0z2{n<&2mD(l@6jRb7vO?gXp#?lRWx!!FqKoRFxZqVfWO3?~xOL8ffSSAf5s zA0s=fJ0#SSXCHgUdS+UH{o+NtZyN>_A zSiPhNOL%`)50h9(Jm*$K)DG)g_I5a zIJATU&;5l|@Tk>}Gk(EuXF;Gp6;BU)|OM($G2}i za4st8v))GEy_A!&56)&%_$&0ehTH8rJ1VFWDd}C zeW|OPY}SxPUvOM~0bw;Hv$pzuuH((_`2CJ7Z>ZC;tkj!*(C>)t9})ZL#&~Fg_iBfj z8Z$~AJM8BE^Zk;%71o8MYyViF6U`f+uAFjGc>xUFnpb#Z-k;Ft4N7gXSacEJKHu+> zmPGlL7GAcAbMNAVdT=C!*8Ssq$7i377Iv1E>-O+J$ybH2@mZv7CG0iFORh(5}*lhz|0`O6Ka6m!Z_)lM$q@ zvnsp-mJS&rZD)ubq3sL^r+XU(nkA;+LWh;HgA7Q`n1mhBS5REs6Fs^7RX~}3jJLPq zYd1aC?K4Lk_LW#(3(t|8p}l@c3i~mFA)yflHgVR)2a#*DScB4?P|(LCNd~_T ztxzCf11zLcn>2QuvMb-XGZ5stw0BNC)f9RDw5?UoxRV!}7QaaDq5g1~Q^O%87T%9~ zRbp28P5_Nd2&+}~?c2*LPN*O!ho&L)@3*5D8guJeo&<>6(|0o)~Lpk$Mq;-$$k3J?)e12bhdiIGGufzrS z5DTZ=TuJCPC<+bRjEsKv^_wT?(8%^pd z-d-^g=*fFa=smnX0M$+2oi0TwgP6--8B2gDoO{dP9u5{`t_Mo zJrJv_3z2|EtD(N$FIln2AUUsG(cir%l7uO0df{65Q(qL#(SwXndU;{j{uCBs;glC$ z{MF%OAR^UVKDccboENulPYHg^x4l*%$wFnGUk1+DxQCthz1hFV^+>6TLeBip_K9er z_c5ZNn#s`XYfn@O0-Zpr4wZ9w(pfh34jtru;750mag&IS!fNp(-i7JiDkDl@sR?SYg(aUJORn)Zy#)a zoAc+df%t5#pnDQyoVDP_ADHMo23$q%7jq@(o`5un$iGBzs)2@@`t1a)4FTwrJl&O= zSZ$z}gk!lc_lFBW$4d?3FiIe;nXf5r-au{@n(_irt&Nc$fBp{faWp2sQ_j*fIrD8) z<*oPJBXd0If}=G*Gl!aG;kf3ye``2f=Ol$6wa#Jg<=r;A=fmJbx~ zrFJJ`udzVJ0B`&H`90^*sRntpAUnG$(PNQtMH|g8_gZcf9=(mLD)#95S4+#4S*?-A zD30x=Ik+Dix{=;=39Omo<tP1F$>ju2@ z+^hZMM10f4C*4#Y+N6gV{g8QjVS+~_U(@$1600gUCu;<#8}YgxNAKVE7tr~2e@y%A zW-qr89c5tEKjM?hzU}x#0BaTC%bkPYNM&`*%w|z27u2n5!g6j>`;2Djb#3}y@q(HO zfZn@+{zeb;*j_c}7Klug&v&cZG#P>pj9vDS3X#vyc_Au+^&f?WB!{1~IN{gKCVncG z{B?pE%sQai{)n1O}JXpgC>6U268;SZ^BaRy#+NKQ4%al+=t-l0w+iWEXUe= zQ9k}g!~r*w%kbSf-2k(2Zm_`N%nXP-XFLSk<3{C^3^}OE_Z+2%&W;<^4o!z!g8JDv z((RC$OZ>qknym1iobrkapMP#6{i8WW)6n<>DmN^b)VPB+utqjF*r2NsaH7p|^8BpE z8ECb0^ndj=D~3v{;-#~hhVEu&W+>as`^AxZZwmmjO--Z%0+g5W>1I2!jo?Bu=6i*``82ZqweP1N0xGN`#dXl-`KBJh25mYh}-_lO;Z|=VVKu z$U*N%k!(Z?IY$)X>!qz$3|Usp==xTlR3aI1_N%k#@Lmej>&0SP`uge@#mB-D12R;t zGc_iYv@r%o${&;bQ`8bUi8&87shqL-3ci*V@1d?|)Bq0K$Cxu7c$F`=Oq?bz*;ilw zKtF^^9_rh8S86RVWM5sGwXrg?CRlj%>I+63qu3Ob~8xPaL>ML6v^;iAU9*>#hAia&AE8_J4Ne5hbC$8q);d{p(8$gPwY?Rdv5z|jMAMQIN3`H z{{es1TRqxxVsjc7SCT{Vh zQ_JurKRzbt#2|!)K7M)GGAvHxu!p@HHZck{ECR^?=v9luIP|Cv1A_c%wS~s%EbE=Y z-o|GO>GY;aoymK~B(g=a(iW_hyeYeG5d0==F4LLSdWz2A)YZw`{+PvVrLE592eyg0 z0l0@XX6E}zwro@|sW%>$U4#i`Stn=>a(210QSn3yJaT>K8KLR5ikjrwo@+rvL&Ng& z^6>C*q)Xz9;<|~@^75m(Jqaxo>qfs2Cic=~G-kN-F5# zMadtxiFE`OU9eH84GLZh-I`GT-mvbOnHi?Xrxn&sSIr8(G6`;7O$gw# zRHQmE+2BE@t|mPuY>74c!+yYEDkih(a4&B1@(h#HK~JjUm6erIs#=r_pH{x|@xHpP zQNp1{Ttj3QEwKVF7?16FOf|&H_EL3$9#tIv*?*jf+v!BgkG{I93a9nRr{Bz?C%5d$ zv&;{f3#chg9h1k(37;%9psSKINjzCZsJ^#aZ0fl&$ZBQDX2&15KD_Q@7e~GLB4m_d zl5u+*1ZN~C*Vi3pOrX5Xi}LELC2^V6fLD|iFYhMa@#nM53uUVBdT` zrTc@e4_(R}FQ{^ROOuzWnVpC=FjnFl`%a-AMO(cJw0c;kydWnsevGeCwnH8{o~R2) z=NjKubvoJibg~(`RfOcUci}L8lTpryt1e`x+^5jdU7xY9vuSCoK?Mtj8Tl-rXe(QK zYb&$!tY&mea{m5FN@S#{6F1vhxUb0-4iKZW;>%ezcu2z1?7tTOHL><%WiPJZSWl4l4G<03iYM4uv_0k815h(0}_gIwLbpK z&dtrE`?#kiapYe2ZMEjI-jgePc6I>^g_=CRsSts`J@ny(`QCve6JaY(KTj<@4nzJp zFi%#ng~!69QB#@<1taeHHR8|&Qn4RI$q&T?qXq7{Iy0hw+^wi=U(L^QF3}m?heCB6 zSx>w{w!O5q_4&!~$}JWupDk+_N|w;X5~5I2_kaJb_+)vaL6BFL zzXn=hx?njPo3VAJvpYfWQp|9BAM(X=hn?f=aKIj*Q1hk}wqiMbv#`L{Kze58%EIf@ z@Iw~fGj2Q#k_B<0*eEHi-y_oa+GUcuNlt2DXSn8at2DqQLzO9ozg&<6jW2d<#6OhC ztZP%%5jK&p_}8*WWGxnEvvsZ-QC(nYn!no=R*1Lg#5A-ni)EK>HftC>RZHb829vSg z_iHjQdoeidu@M?%p1pmx-MQ(yiCfd+Y9&;G1s=|fLZUj>PU%rIZz@X1x10{3P{#Pb zKd3q8N+e15anqq&e*>1Gq5F=8{Ls%ZH=)S2Mc09#oR{1h8)4m*a4;y)sK%Y8JN#i- z$~d^YPa*ZXV^4`SO{}QU!0pp(C6i>@anZ1Qw0KfGEB58+V$CwMeVfAq@r48CGmWsU zRB9Q*$b8#{vEp`4&Iy;s9PkyMJfe-}UoPM+Ig_P=(+d4O2}C!L&s=j z=7}BNiAw9RV&m~E)n>0W4&b4(M2OM5H(}GN;KCfn**P{8yTpfgbs^!_T!SnMRqlo@ zw|ko2XD{m;779DmAB%hX!!w{6=OypV02gwW%OC&xqt=w~M_@4(C9xuS!@N^V?577J zqLJY&)BO6W>I}l=`jMw{FtbmtQ`b#Kc)rRgN5O${`8}LaR;mh5lZ%!588L*Y8`|l# z{4?dv&Rci+aZz8We@#ph_KSXJjdI_bKbxs~J~ya^`eO89Z@K3mq$e5h%xYFkFObLJ z&H5C)o;ztbAeX-ir#Mq+ZyARND;E=3_|>H(AIJ3-q>`D8t%Wy!n|g#o`Qqcmup(X$ zg$|k@x>~Td6fnvlWqFsye`15qktjzB_5)>4FJ!rM>m7a7bIJQSKlNYrUPVbos#ful z4ROq?jtU^Fbm{k>ITSn+A02LPlttt5W@``SC`5q8+P>+|(k`P<5Ce}|ZCUNPmM?s| zv1Ia4>c!0qqWn0hp5OnQm!8*#xq8Yp{(bUmVNPiUx!k0I@3ICy$Xb8;bwGyC!0H@Z zAdV^Do;!uz#5fKz7N@IwbC=_aZ#_Q5HxGtybe|AO0E87~lAGelkJ0Vzn2;7qaCPRd-?InU-eFd>ij?Jba0t4yfV!rJs*_%%|zf)#;`pXdrv3B=C8LKAIU zI=MK56&!ZT4KX%#1u9gWC+t4m;-+ikH){thRKwo-xZGZtaI2^uBh#+?E5PDX1d9;%v2iXdUd5Zb^>j%qy7KT2VbSZy?ACxQS*lJlTcN=9up$|mt9VABg0p&8U z?$?gYl8&gDsN2;fB`XB{0T~)_0HkDpZJOVCYx&;AO`ir?v@&0cUHfyZnrUGhl*_eW z%l-BvojOmBp{pI9oHfJNRQkB0ptK|wiu3rdbv&6Antimdu3&tYWC07EL$o!MtaqjV z>L3uWx#8(!EtPIiwR8EmZZ0S--DD;sJA{7MN<6Q_uJAW6a^xd|rI1EVBGK z`Y+*^S7SQjHm;}Zw(THQH_HoY$;W}C)6wyn0+;Lb zQ@|9U^iey1bRq4>lW>mq)PvMd(2?Ei{+xD`hkCPSA2r0cFTR>viTbZjv1eM1V2DzpN?ED+6Op4a=`ZUt`WTzo z)2bo9 z8Gvl{pC60WW)I>ZGwl>PCjO2V}{{f|}Rc ze=^Z+7+E$HD4J~cR*c)20!I2A-Z|a!T9Q)oMMLP#gVZ-(GYbXet=2?}1>6u7EiEmL zj*6n>x0Bmw4ph0EW6?SIW+;)=6D&2FH+<(BibSAjKH7auxMbeLE?a7! z35lu2_0+EnY#UWFB`U&)sO4!tqts@!TYf}}K|#};ACn?2EiEOl#ZBa^Qt>j!DCe|B8I49_B}N%j%qx1xhGDPdX-HUvk~Iq6nO}k<%M@L) zU?75pl0Wt5^v?u2aSxO(nwtdYjOEHNmL!hyb8SdEH>-Oby?Xea2O0VsL}VentCkDI zD5(jlZBy^^LE7cGOryE(#1Kqr_2PhY*V@X+>a=jpVZDyDnPmNq@~Zm8iRAWI8x`iq z+{3nV>9iX4x4zm2MWm6Pe|j`xAc+_~$kg0~^Rm4C-S!z%|Kp^@wxv9DJbC%*g1w-| zn$3;Gw)Egj-xQqgVZ?*eH=85M=RlV3oENT;sNt@nbvDWB=QoM$%htwgE?E3U;qVYI z5ca+zCMIlx1vf65U39Ra8i17A3HCaHqts7Zs?->So&nAp!@lu8*&n%{amV&91D@2? zIE&XNuhi=n549_se=WIgsX7Y%S{f4-t$Pie9kwdGy6;XmeLo~=?VJ`p!S%j{;9T|i za&}X${N`%&kh}IBfkHW|??W)RyyO zYf)@cU_%=Z{;?PGyzN_4Ch@czRT=dT4&y}JU6Ui1IC{g{N@V@s32tq~$8OcCH*sm3 zYX@;{4%JNQ!i$}ED}GWCqYav!P7pW5rCln#jdlBAc2!3)_I&xsIv@#F%FA)cO@xR5 zaroPJIQEB9ygJ^F%65YN^w{`riw;ELiFthfydbnh^fMeoB7gpOxb87Sy-D-4g`F_F5vhi$Aj z8_6|ivItFKrt)EAstSvJ7^yIuUT;Fd^%<4%Zu_ZZN&ZF+p0Tj4b)UP?m^{|Y>lVRS zvvq5MvtRMsg^eYHfu~1h2F$GSrQ%yZr_{eAiqAwMh&Y_Tj+KA2-E>9e-FAsN#dIg= zd)lz%E}Cu`9rCawDPiNy;^*5Qp7mGwJAD~t6N-zJUt`Oy5lHc@3`giWulLE~5|%Kg zM+F1~C7X!YZfIAXVp>bbiMiX7-zw|$^KBMM&F$7RZg3)`ssk@--MM#9=wZKMYw+=_ zahj9HSausF-Of#1R9`cxv4qlh-TLzzShsKbRqI#r37uZy0;)})szbQbvd#0d^{X18 z2`#^C*Q-{lOb#%?J9reQDEOO|A7iH_FsI5!H<_AJ(c?r$N4IBoC#7^UFNFyfh%mpV zlKjLXH1MD-^f(Z;@tqzTf0zlG$nMkL3gE#OMI8 zf#N_)CIQnMNW4_M6EE#pzQ|Oa+4wk<$6=|4p{c2<&~7s*x_v8eCHfNyRpl#(rJB^J zE3-BlMp!um$;nfB3z=WGrVE=^7t}mFtQd%ZMPtvL;D`4cHd`L#ZCk8awfC>_rM$h* ztudqzzUOd{xWPX4KeQiTrE%dme zl!gyD6@Pm<7d*hmUBp+qb^@e0=0C5B-7J@=W2?jW0EYN9lWB`L%kzyhSYDpy={v5Y ziv)eO_nh;(z!e2#HcEfa#`WRGKqIGPiDNdmgo;I*_;~Y75U#*hW4~g0z}crq_YH=U zqH#2+lInnhL80~k^wXz`Wc<_TX1a@)PH$D56Ju>>zr%5+K zNBt3RK%ETTJd59S>68WgPz*8zyg!G)OJic*P|_3Kbl_FTY_s$E1mzQ%EWFwp>#GwL znZ?Xq>_)54HN4u0*Dn<;`59man$;3MKD^#5=Z+o7J^RV>E!Pg+YkF4F#Q zWsno#w~ND&696&eQP*fQaA_m%iV$WdBC#d$ADf8;l~?=}T+}Ohascl9c!Cf~LXEp% z?>Q}gtw}c_(N@}-Uy-T;53;^)JQ`aQ=a7&C5)BBtM50<>h-RsadSZjI=k>d?@76yk zE}d(Dcuu|uM!*lG&4sj}Dbz+!Cr5h#(M~+uoxf!qNwR(X>r3(goT1_l?hVfgmmUeI z4~J4Qj#<0h)(S`}S|P}rZWP`==X;^|uUWo@g$CNCeN9pZ9Jf5yAC7zbTgusl614__ z6XVIFz78hi-Y)RlzGp}rZo^oBB9SPeq1nGtvUBcVzS^~YiBE8bi`>tJ1P2!xf%U#s zM%h^R`STr&Ip)?arMQG*&d!ced%GMc4rk%BkF+u$xF&Ff(CdIvJD1n%(D+Jj!*|`_ z;NVRFPUCS-qqez>AgzA2#>TT}uc~Cso14a-Gd_1tr=615=0XOv{#;w^bcmciTaF{& zj4Xh@vIT@hMWUNF=g+Fckv?&HcWTNw;L`Ga4 zFbmI3^Yx9S^}(o`w9V^zk~)=@c~%Wpe*4xBRkN{N?Rlq3IO#52I0IuYeoG^92v47c zXpU`QxWDWHJOT?%=5@$bAH&kbrqsow_zTv8mT3zsixrU={lK1`8APMRO}dp%PjI!? zcRFu5_BKH@(GUxTL>&$ecfim4+NyW?Q;SeueBS{{+W_xlG_=qXIK!md7z<0hC~={L z?^Z}iNSKqI%LM0jR<+xvupFeGq|20~qye)w{M*k5`V#&Rdh3LGcE8!mf5C zBojXbl3e%W#s?{^T)HjB(UiQE1+k@BOSEKjRu*AeG#{&w$W`o2XQM32NnJdk*_+QOnIUPePPG02!8k*c8$t2F zAnl7{?{j0hd3oak{$UysP*e*ZIYLj?#Fk>BkM|}#iz-hPeVXcOvTU?}L4l-%#7lB$ zZ{Y4$8_LSvJ$i0h6Dng9I!FvmDY6L&!;YO=4Zm9%$f@`B$w&rSS{^nW5t#=O53uY; z)_eeNCWYjo!BSiRvK?V8E~H`9T}a8I%d&&NtN4_uG2rIqIx%k|kxWR&nxBD32;r4S zpfn{M95NyENk|xmotm9tx3#(S#w*5=*>w2J;}geLj#^PIWt^q@u34s>W1*d_9@1ai z*(tB^zT9LqtuujF(cKk0O(m0{^tI7ZPaisN_l3kHAuufsEyH(R@W2wY8T_~c#^Rpb zo-wx0M5VK^8_|V^8sp&H%FxNiVAQkC=JLWa*0lOLIWC4nN#f_bpNn|Upl?B}WO^H} zoQ{r8qZ6_O)T9tJ%;rTZ*n8QlNHc!#?Y*>e%fTC3I? z4K)VMNs(!3U{tM=cgLjS;vdZP(&+N=kDo*c4K1=~;Nyd_E#`+y2dg(cgTn;!u6Gbn zuJ@2>tjjX{cH1ds8c(F^WVWiyK7@7!T0tWtBmO=_54d!mKNC-PymnHH;=~Cl<-iY> z>0V=JtOT*y$a;C`3-(z+DAblVQ&age1LiZwpo4YlBo79{v|gGQsYQu*E7*jOvprfE zy`a?|CqE^y)Nui$h*(>F!+92=XIs_k!CaH#$lBf9TRReFA?K|%X$c95-X>ElyTLoX zG16Wc`i+;)pv!z29wcx(MGv_WZsur-39iuGJPU7=%L|YsSvY5BAJVKT_AG-=>OTht zXt{FNXIs!{1uH6eF_hu_`P%O8==&mGBlUD`j;gpRDlR$MjnUlY|K5K=9-Rm56r07}k5NJQ@=QBNhvX_}GfVY?A`i*K*pY`<#C#P4?(JnEV zrb+Xx;DY3~FZw>L?&7bO^SQ+S(NFH~cnHE@?sCD0t4y)tURee8wKVxI@j@Y1$mNte zyFN^xIIT639tB3G7(R@L+wIxKsUHX=#0ALFY#;DTxH!7S=93+ZU|#ixmgw{Ij|@za z@H<@27jg4%J95@>)gt|s)iyWtlJp$l+IX57@#i5m-w|^3#Nl0A+Q!c!#LwRes@hyD zC$HnjjXC?S^k&rc)N%T-27S7NmP zkI$AYqM_n#@yJCyzBf)luiNhS09f;guw+SxelLg!zTDh%>5O+>B!Vx?IN|3mzG2kT zdjI$_77dMknp>K;#)rv~k)}+O%<*x*wj+K-E0?ZZIhAJAeudXA=^{KL<}_4obox?E zb5=@onqE!2vA?&qyrL)USL=_OMU@^u@+&7m_AueNW}Gi$du-rI+!!(&PL>h|p+wS( z=L8XRTu}%lI_$dZ@2VgG*ub;FbYmwQtuj*DR(<|lxiY6Q@gp+CN@U=gtsVn|m|wDA zciKojDa-m>AF`mT_s^b{f$T)aD8rtcQC|YQq}AeWPa3h{G-yfR63$$uCZutIB zo<;QKzj&6<_A@Fpm+y9_l}Ae}2c|e}ly+jQeG3H~b4rRG(fpmJSf`F3hiBh)Amu*U z$#*x2O+$i2G8y0(824VD?om8A3O8T9`hZspIrk{mKFK0O#TqPB$zIT61uTOpA4J%x zJRA&qDS%k-gaV|+!H-g5Rtj^NZIhK;$lR23X-b}Y8;}|K@nOx+!kOO5)EWZi)IrCT zn_?pe@kz$6O?oNs zqF&%+=Xm>SY4=?gQi#M{u=WDL&SLDetjppO59>w%7?t~3q#QM8OQxz2;Bg-CoB8^6 z!k^8#)UcY^8t!x?w{LrYV^JqAWtQ`F5ANJtrspjMh50wsge%MMinJ)MK$jf$v*niK z>bdLQgb!05vZ(Qwrn$22#GHe#%crm^q`dMMRA!=P|>Qw-Z&Lp z@KmT)H&WP+L(1uoF(zWmDZII8HZd|ni+|gcsX{VT*=L?<|w|2NivOC*IRQ88Jn{&o=ook|Hc8G_=F;Hc2#cH_f4-v zXxQ4lfUYf%Nl5gS-Mo*ax)0T3DuGsZ25P7 zD6jFH$NmEceEqfQVQ2;N<4*h4S&Pi2oN$LdNT$;C`oi9yWKj>a5g1?=f{4?4v_Uy{ zzo~x~i2-{rZbO&elFRnqlO z9j$#>?#n)lcYBGB^~dMP?q676J-W3&9xU098gm~2L9>DX}ddN0y7H8 zq)5@m#tUj{W6)yx{!~}k)(eQEgSeLx6_b<7`k@&N_tu>>oEQh$p%=#-2d?F+oBDf- zQOtOpJ*VS&%W2aJXh(>-6snIKuzQECMk6Yhs}El)xrBCah&!bI+<{RpNxv)+FqXI=P34Q7@nEp#@$NG~$JtSt$g_yFZACO&stB+tGGo$BW$XypLaN zuD90AMRlKn1<8pF?|H#Q_~fx;A0S#KJl$mf#f5TYq$2G!c#WenBoA7!^2Y!=dUIqLd@y9TS~=ml^b+<3~4L6T~~vuV)BYp}q$m9)ag* z%>+z)Z|dj_MTb$Ik(ACU5DSn|RULg%9Ddyd6xLIdlWpP8!W=lF7G+XWrWU5U)eOxo z6S;MzlEcH*{^`GFeaC74m;Q*~kDugO zEBBj!`xbgDRa>!GC$v zB_f(|*e}4jFxQrDz`&At*VDa|3AtcJT=L;4l8pJ_HyB1~WYJjvShTZ5v@dPeCd$}y zFQ|5Hfd2;e0XhKr7(}j}7Th##)dnCs&|mbf>izxuvIEi+k=Nk%0ND0j8LsoH3Rxq| z7I3ulyqI|!L-jZSe}>$*8!Jb%m=B5yb+m6lDAT**n~Hk%GPo1mz|8R?rCx=Efq*ma zWLb8W?>-wf##x8i8^8NC&PWu0o`BYaXm-S!&R^dpG6xYygAspN6UsK)Y<){ig?0+E z2E4`{QUkI-Z!ZM|1=arPK=yD=m~(8*L?j;G+pAZxH#Qtkam~M>`XcyG4^-}i`4^;9 z|KcA=$6=)nTP{D=yy!)~*>TvE;DKHl(cJLw-&-}`h81)I-;r*B@k=dIzSAGQ$*`S+ z#f@deiTRWbbTCAIU_ks{{En>k`{&0`TJ#p(7<)DKn)`i6`i_A&l6i(#D?4*5=t=1u ztrV*E*dEIRIYLLr)9Tr8jq_$2=O}p78jO#Q)JMk~?Ro|poVZaw*@V z02Qv|*S>fG?buwQ#)|bN7wywWT;tpw82ze-B>^%Dkg?U z^Z4mCb%@f6xfGl2Tn{WTGPXrJp20mtpun9ts|Rsog2tBV(j>*eC&{oRNF?b>TC2J| zf4bkebM?KMVnT6Pkg7(0Fk`5?l9D!nPNQyRF$CFvq>W}IMQdFz-qt&S_7;W8D*X@M zg@qKl5r)lX)c(bzIj1@~2EdE~@%AgV9ht=|U(j08fw#=&>(UtM8K0sAIfN@0tJXZTL11=AIxWrDd`%R#p{F zDlF7_`aGYWG*w$%`P03e2^^yxk|;*57^1DE)dCKUKqT6lWdFlz{^@GQUS&*O_aV>0V9FU~)fHkHC<^v9{0F=v7pIG52Rcj; zQ1&VSxBZB1kHwVFMX}J|gkBNPT7z4Y)aLNXtdzGh^WhK?otBG!sFUn4Tjm6*WK83M z2|l5J5^ukePyAv9fWpHm(~FDBpZi&OGS`F#ykvwCW>K=&bAGsvo%$!y1Z63X?#-L` zG{Zx@zC=ekK~Wn^WF(0Jdx|{{xT23YBEhm;ZTe`twmB0E98OliuQQ_V;sLLw_fBNe z6-cbV0tDa@$2@{QrV>u3yLSTIx?g)U1?R^7AK0+Ub6!Kgl^3 zl~uLece#&#o`&nHSy;j5bp$VGMMcz4)OQSo|8L$1IXj0vKf>QnH$Ndzo2Z$IvNVsM z8dZjVPXzW$o9m^}N53sM+a%A+s>_*0SiB#+9S z*||)3P82ACOf!E771kRBkr?q!U~rs@3!dJC?#t8F7lCwqRI>-}dFX}WEr68eHPwt* zD6uXLx-;2!1pLUsSjN~NIJ!Ucr+OXSl#~1r!N%l~y~{GH>;j}ruGv5-nS?`GCuQ3>?nT=1NjSQI9;Uj!7Cv8~ynq(9Tdk@YMAAkd8KdIJ&?{vc$p)O| z+hR`CB-S6lcpUkgwvX^P-HXj!*yiZvDv$x?H0I=2)x(-1;RBR4YzuV%fM9&qH?GXyBpWb>{kV0@6P{$+Y%?G# zN_^KpV07|gKebO;9w4xjC#5xylX5jSXMO=bh9jQ?`U*FHWdRd6FLRWWhs&bg~%GXJi;{c4z_Rc#>Wl;?H0-YWuCAQqUN&G7Xd z_tq)f$iSzgi?*GMf;br#$I;ZelD%-O7{3+-Gi&oBM8#J-Jkl3#Fj+6?=Umahn9bxD7SQZv*~OInl90eS z(_w{A+dQfREQhCOy&)YX>D61#{;VF z*|NeMGD%j1NX43dL~=l@UT;lM|ymb1W}g8M@vLzLI?_!NhXg zAt*=Lf%X9ruq{MeL-y^9+FsPJFoT_jJ`?M>Mhb@-V^zhb+M<`va4C_y3!i~2Mxv}* zeWl-L13LWCO~v6!wbu{uUU7JS*T&wSMQPUG?5347oJAmQz>#WF9IZWn(QMI=X#|3c z;E<3CTLw(cr}h6faRe77Xgjfeq6P~p54M+=@b~gcc^@LWk-M?jPo{o?b*ioDb%dxO zm-VDZ|LXh*i(+zAg~@(irz^rvhgCoBfGk;wh7A9+K=MQUS>B;vzwwG{E6b1rfF3Zj zm4lU_yPDO7m9=|b-eLUjh&-c|hwekN)!3IVnps6lBo>Pu)p1uz@z;2AULAVw+%M0N zkMDAv%)Y;q_u3x5T+7CKWpK6_vecb>1d^2^UM;_UevC#p4U5tHTmu!pP#&Ml`VA3@ z%A7|I>R!|;e+QHVkj9G;r6(x$L9WNFCd*W0Kqt>c-i4I-{IjR~SJ&1q84gnm8k?k# zY=V$XIb$AU!*2WY8#nMuMUm=GwuVx*RoypMJp*L;MYIY!TUdl3XO78f8f!`{?8+0| zVh5YYWiqLftghx$22ZV-Y-a1>ORYpzA3L{N?!L@%OeZ_5;aD>LMYD`|{X-^8a|ZBE zyYT=ssC8Ciowq44PU^;36idgF8WcnL|F{U`^cS@~B(#Gf6OaE$)v0wSI-SU!Ki&Dz ztl5~}d9oLDBS5h6#7Y2Ud(ad1nzbDi$xuzR=iWhZYuY>3K3(odRUkhy{c{<*yy$cL z3Jzq;g$bw`MRX#0#W&@5IGKbXkzzD{1>x5^c8e44=>qHVL7I4rkVMb z*?ByawY~7~loJEHtc*XS27Q5EeKdFj8ag(vAP#(dpQR~{$Tq_zW4VT42>2jBMk?li znT9?_{!V3qZ-ft>*L$A1$Xh<4rjND_&Z%f+QbgXPc?DOM&mJj#kz(J=s}kVV&M$_f zOHZ_BbM$(P=FnT)FA+%GR=)C^$D>Wx-_ZXHPyGPc+N>UQ#<-Z5&7=bI7w_*(f`hL3 z{^Ga~++d)A5$5Llc&IU4jQ^x=0Iw)VS5lJST;Ob-Qq`E=1w1N{v3gXU!cSZq#p4}L zfsGhzcJ9ct7v&kRk2X;4z-_CiAVUK;u9E2#1>%4iI)>%|wrG!NMFs!XY;%=%?sgd$ zh=c&c`|k*Lwn9igAe*o&Pen`L-l;laRCIa8mj zYded^=IhpAy(J4C;x#Ipp3SeWRFyT|th7o>b%4G5`yR|r>z)Y`o^an`31=UV3#=Ml z7kE?rHr-;RQaz8i>;nc9pK#HyyFm}5WSMjvlF^yQ6t5}T&ydnd8Xq6qRhg8;CV_ED z?B1f#$lsQ*0G2{RK0rh%CVd3T-qgw}!(Q`mm^S?1!?aV;r^wKBni(cQ zwL)}+#{LyL|BceLWOgJGN)sgB89uwoDKp2_dH;CD`hm;?6oR2=1R0a~JO90Ni|HiV zx5Fl8kJkBRceZRC%vF6cgkC48C1L8)t1l7c;An%`wI(_kNB3d>ID|%?0cWa@gFvoe z|E=6Fjq!!PMxYa3>o6}I-)4woOJYlaurgF?cPM(6;EGT{e0u@K-(K$GNp9nq^`n^? zFVaGS|6kq?*1T<7KJgbq>piBi?bW;r+~n*vg@t8q-b90Zr|>!DEXP`$sN!P#t4{2O zs>FN{EP(=hymM`i>K-7Pxxswsr_A}j189W7uy+|KKa){%_VDE37tKu7W*~l2mj=ZP zds$64Xh(@Co?lfk$NMM47$%q~iFj1k=r%Gm zPODpA(Ba*(p3FTyE^%;sG6!SBV;7NoG3A-flnKR(F72Yf<*Pg2K}(FLQ!o)5-@rxi z=-S>{O8R`rE%b4_w>vZ{4#0H~&_2Irh*_ArXeI5|Ke> zy6-_b#M=M%NVF2<43i!zyXmQ>zvXrtFG0BIJdu8=S0SC_A6`vnqGQ)PdbMDz9{~Z^ zex$8lzUDUO>tbCZS7&#m7y~P-Wx`@;E@%*-86hyhkkStiAAE7kaNK@l&6=!TRc-9Z zsfKuf-;0mQ&;PIUTE_p#YZU|pZr7tj0m?|(*ERm*-rFE@0DJvG@4nm&RGq+Pvs5lO$lFqIL(le)k3 zREfttVEcaTDRULRV$b_2mf+%Ms^qUzr1Hp0_-e8`Ld?hcSk?b6+6z6aSptI9S8mRIjNLz~rk(g}&bp`o!Ys@41Wf8r%!m=T%vn^@OEy^>RtTD8 z+-SJ-M%w(Fz~Q%O)i)$P?&*S<7;5FpD%xdaJ`aKZgGahc%J%>5A2a{-k0T&O zo*NX0I$)o-q-)FX`fcZn?hOLG`Dtn(3O?;#7rBWIHKYY`*1a{_3vwS zoNxDVIO9oUF!JL)q+#BQSX(P9X_Z$naz@4_GdurVvEuygS5O43k~pR!Xvu0+U`K$; z;`}3iIosOG6z1@``@8o>zgnaSywd!aOeDiijt>|H&^e4#zC9)iFV^4Z(#bGrUjOzi zB<}yC?Y#rBe%tr)TSO5;k{xA-%FHey$;jTa_ulgsN)fWN$=-X1kc{lTiR`^Mzw5sB zmU`ar=XpNA&-e5H&Fl5L#(5p*aUAD)aTi5Q4cdIHDA|I>xfV3QD&{KLjMn zR;Vi6X>-oY=%;#2jjLsD9)5Vc@`)b_F%C9Q$FezG|D~iH+`HstFh5gh*e9u|2uQb6 zm-^<@7FY!{?~QGNebX^G;{5BFk@df@36#-2bgp_os* z;v`=07h!5w@t^(pUv8#0f^30xxy6)MJ_~R|CV!ENz%TLCgzfK4kHZfQ><}Dmgk*sM z7?ubs{Y6#ALn^%2wv6qjPV#M8Up$YTITkdY66wFlimLHL<$9M zZbfetS|7#0?gSyF$L=f!%%YpKl+;+?k@h6s@Lhd=>w;hib|EyaLt2wU`W;p(b#juR^T9`n4Aiv|K7<%xUj@yBw9qfKi!tB3XHtVyg{KyISNrK|suXW@CMNi! z8sGjQ#P*Yesw(4Q$9=hlS1O=$%4@z~e<=a`*Gb`W=vY+{Z(pHn-?aGwnw4fc=wSKj@-C06pa9V{d{Re++}4g1auS9MzUX zGL;{w#of3`GMu)!Jq5TN&>t~1m9WG`b<`7F_W`bh_4UO_m!+S;)X9^nHhTNke0jO` zP$|X|+`aL+v-5Cq;K(Rgv_`ZcynwM9;D}3P%z2mi-ma{RVEP>;=AePDDM%M20$m~3 zAU6#Y5Zn3jB;9+SdwE<^l%yx&BjG(>8?P33I^Nq(N?I?s6$fH8e~a4TL?U4SSy_80 z)-s!3eW0Ka9eSn9z(rdtCZCy9hnuvx>s4OZh4D12ymO52pat|Zk;WOQ# zGep~&U7y;Rm<;{;we=o5zs_{X;9xvB43o75zv>*{fDI*q6jH2*YVtRHj>+CI?;0Rm zK@O=d@rhozAOUgB@V~@|sq(~nh@*Hm;@$q&`-+mrcM;Li(4LA6Q7;Gf_J&L(@$vF9 zKJ*lLFDg1!T1xtkm@}M(pC6b!i{G+^V(_`Ueexq3sLPb(R(B&!Um2#^+SxHM>D}FT z=hbfIdPeNC+vyd=ON~ zdlqa2y&R6T)z0{?TH&}zO7H&qt4$!p%TRICWPhkCD1!4PmmlUL-}~viw<+rU2xn@;3-GRMTgc7-z`SnsjRwmV8QHhYg2K(`}KoImi=!xoGW%>@Zx#-z-WfJmxE&|_=-CFs|36LJyKK=2k);4=mx<~^o4e#Nq9 za~ncINYIp#aYvq*h>L?4T5k8w3PN!0hl;e;__f{6PS8yGz*3DkF`NTg*A@KdxJCg; z)0$s%yg=MN*my!n&d>0W9eVrXqOmy7gOu18LYkAI1x+V;T1por+><}&YqUid4zuue zb+Y>2`2MjYVcrT?F*C^rLC<2{fi&j3jEq77E`6$w!V=(!_jXvGijNhTefK{1*f>K2 zo>}(H^DHwIZ#@Umo{9Pw#7&-5eesi3$wtlbZSJ zquJVusG$5UA)KQd4^D$U3iO5qwaHZ-xL&gXVdC)I(@|n!OU;84#EF>w>}(RN$RtC9 z>)_~tjFX)W&pj~+0Rh2hIW7q7w>cD8uBg+a;suwG^(GwiHHf>!{;7CG+56ys!@sW297cz(UcB*N_4 zBq=7z;g^{hQ&R)lD#xAfI`0Sg_z~&pm|gsJb>*Izq_m@t6&b$Vp%Io$4a#7k?*BeL z{S3#TFubg6!g8kbqC0w4Qo?PZ3P(Q3S4&Qh75(}SKP0&Dm7~?(y8YUkh^FSujYu*k zOA+Ix4!~7)1-Ov^ib)y+#X=C2DyLd z4mG`Te2F-?a%y-~m27!qYhwf3N*-yTTRJ-8pt?UdUV(|385G$@*jdhjmR$`84gM;_ zv^_YKySe+VQIg}*}pb6J*oBw_SlvYW!PBH^kwH z%&&oz8H%%w0Ez8$KesnG+h0i+XIgq!Hl~=~iKpm6W|BZbsoNPN#o1}JUeE|-jG)S%p9AV%5~??o2U-h>HH}04W#=f`dBZK1b4RKCq^eQHx6uP zn+2Q}!I!a$38C*8L0Giw-(3@5W6WrLCO)>gn15Vs5_Q$jREELLNRK){FYkr5+3GAv zizn`NBIrrHw|(yaQfgd8g!dlXN}IEFkiq! zFfbJDWFhge+V|^MM*YIFeKUjk*E7+M;ZSwa%jnS;+Pt_OdoB7Pq9Q}=8Xn$)foWYb zdWGSv$g$vhLuaSgax&T-vIPm@+J(T-F*DXj&F$P(^NNw+-1C(OLQe#CQDGbU_wNO< zQ{q0=%u#YQ0l2;P-V4{B*^b)%tp!fK_wM-{e3T~<5gO>ov8Z(rLc)d5pPvT@^YY|= z`NA&OR}D^2+Ti=Qzl0Lr84Y>&=0gLA!4|=wS9C;qxg`j$^TQ?P@1k+N4a20RJohKy z1&(?aSgu7L+a{VJM?vLdBUfR;s^Z3<0hI(Eszd}JwAFJIm!U%?a{U(}uBungqmS16 z%*?LYb`aQ#QWqhI1dj_ghJEt4gh8d*y0e4sD?0);{3qq$zlmnev{f>4!p(~D;Z z@+Cgl%AmHya(yaQNS4aw;0_Co6}V@wbrbRmwr-ojzi1gTEL6Z~ngBU{ z;-G+lR#C*)ei&oo z*}w1vF(#iM>51LyI2F%{lcSW>-bi^egK9IDpMJ6O8wJUL1W6hN6^WeMmX^{IyJFe& z)O0!?TLzW8{o@8tpSl$n*M~73SeKy=YBhgQS5QzY5dzyCkF<)J)yB6P|2|W3cP~j4 zhcy>H(|y*BdYD%sCtUzCNE^!ANFTjc1|KTyv!Qx|66?v30QT^;%UA^oid?Q&;8?3+ zYAl!Zbk?>Sl_^N4ZUt60MZl$5>6GKyxsuTD#Q zI}qfJL2yBAkG;8aOUTANU0VFZc>O%5?Ne}fad-p^K($+2RCP>`h1yUtF>?!;lcxeG z{1r1_^D@Eayj&V7Hna0EyF9F^(TC0CGHk*|QO+jp_5~P(9Vu$1-=~bP%zYOkP1wvw zOmuAw3Vk;Qu9|h+839OPdiJ^XSf%sH;fxH2N*y>-I3J{biTE#rVN0z+p@XQh@)g{L z-n!-C(r{ifx%w~7s-M`&IUKG-#lT=*C3uJwYaF-O!|QaUema_%zeW=&wt7CLM#L}c zt+1ph@!H+QPC+79R_37Raa}SJ&MTudy(@j$*>;xt3P{2mXUI+He~jG96~Rk+jNZPYEB_q2x>$PC-kh3-!GokiO>Lli&u81|^6nO)P%XD;TvM4Bi ztw8)H0Y@D2MSDD4eD;f#1)DgQ8^^;l+!b1cX%yJ@fOm^sk~bkz%oWaEV}4QV!w)F5dRS8{T5F|H8FDC|uJK701g z(wf-F*f>>^hX0XMY4wD0m%!Wa#f zBtUCe2zrEj-x+5xOWO{4D^zzu1l*)Ne`!k3s2Cmlj+Ez7?r8$(;X@cIm20zSV#KZ_l2ePtuhfA%hU%02!&|DrJB>}fJ^v%)g1>Vzqt*veRokXS5 zN!97Fv%miVvTj53u%wcs)qM9_L32ZYGby|`fYe*igP11jU@X)|=Q3;qah_k(4zrKa zhI&f{#a-CnoBM#Kq;-?pC_EsJdZ9Bmlg^w&R|wDU`3H zrw7X5S=XjJVE|*t|5ka4Od8d*Rn4s^&cx$m)s`064QKoNffM)uUA^-3lvfPzvS2S$?Eu7KBaaD8kufg7EjkTKapUP_kE`w3HCnyF}0H*N;|4I0Xdw z`NIke6YXw{xw`thVQ^lKqBJ)*PfKgk5Os8{Yl*0@ix7#qAl_0|M%q@L96qgHs8~VC z!0_4&Kt6#ikjH*Of#N6Jz@Gh0``4X_Lnsc4sdks~_gP;45^Kq`ps#-3~ zS7`S-JiG>+8i0Su$%zF)<4_;ASoCN?#BuKu!9Fh1kAWXozdhJ*3%wodmU4;II5*ep zH=e@Z1m2^gYlEA)GcYhnqGGC4xCA*M=&0)qwD-+Wo%H9Zrl*fevwcA*bZ3H{h7z(M zaG>=08K55GU4qR#+WDE^m+yl(A8lPEWW5tl&f_v?nB9VlIcd0h%}#c4AU~uWSx<5B zD|kF}xO7z3qx7DFdk|4E)s;!6PayX%`bg2UNcrUNKwTa-f*xo4g4IB4*Fu{b7HmAZ ziO-McKI`yB7qAqVn3xoMdvJMohP$$|+^IxS@7sMBt3*bWc%=dED71btp3>Ar8uLs; zgQ!LS@8cQB(tpoS2??uy6n*@ap(=p5;tUU}eg<%W$?*$NW5BW1B~gY8?c3)0pJ;8r z82#~+xiSdzIVh*}7&2&L;n`NEph^J)I)2D!I86l)9)GUdcwOQfYANMiOj9lug{^85 z^s`m{D?}Ny6`$BV7_u)@O~!!_58m1E{K9jCSYX!L*P>y|g8SDGtnNa9|6N~4M^MDn z)bC(N9F4@-r1!=mVL`%e;b9{g8#FskP9<^izV2>xWnRV=el<05B_%^4Ay1j~>uV@X z18Fac07ka8)jeLCe9#ud`$AveWqZ-3sEP7BrIzSm=nL59ylMkjK;rMF5!=Bha&CXT z!k<8j&y-rw$P;i>wVs%`J4(Srj{gT?tOmmiQgDk|`Dg~AXQS*u6dqSS-Oi2(5aj+f zQ@nm*d!a8h1P~W;S&=IM;8{o}CfqhV0-I64EBbkA5QtP$Q#9SBR&)7paS*{SYnMD( zjYt3@Nf@`Imz~RL;2Q$a^}oV?b75?3hEC4h3k%|2x^H}=aY;xt^!3HQQHYQiDxyPm z;3NAOjBLW}!0db^4m{_QIDf*PrkEU)5rAfyP(OqO&D)Nt#Pt}6MfNZKNSN5SoT)Th z9haqTYTDjE;JtLOww8Z;Q9-1x!ZEp@%P64$0pZp~VjJwTR{~HxyyUdBJG}+Pa>JkO zl|Pkk(yVr8q|;3UTFqWQQ#Sjpw|AVzNLharr`!hBkNFQD2E6fv0A8JFgW>ubUvEf( zyYjIAbJi2Te|=9{9C8!35CD5Ycz$*j;6AQF59@x(L`jRrc=uX&>5fs=YM&o|Q00M9 z>oTu|gkAGVCwZyV0`=#hMTXe%i|V3C5GKGDr;}SxDY40PHCVgC!tyFE4gstqb@him zJ)V1Au$7qOP7YbRxs!GBUYkw9aitPQNYB1KLl7`%RL{n@M@CttX_^f>mmopu5IDptfB>@COGf&mFTHSqTlN>vx`{Wwr3n@K@dUOCdJ7|C`KGkya>pk6>mp(pf z7D~@WiRZoH=cc;c8%V(<^JqzMYGg*m5H*~yAo}%^7<`;22VzF>UI;(HsL~KYj|>0e z8Q9O(d{-jEEMRl;!ClciiRfpju||~w2pQia{PIOywu|5a2;*!ftn?uUrrCDj?3&<# zK`!+nkoD0FSJ`t)Jt*C4Re>Y-{Ij!8G!*%ijwA+1RClee0C&vAK^_*Jqc8qVbY8l{ zKt;@fU;6ZqUvS)T6%=UEvVDoidpoC8VRC87{Nz}Fji1{>TwFaa2f;VzHK%o8rTtPr?O@d11U znFsv!I;_%pq_BFG$8N$0^y>Km1#$tptPl-0xt?&Lo$IK?JH2P66`?`5Q>CBE;$2%b zv$SMj7|rZ4n4kA*ixR=R!dem@5HJqjbGq3jD$9)(pGikvw)gsS$JDo(x_U+*pD0bU z*UioJg@r=NV#MO#-o0x%ya#)g#n?-Hoc=hB6)qH0mheOI+;0?EC8Ws3TQDBytD?CnZ4cD#3HueJxv4_ z8d^qithTn(T-yZ09eM{4|Gc-KB()YB$gj^!Jv_=?WBE-r|%;MM`(u&n4;t z+?d%VV>EWWouLr8b%Mc%awR7%l?FI8HUVo}z+th(A2H|z|KdeXJT8RnIfR0f5U1kpe{ z`l)l>z96Cf=*!aA`{2LLzwtCj(BrR-uf8)|ke?44kYB^?wl%YRe>?AZA)9e^V`Co> z8;gbkw7~&r6azW+0ZS^ssLJ4{g#Y8ToD-xut%>XtK6H)t@Z;gy*_H-ODNipOpF&Ba zR$)bjo505cEn#xD>E^H_#wsrT>1JW0{!AsRFI`2?8Qc;ofHaZA!ER>-`q!-8fV0Tu zDGi@#RudCrK1A%yNGhhKYMLR#PtI3hRfc|Z-0)I!k%Di|^Mlb|Uxu8*4tg?N8LB)o zwn067haZ;#1w4d}$Vbzv7TuY+s`aJ~0CqJAU3OIBz}fzHDSKjt;oq>ABS^5Ogog(N ziOHslC949b@EU$tlya5f9ab%)!WbNq^C^skGvV@uD!_DyfzCvA2(vxud!T5eFh4(v znFc6_%DvgyymOOGk>UKF9DtWju|INnuBFwVqb}}XcSRvrBiatn=?`}E_!>|~0aVV+ zq?e)9e)5KqP5u)-KGr>d>sgu(S&$b1)$~6E?5;g>r@EekNAOLJbUwJi@)0-~7Modl z`+$PiQ3;M;e|?hH4cFJNkymjsVXBvUHa3D@vgOG^*|RCFr4d1R$UQn!p?$6(!o}oA zm6!O+-87|KHvBR)Vavn{dbUh{X~}wWW^>T{-&Bv_?B)pR*#!wb}0E z<>zm0T8WB|eBRnv=h@uaDkv9>zDx-}Ec!rBKv%NU7NKAhXzjD}3e@%Tv7wwndEzU4TdybTvfdAg{9nLW z1~6`T&#w_kInO4*!qEuP+1LIHu0B~YGuxOB2G&(|)9g21;b4jQ2L{d`A9Zzu2x)6& z73+Hzb!X#(f{@m@oQ@7ZArTkhh135(OVm}!F0?aDEbt~fmr|?3)`SVhxft{}M5O{d z`wLeYQPJ;52g!`8&2c?pOjNmg>-lY?G52l-q5mW=zq}n06Qc!hjCes1m1FU?6`J=k z1A`b4Ju|?yktOyUB|ub?8c$V_lWWeD6y3;C%v8m}!{e_jv(DwT&6*Z(=(%?xaOup1$)!w!ofS9GghK4@DzdbyqLr+Pb_0M*O7P^u5N#=sqRx#8=slknoA}e z2qn+YFK!9jAi@QXFA?#vFRxjcgK|ZI-ar>Eq*#O(l|@cN<1)-n+AB?KEFaXUk{ZY> zpF^Mg7(#G^eZDD}i#AJzE>@9?UsO~bkRu>tke8RR-cmm<0NaIZksQm_hWOQ_i;R>R z99S&>k_`R|H-1nSGD=&S}*9~r9pYQMAO+4o1Z?i#()dEaNaPY-+ zcXy!~(BRb1AMOY6_PP=YJo@`@OYNb{>G9H1_2XAyk7rH-`_OkIV&|`PZUq0=vIG3; z3Gyr~gFt^%dBhr1F0)T)dPlirwNCA1U)N|W_kW~Tvpod;COA$i1?T1>X7>nBg`Th1 z5cK-YXI6SpP(*tctl%>74-SIdXx^ z$)@0;KmURQvh)UcSe`zy6CIv8$A6{>K?duFIV{)SA3TGF-7@;Kusi1k*<8rZ4}KaU z9OyO=l15UPnnUJv2P_sAPcCv(=T|4u;9U82&XtkF1s}4-$FQFSXIGu{mH5HmB>L># zkxxlgZ9r^fO@D37=7G-3z#sg}dopJSX1IMNM>d7v|=|!^>VS z%uG4YE-dI98ZOPw<{0#lAHSef!fl2*1(uhatM)i&_BK#}lG_&Tym>fqd)OmG_yGGE z?2LYN3&5@Pjs+_e;^dJ%$3l3z_WJDAfCMk0$jWBObGS+mg)*+W`ZmCwHvpCZ|2*gL zaHO}lEjWSyf2!Q~Z)q|?ufU=_Of?XUJ*>iRtqP@uku_|;RH;sc**LV+>UnB`M@aOk z*D>2SBx|5Y>0dyW=oQCLJUO93M05=pl44xS%m?yfhKA@)A?-xV-u~X@4JlUp|B?D;csf9G;`fK@cEd$phz0JPV60uZUYwR@kSa< zhP57bw!LWWOCqzgG!(l3eqo}EnHIudheV1(f=Dx0H}NhL{Ddqci2dY;WU5w zFZJOqL^|xMdHLEy-$poxa);s$qqzP4+&vDJSI4~Wts(QQO>iD{@zCM^KjY3yj;Acv zSI(rFZgyo+I<9+1#c&YAb_QYq)-5_BjLneGd9e@FpDlXNzr>)6EzK&3%=E^SZ?G5$ zMAO9N0E;tt!g+4KR#Im6I30AyI@<(xpu7?zwJsQf)hQic6PkQB;P zBk8(D?*xly>Biu^pa#>J;p{n zXBxqBJtqqFG$73GWk$@kUwZVw@wlP|*lzSL|2k+;VpYJ=_?L(AQKcXTpO3vVlKO!b zBPy_<-1xOc+1p{f0Zi6LjpN(?xO-UP_f$j#P!e-f5-KXr2iwNqSC}Cczr@{fK2i`k z;l@Od3j^L7(BTkphq1$hNFL{KRV+4>;j71Di0yP|02Li$6Beyt%DT-*Af=kxH(nHx z)p-|I3T+QUAq$@jx)ak7f6vs(@wQBM`c=~l+SHEEZ&yXV4-a=3|BT=uAPw-goE#c7 z8DTc~S9o(r*cKpLm<6P(~X`Gdiw*N#<|*j=lK!sOJ{0&`1C9kqUd1Q^-gsS$R= zWqBqxmf)Fbm%BELdcEMxZD<{(994#kB0Lsac*Re*JTALrR9Yr?kBy}R&SqgjK@BR& z#c#ElvATLyM8r~&K><6p$6%KU)@Ut9ghjFUmbr3wW)G_j(G{f}UM*D}{WA8=Yl`7w zx6qQ0vGG$PSq8l?xGrD%75*?bf!Fj^C`lBy7)*q|%gsoAxWBNNF1L}odoYHHPOv%d zu~v`D_x}#(3byMh_dUR*RTM@Nzn6Fg9pkxxOF-$nJwVV0{=UfZWO)pyMGs?h*z|6~r1-&!w0icc zQ`16^HX4pM&z|`+VTae>y2EQ}CN9SjG5_n>4y~a}08$gAwLo&SJ~^J_ao(S`kDCE9 zqub*=dW#5V<{%Kk{vCzzTPW8n$Pk(+NhwcDZ`ky`s=TwYgxR~vwqi=Dv2kpCs9qqm zEajg$iWkjF#N1FlV1JXwrC=ma-}4IowX1j6e>8GWAVk7UgB=~;!*rcWA8{qk=ojE! zgp8cyiHT;5CkbM=x4i)Uo++Dezwxx!%0d$KeOF3OALqa(;JO%%>$sgUm4y%n9$+<-|7sQZ`4JKOOa9%=ZK1ol)2(g1MLBt~ z?nEMn-%^U>i*;O9J);bD8KSva7xjO$f+fEAdtwtso&)C+5QNL<@|-w=MazTE6@&wNRO(kAA)>zcga+Z zm`Ue`_4cw#Tk9LOT#eE8INu55y+2rHr-0u`i-vgU3?54CqDT}BrT=vRmHcK)U}be_ zG!{5#Oy~gXebfB8?Ph=W*fT%pz!-fo=oUr3=NGEVTVh-nbt<;Yt1=EN>=Y}ba9vqh zg1gKIF?pS;WlQx>)$t?NEruWBmZGJ*@h9TGOyFMXXo1Z2>y7Tzs zAK0ujiRu=U0e*e?7WWtPWck7E4cCDQ{k?U>c7VMafB^&edr~W%%RkI7^m!W?l)nEU z2yhWZ`0+z&RG`WLUL6J5mzEJ~_568aCneeULI5p6qdZVMg>rI-8<2*~Jze5{_RFQo zrTRd&RL<9F{3yUw;+*>?Fl3Q5E&iiUUS`Rolhyg932qJ!4x{0c$dSZ+ls{kp#t9$q zFO8B+Enb`ZD=)*mK^KZ>D|jAkXj|n?{gbt@aKyuB8_7pd z105aKwZyyT!}@$JFOR0%-Xu?bt4wRmJYE5u`tmSd%7+J**yYV-?(Q1EJtqICN#*L> zqJ3~vTQc0%Ngc?$lq6c^ysZGOh5$=NA~z^tZJQ^F{UhvkZJeI-{k6=ByPjRObcDfZN1HyU*0Bvc0Va!FdJ_>efE!Rm#y^`mmTj!k(rzxIaPZeRvR%X;34U& z(lJwdizop+j$U3uwj)21M4#CCs0;*x02LSe0tI)Wul^}gY^UQQKEaXz0-xWR^WHWF)KMP|yLA5sv(#YQ3B8BEZFdlmSLo_>6X>D=y?F6J? z)#oJ3s8(fsuMa}uM||+cHx$U3c|Bksk>9EXxtGW#L~caI@wH~8YT;2hXjvmwzcaqqC(1UorgKRR%9&l#EDPd#8UK3 zAUrdd?GFGB3DYqK69ZZx;*j}}@;IfGjHM0Z(4F^LD=U9eO7H3J!HwYzWw>Ev#zH|+ zJv8L*TlJ?EQOI*KH`lLn?&gQ{PHUAbXt1-;xbLr^wGZ4l{!B=@(}z=NEmz1e_%MC! z!*s5Sqlsqyv0QJN$3lPidIqO8fI`I#At*&M3gzp-&I zC*Lgr#SVYyEJyGD+0RqtIqU)}3S#yZ{N`}m*Sjpe%u9K!VRL5`_jZIKuZ!+t!i!fG zA5F(9r>{@*dzOAGxcTUA(kis*`fl4td=JY<_tGr>7^(z~Tim&daPpcW=H(h}GO) z{fl56?nzx-!d+b7Lq;jK`XAM;`|bgCTWJkS=!7$@oD0Z^~WflLJDM|n(IQc(h0CR4Ge5*Z4D9CHqF-4 z+cobyL?;ztjS!Rb54y%{5{YR@8_fD&I?7YZ_U}R!VTW2#+9@D2F|Nxi#(3S@meG72 zB?_5)Ri^d(%=IJfJ*A1%*k^wSyLQkevS2){^@7KX+b4vv%3ZaZPb}8=LHX236|_t| zhG*XspCXfBcs2J&wETZ0BN^t;3TD&~KrB8**(`ES_m1Qq1YXw)DLUqEZ>wykb#m!= ziw6}@dYkNazvIs>&E9TW&%(ENZ|bK4FAD`q&I{L@w3%s5odzrsY}r~;qW`MLfB7dp zUN71B3g1t}H6#4bh^uBBgmO4+OgGHh{kC3=QRYdyzoBD3+t|zzvGHpEs0}QDCkZk4 z`~G}oo_6SP`R5JImec6=8r`w8RohQ7 z=1iM4&A8*B?-e=c5JBtOv~hFq&z{)h$7(s%%!g$l3U^s#~fL#9Cv$5a2S4@J`I z5J3}`B1c=I;_weQcIMN+PpCUZgg3#;gO-bF@iapIFSLJDA0k)P{-U=SJ~xB%@rq3D z|1nnoYEJiNYG;Eo+XW_P#9V?ZZUs>rH&RE;p`T;Esjv(W3khQaWlbHB`KJ?C8 zK!+ZN!PuPsIf4fe7CU96xQxFEX+N`cWO$aI(-H3pD+9eqpW1uEISYWiE!XIcOt<`Gza)HAEw$41h;vWRG_}aQ=gd z%GP!U`2V|0%_lzqwHB07m1d?SVQkgGCChd_7^dK1xF3#;*iIFlb1rWKl=KM9KXF$KcRp ziTVNi7e;ZCj#b%m)r%8wvl!T9&UlA{glWt!b&>s zfVuh?!VE6?QKOvho41o<=ANKLc6j6(F%gOKD#)LC7B6rDKQj%4CaxvWLv6!8`8=^ zv2equ2LOhbq%;cUQk4?$uZL|i9w%kx6xxqwL3oaBkW$D*7|68-$ zJKC#;g`+$AVf?@=be%g26`fZ8ZrO^fv_VU&D9I;&FM^t{T6Dug~>Sa;0z*8 z^sj-qZFQseSa^5#Ig6tnh*H}ZJNlkRw6g<&4?Z2+#915b+>v27&d@a>1$nG`^yqg z6q6idqFl5%V-?g~<)bfxYQmd#V*4K}gEx&7fNw9gs!9%UMm%AwRqahJ|InvkQS#@; zGet1H3&A}Anj#Jxa3;cH;DeiMU;^v4SAe380O2NjTa^UfyUaLBX;W0tSreZ=mG#3* zUlQ&`P{2Y9%#z3ICJiPx95z$RKpG0@JKCtM32?bWX@qA{!gxB05iO`VfIFtCwi7QO z)oy$;8RcRaRo=g5X8;NmEYqbe)l?f_(>4f)EXI>;e2t*U`xuZ#RfkhoiUxr|Y5+0#U)Q-%!dU4q=2#wiogiIEJ*z2>`ktQHP&Z$i2P2B$;e*mo+#%bJ78oqa>Jj1@69%MRfjUWIOfS!Eh zb(nLUnk$(k>xEjD`Co^ICP7j(;kikF!d@W-k0W|>nZkX_=H$~p1#yfCRXZlrVUZzR zyT?iH%ip02$Jc%EP8c5cE1YiByrjgcq-NQb3-FV*zsIImH(wS!9DD3SrH}1PQ_rY% z@tnWvNW!qo-`l156mdd=CHCv*Uct!CAFkEKlq!}2%a&FBr1u%~nN^4!Q0Yb6(3R{a z>eR>(UukeI93jDH{>Gulz@!{d8w6wew%RP(b1mTCw zLqA>7Gk?Ob34Nu2q^az@lgATOUr)?qN8i8}*Of{Z;)Coy(qCfV2Gz*~Bj8(4II2}m zbSq*`Pce6>=qYH>)OBVx#C<#Y6E-Ayu2hzTBCbgG+@VI{M7C?L7MiE7k)1ZEYGRiR z5%2Lm!Zzep@khXCf!?epd5*J*42{&keL0EcDhyo{=b z1o?E#(WdCckwFv2IX{4&8Ut)>cy~TT2X64-0+-P@YEVXf_+W3ttnQaDT5-wUG{B<# zZb|Tq6+m38%ZViW15_v7zP>zy(iX;Hw6eX8Y7!liWE>A(S=m#KuL4UAz^6-N;a0d| zqgWFQF3SxvRd;p6Cj)(XmrkT!Rn% zX4AmHU0m~GMw?D1xw-OfU(Pz>inx-%h2c`EraXbQ8xQH<+yu%HxX~!FMZdB2RWYdK zDYJIt{W{KdI1MV}L0hiQ=CHv2v@c9pi&3%)!@}aO+vziPQ3YDW;7IVndPb2l^l_Y* zpvq-9)uHJ0;IuO=lg?pm*`Rp1zqgHIxF4~@hLdZ5!dl(Huc@QT8~ydfdLQH<$4Aho zB3b-|;L=gN3|J2!kSj>tvss*l9!^>w)p|?cjj^loJ?X8^3V0}~zP)0LO{>#i8vF@z_ljIs??<^Vs#lK3%(9jPkOThbPL7bLa zYZ5n#HDntqp6{t^1f+@1diTFCW7`m4!9KI2X>*;~(MH;2f3u_2Y!4{Jv?vNplsqA_ z_2P8kZv@?J<^hrcPO0e@x`DOVcJE@ZlZG5lvt?%}#$`?64|K7j^hN{iQa8ya$!hQ@S2S080f zP=9-{T@eqpqweo4pw|Z{jXP5gsSp?cN;mwZKr$75)sdZCU)k8kZ0mBI`zrWig(7_> zef+5JX!u?=sZCZ?soi#ePV&V$D*H{_bUL}?=#z!buY_o!3{e}?5q_iUn~QdL22@1tPIy0FyWtKjce6}M<7&|f+6N!e zp-8}Dewm(#Mt$jKY1rV?edlN#v>YVKK$xPbEcH! zV?qwAk>#W$u|HLCw?+<#Ly7hOsY3aY(9EW=YY5nydzx?p5aTR5n<9*Tg;=eOZUJX7 zxRV%{ZW^6JkyW>nYMxbYQQUpAhA;A?ck?F1lggcl{+Pq$$vi|+zO z7PK7c!ilW_J*ZNE_x|>hTL^M7_TorW6FIFx5~$|R&Zcq%EoEVlI)pOv)QLaubY#5^ z`l*1HKKT(h@gs{UhDcoVexI)}O&y)ZAuwObRr>)0{1Z51SX9v$(C+i_5bZK8+rH(Y z@VW8bVq@AI)Jq@B+*d^BGc-U2zD|))o=H}H8pzRN{?6RSHRmQAE-j}$@pV7wyJ#L~ zH@j!LjZ5I>(2C9Lv?T2coltquykrq7b+DN6Yc|AxYs=&M2i4X!)>=HK`b^}gw#wVB zJP37}AN;4U11T>8ms;d~ zirx7hCsw}H0^uii#-Z<7JGmX%I&033-Byu}S&?Cbi0WqUr zw_>Q+JGIiK;*F!msW^6X$)87`U|2aPJ0Ktd5HOl8MTa**1Eti)qX;RH4NEC-8R&(j zg}LNNdzRJCYNF#Pmz?D3fWPfYVSz9nR)c0e!Ya(Z}jm$)nKTG9jWqnXe3_n;%`G-2q z)sqx>zmt)_Fw}fu(Ns!?3}_Fx>xJ^U9!90#L;-;&W}7r7^}*-!J^&P2jAb^c*#op` zMwhitm}?QU?WIzI99KhA> zAy7MGpR)^)^|SComOzKjM>U3vt@MwaY8=&PwEgim$Lire#cA(=ja}nH4~E3`D!a9y=kfb48!gw5aWjsc zoELJX^4UCcHv1u{2r1a@( zWA3laMR|6|TV5iT^T&$Eux~3esot}-?Tc~QA6icji%QhR2#t2S4{B{QORvg{mF5Od-Ukf-GSSLhobj|BzT?K$l2*1O*QGOmTkIL*DvC!w#eZfAFM z!JzK#{cXv#;bl*0riVRAgH9>#>O&p53~2RVS%>mxrs<07n7Ly2?om=|oVfT1jr$SV zkBwGh6!$;6p}{P2^OD=mOOF^g6(baav{WBoeO;r&cCqnN-Y!P_e&v?>y>&imDWl~t zZ&n~J&Cl#7-jW=y%r{cud|*^Cd5nWNYz3N~V+1z78khqkCyJ;iEUfN*-KW@CsiDd( zc)WPb1Q$(xZUE7V_ozVVjtAlHO}u=< zfScx`?8DN+54ZX{1bqlTKPptOMefUn(nep%QW@S)1H*GT zm4}7&rS40abe&aO*DN*OV&Op7nwpHfypNrokIb+3G=GyXw_&}~M%B!4;rk`^X(auI z_t78K;(Z8byj?KsuwkR-){a)ut8<+q3=hjAE@wdW;e9u06`bu0CuVJ8IX80i^ObV+ zFBjRRU9I?BUtg?=>A=Kl^r8MR*z#8RjqzzNc^uKO`_B&Dr77B(U1_KLOju1xnqZ^W zpL^u(jpmwN*`(u-PGGk@QciRsU)K*8?K^U1LP9GVo|t5_xNp8^R~^zY#9_pvvd}*d~ zyYEDX3|eawG+uk!QHNN&UQIIsr6ugRxFb$V#D4Xq%tMbmvU$l6soy@nUvL}8nQjar z?E`lp2PfzBOtw0y0Afm$2+cOX*T@IjUi-anX4jg#$Q96ZSy5haWeD9pUIL?_`gB(}|9XQnAPT{+)GtYeuqcnN-Uucjo)_Ot5sGi)4acjPG17$`*wPRGyA3^#a@AK9w4Z4To;%xFH zmFrDRcPx6+KrxPLj-t~>%i5=G93N-ilTXPap}l6KB_$t7UHTKBenyWCWgs>f<+>Jd z@#0>l@*aVBZ|qB|3}$s1yYbIYuPZzky@_xKd5=6aW}-XQ*m$tO%-Y%w^+{ejgR;yU z$+cIXHajKM#vCwt`aN{BQ=C-0o5R{_igO%rC(RjJ&PRy7$73Jy>|ks1=9_TA?7}bs z;b{RO(l;Pju%H$b$nz&&iN*HvMk8R`u3!5SRR`bWlD4AS0ukicY?a*N%!U{wyagd4 z(!FiY-|!ZFmeDB2d1-4deHMSMc2%xxwkPI2LeOJ!e8u^W?icUdB;b$w88kdvqS%qy z?JX>yJ@aV%ao@)11Z-UDVnT9--Nk{(-CY}1)uh?kRX4Y1bY0X9kog%oDA?!Vo)$2C zVPQ00X505PNo>t>@NhIgeypkUTl`eg3@(7{9~jtL=)(==8-8eHBlZ5>&0#Rbd&dqZ z%Mlo+*L)(FMjhj=l`|qdm6iqzmlg&OJdrmE0;nnbowO#m-+SaAnAp&GAf!?(E)?K9 z{1q6klZal1zx$O}s)kJ70nOeyr8xDFkuvTAtGRBl{k6X(-E*X1HNhb2cV6hdc(tKT z4To68?ewEn+~$oRfmeQZjH^z4`l2mabDvKf z&G`==M(~U!4NfYM#h8NI3RBy@iq}EKJj`#xwiJ0!5VMdJ{9P_h#`X<1f4sdx4kGP6 z*NBJ>AaZ#PxSI(eOE5Cx6l*#-gj8(~hclxNBA}8El-e;k*(`iVmXHb4aJ`EG3_ec; z-|O^A%Sslc4@ph2w%;mVLhPAt_^J}+InBL)d|F4^KlL?R*`@(u3<)Dv{C9vOW z>B%sME7tC9l!A$;t$KO2_R~it@g8OGyyVZrBPz8u7xMF_S9eFsLj?tatBu3n(NPS9 z$7gqV?kCaGb8|mn?-$?PYu%fUpvS=2R&&aI>8$l?^@76fND-Nvu#dUw5O;16`TDYQ zn+qA9(f2#m*4NW9GR9|QP_tN*d*k07_kUpdHFvY>I9yYk;G*b@oLuY}6}RbIt0m7M zl#lK%)KXlvy?Po{I$02Oc@&E??PJitSFpW{3X0kj+pe^Z@HO?kyON4Xz!wLFIzeWAM-5DIU*LLfBVhtVXXGcc- zT&rom+x08MCozk>*)z3RHT}r@jZ}00A7Nh^Rt2-QO@lPjT?*3DD5)qYt#o&HcY`#j zNFyLfZID(_x}-s*1xW$v?)qj^`aI{H_xrD0d(WO(bFVwrU9gO3Nm!}y9A&X%wmwMUUj0m2THvRd9I1D_`GyBOB&DQBN zEEgT!^i0&mEG0EMVMBv*0hw=N+#5WwcS77XU2kNF?MOc{!D1rgizG`>P*b}TD+S#m zk9K-5?v!WvY4j~2iH+xV@O!yA4GR8siHJ4eijXFKWq&wlKLG=-2YT~C=IzS0Pogl9 z*h-y!o;56ZM|T~aoCMr?pre182_>V#6yN=LpEmXb;TcdMePB{?>3K?@U}2S`5n@g+ zL&$L%;qN@s`r;7m9dLJI?qw{G;5}C^1fwpJO17BN!98?v~#$40;P8JM)xY%cM7xl%nlFm==-SxqGDkd*4F+ID)`_l&w`vp-l zh>5lp)~Hz#1=0rKm)frX_?WS*zTCLoOc?a&aUdXNG-^~!%sSwW{Fs@T)T-UUD;F#( z@7sPgNF^+Xk4Z61z%sJ?d@>u@ZlQD*o$O4g#{POcSuhE{BV>BouludO*MVWG3iJ7y z`*K;h(i!DG5@SA4@$a%ieU0yL*fWUf`u+THB z)K&AtyMkUGjrvi|I}5liLQ0mdbrjEXUDx#~a zq^kPN)bw2p(zlQ1#^olx`%NKTFVP~gjbvWFKwn@uGQuwGjd65`L_|?Y>g;%Hf<=wX z$=Ml9Etio@>i(`Wqo&XYvp6@mJU!hHQS9pxKC3)kSZMS0t&x$z1lQ~CiuD)cW+b^! zxt#39xM9BSBCO&qU+U|<%!j&P#7}tfPtGf!9q!1wvZ9EhH_gDE-+?*zER2?3^@OeR zdB8QEg=sKgQffue-hKm)(W3w`1{U2rQ=x|Iq4xQvOH1MxA?yws5213HA4S}9T)3)s z{<7N_H!Adxb%sR>VTaVWnY~#&KKocvk!Gv!O{UGg%@UCVcX3a>H>U|+%(&jW#AaN# z#WT-qn9lzVCxnR`8;pDAnp(=YHaQ-P2NB{Ks3nMf{s}{JSwbG}2T?jTH#fVuR5-4X z9BuWuQ+@3zJZ%c`2XAF~cvNw4%2OFN1q(SjIh`Cj&fYe;iI30fWe}5VXZom1w=~Jm z0O9EuI=>vD>qSbyz z-Tg0PlP1z6v%BJx)T&})9ARq%OH=qvT88w11wfO$XFVPODt=WJIwd7rvB5n^9A+`I zB5MTrEzU8{Q*d$y#0#&sNP6#^b1dwi@z>pU2@tUNmkKlRiAAcbq{bo_7F1739L&Gp zDPMyLT>oe;t~&hlC%z0aEFZTd`b3FYaG-L%K^sQemp5X+gU=7?t%XFC^us^Ej_U#x z=-T}CGl;R1iX^aXf&u~-EmY?Yc+?%GRL9Mw0{Fw|=St`z>?&au%7h>48Kni#+B1i+ zKp;<;bXB(*BfjBW-Jm$2=w4q55YEID;ZzW%-knc9n`6g5-K}600RsMs^k}y0LqVH3nsjpn%AZ}{u{($nh`tH`|7fYZQN z4{*ToiF~N*zUyWiLNB`sH%t6LXE*W_q9pLcF;_XSZKhGxiUx5=NTRW6-rt^$BUKFH z7B(`<0*_;n3D>|X5x&fH-TKy*G%-C9NhxeH*J<1mxl*XwkR@$hkNQqL>XS`pw+wzC zwB{h_;#}=i!u3R?Z=i*Y3`GsfM9$@`hnVA zL!%Q*c=@?!N25P7ebLD~C?rsmCwXRn1qPlL>$QFTrctDTY}>2MU=m@(^>@ifZ8ZMo z=X-P(eKNn}!S|2|D<{?CHPB3YkM)BvpSijcr|W;a?|7PNN6L7grI`W*I?iwZ11`Mu z1Wmto>s&i?7yn|{p@Q2V)Oqz^k@J5V`(#Po%}S}EuSX+vy03YP(_mA~>@nMplj99& z2Lprn3d-2HyJiX#0Rg*3sD3l8ub$q`3A>F8T^MTd%N?PZmUz~38|B7TH7YS`%Q9h6 zkx3l~!{GB?zItQtm$Xg1J|)S zH>dFzU?3_5gl}+ZX%oJn7VIm~IZjhjcRCBc&y<#xp}_D}E&W=cvH?+{!iu8!X}!Px zh{&*+19s8D0To;1m>bWPzkxJSNR$xQ;2BJDPL`zoeeR^ zs9t~QSbr$>@%hX~OyHo2nCNxcd>x*pbjrUm-CTuCf#Ub<5^(6g@?dUai@2%JC74Vh zTr*YNG7VmQ>g&{E*k4ETFVE1|B#4Z#{AAq2kt`-u@wMsE@Sr_#Re z?QbV+hiMF=uQ{08&rV(K(y!2$6R-(oXT-`LDj+v31ebfZpw*l)nT^wp#3<#Wb0~6T zIQVZU;=lCcV=17gJ*JzCS`o!jN(n8nh`-Bw81H_K*b2h*R47F_Us1@5%l5zm%ek;~ zPqbL%(W6!{g22Wt%)qeAbhyYjJ9{*qJ*qSw;%f5=!)@Th`}cC+^`=$7f6o#Zd%O3}`aYXFPlO=cM5VJhB1_Y{ zgftF;=S@%?JpL{Y5S5kZ>%+y4-QAG~2j(v5&gh{m@p|FyjSS&6cTGN5RszAUkqmHD z2wnB~FO0#wM)0PR*XhB;P<%=X8PRXFK2wh>N zi@&`b)(+EN`fDz0pg_|daFPICA!F6Fl+4KAF|yaPDVjLkv3E^4#^V!wlbVu(Zpf;A zYUkm>|F{Fz;c*U+hiV`6ONGkuE+>=Jw6{K)n@tr?g)R#?Wx%W~+S%F&A?UL(0JEbB zwOmRxE1%?G-ID8!l>bp46|f~i;Y-+q*ahe4lc?fBqe6J~4GpkOB6g$1uImcNsfh%1 z7eU#Szt|%!ExJ`Ff7j>T-7<#ibV29~pFNLgy0|{REH`AYt3#5D&CJh7X<)3R7DA+@ zH+~Gx9ss3^*>wvm%ge*??`;SG8xFomS&Yinw~(IiKX&s4GHy}%X)ecR5u~|^OTgyr zWRD%08RU~;xo{9(V0yl3RxyP!wD_@2(2tzmPySyKm&wJBYnZ&;a41Rqw&8j_zn}>2 zt48gqsfx;E43qd|YYIY(X;GI9el8V!ju8RH*X&8q^MOZMbJ~OZ8W-Y6aLl?VHnQzt zEN>5%`Lt7iv~&M?t2@`1(tAwMLd9C-BRpPrD~a@XJ%P!!wJweNH!=916UeLj3p7W2 z3WaoxjgiGulpitUc6UQycj_4&uWu)WXP$p51IYzDcbCuYLl?6I2V29O3>iE+(Ryq0 zy&0ALA#Hn=$LdB{EEtIk@0|M9VD!?RRX?MZknCKncv4ovlR8aGU{dds?U$C#AcVM1kXH}ojbx4~PMy1KrfKbu12C$|9uuPZaV zxClJ9NZdmXFq$~SFlNPwGH-v--G8qX@TKjoJdh|8R%T`p7v348uI5>vStw+8Pi{`$ljg_A>mo-1k&wL+S44<2E7F&dtI{Fc9*64JD* z)=&kTh^XiC^Yn1Z0CZ1#t^ZYEbyBBr?9@HihX+r%gu}Kn zWQh9$x65&miAPF7@=4EuOAg#+9r!X-v~S(-{%xW39qY&yt{r3^d83Yoq2jjumiMc@I9$ZHb z(8^j{@19y=6#x4dAxYw)nctqk3K1pJQ!v#zj_0+83nu{813;}&JF zRhEn?RxS)u&cEYrKUiYe2aM9`j1V9%^VF>k7YA2&Nqkl;mrfejiyEH^4Y^%}J5^fu zm__q`Omog0GSL988Dv7zf_KB1T=2`p`c%kW{W?Ub8t_Q^ipq1x2t$&a?$*0vM9gC? zLS0|1UG*xIpF$ped|BUtT6L$cgVp>#>ah&E266N9>N1eR`S>L@dTH0OT^GJngZ}LJ z1D>gA9~7wQ4CWWxm;$a-YKi2<-`$fmLr7d<+|ihU$i+hIc-@OppGnPveUs@6i{CJ; zg!1cGesC~K0-tTsBH;0HDc1!AJCHf~`74)(gcUneM1KC%q+b8igq#(U^ZGy*ztX(R zIa;eN1pRUCiId0{9%Q?!;qhbDjg6II^~_<03iaohJt(H}obpfVLh-|Xe6rL%JN-#@ z*F^3ZVCRF+X_$b5GddEqZMIpODizUFx*e?Cg~gnHSnU!{0glUh{|5A^5n^r zMnGjYj#!WJ85tXA$G4a&5huTrWtePTWFSC4kW0~ZaW zlnE4~5(%}aMMAtr2xSkkDNWx|400Hvw3{+X~)Ut(=uLX4bsVEmT7e zEMBeWomIKV!PD*zCb%v&GJ?gvoe71V_rl!=jWfX!x3e@+I5cbUtUAnG1 zn#T6=#D57 zysTd|D5BR4BlJ8Kee=P`c3;UdqxO%(hdlP3E9pq&hH6mEbxiR2S9S#E9C+r6d@ev> z@mD?$`&uOCuVE8#*WM4oT(GyW7i?4A*-TZqcfW_O#M#%q3dIeXR6MaCR5_CbZwcu( zPcX8?MgH|{=82bq&0YQ9H($^Xi0Y2Z8nGK)=-6aZo!Gn6k6b12Nc!vH@pu1Ll zxepwK^;F34JmK~)$-84>dB|^ulO-TzkdSSB#?!4kI+zy()N&jfWkWW0Uszzi#zA6s zHmSmLAYqEdxPStCEq3jXW` zL^U)Xu~42W5;N#&8&rEbk}MjBX)nCkS5eS?rMH!CP58cn_(nsk$CeYs5~?vMblpzU z(=w@ps|PP`D&}RSdTVJ#UM?rBmJ`F^2OKVpG)Vj1?|sqm@Sbmz$*QWPRz}4)oA}sX z#t(-yix^T7GT)q11Fjtmc2FYf08I7n!~_n6BEqy+uy|YE_c2N?-6S4d+*ErL-jtEY z^mcQdnW!wr zRXF(H!0aJK7YC+epUz#V@VB7IKF52kD!9V9_}qn(V@_j+SA7Mc!o)6AX7ux(CEXPV zeAe?TG`%1s=h+_^@(=7CI`_Cq81bT`h$~>=*(OJP+0?Cgp_v|3kwVU z+zyQ|T=}ZW=E8$rOS;+<8)ux?v`C1F=N1=#t*qQLY`@FS?(eA(6ASuwvSs@F9Mji; zZ@5mV^5$r*}btvU3< z1-=L|?>M|3zwjc;~o-jTds$+^e%wDkK=? zo|lKHsw&R^R$AwK=68Sh5<~(*K#!!s?aylQTxsaZi-ldxkV7RT#1%&f2LOn3Q=vTS zxkSQVF9GJl#eIh=2~3=F78a!dZ3G9u1d{}(5ZYI`dtW7*+V)>zTB4Iz5`Gd-1IulkNbIjSe1PBvc%QJDv;CRq&-N|!x5`?yLx7H#rx$;tq@n`a zM*ou_<@I^UyR*@%Nfas|MU{uc6uGNjr$RsQ~hP^87k!h$DB zm;dOx#r^Ub{!P`}bAN!Yg2mjrnw4SE&0_~+{5!0yCS${?-u+`1fyL#8_6M8Pt$C=D zDkTPs@1M#}xkN(f?mx%HxXt0ZDR1M*ce*OV=8w2QN&R%FY-=<>4H16tjQ*%+>A)tS zC<~*%uWw~<0xO4xmgeE&&>jjJnt-bvXE)9Fl392N(Jof_7w}vK!hSNJEoWs=&}bkU zvaQpAH^0K3(4&&-9CVZ|a`2+WHLze(s$wK)ZOjngBNY;`?a!&vOL&y|hmyaQ!Ei2C z2H;$BKfOO@)&g0{e)HwgLtBcwO)&?b?TO#e*3kY zMD@VP2(>AksJErNyFk0PKrdn1DDP-BudAn_VdkqKtg74YavJJPUtl1jOcD=SB(}^G z6KFWI3OkHjcmK$po<8b@0njxlz4!=a=BGBCV}T*G`e`&wbldGatx+q=fe3|Fo9GBy zUIz&`aFL21I#}oQ_lL-#^drzr(P|Ky`&Qn(YWJJ7B3kcxZk@!Ri`D)|IHV%PU~wot zif%;4HLgwoQ_Db}@h8(hzsC)#@eI+mx$;u^?H#X(MASc;9nM5mQrpaRYN5>BOpE(H zTzuPsN?1tCp#DcOI*BzK7tn zqW1btKQSCUveU#DM_7c-t)WNaal$I7s$g(~oSIsET-?;mOmjPqbh1k+K97$QUWhER zwxPkTQfpFfGb#d;VmkB`=Kp}%v%n|?j8@2S6W+C@5B%-sZ-ILV6~hw2kjHAdCslu- z`d#u{@}86~&_54DnfNFuYgG{G>9}`&1D~tq2cQvviup<;Y0gg8bb(~br-jM; z06H+M^xQpZOe{mo>vKs3qa0sS!PN)>)MBLw>4|^ivJ0WE0p&`$KPY+E$Xm_D@5}?= zfbAd6U}6YNY3)3>Fp0n0AMHNI2DZ43+tt~|2V(TCb~}sGxG%D}qhlDXK7B89G!rvR zS%qR7bs%7XEb_w~qZ^O7|LA=GIo z*FjpHHQzajBzLh-Vh(neQeOljYJIjth+M|82FwWX2Q+adzL2zlQ4Hu(I#$1v;GL%$ zdFT zFOR7f1g!|7-Z&RWz7Q4&n#*GnVC_~vlE$Qtw;YB z+V%b^w9~rkB@;f8T5i$<dFLuabHRo(UiExl~bg1JeZkN8|CaZ3a6C}k+<4B6Wh340601#TEIQBoFG zRfU5i4XS}1e9o~$P0bDnm2}W@OJbX+A4+g8Pfa;ZH_ZVTs}|ILf`oMFbujyNQb+jH zltORiJFs%7vyCmOUOyUBa)XvOxANFxy?L)sM)Q5Pbp+}M*SEpzs4S&TptI^M9yAm3 zQr2M8f1?%K_8nOP+FIy(tq>1WU=&!MDr|up1=OsX_wh*8YwS#hST{FkYbVO3&oL7F zrRSy>n1PNb7KINoh}$T80%!x6IJk1?1nP?Qm%u#Qii}_O^Sku79WgO1@os*9>5A~Z zYzc!RxlYh`vP%glmqtDDqBl-Y$01dEDqddzDGyZl*WzZeRD+LpVvJm7+lK@Me^Paz zu?dV+x!!3KII=h!(xya&%-ALS&9*mq>L zH<@yLc39fQ=6&#^6XuISTmRGOc4q>qlw-UATex!x=F)En+!pPYN@xUCT;_u+WZr}@ zLmzFXZjpIA>zudSZNS-+LwAjYfC{H+YmqRYoHQ;YZjmr{cgMEt^C_Tf(=!?Y{{`~@ z@#?Zn7-`^$Fwq->*JK)-tU>7uiL#!bHT2^^L*;0;bKzrV2ARw$n}Bs7=Z1!bZLHfY z{osy0Al=!@6Ske!0hU&h48B; zZ&e92noB_Mh^$5PS$bamaNFvF7yW`aKFd1!6gHfdEqn)z^`c4RB8bR8@@2ZPxE2sJ62+ltk5uMh_KQ8saa@ zaWEBn;JIY=NE7#2#^0Z?-&RQ$e8OdT>-gt4ZA*a8bh3V7&@{sbo+oaGAgIc#98(r#`xwmd3FPPud0i_l?Xc8Y$3vxO) zysA#2B$e`=Y2g*vRnbTlvJE}xbx%QL?8H46)^(*W@xXO-;I*^#U{%WgWc?n9O?Yni zmH^inFqXDcgy+%8Da?F5Td;ogb zXok2tpe?dPO@ZEY?Y(R>`7)I^urs%-y9VQFyJrq-ja3J~_>x+%xmR!I>w##HkeVv| zZ@>N7d#ght3m8>9@fcX+WHcV@di-;S0Q)8H?&D z+Q1}+kqUwgK_?klUr)hg3&uH?JV4aC>izS0Y(F03LF`M~-Zt2vm9fU~P{*AZQQ&6$ z@ts@m5hY(UD4qLEkE2S%O)E9oSpnf*oh z=E1UT=_|lj565CsUw3lWcDm&z1ORNDg~)t2`_fPkzW!e}1_j73RoKW2vr}_6Zb&Gj z_lE?OrCHzt2hi;M7sms^f_Tqw)}x=WjSEd~v;~KR?C;MwABdwk|Hf`^7?ux&1b_$( z-K{cU%?_g7wpiA!cgMZ%DkV7*;YMrQ!oB8Ahj`t}z4nL&-kbu>m52}ki#IKR!g&OL zC;YZY0W)#+xci#pE|hGzFrC)x2moRtShduM2mK3>B-VQ;CX(VheWpGG_xw5w`tV(g zyqdtf;ZA^odx7wh7ZmG9PHW?Hb-pp72kh7=TTSO8JQ40W-IhvNY^hYhPx(hlK#ZUAS1+5?k;~xEb z^?0L&{_a83#{Fx~^LM13%!Ef1sn1<66Rh=Zhoh4{cs;3y505}#M8v0BJs&j%AMe8` zLElBca`yV7U%5Mh9(qt;b7A}RF39;p5?tl50P}%n|G8<1rPq`Qm|bp&J!lpnVAbHealsKZ$X%8SllgL040%e*Qp+Fa_c$j}bfrmu z$Ff*EFMR(38V4YegFEr~V7~VH0th`9lNG*w$^|}~nCQ}n9#e1qPT!%415QY#)7|Y0 z@K}58PmS5mr1&@rO(ZmPa&*5PU0YHweE;4%ik3J$3nPe@i#s{YQYbL%g*LLDLSR3_)lJNCVLds6h0&ER z$5R;h%}!L~{~#Rt@>6rfbxV#qB`SH#t#o0z(tLbA52=h)YodEcF7%l<^JakfJ{ zGRivJWQ9%MQlzo@At}eq!jQK0^h(<^OD6e`ujlYXpou9A(%86>52K=zaWaPZc{v-l zeGfc<*HE%ATb9h-!MP>!@p6Pz-O1iW3tH}tYcU&ma6eg6;%P_b#$!ZIWBz7zQIg9n zrm*r0u)p`W-&TP@cA(|TaXYlF@a|t6e>Dtq_|th58QmqoyD2M3t=vgJCIe8llQs&ZmZJ^@(r-4!ySt9ye#S-7fZnH?Xpu~cADZ-= ze4dE-0BLQu3+_XGiO3G4nMYUFjBq{hiXZK*A^AS=pXRkn?x9KIMiX?hAZHVI{m981}NI?djb&< z>t~)Cl}=6|`zD(_jQ$y%PNVsO|L@Y}Tr`PI7->-7HZzOmq37O!)wjCn6-$LqBcbCa zP_^KI_pzf*wZ3Nh1`w^DzfzRJSNgCBiYym1Gj>ViD?zj<^K{inqTC-Vw{vgsJilvC zui&#n*Lb;J(C*2&xV#*Qz-Z4N+j#+ZpH5n#9*<9n8Ti2cz_K9KL#jRQ09;rP9(VzR zEnp|M;%2Oe??zca_;9^>-mA@jk|Dljro@4AJx(1qbSOLv}`WIMB`;76dB5w>zEzClv%gBLlrpxPuUzEag2K;G2lwsVn z{MdIdQ!=|md~)NIV*rUuBOf?+&M|@V{=vZjVTbZd#mC8(q3jaPN&Um}i{Iv$lxwo$ zBiNQ1ZDu->FkKch-vKmo->7p&;H!aM@AmI>!mIN44~O)?Hxn@S^sk2F^(I4!SwVgr zVSjsiSk$v~>|us-c^4XbpLp$0KaeS<1m=HRxaMQX1~|zelHj&8rtSIhSlVO0dqq}a zk&NWWom=mxfDu%M!*=uy-<0cG_0UKQx4F^Lz6XM(OHZy2ov7B zch82tqvCuWrhaPCiqj2noMEYR#w{)bD}i|U@0oKi!B<9~y|`SSv?;wxXKQ;9b3*~9 zo(J*X9e~wW>!st4oy;pN$w+T__v5auqfL==841{Zp$9CP*wLxAVu~)8R&3A-(S9q| zm&8f-xy$jVA@bnTbTD|<>gO9-N@@AYA?KGXDn1B*fQEsMfgymQaG%Z7HZ&jgE?0G$ zUU`y>SqHf-h?a;I3(LhQ%YVLHtySi8Sw@Jh6W;c80t!V?s$cy|kuPVqdGaAAuTJ8BU+E(T+5aJ&Z zH6zK-Iu&NcY_gyGv;rb7xd)sFM5yQR8T#ej*TH+U+#n9!5nFES#|Sm+keT9WrT#bL z`E*$Cy1f5YhehiW+0M)Mr^EV3<3Up6^0ES+Yj#qji#&}HL_!h(-zRJ}#^?R}n>dp> z4F36+9Olk8nQjsiQ$&(m9#B}lSg>IJuz%~Pn+2u-?-fbeOFj+Am}BaAqrQ|68Yx+! zr&yS~qaV$0$jBq6)qRaPv8{T%|78s{ipP#^;10t=-Q;(;lTlW-{ykIFqK%Gj@Hjpp z;U*4_-SIw>3e3aUxh_#&Yp*cxyv?pWM%})w^6u206=<5QnR~hVAJTkzipIQP;aV_D zbhL2Fy`{P&Uo<2ot~5KZqZOZ2?Gqrs&jJTOQ7=rpW-z14_Dx|sww&P=I;Sp%M84vv zXE6YbamQR%=;`iDQ!kAt&Yo0p^%FoX0%5<7fxCXB`KOeke;lw3yaS1!+qVNjy#{a6 zH8M0e*?o$$VAIkolv&TSOP7L(m>6oe26y#(E1)mv>5-Fh zj0qEjJPk0aH}OL?OTbtD|45&;CF1y)AN<`c@fQB0S<06kS?XQ=NB<3pNA4e7 z6QVtHp4JqRzFd{``{&0xY%4vM=|yE#FKOgJ0%7j1RB`4$@GOB$q^(}K(XJUy?B{bz zDW$=b3%BD^e0frc+JV!NDsaFcy`?>XEeURN%LyUqJOVvG@W2izzVfv-$lZDE1#ktC z)&5$}P}l^FhGf=P#txON+2oo74_+AEuAtqfNVwCS_)&l0ozGM1@`2gPl0(!k33asY zwj9}nRYX7P!BC*3sta<>Q0y$^kpKBwZ#tC1H>g!I?(~%RM!<;qH$0Y!swxo*iVI%} zNZ{djR1N)IW)`YN|MkV&s-R6x&DK%GFvr2iWa4ve$N?Nn-TS@opZbJ_$?vUN0tf!Y zzk)xECOvrSp=Uco&x~HXfQyT|5=d=$zgn~+=qK!M7yRmZJBr01Dbdc$er=x(WAbr! z3^4@lER@%pjnx!QiTB@&j3C`ZxV1D=>d%<}g-k=R*dymg$L;hV(k~`vw`(R%e|ZYHXs#=l^!&S6df5JI?xO1o>z!z>Wf1QvQX!S3FxP7NmW*prL1e zW#tAt`Q!Dsbvb@)subF)DxU4_p-P1*BU#dD1UL3D zISn^?9YaGDUGLq5zq1RDE9`0upeP$w20z<(0;Gx?R-OI#0{=tidhPnGpTDumIRiMD zY&d`w8k%qiyQA|I5&iFMvuB?jeIoksa}Q7ohDCFst|O$T3)j(SbIgNSrh)OC@oN6_ zDFomoJe63?H&KLHTfEs3kXVYL$}D!ij=8TliWco`cAA=i+!9iLOZ;OJdTMiGqNsiK zdPDTekH-y9seSc$UX@u>-iV`eMWE2;TOTo|1Y)vQo7GPWwJ#2g<_No`(_f~R0{6qi z4PwE}6TV%P^+@ut;mT!S;N*!SY`9RjZ)wWoJ3(hQ5T0)0m)1WU`>X+WDuipWaS482 zZ%~Db=hH}vV22IKXIMP9?(^8-&~{fIXkxBYXCN_o4x3PDuY%WcBY(*gbE~Uvo4<^F zR#M@BX}|-qoAz-uY^lyCliv6hWM;5@J zSsy9RsLGwXIZXVHfsw;!dMWVDGOU5l=%>JwBWM3QkSHSM?KXbZl^96D{|RV(7dQm0 zOXfH%s<$b>Gwbfohq$C9BuaPS%h&Sh7>`l~OXLFvE&$^rq%ZfI2SN%WU^?q3V83{s zjL}KMp`w+hVSW<^eqv29_hLJhUdH0Zh1ul&LXvVR!oxq3K=?%{4qHs*GE#%Z>Ma56 zzj`($Wn~L{Kb0#Vz{~C$2{u>dqSoq&b1~(_P6KnQt{~v!#V@QzEi|{)3lv5!niy!z z+{U1%VFpzvFPSJueqOsXl%52aNusmfy@jzoZ_Mjng`1w!`da67v5 zAVXSyhFXCRXH94JN*sGy`~ywk*b`8^_Z@<#PX~bwb`Y5R0k7J5<2k-Z8ypBht*h72 z08@z^ZQ*WXQI|}XA zADR+G#4+$)8x8)EzEFOnwVE%FxFr=jllKC`v6-mA$S!W5p8pj8IGHg=DRcn8uW46E z3JM4tXfBOKKMpLFPCh^Fu}Ilg>qh5$SV1ESAKs9jmkJ9{k-%w8h6W`z(SqHx6eMkd z#s-4Paj^thSu**Cc>;jcHdjxr5kha^Rt$!HXB66|#S4jb9g>m=ttacl&{rWh2 zSJgiBTyMUk8z#u*$O2&mV8N=(RSjbp93acevaUV3i6C@nLcB-Z^>P`enXp?&HrM&e z5f$8M=C|~sP#L^tanbLz8+V5u+%sGz{(9x&{D+Ymtjoqk$W80`aL})u&3g}mOm|7S zs;ZPVPFTv*582OSauxJ&mN3#3*X`A2)f59(JmaARPQc@H{>DSAY-TjyNHXYt&njXI zx!M*@^Rg-!d_zN3hnyt>GSR1WHGiv2HVpv}m=h|DB@F8|K5udZC1ij1!o<`+9m`Zh z9GWD4X{RP$Ui!^=Z}prAkQP3Rm+KOzX+-J zW}G8@c(UEsRm3Rh?3z24IIL^@b~uJ{Ps;6ZI}%vX>&IRRmiYEWN=EZPGgMHBmbg79 zB+?S@nk?;I+|mOGL6_MWW2*Jdj-H~0LT)da+i`LqcNN}78kS{ZotMs{;7h=o{|kJp zv$ZoX1mCmMy}RMB`FuB2izYKcT5WotAFkhEs^KZ$xQWf$Kr*AOJCG_#DYS&%>eo@; zOp=29uLkM`o7Z!Xp@AgVEpAQJ&4ssFdp*RQUlEXxK7gv9T`Ozj+D2neefgCVUw%ue z)(orWp-3fAhQS{7!p0zD$aUUFAccQITJKMENPwdKGAgx^soMJ67+xMX+0}0sx|O$ z)NegrOARkIwg)~6#f4&Nj20c}2V{`KZZ21xE}i*~my4^&F2-576Y}#VmK@fv4P2M` zx5_|$9q!n~UjnrXUmLCfDYAZr!A{)c@8kK`e5o&`n({1LVK0Dr_kWK5=$w$~B*47t zy;_{Qc_%DvZHmsO!!VX#y69I!lm;Wo>)fzXi0_OL*Zei4)6 zYQi>jywIo+5!rG}GSyURoA|2jB7RnKPza03VCAYcYz;|C@|+gV)PB_V;TEAjOh z7ts1!O#uFB)p#W7Q--N{)5N!d(YYW|*nXPY)!Hfb%0;Iz2M6$Ms-lJJfqHSw386C) zK3C~Nod|+5oypTPgELn_%E$+5UgjI=B7W_Nd3GHLsu~(a=0mRsKO_~mg7R3xdumQs z@S8UO(PcQ8{Qjfjb)c2&z#@90Y@<)BQ@LEt1u@5k&IM`GMiEn>{F}HTfnAmukV|>G z(~RULW9tqns{Ti{>j?wiyaBxtdEf=8$4MeGiv;nL(_0ab_v^agBx9xCaxE|ybtJZvcpSerCQsun;dSd$lR=1}17K^2u z-KI%%6`fk~v|{l;o3LAuf5ep|V4O0|?)1Dr)Pon!t`Jll9uGS28&n=$!a4rhF0;FA zA+;nZ4T(J8z#uEoL%~ZP0-|&z%m-LpqORqiPyV1vfS`%1YXUGN0Ji}(-Bk~?4z(1$ ze+u&+@Dcijqomi_6z&efEyh+DP_(@!YMl4Qb2|SX(4Y`#ucFsFTxyKWuJxd@u}HT$ z5!Z3CKUDA=Erd+^?8S_1;DWXs zfGk7_uPSv`-k}PY^f@ZmZ;7>WcUmRe>R>x+(hD*BGu8<760{-(3OkvoE2@D{pJ)E7 z;%!fEWI()d%To)Wj=GwZTP@aO)^3@8U3WUJsO5O~8)YVV+wmofq;>lOB zr}-0jtnhe}7B5W!JkSk}Pbqv`b`XS)mi=E~bTC~>Ni2=bbQM;cv1=eQAo#sfzlCP^ zq3i76QZL5!$Oy)d@NX(PKi~;;fE^8JUsb+8-4+DYXz-5&Nb z$dOlm(4IQVW^O{-vJ6F1%*{7IBVn z>t^#h{TR*l-`+pdTX?+m-bg|N#h|Rbd=RGHIabx41~B@&@lQa@M7!An#&8ANG7VZm_W|2q4U@%S-3yGZeN3f4L55~jw)Nq+xd_tm zcgD0?S!JNPmE*12rI*l_C^b6TKQ1oU^XN$m(L5qFpB)dn! zKE7e^jpnXw83j%+q4Cm$>L-qBMhBa5OGA4w4%?DC2wdKH#qX-Bt%Z>81f8KeFGfB3 zywlgn%z4TE!bwBy#llPowBF7cQkwscI*#O;+~4q*q9f$f&onErdun0GsTMWdU(`9d zkr?J{_Q{8}b`A`uN=rV^bkYnGq8u-2@Abs9i-oIJ*gQ9+l=#pftM7R`!gYY#lTxu> zm``lWArT|*6g}*3w8gfQv*AbXmkJ}n4wgy8!8_MlEi^HJ3H1^gQE5WF^ez-V)6BE4s#hU zAT0gq&0x=avmJvX^$hc&;TR@u`A#unC0q?&*A95LYAy$G8s51HAiY46mSuA$yV~Xd z7~S$KgQ0UdLs?+uP;4#q^z9vSdyEW1f28Ix>ngvt)o59|NduajXYZ8K?K1zVS8bT9 z-D!HG2v1N3uqeN$8**psM!7R_{yQE^H#7nPXbv-D-yxiCy3j`a^vN4_VL`kdFeD6g z-hghZHw_ozPEyV-7T)Cl?gPYM@Kh@T{l}WQX>G~O#9lWS!%43-sNci-b(u%Zt2d^e zNq4^6@x?HH8yL8;Ity%&6r3OheiQ0{Ipd0fyzebg%RM-HqJ1_=bNRzCcZa2q6VGjm zvGFN!u^obNi{_UyFnlQ@EbL$^NE3VJw~8|u8?>GThKm&s*{1N93p3=}o0w#P^M^}^ z{@ki|5iID|w!_xCjr&v}eG)I0;j8nJDJc~mieVd3%-^crN$0Gd4EToWYE>-ejg4`& zvVLW1g$aco%k&9vVGu}J@J05caLYM})3(AxdvpAD#*IVeK-)8h93LOE?^b*~n19El z<``WL{BkP{O~51f4BtxRLdA9+Qb4?%5VrRxMFG5nKlcZYpjIe;a=MkLm@e)xDNFj| znPZ6aVAMn7GA>;rFpo+|w8z;Lq5GTOVSZrCy3Dw}y+Ho<{ztzB1~Pn>!nZ}~?)y_F zTG5!~>A)Ig!_mtP`7QiL+L$HfHkhW@PiZvzQW-}hmvOEomx@?}B;RI#}$Kjp^(g93u zjMf`31|G#}N5|=RIZiFFi&lY|p4cu2v&Qk3581WBkS$K9HLZ3b3ceyc;2T?JPF%@d zthptOQ2k-pJa;#nriMf6W`q{PY0{>_uxv2L@10{;7knd&}C= z>6@H2t830MmY-wuGd8pGfx$$7dr6E6)LIqqO4+R;!aCL5MgzDrCT!;cqD^G|I%>R#`FR0gnC zysT9Dr~=zug*MPzygC!*+_zm^AQ5$vFr77cd{5!jOtD!_UKW49N2D+6L;8SR-5*aA zL`B1Opit*X_~xurWh14xM}xqV$?yv4d;wY{Lc^rF5ATHSMtP}vI^Zi{ZOwx}zX?rx zb`0MbIH`Vo^ssaLzB?7M9HB_l`ePh?2y51QAYDp!w8$U5FW`7loBpr^RMK4 z0_Og_f{soRssa2mKzsQJUAqd7+7iu|KhYjURZmQMOnh)3xg}6}TRe;7w{UfFK ziZ*?ly@6q{_P9irnLt@iyWJuGZHKM*OG1Rk0pb@j4$Nj5nX|%W+~AnR$UE=Mex4 zY1xKCy3KH@-d-T0HCHzQ@6JgV*0d5*$<`+8&*Z~&fK_dl68{W$?-loHz3mkKN$>QF z=a<6`(it21Q5%dD-gU{o{b2+oz~*L?Q~wd4i$00Fmm3G+&y+OK5Z9w21@nv0FDFJi z`{;>hTD2n5=eGmPEC@friSOPa>%QGBuSztRmQVHqdGkkZJTJGvx(IgudSfGeg62(n z`7R$t9!&FYAd+5YW@SKCqqw&z#H@5+hTVYO*#0Y9j%CWG159HIY64T4OEh^x@$qxO zl<(?N@5TP?N(a-Qz>!7iv7U9ylYR4I{Xf2}RZ}b`SPH54M)Gj<+;I~ARPpZCWP6?$ z;^^6{JLPBFz_n>PR4~Ru*Bw0CbjS&*`|qoMvx%z$dqcg=x@i>3Ki#{>#0a^?)-{b0 z*1H5wh>E>t;>d*SJU#$Rb8U~9i_)k#Z_geaY-xk{N!|+FEYCLDQ^cu&t9X4jmRGQF z^c#ZzA1i*%U|=sL)@Z&&t>u64yPMZKd-3~qx-{f;Q#Q`6+cn&s-!lG?53no9b_$`I zHgJGL)&XYKX!;2U$^iSR$NE>yiuU+ zH8)y)`FkVI%{o9RQu%_gb-LoyJFvXDF)VT?+VadTiO~9_!AArJ6YT(ber9y#VB~0L z>F{_9zWK>m%EywJKh*G z;b}=O$mr^@v`^5#$cwKA_ZEs8U=2xS#7w`wOdg3tRCc`{LFtPoE*blI;#K+y2)Mi$ zZevwsB)R$IlayPldRd+9t+MWxKt~{jf;I{a%r0sxrc<6t4T<0nYydL|kn&WwS3&iN zJ-Qq{#m$F6_AHm-yeN^sY<8+s!K!Z5?5AA2h={!%K;w47iJ&{7N?mc`p_1yfhYLuWNuJqs{VY(=> zoqEk_hymk=-;198E36nQ6A)^8<_4Z6rMTYqCdbHOv-RIGfrX_ zi&uH)rMD|iI!Wjh)^QsX^95_>$k5{x@{qSIbT7r@eafDYS1_2)!vsj{cp-&~2tphs zUn+G$M3zNAypgL^iJ!=yrQ=GM_Cmyyry-NQ?DvU7!Ft(%L6Ez0H}~Q@Z%F;ujRx!0 zA@RNOhmuc%elVSEJ+mFNs;r0zD33ONeSWjgc_B^yfW_bJYne9tP{J3d4_cH#AgnXFJ z7YsH*NZQN16Q6pOA>km2ciHQHAQ{0eGRsCy*GHnbZfJtOR;RsjaZUv$SEL_zBhA8N zYmH0ooG!v+*NeQIBu(n=SIoa~uf;xdJs86qb8xqcHRc{$OVP|^wS7i3Xw$!I<-<$| z!{uzZRn*I~u`!8TqC0e7Qlk6)`vwMIICxhyv@)@XOFf&F9iN82Pr9PL@7|?{&d(3( z9IS6!h115$5^|N}Vp|Vdl_*gvZ=ar0XbZPvOajoOciE|?yrFTOg%hC8= ztwS!6Mz(w-J+8~*Xf%^rz@#L8Xu!EtuFm-u>iwt8?`juebh(R5>?2YuQ>($Z_#NWC#B@0+E-_}Z_-ZBk!+Q2(`NM6hfeJ|zYdS~!;yXdMC zXP4g*aJ)F&TnuHmGt+(XqQu4VWREDEyzY{xN{NOnLP{nvL}aYQ)VHiBfvW<3Ab=d( zeoRF4kkje~`omYRKIrP63cma?1MbThwiFfh<-~F3!KI`<9t!#8^ zf8CZM59`oljAk_uJZH_p!COl)2t@8>p}!4BnfAaBm+4+i@{zyLV*li%l6BLkGW&60 z@#gOc2!NY7(t51N$<7rl@rZzs(DV+U<>X0sTV_)bzUZufZzI|r+~A!u^{UFsB+JFc zwgR~&Z^>9!%6m>8t%>C1MHgmSbriH7jQ4J8rjA$+c76X!^!#*Tad(xz@+D(5^f#HA zu?|@lsV5gaMwN0s{uo~elyu|vTmHzJqi?Y zTpjuXfuy9RAynU2cESYFHX1a5N!;1p{hURa6iLa%7*T3I-f3hL&*jLz$M=}bJq#x8!S|g-!QzNGTPyj7R-){g7ng;FWXzYfSz~eg?g&v* zoMcX0{|wFfS?nZ?);iZ(tfm%E#` zs;bP<<_&ao>c?N+Z{l5^tU5+Af9EvOP!mVLsBHMl3C+H{|)o#p$VMB$)L#ZUoYo zPS$GrRH5@}fN@8eEhg#JFJJ9^y3gcR(F=DpW}13&P{u10%?Kxh!+*OoLtu{iUW~BN z9_~(95Tb1M`=;P$dWLz8=;rtlw)jFv9msW(y$O?O?=w}X7U$Vb6w|)N3KULoGCA2` z=aL#u#wq3(h*E>&pJs99H2v4Bz0lS$=Ehqi?MU%FIGg#n6qq`j1#x4=j-+?joo%EF z^_UO9VKRaxA2c9FeM98o9uw6qqJMt*t3bryp1j(}%7%DaeEXps`B>)O&7P-rd)@7- z)RQ^)aqfQid4mKDz;FBx1-3!5t_Ijsip%UZs_6tORrb5SXyITlAiw>9`C3mezeDfF z%{@BWiB~HF6yWlT`mgFr%D7GrQ4*4`3s8Ldg@u{HLOq+PSRHx4z5V3i;GpS^uizNi zwd-$9ERfbkoYa&A4hJhb+*<2-N@nEE3u3{Tn-3_NAdqIkb za5RTbJCrfuu!(qkJ~TV9e1oKC`5hLz?t!h$vk6!sQ7W= zlRV9?TWD)2DD2c)M4fu1*Ng4r*Guh{S*-T+t-MQz3+Gq^`cZb%C*Y2OqK2c{R;PWsejgUsW2r4IQfo_{~ z*68r+YxOagcD16VXNnZr&nghPK2jJtj;$>$sD1hJ?9Hu^P~PsxS=`Z{K;9Biu<|KR z8_6mSD`^cnnfOL#yR(21)t!QpHa9C_5*JLudiPGh^Zu$@R9@&QIJAp+ilawTD<8jP zv=zHL>zn#hMT-gx85tRQUNYdpGL*dVYG4L~e3hkZ$Lg;Ef{FUFHc#R!EAvR_Ef_*R zkc6}*C1Yg#*3`7HG(xbCQDJ}(T|T}g-$b?hPbi#~R9+>4tG#e8Z3z3eq6BIXbYjLj_+IMxWtc z<(pOk?a!VNNFtx*Rw=-7m5#d(!or?4H8nPQ1`nI>vJ0peR_|llV)0i<6q=70f-y~> zvK(gCz;n2`JOxwcv4fA8AG0Pih|!=%ghy#Uk9(3EnvQL3gjkaT79|Eoi0;>5qVuZM zRPWm#Nzge^XQeb?5WmE6d@+;8;a9M^et&8u3fgYR+o2DVpFBx+F!9c(d787qge~IT zhr1*j`wDGmFlLT?a(pdbrG(rVsMKsi6*BFVm2e(Cdej%Y z1gc(QjUy6DL_|&rKNV0bYbh*jwSR?B z63V-~AL{6x9@uNUY&-f|Dd)hbE89Kfs=m8gRE#$Cq+*=8eJ3aM%?+3RVLP!z&a&R& zo#mRLBb~d?ZkU|j^yNKDI(fee#){06{TRv+&``XYlESrNJ6@U#jvh+2%~Z3mpOr$0 z;*&Wl_%}Me3TWi_q@V}O;zADkFBIup zD-5rs!s`isus2R7xLaj!CAG>v&y6PKIn&c?Ou|;Sl$^}p(!%j!ktOgSz=NW^OCI*% z;lp|}>6UJA2j<(Ljp=L!POy6hGlCksy}WwzA-I-P&Crvj#q{frjyNjM(UA?`_6>Fe zsqnK>7I6Dj;E!#?ERe=BHF>UOUGKq5^tAW_AToeDw@1w%racfP@&RpVa)?#9KRG4u z?-la%*U9ghDSecY)c@d9q5S&FavU5PAol$8db7ce4|`0 zF};PWU;ua(+M5k~3WRqZ^tHF%Lk&(38$zz~-M;Pxm9IJy2kAHR=w0F(-vpAglQ|1PQBc9yQLJ| zSowo^>d=%4KqP;po;+S0NiU?U7NjQm)2H>F#V+tYf$fv0=lAn#Bv<3N^NR(|_4u=> z)WXi9CGB%|-zBEC);1#Na05njzNl6je%8S3@q?Sni(<7TGZfEe9==$p$ z8-D0$qOq@F_W%H{$EXcWD=fUd9vQJDZ#o29(UX;Bh(Yw6rdqi3awAjoeAFt?(D zVxgl6OijZvz>k1Z4)<=p`S{|x{~SYeHF#ESN5@P1iK54FBq+!=5}}B^kvU`Qfj&4H zYx=JaMx(Zly4WeAoz5@!ce~MMZa}-KANW0AzHG+ZXDBJ*EPl^)c8DTrYiX%SYkn># zXSF1S8yEa%Pd$NzGdTF2W}O5lq+aw7ER&<2iqURfYWfv*u`UKdc4Kv>6>LCYa89P9 zBvI4K+UaJxu-}a9b3oAAuhP<^9_#7RJZvWm0kdte%!qiZVO^6Z!)Y6HA|t<-ns;SA zQzu%_Oz%OCH65vbn>PV6f5<|DL&DSvK1r~|T;-M~Ci^+g^700^2=T}#&6!D44p)bZ z80z>p$A^=k9WRo%&ZB?oVPZ$|eIAK6O<$h-B_^^x)B=ZjcXl02zy=uSBS3V!TB7PLbF4xG`nCbSPFO@) zSy>y~U49x1i=GG8KU?~np-2R)a~bY0km+<&`);4yQc;7}^*Xj|Ite|JsG=^+8sm6M41@$kqVduT9xP_UP44fFrfXR?bM3!>L8+$Ne=kb3y=R633=5gg zYgCXN1CwH!f#O)NM~@69q~x{UNBHriSfPNRnvEa<0h9tzf)9rENj=k_zKve2t>s1_ z!2gVe1bU2v#Y)p~4fsH32W{^G<=~XmQ%n?O+dr5+PqCRmg&->?h(VV@y#NaOs~r&Z9SSrE=ob|>*y#bX1+VPr`4FPFu(LAJ~Zm6OGIRBL`eM`80Ogm z%={#?vpSuKVyKhK{}wu^PMJ zUJ=czsZ2yg$5XraiHY{Y!mu?$pbUcHjLM*gI%BPm1C_uZx9CmE-2R%V)BdUmnk=M} znmBMIHzB!nh&qrE~ zwdU4?Er3`7(PKO)LIr_od-t|c11-I3+C!|Hit^h;aW+qj(GKw>Bx)QB7_n?GW`#1=$J5*zJy$xEzfkUb?zG z1-MD!TiRlLd~9=D8?)uq(DXENDsl-4Udn@qID9y;yw@e$h>e*!tDIf5a&7jjwjmgv z)X4BGhWY0Fr~{O71h4%Q0$S2dB*CwJs>|?fZnd?hJ4TVh-tZ&A3Yv=w1N%9w=x+?} z+^O;XG4u^COK-G+iJrcvtBZ+(B03_QLZjH~bS}^w46&I#ztI;_PCQ#nnHP1%@@j9g zXTe+3+O0d}6*Jq<)bm(@0fq8C{YfsWqCo-STLa+MF!#M>N_F8cPuuvvv=Y@eH%F2T zG1pxbU(DBoi4eZ?z?j#t{OgaMR0gO)%|gO==MZ2Y)1%PQe1C}jce zpp?P41JcUb`BbN=G2NLkV^Z#3q{_Phr=^*O5=d}=aB7KV?I=o(w{F8OzHgcHUQWDhvKZ7lfW`|l-n!Tdpl)F{xF9SBI8X0vH5`g^tp@h%va?*X|E({u@Oqx+(*(y3%lRXKZPcoYpaYW{=l zZNIIB4#L|e{Rr~gw+UF>v<0DSv%B&d68InAmaTjeN^(3Dn$B zRs{ix}BZ0#&avr9fkNBh_l1`~2p(wL^_Cs`#Z3&r$gySYsP$o4~V>M0JJ zDdS`M`Q>G+eUpT=rF$FfBXE&@c+Xq3z$2aRJ3|T!^W86#0`J~}EZqRlZ?)Lj%<&pB zYz5j{`M@{Tbvu=i^YmeDcULn$kFAm1uIAkAAa0jmO?LVI_47X+{G(U=vp&VEoQb<3 zFB9yNIw5CWQ{I!+j@2nC^;1(?l`2$NAFv3v&G(Q5nG^#Nd|8=aFR>SKC@Cs(1wULU z0&}lAA8|Z1_ose0P=gAlSa*4OpBH>i$<-+1+1*}&L2tN|XfJ|>`rTN#;R9w-U?5Wl zPGce|U8NuyStmQ-(`!BC}w1sD_uw#@N~9iMfCh~Sj= zarS=0zjeN4u$73%KRH#G4vvy#O6=+>r8oc`X7njAN=maIFpo&y4f&YY-IAbga^1$- zEe+bh273>X=00scwcaC40uVVT0%l1sSLHX^*}~EI!FcuCS8B8*XJi_|NyTFSBhyC%f zqlzMSpCqbQom-kpp2gTA@A)2CjGFt{d-UbC)|d%2jDx$JIwR4L_i~>EiFp1l@br5{ zwUe0ncF%WP`nh=>d?AVTz-)Ry=reeMgP9?lQ#B`=p|8@{&yHPnbhsxcV*K790UlQ@ zB2w~TWj8G{GV>dP_-AzUZ$EGow1C=XW_AhEZH~@m@vP?93uY7LHxk?541zWykUX?F z8K7y^+E}SKp`kEE95_tiHG-D(S?tr%a}Ah7}VCW#A~fQdX{DqNxp zEGKGEq1y!gMszb83u2yL?0=00XMf+Qc-Wid^V5`re9{K2yLZ3qwz1Ap1-+T`^CQI= zYdBlUbceEACx~D2G}!LaF(3SB2<6Wz2q3}XGiO48Lbq_}-Z`keVee^K`*5tas-A+P zH|EKFq_qMc^`>F)3&ZZF`_ z81%V7QQ^hXH9Q9*MXLFLKd)g=f}s|Ss926k62Pqny+pS}J9Z@EfF=gS;d{#(s^y5U zK77C&D>k0p+zhY`7kR%)?|z@dNLEa7h$)0i-c`c1A>AAKYrqa@#j!A3?*)AZYZMR> zd>E=lWo5*yw9hxifh6(0HxZ#ly^PgjvT}V`9~1MR6z{?-c_`F(Ebc`2K#(K;{IES1cquF zdfs4TAdU_RrWTxVGk_5qtR(gJYa{wfN_7^46lw?O;DEI{ciJCkFs2g~MV@#idn2j* zGGW3C0u#`(Il=MZ5LGgP{r#Q$_utVk+)ah&%kvo$GN*?5q*9{1#z6e)Ef zeEaU<#6Wu9%M(B1ZXg}kotSW@f%yS`GU2+jb!Yku)sB~$8R}L)+dUyiCExyzjytvG z!fwx6gvKT(_d)-nq$DgZj#9o^`D)S155v4(ke*(qdR9?h<4?6i(8{}LvrDc!&_!N{Bhn#`m8*wM1+$vmE*DiSSwoUD2a2sw;TNjqvye| zeYyZN4k@V<+B1mU*H6C@VZ$mc{V}x!fZK2jTc1vpS5tG?U9xtGRU*tP;55m_uQS1N zhN?0@a&&+87bz`9I9$PaI8<7CEdt%MH~&ia}%#Q66)K)a4W55+#x_S!}FWHT8CHz^F&Wf4}UMT{qFcn!FUJ?e5!{StqwbmGIPkns*? z8nA4OoHu8{1%%!}&7r35O!@+IdUy*g`DljpRrvjAr}P3&YKt@VUOHKD%@3*_33?kK zY`1eY#GW$mY<~Z+z&xM@P%mTTW`U5r#$O-DvSqPrTD9B? zwa5L&jdS&amq>u2lYq)&H<6ko{^4{koD(0jJwD%;%VXWbNX0V(<%`&@oUgFjRJ<|= zx&NGRMLIR4^FZw5CaM;oL}s6bJ4kHEK9RHVvp_M)EWNdIEh73_y_K03%w;j1diU-o zZUi8A=xI2?AdWJ3_W%eJUuyq;8}XJSQQQfitMa}Cw!(TaHLF|hcib%SHSmEZ@D|Gt z)i4wyNETdgG5Iu^;;OMgZ7~X{jFOeYRM+g+U(tdE^gh=Fk*9LnlY&Cwsn-$U$R?(R zHoK~K&)@u_A)!y3k|(aOF8H5kb!$7EU!XsAx82fq&J9!vzeArannEOW^;O3@?8sUa zI!FszTDU2svk8@+$bAE!bS!&A5ET$-=V#TRii<^j|6(zDa?{ikQ4Vte9{Hfbu;C$# z;lr-5Q&iaSlcZIqeTj$IRjC0%+G|CKCgN`^wCgfK{|df%rNcG}t52Gsw}=lfjSBgf zXa(-gUk^$BH2wOE8p(#!Uo|W#>hD{dJ8>O*q3W_r{x#p$thXBQ7Xgch=K9^&dnxAb z4Op9%+4MJ$=qWqFp&*MXfO;&x-Rn|0nDrbtT+i!kcl3Ps(ooF0zdFbWeax{Hd*Dn} zil8(ke66%Sk{tYom`|05==NBhIbAZ6q7QlXX1+`!h5e?BOhW3cH>4Le_cqlup_19z zn3zV=2s3jd@v<$rqA~{(;Nr@ege@tU?4O&W5Fjp)BY9}2R;dCrS!%9km0xEf3|*XO z(T8z>67EJ0xUN%D8K3`qrX8xWNPzxluBmI8FbTX}Fuu7!Zr^SRu(-&HJGi9%L;3HNd>xM3%6}%M}N9lkuGys*)n>c~Tcu zd}-^~G8OSLr3k_=PXLX@%WFvqTy(JdEI^3{W{RFzHgGw3axBSY#cNX16t*Loczy%@ zT$i1W$1i|ax&rj+L&)Zd!j+(ewzTHS&zpIw5B9ak``9Ie@sQ@te?MMfH}a2ZJw_iN zgs7fumXg5Q4&9f}0x`EZx&Ruyg?HWAt#(8CLIa4r*1(sY;8({~ba~It7=;INMr60o zF{<6p#qzW!N$wD=Yb)FNC|A%=)oLQ-6av-Gk=#5y`|nd|!`JP={yu1ET5LPeYDPdN zdUtk4H-uY)X}`(OVgBoM=x^m4h(*gQL)$&LqD_F;lGE3Jz+){>gY)Po-PW$k1{-cL zbvGOLT0>ezCd0(i_F~SJcOMXmhW!0iw3aW4vUY6`1gp2#EXDpjQ}o><`x!Ulvw)G(tH3XRbEv!C+%bf=xHd7FXWmZ_yev7hsgMi7PU3W$;lU1BV0RI01+0W z_9qbrZv0|1$@rQ_Y;9-ZbxLq@?3lr0wj|~jLZB9q5zw9d+)c+;Q>#$az!$1`r@~~^33p?K~?rd`T$}IRx zrtzRod#GU?$5Vr>RJT>vYcbsEA2~4S?)pWumYn~X@$n`{MGVKQ1&_(9NWr;p1wo#k z!zN_kJWIhFM1b1KcENRJrREwaXggqXV)O~8y)@qwmzCq023G}z9BuD}4~)*seGDBb zmS8e1T*nTc#iyM=oF;>xHEFPAWD+J|jm^Ylw;7{>nGPA_lc$ih^eZzn_hHJGZGWXnJ9)gOImTgCP!n_ZB_tH0`oJ_B-oC>_yN!$pzo6xzypE7V!I#@IT4jD ziwWS5b#H5;I}Z{DA6zh-rE(bthfxo>qJ1C*RrPk}a%^g9({PSsXgNTTVdNOEPQ#%# z6a4jSn~8)8U5eT=2H>~UU`jsxw;BK|V=TsJbPuwcW@z&Uz90PcQ|*g6id!R70->g! zzV6JSJ+v<>N|p=3fmv5s&eLV9$VJ1JR#Fv0agSOZX?-t z-iz&02itN1aUTV2Vlc=jz!?X%0xLL5mw~y7QLKVD%FfE+xgwYjDhyL&yT(MEh|xzt zu&w4WmU5e~U~*??{@#6q+`qS?>at{AR-!w*275{Yi>!-8S5K~^Z0Pi7&8OC6n%^kZ0FK|T)FqtZdF|!9oyQMC--Em--fgSUO1muN8poU6P8J% z|GvdgVh}g#z~r@?abxN)H)AY^Kh(|0f~VPLvJDZE#t$$GpL90+75c=rgEl){piss9LxoY zpWoptYwHMFnP#YKuL9#d0 zm4HC&X;!i0nDk$^Rdj#1?GoYgux^(3;(Kop#B=UtSz#f=Z&C$sN#xL;Jsh1N)pU`P zSx|t>Mv0vJ>3CwM)P2v)SFnm7Mpc*QdO@T{2ccKejk)K zaAx_o59WmLSQD^N%U^7=9*wg8ZfXoTJOC$+Q|gr_cZXqZoNiJ%#Jtjo0V=DX{oOva zbU)Ee`C-v^-5-P|@VMF>ZpJ^{QIQJ|-_(RL`=6Mta6L!t$^QOX-pkQjE4$wh`PFNE zLNEP>M=Qi#T%>lFo&l%G5AFn69-v}7;N#&bK93_)o01>P><#rb7Wg>G+gl|o(#UTGay zg6&Yzi~|+T{?;w5DQsmmwQrRrcV4AAs~nGxf_wSS9u^K~uiB-QTPT+&XHn7yDrY64 z5;s%PWfxTCe8W>J}{!!3IlpcN91saQb(e>H#mn}EdJ&c+D z>Z7tA?^&u46>%M3Ks}5{wAC&$4_hpfZC=Z87A_h|Ni8RE(~tm-PQv8`B@iVRIOCF^ zij+M~AAg(Dm}2FvtXM2?-kdWhf}+y3y90T|VrP$|kqY-UH)N7hZX>) zCO^@3VuQPilLabMvSk+Web@vK=(1TL8+y6csXS~4V%t--K)$qu@&uKSo!BY0IfkOY zeqQwR-3PrVjwPA?Sk!+%E`4I6wUzmI;3P!nDKCwk1J?vIIzOD82(#d*H0%wyLq__r zYrbi`tS%5|u~5v|_;b-~EOGN3h01u!&r3KKeE|XBEAQk0%~oF5UZsGA`o}+3K}T`i zG~p+5s*gQh3b?7Sea_oSd=ga}w((GMvXl(JVj%e23+#1T6HB0{Zc7WAC$20cvo7L3 zOraat3D6RR6EOrG^u+}az|4T@UHSfQt3b@Z zs^}o6Jh;0QI%IyV^j_HpeAcApPo=#!JF>9>iLd91Gs?ve4=RBleM0Ev$frm^T8aqm zU9|B|Mcn;t+@{rk``gx7iLR2;`#ekJ@H*qvF==%yHvEvG-s&>?u#Tbo|EoUXoE(C; zJldG4G%WM>YOg|{4Q|?DzU8jAi`&k^Y$FEhQ$P+C6{(aM50bLk$ETGJXA6~L3Hu7q zzA+K*4@g_eJcFDm%E>!JzvLYu+!D=;8Z7V(iU_=%X0DCH%zSoj@bRb+TbAdyC=Blikj!)?N@uUaxqKK zu?Zx#c)S|10GQV+23~Fy6oy!ZCt()0)bBTh za6HW|DR;ceBUotnErRBqcnC~Q?q(OPtwF766=v)$=kklx_!~)Q)M-kbFTLgZZu4bd zeMVGsxp#<5G@XN5ThoaHHO>^}Cw{yR=^0<{^Kg+q(0MoU;u+^b=eVy?c{zLFvCIGT zeBNs*meVp`xPYU^GRQXn!+awGjz+yvthWa0;=^>JAdxq-HtxB^yNs=o%82g+3G*|C z-?`rDXLY4Ge4sJ)Wj*@C+ca_`X+L>xifsY3&Jnc7Xg%(IRHY*NtT&V>ZVe(W)VM}V zWlR|{!4~hFT+(p6z*StH?-TdBTMn*2!Z)OQlL3C!PE%0O`5z_}Gg=RD2YuTMBV0T@ zA9^s+mZcqz5=uS4XT{=MWOv##QdU+L5or~@`KA`O2z!aT`x_Y8wa8@vghCC^YZ*h8 z%wy#H9fvE%I=b6whwTm@@8#KRBmJ+RHSgcQ?{3JjhZ>d0AgS}Y@m-C>cFHRvCScjh z{pEYc;iFHyT%J+CjA7;fC-QPZ4oCToo|4kz4Ny{e41WI~pr+M7{)b{j*}#((=Te43 z0Mmlv`%0iTOr6HzVMPBbU3g>hmCdP9;41<#ExQe;L|oa$jd5Y1v*O?&?tSnA{m#m8 zPAvQR!MLWhbnxZL*ER?0X>KkMC8|Z^I(cW&WDIQLI?X4t0JjkmuUKGdR&qT!cx!ol%srB1@a_48;ybYJ8ad3T@w?ci4}{Qa`JbH~o`I}X%$`5r~*peFuo zP0!LMQ{U+8wux4b3jzKBpyE9fZt?HlEH<{b9Ij5iqeadScJ`>#T?l~DLrUgSDOXxD zmiKq8^eX`J2rUV?-Yw3aA@qUo)fGvvUF}d%UVg;vovc!S=A(xC8pmKA2*2UGQNXEU zhIsAlkPCyMR^fdQ0S8=>bE4~kF>sn%`3(M^vHRY; z6C2F|`)M;SC>G9scZ0WS{{;weJs@5`Iz63v=B1391pMByR}^cQ zcDi|o??b7do=Mce;!}p(*G9|be&Dlwh$+>NTli#-ET$Yd&OysGazvZR1p!rXVHZ|2 zWzjefgdAkz+QnoNZ#{Y<`UM?-YIR@{$B(af^Xm@AeB&`Hp0F@ndo z`dT*xTWTKIBZaWU?jgQcW|0=X9eWCtw3!FZKx>)>%NMl>+F_x)V?phZP-Eo&Ph%tm zZh50q7x}B*KS_>6-f~vHS_=7Veia52)R0+r2dn9!Ar9b91hGHBfk)}dnE-2-;FlN{ z%anR-EGz&XP{qL2@{CU_iN^}UxRHWo3Uk!|(AaQr*uqhC{6{`&BZA8c{qQE*-@}7> z6&P4mgJg&Qe7nP!@>yg$F+-7mT7apfyQ}g#RC|x;(6UMAL2fagG;zUb`7c6 zTU)sOT$>ffaB=u%DK|yZCXqR}s+n>j5K3O&$)=`<*@#62^JFpK3g)?o)=l=+o;YUx zFJTS`kb)fAsl7@;rsmV)t&Zek#dwjWJt`3?iT}i6G4ve-#=-BJ-kt8}na?Zl9 z@--kNrB&mEyVS*P2s+rc4yb((yxgbA*Bet7hcA7VlP{9s`S|e^C*LX2^KngUl+R$98AFb-FreRP{_ptl!z)-xd(xOVmmll z(}jm~DYMX2R#I|Zi?+$bpez$y>&%0blza^=VtkEyj5p5jNE#TB&*s|cwqbO3s#B@U z*+eMY*w~aivE0hzIo~6`IN!STY=&9@>E7M&TZGHXr;_fC>j(&RmW~@JT_9{@4j1B< zlwad{j`Ky=5wE*77!1hEF) z$xKWv%SXDV96&Y&0po=W_I&v({kb@f?NDH-Q@Td$qi$*7N|1Lc5TtDDr(WL(qFR<_ zATLXSIGFKK@8{x-|0#nHJ@k+`G=U;GJx85K5=3GTK7m}w2jT1nIKU0J#C3Ky0^u11 zc{j$(L>$oqJ9_4*N|1hcd;nv>aOI9NAa8I9))YPcJJ?*Rizrj81 zo3K*qju?-wcCL2_466z-w&=D4V&qT~dL#m4N*~8hv+f%h>d9fgUfcskC0@^exaUi} z;GY)EqR&STRY1Ik+B9*hfK78dxP@)XVY}sSVj}RE<)>1^QGfd7Aa%bogq&6btvv$x zxH*TgtZ~*s+|Oh%Ll}_89Xt8QP@xfasL|t}hCPxnNVW~SvJhgyys}W*!)AT3=pM}+ zY-|a*<20(}!WpTJz6Uwz$B(~!P}jJ2yez+vmxsgQGd^5Yd5{ZTSRqCNvg3wN!KU;r zrCfr)0$63{;{b*ReOTn_1owUI1CvEe7`~0YJ-4liA%MuFUv});LfmIJ%Cw!27mc`T zv?)sFMO-8B+|yp*IXjg$6YzuF7v>Y_@#k#}xLvM}LhSssli+vm`p#Ax7~t1-4MF9V5ENBUf0{w0$IC2h zEGD1Rau`TqPnl-q3vxH)eE$6S|0Om7JSr%Da#t^tfMF)Y4u%-&A<>Eh!^ItIAaTQ3=Dz^dy zzu*BP{m0bVT`6a~!|;1h;aKB66fc6K(+1!{2|c3ky{%fGq_i@?DNe!m{~s`JfEr+rJMO=2Dm|=LmV2n#{Fd z;pUq!KV8^hw_VYa*{}cp7aLL!aNk0DdQW8H03*8a1poN&{9mENsefP*qV~%3R9Ju0?p00AhgaFb|4gbnYFs4w2jsM=!?#HU^k0RRuA(KMMF>`ZAsco}Vhz1B+D%kOPFf zR0Xquf!{fXK8tX-5+!LzBrMFZCu$p$PWRChWlpg^Hqs5$q}=?+3(QiI5X#VMWaBGR_J$WBJfwL#8x?MzW`)TKmeoSv;8e%U~6a8k&s^_M@QRmaB+E8Q*)lLGaD)` zA>lFQiP(;fBdnU`daMLgtL%JQOJ?fTXyDX>AVrKdXo2B0()S4c$FCzV4-Ds;lV2bY zSj90sD1|`AFkUsiDFd;1I8^)fW#FGzyw{+srKLVy>zQIDCdTLH_7uI`PF{9?%HsCS-`=)}A&hFGt`e*tg)>4X2i`HkY23qM04ajr9#Kmw!b6cXm%o%KT_ zkpnd=*c3sP4UGS!#oh$_a z9~fI!&4cgBkk_Yb2rz-vck||_5u2<5WKnCwM3c2YP@N^3U^I zu78Ze0_AD^ddtr_Z#ubxNa|V$@6>J@>jpV`ph=tX6X5IvStk(uJad!3 zgKI*ZHwV8n=jb^6VW`lkShGr*@?xM~p7URCaXFjuK>qf;b`-lcWdbVbj*&~MujC}i z$$iHP7}RwD8=VkE#UxE&BV{NYHEH}3?CJ_A#yi3|N%B)r78GP`KPJl0AL3Ynj(7j#;ln@ z+oO2+?){LLM+OPE)r-WkshBLC&KE`*xA~0Ol$r!MA7lRODcj+s{AYQJ(*=qU5)yva z>IoZyliYYg=MR4X_xWYuqen|_=LwKcwCmHn%fMPF6+%5~yA! zeoYXGgF_>R;2tMR?^G&daBsNj%9PTmV5DY2_<@z(1Bwr&0R!;|zy=geP2}`zLL&|6C1 zkbm*)@v8^MYl`>7H;2=HB1Kyqu)2VqGU);P99FZDr=6Od-0hR)xjEWwMA&DeR*};}_Y4$!$6l zon0Y4#Ej5)>(V}cdlSqR+e{eUthoa`%l}|RW&B?lk*xS%jA#bM zh%P7iN3HnuwMTQiJA?zi(u)6wc{x8KJe=<%&sZe{!yl)sE5z_0xHw$;8%oS|?(>4~ zN!3=vf(E4tVLv4P&pkD#n>N*3A7ehyvUP(b+-kii3neb#1VZf;IB7{Yt}M=Io30?i z%gzmisvNUk`zHuPwbwl5Fe57}%8h-{zAz}axyhsh25)@O?$ecZfI(STV5G-zWK%g7>jPK-af(A5lEbTMhYWwtftnU8tR9Y5J~GY>|N*c*qR%{~VsUd~EK~BP@=^ zT`3KorrKXF9(&^&QQ}=2H3{3CtaCAh=E3m^29AK%h=Ze}Sc-cz#drL!wpo>H)iQAI z??IAS;KKF`$@a3q4JFLePA2yT&Ehx2V;*fdDe zue$JcE7z{qk>=ZtDSUpGzMu9-U<;nTk$LSY2j>CsqR5`^?wN7uci!+$Rs(StkXi?d zc5_pc4_gcv{8DOR?n593W;9u_W`bS=qbJ2c@lPr+%^BzZFG3F}2Hb$~?_Wj@vKTEC zvLJ|#uc4-F4=F{|0uswLV@RP0FnS9vj%J259Edd}avtXFW#90!$z!nJo@)S(K^z?Y ztQh%^gat1_L(GnH9uyMdslYxqK7I=y_i?tb00JcAL1>w9&esJLy6jmcz``Nl`m7X0 zSK{q@1}HrSzT1`8-gtp8&2I%8Fw$n(bp*_mlu8H}uETE#*qh(_naFgr8NAx6tBY%0 z;e}^IL%|e$8@$)Y?>=x^E-uql(z9H+c!y%(VUx!2HA-O_E6tA}LwD>x-`_j-4a{l@ zm&I8y8}8y`f!Yh+T_>m^5$fRqaWB4<>N9o%WM~xZ>Gv=3SYTF^9|n3D?W)Yr5h^_( zhtU4^Ey`q(A>zY>P0jm+leadK#IS*Z84Nm`vsq||t+J>0Yc9~mhlkHWB&7Cel$#jI z96R~ldfzcF02srsX>YwvG-k$sCkeBb8FO!de0kw@CR!*kfFy|u@Ht(b!3c=Q8^BQ< zMpac6k{*~jBy9T&@4+HHTaYwK4n>x*y^)_A1DRJ^y?WJEcDb^b=>_R_`QW~jD;IvP zmF2&2GAo5O@G_nfCkD` z`w@1sGb=k~vbRrB*{_ltf1fi(H(Mr*wPfgo2v}TKwm!GLr3FpeFV&;=|6O$CB5jVa$Y zhNg`?eU7vFw(^x)W-;^E(TcZeBg#+2;)g}?EtJP(*j@9*wPi`^rGLK}W3;IjrE z8o8!$0iO?ON&lj~xyNGtqQkQOeAyVD44>6Cfix;1Y2vW>Glzz&VS;SRPsuQ5g`+`B z_2h8vP!W*umlynZ>4}88+JTTyO6Cp3#23$qC}-pIdPBXonj=}nlcl23H!Zg-FQEAO$WQ%uM5!3D_V~!g%q=Y{I-T)er7(vY&1Br+e@ew#wStwm z-*$EegQ0u^lMIhHE7B#kTh55x7@GQ-!Z8yBau63|m# zz5beAiWv8l#bR>;J@pY|RYlG#7vL&vUp>nQy$(*_^b`oOjI|!X9byIm4zF z_wqe=E^ZVH6ckia5D*I_Md?-q1f;taln#+@6_HRx>5!1_4(XAU?k+*PIdtE3 zfN?y|JNNtU{g-jzoc-))ueE-)Y2ZR%(pI?f!mPN^q|nC)$&1OVP+iZVIA0}~RF_sO zfqx^X__eMEsD-Iye}<@Xs*H zTu|w~%CU23ak~u@^ttj2T~{ia0m#UOD5im8yHy&VF;l_&g#g<|{$v{W;5##sa>=1% zo^{RMnH~LAB{Cev=>2~zB>~?|6Ds7Vm_Yny$iKAaJX{x2Rpuh2%ag_P=3}ZNqw_dS zbK~U?{-`v9T38Vt+fyImRaMCxWnkKW5~F|KQDyHY|MNLzN65gg>Dd3}hK8};SX&|z8YzHzhU!U>e=Yf-bs=1@u zhcjhE=FoV;xLtTw`Nuzjdu(NTznSgRkP5aBkbn0p#szY*;mTY}2tz1hPX(JYz?!3c zz2AmSv)C=h>rHhDEK+|^jtoa?``?JaFZG`deYF2&l8`=R@zx+s}c4&D?hKe3}b` ze&91~#>P|u-%BWHv&H`~JHClLPIb95#Vs+Vbh$Ab^q$ZRLSkwW-6-gH#e&)5b5E6! zvZbS6gf1UgBmqD!+mK2x1#5irkAzKiN&e=4yCokhzQOqm$QihAK}LGnr}vxk-_qr> zVzAA6g474v(k0nNK;YxY91em2JDR>jBp(v@Y^Fh)(6NvUW|8v#I*j991OF2qd)oQx zk2m(*xntQsx35(#SZhhmUmZ>AFm0qyMb9D=2pA!W zcEuU*I4%eUmGEe2pZ~0qs!ssut-B>Fx}qPVx7r0Wh;C{(Ue;lW!_1!si-wKa{d*@2 zUdUk!tHixdFi&%XEY^d#yChvK`y($txs4!JcAbaEL*xr}Ac#ZMG4PVzxej+H;YkQE zT)s?JUDht4FEnX7X=Af#YG-GcErScnf8*Zl)3spGeEh@(4YPQ@cXdC@YTi^%ZgU8O z=KO=ES7x&G_o=Q@>A${uBZ%VTYnx*XZ0eb3!_ApwWZDJsgq8`$PDvgAQiY|JfJd$M zB21F8{3};e+AUK-hq3Q$h>JoO$Z_-MY)aD28!XctK3IQSV+voN+3ih(Ol`ZAoUW?9 zjqLTF(3zQc4i4O~9`r8uyJLk78p4%hc`LcY$8XlQ7} z7{{p4_}Uat^Et4Hf8;$@fcQ?lbf)2nA~#t|1+uOHlemX@cYq~x$; z`m^sFG+df#fB7s=l&uN%S zh@)&tlCJRGoncpQS*PJLih+T&n!cVMdD&5^SK5wCBTwWL0^``OhOpBaD)&k!Ooa$| zoN?n|pAr$xnx1)wFG{D;njj;Ts%d@#N^~gC)6PVK(!Z{#Or$ zA2+@%S7-h>fB!U{8yX%gOEcSPzGG;?Rrk@h1g1WGn2GE$c}c&!<f12Xlx%FC4sST%8lSP5TFn_~+` zIsV{t^10{t<7;&o&9(8}jN!*4Qo9{Gz&JlTk_5=pXZ+56>jY7t?i?kEVpi6ON<^qys~{k@HEAn^JUu}zdyy;m=lr*KNiA+&5ni^VR|0+ zKGV752S3$UJsAN%d|7o54HK=IiTDg(N^){*8}4YKW=M6+G+}qhPj}q#%-7-*e3=a1 zKANIa^Xs*wqH)nQ*!69=Vjz9RFj>q$hpewGOEHyZ9w^; zo?~b$KQ!(-OKVvq3G%Ec{0K=)Q+p`yc_%Oo9hn|);K6&m}MyWTaYa@vVzA+Z)#O z>Rf)g!QZtDU;juC>{r5Sv<3l0iNW@ht@wcK*ax^Rxaz`N39Yxz!(HN>`-OOt_v$ zI5|4LWfR^U_{8w|Zkm)SR<* z$~PSosxj#LkYj9gEkW%<%3s6fD)AqEeDFxQ1HB>@6_*}Zt$&D#QA*@?TYlp3)|I!^ zX8EdoQyi(2(po54`Dh77PYuE(<8f6f3h`7wop8HwlA}W?9wa~MCjPp|^KNw)V+-+PI zh&^q|WHJXU(0r9MZ;MKkgnmFwEt%m<;q~D+Ijj%V?Cq66Z0J~%Krj|xr5P*-yv=so zo!-6pa|0pY$xJ?T*>vyil5A3WxZq1<=j7yD&IRh@jMyuNo72zue8`;g3kX3!H?5)q z{7qK57ZIc2Ctu&W z#&aybds9p4IUIrn58yyXL({#CJfFq1DA3gGxLVR}+e4JF{Db}5I#-<;M@(K~lX5(s zXk3qpU3l5X!eRUT1wwPJk-@HbptcsSH6ai6B zu&`b{PY(zlbkiudWl1VEuX&(CNT}uLh`#C{$R=@?ud*eC{3Uf`N-EE0IgVZYUYQGj zLE(^1URG90{CAnpRADr{BD9Mq3I1>(98f1iIaM`xdtbnT+%i_x6d( zcdl}F=O@ayqFuy9Rj8RAvL0rfjuaO!Xl+g2+S06)t_v`qZvO=up2)?!O^|?<>Q!hU{iinlsu|NLHOs(K+Mp`Y17BSDwElhUPU%$S%vw1l&BhQ4Cgrp-? zEriFxzS~3|{(1IByG#luX6~}%=u$JBbKUb}bs9oKIP<+719eGlpV@KawYS&&W@8L{ zR~MiA&wF-P94=9@>CceC;$po3L18gZ9Xd)ek5L@!+U*O~&x9;EFruV*pGTC|_?A&u z(p<&DvdY!dswQ+jTps?nMbAec1|PmHM;(ebv%?lqt}VeMQ5F5$lasapw09>d{FJcw zI7a0;^W!n7a{gGOWrVcelb&0ujA%ygr(Dn9*S&{Q(+Q3@SC9Pv=tzS7vH9?u(C!e@ z+dFh5=2hBu+tbi2^Yd@NTV0fjzJc%LiihlC=zs5Gf+;V*3}g36>B>8I=FC&xGGya% z-&zBuXUR54!$kgg!wuy*LIZ;Qspq@jo0oAy96pK98?wp1+X1EaPjqy)CwQG2EjRPN z(@-PMqKEFt*&ekN;-i@t{%J+f{fixUttBNTKMadmW@y9HOP<;Vqibe}&D zhhAON8AIB_hJ5=o{Mo$#)Dr&!%@&%vUFq1|gQm{ER?}H1J2&@xUmt&Rz;+`iuH*jp z5Ku@T<`8JUxwtnUJbik7(SK^{3@)Xh2lscQMmK*k5#{X1-|*y(-O*%u%2AsSUsk)K zCz1BeU%%cm_k=!WeW~#htfiCJpXdCx`0khT-bvOh0$OG|4d254w0zT9U61>8wpd2{_eba%~|J1VLK zl~h!`F5$-Zh85W?tMsNM(ag71yK>Lo!r}8G6?K}5LE{N}bz&EaVuj;qmbce;4k^{w z*0!1>Tnb%l;^G_}0hZUUY1B6i)C&4yM0g}YbhrT_;WfLHnXouLJ$%d)O%veImsWs5 z=-D&Zjmv?_wBf@lCZ4gwv$KYJoJPv#4h|WSrlMy>6j%+r`37H3EiBa4wNuia9>8P4 z^i-7kq+{&c7MFGW#IEk!yV~z#u%yhf-~q7+{kf-&Nhlv3wG4k=f@9HjMYi#DzW{jA2>MAWUyQc-o2oo^-z2e_mmG9%oP19ak{T?IBol)02LGCy%I z#>znIWYDc!qSkhf@=alCkQ*s+s#jVmhkP@6bRzTh$i<2_(#x}Tbz;oSE{0bQi+(bO z4H~t&8fx<)OT@Etqrl_sTkp})$|xaM1p94#TrKf%9&I@0fNKfv`rema5dpb!Q3j*u z0v)z30~Vy4Tyadk+!q&@HeY#MvqLpJ++;FX(Vai&i~L<_KYW<8Ca5xF&EW1y)9@C7zF_aub$%*BbNI!zd|5&U_^%#CjZpN6V5UWGMsMqh=VoS2Jkk$nIA z7@bXsKM`c4M5UCwSNk%u8~m+n}8u)AmfytlQV33-7i7#!pqiM5Ym&H z#;~@!`ZPbf+sj@ap(Za0JDOv2cRk#T82=(Z{{3epAv)HNsU=n_l9E#Bru%zRiuy-~ zhwUMHKH1EY-Y9{#=B63+5t>wn_c~*5pvP!uw|flZNjLHEgqd>~^%O3S3w|M~_RlNW zx?Va3k8AjZ`|oEMjM2g7cWTmY@wU%N_7>dufbVnyuCqPHX;s3&?C?shfHnV}yUnxJ z>7Hc!DQ{u@+V6)0JT&x6{g6hT8+lbCXBXhgQH{NxtO;kR<8l{XddtLpP|X?-WgR5? zW?AWoXLFVOQwI(GJyTnY)f%`Goqr6A5PQlTTlTqykrQAAoqS|36V(THHq%-@>(mp~ zSw=-+P*O5zFF0qdw?QMexp_%8s^BKUQy&xedsEZ>{Tx(pWr~hV`~yy`M^s34pDizY z-P-CeA{HKBh8qE2mR$Ug7gO?1j;=wTXQ^HmqGKZW(Si|RQsoE z8uG;jGI47yRQASjFx}_hmNB8Acm>CmWW(AVO%K*A6T!JJfnQGbjH+lh7Zu4C2v$DV zL=&kSjP)elXO}g_V}Ywe`$^9K5EW&D0?k8!tYCa76)fZO%lj?B*`z5l$|NhSj#QSH zl!R$IyxVefZtXDYPUlO8;(Xfa7D_d|g61IkcUeuOSKZi3lrwp^N;iECTSS3!50e`C zXRuHPdh}zuST^I2a$yR-e*NQa_N31e;Uy@=6oz^zznO^=EhVXVxy9^Y`ln<-sngr& z5el`^W_fG*(z*OxCy|wR<0R@S!;WSo!t2n8?~<*GZaY#Dr+EVo7iwIF6< zzI}5@O#JZf9NEK;QjcmLo&VM8KAW20-6z{gb8^{TUMN?&dg5@tKR=Ui>(IBjIAQa) z<30sxkZ-o`x7W8cxz|f%jHE)$hP{Ytn04GR-xO-Ekw#+3hOO2q_oo-AIkETxN#s2~X z4#s#hQ^xt;91s1ghox15kmP$@Eq+K&MSpZ5Aw3y~0|(9RW-otp=-w?Ya}#j`xwlzM zw+BLGtrv<}C+dU#qKuLxdr3Xt4h?IY+w6t!M~H&kUBWck5?y4`AqcuD3<=heFn-{B zs%T0UAj6ZP{J?Nm^vI#0AU7?^;PY9}`_}+n3?dOwHG&5tA&By7Cmz#PGrBh~KV&Ab zYrR#&rNG2wl~lSD^6-r_jjy75eypI`U|Vx%RCUx^pYUPMXkiW2 zc`zY9{v*u3vTV;E|8%?Hd_5=VokC*#XC8<8_JnIgwgyaTpYrtF?*UgOWaZELcx|pv ztwfZYoTtbI6EGw=rl3N(C7q*qvsi=DA__92`4NYs4fq!3^c73Id^=(6Aii`m-p6Nt zB78s8Rar?Xs@hV5?iMGehQewiw+7BM2zkAoxl0n+!Wi5XrSBJE9ZMJ8Zkuhyi zEh8rIb&byba+uu}V-qsh%zY(7a`Fym=^b-{6E?4CSPb0rGekQ0nJ|;Sh}Y9$Z*ES^ zOdik5_ozzM32GG@&2%e#oO+$r;_=RxhA- z&f--*QZyD&p{DtenF()4^0_{I5-RG-VE>R1b1Tvcepn`z{po2RL*dFZA64?;I-lm4 z7&^K3IzLL=kaurb&@zpmg7U{4cytLtDRU0TC8v9;t9``d=96s0jagW zgL*ule<@;hx7keKTjCTYyZPkHP|l&a<92zmoLxCsT6!Af*zTeSj4&s5%l1QB2d*fk$xu}nPjjH z@mA8hTcid)GJEF%RxunJ6$f)gr&=O=*q-yU+G<>gkD|Ll5=w0ZE5D zu-MNUZi;z4#p!XMi?Nf*H|q1xP|FxY7RRKv?3v-=R>Dh4oj?~%Rp{?e1f;j$e6l7RBN|Y|Jy4Ff zFDQ0M)u;S>n+8KwlWt@ER8gxD1o<)=8Je+*`$;QFY2HIlPX3A}J@8z%w`@HQ%j>#% z`P);P+_2gAY5y#oyC&(GcX)x=fdAioWm0m<>i)tE?CCV+)m+7)NS=`ha|!Yh5h$Db zVkn2?X})0xfcsR^Oh_(X{O&llTC?%)EDW}iAt-xMPaJJ)Xc3bO%I;}q6dnNi9TaL= z6gN&^ME=JoqA2rl)eE#qWk*irUkm-u3(amIx@ z{E&;fc0mgO<=x%yLv3+)I#lytJm31Qz^#&jK-7w9lJ?~yOL&K-sW#X88b1#$q1{H=GC|S9oNrxu&dtR3~!pA_Nc4H z7H$aiW*?)xd4oKtGhF|pUbS5`tNQ!U8#+r+>0pfd&dHY`HoD2Z5m z5tu^Yrrc*|Lb=kU=2RUupN_uE&sS0U8Nyl`GpuXtu(grydNSnF%ieA-tvfNasv8A6 z@z!TXDn{FQoOmd&UvI7vCL|!JxTwyWhYguScZkfhB|#e*8C+3ell`*&E&V+nf-D#R z&~v6Uoi&{)M!|O{z%AP{6j)knqNnGtAC4d!T`%h&3bXD2tj*8&srJ+BlA`k0tPbG^ zQM1WI^kE^$=m=sMwEn@jzq51JRI<*eXraK}%y^1Zz^Mw^knrE0qF>C^pBN#1TJFA| z^74GyILiKqs+*ET_kCd6E;XK9f;VWwyZ)Eu*r|+S>keVzce8UUUZfTgS(W_P+axeJEtwX> zHu<>iET5^h_}6;(M)*_O3|Zh#^tZx0pWv`kUGI9>)zDbd58h+>yfK6cqe2Nv$&fuE znE<@EQND`9yu)#G+4)W$4@y3GC&HbK>-kLvIBM>ni;`+`MzVMVp1c*dj^F#GY(%61 ztuYx=&KVmlcApLU3PR<%q0&!QGo#U3W?8pS>fMRi*tCHhNcTC!t(Hm6uX?Glekv*< zz^7!qD0SpU-b5-j40Dp~c*AHE6($07!|T-*MP*i%qUR}ZhUZ3UaTYMhM*Q6nIsIZI zQqoN9KX`dn8h&|}r!Qh>x4xz=L985>^^5RG?2RkJ5YD9?-&?~|5Ia@CiJUCks^b!; zt@ZQ>c7+!Qzk7SvySY6E^h)eyiq{B_aX(SsQ(;l>N-)XQuJ$R<5D(qooJNHu*K*zJ>YWXZS`w zib_|y#SxH~kzw=p6!(zhHin7{2^qCikUrkGpfNOG)dL2jvY*%kc3B9eDj+u_R18l0 zyAx4@E)N7;(g!HhXFcBKaOvpRb3|t-dUnHlY^LU0_{i^zQ zK>{<|t7 z*x;W=C!9?4+Ap3X?L|`9L+-5gU}(QK2=z96M@{|Sz5CS51TX&0My)Jqb9&xSv5=?o zBw;G(Yq1@!4W-?h{UWF|s9$G6X@x?h_eqI|M*TG#<7V~|2EstaOI>0GH^8tDMQvgYO-dIccPJquU)uLWBomL_;-;qQ^ zI@b~l&kd}K9u72)bcNW6J^}k4to#f|1Z8$@b5h|jL`oD!B{_Jx@%?;Cr)|}eE^0C zCC{0>mYI7jE^C_2sH^a8kgnJN)xt?qDpfAsACwzZ1IW_fb^6ba<_jRmsI~CE<0$2o(F7z?USQ@O&ZKp?GH32j< zd!Ue2%J61b*&&;($H>JaZ8lp)MC{MjID_Y9k(v}QjX10xioPuZbnlwHBz^o`APf`b z0J4SWWZTeCK!6;l$sSV3WG{)*yMhRg)xPj|ikZ$dIq=n?q#^Q<&Y<-t=5_oYpphDP z|K7K?moKa8-75Jsxp|+$`F;E5xF3{nn0sRai9liz#Ad%C3WQ4cS)o6hA1d;9HgFvp zG?TK`#HekU7c9bmwqfIlGw%YTCRGQk28zK-;2+JxxK!4oG(vYRPJ;Zd#q{^QLE;8i zZ6F{UGK&sK9<8682zwVL=P>TV%tC$;1?V3vQGTKVW!U_W#~SL!i3zu!o)D&U%7Pd| zA*{Mzz0w{Z7B;-^uTU{j3beT$srq(@WrgvSr;R)tg%RzF0wkf0!xQ0H@y};Eg$d?~ zJZ%%7!of6UeD-?hGXMC8Ol%;N$Z?l3hwxQA+$nNKmEcw)&R`OJ-LPbC(r0G=;WQGl z)YJ%Q?nL#qkeZ4x{v%C=4QLNJ2IHpPANky>Y-%zXED|`B}DtcJw5)s!M&}lGeFkR%H~9L+bk1;TyoeM1%L)ZL%&p0u}F^{hfjf2 zEd|Lx3C5W{{vrXbvw?v@!Y#E#pl9-i6MQ1W$nRMB#tC2%mKfiO37l~~K!Xq;Kh(6* z1G{GG8!%SWt`nXDDzNfKx%U>pxxhTbbl#|kq&XR*xP(pxBi8zA9uP7>eAjwVNlJ|$ zZU9hRSXzu!)T@29uA`kC>(HzI;MZOf8~c%2J9P0(^E1nZ!TgdE(BJt8WQ^q0rHPmH z?Zj;FZ8r&dV!C@^J}HD_PPfv~XaV=7M<}m9k~WVAJ^^F}{|Niyo2t$rDESmFD_!F` zMod89>z^yDzlDbVE=E&RT?teZoVLK%6p);7UyTk8H4+dA%a7ukNKE7qKatTdX*hKt z{L}@_(xcCm=n()V`uGrL5q=bUPZZ5oTQ^$)a2E!S@e2#1@PL3s4g!>phx_c`$_|Dv z2OW=9jb7po4c`u8Oy(kkP)q*KgWze~4_seiQ||FI6b@*n~=h(d}$8BV0PR zk@AR$X=^!@j^YV{FiOp(C7ztEdFZLg6TcC~r%#3(S&U}88B7pljh}1CZvV(fB4$<= z6}V7zL3XH14BLe^-REflL%6p!yGP>~CH5sm*{5rI$c1FSmn zVUJ_Fq6fN@f1wsN&Q1+ycQzUtOWplbCtKH_{fL{SOB z7tjg7mv@BLD1(g0BRhIz;UhEwJEu@88i?bNodGf7|5>(qK%U-@|3e#Eg(ka{vEZ7X zn%dpeloT5)$@L&qg)MRMupyw!<~1FW$v|X$g-Mf?gY6T{mw2wU^>IN6Jq(QXghUQ{ z7V9f=6U&pV7vOW)&!RLaz;%)B7-&oCCmVNsAGbeMB9N7ZG0k4` z*gka`o*a+W{7dyAd9E$0+Bi}|R)MpMUt1@3;lek;D4r{S<;Cj~cEA8&W?{52 z8vV}GQ`+dq&!73$OR~KpRwup!mT57wMr+ZRpQWNbuCLydYf{SX*q#0gsEb_vj;}P9 z4_#lF93`X7U&5EZsyt_uz|vtV_0CYjnc)cv`(m%_FY8C$RL9 zVgPA@7G3{97iswHnE>-2f`=M*w(fv{5K!kr4NB|%kr1c+?CJG%Y^Cc~K*)$r9uhL> z>I`0|cy|^D+;OkTahh8#P|ef{p$tKF5Alat*aERx`oqy0TIa`L8`E)pjU znc3#UdRkPhc^u(5%KvWHtu2DCaPaNhi>AFy4*;%!+jYC+yd>m0mVkufn7 zW{{kcVluS%0aI2&YsuDz#AX;(>0o`NbV%UiZZq-@7JNeZodeJ0DuBE3s7x?4VBEaK zlupOZVdqyM;TH`51UZFpU{zvY`}m}0-qC28{YRLX^NMHW330W2rnz$RC2Sn#~x$A9T4Cd z#vQkqpC8PyGFgC!Hu#nmS0cI*IjxVa98T*;GKX?k|EF!SNoHm4%@ZS7&OIp4$oHJ9&* z|2~%wS9zM)uCG~|8wv>lfLMv{t$gLsh``Q1h1^|93JP#Gb#``wFz_~X>fI|SI7dR@wu(H;)1*<}+0t6H>?0N>O=+y@4U13#$C9f& zyxe6P@b(>pX6r}+?&x=H(&;k}@xds(FNacTfGSZ|=-Ze=ielk^e1P&N*3a>!`R-C! zCGGoVl8#Uu{1Zx4gGSvkU74+(UDcMP#7nxrW@VQxTuPp?RZxcj*osiAboc5iDr$$J z8Z1#no?BfS zL4DerWAJkpB5D^cY_#^esP=wFI@v;H>FLXho%=vaGv>PY8%0Au^TsNE(pAs6(zpz@!X=cNn!lQ#Z6G>=c#k?=8bS%MqiHma3#gj);O3u;KO6{W*wlqFsq- z?)S*BHB-1AuucxfjJ-D%=w7M$!XS*pMd_Hd=+XS*!XI^<^%Xd4Y)m@d5c2f)B&hp= z&KOw*Yzba0t*SQ}RV*w`fsbw>bUJlaP&Jbq`G`FSdoDtTu-dY3;AXmi|2P~+hgwEi zAxaFO&}Xx9io&(S0t4BaI&!#kz66P`H)@zZEMTR`Ifwh6tI=l8oaRsz&9f5?!sHS_ZF^3T4Z z%lW!7a!#67;E>C)u``v!cS3)Z5ybY9?NZ$g?b@vYHI=32sWzoouN6&M3dLwlM>u2Z}z#YO=a;?W~4a!!evl&t@pqFh#OS?o{Q zLzrC6X#Q4Pt3Ob{4j?lK(CFy})fpJlwX;3Jm%!~+1M#2ah_Qf~1WCzs?kf?DtLL>C zdJ#HAuK$vWc(e#R-&=2T8eI0bG7~p{p3cC)3fw1xQgHKW1;2b|z=sg_a(KbzQfic;!97j$8SQEa7}0u0FIr)1OC#6jf(XS zqEdoKN!$fSKIvuc8+&x_Gv(sZyeR;IggJD&q}-kwjfP;Z`24DIAdzZky7qU2+5Hm8 z<;BH3B_0NfyTFC8t@UH1wRRta^E7wvTi@Fem059`Zs*y;9a%kei$K9L-&iD|9v!_d zAcW)J-WlXcB@XAo%z2bXQXh?)ndjKnc7Mv?I?pkV+g1h)9h6Adm*d{1ICbLpmeCsQ zx@(O`kOedGD%V#=B4YkajBAnpv}#um4JL}Q7nJNw%@d|9>;%wyKjRKLSY?)$ESIMk=3PzG@c9Wpzk3lFlwuT$?d-CuCx59?+wn;R9Q~)I>UK?j<6Xq@SU&_* zl0++F9^X?dh-5j!rXE=Zgt ztG!6c-AQz0D;+l`)^2MmuGDGRWiZ)$FI~yEX1u0%vC6|NpJVx$E(-O;(sg2Hw1np7 zpeb^5?*rk}^xbV%5&ap%`CO3hk)l+lf0&=AJj}Re=Y&V#!G{pud5%=T%B`WNt7g)PD+$b~e?4HV0ybGGgRgsujS6psx zwJF;|kkfq2m~8%X!gAg|9CMa*bGuPQl~35n;d+loB~Zu{rN_2_H!ifW%l*pc^ERTd zx{qq_4PGIqW%BGmU&uULC2r1!yE8cD!IgFDS z>P@mJ8r+H8`jjj-VQ97ZQTibN6OvQn=!s#DBI9=%)bHv^U$^5CEnt;~teZ=H#rB&s zzpxq2p`aclqw~bylAG%@{w`!@f-^=!2r}lI!keTn`vt5o3~j&|0dOQITle~G&uR(f zk-@h8B{~utSvA~CbR7*?etviKnSivFnNNW`{DjH_&tX;Ao~H2q7kBiAAUU}n=iD4a=RP$lH;3#_s3hP<DDyk+X*EFh1rP-IT;zMH2bf9NFman9t3u@2A<;Od^(xl65h!DY7;<%fNmMq2tk^7A8&3_gT)lGTTD!QNM2-yv(ZWiJ0Xg1n>t z5FrX}Jl+h~OhW8il&!y)*ThJrj1m_$8MwE^9|juVp8Ono4xEjlpr&QQASC<=t>~n# zP5v#w2z1*qPHqt3&qX5bv<3z<_WdVhb4Y{XpplM_9o z`A8wHJxF)VHDShR_swg43Xp!q>XVt+f}5~>6tXDlQGn2UEy_(|=R->GnA}({?jOQH z8d%b=n1EnJTG}5;XHzneadY_U1A3+{JS4$O3c(J1E-zW}@N?BjNJQ(zDsMT$knRvuPhvhh1eA&*n-*xK?+0N7SSed!~&VJ z{`?t9N=i~J1V}%qtq&lTF-Uqd(8o+kNr{O~_i}mJ(Lt%?X}*3&GS%9DCxDTT9KVjq zr?%GKW*?zFB4vX!x<2H@qc8hVR`#@?kzv>{p{{{lINAziR^pV zoq7iOHsPZ*5@2DB4TvV1-$S3wW*F(`y{t3O%6FtqNPB_QCg^+Y{4#}P_}-$MfM_-S`y8z zTLb41wYAtTZ`Z8M4G9nM1MH6I1H>IXp7~~!YttQm`i?uMCVVf`#3ycpbpi)R$Fkt+ zDsGc^b+Ese$5>rJ>4y(w{W(d6(E7mKlFsjQQy^34c4btN>!GhBgx+;LD41A+`Oq&( zjE_J_C)8tT0y2L@5H!7o9<97eS`8No0Z^l&HSB0E^@p&94`%j2`jc1PXh?vSjuK@~ zJ{i%Fae!9v;_K4vrBWdulZq@#mHnSE`~UsPELL|a!os2w1Qy^S8=*i{xJ%gd)Ygi` znN1!d3x+)xYlTco4q*ggmm}RII!^TT*7wq9O`cxiol!!B8G9`;#y;Kz?nun#Ph^Vy z;QXBW#8mTSY_a5)49*_2jN#(*&Q1awJG(_S8XB5jAgODrt7Qy#y5-&v+QToRQ@rhh z3FNvm6|3wyK6s(vb-mTeTL8Bxo0%I@b^=%YZ#0@IYE-K{Sjt434&ns%N=w|#_Md+a zd{uxNa_~+c_CIo*j(kKgAr%4$)upo>hevJv&0n;8=NT+M5SjH9D?_T{v@8K-5|eI7{NXg(gF;(0|LaL1w_1^Fd~SkaMKO5*4x|$&pKvhb+G6 z&C4*qdNQL#8(7^D;VH0|&LNsIoL8t)gm>64j z7_IOn|Hfgx@f1K>Y>+i(x<~r^F7N(?S11SbhZ`)oCnW0vaPjfILyKQwVqhCaPi54` zg*$p!ArA_D8I%|0ceEbyefuDx;BS~58B?Gho12-Lm|C)2!h*v$6<;K%{`j0Zhbx$< zd-x$lJP2qVzyhW}-f%$h$a!V%kr0biw0H_~TQo8enR~QA*&-YKec}usJIoy*!cT>` z05bWUA4o-Fe#?;}5tHf3+D*;|f6vO;d;D3OZBmSA4r@vQCoqU52ty#0XRNNKaqzaW zDjWXIM{eC&6DQ;$pP{R)EVPImw!WnEpNF;Oz-{%tlanL;LrFZxYVQ|=)Yjs~mQ{T9 z(`OliQV9=ti;6hrpusFiIrKy@<=V^Awk5+vIJR3C;x07C{c*@?e=}Z+LQ0B4HWws* z0w3WEKtRzE(w4E`ze*_t3V&C;4f&gYNc#ArHuV zsL~g_kR?@_;CHA=%l96qxT+SE#jgb0w47BZ~6#le4uw zo~E#SaZBq+w)UH)|3C@HLy%`^lg5uhdFPhir;(2?n@lohZMpqfBea8T2h$5TFZuOcqh01`_t_)z_Ya4ty_7q*~|`ks-9dpy0ZCRWar`2^|Pkl4^j;v$wlG;r1)TPW|vMyRA71iGsfEM*CpNYInwP;?Nb%pB}i{yx4qdMm-2JQSnLvNm-UG zosKNU24pDD7d+RkwK@7BQWU+KqO^)rXUH@u@>L^$h*ATO?2?`H6CPVjD?T=I^1P@v^$92j3SkP?fw~smsy_)0Cm*uW9PPp6wB)?Ao6)umJu6 zY51Z`XC&1v4=sXTw*Q)`*xpw@J)Egnm##y=$N=bl96XAbGK^tX3XLQRJ!N#DXs77| z7Q1(m|DSS+(AI2PFQzx8waMqlh!YKXB&(P`=?Shh5TWibc^Qn7W@?YPn+F-@PkQ4M zRubMbjl6HhofKB7uj_sw_ZlqO4fXP(YWY9|*zMEOP<_!>(iSu!@~KccX}PbMkLOIpt9IRSVu8 z26e7_ODO5!03@S^?Bj>O?ceBkS2OrRDHfZK?`i|)RGfNa&j94lH9#& zvA0z1x!{M)hbTVIK>zxBNN#+7m|T;ltFAlJwZA3xTh*O!6pE=&DgB=t6q>XtV|3fp zNjW4m%c=xf9{<3EAmKXxe=)~Ja{WJ~y>~!V$+I>*sOT;zEFvH(ARRNRo^M$sjp{fgm~Oq~wf*Aq)(>HG{jldw=)7@BP02cIC`D-PPR{ zo_ea9Y6u50Qn(G_K*fb<$AQwd4yeh3fG{QT&)BH-SLU zPbu)P8Sl?$+&7m=*_!QOWHfGoLkZjb}Pj>?DBE9>?e`KPxNF`jE->qo17G$@TtoiGqV3|T( z6Z2c=X;IfJpb);^`$r=?Fo(+9@;mW3({W=v;~#(f&)xX`W4tMnizxWP=-PmuMeG;U zow1lz0Pu|})BmfLbS{Vxo855U{VAM`%&2-qM<<>IM&AgVC_f_B2;~O!dtCpZVzrPH zOK_x~D~sU$i`4}M?)ZYd{oK?pL1;tou{=yrS(W8nAP66rT$&hvTcB*6>dIyLA45pH z!*w`_s}z3hpRTukjl_Xm`cc0gLi*ULtz*(njMCi2SEajn3awpj{7p?L;gR>n&+?Ovp*}E%99zCH~jE53yWdF?{s&iNhlq*My^8`#;se!YrDpA+Agwzb&F*MpkMTcqN8O&z%^OM|puzjlSXxaRNJSoEvyqavW=&x`MlWM&&!0VekyeN~)mTO*df%u9P$anU<$7dO`$}5% zWu>T!>Zfq_2=<~^yz{d;3i|Ag zxtKK(k#v&ty-IqXafX$W-U)tsT*xEiDM?5vGTUq(F$dP`d&~feunR=0+D@e?*>KFJ zBliVaFUG%d-q18~DZ4=^+){)w9#^sG&3xOO(Km}KYE&}NdsT9B=b5VQt??6VCRd|i z%hGE|5)dIgKiu&=@_WGzqIObpNxipQ=T7rsMz*(VvW8?m1ZIVlp+{bG^LBJ}rEEZr zPkEb2m&-_*w$VGcEj!e~g2%8Iso1;w4fjj6H1r=l=*aWfMfaWRNiStypTD#?5jf_) zTxzW$kg1&?nfZ&`hO_&JKb@MVyW87WJur_7W;talQ!qRmZu49Xb#*4w%|SamEV{*< z?q43CfC8#a=lG?e>WB9Bp;65dyse{EdtFLSjg1(M*3`smehv? zXJ~FsPA)>xoci=s)@#&ckazH_u+OR+=fl{xUS@u+p%?tE*oZwaol9mwRrFn%>Gkj= zam|1X4F@q79)pv0FLq7q12}{nT%pigOwA^>n%_9MDcp&LF_DMG6OilSog^q&#`@ytDe~MqytpkQGsEDYF8P zoO0~;woSNyAzA+IoR9(XQn_iHBgUUBP5Hy}##~n8G~tqVJ7dFaJ)gPSP^DYxS)Ud- z$#7efzAbg*IsfIsn&(kb7DnTzxf4a6NISR~O|Q4*pss;}wq0ZR_B4k|oPabieO|U; zR_q8DkGu1MFZltVNps7}^G?H1ccJUoIjA^XHBVA<#b%;Tq)xRdr7ip|38_(6i*H{( zC{?XBb~QrjQL_C^QAQt5Swt#B8TZ|Xu=XdjULLtR{qQv?2*VfD;vTyjFKxurL>H)A z#tog(|0`Z6aQHoN^j66~|_*&-`{c7f4|{@i=StFwx`iv7z@k~L< zMH4B_V7c9tpF$J{@?$#Nm@Hi?zc?=p8AmTsd!?JEMyA$vYqMNO^|iUZ?TK@!16QWt zPtbc!omQU4I3jKgZT#sOI(RHJsrn|iO+(caZr$oLlIg9VZ-K4y^2UvywW)H@sp==i zde^$IF0t5V92`&DeWjg08p&h)8d)VZ<5>O6&AnqLZM0c&)v~saGA|!o&Uj^199AD_ zldah%U%FdQC!B>`5rG|;KmrF1@!h;}Nt}93Om$k=(eh0kS4ZiH*qyy&S5fBcu}oJV zxqBTSosSr*yvum6zUp_YL5s!_S9ArFg6pm7=dgfxypKS;XRkyA;axMvYy?Lri({N~ zwaRm1MR|Y6N112No_!gL&e~^&PpaJfq3|5p2+a(Z(K#ena2Rcf5D;3!gQfQfQ9@_p-%1tkbVVmU^7t2~MUcjEC7B06Ne^ny~1G%rB;$kol z_Q!f-b_Ts(dy_seq0NdzW2U#Mp8H-bRhyzXYNixz0cj_d<3HKcKZ%qbc3JKf9zFFd z_0+OK?ZCj*M`kv*0=&Fc7Ja?h*#Z0e=vTp?YM#G_$Zly!;AS?L=JK2EZ9-VQiz|%* zDyXnBlHhxWhBoUoZIDUt|J5zh9{S9-|3#LbN zom({*h1~+DdO3CTL#K~)^J466ENoL016yN+6%B4*KOhR{Wb8>(RgG3D&Q95z-;6_I zbVP((B(GX%77yR&nhP^lTzmY)d6b3GFw23g>%2`2Jl^Y{*)@01x z{w4T(>KP`JGlr*mpo(>&k}78Y~a^#q3<6E6-FVw z&w?i$l97jBZxwOB(^DrBP>sb^S|T2T44i54C_`$qIK#g4a*|IfpUzO4L+J#6gM#7Mne1i zjMu&T@!L!%nqIUODaDE1pcMsAgoIV?ov?>%#s#+I$z=IkU{j&UC@XeqdOGrTNsXl< zocd%g2`?|0;ns+?eT9o-nu(clg~`UZ*WqaB~YVuu9Q?`3cN{x}QTo&m2Q|J2=Xj^51+G*4#|d*ua0m!1vn{1e$>j8b zj{&}EY-|q|XS7-AD$O<6$Iw_}ZbDTOX%+DK{o|3z-F^1p-l^EL zGu)}z5RcF_T!Pzs<&7>{dy}qk9S6alX;ZAMuGJwZb6RQiqhR|i{si1z--VpVpp0_Q zfg6uF8F1u`=Nk%bPaSLbE3c5R&V>AJoX<#!d-Y~T8I*-289vm_ zb)}wP`2%O9KU+Qh$pBKtcX)q_Y;}9nc|ugzUF`lRh=vKJnFIt%t@V|#?$@b*k6(Dj z7#vy-ePxgktYM7jhnFR1;kzXriE&h3I2(5l`=>A|A>K1s{D&9#sOLj+Hr*!eVaRAO z_DwNM39}&F{_^FW%-$R#LvyV=JDLX;{GFLo3M!BqdJ z#QArBVBtJN044m0S+04pKX-ez9vfgK1sWx@3;1aY2=sw5dYe*z{P=O7kw5>` zF}YvE627|Lc87rARBgW7RA>sD+Pf}Gd03*Cx+njk2^LzBo3%M(k!23)%|ojz;LWM! z*M0aP#>*>q#dHN!^7t}u+arTw>#(zMz4h?efr(A(Ml9w?Hw3e*;|(VE^A#@SWsX)H zq~OWRE;Cuz_RklMKSH0E<|FOM(v3=%A0zi#Tolz%>eF+Cp!Gf$)1_qSpPQF;JKqG| zlL0d!6NFQ;h6Qj}zy;=()rj%g#zi*P&dGsi#OpH0;= zrROLm7Ks$=-S@VGs*!v)Rf3<}az@kDdDqr+s#!V#1p&QjYs=lh_w-CWXxhGPk1NMD zvlkuh(%DHpFmtb+MoUKvKuH&sWxaUuf?Xg>>`8w9Ez8skJ#pEkmf$PF?eV{PL8K7Q zWvD3FVcwhhYtYJhnyaa9x0_RpE@tn|_bgB`(5fwSaY>3qSDdsBIT8X#k;UU&vTxD+dSNW;^63l1 z^j9BM?4`Q3#V)a<3}lp*n;^6*9NuQVGD;u^JNk_952XXKI>oQT?@IQgACsuMZF6m> z?4N&`mse%gnUo!@Y79^nF_mJ$@OD7_moFp^^WBg_;I^AYlv;jyZ@uOb)D*4+z!k+p zExoPZ>)c{4@keGWjiGG(R`YBJL@CXqm26-EomLDuSLTa*&cruLe%>i4nAOOlh5n2$ z4gX9M)JF}(2#Z6>%_Z*sGKV*3Gn|UF*d%JF)FJ9B{qp>INdS$m wFk9Kz5<3JhI z1&U{{ZsnNr2;w!pJ1!bmdH$37`F3Q(V219%Sy_B%%d|JM`0Z_KrsLy|n~NP7LVTbMErA~*`mf5nKo<~2yBt)lAbkGDXOCZh zCh&92}V04)nP1Lg1*J_12oTlSh#0 z3+nYf(fLzZl<|&^Q`rV1iE-8IaGBz#hO|6nELgtlKb@b$ASiJ~0<~itlUc`Ua67M< z3pHLt$!*==KJz)~>|fzcn0Qm>8%ejJ!NJX?^Ox%)B3AXwiyR#sHnwuYqc1QyvHcty z9Z{=R(SOm9i^+wZ0{aE*4ESHXJmWRby=8muBpxp-c@5tGr;l%aBdkXTEeCkU=Eo0B zQqA)cohHK^Z7ee;1M~0LsP=h^DY_xpkTOuWvaAX8qs((>4a*EYFCT~t&CR#LOx9{N z@~R|M^JB?14P%`n0S+Li`ZA-r(*7p(Qr`jtK&^TjZLj=m19QO|MS9c_GEbIQfOT02y%>7eZ$>r4? zhC{rTTjz(qG$};1G>udmBP$adT0%Efr_JnUIM%Vxxk@AYIqZDj!#nx}n010by zD!Dt=Ha}P=Z*qEOAk_R8wNEWDkxqM!l!x!`jx9FbpBMn>3gBI4Co~({Djbvh-O&7v z)Q0RfM+@?Zi!*ZD`bI@%yiUX8xoCel@nGC*d0+L#Bd?(oXLDFNICLCcs`tyT@7?YW zEO%J=c!JjXOMY9O--*F0EV0X}u=6%j5TP7wbj5(`3B`ln2Q@uMcTOCuab3;1c)sT& z$dPmoFGpT+>_%bc#hwSfnN=8T&~f}Wu~&}g=Gp_Gq(y`@j}a0T0*xw|gF09NPA21l zl6>{;gWKo>iFs5Nz>kTErv4u==s3To;9#hH^=f2-Bl?{3$Jx;4kl^SW1LYjHQ-$(4 zF&nHqEzsjmgp1Gtydyl}1k{hWvVrwooe6R7YZ%=lR+g4|`8G%$?XjxTzad^hmL~RG zB?wOcmS1!Q^x(d>fIAqj`~J|KCJXQJTaF1!?fedL~zSmBwy?ix~6 zv4U&qToM*NcDmL3m^q9w#x(ulgvtTAlx*8_UrzAZlV{ucc-9yM2U73E03gP?3mTGJ z?Z>v$_&dTo6LEDe`P;WS{j!476U!q*NOX_4>f4j~S_?_tM@>z;o)Y^;W`(p`EcR24 zPf&fX#e_C8g>$WRZW$U?TGrQOowW#Pv@NwGZQ#SyUfSJ~-I%B7FL#Q^oM{omWUT!Q zEAGkc3;eGTu-e{i_xbr81=v5qMlwZy{7hXj3~NO+pftmNpbxxZO9Yb92=Q&&s_i zRdaiaCg)#!hC;k30dkuZd-9jho1s14GO;-e+e^+Uy z6Q%@9_*pf?LSrSdniT~6M)D41OEhxi#Ix@tLhI|MS_w;oe3L>Z1?ZEh+^hAd&jf;W zj`SvS-Z&HzYd?iceb7DTa<3Fy`?wKqj%Ihcxp!7nB;9Fhs>jIsLy**9_xYudde#Qsi2wW~_z@`0g!3|^>6!=`u_;PS_?_H z>+XZnReCe<6RQuZ8tf)SU5(hQ>qg82`5)dD*a@fx4fzj*c=C?J47!#ocv2q=5J5_# zQlx)5grt0djM;C%c8{Cgy({7BnmL_%!D)F9$}Igi{PPdpm=d-k{gQ_XBGRQMXxK(N z1+)49kZJAIop0l_)~lbNNUx9Lf9hvEzH$6i1r@vV%v_4_i*tO++V?v2qiP4qi&Ht< zAkEbNrjkuFyT2eUXOB1q@bsXSA$66T1nFY(9?(en>9}`VY%#blTg&>|xkiL8>Xa5r z3d@@lffjq%1;_+&RS#>H-gO8uMk4#dPeCFNsrhO@V*cRqRl->%aSslY`zNwSqd`{O zKZ3-9OE?g6MXFONY`8fR9kv&Ze9*Xr^lp2r@P^L)cRg{GE}3{8J}zCk1M=3daIQ4a zR9Wm@+g@!!&%3ZV9c}SZB^_@~&07m?iYdO47cx2F>?LD6{#(Y;$f+e*YYh?EA0m3VsDd)vrw+~mGwpj4CL2Ofn-4HqlkL!$=QOEMTA zhW-^_|A9|k4*R2`M`Ky@=Ypllg2fHEk%MctbUp`l7o{4~Q)IJUXLHpRX>bl&Qa@P^ zYoDQRENz;&luszTz9J5>=Z2Rsb3*|=1vxo6Ep63FWo^Ox!DYFDx?T-Jqc6Rq~&mi|DL935Aet|;=+Ji98yU|?0?O+d5C=C>^^y;pV# z`9RQi{K=*!H3IQ44pxzwyR)-%b9sbqKk*V16VnkNA1xXYqfps!A42);!19U$Ox#2P z8{!Lzk0!%yvK+xdiuZ=ThIc@8<9!sX@=X!ErUg);kMP_Dd|txWcD&}- z)j0B9Xn7jR0Qv7KxE^E(gC#@FPvM* zazw__GdUTa2Un2NWYwuYhMF~89O0b$o%^gu5r}1SFs+Qwwn=>fKJYn6xT&P1B&of* z{*^;?%*SeH@2kg&kkZ0fQ4-5rY8*#Ag&7UhYb^ZjG%KckG-+2c3y=DlR6te?ozbTbZe))Fo(Y$Va#52BJh2(?^-XbsY-f@mX34-=J^@V~gEzC-JRp zMlM6qxX`fN4_CBAk0P9&I$M$D{60^O|6Gklkh8Q(8w~yZJKQd1{8Y$GRdf|4=ForJ ze;`xv5s%|c0B4Q`6Tz2O-#*G!qQrKvaw#?|@D28oByUdBBuS^n1j?{uo31%2L@wmBSry{M2*0dvTd(~!udJS9G)Svi2*p4C{4wtF zM=8ZA)~=JKS&wt{M4Yc4%=5K$TspWxhZz1f17)mLLFxNlIyDv{)3}Q(PvS5vAvBTxM zk*5qav;4~*wL6g`9ztqclX6GA&PVeN$G+FrN#sfnF`V4H${=3PS6{~;CoZHrG*mv) zUe8s{h*Ko=ESKI9K0hyBALK@Fq2JRQj#TW+J`QJS6{lY1p3&&bzV#^5Da~+S#VyQ@ zs<>l_<(JM+$#QrxT=#`9j-c$SWiPK-Ie{DEFe=N#=y*qekKv2ADtF|xnDBn5^ z&G)-9sIdreH5h)ey6EEAM}WSJ6NC>=e$JFl(RdiUK%bl9a-PK{Io}8Os?YhGmlO2045jR=S-50otNDT>*2$x-y6DCF+FG4L2 zR~|&Zje+ar-eYBOdp|nZww%9r#k8TR4~B8Hsq$rEw)u>_c!~unyyHt%0&Xh)wUz-E zdyA{HQcFMrsfZKT*|GYjg&)Z>8&2lAdu8`MK2C7KK;tieZfo_$t=`skcp8Bi7ROEH zXhXFt$6J%Yd^cn_EyDBkp9d761m2tBWnpJFm=}X(GJ{`FzMG7iI45Rr^r?6dbP}RO z3HOAI?Nakokk+2#Eh)pyWK*&qnYynUgGO8r;I5}kFn?4e}fl!H5F*WFZ=RlyDNs_ z*?qX76gz$H#!g7WZbTrq-N4Qwmh&e%-1T`pJLei#QWErp^hIrD@R|$70J40Kz2DF@ zrd2)GP@)eKP-b1E6BgJR>%#Bw?eq8-q$Cn26gl8V=Gl2^#=RGYkWX^(_HYQqxFJ+E zl)Li{Ru1iSf5N@QZ%@R&w)n%n!%>vu4)1al-4!m_U$1ae4c}XgKHC;+>O=>N1Ise@ zCvLVV*qkry<{s@7-^K~u0jZxS_GY9BHZ%gU$AMdyE!njuy8UmxDe!O1FW7gcOP;kw zKOafMkHjqy_Yyiij391j3(n-j&W;ZeqKzp@Ye0Z$Ieh3j{-MjF=-#g{LvgR^sd|9T z+2A@HYe_xsGpJ(TTjH5pu8r;-vLGqBLf*0ccU2ln23Q!$z6nlwRqO60a_v(V-GY5? z{2skkjXIr;U;RocSl4Y`V<{#}YyNE%r9T|<5Q1Ms&uT8yw;)0*>FfaZyN`s~uPLF8PK=gT&f32U(;reYI$BEwNmD}7} z*}Og%tw=gd(YTrP-t^__tNJi7gr^%$xqK54{QZwnCoVjvX;PH$FVkMVE+_SK}xto3?PiEB*0iRB?6!Lb}1YLBPhc{a~^#=J0J9%o2D&QiXxI zT_KJg+WPcCUILso#pr9cbDfM!IeeaXXbg+*buqMQH=7(P1JOf|m?bTU(5z-M@Sc&; z>C>mdyNe17a|Emp_nXHaT^Pgato~H|`i)2u$laWKA&Bl5_^NA&WJ|yGPzoKtKy$q? zp6`X5&3<2MoIv*HHl>d2D^Fg&qSW@xJ}b^4BH|8xmB9@K_f8n+P4=C8{~q-HyU_&} zd&O+Lo?ku?IKN>l$hGao*@|ml zo1%yvWwO^6ql@dx0JB~^onH~5vL0cbg?peFjdRKw|zTKbUQ9@mH<(~S|YmL!4JER<)uRZi*@m~HH?MAamD z%c@7Psz=kheyv*zHJNoL9w1=g0tL|O=R~V06OqIF=z8jt@?eJwW_m(fb+64BCLE8voUv; zu3AEI6o`vPHThhX-Lj>+HwiFJTnh#sg=3l8HV;UQfhN4rTi4VCMRUg+8vbZ>-SHXM z(AEZY_&IfsX2$fTI^d)MGYt~%Uii#n10f9ht%6%iSAH2lI5_m80g&fH^HN`Gw8QBe z&*?zph#hDbSnGOg;tf*CQQQW7mFYmNv#wC`wl@TY&9^Fc#MG(kdLqebwX+hDx(>0Z zs`}3472oSx{RLD8vn*Hq*(Ct)22w&YDug&)-989)UhQNzVd}Nj#Q`fwjzR`1ol_#t z<*ohwNm-+pFTd?D1d3$3m^lz&-XA5s9kr=rFp3sP-JD(BPKgU3^HLIX$xw=mYE#VI z`{MQ0=pAGofu<@r_vJ3?+ufvrXiVI}uzM6MeUcQ!kI8|IV->l`>Sl%VLR>JTtcRb1 zRDa>Vka5=AUiZ{tNq&C*CAUZI0e_y2 zJR<0_JnT4?8N_hns^x6HQLWlQG$<4~W{EqjSlU7>)vm_}`C52iQknfwy!H!8s1s)D zTj?+`H1?d?f}(y+sRfb82{RC>Y1~r6um>c+f$Ys8O%X2}nCw>sv#lcFL$!wz!jZ`PmD?lwYeM^;4@(oEsdkg+CVqoqKZ*h922ze00zbp{@>^JUjOG*>5Dz7!tLI z688#lEVdbfo&^#Nb>j#yaz@GubI+)IlAP=I09^H|E)W>}YU;VnhD!qMQc(w2o}F3< zkBVYn11M_pexW%ho{f~I>J2zIP*Iv=J+M(RVmp&rv7$o{D47XoL)pp!+OGZb{_!ue z^>TL9-`BTij%F+;XQU}QI0Nse49S8SVri(lLq0y{s;g?Ds4Lb5d`%eeq@}BI=eL(V z`6)TuvxO`SFb{)#9=rb8%ACM18@Bba1LVY)yKz7)=P zwo=$@Re{|t-#BskAQ73Q>c3P<1GY<8>?m=mX5y-VE&eag5L$Ok5j z6LY){7RK#0b?%vDCNaUw`@U4YD5~ToA@l$RHTg9&*)95UcB}^2jXkhg-A#gSwpO97 zs0%y#c%54O9CT_YrM)+-v{_RpXzM zU13Y}2SwmhBM^r_jA-WgBMOVLcE9Yr+wW8)!{Iwp#5yl=d!zST$!F;<)W=v(t9Z&|X|L2p1n?-My6F2?{9T zMfQ|60Z#$K1D|&s7iWcdtgMspLc#qBYrH9&Qj~>j3HuB8U1S8B3}zidyc;N0?$ES5 zk&YiCk%kn3t6%jYTADary?07EMAYrL0>*aj5`Kb2he+znSHMpSxgOr7BvbmR43L4t zUrXSBc=$(!vB15{=)&I)fA){R^tI|~EnsTs4g|At#~fjCQqz-GtfJ@!VfoP$mo~ip zVq%2D=dSoa2hs`&GnEerp9NH9yr%L0Vk_oB~{85+TZWsjv@YgRr?rE(3TGU?~oYDT6t@0 zyOFY3%+966kk^nVw|8&|nP`cc>B(LS3Mse@Zo+tNlGh0aKL4yyD52?n_oi(hOJ-u9 zel6K{Lg>yNIyTuXF=LOXIO@Z13b6JjQ~FismPVKMw!HDCDqc1E$Rj1}TZ~yRq**8$aCUu6?AiN3Su*9&yJovK8D4w0G2{f%8<1%1NuP3@ zRSt=MgbON@Xk!v_AafDJ-Ltfv-f%`Sta!K zX+m$b*G`!XP?2$WwPr`J&DlVP3#?O*DIb)&6p!)yeZWy+w5sbG($;!1`l6J%S&9px z%O~aMg!P|lZ;*bj`;H83H}eG@2J*J(+%kQm9|0REbvWZl_hHqF2^1m}>+9Y2r>taK5fajPW%af>Ti{ z6{vZUd~$TG*2dncoC2Y%un#L;2{)H%QX{Ifm?@H++1+;6?1uA<6H7{zv5_B%+dVy> z{ranh*by7_&nudluT^xc;$^OofiMn=33XHV+*~=R*_dOP+@5T3wsiwfhl^_qHa!%J zwZ@Ino0L6zP-r)G!swznnYfwq7N5n95SmL2;^#!RZ?!}Mb?42Si7DAHz#TK~poqt1 zI;qHMgek9xzu;7P^XJH1mu{%B#yvE{H@kO_=G+>`5c-v_b)QK4S~%Btm`#-=*H@PKC>sq(%}Sb!Y8u;7VHVo3l>?^*;~ir_09gH9HRE0lX%be z8WaD;%7ogmLr!N$mB%`-X_1SwTBYNXu<;3yquW-tTCY#TAp;0#%_MmCXyGhTduFB$ zjDwBR*;NB7XA`37p!Q=eX#G#4LIhvL1y=R+en^pf?Cu}T;Ifn;CSZG(lnE6*uwVCG zAXeUa+Y0sPT&6X(KKW4n;XjiHt|GT;yDH^6<`gb`PXLp1(Q-v({Bs2#K3v>Odrg=s zhB3wm|65nj#Cty6-~H6FJhH}Vh=VE-?@!gTNXT15y#F=;Nr1O8%7D^5*z)uhSJ2MH z$9kuXGw>GR<^v*lJ$5y2!a_f;#BushytKXp2X-JwW)(x?9pvN{{HK*Yaa7WzNl2h6 z>j`^^H70jWZ3N>z598QeBITW_Iq)w%JSsnaN?D*f!-ZoJDN#oJ$!RiCR|*v^8rgce zt`6b3_Y9S}!h)Rm$~g=~28M-`mlil;?t;>L;ke-V z#{n7c(0S%%y(TmZ;{7-6#{>vCo8bQWe0cJ!q)fnti^st;w*l%!pwcN@wzgMUhA=S8 z#b`>7b94W{^)ZS&?EDx5-GA1?t3Xw+31o&y0LU1yD~SjHp3Auh_6&!h7y`jOw5(2m zY37ZA#%zqo%bmEkwyH-tfT63FqS#VX!|1T!+W0mHNCNWVRacJV&ZhR7{TMXG%202@ z6(L|FX+>!b-+iIU7vzJ2o;Wd@DHdMSfaW$OGU4*lQa|dSt0X>K(cwUVk3@1n7UkoG z(kR>iMh640FIr^BnEN$UA32-PpXw3D*%K*z1i=K?4{8v*Ut({qRA zn7*EMmO=#t<5%_V#K4G#Myo22FFL*bbO-3u zn-q*IP$;P!gU6L_C(Ng9*gzx?2J-Ic>7^nS4h`#*V{CMf#|jtZfs7!h$_|0(JPGcs zcR)t^-AAK=Me*4!KHb7~kcBbMGVN}mj4&HycJ6EUD@sHmhq{ooY@T@G=SS6(2$ z=#;J<f+yhNZvHt(#1-9x3}&jl z3=~Nqks7@WqZ~=^VSt&;b6w~8NttGg7nmr>$ml_tCD52o96t_@j?N=OGmYM2g~)CS zVi9~@-Uf%S%Ha6UP*O?3rt#3h!Ln<5n!JxHeoY}pNwmkH)yJRA zbYLi)s?E68FU@GWIl>A6lN|kBML~I-6W?cZ6So6Am?a+nX-Rwzxv^e|(}uYOfHPw2_9*XX{ z5oNq|>;KY)&XDx>?8z`q-Rj7^r4$G?A`cz;2?-0EKl_mL!iJE2ac*|p$PQl|&t!7r zhD>R>CYc4kUf)mmuwbBjXntZwQ;C;>?ep;PB$Qck=v;jjyfnz?9}t@*Uit0FRVXGD z7<11arkE(Q!cK03(>^X65+2@JkY)oLm~iRuDe0~@rDU9Tt2op(y#H&x4cZ8hj5L_b zT*t&JA@L}8l&Yj;{nlJphg~9bw4nWcB+{>c062Zk*RJ)On$*oqE~<}8V7_>frfwBP znzYPYm`r-N!v!DT>}=CbPquM?a-?A%k-F@xI%6|a+qDemP4UVtjvzg_n6v@`*= zl^>J%qqRZbu)J@s#^caY`1F7ArUivGI?u#M{zGv?beAVV8S`^lfNJ-8@pjrdiIXdb69-XiG#(jy zqZktjDDR{uZ6(IM`c|;P>7%y7?#?LgoAUnFJ@aJHh<-}`rIeA8mTXlnG+<7Z`~&=;H3#|r+-N!LU)T+|f(^3YTsBO8&*;gxS?12)O{#wx9BnmPW+UQ1~ z+}C73dD{V#c?Iz!S7^!+e01v8v~#NB^)zVyWEf`htwS&yp=1=Q}-;g=(|mW z#kDMX5)u!Zy4b>W%vQWj3!mX+?rGFG1UotbxcTB}jJ31;JKqY)Qm&s=eC^A<&JDV{ zW;~h`V(^oS_xn2Ez>D+I*LGR({-{c$7Gdh%+M_EejZh`jmyMOGj_)79m1pIBX6~C< zSfHR4(~lS{v9$&?Ae2or6S{ic>vcv8V8 zaEHHp5#Jq+nn*d`ndJ6sNRO-G9d8!(@36#dI0ZxA)#et3(I3^wkw#LMS~#|T)n{f# zxHzUsPoHKAZtigbuIgn*j)pd+QfKbDFCT8U7-cvC>75TCaTMywKs2l3gW(cIweI@H z4!Gjv+x~72bQQ^YdFVL+UrkvAQovfE){`aY@aiM^4mWZ8B~zY%*K0jLySg}JLrUiL zEBUkM7X&3vLRtoxZuWF>=f*W+le72uEw|aB{RmRq)z$LuUC;b{mj9+onVbAHPvc0X zpB68!7+Q095Ks6|vb5#{R`gX~Ir{VGg;S*cW$g0w%S`}rN2gF3c>2w(wFtzqIn|a} z>52x*nX{hTl`bQC%T`^$T5(B02xFTR) z2Jt7HoQWD7#kkyDQhxs2aOo1Ji}>J|iq{p++_wPLF`^SRD0w(O*}&!hA%x{qjjF26 zcYp-fVxiWgDlETBqm5U1>(I>++Db<_I5?;cN>GJIDHsAL8GP49*=lGo0T~sII1oQ% zd&~iJt8V@QjyO@8vJl_z*qM&<+S{AY(&1we7nc@Al?U}fu{5Xd=Kj4vzMx=8R^1Ox z+e=nN8?}_mLGzp_0h@0_Hs@=<0ISqUul>+B#vM)axhDS01=wP|XuC@_2~%NeAD>FK zOz!R2l$X55f$gJEQV&oI<9wqHzK+*$Oe6pHoMdg*;%_}uZ+S-lE(zvaFQ%Ast-060 zuaRWjBx7s)2Ezx<0^q2TpU!kYhV0Ac!i62ixo7>UGyY!QFN#_~XsY|0(4<@j#-#wV z9&eTC=6Akpt5OpicpCwYZE!#6nfMVZ}9Oazvy*PL>axrAif?8!8qEj}W&~S7D z5|znGPy8()?Os}Y_iP4HX(>JUA zo&TZicP1avBbz_no%ZDKk}LY^wb>rcU4_VvS7&{OzJA*EzpkV6C_^LA+08Ar`dGt# zJDh_()XOD?d>q})-t^gLp+EO&upHGfmX)xD=U|Xoz!S zUcLgdz?bZs^L&_Z^?%@<{?3GEibLm{54?$GKY8!YKJ}$&w^hTPjL3$+9gozRaFMK-cCC&&d)#% zn{KIH?R<}ZU4X~+N-deup2Z>nl)#LlspwcbM2t&)^WK=y;cO5N{~G4dM2b^Pbn`s!$On1oZy={`rx2?;e~wk69d}`-4BlPxYKYHaP`4*RFeBwO2D0AB-@=jP(nE z#WsmjI*f1J0gKw|wn+~(dBH9OO#Xm#eC?1ko1Q*L$*<5H0;P{8GLzr}L#qks7Zu5m zhVCpH%|FB1B~kdc5?>ZAiHOW2g2+rAX1*6nMM622fB87BEsM?A#g?ZJ#{V~tx7I;O z)-ryDaa~b{rGWs|3#;g`Er4Ie)7f~uCl3J-E?k}nuCg4ovjMz0gZI);U`79*geyMR zp~5$e(?jWGUjCNP5a1(J>n8T*X0zL39zr@J^*@*6&RZ~xKn+!2^JmgGP>P!Uf6>Cd z;>O03Xp$!{5ALn#$0rD_R31FE3mBdhoq7+SZ5MOqz8j%T3y3qzV`anBR{~<@2RM(AukkqYMrTa?pAj zR3rP5(r0N#R)$OUxJ#V54WFO4Aq;4|`UY+`cyV4JSozMzdU*u>{4TrBRW_cyl`xJB z4$Azu2Q(}UH!}(^GaB!_r2m>X3pMnKx2M8|dV={ZD3*@JW5O--k6yZTX)p+J=F75C z>7DZRufJ-FVKea1q=egBiAW(u!`@++EOUCo4m&K7G+?NfDFJQy6+PW6}Q!KeB(FFYasz*kD2Td zWzX_fss>?VnbxkuS@Ld)A!7Iza;=7XS!fR59&wS83~L{xpo2F{pt6&LLv|*+^4o##X$}CfA9V3d2}l%M>yM-;Ddh|5>v`20 zS(_jtBg=S1M3OSu|RAj;)&gD=epX6 z#wPm>kMs=Er{3N^zlyp(Qj*hQT>#8Z(^}9*E{Y&ETvL;jbZd4NSs!@tZ7n#M{K(Ox z!z22qj<0g)_MJ&Vd6zh4G9maS%VFemNKUkHu{YbnxK-V(<#d@pxBs7w!pNH4rbQ(Mr4EjEa4sI_x3OO=(mmrgZ3n#9yWA?H*23c{cTKEY9 zE>9;L$~YE};E?TU$QP!)Fr@5pm=}((ypHgLm0eQDeR`_PG%QXJlU+mvKWra03qlmU z`EY@fQcu%K4fODaqx8-xx^?SCxZ(UKJr>Xndi#_NNw_y>Z8g}|pzHro4aGFto_+6>1s!gJp}OsqA^ zPG=Qy;Zfxsn6}m#On>+8OK0cFj6x}P=!W2=(JM4HySKv|#)YC6+y7OV24vh3fRjSY zs&utL^*b3|fF}`Vn%7Qy(z;x}kz*2YQs_mUH8EA|#`^l&mOxT+*6C1A{e1=12Ya&f znuaL$D>F+UymtLp2lC5h0-lqQAa7dMTD!O?>P0v7^+7Q=^mJOYbTlY;{6pgXQKQyq zLDibLCg(^w=Q zF+1h@2e0#3>?wY>Jh)xEr#4x>Eq347SUZ6Sx%W*WD$Mt~LJL`L%^j}7i011TV4WvZkVbLefVy5b&CP{yHmA&?3POW38REjaP=Zalh&6e;A^iIWmh?Xn4|gLJ83sw` z7V5~uH7TUjr$?RH9;&_l6&fwu43|Va@k@vsYdLvm%(NpxJ1EGb*izdn_cb4ObNM=@9i;BQBe_4DMgV6X^}JlrIC_WkS^&C6KO?48tF#5L8Szxq#HrHB!(Db z-ZL|6NfO)2&=i~*8~Xwu8{m;B zUw6G)QTI95MnI6RL?juvj#zkti|7=K$SJ~BnAa~WSnGl?WP3W>t2aWtHatua9#KN8 zNlv6Ko7MgEl{391E) z#A_ae+DKvxP!*<-!WyeR^oY`XOCa2}Gw>V=0o(yIHTp zPP-)}WE>_Spkw%SBDG4Hb{v>E^DxbqBWwi6~t$c3n8U z6#5K*!mL5Qk;&HX>+VMnA7ZO_KdWB&0-S(%;Vc(kmb16_Er(m+-+cdmjP;GE-yBdH z9p|yn3-wInk_POEb~SGf9-ecTF1_pTZ@>GULSS>FGnGIHq7jYc89IhxttxtMZjuF+ z+j2^t(C7C9c@-2rvXY(`m!JC)rJ~!{Hu4{BUd`D~%#y{up@xyWh!iEkBk&5dgsBnx z^d(oSHaFJMs5`iWxdaC@pI2Kuwrz?Aj)9hA05lYE9!EcZ%WIdCSAG@uTTEJaVjmk` z4b$ZQ{6yCY>K)qjf>m0JRx1IRpg%F8*6cls&AFr}ENwi5ncnA38ypUf{Qv@;O*|Yr# zi4_@bmX?Da&krD%Va#a1*}|}1+pBmBrB)_bLE4W=E{95oljVBV)gz?CKfWl*_V^;x ziU;2xiNS4w&iaZz(=}z2Q3V_l=6jysm9%~QdxPtt(gwI)Zqb(@TiJ%B^K>_Uq!sC)f5!$7VjtMW;gWb<|^E~_dY)U zw4#y69k#nd^J!_;^)2g5dW@ReFwBY2<|o+99dwPXm}_Fm_z~pkAxIUZe~fO`pUHpl zRRXS2c6Gh3(nBvh`DJvFgXn9LYyxcG)Zi%o5~FV)Cx(XHs}yH~g2$_>Ltsu*jkgDk zYiQCP&od&~znAYU6b{&hXFStiy=q;a)NV6DiioVV%irIt{1ah6X&D>K+pMUfMpyR8 zyrMInAFu`3p+ z^SWGvSd*2>p7!(@Eos;Rqxf-L6(%XHSX>-yoUy4G>0sy9}0FE|;@_&2{lUSFR!G7=;z z31)WYvzcjb2-76gUf*~vm*^`dp+;r)FzPa^;$ULJ*mI{#utn|b&$q#$VPL=yFyP9w z$1f!_hWEC9r1{^VrcNWTQ3p(;N>@nG(Jg0nTp8iw{Uf5zo$Ek7>n}@mQMlWI(U%eW z+LuqcO|^eEpr30~isQB2b{TpnU~0+?(GfX6xUoDr^X59<{(Ywbika0ulJYye_4CtH z3r{ZP6CF&1t!QWW{B?7z=xSVCe71n)nB8d5QbO)&HyET2mzVkZ&e?9R5wHmU8z@~U zt}?nMsZK`^H_mHu*u0X>l=l`EZbM>F63bpzgO*eUw(Y)Gpry5Aadcnx1Ec{M6lDUA z`M}S>__JTA^Eu0?{G*sq5HxXem%g!afXdchh|$J=7}{*P?bwva5sY(jD2Z{hEB5nCtUH+xm$fbvlI7zlWIgi9e}tdM zevhA=*bgt~-B_I^;8R((4#X`C>ARPR<&Wo&1Hm@#kw?(yBayX7$!;D!#5VS=G(Bp> zE#}_Mn*`2V`Sj;>Wo13z4>8rkzH~&g5fhu{-ubMc@RUYc*YIL*pQN}d5%6G@(0h47 z&#Cw9Uv8{dNhFI9bgfw&WvQwayqAc{#<-|q?Rwu_aA{b0YG#m%*;6J6ygkjmiuaoh zIBZl4A0$LY1y@v@V=@U$vYK2p3l$p?6m==FMZdp)i12Zao~;krX>zj77hRtHi;LlK z4`pU%=WAA066SB+#^pA%AKcvVs-Ps5@LWC1+QK4Kz}Xx1VHt~_0YY3ja{4FeTu@n= zb5`mm8aaNRYILn9Zy4?l=HhsLp6Xg^Dgh^!Jcao~P@R=o8dS>ObaB{ndWv1ScV&=4 zHgC+8z$}w}#9r$|?|rtn_lFTF%M)vqIlQZm_d4ZGDd^Oipra)tXL-YzMq;h**^$gU z>C`YQDM6CdBuAk$!<2}~acaspk|#&b`Sgm9r^5}om)vi>K23DDRzN;S3?7&aweC#K zjJ_<>C1N|-v=n-Io9a8uFGt`69Xz;Hb+_8nZsAMYk#-EmXVC!*?m0>0x-s_>og;zW zV1=Ezb_j+d047mo>hLqd%;+vR>aa;E5Z3SS@Q@nqFkV#ch zl~K2WZtkW%zoOACvHHbx*FWgAfWJm0q#nFwG)5itJqO_)w+--2GVCW|8S^s7hL|58 zf26(B){0WedNB>RPWR}{AuKjeSFSPh|D?{TI0|5mto)p^d0MIjL!Y&#bm;@O%9~dakdckEW1mssP(SD?*d<4^^ z2PRq`Lk2K1EHOIDgHmj7hr5`sS3QASo@uC=0+Au?wG0K}-0=+vc{M+GcSkF$iji7Z zJ3RkCQt#^cqmblfDC5U^lbg57KqZ6e}KqwI~r@HR? z@t&9G?d9rTddkMRk&)A9&b*G?F23E=;7mhB)z;ct=4e|{?G+^}9aOI_S@7-KljyUt zsP}W8p}~w{v`2Jg!^N>G1NjR$@Jw=B>+2Y(w9Qk&(P(S)ONjn0dk2XxWSI)DAmKm~ z#x0FE-6`LEy0%8M>`sZNUOx8R|QE1>s~5{`RbQz z$I7>Zp=A!2P%%TIULq(xj~tWR*v?NcUU}Q)nbmL@CV&13!#wK$RVsd?`mcOd`M0UL z>y{X9S$_M8>CntRq3 zDuI(!udI(JsxazW>tVjjdF*%LE-wuqU2UCqMdMoZqlwHfAbf6x=8Vq}*yed$~UQ;M5~Y^$#%Zw_~7H%h7#UttDXhAhx37s(i7Hb!t+VoRaPG z=a7i(*{xNy*S6Z3*cgfy`EQaF%*^TzE6XelpZtaY$lrS_b|&w4(EfqX>g@(fCz}L# z4d(g`rXpc$Pq<;ubQB>=x*)1g47+!+&yCdJob2tXtj{>*<>{gV$Ix=zqIzh!+KJV) zl<2ZX#dhUiz_xV0d?Vl>+l1Or$YszBGM0i|PvphFz+5DYa_bwQ+d%!Dx3XkoC4d^H znR>yK*<$jy-o)~$5^@6Ht^71K+?LIIZ~34wzqIKAo<0}+tdU^ zsv+l6DkXIwX0zH`^aaqFhoZ=nZ@d^*14d^-_V-NRE{vrcn^BiCU_cjNDqWl*e3JpU z4!Dmpb88GmzDAuB#6jU&SJrj7DO_@|Lc~96svriWT`Zq*2-Eqv39s&ZO8`Xd%=3Ljm8C9=%YV;xusefu7B#2Hf3ctt^su)>><`329#OAale1pD>#aM+rAY4$Rfeo8UJ zF4)i-e2%7-?*0K2m-a@({^-)cs0W%(>P}ipO&%RRS8xjy6t{1W%=*mP|AAsjaP{_I z6wCUU%fSg4G2;p*N|eMtSj>bSg3FIp{DY1NjYcQYR^R>J0kQz3=jYDxFT+5{C9TD! z&ebU$M#et;@vQ@yQ~V{Z8rFYb#HSH4GBt&UH!-m)xJ zlmwZ)Lt6j8P%QsjnB1!77;x~u{U7D$FUl+Xidt*@DCef881tJ11>3b)Q+dx*Q4N#d z0zI692h~>(h|`IsHY$fjcQ^M(C9XOwB|E$JDylo)F|O{?-A_NiVFS(BIf<^y%0Ws0 zl6W!&!yP5>v{)(m3R?yT&(i-%+3a4~-arexGW*EN`ssrZdmM#w0Q0G4Mc+2l_n12h z3Q04bSrg}LK>#B>G3N2!lW1W$KADt$#C|D3aAPK}$TBh65ne;g9t=W=W}vrHLAf3% zv{J?ak`4e84&_%X%;`>Q%eF|rN{(t*@%PVm`uO5IB-bOzY4^Z`0s@iTrhO9Egj<^C zb)V4&(GuQoF4AvF`}nb3H9t+UoUuC`A)mRe^#ojDsA$I1F})n1_?wUYsuQYj9S_C1R(^4hoeiNuu&s+{xr1pA?k5 z^+OZ2uza(FtjfEG)x)mbQ5SM${qXwrw!OUviU+5~3<{7IydxoT9h&JAUY|;WpnzqB zc1joE3?{azrw_EuwoJ*5<0Kdr1iVsS)c&LgkSi?eao75i7uzoxX`OYYw47>_g>2y) z(|1Ce8m_6`&A%xQMcvG7P#qc-DmwMGBRv&Ta09MHFC)-$8V(D|$tgW^cMk~E@leoW zs98LBGe?&{!6idhcZ@VgPtX)ALJSaLaEB!-{T5T`HYpCv_rY5#iycJ#Ov)Ps{uMLD zfcZZs_h6X~4G%wd>eSHOoZ%%q0!oTE5*?XDQlT8T6`@^00fNnNUR*-P$-qy+f~;ps z+B;lQ(oSg09=CSBj^PW~Sfk0vZD=dN_q9IJ72BMEDC`C4lZ$Jf?mN8D=S-OJS2E`H zEn=TJIvLB4`b@|U3-vyN#u-B-AtpJ}7KhW6VUT;ra)W3B(Nfm2ovgT=D0@>W-8j2=>r|df7$Q=_y>%YVHK+YJZVK)$*p$&z>w# z^m0FV=QeQqw9)d?EJIYye@s+w&3XQ!x^vJLdR_VC_!kZgFINnL@TdLY!H1Y8*9u`= z;wPSa7g6kr-q^K^z-d`l3kU-#w{JL4j%8Ei5lGv83QmYBAG2QfDkQXy z%eM84B3w)#9Ha}Wt5%)cuCko$4m#2Crl>5Zb^L_|>8_dYU)`ta8Sra-$?5YkLQ>OJ zc%%-D6s;{|y*T5GSIZ@@`6K@!g>W~w&BuSyz_&By7VJvY!4E)WAj#_J%+%n2>ww$@ z$#I$>*~fb(HTmO#Y~a*VjlGZYR)ed%x|05*n$S6CcfcVJFUSgrd&i@q46|OhM_|OC zb~u0&mz+?a7hj1Fw&QZe{lBNtZB0$n)0u)TCo4ZZDzRQVa^%S7Ob+ALi99SYE?%@E z31;SZLkVJT0T|W5~!{ALxF_q94m!uCXrad17&D8q34qTYN ztQQr*VLQiREe&tYSO-qtmBXD)O83{da>pt%u@h<#oBDu6+WuoRJR4i{+J~Sjz1#|Q z>E&HX9CQYg?;biYTW{1K_+rR(>z1;>{hNi1o;e?B<<`O3biYAGn0J@{PX5_po0QZ= zNJ^@p>1y0Y3mzfL)LwvREh8~F3@gN15X9-0(M5p!p&Q#pE7;Ey{f#!I081%xvjFhqbSG zOG}-d9WL}XEb6E`MYCI5tD5AT^>Lap9lxu2_Zu>0{RZ0DQlY@kinR1$V;_9YzhNGR zkwX?DF(>{#t!m)y&2OKu`szEsN??Q`6}#yBik4RQ;H{WjT4E$@SM-3nd4hnm!^$)X zhiTtimh!IjsLT#s#1s?>D=Yb-qP8$1sCLJ~;u@I#N=j1S5Ai$MJz-O>P`qsL<)-p2 zD1|F}7~vmcgOb!AKvq|%2vRTA6zUl!<}?AmOx*oT32sPq2;{%6(!_TV@2T>WFbn3F zGjEE%|CuEhTi&L8_;}YuKikjpHdgPj;yXji$nyqWGCU%U!yB?u3M`C0KZ^Oz=hpvH zNP2hffDq;Ylwn@GY&YT3{5X1A8w>V-{?TzXd-jgf(NLp7HzGIsY~B4sa7!@vsnRHW z-58fgd!ULk;Z>j@uy3HYmYsv+691NUd}P>$)QuZSiHVM@b1q&ag0Yc|fhD1)b#(`? zUKK$Sej}2O=mCo3G<@S(U!Y{bvuxVNcmoW0AH|gYAM#u>eLrc-hO3G4*1kvN@<=}% ztUzypq9=f&%_`sS@*x#%4DU{kvP|?;#IeVeC$EKt>GnS^AR8agoNxbh=T2dZ7ORp1 zQ6yhTa)_}dH-|Ig4EjsKoz!}l zKKLE}qJK_EC;k?D|G{s>GoPmHmmFmj5VBq~)9u&$>lqv0X$Dugu8mjVLT#uIICZp_ zB6qX=4SfIS?DEg0BlL0?vC)$|FR<4CQ1)1#$JQl#uQD>0F5 zCpU&cl~4hL)PwuEe2mcxgJkF*0*d|4?EK0>y%X#N-VwOd!{KK`=2lZ9lH4v0mCGt$ zCin$3?^OohmaMjA9{T*_r9|(bmlJ&9gNqBbkI`GMXGn3lZHo6x+q`nz$A?lB9fcpV zk!ub6+pTwp^GK@Nb)G-8RnI~Du`qV`zhh=P^TXeq(>Kh)0@HEDhQ zyAG&nF@EmVi098`q@`Eq`nQN#TtxVl>1{dtK_Gtg$a@O!JwxP`Jn&hpS9u&RV%RBx z&SQ*LjWyd*TZ1{I+1OBoDET{e^Fbdt0>&fq%P+`I-v3-@uPRu(OStmI3knp^bloEzRip!tN0{oNI2+?#20)ATsK<>FtU*(LPKVrm*A+;D2}LlIT^bNT6H>hJYX z4ZlCcfd|Ua!t_Em0ZJKDb)k8lHoKd_YdGFG>iNFfYh5dCUPd;HhKnl&hys``#DfJC z3oy`_K0Hx?Yjy~V}Z zFG~A{u~AFORh$o;K0fYmkap=euFt=h^tbIWoSueLQ@!7Gtvk<>2nPfCKN9NyuqXw% zoOFkoQo?H6DRS|EwUW|!ef{o+Nsb;cm>q?C-V-*l&;H*h`?$wrqS2JR!p3_Q8>-$u z#h`Ld)b4qpy5L=6rLuqoG20GhwE`DWKYrv5vH?_AeJJ?5fa@_g%4|WWbOM2hBu$e7As+S%hL_j+<$J#md4H`! z#AWP|CPXxdd6;58j^KyzY`Lf7QEtRz_0;HCXT0cNN&g-U9S+IrXrDhCdfR@e3HLhC z5*tUce3%{c<2s(;m6k{}G7b9+zBe7i=&@Rkn2nv&+Vz@}XL?>aN`D$dIp}}UXav!^ zsKtgrOV`~NtTkc{&x8XJD6PJ_uyFXu5eaEm_2lufa>C=srzR%{%1Q=@tDBNNp{ zR3V7~bM01@O|@KNK9n4zF26iyt3w$7hSAf~;0)%oRiOZd*c;{Ti|%#g#pMC6Ly*mH zEG@r|xHc8afKbOi?z_7=DM^%r2yUSA5)Y2#-}+RaeZOUA zR$iTwat&%z!jwEx|2{3p2X)Xb4z>IgTm2hV#UdJ__D{*N{#c*vzpK{ltdM7wUl*>9 z1OWqt?^ux#X2^B>iD3(4bL8l|+fD7R>u47ovA9g^HqgQ?1U9aY3;qqV$`(+)|IgW> zi5$E#?&Vg737LUS_~+5BH7!2L4dxYZv!GXx!zBy)Dy$o94vhY)K%xy>NgbS1GFyLeKL31Mro9J zKYdEdL~N;`@bzD+f=J4YaPnJ+cig*!x}t)-aIvRoooE^F}HH`cB(UK8RGp!`=_MsXR#b?*_jS7!|ExBnQJJA zhMn$6;}u!TGW53V@!lQjcS^6}6nG}g%`chad2xWYIo+-H*>e-+Z1*#PSx*IP%x7?+IqK zS2S)X=~(kyP5+xP$-y32Cpqicd^Rfq z(5TH+4K~MbPEWP(fvR*s@z^t4N$OwLahJ+xO3VFiC8!|@&6kk^5lq)>K%Ckddh8M! z3sPi~ZONYs-Bhm{5>T|FqjxvgzJ_rz5k7{B!Bl=I3Y?qAS(-sJlu%6xfeC8^MD z*zHyA^nFMKjH~;Q|)MOO@>yYo{>~ zbi`fv>#fAD`4<(iC#g}CVPAA$;6A7Tpo$yBcIuY-JhcxIxp5bq`wH)YtqQne!Wb>{ z&IX_~+N{_Hfj`pyN>qMm@x+6XnuZJVC$~0DMV`dGVY`~2ZAlH{kpH#%(GT9osH9^J7BlFl$DBOdKwD3Wn`F;5c6ZH%X8#dV}~gE&WE(ez2;V*1%dq0$o~qV~Y%@ z5t&8#s1Ajpc7B8LuD(t*6uqz-+r)h^hN;L|-d~*)+`E@gM&?Ca#hJA9lC zHFPSLEO24?hXdeno1kTKru5EUC!HdB?^#U`J82EqEn#ICjLh#-5cBojJ4Dt6FhDJ7 znLnK`cU)rLupL=-X*}*i;;GJ^4-v4`Q(r9an}5AOublPATy284h{vV|HxHt z@O7=Gs}Cpp(kRXj1tp3Bd|E}lqAv) z*4$s zZ!_fErC7EXvBNnl#BPwQvb3Mi*`i-q(s6c=YHMM zznH|j!$*V=J@KC^8X|Zbz#qhchGJJk3sl>u`f)7@L(|iouC!~#nN}#*l|ErnUN*0A=7?{~mmB+$Jg) z_j7WJwwZ7u4-&diX+#&sLFZFzf{$sb^~;^@7aToh{)v$eR<*v|)kELE3LZIQ#r|$< zrS}7X0?q3zG> zAjQLBy`X1ijP1jXzTPUfOJ7IlAs9o;O><7{bWoTynlmB-voNL%Frp#}+x{AZwQt=* z6`EH9rHb*eV8%9QP&dYyr6zkFu{CBg<|sH z|0)#6wCVKN&8lSi*LG+9baH&lIKjIgPcR^~_;zkeD(}>{Z*e^Ic*Bd|iZ~3XFx?)D z{%wNtDc)hlC$heUnH{BHig(={`2^)0OeiQyb#0%LOHvr%HfI%6A^%N%^iL7#=!4~T zh4_kFSif@g$d_S^4*#;h1byt-ccH6S{fjfA=>BLKF8SdqKE=2GtqF4`iVtc6Pd&|E zGug?dAUlN#k}gY_APN07e-FcF%&L8VhU)sFfLJySGG3dBv4%{KhbTQ}Br;h}6t13r zS@2Fe{8TDquxHj5!}0mL>C6gRFHM)C#05nTvQwwd20@pqjz*emd%+PQ*vfxappFhx z|MW#u4Nzx^8CTzNIiHtIpfm`swJaV?LcOQ2(2D2Nd?GiqBG$Dggop8kvt(vKuh{eB zFJXvhb6dQa@KI*X?JE75i)P(HAbUP{(9wA>C(YlJ9+p{Aac^a&7A|unlq|UQO2n|( z0Cbjcc0Et1I6~cVku=zI>JJ|Zbe;H7^h1YH{qX0Ikx_2iLEudAsL1#`yv#U zfzSDh<3#gAs7^Lqf5Cx-##9kM3P!1uBzp8LO|n7a)m__xPRRChSRmxw)&mfZ7hj69 zlzy*D&1@vvleJaN5_xhDB<2mN`Gjts1uZ}8#7=Wi^n^*>b8{KPv19^$E1h=8s7Hk= zSz_VprCn`pfj%~ZY8Z11j-L3+7GGGH2=BxSJrmKOvQM>3SLP2@Y)@~YFmg~WCa{vl zZih_)|J+*1`4NPl|6>p)8*A%na8KA&!P0Eso8tSTS9e|Z+>RmyXO<)c{&)8nIWa+a zvv}g)dl5de|9{3B#d<(779z*yjd;&=QwQeKZ?V3xHyba zVAd99NEawa=}K^9TL|9jK>nAtrsR&fe%DJOAC|4d0*yL7VJuc}^IhNP2f%ZB-_m!_ zu8AFPZBBP+XiKq$o8e9!`|bvfE`REl_8xRaw}WND!O?MfN+)12K%O$tPt9!VMyLa} z-}+X#4zAt$Z|21frQ5PudXQN`Ze*9~OD;|r2;3eu8XQIVI9S8M6vUeBd(iDTY*>xY z2+g&D(9KRQ9!aE%e9E~!A_)unm%4O=gpP$=$?)TW9TxDgs5Gn;zzzb68)Z{xHH{52 zTt7J(d;5)>?=?vM{$0e?gNSRjBascg{@aXK@+5OUn^bDa7^gBZOj%tEprrP>;RkA zi-j2d*Wux3rLtVM#7An5y!ym#Dj}m8DDSd&n0>0dRZ}GXNAEW`XHoK>IvY(~vT;d2 zSfCJdhu|Qh;5_1FkdrEOh;(crq@~kDF=j^-O;!WX(Y?`-SV1p%M111+4hdJhg@ zkThS~gx!C&@KBvR5_m8>FoJ>gR4L3JWhT+RpJooO?>>t;xLiPWBbo2%I zE=^4g^p1O%I3V4^El2BJvQjmB<%Q{kKEBK13HsSY-lw2d3$3r1K4<|bNkJ;kAvzkJ zOlW|OuxwQFsH9p+bq}};j~g#={fprCf{vhI=IX#kdLNP5Q@#|d6izBU}(OJj2-L|Jf8xc)}wNpZ8*}1br4<9|c zfPsc9KUyJe*l|80R=dTzD5g7?u3Hh7uMM}d>w33hQhD;90ko4Q9+F>S*Y(^eXd(K> zG;j@Dta((Unxzd++-fbDbnwQ4YBb54B<#w|1c9CH?t!DXS@T_~hmY8AAxU%=KC!HF z4Aeh`X?0cp(3f)9tD2~MW3HiOX3&0|yPoNLJzX1prVe;S>&-B)pcuHfu4VDWSq%&J zJmC?&$!l1+>w&MFKF>Iq>rt%*6% z5_{_8{Wih9x5(X~#CeE-U}0flrX|+#_Ltkr(1lmJxqsAgeygLYN!;6Y{Zkadsb*D6 zNQ5!xv*N)yv*n5R!#BWqwYW%z69ejCmUbBQ3Cs@=;Nb~gptN89fG=H&no?su)~mTW ze2Wzdh;YH@kC4BqBh9-j$&TQcBi}vp52q=;K<(E`6IXX7^l=dIQmeYFy`XQaTYvRc zJEq=moRCiD7U^J_zSer+IByCOrAY?~OaSppbSc1CDd`|P&MI5WL_1WJW0K{2#-oUU z3NMU}w1FPYOoiC@_Lk^Tp&tpb-H!wq6Q?1Mm4*KUHDNnXL_$I-=%ThM494Slvx+Un z4ZR~miE+4$_!`;_GGa{2947URU!0HeeqzmQJ9pCcI61$A{HCnc`l8Nk6el9We@A+J zqm(_JT61>L!Fb!h|8auezD@Z}Tc-RX*;e%Cr{EjvWbKWjH;e`AE4*$8r-?~R!|1w_ zwb+TZg%Rw{rOJDn>3;S5Q*jM?`f<-6iYlIcdF%8-MNiO5tqG;s_FJpOF3$z`iZ$fQ z+dBK>t@Hv?tt_x)B=Bpum%}=%28AalC*fHcnVFecSUR^czt-SAV!2$E01wJv93da_ z&Cn4E8TN-t6D+3MY~V-`(y+Cqax@^VyRS|rL}s=;q^xD67i%Hm6eT_L8CvcE43LC# zF)Nu>_X3+3{?SpER@#J8?S#=XKkN&jevi2t!W%jR>zKu(LMnE&7EK>J-t~Dfef_PK z-m7g>NySWa>Ln7db=1Y@&rSLiH%bmf^AF!dIDC6~pbTZecJe>q2NPwj2>Jh2ecU)t zaCvr9{mF9^HKXfwky+?Sp3QMeVm(7b>9Xn&UXjKt-@7dDM?deHGtR5QHdpXGa(L@VULE1}FB5+y8ep^=1V!>xTN{~dL3wfMTV^Q?dF0d+v8OEIxJ&mjT5XZl`*{OqDM+^(0WDrB&{=H9LA|j$KKanZbO)B9iJ>$4Jia$2JuIhiv3xP+)y04BCl{ zW29uephk=xW<%HXrLA{h6VdilyiuJcaOQO-Ij7YNb`bu%p4+y9o#PkyQB{R=1h(h` zX7t$TG|`o}^G%xJ5vB8ckm0jtWec+3I3n@=p3i>79r`a~yKs(=4HsX5soP4PxTd&o za7R16Pl10S*lRxWz@SNz60F1>6DC1wWaxYOH%k5c_XP3a^GydKAN%bK`Rti}LW?o> zKJNqVf>Qse5-u36-jyX&9SrWG-4VU8Duu+Y?iy6jncn3$&{5W4y{P zI_Ryr7m<{|NrQfs=4R?SF&;oIH%mTabih9}@8+A3*3$86XVPjzqRnYd(%IRl7^bE- zJzWuAeD5{0=$ZJ5iHJmaOnP$H7Haut^tVv^rJEcM2SMYlsK&X#^j&7B5i%5^>%zyL zGl>P_37HKFz$ozz3JU9`MYhrPn2XxY(S?#>x7ST=RzAFctQmbnYj|m-b~Ul*xss-H zmMi*Hma#I=;YD`v^tPu=#`ta$*%>}cU$LC)GhOlI{yH)7VDfh4{X@L|_}6^J4Gq~c z-6?gxR%fX9rmJ#?omezruHJm|q;Yamu8ZOO=W5x#LJg|dwApOuQW=-VqkR17IA%sh zt_p{8EPQM1z@zMQ{NytEr4Bx1;0f74Fo9tB`*B2np}7l)cE04jLYy+eMZQ`Hq7tLd zM#J{{C=m~_mY^>)9&OoD8Fw(Z+TJ}F%7fC~q(TVgjV`gi$`(!hs2zIRQL)1+qoLw_GMNG*tI2<)6uakgrCvf6RqYx zotv;-_Wpj8??WUm>(rXEs(us^C-dmmP}7p%L|%+NKVDW= zMoQ~jzb6_Lyn&QJ*N7{5x0u*1=|7QOz7)iNwMeVFcmHGGFK~H~e)kt?^MI!$(h>Cr zopT`s5pR7y)U=*Q4*bVm7;aoxbLlq&l$UB8_3{G;V%($#wg3zTq_J08~`h`1z-Wg`Z~aQ>SiSRF4cz9k7cVXsBR1fet^t6pOl&_e#;o^)0B zYA>4G!)2=)^X&}&!J+()hpAWQ)W_!LYSqBFB90}mv&U2e zQVzLwxCx~ZEm&ZlS-$0SOJ*FPksaf6X*U5K^hx`$h+=ESnk((Js|RKBU(gY#E$)*t zlIKIHbhNAvMsYaVWtvs=*GJrce0BV*Y;fMkapdrkx;@bWF9c`mh}B}4!X&-u-hPI8 zZ40*nR?G(az*C^iXmJSf_S~;WzwOhoY3s^l#;)hSo)3CPGOo-gmcsHBU6c=Ad@JP{64 znzf>5^%Xc8>d?jY^bw!2*yaeO>-3k=ZqxoNAH(1yU2)HFa<9-Xc!ImB`ePH7EW6(k zA6I%ff2=bZc9@NgjX_xO^W)O{Ml*I(5)zi1k2sZw1?HXQTH%>|xnJmDENiTexFAKe zgoKmJ@e&cHkGqCP zM40xig^$aGTF`28BI@rg#Xl&w}(j;^-^V| zCXzw1wBZN>(X|(S6>)Mmoof9-Ku*jnw&ZxQd>paw-NhnDzC<0T6-WGU_Zl9K?C+Ez z6kfKRj(O_%$Wiu4{gqva=;B8R+PzvL@K;?5^v|uMFn=G>{$l0|*gMV==xZH$yL7Ujc|0#=+NP<+3BEE7qfUJoWfKeT(AZiP*oT-FH6=CRQdj z>W`6JJ)2L92>}SiJ4HAs?wWhuW-V45&9ys&bD~J!t~XzAdYEEK>!_M|bz?;1&224c zCz6S1`ONZ2$XFJGZ}4&HF*qm-8=H$5aTiUz&pDOynn1qJ5kH^9mq)<#L`)O{p?U)c zE3kO*cM$oWxJTSZoE**QZK1!{+RC3Tl4z__;UqU#+@NWk$P~}*7gCsK-_(D#?9x09 z;+@TJKh;g}fUTcqUqRM`zJQ2xWd(LOTE|24qqg%_1uvFfUB9zLj=0IN$&Q0bH!>mW25R2p?E4*9(A!@JFcqO^D{+hg~suP9yrQhDV6S@rpjrb)X)< z;jQRBOMeM&cS1Mv#)|mOeX<$dC3B0(hR1B6FiU$QnPRlWp-kM$N|oZ#Nrq&qAjXhz z|HTv37p0s$zQkZR7>5YZsZszi`18H%$0DS`7TRngdS=hB+3mlWZ(j2}yl!BAMZxDG zj7z4yaN&Dng!a{|yCC#32a+Hle8M!O)jXrAmy+d1X6S&H*Q^F#j@i4&zGS_4v9Cc= znu(ZrAgs{6;6p0}GP#7q@#*&s8DQE;y8;Ojk*HnA#DE7+`flXf4;BdjB17Jc+cEIiDCQ|{tEK6j zMP1g5b0HK#As13~bfqE$ocB`eHj+iWTnLiaKyWZ;Y}NQItuvF4X4VicDh(Ngyx{U;FY! zd*8m){{DX2+V1Y;q>p#hoB}w%jVhqO)iDKJHrHa0w;#o#Tw;KEXkaID+o$aLFRhT08#|CVn%q44a*Lu zS-CK>A=ennnbX(bKh>5jSpt#6uEZN|KM)nke-jH6dG(s+Zj;3?`;bNz7>-IGlIH@Z zt79{{Xza3mNbK9F&h1bJ43{4=e-jdGHo$^C*>*EOfJt$`5c)}6d>IV0)33`-XpIr3 z`*rpyaS)TjgZpBKc1H(UAPukHzfUUGtjIb@i}}_R_&A;c|0vV&Tb#uFU+rYLU<~mB z^RHd>@RwGV9!iVH6Jw|XBIVp*d2osk7RdC;|AdvJpQxy*tCw_Mu06WR%$yf#cdf{< zR4e#Is-h&xQfjDC=g}um^P+Fq*)=1l@or$k0z#e+-NFUFDfk1=^bQ*_a*w+Cl6Ima zY(;!1`h#bI&-km%SPYb!YuB#G@z>iT9fBt&^7;1CDc%-lRA%F$9;FtO2wyu9FZ|wkXDVep)<0@ySm;oMk4A~8OG zr+Bua-IcTN^y&lN8Ts##M^8xOZl;nwwMEbwNJ9GGot!)92Tp1}t!)$j^ z^)I)?JQMr7y2dRmgXJFOo14$#@TGab&z@+Vbz#g?BmBs5uc0~=F|ims`K;&%hVM5a zO<0ljd04)t)!E!Urq?*Lw%i)eNW*S91-Dz$vRaN!czYMbE$)tn-^*&hAV zqGGpnZ&lT}bksnj?FMo>+eGyYHC$jwc;W=D+0#S=D5h-Lj+am+gH&q^lVRQ{xEO+AqbPQYg+W~97 zXy9?3yF!4$j97a!Bl%v)t(cxj{>enC(OlF1G@$p4?q38qztd4Ot96MR)EOf<7>uq; zNEDWS_8(i`}7*uDc7^Ja{{P^_G~Nl=7}-*u87(_FEf+yx%xq6S$pt zb@2%68TLCSz`s+K@V}u-1H-rpvZxkc&`#z&pfRCKzg*v{>GZNaNAHG{)06uS$Viem za}RVd?^ge@u5bBi$m`%w^p)rzq<|1%QoJU-P8e;5ZZdAC5h6PL{|70X_y0(2;pv2| zeo`w90+~I+s_X3&;O5Oi zU!?gKo_L8fZ5Prq+%`o7+$pj+(_4lk*bxOu=AoHQUvC)54;b8MHnT!^?%<0(amQ1yaB+Po zhWQQhlt1zzqutR}zVlp97+s52X68)TUe)`!Y|GvfcZ3nlE&c|QaE;FGKadN6acnC_ zl19KZ%j)f?8PjyZQ-(DxaK{9ici#I9e=$ohCm|wmo__HUz)Ds|Sk?L0fyg4OHCz=; z%LD`)(0(E2CoSAp)tm9fl|7pSXSO^s(Pi;6zcUF|I_ zTq(7{Jd`})-_u7p`c5RsS4}?iBeGl*VxJ~`(x~(0=;`@-O*2PNC_M4wnoROfTJic0c z@tYRpz;Iki7+zL>F0mZHvouy-T`elSPh7wG-C11>*N9dF<)&dxIOy}PEBZ2U8F{i3 zH?QN@q4zBEYzVPNX?gkAIXSQHJDhi!>r+zRZW1Iln4X(clzEE+fdv#IEdzAM^|b+eIQII<(kY@S64IEsC(6hak`37jud<*?Jb<9!s-0Z?M~Kyp0S3UCkh z<|KT*k(%*zmGxJ<0~%K?gol z(9sj*&LZQDZ%DZtgU3GxQxXL;P}7tfw2DBc2TB4d*XQ`~xHvnIIzTs(M>b@NoFQ{E z+lSy8Q_}3Oa8+MdptU+JP`}Csr=8!)pGj>a7Od>PIP+?yE5x zm#++7AOMtTKpBQwl$Z^@)FnhW*e*A{>QtHcX zWTrHOMZLOno-n@P%4>QPI;Lb!`uRttjN(-_0;^x$*=gSspFZZrKrBx!;yuA{rSJE( z(s2Q_4^X1c0jlb5#t0r%$|Sx4w0W-y(UK2#bM6e3n;M$y_tDz6rRStpq$iNfo(TOT zxTmW1GkflFP%qPHp|iy9iELZugkjuhMtQN_LRG;)ap&=#+bXw>&JiE~PsJq@}x* zZlt?J1?ldR?ha`|KsuybfklTby5D^P#(CY>{d~_D-*|t#KOK&t>)3N{bDMMShv#qr zAJ`l)D7f8VrZ5bRRz9nDi7rvS@HnPYCgj10rm?ddPUNo6DBs1=E{u3>Yx~KTN?LLD z)Fj6Y{x=pi>SbHQqg`e(TWi5h?n$V(^paNN8|L8uurZ0v2l!cvtT=!Y>C_H8(tN-g z0eqPGlVuG}yGsHeI)jnW^4Y5-A}!a_okh+GZm4-!`9qq>XlM?2uJu)|PMRMaC0j5g znKN>*aGFUf&aqTD1miz{Qsj?G%PLMzPS+!StVu;jawx)Vc-S0dt$8O}ZEQ1F@ggxr zqr}8@*y_LWF?4^Zkq3Zv=_h9rW6KgzF_2Ro=*vaS3x%yT59_PbgXoNu>E{`IZ&?ij z!$UdZMx&`u=Ua75CV=cT8>}4@=Jp1j&-rT#3dSdMl+6!HN0%l5PzFT$A(C6A zdU|zaijU!P9TBt`d$`??ckLS{i?pN7C%;iz9sZ093E_ubt&_ufS!D@;hz>z<*dmmc zPX3ms{5a3B>CHB{QbCnpTU#p|R8}T08(Q+|kkYihEAPA`T%FQtuEjw7>W2NPa(%<* zQeT&j!&kLOfWa8V(LdXg8fSWqmUpz zsb>7wq+ufRqY|Eqb}yKXJ*j&2D{5T$}wMSS`}$Hl5S_dAQ;J4MSt1|m8nqS0MqVicQu?K5be|EsUs`WvT5zC1wi~{ z|AW4Xyz3cObsrORaee)9?2Knmjg#o^y0uti7qE3@xH6S z0XQ6yR#|bN7Fx(FDy4FRwNqE?eMF}3VDF1(Qm6p(#p<$1;>Nnhn4o4qQ1ZI?j>(kw zIXVL4_{7EkD51t~4b~Ojn&N09pI}gK)Hsw&kIZ`3rXZ>s1h`WgEai%c+|t*tiw!N? zc&y#e>|mY6R#(`Pz63cZ!dwlL_e)P96J@nkR9_h6ULRREfGq=ru3UW|nIXRLGW)JZ zpj-JKMIuFWqSV#N96B9IlT|Ve;-(}-m)C)_WNq^G>EU@qnL!V&g9F=fPll%D79#Zh zKhUovq?7#v*Byc&xnqFM)hnPB2-NYh9FdH*woa^k9tdPmC?i$RB?kJvo&ob|ablq9 zjZpvIJdu6AEVgXF=Rj8t{iH63$5MJY(z>(0{jXPvXIWn|3d)mmGO z)_O!DB1mH9p(CK_z1_p6{juetWnJ^8iUPJW%DslF6!@=_*!d5og>CX5Re8V;zUrH; z)1m1jq!w_~0kZzBhs>A++Q*NHM)rUFX+NE>UwjG+~U7EOY|st&7}7n zA=gH8J3H!AA>~uuwsz3f1)K%L>VeH=M09be{^k7vRQRM7E_;l$8h(2ljf2CVvIMkc_umt2FNAyih=lF1s5HRD zwJ{tI{tq^-T;w-Y%2nC0-E64N%}a##$AB;SV$^LkGsVW?l=7_cy_u98VX=I^ptzm; zP7l@_<@RV2NZBD%%Sh`4MqV7$l|x@uj#xjjHx?2iM(asQ|4m#^pDtz7Y#d5IS)pg8 z$fQ|p!3|+HS!e*iO{~Y=X;xKjJ#@-5Awk&fi~`&*a;4&fb^%d4V+!0@wj2T9>mto2Txr{(@90mSekPTIo6Ss>h1s#_QUZW%K9s5 zu}X{_tu2z|0y#6yd?{x~MfrC@+#(hEkWS7-rm~Iw4N|Ze!zM@yTA&b1yt_4+G&2UZ zSoDQzO4ve7E%;X4Fl0FS^{b#ZjZ>YeQkmKbs$JUrYLj7GEP4!V<9ciTAH@+biZ(k^zqHKp-}jg3^y3L*6RA5t{tiSUI2@&@eFJNn*`wA3 z;HO`e8K7PYkB-L0o0w|Nh>DMQZx7i_eO8UneHa?k@o%z$U*Y}{Xe}+!T|yVgiyKF% zh~6)FiPwpZeJggNxyGZ!{isOzb$9&`6!j5L8-))kFeUxy&bCi}%}i z#|Y&Fv?_x0bw~4l&wZPgZH3PpsP`HSFO~<~#z|hxg_Y_AFZ76IQb|!Q{rth=2djrY z{XpjrR{w^$ohUgw4o#O))TgKa94R1m?X~Fo_~z77H}v1o=@Fxa#)ZQSu5jauneyi2 z-7TUoOIuNr9ovN_=hQc z*-9&4?$?Wb#wV z(t8veDhev9ncm()hb>CQv%hIx%mO4NBx-BGHVf&4n+ppA<1^uY1QP$jmiF*R!GDx3 zW_drQysQ|@uDfHsqe2F_-Q}U23Ls(GPcByhoex0C6z1gxb$;6fGK_5O1{AkG~3fw<@-7D}*HR3Wr+S!P$OGCk6@+NUfI_ z@A?O2@X;x$SG!P-ugb{e(XUePMPvFYRTqFxW|L9RKY(Yq-@cu?qm;xM`DO9W@%c&O z-rB4OO~S>Y-?5g~o^;X_N$gB{N_ide$`5Q2oY+|TEbxYK?73l2yQ9PdEp+37=3t&o zadmMClfcf}M+{vLN=o`ls$0j^e08i04YN{7bgi~!&$-uuEXe2H##2{E1}zHM2B5ue z3zrPTE$1o@PFA71|9H0#cC$!OJ{l(fyJ8*gf`2@})hB3eJwQXFPF8}kg2i~3S5fFY zf5C4IDI{=eY0puxa34=i?SeDx%gaw}-aXs%55Yu^b2FJmnTzeu)2xCA-OF;mfV)Py z%;3nBqS9h|-G_)bQqs~uM(x3k6z~MOUfCR=HpA3l6?a$ZEp6X0Vl0o13W263uVh!o zWS(_Z1-9vZU0&dE>y49`e+Vz9kix;(gXAv~P zgyiJBd@yy}89;v>81&pu))K}mB|}4c=eM%24({CJ-~7+=F5rJm4Jfs|h?pr~G<3>b ziST3q7zQuocE_`ALZWNSG)rWK;UeO{LTl~Kt1PC?I?C13R8GO|qwN+cwPLemzh>JD zy}a;VB3w80BH?A^cbR@lzQSJ9NxAKC6e@UtoTqf=@SNIx@@ISX75Dpemh&D!%MC7| z;j`G|=IA?fe6A!@OD@hMx>hQPp!;~& z6TH6?Bnk3gQDD{jX{ODN$~n-^fb}s5ZY}j&VzQ@K;IathJ5@P&gIerA1_X3CvCd8* zUw>YlG-hkNuj>lmEzcEvc`YYs%&UQ04kHVfm(zN%Q;?FL-ak95-mRSRtkas7=m=KH z&U`qE{A&FWwoZ1gjtJkxS#zVECYl-!o@T(0`?)Kz7#kOXhYQpg=}gLvWc@B{Ur#>P z>w@y#%@pV|g&+%JjWwhk$dy<2=mQ_RSd2Z1wr)5wkO16eCoV^6Fjymif^%{ls<&C1 zNjLx-2xxD>8UG=Jn`e!T0+kuZHoe&W48IdRvPB%58tW5JVX$D{Cq!;HbY>WG26=gHsiwBBZ3G zGSMC-0>*73qaZO+b8AL+>aj(nO69XoztHHR_jAL_+O9i2%9Pt}4~vQoIkUAve+{yS z4mLh_fiq%j5L2EIY?M4Z0b(*wEW93miJ*x2gO|8Sb@$uI=e*UAAvyBU^m-TFZx? zAueHbKirlUCQADRRk8`#B2gd&$F5>yyS2&RB*LW@K&}KX+ja}NAECPIjL03N;%`Eg z{3!T?iDvJEhAJSEfmm&^Zq>He%<7wZRZwvPkmrtn3HC;8HJ@!zslYH-rCJf7>={=4 zYV!}^>b1WNfm3_~gGPArmy$wQ>M5Lf9PJyi5EQc&Ig_9j|2B5^u^l^Eh?1(@{@?Yx z3#u%D-c!`V*WZQ^8d>34^94H_phE4QI7mJ*O_D&#y#DyFZ#pYICElr{K(vn2UGz*wyV}p(fWFfHh#;Hb6Bj|4+cXHgKaiTf1MJZ2`dynX%_fiiV|DL9?q?qT_#hfX zC;$@ek2z{1*7{ZptsftO_jCte_7|vZvrdwA5#R&Wn4e*Bevm&a?1x8QaZN3cv?(2& zikHzYe>~_u{*q=WIN!g?Baf4bcNQV(RUA%H6%j=!Athx{(wd$91WQA`!h{o5CI~m2 z-EOt`1Nv4G>EoyeUz{{+E7hwkSjooXCqUl>Cen~U1R@QIpT|YoeEb`nTwFOOzsvtm zCN{{(iGzb##Z{HH4qMsmo!_o+0c52}_5FVz=Crc|13y5&qOeWk!-kTmD!!8yC3uu< z2`Ht>S&Zj8l8iIlot#I)M;VZdK1(#?(&o*l!VYPE2q<_M`WV#WYwN~io3%z-`5}$d zituO9Z(BvK%0o_%HEQi2(dNI4u_Qo3b$>hy&X`~Qj~+j28*tYB{Q0P%CUf|&WB*bo z3R4VxJHyF#-VIkNnKK7s&(+-cC$IRsqTC~P{>I8KE^IGNM1l+R6uUyD(sI0?Y(Oz?*Qu8j}GA>$<1# zAfLKw{g-ZJ2qfkxMDe|TN$X-FH{dsB@h+k@6x&A!2)O^~oMBhW-V3e9bSyZ@tU~t?snzt|bv%%Mch88VyFrFH-`SQLxVyA~q{h46Ad~bWG8$JO67^iN~d5o9N1eekD z^afZBB@w^4%pi=BqGUmizko5e*)Me((Srvdk~^uw;rdN5=P`;}o&}0H=rw$Aom`*j!ILdrte{EEMvXWUGpSOZ)s23y7G8ksDxhqU!MBY%fC*2Hr@X? z^)D5?e~X5Ik|nxNdX7er*YU<~^%R5-L)w#&uYs7HJVC1N%MC36!_`?~bs(+bV5Y+U z&-oMqtH~+`B|2esC2{Bb;`3doi~y}Gz`#16;yoId?0KJ;% z4Xx_ZB7+`lEFX-%l(FqnGcY-D)WKILBM{)i{%D4IRY7q7|8>BBZu;L2c-A}BMgaiC zONx}|PL;M`YwPW;@Nj^Ry4$H&DK2dAeCQeN&&*M3!u2NdWf zpIb3~$>&Dx|IBvz(X1s_488=AGe@g=X5z_QRq8-3djzDk0LNLeXo;IuJ?orn_ZI}5 zxnNVqG{8h~VnPB6yhKE(j5%WH()*G$dtHNNNpKC6YW{d_kA6t!9j&4Aov+QW%JGk62G5xKl1xQE5mpk#Ez zI6C&R<>r5OwpD8+q78R;lttetLZUK==9CIf#k?j!le-g&bT2?(T8df?Z4#V~?9e%x z06gGwFaHsdvJvz2LqvO5SNcrHTJ+G36h9^vrLV%jK=E(ov+LY^)QY#Jfy14%m&?6d ztiHDwW$S&M6kt3L#d@@)M*%9}d2)eFhHCfV0BeWN@KQ5#aIq0Bi53ocAr@y_ZP;8Y zl44j(tvzCk+hhZ8HGnRvugJyAVy}t1qiKm~XpOzO$Rt3J!Yn2KO!7wg3pu}D&B;AG zQ64b=0Wh>s;wnFxk8*CQ|7pqH6mRb{0B*BoyXc~|=`iu0cl~JVUjk2Y&;_%_;yUF$ zmCu6clEfDH$bYeb zzcG-*9r)uw6@$+cu4S7~FHqt3Ob1dio)UrcC7bsTA3l0+n(<2Ox*hnG(a`Up)~yu> zc!mb!Sj~kT7XObGlRo<60rQyJ+K1C`{QeKslHu+DsForG9c&3W-@cZZs6wTuRH4g7 zxOFHQ%NS7^wn9vBB|Jz+I#7mGhQ-B6?$_3=j+q@?-I#`SKtb+1lx+&+_5J?${7YKEd{Y^#QU~HE~kg@LCY^Zv(Ej!Mlxb@TR4xZp!aNwmzQ1oLIw_c|~?j z+j$wS+u@Rw3hMIxmGCJMF8LFZ&(+Qqp1jyP=R|O;(d^Q&`$eYUniKkOdiV5x4m)a} z>CdhgXT8UJTlFt-2&V0ULC_5AvHihty~|h7_m|ZfEhGb*TTvo(@eRWKN<(?dOO|O; zu}m4#=@YR`<9Xx1y03UOCpraHMn4-q6r1!6P#@!2 z(&eWRi=bzGyu2h7hG=B=>nh#k84rBa_H2PxCs9(fay<}7K1NZtfXtryK7%(vA^o39 z;DH2R&iRS$96uU3%Lsuq0q~j_!+vcvy>IrhKkUAq`T^8cWqW$9Z{}iD#!`J%B3ZwH z)3;C#OD)M z(p72eYy+1uP;knk0Z@C6Dbfk*G3O)5rkO+YTX?`WTy=;Q{Ayn#aN z5)AOTO0xU0y=(34sxfNyk^`PRKxf04Vz}&ke|B)t}#H_N)+fWKi!@^~zCVHMrPf0n_LT z`1+@+K(3+~Xkx%-3GJk_g#4~xUHAJ#yuEqiNt2DHYsOLeT&ZIhyRw*zib;OnFF*8;$d8gRCj)s(*-9A<_uf4Jeo*ad#WFnPm@QT>) zOlUvOe^%%L%&_6|Qp0~w6ef0cs+u`sNHhf53a)h^B%1NB?bkl^SRSA6>9$h?m?{&> z>#3?ElsL{%1Rb_V1g z;)6#6gAo*a9w}*!2-Dn)xN(Wvt{gXi$yZG}&_Uu2OqnBGMFVQ|6+}tK=`Y1D4{LrH za@ZHhJVh}ltA{S?^l30h_N|(US2sm)DYInDrE}hRyKYKdw zX^huogi|!)PVcZ;tcx97fWFw+MhW}S+{&Y_*c{st4I)~WM@5wy zT*56~p0k>RQ5DUW-k3M_5eFPwRr}9LLJ4{IfOrfQ6;+OoGUx+@j{1JyHv`AKITB@s zydF4cDL3)G6m~qQoI%K%Z)AIL9EXUjBslJLm<=NI9~Tu&q2{-zaf00e8*shQ zfjXP2)~i=PjyY`F=r!1XoNPHjC9Sv>8yh;GG4nHjvv<)PPA08cU9OT&A|?4hk9W;t zGEFBSNH?`!Bu&WyGMa@YcG?u?FjfBqEVetfMNf4fWW69@wVFGFc(=&SN$HLjZj2Pf z)5R)nf`#ec3nLa@qVc!&f8+rMysz31ForRHAd86jfZN@%;Yewjb^VuwAaNy8=C|pi ztQ~u>{mNaE|6(SUBrb)Mu_yi{Dgwhg(Hg~QtoR(*f*udfbAzS@=*u^{9I!Lcuc8AB zbd1?U(BYfJ^a0zU90VV`6j1^Wj)Rc&LxIFeH3oH__u-weClapIgLR zg40)@KwALz5N!ewTaGEr*1Z$CPT2S)MW$(<2E1LAR2 zCUeW<_u-*>xIKlG-bc9~7-3d9x-K*97PLItKUhZC^~2X+pD(wF{BkSELPE8PgRzcD z7;$W&)mD^J9Dro@@3aOSxNoJyCVtvl-59g6RS%wEr}}(f@v1s%-YSq}W?xjK6ed63192-_qMaV?Hhb91Dwqvd# zxZ$@$@VjUpCpoW*?Q8vGIFK4ak$mc(ZH!3sA`tRisZUFJZ;6td+qX!`geA8p=U&8b zLMvkIkFTyKK=J#E{X1@o8r&IUu{>Z`VZs3&XKIy$ zO0!5@OV4cC+M~2TIc_u6m_jcVq3xr-FIl*_xJqJDa^vPsU_I9(Qi?@&;>Kb{8js_s z^dLQh7i90~HIsV!v;~q#ruRyasBwWJeup=Noe^jm`wuLy`mnExjH69I0|x}Nj%~SW z896Sl<=zTyYoz0L)=<;ZK-dzA=2C6h1g+Dt#XoCrXO?{9bqwgr?<=vQ`pZ3)AQHDLKauS52L zZ(owmU{csZqsPOK?&Z8Al{qRC<5*Z{j2?vnqJQ;)EpQ}gH92Fs@@eJqrCUd_s{}Bw zZcRHyk079ISz!ys{NW4VFS0kBe(7Z*(WcZp>Z&kwK<$#0+w<=xZG1+^adz^xeW^^V z!sOT!z9cm+;hJ%pwZ3#XTJzP=#gdT!lH4hucHB1&F;zp-WVNkM;wTd=azG0{Z+dyN z;;I=uFv@NYx%iq#!gnVa0#3&S=UkJEbH&|)Qq$1~vRRxm9X}#-*GW8RZ!Uj-d0EvC zS$9E{CEmRsu>SOP*C{y2qHA8t;Q5S6_mJ^XjHtod4~6V!$JJSVrLGetKpzw8ZXztD zn9s|C$yi#mr~L>$gu@Q5B{ zr#6%RXnt1@nyxwxxYWCbanwMc)|bTdyc;R_)!F~ydm|!tqQS6Z0PufVzwy4Q%B=nBJ(+!{Y(4C0B}_Clabe)G z8hd7Fw%p={$6JRT$em%#Wv23mo8%E5!}a|0?r}LZNKd2P$qoAOj*eQUK-~Ls0gO7r zk;xl<=yd@M-ip9h3p|F1pnF9O?(-uAawQV?$E~j-BzMBDTokWr&3uJOW49shFBP30 z8-`z<$+jdjzo@`dONrGXAEI8E3CoO)&qLUL|JjJ&sv~tnLwCX@kbJno!uCNHGnw?5 zMUM!VLk~_m@At)d&6)L!d;!vp-9Uy#btJc&rBr<{l4oXsB2V^5D1TB@0*7v^E7NPX zUK8g%KMacMo58pLf2@^)Pk#9@KX8EdknOfVw0dCn+^mwF?HF_p*AW-Nr9M*Rv4tRL z*mH2d`Tygu%fEIxW64f5_nQRS?^iqL+kLpCQOhyOg2JT}wtRa%R^Flj8$ zuc;sYQVH3Ypmhgy7zkshp4-~$X`B;10$NR1`yym?#E1xtQapvP^4oi4k!~hJH-$*e zt41Yb!OW+jQ?Twl{XsbsfJVcxmWqia?)8gjG_rf!5d9x|25RIp93W{2YTn$cTLvK~ z^l%FAa~s;dqQ+XrT^F>qJ$kj21^+`huzt#M%)x`f3AR&;3tdeQ%uiLTI{*#=%ZZ52 zq-S`{loluZt+^RSUE*S>y+v!@ducd872|Gb@nl(Lajq48TnME+qdXUHxZ7f8AyR#& z^N-VI{Ub5pS9z_>ukFkoyQ|0bU!*Gc5O?*QZPtv~F}Rb(^T80-G%^wbLO;(A zkn93cR%BIbKZvOqsEkWwziXvXXZ(`ZZ%7m zQ)A(q7a)13cv9CYyLC_?ib;MYznVAZKvfH%3_ss!_{Q2yI@5Qvh%|_ucT>0h%2LiQ z$rd2aBqAhCR|7k#OI_iSQbx~DrB>m>Y^8Yk1%0Py`21GP3mM&yM$u?OiCAoc4r3(a zm|KjxDZ50q)T@b9LPhLYRe7RzB`OXtg@c@xFH-87LEj#Tku*QOZa$dZT8N!<%yoB* zd}riol)kZFlglS!J3L^S%q=36|BF$%6sr5}!S{D9VK35K+8v#$ZNnmY;5-qpBnnYP zQfxpvxCobF4rKK}I%s=f4PA%=vTbl#t!qixd7b>P#RnF5#Q(d+$E!gSpP@UzKnt8h zKn$)-mY4Ri2Siw5Y+apX$s-BMHURllpDmQ!wN%tts8b6>3UTlw zyS(bcH0caNu8%r99H%*;lTH5)`qeqOVl2LbCO`gBI5+EDD@g~02}lxR=Bp!x#|CZ&_8f(!$F8XID)ReceCpNq3jn%ZZt!nm(xkpBdE-O@@-G^`wc4a)W5 zhA_@{`Q*n&pg7shsFcxond6GU9#4Qbk-%W9P7f3ufAwNgFzYUU=LHX zE0o>R`U%2SUcI7oJO|d!jM)>0#%`TjsDP-rU(qWy0u{!y@GpRD+-pHU@Dbe(Y;!P; zS)@nXVd3`{;cS=hOIZHSZTC}|c& zP;|>|{^ETIjZ;dSNPuVq{@{`EGK|4hBD#3={p`HL0A?5$3UGg5Tl;MG!j_5kRkLRl z-Ii2wcFpIrfwVP~Ve5r5L%)oc_%``0>xl}N_nV00&^y@RDNF~cE63{*9$LPEp&)Abg92$>>7FU|xwUOLNzO!W+5!eQPb}b5;<*HfJMO9z~1>5c9kTZj)k1Il9 zG@^Si9*cF6deuD_salPj`|Dy^XlZFZaV#C}j(O6_%fR(9byrrKQEKox`8F}&;J681 zykO}_%+st@l97Q+WGR`j-iVN7>#HMvKgY=K;qCx%88rY^&im{17QyT?2KNJ%6A;99 zE-7*4O}IVl6`Qjr44?Ndj^#5;_#L30~O(k*FL_mkrAL!F|zkAVm;eQPI`U3c7 zFx~m9i;D_?7#+s&V|QLM{Nm4MdoPYh+kmFFWIQy74iJB`1sV$o(Xjj!>kE&EI)6EO zl%M_s)i!Da<|vE{4XeY#tDd+|a*KHGJ(L%>O?8%f55^ya1Y@neczX7^A9WH0H5x6n zrjbC)rW!p0T&q0+s{!j=V1?=?hThISmXu03414$EyPwXHGSJeA;&HQ)C!cl`7v8C0XiBJO$#U!%M63jcA7|=-oICl z_peJG>xWZ98wup!geX*DEy>Hx9B1QWP@FlmLQa}5nO98Fr>^6So!h{jv3aFpS zu+r^AdAKN!D)R0MLa(mo`upA1ZTkAB1~^#~a%L~A0x@}@?L{^?)eWRoyODU8jrDUN zYUAc!Ej4Bo7rzbSIOsJyb)_h&6)^OMM?hN1RJBV16R;Km<%{z{P^#@!v7mbQ#i@_D zY<1nsD-Urj6jTP;9E=R0qUAv};)N6c0&tYuMx3)=_}0WEpFXnzxG;p080=-3)n}-- zF&v#oBwi32Jy|xw8HIKJ!ST±NPFFKY6U;<(r=si_*fw>_Aeg*~t?LKiJNd&rq4 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 Up?d~?3F|4p*yAs}fBpS`06()kpa1{> diff --git a/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.svg b/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.svg index cbafa876c..681746e02 100644 --- a/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.svg +++ b/docs/Developer/ClassDiagrams/diagrams/VerticesClassDiagram.svg @@ -1,311 +1 @@ -AllIFNeuronsIinjectRange_ : BGFLOATInoiseRange_ : BGFLOATVinitRange_ : BGFLOATVresetRange_ : BGFLOATVrestingRange_ : BGFLOATVthreshRange_ : BGFLOATstarterVresetRange_ : BGFLOATstarterVthreshRange_ : BGFLOATC1_ : BGFLOAT*C2_ : BGFLOAT*Cm_ : BGFLOAT*I0_ : BGFLOAT*Iinject_ : BGFLOAT*Inoise_ : BGFLOAT*Isyn_ : BGFLOAT*Rm_ : BGFLOAT*Tau_ : BGFLOAT*Trefract_ : BGFLOAT*Vinit_ : BGFLOAT*Vm_ : BGFLOAT*Vreset_ : BGFLOAT*Vrest_ : BGFLOAT*Vthresh_ : BGFLOAT*numStepsInRefractoryPeriod_ : int*AllIFNeurons()~AllIFNeurons()toString(const int index) : string {query}advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : voidallocDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : voidallocNeuronDeviceStruct(void** allVerticesDevice) : voidclearNeuronSpikeCounts(void* allVerticesDevice) : voidcopyDeviceToHost(AllIFNeuronsDeviceProperties& allVerticesDevice) : voidcopyHostToDevice(AllIFNeuronsDeviceProperties& allVerticesDevice) : voidcopyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : voidcopyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : voidcopyNeuronDeviceToHost(void* allVerticesDevice) : voidcopyNeuronHostToDevice(void* allVerticesDevice) : voidcreateAllVertices(Layout* layout) : voidcreateNeuron(int neuronIndex, Layout* layout) : voiddeleteDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : voiddeleteNeuronDeviceStruct(void* allVerticesDevice) : voiddeserialize(istream& input) : voidinitNeuronConstsFromParamValues(int neuronIndex, const BGFLOAT deltaT) : voidloadParameters() : voidprintParameters() : void {query}readNeuron(istream& input, int i) : voidserialize(ostream& output) : void {query}setNeuronDefaults(const int index) : voidsetupVertices() : voidwriteNeuron(ostream& output, int i) : void {query}AllIZHNeuronsexcAconst_ : BGFLOATexcBconst_ : BGFLOATexcCconst_ : BGFLOATexcDconst_ : BGFLOATinhAconst_ : BGFLOATinhBconst_ : BGFLOATinhCconst_ : BGFLOATinhDconst_ : BGFLOATAconst_ : BGFLOAT*Bconst_ : BGFLOAT*C3_ : BGFLOAT*Cconst_ : BGFLOAT*Dconst_ : BGFLOAT*u_ : BGFLOAT*DEFAULT_a : static constexpr BGFLOATDEFAULT_b : static constexpr BGFLOATDEFAULT_c : static constexpr BGFLOATDEFAULT_d : static constexpr BGFLOATAllIZHNeurons()~AllIZHNeurons()Create() : AllVertices*toString(const int index) : string {query}advanceNeuron(const int index) : voidadvanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : voidallocDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidallocNeuronDeviceStruct(void** allVerticesDevice) : voidclearNeuronSpikeCounts(void* allVerticesDevice) : voidcopyDeviceToHost(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidcopyHostToDevice(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidcopyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : voidcopyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : voidcopyNeuronDeviceToHost(void* allVerticesDevice) : voidcopyNeuronHostToDevice(void* allVerticesDevice) : voidcreateAllVertices(Layout* layout) : voidcreateNeuron(int neuronIndex, Layout* layout) : voiddeleteDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voiddeleteNeuronDeviceStruct(void* allVerticesDevice) : voiddeserialize(istream& input) : voidfire(const int index) : voidinitNeuronConstsFromParamValues(int neuronIndex, const BGFLOAT deltaT) : voidprintParameters() : void {query}readNeuron(istream& input, int index) : voidserialize(ostream& output) : void {query}setNeuronDefaults(const int index) : voidsetupVertices() : voidwriteNeuron(ostream& output, int index) : void {query}AllLIFNeuronsAllLIFNeurons()~AllLIFNeurons()Create() : AllVertices*advanceNeuron(const int index) : voidadvanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : voidfire(const int index) : voidprintParameters() : void {query}AllSpikingNeuronsfAllowBackPropagation_ : boolvertexEvents_ : vector<EventBuffer>hasFired_ : vector<bool>AllSpikingNeurons()~AllSpikingNeurons()getSpikeHistory(int index, int offIndex) : uint64_tadvanceNeuron(const int index) : voidadvanceVertices(AllEdges& synapses, const EdgeIndexMap* edgeIndexMap) : voidclearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : voidclearNeuronSpikeCounts(void* allVerticesDevice) : voidclearSpikeCounts() : voidcopyDeviceSpikeCountsToHost(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : voidcopyDeviceSpikeHistoryToHost(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : voidcopyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : voidcopyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : voidfire(const int index) : voidsetAdvanceVerticesDeviceParams(AllEdges& synapses) : voidsetupVertices() : voidAllVerticessummationPoints_ : BGFLOAT*size_ : intfileLogger_ : log4cplus::LoggervertexLogger_ : log4cplus::LoggerAllVertices()~AllVertices()toString(const int i) : string {query}advanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : voidadvanceVertices(AllEdges& edges, const EdgeIndexMap* edgeIndexMap) : voidallocNeuronDeviceStruct(void** allVerticesDevice) : voidcopyNeuronDeviceToHost(void* allVerticesDevice) : voidcopyNeuronHostToDevice(void* allVerticesDevice) : voidcreateAllVertices(Layout* layout) : voiddeleteNeuronDeviceStruct(void* allVerticesDevice) : voidloadParameters() : voidprintParameters() : void {query}setAdvanceVerticesDeviceParams(AllEdges& edges) : voidsetupVertices() : voidEventBufferepochStart_ : intnumElementsInEpoch_ : intbufferEnd_ : intbufferFront_ : intdataSeries_ : vector<uint64_t>EventBuffer(int maxEvents)getNumElementsInEpoch() : int {query}getPastEvent(int offset) : uint64_t {query}operator[](int i) : uint64_t {query}clear() : voidinsertEvent(uint64_t timeStep) : voidresize(int maxEvents) : voidstartNewEpoch() : voidVerticesFactorycreateFunctions : VerticesFunctionMapverticesInstance : shared_ptr<AllVertices>VerticesFactory()~VerticesFactory()invokeCreateFunction(const string& className) : AllVertices*getInstance() : VerticesFactory*createVertices(const string& className) : shared_ptr<AllVertices>registerClass(const string& className, CreateFunction function) : voidAllIFNeuronsDevicePropertiesC1_ : BGFLOAT*C2_ : BGFLOAT*Cm_ : BGFLOAT*I0_ : BGFLOAT*Iinject_ : BGFLOAT*Inoise_ : BGFLOAT*Isyn_ : BGFLOAT*Rm_ : BGFLOAT*Tau_ : BGFLOAT*Trefract_ : BGFLOAT*Vinit_ : BGFLOAT*Vm_ : BGFLOAT*Vreset_ : BGFLOAT*Vrest_ : BGFLOAT*Vthresh_ : BGFLOAT*numStepsInRefractoryPeriod_ : int*AllIZHNeuronsDevicePropertiesAconst_ : BGFLOAT*Bconst_ : BGFLOAT*C3_ : BGFLOAT*Cconst_ : BGFLOAT*Dconst_ : BGFLOAT*u_ : BGFLOAT*AllSpikingNeuronsDevicePropertieshasFired_ : bool*spikeCountOffset_ : int*spikeCount_ : int*spikeHistory_ : uint64_t**AllVerticesDevicePropertiessummationPoints_ : BGFLOAT* \ No newline at end of file +AllIFNeuronsTrefract_ : vector<BGFLOAT>Vthresh_ : vector<BGFLOAT>Vrest_ : vector<BGFLOAT>Vreset_ : vector<BGFLOAT>Vinit_ : vector<BGFLOAT>Cm_ : vector<BGFLOAT>Rm_ : vector<BGFLOAT>Inoise_ : vector<BGFLOAT>Iinject_ : vector<BGFLOAT>Isyn_ : vector<BGFLOAT>numStepsInRefractoryPeriod_ : vector<int>C1_ : vector<BGFLOAT>C2_ : vector<BGFLOAT>I0_ : vector<BGFLOAT>Vm_ : vector<BGFLOAT>Tau_ : vector<BGFLOAT>IinjectRange_ : BGFLOAT[2]InoiseRange_ : BGFLOAT[2]VthreshRange_ : BGFLOAT[2]VrestingRange_ : BGFLOAT[2]VresetRange_ : BGFLOAT[2]VinitRange_ : BGFLOAT[2]starterVthreshRange_ : BGFLOAT[2]starterVresetRange_ : BGFLOAT[2]AllIFNeurons()~AllIFNeurons()setupVertices() : void «override»loadParameters() : voidprintParameters() : void {query}createAllVertices(Layout& layout) : voidtoString(int index) : string {query}deserialize(istream& input) : voidserialize(ostream& output) : void {query}serialize(Archive& archive) : voidadvanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : voidallocVerticesDeviceStruct(void** allVerticesDevice) : voiddeleteVerticesDeviceStruct(void* allVerticesDevice) : voidclearVertexHistory(void* allVerticesDevice) : void «override»copyFromDevice(void* deviceAddress) : void «override»copyToDevice(void* deviceAddress) : void «override»allocDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : voiddeleteDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : voidcopyDeviceToHost(AllIFNeuronsDeviceProperties& allVerticesDevice) : voidcreateNeuron(int neuronIndex, Layout& layout) : voidsetNeuronDefaults(int index) : voidinitNeuronConstsFromParamValues(int neuronIndex, BGFLOAT deltaT) : voidreadNeuron(istream& input, int i) : voidwriteNeuron(ostream& output, int i) : void {query}AllIZHNeuronsAconst_ : vector<BGFLOAT>Bconst_ : vector<BGFLOAT>Cconst_ : vector<BGFLOAT>Dconst_ : vector<BGFLOAT>u_ : vector<BGFLOAT>C3_ : vector<BGFLOAT>DEFAULT_a : static constexpr BGFLOATDEFAULT_b : static constexpr BGFLOATDEFAULT_c : static constexpr BGFLOATDEFAULT_d : static constexpr BGFLOATexcAconst_ : BGFLOAT[2]inhAconst_ : BGFLOAT[2]excBconst_ : BGFLOAT[2]inhBconst_ : BGFLOAT[2]excCconst_ : BGFLOAT[2]inhCconst_ : BGFLOAT[2]excDconst_ : BGFLOAT[2]inhDconst_ : BGFLOAT[2]AllIZHNeurons()~AllIZHNeurons()Create() : AllVertices*setupVertices() : void «override»printParameters() : void {query} «override»createAllVertices(Layout& layout) : void «override»toString(int index) : string {query} «override»deserialize(istream& input) : void «override»serialize(ostream& output) : void {query} «override»serialize(Archive& archive) : voidadvanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void «override»allocVerticesDeviceStruct(void** allVerticesDevice) : void «override»deleteVerticesDeviceStruct(void* allVerticesDevice) : void «override»clearVertexHistory(void* allVerticesDevice) : void «override»copyFromDevice(void* deviceAddress) : void «override»copyToDevice(void* deviceAddress) : void «override»allocDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voiddeleteDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidcopyHostToDevice(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidcopyDeviceToHost(AllIZHNeuronsDeviceProperties& allVerticesDevice) : voidadvanceNeuron(int index) : voidfire(int index) : voidcreateNeuron(int neuronIndex, Layout& layout) : voidsetNeuronDefaults(int index) : voidinitNeuronConstsFromParamValues(int neuronIndex, BGFLOAT deltaT) : void «override»readNeuron(istream& input, int index) : voidwriteNeuron(ostream& output, int index) : void {query}AllLIFNeuronsAllLIFNeurons()~AllLIFNeurons()Create() : AllVertices*printParameters() : void {query} «override»serialize(Archive& archive) : voidadvanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void «override»advanceNeuron(int index) : voidfire(int index) : voidAllSpikingNeuronshasFired_ : vector<bool>vertexEvents_ : vector<EventBuffer>summationPoints_ : vector<BGFLOAT>fAllowBackPropagation_ : boolAllSpikingNeurons()~AllSpikingNeurons()setupVertices() : void «override»clearSpikeCounts() : voidregisterHistoryVariables() : void «override»serialize(Archive& archive) : voidsetAdvanceVerticesDeviceParams(AllEdges& synapses) : voidintegrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : voidcopyFromDevice(void* deviceAddress) : void «override»copyToDevice(void* deviceAddress) : void «override»clearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : voidadvanceVertices(AllEdges& synapses, const EdgeIndexMap& edgeIndexMap) : voidintegrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : voidgetSpikeHistory(int index, int offIndex) : uint64_tadvanceNeuron(int index) : voidfire(int index) : voidAllVerticessize_ : intfileLogger_ : log4cplus::LoggervertexLogger_ : log4cplus::LoggerAllVertices()~AllVertices()setupVertices() : voidprintParameters() : void {query}loadEpochInputs(uint64_t currentStep, uint64_t endStep) : voidloadParameters() : voidcreateAllVertices(Layout& layout) : voidtoString(int i) : string {query}registerHistoryVariables() : voidserialize(Archive& archive) : voidallocVerticesDeviceStruct(void** allVerticesDevice) : voiddeleteVerticesDeviceStruct(void* allVerticesDevice) : voidclearVertexHistory(void* allVerticesDevice) : voidcopyToDevice(void* allVerticesDevice) : voidcopyFromDevice(void* allVerticesDevice) : voidadvanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : voidsetAdvanceVerticesDeviceParams(AllEdges& edges) : voidintegrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : voidadvanceVertices(AllEdges& edges, const EdgeIndexMap* edgeIndexMap) : voidintegrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : voidEventBufferepochStart_ : intnumElementsInEpoch_ : intbufferEnd_ : intbufferFront_ : intdataSeries_ : vector<uint64_t>EventBuffer(int maxEvents)getNumElementsInEpoch() : int {query}getPastEvent(int offset) : uint64_t {query}operator[](int i) : uint64_t {query}clear() : voidinsertEvent(uint64_t timeStep) : voidresize(int maxEvents) : voidstartNewEpoch() : voidVerticesFactorycreateFunctions : VerticesFunctionMapverticesInstance : shared_ptr<AllVertices>VerticesFactory()~VerticesFactory()invokeCreateFunction(const string& className) : AllVertices*getInstance() : VerticesFactory*createVertices(const string& className) : shared_ptr<AllVertices>registerClass(const string& className, CreateFunction function) : voidAll911VerticesbeginTimeHistory_ : vector<vector<uint64_t>>answerTimeHistory_ : vector<vector<uint64_t>>endTimeHistory_ : vector<vector<uint64_t>>wasAbandonedHistory_ : vector<vector<unsigned char>>queueLengthHistory_ : vector<vector<int>>utilizationHistory_ : vector<vector<double>>vertexQueues_ : vector<CircularBuffer<Call>>droppedCalls_ : vector<int>receivedCalls_ : vector<int>busyServers_ : vector<int>numServers_ : vector<int>numTrunks_ : vector<int>redialP_ : BGFLOATavgDrivingSpeed_ : BGFLOATservingCall_ : vector<vector<Call>>answerTime_ : vector<vector<uint64_t>>serverCountdown_ : vector<vector<int>>inputManager_ : InputManager<Call>All911Vertices()~All911Vertices()Create() : AllVertices*setupVertices() : void «override»createAllVertices(Layout& layout) : voidloadParameters() : voidprintParameters() : void {query} «override»toString(int index) : string {query}loadEpochInputs(uint64_t currentStep, uint64_t endStep) : void «override»registerHistoryVariables() : void «override»getQueue(int vIdx) : CircularBuffer<Call>&droppedCalls(int vIdx) : int&receivedCalls(int vIdx) : int&busyServers(int vIdx) : int {query}advanceCALR(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : voidadvancePSAP(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : voidadvanceRESP(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : voidallocVerticesDeviceStruct(void** allVerticesDevice) : voiddeleteVerticesDeviceStruct(void* allVerticesDevice) : voidcopyToDevice(void* allVerticesDevice) : voidcopyFromDevice(void* allVerticesDevice) : voidadvanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : voidsetAdvanceVerticesDeviceParams(AllEdges& edges) : voidclearVertexHistory(void* allVerticesDevice) : voidintegrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : voidadvanceVertices(AllEdges& edges, const EdgeIndexMap& edgeIndexMap) : void «override»integrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : void «override»AllIFNeuronsDevicePropertiesTrefract_ : BGFLOAT*Vthresh_ : BGFLOAT*Vrest_ : BGFLOAT*Vreset_ : BGFLOAT*Vinit_ : BGFLOAT*Cm_ : BGFLOAT*Rm_ : BGFLOAT*Inoise_ : BGFLOAT*Iinject_ : BGFLOAT*Isyn_ : BGFLOAT*numStepsInRefractoryPeriod_ : int*C1_ : BGFLOAT*C2_ : BGFLOAT*I0_ : BGFLOAT*Vm_ : BGFLOAT*Tau_ : BGFLOAT*AllIZHNeuronsDevicePropertiesAconst_ : BGFLOAT*Bconst_ : BGFLOAT*Cconst_ : BGFLOAT*Dconst_ : BGFLOAT*u_ : BGFLOAT*C3_ : BGFLOAT*AllSpikingNeuronsDevicePropertieshasFired_ : bool*spikeHistory_ : uint64_t**bufferFront_ : int*bufferEnd_ : int*epochStart_ : int*numElementsInEpoch_ : int*summationPoints_ : BGFLOAT*AllVerticesDeviceProperties \ No newline at end of file diff --git a/docs/Developer/ClassDiagrams/edges.puml b/docs/Developer/ClassDiagrams/edges.puml index 45cedbc16..2b0fc1ce4 100644 --- a/docs/Developer/ClassDiagrams/edges.puml +++ b/docs/Developer/ClassDiagrams/edges.puml @@ -78,61 +78,87 @@ class AllDynamicSTDPSynapses { abstract class AllEdges { +AllEdges() - +AllEdges(const int numVertices, const int maxEdges) - +~AllEdges() - +W_ : BGFLOAT* - +maxEdgesPerVertex_ : BGSIZE - +totalEdgeCount_ : BGSIZE - +edgeCounts_ : BGSIZE* - +inUse_ : bool* - #edgeOrdinalToType(const int typeOrdinal) : edgeType - +type_ : edgeType* - +countVertices_ : int - +destVertexIndex_ : int* - +sourceVertexIndex_ : int* - #edgeLogger_ : log4cplus::Logger + +AllEdges(int numVertices, int maxEdges) + +{abstract} ~AllEdges() + +{abstract} setupEdges() : void + +{abstract} loadParameters() : void + +{abstract} printParameters() : void {query} + +{abstract} addEdge(edgeType type, int srcVertex, int destVertex, BGFLOAT deltaT) : BGSIZE + +{abstract} createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void + +{abstract} createEdgeIndexMap(EdgeIndexMap& edgeIndexMap) : void + +serialize(Archive& archive) : void + #{abstract} setupEdges(int numVertices, int maxEdges) : void + #{abstract} readEdge(istream& input, BGSIZE iEdg) : void + #{abstract} writeEdge(ostream& output, BGSIZE iEdg) : void {query} + #edgeOrdinalToType(int typeOrdinal) : edgeType #fileLogger_ : log4cplus::Logger - +addEdge(edgeType type, const int srcVertex, const int destVertex, const BGFLOAT deltaT) : BGSIZE - +{abstract} advanceEdge(const BGSIZE iEdg, AllVertices* vertices) : void - +{abstract} advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void - +advanceEdges(AllVertices* vertices, EdgeIndexMap* edgeIndexMap) : void + #edgeLogger_ : log4cplus::Logger +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice) : void +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void - +{abstract} copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void - +{abstract} copyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : void - +{abstract} copyEdgeDeviceToHost(void* allEdgesDevice) : void + +{abstract} deleteEdgeDeviceStruct(void* allEdgesDevice) : void +{abstract} copyEdgeHostToDevice(void* allEdgesDevice) : void +{abstract} copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void - +{abstract} createEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : void - +createEdgeIndexMap(shared_ptr edgeIndexMap) : void - +{abstract} deleteEdgeDeviceStruct(void* allEdgesDevice) : void - +eraseEdge(const int neuronIndex, const BGSIZE iEdg) : void - +load(Archive& archive) : void - +loadParameters() : void - +{abstract} printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} - +printParameters() : void {query} - #readEdge(istream& input, const BGSIZE iEdg) : void - +save(Archive& archive) : void {query} + +{abstract} copyEdgeDeviceToHost(void* allEdgesDevice) : void + +{abstract} copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void + +{abstract} advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void +{abstract} setAdvanceEdgesDeviceParams() : void +{abstract} setEdgeClassID() : void - +setupEdges() : void - #setupEdges(const int numVertices, const int maxEdges) : void - #writeEdge(ostream& output, const BGSIZE iEdg) : void {query} + +{abstract} printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} + +{abstract} advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : void + +{abstract} advanceEdge(BGSIZE iEdg, AllVertices& vertices) : void + +{abstract} eraseEdge(int vertexIndex, BGSIZE iEdg) : void + +sourceVertexIndex_ : vector + +destVertexIndex_ : vector + +W_ : vector + +type_ : vector + +inUse_ : vector + +edgeCounts_ : vector + +totalEdgeCount_ : BGSIZE + +maxEdgesPerVertex_ : BGSIZE + +countVertices_ : int +} + + +class All911Edges { + +All911Edges() + +All911Edges(int numVertices, int maxEdges) + +{abstract} ~All911Edges() + +{static} Create() : AllEdges* + +{abstract} setupEdges() : void <> + +{abstract} createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void <> + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice) : void + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void + +{abstract} deleteEdgeDeviceStruct(void* allEdgesDevice) : void + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice) : void + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void + +{abstract} copyEdgeDeviceToHost(void* allEdgesDevice) : void + +{abstract} copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void + +{abstract} advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void + +{abstract} setAdvanceEdgesDeviceParams() : void + +{abstract} setEdgeClassID() : void + +{abstract} printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} + +{abstract} advanceEdges(AllVertices& vertices, EdgeIndexMap& edgeIndexMap) : void + +advance911Edge(BGSIZE iEdg, All911Vertices& vertices) : void + +{abstract} advanceEdge(BGSIZE iEdg, AllVertices& vertices) : void <> + +isAvailable_ : unique_ptr + +isRedial_ : unique_ptr + +call_ : vector } class AllNeuroEdges { +AllNeuroEdges() - +~AllNeuroEdges() - +psr_ : BGFLOAT* + +{abstract} ~AllNeuroEdges() + +{abstract} setupEdges() : void <> + +{abstract} resetEdge(BGSIZE iEdg, BGFLOAT deltaT) : void +edgSign(const edgeType type) : int + +{abstract} printSynapsesProps() : void {query} + +serialize(Archive& archive) : void + #{abstract} setupEdges(int numVertices, int maxEdges) : void <> + #{abstract} readEdge(istream& input, BGSIZE iEdg) : void <> + #{abstract} writeEdge(ostream& output, BGSIZE iEdg) : void {query} <> +{static} SYNAPSE_STRENGTH_ADJUSTMENT : static constexpr BGFLOAT - +printSynapsesProps() : void {query} - #readEdge(istream& input, const BGSIZE iEdg) : void - +resetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : void - +setupEdges() : void - #setupEdges(const int numVertices, const int maxEdges) : void - #writeEdge(ostream& output, const BGSIZE iEdg) : void {query} + +psr_ : vector } @@ -204,56 +230,57 @@ class AllSTDPSynapses { class AllSpikingSynapses { +AllSpikingSynapses() - +AllSpikingSynapses(const int numVertices, const int maxEdges) - +~AllSpikingSynapses() + +AllSpikingSynapses(int numVertices, int maxEdges) + +{abstract} ~AllSpikingSynapses() +{static} Create() : AllEdges* - +delay_EE_ : BGFLOAT - +delay_EI_ : BGFLOAT - +delay_IE_ : BGFLOAT - +delay_II_ : BGFLOAT - +tau_EE_ : BGFLOAT - +tau_EI_ : BGFLOAT - +tau_IE_ : BGFLOAT - +tau_II_ : BGFLOAT - +decay_ : BGFLOAT* - +tau_ : BGFLOAT* - +allowBackPropagation() : bool - #isSpikeQueue(const BGSIZE iEdg) : bool - #updateDecay(const BGSIZE iEdg, const BGFLOAT deltaT) : bool - +delayIndex_ : int* - +delayQueueLength_ : int* - +totalDelay_ : int* - +delayQueue_ : uint32_t* - +advanceEdge(const BGSIZE iEdg, AllVertices* neurons) : void - +advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void - #allocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void - +allocEdgeDeviceStruct(void** allEdgesDevice) : void - +allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void - #changePSR(const BGSIZE iEdg, const BGFLOAT deltaT) : void - +copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void + +{abstract} setupEdges() : void <> + +{abstract} resetEdge(BGSIZE iEdg, BGFLOAT deltaT) : void <> + +{abstract} loadParameters() : void <> + +{abstract} printParameters() : void {query} <> + +{abstract} createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT deltaT, edgeType type) : void <> + +{abstract} allowBackPropagation() : bool + +{abstract} printSynapsesProps() : void {query} + +serialize(Archive& archive) : void + #{abstract} setupEdges(int numVertices, int maxEdges) : void + #{abstract} initSpikeQueue(BGSIZE iEdg) : void + #updateDecay(BGSIZE iEdg, BGFLOAT deltaT) : bool + #{abstract} readEdge(istream& input, BGSIZE iEdg) : void <> + #{abstract} writeEdge(ostream& output, BGSIZE iEdg) : void {query} <> + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice) : void <> + +{abstract} allocEdgeDeviceStruct(void** allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void <> + +{abstract} deleteEdgeDeviceStruct(void* allEdgesDevice) : void <> + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice) : void <> + +{abstract} copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void <> + +{abstract} copyEdgeDeviceToHost(void* allEdgesDevice) : void <> + +{abstract} copyDeviceEdgeCountsToHost(void* allEdgesDevice) : void <> + +{abstract} advanceEdges(void* allEdgesDevice, void* allVerticesDevice, void* edgeIndexMapDevice) : void <> + +{abstract} setAdvanceEdgesDeviceParams() : void <> + +{abstract} setEdgeClassID() : void <> + +{abstract} printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} <> +copyDeviceEdgeSumIdxToHost(void* allEdgesDevice) : void - #copyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : void - +copyEdgeDeviceToHost(void* allEdgesDevice) : void - +copyEdgeHostToDevice(void* allEdgesDevice) : void - +copyEdgeHostToDevice(void* allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void - #copyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : void - +createEdge(const BGSIZE iEdg, int srcVertex, int destVertex, const BGFLOAT deltaT, edgeType type) : void + #allocDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice, int numVertices, int maxEdgesPerVertex) : void #deleteDeviceStruct(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : void - +deleteEdgeDeviceStruct(void* allEdgesDevice) : void - #initSpikeQueue(const BGSIZE iEdg) : void - +loadParameters() : void - +postSpikeHit(const BGSIZE iEdg) : void - +preSpikeHit(const BGSIZE iEdg) : void - +printGPUEdgesProps(void* allEdgesDeviceProps) : void {query} - +printParameters() : void {query} - +printSynapsesProps() : void {query} - #readEdge(istream& input, const BGSIZE iEdg) : void - +resetEdge(const BGSIZE iEdg, const BGFLOAT deltaT) : void - +setAdvanceEdgesDeviceParams() : void - +setEdgeClassID() : void - +setupEdges() : void - #setupEdges(const int numVertices, const int maxEdges) : void - #writeEdge(ostream& output, const BGSIZE iEdg) : void {query} + #copyHostToDevice(void* allEdgesDevice, AllSpikingSynapsesDeviceProperties& allEdgesDeviceProps, int numVertices, int maxEdgesPerVertex) : void + #copyDeviceToHost(AllSpikingSynapsesDeviceProperties& allEdgesDevice) : void + +{abstract} advanceEdge(BGSIZE iEdg, AllVertices& neurons) : void <> + +{abstract} preSpikeHit(BGSIZE iEdg) : void + +{abstract} postSpikeHit(BGSIZE iEdg) : void + #isSpikeQueue(BGSIZE iEdg) : bool + #{abstract} changePSR(BGSIZE iEdg, BGFLOAT deltaT) : void + +decay_ : vector + +tau_ : vector + +tau_II_ : BGFLOAT + +tau_IE_ : BGFLOAT + +tau_EI_ : BGFLOAT + +tau_EE_ : BGFLOAT + +delay_II_ : BGFLOAT + +delay_IE_ : BGFLOAT + +delay_EI_ : BGFLOAT + +delay_EE_ : BGFLOAT + +totalDelay_ : vector + +delayQueue_ : vector + +delayIndex_ : vector + +delayQueueLength_ : vector } @@ -299,16 +326,20 @@ class AllDynamicSTDPSynapsesDeviceProperties { class AllEdgesDeviceProperties { - +W_ : BGFLOAT* - +psr_ : BGFLOAT* - +maxEdgesPerVertex_ : BGSIZE - +totalEdgeCount_ : BGSIZE - +edgeCounts_ : BGSIZE* - +inUse_ : bool* - +type_ : edgeType* + +sourceVertexIndex_ : int* + +destVertexIndex_ : int* + +W_ : BGFLOAT* + +type_ : edgeType* + +inUse_ : unsigned char* + +edgeCounts_ : BGSIZE* + +totalEdgeCount_ : BGSIZE + +maxEdgesPerVertex_ : BGSIZE +countVertices_ : int - +destVertexIndex_ : int* - +sourceVertexIndex_ : int* +} + + +class AllNeuroEdgesDeviceProperties { + +psr_ : BGFLOAT* } @@ -349,7 +380,10 @@ class AllSpikingSynapsesDeviceProperties { .AllEdges <|-- .AllNeuroEdges -.AllEdgesDeviceProperties <|-- .AllSpikingSynapsesDeviceProperties +.AllEdgesDeviceProperties <|-- .AllNeuroEdgesDeviceProperties + + +.AllNeuroEdgesDeviceProperties <|-- .AllSpikingSynapsesDeviceProperties .AllNeuroEdges <|-- .AllSpikingSynapses diff --git a/docs/Developer/ClassDiagrams/vertices.puml b/docs/Developer/ClassDiagrams/vertices.puml index 493f5e9e8..c8d468dfb 100644 --- a/docs/Developer/ClassDiagrams/vertices.puml +++ b/docs/Developer/ClassDiagrams/vertices.puml @@ -6,163 +6,165 @@ class AllIFNeurons { +AllIFNeurons() - +~AllIFNeurons() - -IinjectRange_ : BGFLOAT - -InoiseRange_ : BGFLOAT - -VinitRange_ : BGFLOAT - -VresetRange_ : BGFLOAT - -VrestingRange_ : BGFLOAT - -VthreshRange_ : BGFLOAT - -starterVresetRange_ : BGFLOAT - -starterVthreshRange_ : BGFLOAT - +C1_ : BGFLOAT* - +C2_ : BGFLOAT* - +Cm_ : BGFLOAT* - +I0_ : BGFLOAT* - +Iinject_ : BGFLOAT* - +Inoise_ : BGFLOAT* - +Isyn_ : BGFLOAT* - +Rm_ : BGFLOAT* - +Tau_ : BGFLOAT* - +Trefract_ : BGFLOAT* - +Vinit_ : BGFLOAT* - +Vm_ : BGFLOAT* - +Vreset_ : BGFLOAT* - +Vrest_ : BGFLOAT* - +Vthresh_ : BGFLOAT* - +numStepsInRefractoryPeriod_ : int* - +toString(const int index) : string {query} - +advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : void + +{abstract} ~AllIFNeurons() + +{abstract} setupVertices() : void <> + +{abstract} loadParameters() : void + +{abstract} printParameters() : void {query} + +{abstract} createAllVertices(Layout& layout) : void + +{abstract} toString(int index) : string {query} + +{abstract} deserialize(istream& input) : void + +{abstract} serialize(ostream& output) : void {query} + +serialize(Archive& archive) : void + +{abstract} advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void + +{abstract} allocVerticesDeviceStruct(void** allVerticesDevice) : void + +{abstract} deleteVerticesDeviceStruct(void* allVerticesDevice) : void + +{abstract} clearVertexHistory(void* allVerticesDevice) : void <> + +{abstract} copyFromDevice(void* deviceAddress) : void <> + +{abstract} copyToDevice(void* deviceAddress) : void <> #allocDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : void - +allocNeuronDeviceStruct(void** allVerticesDevice) : void - +clearNeuronSpikeCounts(void* allVerticesDevice) : void - #copyDeviceToHost(AllIFNeuronsDeviceProperties& allVerticesDevice) : void - #copyHostToDevice(AllIFNeuronsDeviceProperties& allVerticesDevice) : void - +copyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : void - +copyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : void - +copyNeuronDeviceToHost(void* allVerticesDevice) : void - +copyNeuronHostToDevice(void* allVerticesDevice) : void - +createAllVertices(Layout* layout) : void - #createNeuron(int neuronIndex, Layout* layout) : void #deleteDeviceStruct(AllIFNeuronsDeviceProperties& allVerticesDevice) : void - +deleteNeuronDeviceStruct(void* allVerticesDevice) : void - +deserialize(istream& input) : void - #initNeuronConstsFromParamValues(int neuronIndex, const BGFLOAT deltaT) : void - +loadParameters() : void - +printParameters() : void {query} + #copyDeviceToHost(AllIFNeuronsDeviceProperties& allVerticesDevice) : void + #createNeuron(int neuronIndex, Layout& layout) : void + #setNeuronDefaults(int index) : void + #{abstract} initNeuronConstsFromParamValues(int neuronIndex, BGFLOAT deltaT) : void #readNeuron(istream& input, int i) : void - +serialize(ostream& output) : void {query} - #setNeuronDefaults(const int index) : void - +setupVertices() : void #writeNeuron(ostream& output, int i) : void {query} + +Trefract_ : vector + +Vthresh_ : vector + +Vrest_ : vector + +Vreset_ : vector + +Vinit_ : vector + +Cm_ : vector + +Rm_ : vector + +Inoise_ : vector + +Iinject_ : vector + +Isyn_ : vector + +numStepsInRefractoryPeriod_ : vector + +C1_ : vector + +C2_ : vector + +I0_ : vector + +Vm_ : vector + +Tau_ : vector + -IinjectRange_ : BGFLOAT[2] + -InoiseRange_ : BGFLOAT[2] + -VthreshRange_ : BGFLOAT[2] + -VrestingRange_ : BGFLOAT[2] + -VresetRange_ : BGFLOAT[2] + -VinitRange_ : BGFLOAT[2] + -starterVthreshRange_ : BGFLOAT[2] + -starterVresetRange_ : BGFLOAT[2] } class AllIZHNeurons { +AllIZHNeurons() - +~AllIZHNeurons() + +{abstract} ~AllIZHNeurons() +{static} Create() : AllVertices* - -excAconst_ : BGFLOAT - -excBconst_ : BGFLOAT - -excCconst_ : BGFLOAT - -excDconst_ : BGFLOAT - -inhAconst_ : BGFLOAT - -inhBconst_ : BGFLOAT - -inhCconst_ : BGFLOAT - -inhDconst_ : BGFLOAT - +Aconst_ : BGFLOAT* - +Bconst_ : BGFLOAT* - +C3_ : BGFLOAT* - +Cconst_ : BGFLOAT* - +Dconst_ : BGFLOAT* - +u_ : BGFLOAT* - -{static} DEFAULT_a : static constexpr BGFLOAT - -{static} DEFAULT_b : static constexpr BGFLOAT - -{static} DEFAULT_c : static constexpr BGFLOAT - -{static} DEFAULT_d : static constexpr BGFLOAT - +toString(const int index) : string {query} - #advanceNeuron(const int index) : void - +advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : void + +{abstract} setupVertices() : void <> + +{abstract} printParameters() : void {query} <> + +{abstract} createAllVertices(Layout& layout) : void <> + +{abstract} toString(int index) : string {query} <> + +{abstract} deserialize(istream& input) : void <> + +{abstract} serialize(ostream& output) : void {query} <> + +serialize(Archive& archive) : void + +{abstract} advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void <> + +{abstract} allocVerticesDeviceStruct(void** allVerticesDevice) : void <> + +{abstract} deleteVerticesDeviceStruct(void* allVerticesDevice) : void <> + +{abstract} clearVertexHistory(void* allVerticesDevice) : void <> + +{abstract} copyFromDevice(void* deviceAddress) : void <> + +{abstract} copyToDevice(void* deviceAddress) : void <> #allocDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void - +allocNeuronDeviceStruct(void** allVerticesDevice) : void - +clearNeuronSpikeCounts(void* allVerticesDevice) : void - #copyDeviceToHost(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void - #copyHostToDevice(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void - +copyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : void - +copyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : void - +copyNeuronDeviceToHost(void* allVerticesDevice) : void - +copyNeuronHostToDevice(void* allVerticesDevice) : void - +createAllVertices(Layout* layout) : void - #createNeuron(int neuronIndex, Layout* layout) : void #deleteDeviceStruct(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void - +deleteNeuronDeviceStruct(void* allVerticesDevice) : void - +deserialize(istream& input) : void - #fire(const int index) : void - #initNeuronConstsFromParamValues(int neuronIndex, const BGFLOAT deltaT) : void - +printParameters() : void {query} + #copyHostToDevice(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void + #copyDeviceToHost(AllIZHNeuronsDeviceProperties& allVerticesDevice) : void + #{abstract} advanceNeuron(int index) : void + #{abstract} fire(int index) : void + #createNeuron(int neuronIndex, Layout& layout) : void + #setNeuronDefaults(int index) : void + #{abstract} initNeuronConstsFromParamValues(int neuronIndex, BGFLOAT deltaT) : void <> #readNeuron(istream& input, int index) : void - +serialize(ostream& output) : void {query} - #setNeuronDefaults(const int index) : void - +setupVertices() : void #writeNeuron(ostream& output, int index) : void {query} + +Aconst_ : vector + +Bconst_ : vector + +Cconst_ : vector + +Dconst_ : vector + +u_ : vector + +C3_ : vector + -{static} DEFAULT_a : static constexpr BGFLOAT + -{static} DEFAULT_b : static constexpr BGFLOAT + -{static} DEFAULT_c : static constexpr BGFLOAT + -{static} DEFAULT_d : static constexpr BGFLOAT + -excAconst_ : BGFLOAT[2] + -inhAconst_ : BGFLOAT[2] + -excBconst_ : BGFLOAT[2] + -inhBconst_ : BGFLOAT[2] + -excCconst_ : BGFLOAT[2] + -inhCconst_ : BGFLOAT[2] + -excDconst_ : BGFLOAT[2] + -inhDconst_ : BGFLOAT[2] } class AllLIFNeurons { +AllLIFNeurons() - +~AllLIFNeurons() + +{abstract} ~AllLIFNeurons() +{static} Create() : AllVertices* - #advanceNeuron(const int index) : void - +advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : void - #fire(const int index) : void - +printParameters() : void {query} + +{abstract} printParameters() : void {query} <> + +serialize(Archive& archive) : void + +{abstract} advanceVertices(AllEdges& synapses, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void <> + #{abstract} advanceNeuron(int index) : void + #{abstract} fire(int index) : void } abstract class AllSpikingNeurons { +AllSpikingNeurons() - +~AllSpikingNeurons() - #fAllowBackPropagation_ : bool + +{abstract} ~AllSpikingNeurons() + +{abstract} setupVertices() : void <> + +clearSpikeCounts() : void + +{abstract} registerHistoryVariables() : void <> + +serialize(Archive& archive) : void + +{abstract} setAdvanceVerticesDeviceParams(AllEdges& synapses) : void + +{abstract} integrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : void + +{abstract} copyFromDevice(void* deviceAddress) : void <> + +{abstract} copyToDevice(void* deviceAddress) : void <> + #clearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : void + +{abstract} advanceVertices(AllEdges& synapses, const EdgeIndexMap& edgeIndexMap) : void + +{abstract} integrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : void +getSpikeHistory(int index, int offIndex) : uint64_t - +vertexEvents_ : vector + #{abstract} advanceNeuron(int index) : void + #{abstract} fire(int index) : void +hasFired_ : vector - #{abstract} advanceNeuron(const int index) : void - +registerSpikeHistoryVariables() : void - +setDataType() : void - +getDataType() const : void - +advanceVertices(AllEdges& synapses, const EdgeIndexMap* edgeIndexMap) : void - #clearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : void - +{abstract} clearNeuronSpikeCounts(void* allVerticesDevice) : void - +clearSpikeCounts() : void - #copyDeviceSpikeCountsToHost(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : void - #copyDeviceSpikeHistoryToHost(AllSpikingNeuronsDeviceProperties& allVerticesDevice) : void - +{abstract} copyNeuronDeviceSpikeCountsToHost(void* allVerticesDevice) : void - +{abstract} copyNeuronDeviceSpikeHistoryToHost(void* allVerticesDevice) : void - #fire(const int index) : void - +setAdvanceVerticesDeviceParams(AllEdges& synapses) : void - +setupVertices() : void + +vertexEvents_ : vector + +summationPoints_ : vector + #fAllowBackPropagation_ : bool } abstract class AllVertices { +AllVertices() - +~AllVertices() - +summationPoints_ : BGFLOAT* + +{abstract} ~AllVertices() + +{abstract} setupVertices() : void + +{abstract} printParameters() : void {query} + +{abstract} loadEpochInputs(uint64_t currentStep, uint64_t endStep) : void + +{abstract} loadParameters() : void + +{abstract} createAllVertices(Layout& layout) : void + +{abstract} toString(int i) : string {query} + +{abstract} registerHistoryVariables() : void + +serialize(Archive& archive) : void #size_ : int #fileLogger_ : log4cplus::Logger #vertexLogger_ : log4cplus::Logger - +{abstract} toString(const int i) : string {query} - +{abstract} advanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float* randNoise, EdgeIndexMap* edgeIndexMapDevice) : void - +{abstract} advanceVertices(AllEdges& edges, const EdgeIndexMap* edgeIndexMap) : void - +{abstract} allocNeuronDeviceStruct(void** allVerticesDevice) : void - +{abstract} copyNeuronDeviceToHost(void* allVerticesDevice) : void - +{abstract} copyNeuronHostToDevice(void* allVerticesDevice) : void - +{abstract} createAllVertices(Layout* layout) : void - +{abstract} deleteNeuronDeviceStruct(void* allVerticesDevice) : void - +{abstract} loadParameters() : void - +printParameters() : void {query} + +{abstract} allocVerticesDeviceStruct(void** allVerticesDevice) : void + +{abstract} deleteVerticesDeviceStruct(void* allVerticesDevice) : void + +{abstract} clearVertexHistory(void* allVerticesDevice) : void + +{abstract} copyToDevice(void* allVerticesDevice) : void + +{abstract} copyFromDevice(void* allVerticesDevice) : void + +{abstract} advanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void +{abstract} setAdvanceVerticesDeviceParams(AllEdges& edges) : void - +setupVertices() : void + +{abstract} integrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : void + +{abstract} advanceVertices(AllEdges& edges, const EdgeIndexMap* edgeIndexMap) : void + +{abstract} integrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : void } @@ -195,46 +197,98 @@ class VerticesFactory { } +class All911Vertices { + +All911Vertices() + +{abstract} ~All911Vertices() + +{static} Create() : AllVertices* + +{abstract} setupVertices() : void <> + +{abstract} createAllVertices(Layout& layout) : void + +{abstract} loadParameters() : void + +{abstract} printParameters() : void {query} <> + +{abstract} toString(int index) : string {query} + +{abstract} loadEpochInputs(uint64_t currentStep, uint64_t endStep) : void <> + +{abstract} registerHistoryVariables() : void <> + +getQueue(int vIdx) : CircularBuffer& + +droppedCalls(int vIdx) : int& + +receivedCalls(int vIdx) : int& + +busyServers(int vIdx) : int {query} + -beginTimeHistory_ : vector> + -answerTimeHistory_ : vector> + -endTimeHistory_ : vector> + -wasAbandonedHistory_ : vector> + -queueLengthHistory_ : vector> + -utilizationHistory_ : vector> + -vertexQueues_ : vector> + -droppedCalls_ : vector + -receivedCalls_ : vector + -busyServers_ : vector + -numServers_ : vector + -numTrunks_ : vector + -redialP_ : BGFLOAT + -avgDrivingSpeed_ : BGFLOAT + -servingCall_ : vector> + -answerTime_ : vector> + -serverCountdown_ : vector> + -inputManager_ : InputManager + -advanceCALR(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : void + -advancePSAP(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : void + -advanceRESP(BGSIZE vertexIdx, All911Edges& edges911, const EdgeIndexMap& edgeIndexMap) : void + +{abstract} allocVerticesDeviceStruct(void** allVerticesDevice) : void + +{abstract} deleteVerticesDeviceStruct(void* allVerticesDevice) : void + +{abstract} copyToDevice(void* allVerticesDevice) : void + +{abstract} copyFromDevice(void* allVerticesDevice) : void + +{abstract} advanceVertices(AllEdges& edges, void* allVerticesDevice, void* allEdgesDevice, float randNoise[], EdgeIndexMapDevice* edgeIndexMapDevice) : void + +{abstract} setAdvanceVerticesDeviceParams(AllEdges& edges) : void + +{abstract} clearVertexHistory(void* allVerticesDevice) : void + +{abstract} integrateVertexInputs(void* allVerticesDevice, EdgeIndexMapDevice* edgeIndexMapDevice, void* allEdgesDevice) : void + +{abstract} advanceVertices(AllEdges& edges, const EdgeIndexMap& edgeIndexMap) : void <> + +{abstract} integrateVertexInputs(AllEdges& edges, EdgeIndexMap& edgeIndexMap) : void <> +} + + class AllIFNeuronsDeviceProperties { - +C1_ : BGFLOAT* - +C2_ : BGFLOAT* + +Trefract_ : BGFLOAT* + +Vthresh_ : BGFLOAT* + +Vrest_ : BGFLOAT* + +Vreset_ : BGFLOAT* + +Vinit_ : BGFLOAT* +Cm_ : BGFLOAT* - +I0_ : BGFLOAT* - +Iinject_ : BGFLOAT* + +Rm_ : BGFLOAT* +Inoise_ : BGFLOAT* + +Iinject_ : BGFLOAT* +Isyn_ : BGFLOAT* - +Rm_ : BGFLOAT* - +Tau_ : BGFLOAT* - +Trefract_ : BGFLOAT* - +Vinit_ : BGFLOAT* - +Vm_ : BGFLOAT* - +Vreset_ : BGFLOAT* - +Vrest_ : BGFLOAT* - +Vthresh_ : BGFLOAT* +numStepsInRefractoryPeriod_ : int* + +C1_ : BGFLOAT* + +C2_ : BGFLOAT* + +I0_ : BGFLOAT* + +Vm_ : BGFLOAT* + +Tau_ : BGFLOAT* } class AllIZHNeuronsDeviceProperties { +Aconst_ : BGFLOAT* +Bconst_ : BGFLOAT* - +C3_ : BGFLOAT* +Cconst_ : BGFLOAT* +Dconst_ : BGFLOAT* +u_ : BGFLOAT* + +C3_ : BGFLOAT* } class AllSpikingNeuronsDeviceProperties { +hasFired_ : bool* - +spikeCountOffset_ : int* - +spikeCount_ : int* +spikeHistory_ : uint64_t** + +bufferFront_ : int* + +bufferEnd_ : int* + +epochStart_ : int* + +numElementsInEpoch_ : int* + +summationPoints_ : BGFLOAT* } class AllVerticesDeviceProperties { - +summationPoints_ : BGFLOAT* + } @@ -261,6 +315,9 @@ class AllVerticesDeviceProperties { .AllVertices <|-- .AllSpikingNeurons +.AllVertices <|-- .All911Vertices + + .AllVerticesDeviceProperties <|-- .AllSpikingNeuronsDeviceProperties From eff20dcb97e8d4ee4883651e6b49d81d9ea503c1 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 20 Feb 2025 12:30:46 -0800 Subject: [PATCH 040/153] VertexType --- Simulator/Recorders/Hdf5Recorder.cpp | 6 +- Simulator/Recorders/Hdf5Recorder.h | 12 +- Simulator/Recorders/RecordableBase.h | 3 +- Simulator/Recorders/Recorder.h | 4 +- Simulator/Recorders/XmlRecorder.cpp | 2 + Simulator/Utils/Global.h | 5 + Simulator/Utils/VertexType.h | 45 +++++++ Testing/UnitTesting/Hdf5RecorderTests.cpp | 136 ++++++++++++++++++++++ Testing/UnitTesting/XmlRecorderTests.cpp | 71 ++++++++++- 9 files changed, 275 insertions(+), 9 deletions(-) create mode 100644 Simulator/Utils/VertexType.h diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index 3bb08cac3..fd49b8602 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -189,7 +189,11 @@ void Hdf5Recorder::compileHistories() } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableInfo.variableLocation_.getNumElements()); for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { - dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); + if constexpr (std::is_same_v(variableInfo.variableLocation_.getElement(i)))>>) { + dataBuffer[i] = static_cast(get(variableInfo.variableLocation_.getElement(i))); + } else { + dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); + } } variableInfo.hdf5DataSet_.write(dataBuffer.data(), variableInfo.hdf5Datatype_, memSpace, fileSpace); diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index 809e1315d..444b55c6d 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -4,6 +4,7 @@ #include "H5Cpp.h" #include "Model.h" #include "Recorder.h" + #include #include @@ -114,7 +115,10 @@ class Hdf5Recorder : public Recorder { hdf5Datatype_ = PredType::NATIVE_FLOAT; } else if (dataType_ == typeid(double).name()) { hdf5Datatype_ = PredType::NATIVE_DOUBLE; - } else { + } else if (dataType_ == typeid(vertexType).name()) { + hdf5Datatype_ = PredType::NATIVE_INT; + } + else { throw runtime_error("Unsupported data type"); } } @@ -136,7 +140,11 @@ class Hdf5Recorder : public Recorder { } else if (hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableLocation_.getNumElements()); for (int i = 0; i < variableLocation_.getNumElements(); ++i) { - dataBuffer[i] = get(variableLocation_.getElement(i)); + if constexpr (std::is_same_v(variableLocation_.getElement(i)))>>) { + dataBuffer[i] = static_cast(get(variableLocation_.getElement(i)));; + } else { + dataBuffer[i] = get(variableLocation_.getElement(i)); + } } hdf5DataSet_.write(dataBuffer.data(), hdf5Datatype_); diff --git a/Simulator/Recorders/RecordableBase.h b/Simulator/Recorders/RecordableBase.h index 718b305cb..6a63b3139 100644 --- a/Simulator/Recorders/RecordableBase.h +++ b/Simulator/Recorders/RecordableBase.h @@ -16,6 +16,7 @@ using namespace std; #include #include +#include "VertexType.h" #include #include // cereal @@ -24,7 +25,7 @@ using namespace std; /// A list of pre-defined basic data types for variablse in all the simulations /// These pre-defined types should match with the types of variant in Recorder -using variantTypes = variant; +using variantTypes = variant; class RecordableBase { public: diff --git a/Simulator/Recorders/Recorder.h b/Simulator/Recorders/Recorder.h index 7c366493c..7a42e2c71 100644 --- a/Simulator/Recorders/Recorder.h +++ b/Simulator/Recorders/Recorder.h @@ -19,14 +19,14 @@ using namespace std; /// a list of pre-defined basic data types in recorded variables -using multipleTypes = variant; +using multipleTypes = variant; //TODO: remove it after implemtating the Hdf5Recorder class AllVertices; class Recorder { public: /// The recorded variable Type/Updated frequency - enum class UpdatedType { + enum UpdatedType { CONSTANT, // value doesn't change in each epoch DYNAMIC // value is updated in each peoch // Add more variable types as needed diff --git a/Simulator/Recorders/XmlRecorder.cpp b/Simulator/Recorders/XmlRecorder.cpp index 8f75671a3..30b0c5e24 100644 --- a/Simulator/Recorders/XmlRecorder.cpp +++ b/Simulator/Recorders/XmlRecorder.cpp @@ -115,6 +115,8 @@ string XmlRecorder::toXML(const string &name, vector &singleBuffe os << get(element) << " "; } else if (basicType == typeid(BGFLOAT).name()) { os << get(element) << " "; + } else if (basicType == typeid(vertexType).name()) { + os << static_cast(get(element)) << " "; } else { perror("Error recording Recordable object"); exit(EXIT_FAILURE); diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index c2c9aa7ea..7bb6945c9 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -8,6 +8,7 @@ // Globally available functions and default parameter values. #pragma once +#include "MTRand.h" // Debug output is included in both debug/release builds now. // The Default for debug is "LOW" and "OFF" for Release. @@ -64,6 +65,7 @@ using uint64_t = unsigned long long int; //included in inttypes.h, which is no //#include "Norm.h" #include "Coordinate.h" #include "VectorMatrix.h" +#include "VertexType.h" using namespace std; @@ -98,6 +100,8 @@ const int g_nMaxChunkSize = 100; // CALR: Caller radii // PSAP: PSAP nodes // EMS, FIRE, LAW: Responder nodes +/* +// Moved to Utils/VertexType.h enum class vertexType { // Neuro INH = 1, @@ -117,6 +121,7 @@ inline std::ostream &operator<<(std::ostream &os, vertexType vT) os << static_cast(vT); return os; } +*/ // Edge types. // NEURO: diff --git a/Simulator/Utils/VertexType.h b/Simulator/Utils/VertexType.h new file mode 100644 index 000000000..5ffd55d81 --- /dev/null +++ b/Simulator/Utils/VertexType.h @@ -0,0 +1,45 @@ +/** + * @file VertexType.h + * + * @ingroup Simulator/Utils + * + * @brief Enum class of vertex types + */ + +// NETWORK MODEL VARIABLES NMV-BEGIN { +// Vertex types. +// NEURO: +// INH - Inhibitory neuron +// EXC - Excitory neuron +// NG911: +// CALR: Caller radii +// PSAP: PSAP nodes +// EMS, FIRE, LAW: Responder nodes + +#ifndef VERTEX_TYPE_H +#define VERTEX_TYPE_H + +#include + +enum class vertexType { + // Neuro + INH = 1, + EXC = 2, + // NG911 + CALR = 3, + PSAP = 4, + EMS = 5, + FIRE = 6, + LAW = 7, + // UNDEF + VTYPE_UNDEF = 0 +}; + +// Custom streaming operator<< for the enum class vertexType +inline std::ostream &operator<<(std::ostream &os, vertexType vT) +{ + os << static_cast(vT); + return os; +} + +#endif // VERTEX_TYPE_H \ No newline at end of file diff --git a/Testing/UnitTesting/Hdf5RecorderTests.cpp b/Testing/UnitTesting/Hdf5RecorderTests.cpp index cc7a8764d..97a01f102 100644 --- a/Testing/UnitTesting/Hdf5RecorderTests.cpp +++ b/Testing/UnitTesting/Hdf5RecorderTests.cpp @@ -95,6 +95,36 @@ TEST(Hdf5RecorderTest, RegisterVectorVariableTest) ASSERT_EQ(Recorder::UpdatedType::DYNAMIC, variableTable[1].variableType_); } +// Unit test for registerVariable method with a vector of NeuronType enums +TEST(Hdf5RecorderTest, RegisterVertexTypeTest) +{ + // Create an instance of Hdf5Recorder + std::string outputFile = "../Testing/UnitTesting/TestOutput/Hdf5test_output_register.h5"; + Hdf5Recorder recorder(outputFile); + recorder.init(); + + // Create a vector of NeuronType enums + RecordableVector neuronTypes; + neuronTypes.resize(2); + neuronTypes[0] = vertexType::EXC; + neuronTypes[1] = vertexType::INH; + + // register the vector of NeuronTypes + recorder.registerVariable("neuron_types", neuronTypes, Recorder::UpdatedType::DYNAMIC); + + // Verify that the registered variables are stored correctly + const auto &variableTable = recorder.getVariableTable(); + ASSERT_EQ(1, variableTable.size()); // Only one variable, "neuron_types" + + // Verify that the registered variable name matches + ASSERT_EQ("neuron_types", variableTable[0].variableName_); + ASSERT_EQ(&neuronTypes, &variableTable[0].variableLocation_); + + // Verify the type of update for this variable + ASSERT_EQ(Recorder::UpdatedType::DYNAMIC, variableTable[0].variableType_); +} + + // Define the test case for saving simulation data TEST(Hdf5RecorderTest, SaveSimDataTest) { @@ -139,6 +169,52 @@ TEST(Hdf5RecorderTest, SaveSimDataTest) } } +// Unit test for saving simulation data with a vector of NeuronType enums +TEST(Hdf5RecorderTest, SaveSimDataVertexTypeTest) +{ + // Define a temporary file path for testing + std::string outputFile = "../Testing/UnitTesting/TestOutput/Hdf5test_output_save.h5"; + + // Create an instance of Hdf5Recorder + Hdf5Recorder recorder(outputFile); + recorder.init(); + + // Create and configure RecordableVector for testing + RecordableVector neuronTypes; + neuronTypes.resize(3); + neuronTypes[0] = vertexType::EXC; + neuronTypes[1] = vertexType::INH; + neuronTypes[2] = vertexType::EXC; + + // Register the variable with Hdf5Recorder + recorder.registerVariable("neuron_types", neuronTypes, Recorder::UpdatedType::CONSTANT); + + // Call saveSimData() to write the data to the file + recorder.saveSimData(); + + // Open the HDF5 file and read back the data + H5File file(outputFile, H5F_ACC_RDONLY); + DataSet dataset = file.openDataSet("neuron_types"); + DataSpace dataspace = dataset.getSpace(); + + hsize_t num_elements; + dataspace.getSimpleExtentDims(&num_elements, nullptr); + + // Read the data into a buffer + vector dataBuffer(num_elements); + dataset.read(dataBuffer.data(), PredType::NATIVE_INT); + + // Verify the data matches the expected NeuronType values (converted to int) + vector expectedData = {static_cast(vertexType::EXC), + static_cast(vertexType::INH), + static_cast(vertexType::EXC)}; + + ASSERT_EQ(expectedData.size(), dataBuffer.size()); + for (size_t i = 0; i < expectedData.size(); ++i) { + EXPECT_EQ(expectedData[i], dataBuffer[i]); + } +} + // Define the test case for compiling histories TEST(Hdf5RecorderTest, CompileHistoriesTest) { @@ -190,4 +266,64 @@ TEST(Hdf5RecorderTest, CompileHistoriesTest) } } +// Define the test case for compiling histories with vertexType enum +TEST(Hdf5RecorderTest, CompileHistoriesVertexTypeTest) +{ + // Define temporary file path for testing + std::string outputFile + = "../Testing/UnitTesting/TestOutput/Hdf5test_output_compile_histories_neuron_type.h5"; + + // Create an instance of Hdf5Recorder + Hdf5Recorder recorder(outputFile); + recorder.init(); + + // Create and configure EventBuffer for testing (stored as int) + EventBuffer eventBufferNeuron(5); + + // Register the variable with Hdf5Recorder as DYNAMIC + recorder.registerVariable("neuron_types", eventBufferNeuron, Recorder::UpdatedType::DYNAMIC); + + // Expected values for checking correctness + std::vector expectedData; + + // Call compileHistories() multiple times to simulate multiple epochs + for (int epoch = 0; epoch < 3; ++epoch) { + // Clear and insert new NeuronType values + eventBufferNeuron.clear(); + eventBufferNeuron.insertEvent(static_cast(vertexType::EXC)); + eventBufferNeuron.insertEvent(static_cast(vertexType::INH)); + eventBufferNeuron.insertEvent(static_cast(vertexType::EXC)); + eventBufferNeuron.insertEvent(static_cast(vertexType::EXC)); + eventBufferNeuron.insertEvent(static_cast(vertexType::INH)); + + // Append expected values for this epoch + expectedData.push_back(static_cast(vertexType::EXC)); + expectedData.push_back(static_cast(vertexType::INH)); + expectedData.push_back(static_cast(vertexType::EXC)); + expectedData.push_back(static_cast(vertexType::EXC)); + expectedData.push_back(static_cast(vertexType::INH)); + + // Call compile history + recorder.compileHistories(); + } + + // Open the HDF5 file and read back the data + H5File file(outputFile, H5F_ACC_RDONLY); + DataSet dataset = file.openDataSet("neuron_types"); + DataSpace dataspace = dataset.getSpace(); + + hsize_t num_elements; + dataspace.getSimpleExtentDims(&num_elements, nullptr); + + std::vector dataBuffer(num_elements); + dataset.read(dataBuffer.data(), PredType::NATIVE_INT); + + // Ensure data size matches expectation + ASSERT_EQ(expectedData.size(), dataBuffer.size()); + + // Verify that stored values match expected values + for (size_t i = 0; i < expectedData.size(); ++i) { + EXPECT_EQ(expectedData[i], dataBuffer[i]); + } +} #endif // HDF5 \ No newline at end of file diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index d527784f3..3c599083f 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -99,6 +99,29 @@ TEST(XmlRecorderTest, RegisterRecordableVectorTest) ASSERT_EQ(typeid(BGFLOAT).name(), recorder.getDataType(0)); } +// Test for registering a RecordableVector of VertexType enums (EXC, INH) +TEST(XmlRecorderTest, RegisterVectorVertexTypeTest) +{ + // Create an instance of XmlRecorder + XmlRecorder recorder; + + // Create a RecordableVector + RecordableVector vertTypes; + vertTypes.resize(2); + vertTypes[0] = vertexType::EXC; + vertTypes[1] = vertexType::INH; + + // Register the RecordableVector of vertexType + recorder.registerVariable("VertexTypes", vertTypes, Recorder::UpdatedType::DYNAMIC); + + // Verify that the variable is registered correctly + ASSERT_EQ("VertexTypes", recorder.getVariableName(0)); + ASSERT_EQ(&vertTypes, &recorder.getSingleVariable(0)); + + // Check the data type of the registered variable (matches vertexType) + ASSERT_EQ(typeid(vertexType).name(), recorder.getDataType(0)); +} + // Unit test for registerVariable method with a vector of RecordableBase TEST(XmlRecorderTest, RegisterVectorVariableTest) { @@ -147,7 +170,7 @@ TEST(XmlRecorderTest, CompileHistoriesTest) // Call the compileHistories method recorderTest_->compileHistories(); - vector> history = recorderTest_->getHistory(0); + vector> history = recorderTest_->getHistory(0); // Verify the events compiled hisotry uint64_t data = 1; @@ -165,7 +188,7 @@ TEST(XmlRecorderTest, ToXML) unique_ptr recorderTest_(new XmlRecorder(outputFile)); // Add some dummy data to variableHistory_ - vector> variableHistory + vector> variableHistory = {uint64_t(15), uint64_t(20)}; // Test the toXML method @@ -222,7 +245,7 @@ TEST(XmlRecorderTest, SaveSimDataTest) outputBuffer << inputFile.rdbuf(); inputFile.close(); // checks for saving simulation data - vector> mock_history + vector> mock_history = {uint64_t(1), uint64_t(2), uint64_t(3)}; std::string expect_header = "\n"; std::string expect_end = "\n"; @@ -231,4 +254,46 @@ TEST(XmlRecorderTest, SaveSimDataTest) + expect_end; // vertify the output string ASSERT_EQ(outputBuffer.str(), expectXML); +} + +// Test case for saving simulation data for vector of enums (vertexType) +TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) +{ + std::string outputFile = "../Testing/UnitTesting/TestOutput/test_vertex_type.xml"; + unique_ptr recorderTest_(new XmlRecorder(outputFile)); + + // Create a recordable vector + RecordableVector vertTypes; + vertTypes.resize(2); + vertTypes[0] = vertexType::EXC; + vertTypes[1] = vertexType::INH; + + // Register the RecordableVector of VertexTypes + recorderTest_->registerVariable("VertexTypes", vertTypes, Recorder::UpdatedType::DYNAMIC); + + // initialize the XmlRecorder object + recorderTest_->init(); + + // Call the compileHistories method + recorderTest_->compileHistories(); + // Call the saveSimData() function + recorderTest_->saveSimData(); + + // Open the test_output.xml file and read its content + std::ifstream inputFile("../Testing/UnitTesting/TestOutput/test_neuron_type.xml"); + std::stringstream outputBuffer; + outputBuffer << inputFile.rdbuf(); + inputFile.close(); + + // checks for saving simulation data + vector> mock_history + = {vertexType::EXC, vertexType::INH}; + + std::string expect_header = "\n"; + std::string expect_end = "\n"; + std::string expectXML + = expect_header + recorderTest_->getToXML("VertexTypes", mock_history, typeid(vertexType).name()) + + expect_end; + // Vertify the output string + ASSERT_EQ(outputBuffer.str(), expectXML); } \ No newline at end of file From 14ee18047b6a1c63ae2192a4d26ffe21a6381aa9 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 20 Feb 2025 14:38:23 -0800 Subject: [PATCH 041/153] Adding VertexType to Recorders --- Testing/UnitTesting/XmlRecorderTests.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 3c599083f..f9074f03b 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -280,7 +280,7 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) recorderTest_->saveSimData(); // Open the test_output.xml file and read its content - std::ifstream inputFile("../Testing/UnitTesting/TestOutput/test_neuron_type.xml"); + std::ifstream inputFile("../Testing/UnitTesting/TestOutput/test_vertex_type.xml"); std::stringstream outputBuffer; outputBuffer << inputFile.rdbuf(); inputFile.close(); From 7cbb86fa05beb840cbb8180627949ed8f558801a Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Sat, 22 Feb 2025 23:53:15 -0800 Subject: [PATCH 042/153] Fix Clang-Tidy issues --- Simulator/Recorders/Hdf5Recorder.cpp | 8 ++++++-- Simulator/Recorders/Hdf5Recorder.h | 9 ++++----- Simulator/Utils/Global.h | 2 +- Simulator/Utils/VertexType.h | 4 ++-- Testing/UnitTesting/Hdf5RecorderTests.cpp | 19 +++++++++--------- Testing/UnitTesting/XmlRecorderTests.cpp | 24 +++++++++++++---------- 6 files changed, 36 insertions(+), 30 deletions(-) diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index fd49b8602..b0eeaf134 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -189,8 +189,12 @@ void Hdf5Recorder::compileHistories() } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableInfo.variableLocation_.getNumElements()); for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { - if constexpr (std::is_same_v(variableInfo.variableLocation_.getElement(i)))>>) { - dataBuffer[i] = static_cast(get(variableInfo.variableLocation_.getElement(i))); + if constexpr (std::is_same_v< + vertexType, + std::decay_t( + variableInfo.variableLocation_.getElement(i)))>>) { + dataBuffer[i] = static_cast( + get(variableInfo.variableLocation_.getElement(i))); } else { dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); } diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index 444b55c6d..c2f87c927 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -4,7 +4,6 @@ #include "H5Cpp.h" #include "Model.h" #include "Recorder.h" - #include #include @@ -117,8 +116,7 @@ class Hdf5Recorder : public Recorder { hdf5Datatype_ = PredType::NATIVE_DOUBLE; } else if (dataType_ == typeid(vertexType).name()) { hdf5Datatype_ = PredType::NATIVE_INT; - } - else { + } else { throw runtime_error("Unsupported data type"); } } @@ -140,8 +138,9 @@ class Hdf5Recorder : public Recorder { } else if (hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableLocation_.getNumElements()); for (int i = 0; i < variableLocation_.getNumElements(); ++i) { - if constexpr (std::is_same_v(variableLocation_.getElement(i)))>>) { - dataBuffer[i] = static_cast(get(variableLocation_.getElement(i)));; + if constexpr (std::is_same_v + (variableLocation_.getElement(i)))>>) { + dataBuffer[i] = static_cast(get(variableLocation_.getElement(i))); } else { dataBuffer[i] = get(variableLocation_.getElement(i)); } diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index 7bb6945c9..38d5f83aa 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -8,7 +8,7 @@ // Globally available functions and default parameter values. #pragma once -#include "MTRand.h" +#include "MTRand.h" // Debug output is included in both debug/release builds now. // The Default for debug is "LOW" and "OFF" for Release. diff --git a/Simulator/Utils/VertexType.h b/Simulator/Utils/VertexType.h index 5ffd55d81..1153e0db4 100644 --- a/Simulator/Utils/VertexType.h +++ b/Simulator/Utils/VertexType.h @@ -39,7 +39,7 @@ enum class vertexType { inline std::ostream &operator<<(std::ostream &os, vertexType vT) { os << static_cast(vT); - return os; + return os; } -#endif // VERTEX_TYPE_H \ No newline at end of file +#endif // VERTEX_TYPE_H \ No newline at end of file diff --git a/Testing/UnitTesting/Hdf5RecorderTests.cpp b/Testing/UnitTesting/Hdf5RecorderTests.cpp index 97a01f102..ddb0241bf 100644 --- a/Testing/UnitTesting/Hdf5RecorderTests.cpp +++ b/Testing/UnitTesting/Hdf5RecorderTests.cpp @@ -106,15 +106,15 @@ TEST(Hdf5RecorderTest, RegisterVertexTypeTest) // Create a vector of NeuronType enums RecordableVector neuronTypes; neuronTypes.resize(2); - neuronTypes[0] = vertexType::EXC; - neuronTypes[1] = vertexType::INH; + neuronTypes[0] = vertexType::EXC; + neuronTypes[1] = vertexType::INH; // register the vector of NeuronTypes recorder.registerVariable("neuron_types", neuronTypes, Recorder::UpdatedType::DYNAMIC); // Verify that the registered variables are stored correctly const auto &variableTable = recorder.getVariableTable(); - ASSERT_EQ(1, variableTable.size()); // Only one variable, "neuron_types" + ASSERT_EQ(1, variableTable.size()); // Only one variable, "neuron_types" // Verify that the registered variable name matches ASSERT_EQ("neuron_types", variableTable[0].variableName_); @@ -182,9 +182,9 @@ TEST(Hdf5RecorderTest, SaveSimDataVertexTypeTest) // Create and configure RecordableVector for testing RecordableVector neuronTypes; neuronTypes.resize(3); - neuronTypes[0] = vertexType::EXC; - neuronTypes[1] = vertexType::INH; - neuronTypes[2] = vertexType::EXC; + neuronTypes[0] = vertexType::EXC; + neuronTypes[1] = vertexType::INH; + neuronTypes[2] = vertexType::EXC; // Register the variable with Hdf5Recorder recorder.registerVariable("neuron_types", neuronTypes, Recorder::UpdatedType::CONSTANT); @@ -205,10 +205,9 @@ TEST(Hdf5RecorderTest, SaveSimDataVertexTypeTest) dataset.read(dataBuffer.data(), PredType::NATIVE_INT); // Verify the data matches the expected NeuronType values (converted to int) - vector expectedData = {static_cast(vertexType::EXC), - static_cast(vertexType::INH), + vector expectedData = {static_cast(vertexType::EXC), static_cast(vertexType::INH), static_cast(vertexType::EXC)}; - + ASSERT_EQ(expectedData.size(), dataBuffer.size()); for (size_t i = 0; i < expectedData.size(); ++i) { EXPECT_EQ(expectedData[i], dataBuffer[i]); @@ -288,7 +287,7 @@ TEST(Hdf5RecorderTest, CompileHistoriesVertexTypeTest) // Call compileHistories() multiple times to simulate multiple epochs for (int epoch = 0; epoch < 3; ++epoch) { - // Clear and insert new NeuronType values + // Clear and insert new NeuronType values eventBufferNeuron.clear(); eventBufferNeuron.insertEvent(static_cast(vertexType::EXC)); eventBufferNeuron.insertEvent(static_cast(vertexType::INH)); diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index f9074f03b..8f9bb1d66 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -105,7 +105,7 @@ TEST(XmlRecorderTest, RegisterVectorVertexTypeTest) // Create an instance of XmlRecorder XmlRecorder recorder; - // Create a RecordableVector + // Create a RecordableVector RecordableVector vertTypes; vertTypes.resize(2); vertTypes[0] = vertexType::EXC; @@ -170,7 +170,8 @@ TEST(XmlRecorderTest, CompileHistoriesTest) // Call the compileHistories method recorderTest_->compileHistories(); - vector> history = recorderTest_->getHistory(0); + vector> history + = recorderTest_->getHistory(0); // Verify the events compiled hisotry uint64_t data = 1; @@ -198,7 +199,9 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; os << " "; @@ -261,19 +264,19 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) { std::string outputFile = "../Testing/UnitTesting/TestOutput/test_vertex_type.xml"; unique_ptr recorderTest_(new XmlRecorder(outputFile)); - - // Create a recordable vector + + // Create a recordable vector RecordableVector vertTypes; vertTypes.resize(2); - vertTypes[0] = vertexType::EXC; - vertTypes[1] = vertexType::INH; + vertTypes[0] = vertexType::EXC; + vertTypes[1] = vertexType::INH; // Register the RecordableVector of VertexTypes recorderTest_->registerVariable("VertexTypes", vertTypes, Recorder::UpdatedType::DYNAMIC); // initialize the XmlRecorder object recorderTest_->init(); - + // Call the compileHistories method recorderTest_->compileHistories(); // Call the saveSimData() function @@ -284,7 +287,7 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) std::stringstream outputBuffer; outputBuffer << inputFile.rdbuf(); inputFile.close(); - + // checks for saving simulation data vector> mock_history = {vertexType::EXC, vertexType::INH}; @@ -292,7 +295,8 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) std::string expect_header = "\n"; std::string expect_end = "\n"; std::string expectXML - = expect_header + recorderTest_->getToXML("VertexTypes", mock_history, typeid(vertexType).name()) + = expect_header + + recorderTest_->getToXML("VertexTypes", mock_history, typeid(vertexType).name()) + expect_end; // Vertify the output string ASSERT_EQ(outputBuffer.str(), expectXML); From 620504df10b131841406d6bc879b5601940b9850 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Sun, 23 Feb 2025 00:13:48 -0800 Subject: [PATCH 043/153] Fix Clang-Tidy --- Simulator/Recorders/Hdf5Recorder.h | 7 ++++--- Simulator/Recorders/RecordableBase.h | 2 +- Simulator/Utils/VertexType.h | 2 +- Testing/UnitTesting/Hdf5RecorderTests.cpp | 2 +- 4 files changed, 7 insertions(+), 6 deletions(-) diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index c2f87c927..c6212369a 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -138,9 +138,10 @@ class Hdf5Recorder : public Recorder { } else if (hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableLocation_.getNumElements()); for (int i = 0; i < variableLocation_.getNumElements(); ++i) { - if constexpr (std::is_same_v - (variableLocation_.getElement(i)))>>) { - dataBuffer[i] = static_cast(get(variableLocation_.getElement(i))); + if constexpr (std::is_same_v( + variableLocation_.getElement(i)))>>) { + dataBuffer[i] + = static_cast(get(variableLocation_.getElement(i))); } else { dataBuffer[i] = get(variableLocation_.getElement(i)); } diff --git a/Simulator/Recorders/RecordableBase.h b/Simulator/Recorders/RecordableBase.h index 6a63b3139..74da8a807 100644 --- a/Simulator/Recorders/RecordableBase.h +++ b/Simulator/Recorders/RecordableBase.h @@ -14,9 +14,9 @@ #pragma once using namespace std; +#include "VertexType.h" #include #include -#include "VertexType.h" #include #include // cereal diff --git a/Simulator/Utils/VertexType.h b/Simulator/Utils/VertexType.h index 1153e0db4..cf4039945 100644 --- a/Simulator/Utils/VertexType.h +++ b/Simulator/Utils/VertexType.h @@ -42,4 +42,4 @@ inline std::ostream &operator<<(std::ostream &os, vertexType vT) return os; } -#endif // VERTEX_TYPE_H \ No newline at end of file +#endif // VERTEX_TYPE_H \ No newline at end of file diff --git a/Testing/UnitTesting/Hdf5RecorderTests.cpp b/Testing/UnitTesting/Hdf5RecorderTests.cpp index ddb0241bf..327b989b2 100644 --- a/Testing/UnitTesting/Hdf5RecorderTests.cpp +++ b/Testing/UnitTesting/Hdf5RecorderTests.cpp @@ -207,7 +207,7 @@ TEST(Hdf5RecorderTest, SaveSimDataVertexTypeTest) // Verify the data matches the expected NeuronType values (converted to int) vector expectedData = {static_cast(vertexType::EXC), static_cast(vertexType::INH), static_cast(vertexType::EXC)}; - + ASSERT_EQ(expectedData.size(), dataBuffer.size()); for (size_t i = 0; i < expectedData.size(); ++i) { EXPECT_EQ(expectedData[i], dataBuffer[i]); From e42d75081611e062a75bbe17ce88043666d22728 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Sun, 23 Feb 2025 00:43:52 -0800 Subject: [PATCH 044/153] Fix clang-format violations --- Testing/UnitTesting/XmlRecorderTests.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 8f9bb1d66..c1be91784 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -199,8 +199,8 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; From 48041ac4a991623e6e5bedec9b09ce9044843ab1 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Sun, 23 Feb 2025 00:48:23 -0800 Subject: [PATCH 045/153] Fix clang-format violations --- Testing/UnitTesting/XmlRecorderTests.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index c1be91784..8f9bb1d66 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -199,8 +199,8 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; From 78854160c3deb15c4ddd153fa93649a6edcb1441 Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Tue, 25 Feb 2025 21:04:26 -0800 Subject: [PATCH 046/153] Fix for issue #788 Majority of links updated. PlantUML link is more than just a broken link, and may require an alternative repo. Should be opened as its' own issue. --- docs/Developer/GHActions.md | 7 ++++++- docs/Developer/index.md | 2 +- docs/Testing/index.md | 9 +++++++-- docs/User/installation.md | 37 ++++++++++++++++++++++++++----------- 4 files changed, 40 insertions(+), 15 deletions(-) diff --git a/docs/Developer/GHActions.md b/docs/Developer/GHActions.md index 3c41a8c83..f4d5c85d3 100644 --- a/docs/Developer/GHActions.md +++ b/docs/Developer/GHActions.md @@ -12,5 +12,10 @@ The manual GitHub Pages action is a feature that came from wanting to quickly pu ## PlantUML Action plantUML.yml -The plantUML action occurs anytime a plantUML file is modified or added during a pull request or a push to the master branch. These .puml files are supposed to be located in the UML folder within the Developer folder. This action starts by checking out the repository using [actions/checkout](https://github.com/actions/checkout) with a fetch depth of 0. The next step is to grab all of the .puml files that need to be turned into images. This is done by using a basic bash command to grab all .puml files which is then piped into an awk script to parse out the unnecessary files and construct an output string with all the necessary files. The output string will look like so: "file1.puml file2.puml file3.puml file4.puml\n". This output string is then confirmed by an echo command which prints out the string to the actions terminal. Next, the .png and .svg files are generated from the .puml files in the output string using [cloudbees/plantuml-github-action](https://github.com/cloudbees/plantuml-github-action). These files are placed within the diagrams folder located within the UML folder. Lastly, the local changes are committed then pushed to the remote repository using [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). +The plantUML action occurs anytime a plantUML file is modified or added during a pull request or a push to the master branch. These .puml files are supposed to be located in the UML folder within the Developer folder. This action starts by checking out the repository using [actions/checkout](https://github.com/actions/checkout) with a fetch depth of 0. The next step is to grab all of the .puml files that need to be turned into images. This is done by using a basic bash command to grab all .puml files which is then piped into an awk script to parse out the unnecessary files and construct an output string with all the necessary files. The output string will look like so: "file1.puml file2.puml file3.puml file4.puml\n". This output string is then confirmed by an echo command which prints out the string to the actions terminal. Next, the .png and .svg files are generated from the .puml files in the output string using [cloudbees/plantuml-github-action]. These files are placed within the diagrams folder located within the UML folder. Lastly, the local changes are committed then pushed to the remote repository using [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). + +[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) +[//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) + + [cloudbees/plantuml-github-action]: \ No newline at end of file diff --git a/docs/Developer/index.md b/docs/Developer/index.md index 125e4fc9a..3290644d7 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -52,7 +52,7 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d [<< Go back to the Graphitti home page](../index.md) [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) -[//]: # (Links to repo items which exist outside of the docs folder need a direct link.) +[//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) [contributing guide]: [Visit Doxygen Generated Documentation]: diff --git a/docs/Testing/index.md b/docs/Testing/index.md index 4903a29c7..19b553166 100644 --- a/docs/Testing/index.md +++ b/docs/Testing/index.md @@ -4,14 +4,14 @@ Information on test config files for regression testing, and testing that has be ## 3.1 Unit Tests -We use [GoogleTest](GoogleTestsTutorial.md) to develop our unit tests. +We use [GoogleTest](../Developer/GoogleTestsTutorial.md) to develop our unit tests. To integrate your unit tests using GoogleTest in Graphitti you can follow these steps: 1. Open the CMakeLists.txt file in the root directory of Graphitti 2. Locate at the bottom of the file where the `tests` executable is defined and add your test file to the list of source files. 3. Build and run your tests using the Graphitti build system and use `./tests` to run the unit tests. -Please note that Graphitti follows the [singleton design pattern](https://en.wikipedia.org/wiki/Singleton_pattern), and several of its classes, such as Simulator, ParameterManager, OperationManager, and GraphManager, are implemented as singletons. If your test scenario requires the instantiation of these classes, it may be necessary to create a separate executable specifically for your tests. +Please note that Graphitti follows the [singleton design pattern], and several of its classes, such as Simulator, ParameterManager, OperationManager, and GraphManager, are implemented as singletons. If your test scenario requires the instantiation of these classes, it may be necessary to create a separate executable specifically for your tests. By creating a separate executable, you can ensure that the singleton instances used in the test environment are isolated from the main application's singleton instances. This approach helps maintain the desired behavior and avoid segmentation fault errors. @@ -77,3 +77,8 @@ generated during the CPU execution, causing the result files to be different to --------- [<< Go back to the Graphitti home page](../index.md) + +[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) +[//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) + +[singleton design pattern]: \ No newline at end of file diff --git a/docs/User/installation.md b/docs/User/installation.md index 9870085c1..8363fe2bb 100644 --- a/docs/User/installation.md +++ b/docs/User/installation.md @@ -7,9 +7,9 @@ Graphitti is designed to be easy to use and fast to simulate with, but given its First, and perhaps most importantly, for the speedups that we desire, we found that **CUDA** was the most reasonable way to go. Hence,  if you want to use Graphitti for migrating your model to GPUs, you will need the following: - **Linux**: Currently, Graphitti only works on Linux. Any distro that supports **GNU-Make** and your chosen NVIDIA graphics card (if going the GPU route) should work. Make sure you have these packages: -- **NVIDIA GPU**: If you want your simulator to run on GPUs, you must use an NVIDIA GPU that is CUDA capable. Check NVIDIA's website for an up-to-date [list](https://developer.nvidia.com/cuda-gpus) of CUDA-compliant devices. -- [**CUDA**](https://developer.nvidia.com/cuda-downloads): if you intend to use the GPU functionality for high performance. Graphitti has been tested running on CUDA Version 8.0.44. -- [HDF5](https://support.hdfgroup.org/HDF5/): HDF5 is a data model, library, and file format for storing and managing data. For example, Matlab has built-in functions that can easily manage, view, and analyze data in HDF5 format. To install HDF5, simply follow the website instructions. If you don't wish to use HDF5, you can use the XML format which is also supported. +- **NVIDIA GPU**: If you want your simulator to run on GPUs, you must use an NVIDIA GPU that is CUDA capable. Check NVIDIA's website for an up-to-date [list] of CUDA-compliant devices. +- [**CUDA**]: if you intend to use the GPU functionality for high performance. Graphitti has been tested running on CUDA Version 8.0.44. +- [HDF5]: HDF5 is a data model, library, and file format for storing and managing data. For example, Matlab has built-in functions that can easily manage, view, and analyze data in HDF5 format. To install HDF5, simply follow the website instructions. If you don't wish to use HDF5, you can use the XML format which is also supported. To become a Graphitti user or collaborator, you might also need: @@ -19,11 +19,11 @@ To become a Graphitti user or collaborator, you might also need: Of course, Graphitti is totally open source. If you wanted, you could modify Graphitti and make an OpenCL version. ## 1.2.2 Download Graphitti -In order to get started with Graphitti, you will need to build it from scratch, which means getting its source codes. You can either download Graphitti source codes as a zip file of a stable release (See [the release page](https://github.com/UWB-Biocomputing/Graphitti/releases)) or fork the development version from Graphitti GitHub repository (See [Fork and clone Graphitti](#1221-fork-and-clone-graphitti)). +In order to get started with Graphitti, you will need to build it from scratch, which means getting its source codes. You can either download Graphitti source codes as a zip file of a stable release (See [the release page] or fork the development version from Graphitti GitHub repository (See [Fork and clone Graphitti](#1221-fork-and-clone-graphitti)). ### 1.2.2.1 Fork and clone Graphitti -If you are a Github user, you can simply fork and clone Graphitti. If you are new to Github, follow our Wiki page on [Contribute to Graphitti open source project](https://github.com/UWB-Biocomputing/BrainGrid/wiki/Contribute-to-BrainGrid-open-source-project). You can also go over our [Git Crash Course](https://github.com/UWB-Biocomputing/BrainGrid/wiki/Git-Crash-Course) for some useful tips. +If you are a Github user, you can simply fork and clone Graphitti. If you are new to Github, follow our Wiki page on [Contribute to Graphitti open source project]. You can also go over our [Git Crash Course] for some useful tips. ## 1.2.3 Install Graphitti -In order to compile and run Graphitti, you will need to set up a couple things in the [**CMakeLists.txt**](https://github.com/UWB-Biocomputing/Graphitti/blob/master/CMakeLists.txt) first. +In order to compile and run Graphitti, you will need to set up a couple things in the [**CMakeLists.txt**] first. 1. Change to Graphitti directory in your terminal @@ -39,10 +39,10 @@ In order to compile and run Graphitti, you will need to set up a couple things i - you might also need to add your CUDA home directory into the ```PATH``` environment variable 3. Graphitti is written in C++11 and CUDA C/C++. Make sure you have all these dependencies in order to compile Graphitti: - - [make](https://www.gnu.org/software/make/) - - [g++](https://gcc.gnu.org/) - - [h5c++](https://support.hdfgroup.org/HDF5/Tutor/compile.html): compile script for HDF5 C++ programs - - [nvcc](http://docs.nvidia.com/cuda/cuda-compiler-driver-nvcc/#axzz4ftSRZe00): if you are using GPU for high performance, nvcc is the compiler by Nvidia for use with CUDA + - [make] + - [g++] + - [h5c++]: compile script for HDF5 C++ programs + - [nvcc]: if you are using GPU for high performance, nvcc is the compiler by Nvidia for use with CUDA --------- [>> Next: 1.3 Quickstart](quickstart.md) @@ -51,4 +51,19 @@ In order to compile and run Graphitti, you will need to set up a couple things i [<< Go back to User Documentation page](index.md) --------- -[<< Go back to Graphitti home page](http://uwb-biocomputing.github.io/Graphitti/) \ No newline at end of file +[<< Go back to Graphitti home page](http://uwb-biocomputing.github.io/Graphitti/) + +[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) +[//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) + + [Contribute to Graphitti open source project]: + [**CMakeLists.txt**]: + [Git Crash Course]: + [the release page]: + [h5c++]: + [nvcc]: + [make]: + [g++]: + [**CUDA**]: + [HDF5]: + [list]: \ No newline at end of file From 27890a182ae8e0841b1fc0018be08a5f0a6e00e0 Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Tue, 25 Feb 2025 22:12:29 -0800 Subject: [PATCH 047/153] Documentation Update Updated table of contents to remove redundancies and relegated notes to their own subsection. --- docs/{ => RebuildNotes}/Glossary.md | 0 docs/{ => RebuildNotes}/Resources.md | 0 docs/RebuildNotes/index.md | 32 +++++++++++++++ docs/User/installation.md | 27 +++++++----- docs/index.md | 61 +++++++--------------------- 5 files changed, 63 insertions(+), 57 deletions(-) rename docs/{ => RebuildNotes}/Glossary.md (100%) rename docs/{ => RebuildNotes}/Resources.md (100%) create mode 100644 docs/RebuildNotes/index.md diff --git a/docs/Glossary.md b/docs/RebuildNotes/Glossary.md similarity index 100% rename from docs/Glossary.md rename to docs/RebuildNotes/Glossary.md diff --git a/docs/Resources.md b/docs/RebuildNotes/Resources.md similarity index 100% rename from docs/Resources.md rename to docs/RebuildNotes/Resources.md diff --git a/docs/RebuildNotes/index.md b/docs/RebuildNotes/index.md new file mode 100644 index 000000000..6fa611722 --- /dev/null +++ b/docs/RebuildNotes/index.md @@ -0,0 +1,32 @@ +# 4. Glossary & Notes + +General notes for various parts of the Graphitti system. + +## 4.1 General Notes + + [General Notes](RebuildNotes/GeneralNotes.md) + + [Layout Notes](RebuildNotes/LayoutsNotes.md) + + [Connections Notes](RebuildNotes/ConnectionsNotes.md) + + [Neuron Notes](RebuildNotes/NeuronsNotes.md) + + [Synapses Notes](RebuildNotes/SynapsesNotes.md) + + [Recorder Notes](RebuildNotes/RecordersNotes.md) + +## 4.2 Glossary + + [Glossary](RebuildNotes/Glossary.md) + +## 4.3 Useful Resources + + [Recommended resources](Resources.md) to browse + +## Tools + +Here is documentation on the [GIS to GEXF](Tools/GIStoGraph.md) tool. This tool reads in Geographic Information Systems data, constructs a graph based on that data, and produces GEXF and GraphML formatted XML files that we can then pass into the Emergency Services Communication Systems simulation. + +--------- +[<< Go back to Graphitti home page](../index.md) \ No newline at end of file diff --git a/docs/User/installation.md b/docs/User/installation.md index 8363fe2bb..d995550df 100644 --- a/docs/User/installation.md +++ b/docs/User/installation.md @@ -1,5 +1,9 @@ # 1.2 Installation +For student installation and quickstart, see [student quickstart]. + +For all others, see below. + ## 1.2.1 Necessary Hardware/Software Graphitti is designed to be easy to use and fast to simulate with, but given its scope and flexibility, there are some tradeoffs. @@ -56,14 +60,15 @@ In order to compile and run Graphitti, you will need to set up a couple things i [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) [//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) - [Contribute to Graphitti open source project]: - [**CMakeLists.txt**]: - [Git Crash Course]: - [the release page]: - [h5c++]: - [nvcc]: - [make]: - [g++]: - [**CUDA**]: - [HDF5]: - [list]: \ No newline at end of file +[Contribute to Graphitti open source project]: +[**CMakeLists.txt**]: +[Git Crash Course]: +[the release page]: +[h5c++]: +[nvcc]: +[make]: +[g++]: +[**CUDA**]: +[HDF5]: +[list]: +[student quickstart]: (../Developer/StudentSetup.md) \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index c1d199b4b..851ca3515 100644 --- a/docs/index.md +++ b/docs/index.md @@ -10,68 +10,37 @@ 1.3 [Quickstart](User/quickstart.md) - 1.3.1 [UWB Student Quickstart](Developer/StudentSetup.md) - 1.4 [Configuration](User/configuration.md) 2. [Developer Documentation](Developer/index.md) - 2.1 [Student Quick Start](Developer/StudentSetup.md) - - 2.2 [GitFlow Documentation](Developer/GitFlowDiagram.md) + 2.1 [GitFlow Documentation](Developer/GitFlowDiagram.md) - 2.3 [Code Formatting Etiquettes](Developer/codingConventions.md) + 2.2 [Code Formatting Etiquettes](Developer/codingConventions.md) - 2.4 [C++ design and Coding standards](Developer/cppStyleGuide.md) + 2.3 [C++ design and Coding standards](Developer/cppStyleGuide.md) - 2.5 [Graphitti Repository Tools and Workflows](Developer/index.md) + 2.4 [Graphitti Repository Tools and Workflows](Developer/index.md) - 2.6 [Graphitti System Documentation](Developer/index.md) + 2.5 [Graphitti System Documentation](Developer/index.md) - 2.7 [Unit Tests](Developer/UnitTests.md) - - 2.8 [Serialization](Developer/Serialization.md) - -4. [Testing](Testing/index.md) - - 3.1 Array Performance Testing - - 3.2 Dynamic Cast Performance Testing - - 3.3 Test Config Files - -5. Notes + 2.6 [Unit Tests](Developer/UnitTests.md) - 4.1 [General Notes](RebuildNotes/GeneralNotes.md) + 2.7 [Serialization](Developer/Serialization.md) - 4.2 [Layout Notes](RebuildNotes/LayoutsNotes.md) - - 4.3 [Connections Notes](RebuildNotes/ConnectionsNotes.md) - - 4.4 [Neuron Notes](RebuildNotes/NeuronsNotes.md) - - 4.5 [Synapses Notes](RebuildNotes/SynapsesNotes.md) - - 4.6 [Recorder Notes](RebuildNotes/RecordersNotes.md) - -6. [Glossary](Glossary.md) - - 5.1 Graph Vocabulary - - 5.2 Neuroscience Vocabulary - +3. [Testing](Testing/index.md) -## Extra Resources + 3.1 [Array Performance Testing](Testing/ArrayPerformance/ArrayPerformance.md) -Here are some [recommended resources](Resources.md) to browse + 3.2 [Dynamic Cast Performance Testing](Testing/CastingTest/CastingTest.md) -## Tools + 3.3 [Test Config Files](Testing/TestConfigFileParameters/testConfigFileParameters.md) -Here is documentation on the [GIS to GEXF](Tools/GIStoGraph.md) tool. This tool reads in Geographic Information Systems data, constructs a graph based on that data, and produces GEXF and GraphML formatted XML files that we can then pass into the Emergency Services Communication Systems simulation. +4. [Glossary & Notes](RebuildNotes/index.md) -## Code of Conduct +## [Code of Conduct] -Our [code of conduct]. +Our [code of conduct] by which Graphitti has been developed. ## [Acknowledgements](acknowledgements.md) @@ -83,4 +52,4 @@ Those who have helped make Graphitti what it is and shaping what it will be. [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) [//]: # (Links to repo items which exist outside of the docs folder need a direct link.) - [code of conduct]: \ No newline at end of file +[Code of Conduct]: \ No newline at end of file From e79241c88f5a867789d2d9f9f1f5972e5de423f6 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 27 Feb 2025 14:49:15 -0800 Subject: [PATCH 048/153] Fix minor formatting issues in XmlRecorderTests.cpp --- Testing/UnitTesting/XmlRecorderTests.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 8f9bb1d66..1a39bab12 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -199,9 +199,7 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; os << " "; From 8f1b4a8fd78131e3ce5caaa1bbcab5eed3ac54b8 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 27 Feb 2025 18:41:20 -0800 Subject: [PATCH 049/153] Validation mode logging implementation --- CMakeLists.txt | 15 ++++- Simulator/Core/GPUModel.cpp | 63 ++++++++++++++++---- Simulator/Core/GPUModel.h | 5 ++ Simulator/Core/Simulator.cpp | 1 + Simulator/Vertices/AllVertices.cpp | 1 + Simulator/Vertices/AllVertices.h | 3 + Simulator/Vertices/Neuro/AllIFNeurons_d.cpp | 6 ++ Simulator/Vertices/Neuro/AllIZHNeurons.cpp | 18 ++++-- Simulator/Vertices/Neuro/AllLIFNeurons.cpp | 43 ++++++++----- Simulator/Vertices/Neuro/AllLIFNeurons.h | 3 +- Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp | 4 +- 11 files changed, 127 insertions(+), 35 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9ac4b2941..995c34067 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,6 +36,11 @@ if(NOT DEFINED TARGET_ARCH) set(TARGET_ARCH 37) endif() +#CONDITIONAL FLAG to turn on the validation mode +if(NOT VALIDATION_MODE) + set(VALIDATION_MODE NO) +endif() + #Creates the Graphitti project with the correct languages, depending on if using GPU or not #If using CUDA, also verify the CUDA package and set the required CUDA variables if(ENABLE_CUDA) @@ -102,7 +107,7 @@ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -pg") if(CMAKE_BUILD_TYPE STREQUAL "Debug") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_DEBUG}") if(ENABLE_CUDA) - set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -G") + set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} -g -G") endif() elseif(CMAKE_BUILD_TYPE STREQUAL "Release") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_RELEASE}") @@ -150,6 +155,11 @@ if(PERFORMANCE_METRICS) add_definitions(-DPERFORMANCE_METRICS) endif() +if(VALIDATION_MODE) + message("-- Setting VALIDATION_MODE: ON") + add_definitions(-DVALIDATION_MODE) +endif() + #HDF5 Support, finds HDF5 package for C and C++ and links the hdf5 libraries to the executable \ # later in the file. find_package(HDF5 COMPONENTS C CXX) @@ -528,4 +538,5 @@ unset(PERFORMANCE_METRICS CACHE) unset(GPROF CACHE) unset(CMAKE_BUILD_TYPE CACHE) unset(NVTX_LIBRARY CACHE) -unset(TARGET_ARCH CACHE) \ No newline at end of file +unset(TARGET_ARCH CACHE) +unset(VALIDATION_MODE CACHE) \ No newline at end of file diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index bc1d275d1..d8c1cc533 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -13,7 +13,10 @@ #include "AllVertices.h" #include "Connections.h" #include "Global.h" - +#ifdef VALIDATION_MODE + #include "AllIFNeurons.h" + #include "OperationManager.h" +#endif #ifdef PERFORMANCE_METRICS float g_time; cudaEvent_t start, stop; @@ -144,19 +147,21 @@ void GPUModel::advance() AllVertices &neurons = layout_->getVertices(); AllEdges &synapses = connections_->getEdges(); - //#ifdef VALIDATION_MODE - // int verts = Simulator::getInstance().getTotalVertices(); - // std::vector randNoise_h(verts); +#ifdef VALIDATION_MODE + int verts = Simulator::getInstance().getTotalVertices(); + std::vector randNoise_h(verts); + for (int i = verts - 1; i >= 0; i--) { + randNoise_h[i] = (*noiseRNG)(); + } + //static int testNumbers = 0; // for (int i = 0; i < verts; i++) { - // randNoise_h[i] = noiseRNG->rand(); + // outFile << "index: " << i << " " << randNoise_h[i] << endl; // } - // cudaMemcpy(randNoise_d, randNoise_h.data(), verts * sizeof(float), cudaMemcpyHostToDevice); - //#endif // VALIDATION_MODE - - //#else VALIDATION_MODE + cudaMemcpy(randNoise_d, randNoise_h.data(), verts * sizeof(float), cudaMemcpyHostToDevice); +#else normalMTGPU(randNoise_d); - //#endif - +#endif +//LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_rndGeneration); cudaStartTimer(); @@ -167,7 +172,43 @@ void GPUModel::advance() dynamic_cast(neurons).advanceVertices(connections_->getEdges(), allVerticesDevice_, allEdgesDevice_, randNoise_d, synapseIndexMapDevice_); +#ifdef VALIDATION_MODE + //(AllIFNeuronsDeviceProperties *)allVerticesDevice, + log4cplus::Logger vertexLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("vertex")); + std::vector sp_h(verts); + std::vector vm_h(verts); + std::vector Inoise_h(verts); + HANDLE_ERROR(cudaMemcpy(sp_h.data(), allVerticesDevice_->summationPoints_, verts * sizeof(float), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR( + cudaMemcpy(sp_h.data(), randNoise_d, verts * sizeof(float), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(vm_h.data(), ((AllIFNeuronsDeviceProperties *)(allVerticesDevice_))->Vm_, + verts * sizeof(float), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(Inoise_h.data(), + ((AllIFNeuronsDeviceProperties *)(allVerticesDevice_))->Inoise_, + verts * sizeof(float), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(sp_h.data(), allVerticesDevice_->spValidation_, verts * sizeof(float), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < verts; i++) { + LOG4CPLUS_DEBUG(vertexLogger_, "CUDA advance Index[ " + << i << "] :: Noise = " << randNoise_h[i] + << "\tVm: " << vm_h[i] << endl + << "\tsp = " << sp_h[i] << endl + << "\tInoise = " << Inoise_h[i] << endl); + } +#endif +//LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON LIF[" << index << "] :: Noise = " << noise); +//LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); +// LOG4CPLUS_DEBUG(vertexLogger_, "NEURON[" << index << "] {" << endl +// << "\tVm = " << Vm << endl +// << "\tVthresh = " << Vthresh << endl +// << "\tsummationPoint = " << summationPoint << endl +// << "\tI0 = " << I0 << endl +// << "\tInoise = " << Inoise << endl +// << "\tC1 = " << C1 << endl +// << "\tC2 = " << C2 << endl +// << "}" << endl); #ifdef PERFORMANCE_METRICS cudaLapTime(t_gpu_advanceNeurons); cudaStartTimer(); diff --git a/Simulator/Core/GPUModel.h b/Simulator/Core/GPUModel.h index fc5254d68..5dc857128 100644 --- a/Simulator/Core/GPUModel.h +++ b/Simulator/Core/GPUModel.h @@ -38,6 +38,11 @@ #include "AllSpikingNeurons.h" #include "AllSpikingSynapses.h" +#ifdef VALIDATION_MODE + #include + #include +#endif // VALIDATION_MODE + #ifdef __CUDACC__ #include "Book.h" #endif diff --git a/Simulator/Core/Simulator.cpp b/Simulator/Core/Simulator.cpp index 1e5fae4c4..e4a42d9df 100644 --- a/Simulator/Core/Simulator.cpp +++ b/Simulator/Core/Simulator.cpp @@ -31,6 +31,7 @@ Simulator::Simulator() consoleLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); + fileLogger_.setLogLevel(log4cplus::DEBUG_LOG_LEVEL); edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge")); workbenchLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("workbench")); diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index c8d907666..c97165541 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -25,6 +25,7 @@ AllVertices::AllVertices() : size_(0) // Get a copy of the file and vertex logger to use log4cplus macros to print to debug files fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); vertexLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("vertex")); + vertexLogger_.setLogLevel(log4cplus::DEBUG_LOG_LEVEL); } /// Setup the internal structure of the class (allocate memories). diff --git a/Simulator/Vertices/AllVertices.h b/Simulator/Vertices/AllVertices.h index b929dbd0b..4309406cf 100644 --- a/Simulator/Vertices/AllVertices.h +++ b/Simulator/Vertices/AllVertices.h @@ -155,6 +155,9 @@ struct AllVerticesDeviceProperties { /// On the next advance cycle, vertices add the values stored in their corresponding /// summation points to their Vm and resets the summation points to zero BGFLOAT *summationPoints_; + #ifdef VALIDATION_MODE + BGFLOAT *spValidation_; + #endif }; #endif // defined(USE_GPU) diff --git a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp index ec9c1341d..8553b0152 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp @@ -50,6 +50,9 @@ void AllIFNeurons::allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDe HANDLE_ERROR( cudaMalloc((void **)&allVerticesDevice.numStepsInRefractoryPeriod_, count * sizeof(int))); HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.summationPoints_, count * sizeof(BGFLOAT))); +#ifdef VALIDATION_MODE + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.spValidation_, count * sizeof(BGFLOAT))); +#endif HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.spikeHistory_, count * sizeof(uint64_t *))); uint64_t *pSpikeHistory[count]; @@ -107,6 +110,9 @@ void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesD HANDLE_ERROR(cudaFree(allVerticesDevice.hasFired_)); HANDLE_ERROR(cudaFree(allVerticesDevice.numStepsInRefractoryPeriod_)); HANDLE_ERROR(cudaFree(allVerticesDevice.summationPoints_)); +#ifdef VALIDATION_MODE + HANDLE_ERROR(cudaFree(allVerticesDevice.spValidation_)); +#endif HANDLE_ERROR(cudaFree(allVerticesDevice.spikeHistory_)); } diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons.cpp index 8f38f4cf0..50d368658 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons.cpp @@ -224,17 +224,27 @@ void AllIZHNeurons::advanceNeuron(int index) BGFLOAT &u = this->u_[index]; if (nStepsInRefr > 0) { - // is neuron refractory? + // is neuron refractory? + #ifdef VALIDATION_MODE + BGFLOAT noise = (*noiseRNG)(); + LOG4CPLUS_DEBUG(vertexLogger_, "REFRACTORY NEURON IZH[" << index << "] :: Noise = " << noise); + #endif --nStepsInRefr; } else if (Vm >= Vthresh) { - // should it fire? + // should it fire? + #ifdef VALIDATION_MODE + BGFLOAT noise = (*noiseRNG)(); + LOG4CPLUS_DEBUG(vertexLogger_, "FIRE NEURON IZH[" << index << "] :: Noise = " << noise); + #endif fire(index); } else { summationPoint += I0; // add IO // add noise BGFLOAT noise = (*noiseRNG)(); - // Happens really often, causes drastic slow down - // DEBUG_MID(cout << "ADVANCE NEURON[" << index << "] :: noise = " << noise << endl;) + // Happens really often, causes drastic slow down + #ifdef VALIDATION_MODE + LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON IZH[" << index << "] :: Noise = " << noise); + #endif summationPoint += noise * Inoise; // add noise BGFLOAT Vint = Vm * 1000; diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons.cpp index 8fde11da2..e770592a9 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons.cpp @@ -33,33 +33,46 @@ void AllLIFNeurons::advanceNeuron(int index) int &nStepsInRefr = this->numStepsInRefractoryPeriod_[index]; if (nStepsInRefr > 0) { - // is neuron refractory? + // is neuron refractory? + #ifdef VALIDATION_MODE + BGFLOAT noise = (*noiseRNG)(); + LOG4CPLUS_DEBUG(vertexLogger_, "neuron refractory LIF[" << index << "] :: Noise = " << noise); + #endif --nStepsInRefr; } else if (Vm >= Vthresh) { - // should it fire? + // should it fire? + #ifdef VALIDATION_MODE + BGFLOAT noise = (*noiseRNG)(); + LOG4CPLUS_DEBUG(vertexLogger_, "FIRE NEURON LIF[" << index << "] :: Noise = " << noise); + #endif fire(index); } else { summationPoint += I0; // add IO // add noise BGFLOAT noise = (*noiseRNG)(); - //LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON[" << index << "] :: Noise = " << noise); + #ifdef VALIDATION_MODE + LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON LIF[" << index << "] :: Noise = " << noise); + #endif summationPoint += noise * Inoise; // add noise Vm = C1 * Vm + C2 * summationPoint; // decay Vm and add inputs } - // clear synaptic input for next time step - summationPoint = 0; // Causes a huge slowdown since it's printed so frequently - // LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); - // LOG4CPLUS_DEBUG(vertexLogger_, "NEURON[" << index << "] {" << endl - // << "\tVm = " << Vm << endl - // << "\tVthresh = " << Vthresh << endl - // << "\tsummationPoint = " << summationPoint << endl - // << "\tI0 = " << I0 << endl - // << "\tInoise = " << Inoise << endl - // << "\tC1 = " << C1 << endl - // << "\tC2 = " << C2 << endl - // << "}" << endl); + #ifdef VALIDATION_MODE + LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); + LOG4CPLUS_DEBUG(vertexLogger_, "NEURON[" << index << "] {" << endl + << "\tVm = " << Vm << endl + << "\tVthresh = " << Vthresh << endl + << "\tsummationPoint = " << summationPoint << endl + << "\tI0 = " << I0 << endl + << "\tInoise = " << Inoise << endl + << "\tC1 = " << C1 << endl + << "\tC2 = " << C2 << endl + << "}" << endl); + #endif + + // clear synaptic input for next time step + summationPoint = 0; } /// Fire the selected Neuron and calculate the result. diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons.h b/Simulator/Vertices/Neuro/AllLIFNeurons.h index 63bde6618..a4007c50e 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllLIFNeurons.h @@ -113,7 +113,7 @@ class AllLIFNeurons : public AllIFNeurons { /// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. virtual void advanceVertices(AllEdges &synapses, void *allVerticesDevice, void *allEdgesDevice, float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) override; -#else // !defined(USE_GPU) +#else // !defined(USE_GPU) protected: /// Helper for #advanceNeuron. Updates state of a single neuron. /// @@ -124,7 +124,6 @@ class AllLIFNeurons : public AllIFNeurons { /// /// @param index Index of the neuron to fire. virtual void fire(int index); - #endif // defined(USE_GPU) }; diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp index 295352a50..25fcdf3be 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp @@ -181,7 +181,9 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max vm = allVerticesDevice->C1_[idx] * r_vm + allVerticesDevice->C2_[idx] * (r_sp); // decay Vm and add inputs } - +#ifdef VALIDATION_MODE + allVerticesDevice->spValidation_[idx] = r_sp; +#endif // clear synaptic input for next time step sp = 0; } From fb5bb3fe9247b1f9bec1055f6c68da6cfff42dec Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 27 Feb 2025 21:13:42 -0800 Subject: [PATCH 050/153] fixed cudaMemcpy bugs --- Simulator/Core/GPUModel.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index d8c1cc533..f3a9f1dfc 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -178,16 +178,14 @@ void GPUModel::advance() std::vector sp_h(verts); std::vector vm_h(verts); std::vector Inoise_h(verts); - HANDLE_ERROR(cudaMemcpy(sp_h.data(), allVerticesDevice_->summationPoints_, verts * sizeof(float), + AllIFNeuronsDeviceProperties validationNeurons; + HANDLE_ERROR(cudaMemcpy((void *)&validationNeurons, allVerticesDevice_, + sizeof(AllIFNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(sp_h.data(), validationNeurons.spValidation_, verts * sizeof(float), cudaMemcpyDeviceToHost)); - HANDLE_ERROR( - cudaMemcpy(sp_h.data(), randNoise_d, verts * sizeof(float), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(vm_h.data(), ((AllIFNeuronsDeviceProperties *)(allVerticesDevice_))->Vm_, - verts * sizeof(float), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Inoise_h.data(), - ((AllIFNeuronsDeviceProperties *)(allVerticesDevice_))->Inoise_, - verts * sizeof(float), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(sp_h.data(), allVerticesDevice_->spValidation_, verts * sizeof(float), + HANDLE_ERROR(cudaMemcpy(vm_h.data(), validationNeurons.Vm_, verts * sizeof(float), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(Inoise_h.data(), validationNeurons.Inoise_, verts * sizeof(float), cudaMemcpyDeviceToHost)); for (int i = 0; i < verts; i++) { From 7fe76a7d75837ca8263cfed1d9f7c995090420a9 Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 28 Feb 2025 02:45:51 -0800 Subject: [PATCH 051/153] increased max file size for vertices log file and logged the validation vertices from the gpu in reverse order to match the reverse order operation of advancing vertices --- Simulator/Core/GPUModel.cpp | 2 +- build/RuntimeFiles/log4cplus_configure.ini | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index f3a9f1dfc..43ec5fe79 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -188,7 +188,7 @@ void GPUModel::advance() HANDLE_ERROR(cudaMemcpy(Inoise_h.data(), validationNeurons.Inoise_, verts * sizeof(float), cudaMemcpyDeviceToHost)); - for (int i = 0; i < verts; i++) { + for (int i = verts - 1; i >= 0; i--) { LOG4CPLUS_DEBUG(vertexLogger_, "CUDA advance Index[ " << i << "] :: Noise = " << randNoise_h[i] << "\tVm: " << vm_h[i] << endl diff --git a/build/RuntimeFiles/log4cplus_configure.ini b/build/RuntimeFiles/log4cplus_configure.ini index 50566749a..47e15b211 100644 --- a/build/RuntimeFiles/log4cplus_configure.ini +++ b/build/RuntimeFiles/log4cplus_configure.ini @@ -38,7 +38,7 @@ log4cplus.appender.MyFileAppender.layout.ConversionPattern=[%-5p][%D{%Y/%m/%d %H #VertexFileAppender log4cplus.appender.VertexFileAppender=log4cplus::RollingFileAppender log4cplus.appender.VertexFileAppender.File=Output/Debug/vertices.txt -log4cplus.appender.VertexFileAppender.MaxFileSize=16MB +log4cplus.appender.VertexFileAppender.MaxFileSize=32MB log4cplus.appender.VertexFileAppender.MaxBackupIndex=1 log4cplus.appender.VertexFileAppender.layout=log4cplus::PatternLayout log4cplus.appender.VertexFileAppender.layout.ConversionPattern=[%-5p][%D{%Y/%m/%d %H:%M:%S:%q}][%-l] %m%n From 0c2164ff61aeb5a8243886d6fa5cad27a555426f Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 28 Feb 2025 11:00:46 -0800 Subject: [PATCH 052/153] matched log information in cgraphitti validation mode with ggraphitti validation mode to allow for easier comparison --- Simulator/Core/GPUModel.cpp | 6 ++-- Simulator/Vertices/Neuro/AllLIFNeurons.cpp | 38 +++++++++++++--------- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 43ec5fe79..10e74a4e5 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -189,9 +189,9 @@ void GPUModel::advance() cudaMemcpyDeviceToHost)); for (int i = verts - 1; i >= 0; i--) { - LOG4CPLUS_DEBUG(vertexLogger_, "CUDA advance Index[ " - << i << "] :: Noise = " << randNoise_h[i] - << "\tVm: " << vm_h[i] << endl + LOG4CPLUS_DEBUG(vertexLogger_, endl + << "Advance Index[" << i << "] :: Noise = " + << randNoise_h[i] << "\tVm: " << vm_h[i] << endl << "\tsp = " << sp_h[i] << endl << "\tInoise = " << Inoise_h[i] << endl); } diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons.cpp index e770592a9..752a9f8ad 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons.cpp @@ -32,26 +32,27 @@ void AllLIFNeurons::advanceNeuron(int index) BGFLOAT &C2 = this->C2_[index]; int &nStepsInRefr = this->numStepsInRefractoryPeriod_[index]; + BGFLOAT noise; if (nStepsInRefr > 0) { // is neuron refractory? #ifdef VALIDATION_MODE - BGFLOAT noise = (*noiseRNG)(); - LOG4CPLUS_DEBUG(vertexLogger_, "neuron refractory LIF[" << index << "] :: Noise = " << noise); + noise = (*noiseRNG)(); + //LOG4CPLUS_DEBUG(vertexLogger_, "neuron refractory LIF[" << index << "] :: Noise = " << noise); #endif --nStepsInRefr; } else if (Vm >= Vthresh) { // should it fire? #ifdef VALIDATION_MODE - BGFLOAT noise = (*noiseRNG)(); - LOG4CPLUS_DEBUG(vertexLogger_, "FIRE NEURON LIF[" << index << "] :: Noise = " << noise); + noise = (*noiseRNG)(); + //LOG4CPLUS_DEBUG(vertexLogger_, "FIRE NEURON LIF[" << index << "] :: Noise = " << noise); #endif fire(index); } else { summationPoint += I0; // add IO // add noise - BGFLOAT noise = (*noiseRNG)(); + noise = (*noiseRNG)(); #ifdef VALIDATION_MODE - LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON LIF[" << index << "] :: Noise = " << noise); + //LOG4CPLUS_DEBUG(vertexLogger_, "ADVANCE NEURON LIF[" << index << "] :: Noise = " << noise); #endif summationPoint += noise * Inoise; // add noise Vm = C1 * Vm + C2 * summationPoint; // decay Vm and add inputs @@ -59,16 +60,21 @@ void AllLIFNeurons::advanceNeuron(int index) // Causes a huge slowdown since it's printed so frequently #ifdef VALIDATION_MODE - LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); - LOG4CPLUS_DEBUG(vertexLogger_, "NEURON[" << index << "] {" << endl - << "\tVm = " << Vm << endl - << "\tVthresh = " << Vthresh << endl - << "\tsummationPoint = " << summationPoint << endl - << "\tI0 = " << I0 << endl - << "\tInoise = " << Inoise << endl - << "\tC1 = " << C1 << endl - << "\tC2 = " << C2 << endl - << "}" << endl); + LOG4CPLUS_DEBUG(vertexLogger_, endl + << "Advance Index[" << index << "] :: Noise = " << noise + << "\tVm: " << Vm << endl + << "\tsp = " << summationPoint << endl + << "\tInoise = " << Inoise << endl); + // LOG4CPLUS_DEBUG(vertexLogger_, "Index: " << index << " Vm: " << Vm); + // LOG4CPLUS_DEBUG(vertexLogger_, "NEURON[" << index << "] {" << endl + // << "\tVm = " << Vm << endl + // << "\tVthresh = " << Vthresh << endl + // << "\tsummationPoint = " << summationPoint << endl + // << "\tI0 = " << I0 << endl + // << "\tInoise = " << Inoise << endl + // << "\tC1 = " << C1 << endl + // << "\tC2 = " << C2 << endl + // << "}" << endl); #endif // clear synaptic input for next time step From 15d55935c31ad36556a62c12013d28de1f0678f4 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Mon, 3 Mar 2025 22:52:17 -0800 Subject: [PATCH 053/153] Updated Hdf5Recorder.cpp and Hdf5Recorder.h --- Simulator/Recorders/Hdf5Recorder.cpp | 10 +++++++++- Simulator/Recorders/Hdf5Recorder.h | 10 +++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index b0eeaf134..84d9b4895 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -189,13 +189,21 @@ void Hdf5Recorder::compileHistories() } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableInfo.variableLocation_.getNumElements()); for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { - if constexpr (std::is_same_v< + // For type int, a distinction needs to be made between vertexType and regular integers + // Since vertexType is an enum class, it needs to first be converted to an integer before storing + + // 'decltype' determines the type at compile time + // 'decay_t' removes any references/const from the type + // This simplifies comparisons through 'is_same_v' to ensure type matches vertexType + if (std::is_same_v< vertexType, std::decay_t( variableInfo.variableLocation_.getElement(i)))>>) { + // If type matches vertexType, convert to int before storing dataBuffer[i] = static_cast( get(variableInfo.variableLocation_.getElement(i))); } else { + // Otherwise, store as a regular integer dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); } } diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index c6212369a..99dffa2ae 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -138,11 +138,19 @@ class Hdf5Recorder : public Recorder { } else if (hdf5Datatype_ == PredType::NATIVE_INT) { vector dataBuffer(variableLocation_.getNumElements()); for (int i = 0; i < variableLocation_.getNumElements(); ++i) { - if constexpr (std::is_same_v( + // For type int, a distinction needs to be made between vertexType and regular integers + // Since vertexType is an enum class, it needs to first be converted to an integer before storing + + // 'decltype' determines the type at compile time + // 'decay_t' removes any references/const from the type + // This simplifies comparisons through 'is_same_v' to ensure type matches vertexType + if (std::is_same_v( variableLocation_.getElement(i)))>>) { + // If type matches vertexType, convert to int before storing dataBuffer[i] = static_cast(get(variableLocation_.getElement(i))); } else { + // Otherwise, store as a regular integer dataBuffer[i] = get(variableLocation_.getElement(i)); } } From e9ade75b6ca66d455c964e8257e5a39240934025 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Mon, 3 Mar 2025 22:58:48 -0800 Subject: [PATCH 054/153] Clang-tidy issues --- Simulator/Recorders/Hdf5Recorder.cpp | 13 ++++++------- Simulator/Recorders/Hdf5Recorder.h | 8 ++++---- 2 files changed, 10 insertions(+), 11 deletions(-) diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index 84d9b4895..d3647b94c 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -191,19 +191,18 @@ void Hdf5Recorder::compileHistories() for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { // For type int, a distinction needs to be made between vertexType and regular integers // Since vertexType is an enum class, it needs to first be converted to an integer before storing - - // 'decltype' determines the type at compile time + + // 'decltype' determines the type at compile time // 'decay_t' removes any references/const from the type // This simplifies comparisons through 'is_same_v' to ensure type matches vertexType - if (std::is_same_v< - vertexType, - std::decay_t( - variableInfo.variableLocation_.getElement(i)))>>) { + if (std::is_same_v( + variableInfo.variableLocation_.getElement(i)))>>) { // If type matches vertexType, convert to int before storing dataBuffer[i] = static_cast( get(variableInfo.variableLocation_.getElement(i))); } else { - // Otherwise, store as a regular integer + // Otherwise, store as a regular integer dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); } } diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index 99dffa2ae..c14ae3032 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -140,17 +140,17 @@ class Hdf5Recorder : public Recorder { for (int i = 0; i < variableLocation_.getNumElements(); ++i) { // For type int, a distinction needs to be made between vertexType and regular integers // Since vertexType is an enum class, it needs to first be converted to an integer before storing - - // 'decltype' determines the type at compile time + + // 'decltype' determines the type at compile time // 'decay_t' removes any references/const from the type // This simplifies comparisons through 'is_same_v' to ensure type matches vertexType if (std::is_same_v( - variableLocation_.getElement(i)))>>) { + variableLocation_.getElement(i)))>>) { // If type matches vertexType, convert to int before storing dataBuffer[i] = static_cast(get(variableLocation_.getElement(i))); } else { - // Otherwise, store as a regular integer + // Otherwise, store as a regular integer dataBuffer[i] = get(variableLocation_.getElement(i)); } } From 77c8c8dbe4f79b033d04bfad812be8a8392f0ca8 Mon Sep 17 00:00:00 2001 From: Divya Kamath Date: Tue, 4 Mar 2025 12:59:00 -0800 Subject: [PATCH 055/153] Enabled copying summationPoints_ from and to device --- Simulator/Vertices/Neuro/AllSpikingNeurons.cpp | 8 -------- Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp | 6 ++++++ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp index 5ce2bd246..a2769fa0a 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.cpp @@ -20,15 +20,7 @@ void AllSpikingNeurons::setupVertices() hasFired_.assign(size_, false); vertexEvents_.assign(size_, maxSpikes); -#if defined(USE_GPU) - // We don't allocate memory for summationPoints_ in CPU when building the GPU - // implementation. This is to avoid misusing it in GPU code. - // summationPoints_ = nullptr; - -#else summationPoints_.assign(size_, 0); - -#endif } /// Register spike history variables for all neurons. diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 2d361e93a..1fbc9f492 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -84,6 +84,9 @@ void AllSpikingNeurons::copyToDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(pSpikeHistory[i], vertexEvents_[i].dataSeries_.data(), maxSpikes * sizeof(uint64_t), cudaMemcpyHostToDevice)); } + + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.summationPoints_, summationPoints_.data(), + count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); } void AllSpikingNeurons::copyFromDevice(void *deviceAddress) { @@ -141,6 +144,9 @@ void AllSpikingNeurons::copyFromDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(vertexEvents_[i].dataSeries_.data(), pSpikeHistory[i], maxSpikes * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); } + + HANDLE_ERROR(cudaMemcpy(summationPoints_.data(), allVerticesDevice.summationPoints_, + numVertices * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); } /// Clear the spike counts out of all neurons in device memory. From cf545fb8ed5f3d6db25132997ab6883fc1803a1f Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Wed, 5 Mar 2025 12:14:56 -0800 Subject: [PATCH 056/153] Fixed GraphML file so it is a path in the repo Still hard coded, but now to a file relative to the `build` directory. --- .../ClusterPointProcess/cluster_point_process.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py index 7df290937..8a9fac52b 100644 --- a/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py +++ b/Tools/InputGeneration/ClusterPointProcess/cluster_point_process.py @@ -339,7 +339,7 @@ def generate_events(self): # PRIMARY EVENTS ########################################################################### # Start your event generation process here based on the valid inputs - graph_file_path = os.path.join('/Users', 'rimjhimsudhesh', 'research-summer-24', 'data-generation', 'graphml1', 'synth_output2.graphml') + graph_file_path = os.path.join('..', '..', 'gis2graph', 'graph_files', 'spd.graphml') graph = nx.read_graphml(graph_file_path) graph_id = str(self.entries["Graph ID:"].text()) graph_attribute = graph.nodes[graph_id]['segments'] From b3930cf4f6717c542d3e7c504fb034c62242948b Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Wed, 5 Mar 2025 23:14:38 -0800 Subject: [PATCH 057/153] Remove probed-neuron --- configfiles/NList/probedNList2x2.xml | 2 -- configfiles/NList/probedNList_1000.xml | 2 -- configfiles/NList/probedNList_10000.xml | 2 -- configfiles/NList/probedNList_2_100.xml | 2 -- configfiles/NList/probedNList_900.xml | 2 -- configfiles/static_izh_1000.xml | 3 --- configfiles/stdp_fE_0.90_10000.xml | 2 -- configfiles/tR_1.0--fE_0.90_10000.xml | 2 -- configfiles/tR_1.0--fE_0.98_10000.xml | 2 -- configfiles/tR_1.9--fE_0.90_10000.xml | 2 -- configfiles/tR_1.9--fE_0.98_10000.xml | 2 -- configfiles/test-large-connected-long.xml | 3 --- configfiles/test-large-connected.xml | 3 --- configfiles/test-large-long.xml | 3 --- configfiles/test-large-very-long.xml | 3 --- configfiles/test-large.xml | 3 --- configfiles/test-medium-100.xml | 3 --- configfiles/test-medium-2.xml | 3 --- configfiles/test-medium-500.xml | 3 --- configfiles/test-medium-connected-long.xml | 3 --- configfiles/test-medium-connected-stdp.xml | 3 --- configfiles/test-medium-connected.xml | 3 --- configfiles/test-medium-hdf5.xml | 3 --- configfiles/test-medium-long.xml | 3 --- configfiles/test-medium-stdp.xml | 3 --- configfiles/test-medium.xml | 3 --- configfiles/test-small-connected-hdf5.xml | 3 --- configfiles/test-small-connected-long.xml | 3 --- configfiles/test-small-connected-stdp.xml | 3 --- configfiles/test-small-connected.xml | 3 --- configfiles/test-small-hdf5.xml | 3 --- configfiles/test-small-long-half.xml | 3 --- configfiles/test-small-long.xml | 3 --- configfiles/test-small.xml | 3 --- configfiles/test-tiny-hdf5.xml | 3 --- configfiles/test-tiny-stdp.xml | 3 --- configfiles/test-tiny-xml-stdp.xml | 3 --- configfiles/test-tiny.xml | 3 --- 38 files changed, 104 deletions(-) delete mode 100644 configfiles/NList/probedNList2x2.xml delete mode 100644 configfiles/NList/probedNList_1000.xml delete mode 100644 configfiles/NList/probedNList_10000.xml delete mode 100644 configfiles/NList/probedNList_2_100.xml delete mode 100644 configfiles/NList/probedNList_900.xml diff --git a/configfiles/NList/probedNList2x2.xml b/configfiles/NList/probedNList2x2.xml deleted file mode 100644 index 85761a575..000000000 --- a/configfiles/NList/probedNList2x2.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

0 1 2 3

diff --git a/configfiles/NList/probedNList_1000.xml b/configfiles/NList/probedNList_1000.xml deleted file mode 100644 index 7435166b3..000000000 --- a/configfiles/NList/probedNList_1000.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999

diff --git a/configfiles/NList/probedNList_10000.xml b/configfiles/NList/probedNList_10000.xml deleted file mode 100644 index 200704d72..000000000 --- a/configfiles/NList/probedNList_10000.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498 1499 1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987 2988 2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111 3112 3113 3114 3115 3116 3117 3118 3119 3120 3121 3122 3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359 3360 3361 3362 3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435 3436 3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481 3482 3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898 3899 3900 3901 3902 3903 3904 3905 3906 3907 3908 3909 3910 3911 3912 3913 3914 3915 3916 3917 3918 3919 3920 3921 3922 3923 3924 3925 3926 3927 3928 3929 3930 3931 3932 3933 3934 3935 3936 3937 3938 3939 3940 3941 3942 3943 3944 3945 3946 3947 3948 3949 3950 3951 3952 3953 3954 3955 3956 3957 3958 3959 3960 3961 3962 3963 3964 3965 3966 3967 3968 3969 3970 3971 3972 3973 3974 3975 3976 3977 3978 3979 3980 3981 3982 3983 3984 3985 3986 3987 3988 3989 3990 3991 3992 3993 3994 3995 3996 3997 3998 3999 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 4010 4011 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 4100 4101 4102 4103 4104 4105 4106 4107 4108 4109 4110 4111 4112 4113 4114 4115 4116 4117 4118 4119 4120 4121 4122 4123 4124 4125 4126 4127 4128 4129 4130 4131 4132 4133 4134 4135 4136 4137 4138 4139 4140 4141 4142 4143 4144 4145 4146 4147 4148 4149 4150 4151 4152 4153 4154 4155 4156 4157 4158 4159 4160 4161 4162 4163 4164 4165 4166 4167 4168 4169 4170 4171 4172 4173 4174 4175 4176 4177 4178 4179 4180 4181 4182 4183 4184 4185 4186 4187 4188 4189 4190 4191 4192 4193 4194 4195 4196 4197 4198 4199 4200 4201 4202 4203 4204 4205 4206 4207 4208 4209 4210 4211 4212 4213 4214 4215 4216 4217 4218 4219 4220 4221 4222 4223 4224 4225 4226 4227 4228 4229 4230 4231 4232 4233 4234 4235 4236 4237 4238 4239 4240 4241 4242 4243 4244 4245 4246 4247 4248 4249 4250 4251 4252 4253 4254 4255 4256 4257 4258 4259 4260 4261 4262 4263 4264 4265 4266 4267 4268 4269 4270 4271 4272 4273 4274 4275 4276 4277 4278 4279 4280 4281 4282 4283 4284 4285 4286 4287 4288 4289 4290 4291 4292 4293 4294 4295 4296 4297 4298 4299 4300 4301 4302 4303 4304 4305 4306 4307 4308 4309 4310 4311 4312 4313 4314 4315 4316 4317 4318 4319 4320 4321 4322 4323 4324 4325 4326 4327 4328 4329 4330 4331 4332 4333 4334 4335 4336 4337 4338 4339 4340 4341 4342 4343 4344 4345 4346 4347 4348 4349 4350 4351 4352 4353 4354 4355 4356 4357 4358 4359 4360 4361 4362 4363 4364 4365 4366 4367 4368 4369 4370 4371 4372 4373 4374 4375 4376 4377 4378 4379 4380 4381 4382 4383 4384 4385 4386 4387 4388 4389 4390 4391 4392 4393 4394 4395 4396 4397 4398 4399 4400 4401 4402 4403 4404 4405 4406 4407 4408 4409 4410 4411 4412 4413 4414 4415 4416 4417 4418 4419 4420 4421 4422 4423 4424 4425 4426 4427 4428 4429 4430 4431 4432 4433 4434 4435 4436 4437 4438 4439 4440 4441 4442 4443 4444 4445 4446 4447 4448 4449 4450 4451 4452 4453 4454 4455 4456 4457 4458 4459 4460 4461 4462 4463 4464 4465 4466 4467 4468 4469 4470 4471 4472 4473 4474 4475 4476 4477 4478 4479 4480 4481 4482 4483 4484 4485 4486 4487 4488 4489 4490 4491 4492 4493 4494 4495 4496 4497 4498 4499 4500 4501 4502 4503 4504 4505 4506 4507 4508 4509 4510 4511 4512 4513 4514 4515 4516 4517 4518 4519 4520 4521 4522 4523 4524 4525 4526 4527 4528 4529 4530 4531 4532 4533 4534 4535 4536 4537 4538 4539 4540 4541 4542 4543 4544 4545 4546 4547 4548 4549 4550 4551 4552 4553 4554 4555 4556 4557 4558 4559 4560 4561 4562 4563 4564 4565 4566 4567 4568 4569 4570 4571 4572 4573 4574 4575 4576 4577 4578 4579 4580 4581 4582 4583 4584 4585 4586 4587 4588 4589 4590 4591 4592 4593 4594 4595 4596 4597 4598 4599 4600 4601 4602 4603 4604 4605 4606 4607 4608 4609 4610 4611 4612 4613 4614 4615 4616 4617 4618 4619 4620 4621 4622 4623 4624 4625 4626 4627 4628 4629 4630 4631 4632 4633 4634 4635 4636 4637 4638 4639 4640 4641 4642 4643 4644 4645 4646 4647 4648 4649 4650 4651 4652 4653 4654 4655 4656 4657 4658 4659 4660 4661 4662 4663 4664 4665 4666 4667 4668 4669 4670 4671 4672 4673 4674 4675 4676 4677 4678 4679 4680 4681 4682 4683 4684 4685 4686 4687 4688 4689 4690 4691 4692 4693 4694 4695 4696 4697 4698 4699 4700 4701 4702 4703 4704 4705 4706 4707 4708 4709 4710 4711 4712 4713 4714 4715 4716 4717 4718 4719 4720 4721 4722 4723 4724 4725 4726 4727 4728 4729 4730 4731 4732 4733 4734 4735 4736 4737 4738 4739 4740 4741 4742 4743 4744 4745 4746 4747 4748 4749 4750 4751 4752 4753 4754 4755 4756 4757 4758 4759 4760 4761 4762 4763 4764 4765 4766 4767 4768 4769 4770 4771 4772 4773 4774 4775 4776 4777 4778 4779 4780 4781 4782 4783 4784 4785 4786 4787 4788 4789 4790 4791 4792 4793 4794 4795 4796 4797 4798 4799 4800 4801 4802 4803 4804 4805 4806 4807 4808 4809 4810 4811 4812 4813 4814 4815 4816 4817 4818 4819 4820 4821 4822 4823 4824 4825 4826 4827 4828 4829 4830 4831 4832 4833 4834 4835 4836 4837 4838 4839 4840 4841 4842 4843 4844 4845 4846 4847 4848 4849 4850 4851 4852 4853 4854 4855 4856 4857 4858 4859 4860 4861 4862 4863 4864 4865 4866 4867 4868 4869 4870 4871 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 4887 4888 4889 4890 4891 4892 4893 4894 4895 4896 4897 4898 4899 4900 4901 4902 4903 4904 4905 4906 4907 4908 4909 4910 4911 4912 4913 4914 4915 4916 4917 4918 4919 4920 4921 4922 4923 4924 4925 4926 4927 4928 4929 4930 4931 4932 4933 4934 4935 4936 4937 4938 4939 4940 4941 4942 4943 4944 4945 4946 4947 4948 4949 4950 4951 4952 4953 4954 4955 4956 4957 4958 4959 4960 4961 4962 4963 4964 4965 4966 4967 4968 4969 4970 4971 4972 4973 4974 4975 4976 4977 4978 4979 4980 4981 4982 4983 4984 4985 4986 4987 4988 4989 4990 4991 4992 4993 4994 4995 4996 4997 4998 4999 5000 5001 5002 5003 5004 5005 5006 5007 5008 5009 5010 5011 5012 5013 5014 5015 5016 5017 5018 5019 5020 5021 5022 5023 5024 5025 5026 5027 5028 5029 5030 5031 5032 5033 5034 5035 5036 5037 5038 5039 5040 5041 5042 5043 5044 5045 5046 5047 5048 5049 5050 5051 5052 5053 5054 5055 5056 5057 5058 5059 5060 5061 5062 5063 5064 5065 5066 5067 5068 5069 5070 5071 5072 5073 5074 5075 5076 5077 5078 5079 5080 5081 5082 5083 5084 5085 5086 5087 5088 5089 5090 5091 5092 5093 5094 5095 5096 5097 5098 5099 5100 5101 5102 5103 5104 5105 5106 5107 5108 5109 5110 5111 5112 5113 5114 5115 5116 5117 5118 5119 5120 5121 5122 5123 5124 5125 5126 5127 5128 5129 5130 5131 5132 5133 5134 5135 5136 5137 5138 5139 5140 5141 5142 5143 5144 5145 5146 5147 5148 5149 5150 5151 5152 5153 5154 5155 5156 5157 5158 5159 5160 5161 5162 5163 5164 5165 5166 5167 5168 5169 5170 5171 5172 5173 5174 5175 5176 5177 5178 5179 5180 5181 5182 5183 5184 5185 5186 5187 5188 5189 5190 5191 5192 5193 5194 5195 5196 5197 5198 5199 5200 5201 5202 5203 5204 5205 5206 5207 5208 5209 5210 5211 5212 5213 5214 5215 5216 5217 5218 5219 5220 5221 5222 5223 5224 5225 5226 5227 5228 5229 5230 5231 5232 5233 5234 5235 5236 5237 5238 5239 5240 5241 5242 5243 5244 5245 5246 5247 5248 5249 5250 5251 5252 5253 5254 5255 5256 5257 5258 5259 5260 5261 5262 5263 5264 5265 5266 5267 5268 5269 5270 5271 5272 5273 5274 5275 5276 5277 5278 5279 5280 5281 5282 5283 5284 5285 5286 5287 5288 5289 5290 5291 5292 5293 5294 5295 5296 5297 5298 5299 5300 5301 5302 5303 5304 5305 5306 5307 5308 5309 5310 5311 5312 5313 5314 5315 5316 5317 5318 5319 5320 5321 5322 5323 5324 5325 5326 5327 5328 5329 5330 5331 5332 5333 5334 5335 5336 5337 5338 5339 5340 5341 5342 5343 5344 5345 5346 5347 5348 5349 5350 5351 5352 5353 5354 5355 5356 5357 5358 5359 5360 5361 5362 5363 5364 5365 5366 5367 5368 5369 5370 5371 5372 5373 5374 5375 5376 5377 5378 5379 5380 5381 5382 5383 5384 5385 5386 5387 5388 5389 5390 5391 5392 5393 5394 5395 5396 5397 5398 5399 5400 5401 5402 5403 5404 5405 5406 5407 5408 5409 5410 5411 5412 5413 5414 5415 5416 5417 5418 5419 5420 5421 5422 5423 5424 5425 5426 5427 5428 5429 5430 5431 5432 5433 5434 5435 5436 5437 5438 5439 5440 5441 5442 5443 5444 5445 5446 5447 5448 5449 5450 5451 5452 5453 5454 5455 5456 5457 5458 5459 5460 5461 5462 5463 5464 5465 5466 5467 5468 5469 5470 5471 5472 5473 5474 5475 5476 5477 5478 5479 5480 5481 5482 5483 5484 5485 5486 5487 5488 5489 5490 5491 5492 5493 5494 5495 5496 5497 5498 5499 5500 5501 5502 5503 5504 5505 5506 5507 5508 5509 5510 5511 5512 5513 5514 5515 5516 5517 5518 5519 5520 5521 5522 5523 5524 5525 5526 5527 5528 5529 5530 5531 5532 5533 5534 5535 5536 5537 5538 5539 5540 5541 5542 5543 5544 5545 5546 5547 5548 5549 5550 5551 5552 5553 5554 5555 5556 5557 5558 5559 5560 5561 5562 5563 5564 5565 5566 5567 5568 5569 5570 5571 5572 5573 5574 5575 5576 5577 5578 5579 5580 5581 5582 5583 5584 5585 5586 5587 5588 5589 5590 5591 5592 5593 5594 5595 5596 5597 5598 5599 5600 5601 5602 5603 5604 5605 5606 5607 5608 5609 5610 5611 5612 5613 5614 5615 5616 5617 5618 5619 5620 5621 5622 5623 5624 5625 5626 5627 5628 5629 5630 5631 5632 5633 5634 5635 5636 5637 5638 5639 5640 5641 5642 5643 5644 5645 5646 5647 5648 5649 5650 5651 5652 5653 5654 5655 5656 5657 5658 5659 5660 5661 5662 5663 5664 5665 5666 5667 5668 5669 5670 5671 5672 5673 5674 5675 5676 5677 5678 5679 5680 5681 5682 5683 5684 5685 5686 5687 5688 5689 5690 5691 5692 5693 5694 5695 5696 5697 5698 5699 5700 5701 5702 5703 5704 5705 5706 5707 5708 5709 5710 5711 5712 5713 5714 5715 5716 5717 5718 5719 5720 5721 5722 5723 5724 5725 5726 5727 5728 5729 5730 5731 5732 5733 5734 5735 5736 5737 5738 5739 5740 5741 5742 5743 5744 5745 5746 5747 5748 5749 5750 5751 5752 5753 5754 5755 5756 5757 5758 5759 5760 5761 5762 5763 5764 5765 5766 5767 5768 5769 5770 5771 5772 5773 5774 5775 5776 5777 5778 5779 5780 5781 5782 5783 5784 5785 5786 5787 5788 5789 5790 5791 5792 5793 5794 5795 5796 5797 5798 5799 5800 5801 5802 5803 5804 5805 5806 5807 5808 5809 5810 5811 5812 5813 5814 5815 5816 5817 5818 5819 5820 5821 5822 5823 5824 5825 5826 5827 5828 5829 5830 5831 5832 5833 5834 5835 5836 5837 5838 5839 5840 5841 5842 5843 5844 5845 5846 5847 5848 5849 5850 5851 5852 5853 5854 5855 5856 5857 5858 5859 5860 5861 5862 5863 5864 5865 5866 5867 5868 5869 5870 5871 5872 5873 5874 5875 5876 5877 5878 5879 5880 5881 5882 5883 5884 5885 5886 5887 5888 5889 5890 5891 5892 5893 5894 5895 5896 5897 5898 5899 5900 5901 5902 5903 5904 5905 5906 5907 5908 5909 5910 5911 5912 5913 5914 5915 5916 5917 5918 5919 5920 5921 5922 5923 5924 5925 5926 5927 5928 5929 5930 5931 5932 5933 5934 5935 5936 5937 5938 5939 5940 5941 5942 5943 5944 5945 5946 5947 5948 5949 5950 5951 5952 5953 5954 5955 5956 5957 5958 5959 5960 5961 5962 5963 5964 5965 5966 5967 5968 5969 5970 5971 5972 5973 5974 5975 5976 5977 5978 5979 5980 5981 5982 5983 5984 5985 5986 5987 5988 5989 5990 5991 5992 5993 5994 5995 5996 5997 5998 5999 6000 6001 6002 6003 6004 6005 6006 6007 6008 6009 6010 6011 6012 6013 6014 6015 6016 6017 6018 6019 6020 6021 6022 6023 6024 6025 6026 6027 6028 6029 6030 6031 6032 6033 6034 6035 6036 6037 6038 6039 6040 6041 6042 6043 6044 6045 6046 6047 6048 6049 6050 6051 6052 6053 6054 6055 6056 6057 6058 6059 6060 6061 6062 6063 6064 6065 6066 6067 6068 6069 6070 6071 6072 6073 6074 6075 6076 6077 6078 6079 6080 6081 6082 6083 6084 6085 6086 6087 6088 6089 6090 6091 6092 6093 6094 6095 6096 6097 6098 6099 6100 6101 6102 6103 6104 6105 6106 6107 6108 6109 6110 6111 6112 6113 6114 6115 6116 6117 6118 6119 6120 6121 6122 6123 6124 6125 6126 6127 6128 6129 6130 6131 6132 6133 6134 6135 6136 6137 6138 6139 6140 6141 6142 6143 6144 6145 6146 6147 6148 6149 6150 6151 6152 6153 6154 6155 6156 6157 6158 6159 6160 6161 6162 6163 6164 6165 6166 6167 6168 6169 6170 6171 6172 6173 6174 6175 6176 6177 6178 6179 6180 6181 6182 6183 6184 6185 6186 6187 6188 6189 6190 6191 6192 6193 6194 6195 6196 6197 6198 6199 6200 6201 6202 6203 6204 6205 6206 6207 6208 6209 6210 6211 6212 6213 6214 6215 6216 6217 6218 6219 6220 6221 6222 6223 6224 6225 6226 6227 6228 6229 6230 6231 6232 6233 6234 6235 6236 6237 6238 6239 6240 6241 6242 6243 6244 6245 6246 6247 6248 6249 6250 6251 6252 6253 6254 6255 6256 6257 6258 6259 6260 6261 6262 6263 6264 6265 6266 6267 6268 6269 6270 6271 6272 6273 6274 6275 6276 6277 6278 6279 6280 6281 6282 6283 6284 6285 6286 6287 6288 6289 6290 6291 6292 6293 6294 6295 6296 6297 6298 6299 6300 6301 6302 6303 6304 6305 6306 6307 6308 6309 6310 6311 6312 6313 6314 6315 6316 6317 6318 6319 6320 6321 6322 6323 6324 6325 6326 6327 6328 6329 6330 6331 6332 6333 6334 6335 6336 6337 6338 6339 6340 6341 6342 6343 6344 6345 6346 6347 6348 6349 6350 6351 6352 6353 6354 6355 6356 6357 6358 6359 6360 6361 6362 6363 6364 6365 6366 6367 6368 6369 6370 6371 6372 6373 6374 6375 6376 6377 6378 6379 6380 6381 6382 6383 6384 6385 6386 6387 6388 6389 6390 6391 6392 6393 6394 6395 6396 6397 6398 6399 6400 6401 6402 6403 6404 6405 6406 6407 6408 6409 6410 6411 6412 6413 6414 6415 6416 6417 6418 6419 6420 6421 6422 6423 6424 6425 6426 6427 6428 6429 6430 6431 6432 6433 6434 6435 6436 6437 6438 6439 6440 6441 6442 6443 6444 6445 6446 6447 6448 6449 6450 6451 6452 6453 6454 6455 6456 6457 6458 6459 6460 6461 6462 6463 6464 6465 6466 6467 6468 6469 6470 6471 6472 6473 6474 6475 6476 6477 6478 6479 6480 6481 6482 6483 6484 6485 6486 6487 6488 6489 6490 6491 6492 6493 6494 6495 6496 6497 6498 6499 6500 6501 6502 6503 6504 6505 6506 6507 6508 6509 6510 6511 6512 6513 6514 6515 6516 6517 6518 6519 6520 6521 6522 6523 6524 6525 6526 6527 6528 6529 6530 6531 6532 6533 6534 6535 6536 6537 6538 6539 6540 6541 6542 6543 6544 6545 6546 6547 6548 6549 6550 6551 6552 6553 6554 6555 6556 6557 6558 6559 6560 6561 6562 6563 6564 6565 6566 6567 6568 6569 6570 6571 6572 6573 6574 6575 6576 6577 6578 6579 6580 6581 6582 6583 6584 6585 6586 6587 6588 6589 6590 6591 6592 6593 6594 6595 6596 6597 6598 6599 6600 6601 6602 6603 6604 6605 6606 6607 6608 6609 6610 6611 6612 6613 6614 6615 6616 6617 6618 6619 6620 6621 6622 6623 6624 6625 6626 6627 6628 6629 6630 6631 6632 6633 6634 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 6650 6651 6652 6653 6654 6655 6656 6657 6658 6659 6660 6661 6662 6663 6664 6665 6666 6667 6668 6669 6670 6671 6672 6673 6674 6675 6676 6677 6678 6679 6680 6681 6682 6683 6684 6685 6686 6687 6688 6689 6690 6691 6692 6693 6694 6695 6696 6697 6698 6699 6700 6701 6702 6703 6704 6705 6706 6707 6708 6709 6710 6711 6712 6713 6714 6715 6716 6717 6718 6719 6720 6721 6722 6723 6724 6725 6726 6727 6728 6729 6730 6731 6732 6733 6734 6735 6736 6737 6738 6739 6740 6741 6742 6743 6744 6745 6746 6747 6748 6749 6750 6751 6752 6753 6754 6755 6756 6757 6758 6759 6760 6761 6762 6763 6764 6765 6766 6767 6768 6769 6770 6771 6772 6773 6774 6775 6776 6777 6778 6779 6780 6781 6782 6783 6784 6785 6786 6787 6788 6789 6790 6791 6792 6793 6794 6795 6796 6797 6798 6799 6800 6801 6802 6803 6804 6805 6806 6807 6808 6809 6810 6811 6812 6813 6814 6815 6816 6817 6818 6819 6820 6821 6822 6823 6824 6825 6826 6827 6828 6829 6830 6831 6832 6833 6834 6835 6836 6837 6838 6839 6840 6841 6842 6843 6844 6845 6846 6847 6848 6849 6850 6851 6852 6853 6854 6855 6856 6857 6858 6859 6860 6861 6862 6863 6864 6865 6866 6867 6868 6869 6870 6871 6872 6873 6874 6875 6876 6877 6878 6879 6880 6881 6882 6883 6884 6885 6886 6887 6888 6889 6890 6891 6892 6893 6894 6895 6896 6897 6898 6899 6900 6901 6902 6903 6904 6905 6906 6907 6908 6909 6910 6911 6912 6913 6914 6915 6916 6917 6918 6919 6920 6921 6922 6923 6924 6925 6926 6927 6928 6929 6930 6931 6932 6933 6934 6935 6936 6937 6938 6939 6940 6941 6942 6943 6944 6945 6946 6947 6948 6949 6950 6951 6952 6953 6954 6955 6956 6957 6958 6959 6960 6961 6962 6963 6964 6965 6966 6967 6968 6969 6970 6971 6972 6973 6974 6975 6976 6977 6978 6979 6980 6981 6982 6983 6984 6985 6986 6987 6988 6989 6990 6991 6992 6993 6994 6995 6996 6997 6998 6999 7000 7001 7002 7003 7004 7005 7006 7007 7008 7009 7010 7011 7012 7013 7014 7015 7016 7017 7018 7019 7020 7021 7022 7023 7024 7025 7026 7027 7028 7029 7030 7031 7032 7033 7034 7035 7036 7037 7038 7039 7040 7041 7042 7043 7044 7045 7046 7047 7048 7049 7050 7051 7052 7053 7054 7055 7056 7057 7058 7059 7060 7061 7062 7063 7064 7065 7066 7067 7068 7069 7070 7071 7072 7073 7074 7075 7076 7077 7078 7079 7080 7081 7082 7083 7084 7085 7086 7087 7088 7089 7090 7091 7092 7093 7094 7095 7096 7097 7098 7099 7100 7101 7102 7103 7104 7105 7106 7107 7108 7109 7110 7111 7112 7113 7114 7115 7116 7117 7118 7119 7120 7121 7122 7123 7124 7125 7126 7127 7128 7129 7130 7131 7132 7133 7134 7135 7136 7137 7138 7139 7140 7141 7142 7143 7144 7145 7146 7147 7148 7149 7150 7151 7152 7153 7154 7155 7156 7157 7158 7159 7160 7161 7162 7163 7164 7165 7166 7167 7168 7169 7170 7171 7172 7173 7174 7175 7176 7177 7178 7179 7180 7181 7182 7183 7184 7185 7186 7187 7188 7189 7190 7191 7192 7193 7194 7195 7196 7197 7198 7199 7200 7201 7202 7203 7204 7205 7206 7207 7208 7209 7210 7211 7212 7213 7214 7215 7216 7217 7218 7219 7220 7221 7222 7223 7224 7225 7226 7227 7228 7229 7230 7231 7232 7233 7234 7235 7236 7237 7238 7239 7240 7241 7242 7243 7244 7245 7246 7247 7248 7249 7250 7251 7252 7253 7254 7255 7256 7257 7258 7259 7260 7261 7262 7263 7264 7265 7266 7267 7268 7269 7270 7271 7272 7273 7274 7275 7276 7277 7278 7279 7280 7281 7282 7283 7284 7285 7286 7287 7288 7289 7290 7291 7292 7293 7294 7295 7296 7297 7298 7299 7300 7301 7302 7303 7304 7305 7306 7307 7308 7309 7310 7311 7312 7313 7314 7315 7316 7317 7318 7319 7320 7321 7322 7323 7324 7325 7326 7327 7328 7329 7330 7331 7332 7333 7334 7335 7336 7337 7338 7339 7340 7341 7342 7343 7344 7345 7346 7347 7348 7349 7350 7351 7352 7353 7354 7355 7356 7357 7358 7359 7360 7361 7362 7363 7364 7365 7366 7367 7368 7369 7370 7371 7372 7373 7374 7375 7376 7377 7378 7379 7380 7381 7382 7383 7384 7385 7386 7387 7388 7389 7390 7391 7392 7393 7394 7395 7396 7397 7398 7399 7400 7401 7402 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7415 7416 7417 7418 7419 7420 7421 7422 7423 7424 7425 7426 7427 7428 7429 7430 7431 7432 7433 7434 7435 7436 7437 7438 7439 7440 7441 7442 7443 7444 7445 7446 7447 7448 7449 7450 7451 7452 7453 7454 7455 7456 7457 7458 7459 7460 7461 7462 7463 7464 7465 7466 7467 7468 7469 7470 7471 7472 7473 7474 7475 7476 7477 7478 7479 7480 7481 7482 7483 7484 7485 7486 7487 7488 7489 7490 7491 7492 7493 7494 7495 7496 7497 7498 7499 7500 7501 7502 7503 7504 7505 7506 7507 7508 7509 7510 7511 7512 7513 7514 7515 7516 7517 7518 7519 7520 7521 7522 7523 7524 7525 7526 7527 7528 7529 7530 7531 7532 7533 7534 7535 7536 7537 7538 7539 7540 7541 7542 7543 7544 7545 7546 7547 7548 7549 7550 7551 7552 7553 7554 7555 7556 7557 7558 7559 7560 7561 7562 7563 7564 7565 7566 7567 7568 7569 7570 7571 7572 7573 7574 7575 7576 7577 7578 7579 7580 7581 7582 7583 7584 7585 7586 7587 7588 7589 7590 7591 7592 7593 7594 7595 7596 7597 7598 7599 7600 7601 7602 7603 7604 7605 7606 7607 7608 7609 7610 7611 7612 7613 7614 7615 7616 7617 7618 7619 7620 7621 7622 7623 7624 7625 7626 7627 7628 7629 7630 7631 7632 7633 7634 7635 7636 7637 7638 7639 7640 7641 7642 7643 7644 7645 7646 7647 7648 7649 7650 7651 7652 7653 7654 7655 7656 7657 7658 7659 7660 7661 7662 7663 7664 7665 7666 7667 7668 7669 7670 7671 7672 7673 7674 7675 7676 7677 7678 7679 7680 7681 7682 7683 7684 7685 7686 7687 7688 7689 7690 7691 7692 7693 7694 7695 7696 7697 7698 7699 7700 7701 7702 7703 7704 7705 7706 7707 7708 7709 7710 7711 7712 7713 7714 7715 7716 7717 7718 7719 7720 7721 7722 7723 7724 7725 7726 7727 7728 7729 7730 7731 7732 7733 7734 7735 7736 7737 7738 7739 7740 7741 7742 7743 7744 7745 7746 7747 7748 7749 7750 7751 7752 7753 7754 7755 7756 7757 7758 7759 7760 7761 7762 7763 7764 7765 7766 7767 7768 7769 7770 7771 7772 7773 7774 7775 7776 7777 7778 7779 7780 7781 7782 7783 7784 7785 7786 7787 7788 7789 7790 7791 7792 7793 7794 7795 7796 7797 7798 7799 7800 7801 7802 7803 7804 7805 7806 7807 7808 7809 7810 7811 7812 7813 7814 7815 7816 7817 7818 7819 7820 7821 7822 7823 7824 7825 7826 7827 7828 7829 7830 7831 7832 7833 7834 7835 7836 7837 7838 7839 7840 7841 7842 7843 7844 7845 7846 7847 7848 7849 7850 7851 7852 7853 7854 7855 7856 7857 7858 7859 7860 7861 7862 7863 7864 7865 7866 7867 7868 7869 7870 7871 7872 7873 7874 7875 7876 7877 7878 7879 7880 7881 7882 7883 7884 7885 7886 7887 7888 7889 7890 7891 7892 7893 7894 7895 7896 7897 7898 7899 7900 7901 7902 7903 7904 7905 7906 7907 7908 7909 7910 7911 7912 7913 7914 7915 7916 7917 7918 7919 7920 7921 7922 7923 7924 7925 7926 7927 7928 7929 7930 7931 7932 7933 7934 7935 7936 7937 7938 7939 7940 7941 7942 7943 7944 7945 7946 7947 7948 7949 7950 7951 7952 7953 7954 7955 7956 7957 7958 7959 7960 7961 7962 7963 7964 7965 7966 7967 7968 7969 7970 7971 7972 7973 7974 7975 7976 7977 7978 7979 7980 7981 7982 7983 7984 7985 7986 7987 7988 7989 7990 7991 7992 7993 7994 7995 7996 7997 7998 7999 8000 8001 8002 8003 8004 8005 8006 8007 8008 8009 8010 8011 8012 8013 8014 8015 8016 8017 8018 8019 8020 8021 8022 8023 8024 8025 8026 8027 8028 8029 8030 8031 8032 8033 8034 8035 8036 8037 8038 8039 8040 8041 8042 8043 8044 8045 8046 8047 8048 8049 8050 8051 8052 8053 8054 8055 8056 8057 8058 8059 8060 8061 8062 8063 8064 8065 8066 8067 8068 8069 8070 8071 8072 8073 8074 8075 8076 8077 8078 8079 8080 8081 8082 8083 8084 8085 8086 8087 8088 8089 8090 8091 8092 8093 8094 8095 8096 8097 8098 8099 8100 8101 8102 8103 8104 8105 8106 8107 8108 8109 8110 8111 8112 8113 8114 8115 8116 8117 8118 8119 8120 8121 8122 8123 8124 8125 8126 8127 8128 8129 8130 8131 8132 8133 8134 8135 8136 8137 8138 8139 8140 8141 8142 8143 8144 8145 8146 8147 8148 8149 8150 8151 8152 8153 8154 8155 8156 8157 8158 8159 8160 8161 8162 8163 8164 8165 8166 8167 8168 8169 8170 8171 8172 8173 8174 8175 8176 8177 8178 8179 8180 8181 8182 8183 8184 8185 8186 8187 8188 8189 8190 8191 8192 8193 8194 8195 8196 8197 8198 8199 8200 8201 8202 8203 8204 8205 8206 8207 8208 8209 8210 8211 8212 8213 8214 8215 8216 8217 8218 8219 8220 8221 8222 8223 8224 8225 8226 8227 8228 8229 8230 8231 8232 8233 8234 8235 8236 8237 8238 8239 8240 8241 8242 8243 8244 8245 8246 8247 8248 8249 8250 8251 8252 8253 8254 8255 8256 8257 8258 8259 8260 8261 8262 8263 8264 8265 8266 8267 8268 8269 8270 8271 8272 8273 8274 8275 8276 8277 8278 8279 8280 8281 8282 8283 8284 8285 8286 8287 8288 8289 8290 8291 8292 8293 8294 8295 8296 8297 8298 8299 8300 8301 8302 8303 8304 8305 8306 8307 8308 8309 8310 8311 8312 8313 8314 8315 8316 8317 8318 8319 8320 8321 8322 8323 8324 8325 8326 8327 8328 8329 8330 8331 8332 8333 8334 8335 8336 8337 8338 8339 8340 8341 8342 8343 8344 8345 8346 8347 8348 8349 8350 8351 8352 8353 8354 8355 8356 8357 8358 8359 8360 8361 8362 8363 8364 8365 8366 8367 8368 8369 8370 8371 8372 8373 8374 8375 8376 8377 8378 8379 8380 8381 8382 8383 8384 8385 8386 8387 8388 8389 8390 8391 8392 8393 8394 8395 8396 8397 8398 8399 8400 8401 8402 8403 8404 8405 8406 8407 8408 8409 8410 8411 8412 8413 8414 8415 8416 8417 8418 8419 8420 8421 8422 8423 8424 8425 8426 8427 8428 8429 8430 8431 8432 8433 8434 8435 8436 8437 8438 8439 8440 8441 8442 8443 8444 8445 8446 8447 8448 8449 8450 8451 8452 8453 8454 8455 8456 8457 8458 8459 8460 8461 8462 8463 8464 8465 8466 8467 8468 8469 8470 8471 8472 8473 8474 8475 8476 8477 8478 8479 8480 8481 8482 8483 8484 8485 8486 8487 8488 8489 8490 8491 8492 8493 8494 8495 8496 8497 8498 8499 8500 8501 8502 8503 8504 8505 8506 8507 8508 8509 8510 8511 8512 8513 8514 8515 8516 8517 8518 8519 8520 8521 8522 8523 8524 8525 8526 8527 8528 8529 8530 8531 8532 8533 8534 8535 8536 8537 8538 8539 8540 8541 8542 8543 8544 8545 8546 8547 8548 8549 8550 8551 8552 8553 8554 8555 8556 8557 8558 8559 8560 8561 8562 8563 8564 8565 8566 8567 8568 8569 8570 8571 8572 8573 8574 8575 8576 8577 8578 8579 8580 8581 8582 8583 8584 8585 8586 8587 8588 8589 8590 8591 8592 8593 8594 8595 8596 8597 8598 8599 8600 8601 8602 8603 8604 8605 8606 8607 8608 8609 8610 8611 8612 8613 8614 8615 8616 8617 8618 8619 8620 8621 8622 8623 8624 8625 8626 8627 8628 8629 8630 8631 8632 8633 8634 8635 8636 8637 8638 8639 8640 8641 8642 8643 8644 8645 8646 8647 8648 8649 8650 8651 8652 8653 8654 8655 8656 8657 8658 8659 8660 8661 8662 8663 8664 8665 8666 8667 8668 8669 8670 8671 8672 8673 8674 8675 8676 8677 8678 8679 8680 8681 8682 8683 8684 8685 8686 8687 8688 8689 8690 8691 8692 8693 8694 8695 8696 8697 8698 8699 8700 8701 8702 8703 8704 8705 8706 8707 8708 8709 8710 8711 8712 8713 8714 8715 8716 8717 8718 8719 8720 8721 8722 8723 8724 8725 8726 8727 8728 8729 8730 8731 8732 8733 8734 8735 8736 8737 8738 8739 8740 8741 8742 8743 8744 8745 8746 8747 8748 8749 8750 8751 8752 8753 8754 8755 8756 8757 8758 8759 8760 8761 8762 8763 8764 8765 8766 8767 8768 8769 8770 8771 8772 8773 8774 8775 8776 8777 8778 8779 8780 8781 8782 8783 8784 8785 8786 8787 8788 8789 8790 8791 8792 8793 8794 8795 8796 8797 8798 8799 8800 8801 8802 8803 8804 8805 8806 8807 8808 8809 8810 8811 8812 8813 8814 8815 8816 8817 8818 8819 8820 8821 8822 8823 8824 8825 8826 8827 8828 8829 8830 8831 8832 8833 8834 8835 8836 8837 8838 8839 8840 8841 8842 8843 8844 8845 8846 8847 8848 8849 8850 8851 8852 8853 8854 8855 8856 8857 8858 8859 8860 8861 8862 8863 8864 8865 8866 8867 8868 8869 8870 8871 8872 8873 8874 8875 8876 8877 8878 8879 8880 8881 8882 8883 8884 8885 8886 8887 8888 8889 8890 8891 8892 8893 8894 8895 8896 8897 8898 8899 8900 8901 8902 8903 8904 8905 8906 8907 8908 8909 8910 8911 8912 8913 8914 8915 8916 8917 8918 8919 8920 8921 8922 8923 8924 8925 8926 8927 8928 8929 8930 8931 8932 8933 8934 8935 8936 8937 8938 8939 8940 8941 8942 8943 8944 8945 8946 8947 8948 8949 8950 8951 8952 8953 8954 8955 8956 8957 8958 8959 8960 8961 8962 8963 8964 8965 8966 8967 8968 8969 8970 8971 8972 8973 8974 8975 8976 8977 8978 8979 8980 8981 8982 8983 8984 8985 8986 8987 8988 8989 8990 8991 8992 8993 8994 8995 8996 8997 8998 8999 9000 9001 9002 9003 9004 9005 9006 9007 9008 9009 9010 9011 9012 9013 9014 9015 9016 9017 9018 9019 9020 9021 9022 9023 9024 9025 9026 9027 9028 9029 9030 9031 9032 9033 9034 9035 9036 9037 9038 9039 9040 9041 9042 9043 9044 9045 9046 9047 9048 9049 9050 9051 9052 9053 9054 9055 9056 9057 9058 9059 9060 9061 9062 9063 9064 9065 9066 9067 9068 9069 9070 9071 9072 9073 9074 9075 9076 9077 9078 9079 9080 9081 9082 9083 9084 9085 9086 9087 9088 9089 9090 9091 9092 9093 9094 9095 9096 9097 9098 9099 9100 9101 9102 9103 9104 9105 9106 9107 9108 9109 9110 9111 9112 9113 9114 9115 9116 9117 9118 9119 9120 9121 9122 9123 9124 9125 9126 9127 9128 9129 9130 9131 9132 9133 9134 9135 9136 9137 9138 9139 9140 9141 9142 9143 9144 9145 9146 9147 9148 9149 9150 9151 9152 9153 9154 9155 9156 9157 9158 9159 9160 9161 9162 9163 9164 9165 9166 9167 9168 9169 9170 9171 9172 9173 9174 9175 9176 9177 9178 9179 9180 9181 9182 9183 9184 9185 9186 9187 9188 9189 9190 9191 9192 9193 9194 9195 9196 9197 9198 9199 9200 9201 9202 9203 9204 9205 9206 9207 9208 9209 9210 9211 9212 9213 9214 9215 9216 9217 9218 9219 9220 9221 9222 9223 9224 9225 9226 9227 9228 9229 9230 9231 9232 9233 9234 9235 9236 9237 9238 9239 9240 9241 9242 9243 9244 9245 9246 9247 9248 9249 9250 9251 9252 9253 9254 9255 9256 9257 9258 9259 9260 9261 9262 9263 9264 9265 9266 9267 9268 9269 9270 9271 9272 9273 9274 9275 9276 9277 9278 9279 9280 9281 9282 9283 9284 9285 9286 9287 9288 9289 9290 9291 9292 9293 9294 9295 9296 9297 9298 9299 9300 9301 9302 9303 9304 9305 9306 9307 9308 9309 9310 9311 9312 9313 9314 9315 9316 9317 9318 9319 9320 9321 9322 9323 9324 9325 9326 9327 9328 9329 9330 9331 9332 9333 9334 9335 9336 9337 9338 9339 9340 9341 9342 9343 9344 9345 9346 9347 9348 9349 9350 9351 9352 9353 9354 9355 9356 9357 9358 9359 9360 9361 9362 9363 9364 9365 9366 9367 9368 9369 9370 9371 9372 9373 9374 9375 9376 9377 9378 9379 9380 9381 9382 9383 9384 9385 9386 9387 9388 9389 9390 9391 9392 9393 9394 9395 9396 9397 9398 9399 9400 9401 9402 9403 9404 9405 9406 9407 9408 9409 9410 9411 9412 9413 9414 9415 9416 9417 9418 9419 9420 9421 9422 9423 9424 9425 9426 9427 9428 9429 9430 9431 9432 9433 9434 9435 9436 9437 9438 9439 9440 9441 9442 9443 9444 9445 9446 9447 9448 9449 9450 9451 9452 9453 9454 9455 9456 9457 9458 9459 9460 9461 9462 9463 9464 9465 9466 9467 9468 9469 9470 9471 9472 9473 9474 9475 9476 9477 9478 9479 9480 9481 9482 9483 9484 9485 9486 9487 9488 9489 9490 9491 9492 9493 9494 9495 9496 9497 9498 9499 9500 9501 9502 9503 9504 9505 9506 9507 9508 9509 9510 9511 9512 9513 9514 9515 9516 9517 9518 9519 9520 9521 9522 9523 9524 9525 9526 9527 9528 9529 9530 9531 9532 9533 9534 9535 9536 9537 9538 9539 9540 9541 9542 9543 9544 9545 9546 9547 9548 9549 9550 9551 9552 9553 9554 9555 9556 9557 9558 9559 9560 9561 9562 9563 9564 9565 9566 9567 9568 9569 9570 9571 9572 9573 9574 9575 9576 9577 9578 9579 9580 9581 9582 9583 9584 9585 9586 9587 9588 9589 9590 9591 9592 9593 9594 9595 9596 9597 9598 9599 9600 9601 9602 9603 9604 9605 9606 9607 9608 9609 9610 9611 9612 9613 9614 9615 9616 9617 9618 9619 9620 9621 9622 9623 9624 9625 9626 9627 9628 9629 9630 9631 9632 9633 9634 9635 9636 9637 9638 9639 9640 9641 9642 9643 9644 9645 9646 9647 9648 9649 9650 9651 9652 9653 9654 9655 9656 9657 9658 9659 9660 9661 9662 9663 9664 9665 9666 9667 9668 9669 9670 9671 9672 9673 9674 9675 9676 9677 9678 9679 9680 9681 9682 9683 9684 9685 9686 9687 9688 9689 9690 9691 9692 9693 9694 9695 9696 9697 9698 9699 9700 9701 9702 9703 9704 9705 9706 9707 9708 9709 9710 9711 9712 9713 9714 9715 9716 9717 9718 9719 9720 9721 9722 9723 9724 9725 9726 9727 9728 9729 9730 9731 9732 9733 9734 9735 9736 9737 9738 9739 9740 9741 9742 9743 9744 9745 9746 9747 9748 9749 9750 9751 9752 9753 9754 9755 9756 9757 9758 9759 9760 9761 9762 9763 9764 9765 9766 9767 9768 9769 9770 9771 9772 9773 9774 9775 9776 9777 9778 9779 9780 9781 9782 9783 9784 9785 9786 9787 9788 9789 9790 9791 9792 9793 9794 9795 9796 9797 9798 9799 9800 9801 9802 9803 9804 9805 9806 9807 9808 9809 9810 9811 9812 9813 9814 9815 9816 9817 9818 9819 9820 9821 9822 9823 9824 9825 9826 9827 9828 9829 9830 9831 9832 9833 9834 9835 9836 9837 9838 9839 9840 9841 9842 9843 9844 9845 9846 9847 9848 9849 9850 9851 9852 9853 9854 9855 9856 9857 9858 9859 9860 9861 9862 9863 9864 9865 9866 9867 9868 9869 9870 9871 9872 9873 9874 9875 9876 9877 9878 9879 9880 9881 9882 9883 9884 9885 9886 9887 9888 9889 9890 9891 9892 9893 9894 9895 9896 9897 9898 9899 9900 9901 9902 9903 9904 9905 9906 9907 9908 9909 9910 9911 9912 9913 9914 9915 9916 9917 9918 9919 9920 9921 9922 9923 9924 9925 9926 9927 9928 9929 9930 9931 9932 9933 9934 9935 9936 9937 9938 9939 9940 9941 9942 9943 9944 9945 9946 9947 9948 9949 9950 9951 9952 9953 9954 9955 9956 9957 9958 9959 9960 9961 9962 9963 9964 9965 9966 9967 9968 9969 9970 9971 9972 9973 9974 9975 9976 9977 9978 9979 9980 9981 9982 9983 9984 9985 9986 9987 9988 9989 9990 9991 9992 9993 9994 9995 9996 9997 9998 9999

diff --git a/configfiles/NList/probedNList_2_100.xml b/configfiles/NList/probedNList_2_100.xml deleted file mode 100644 index 6f5b5adab..000000000 --- a/configfiles/NList/probedNList_2_100.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

7 74

diff --git a/configfiles/NList/probedNList_900.xml b/configfiles/NList/probedNList_900.xml deleted file mode 100644 index 6faa1c508..000000000 --- a/configfiles/NList/probedNList_900.xml +++ /dev/null @@ -1,2 +0,0 @@ - -

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899

diff --git a/configfiles/static_izh_1000.xml b/configfiles/static_izh_1000.xml index ceab9223c..cca175b06 100644 --- a/configfiles/static_izh_1000.xml +++ b/configfiles/static_izh_1000.xml @@ -98,9 +98,6 @@ - - ../configfiles/NList/probedNList_1000.xml - diff --git a/configfiles/stdp_fE_0.90_10000.xml b/configfiles/stdp_fE_0.90_10000.xml index 74de4eaaa..9932e74c8 100644 --- a/configfiles/stdp_fE_0.90_10000.xml +++ b/configfiles/stdp_fE_0.90_10000.xml @@ -130,8 +130,6 @@ - - diff --git a/configfiles/tR_1.0--fE_0.90_10000.xml b/configfiles/tR_1.0--fE_0.90_10000.xml index 2854174a2..06f3ead35 100644 --- a/configfiles/tR_1.0--fE_0.90_10000.xml +++ b/configfiles/tR_1.0--fE_0.90_10000.xml @@ -98,8 +98,6 @@ - - diff --git a/configfiles/tR_1.0--fE_0.98_10000.xml b/configfiles/tR_1.0--fE_0.98_10000.xml index 06fb9d796..8ded6a984 100644 --- a/configfiles/tR_1.0--fE_0.98_10000.xml +++ b/configfiles/tR_1.0--fE_0.98_10000.xml @@ -98,8 +98,6 @@ - - diff --git a/configfiles/tR_1.9--fE_0.90_10000.xml b/configfiles/tR_1.9--fE_0.90_10000.xml index bc14241d6..3905493a4 100644 --- a/configfiles/tR_1.9--fE_0.90_10000.xml +++ b/configfiles/tR_1.9--fE_0.90_10000.xml @@ -98,8 +98,6 @@ - - diff --git a/configfiles/tR_1.9--fE_0.98_10000.xml b/configfiles/tR_1.9--fE_0.98_10000.xml index 4d2004b29..85ea49551 100644 --- a/configfiles/tR_1.9--fE_0.98_10000.xml +++ b/configfiles/tR_1.9--fE_0.98_10000.xml @@ -68,8 +68,6 @@ - - diff --git a/configfiles/test-large-connected-long.xml b/configfiles/test-large-connected-long.xml index 87b425223..100247a6c 100644 --- a/configfiles/test-large-connected-long.xml +++ b/configfiles/test-large-connected-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_10000.xml Output/Results/test-large-connected-long-out.xml diff --git a/configfiles/test-large-connected.xml b/configfiles/test-large-connected.xml index 8539ff112..503dcfc6c 100644 --- a/configfiles/test-large-connected.xml +++ b/configfiles/test-large-connected.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_10000.xml Output/Results/test-large-connected-out.xml diff --git a/configfiles/test-large-long.xml b/configfiles/test-large-long.xml index 354389019..d35aab0ce 100644 --- a/configfiles/test-large-long.xml +++ b/configfiles/test-large-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_10000.xml Output/Results/test-large-long-out.xml diff --git a/configfiles/test-large-very-long.xml b/configfiles/test-large-very-long.xml index 3bc0fdd81..b64c6ae6d 100644 --- a/configfiles/test-large-very-long.xml +++ b/configfiles/test-large-very-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_10000.xml Output/Results/test-large-very-long-out.xml diff --git a/configfiles/test-large.xml b/configfiles/test-large.xml index a5ccc6049..c3bf1239a 100644 --- a/configfiles/test-large.xml +++ b/configfiles/test-large.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_10000.xml Output/Results/test-large-out.xml diff --git a/configfiles/test-medium-100.xml b/configfiles/test-medium-100.xml index be9fc4479..1c819b8ad 100644 --- a/configfiles/test-medium-100.xml +++ b/configfiles/test-medium-100.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-100-out.xml diff --git a/configfiles/test-medium-2.xml b/configfiles/test-medium-2.xml index 392ed66be..07863541f 100644 --- a/configfiles/test-medium-2.xml +++ b/configfiles/test-medium-2.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-2-out.xml diff --git a/configfiles/test-medium-500.xml b/configfiles/test-medium-500.xml index a9337ffa3..71bb8ba20 100644 --- a/configfiles/test-medium-500.xml +++ b/configfiles/test-medium-500.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-500-out.xml diff --git a/configfiles/test-medium-connected-long.xml b/configfiles/test-medium-connected-long.xml index 87776aa9d..d0f47d4b2 100644 --- a/configfiles/test-medium-connected-long.xml +++ b/configfiles/test-medium-connected-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-connected-long-out.xml diff --git a/configfiles/test-medium-connected-stdp.xml b/configfiles/test-medium-connected-stdp.xml index 178286bc4..2ea12db70 100644 --- a/configfiles/test-medium-connected-stdp.xml +++ b/configfiles/test-medium-connected-stdp.xml @@ -130,13 +130,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-connected-stdp-out.xml diff --git a/configfiles/test-medium-connected.xml b/configfiles/test-medium-connected.xml index 4f6bcca48..941da74a5 100644 --- a/configfiles/test-medium-connected.xml +++ b/configfiles/test-medium-connected.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-connected-out.xml diff --git a/configfiles/test-medium-hdf5.xml b/configfiles/test-medium-hdf5.xml index af01930f5..43704ee46 100644 --- a/configfiles/test-medium-hdf5.xml +++ b/configfiles/test-medium-hdf5.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-out.h5 diff --git a/configfiles/test-medium-long.xml b/configfiles/test-medium-long.xml index 283a4992a..790335bcb 100644 --- a/configfiles/test-medium-long.xml +++ b/configfiles/test-medium-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-long-out.xml diff --git a/configfiles/test-medium-stdp.xml b/configfiles/test-medium-stdp.xml index 2a98985ac..db837936b 100644 --- a/configfiles/test-medium-stdp.xml +++ b/configfiles/test-medium-stdp.xml @@ -133,13 +133,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-stdp-out.xml diff --git a/configfiles/test-medium.xml b/configfiles/test-medium.xml index dde4fb84c..7c7796aaa 100644 --- a/configfiles/test-medium.xml +++ b/configfiles/test-medium.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml Output/Results/test-medium-out.xml diff --git a/configfiles/test-small-connected-hdf5.xml b/configfiles/test-small-connected-hdf5.xml index 0f00613c6..8834f558d 100644 --- a/configfiles/test-small-connected-hdf5.xml +++ b/configfiles/test-small-connected-hdf5.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-connected-out.h5 diff --git a/configfiles/test-small-connected-long.xml b/configfiles/test-small-connected-long.xml index a3c79e0d1..516c4baea 100644 --- a/configfiles/test-small-connected-long.xml +++ b/configfiles/test-small-connected-long.xml @@ -101,13 +101,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-connected-long-out.xml diff --git a/configfiles/test-small-connected-stdp.xml b/configfiles/test-small-connected-stdp.xml index 1caa99efa..e62c82b82 100644 --- a/configfiles/test-small-connected-stdp.xml +++ b/configfiles/test-small-connected-stdp.xml @@ -130,13 +130,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-connected-stdp-out.xml diff --git a/configfiles/test-small-connected.xml b/configfiles/test-small-connected.xml index 8a6b9d86c..0ff27d05d 100644 --- a/configfiles/test-small-connected.xml +++ b/configfiles/test-small-connected.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-connected-out.xml diff --git a/configfiles/test-small-hdf5.xml b/configfiles/test-small-hdf5.xml index bbff1107f..7d2628c07 100644 --- a/configfiles/test-small-hdf5.xml +++ b/configfiles/test-small-hdf5.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-out.h5 diff --git a/configfiles/test-small-long-half.xml b/configfiles/test-small-long-half.xml index f1a172f0d..3055ffcc6 100644 --- a/configfiles/test-small-long-half.xml +++ b/configfiles/test-small-long-half.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-long-out.xml diff --git a/configfiles/test-small-long.xml b/configfiles/test-small-long.xml index e22e4fa31..9d8509006 100644 --- a/configfiles/test-small-long.xml +++ b/configfiles/test-small-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-long-out.xml diff --git a/configfiles/test-small.xml b/configfiles/test-small.xml index fcfee8e36..47dfc7315 100644 --- a/configfiles/test-small.xml +++ b/configfiles/test-small.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml Output/Results/test-small-out.xml diff --git a/configfiles/test-tiny-hdf5.xml b/configfiles/test-tiny-hdf5.xml index fbfcd032d..bf2b80fa4 100644 --- a/configfiles/test-tiny-hdf5.xml +++ b/configfiles/test-tiny-hdf5.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList2x2.xml Output/Results/test-tiny-out.h5 diff --git a/configfiles/test-tiny-stdp.xml b/configfiles/test-tiny-stdp.xml index aabdacbf2..a05e4db3f 100644 --- a/configfiles/test-tiny-stdp.xml +++ b/configfiles/test-tiny-stdp.xml @@ -130,13 +130,10 @@ - - - ../configfiles/NList/probedNList2x2.xml Output/Results/test-tiny-stdp-out.xml diff --git a/configfiles/test-tiny-xml-stdp.xml b/configfiles/test-tiny-xml-stdp.xml index fd4d15573..90d2c8fd3 100644 --- a/configfiles/test-tiny-xml-stdp.xml +++ b/configfiles/test-tiny-xml-stdp.xml @@ -133,13 +133,10 @@ - - - ../configfiles/NList/probedNList2x2.xml Output/Results/test-tiny-xml-stdp-out.xml diff --git a/configfiles/test-tiny.xml b/configfiles/test-tiny.xml index a5c64425f..22150014b 100644 --- a/configfiles/test-tiny.xml +++ b/configfiles/test-tiny.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList2x2.xml Output/Results/test-tiny-out.xml From 9b6d24dec78e4db3bc093b448c36094c0b2c8529 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 6 Mar 2025 00:34:20 -0800 Subject: [PATCH 058/153] remove additional probed-neuron --- .../configfiles/test-medium-connected-long.xml | 3 --- .../RegressionTesting/configfiles/test-medium-connected.xml | 3 --- Testing/RegressionTesting/configfiles/test-medium-long.xml | 3 --- Testing/RegressionTesting/configfiles/test-medium.xml | 3 --- .../configfiles/test-small-connected-long.xml | 3 --- Testing/RegressionTesting/configfiles/test-small-connected.xml | 3 --- Testing/RegressionTesting/configfiles/test-small-long.xml | 3 --- Testing/RegressionTesting/configfiles/test-small.xml | 3 --- Testing/RegressionTesting/configfiles/test-tiny.xml | 3 --- 9 files changed, 27 deletions(-) diff --git a/Testing/RegressionTesting/configfiles/test-medium-connected-long.xml b/Testing/RegressionTesting/configfiles/test-medium-connected-long.xml index 2f4f3e4ff..9da7c6670 100644 --- a/Testing/RegressionTesting/configfiles/test-medium-connected-long.xml +++ b/Testing/RegressionTesting/configfiles/test-medium-connected-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-medium-connected.xml b/Testing/RegressionTesting/configfiles/test-medium-connected.xml index 4fa41492d..d68f3756f 100644 --- a/Testing/RegressionTesting/configfiles/test-medium-connected.xml +++ b/Testing/RegressionTesting/configfiles/test-medium-connected.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-medium-long.xml b/Testing/RegressionTesting/configfiles/test-medium-long.xml index ae25c96ed..32a00c565 100644 --- a/Testing/RegressionTesting/configfiles/test-medium-long.xml +++ b/Testing/RegressionTesting/configfiles/test-medium-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-medium.xml b/Testing/RegressionTesting/configfiles/test-medium.xml index fa54ba008..168eeb872 100644 --- a/Testing/RegressionTesting/configfiles/test-medium.xml +++ b/Testing/RegressionTesting/configfiles/test-medium.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_900.xml ../Testing/RegressionTesting/TestOutput/test-medium-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-small-connected-long.xml b/Testing/RegressionTesting/configfiles/test-small-connected-long.xml index 359fe630d..b733fb1f1 100644 --- a/Testing/RegressionTesting/configfiles/test-small-connected-long.xml +++ b/Testing/RegressionTesting/configfiles/test-small-connected-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-small-connected.xml b/Testing/RegressionTesting/configfiles/test-small-connected.xml index 50b8afdaa..990755ca5 100644 --- a/Testing/RegressionTesting/configfiles/test-small-connected.xml +++ b/Testing/RegressionTesting/configfiles/test-small-connected.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-small-long.xml b/Testing/RegressionTesting/configfiles/test-small-long.xml index 8dc6ab1c1..e4eb60561 100644 --- a/Testing/RegressionTesting/configfiles/test-small-long.xml +++ b/Testing/RegressionTesting/configfiles/test-small-long.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-small.xml b/Testing/RegressionTesting/configfiles/test-small.xml index e7a50a53b..729d903b6 100644 --- a/Testing/RegressionTesting/configfiles/test-small.xml +++ b/Testing/RegressionTesting/configfiles/test-small.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList_2-100.xml ../Testing/RegressionTesting/TestOutput/test-small-out.xml diff --git a/Testing/RegressionTesting/configfiles/test-tiny.xml b/Testing/RegressionTesting/configfiles/test-tiny.xml index 8b6616366..a0fd11c76 100644 --- a/Testing/RegressionTesting/configfiles/test-tiny.xml +++ b/Testing/RegressionTesting/configfiles/test-tiny.xml @@ -98,13 +98,10 @@ - - - ../configfiles/NList/probedNList2x2.xml ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml From cb38f55f74eefea7f3b1c760e560b89216d27a82 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 6 Mar 2025 13:01:56 -0800 Subject: [PATCH 059/153] Fixed inconsistencies in Recorder/Layout Params --- configfiles/static_izh_1000.xml | 2 +- configfiles/test-small-connected-hdf5.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configfiles/static_izh_1000.xml b/configfiles/static_izh_1000.xml index cca175b06..a74555d17 100644 --- a/configfiles/static_izh_1000.xml +++ b/configfiles/static_izh_1000.xml @@ -97,7 +97,7 @@ - + diff --git a/configfiles/test-small-connected-hdf5.xml b/configfiles/test-small-connected-hdf5.xml index 8834f558d..918c0bdd3 100644 --- a/configfiles/test-small-connected-hdf5.xml +++ b/configfiles/test-small-connected-hdf5.xml @@ -100,7 +100,7 @@ - + Output/Results/test-small-connected-out.h5 From 792f49dd128c15bb42fa6c32178f3c3c33dfa224 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 6 Mar 2025 14:50:19 -0800 Subject: [PATCH 060/153] Refactor neuronTypeToString from Global --- Simulator/Utils/Global.cpp | 15 --------------- Simulator/Utils/Global.h | 2 -- Simulator/Vertices/AllVertices.cpp | 17 +++++++++++++++++ Simulator/Vertices/AllVertices.h | 3 +++ 4 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Simulator/Utils/Global.cpp b/Simulator/Utils/Global.cpp index 9f6572a0d..8b6b0db96 100644 --- a/Simulator/Utils/Global.cpp +++ b/Simulator/Utils/Global.cpp @@ -53,21 +53,6 @@ string coordToString(int x, int y, int z) return ss.str(); } -// MODEL INDEPENDENT FUNCTION NMV-BEGIN { -string neuronTypeToString(vertexType t) -{ - switch (t) { - case vertexType::INH: - return "INH"; - case vertexType::EXC: - return "EXC"; - default: - cerr << "ERROR->neuronTypeToString() failed, unknown type: " << t << endl; - assert(false); - return nullptr; // Must return a value -- this will probably cascade to another failure - } -} -// } NMV-END #if defined(USE_GPU) //! CUDA device ID int g_deviceId = 0; diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index 38d5f83aa..f37f7e894 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -195,8 +195,6 @@ string index2dToString(int i, int width, int height); string coordToString(int x, int y); // Converts a 3-d coordinate into a string. string coordToString(int x, int y, int z); -// Converts a vertexType into a string. -string neuronTypeToString(vertexType t); template ostream &operator<<(ostream &os, const vector &v) { diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index cd14ebda0..e132696ef 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -9,6 +9,23 @@ #include "AllVertices.h" #include "OperationManager.h" +// Utility function to convert a vertexType into a string +// MODEL INDEPENDENT FUNCTION NMV-BEGIN { +string vertexTypeToString(vertexType t) +{ + switch (t) { + case vertexType::INH: + return "INH"; + case vertexType::EXC: + return "EXC"; + default: + cerr << "ERROR->vertexTypeToString() failed, unknown type: " << t << endl; + assert(false); + return nullptr; // Must return a value -- this will probably cascade to another failure + } +} +// } NMV-END + // Default constructor AllVertices::AllVertices() : size_(0) { diff --git a/Simulator/Vertices/AllVertices.h b/Simulator/Vertices/AllVertices.h index d005c689c..18b6a4ae8 100644 --- a/Simulator/Vertices/AllVertices.h +++ b/Simulator/Vertices/AllVertices.h @@ -33,6 +33,9 @@ using namespace std; // cereal #include "cereal/types/vector.hpp" +// Utility function to convert a vertexType into a string. +string vertexTypeToString(vertexType t); + class Layout; class AllEdges; struct AllVerticesDeviceProperties; From cb84d46146cb44bf97c127ef658789b18eb2696e Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 6 Mar 2025 15:04:52 -0800 Subject: [PATCH 061/153] Clean up comments --- Simulator/Utils/Global.h | 32 -------------------------------- 1 file changed, 32 deletions(-) diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index f37f7e894..cc1438e99 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -91,38 +91,6 @@ extern uint64_t g_simulationStep; const int g_nMaxChunkSize = 100; -// NETWORK MODEL VARIABLES NMV-BEGIN { -// Vertex types. -// NEURO: -// INH - Inhibitory neuron -// EXC - Excitory neuron -// NG911: -// CALR: Caller radii -// PSAP: PSAP nodes -// EMS, FIRE, LAW: Responder nodes -/* -// Moved to Utils/VertexType.h -enum class vertexType { - // Neuro - INH = 1, - EXC = 2, - // NG911 - CALR = 3, - PSAP = 4, - EMS = 5, - FIRE = 6, - LAW = 7, - // UNDEF - VTYPE_UNDEF = 0 -}; -// Custom streaming operator<< for the enum class vertexType -inline std::ostream &operator<<(std::ostream &os, vertexType vT) -{ - os << static_cast(vT); - return os; -} -*/ - // Edge types. // NEURO: // II - Synapse from inhibitory neuron to inhibitory neuron. From a4885da572e2ec1cafdaf8fcffeac9ba648b3fbe Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Thu, 6 Mar 2025 15:41:08 -0800 Subject: [PATCH 062/153] Fixing clang-tidy issues --- Simulator/Vertices/AllVertices.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index e132696ef..1c632cc9a 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -9,7 +9,7 @@ #include "AllVertices.h" #include "OperationManager.h" -// Utility function to convert a vertexType into a string +// Utility function to convert a vertexType into a string. // MODEL INDEPENDENT FUNCTION NMV-BEGIN { string vertexTypeToString(vertexType t) { From be054b05fde455af4d2b2f9c36fbcd0784f88314 Mon Sep 17 00:00:00 2001 From: Andrew Date: Thu, 6 Mar 2025 18:32:11 -0800 Subject: [PATCH 063/153] updated summation point to reflect the changes Nicolas made --- Simulator/Vertices/Neuro/AllSpikingNeurons.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.h b/Simulator/Vertices/Neuro/AllSpikingNeurons.h index f9938b4e4..675370a26 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.h +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.h @@ -159,6 +159,9 @@ struct AllSpikingNeuronsDeviceProperties : public AllVerticesDeviceProperties { /// On the next advance cycle, vertices add the values stored in their corresponding /// summation points to their Vm and resets the summation points to zero BGFLOAT *summationPoints_; + #ifdef VALIDATION_MODE + BGFLOAT *spValidation_; + #endif }; #endif // defined(USE_GPU) From 740b54be23084c5df5d5c35585dc13aed019cb92 Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Fri, 7 Mar 2025 14:08:07 -0800 Subject: [PATCH 064/153] Issue 386- Checks if there is a log4cplus.ini file in the home directory of the user, and configures it. --- Simulator/Core/Graphitti_Main.cpp | 39 ++++++++++++++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/Simulator/Core/Graphitti_Main.cpp b/Simulator/Core/Graphitti_Main.cpp index 318e0a664..25f8eff2a 100644 --- a/Simulator/Core/Graphitti_Main.cpp +++ b/Simulator/Core/Graphitti_Main.cpp @@ -25,8 +25,33 @@ #include #include #include +#include +#include + using namespace std; +// Function to check whether there is a file given at a specific path +bool findFile(string path) { + + // Opens the file at specified path + ifstream newFile(path); + + // Checks if file is opened properly, otherwise results in an error and returns false + if(newFile.is_open()) { + + // Use good() to check if the file exists + bool found = newFile.good(); + newFile.close(); + return found; + + } else { + cerr << "ERROR opening file." << endl; + } + + return false; +} + + /// Main function calls the Core's runSimulation method which /// handles command line arguments and running the simulation. /// @@ -35,6 +60,7 @@ using namespace std; /// @return -1 if error, else 0 if success. int main(int argc, char *argv[]) { + // Clear logging files at the start of each simulation fstream("Output/Debug/logging.txt", ios::out | ios::trunc); fstream("Output/Debug/vertices.txt", ios::out | ios::trunc); @@ -42,7 +68,18 @@ int main(int argc, char *argv[]) // Initialize log4cplus and set properties based on configure file ::log4cplus::initialize(); - ::log4cplus::PropertyConfigurator::doConfigure("RuntimeFiles/log4cplus_configure.ini"); + + // This is to find the absolute path of the home directory log4cplus file + string absPath = getenv("HOME"); + absPath = absPath + "/log4cplus_configure.ini"; + + // Checks whether the file is in the home directory + // otherwise uses the file in RuntimeFiles + if(findFile(absPath)) { + ::log4cplus::PropertyConfigurator::doConfigure(absPath); + } else { + ::log4cplus::PropertyConfigurator::doConfigure("RuntimeFiles/log4cplus_configure.ini"); + } // storing command line arguments as string // required to pass as an argument to setupSimulation From 6fb551159ef90e950290747b5f48b7df57a57820 Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Tue, 11 Mar 2025 17:33:18 -0700 Subject: [PATCH 065/153] Updated Personal Development branch --- Simulator/Core/Graphitti_Main.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Simulator/Core/Graphitti_Main.cpp b/Simulator/Core/Graphitti_Main.cpp index 25f8eff2a..06619c1d0 100644 --- a/Simulator/Core/Graphitti_Main.cpp +++ b/Simulator/Core/Graphitti_Main.cpp @@ -31,13 +31,14 @@ using namespace std; // Function to check whether there is a file given at a specific path -bool findFile(string path) { +bool findFile(string path) +{ // Opens the file at specified path ifstream newFile(path); // Checks if file is opened properly, otherwise results in an error and returns false - if(newFile.is_open()) { + if (newFile.is_open()) { // Use good() to check if the file exists bool found = newFile.good(); @@ -75,7 +76,7 @@ int main(int argc, char *argv[]) // Checks whether the file is in the home directory // otherwise uses the file in RuntimeFiles - if(findFile(absPath)) { + if (findFile(absPath)) { ::log4cplus::PropertyConfigurator::doConfigure(absPath); } else { ::log4cplus::PropertyConfigurator::doConfigure("RuntimeFiles/log4cplus_configure.ini"); From c0d564bd8fe05850e213aabdc21d06b6ff554c9f Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Tue, 11 Mar 2025 17:41:20 -0700 Subject: [PATCH 066/153] Fixed minor formatting --- Simulator/Core/Graphitti_Main.cpp | 7 +-- Simulator/Core/temp.txt | 93 +++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+), 5 deletions(-) create mode 100644 Simulator/Core/temp.txt diff --git a/Simulator/Core/Graphitti_Main.cpp b/Simulator/Core/Graphitti_Main.cpp index 06619c1d0..84e34107a 100644 --- a/Simulator/Core/Graphitti_Main.cpp +++ b/Simulator/Core/Graphitti_Main.cpp @@ -22,24 +22,22 @@ #include "log4cplus/configurator.h" #include "log4cplus/logger.h" #include "log4cplus/loggingmacros.h" +#include #include #include #include #include -#include using namespace std; // Function to check whether there is a file given at a specific path bool findFile(string path) { - // Opens the file at specified path ifstream newFile(path); // Checks if file is opened properly, otherwise results in an error and returns false if (newFile.is_open()) { - // Use good() to check if the file exists bool found = newFile.good(); newFile.close(); @@ -61,7 +59,6 @@ bool findFile(string path) /// @return -1 if error, else 0 if success. int main(int argc, char *argv[]) { - // Clear logging files at the start of each simulation fstream("Output/Debug/logging.txt", ios::out | ios::trunc); fstream("Output/Debug/vertices.txt", ios::out | ios::trunc); @@ -73,7 +70,7 @@ int main(int argc, char *argv[]) // This is to find the absolute path of the home directory log4cplus file string absPath = getenv("HOME"); absPath = absPath + "/log4cplus_configure.ini"; - + // Checks whether the file is in the home directory // otherwise uses the file in RuntimeFiles if (findFile(absPath)) { diff --git a/Simulator/Core/temp.txt b/Simulator/Core/temp.txt new file mode 100644 index 000000000..84e34107a --- /dev/null +++ b/Simulator/Core/temp.txt @@ -0,0 +1,93 @@ +/** + * @file Graphitti_Main.cpp + * + * @ingroup Simulator/Core + * + * @brief Starting point of the Simulation - Main. + * + * The main functions calls the Core's runSimulation method which performs the following simulation steps: + * 1) Instantiates Simulator object + * 2) Parses command line to get configuration file and additional information if provided + * 3) Loads global Simulator parameters from configuration file + * 4) Instantiates all simulator objects (Layout, Connections, Synapases, Vertices) + * 5) Reads simulator objects' parameters from configuration file + * 6) Simulation setup (Deseralization, Initailizing values, etc.) + * 7) Run Simulation + * 8) Simulation shutdown (Save results, serialize) + * + * The Core is de-coupled from main to improve testability. + */ + +#include "Core.h" +#include "log4cplus/configurator.h" +#include "log4cplus/logger.h" +#include "log4cplus/loggingmacros.h" +#include +#include +#include +#include +#include + +using namespace std; + +// Function to check whether there is a file given at a specific path +bool findFile(string path) +{ + // Opens the file at specified path + ifstream newFile(path); + + // Checks if file is opened properly, otherwise results in an error and returns false + if (newFile.is_open()) { + // Use good() to check if the file exists + bool found = newFile.good(); + newFile.close(); + return found; + + } else { + cerr << "ERROR opening file." << endl; + } + + return false; +} + + +/// Main function calls the Core's runSimulation method which +/// handles command line arguments and running the simulation. +/// +/// @param argc argument count. +/// @param argv arguments. +/// @return -1 if error, else 0 if success. +int main(int argc, char *argv[]) +{ + // Clear logging files at the start of each simulation + fstream("Output/Debug/logging.txt", ios::out | ios::trunc); + fstream("Output/Debug/vertices.txt", ios::out | ios::trunc); + fstream("Output/Debug/edges.txt", ios::out | ios::trunc); + + // Initialize log4cplus and set properties based on configure file + ::log4cplus::initialize(); + + // This is to find the absolute path of the home directory log4cplus file + string absPath = getenv("HOME"); + absPath = absPath + "/log4cplus_configure.ini"; + + // Checks whether the file is in the home directory + // otherwise uses the file in RuntimeFiles + if (findFile(absPath)) { + ::log4cplus::PropertyConfigurator::doConfigure(absPath); + } else { + ::log4cplus::PropertyConfigurator::doConfigure("RuntimeFiles/log4cplus_configure.ini"); + } + + // storing command line arguments as string + // required to pass as an argument to setupSimulation + string cmdLineArguments; + string executableName = argv[0]; + for (int i = 1; i < argc; i++) { + cmdLineArguments = cmdLineArguments + argv[i] + " "; + } + + // Creating an instance of core class + Core core; + return core.runSimulation(executableName, cmdLineArguments); +}; From b36ecf64f454046a48e5b7abaac3b909ee714290 Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Tue, 11 Mar 2025 22:44:03 -0700 Subject: [PATCH 067/153] GraphManager Final Update --- .../Connections/NG911/Connections911.cpp | 2 +- Simulator/Core/Core.cpp | 21 +- Simulator/Layouts/Layout.cpp | 342 +++++++-------- Simulator/Layouts/NG911/Layout911.cpp | 28 +- Simulator/Layouts/Neuro/LayoutNeuro.cpp | 12 +- Simulator/Utils/CircularBuffer.h | 2 +- Simulator/Utils/Global.h | 18 +- Simulator/Utils/GraphManager.cpp | 100 ----- Simulator/Utils/GraphManager.h | 407 ++++++++++++------ Simulator/Vertices/NG911/All911Vertices.cpp | 4 +- Testing/UnitTesting/GraphManagerTests.cpp | 208 ++++----- Tools/GraphGeneration/README.md | 2 + .../examples/config_files/config.xml | 16 +- configfiles/test-spd-911.xml | 60 --- 14 files changed, 614 insertions(+), 608 deletions(-) delete mode 100644 Simulator/Utils/GraphManager.cpp delete mode 100644 configfiles/test-spd-911.xml diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index ddb57c9b8..7d5c499e3 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -22,7 +22,7 @@ void Connections911::setup() AllVertices &vertices = layout.getVertices(); // Get list of edges sorted by target in ascending order from GraphManager - GraphManager &gm = GraphManager::getInstance(); + GraphManager &gm = GraphManager::getInstance(); auto sorted_edge_list = gm.edgesSortByTarget(); // add sorted edges diff --git a/Simulator/Core/Core.cpp b/Simulator/Core/Core.cpp index b32b1837b..6a5b5eeec 100644 --- a/Simulator/Core/Core.cpp +++ b/Simulator/Core/Core.cpp @@ -147,11 +147,22 @@ int Core::runSimulation(string executableName, string cmdLineArguments) // Ask all objects to register their Graph properties OperationManager::getInstance().executeOperation(Operations::registerGraphProperties); - // Read graph from GraphML file. Uses ParameterManager to get the file name. - // TODO: This method returns false if it fails to read the graph, we ignore it at the - // moment since it currently fails for the Neural Network model because they don't - // yet use GraphML. - GraphManager::getInstance().readGraph(); + + // Retrieve class attribute from the 'LayoutParams' in the config file + // This value indicate the simulation type (Neural or NG911) for graph manager configuration + // Log fatal error if no simulation type is found and terminate + string configData; + ParameterManager::getInstance().getStringByXpath("//LayoutParams/@class", configData); + + if (configData.find("Neur")) { + GraphManager::getInstance().readGraph(); + } + if (configData.find("91")) { + GraphManager::getInstance().readGraph(); + } else { + LOG4CPLUS_FATAL(consoleLogger, "ERROR: Unknown simulation type'"); + return -1; + } // Invoke instantiated simulator objects to load parameters from the configuration file LOG4CPLUS_TRACE(consoleLogger, "Loading parameters from configuration file"); diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index 99b67a3f8..efe26509b 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -6,173 +6,175 @@ * @brief The Layout class defines the layout of neurons in neural networks */ -#include "Layout.h" -#include "Factory.h" -#include "GraphManager.h" -#include "OperationManager.h" -#include "ParameterManager.h" -#include "ParseParamError.h" -#include "RecordableBase.h" -#include "Simulator.h" -#include "Util.h" - -/// Constructor -Layout::Layout() : numEndogenouslyActiveNeurons_(0) -{ - // Get a copy of the console logger to use in the case of errors - log4cplus::Logger consoleLogger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); - - // Create Vertices/Neurons class using type definition in configuration file - string type; - ParameterManager::getInstance().getStringByXpath("//VerticesParams/@class", type); - vertices_ = Factory::getInstance().createType(type); - - // If the factory returns an error (nullptr), exit - if (vertices_ == nullptr) { - LOG4CPLUS_INFO(consoleLogger, "INVALID CLASS: " + type); - exit(EXIT_FAILURE); - } - - // Register loadParameters function as a loadParameters operation in the Operation Manager - function loadParametersFunc = std::bind(&Layout::loadParameters, this); - OperationManager::getInstance().registerOperation(Operations::loadParameters, - loadParametersFunc); - - // Register printParameters function as a printParameters operation in the OperationManager - function printParametersFunc = bind(&Layout::printParameters, this); - OperationManager::getInstance().registerOperation(Operations::printParameters, - printParametersFunc); - - // Register registerGraphProperties method as registerGraphProperties operation - // in the OperationManager - function registerGraphPropertiesFunc = bind(&Layout::registerGraphProperties, this); - OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), - registerGraphPropertiesFunc); - - // Get a copy of the file logger to use log4cplus macros - fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); -} - -AllVertices &Layout::getVertices() const -{ - return *vertices_; -} - -int Layout::getNumVertices() const -{ - return numVertices_; -} - -/// Load member variables from configuration file. Registered to OperationManager as Operations::op::loadParameters -void Layout::loadParameters() -{ - numVertices_ = GraphManager::getInstance().numVertices(); -} - -void Layout::registerGraphProperties() -{ - GraphManager &gm = GraphManager::getInstance(); - gm.registerProperty("y", &VertexProperty::y); - gm.registerProperty("x", &VertexProperty::x); - gm.registerProperty("type", &VertexProperty::type); -} - -/// Setup the internal structure of the class. -/// Allocate memories to store all layout state, no sequential dependency in this method -void Layout::setup() -{ - // Allocate memory - xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); - yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); - dist2_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); - dist_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); - - // more allocation of internal memory - starterMap_.assign(numVertices_, false); - vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); - - // Loop over all vertices and set their x and y locations - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - xloc_[*vi] = gm[*vi].x; - yloc_[*vi] = gm[*vi].y; - } - - // Now we calculate the distance and distance^2 - // between each pair of vertices - for (int n = 0; n < numVertices_ - 1; n++) { - for (int n2 = n + 1; n2 < numVertices_; n2++) { - // distance^2 between two points in point-slope form - dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) - + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); - - // both points are equidistant from each other - dist2_(n2, n) = dist2_(n, n2); - } - } - - // Finally take the square root to get the distances - dist_ = sqrt(dist2_); - - // Register variable: vertex locations if need - //Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - //string baseName = "Location"; - //string xLocation = "x_" + baseName; - //string yLocation = "y_" + baseName; - //recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); - //recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); - - // test purpose - // cout << "xloc_: " << &xloc_ << endl; - // RecordableBase& location = xloc_; - // cout << "location: " << &location << endl; -} - - -/// Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters -void Layout::printParameters() const -{ - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - stringstream output; - output << "\nLAYOUT PARAMETERS" << endl; - output << "\tEndogenously active neuron positions: "; - - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - if (gm[*vi].active) { - output << *vi << " "; - } - } - output << endl; - - output << "\tInhibitory neuron positions: "; - - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - if (gm[*vi].type == "INH") { - output << *vi << " "; - } - } - output << endl; - - LOG4CPLUS_DEBUG(fileLogger_, output.str()); -} - -/// Creates a vertex type map. -/// @param numVertices number of the vertices to have in the type map. -void Layout::generateVertexTypeMap() -{ - DEBUG(cout << "\nInitializing vertex type map: VTYPE_UNDEF" << endl;); - vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); -} - -/// Populates the starter map. -/// Selects num_endogenously_active_neurons excitory neurons and converts them into starter neurons. -/// @param numVertices number of vertices to have in the map. -void Layout::initStarterMap() -{ - starterMap_.assign(numVertices_, false); -} + #include "Layout.h" + #include "Factory.h" + #include "GraphManager.h" + #include "OperationManager.h" + #include "ParameterManager.h" + #include "ParseParamError.h" + #include "RecordableBase.h" + #include "Simulator.h" + #include "Util.h" + + /// Constructor + Layout::Layout() : numEndogenouslyActiveNeurons_(0) + { + // Get a copy of the console logger to use in the case of errors + log4cplus::Logger consoleLogger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); + + // Create Vertices/Neurons class using type definition in configuration file + string type; + ParameterManager::getInstance().getStringByXpath("//VerticesParams/@class", type); + vertices_ = Factory::getInstance().createType(type); + + // If the factory returns an error (nullptr), exit + if (vertices_ == nullptr) { + LOG4CPLUS_INFO(consoleLogger, "INVALID CLASS: " + type); + exit(EXIT_FAILURE); + } + + // Register loadParameters function as a loadParameters operation in the Operation Manager + function loadParametersFunc = std::bind(&Layout::loadParameters, this); + OperationManager::getInstance().registerOperation(Operations::loadParameters, + loadParametersFunc); + + // Register printParameters function as a printParameters operation in the OperationManager + function printParametersFunc = bind(&Layout::printParameters, this); + OperationManager::getInstance().registerOperation(Operations::printParameters, + printParametersFunc); + + // Register registerGraphProperties method as registerGraphProperties operation + // in the OperationManager + function registerGraphPropertiesFunc = bind(&Layout::registerGraphProperties, this); + OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), + registerGraphPropertiesFunc); + + // Get a copy of the file logger to use log4cplus macros + fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); + } + + AllVertices &Layout::getVertices() const + { + return *vertices_; + } + + int Layout::getNumVertices() const + { + return numVertices_; + } + + /// Load member variables from configuration file. Registered to OperationManager as Operations::op::loadParameters + void Layout::loadParameters() + { + numVertices_ = GraphManager::getInstance().numVertices(); + } + + void Layout::registerGraphProperties() + { + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("y", &VertexProperties::y); + gm.registerProperty("x", &VertexProperties::x); + gm.registerProperty("type", &VertexProperties::type); + } + + + /// Setup the internal structure of the class. + /// Allocate memories to store all layout state, no sequential dependency in this method + void Layout::setup() + { + // Allocate memory + xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + dist2_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); + dist_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); + + // more allocation of internal memory + starterMap_.assign(numVertices_, false); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); + + // Loop over all vertices and set their x and y locations + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + xloc_[*vi] = gm[*vi].x; + yloc_[*vi] = gm[*vi].y; + } + + // Now we calculate the distance and distance^2 + // between each pair of vertices + for (int n = 0; n < numVertices_ - 1; n++) { + for (int n2 = n + 1; n2 < numVertices_; n2++) { + // distance^2 between two points in point-slope form + dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) + + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); + + // both points are equidistant from each other + dist2_(n2, n) = dist2_(n, n2); + } + } + + // Finally take the square root to get the distances + dist_ = sqrt(dist2_); + + // Register variable: vertex locations if need + //Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + //string baseName = "Location"; + //string xLocation = "x_" + baseName; + //string yLocation = "y_" + baseName; + //recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); + //recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); + + // test purpose + // cout << "xloc_: " << &xloc_ << endl; + // RecordableBase& location = xloc_; + // cout << "location: " << &location << endl; + } + + + /// Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters + void Layout::printParameters() const + { + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + stringstream output; + output << "\nLAYOUT PARAMETERS" << endl; + output << "\tEndogenously active neuron positions: "; + + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + if (gm[*vi].active) { + output << *vi << " "; + } + } + output << endl; + + output << "\tInhibitory neuron positions: "; + + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + if (gm[*vi].type == "INH") { + output << *vi << " "; + } + } + output << endl; + + LOG4CPLUS_DEBUG(fileLogger_, output.str()); + } + + /// Creates a vertex type map. + /// @param numVertices number of the vertices to have in the type map. + void Layout::generateVertexTypeMap() + { + DEBUG(cout << "\nInitializing vertex type map: VTYPE_UNDEF" << endl;); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); + } + + /// Populates the starter map. + /// Selects num_endogenously_active_neurons excitory neurons and converts them into starter neurons. + /// @param numVertices number of vertices to have in the map. + void Layout::initStarterMap() + { + starterMap_.assign(numVertices_, false); + } + \ No newline at end of file diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index 0b7d5d912..d8cbbf0f2 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -21,22 +21,22 @@ void Layout911::registerGraphProperties() // We are passing a pointer to a data member of the VertexProperty // so Boost Graph Library can use it for loading the graphML file. // Look at: https://www.studytonight.com/cpp/pointer-to-members.php - GraphManager &gm = GraphManager::getInstance(); - gm.registerProperty("objectID", &VertexProperty::objectID); - gm.registerProperty("name", &VertexProperty::name); - gm.registerProperty("type", &VertexProperty::type); - gm.registerProperty("y", &VertexProperty::y); - gm.registerProperty("x", &VertexProperty::x); - gm.registerProperty("servers", &VertexProperty::servers); - gm.registerProperty("trunks", &VertexProperty::trunks); - gm.registerProperty("segments", &VertexProperty::segments); + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("objectID", &NG911VertexProperties::objectID); + gm.registerProperty("name", &NG911VertexProperties::name); + gm.registerProperty("type", &NG911VertexProperties::type); + gm.registerProperty("y", &NG911VertexProperties::y); + gm.registerProperty("x", &NG911VertexProperties::x); + gm.registerProperty("servers", &NG911VertexProperties::servers); + gm.registerProperty("trunks", &NG911VertexProperties::trunks); + gm.registerProperty("segments", &NG911VertexProperties::segments); } // Loads Layout911 member variables. void Layout911::loadParameters() { // Get the number of verticese from the GraphManager - numVertices_ = GraphManager::getInstance().numVertices(); + numVertices_ = GraphManager::getInstance().numVertices(); } // Setup the internal structure of the class. @@ -47,8 +47,8 @@ void Layout911::setup() Layout::setup(); // Loop over all vertices and set their x and y locations - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); xloc_[*vi] = gm[*vi].x; @@ -93,8 +93,8 @@ void Layout911::generateVertexTypeMap() map vTypeCount; // Add all vertices - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); LOG4CPLUS_DEBUG(fileLogger_, "\nvertices in graph: " << gm.numVertices()); for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index 3c7c999a6..fb85c9f8d 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -28,8 +28,8 @@ void LayoutNeuro::registerGraphProperties() // We are passing a pointer to a data member of the VertexProperty // so Boost Graph Library can use it for loading the graphML file. // Look at: https://www.studytonight.com/cpp/pointer-to-members.php - GraphManager &gm = GraphManager::getInstance(); - gm.registerProperty("active", &VertexProperty::active); + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("active", &NeuralVertexProperties::active); } /// Prints out all parameters to logging file. @@ -52,8 +52,8 @@ void LayoutNeuro::generateVertexTypeMap() int numExcititoryNeurons; // Set Neuron Type from GraphML File - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); @@ -85,8 +85,8 @@ void LayoutNeuro::initStarterMap() Layout::initStarterMap(); // Set Neuron Activity from GraphML File - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); diff --git a/Simulator/Utils/CircularBuffer.h b/Simulator/Utils/CircularBuffer.h index 1171841d9..8b67de845 100644 --- a/Simulator/Utils/CircularBuffer.h +++ b/Simulator/Utils/CircularBuffer.h @@ -1,5 +1,5 @@ /** - * @file GraphManager.h + * @file CircularBuffer.h * @author Jardi A. M. Jordan (jardiamj@gmail.com) * @date 01-22-2023 * Supervised by Dr. Michael Stiber, UW Bothell CSSE Division diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index 38d5f83aa..604e40a13 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -264,30 +264,34 @@ extern const string MATRIX_INIT; // classes (Layout, Connections, etc) need to do this before we can load the // graph. -/// Struct for vertex attributes -struct VertexProperty { - // Common Properties: +/// @brief Parent structure to store common properties for all graph vertices +struct VertexProperties { string type; double x; double y; +}; - // 911 Properties +/// @brief Derived structure for NG911-specific properties +/// Inherits from VertexProperty and includes attributes specific to 911 networks +struct NG911VertexProperties : public VertexProperties { string objectID; string name; int servers = 0; int trunks = 0; string segments; +}; - // Neural Properties +/// @brief Derived structure for Neural Network-specific properties +struct NeuralVertexProperties : public VertexProperties { bool active; }; /// @brief The structure to hold the edge properties -struct EdgeProperty { +struct EdgeProperties { // TODO: Edge Properties }; /// @brief The structure to hold the Graph properties -struct GraphProperty { +struct GraphProperties { // TODO: Graph Properties }; diff --git a/Simulator/Utils/GraphManager.cpp b/Simulator/Utils/GraphManager.cpp deleted file mode 100644 index 5d91c4e8a..000000000 --- a/Simulator/Utils/GraphManager.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/** - * @file GraphManager.cpp - * @author Jardi A. Martinez Jordan (jardiamj@gmail.com) - * @date 11-11-2022 - * @ingroup Simulator/Utils - * - * @brief The GraphManager is a wrapper around the Boost Graph Library (BGL). - * - * It is used to read graphml files that hold the initial simulation graph. - * - */ - -#include "GraphManager.h" -#include "ParameterManager.h" - -void GraphManager::setFilePath(string filePath) -{ - graphFilePath_ = filePath; -} - -bool GraphManager::readGraph() -{ - // Load graphml file into a BGL graph - ifstream graph_file; - - // If graphFilePath_ isn't already defined, get it from ParameterManager - if (graphFilePath_ == "") { - // string file_name; - string path = "//graphmlFile/text()"; - if (!ParameterManager::getInstance().getStringByXpath(path, graphFilePath_)) { - cerr << "Could not find XML path: " << path << ".\n"; - return false; - }; - } - - graph_file.open(graphFilePath_.c_str()); - if (!graph_file.is_open()) { - cerr << "Failed to open file: " << graphFilePath_ << ".\n"; - return false; - } - - boost::read_graphml(graph_file, graph_, dp_); - return true; -} - -pair GraphManager::vertices() -{ - return boost::vertices(graph_); -} - -pair GraphManager::edges() const -{ - return boost::edges(graph_); -} - -size_t GraphManager::source(const GraphManager::EdgeDescriptor &edge) const -{ - return boost::source(edge, graph_); -} - -size_t GraphManager::target(const GraphManager::EdgeDescriptor &edge) const -{ - return boost::target(edge, graph_); -} - -VertexProperty &GraphManager::operator[](size_t vertex) -{ - return graph_[vertex]; -} - -const VertexProperty &GraphManager::operator[](size_t vertex) const -{ - return graph_[vertex]; -} - -const list GraphManager::edgesSortByTarget() const -{ - list ei_list; - EdgeIterator ei, ei_end; - for (boost::tie(ei, ei_end) = edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - - // Use a lambda function for sorting the list of edges - ei_list.sort([this](EdgeDescriptor const &a, EdgeDescriptor const &b) { - return this->target(a) < this->target(b); - }); - - return ei_list; -} - -size_t GraphManager::numVertices() const -{ - return boost::num_vertices(graph_); -} - -size_t GraphManager::numEdges() const -{ - return boost::num_edges(graph_); -} diff --git a/Simulator/Utils/GraphManager.h b/Simulator/Utils/GraphManager.h index 957bd2d55..61e30bf0f 100644 --- a/Simulator/Utils/GraphManager.h +++ b/Simulator/Utils/GraphManager.h @@ -1,146 +1,287 @@ /** * @file GraphManager.h * @author Jardi A. M. Jordan (jardiamj@gmail.com) - * @date 11-11-2022 + * @author Jasleen Kaur Saini (jasleenksaini@gmail.com) + * @date 02-18-2025 * Supervised by Dr. Michael Stiber, UW Bothell CSSE Division * @ingroup Simulator/Utils * - * @brief This is a wrapper around the Boost Graph Library (BGL). + * @brief A templated wrapper around the Boost Graph Library (BGL). * - * It is used to read graphml files that hold the initial simulation graph. + * The GraphManager class is responsible for reading and managing GraphML files + * that define the initial simulation graph structure. It provides a simple + * interface for loading graphs while ensuring that BGL correctly associates + * graph elements with their respective properties. + * + * The templatized class is designed to support multiple applications by using + * `VertexProperties` struct that employs inheritance. This allows for specialization + * based on different simulation domains, such as: + * - Neuro: Graph structures used in Neural Network-specific simulations. + * - NG911: Graph structures used for Next Generation 911 emergency simulations. * - * The class provides a simple interface to load a graphML file. The BGL needs - * to know the vertices, edges, graph properties before loading the graph. We - * tell BGL where to store these properties and their type by registering them - * before hand using the registerProperty() method. - * Assumptions: - * - VertexProperty is a struct that contains the properties related to vertices - * lisgted in the graphml file. - * - EdgeProperty is a struct that contains the properties related to edges - * listed inthe graphml file. - * - GraphProperty is a structure that contains the properties related to the graph. - * - All relevant properties are registered via the `registerProperty()` method - * before calling `readGraph`. - * - Properties not registered are ignored. + * ## Assumptions: + * - `VertexProperties` is a base struct that includes application-specific properties + * via inheritance. Derived structs are NG911Property and NeuralProperty. + * - `EdgeProperty` is a struct containing properties related to edges in the graph. + * - `GraphProperty` is a struct containing properties related to the entire graph. + * - All relevant properties are registered using the `registerProperty()` method + * before calling `readGraph()`. + * - Properties not registered will be ignored. + * - The entire GraphManager class is included in the header file to ensure that + * the templated class can be compiled without requiring separate declarations. * - * The structures for the VertexProperty, EdgeProperty, and GraphProperty are declared - * in Global.h. + * The structures for `VertexProperties`, `EdgeProperties`, and `GraphProperties` + * are declared in `Global.h`. * - * The class was made a Singleton because is needed in various places to initialize - * the differen graph structures of the Simulator. - * + * This class follows the Singleton design pattern, ensuring a single instance + * is used throughout the simulation for consistent graph management. */ -#pragma once - -#include "Global.h" -#include -#include -#include -#include - -using namespace std; - -class GraphManager { -public: - /// Using directive for graphml graph type (adjacency list) - using Graph = boost::adjacency_list; - - using EdgeIterator = typename boost::graph_traits::edge_iterator; - using VertexIterator = typename boost::graph_traits::vertex_iterator; - using EdgeDescriptor = typename boost::graph_traits::edge_descriptor; - - /// @brief Returns a single instance of the GraphManager - /// @return The single instance of the GraphManager - static GraphManager &getInstance() - { - static GraphManager instance; - return instance; - } - - /// @brief Set the path for the graphML File to be read - /// @param filePath The absolute path to the graphML file - void setFilePath(string filePath); - - /// @brief Registers a graph property with its attribute name in the graphml file - /// - /// Note: We are passing a pointer to a data member of the Struct that will hold - /// the property. The BGL will use this when loading the graphML file. - /// Reference: https://www.studytonight.com/cpp/pointer-to-members.php - /// - /// @tparam Property Pointer to a Struct data member that will hold the property - /// @param propName The attribute name inthe graphml file - /// @param property Pointer to the property to be registered - template inline void registerProperty(const string &propName, Property property) - { - dp_.property(propName, boost::get(property, graph_)); - } - - /// @brief Loads a graph from a graphml file into a BGL graph - /// @return The graph loaded as an adjacency list - bool readGraph(); - - /// @brief Exposes the BGL Vertex Iterators of the stored Graph - /// @return a pair of VertexIterators where first points to the beginning - /// and second points to the end of the vertices vector - pair vertices(); - - /// @brief Exposes the BGL Edge Iterators of the stored Graph - /// @return a pair of EdgeIterators where first points to the beginning - /// and second points to the end of the edges vector - pair edges() const; - - /// @brief Retrieves the source vertex index for the given Edge - /// @param edge the EdgeDescriptor - /// @return the source vertex index for the given Edge - size_t source(const EdgeDescriptor &edge) const; - - /// @brief Retrieves the target vertex index for the given Edge - /// @param edge the EdgeDescriptor - /// @return the target vertex index for the given Edge - size_t target(const EdgeDescriptor &edge) const; - - /// @brief Direct access to the VertexProperty of a vertex descriptor - /// @param vertex the vertex descriptor (index) - /// @return the VertexProperty of the vertex descriptor - VertexProperty &operator[](size_t vertex); - - /// @brief Direct access to the VertexProperty of a vertex descriptor - /// @param vertex the vertex descriptor (index) - /// @return the VertexProperty of the vertex descriptor - const VertexProperty &operator[](size_t vertex) const; - - /// @brief Returns a list of EdgeDescriptors in ascending order by target vertexID - /// @return List of EdgeDescriptors in ascending order by target vertexID - const list edgesSortByTarget() const; - - /// @brief Retrieves the number of vertices in the current graph - /// @return The number of vertices in the current graph - size_t numVertices() const; - - /// @brief Retrieves the number of edges in the current graph - /// @return The number of edges in the current graph - size_t numEdges() const; - - /// Delete copy and move methods to avoid copy instances of the singleton - GraphManager(const GraphManager &graphManager) = delete; - GraphManager &operator=(const GraphManager &graphManager) = delete; - - GraphManager(GraphManager &&graphManager) = delete; - GraphManager &operator=(GraphManager &&graphManager) = delete; - -private: - /// stores the graph - Graph graph_; - - string graphFilePath_; - - /// container for dynamic properties map - boost::dynamic_properties dp_; + #pragma once - /// @brief Constructor - GraphManager() : graph_(), dp_(boost::ignore_other_properties) - { - } -}; + #include "Global.h" + #include "ParameterManager.h" + #include + #include + #include + #include + + using namespace std; + + template class GraphManager { + public: + /// Using directive for graphml graph type (adjacency list) + using Graph = boost::adjacency_list; + + using EdgeIterator = typename boost::graph_traits::edge_iterator; + using VertexIterator = typename boost::graph_traits::vertex_iterator; + using EdgeDescriptor = typename boost::graph_traits::edge_descriptor; + + /// @brief Returns a single instance of the GraphManager + /// @return The single instance of the GraphManager + static GraphManager &getInstance() + { + static GraphManager instance; + return instance; + } + + /// @brief Set the path for the graphML File to be read + /// @param filePath The absolute path to the graphML file + void setFilePath(string filePath); + + /// @brief Registers a graph property with its attribute name in the graphml file + /// + /// Note: We are passing a pointer to a data member of the Struct that will hold + /// the property. The BGL will use this when loading the graphML file. + /// Reference: https://www.studytonight.com/cpp/pointer-to-members.php + /// + /// @tparam Property Pointer to a Struct data member that will hold the property + /// @param propName The attribute name inthe graphml file + /// @param property Pointer to the property to be registered + template inline void registerProperty(const string &propName, Property property) + { + dp_.property(propName, boost::get(property, graph_)); + } + + /// @brief Loads a graph from a graphml file into a BGL graph + /// @return The graph loaded as an adjacency list + bool readGraph(); + + /// @brief Exposes the BGL Vertex Iterators of the stored Graph + /// @return a pair of VertexIterators where first points to the beginning + /// and second points to the end of the vertices vector + pair vertices(); + + /// @brief Exposes the BGL Edge Iterators of the stored Graph + /// @return a pair of EdgeIterators where first points to the beginning + /// and second points to the end of the edges vector + pair edges() const; + + + /// @brief Retrieves the source vertex index for the given Edge + /// @param edge the EdgeDescriptor + /// @return the source vertex index for the given Edge + size_t source(const EdgeDescriptor &edge) const; + + /// @brief Retrieves the target vertex index for the given Edge + /// @param edge the EdgeDescriptor + /// @return the target vertex index for the given Edge + size_t target(const EdgeDescriptor &edge) const; + + /// @brief Direct access to the VertexProperties of a vertex descriptor + /// @param vertex the vertex descriptor (index) + /// @return the VertexProperties of the vertex descriptor + VertexProperties &operator[](size_t vertex); + + /// @brief Direct access to the VertexProperties of a vertex descriptor + /// @param vertex the vertex descriptor (index) + /// @return the VertexProperties of the vertex descriptor + const VertexProperties &operator[](size_t vertex) const; + + /// @brief Returns a list of EdgeDescriptors in ascending order by target vertexID + /// @return List of EdgeDescriptors in ascending order by target vertexID + const list edgesSortByTarget() const; + + /// @brief Retrieves the number of vertices in the current graph + /// @return The number of vertices in the current graph + size_t numVertices() const; + + /// @brief Retrieves the number of edges in the current graph + /// @return The number of edges in the current graph + size_t numEdges() const; + + /// Delete copy and move methods to avoid copy instances of the singleton + GraphManager(const GraphManager &graphManager) = delete; + GraphManager &operator=(const GraphManager &graphManager) = delete; + + GraphManager(GraphManager &&graphManager) = delete; + GraphManager &operator=(GraphManager &&graphManager) = delete; + + private: + /// stores the graph + Graph graph_; + string graphFilePath_; + + /// container for dynamic properties map + boost::dynamic_properties dp_; + + /// @brief Constructor + GraphManager() : graph_(), dp_(boost::ignore_other_properties) + { + } + }; + + /** + * @class GraphManager + * @brief A templated wrapper around the Boost Graph Library (BGL). + */ + + + /// @brief Sets the file path for the graphML file. + /// @param filePath The absolute path to the graphML file. + template + void GraphManager::setFilePath(string filePath) + { + graphFilePath_ = filePath; + } + + /// @brief Reads a graph from a GraphML file into a BGL graph. + /// @return True if the graph was successfully read, false otherwise. + template bool GraphManager::readGraph() + { + // Load graphml file into a BGL graph + ifstream graph_file; + + // If graphFilePath_ isn't already defined, get it from ParameterManager + if (graphFilePath_ == "") { + // string file_name; + string path = "//graphmlFile/text()"; + if (!ParameterManager::getInstance().getStringByXpath(path, graphFilePath_)) { + cerr << "Could not find XML path: " << path << ".\n"; + return false; + }; + } + + graph_file.open(graphFilePath_.c_str()); + if (!graph_file.is_open()) { + cerr << "Failed to open file: " << graphFilePath_ << ".\n"; + return false; + } + + boost::read_graphml(graph_file, graph_, dp_); + return true; + } + + /// @brief Retrieves the vertices of the graph. + /// @return A pair of VertexIterators for the graph vertices. + template + pair::VertexIterator, + typename GraphManager::VertexIterator> + GraphManager::vertices() + { + return boost::vertices(graph_); + } + + /// @brief Retrieves the edges of the graph. + /// @return A pair of EdgeIterators for the graph edges. + template + pair::EdgeIterator, + typename GraphManager::EdgeIterator> + GraphManager::edges() const + { + return boost::edges(graph_); + } + + /// @brief Retrieves the source vertex of a given edge. + /// @param edge The edge descriptor. + /// @return The source vertex index. + template + size_t GraphManager::source( + const typename GraphManager::EdgeDescriptor &edge) const + { + return boost::source(edge, graph_); + } + + /// @brief Retrieves the target vertex of a given edge. + /// @param edge The edge descriptor. + /// @return The target vertex index. + template + size_t GraphManager::target( + const typename GraphManager::EdgeDescriptor &edge) const + { + return boost::target(edge, graph_); + } + + /// @brief Directly access the VertexProperties of a vertex descriptor. + /// @param vertex The vertex descriptor (index). + /// @return The VertexProperties of the vertex. + template + VertexProperties &GraphManager::operator[](size_t vertex) + { + return graph_[vertex]; + } + + /// @brief Directly access the VertexProperties of a vertex descriptor (const). + /// @param vertex The vertex descriptor (index). + /// @return The VertexProperties of the vertex. + template + const VertexProperties &GraphManager::operator[](size_t vertex) const + { + return graph_[vertex]; + } + + /// @brief Returns a list of EdgeDescriptors sorted by target vertexID. + /// @return A sorted list of EdgeDescriptors. + template + const list::EdgeDescriptor> + GraphManager::edgesSortByTarget() const + { + list ei_list; + EdgeIterator ei, ei_end; + for (boost::tie(ei, ei_end) = edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + + // Use a lambda function for sorting the list of edges + ei_list.sort([this](EdgeDescriptor const &a, EdgeDescriptor const &b) { + return this->target(a) < this->target(b); + }); + + return ei_list; + } + + /// @brief Retrieves the number of vertices in the current graph. + /// @return The number of vertices. + template size_t GraphManager::numVertices() const + { + return boost::num_vertices(graph_); + } + + /// @brief Retrieves the number of edges in the current graph. + /// @return The number of edges. + template size_t GraphManager::numEdges() const + { + return boost::num_edges(graph_); + } + \ No newline at end of file diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index 69b911454..04ca86ac4 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -64,8 +64,8 @@ void All911Vertices::createAllVertices(Layout &layout) // Loop over all vertices and set the number of servers and trunks, and // determine the size of the waiting queue. // We get the information needed from the GraphManager. - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < size_); diff --git a/Testing/UnitTesting/GraphManagerTests.cpp b/Testing/UnitTesting/GraphManagerTests.cpp index 6146e8339..2cbb9c778 100644 --- a/Testing/UnitTesting/GraphManagerTests.cpp +++ b/Testing/UnitTesting/GraphManagerTests.cpp @@ -6,104 +6,110 @@ * @ingroup Testing/UnitTesting */ -#include "GraphManager.h" -#include "gtest/gtest.h" -#include -#include - -using namespace std; -string graphFile = "../configfiles/graphs/test-small-911.graphml"; -string emptyGraphFile = "../configfiles/graphs/empty-graph.graphml"; - -TEST(GraphManager, GetInstanceReturnsInstance) -{ - GraphManager *graphManager = &GraphManager::getInstance(); - ASSERT_NE(graphManager, nullptr); -} - -TEST(GraphManager, ReadGraphReturnsTrue) -{ - GraphManager &graphManager = GraphManager::getInstance(); - graphManager.setFilePath(graphFile); - - graphManager.registerProperty("objectID", &VertexProperty::objectID); - graphManager.registerProperty("name", &VertexProperty::name); - graphManager.registerProperty("type", &VertexProperty::type); - graphManager.registerProperty("y", &VertexProperty::y); - graphManager.registerProperty("x", &VertexProperty::x); - graphManager.registerProperty("servers", &VertexProperty::servers); - graphManager.registerProperty("trunks", &VertexProperty::trunks); - graphManager.registerProperty("segments", &VertexProperty::segments); - - ASSERT_TRUE(graphManager.readGraph()); -} - -TEST(GraphManager, NumVerticesReturnsEleven) -{ - ASSERT_EQ(GraphManager::getInstance().numVertices(), 11); -} - -TEST(GraphManager, NumEdgesReturnsTwenty) -{ - ASSERT_EQ(GraphManager::getInstance().numEdges(), 20); -} - -TEST(GraphManager, GetVertcies) -{ - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - boost::tie(vi, vi_end) = gm.vertices(); - ASSERT_EQ(*vi, 0); - ASSERT_EQ(*vi_end, 11); -} - -TEST(GraphManager, GetEdgesAndSource) -{ - GraphManager::EdgeIterator ei, ei_end; - GraphManager &gm = GraphManager::getInstance(); - - list ei_list; - for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - auto start = ei_list.begin(); - ASSERT_EQ(gm.source(*start), 0); -} - -TEST(GraphManager, GetEdgesAndTarget) -{ - GraphManager::EdgeIterator ei, ei_end; - GraphManager &gm = GraphManager::getInstance(); - - list ei_list; - for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - auto start = ei_list.begin(); - ASSERT_EQ(gm.target(*start), 1); -} - -TEST(GraphManager, SortEdges) -{ - GraphManager &gm = GraphManager::getInstance(); - auto list = gm.edgesSortByTarget(); - auto start = list.begin(); - ASSERT_EQ(gm.source(*start), 1); - ASSERT_EQ(gm.target(*start), 0); -} - -// These readGraph tests are after the Vertices/Edges tests so that -// the GraphManager singleton is not overwritten with the new graphs. -TEST(GraphManager, ReadEmptyGraph) -{ - GraphManager &graphManager = GraphManager::getInstance(); - graphManager.setFilePath(emptyGraphFile); - ASSERT_TRUE(graphManager.readGraph()); -} - -TEST(GraphManager, ReadNonExistentGraph) -{ - GraphManager &graphManager = GraphManager::getInstance(); - graphManager.setFilePath("nonExistent.graphml"); - ASSERT_FALSE(graphManager.readGraph()); -} + #include "Global.h" + #include "GraphManager.h" + #include "gtest/gtest.h" + #include + #include + + using namespace std; + string graphFile = "../configfiles/graphs/test-small-911.graphml"; + string emptyGraphFile = "../configfiles/graphs/empty-graph.graphml"; + + TEST(GraphManager, GetInstanceReturnsInstance) + { + GraphManager *graphManager + = &GraphManager::getInstance(); + ASSERT_NE(graphManager, nullptr); + } + + TEST(GraphManager, ReadGraphReturnsTrue) + { + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath(graphFile); + + graphManager.registerProperty("objectID", &NG911VertexProperties::objectID); + graphManager.registerProperty("name", &NG911VertexProperties::name); + graphManager.registerProperty("type", &NG911VertexProperties::type); + graphManager.registerProperty("y", &NG911VertexProperties::y); + graphManager.registerProperty("x", &NG911VertexProperties::x); + graphManager.registerProperty("servers", &NG911VertexProperties::servers); + graphManager.registerProperty("trunks", &NG911VertexProperties::trunks); + graphManager.registerProperty("segments", &NG911VertexProperties::segments); + + ASSERT_TRUE(graphManager.readGraph()); + } + + TEST(GraphManager, NumVerticesReturnsEleven) + { + ASSERT_EQ(GraphManager::getInstance().numVertices(), 11); + } + + TEST(GraphManager, NumEdgesReturnsTwenty) + { + ASSERT_EQ(GraphManager::getInstance().numEdges(), 20); + } + + TEST(GraphManager, GetVertcies) + { + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + boost::tie(vi, vi_end) = gm.vertices(); + ASSERT_EQ(*vi, 0); + ASSERT_EQ(*vi_end, 11); + } + + TEST(GraphManager, GetEdgesAndSource) + { + GraphManager::EdgeIterator ei, ei_end; + GraphManager &gm = GraphManager::getInstance(); + + list::EdgeDescriptor> ei_list; + for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + auto start = ei_list.begin(); + ASSERT_EQ(gm.source(*start), 0); + } + + TEST(GraphManager, GetEdgesAndTarget) + { + GraphManager::EdgeIterator ei, ei_end; + GraphManager &gm = GraphManager::getInstance(); + + list::EdgeDescriptor> ei_list; + for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + auto start = ei_list.begin(); + ASSERT_EQ(gm.target(*start), 1); + } + + TEST(GraphManager, SortEdges) + { + GraphManager &gm = GraphManager::getInstance(); + auto list = gm.edgesSortByTarget(); + auto start = list.begin(); + ASSERT_EQ(gm.source(*start), 1); + ASSERT_EQ(gm.target(*start), 0); + } + + // These readGraph tests are after the Vertices/Edges tests so that + // the GraphManager singleton is not overwritten with the new graphs. + TEST(GraphManager, ReadEmptyGraph) + { + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath(emptyGraphFile); + ASSERT_TRUE(graphManager.readGraph()); + } + + TEST(GraphManager, ReadNonExistentGraph) + { + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath("nonExistent.graphml"); + ASSERT_FALSE(graphManager.readGraph()); + } + \ No newline at end of file diff --git a/Tools/GraphGeneration/README.md b/Tools/GraphGeneration/README.md index 92f5693d1..5fff67f3d 100644 --- a/Tools/GraphGeneration/README.md +++ b/Tools/GraphGeneration/README.md @@ -22,6 +22,8 @@ Visualizes the graphs generated by `graph_generation.py` from the GraphML file. ## `format_graphml.py` Converts the `graph_generation.py` synthetic GraphML file to a format that can be used within the cluster-point call generation and Graphitti simulations. This script ensures the GraphML file is compatible with the tools and configurations used in subsequent simulation steps. +Note: `graph_generation.py` must be updated with specific parameters to work with the updated templatized graph manager. This includes All911Vertices, All911Edges, Connections911, Layout911, and Xml911Recorder. Config.xml has also been updated to reflect these changes. + ## 'examples' folder call_generation: Contains XML call scripts generated using `format_graphml.py` graphml files and python clusterpoint process. These scripts use the structured graphs to simulate call events, providing data for emergency response simulations. diff --git a/Tools/GraphGeneration/examples/config_files/config.xml b/Tools/GraphGeneration/examples/config_files/config.xml index 0c783d80e..3377a4b53 100644 --- a/Tools/GraphGeneration/examples/config_files/config.xml +++ b/Tools/GraphGeneration/examples/config_files/config.xml @@ -24,7 +24,7 @@ - + 3 37 @@ -36,12 +36,12 @@ 30.0 - + - + - ../GraphGeneration/synth_input.graphml + /home/NETID/jsaini/Graphitti/Tools/GraphGeneration/examples/graphml_generation/synth_input.graphml.xml 88 0 0 @@ -49,15 +49,15 @@ - ../GraphGeneration/call_gen.xml + /home/NETID/jsaini/Graphitti/Tools/GraphGeneration/examples/call_generation/call_gen.xml - + - + - synth_output.xml + output.xml diff --git a/configfiles/test-spd-911.xml b/configfiles/test-spd-911.xml deleted file mode 100644 index 29db1e70b..000000000 --- a/configfiles/test-spd-911.xml +++ /dev/null @@ -1,60 +0,0 @@ - - - - - - 86400 - 30 - - 1 - - - 100 - - 195 - - - 1 - 1 - - - - - - - 3 - 37 - - 0.3 - 0.3 - 0.85 - - 30.0 - - - - - - - ../configfiles/graphs/spd.graphml - - 88 - 0 - 0 - - - - ../configfiles/inputs/SPD_calls.xml - - - - - - - - Output/Results/test-spd-911-out.xml - - - - From d81a604e86e83770f7d9e0b3b3dcd6af5a4c2ce7 Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Tue, 11 Mar 2025 22:51:39 -0700 Subject: [PATCH 068/153] Clang Update --- Simulator/Layouts/Layout.cpp | 343 ++++++++------- Simulator/Utils/GraphManager.h | 489 +++++++++++----------- Testing/UnitTesting/GraphManagerTests.cpp | 213 +++++----- 3 files changed, 521 insertions(+), 524 deletions(-) diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index efe26509b..7dbb53303 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -6,175 +6,174 @@ * @brief The Layout class defines the layout of neurons in neural networks */ - #include "Layout.h" - #include "Factory.h" - #include "GraphManager.h" - #include "OperationManager.h" - #include "ParameterManager.h" - #include "ParseParamError.h" - #include "RecordableBase.h" - #include "Simulator.h" - #include "Util.h" - - /// Constructor - Layout::Layout() : numEndogenouslyActiveNeurons_(0) - { - // Get a copy of the console logger to use in the case of errors - log4cplus::Logger consoleLogger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); - - // Create Vertices/Neurons class using type definition in configuration file - string type; - ParameterManager::getInstance().getStringByXpath("//VerticesParams/@class", type); - vertices_ = Factory::getInstance().createType(type); - - // If the factory returns an error (nullptr), exit - if (vertices_ == nullptr) { - LOG4CPLUS_INFO(consoleLogger, "INVALID CLASS: " + type); - exit(EXIT_FAILURE); - } - - // Register loadParameters function as a loadParameters operation in the Operation Manager - function loadParametersFunc = std::bind(&Layout::loadParameters, this); - OperationManager::getInstance().registerOperation(Operations::loadParameters, - loadParametersFunc); - - // Register printParameters function as a printParameters operation in the OperationManager - function printParametersFunc = bind(&Layout::printParameters, this); - OperationManager::getInstance().registerOperation(Operations::printParameters, - printParametersFunc); - - // Register registerGraphProperties method as registerGraphProperties operation - // in the OperationManager - function registerGraphPropertiesFunc = bind(&Layout::registerGraphProperties, this); - OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), - registerGraphPropertiesFunc); - - // Get a copy of the file logger to use log4cplus macros - fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); - } - - AllVertices &Layout::getVertices() const - { - return *vertices_; - } - - int Layout::getNumVertices() const - { - return numVertices_; - } - - /// Load member variables from configuration file. Registered to OperationManager as Operations::op::loadParameters - void Layout::loadParameters() - { - numVertices_ = GraphManager::getInstance().numVertices(); - } - - void Layout::registerGraphProperties() - { - GraphManager &gm = GraphManager::getInstance(); - gm.registerProperty("y", &VertexProperties::y); - gm.registerProperty("x", &VertexProperties::x); - gm.registerProperty("type", &VertexProperties::type); - } - - - /// Setup the internal structure of the class. - /// Allocate memories to store all layout state, no sequential dependency in this method - void Layout::setup() - { - // Allocate memory - xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); - yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); - dist2_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); - dist_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); - - // more allocation of internal memory - starterMap_.assign(numVertices_, false); - vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); - - // Loop over all vertices and set their x and y locations - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - xloc_[*vi] = gm[*vi].x; - yloc_[*vi] = gm[*vi].y; - } - - // Now we calculate the distance and distance^2 - // between each pair of vertices - for (int n = 0; n < numVertices_ - 1; n++) { - for (int n2 = n + 1; n2 < numVertices_; n2++) { - // distance^2 between two points in point-slope form - dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) - + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); - - // both points are equidistant from each other - dist2_(n2, n) = dist2_(n, n2); - } - } - - // Finally take the square root to get the distances - dist_ = sqrt(dist2_); - - // Register variable: vertex locations if need - //Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - //string baseName = "Location"; - //string xLocation = "x_" + baseName; - //string yLocation = "y_" + baseName; - //recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); - //recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); - - // test purpose - // cout << "xloc_: " << &xloc_ << endl; - // RecordableBase& location = xloc_; - // cout << "location: " << &location << endl; - } - - - /// Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters - void Layout::printParameters() const - { - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - stringstream output; - output << "\nLAYOUT PARAMETERS" << endl; - output << "\tEndogenously active neuron positions: "; - - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - if (gm[*vi].active) { - output << *vi << " "; - } - } - output << endl; - - output << "\tInhibitory neuron positions: "; - - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - if (gm[*vi].type == "INH") { - output << *vi << " "; - } - } - output << endl; - - LOG4CPLUS_DEBUG(fileLogger_, output.str()); - } - - /// Creates a vertex type map. - /// @param numVertices number of the vertices to have in the type map. - void Layout::generateVertexTypeMap() - { - DEBUG(cout << "\nInitializing vertex type map: VTYPE_UNDEF" << endl;); - vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); - } - - /// Populates the starter map. - /// Selects num_endogenously_active_neurons excitory neurons and converts them into starter neurons. - /// @param numVertices number of vertices to have in the map. - void Layout::initStarterMap() - { - starterMap_.assign(numVertices_, false); - } - \ No newline at end of file +#include "Layout.h" +#include "Factory.h" +#include "GraphManager.h" +#include "OperationManager.h" +#include "ParameterManager.h" +#include "ParseParamError.h" +#include "RecordableBase.h" +#include "Simulator.h" +#include "Util.h" + +/// Constructor +Layout::Layout() : numEndogenouslyActiveNeurons_(0) +{ + // Get a copy of the console logger to use in the case of errors + log4cplus::Logger consoleLogger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); + + // Create Vertices/Neurons class using type definition in configuration file + string type; + ParameterManager::getInstance().getStringByXpath("//VerticesParams/@class", type); + vertices_ = Factory::getInstance().createType(type); + + // If the factory returns an error (nullptr), exit + if (vertices_ == nullptr) { + LOG4CPLUS_INFO(consoleLogger, "INVALID CLASS: " + type); + exit(EXIT_FAILURE); + } + + // Register loadParameters function as a loadParameters operation in the Operation Manager + function loadParametersFunc = std::bind(&Layout::loadParameters, this); + OperationManager::getInstance().registerOperation(Operations::loadParameters, + loadParametersFunc); + + // Register printParameters function as a printParameters operation in the OperationManager + function printParametersFunc = bind(&Layout::printParameters, this); + OperationManager::getInstance().registerOperation(Operations::printParameters, + printParametersFunc); + + // Register registerGraphProperties method as registerGraphProperties operation + // in the OperationManager + function registerGraphPropertiesFunc = bind(&Layout::registerGraphProperties, this); + OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), + registerGraphPropertiesFunc); + + // Get a copy of the file logger to use log4cplus macros + fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); +} + +AllVertices &Layout::getVertices() const +{ + return *vertices_; +} + +int Layout::getNumVertices() const +{ + return numVertices_; +} + +/// Load member variables from configuration file. Registered to OperationManager as Operations::op::loadParameters +void Layout::loadParameters() +{ + numVertices_ = GraphManager::getInstance().numVertices(); +} + +void Layout::registerGraphProperties() +{ + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("y", &VertexProperties::y); + gm.registerProperty("x", &VertexProperties::x); + gm.registerProperty("type", &VertexProperties::type); +} + + +/// Setup the internal structure of the class. +/// Allocate memories to store all layout state, no sequential dependency in this method +void Layout::setup() +{ + // Allocate memory + xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + dist2_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); + dist_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); + + // more allocation of internal memory + starterMap_.assign(numVertices_, false); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); + + // Loop over all vertices and set their x and y locations + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + xloc_[*vi] = gm[*vi].x; + yloc_[*vi] = gm[*vi].y; + } + + // Now we calculate the distance and distance^2 + // between each pair of vertices + for (int n = 0; n < numVertices_ - 1; n++) { + for (int n2 = n + 1; n2 < numVertices_; n2++) { + // distance^2 between two points in point-slope form + dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) + + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); + + // both points are equidistant from each other + dist2_(n2, n) = dist2_(n, n2); + } + } + + // Finally take the square root to get the distances + dist_ = sqrt(dist2_); + + // Register variable: vertex locations if need + //Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + //string baseName = "Location"; + //string xLocation = "x_" + baseName; + //string yLocation = "y_" + baseName; + //recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); + //recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); + + // test purpose + // cout << "xloc_: " << &xloc_ << endl; + // RecordableBase& location = xloc_; + // cout << "location: " << &location << endl; +} + + +/// Prints out all parameters to logging file. Registered to OperationManager as Operation::printParameters +void Layout::printParameters() const +{ + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + stringstream output; + output << "\nLAYOUT PARAMETERS" << endl; + output << "\tEndogenously active neuron positions: "; + + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + if (gm[*vi].active) { + output << *vi << " "; + } + } + output << endl; + + output << "\tInhibitory neuron positions: "; + + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + if (gm[*vi].type == "INH") { + output << *vi << " "; + } + } + output << endl; + + LOG4CPLUS_DEBUG(fileLogger_, output.str()); +} + +/// Creates a vertex type map. +/// @param numVertices number of the vertices to have in the type map. +void Layout::generateVertexTypeMap() +{ + DEBUG(cout << "\nInitializing vertex type map: VTYPE_UNDEF" << endl;); + vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); +} + +/// Populates the starter map. +/// Selects num_endogenously_active_neurons excitory neurons and converts them into starter neurons. +/// @param numVertices number of vertices to have in the map. +void Layout::initStarterMap() +{ + starterMap_.assign(numVertices_, false); +} diff --git a/Simulator/Utils/GraphManager.h b/Simulator/Utils/GraphManager.h index 61e30bf0f..79e7823b2 100644 --- a/Simulator/Utils/GraphManager.h +++ b/Simulator/Utils/GraphManager.h @@ -37,251 +37,250 @@ * is used throughout the simulation for consistent graph management. */ - #pragma once - - #include "Global.h" - #include "ParameterManager.h" - #include - #include - #include - #include - - using namespace std; - - template class GraphManager { - public: - /// Using directive for graphml graph type (adjacency list) - using Graph = boost::adjacency_list; - - using EdgeIterator = typename boost::graph_traits::edge_iterator; - using VertexIterator = typename boost::graph_traits::vertex_iterator; - using EdgeDescriptor = typename boost::graph_traits::edge_descriptor; - - /// @brief Returns a single instance of the GraphManager - /// @return The single instance of the GraphManager - static GraphManager &getInstance() - { - static GraphManager instance; - return instance; - } - - /// @brief Set the path for the graphML File to be read - /// @param filePath The absolute path to the graphML file - void setFilePath(string filePath); - - /// @brief Registers a graph property with its attribute name in the graphml file - /// - /// Note: We are passing a pointer to a data member of the Struct that will hold - /// the property. The BGL will use this when loading the graphML file. - /// Reference: https://www.studytonight.com/cpp/pointer-to-members.php - /// - /// @tparam Property Pointer to a Struct data member that will hold the property - /// @param propName The attribute name inthe graphml file - /// @param property Pointer to the property to be registered - template inline void registerProperty(const string &propName, Property property) - { - dp_.property(propName, boost::get(property, graph_)); - } - - /// @brief Loads a graph from a graphml file into a BGL graph - /// @return The graph loaded as an adjacency list - bool readGraph(); - - /// @brief Exposes the BGL Vertex Iterators of the stored Graph - /// @return a pair of VertexIterators where first points to the beginning - /// and second points to the end of the vertices vector - pair vertices(); - - /// @brief Exposes the BGL Edge Iterators of the stored Graph - /// @return a pair of EdgeIterators where first points to the beginning - /// and second points to the end of the edges vector - pair edges() const; - - - /// @brief Retrieves the source vertex index for the given Edge - /// @param edge the EdgeDescriptor - /// @return the source vertex index for the given Edge - size_t source(const EdgeDescriptor &edge) const; - - /// @brief Retrieves the target vertex index for the given Edge - /// @param edge the EdgeDescriptor - /// @return the target vertex index for the given Edge - size_t target(const EdgeDescriptor &edge) const; - - /// @brief Direct access to the VertexProperties of a vertex descriptor - /// @param vertex the vertex descriptor (index) - /// @return the VertexProperties of the vertex descriptor - VertexProperties &operator[](size_t vertex); - - /// @brief Direct access to the VertexProperties of a vertex descriptor - /// @param vertex the vertex descriptor (index) - /// @return the VertexProperties of the vertex descriptor - const VertexProperties &operator[](size_t vertex) const; - - /// @brief Returns a list of EdgeDescriptors in ascending order by target vertexID - /// @return List of EdgeDescriptors in ascending order by target vertexID - const list edgesSortByTarget() const; - - /// @brief Retrieves the number of vertices in the current graph - /// @return The number of vertices in the current graph - size_t numVertices() const; - - /// @brief Retrieves the number of edges in the current graph - /// @return The number of edges in the current graph - size_t numEdges() const; - - /// Delete copy and move methods to avoid copy instances of the singleton - GraphManager(const GraphManager &graphManager) = delete; - GraphManager &operator=(const GraphManager &graphManager) = delete; - - GraphManager(GraphManager &&graphManager) = delete; - GraphManager &operator=(GraphManager &&graphManager) = delete; - - private: - /// stores the graph - Graph graph_; - string graphFilePath_; - - /// container for dynamic properties map - boost::dynamic_properties dp_; - - /// @brief Constructor - GraphManager() : graph_(), dp_(boost::ignore_other_properties) - { - } - }; - - /** +#pragma once + +#include "Global.h" +#include "ParameterManager.h" +#include +#include +#include +#include + +using namespace std; + +template class GraphManager { +public: + /// Using directive for graphml graph type (adjacency list) + using Graph = boost::adjacency_list; + + using EdgeIterator = typename boost::graph_traits::edge_iterator; + using VertexIterator = typename boost::graph_traits::vertex_iterator; + using EdgeDescriptor = typename boost::graph_traits::edge_descriptor; + + /// @brief Returns a single instance of the GraphManager + /// @return The single instance of the GraphManager + static GraphManager &getInstance() + { + static GraphManager instance; + return instance; + } + + /// @brief Set the path for the graphML File to be read + /// @param filePath The absolute path to the graphML file + void setFilePath(string filePath); + + /// @brief Registers a graph property with its attribute name in the graphml file + /// + /// Note: We are passing a pointer to a data member of the Struct that will hold + /// the property. The BGL will use this when loading the graphML file. + /// Reference: https://www.studytonight.com/cpp/pointer-to-members.php + /// + /// @tparam Property Pointer to a Struct data member that will hold the property + /// @param propName The attribute name inthe graphml file + /// @param property Pointer to the property to be registered + template inline void registerProperty(const string &propName, Property property) + { + dp_.property(propName, boost::get(property, graph_)); + } + + /// @brief Loads a graph from a graphml file into a BGL graph + /// @return The graph loaded as an adjacency list + bool readGraph(); + + /// @brief Exposes the BGL Vertex Iterators of the stored Graph + /// @return a pair of VertexIterators where first points to the beginning + /// and second points to the end of the vertices vector + pair vertices(); + + /// @brief Exposes the BGL Edge Iterators of the stored Graph + /// @return a pair of EdgeIterators where first points to the beginning + /// and second points to the end of the edges vector + pair edges() const; + + + /// @brief Retrieves the source vertex index for the given Edge + /// @param edge the EdgeDescriptor + /// @return the source vertex index for the given Edge + size_t source(const EdgeDescriptor &edge) const; + + /// @brief Retrieves the target vertex index for the given Edge + /// @param edge the EdgeDescriptor + /// @return the target vertex index for the given Edge + size_t target(const EdgeDescriptor &edge) const; + + /// @brief Direct access to the VertexProperties of a vertex descriptor + /// @param vertex the vertex descriptor (index) + /// @return the VertexProperties of the vertex descriptor + VertexProperties &operator[](size_t vertex); + + /// @brief Direct access to the VertexProperties of a vertex descriptor + /// @param vertex the vertex descriptor (index) + /// @return the VertexProperties of the vertex descriptor + const VertexProperties &operator[](size_t vertex) const; + + /// @brief Returns a list of EdgeDescriptors in ascending order by target vertexID + /// @return List of EdgeDescriptors in ascending order by target vertexID + const list edgesSortByTarget() const; + + /// @brief Retrieves the number of vertices in the current graph + /// @return The number of vertices in the current graph + size_t numVertices() const; + + /// @brief Retrieves the number of edges in the current graph + /// @return The number of edges in the current graph + size_t numEdges() const; + + /// Delete copy and move methods to avoid copy instances of the singleton + GraphManager(const GraphManager &graphManager) = delete; + GraphManager &operator=(const GraphManager &graphManager) = delete; + + GraphManager(GraphManager &&graphManager) = delete; + GraphManager &operator=(GraphManager &&graphManager) = delete; + +private: + /// stores the graph + Graph graph_; + string graphFilePath_; + + /// container for dynamic properties map + boost::dynamic_properties dp_; + + /// @brief Constructor + GraphManager() : graph_(), dp_(boost::ignore_other_properties) + { + } +}; + +/** * @class GraphManager * @brief A templated wrapper around the Boost Graph Library (BGL). */ - - - /// @brief Sets the file path for the graphML file. - /// @param filePath The absolute path to the graphML file. - template - void GraphManager::setFilePath(string filePath) - { - graphFilePath_ = filePath; - } - - /// @brief Reads a graph from a GraphML file into a BGL graph. - /// @return True if the graph was successfully read, false otherwise. - template bool GraphManager::readGraph() - { - // Load graphml file into a BGL graph - ifstream graph_file; - - // If graphFilePath_ isn't already defined, get it from ParameterManager - if (graphFilePath_ == "") { - // string file_name; - string path = "//graphmlFile/text()"; - if (!ParameterManager::getInstance().getStringByXpath(path, graphFilePath_)) { - cerr << "Could not find XML path: " << path << ".\n"; - return false; - }; - } - - graph_file.open(graphFilePath_.c_str()); - if (!graph_file.is_open()) { - cerr << "Failed to open file: " << graphFilePath_ << ".\n"; - return false; - } - - boost::read_graphml(graph_file, graph_, dp_); - return true; - } - - /// @brief Retrieves the vertices of the graph. - /// @return A pair of VertexIterators for the graph vertices. - template - pair::VertexIterator, - typename GraphManager::VertexIterator> - GraphManager::vertices() - { - return boost::vertices(graph_); - } - - /// @brief Retrieves the edges of the graph. - /// @return A pair of EdgeIterators for the graph edges. - template - pair::EdgeIterator, - typename GraphManager::EdgeIterator> - GraphManager::edges() const - { - return boost::edges(graph_); - } - - /// @brief Retrieves the source vertex of a given edge. - /// @param edge The edge descriptor. - /// @return The source vertex index. - template - size_t GraphManager::source( - const typename GraphManager::EdgeDescriptor &edge) const - { - return boost::source(edge, graph_); - } - - /// @brief Retrieves the target vertex of a given edge. - /// @param edge The edge descriptor. - /// @return The target vertex index. - template - size_t GraphManager::target( - const typename GraphManager::EdgeDescriptor &edge) const - { - return boost::target(edge, graph_); - } - - /// @brief Directly access the VertexProperties of a vertex descriptor. - /// @param vertex The vertex descriptor (index). - /// @return The VertexProperties of the vertex. - template - VertexProperties &GraphManager::operator[](size_t vertex) - { - return graph_[vertex]; - } - - /// @brief Directly access the VertexProperties of a vertex descriptor (const). - /// @param vertex The vertex descriptor (index). - /// @return The VertexProperties of the vertex. - template - const VertexProperties &GraphManager::operator[](size_t vertex) const - { - return graph_[vertex]; - } - - /// @brief Returns a list of EdgeDescriptors sorted by target vertexID. - /// @return A sorted list of EdgeDescriptors. - template - const list::EdgeDescriptor> - GraphManager::edgesSortByTarget() const - { - list ei_list; - EdgeIterator ei, ei_end; - for (boost::tie(ei, ei_end) = edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - - // Use a lambda function for sorting the list of edges - ei_list.sort([this](EdgeDescriptor const &a, EdgeDescriptor const &b) { - return this->target(a) < this->target(b); - }); - - return ei_list; - } - - /// @brief Retrieves the number of vertices in the current graph. - /// @return The number of vertices. - template size_t GraphManager::numVertices() const - { - return boost::num_vertices(graph_); - } - - /// @brief Retrieves the number of edges in the current graph. - /// @return The number of edges. - template size_t GraphManager::numEdges() const - { - return boost::num_edges(graph_); - } - \ No newline at end of file + + +/// @brief Sets the file path for the graphML file. +/// @param filePath The absolute path to the graphML file. +template +void GraphManager::setFilePath(string filePath) +{ + graphFilePath_ = filePath; +} + +/// @brief Reads a graph from a GraphML file into a BGL graph. +/// @return True if the graph was successfully read, false otherwise. +template bool GraphManager::readGraph() +{ + // Load graphml file into a BGL graph + ifstream graph_file; + + // If graphFilePath_ isn't already defined, get it from ParameterManager + if (graphFilePath_ == "") { + // string file_name; + string path = "//graphmlFile/text()"; + if (!ParameterManager::getInstance().getStringByXpath(path, graphFilePath_)) { + cerr << "Could not find XML path: " << path << ".\n"; + return false; + }; + } + + graph_file.open(graphFilePath_.c_str()); + if (!graph_file.is_open()) { + cerr << "Failed to open file: " << graphFilePath_ << ".\n"; + return false; + } + + boost::read_graphml(graph_file, graph_, dp_); + return true; +} + +/// @brief Retrieves the vertices of the graph. +/// @return A pair of VertexIterators for the graph vertices. +template +pair::VertexIterator, + typename GraphManager::VertexIterator> + GraphManager::vertices() +{ + return boost::vertices(graph_); +} + +/// @brief Retrieves the edges of the graph. +/// @return A pair of EdgeIterators for the graph edges. +template +pair::EdgeIterator, + typename GraphManager::EdgeIterator> + GraphManager::edges() const +{ + return boost::edges(graph_); +} + +/// @brief Retrieves the source vertex of a given edge. +/// @param edge The edge descriptor. +/// @return The source vertex index. +template +size_t GraphManager::source( + const typename GraphManager::EdgeDescriptor &edge) const +{ + return boost::source(edge, graph_); +} + +/// @brief Retrieves the target vertex of a given edge. +/// @param edge The edge descriptor. +/// @return The target vertex index. +template +size_t GraphManager::target( + const typename GraphManager::EdgeDescriptor &edge) const +{ + return boost::target(edge, graph_); +} + +/// @brief Directly access the VertexProperties of a vertex descriptor. +/// @param vertex The vertex descriptor (index). +/// @return The VertexProperties of the vertex. +template +VertexProperties &GraphManager::operator[](size_t vertex) +{ + return graph_[vertex]; +} + +/// @brief Directly access the VertexProperties of a vertex descriptor (const). +/// @param vertex The vertex descriptor (index). +/// @return The VertexProperties of the vertex. +template +const VertexProperties &GraphManager::operator[](size_t vertex) const +{ + return graph_[vertex]; +} + +/// @brief Returns a list of EdgeDescriptors sorted by target vertexID. +/// @return A sorted list of EdgeDescriptors. +template +const list::EdgeDescriptor> + GraphManager::edgesSortByTarget() const +{ + list ei_list; + EdgeIterator ei, ei_end; + for (boost::tie(ei, ei_end) = edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + + // Use a lambda function for sorting the list of edges + ei_list.sort([this](EdgeDescriptor const &a, EdgeDescriptor const &b) { + return this->target(a) < this->target(b); + }); + + return ei_list; +} + +/// @brief Retrieves the number of vertices in the current graph. +/// @return The number of vertices. +template size_t GraphManager::numVertices() const +{ + return boost::num_vertices(graph_); +} + +/// @brief Retrieves the number of edges in the current graph. +/// @return The number of edges. +template size_t GraphManager::numEdges() const +{ + return boost::num_edges(graph_); +} diff --git a/Testing/UnitTesting/GraphManagerTests.cpp b/Testing/UnitTesting/GraphManagerTests.cpp index 2cbb9c778..94a225543 100644 --- a/Testing/UnitTesting/GraphManagerTests.cpp +++ b/Testing/UnitTesting/GraphManagerTests.cpp @@ -6,110 +6,109 @@ * @ingroup Testing/UnitTesting */ - #include "Global.h" - #include "GraphManager.h" - #include "gtest/gtest.h" - #include - #include - - using namespace std; - string graphFile = "../configfiles/graphs/test-small-911.graphml"; - string emptyGraphFile = "../configfiles/graphs/empty-graph.graphml"; - - TEST(GraphManager, GetInstanceReturnsInstance) - { - GraphManager *graphManager - = &GraphManager::getInstance(); - ASSERT_NE(graphManager, nullptr); - } - - TEST(GraphManager, ReadGraphReturnsTrue) - { - GraphManager &graphManager - = GraphManager::getInstance(); - graphManager.setFilePath(graphFile); - - graphManager.registerProperty("objectID", &NG911VertexProperties::objectID); - graphManager.registerProperty("name", &NG911VertexProperties::name); - graphManager.registerProperty("type", &NG911VertexProperties::type); - graphManager.registerProperty("y", &NG911VertexProperties::y); - graphManager.registerProperty("x", &NG911VertexProperties::x); - graphManager.registerProperty("servers", &NG911VertexProperties::servers); - graphManager.registerProperty("trunks", &NG911VertexProperties::trunks); - graphManager.registerProperty("segments", &NG911VertexProperties::segments); - - ASSERT_TRUE(graphManager.readGraph()); - } - - TEST(GraphManager, NumVerticesReturnsEleven) - { - ASSERT_EQ(GraphManager::getInstance().numVertices(), 11); - } - - TEST(GraphManager, NumEdgesReturnsTwenty) - { - ASSERT_EQ(GraphManager::getInstance().numEdges(), 20); - } - - TEST(GraphManager, GetVertcies) - { - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - boost::tie(vi, vi_end) = gm.vertices(); - ASSERT_EQ(*vi, 0); - ASSERT_EQ(*vi_end, 11); - } - - TEST(GraphManager, GetEdgesAndSource) - { - GraphManager::EdgeIterator ei, ei_end; - GraphManager &gm = GraphManager::getInstance(); - - list::EdgeDescriptor> ei_list; - for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - auto start = ei_list.begin(); - ASSERT_EQ(gm.source(*start), 0); - } - - TEST(GraphManager, GetEdgesAndTarget) - { - GraphManager::EdgeIterator ei, ei_end; - GraphManager &gm = GraphManager::getInstance(); - - list::EdgeDescriptor> ei_list; - for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { - ei_list.push_back(*ei); - } - auto start = ei_list.begin(); - ASSERT_EQ(gm.target(*start), 1); - } - - TEST(GraphManager, SortEdges) - { - GraphManager &gm = GraphManager::getInstance(); - auto list = gm.edgesSortByTarget(); - auto start = list.begin(); - ASSERT_EQ(gm.source(*start), 1); - ASSERT_EQ(gm.target(*start), 0); - } - - // These readGraph tests are after the Vertices/Edges tests so that - // the GraphManager singleton is not overwritten with the new graphs. - TEST(GraphManager, ReadEmptyGraph) - { - GraphManager &graphManager - = GraphManager::getInstance(); - graphManager.setFilePath(emptyGraphFile); - ASSERT_TRUE(graphManager.readGraph()); - } - - TEST(GraphManager, ReadNonExistentGraph) - { - GraphManager &graphManager - = GraphManager::getInstance(); - graphManager.setFilePath("nonExistent.graphml"); - ASSERT_FALSE(graphManager.readGraph()); - } - \ No newline at end of file +#include "Global.h" +#include "GraphManager.h" +#include "gtest/gtest.h" +#include +#include + +using namespace std; +string graphFile = "../configfiles/graphs/test-small-911.graphml"; +string emptyGraphFile = "../configfiles/graphs/empty-graph.graphml"; + +TEST(GraphManager, GetInstanceReturnsInstance) +{ + GraphManager *graphManager + = &GraphManager::getInstance(); + ASSERT_NE(graphManager, nullptr); +} + +TEST(GraphManager, ReadGraphReturnsTrue) +{ + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath(graphFile); + + graphManager.registerProperty("objectID", &NG911VertexProperties::objectID); + graphManager.registerProperty("name", &NG911VertexProperties::name); + graphManager.registerProperty("type", &NG911VertexProperties::type); + graphManager.registerProperty("y", &NG911VertexProperties::y); + graphManager.registerProperty("x", &NG911VertexProperties::x); + graphManager.registerProperty("servers", &NG911VertexProperties::servers); + graphManager.registerProperty("trunks", &NG911VertexProperties::trunks); + graphManager.registerProperty("segments", &NG911VertexProperties::segments); + + ASSERT_TRUE(graphManager.readGraph()); +} + +TEST(GraphManager, NumVerticesReturnsEleven) +{ + ASSERT_EQ(GraphManager::getInstance().numVertices(), 11); +} + +TEST(GraphManager, NumEdgesReturnsTwenty) +{ + ASSERT_EQ(GraphManager::getInstance().numEdges(), 20); +} + +TEST(GraphManager, GetVertcies) +{ + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + boost::tie(vi, vi_end) = gm.vertices(); + ASSERT_EQ(*vi, 0); + ASSERT_EQ(*vi_end, 11); +} + +TEST(GraphManager, GetEdgesAndSource) +{ + GraphManager::EdgeIterator ei, ei_end; + GraphManager &gm = GraphManager::getInstance(); + + list::EdgeDescriptor> ei_list; + for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + auto start = ei_list.begin(); + ASSERT_EQ(gm.source(*start), 0); +} + +TEST(GraphManager, GetEdgesAndTarget) +{ + GraphManager::EdgeIterator ei, ei_end; + GraphManager &gm = GraphManager::getInstance(); + + list::EdgeDescriptor> ei_list; + for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { + ei_list.push_back(*ei); + } + auto start = ei_list.begin(); + ASSERT_EQ(gm.target(*start), 1); +} + +TEST(GraphManager, SortEdges) +{ + GraphManager &gm = GraphManager::getInstance(); + auto list = gm.edgesSortByTarget(); + auto start = list.begin(); + ASSERT_EQ(gm.source(*start), 1); + ASSERT_EQ(gm.target(*start), 0); +} + +// These readGraph tests are after the Vertices/Edges tests so that +// the GraphManager singleton is not overwritten with the new graphs. +TEST(GraphManager, ReadEmptyGraph) +{ + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath(emptyGraphFile); + ASSERT_TRUE(graphManager.readGraph()); +} + +TEST(GraphManager, ReadNonExistentGraph) +{ + GraphManager &graphManager + = GraphManager::getInstance(); + graphManager.setFilePath("nonExistent.graphml"); + ASSERT_FALSE(graphManager.readGraph()); +} From de7c9301b074d3e9261f3dcd2e47aae6b6fd0312 Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Wed, 12 Mar 2025 14:39:05 -0700 Subject: [PATCH 069/153] Deleted temp file used for testing --- Simulator/Core/temp.txt | 93 ----------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 Simulator/Core/temp.txt diff --git a/Simulator/Core/temp.txt b/Simulator/Core/temp.txt deleted file mode 100644 index 84e34107a..000000000 --- a/Simulator/Core/temp.txt +++ /dev/null @@ -1,93 +0,0 @@ -/** - * @file Graphitti_Main.cpp - * - * @ingroup Simulator/Core - * - * @brief Starting point of the Simulation - Main. - * - * The main functions calls the Core's runSimulation method which performs the following simulation steps: - * 1) Instantiates Simulator object - * 2) Parses command line to get configuration file and additional information if provided - * 3) Loads global Simulator parameters from configuration file - * 4) Instantiates all simulator objects (Layout, Connections, Synapases, Vertices) - * 5) Reads simulator objects' parameters from configuration file - * 6) Simulation setup (Deseralization, Initailizing values, etc.) - * 7) Run Simulation - * 8) Simulation shutdown (Save results, serialize) - * - * The Core is de-coupled from main to improve testability. - */ - -#include "Core.h" -#include "log4cplus/configurator.h" -#include "log4cplus/logger.h" -#include "log4cplus/loggingmacros.h" -#include -#include -#include -#include -#include - -using namespace std; - -// Function to check whether there is a file given at a specific path -bool findFile(string path) -{ - // Opens the file at specified path - ifstream newFile(path); - - // Checks if file is opened properly, otherwise results in an error and returns false - if (newFile.is_open()) { - // Use good() to check if the file exists - bool found = newFile.good(); - newFile.close(); - return found; - - } else { - cerr << "ERROR opening file." << endl; - } - - return false; -} - - -/// Main function calls the Core's runSimulation method which -/// handles command line arguments and running the simulation. -/// -/// @param argc argument count. -/// @param argv arguments. -/// @return -1 if error, else 0 if success. -int main(int argc, char *argv[]) -{ - // Clear logging files at the start of each simulation - fstream("Output/Debug/logging.txt", ios::out | ios::trunc); - fstream("Output/Debug/vertices.txt", ios::out | ios::trunc); - fstream("Output/Debug/edges.txt", ios::out | ios::trunc); - - // Initialize log4cplus and set properties based on configure file - ::log4cplus::initialize(); - - // This is to find the absolute path of the home directory log4cplus file - string absPath = getenv("HOME"); - absPath = absPath + "/log4cplus_configure.ini"; - - // Checks whether the file is in the home directory - // otherwise uses the file in RuntimeFiles - if (findFile(absPath)) { - ::log4cplus::PropertyConfigurator::doConfigure(absPath); - } else { - ::log4cplus::PropertyConfigurator::doConfigure("RuntimeFiles/log4cplus_configure.ini"); - } - - // storing command line arguments as string - // required to pass as an argument to setupSimulation - string cmdLineArguments; - string executableName = argv[0]; - for (int i = 1; i < argc; i++) { - cmdLineArguments = cmdLineArguments + argv[i] + " "; - } - - // Creating an instance of core class - Core core; - return core.runSimulation(executableName, cmdLineArguments); -}; From 481e1cea0065f72aaed901f0b3602edd07d2a11e Mon Sep 17 00:00:00 2001 From: Nick Posey <44657018+NicolasJPosey@users.noreply.github.com> Date: Thu, 13 Mar 2025 16:46:37 -0700 Subject: [PATCH 070/153] Merge PoseyDevelopment into SharedDevelopment (#814) * [issue-745] Refactor where summation is calculated (#777) * Refactor model class to generalize the summation logic method and move implementation into neuron class * Implement new AllVertices method in 911 class * Fix last compile errors * Clean up commented out code * Resolve code format failure * Remove dynamic cast of vertices so model with work with non-neuron models * Add override keyword to integrateVertexInputs declaration * Fix formatting issue * [issue-785] Remove neuro items from gpu model (#789) * Rename edge index map device variable name * Rename method names to remove neuro context * Rename variables both in method signature and implementation * Fix formatting * Remove neuro from GPU model and generalize what we can * Remove summation point operation as it's now done in the neuro vertices base class * Revert formatting that breaks code style * Clean up comments, variable names, and includes * Move edge sum index into all spiking synapses and rename neuro GPU methods in both edges and vertices * Fix style violation * Make corresponding updates to documentation * Re add serialize method to documentation * Fix const representation * Add All911Edges to connections documentation * Update diagram images * Add small 911 test to RunTests (#804) Moved small 911 test into Cpu subfolder since it was generated with Cpu code. This required corresponding update to github actions. Then updated RunTests so that it would build the appropriate list of tests based on the current processing unit. * [issue-806] Implement integrateVertexInputs in All911Vertices (#807) * Implement integrateVertexInputs in All911Vertices Since advanceEdges doesn't update the edge state until after we know that we can transfer the call, we move all of the advanceEdges logic into integrateVertexInputs. * fix style issue --- .github/workflows/tests.yml | 2 +- Simulator/Edges/NG911/All911Edges.cpp | 50 +---------------- Simulator/Vertices/NG911/All911Vertices.cpp | 53 ++++++++++++++++++- .../{ => Cpu}/test-small-911-out.xml | 0 Testing/RunTests.sh | 34 ++++++++---- 5 files changed, 78 insertions(+), 61 deletions(-) rename Testing/RegressionTesting/GoodOutput/{ => Cpu}/test-small-911-out.xml (100%) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 8e1e8d193..f0519df98 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -76,7 +76,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml - name: verify test-small-911 if: always() && steps.tt.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/test-small-911-out.xml + run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml - id: tm name: run test-medium diff --git a/Simulator/Edges/NG911/All911Edges.cpp b/Simulator/Edges/NG911/All911Edges.cpp index 7545b68ae..905416675 100644 --- a/Simulator/Edges/NG911/All911Edges.cpp +++ b/Simulator/Edges/NG911/All911Edges.cpp @@ -46,55 +46,7 @@ void All911Edges::createEdge(BGSIZE iEdg, int srcVertex, int destVertex, BGFLOAT /// Advance all the edges in the simulation. void All911Edges::advanceEdges(AllVertices &vertices, EdgeIndexMap &edgeIndexMap) { - Simulator &simulator = Simulator::getInstance(); - All911Vertices &all911Vertices = dynamic_cast(vertices); - - for (int vertex = 0; vertex < simulator.getTotalVertices(); ++vertex) { - int start = edgeIndexMap.incomingEdgeBegin_[vertex]; - int count = edgeIndexMap.incomingEdgeCount_[vertex]; - - if (simulator.getModel().getLayout().vertexTypeMap_[vertex] == vertexType::CALR) { - continue; // TODO911: Caller Regions will have different behaviour - } - - // Loop over all the edges and pull the data in - for (int eIdxMap = start; eIdxMap < start + count; ++eIdxMap) { - int edgeIdx = edgeIndexMap.incomingEdgeIndexMap_[eIdxMap]; - - if (!inUse_[edgeIdx]) { - continue; - } // Edge isn't in use - if (isAvailable_[edgeIdx]) { - continue; - } // Edge doesn't have a call - - int dst = destVertexIndex_[edgeIdx]; - // The destination vertex should be the one pulling the information - assert(dst == vertex); - - CircularBuffer &dstQueue = all911Vertices.getQueue(dst); - if (dstQueue.size() >= (dstQueue.capacity() - all911Vertices.busyServers(dst))) { - // Call is dropped because there is no space in the waiting queue - if (!isRedial_[edgeIdx]) { - // Only count the dropped call if it's not a redial - all911Vertices.droppedCalls(dst)++; - // Record that we received a call - all911Vertices.receivedCalls(dst)++; - LOG4CPLUS_DEBUG(edgeLogger_, - "Call dropped: " << all911Vertices.droppedCalls(dst) << ", time: " - << call_[edgeIdx].time << ", vertex: " << dst - << ", queue size: " << dstQueue.size()); - } - } else { - // Transfer call to destination - dstQueue.put(call_[edgeIdx]); - // Record that we received a call - all911Vertices.receivedCalls(dst)++; - isAvailable_[edgeIdx] = true; - isRedial_[edgeIdx] = false; - } - } - } + // Edge properties are not updated until the vertex inputs are integrated into each vertex. } /// Advance one specific edge. diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index 69b911454..a6b69bf33 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -160,10 +160,59 @@ int All911Vertices::busyServers(int vIdx) const #if !defined(USE_GPU) -// Short description of the method. +// Take calls from the edges and transfer them to the vertex if it's queue is not full void All911Vertices::integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIndexMap) { - //TODO: Figure out where the appropriate logic is and move it here. + Simulator &simulator = Simulator::getInstance(); + All911Edges &all911Edges = dynamic_cast(edges); + + for (int vertex = 0; vertex < simulator.getTotalVertices(); ++vertex) { + int start = edgeIndexMap.incomingEdgeBegin_[vertex]; + int count = edgeIndexMap.incomingEdgeCount_[vertex]; + + if (simulator.getModel().getLayout().vertexTypeMap_[vertex] == vertexType::CALR) { + continue; // TODO911: Caller Regions will have different behaviour + } + + // Loop over all the edges and pull the data in + for (int edge = start; edge < start + count; ++edge) { + int edgeIdx = edgeIndexMap.incomingEdgeIndexMap_[edge]; + + if (!all911Edges.inUse_[edgeIdx]) { + continue; + } // Edge isn't in use + if (all911Edges.isAvailable_[edgeIdx]) { + continue; + } // Edge doesn't have a call + + int dst = all911Edges.destVertexIndex_[edgeIdx]; + // The destination vertex should be the one pulling the information + assert(dst == vertex); + + CircularBuffer &dstQueue = getQueue(dst); + if (dstQueue.size() >= (dstQueue.capacity() - busyServers(dst))) { + // Call is dropped because there is no space in the waiting queue + if (!all911Edges.isRedial_[edgeIdx]) { + // Only count the dropped call if it's not a redial + droppedCalls(dst)++; + // Record that we received a call + receivedCalls(dst)++; + LOG4CPLUS_DEBUG(vertexLogger_, + "Call dropped: " << droppedCalls(dst) + << ", time: " << all911Edges.call_[edgeIdx].time + << ", vertex: " << dst + << ", queue size: " << dstQueue.size()); + } + } else { + // Transfer call to destination + dstQueue.put(all911Edges.call_[edgeIdx]); + // Record that we received a call + receivedCalls(dst)++; + all911Edges.isAvailable_[edgeIdx] = true; + all911Edges.isRedial_[edgeIdx] = false; + } + } + } } // Update internal state of the indexed vertex (called by every simulation step). diff --git a/Testing/RegressionTesting/GoodOutput/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml similarity index 100% rename from Testing/RegressionTesting/GoodOutput/test-small-911-out.xml rename to Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml diff --git a/Testing/RunTests.sh b/Testing/RunTests.sh index 5cd29e13e..20057a9a2 100644 --- a/Testing/RunTests.sh +++ b/Testing/RunTests.sh @@ -56,15 +56,31 @@ NC='\033[0m' # No color CONFIG_DIR=../Testing/RegressionTesting/configfiles TEST_OUT_DIR=../Testing/RegressionTesting/TestOutput GOOD_OUT_DIR=../Testing/RegressionTesting/GoodOutput/${PROCESSING_UNIT} -declare -a TEST_FILES=("test-tiny" - "test-small" - "test-small-connected" - "test-small-long" - "test-small-connected-long" - "test-medium" - "test-medium-connected" - "test-medium-long" - "test-medium-connected-long") + +# Get define the list of test files that we can run per processing unit +# Lists are diffent when we have a CPU implementation of a model but no GPU implementation +if [ $PROCESSING_UNIT == 'Cpu' ]; then + declare -a TEST_FILES=("test-tiny" + "test-small" + "test-small-connected" + "test-small-long" + "test-small-connected-long" + "test-medium" + "test-medium-connected" + "test-medium-long" + "test-medium-connected-long" + "test-small-911") +else + declare -a TEST_FILES=("test-tiny" + "test-small" + "test-small-connected" + "test-small-long" + "test-small-connected-long" + "test-medium" + "test-medium-connected" + "test-medium-long" + "test-medium-connected-long") +fi # This function starts the simulations in parallel function run_simulations() { From 4935e4449e560cd98d1dd41b3cb1bceca6f64d94 Mon Sep 17 00:00:00 2001 From: Jasleen Kaur Saini <129341344+jasleenksaini@users.noreply.github.com> Date: Fri, 14 Mar 2025 00:23:12 +0000 Subject: [PATCH 071/153] Update Requested Changes --- Tools/GraphGeneration/examples/config_files/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tools/GraphGeneration/examples/config_files/config.xml b/Tools/GraphGeneration/examples/config_files/config.xml index 3377a4b53..cdd2062f0 100644 --- a/Tools/GraphGeneration/examples/config_files/config.xml +++ b/Tools/GraphGeneration/examples/config_files/config.xml @@ -41,7 +41,7 @@ - /home/NETID/jsaini/Graphitti/Tools/GraphGeneration/examples/graphml_generation/synth_input.graphml.xml + ../GraphGeneration/synth_input.graphml 88 0 0 @@ -49,7 +49,7 @@ - /home/NETID/jsaini/Graphitti/Tools/GraphGeneration/examples/call_generation/call_gen.xml + ../GraphGeneration/call_gen.xml From 3abedc32024dab0afbce57fe8b5474a378b8d142 Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Sun, 16 Mar 2025 03:52:41 -0700 Subject: [PATCH 072/153] Add ability to initialize full graph for STDP simulations (#734) --- Simulator/Connections/Connections.cpp | 3 + Simulator/Connections/Neuro/ConnStatic.cpp | 154 +++++++-------------- Simulator/Connections/Neuro/ConnStatic.h | 38 +---- Simulator/Core/Core.cpp | 14 +- Simulator/Utils/Global.h | 9 +- Simulator/Utils/GraphManager.h | 18 ++- configfiles/graphs/test-tiny.graphml | 13 ++ configfiles/test-tiny-stdp.xml | 11 -- docs/Developer/GraphAndEventInputs.md | 17 +-- 9 files changed, 109 insertions(+), 168 deletions(-) diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index a8a63fc0e..d2a7b2022 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -44,6 +44,9 @@ Connections::Connections() function regGraphPropsFunc = bind(&Connections::registerGraphProperties, this); opsManager.registerOperation(Operations::registerGraphProperties, regGraphPropsFunc); + OperationManager::getInstance().registerOperation(Operations::registerGraphProperties, + regGraphPropsFunc); + // Get a copy of the file logger to use log4cplus macros fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge")); diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index c29c53baf..fac1f7761 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -1,16 +1,16 @@ /** - * @file ConnStatic.cpp - * - * @ingroup Simulator/Connections - * - * @brief The model of the small world network - */ - +* @file ConnStatic.cpp +* +* @ingroup Simulator/Connections/Neuro +* +* @brief This class manages the Connections of the Neuro STDP network +*/ #include "ConnStatic.h" #include "AllEdges.h" #include "AllNeuroEdges.h" #include "AllVertices.h" +#include "GraphManager.h" #include "OperationManager.h" #include "ParameterManager.h" #include "ParseParamError.h" @@ -22,129 +22,73 @@ #include +/// @brief Default constructor for ConnStatic ConnStatic::ConnStatic() { - threshConnsRadius_ = 0; - connsPerVertex_ = 0; - rewiringProbability_ = 0; - radiiSize_ = 0; } -/// Setup the internal structure of the class (allocate memories and initialize them). -/// Initialize the small world network characterized by parameters: -/// number of maximum connections per vertex, connection radius threshold, and -/// small-world rewiring probability. +/// @brief Set up the connections in the network void ConnStatic::setup() { - // we can obtain the Layout, which holds the vertices, from the Model + int added = 0; + LOG4CPLUS_INFO(fileLogger_, "Initializing connections"); + + // Obtain Vertices and Layout from the Model Layout &layout = Simulator::getInstance().getModel().getLayout(); AllVertices &vertices = layout.getVertices(); - - Simulator &simulator = Simulator::getInstance(); - int numVertices = simulator.getTotalVertices(); - vector distDestVertices[numVertices]; - BGSIZE maxTotalEdges = simulator.getMaxEdgesPerVertex() * simulator.getTotalVertices(); - WCurrentEpoch_.resize(maxTotalEdges); - sourceVertexIndexCurrentEpoch_.resize(maxTotalEdges); - destVertexIndexCurrentEpoch_.resize(maxTotalEdges); + // All Edges object for Connections AllNeuroEdges &neuroEdges = dynamic_cast(*edges_); - radiiSize_ = numVertices; - int added = 0; - LOG4CPLUS_INFO(fileLogger_, "Initializing connections"); + // Iterator to traverse edges + GraphManager::EdgeIterator ei, ei_end; + GraphManager &gm = GraphManager::getInstance(); - for (int srcVertex = 0; srcVertex < numVertices; srcVertex++) { - distDestVertices[srcVertex].clear(); - - // pick the connections shorter than threshConnsRadius - for (int destVertex = 0; destVertex < numVertices; destVertex++) { - if (srcVertex != destVertex) { - BGFLOAT dist = layout.dist_(srcVertex, destVertex); - if (dist <= threshConnsRadius_) { - DistDestVertex distDestVertex {dist, destVertex}; - distDestVertices[srcVertex].push_back(distDestVertex); - } - } - } - - // sort ascendant - sort(distDestVertices[srcVertex].begin(), distDestVertices[srcVertex].end()); - // pick the shortest connsPerVertex_ connections - for (BGSIZE i = 0; i < distDestVertices[srcVertex].size() && (int)i < connsPerVertex_; i++) { - int destVertex = distDestVertices[srcVertex][i].destVertex; - edgeType type = layout.edgType(srcVertex, destVertex); - - LOG4CPLUS_DEBUG(fileLogger_, - "Source: " << srcVertex << " Dest: " << destVertex - << " Dist: " << distDestVertices[srcVertex][i].dist); - - BGSIZE iEdg = edges_->addEdge(type, srcVertex, destVertex, simulator.getDeltaT()); - added++; - - // set edge weight - // TODO: we need another synaptic weight distibution mode (normal distribution) - if (neuroEdges.edgSign(type) > 0) { - neuroEdges.W_[iEdg] = initRNG.inRange(excWeight_[0], excWeight_[1]); - } else { - neuroEdges.W_[iEdg] = initRNG.inRange(inhWeight_[0], inhWeight_[1]); - } - } - } - - string weight_str = ""; - for (int i = 0; i < maxTotalEdges; i++) { - WCurrentEpoch_[i] = neuroEdges.W_[i]; - sourceVertexIndexCurrentEpoch_[i] = neuroEdges.sourceVertexIndex_[i]; - destVertexIndexCurrentEpoch_[i] = neuroEdges.destVertexIndex_[i]; + // Initialize GraphManager and iterate through edges + for (boost::tie(ei, ei_end) = gm.edges(); ei != ei_end; ++ei) { + int srcVertex = gm.source(*ei); + int destVertex = gm.target(*ei); + double weight = gm.weight(*ei); + edgeType type = layout.edgType(srcVertex, destVertex); + BGFLOAT dist = layout.dist_(srcVertex, destVertex); - if (WCurrentEpoch_[i] != 0) { - // LOG4CPLUS_DEBUG(edgeLogger_,i << WCurrentEpoch_[i]); - weight_str += to_string(WCurrentEpoch_[i]) + " "; - } - } - // LOG4CPLUS_DEBUG(edgeLogger_, "Weights are " << weight_str); + // Debug + // cout << "Source: " << srcVertex << " Dest: " << destVertex << " Dist: " << dist << " Weight: " << weight << endl; - int nRewiring = added * rewiringProbability_; + // Log edge data + LOG4CPLUS_DEBUG(edgeLogger_, "Source: " << srcVertex << ", Dest: " << destVertex + << ", Dist: " << dist << ", Weight: " << weight); - LOG4CPLUS_DEBUG(fileLogger_, "Rewiring connections: " << nRewiring); + // Add edge and store weight + BGSIZE iEdg + = edges_->addEdge(type, srcVertex, destVertex, Simulator::getInstance().getDeltaT()); + neuroEdges.W_[iEdg] = weight; + added++; + } + // Log the total number of connections added LOG4CPLUS_DEBUG(fileLogger_, "Added connections: " << added); +} - // Register variable weight if need - // Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - // recorder.registerVariable("weight", WCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); +/// @brief Register graph properties to NeuralVertexProperties +void ConnStatic::registerGraphProperties() +{ + Connections::registerGraphProperties(); + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("source", &NeuralEdgeProperties::source); + gm.registerProperty("target", &NeuralEdgeProperties::target); + gm.registerProperty("weight", &NeuralEdgeProperties::weight); } -/// Load member variables from configuration file. -/// Registered to OperationManager as Operations::op::loadParameters +/// @brief Loads parameters related to connections void ConnStatic::loadParameters() { - ParameterManager::getInstance().getBGFloatByXpath("//threshConnsRadius/text()", - threshConnsRadius_); - ParameterManager::getInstance().getIntByXpath("//connsPerNeuron/text()", connsPerVertex_); - ParameterManager::getInstance().getBGFloatByXpath("//rewiringProbability/text()", - rewiringProbability_); - //ParameterManager::getInstance().getBGFloatByXpath("//excWeight/min/text()", excWeight_[0]); - //ParameterManager::getInstance().getBGFloatByXpath("//excWeight/max/text()", excWeight_[1]); - //ParameterManager::getInstance().getBGFloatByXpath("//inhWeight/min/text()", inhWeight_[0]); - //ParameterManager::getInstance().getBGFloatByXpath("//inhWeight/max/text()", inhWeight_[1]); + GraphManager &gm = GraphManager::getInstance(); } -/// Prints out all parameters to logging file. -/// Registered to OperationManager as Operation::printParameters +/// @brief Prints the parameters of the connection void ConnStatic::printParameters() const { LOG4CPLUS_DEBUG(fileLogger_, "CONNECTIONS PARAMETERS" - << endl - << "\tConnections Type: ConnStatic" << endl - << "\tConnection radius threshold: " << threshConnsRadius_ - << endl - << "\tConnections per neuron: " << connsPerVertex_ << endl - << "\tRewiring probability: " << rewiringProbability_ << endl - << "\tExhitatory min weight: " << excWeight_[0] << endl - << "\tExhitatory max weight: " << excWeight_[1] << endl - << "\tInhibitory min weight: " << inhWeight_[0] << endl - << "\tInhibitory max weight: " << inhWeight_[1] << endl - << endl); + << "\n\tConnections Type: ConnStatic"); } diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index 5380a07a2..47256709c 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -17,10 +17,6 @@ * every neighbor of \f$v\f$ is connected to every other neighbor of \f$v\f$). * Let \f$C_v\f$ denote the fracion of these allowable edges that actually exist. * Define \f$C\f$ as the average of \f$C_v\f$ overall \f$v\f$ (Watts et al. 1998). - * - * We first create a regular network characterized by two parameters: the number of maximum - * connections per neuron and connection radius threshold, then rewire it according - * to the small-world rewiring probability. */ #pragma once @@ -48,6 +44,9 @@ class ConnStatic : public Connections { return new ConnStatic(); } + /// Register vertex properties with the GraphManager + virtual void registerGraphProperties() override; + /// Setup the internal structure of the class (allocate memories and initialize them). /// Initialize the small world network characterized by parameters: /// number of maximum connections per vertex, connection radius threshold, and @@ -62,12 +61,6 @@ class ConnStatic : public Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; - /// Get connection radius threshold - BGFLOAT getConnsRadiusThresh() const - { - return threshConnsRadius_; - } - /// Get array of vertex weights const vector &getWCurrentEpoch() const { @@ -102,24 +95,6 @@ class ConnStatic : public Connections { RecordableVector WCurrentEpoch_; // vector WCurrentEpoch_; - /// radii size (2020/2/13 add radiiSize for use in serialization/deserialization) - int radiiSize_; - - /// number of maximum connections per vertex - int connsPerVertex_; - - /// Connection radius threshold - BGFLOAT threshConnsRadius_; - - /// Small-world rewiring probability - BGFLOAT rewiringProbability_; - - /// Min/max values of excitatory neuron's synapse weight - BGFLOAT excWeight_[2]; - - /// Min/max values of inhibitory neuron's synapse weight - BGFLOAT inhWeight_[2]; - struct DistDestVertex { BGFLOAT dist; ///< distance to the destination vertex int destVertex; ///< index of the destination vertex @@ -139,10 +114,5 @@ template void ConnStatic::serialize(Archive &archive) archive(cereal::base_class(this), cereal::make_nvp("sourceVertexIndexCurrentEpoch", sourceVertexIndexCurrentEpoch_), cereal::make_nvp("destVertexIndexCurrentEpoch", destVertexIndexCurrentEpoch_), - cereal::make_nvp("WCurrentEpoch", WCurrentEpoch_), - cereal::make_nvp("radiiSize", radiiSize_), - cereal::make_nvp("connsPerVertex", connsPerVertex_), - cereal::make_nvp("threshConnsRadius", threshConnsRadius_), - cereal::make_nvp("rewiringProbability", rewiringProbability_), - cereal::make_nvp("excWeight", excWeight_), cereal::make_nvp("inhWeight", inhWeight_)); + cereal::make_nvp("WCurrentEpoch", WCurrentEpoch_)); } diff --git a/Simulator/Core/Core.cpp b/Simulator/Core/Core.cpp index 6a5b5eeec..da1c59bce 100644 --- a/Simulator/Core/Core.cpp +++ b/Simulator/Core/Core.cpp @@ -146,21 +146,25 @@ int Core::runSimulation(string executableName, string cmdLineArguments) } // Ask all objects to register their Graph properties + LOG4CPLUS_TRACE(consoleLogger, "Registering Graph Properties"); OperationManager::getInstance().executeOperation(Operations::registerGraphProperties); // Retrieve class attribute from the 'LayoutParams' in the config file // This value indicate the simulation type (Neural or NG911) for graph manager configuration // Log fatal error if no simulation type is found and terminate + // Retrieve class attribute from the 'LayoutParams' in the config file + // This value indicates the simulation type (Neural or NG911) for graph manager configuration + string configData; ParameterManager::getInstance().getStringByXpath("//LayoutParams/@class", configData); - - if (configData.find("Neur")) { + if (configData == "LayoutNeuro") { GraphManager::getInstance().readGraph(); - } - if (configData.find("91")) { + LOG4CPLUS_TRACE(consoleLogger, "Reading Neural Vertex Properties"); + } else if (configData.find("Layout911") != std::string::npos) { GraphManager::getInstance().readGraph(); + LOG4CPLUS_TRACE(consoleLogger, "Reading NG911 Vertex Properties"); } else { - LOG4CPLUS_FATAL(consoleLogger, "ERROR: Unknown simulation type'"); + LOG4CPLUS_FATAL(consoleLogger, "ERROR: Unknown simulation type"); return -1; } diff --git a/Simulator/Utils/Global.h b/Simulator/Utils/Global.h index 604e40a13..c44532140 100644 --- a/Simulator/Utils/Global.h +++ b/Simulator/Utils/Global.h @@ -286,11 +286,14 @@ struct NeuralVertexProperties : public VertexProperties { bool active; }; -/// @brief The structure to hold the edge properties -struct EdgeProperties { - // TODO: Edge Properties +/// @brief The structure to hold the edge properties +struct NeuralEdgeProperties { + int source; + int target; + double weight; }; + /// @brief The structure to hold the Graph properties struct GraphProperties { // TODO: Graph Properties diff --git a/Simulator/Utils/GraphManager.h b/Simulator/Utils/GraphManager.h index 79e7823b2..1b6a65f76 100644 --- a/Simulator/Utils/GraphManager.h +++ b/Simulator/Utils/GraphManager.h @@ -52,7 +52,7 @@ template class GraphManager { public: /// Using directive for graphml graph type (adjacency list) using Graph = boost::adjacency_list; + NeuralEdgeProperties, GraphProperties>; using EdgeIterator = typename boost::graph_traits::edge_iterator; using VertexIterator = typename boost::graph_traits::vertex_iterator; @@ -109,6 +109,11 @@ template class GraphManager { /// @return the target vertex index for the given Edge size_t target(const EdgeDescriptor &edge) const; + /// @brief Retrieves the weight of an edge + /// @param edge the EdgeDescriptor + /// @return the weight of the given edge + size_t weight(const EdgeDescriptor &edge) const; + /// @brief Direct access to the VertexProperties of a vertex descriptor /// @param vertex the vertex descriptor (index) /// @return the VertexProperties of the vertex descriptor @@ -175,7 +180,6 @@ template bool GraphManager::readGr // If graphFilePath_ isn't already defined, get it from ParameterManager if (graphFilePath_ == "") { - // string file_name; string path = "//graphmlFile/text()"; if (!ParameterManager::getInstance().getStringByXpath(path, graphFilePath_)) { cerr << "Could not find XML path: " << path << ".\n"; @@ -233,6 +237,16 @@ size_t GraphManager::target( return boost::target(edge, graph_); } +/// @brief Retrieves the weight of an edge +/// @param edge the EdgeDescriptor +/// @return the weight of the given edge +template +size_t GraphManager::weight( + const typename GraphManager::EdgeDescriptor &edge) const +{ + return boost::get(&NeuralEdgeProperties::weight, graph_, edge); +} + /// @brief Directly access the VertexProperties of a vertex descriptor. /// @param vertex The vertex descriptor (index). /// @return The VertexProperties of the vertex. diff --git a/configfiles/graphs/test-tiny.graphml b/configfiles/graphs/test-tiny.graphml index 6c25ef224..10c7ac284 100644 --- a/configfiles/graphs/test-tiny.graphml +++ b/configfiles/graphs/test-tiny.graphml @@ -4,6 +4,7 @@ + 0 @@ -29,5 +30,17 @@ 0 EXC + + 0.5 + + + 3.2 + + + 3.3 + + + 6.4 + diff --git a/configfiles/test-tiny-stdp.xml b/configfiles/test-tiny-stdp.xml index a05e4db3f..2f6318b02 100644 --- a/configfiles/test-tiny-stdp.xml +++ b/configfiles/test-tiny-stdp.xml @@ -116,17 +116,6 @@ - 4 - 2 - 0.75 - - 2.36936e-38 - 2.35106e-38 - - - 9.18355e-41 - 3.58732e-43 - diff --git a/docs/Developer/GraphAndEventInputs.md b/docs/Developer/GraphAndEventInputs.md index 460fcaeeb..31e700e85 100644 --- a/docs/Developer/GraphAndEventInputs.md +++ b/docs/Developer/GraphAndEventInputs.md @@ -11,9 +11,10 @@ There are two main steps to implementing a graph representation of an NG911 netw ### GraphManager Class -The GraphManager is mainly a wrapper around the Boost Graph Library (BGL) but you should not need to know about Boost to use it. The BGL loads the properties for the graph, vertices and edges into user-defined structs. We have declared the `VertexProperty`, `EdgeProperty`, and `GraphProperty` structs for that purpose in the `Global.h` file. The GraphManager needs to convert each property into the right type and load them into the appropriate struct member variable. We tell GraphManager where to load the properties via the `registerProperty()` method and it infers the appropriate type. The registration of the Graph properties is being implemented as an OperationManager step that is called in the Driver class before reading the GraphML file, therefore classes that need to load graph properties are responsible for implementing the `registerGraphProperties()` method. The following is the `Layout911` implementation: +The GraphManager is mainly a wrapper around the Boost Graph Library (BGL), but you do not need direct knowledge of Boost to use it. The BGL loads properties for the graph, vertices, and edges into user-defined structs. We have declared the `VertexProperties`, `NeuralEdgeProperties`, and `GraphProperties` structs in `Global.h` for this purpose. In the updated design, GraphManager is templated based on `VertexProperties`. The VertexProperties struct serves as a base struct, allowing for specialized inheritance by `NG911VertexProperties` and `NeuroVertexProperties`, enabling greater flexibility in managing different types of graphs. The GraphManager needs to convert each property into the right type and load them into the appropriate struct member variable. We tell GraphManager where to load the properties via the `registerProperty()` method and it infers the appropriate type. The registration of the Graph properties is being implemented as an OperationManager step that is called in the Driver class before reading the GraphML file, therefore classes that need to load graph properties are responsible for implementing the `registerGraphProperties()` method. + +The following is the `Layout911` implementation: -```cpp void Layout911::registerGraphProperties() { // The base class registers properties that are common to all vertices @@ -23,12 +24,12 @@ void Layout911::registerGraphProperties() // We are passing a pointer to a data member of the VertexProperty // so Boost Graph Library can use it for loading the graphML file. // Look at: https://www.studytonight.com/cpp/pointer-to-members.php - GraphManager &gm = GraphManager::getInstance(); - gm.registerProperty("objectID", &VertexProperty::objectID); - gm.registerProperty("name", &VertexProperty::name); - gm.registerProperty("type", &VertexProperty::type); - gm.registerProperty("y", &VertexProperty::y); - gm.registerProperty("x", &VertexProperty::x); + GraphManager &gm = GraphManager::getInstance(); + gm.registerProperty("objectID", &NG911VertexProperties::objectID); + gm.registerProperty("name", &NG911VertexProperties::name); + gm.registerProperty("type", &NG911VertexProperties::type); + gm.registerProperty("y", &NG911VertexProperties::y); + gm.registerProperty("x", &NG911VertexProperties::x); } ``` From 50abfdc4e6969a87c0346ded837dfd89aebd0d8e Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Sun, 16 Mar 2025 13:54:16 -0700 Subject: [PATCH 073/153] Clang format --- Simulator/Connections/Neuro/ConnStatic.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index fac1f7761..9d8e1f999 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -89,6 +89,5 @@ void ConnStatic::loadParameters() /// @brief Prints the parameters of the connection void ConnStatic::printParameters() const { - LOG4CPLUS_DEBUG(fileLogger_, "CONNECTIONS PARAMETERS" - << "\n\tConnections Type: ConnStatic"); + } From 02f013272684486d1064564a43d702daba10c326 Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Sun, 16 Mar 2025 13:56:18 -0700 Subject: [PATCH 074/153] Updated GraphManager logic for full STDP graph initialization --- Simulator/Connections/Neuro/ConnStatic.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 9d8e1f999..1c73c7a17 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -89,5 +89,4 @@ void ConnStatic::loadParameters() /// @brief Prints the parameters of the connection void ConnStatic::printParameters() const { - } From db95088fb0d9c9f7654ab2a2997055ec92d618aa Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Tue, 18 Mar 2025 00:06:45 -0700 Subject: [PATCH 075/153] Update STDP Requested Changes --- Simulator/Connections/Connections.cpp | 3 --- Simulator/Connections/Neuro/ConnStatic.cpp | 1 - configfiles/graphs/test-tiny.graphml | 8 ++++---- docs/Developer/GraphAndEventInputs.md | 2 +- 4 files changed, 5 insertions(+), 9 deletions(-) diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index d2a7b2022..a8a63fc0e 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -44,9 +44,6 @@ Connections::Connections() function regGraphPropsFunc = bind(&Connections::registerGraphProperties, this); opsManager.registerOperation(Operations::registerGraphProperties, regGraphPropsFunc); - OperationManager::getInstance().registerOperation(Operations::registerGraphProperties, - regGraphPropsFunc); - // Get a copy of the file logger to use log4cplus macros fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge")); diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 1c73c7a17..7d168d199 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -83,7 +83,6 @@ void ConnStatic::registerGraphProperties() /// @brief Loads parameters related to connections void ConnStatic::loadParameters() { - GraphManager &gm = GraphManager::getInstance(); } /// @brief Prints the parameters of the connection diff --git a/configfiles/graphs/test-tiny.graphml b/configfiles/graphs/test-tiny.graphml index 10c7ac284..7da5d8e8b 100644 --- a/configfiles/graphs/test-tiny.graphml +++ b/configfiles/graphs/test-tiny.graphml @@ -31,16 +31,16 @@ EXC - 0.5 + 5.0e-9 - 3.2 + -3.2e-8 - 3.3 + 3.3e-8 - 6.4 + 6.4e-8 diff --git a/docs/Developer/GraphAndEventInputs.md b/docs/Developer/GraphAndEventInputs.md index 31e700e85..51aa5f6b6 100644 --- a/docs/Developer/GraphAndEventInputs.md +++ b/docs/Developer/GraphAndEventInputs.md @@ -11,7 +11,7 @@ There are two main steps to implementing a graph representation of an NG911 netw ### GraphManager Class -The GraphManager is mainly a wrapper around the Boost Graph Library (BGL), but you do not need direct knowledge of Boost to use it. The BGL loads properties for the graph, vertices, and edges into user-defined structs. We have declared the `VertexProperties`, `NeuralEdgeProperties`, and `GraphProperties` structs in `Global.h` for this purpose. In the updated design, GraphManager is templated based on `VertexProperties`. The VertexProperties struct serves as a base struct, allowing for specialized inheritance by `NG911VertexProperties` and `NeuroVertexProperties`, enabling greater flexibility in managing different types of graphs. The GraphManager needs to convert each property into the right type and load them into the appropriate struct member variable. We tell GraphManager where to load the properties via the `registerProperty()` method and it infers the appropriate type. The registration of the Graph properties is being implemented as an OperationManager step that is called in the Driver class before reading the GraphML file, therefore classes that need to load graph properties are responsible for implementing the `registerGraphProperties()` method. +The GraphManager is mainly a wrapper around the Boost Graph Library (BGL), but you do not need direct knowledge of Boost to use it. The BGL loads properties for the graph, vertices, and edges into user-defined structs. We have declared the `VertexProperties`, `NeuralEdgeProperties`, and `GraphProperties` structs in `Global.h` for this purpose. In the updated design, GraphManager is templated based on `VertexProperties`. The VertexProperties struct serves as a base struct, allowing for specialized inheritance by `NG911VertexProperties` and `NeuralVertexProperties`, enabling greater flexibility in managing different types of graphs. The GraphManager needs to convert each property into the right type and load them into the appropriate struct member variable. We tell GraphManager where to load the properties via the `registerProperty()` method and it infers the appropriate type. The registration of the Graph properties is being implemented as an OperationManager step that is called in the Driver class before reading the GraphML file, therefore classes that need to load graph properties are responsible for implementing the `registerGraphProperties()` method. The following is the `Layout911` implementation: From 17dbb502a2cf5f9fe944204c693072cedea59b64 Mon Sep 17 00:00:00 2001 From: jasleenksaini Date: Wed, 19 Mar 2025 05:27:33 -0700 Subject: [PATCH 076/153] Update Weight to Double --- Simulator/Utils/GraphManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Simulator/Utils/GraphManager.h b/Simulator/Utils/GraphManager.h index 1b6a65f76..6430d87ef 100644 --- a/Simulator/Utils/GraphManager.h +++ b/Simulator/Utils/GraphManager.h @@ -112,7 +112,7 @@ template class GraphManager { /// @brief Retrieves the weight of an edge /// @param edge the EdgeDescriptor /// @return the weight of the given edge - size_t weight(const EdgeDescriptor &edge) const; + double weight(const EdgeDescriptor &edge) const; /// @brief Direct access to the VertexProperties of a vertex descriptor /// @param vertex the vertex descriptor (index) @@ -241,7 +241,7 @@ size_t GraphManager::target( /// @param edge the EdgeDescriptor /// @return the weight of the given edge template -size_t GraphManager::weight( +double GraphManager::weight( const typename GraphManager::EdgeDescriptor &edge) const { return boost::get(&NeuralEdgeProperties::weight, graph_, edge); From e5641882027598498eee9c7b847b417693fb372f Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 20 Mar 2025 07:09:28 -0700 Subject: [PATCH 077/153] use min radius --- Simulator/Connections/Neuro/ConnGrowth.cpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Simulator/Connections/Neuro/ConnGrowth.cpp b/Simulator/Connections/Neuro/ConnGrowth.cpp index beaad1660..d0e0d8b47 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth.cpp @@ -167,6 +167,13 @@ void ConnGrowth::updateConns(AllVertices &vertices) / growthParams_.beta)); deltaR_ = Simulator::getInstance().getEpochDuration() * growthParams_.rho * outgrowth_; radii_ += deltaR_; + + // limit the min radius + for (int i = 0; i < radiiSize_; i++) { + if (radii_[i] < growthParams_.minRadius) { + radii_[i] = growthParams_.minRadius; + } + } } /// Update the distance between frontiers of vertices. From 91097d87fb5a36f8dfffbec5a786484cd5ead65e Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Sun, 23 Mar 2025 18:13:41 -0700 Subject: [PATCH 078/153] Updates completed --- Simulator/Connections/Connections.h | 3 ++ .../Connections/NG911/Connections911.cpp | 35 +++++++++------ Simulator/Connections/NG911/Connections911.h | 12 +++-- Simulator/Connections/Neuro/ConnGrowth.cpp | 4 ++ Simulator/Connections/Neuro/ConnGrowth.h | 3 ++ Simulator/Connections/Neuro/ConnStatic.cpp | 10 +++++ Simulator/Connections/Neuro/ConnStatic.h | 11 +++-- Simulator/Core/Core.cpp | 1 + Simulator/Layouts/Layout.cpp | 14 +++--- Simulator/Layouts/Layout.h | 3 +- Simulator/Layouts/NG911/Layout911.cpp | 4 ++ Simulator/Layouts/Neuro/LayoutNeuro.cpp | 4 ++ Simulator/Recorders/Hdf5Recorder.cpp | 20 +++++++-- Simulator/Recorders/Hdf5Recorder.h | 15 +++++++ Simulator/Recorders/NG911/Xml911Recorder.cpp | 2 + Simulator/Recorders/RecordableBase.h | 4 +- Simulator/Recorders/RecordableVector.h | 12 +++++ Simulator/Recorders/Recorder.h | 2 +- Simulator/Recorders/XmlRecorder.cpp | 6 ++- Simulator/Vertices/NG911/All911Vertices.cpp | 45 +++++++++++++++++++ Simulator/Vertices/NG911/All911Vertices.h | 25 +++++------ .../configfiles/test-small-911.xml | 2 +- Testing/UnitTesting/XmlRecorderTests.cpp | 8 ++-- configfiles/test-king-county-911.xml | 2 +- configfiles/test-small-911.xml | 2 +- 25 files changed, 194 insertions(+), 55 deletions(-) diff --git a/Simulator/Connections/Connections.h b/Simulator/Connections/Connections.h index d8bcc8596..67e625a90 100644 --- a/Simulator/Connections/Connections.h +++ b/Simulator/Connections/Connections.h @@ -65,6 +65,9 @@ class Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const = 0; + /// Registers history variables for recording during simulation + virtual void registerHistoryVariables() = 0; + /// Update the connections status in every epoch. /// /// @param vertices The vertex list to search from. diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index 7d5c499e3..1c2372fc7 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -73,7 +73,7 @@ bool Connections911::updateConnections(AllVertices &vertices) // Record old type map int numVertices = Simulator::getInstance().getTotalVertices(); Layout &layout = Simulator::getInstance().getModel().getLayout(); - oldTypeMap_ = layout.vertexTypeMap_; + // oldTypeMap_ = layout.vertexTypeMap_; // Erase PSAPs for (int i = 0; i < psapsToErase_; i++) { @@ -183,7 +183,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) erasedEdge.srcV = srcVertex; erasedEdge.destV = destVertex; erasedEdge.eType = layout.edgType(srcVertex, destVertex); - edgesErased.push_back(erasedEdge); + edgesErased_.push_back(erasedEdge); changesMade = true; edges_->eraseEdge(destVertex, iEdg); @@ -204,7 +204,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) if (changesMade) { // This is here so that we don't delete the vertex if we can't find any edges - verticesErased.push_back(randPSAP); + verticesErased_.push_back(randPSAP); layout.vertexTypeMap_[randPSAP] = vertexType::VTYPE_UNDEF; } @@ -238,7 +238,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) addedEdge.srcV = srcVertex; addedEdge.destV = closestPSAP; addedEdge.eType = edgeType::CP; - edgesAdded.push_back(addedEdge); + edgesAdded_.push_back(addedEdge); } // For each psap-less responder, find closest match @@ -266,7 +266,7 @@ bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) addedEdge.srcV = closestPSAP; addedEdge.destV = destVertex; addedEdge.eType = edgeType::PR; - edgesAdded.push_back(addedEdge); + edgesAdded_.push_back(addedEdge); } return changesMade; @@ -317,7 +317,7 @@ bool Connections911::eraseRESP(AllVertices &vertices, Layout &layout) erasedEdge.srcV = srcVertex; erasedEdge.destV = destVertex; erasedEdge.eType = layout.edgType(srcVertex, destVertex); - edgesErased.push_back(erasedEdge); + edgesErased_.push_back(erasedEdge); changesMade = true; edges_->eraseEdge(destVertex, iEdg); @@ -326,7 +326,7 @@ bool Connections911::eraseRESP(AllVertices &vertices, Layout &layout) if (changesMade) { // This is here so that we don't delete the vertex if we can't find any edges - verticesErased.push_back(randRESP); + verticesErased_.push_back(randRESP); layout.vertexTypeMap_[randRESP] = vertexType::VTYPE_UNDEF; } @@ -370,16 +370,23 @@ string Connections911::ChangedEdge::toString() return os.str(); } +/// Registers variable to be recorded +void Connections911::registerHistoryVariables() +{ + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("verticesDeleted", verticesErased_, Recorder::UpdatedType::DYNAMIC); +} + /// Returns the complete list of all deleted or added edges as a string. string Connections911::changedEdgesToXML(bool added) { stringstream os; - vector changed = edgesErased; + vector changed = edgesErased_; string name = "edgesDeleted"; if (added) { - changed = edgesAdded; + changed = edgesAdded_; name = "edgesAdded"; } @@ -394,22 +401,24 @@ string Connections911::changedEdgesToXML(bool added) return os.str(); } +/* /// Returns the complete list of deleted vertices as a string. string Connections911::erasedVerticesToXML() { stringstream os; os << "" << endl; + << verticesErased_.size() << "\" multiplier=\"1.0\">" << endl; os << " "; - sort(verticesErased.begin(), verticesErased.end()); - for (int i = 0; i < verticesErased.size(); i++) { - os << verticesErased[i] << " "; + sort(verticesErased_.begin(), verticesErased_.end()); + for (int i = 0; i < verticesErased_.size(); i++) { + os << verticesErased_[i] << " "; } os << endl << ""; return os.str(); } +*/ #endif \ No newline at end of file diff --git a/Simulator/Connections/NG911/Connections911.h b/Simulator/Connections/NG911/Connections911.h index 25d38c63e..4f24d076e 100644 --- a/Simulator/Connections/NG911/Connections911.h +++ b/Simulator/Connections/NG911/Connections911.h @@ -15,6 +15,7 @@ #include "Connections.h" #include "InputEvent.h" +#include "RecordableVector.h" #include using namespace std; @@ -33,7 +34,7 @@ class Connections911 : public Connections { return new Connections911(); } /// Records typeMap history for recorders - vector oldTypeMap_; + /// vector oldTypeMap_; /// Setup the internal structure of the class (allocate memories and initialize them). /// Initialize the network characterized by parameters: @@ -48,6 +49,9 @@ class Connections911 : public Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; + /// Registers history variables for recording during simulation + virtual void registerHistoryVariables() override; + private: /// number of psaps to erase at the end of 1 epoch int psapsToErase_; @@ -58,13 +62,13 @@ class Connections911 : public Connections { struct ChangedEdge; // Edges that were added but later removed are still here - vector edgesAdded; + vector edgesAdded_; // New edges = (old edges + edgesAdded) - edgesErased <-- works // New edges = (old edges - edgesErased) + edgesAdded <-- does not work - vector edgesErased; + vector edgesErased_; - vector verticesErased; + RecordableVector verticesErased_; #if !defined(USE_GPU) diff --git a/Simulator/Connections/Neuro/ConnGrowth.cpp b/Simulator/Connections/Neuro/ConnGrowth.cpp index beaad1660..0790050a9 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth.cpp @@ -328,3 +328,7 @@ void ConnGrowth::printRadii() const cout << "radii[" << i << "] = " << radii_[i] << endl; } } + +void ConnGrowth::registerHistoryVariables() +{ +} \ No newline at end of file diff --git a/Simulator/Connections/Neuro/ConnGrowth.h b/Simulator/Connections/Neuro/ConnGrowth.h index e6a88078c..29a67671a 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.h +++ b/Simulator/Connections/Neuro/ConnGrowth.h @@ -97,6 +97,9 @@ class ConnGrowth : public Connections { /// Registered to OperationManager as Operations::op::loadParameters virtual void loadParameters() override; + /// Registers history variables for recording during simulation + virtual void registerHistoryVariables() override; + /// Prints out all parameters to logging file. /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 7d168d199..1bbc1dcf1 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -89,3 +89,13 @@ void ConnStatic::loadParameters() void ConnStatic::printParameters() const { } + +void ConnStatic::registerHistoryVariables() +{ + // Register the following variables to be recorded + // Note: There may be potential duplicate weight, source, destination vertices + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("weight", WCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("sourceVertex", sourceVertexIndexCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("destinationVertex", destVertexIndexCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); +} \ No newline at end of file diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index 47256709c..c029afd60 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -61,6 +61,9 @@ class ConnStatic : public Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; + /// Registers history variables for recording during simulation + virtual void registerHistoryVariables() override; + /// Get array of vertex weights const vector &getWCurrentEpoch() const { @@ -71,13 +74,13 @@ class ConnStatic : public Connections { /// Get all edge source vertex indices const vector &getSourceVertexIndexCurrentEpoch() const { - return sourceVertexIndexCurrentEpoch_; + return sourceVertexIndexCurrentEpoch_.getVector(); } /// Get all edge destination vertex indices const vector &getDestVertexIndexCurrentEpoch() const { - return destVertexIndexCurrentEpoch_; + return destVertexIndexCurrentEpoch_.getVector(); } /// Cereal serialization method @@ -85,10 +88,10 @@ class ConnStatic : public Connections { private: /// Indices of the source vertex for each edge - vector sourceVertexIndexCurrentEpoch_; + RecordableVector sourceVertexIndexCurrentEpoch_; /// Indices of the destination vertex for each edge - vector destVertexIndexCurrentEpoch_; + RecordableVector destVertexIndexCurrentEpoch_; /// The weight (scaling factor, strength, maximal amplitude) of each vertex for the current epoch. // vector changes to RecordableVector for recording purpose diff --git a/Simulator/Core/Core.cpp b/Simulator/Core/Core.cpp index da1c59bce..60d6bc682 100644 --- a/Simulator/Core/Core.cpp +++ b/Simulator/Core/Core.cpp @@ -207,6 +207,7 @@ int Core::runSimulation(string executableName, string cmdLineArguments) // Helper function for recorder to register spike history variables for all neurons. simulator.getModel().getLayout().getVertices().registerHistoryVariables(); + simulator.getModel().getConnections().registerHistoryVariables(); // Run simulation LOG4CPLUS_TRACE(consoleLogger, "Starting Simulation"); diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index 7dbb53303..18983e1e7 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -117,13 +117,13 @@ void Layout::setup() // Finally take the square root to get the distances dist_ = sqrt(dist2_); - // Register variable: vertex locations if need - //Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - //string baseName = "Location"; - //string xLocation = "x_" + baseName; - //string yLocation = "y_" + baseName; - //recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); - //recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); + //Register variable: vertex locations + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + string baseName = "Location"; + string xLocation = "x_" + baseName; + string yLocation = "y_" + baseName; + recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); + recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); // test purpose // cout << "xloc_: " << &xloc_ << endl; diff --git a/Simulator/Layouts/Layout.h b/Simulator/Layouts/Layout.h index a4d274460..7be191612 100644 --- a/Simulator/Layouts/Layout.h +++ b/Simulator/Layouts/Layout.h @@ -15,6 +15,7 @@ #include "AllVertices.h" #include "Utils/Global.h" +#include "RecordableVector.h" #include #include #include @@ -78,7 +79,7 @@ class Layout { vector probedNeuronList_; ///< Probed neurons list. // ToDo: Move this to Hdf5 recorder once its implemented in project -chris - vector vertexTypeMap_; ///< The vertex type mao, (INH, EXC). + RecordableVector vertexTypeMap_; ///< The vertex type mao, (INH, EXC). vector starterMap_; ///< The starter existence map (T/F). diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index d8cbbf0f2..6c83b3c28 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -102,6 +102,10 @@ void Layout911::generateVertexTypeMap() vTypeCount[gm[*vi].type] += 1; } + // Register vertexTypes with recorder + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); + LOG4CPLUS_DEBUG(fileLogger_, "\nVERTEX TYPE MAP" << endl << "\tTotal vertices: " << numVertices_ << endl diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index fb85c9f8d..64af9e859 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -67,6 +67,10 @@ void LayoutNeuro::generateVertexTypeMap() } } + // Register vertexTypeMap to be recorded + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); + numExcititoryNeurons = numVertices_ - numInhibitoryNeurons; LOG4CPLUS_DEBUG(fileLogger_, "\nVERTEX TYPE MAP" diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index d3647b94c..57afdae72 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -215,6 +215,20 @@ void Hdf5Recorder::compileHistories() } variableInfo.hdf5DataSet_.write(dataBuffer.data(), variableInfo.hdf5Datatype_, memSpace, fileSpace); + } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_DOUBLE) { + vector dataBuffer(variableInfo.variableLocation_.getNumElements()); + for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { + dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); + } + variableInfo.hdf5DataSet_.write(dataBuffer.data(), variableInfo.hdf5Datatype_, + memSpace, fileSpace); + } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_UCHAR) { + vector dataBuffer(variableInfo.variableLocation_.getNumElements()); + for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { + dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); + } + variableInfo.hdf5DataSet_.write(dataBuffer.data(), variableInfo.hdf5Datatype_, + memSpace, fileSpace); } else { // Throw an exception if the data type is unsupported throw runtime_error("Unsupported data type for variable: " @@ -222,10 +236,10 @@ void Hdf5Recorder::compileHistories() } } } + // Call startNewEpoch() to prepare for new data input + // Only done for dynamic variables since constant variables are only captured at end + variableInfo.variableLocation_.startNewEpoch(); } - - // Call startNewEpoch() to prepare for new data input - variableInfo.variableLocation_.startNewEpoch(); } } diff --git a/Simulator/Recorders/Hdf5Recorder.h b/Simulator/Recorders/Hdf5Recorder.h index c14ae3032..46031f1f1 100644 --- a/Simulator/Recorders/Hdf5Recorder.h +++ b/Simulator/Recorders/Hdf5Recorder.h @@ -116,6 +116,8 @@ class Hdf5Recorder : public Recorder { hdf5Datatype_ = PredType::NATIVE_DOUBLE; } else if (dataType_ == typeid(vertexType).name()) { hdf5Datatype_ = PredType::NATIVE_INT; + } else if (dataType_ == typeid(unsigned char).name()) { + hdf5Datatype_ = PredType::NATIVE_UCHAR; } else { throw runtime_error("Unsupported data type"); } @@ -163,6 +165,19 @@ class Hdf5Recorder : public Recorder { } hdf5DataSet_.write(dataBuffer.data(), hdf5Datatype_); + } else if (hdf5Datatype_ == PredType::NATIVE_DOUBLE) { + vector dataBuffer(variableLocation_.getNumElements()); + for (int i = 0; i < variableLocation_.getNumElements(); ++i) { + dataBuffer[i] = get(variableLocation_.getElement(i)); + } + hdf5DataSet_.write(dataBuffer.data(), hdf5Datatype_); + + } else if (hdf5Datatype_ == PredType::NATIVE_UCHAR) { + vector dataBuffer(variableLocation_.getNumElements()); + for (int i = 0; i < variableLocation_.getNumElements(); ++i) { + dataBuffer[i] = get(variableLocation_.getElement(i)); + } + hdf5DataSet_.write(dataBuffer.data(), hdf5Datatype_); } else { // Throw an error if the data type is unsupported throw runtime_error("Unsupported data type"); diff --git a/Simulator/Recorders/NG911/Xml911Recorder.cpp b/Simulator/Recorders/NG911/Xml911Recorder.cpp index 3c3f3f05f..cc7535cfe 100644 --- a/Simulator/Recorders/NG911/Xml911Recorder.cpp +++ b/Simulator/Recorders/NG911/Xml911Recorder.cpp @@ -27,6 +27,7 @@ void Xml911Recorder::compileHistories() /// @param vertices the Vertex list to search from. void Xml911Recorder::saveSimData() { + /* auto &conns = Simulator::getInstance().getModel().getConnections(); Connections911 &conns911 = dynamic_cast(conns); All911Vertices &all911Vertices = dynamic_cast( @@ -104,6 +105,7 @@ void Xml911Recorder::saveSimData() resultOut_ << " " << g_simulationStep * Simulator::getInstance().getDeltaT() << endl; resultOut_ << "" << endl; resultOut_ << "" << endl; + */ } /// Prints out all parameters to logging file. diff --git a/Simulator/Recorders/RecordableBase.h b/Simulator/Recorders/RecordableBase.h index 74da8a807..be401f36f 100644 --- a/Simulator/Recorders/RecordableBase.h +++ b/Simulator/Recorders/RecordableBase.h @@ -25,7 +25,7 @@ using namespace std; /// A list of pre-defined basic data types for variablse in all the simulations /// These pre-defined types should match with the types of variant in Recorder -using variantTypes = variant; +using variantTypes = variant; class RecordableBase { public: @@ -40,6 +40,8 @@ class RecordableBase { virtual variantTypes getElement(int index) const = 0; /// Start a new epoch for the recordable variable. + /// Makes the variable look empty from recorder point of view + /// Depends on subclass implementation /// Called at the beginning of each simulation epoch to prepare for recording new events. virtual void startNewEpoch() = 0; diff --git a/Simulator/Recorders/RecordableVector.h b/Simulator/Recorders/RecordableVector.h index 6ca83cd6b..2e4b346a8 100644 --- a/Simulator/Recorders/RecordableVector.h +++ b/Simulator/Recorders/RecordableVector.h @@ -65,6 +65,12 @@ template class RecordableVector : public RecordableBase { dataSeries_.resize(maxEvents); } + /// Assigns the given value to the vector for the specified size. + virtual void assign(size_t size, const T& value) + { + dataSeries_.assign(size, value); + } + /// Overload the operator to set the value at a specific index T &operator[](int index) { @@ -75,6 +81,12 @@ template class RecordableVector : public RecordableBase { } } + /// Add a new value to recordable vector + void push_back(const T &value) + { + dataSeries_.push_back(value); + } + /// Method to retrieve the underlying std::vector const std::vector &getVector() const { diff --git a/Simulator/Recorders/Recorder.h b/Simulator/Recorders/Recorder.h index 7a42e2c71..e01c8fe55 100644 --- a/Simulator/Recorders/Recorder.h +++ b/Simulator/Recorders/Recorder.h @@ -19,7 +19,7 @@ using namespace std; /// a list of pre-defined basic data types in recorded variables -using multipleTypes = variant; +using multipleTypes = variant; //TODO: remove it after implemtating the Hdf5Recorder class AllVertices; diff --git a/Simulator/Recorders/XmlRecorder.cpp b/Simulator/Recorders/XmlRecorder.cpp index 30b0c5e24..f79f5f4be 100644 --- a/Simulator/Recorders/XmlRecorder.cpp +++ b/Simulator/Recorders/XmlRecorder.cpp @@ -62,8 +62,8 @@ void XmlRecorder::compileHistories() for (int rowIndex = 0; rowIndex < variableTable_.size(); rowIndex++) { if (variableTable_[rowIndex].variableType_ == UpdatedType::DYNAMIC) { variableTable_[rowIndex].captureData(); + variableTable_[rowIndex].variableLocation_.startNewEpoch(); } - variableTable_[rowIndex].variableLocation_.startNewEpoch(); } } @@ -117,6 +117,10 @@ string XmlRecorder::toXML(const string &name, vector &singleBuffe os << get(element) << " "; } else if (basicType == typeid(vertexType).name()) { os << static_cast(get(element)) << " "; + } else if (basicType == typeid(double).name()) { + os << get(element) << " "; + } else if (basicType == typeid(unsigned char).name()) { + os << get(element) << " "; } else { perror("Error recording Recordable object"); exit(EXIT_FAILURE); diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index 2159cb06e..b9e5760f6 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -134,6 +134,47 @@ void All911Vertices::loadEpochInputs(uint64_t currentStep, uint64_t endStep) } } +void All911Vertices::registerHistoryVariables() +{ + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + + // Registering the following variables to be recorded + recorder.registerVariable("numTrunkS", numTrunks_, Recorder::UpdatedType::CONSTANT); + recorder.registerVariable("numServers", numServers_, Recorder::UpdatedType::CONSTANT); + recorder.registerVariable("droppedCalls", droppedCalls_, Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("receivedCalls", receivedCalls_, Recorder::UpdatedType::CONSTANT); + + for (int i = 0; i < beginTimeHistory_.size(); i++) { + string varName = "BeginTimeHistory" + std::to_string(i); + recorder.registerVariable(varName, beginTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); + } + + for (int i = 0; i < answerTimeHistory_.size(); i++) { + string varName = "AnswerTimeHistory" + std::to_string(i); + recorder.registerVariable(varName, answerTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); + } + + for (int i = 0; i < endTimeHistory_.size(); i++) { + string varName = "EndTimeHistory" + std::to_string(i); + recorder.registerVariable(varName, endTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); + } + + for (int i = 0; i < wasAbandonedHistory_.size(); i++) { + string varName = "WasAbandonedHistory" + std::to_string(i); + recorder.registerVariable(varName, wasAbandonedHistory_[i], Recorder::UpdatedType::DYNAMIC); + } + + for (int i = 0; i < queueLengthHistory_.size(); i++) { + string varName = "QueueLengthHistory" + std::to_string(i); + recorder.registerVariable(varName, queueLengthHistory_[i], Recorder::UpdatedType::DYNAMIC); + } + + for (int i = 0; i < utilizationHistory_.size(); i++) { + string varName = "UtilizationHistory" + std::to_string(i); + recorder.registerVariable(varName, utilizationHistory_[i], Recorder::UpdatedType::DYNAMIC); + } +} + // Accessor for the waiting queue of a vertex CircularBuffer &All911Vertices::getQueue(int vIdx) { @@ -362,7 +403,9 @@ void All911Vertices::advancePSAP(BGSIZE vertexIdx, All911Edges &edges911, busyServers_[vertexIdx] = numServers_[vertexIdx] - availableServers.size(); // Update queueLength and utilization histories + queueLengthHistory_[vertexIdx].resize(g_simulationStep + 1); queueLengthHistory_[vertexIdx][g_simulationStep] = vertexQueues_[vertexIdx].size(); + utilizationHistory_[vertexIdx].resize(g_simulationStep + 1); utilizationHistory_[vertexIdx][g_simulationStep] = static_cast(busyServers_[vertexIdx]) / numServers_[vertexIdx]; } @@ -439,7 +482,9 @@ void All911Vertices::advanceRESP(BGSIZE vertexIdx, All911Edges &edges911, busyServers_[vertexIdx] = numServers_[vertexIdx] - availableUnits.size(); // Update queueLength and utilization histories + queueLengthHistory_[vertexIdx].resize(g_simulationStep + 1); queueLengthHistory_[vertexIdx][g_simulationStep] = vertexQueues_[vertexIdx].size(); + utilizationHistory_[vertexIdx].resize(g_simulationStep + 1); utilizationHistory_[vertexIdx][g_simulationStep] = static_cast(busyServers_[vertexIdx]) / numServers_[vertexIdx]; } diff --git a/Simulator/Vertices/NG911/All911Vertices.h b/Simulator/Vertices/NG911/All911Vertices.h index 1a537437a..0d85307ef 100644 --- a/Simulator/Vertices/NG911/All911Vertices.h +++ b/Simulator/Vertices/NG911/All911Vertices.h @@ -70,6 +70,7 @@ #include "Global.h" #include "InputEvent.h" #include "InputManager.h" +#include "RecordableVector.h" // Forward declaration to avoid circular reference class All911Edges; @@ -121,9 +122,7 @@ class All911Vertices : public AllVertices { virtual void loadEpochInputs(uint64_t currentStep, uint64_t endStep) override; /// unused virtual function placeholder - virtual void registerHistoryVariables() override - { - } + virtual void registerHistoryVariables() override; /// Accessor for the waiting queue of a vertex /// @@ -151,36 +150,36 @@ class All911Vertices : public AllVertices { private: /// The starting time for every call - vector> beginTimeHistory_; + vector> beginTimeHistory_; /// The answer time for every call - vector> answerTimeHistory_; + vector> answerTimeHistory_; /// The end time for every call - vector> endTimeHistory_; + vector> endTimeHistory_; /// True if the call was abandoned - vector> wasAbandonedHistory_; + vector> wasAbandonedHistory_; // changed to bool from unsigned char /// The length of the waiting queue at every time-step - vector> queueLengthHistory_; + vector> queueLengthHistory_; /// The portion of servers that are busy at every time-step - vector> utilizationHistory_; + vector> utilizationHistory_; /// These are the queues where calls will wait to be served vector> vertexQueues_; /// The number of calls that have been dropped (got a busy signal) - vector droppedCalls_; + RecordableVector droppedCalls_; /// The number of received calls - vector receivedCalls_; + RecordableVector receivedCalls_; /// Number of servers currently serving calls vector busyServers_; /// Number of servers. In a PSAP these are the call takers, in Responder nodes /// they are responder units - vector numServers_; + RecordableVector numServers_; /// Number of phone lines available. Only valid for PSAPs and Responders - vector numTrunks_; + RecordableVector numTrunks_; /// The probability that a caller will redial after receiving the busy signal BGFLOAT redialP_; diff --git a/Testing/RegressionTesting/configfiles/test-small-911.xml b/Testing/RegressionTesting/configfiles/test-small-911.xml index de08b7897..3c7e295bf 100644 --- a/Testing/RegressionTesting/configfiles/test-small-911.xml +++ b/Testing/RegressionTesting/configfiles/test-small-911.xml @@ -42,7 +42,7 @@ - + ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 1a39bab12..c8db638f0 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -170,7 +170,7 @@ TEST(XmlRecorderTest, CompileHistoriesTest) // Call the compileHistories method recorderTest_->compileHistories(); - vector> history + vector> history = recorderTest_->getHistory(0); // Verify the events compiled hisotry @@ -189,7 +189,7 @@ TEST(XmlRecorderTest, ToXML) unique_ptr recorderTest_(new XmlRecorder(outputFile)); // Add some dummy data to variableHistory_ - vector> variableHistory + vector> variableHistory = {uint64_t(15), uint64_t(20)}; // Test the toXML method @@ -246,7 +246,7 @@ TEST(XmlRecorderTest, SaveSimDataTest) outputBuffer << inputFile.rdbuf(); inputFile.close(); // checks for saving simulation data - vector> mock_history + vector> mock_history = {uint64_t(1), uint64_t(2), uint64_t(3)}; std::string expect_header = "\n"; std::string expect_end = "\n"; @@ -287,7 +287,7 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) inputFile.close(); // checks for saving simulation data - vector> mock_history + vector> mock_history = {vertexType::EXC, vertexType::INH}; std::string expect_header = "\n"; diff --git a/configfiles/test-king-county-911.xml b/configfiles/test-king-county-911.xml index ef152a3dc..411f610a7 100644 --- a/configfiles/test-king-county-911.xml +++ b/configfiles/test-king-county-911.xml @@ -44,7 +44,7 @@ - + Output/Results/test-king-county-911-out.xml diff --git a/configfiles/test-small-911.xml b/configfiles/test-small-911.xml index 24f8dc64e..e6f554bfb 100644 --- a/configfiles/test-small-911.xml +++ b/configfiles/test-small-911.xml @@ -42,7 +42,7 @@ - + Output/Results/test-small-911-out.xml From 2144380c70888d0c4f82f33f68c2b832f516ad13 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Mon, 24 Mar 2025 03:08:26 -0700 Subject: [PATCH 079/153] fixed clang-tidy issue --- Simulator/Connections/Connections.h | 2 +- Simulator/Connections/NG911/Connections911.cpp | 2 +- Simulator/Connections/NG911/Connections911.h | 2 +- Simulator/Connections/Neuro/ConnGrowth.h | 2 +- Simulator/Connections/Neuro/ConnStatic.h | 2 +- Simulator/Layouts/Layout.cpp | 2 +- Simulator/Layouts/Layout.h | 2 +- Simulator/Layouts/NG911/Layout911.cpp | 2 +- Simulator/Layouts/Neuro/LayoutNeuro.cpp | 2 +- Simulator/Recorders/Hdf5Recorder.cpp | 5 +++-- Simulator/Recorders/RecordableBase.h | 2 +- Simulator/Recorders/RecordableVector.h | 6 +++--- Simulator/Vertices/NG911/All911Vertices.cpp | 14 +++++++------- Simulator/Vertices/NG911/All911Vertices.h | 5 +++-- Testing/UnitTesting/XmlRecorderTests.cpp | 16 +++++++++------- 15 files changed, 35 insertions(+), 31 deletions(-) diff --git a/Simulator/Connections/Connections.h b/Simulator/Connections/Connections.h index 67e625a90..618254712 100644 --- a/Simulator/Connections/Connections.h +++ b/Simulator/Connections/Connections.h @@ -65,7 +65,7 @@ class Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const = 0; - /// Registers history variables for recording during simulation + /// Registers history variables for recording during simulation virtual void registerHistoryVariables() = 0; /// Update the connections status in every epoch. diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index 1c2372fc7..62ba6a771 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -370,7 +370,7 @@ string Connections911::ChangedEdge::toString() return os.str(); } -/// Registers variable to be recorded +/// Registers variable to be recorded void Connections911::registerHistoryVariables() { Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); diff --git a/Simulator/Connections/NG911/Connections911.h b/Simulator/Connections/NG911/Connections911.h index 4f24d076e..b1566570f 100644 --- a/Simulator/Connections/NG911/Connections911.h +++ b/Simulator/Connections/NG911/Connections911.h @@ -49,7 +49,7 @@ class Connections911 : public Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; - /// Registers history variables for recording during simulation + /// Registers history variables for recording during simulation virtual void registerHistoryVariables() override; private: diff --git a/Simulator/Connections/Neuro/ConnGrowth.h b/Simulator/Connections/Neuro/ConnGrowth.h index 29a67671a..2b3b3a601 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.h +++ b/Simulator/Connections/Neuro/ConnGrowth.h @@ -97,7 +97,7 @@ class ConnGrowth : public Connections { /// Registered to OperationManager as Operations::op::loadParameters virtual void loadParameters() override; - /// Registers history variables for recording during simulation + /// Registers history variables for recording during simulation virtual void registerHistoryVariables() override; /// Prints out all parameters to logging file. diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index c029afd60..67d0a8fb6 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -61,7 +61,7 @@ class ConnStatic : public Connections { /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; - /// Registers history variables for recording during simulation + /// Registers history variables for recording during simulation virtual void registerHistoryVariables() override; /// Get array of vertex weights diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index 18983e1e7..105221da0 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -117,7 +117,7 @@ void Layout::setup() // Finally take the square root to get the distances dist_ = sqrt(dist2_); - //Register variable: vertex locations + //Register variable: vertex locations Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); string baseName = "Location"; string xLocation = "x_" + baseName; diff --git a/Simulator/Layouts/Layout.h b/Simulator/Layouts/Layout.h index 7be191612..508955995 100644 --- a/Simulator/Layouts/Layout.h +++ b/Simulator/Layouts/Layout.h @@ -14,8 +14,8 @@ #pragma once #include "AllVertices.h" -#include "Utils/Global.h" #include "RecordableVector.h" +#include "Utils/Global.h" #include #include #include diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index 6c83b3c28..01d26da03 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -105,7 +105,7 @@ void Layout911::generateVertexTypeMap() // Register vertexTypes with recorder Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); - + LOG4CPLUS_DEBUG(fileLogger_, "\nVERTEX TYPE MAP" << endl << "\tTotal vertices: " << numVertices_ << endl diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index 64af9e859..c57daf5ac 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -67,7 +67,7 @@ void LayoutNeuro::generateVertexTypeMap() } } - // Register vertexTypeMap to be recorded + // Register vertexTypeMap to be recorded Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); diff --git a/Simulator/Recorders/Hdf5Recorder.cpp b/Simulator/Recorders/Hdf5Recorder.cpp index 57afdae72..9b2e3327a 100644 --- a/Simulator/Recorders/Hdf5Recorder.cpp +++ b/Simulator/Recorders/Hdf5Recorder.cpp @@ -225,7 +225,8 @@ void Hdf5Recorder::compileHistories() } else if (variableInfo.hdf5Datatype_ == PredType::NATIVE_UCHAR) { vector dataBuffer(variableInfo.variableLocation_.getNumElements()); for (size_t i = 0; i < variableInfo.variableLocation_.getNumElements(); ++i) { - dataBuffer[i] = get(variableInfo.variableLocation_.getElement(i)); + dataBuffer[i] + = get(variableInfo.variableLocation_.getElement(i)); } variableInfo.hdf5DataSet_.write(dataBuffer.data(), variableInfo.hdf5Datatype_, memSpace, fileSpace); @@ -237,7 +238,7 @@ void Hdf5Recorder::compileHistories() } } // Call startNewEpoch() to prepare for new data input - // Only done for dynamic variables since constant variables are only captured at end + // Only done for dynamic variables since constant variables are only captured at end variableInfo.variableLocation_.startNewEpoch(); } } diff --git a/Simulator/Recorders/RecordableBase.h b/Simulator/Recorders/RecordableBase.h index be401f36f..e68b2ddb8 100644 --- a/Simulator/Recorders/RecordableBase.h +++ b/Simulator/Recorders/RecordableBase.h @@ -41,7 +41,7 @@ class RecordableBase { /// Start a new epoch for the recordable variable. /// Makes the variable look empty from recorder point of view - /// Depends on subclass implementation + /// Depends on subclass implementation /// Called at the beginning of each simulation epoch to prepare for recording new events. virtual void startNewEpoch() = 0; diff --git a/Simulator/Recorders/RecordableVector.h b/Simulator/Recorders/RecordableVector.h index 2e4b346a8..5f5cf1e4f 100644 --- a/Simulator/Recorders/RecordableVector.h +++ b/Simulator/Recorders/RecordableVector.h @@ -65,8 +65,8 @@ template class RecordableVector : public RecordableBase { dataSeries_.resize(maxEvents); } - /// Assigns the given value to the vector for the specified size. - virtual void assign(size_t size, const T& value) + /// Assigns the given value to the vector for the specified size. + virtual void assign(size_t size, const T &value) { dataSeries_.assign(size, value); } @@ -81,7 +81,7 @@ template class RecordableVector : public RecordableBase { } } - /// Add a new value to recordable vector + /// Add a new value to recordable vector void push_back(const T &value) { dataSeries_.push_back(value); diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index b9e5760f6..8d117dd9d 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -145,32 +145,32 @@ void All911Vertices::registerHistoryVariables() recorder.registerVariable("receivedCalls", receivedCalls_, Recorder::UpdatedType::CONSTANT); for (int i = 0; i < beginTimeHistory_.size(); i++) { - string varName = "BeginTimeHistory" + std::to_string(i); + string varName = "BeginTimeHistory_" + std::to_string(i); recorder.registerVariable(varName, beginTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); } for (int i = 0; i < answerTimeHistory_.size(); i++) { - string varName = "AnswerTimeHistory" + std::to_string(i); + string varName = "AnswerTimeHistory_" + std::to_string(i); recorder.registerVariable(varName, answerTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); } for (int i = 0; i < endTimeHistory_.size(); i++) { - string varName = "EndTimeHistory" + std::to_string(i); + string varName = "EndTimeHistory_" + std::to_string(i); recorder.registerVariable(varName, endTimeHistory_[i], Recorder::UpdatedType::DYNAMIC); } for (int i = 0; i < wasAbandonedHistory_.size(); i++) { - string varName = "WasAbandonedHistory" + std::to_string(i); + string varName = "WasAbandonedHistory_" + std::to_string(i); recorder.registerVariable(varName, wasAbandonedHistory_[i], Recorder::UpdatedType::DYNAMIC); } for (int i = 0; i < queueLengthHistory_.size(); i++) { - string varName = "QueueLengthHistory" + std::to_string(i); + string varName = "QueueLengthHistory_" + std::to_string(i); recorder.registerVariable(varName, queueLengthHistory_[i], Recorder::UpdatedType::DYNAMIC); } - + for (int i = 0; i < utilizationHistory_.size(); i++) { - string varName = "UtilizationHistory" + std::to_string(i); + string varName = "UtilizationHistory_" + std::to_string(i); recorder.registerVariable(varName, utilizationHistory_[i], Recorder::UpdatedType::DYNAMIC); } } diff --git a/Simulator/Vertices/NG911/All911Vertices.h b/Simulator/Vertices/NG911/All911Vertices.h index 0d85307ef..cbba4c3e5 100644 --- a/Simulator/Vertices/NG911/All911Vertices.h +++ b/Simulator/Vertices/NG911/All911Vertices.h @@ -156,11 +156,12 @@ class All911Vertices : public AllVertices { /// The end time for every call vector> endTimeHistory_; /// True if the call was abandoned - vector> wasAbandonedHistory_; // changed to bool from unsigned char + vector> + wasAbandonedHistory_; // changed to bool from unsigned char /// The length of the waiting queue at every time-step vector> queueLengthHistory_; /// The portion of servers that are busy at every time-step - vector> utilizationHistory_; + vector> utilizationHistory_; /// These are the queues where calls will wait to be served vector> vertexQueues_; diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index c8db638f0..0a7b917de 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -189,8 +189,8 @@ TEST(XmlRecorderTest, ToXML) unique_ptr recorderTest_(new XmlRecorder(outputFile)); // Add some dummy data to variableHistory_ - vector> variableHistory - = {uint64_t(15), uint64_t(20)}; + vector> + variableHistory = {uint64_t(15), uint64_t(20)}; // Test the toXML method std::string xmlOutput @@ -199,7 +199,9 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; os << " "; @@ -246,8 +248,8 @@ TEST(XmlRecorderTest, SaveSimDataTest) outputBuffer << inputFile.rdbuf(); inputFile.close(); // checks for saving simulation data - vector> mock_history - = {uint64_t(1), uint64_t(2), uint64_t(3)}; + vector> + mock_history = {uint64_t(1), uint64_t(2), uint64_t(3)}; std::string expect_header = "\n"; std::string expect_end = "\n"; std::string expectXML @@ -287,8 +289,8 @@ TEST(XmlRecorderTest, SaveSimDataVertexTypeTest) inputFile.close(); // checks for saving simulation data - vector> mock_history - = {vertexType::EXC, vertexType::INH}; + vector> + mock_history = {vertexType::EXC, vertexType::INH}; std::string expect_header = "\n"; std::string expect_end = "\n"; From 9b15b769b8bcfeed18f5062685c6d1d2d6ffa171 Mon Sep 17 00:00:00 2001 From: Zaina Shaikh Date: Mon, 24 Mar 2025 04:15:24 -0700 Subject: [PATCH 080/153] Clang-tidy issues --- Simulator/Connections/Neuro/ConnStatic.cpp | 8 +++++--- .../Cpu/test-medium-connected-long-out.xml | 9 +++++++++ .../Cpu/test-medium-connected-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-medium-long-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-medium-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-small-911-out.xml | Bin 96616 -> 135407 bytes .../Cpu/test-small-connected-long-out.xml | 9 +++++++++ .../Cpu/test-small-connected-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-small-long-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-small-out.xml | 9 +++++++++ .../GoodOutput/Cpu/test-tiny-out.xml | 9 +++++++++ Testing/UnitTesting/XmlRecorderTests.cpp | 4 +--- 12 files changed, 87 insertions(+), 6 deletions(-) diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 1bbc1dcf1..1e859b100 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -93,9 +93,11 @@ void ConnStatic::printParameters() const void ConnStatic::registerHistoryVariables() { // Register the following variables to be recorded - // Note: There may be potential duplicate weight, source, destination vertices + // Note: There may be potential duplicate weight, source, destination vertices Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); recorder.registerVariable("weight", WCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); - recorder.registerVariable("sourceVertex", sourceVertexIndexCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); - recorder.registerVariable("destinationVertex", destVertexIndexCurrentEpoch_, Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("sourceVertex", sourceVertexIndexCurrentEpoch_, + Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("destinationVertex", destVertexIndexCurrentEpoch_, + Recorder::UpdatedType::DYNAMIC); } \ No newline at end of file diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml index ff2daccb5..553bd0cb9 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 2002223 2004227 2019311 2022754 2026812 2028570 2030668 2032652 2036100 2039634 2086420 2091427 2102445 2111300 2114173 2116576 2125063 2130649 2132232 2157874 2163101 2164384 2169902 2176932 2207705 2209838 2218452 2224126 2229759 2235192 2248698 2251246 2275746 2287022 2288609 2292106 2294552 2301419 2304013 2326812 2330477 2342673 2343971 2351422 2363077 2367325 2369149 2379804 2383466 2386826 2391193 2393277 2395925 2403706 2410288 2436428 2443289 2445435 2463336 2468220 2476589 2477736 2482935 2498514 2507732 2534048 2549987 2572673 2583118 2593617 2596047 2597863 2602430 2627523 2640904 2641761 2643412 2646557 2653713 2673169 2677672 2682586 2705252 2714887 2715791 2730585 2747178 2763604 2769960 2779129 2797323 2822920 2841776 2849646 2861241 2864664 2869627 2886871 2898710 2919104 2921840 2944558 2959905 2973642 2975811 2979869 2981501 3001911 3022020 3026059 3027975 3042180 3064694 3067411 3068223 3070548 3076273 3078780 3081683 3082807 3089374 3118451 3139021 3141814 3144494 3148374 3165492 3167002 3171643 3182419 3184621 3201959 3205472 3216447 3221351 3255484 3257559 3266267 3282426 3287205 3293589 3319530 3320299 3322473 3324154 3332397 3342781 3346738 3353054 3385168 3386268 3391839 3394227 3398736 3401057 3402719 3410331 3411688 3414550 3416063 3437372 3452576 3458178 3468004 3469582 3477682 3499340 3516844 3522531 3527284 3531277 3536736 3546054 3559946 3585253 3595795 3604884 3636968 3650374 3653900 3667994 3675976 3679485 3703627 3714901 3717794 3736259 3747888 3750765 3752755 3800803 3814843 3817040 3835181 3848818 3862862 3867295 3882450 3892046 3926973 3928868 3934655 3938760 3953296 3955321 3980746 3984955 3998622 4012217 4022988 4038004 4046648 4048706 4052026 4058984 4071042 4073174 4078310 4079690 4095604 4099200 4106959 4120950 4125996 4133930 4135477 4157797 4161770 4164983 4177487 4189080 4192870 4194946 4205316 4224019 4237389 4246007 4250069 4252434 4283563 4290920 4293610 4296006 4330305 4339228 4345533 4352199 4367215 4369143 4373501 4388180 4399374 4425180 4460722 4465991 4473722 4487844 4496866 4503431 4517228 4537075 4549400 4572905 4585477 4590382 4595873 4609403 4649484 4656282 4664561 4682989 4694147 4712521 4714106 4718162 4720320 4730110 4737575 4741463 4753312 4756848 4758720 4777715 4779166 4782222 4787749 4803558 4807378 4823094 4832211 4863370 4869490 4884210 4907863 4911063 4913962 4931887 4943564 4945048 4947740 4978601 4982545 4987653 4993477 5018134 5036695 5048526 5051475 5071735 5080429 5082283 5084804 5097742 5104443 5113579 5115506 5123320 5126765 5155997 5157606 5185177 5186630 5194292 5207420 5212165 5230099 5247261 5272724 5278387 5286746 5288165 5289471 5323850 5325732 5328540 5331199 5339888 5345112 5362112 5371507 5374262 5387869 5401835 5403030 5407889 5409317 5411057 5415620 5418282 5429663 5439205 5442301 5457695 5477038 5497682 5500266 5504671 5520972 5535133 5536998 5539344 5544351 5561160 5563942 5567082 5573693 5578032 5600470 5623903 5626227 5637476 5684161 5691597 5695527 5714130 5719222 5720291 5734594 5743862 5752530 5781644 5783985 5789353 5797598 5806168 5813723 5816380 5830035 5844079 5846194 5847424 5871253 5890748 5900809 5903231 5912991 5929499 5936471 5938970 5943051 5963351 5964454 5970806 5980858 5991187 5997283 5998876 6000991 6030945 6035605 6045775 6056156 6059673 6077509 6085415 6098951 6102966 6109147 6133068 6146030 6163334 6194220 6209277 6227674 6229298 6231198 6233303 6242818 6249145 6252558 6277972 6294973 6302553 6309466 6328585 6339064 6353021 6356081 6367600 6375559 6386526 6395318 6397466 6401421 6404601 6411046 6416795 6422756 6424722 6438838 6450406 6465901 6472145 6493294 6495921 6509151 6511458 6514433 6524135 6528924 6564072 6566402 6581711 6584683 6596454 6609128 6622222 6635902 6639636 6658548 6680698 6687816 6705612 6717955 6720013 6729304 6734270 6763262 6773406 6786374 6791876 6803130 6813277 6815138 6822945 6831833 6835761 6851118 6856883 6864365 6866607 6874292 6882445 6884739 6906981 6918512 6931938 6936552 6943282 6949402 6956907 6958197 6963653 6970007 6996265 6997405 7019274 7023005 7035452 7037543 7057756 7067648 7070792 7074708 7090984 7096827 7098441 7100556 7104128 7146374 7150855 7160275 7177301 7197615 7211786 7215430 7223675 7225401 7267985 7269407 7271843 7281169 7294787 7309778 7319371 7327064 7337332 7341854 7351746 7354370 7362578 7389921 7400065 7410856 7424287 7425902 7439315 7442264 7444087 7448943 7455322 7483859 7486949 7491426 7522651 7527203 7550966 7557036 7560525 7576696 7579022 7583166 7584617 7610588 7623754 7659414 7692307 7700248 7709563 7715810 7722299 7724227 7736656 7744635 7759525 7767524 7783255 7786315 7793315 7825061 7835805 7839965 7841847 7846983 7857701 7867607 7878370 7880163 7883412 7892212 7908548 7916800 7924697 7981363 8002704 8007733 8015614 8029898 8031097 8034478 8044927 8057211 8066214 8082078 8085346 8088160 8097771 8107627 8112320 8118276 8129543 8138209 8145005 8161297 8176922 8181422 8185990 8212783 8232426 8236038 8249209 8260364 8261510 8293483 8309396 8315398 8316508 8318225 8325460 8334456 8352945 8355941 8359917 8361439 8374468 8376326 8393088 8404820 8411569 8432744 8440930 8444251 8464867 8470491 8472003 8477191 8479905 8494072 8498811 8499617 8501566 8504611 8506069 8508237 8524378 8527995 8530311 8535943 8540593 8549920 8554056 8556300 8577580 8579150 8581371 8594072 8609189 8631845 8633861 8647046 8656232 8664677 8674280 8705750 8710148 8715228 8719114 8731100 8741685 8759655 8766461 8782680 8788599 8803516 8822786 8834907 8836052 8838478 8841589 8846936 8857333 8858559 8882014 8888576 8898113 8909836 8910908 8913364 8947126 8970147 8984987 8988975 8999530 9001527 9004106 9043605 9060566 9063629 9075841 9107422 9123133 9142994 9145717 9155072 9179993 9180695 9192657 9193723 9214433 9248527 9264539 9290184 9301956 9312742 9316617 9324782 9372114 9384078 9394757 9418807 9431500 9433672 9449014 9450594 9453964 9463970 9473126 9493420 9503779 9515254 9588199 9591827 9593989 9601242 9610092 9611637 9613407 9615070 9628141 9632901 9651256 9657422 9660401 9666971 9674081 9681030 9696753 9700691 9707067 9709710 9711312 9740848 9750775 9754414 9766077 9792037 9802184 9807288 9815795 9822583 9836843 9854512 9859566 9860868 9867516 9873677 9887138 9900500 9906402 9911350 9915986 9933702 9935664 9939305 9951966 9957349 9960883 9974816 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml index 1cacf11bf..8d66bea01 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml index ff2daccb5..553bd0cb9 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 2002223 2004227 2019311 2022754 2026812 2028570 2030668 2032652 2036100 2039634 2086420 2091427 2102445 2111300 2114173 2116576 2125063 2130649 2132232 2157874 2163101 2164384 2169902 2176932 2207705 2209838 2218452 2224126 2229759 2235192 2248698 2251246 2275746 2287022 2288609 2292106 2294552 2301419 2304013 2326812 2330477 2342673 2343971 2351422 2363077 2367325 2369149 2379804 2383466 2386826 2391193 2393277 2395925 2403706 2410288 2436428 2443289 2445435 2463336 2468220 2476589 2477736 2482935 2498514 2507732 2534048 2549987 2572673 2583118 2593617 2596047 2597863 2602430 2627523 2640904 2641761 2643412 2646557 2653713 2673169 2677672 2682586 2705252 2714887 2715791 2730585 2747178 2763604 2769960 2779129 2797323 2822920 2841776 2849646 2861241 2864664 2869627 2886871 2898710 2919104 2921840 2944558 2959905 2973642 2975811 2979869 2981501 3001911 3022020 3026059 3027975 3042180 3064694 3067411 3068223 3070548 3076273 3078780 3081683 3082807 3089374 3118451 3139021 3141814 3144494 3148374 3165492 3167002 3171643 3182419 3184621 3201959 3205472 3216447 3221351 3255484 3257559 3266267 3282426 3287205 3293589 3319530 3320299 3322473 3324154 3332397 3342781 3346738 3353054 3385168 3386268 3391839 3394227 3398736 3401057 3402719 3410331 3411688 3414550 3416063 3437372 3452576 3458178 3468004 3469582 3477682 3499340 3516844 3522531 3527284 3531277 3536736 3546054 3559946 3585253 3595795 3604884 3636968 3650374 3653900 3667994 3675976 3679485 3703627 3714901 3717794 3736259 3747888 3750765 3752755 3800803 3814843 3817040 3835181 3848818 3862862 3867295 3882450 3892046 3926973 3928868 3934655 3938760 3953296 3955321 3980746 3984955 3998622 4012217 4022988 4038004 4046648 4048706 4052026 4058984 4071042 4073174 4078310 4079690 4095604 4099200 4106959 4120950 4125996 4133930 4135477 4157797 4161770 4164983 4177487 4189080 4192870 4194946 4205316 4224019 4237389 4246007 4250069 4252434 4283563 4290920 4293610 4296006 4330305 4339228 4345533 4352199 4367215 4369143 4373501 4388180 4399374 4425180 4460722 4465991 4473722 4487844 4496866 4503431 4517228 4537075 4549400 4572905 4585477 4590382 4595873 4609403 4649484 4656282 4664561 4682989 4694147 4712521 4714106 4718162 4720320 4730110 4737575 4741463 4753312 4756848 4758720 4777715 4779166 4782222 4787749 4803558 4807378 4823094 4832211 4863370 4869490 4884210 4907863 4911063 4913962 4931887 4943564 4945048 4947740 4978601 4982545 4987653 4993477 5018134 5036695 5048526 5051475 5071735 5080429 5082283 5084804 5097742 5104443 5113579 5115506 5123320 5126765 5155997 5157606 5185177 5186630 5194292 5207420 5212165 5230099 5247261 5272724 5278387 5286746 5288165 5289471 5323850 5325732 5328540 5331199 5339888 5345112 5362112 5371507 5374262 5387869 5401835 5403030 5407889 5409317 5411057 5415620 5418282 5429663 5439205 5442301 5457695 5477038 5497682 5500266 5504671 5520972 5535133 5536998 5539344 5544351 5561160 5563942 5567082 5573693 5578032 5600470 5623903 5626227 5637476 5684161 5691597 5695527 5714130 5719222 5720291 5734594 5743862 5752530 5781644 5783985 5789353 5797598 5806168 5813723 5816380 5830035 5844079 5846194 5847424 5871253 5890748 5900809 5903231 5912991 5929499 5936471 5938970 5943051 5963351 5964454 5970806 5980858 5991187 5997283 5998876 6000991 6030945 6035605 6045775 6056156 6059673 6077509 6085415 6098951 6102966 6109147 6133068 6146030 6163334 6194220 6209277 6227674 6229298 6231198 6233303 6242818 6249145 6252558 6277972 6294973 6302553 6309466 6328585 6339064 6353021 6356081 6367600 6375559 6386526 6395318 6397466 6401421 6404601 6411046 6416795 6422756 6424722 6438838 6450406 6465901 6472145 6493294 6495921 6509151 6511458 6514433 6524135 6528924 6564072 6566402 6581711 6584683 6596454 6609128 6622222 6635902 6639636 6658548 6680698 6687816 6705612 6717955 6720013 6729304 6734270 6763262 6773406 6786374 6791876 6803130 6813277 6815138 6822945 6831833 6835761 6851118 6856883 6864365 6866607 6874292 6882445 6884739 6906981 6918512 6931938 6936552 6943282 6949402 6956907 6958197 6963653 6970007 6996265 6997405 7019274 7023005 7035452 7037543 7057756 7067648 7070792 7074708 7090984 7096827 7098441 7100556 7104128 7146374 7150855 7160275 7177301 7197615 7211786 7215430 7223675 7225401 7267985 7269407 7271843 7281169 7294787 7309778 7319371 7327064 7337332 7341854 7351746 7354370 7362578 7389921 7400065 7410856 7424287 7425902 7439315 7442264 7444087 7448943 7455322 7483859 7486949 7491426 7522651 7527203 7550966 7557036 7560525 7576696 7579022 7583166 7584617 7610588 7623754 7659414 7692307 7700248 7709563 7715810 7722299 7724227 7736656 7744635 7759525 7767524 7783255 7786315 7793315 7825061 7835805 7839965 7841847 7846983 7857701 7867607 7878370 7880163 7883412 7892212 7908548 7916800 7924697 7981363 8002704 8007733 8015614 8029898 8031097 8034478 8044927 8057211 8066214 8082078 8085346 8088160 8097771 8107627 8112320 8118276 8129543 8138209 8145005 8161297 8176922 8181422 8185990 8212783 8232426 8236038 8249209 8260364 8261510 8293483 8309396 8315398 8316508 8318225 8325460 8334456 8352945 8355941 8359917 8361439 8374468 8376326 8393088 8404820 8411569 8432744 8440930 8444251 8464867 8470491 8472003 8477191 8479905 8494072 8498811 8499617 8501566 8504611 8506069 8508237 8524378 8527995 8530311 8535943 8540593 8549920 8554056 8556300 8577580 8579150 8581371 8594072 8609189 8631845 8633861 8647046 8656232 8664677 8674280 8705750 8710148 8715228 8719114 8731100 8741685 8759655 8766461 8782680 8788599 8803516 8822786 8834907 8836052 8838478 8841589 8846936 8857333 8858559 8882014 8888576 8898113 8909836 8910908 8913364 8947126 8970147 8984987 8988975 8999530 9001527 9004106 9043605 9060566 9063629 9075841 9107422 9123133 9142994 9145717 9155072 9179993 9180695 9192657 9193723 9214433 9248527 9264539 9290184 9301956 9312742 9316617 9324782 9372114 9384078 9394757 9418807 9431500 9433672 9449014 9450594 9453964 9463970 9473126 9493420 9503779 9515254 9588199 9591827 9593989 9601242 9610092 9611637 9613407 9615070 9628141 9632901 9651256 9657422 9660401 9666971 9674081 9681030 9696753 9700691 9707067 9709710 9711312 9740848 9750775 9754414 9766077 9792037 9802184 9807288 9815795 9822583 9836843 9854512 9859566 9860868 9867516 9873677 9887138 9900500 9906402 9911350 9915986 9933702 9935664 9939305 9951966 9957349 9960883 9974816 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml index 1cacf11bf..8d66bea01 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml index c00d4435ed81ad4d611e549ad08b3c9c5a8c4292..52729ab0c6ad978d96eb2fb02aef23e389991293 100644 GIT binary patch literal 135407 zcmeI*TW{Mo6u|NBwV#6U`#h1l15Jx=7|@6IVQ7mz7G5HB#(aY>ZL&|lLpx40Ia0*X zjxG6LH@?WON&d)lL{YBu>dp0dq`npN#c(>g=;?mYQ;X$bay1xDC&fi?GVQ&2{qog^ z!E!#lR+GV4wq1XDKfN3*%#TZajG{@+kakD zVdwgcmsD*oiAq#hEj3wvZa3x7H|KOg&kSe zx!TX+-V61UdePwGR3)#hV{7A7npfJ{wB4yZubku9Hm|hfSe94jaqcy*%;VTHuiWEU zmRI)q5s6MC(ktuK_S_$|-PvcGt51Q0*~0R#|0009ILKmY**5I_I{1Q2MK zfXf#GEE~n$!s8|*~HJ^T8T=e9ZbzM$JtMNqc^EueN_3f=O zw+JAB00IagfB*srAbtgj+~00IagfB*srAbyuzRHym!}H+@Z7$`k1gkXuRQe5;qh){b!PGv`GO6@vE74}u;-E{5VFzx8JGFhn?Pw`>( z0@&lvtdIO2e;Kc+7pOUa_8u|i5&2w?I~w3L>;8F0G|;dKg>mo%0~W8G1YACtA-|88 zU)1ZQ+mQp|!?w9^Y_8)61IECqjDaQ*e=2pQ9?j#XNx$+M1Q0*~0R#|0009ILKmY** z5I9o-m-7UM^8{x)N;uzvK#f2@T>p{fO73(Hfs}^;0tg_000IagfWWy6aGVo%?l^}& zrBChh1p^xdma&KeqM&0@kk~(|3~cUzz)0wP6m%?o(H!O^%t`hX1?Rqi)v@-we2OXL zQ%oJ}{hCjvu*+bVv8P=I>%%OK+Mz^Bd3JT;Q0kO;c`0X8lJ!RDG>n#5I_I{1Q0*~0R#|0009I}S%7t$ z(^MnSXb z$-ZCJMk(q{jw8nr1;>hledl1_4*>)aKmdU@2`~dW)(ixB~v00IagfB*srAb!(1^OnIU-egY)$O*^Is_0v009K*1uA!tJW(@y00*3^nI&U`vBB7= zKJxO8kNO=N&mw>T0#6WdIW?1UYUT;TtvW%{H+CY!4+bYN1|q3L`G>Jdd@=?Y17|!2 zx;_V?eFz|c00IagfWRRHIKKBgzCT2toYs4u^9VVuo;cOoobw2w?SAEx^}8bnj~+=u`Ui&|mM(7-Nhv#&)CNyk`@%9svXpKmY** m5I_KdwhQde@!7($FUP(_0Z~8{I7LC*cZJk{uLAcz81NqjnpKtn literal 96616 zcmeI5+i&7X7Kh*SSJd(z;_@AdWYoLU(mYH{D<#rCv%%A2E!eCv>16);Ib{;;5aLvK zXkzf!G~ip^zVkb$E_RafFZc7Ax=V^>nrD{-J#+?YSx&O)WR_>iwtJM-17Oc%2>Db_Wt zvOCwVJM`R3?I1=TB3>sP2k<+bu^)*xS&A5n#DHNPoV+5eV<%ASGJ&a?lG147d%^>y=0 zUe`%s{AHb)0pe|5>%BKKnHKqCkxc(Jnav)vF?M|UdZR8ya+{=g&+-vLxKbPQ>B^^; z+POv|?Tz|p@-@wF(s}Y*x-9eJVcj&7W^Fx{PA><}=BW5lWb~^%U-?p894qZP$`?oT z9j!c94v!oa_*#t|M~y;9g^^T78}8Z(LYkNJ&RxF)t2mYB}0u5eN(IiLrOJt;NeeWy^0#@g0hcMdW_0 zi~_|Qq69DF7slm{Pgd?_ zym=j<){Z7os`8u4<#Z_0wrFM@B>jspmw6sd3|U7!<+4P9S)n$WfCWNKMPCh`Olu6C8& zBFq0wmY@DBgLN6IPwo0{sojo&#_pkq2@qC&vPr(H=35b_mfE^JizKzgtV*Z_W_5Wj zFUuCx%CgG8mX+1zwWex&STL$(^ja%g6!ia9vPynWvajWzwgRdv*Oe^^S-dI&U9kxD zfB*y_009V`CIPz<$7!~mRzUy)5HJKRCaCqg6v!X|0SG_<0uX=z1Rwwb2tc5p1S}?x z+c%B-35r%j00Izz00bZa0SG_<0ubmk0gK6F^YP(6qoVB)fB*y_009U<00Izz00jC= zz+&>){9)4mf}-URfB*y_009U<00Izz00jC>z+&?F{8tP085V7a00bZa0SG_<0uX=z z1R&5?0v40U=C7IUD<;|v0SG_<0uX=z1Rwwb2tc6U1S}?x%|ANQZ&E~s zfB*y_009U<00Izz00eeT9>*77CS{S{S98YkdRt|ad2%^emFX<~Yf`3p_FK9v^WtGM zvmDk`zfv#x4Cc<{5uGGWcZ*1(!H4uOR1Rwwb2tc6M1S}RfToyQbEs@?V z)b!WNL$CTL^DH(_4nlurP0JwwfhGasyLWQ&9h+iPGi*cHKw$We7vKda<^`eo7m2Xh z00K%lc`rDz@I`YNlQ1UPlNU4>bJ#w50v5MlJ#N1qrS;9|Tja4t z9$Ul<@PgCwf{z*UFx+7Y!T1sJ6bPpkPl;?eHIWT3_+Bsgm~j}TLI45~fWQ$Eu(-n) za)A`1Rwwb2-px{>ixY_@9q<`u{+m500IzzKxYV8Ow=PL>YXtc({Knt z00Iy=IDw%X$fH1fzyKZK28044;gLr|CN&U%00j0270W4;~7m*)2j_ cO*$9qZ(HHDvUL2cu<^xpI=?O_WpZ`)H-c!&bN~PV diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml index d4ad70d32..0dce25992 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 2006399 2007352 2012537 2032502 2041701 2054106 2059971 2062418 2069168 2074687 2086245 2095184 2102125 2145865 2151791 2158941 2164839 2192554 2194744 2201882 2205813 2215723 2239819 2263722 2266209 2274891 2277185 2289902 2294071 2315220 2317667 2321246 2327797 2329886 2341678 2343069 2346160 2362705 2382747 2399971 2402464 2407154 2422905 2432144 2437531 2459666 2463520 2471993 2476732 2484943 2493220 2533621 2544571 2560911 2568082 2589691 2592888 2597723 2609601 2625210 2634283 2642005 2644048 2656297 2658364 2680574 2684370 2702625 2705431 2709916 2712729 2727302 2736637 2747659 2758565 2777603 2799048 2826967 2834509 2849488 2859920 2872446 2912920 2929213 2939680 2943673 2945874 2950543 2957079 2960040 2964687 2972957 2976235 2980990 2984062 3015087 3024203 3039355 3046537 3058995 3078187 3097224 3103066 3107029 3111498 3113311 3118070 3127024 3128959 3130666 3141465 3153492 3155503 3160385 3179196 3191685 3198554 3201886 3207529 3216496 3224243 3229498 3237842 3252681 3254862 3266142 3288443 3291877 3309365 3314324 3320175 3321779 3329861 3336485 3354226 3359246 3365913 3377298 3385186 3387391 3395580 3404077 3408420 3410892 3417728 3418686 3438402 3447163 3456287 3465286 3482699 3484030 3487748 3491028 3498181 3514162 3524990 3529557 3555119 3569089 3572399 3583947 3586553 3591179 3594748 3605715 3627086 3628553 3635697 3664230 3668047 3670358 3671529 3680829 3693366 3702825 3707606 3709529 3721512 3725587 3733423 3756337 3767697 3779090 3790850 3794981 3814545 3837378 3840212 3842733 3848813 3850682 3853602 3859158 3872567 3881660 3885510 3896181 3907512 3909851 3929131 3969536 3981310 4013939 4018215 4028782 4032098 4035070 4048899 4051620 4057223 4059103 4063602 4065210 4087345 4091944 4113947 4119088 4127133 4130147 4147477 4148653 4150840 4165505 4167311 4186499 4188505 4233430 4245259 4299076 4305794 4311121 4321551 4340908 4348254 4350816 4362478 4368383 4382647 4387783 4389597 4401324 4419730 4423479 4426190 4434555 4446350 4481585 4483981 4493225 4502533 4504502 4506640 4522114 4523628 4528710 4535615 4543372 4575623 4583027 4585916 4595915 4598849 4611538 4630912 4646408 4657779 4663068 4684639 4692283 4699091 4702720 4705372 4710651 4716571 4719548 4722998 4770028 4772793 4773625 4779361 4799050 4813891 4815841 4830891 4833873 4840033 4853428 4861105 4871200 4879525 4901077 4904213 4911477 4917064 4920012 4934365 4945971 4948314 4951662 4956754 4967786 4978944 5003460 5004958 5016446 5022184 5030814 5038730 5061156 5068040 5071457 5072936 5078145 5081364 5089041 5097460 5103034 5112595 5118689 5121183 5143806 5160638 5165257 5182598 5185458 5189236 5193726 5196372 5207983 5209857 5212133 5237691 5288111 5297043 5299308 5317390 5320642 5327556 5346019 5364973 5368182 5390294 5393425 5411364 5413782 5425174 5436377 5438573 5440846 5458317 5464825 5467963 5469298 5479692 5491951 5500014 5503347 5524167 5536161 5545447 5547163 5551138 5562487 5569837 5571829 5576592 5577911 5590208 5592890 5594142 5607023 5613788 5617201 5619450 5626000 5628908 5647982 5674743 5687951 5723754 5738234 5768274 5786718 5809095 5822588 5873784 5894803 5897468 5906868 5908241 5909754 5911020 5912832 5930118 5935797 5939517 5964224 5971236 5974938 5979793 5994683 6003888 6006800 6014658 6018941 6020793 6023844 6036358 6049278 6056687 6061197 6067925 6075430 6083830 6108268 6114839 6127929 6129577 6131055 6135104 6140219 6145136 6174474 6186896 6200757 6210610 6231801 6240346 6267576 6305104 6311060 6315543 6318989 6321580 6328994 6334188 6337168 6339023 6344065 6369625 6384787 6394815 6400444 6405067 6425092 6427698 6435312 6439552 6449946 6459580 6473529 6479457 6480483 6487261 6490473 6496659 6499956 6506719 6517956 6522749 6533553 6536938 6588552 6612439 6618299 6628419 6629891 6633775 6644635 6669996 6675826 6681388 6712906 6716888 6731940 6744874 6758972 6775979 6779495 6781910 6784708 6805079 6829669 6846996 6853742 6857473 6860806 6866380 6905911 6909190 6910968 6939768 6951793 6961926 6962885 6973386 6975642 6979130 6982305 6985049 6987676 7016175 7018942 7020617 7047702 7050899 7067457 7073019 7078288 7093760 7102643 7105859 7108747 7124138 7152470 7164586 7170370 7173887 7180037 7187509 7198037 7198742 7203558 7210659 7214163 7219576 7222509 7227284 7230154 7233074 7249456 7252406 7265887 7267319 7276374 7289707 7299853 7308624 7327283 7353109 7365365 7378097 7383092 7392796 7397024 7401826 7410150 7414290 7416379 7428889 7443949 7458239 7480261 7486666 7494358 7517202 7520299 7526614 7533975 7535991 7544737 7548695 7563342 7565328 7574859 7575787 7580012 7595411 7608945 7613357 7616890 7631758 7638075 7675478 7682124 7710913 7717937 7720127 7723141 7724039 7727086 7728809 7772812 7781768 7807057 7809227 7814151 7815704 7839237 7844997 7848447 7850259 7870387 7886603 7895950 7905421 7919472 7929932 7935141 7939744 7949870 7971067 7983593 8024336 8030662 8038727 8040261 8048972 8065630 8071182 8077176 8102868 8114820 8131908 8135809 8137861 8139080 8155778 8172002 8176082 8197285 8201225 8212951 8214820 8225259 8238552 8243500 8250802 8267041 8279011 8318603 8322483 8323826 8326404 8345496 8393536 8403481 8414639 8426842 8442939 8445660 8448888 8451750 8459627 8476310 8483577 8484585 8493550 8524777 8530681 8537830 8549410 8553779 8566996 8581891 8596641 8605873 8608854 8615169 8626659 8644808 8665878 8676153 8693727 8696640 8698593 8702982 8724351 8725683 8736283 8750035 8752197 8763186 8765153 8774252 8781397 8793011 8803012 8806074 8813007 8816651 8833881 8840114 8857338 8868758 8882938 8886226 8904648 8908559 8924430 8926428 8946748 8952690 8967833 8970295 8978711 8986380 8999070 9001492 9007073 9023681 9026074 9027321 9031740 9048152 9068223 9071131 9092245 9093858 9102032 9110069 9121959 9126816 9134356 9147899 9151557 9154662 9163388 9172218 9174493 9175753 9192648 9203099 9207031 9246250 9275352 9292428 9308540 9310139 9326293 9337862 9343163 9349914 9351018 9356892 9369886 9374699 9378348 9387188 9401080 9402317 9407061 9411007 9421147 9477037 9493276 9515631 9517475 9524438 9527510 9563092 9570779 9584917 9600824 9616061 9619578 9625567 9632252 9648810 9654761 9664587 9667867 9683355 9696148 9703700 9704592 9706061 9708379 9709330 9710637 9731952 9742833 9758004 9767078 9801391 9810118 9812673 9816907 9827838 9833395 9856681 9865860 9880740 9890847 9895895 9900565 9910077 9914730 9916016 9917634 9932733 9936263 9955114 9957092 9960740 9969475 9991178 9995224 9998618 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml index badca6f68..5db605336 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml index d4ad70d32..0dce25992 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 2006399 2007352 2012537 2032502 2041701 2054106 2059971 2062418 2069168 2074687 2086245 2095184 2102125 2145865 2151791 2158941 2164839 2192554 2194744 2201882 2205813 2215723 2239819 2263722 2266209 2274891 2277185 2289902 2294071 2315220 2317667 2321246 2327797 2329886 2341678 2343069 2346160 2362705 2382747 2399971 2402464 2407154 2422905 2432144 2437531 2459666 2463520 2471993 2476732 2484943 2493220 2533621 2544571 2560911 2568082 2589691 2592888 2597723 2609601 2625210 2634283 2642005 2644048 2656297 2658364 2680574 2684370 2702625 2705431 2709916 2712729 2727302 2736637 2747659 2758565 2777603 2799048 2826967 2834509 2849488 2859920 2872446 2912920 2929213 2939680 2943673 2945874 2950543 2957079 2960040 2964687 2972957 2976235 2980990 2984062 3015087 3024203 3039355 3046537 3058995 3078187 3097224 3103066 3107029 3111498 3113311 3118070 3127024 3128959 3130666 3141465 3153492 3155503 3160385 3179196 3191685 3198554 3201886 3207529 3216496 3224243 3229498 3237842 3252681 3254862 3266142 3288443 3291877 3309365 3314324 3320175 3321779 3329861 3336485 3354226 3359246 3365913 3377298 3385186 3387391 3395580 3404077 3408420 3410892 3417728 3418686 3438402 3447163 3456287 3465286 3482699 3484030 3487748 3491028 3498181 3514162 3524990 3529557 3555119 3569089 3572399 3583947 3586553 3591179 3594748 3605715 3627086 3628553 3635697 3664230 3668047 3670358 3671529 3680829 3693366 3702825 3707606 3709529 3721512 3725587 3733423 3756337 3767697 3779090 3790850 3794981 3814545 3837378 3840212 3842733 3848813 3850682 3853602 3859158 3872567 3881660 3885510 3896181 3907512 3909851 3929131 3969536 3981310 4013939 4018215 4028782 4032098 4035070 4048899 4051620 4057223 4059103 4063602 4065210 4087345 4091944 4113947 4119088 4127133 4130147 4147477 4148653 4150840 4165505 4167311 4186499 4188505 4233430 4245259 4299076 4305794 4311121 4321551 4340908 4348254 4350816 4362478 4368383 4382647 4387783 4389597 4401324 4419730 4423479 4426190 4434555 4446350 4481585 4483981 4493225 4502533 4504502 4506640 4522114 4523628 4528710 4535615 4543372 4575623 4583027 4585916 4595915 4598849 4611538 4630912 4646408 4657779 4663068 4684639 4692283 4699091 4702720 4705372 4710651 4716571 4719548 4722998 4770028 4772793 4773625 4779361 4799050 4813891 4815841 4830891 4833873 4840033 4853428 4861105 4871200 4879525 4901077 4904213 4911477 4917064 4920012 4934365 4945971 4948314 4951662 4956754 4967786 4978944 5003460 5004958 5016446 5022184 5030814 5038730 5061156 5068040 5071457 5072936 5078145 5081364 5089041 5097460 5103034 5112595 5118689 5121183 5143806 5160638 5165257 5182598 5185458 5189236 5193726 5196372 5207983 5209857 5212133 5237691 5288111 5297043 5299308 5317390 5320642 5327556 5346019 5364973 5368182 5390294 5393425 5411364 5413782 5425174 5436377 5438573 5440846 5458317 5464825 5467963 5469298 5479692 5491951 5500014 5503347 5524167 5536161 5545447 5547163 5551138 5562487 5569837 5571829 5576592 5577911 5590208 5592890 5594142 5607023 5613788 5617201 5619450 5626000 5628908 5647982 5674743 5687951 5723754 5738234 5768274 5786718 5809095 5822588 5873784 5894803 5897468 5906868 5908241 5909754 5911020 5912832 5930118 5935797 5939517 5964224 5971236 5974938 5979793 5994683 6003888 6006800 6014658 6018941 6020793 6023844 6036358 6049278 6056687 6061197 6067925 6075430 6083830 6108268 6114839 6127929 6129577 6131055 6135104 6140219 6145136 6174474 6186896 6200757 6210610 6231801 6240346 6267576 6305104 6311060 6315543 6318989 6321580 6328994 6334188 6337168 6339023 6344065 6369625 6384787 6394815 6400444 6405067 6425092 6427698 6435312 6439552 6449946 6459580 6473529 6479457 6480483 6487261 6490473 6496659 6499956 6506719 6517956 6522749 6533553 6536938 6588552 6612439 6618299 6628419 6629891 6633775 6644635 6669996 6675826 6681388 6712906 6716888 6731940 6744874 6758972 6775979 6779495 6781910 6784708 6805079 6829669 6846996 6853742 6857473 6860806 6866380 6905911 6909190 6910968 6939768 6951793 6961926 6962885 6973386 6975642 6979130 6982305 6985049 6987676 7016175 7018942 7020617 7047702 7050899 7067457 7073019 7078288 7093760 7102643 7105859 7108747 7124138 7152470 7164586 7170370 7173887 7180037 7187509 7198037 7198742 7203558 7210659 7214163 7219576 7222509 7227284 7230154 7233074 7249456 7252406 7265887 7267319 7276374 7289707 7299853 7308624 7327283 7353109 7365365 7378097 7383092 7392796 7397024 7401826 7410150 7414290 7416379 7428889 7443949 7458239 7480261 7486666 7494358 7517202 7520299 7526614 7533975 7535991 7544737 7548695 7563342 7565328 7574859 7575787 7580012 7595411 7608945 7613357 7616890 7631758 7638075 7675478 7682124 7710913 7717937 7720127 7723141 7724039 7727086 7728809 7772812 7781768 7807057 7809227 7814151 7815704 7839237 7844997 7848447 7850259 7870387 7886603 7895950 7905421 7919472 7929932 7935141 7939744 7949870 7971067 7983593 8024336 8030662 8038727 8040261 8048972 8065630 8071182 8077176 8102868 8114820 8131908 8135809 8137861 8139080 8155778 8172002 8176082 8197285 8201225 8212951 8214820 8225259 8238552 8243500 8250802 8267041 8279011 8318603 8322483 8323826 8326404 8345496 8393536 8403481 8414639 8426842 8442939 8445660 8448888 8451750 8459627 8476310 8483577 8484585 8493550 8524777 8530681 8537830 8549410 8553779 8566996 8581891 8596641 8605873 8608854 8615169 8626659 8644808 8665878 8676153 8693727 8696640 8698593 8702982 8724351 8725683 8736283 8750035 8752197 8763186 8765153 8774252 8781397 8793011 8803012 8806074 8813007 8816651 8833881 8840114 8857338 8868758 8882938 8886226 8904648 8908559 8924430 8926428 8946748 8952690 8967833 8970295 8978711 8986380 8999070 9001492 9007073 9023681 9026074 9027321 9031740 9048152 9068223 9071131 9092245 9093858 9102032 9110069 9121959 9126816 9134356 9147899 9151557 9154662 9163388 9172218 9174493 9175753 9192648 9203099 9207031 9246250 9275352 9292428 9308540 9310139 9326293 9337862 9343163 9349914 9351018 9356892 9369886 9374699 9378348 9387188 9401080 9402317 9407061 9411007 9421147 9477037 9493276 9515631 9517475 9524438 9527510 9563092 9570779 9584917 9600824 9616061 9619578 9625567 9632252 9648810 9654761 9664587 9667867 9683355 9696148 9703700 9704592 9706061 9708379 9709330 9710637 9731952 9742833 9758004 9767078 9801391 9810118 9812673 9816907 9827838 9833395 9856681 9865860 9880740 9890847 9895895 9900565 9910077 9914730 9916016 9917634 9932733 9936263 9955114 9957092 9960740 9969475 9991178 9995224 9998618 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml index badca6f68..5db605336 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml index 2a143c949..26a822b5e 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml @@ -1,4 +1,13 @@ + + 0 1 0 1 + + + 0 0 1 1 + + + 2 1 2 2 + 1965 3127 3780 4684 8630 diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 0a7b917de..2291ff243 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -199,9 +199,7 @@ TEST(XmlRecorderTest, ToXML) // Verify the expected XML output stringstream os; os << "" << endl; os << " "; From 64447973c9ba90233e3cd209003028d6ed993b30 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 10 Apr 2025 00:04:42 -0700 Subject: [PATCH 081/153] code clean-up and STDP logic fixes --- .../Edges/Neuro/AllDynamicSTDPSynapses.cpp | 2 +- .../Edges/Neuro/AllDynamicSTDPSynapses.h | 2 +- Simulator/Edges/Neuro/AllSTDPSynapses.cpp | 75 ++++++++----------- Simulator/Edges/Neuro/AllSTDPSynapses.h | 2 +- configfiles/stdp_fE_0.90_10000.xml | 17 +---- 5 files changed, 37 insertions(+), 61 deletions(-) diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp index 1b224a862..966a10f40 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.cpp @@ -17,7 +17,7 @@ AllDynamicSTDPSynapses::AllDynamicSTDPSynapses(int numVertices, int maxEdges) : /// Setup the internal structure of the class (allocate memories and initialize them). void AllDynamicSTDPSynapses::setupEdges() { - setupEdges(Simulator::getInstance().getDeltaT(), + setupEdges(Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h index 482fd759d..2d5c6e79d 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h @@ -9,7 +9,7 @@ * Each kind of synapse parameter is stored in a 2D array. Each item in the first * dimension of the array corresponds with each neuron, and each item in the second * dimension of the array corresponds with a synapse parameter of each synapse of the neuron. - * Because each neuron owns different number of synapses, the number of synapses + * Because each neuron owns different number of synapses, the number of synapses * for each neuron is stored in a 1D array, edge_counts. * * For CUDA implementation, we used another structure, AllDSSynapsesDevice, where synapse diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp index 77f56bcfd..e9326541a 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp @@ -275,28 +275,28 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) // pre and post neurons index int idxPre = sourceVertexIndex_[iEdg]; int idxPost = destVertexIndex_[iEdg]; - uint64_t spikeHistory, spikeHistory2; + uint64_t t_post, t_pre; BGFLOAT delta; - BGFLOAT epre, epost; + + // epre and epost are set to 1 for the independent model [Froemke and Dan (2002)] + BGFLOAT epre = 1.0; + BGFLOAT epost = 1.0; if (fPre) { // preSpikeHit - // spikeCount points to the next available position of spike_history, - // so the getSpikeHistory w/offset = -2 will return the spike time - // just one before the last spike. - spikeHistory = spNeurons.getSpikeHistory(idxPre, -2); - - epre = 1.0; - epost = 1.0; - // call the learning function stdpLearning() for each pair of - // pre-post spikes + // call the learning function stdpLearning() for each pair of pre-post spikes int offIndex = -1; // last spike while (true) { - spikeHistory = spNeurons.getSpikeHistory(idxPost, offIndex); - if (spikeHistory == numeric_limits::max()) + // time of the offset post-spike hit + uint64_t t_post = spNeurons.getSpikeHistory(idxPost, offIndex); + + // break if no post-spike is found + if (t_post == numeric_limits::max()) break; + // delta is the spike interval between pre-post spikes - // (include pre-synaptic transmission delay) - delta = -static_cast(g_simulationStep - spikeHistory) * deltaT; + // deltaT converts the timestep to seconds + delta = -static_cast(g_simulationStep - t_post) * deltaT; + /* LOG4CPLUS_DEBUG(fileLogger_,"\nAllSTDPSynapses::advanceSynapse: fPre" << endl << "\tiEdg: " << iEdg << endl @@ -320,28 +320,25 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) } if (fPost) { // postSpikeHit - // spikeCount points to the next available position of spike_history, - // so the getSpikeHistory w/offset = -2 will return the spike time - // just one before the last spike. - spikeHistory = spNeurons.getSpikeHistory(idxPost, -2); - epost = 1.0; - epre = 1; - - - // call the learning function stdpLearning() for each pair of - // post-pre spikes + // call the learning function stdpLearning() for each pair of post-pre spikes int offIndex = -1; // last spike while (true) { - spikeHistory = spNeurons.getSpikeHistory(idxPre, offIndex); - if (spikeHistory == numeric_limits::max()) + // time when the pre-spike left the source neuron + t_pre = spNeurons.getSpikeHistory(idxPre, offIndex); + + // break if no pre-spike is found + if (t_pre == numeric_limits::max()) break; - if (spikeHistory + total_delay > g_simulationStep) { + // delay accounts for the time it takes the spike to reach the destination neuron + if (t_pre + total_delay > g_simulationStep) { --offIndex; continue; } + // delta is the spike interval between post-pre spikes - delta = static_cast(g_simulationStep - spikeHistory - total_delay) * deltaT; + delta = static_cast(g_simulationStep - t_pre - total_delay) * deltaT; + /* LOG4CPLUS_DEBUG(fileLogger_,"\nAllSTDPSynapses::advanceSynapse: fPost" << endl << "\tiEdg: " << iEdg << endl @@ -353,6 +350,7 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) << "\tepost: " << epost << endl << "\tdelta: " << delta << endl << endl); */ + if (delta >= 3.0 * taupos) break; @@ -366,7 +364,6 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) psr *= decay; } - BGFLOAT AllSTDPSynapses::synapticWeightModification(BGSIZE iEdg, BGFLOAT synapticWeight, double delta) { @@ -379,15 +376,11 @@ BGFLOAT AllSTDPSynapses::synapticWeightModification(BGSIZE iEdg, BGFLOAT synapti BGFLOAT Apos = Apos_[iEdg]; BGFLOAT Wex = Wex_[iEdg]; BGFLOAT &W = W_[iEdg]; - edgeType type = type_[iEdg]; BGFLOAT dw = 0; - BGFLOAT oldW = W; - - // BGFLOAT modDelta = fabs(delta); + // muneg and mupos default to 0 for the basic multiplicative model if (delta < -STDPgap) { // depression - dw = pow(fabs(W) / Wex, muneg) * Aneg * exp(delta / tauneg); // normalize } else if (delta > STDPgap) { // potentiation @@ -411,24 +404,17 @@ void AllSTDPSynapses::stdpLearning(BGSIZE iEdg, double delta, double epost, doub int srcVertex, int destVertex) { BGFLOAT STDPgap = STDPgap_[iEdg]; - BGFLOAT muneg = muneg_[iEdg]; - BGFLOAT mupos = mupos_[iEdg]; - BGFLOAT tauneg = tauneg_[iEdg]; - BGFLOAT taupos = taupos_[iEdg]; - BGFLOAT Aneg = Aneg_[iEdg]; - BGFLOAT Apos = Apos_[iEdg]; BGFLOAT Wex = Wex_[iEdg]; BGFLOAT &W = W_[iEdg]; edgeType type = type_[iEdg]; BGFLOAT oldW = W; - // BGFLOAT modDelta = fabs(delta); - if (delta <= fabs(STDPgap)) { + if (fabs(delta) <= STDPgap) { return; } // dw is the fractional change in synaptic strength; add 1.0 to become the scaling ratio - //dw = 1.0 + dw * epre * epost; + // dw = 1.0 + dw * epre * epost; // used for the non-independent model BGFLOAT dw = 1.0 + synapticWeightModification(iEdg, W, delta); // if scaling ratio is less than zero, set it to zero so this synapse, its @@ -443,6 +429,7 @@ void AllSTDPSynapses::stdpLearning(BGSIZE iEdg, double delta, double epost, doub if (fabs(W) > Wex) { W = edgSign(type) * Wex; } + /* LOG4CPLUS_DEBUG(edgeLogger_, endl << "iEdg value " << iEdg diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.h b/Simulator/Edges/Neuro/AllSTDPSynapses.h index 1a68979d1..7d7ea0660 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.h +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.h @@ -9,7 +9,7 @@ * Each kind of synapse parameter is stored in a 2D array. Each item in the first * dimension of the array corresponds with each neuron, and each item in the second * dimension of the array corresponds with a synapse parameter of each synapse of the neuron. - * Because each neuron owns different number of synapses, the number of synapses + * Because each neuron owns different number of synapses, the number of synapses * for each neuron is stored in a 1D array, edge_counts. * * For CUDA implementation, we used another structure, AllDSSynapsesDevice, where synapse diff --git a/configfiles/stdp_fE_0.90_10000.xml b/configfiles/stdp_fE_0.90_10000.xml index 9932e74c8..57d44cedc 100644 --- a/configfiles/stdp_fE_0.90_10000.xml +++ b/configfiles/stdp_fE_0.90_10000.xml @@ -3,8 +3,8 @@ ../configfiles/graphs/fE_0.90_10000.graphml - 100.0 - 3 + 10.0 + 1 200 @@ -106,7 +106,7 @@ 5.0265e-7 - -52e-2 + -0.52 -0.52 @@ -116,17 +116,6 @@ - 0 - 0 - 0 - - 2.36936e-38 - 2.35106e-38 - - - 9.18355e-41 - 3.58732e-43 - From 336682a808bfa0caaba35b7d099fd9e8cd3d9ba7 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 10 Apr 2025 09:59:25 -0700 Subject: [PATCH 082/153] remove ConnGrowth change --- Simulator/Connections/Neuro/ConnGrowth.cpp | 7 ------- 1 file changed, 7 deletions(-) diff --git a/Simulator/Connections/Neuro/ConnGrowth.cpp b/Simulator/Connections/Neuro/ConnGrowth.cpp index d0e0d8b47..beaad1660 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth.cpp @@ -167,13 +167,6 @@ void ConnGrowth::updateConns(AllVertices &vertices) / growthParams_.beta)); deltaR_ = Simulator::getInstance().getEpochDuration() * growthParams_.rho * outgrowth_; radii_ += deltaR_; - - // limit the min radius - for (int i = 0; i < radiiSize_; i++) { - if (radii_[i] < growthParams_.minRadius) { - radii_[i] = growthParams_.minRadius; - } - } } /// Update the distance between frontiers of vertices. From 75f364521ab6790e98cce0247f9d2c6c90c4093e Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 10 Apr 2025 10:12:36 -0700 Subject: [PATCH 083/153] clang format fixes --- Simulator/Edges/Neuro/AllSTDPSynapses.cpp | 37 +++++++++++++++-------- 1 file changed, 24 insertions(+), 13 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp index e9326541a..a22886581 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp @@ -118,18 +118,29 @@ void AllSTDPSynapses::printParameters() const { AllSpikingSynapses::printParameters(); - LOG4CPLUS_DEBUG( - edgeLogger_, - "\n\t---AllSTDPSynapses Parameters---" - << "\n\tEdges type: AllSTDPSynapses \n\n" - << "\tSTDP gap" << defaultSTDPgap_ << "\n\n\tTauspost value: [" << " I: " << tauspost_I_ - << ", " << " E: " << tauspost_E_ << "]" << "\n\n\tTauspre value: [" << " I: " << tauspre_I_ - << ", " << " E: " << tauspre_E_ << "]" << "\n\n\tTaupos value: [" << " I: " << taupos_I_ - << ", " << " E: " << taupos_E_ << "]" << "\n\n\tTau negvalue: [" << " I: " << tauneg_I_ - << ", " << " E: " << tauneg_E_ << "]" << "\n\n\tWex value: [" << " I: " << Wex_I_ << ", " - << " E: " << Wex_E_ << "]" << "\n\n\tAneg value: [" << " I: " << Aneg_I_ << ", " - << " E: " << Aneg_E_ << "]" << "\n\n\tApos value: [" << " I: " << Apos_I_ << ", " - << " E: " << Apos_E_ << "]" << endl); + LOG4CPLUS_DEBUG(edgeLogger_, "\n\t---AllSTDPSynapses Parameters---" + << "\n\tEdges type: AllSTDPSynapses \n\n" + << "\tSTDP gap" << defaultSTDPgap_ << "\n\n\tTauspost value: [" + << " I: " << tauspost_I_ << ", " + << " E: " << tauspost_E_ << "]" + << "\n\n\tTauspre value: [" + << " I: " << tauspre_I_ << ", " + << " E: " << tauspre_E_ << "]" + << "\n\n\tTaupos value: [" + << " I: " << taupos_I_ << ", " + << " E: " << taupos_E_ << "]" + << "\n\n\tTau negvalue: [" + << " I: " << tauneg_I_ << ", " + << " E: " << tauneg_E_ << "]" + << "\n\n\tWex value: [" + << " I: " << Wex_I_ << ", " + << " E: " << Wex_E_ << "]" + << "\n\n\tAneg value: [" + << " I: " << Aneg_I_ << ", " + << " E: " << Aneg_E_ << "]" + << "\n\n\tApos value: [" + << " I: " << Apos_I_ << ", " + << " E: " << Apos_E_ << "]" << endl); } /// Sets the data for Synapse to input's data. @@ -429,7 +440,7 @@ void AllSTDPSynapses::stdpLearning(BGSIZE iEdg, double delta, double epost, doub if (fabs(W) > Wex) { W = edgSign(type) * Wex; } - + /* LOG4CPLUS_DEBUG(edgeLogger_, endl << "iEdg value " << iEdg From fac51527ff683f56a9404b7bef3117dcd75df025 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 10 Apr 2025 10:36:04 -0700 Subject: [PATCH 084/153] clang still failing --- Simulator/Edges/Neuro/AllSTDPSynapses.cpp | 36 ++++++++--------------- 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp index a22886581..7293027d2 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp @@ -118,29 +118,18 @@ void AllSTDPSynapses::printParameters() const { AllSpikingSynapses::printParameters(); - LOG4CPLUS_DEBUG(edgeLogger_, "\n\t---AllSTDPSynapses Parameters---" - << "\n\tEdges type: AllSTDPSynapses \n\n" - << "\tSTDP gap" << defaultSTDPgap_ << "\n\n\tTauspost value: [" - << " I: " << tauspost_I_ << ", " - << " E: " << tauspost_E_ << "]" - << "\n\n\tTauspre value: [" - << " I: " << tauspre_I_ << ", " - << " E: " << tauspre_E_ << "]" - << "\n\n\tTaupos value: [" - << " I: " << taupos_I_ << ", " - << " E: " << taupos_E_ << "]" - << "\n\n\tTau negvalue: [" - << " I: " << tauneg_I_ << ", " - << " E: " << tauneg_E_ << "]" - << "\n\n\tWex value: [" - << " I: " << Wex_I_ << ", " - << " E: " << Wex_E_ << "]" - << "\n\n\tAneg value: [" - << " I: " << Aneg_I_ << ", " - << " E: " << Aneg_E_ << "]" - << "\n\n\tApos value: [" - << " I: " << Apos_I_ << ", " - << " E: " << Apos_E_ << "]" << endl); + LOG4CPLUS_DEBUG( + edgeLogger_, + "\n\t---AllSTDPSynapses Parameters---" + << "\n\tEdges type: AllSTDPSynapses \n\n" + << "\tSTDP gap" << defaultSTDPgap_ << "\n\n\tTauspost value: [" << " I: " << tauspost_I_ + << ", " << " E: " << tauspost_E_ << "]" << "\n\n\tTauspre value: [" << " I: " << tauspre_I_ + << ", " << " E: " << tauspre_E_ << "]" << "\n\n\tTaupos value: [" << " I: " << taupos_I_ + << ", " << " E: " << taupos_E_ << "]" << "\n\n\tTau negvalue: [" << " I: " << tauneg_I_ + << ", " << " E: " << tauneg_E_ << "]" << "\n\n\tWex value: [" << " I: " << Wex_I_ << ", " + << " E: " << Wex_E_ << "]" << "\n\n\tAneg value: [" << " I: " << Aneg_I_ << ", " + << " E: " << Aneg_E_ << "]" << "\n\n\tApos value: [" << " I: " << Apos_I_ << ", " + << " E: " << Apos_E_ << "]" << endl); } /// Sets the data for Synapse to input's data. @@ -440,7 +429,6 @@ void AllSTDPSynapses::stdpLearning(BGSIZE iEdg, double delta, double epost, doub if (fabs(W) > Wex) { W = edgSign(type) * Wex; } - /* LOG4CPLUS_DEBUG(edgeLogger_, endl << "iEdg value " << iEdg From 66f5a66da8fef04f792b5d9ffae792965df27228 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Fri, 11 Apr 2025 15:28:05 -0700 Subject: [PATCH 085/153] remove second declaration --- Simulator/Edges/Neuro/AllSTDPSynapses.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp index 7293027d2..1f227a35a 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.cpp @@ -287,7 +287,7 @@ void AllSTDPSynapses::advanceEdge(BGSIZE iEdg, AllVertices &neurons) int offIndex = -1; // last spike while (true) { // time of the offset post-spike hit - uint64_t t_post = spNeurons.getSpikeHistory(idxPost, offIndex); + t_post = spNeurons.getSpikeHistory(idxPost, offIndex); // break if no post-spike is found if (t_post == numeric_limits::max()) From 935a362a2706c9a5d4b17440ef270c2db24bce1c Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Tue, 29 Apr 2025 21:30:51 -0700 Subject: [PATCH 086/153] Added to Contributors.md --- Contributors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Contributors.md b/Contributors.md index 129f5df9d..e3ed43b58 100644 --- a/Contributors.md +++ b/Contributors.md @@ -82,6 +82,7 @@ Rimjhim Sudhesh ## 2025 Andrew Madison +Padmanabh Patil # Graduate From 13ceb03ccea043b46f4b1bb79612b7ac8ae5ed80 Mon Sep 17 00:00:00 2001 From: Padmanabh Patil Date: Tue, 29 Apr 2025 21:34:49 -0700 Subject: [PATCH 087/153] Added Padmanabh Patul to Contributors.md --- Contributors.md | 1 + 1 file changed, 1 insertion(+) diff --git a/Contributors.md b/Contributors.md index e3ed43b58..b2ead0ce9 100644 --- a/Contributors.md +++ b/Contributors.md @@ -82,6 +82,7 @@ Rimjhim Sudhesh ## 2025 Andrew Madison + Padmanabh Patil From 6b852f1e3035b9c00e5f259a43a46a70c202a6e2 Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Wed, 30 Apr 2025 17:49:59 -0700 Subject: [PATCH 088/153] PlantUML Reference Update Issues: #803 #726 Documentation was referencing Cloudbees/plantuml-github-action, but the repo in the action & the fork in UWB-Biocomputing is actually from holowinski/plantuml-github-action. UWB-Biocomputing fork of the repo was 5 years behind in commits and has been updated. --- docs/Developer/GHActions.md | 4 ++-- docs/Developer/index.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Developer/GHActions.md b/docs/Developer/GHActions.md index f4d5c85d3..c60593fed 100644 --- a/docs/Developer/GHActions.md +++ b/docs/Developer/GHActions.md @@ -12,10 +12,10 @@ The manual GitHub Pages action is a feature that came from wanting to quickly pu ## PlantUML Action plantUML.yml -The plantUML action occurs anytime a plantUML file is modified or added during a pull request or a push to the master branch. These .puml files are supposed to be located in the UML folder within the Developer folder. This action starts by checking out the repository using [actions/checkout](https://github.com/actions/checkout) with a fetch depth of 0. The next step is to grab all of the .puml files that need to be turned into images. This is done by using a basic bash command to grab all .puml files which is then piped into an awk script to parse out the unnecessary files and construct an output string with all the necessary files. The output string will look like so: "file1.puml file2.puml file3.puml file4.puml\n". This output string is then confirmed by an echo command which prints out the string to the actions terminal. Next, the .png and .svg files are generated from the .puml files in the output string using [cloudbees/plantuml-github-action]. These files are placed within the diagrams folder located within the UML folder. Lastly, the local changes are committed then pushed to the remote repository using [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). +The plantUML action occurs anytime a plantUML file is modified or added during a pull request or a push to the master branch. These .puml files are supposed to be located in the UML folder within the Developer folder. This action starts by checking out the repository using [actions/checkout](https://github.com/actions/checkout) with a fetch depth of 0. The next step is to grab all of the .puml files that need to be turned into images. This is done by using a basic bash command to grab all .puml files which is then piped into an awk script to parse out the unnecessary files and construct an output string with all the necessary files. The output string will look like so: "file1.puml file2.puml file3.puml file4.puml\n". This output string is then confirmed by an echo command which prints out the string to the actions terminal. Next, the .png and .svg files are generated from the .puml files in the output string using a fork of [holowinski/plantuml-github-action]. These files are placed within the diagrams folder located within the UML folder. Lastly, the local changes are committed then pushed to the remote repository using [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) [//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) - [cloudbees/plantuml-github-action]: \ No newline at end of file +[holowinski/plantuml-github-action]: diff --git a/docs/Developer/index.md b/docs/Developer/index.md index 3290644d7..770612418 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -54,6 +54,6 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) [//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) - [contributing guide]: - [Visit Doxygen Generated Documentation]: +[contributing guide]: +[Visit Doxygen Generated Documentation]: \ No newline at end of file From d72c9cb550025bbc59f319ff3ed543cb37e61879 Mon Sep 17 00:00:00 2001 From: Avikant Wadhwa Date: Sat, 10 May 2025 23:51:28 -0700 Subject: [PATCH 089/153] Device Vector added and Integrated with Neuro Vertices --- CMakeLists.txt | 9 +- Simulator/Utils/DeviceVector.h | 455 ++++++++++++++++++ Simulator/Vertices/Neuro/AllIFNeurons.h | 121 ++--- Simulator/Vertices/Neuro/AllIFNeurons_d.cpp | 191 +++----- Simulator/Vertices/Neuro/AllIZHNeurons.h | 53 +- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp | 146 +++--- Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp | 57 +-- Simulator/Vertices/Neuro/AllSpikingNeurons.h | 19 +- .../Vertices/Neuro/AllSpikingNeurons_d.cpp | 44 +- Testing/UnitTesting/DeviceVectorTests.cpp | 202 ++++++++ 10 files changed, 921 insertions(+), 376 deletions(-) create mode 100644 Simulator/Utils/DeviceVector.h create mode 100644 Testing/UnitTesting/DeviceVectorTests.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 995c34067..f30e63b58 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -462,6 +462,12 @@ endif() target_compile_options(gtest PRIVATE -Wno-error=maybe-uninitialized) target_compile_options(gtest_main PRIVATE -Wno-error=maybe-uninitialized) +if(ENABLE_CUDA) + set(cuda_TestSources + Testing/UnitTesting/DeviceVectorTests.cpp) + set_source_files_properties(${cuda_TestSources} PROPERTIES LANGUAGE CUDA) +endif() + add_executable(tests Testing/RunTests.cpp Testing/UnitTesting/OperationManagerTests.cpp @@ -481,7 +487,8 @@ add_executable(tests Testing/Utils/CircularBufferTests.cpp Testing/UnitTesting/EventBufferTests.cpp Testing/UnitTesting/XmlRecorderTests.cpp - Testing/UnitTesting/Hdf5RecorderTests.cpp) + Testing/UnitTesting/Hdf5RecorderTests.cpp + Testing/UnitTesting/DeviceVectorTests.cpp) # Links the Googletest framework with the testing executable target_link_libraries(tests gtest gtest_main) diff --git a/Simulator/Utils/DeviceVector.h b/Simulator/Utils/DeviceVector.h new file mode 100644 index 000000000..ae1ba9f83 --- /dev/null +++ b/Simulator/Utils/DeviceVector.h @@ -0,0 +1,455 @@ +/** + * @file DeviceVector.h + * + * @ingroup Simulator/Utils + * + * @brief A Template class that provides a std::vector-like interface for both host and device (GPU) memory + * @tparam T Type of elements (must be BGFLOAT, int, or bool) + * + * This class wraps a std::vector and provides additional operations for device memory + * allocation, deallocation, and host-device data transfer. Currently, it only supports + * primitive types, and since the codebase only uses BGFLOAT, int, and bool, these are + * the only types explicitly allowed. Support for other primitive types (like char, + * double, etc.) can be added if needed in the future. Note that + * this class is not RAII compliant for device memory - it provides methods for manual + * device memory management but leaves the responsibility of proper allocation, + * synchronization, and deallocation to the user. + * + * The class provides convenient methods for common host-device operations but performs + * only trivial safety checks. Users must ensure device memory operations are safe and + * that host-device memory is properly synchronized using the provided methods. For example, + * operations like copyToDevice() or copyToHost() will not implicitly allocate device + * memory if it hasn't been allocated - they will throw an error instead. Similar behavior + * applies to other device operations. + * + * Host-side operations are implemented by overloading std::vector operations and operate + * independently of device memory - they do not automatically sync changes to the device. + * For detailed behavior of these operations, refer to std::vector documentation. Future + * needs for additional vector operations can be met by overloading the specific + * methods or operators as needed. + + * Currently, DeviceVector only supports primitive types, and since the codebase only uses + * BGFLOAT, int, and bool, these are the only types explicitly allowed. Support for other + * primitive types (like char, double, etc.) can be added if needed in the future. + * + * Note: The current implementation prioritizes explicit control over convenience. + * Future extensions could add RAII compliance, additional safety checks, and automatic + * host-device synchronization if such behavior becomes desirable. + */ + +#pragma once +#include "BGTypes.h" // For BGFLOAT definition +#include +#include + +#if defined(__CUDACC__) + #include "Book.h" +#endif + +#include + +/// Define supported types for DeviceVector using variant +using DeviceVectorTypes = std::variant; + +/** + * Type trait system to verify if a type is supported by DeviceVector. + * Works in two parts: + * + * 1. Primary template (base case): + * - Inherits from std::false_type, so by default any type is NOT supported + * - This catches all cases where Variant is not a std::variant + */ +template struct is_device_vector_supported_type : std::false_type {}; + +/** + * 2. Partial specialization: + * - Matches when the second template parameter is a std::variant + * - Uses fold expression (... ||) to check if T matches any type in the variant + * - std::is_same_v checks exact type match for each type in variant + * - Inherits from std::bool_constant which is true if any type matches + Note: In C++20 there are better ways to do this using generic lambda with a template parameter list + with a combination of constexpr but nvcc doesn't support it yet. + */ +template +struct is_device_vector_supported_type> : + std::bool_constant<(std::is_same_v || ...)> {}; + +template class DeviceVector { + // Ensure T is one of the allowed types using variant check + static_assert(is_device_vector_supported_type::value, + "Unsupported type for DeviceVector"); + +public: + /// Reference type that handles std::vector specialization + using reference = + typename std::conditional_t, std::vector::reference, T &>; + + /// @brief Constructor that initializes the host vector without GPU allocation + /// @param size Initial size of the host vector (defaults to 0) + /// @post Host vector is created with 'size' default-constructed elements + /// @post Device pointer is nullptr (no GPU memory allocated) + explicit DeviceVector(size_t size = 0) : hostData_(size) + { +#if defined(__CUDACC__) + devicePtr_ = nullptr; +#endif + } + + ~DeviceVector() = default; + + /// @brief Copy constructor is deleted to prevent accidental copies that could lead to GPU memory leaks + DeviceVector(const DeviceVector &) = delete; + + /// @brief Copy assignment is deleted to prevent accidental copies that could lead to GPU memory leaks + DeviceVector &operator=(const DeviceVector &) = delete; + + /// @brief Adds an element to the end of the host vector + /// @param value The element to append + /// @post New element is added at the end of host vector + /// @note Only modifies host memory, device memory remains unchanged + void push_back(const T &value) + { + hostData_.push_back(value); + } + + /// @brief Resizes the host vector to contain new_size elements + /// @param new_size New size of the vector + /// @post Host vector contains exactly new_size elements + /// @note Only affects host memory, device memory size remains unchanged + void resize(size_t new_size) + { + hostData_.resize(new_size); + } + + /// @brief Resizes the host vector to new_size elements, initializing new elements with value + /// @param new_size New size of the vector + /// @param value Value to initialize new elements with + /// @post Host vector contains exactly new_size elements + /// @post New elements (if any) are copies of value + /// @note Only affects host memory, device memory size remains unchanged + void resize(size_t new_size, const T &value) + { + hostData_.resize(new_size, value); + } + + /// @brief Removes all elements from the host vector + /// @post Host vector becomes empty (size = 0) + /// @post Capacity remains unchanged + void clear() + { + hostData_.clear(); + } + + /// @brief Reserves storage in the host vector for at least new_cap elements + /// @param new_cap Minimum capacity to reserve + /// @post Host vector capacity is at least new_cap + /// @note No reallocation occurs until size exceeds new capacity + /// @note Size remains unchanged + void reserve(size_t new_cap) + { + hostData_.reserve(new_cap); + } + + /// @brief Returns the number of elements in the host vector + /// @return Current number of elements in host vector + size_t size() const + { + return hostData_.size(); + } + + /// @brief Checks if the host vector contains no elements + /// @return true if the host vector is empty, false otherwise + bool empty() const + { + return hostData_.empty(); + } + + /// @brief Replaces host vector contents with n copies of value + /// @param n Number of elements to assign + /// @param value Value to fill the vector with + /// @post Host vector contains exactly n elements + /// @post All elements are copies of value + void assign(size_t n, const T &value) + { + hostData_.assign(n, value); + } + + /// @brief Gets a const reference to the underlying host vector + /// @return Const reference to the host vector + const std::vector &getHostVector() const + { + return hostData_; + } + + /// @brief Gets a copy of the host vector + /// @return Copy of the host vector + std::vector getHostVector() + { + return hostData_; + } + + /// @brief Implicit conversion to host vector reference + /// @return Reference to the underlying host vector + /// @note Allows using DeviceVector as a std::vector + /// @warning Modifications affect host memory only + operator std::vector &() + { + return hostData_; + } + + /// @brief Implicit conversion to const host vector reference + /// @return Const reference to the underlying host vector + /// @note Allows using const DeviceVector as a const std::vector + /// @note Thread-safe for concurrent reads + operator const std::vector &() const + { + return hostData_; + } + + /// @brief Array subscript operator for host vector access + /// @param idx Index of the element to access + /// @return Reference (or proxy for bool) to the element + /// @note Using reference type alias to match std::vector behavior that allows bit-level manipulation + /// @warning No bounds checking is performed + reference operator[](size_t idx) + { + // For bool type, hostData_[idx] returns vector::reference + // which our reference type alias handles correctly to match + // std::vector's space-efficient implementation + return hostData_[idx]; + } + + /// @brief Const array subscript operator for host vector access + /// @param idx Index of the element to access + /// @return Copy of the element (actual bool for bool type) + /// @note Special handling for bool type to return actual bool value + /// @warning No bounds checking is performed + const T operator[](size_t idx) const + { + if constexpr (std::is_same_v) + return static_cast(hostData_[idx]); // explicit casting to bool value from proxy + + return hostData_[idx]; // normal types + } + + /// @brief Gets pointer to contiguous host memory array + /// @return Pointer to the first element in host memory + /// @note Returns nullptr if vector is empty + T *data() + { + return hostData_.data(); + } + + /// @brief Gets const pointer to contiguous host memory array + /// @return Const pointer to the first element in host memory + /// @note Returns nullptr if vector is empty + const T *data() const + { + return hostData_.data(); + } + + /// @brief Safe element access for host vector with bounds checking + /// @param idx Index of the element to access + /// @return Reference to the host vector element at specified index + /// @note Performs bounds checking unlike operator[] + /// @throws std::out_of_range if idx >= size() + T &at(size_t idx) + { + return hostData_.at(idx); + } + + /// @brief Safe const element access for host vector with bounds checking + /// @param idx Index of the element to access + /// @return Const reference to the host vector element at specified index + /// @note Performs bounds checking unlike operator[] + /// @throws std::out_of_range if idx >= size() + const T &at(size_t idx) const + { + return hostData_.at(idx); + } + + /// @brief Access first element of host vector + /// @return Reference to the first element + /// @pre Vector must not be empty + /// @throws std::out_of_range if vector is empty + T &front() + { + return hostData_.front(); + } + + /// @brief Access first element of host vector (const) + /// @return Const reference to the first element + /// @pre Vector must not be empty + /// @throws std::out_of_range if vector is empty + const T &front() const + { + return hostData_.front(); + } + + /// @brief Access last element of host vector + /// @return Reference to the last element + /// @pre Vector must not be empty + /// @throws std::out_of_range if vector is empty + T &back() + { + return hostData_.back(); + } + + /// @brief Access last element of host vector (const) + /// @return Const reference to the last element + /// @pre Vector must not be empty + /// @throws std::out_of_range if vector is empty + const T &back() const + { + return hostData_.back(); + } + + /// @brief Gets iterator to the first element of host vector + /// @return Iterator to the beginning + /// @note Enables range-based for loop support + auto begin() + { + return hostData_.begin(); + } + + /// @brief Gets iterator to one past the last element + /// @return Iterator to the end + /// @note Required for range-based for loop support + auto end() + { + return hostData_.end(); + } + + /// @brief Gets const iterator to the first element + /// @return Const iterator to the beginning + /// @warning Iterator only valid for host memory + auto begin() const + { + return hostData_.begin(); + } + + /// @brief Gets const iterator to one past the last element + /// @return Const iterator to the end + /// @warning Iterator only valid for host memory + auto end() const + { + return hostData_.end(); + } + +#if defined(__CUDACC__) +public: + /// @brief Gets pointer to device memory + /// @return Raw pointer to device memory + /// @note Returns nullptr if no device memory is allocated + T *getDevicePointer() + { + return devicePtr_; + } + + /// @brief Gets const pointer to device memory + /// @return Const Raw pointer to device memory + /// @note Returns nullptr if no device memory is allocated + const T *getDevicePointer() const + { + return devicePtr_; + } + + /// @brief Implicit conversion to device pointer for CUDA kernel calls + /// @return Raw pointer to device memory + /// @note Allows using DeviceVector directly in CUDA kernels + /// @warning Returns nullptr if device memory is not allocated + operator T *() + { + return devicePtr_; + } + + /// @brief Implicit conversion to const device pointer for CUDA kernel calls + /// @return Const pointer to device memory + /// @note Allows using const DeviceVector directly in CUDA kernels + /// @warning Returns nullptr if device memory is not allocated + operator const T *() const + { + return devicePtr_; + } + + /// @brief Allocates CUDA device memory for vector data + /// @pre CUDA device is available and has sufficient memory + /// @post Device memory is allocated with size() * sizeof(T) bytes + /// @post Previous device memory (if any) is freed + /// @note Memory is not initialized after allocation + /// @throws CUDA errors on allocation failure + void allocateDeviceMemory() + { + if (devicePtr_) + freeDeviceMemory(); + HANDLE_ERROR(cudaMalloc(&devicePtr_, hostData_.size() * sizeof(T))); + } + + /// @brief Frees CUDA device memory if allocated + /// @post Device memory is deallocated + /// @post Device pointer is set to nullptr + /// @throws CUDA errors on deallocation failure + void freeDeviceMemory() + { + if (devicePtr_) { + HANDLE_ERROR(cudaFree(devicePtr_)); + devicePtr_ = nullptr; + } + } + + /// @brief Copies data from host to device memory + /// @pre Device memory must be allocated + /// @post Device memory contains exact copy of host data + /// @note Special handling for bool type using intermediate array + /// @throws std::runtime_error if device memory not allocated + /// @throws CUDA errors on copy failure + void copyToDevice() + { + if (!devicePtr_) + throw std::runtime_error("Device memory not allocated. Call allocateDeviceMemory()"); + + if constexpr (std::is_same_v) { + const size_t n = hostData_.size(); + bool raw_data[n]; + for (size_t i = 0; i < n; ++i) { + raw_data[i] = hostData_[i]; + } + HANDLE_ERROR(cudaMemcpy(devicePtr_, raw_data, n * sizeof(bool), cudaMemcpyHostToDevice)); + } else { + HANDLE_ERROR(cudaMemcpy(devicePtr_, hostData_.data(), hostData_.size() * sizeof(T), + cudaMemcpyHostToDevice)); + } + } + + /// @brief Copies data from device to host memory + /// @pre Device memory must be allocated + /// @post Host memory contains exact copy of device data + /// @note Special handling for bool type using intermediate array + /// @throws std::runtime_error if device memory not allocated + /// @throws CUDA errors on copy failure + void copyToHost() + { + if (!devicePtr_) + throw std::runtime_error("Device memory not allocated."); + + if constexpr (std::is_same_v) { + const size_t n = hostData_.size(); + bool raw_data[n]; + HANDLE_ERROR(cudaMemcpy(raw_data, devicePtr_, n * sizeof(bool), cudaMemcpyDeviceToHost)); + for (size_t i = 0; i < n; ++i) { + hostData_[i] = raw_data[i]; + } + } else { + HANDLE_ERROR(cudaMemcpy(hostData_.data(), devicePtr_, hostData_.size() * sizeof(T), + cudaMemcpyDeviceToHost)); + } + } +#endif + +private: + std::vector hostData_; // Host-side vector + +#if defined(__CUDACC__) + T *devicePtr_; // Device pointer +#endif +}; diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index b199dd32d..99f3b8140 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -24,12 +24,19 @@ #pragma once #include "AllSpikingNeurons.h" +#include "DeviceVector.h" #include "Global.h" // cereal #include #include -struct AllIFNeuronsDeviceProperties; +//AllIFNeuronsDeviceProperties is alias for AllSpikingNeuronsDeviceProperties +//for now, to avoid removing the AllIFNeuronsDeviceProperties struct, but +//eventually it can be removed from all the places where it is used and +//instead replaced by AllSpikingNeuronsDeviceProperties(base struct) itself. +#if defined(USE_GPU) +using AllIFNeuronsDeviceProperties = AllSpikingNeuronsDeviceProperties; +#endif // defined(USE_GPU) class AllIFNeurons : public AllSpikingNeurons { public: @@ -166,56 +173,56 @@ class AllIFNeurons : public AllSpikingNeurons { public: /// The length of the absolute refractory period. [units=sec; range=(0,1);] - vector Trefract_; + DeviceVector Trefract_; /// If \f$V_m\f$ exceeds \f$V_{thresh}\f$ a spike is emmited. [units=V; range=(-10,100);] - vector Vthresh_; + DeviceVector Vthresh_; /// The resting membrane voltage. [units=V; range=(-1,1);] - vector Vrest_; + DeviceVector Vrest_; /// The voltage to reset \f$V_m\f$ to after a spike. [units=V; range=(-1,1);] - vector Vreset_; + DeviceVector Vreset_; /// The initial condition for \f$V_m\f$ at time \f$t=0\f$. [units=V; range=(-1,1);] - vector Vinit_; + DeviceVector Vinit_; /// The membrane capacitance \f$C_m\f$ [range=(0,1); units=F;] /// Used to initialize Tau (no use after that) - vector Cm_; + DeviceVector Cm_; /// The membrane resistance \f$R_m\f$ [units=Ohm; range=(0,1e30)] - vector Rm_; + DeviceVector Rm_; /// The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;] - vector Inoise_; + DeviceVector Inoise_; /// A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);] - vector Iinject_; + DeviceVector Iinject_; /// What the hell is this used for??? /// It does not seem to be used; seems to be a candidate for deletion. /// Possibly from the old code before using a separate summation point /// The synaptic input current. - vector Isyn_; + DeviceVector Isyn_; /// The remaining number of time steps for the absolute refractory period. - vector numStepsInRefractoryPeriod_; + DeviceVector numStepsInRefractoryPeriod_; /// Internal constant for the exponential Euler integration of f$V_m\f$. - vector C1_; + DeviceVector C1_; /// Internal constant for the exponential Euler integration of \f$V_m\f$. - vector C2_; + DeviceVector C2_; /// Internal constant for the exponential Euler integration of \f$V_m\f$. - vector I0_; + DeviceVector I0_; /// The membrane voltage \f$V_m\f$ [readonly; units=V;] - vector Vm_; + DeviceVector Vm_; /// The membrane time constant \f$(R_m \cdot C_m)\f$ - vector Tau_; + DeviceVector Tau_; private: /// Min/max values of Iinject. @@ -243,76 +250,26 @@ class AllIFNeurons : public AllSpikingNeurons { BGFLOAT starterVresetRange_[2]; }; -#if defined(USE_GPU) -struct AllIFNeuronsDeviceProperties : public AllSpikingNeuronsDeviceProperties { - /// The length of the absolute refractory period. [units=sec; range=(0,1);] - BGFLOAT *Trefract_; - - /// If \f$V_m\f$ exceeds \f$V_{thresh}\f$ a spike is emmited. [units=V; range=(-10,100);] - BGFLOAT *Vthresh_; - - /// The resting membrane voltage. [units=V; range=(-1,1);] - BGFLOAT *Vrest_; - - /// The voltage to reset \f$V_m\f$ to after a spike. [units=V; range=(-1,1);] - BGFLOAT *Vreset_; - - /// The initial condition for \f$V_m\f$ at time \f$t=0\f$. [units=V; range=(-1,1);] - BGFLOAT *Vinit_; - - /// The membrane capacitance \f$C_m\f$ [range=(0,1); units=F;] - /// Used to initialize Tau (no use after that) - BGFLOAT *Cm_; - - /// The membrane resistance \f$R_m\f$ [units=Ohm; range=(0,1e30)] - BGFLOAT *Rm_; - - /// The standard deviation of the noise to be added each integration time constant. [range=(0,1); units=A;] - BGFLOAT *Inoise_; - - /// A constant current to be injected into the LIF neuron. [units=A; range=(-1,1);] - BGFLOAT *Iinject_; - - /// What the hell is this used for??? - /// It does not seem to be used; seems to be a candidate for deletion. - /// Possibly from the old code before using a separate summation point - /// The synaptic input current. - BGFLOAT *Isyn_; - - /// The remaining number of time steps for the absolute refractory period. - int *numStepsInRefractoryPeriod_; - - /// Internal constant for the exponential Euler integration of f$V_m\f$. - BGFLOAT *C1_; - - /// Internal constant for the exponential Euler integration of \f$V_m\f$. - BGFLOAT *C2_; - - /// Internal constant for the exponential Euler integration of \f$V_m\f$. - BGFLOAT *I0_; - - /// The membrane voltage \f$V_m\f$ [readonly; units=V;] - BGFLOAT *Vm_; - - /// The membrane time constant \f$(R_m \cdot C_m)\f$ - BGFLOAT *Tau_; -}; -#endif // defined(USE_GPU) - CEREAL_REGISTER_TYPE(AllIFNeurons); /// Cereal serialization method template void AllIFNeurons::serialize(Archive &archive) { - archive(cereal::base_class(this), cereal::make_nvp("Trefract", Trefract_), - cereal::make_nvp("Vthresh", Vthresh_), cereal::make_nvp("Vrest", Vrest_), - cereal::make_nvp("Vreset", Vreset_), cereal::make_nvp("Vinit", Vinit_), - cereal::make_nvp("Cm", Cm_), cereal::make_nvp("Rm", Rm_), - cereal::make_nvp("Inoise", Inoise_), cereal::make_nvp("Iinject", Iinject_), - cereal::make_nvp("Isyn", Isyn_), - cereal::make_nvp("numStepsInRefractoryPeriod", numStepsInRefractoryPeriod_), - cereal::make_nvp("C1", C1_), cereal::make_nvp("C2", C2_), cereal::make_nvp("I0", I0_), - cereal::make_nvp("Vm", Vm_), cereal::make_nvp("Tau", Tau_)); + archive( + cereal::base_class(this), + cereal::make_nvp("Trefract", Trefract_.getHostVector()), + cereal::make_nvp("Vthresh", Vthresh_.getHostVector()), + cereal::make_nvp("Vrest", Vrest_.getHostVector()), + cereal::make_nvp("Vreset", Vreset_.getHostVector()), + cereal::make_nvp("Vinit", Vinit_.getHostVector()), + cereal::make_nvp("Cm", Cm_.getHostVector()), cereal::make_nvp("Rm", Rm_.getHostVector()), + cereal::make_nvp("Inoise", Inoise_.getHostVector()), + cereal::make_nvp("Iinject", Iinject_.getHostVector()), + cereal::make_nvp("Isyn", Isyn_.getHostVector()), + cereal::make_nvp("numStepsInRefractoryPeriod", numStepsInRefractoryPeriod_.getHostVector()), + cereal::make_nvp("C1", C1_.getHostVector()), cereal::make_nvp("C2", C2_.getHostVector()), + cereal::make_nvp("I0", I0_.getHostVector()), cereal::make_nvp("Vm", Vm_.getHostVector()), + cereal::make_nvp("Tau", Tau_.getHostVector())); //Private variables are intentionally excluded from serialization as they are populated from configuration files. } diff --git a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp index 572ff8b97..dd4bc2402 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp @@ -8,6 +8,7 @@ #include "AllIFNeurons.h" #include "Book.h" +#include "DeviceVector.h" /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. @@ -31,25 +32,28 @@ void AllIFNeurons::allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDe int count = Simulator::getInstance().getTotalVertices(); int maxSpikes = static_cast(Simulator::getInstance().getEpochDuration() * Simulator::getInstance().getMaxFiringRate()); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.C1_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.C2_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Cm_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.I0_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Iinject_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Inoise_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Isyn_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Rm_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Tau_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Trefract_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Vinit_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Vm_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Vreset_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Vrest_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Vthresh_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.hasFired_, count * sizeof(bool))); - HANDLE_ERROR( - cudaMalloc((void **)&allVerticesDevice.numStepsInRefractoryPeriod_, count * sizeof(int))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.summationPoints_, count * sizeof(BGFLOAT))); + + C1_.allocateDeviceMemory(); + C2_.allocateDeviceMemory(); + Cm_.allocateDeviceMemory(); + I0_.allocateDeviceMemory(); + Iinject_.allocateDeviceMemory(); + Inoise_.allocateDeviceMemory(); + Isyn_.allocateDeviceMemory(); + Rm_.allocateDeviceMemory(); + Tau_.allocateDeviceMemory(); + Trefract_.allocateDeviceMemory(); + Vinit_.allocateDeviceMemory(); + Vm_.allocateDeviceMemory(); + Vrest_.allocateDeviceMemory(); + Vthresh_.allocateDeviceMemory(); + Vreset_.allocateDeviceMemory(); + numStepsInRefractoryPeriod_.allocateDeviceMemory(); + hasFired_.allocateDeviceMemory(); + summationPoints_.allocateDeviceMemory(); + + //Handling memory operations for event buffer (device side) explicitly + // since device vector does not support object types yet #ifdef VALIDATION_MODE HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.spValidation_, count * sizeof(BGFLOAT))); #endif @@ -85,6 +89,8 @@ void AllIFNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct. void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDevice) { + //Handling memory operations for event buffer (device side) explicitly + // since device vector does not support object types yet int count = Simulator::getInstance().getTotalVertices(); uint64_t *pSpikeHistory[count]; HANDLE_ERROR(cudaMemcpy(pSpikeHistory, allVerticesDevice.spikeHistory_, @@ -92,24 +98,26 @@ void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesD for (int i = 0; i < count; i++) { HANDLE_ERROR(cudaFree(pSpikeHistory[i])); } - HANDLE_ERROR(cudaFree(allVerticesDevice.C1_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.C2_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Cm_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.I0_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Iinject_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Inoise_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Isyn_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Rm_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Tau_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Trefract_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Vinit_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Vm_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Vreset_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Vrest_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Vthresh_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.hasFired_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.numStepsInRefractoryPeriod_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.summationPoints_)); + + C1_.freeDeviceMemory(); + C2_.freeDeviceMemory(); + Cm_.freeDeviceMemory(); + I0_.freeDeviceMemory(); + Iinject_.freeDeviceMemory(); + Inoise_.freeDeviceMemory(); + Isyn_.freeDeviceMemory(); + Rm_.freeDeviceMemory(); + Tau_.freeDeviceMemory(); + Trefract_.freeDeviceMemory(); + Vinit_.freeDeviceMemory(); + Vm_.freeDeviceMemory(); + Vrest_.freeDeviceMemory(); + Vthresh_.freeDeviceMemory(); + Vreset_.freeDeviceMemory(); + numStepsInRefractoryPeriod_.freeDeviceMemory(); + hasFired_.freeDeviceMemory(); + summationPoints_.freeDeviceMemory(); + #ifdef VALIDATION_MODE HANDLE_ERROR(cudaFree(allVerticesDevice.spValidation_)); #endif @@ -121,43 +129,23 @@ void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesD /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. void AllIFNeurons::copyToDevice(void *allVerticesDevice) { - int count = Simulator::getInstance().getTotalVertices(); - AllIFNeuronsDeviceProperties allVerticesDeviceProps; - HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, - sizeof(AllIFNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.C1_, C1_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.C2_, C2_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Cm_, Cm_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.I0_, I0_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Iinject_, Iinject_.data(), - count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Inoise_, Inoise_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Isyn_, Isyn_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Rm_, Rm_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Tau_, Tau_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Trefract_, Trefract_.data(), - count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Vinit_, Vinit_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Vm_, Vm_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Vreset_, Vreset_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Vrest_, Vrest_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Vthresh_, Vthresh_.data(), - count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.numStepsInRefractoryPeriod_, - numStepsInRefractoryPeriod_.data(), count * sizeof(int), - cudaMemcpyHostToDevice)); + C1_.copyToDevice(); + C2_.copyToDevice(); + Cm_.copyToDevice(); + I0_.copyToDevice(); + Iinject_.copyToDevice(); + Inoise_.copyToDevice(); + Isyn_.copyToDevice(); + Rm_.copyToDevice(); + Tau_.copyToDevice(); + Trefract_.copyToDevice(); + Vinit_.copyToDevice(); + Vm_.copyToDevice(); + Vrest_.copyToDevice(); + Vthresh_.copyToDevice(); + Vreset_.copyToDevice(); + numStepsInRefractoryPeriod_.copyToDevice(); + AllSpikingNeurons::copyToDevice(allVerticesDevice); } @@ -167,44 +155,25 @@ void AllIFNeurons::copyToDevice(void *allVerticesDevice) void AllIFNeurons::copyFromDevice(void *allVerticesDevice) { AllSpikingNeurons::copyFromDevice(allVerticesDevice); - int count = Simulator::getInstance().getTotalVertices(); - AllIFNeuronsDeviceProperties allVerticesDeviceProps; - HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, - sizeof(AllIFNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(C1_.data(), allVerticesDeviceProps.C1_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(C2_.data(), allVerticesDeviceProps.C2_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Cm_.data(), allVerticesDeviceProps.Cm_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(I0_.data(), allVerticesDeviceProps.I0_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Iinject_.data(), allVerticesDeviceProps.Iinject_, - count * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Inoise_.data(), allVerticesDeviceProps.Inoise_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Isyn_.data(), allVerticesDeviceProps.Isyn_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Rm_.data(), allVerticesDeviceProps.Rm_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Tau_.data(), allVerticesDeviceProps.Tau_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Trefract_.data(), allVerticesDeviceProps.Trefract_, - count * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Vinit_.data(), allVerticesDeviceProps.Vinit_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Vm_.data(), allVerticesDeviceProps.Vm_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Vreset_.data(), allVerticesDeviceProps.Vreset_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Vrest_.data(), allVerticesDeviceProps.Vrest_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Vthresh_.data(), allVerticesDeviceProps.Vthresh_, - count * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(numStepsInRefractoryPeriod_.data(), - allVerticesDeviceProps.numStepsInRefractoryPeriod_, count * sizeof(int), - cudaMemcpyDeviceToHost)); + + C1_.copyToHost(); + C2_.copyToHost(); + Cm_.copyToHost(); + I0_.copyToHost(); + Iinject_.copyToHost(); + Inoise_.copyToHost(); + Isyn_.copyToHost(); + Rm_.copyToHost(); + Tau_.copyToHost(); + Trefract_.copyToHost(); + Vinit_.copyToHost(); + Vm_.copyToHost(); + Vrest_.copyToHost(); + Vthresh_.copyToHost(); + Vreset_.copyToHost(); + numStepsInRefractoryPeriod_.copyToHost(); } + /// Clear the spike counts out of all neurons. /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons.h b/Simulator/Vertices/Neuro/AllIZHNeurons.h index ee1520790..349df0ee2 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons.h +++ b/Simulator/Vertices/Neuro/AllIZHNeurons.h @@ -72,12 +72,19 @@ #pragma once #include "AllIFNeurons.h" +#include "DeviceVector.h" #include "Global.h" // cereal #include #include -struct AllIZHNeuronsDeviceProperties; +//AllIZHNeuronsDeviceProperties is alias for AllIFNeuronsDeviceProperties +//for now, to avoid removing the AllIZHNeuronsDeviceProperties struct, but +//eventually it can be removed from all the places where it is used and +//instead replaced by AllSpikingNeuronsDeviceProperties(base struct) itself. +#if defined(USE_GPU) +using AllIZHNeuronsDeviceProperties = AllIFNeuronsDeviceProperties; +#endif // defined(USE_GPU) // Class to hold all data necessary for all the Neurons. class AllIZHNeurons : public AllIFNeurons { @@ -245,22 +252,22 @@ class AllIZHNeurons : public AllIFNeurons { public: /// A constant (0.02, 01) describing the coupling of variable u to Vm. - vector Aconst_; + DeviceVector Aconst_; /// A constant controlling sensitivity of u. - vector Bconst_; + DeviceVector Bconst_; /// A constant controlling reset of Vm. - vector Cconst_; + DeviceVector Cconst_; /// A constant controlling reset of u. - vector Dconst_; + DeviceVector Dconst_; /// internal variable. - vector u_; + DeviceVector u_; /// Internal constant for the exponential Euler integration. - vector C3_; + DeviceVector C3_; private: /// Default value of Aconst. @@ -300,37 +307,17 @@ class AllIZHNeurons : public AllIFNeurons { BGFLOAT inhDconst_[2]; }; -#if defined(USE_GPU) -struct AllIZHNeuronsDeviceProperties : public AllIFNeuronsDeviceProperties { - /// A constant (0.02, 01) describing the coupling of variable u to Vm. - BGFLOAT *Aconst_; - - /// A constant controlling sensitivity of u. - BGFLOAT *Bconst_; - - /// A constant controlling reset of Vm. - BGFLOAT *Cconst_; - - /// A constant controlling reset of u. - BGFLOAT *Dconst_; - - /// internal variable. - BGFLOAT *u_; - - /// Internal constant for the exponential Euler integration. - BGFLOAT *C3_; -}; -#endif // defined(USE_GPU) - CEREAL_REGISTER_TYPE(AllIZHNeurons); /// Cereal serialization method template void AllIZHNeurons::serialize(Archive &archive) { - archive(cereal::base_class(this), cereal::make_nvp("Aconst", Aconst_), - cereal::make_nvp("Bconst", Bconst_), cereal::make_nvp("Cconst", Cconst_), - cereal::make_nvp("Dconst", Dconst_), cereal::make_nvp("u", u_), - cereal::make_nvp("C3", C3_)); + archive(cereal::base_class(this), + cereal::make_nvp("Aconst", Aconst_.getHostVector()), + cereal::make_nvp("Bconst", Bconst_.getHostVector()), + cereal::make_nvp("Cconst", Cconst_.getHostVector()), + cereal::make_nvp("Dconst", Dconst_.getHostVector()), + cereal::make_nvp("u", u_.getHostVector()), cereal::make_nvp("C3", C3_.getHostVector())); //Private variables are intentionally excluded from serialization as they are populated from configuration files. } diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp index 2e0c8d2a6..f16d7c89a 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp @@ -10,6 +10,7 @@ #include "AllSpikingSynapses.h" #include "AllVerticesDeviceFuncs.h" #include "Book.h" +#include "DeviceVector.h" /// CUDA code for advancing izhikevich neurons @@ -25,12 +26,14 @@ /// @param[in] edgeIndexMap Inverse map, which is a table indexed by an input neuron and maps to the synapses that provide input to that neuron. /// @param[in] fAllowBackPropagation True if back propagaion is allowed. -__global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int maxSpikes, - BGFLOAT deltaT, uint64_t simulationStep, float randNoise[], - AllIZHNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - EdgeIndexMapDevice *edgeIndexMapDevice, - bool fAllowBackPropagation); +__global__ void advanceIZHNeuronsDevice( + int totalVertices, int maxEdges, int maxSpikes, BGFLOAT deltaT, uint64_t simulationStep, + float randNoise[], bool *hasFired_, BGFLOAT *summationPoints_, BGFLOAT *Vm_, BGFLOAT *Aconst_, + BGFLOAT *Bconst_, BGFLOAT *u_, int *numStepsInRefractoryPeriod_, BGFLOAT *Vthresh_, + BGFLOAT *Trefract_, BGFLOAT *Cconst_, BGFLOAT *Dconst_, BGFLOAT *I0_, BGFLOAT *Inoise_, + BGFLOAT *C3_, BGFLOAT *C2_, AllIZHNeuronsDeviceProperties *allVerticesDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, + bool fAllowBackPropagation); /// Allocate GPU memories to store all neurons' states, @@ -55,16 +58,14 @@ void AllIZHNeurons::allocVerticesDeviceStruct(void **allVerticesDevice) /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct on device memory. void AllIZHNeurons::allocDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice) { - int count = Simulator::getInstance().getTotalVertices(); - AllIFNeurons::allocDeviceStruct(allVerticesDevice); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Aconst_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Bconst_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Cconst_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.Dconst_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.u_, count * sizeof(BGFLOAT))); - HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.C3_, count * sizeof(BGFLOAT))); + Aconst_.allocateDeviceMemory(); + Bconst_.allocateDeviceMemory(); + Cconst_.allocateDeviceMemory(); + Dconst_.allocateDeviceMemory(); + u_.allocateDeviceMemory(); + C3_.allocateDeviceMemory(); } /// Delete GPU memories. @@ -89,12 +90,12 @@ void AllIZHNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) /// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct on device memory. void AllIZHNeurons::deleteDeviceStruct(AllIZHNeuronsDeviceProperties &allVerticesDevice) { - HANDLE_ERROR(cudaFree(allVerticesDevice.Aconst_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Bconst_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Cconst_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.Dconst_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.u_)); - HANDLE_ERROR(cudaFree(allVerticesDevice.C3_)); + Aconst_.freeDeviceMemory(); + Bconst_.freeDeviceMemory(); + Cconst_.freeDeviceMemory(); + Dconst_.freeDeviceMemory(); + u_.freeDeviceMemory(); + C3_.freeDeviceMemory(); AllIFNeurons::deleteDeviceStruct(allVerticesDevice); } @@ -105,27 +106,14 @@ void AllIZHNeurons::deleteDeviceStruct(AllIZHNeuronsDeviceProperties &allVertice /// on device memory. void AllIZHNeurons::copyToDevice(void *allVerticesDevice) { - AllIZHNeuronsDeviceProperties allVerticesDeviceProps; - - HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, - sizeof(AllIZHNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); - - int count = Simulator::getInstance().getTotalVertices(); - AllIFNeurons::copyToDevice(allVerticesDevice); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Aconst_, Aconst_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Bconst_, Bconst_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Cconst_, Cconst_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Dconst_, Dconst_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.u_, u_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.C3_, C3_.data(), count * sizeof(BGFLOAT), - cudaMemcpyHostToDevice)); + Aconst_.copyToDevice(); + Bconst_.copyToDevice(); + Cconst_.copyToDevice(); + Dconst_.copyToDevice(); + u_.copyToDevice(); + C3_.copyToDevice(); } /// Copy all neurons' data from device to host. @@ -135,25 +123,13 @@ void AllIZHNeurons::copyToDevice(void *allVerticesDevice) void AllIZHNeurons::copyFromDevice(void *allVerticesDevice) { AllIFNeurons::copyFromDevice(allVerticesDevice); - AllIZHNeuronsDeviceProperties allVerticesDeviceProps; - - HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, - sizeof(AllIZHNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); - int count = Simulator::getInstance().getTotalVertices(); - - HANDLE_ERROR(cudaMemcpy(Aconst_.data(), allVerticesDeviceProps.Aconst_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Bconst_.data(), allVerticesDeviceProps.Bconst_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Cconst_.data(), allVerticesDeviceProps.Cconst_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(Dconst_.data(), allVerticesDeviceProps.Dconst_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(u_.data(), allVerticesDeviceProps.u_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(C3_.data(), allVerticesDeviceProps.C3_, count * sizeof(BGFLOAT), - cudaMemcpyDeviceToHost)); + Aconst_.copyToHost(); + Bconst_.copyToHost(); + Cconst_.copyToHost(); + Dconst_.copyToHost(); + u_.copyToHost(); + C3_.copyToHost(); } /// Copy spike history data stored in device memory to host. @@ -197,8 +173,9 @@ void AllIZHNeurons::advanceVertices(AllEdges &synapses, void *allVerticesDevice, // Advance neurons -------------> advanceIZHNeuronsDevice<<>>( vertex_count, Simulator::getInstance().getMaxEdgesPerVertex(), maxSpikes, - Simulator::getInstance().getDeltaT(), g_simulationStep, randNoise, - (AllIZHNeuronsDeviceProperties *)allVerticesDevice, + Simulator::getInstance().getDeltaT(), g_simulationStep, randNoise, hasFired_, + summationPoints_, Vm_, Aconst_, Bconst_, u_, numStepsInRefractoryPeriod_, Vthresh_, Trefract_, + Cconst_, Dconst_, I0_, Inoise_, C3_, C2_, (AllIZHNeuronsDeviceProperties *)allVerticesDevice, (AllSpikingSynapsesDeviceProperties *)allEdgesDevice, edgeIndexMapDevice, fAllowBackPropagation_); } @@ -216,36 +193,38 @@ void AllIZHNeurons::advanceVertices(AllEdges &synapses, void *allVerticesDevice, /// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. /// @param[in] edgeIndexMap Inverse map, which is a table indexed by an input neuron and maps to the synapses that provide input to that neuron. /// @param[in] fAllowBackPropagation True if back propagaion is allowed. -__global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int maxSpikes, - BGFLOAT deltaT, uint64_t simulationStep, float randNoise[], - AllIZHNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - EdgeIndexMapDevice *edgeIndexMapDevice, - bool fAllowBackPropagation) +__global__ void advanceIZHNeuronsDevice( + int totalVertices, int maxEdges, int maxSpikes, BGFLOAT deltaT, uint64_t simulationStep, + float randNoise[], bool *hasFired_, BGFLOAT *summationPoints_, BGFLOAT *Vm_, BGFLOAT *Aconst_, + BGFLOAT *Bconst_, BGFLOAT *u_, int *numStepsInRefractoryPeriod_, BGFLOAT *Vthresh_, + BGFLOAT *Trefract_, BGFLOAT *Cconst_, BGFLOAT *Dconst_, BGFLOAT *I0_, BGFLOAT *Inoise_, + BGFLOAT *C3_, BGFLOAT *C2_, AllIZHNeuronsDeviceProperties *allVerticesDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, + bool fAllowBackPropagation) { // determine which neuron this thread is processing int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx >= totalVertices) return; - allVerticesDevice->hasFired_[idx] = false; - BGFLOAT &sp = allVerticesDevice->summationPoints_[idx]; - BGFLOAT &vm = allVerticesDevice->Vm_[idx]; - BGFLOAT &a = allVerticesDevice->Aconst_[idx]; - BGFLOAT &b = allVerticesDevice->Bconst_[idx]; - BGFLOAT &u = allVerticesDevice->u_[idx]; + hasFired_[idx] = false; + BGFLOAT &sp = summationPoints_[idx]; + BGFLOAT &vm = Vm_[idx]; + BGFLOAT &a = Aconst_[idx]; + BGFLOAT &b = Bconst_[idx]; + BGFLOAT &u = u_[idx]; BGFLOAT r_sp = sp; BGFLOAT r_vm = vm; BGFLOAT r_a = a; BGFLOAT r_b = b; BGFLOAT r_u = u; - if (allVerticesDevice->numStepsInRefractoryPeriod_[idx] > 0) { // is neuron refractory? - --allVerticesDevice->numStepsInRefractoryPeriod_[idx]; - } else if (r_vm >= allVerticesDevice->Vthresh_[idx]) { // should it fire? + if (numStepsInRefractoryPeriod_[idx] > 0) { // is neuron refractory? + --numStepsInRefractoryPeriod_[idx]; + } else if (r_vm >= Vthresh_[idx]) { // should it fire? int &spikeCount = allVerticesDevice->numElementsInEpoch_[idx]; // Note that the neuron has fired! - allVerticesDevice->hasFired_[idx] = true; + hasFired_[idx] = true; // record spike time int &queueEnd = allVerticesDevice->bufferEnd_[idx]; allVerticesDevice->spikeHistory_[idx][queueEnd] = simulationStep; @@ -254,12 +233,11 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max queueEnd = (queueEnd + 1) % maxSpikes; // calculate the number of steps in the absolute refractory period - allVerticesDevice->numStepsInRefractoryPeriod_[idx] - = static_cast(allVerticesDevice->Trefract_[idx] / deltaT + 0.5); + numStepsInRefractoryPeriod_[idx] = static_cast(Trefract_[idx] / deltaT + 0.5); // reset to 'Vreset' - vm = allVerticesDevice->Cconst_[idx] * 0.001; - u = r_u + allVerticesDevice->Dconst_[idx]; + vm = Cconst_[idx] * 0.001; + u = r_u + Dconst_[idx]; // notify outgoing synapses of spike BGSIZE synapseCounts = edgeIndexMapDevice->outgoingEdgeCount_[idx]; @@ -306,18 +284,18 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max } // end switch } } else { - r_sp += allVerticesDevice->I0_[idx]; // add IO + r_sp += I0_[idx]; // add IO // Random number alg. goes here - r_sp += (randNoise[idx] * allVerticesDevice->Inoise_[idx]); // add cheap noise + r_sp += (randNoise[idx] * Inoise_[idx]); // add cheap noise BGFLOAT Vint = r_vm * 1000; // Izhikevich model integration step - BGFLOAT Vb = Vint + allVerticesDevice->C3_[idx] * (0.04 * Vint * Vint + 5 * Vint + 140 - u); - u = r_u + allVerticesDevice->C3_[idx] * r_a * (r_b * Vint - r_u); + BGFLOAT Vb = Vint + C3_[idx] * (0.04 * Vint * Vint + 5 * Vint + 140 - u); + u = r_u + C3_[idx] * r_a * (r_b * Vint - r_u); - vm = Vb * 0.001 + allVerticesDevice->C2_[idx] * r_sp; // add inputs + vm = Vb * 0.001 + C2_[idx] * r_sp; // add inputs } // clear synaptic input for next time step diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp index 25fcdf3be..7ba68ec29 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp @@ -24,12 +24,13 @@ /// @param[in] edgeIndexMap Inverse map, which is a table indexed by an input neuron and maps to the synapses that provide input to that neuron. /// @param[in] fAllowBackPropagation True if back propagaion is allowed. -__global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int maxSpikes, - BGFLOAT deltaT, uint64_t simulationStep, float randNoise[], - AllIFNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - EdgeIndexMapDevice *edgeIndexMapDevice, - bool fAllowBackPropagation); +__global__ void advanceLIFNeuronsDevice( + int totalVertices, int maxEdges, int maxSpikes, BGFLOAT deltaT, uint64_t simulationStep, + float randNoise[], bool *hasFired_, BGFLOAT *summationPoints_, BGFLOAT *Vm_, BGFLOAT *Trefract_, + int *numStepsInRefractoryPeriod_, BGFLOAT *Vthresh_, BGFLOAT *Vreset_, BGFLOAT *I0_, + BGFLOAT *Inoise, BGFLOAT *C2_, BGFLOAT *C1_, AllIFNeuronsDeviceProperties *allVerticesDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, + bool fAllowBackPropagation); /// Update the state of all neurons for a time step @@ -57,8 +58,9 @@ void AllLIFNeurons::advanceVertices(AllEdges &synapses, void *allVerticesDevice, // Advance neurons -------------> advanceLIFNeuronsDevice<<>>( vertex_count, Simulator::getInstance().getMaxEdgesPerVertex(), maxSpikes, - Simulator::getInstance().getDeltaT(), g_simulationStep, randNoise, - (AllIFNeuronsDeviceProperties *)allVerticesDevice, + Simulator::getInstance().getDeltaT(), g_simulationStep, randNoise, hasFired_, + summationPoints_, Vm_, Trefract_, numStepsInRefractoryPeriod_, Vthresh_, Vreset_, I0_, + Inoise_, C2_, C1_, (AllIFNeuronsDeviceProperties *)allVerticesDevice, (AllSpikingSynapsesDeviceProperties *)allEdgesDevice, edgeIndexMapDevice, fAllowBackPropagation_); } @@ -82,31 +84,32 @@ void AllLIFNeurons::advanceVertices(AllEdges &synapses, void *allVerticesDevice, /// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. /// @param[in] edgeIndexMap Inverse map, which is a table indexed by an input neuron and maps to the synapses that provide input to that neuron. /// @param[in] fAllowBackPropagation True if back propagaion is allowed. -__global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int maxSpikes, - BGFLOAT deltaT, uint64_t simulationStep, float randNoise[], - AllIFNeuronsDeviceProperties *allVerticesDevice, - AllSpikingSynapsesDeviceProperties *allEdgesDevice, - EdgeIndexMapDevice *edgeIndexMapDevice, - bool fAllowBackPropagation) +__global__ void advanceLIFNeuronsDevice( + int totalVertices, int maxEdges, int maxSpikes, BGFLOAT deltaT, uint64_t simulationStep, + float randNoise[], bool *hasFired_, BGFLOAT *summationPoints_, BGFLOAT *Vm_, BGFLOAT *Trefract_, + int *numStepsInRefractoryPeriod_, BGFLOAT *Vthresh_, BGFLOAT *Vreset_, BGFLOAT *I0_, + BGFLOAT *Inoise_, BGFLOAT *C2_, BGFLOAT *C1_, AllIFNeuronsDeviceProperties *allVerticesDevice, + AllSpikingSynapsesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, + bool fAllowBackPropagation) { // determine which neuron this thread is processing int idx = blockIdx.x * blockDim.x + threadIdx.x; if (idx >= totalVertices) return; - allVerticesDevice->hasFired_[idx] = false; - BGFLOAT &sp = allVerticesDevice->summationPoints_[idx]; - BGFLOAT &vm = allVerticesDevice->Vm_[idx]; + hasFired_[idx] = false; + BGFLOAT &sp = summationPoints_[idx]; + BGFLOAT &vm = Vm_[idx]; BGFLOAT r_sp = sp; BGFLOAT r_vm = vm; - if (allVerticesDevice->numStepsInRefractoryPeriod_[idx] > 0) { // is neuron refractory? - --allVerticesDevice->numStepsInRefractoryPeriod_[idx]; - } else if (r_vm >= allVerticesDevice->Vthresh_[idx]) { // should it fire? + if (numStepsInRefractoryPeriod_[idx] > 0) { // is neuron refractory? + --numStepsInRefractoryPeriod_[idx]; + } else if (r_vm >= Vthresh_[idx]) { // should it fire? int &spikeCount = allVerticesDevice->numElementsInEpoch_[idx]; // Note that the neuron has fired! - allVerticesDevice->hasFired_[idx] = true; + hasFired_[idx] = true; // record spike time int &queueEnd = allVerticesDevice->bufferEnd_[idx]; @@ -123,11 +126,10 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max // ); // calculate the number of steps in the absolute refractory period - allVerticesDevice->numStepsInRefractoryPeriod_[idx] - = static_cast(allVerticesDevice->Trefract_[idx] / deltaT + 0.5); + numStepsInRefractoryPeriod_[idx] = static_cast(Trefract_[idx] / deltaT + 0.5); // reset to 'Vreset' - vm = allVerticesDevice->Vreset_[idx]; + vm = Vreset_[idx]; // notify outgoing synapses of spike BGSIZE synapseCounts = edgeIndexMapDevice->outgoingEdgeCount_[idx]; @@ -174,12 +176,11 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max } // end switch } } else { - r_sp += allVerticesDevice->I0_[idx]; // add IO + r_sp += I0_[idx]; // add IO // Random number alg. goes here - r_sp += (randNoise[idx] * allVerticesDevice->Inoise_[idx]); // add cheap noise - vm = allVerticesDevice->C1_[idx] * r_vm - + allVerticesDevice->C2_[idx] * (r_sp); // decay Vm and add inputs + r_sp += (randNoise[idx] * Inoise_[idx]); // add cheap noise + vm = C1_[idx] * r_vm + C2_[idx] * (r_sp); // decay Vm and add inputs } #ifdef VALIDATION_MODE allVerticesDevice->spValidation_[idx] = r_sp; diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.h b/Simulator/Vertices/Neuro/AllSpikingNeurons.h index 675370a26..1d1b35726 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.h +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.h @@ -25,6 +25,7 @@ using namespace std; #include "AllSpikingSynapses.h" #include "AllVertices.h" +#include "DeviceVector.h" #include "EventBuffer.h" #include "Global.h" #include @@ -118,7 +119,7 @@ class AllSpikingNeurons : public AllVertices { // TODO change the "public" after re-engineering Recorder public: /// The booleans which track whether the neuron has fired. - vector hasFired_; + DeviceVector hasFired_; /// Holds at least one epoch's worth of event times for every vertex vector vertexEvents_; @@ -128,7 +129,7 @@ class AllSpikingNeurons : public AllVertices { /// apply (summed up) their PSRs (Post-Synaptic-Response). /// On the next advance cycle, vertices add the values stored in their corresponding /// summation points to their Vm and resets the summation points to zero - vector summationPoints_; + DeviceVector summationPoints_; protected: /// True if back propagation is allowed. @@ -139,9 +140,6 @@ class AllSpikingNeurons : public AllVertices { // TODO: move this into EventBuffer.h. Well, hasFired_ and inherited members have to stay somehow. #if defined(USE_GPU) struct AllSpikingNeuronsDeviceProperties : public AllVerticesDeviceProperties { - /// The booleans which track whether the neuron has fired. - bool *hasFired_; - /// Step count (history) for each spike fired by each neuron. /// The step counts are stored in a buffer for each neuron, and the pointers /// to the buffer are stored in a list pointed by spike_history. @@ -153,12 +151,6 @@ struct AllSpikingNeuronsDeviceProperties : public AllVerticesDeviceProperties { int *epochStart_; int *numElementsInEpoch_; - /// The summation point for each vertex. - /// Summation points are places where the synapses connected to the vertex - /// apply (summed up) their PSRs (Post-Synaptic-Response). - /// On the next advance cycle, vertices add the values stored in their corresponding - /// summation points to their Vm and resets the summation points to zero - BGFLOAT *summationPoints_; #ifdef VALIDATION_MODE BGFLOAT *spValidation_; #endif @@ -170,8 +162,9 @@ CEREAL_REGISTER_TYPE(AllSpikingNeurons); /// Cereal serialization method template void AllSpikingNeurons::serialize(Archive &archive) { - archive(cereal::base_class(this), cereal::make_nvp("hasFired", hasFired_), + archive(cereal::base_class(this), + cereal::make_nvp("hasFired", hasFired_.getHostVector()), cereal::make_nvp("vertexEvents", vertexEvents_), - cereal::make_nvp("summationPoints", summationPoints_), + cereal::make_nvp("summationPoints", summationPoints_.getHostVector()), cereal::make_nvp("fAllowBackPropagation", fAllowBackPropagation_)); } diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 1fbc9f492..d2722f141 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -9,6 +9,7 @@ #include "AllSpikingNeurons.h" #include "AllSpikingSynapses.h" #include "Book.h" +#include "DeviceVector.h" /// CUDA kernel for adding psr of all incoming synapses to summation points. /// @@ -27,8 +28,7 @@ /// @param[in] synapseIndexMapDevice_ Pointer to forward map structures in device memory. /// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. -__global__ void calcSummationPointDevice(int totalVertices, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, +__global__ void calcSummationPointDevice(int totalVertices, BGFLOAT *summationPoints_, EdgeIndexMapDevice *edgeIndexMapDevice, AllSpikingSynapsesDeviceProperties *allEdgesDevice); @@ -39,13 +39,13 @@ void AllSpikingNeurons::copyToDevice(void *deviceAddress) sizeof(AllSpikingNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); int count = Simulator::getInstance().getTotalVertices(); - bool cpu_has_fired[count]; - for (int i = 0; i < count; i++) { - cpu_has_fired[i] = hasFired_[i]; - } - HANDLE_ERROR(cudaMemcpy(allVerticesDevice.hasFired_, cpu_has_fired, count * sizeof(bool), - cudaMemcpyHostToDevice)); + //Device vector handles memory operations for hasFired_ and summationPoints_ + hasFired_.copyToDevice(); + summationPoints_.copyToDevice(); + + //Handling memory operations for event buffer (device side) explicitly + // since device vector does not support object types yet int cpu_spike_count[count]; for (int i = 0; i < count; i++) { cpu_spike_count[i] = vertexEvents_[i].getNumElementsInEpoch(); @@ -84,9 +84,6 @@ void AllSpikingNeurons::copyToDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(pSpikeHistory[i], vertexEvents_[i].dataSeries_.data(), maxSpikes * sizeof(uint64_t), cudaMemcpyHostToDevice)); } - - HANDLE_ERROR(cudaMemcpy(allVerticesDevice.summationPoints_, summationPoints_.data(), - count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); } void AllSpikingNeurons::copyFromDevice(void *deviceAddress) { @@ -96,12 +93,12 @@ void AllSpikingNeurons::copyFromDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(&allVerticesDevice, deviceAddress, sizeof(AllSpikingNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); - bool cpu_has_fired[numVertices]; - HANDLE_ERROR(cudaMemcpy(cpu_has_fired, allVerticesDevice.hasFired_, numVertices * sizeof(bool), - cudaMemcpyDeviceToHost)); - for (int i = 0; i < numVertices; i++) { - hasFired_[i] = cpu_has_fired[i]; - } + //Device vector handles memory operations for hasFired_ and summationPoints_ + hasFired_.copyToHost(); + summationPoints_.copyToHost(); + + //Handling memory operations for event buffer (device side) explicitly + // since device vector does not support object types yet // We have to copy the whole state of the event buffer from GPU memory because // we reset it in CPU code and then copy the new state back to the GPU. @@ -144,9 +141,6 @@ void AllSpikingNeurons::copyFromDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(vertexEvents_[i].dataSeries_.data(), pSpikeHistory[i], maxSpikes * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); } - - HANDLE_ERROR(cudaMemcpy(summationPoints_.data(), allVerticesDevice.summationPoints_, - numVertices * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); } /// Clear the spike counts out of all neurons in device memory. @@ -156,6 +150,9 @@ void AllSpikingNeurons::copyFromDevice(void *deviceAddress) /// on device memory. void AllSpikingNeurons::clearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties &allVerticesDevice) { + //Handling memory operations for event buffer (device side) explicitly + // since device vector does not support object types yet + int numVertices = Simulator::getInstance().getTotalVertices(); HANDLE_ERROR(cudaMemset(allVerticesDevice.numElementsInEpoch_, 0, numVertices * sizeof(int))); @@ -198,7 +195,7 @@ void AllSpikingNeurons::integrateVertexInputs(void *allVerticesDevice, int vertex_count = Simulator::getInstance().getTotalVertices(); calcSummationPointDevice<<>>( - vertex_count, (AllSpikingNeuronsDeviceProperties *)allVerticesDevice, edgeIndexMapDevice, + vertex_count, summationPoints_, edgeIndexMapDevice, (AllSpikingSynapsesDeviceProperties *)allEdgesDevice); } @@ -219,8 +216,7 @@ void AllSpikingNeurons::integrateVertexInputs(void *allVerticesDevice, /// @param[in] edgeIndexMapDevice Pointer to forward map structures in device memory. /// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. -__global__ void calcSummationPointDevice(int totalVertices, - AllSpikingNeuronsDeviceProperties *allVerticesDevice, +__global__ void calcSummationPointDevice(int totalVertices, BGFLOAT *summationPoints_, EdgeIndexMapDevice *edgeIndexMapDevice, AllSpikingSynapsesDeviceProperties *allEdgesDevice) { @@ -250,6 +246,6 @@ __global__ void calcSummationPointDevice(int totalVertices, sum += allEdgesDevice->psr_[synIndex]; } // Store summed PSR into this neuron's summation point - allVerticesDevice->summationPoints_[idx] = sum; + summationPoints_[idx] = sum; } } diff --git a/Testing/UnitTesting/DeviceVectorTests.cpp b/Testing/UnitTesting/DeviceVectorTests.cpp new file mode 100644 index 000000000..1a1ef4b7d --- /dev/null +++ b/Testing/UnitTesting/DeviceVectorTests.cpp @@ -0,0 +1,202 @@ +/** + * @file DeviceVectorTests.cpp + * + * @brief Unit tests for DeviceVector class using GTest. + * + * @ingroup Testing/UnitTesting + */ + +#include "DeviceVector.h" +#include "gtest/gtest.h" + +/// Test to verify DeviceVector supported types +TEST(DeviceVectorTest, SupportedTypes) +{ + // Verify each type is supported + static_assert(is_device_vector_supported_type::value, + "BGFLOAT should be supported"); + static_assert(is_device_vector_supported_type::value, + "int should be supported"); + static_assert(is_device_vector_supported_type::value, + "bool should be supported"); + // Test vector creation with supported types + DeviceVector v1; // Valid: BGFLOAT + DeviceVector v2; // Valid: int + DeviceVector v3; // Valid: bool + + struct TestStruct {}; + // Verify unsupported types are rejected + static_assert(!is_device_vector_supported_type::value, + "struct should not be supported"); + + // The following would cause compile errors: + // DeviceVector v4; // Error: unsupported type + // DeviceVector v5; // Error: unsupported type +} + +// Test default construction +TEST(DeviceVectorTest, DefaultConstruction) +{ + DeviceVector vec; + EXPECT_EQ(vec.size(), 0); + EXPECT_TRUE(vec.empty()); +} + +// Test sized construction +TEST(DeviceVectorTest, SizedConstruction) +{ + DeviceVector vec(5); + EXPECT_EQ(vec.size(), 5); + EXPECT_FALSE(vec.empty()); +} + +// Test assignment operation +TEST(DeviceVectorTest, Assignment) +{ + DeviceVector vec; + vec.assign(3, 42); + EXPECT_EQ(vec.size(), 3); + EXPECT_FALSE(vec.empty()); + for (size_t i = 0; i < vec.size(); ++i) { + EXPECT_EQ(vec[i], 42); + } +} + +// Test vector resizing +TEST(DeviceVectorTest, Resize) +{ + DeviceVector vec; + vec.resize(5, 10); + EXPECT_EQ(vec.size(), 5); + for (size_t i = 0; i < vec.size(); ++i) { + EXPECT_EQ(vec[i], 10); + } + + // Resize smaller + vec.resize(3); + EXPECT_EQ(vec.size(), 3); + for (size_t i = 0; i < vec.size(); ++i) { + EXPECT_EQ(vec[i], 10); // Original values should be preserved + } +} + +// Test vector clearing +TEST(DeviceVectorTest, Clear) +{ + DeviceVector vec(5); + EXPECT_FALSE(vec.empty()); + EXPECT_EQ(vec.size(), 5); + + vec.clear(); + EXPECT_TRUE(vec.empty()); + EXPECT_EQ(vec.size(), 0); +} + +// Test element access +TEST(DeviceVectorTest, ElementAccess) +{ + DeviceVector vec(3); + vec[0] = 10; + vec[1] = 20; + vec[2] = 30; + + EXPECT_EQ(vec.front(), 10); + EXPECT_EQ(vec.back(), 30); + EXPECT_EQ(vec[1], 20); +} + +// Test boolean vector specialization +TEST(DeviceVectorTest, BooleanVector) +{ + DeviceVector vec(3); + vec[0] = true; + vec[1] = false; + vec[2] = true; + EXPECT_TRUE(vec[0]); + EXPECT_FALSE(vec[1]); + EXPECT_TRUE(vec[2]); +} + +// Test const access methods +TEST(DeviceVectorTest, ConstAccess) +{ + DeviceVector vec(3); + vec.assign(3, 42); + + // Test const methods directly on vec + EXPECT_EQ(vec.size(), 3); + EXPECT_EQ(vec[0], 42); + EXPECT_EQ(vec.front(), 42); + EXPECT_EQ(vec.back(), 42); + EXPECT_FALSE(vec.empty()); + + // Test through const pointer to ensure const-correctness + const DeviceVector *constVec = &vec; + EXPECT_EQ(constVec->size(), 3); + EXPECT_EQ((*constVec)[0], 42); + EXPECT_EQ(constVec->front(), 42); + EXPECT_EQ(constVec->back(), 42); + EXPECT_FALSE(constVec->empty()); +} + +#if defined(USE_GPU) +// Test device memory allocation +TEST(DeviceVectorTest, DeviceMemoryAllocation) +{ + DeviceVector vec(3); + vec.assign(3, 42); + EXPECT_EQ(vec.getDevicePointer(), nullptr); + + vec.allocateDeviceMemory(); + EXPECT_NE(vec.getDevicePointer(), nullptr); +} + +// Test device memory and host memory combine copy operations +TEST(DeviceVectorTest, DeviceMemoryCopy) +{ + DeviceVector vec(3); + vec.allocateDeviceMemory(); + + // Test host to device copy + vec[0] = 10; + vec[1] = 20; + vec[2] = 30; + vec.copyToDevice(); + + // Modify host data + vec[0] = 0; + vec[1] = 0; + vec[2] = 0; + + // Copy back from device and verify + vec.copyToHost(); + EXPECT_EQ(vec[0], 10); + EXPECT_EQ(vec[1], 20); + EXPECT_EQ(vec[2], 30); +} + +// Test device memory error handling +TEST(DeviceVectorTest, DeviceMemoryErrors) +{ + DeviceVector vec(3); + + // Attempt to copy without allocation should throw + EXPECT_THROW(vec.copyToDevice(), std::runtime_error); + EXPECT_THROW(vec.copyToHost(), std::runtime_error); +} + +// Test data pointer access +TEST(DeviceVectorTest, DataAccess) +{ + DeviceVector vec(3); + vec.assign(3, 42); + const int *data = vec.data(); + const int *device_data = vec.getDevicePointer(); + + EXPECT_NE(data, nullptr); + EXPECT_EQ(device_data, nullptr); // No device allocation by default + EXPECT_EQ(data[0], 42); + EXPECT_EQ(data[1], 42); + EXPECT_EQ(data[2], 42); +} +#endif From 61fddaa233a147667feba39363b8b2339473841a Mon Sep 17 00:00:00 2001 From: Avikant Wadhwa Date: Tue, 27 May 2025 08:20:43 -0700 Subject: [PATCH 090/153] fix deviceVector GPU --- Simulator/Utils/DeviceVector.h | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Simulator/Utils/DeviceVector.h b/Simulator/Utils/DeviceVector.h index ae1ba9f83..8a22a30f6 100644 --- a/Simulator/Utils/DeviceVector.h +++ b/Simulator/Utils/DeviceVector.h @@ -88,11 +88,8 @@ template class DeviceVector { /// @param size Initial size of the host vector (defaults to 0) /// @post Host vector is created with 'size' default-constructed elements /// @post Device pointer is nullptr (no GPU memory allocated) - explicit DeviceVector(size_t size = 0) : hostData_(size) + explicit DeviceVector(size_t size = 0) : hostData_(size), devicePtr_(nullptr) { -#if defined(__CUDACC__) - devicePtr_ = nullptr; -#endif } ~DeviceVector() = default; @@ -449,7 +446,9 @@ template class DeviceVector { private: std::vector hostData_; // Host-side vector -#if defined(__CUDACC__) + // Introducing compilation guards (__CUDACC__) for the device pointer + // causes a runtime error during GPU simulations. + // This is likely because DeviceVector is included in both + // host (.cpp) and device (_d.cpp) code, and compiled on both sides. T *devicePtr_; // Device pointer -#endif -}; +}; \ No newline at end of file From 151cc8de45c0bcc540a37ac30363b99467ba4963 Mon Sep 17 00:00:00 2001 From: Ben Yang Date: Tue, 3 Jun 2025 21:02:14 -0700 Subject: [PATCH 091/153] added changed files --- Simulator/Core/Core.cpp | 4 +- Simulator/Core/GPUModel.cpp | 238 ++++++++++-------- Simulator/Core/GPUModel.h | 40 +-- Simulator/Core/OperationManager.cpp | 4 +- Simulator/Core/Operations.h | 4 +- Simulator/Core/Serializer.cpp | 5 +- Simulator/Edges/AllEdges.cpp | 24 +- Simulator/Edges/AllEdges.h | 16 +- Simulator/Edges/NG911/All911Edges.h | 10 +- Simulator/Edges/Neuro/AllDSSynapses.h | 15 +- Simulator/Edges/Neuro/AllDSSynapses_d.cpp | 29 +-- .../Edges/Neuro/AllDynamicSTDPSynapses.h | 17 +- .../Edges/Neuro/AllDynamicSTDPSynapses_d.cpp | 28 +-- Simulator/Edges/Neuro/AllSTDPSynapses.h | 16 +- Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp | 28 +-- Simulator/Edges/Neuro/AllSpikingSynapses.h | 15 +- .../Edges/Neuro/AllSpikingSynapses_d.cpp | 27 +- Simulator/Vertices/AllVertices.cpp | 26 +- Simulator/Vertices/AllVertices.h | 16 +- Simulator/Vertices/NG911/All911Vertices.h | 10 +- Simulator/Vertices/Neuro/AllIFNeurons.h | 15 +- Simulator/Vertices/Neuro/AllIFNeurons_d.cpp | 28 ++- Simulator/Vertices/Neuro/AllIZHNeurons.h | 16 +- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp | 36 ++- Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp | 2 +- Simulator/Vertices/Neuro/AllSpikingNeurons.h | 7 +- .../Vertices/Neuro/AllSpikingNeurons_d.cpp | 12 +- 27 files changed, 368 insertions(+), 320 deletions(-) diff --git a/Simulator/Core/Core.cpp b/Simulator/Core/Core.cpp index da1c59bce..6c206ed36 100644 --- a/Simulator/Core/Core.cpp +++ b/Simulator/Core/Core.cpp @@ -206,7 +206,7 @@ int Core::runSimulation(string executableName, string cmdLineArguments) } // Helper function for recorder to register spike history variables for all neurons. - simulator.getModel().getLayout().getVertices().registerHistoryVariables(); + OperationManager::getInstance().executeOperation(Operations::registerHistoryVariables); // Run simulation LOG4CPLUS_TRACE(consoleLogger, "Starting Simulation"); @@ -247,4 +247,4 @@ int Core::runSimulation(string executableName, string cmdLineArguments) cout << "time elapsed: " << timeElapsed << endl; cout << "ssps (simulation seconds / real time seconds): " << ssps << endl; return 0; -} +} \ No newline at end of file diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 5aaf15571..da7b9cbbd 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -12,6 +12,8 @@ #include "AllVertices.h" #include "Connections.h" #include "Global.h" +#include "OperationManager.h" + #ifdef VALIDATION_MODE #include "AllIFNeurons.h" #include "OperationManager.h" @@ -27,51 +29,51 @@ GPUModel::GPUModel() : Model::Model(), edgeIndexMapDevice_(nullptr), randNoise_d(nullptr), allVerticesDevice_(nullptr), allEdgesDevice_(nullptr) { + // Register allocNeuronDeviceStruct function as a allocateGPU operation in the OperationManager + function allocateGPU = bind(&GPUModel::allocDeviceStruct, this); + OperationManager::getInstance().registerOperation(Operations::allocateGPU, allocateGPU); + + // Register copyCPUtoGPU function as a copyCPUtoGPU operation in the OperationManager + function copyCPUtoGPU = bind(&GPUModel::copyCPUtoGPU, this); + OperationManager::getInstance().registerOperation(Operations::copyToGPU, copyCPUtoGPU); + + // Note: We do not register a corresponding copyFromGPU operation here because + // we are only copying the synapseIndexMap to the GPU. This map is a read-only lookup table + // that gets recreated from scratch on each update. As a result, we only need to allocate, + // copy to GPU, and deallocate — there is no meaningful data to copy back from the GPU. + + // Register deleteSynapseImap function as a deallocateGPUMemory operation in the OperationManager + function deallocateGPUMemory = bind(&GPUModel::deleteDeviceStruct, this); + OperationManager::getInstance().registerOperation(Operations::deallocateGPUMemory, + deallocateGPUMemory); } /// Allocates and initializes memories on CUDA device. -/// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. -/// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. -void GPUModel::allocDeviceStruct(void **allVerticesDevice, void **allEdgesDevice) +void GPUModel::allocDeviceStruct() { - // Get vertices and edges - AllVertices &vertices = layout_->getVertices(); - AllEdges &edges = connections_->getEdges(); - - // Allocate vertices and edges structs on GPU device memory - vertices.allocVerticesDeviceStruct(allVerticesDevice); - edges.allocEdgeDeviceStruct(allEdgesDevice); - // Allocate memory for random noise array int numVertices = Simulator::getInstance().getTotalVertices(); BGSIZE randNoise_d_size = numVertices * sizeof(float); // size of random noise array HANDLE_ERROR(cudaMalloc((void **)&randNoise_d, randNoise_d_size)); - // Copy host vertex and edge arrays into GPU device - vertices.copyToDevice(*allVerticesDevice); - edges.copyEdgeHostToDevice(*allEdgesDevice); - - // Allocate edge inverse map in device memory + // Allocate synapse inverse map in device memory allocEdgeIndexMap(numVertices); } /// Copies device memories to host memories and deallocates them. -/// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. -/// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. -void GPUModel::deleteDeviceStruct(void **allVerticesDevice, void **allEdgesDevice) +void GPUModel::deleteDeviceStruct() { - // Get vertices and edges - AllVertices &vertices = layout_->getVertices(); - AllEdges &edges = connections_->getEdges(); - - // Copy device edge and vertex structs to host memory - vertices.copyFromDevice(*allVerticesDevice); - // Deallocate device memory - vertices.deleteVerticesDeviceStruct(*allVerticesDevice); - // Copy device edge and vertex structs to host memory - edges.copyEdgeDeviceToHost(*allEdgesDevice); // Deallocate device memory - edges.deleteEdgeDeviceStruct(*allEdgesDevice); + EdgeIndexMapDevice synapseIMapDevice; + HANDLE_ERROR(cudaMemcpy(&synapseIMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeBegin_)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeCount_)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeIndexMap_)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeBegin_)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeCount_)); + HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeIndexMap_)); + HANDLE_ERROR(cudaFree(edgeIndexMapDevice_)); HANDLE_ERROR(cudaFree(randNoise_d)); } @@ -104,13 +106,9 @@ void GPUModel::setupSim() t_gpu_advanceSynapses = 0.0; t_gpu_calcSummation = 0.0; #endif // PERFORMANCE_METRICS - - // allocates memories on CUDA device - allocDeviceStruct((void **)&allVerticesDevice_, (void **)&allEdgesDevice_); - - EdgeIndexMap &edgeIndexMap = connections_->getEdgeIndexMap(); - // copy inverse map to the device memory - copyEdgeIndexMapHostToDevice(edgeIndexMap, Simulator::getInstance().getTotalVertices()); + // Allocate and copy neuron/synapse data structures to GPU memory + OperationManager::getInstance().executeOperation(Operations::allocateGPU); + OperationManager::getInstance().executeOperation(Operations::copyToGPU); AllEdges &edges = connections_->getEdges(); // set some parameters used for advanceVerticesDevice @@ -123,9 +121,10 @@ void GPUModel::setupSim() /// Performs any finalization tasks on network following a simulation. void GPUModel::finish() { + // copy device synapse and neuron structs to host memory + OperationManager::getInstance().executeOperation(Operations::copyFromGPU); // deallocates memories on CUDA device - deleteDeviceStruct((void **)&allVerticesDevice_, (void **)&allEdgesDevice_); - deleteEdgeIndexMap(); + OperationManager::getInstance().executeOperation(Operations::deallocateGPUMemory); #ifdef PERFORMANCE_METRICS cudaEventDestroy(start); @@ -234,7 +233,7 @@ void GPUModel::updateConnections() AllVertices &vertices = layout_->getVertices(); AllEdges &edges = connections_->getEdges(); - vertices.copyFromDevice(allVerticesDevice_); + vertices.copyFromDevice(); // Update Connections data if (connections_->updateConnections(vertices)) { @@ -243,8 +242,7 @@ void GPUModel::updateConnections() // create edge index map connections_->createEdgeIndexMap(); // copy index map to the device memory - copyEdgeIndexMapHostToDevice(connections_->getEdgeIndexMap(), - Simulator::getInstance().getTotalVertices()); + copyCPUtoGPU(); } } @@ -281,83 +279,119 @@ void GPUModel::allocEdgeIndexMap(int count) cudaMemcpyHostToDevice)); } -/// Deallocate device memory for edge inverse map. -void GPUModel::deleteEdgeIndexMap() +/// Calculate the sum of synaptic input to each neuron. +/// +/// Calculate the sum of synaptic input to each neuron. One thread +/// corresponds to one neuron. Iterates sequentially through the +/// forward synapse index map (edgeIndexMapDevice_) to access only +/// existing synapses. Using this structure eliminates the need to skip +/// synapses that have undergone lazy deletion from the main +/// (allEdgesDevice) synapse structure. The forward map is +/// re-computed during each network restructure (once per epoch) to +/// ensure that all synapse pointers for a neuron are stored +/// contiguously. +/// +/// @param[in] totalVertices Number of vertices in the entire simulation. +/// @param[in,out] allVerticesDevice Pointer to Neuron structures in device memory. +/// @param[in] edgeIndexMapDevice_ Pointer to forward map structures in device memory. +/// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. +__global__ void + calcSummationPointDevice(int totalVertices, + AllSpikingNeuronsDeviceProperties *__restrict__ allVerticesDevice, + const EdgeIndexMapDevice *__restrict__ edgeIndexMapDevice_, + const AllSpikingSynapsesDeviceProperties *__restrict__ allEdgesDevice) { - EdgeIndexMapDevice edgeIndexMapDevice; - HANDLE_ERROR(cudaMemcpy(&edgeIndexMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), - cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeBegin_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeCount_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeIndexMap_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeBegin_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeCount_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeIndexMap_)); - HANDLE_ERROR(cudaFree(edgeIndexMapDevice_)); + // The usual thread ID calculation and guard against excess threads + // (beyond the number of vertices, in this case). + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx >= totalVertices) + return; + + // Number of incoming synapses + const BGSIZE synCount = edgeIndexMapDevice_->incomingEdgeCount_[idx]; + // Optimization: terminate thread if no incoming synapses + if (synCount != 0) { + // Index of start of this neuron's block of forward map entries + const int beginIndex = edgeIndexMapDevice_->incomingEdgeBegin_[idx]; + // Address of the start of this neuron's block of forward map entries + const BGSIZE *activeMapBegin = &(edgeIndexMapDevice_->incomingEdgeIndexMap_[beginIndex]); + // Summed post-synaptic response (PSR) + BGFLOAT sum = 0.0; + // Index of the current incoming synapse + BGSIZE synIndex; + // Repeat for each incoming synapse + for (BGSIZE i = 0; i < synCount; i++) { + // Get index of current incoming synapse + synIndex = activeMapBegin[i]; + // Fetch its PSR and add into sum + sum += allEdgesDevice->psr_[synIndex]; + } + // Store summed PSR into this neuron's summation point + allVerticesDevice->summationPoints_[idx] = sum; + } } -/// Copy EdgeIndexMap in host memory to EdgeIndexMap in device memory. -/// @param edgeIndexMapHost Reference to the EdgeIndexMap in host memory. -void GPUModel::copyEdgeIndexMapHostToDevice(EdgeIndexMap &edgeIndexMapHost, int numVertices) +/// Allocate and Copy CPU Synapse data to GPU. +void GPUModel::copyCPUtoGPU() { - AllEdges &edges = connections_->getEdges(); - int totalEdgeCount = edges.totalEdgeCount_; - if (totalEdgeCount == 0) + EdgeIndexMap synapseIndexMapHost = connections_->getEdgeIndexMap(); + int numVertices = Simulator::getInstance().getTotalVertices(); + AllEdges &synapses = connections_->getEdges(); + int totalSynapseCount = dynamic_cast(synapses).totalEdgeCount_; + if (totalSynapseCount == 0) return; - EdgeIndexMapDevice edgeIndexMapDevice; - HANDLE_ERROR(cudaMemcpy(&edgeIndexMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), + EdgeIndexMapDevice synapseIMapDevice; + HANDLE_ERROR(cudaMemcpy(&synapseIMapDevice, edgeIndexMapDevice_, sizeof(EdgeIndexMapDevice), cudaMemcpyDeviceToHost)); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeBegin_, - edgeIndexMapHost.outgoingEdgeBegin_.data(), numVertices * sizeof(BGSIZE), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeCount_, - edgeIndexMapHost.outgoingEdgeCount_.data(), numVertices * sizeof(BGSIZE), - cudaMemcpyHostToDevice)); - if (edgeIndexMapDevice.outgoingEdgeIndexMap_ != nullptr) { - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.outgoingEdgeIndexMap_)); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeBegin_, + synapseIndexMapHost.outgoingEdgeBegin_.data(), + numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeCount_, + synapseIndexMapHost.outgoingEdgeCount_.data(), + numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + if (synapseIMapDevice.outgoingEdgeIndexMap_ != nullptr) { + HANDLE_ERROR(cudaFree(synapseIMapDevice.outgoingEdgeIndexMap_)); } - HANDLE_ERROR(cudaMalloc((void **)&edgeIndexMapDevice.outgoingEdgeIndexMap_, - totalEdgeCount * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.outgoingEdgeIndexMap_, - edgeIndexMapHost.outgoingEdgeIndexMap_.data(), - totalEdgeCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.outgoingEdgeIndexMap_, + totalSynapseCount * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.outgoingEdgeIndexMap_, + synapseIndexMapHost.outgoingEdgeIndexMap_.data(), + totalSynapseCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); // active synapse map - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeBegin_, - edgeIndexMapHost.incomingEdgeBegin_.data(), numVertices * sizeof(BGSIZE), - cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeCount_, - edgeIndexMapHost.incomingEdgeCount_.data(), numVertices * sizeof(BGSIZE), - cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeBegin_, + synapseIndexMapHost.incomingEdgeBegin_.data(), + numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeCount_, + synapseIndexMapHost.incomingEdgeCount_.data(), + numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); // the number of synapses may change, so we reallocate the memory - if (edgeIndexMapDevice.incomingEdgeIndexMap_ != nullptr) { - HANDLE_ERROR(cudaFree(edgeIndexMapDevice.incomingEdgeIndexMap_)); - edgeIndexMapDevice.incomingEdgeIndexMap_ = nullptr; + if (synapseIMapDevice.incomingEdgeIndexMap_ != nullptr) { + HANDLE_ERROR(cudaFree(synapseIMapDevice.incomingEdgeIndexMap_)); + synapseIMapDevice.incomingEdgeIndexMap_ = nullptr; } - HANDLE_ERROR(cudaMalloc((void **)&edgeIndexMapDevice.incomingEdgeIndexMap_, - totalEdgeCount * sizeof(BGSIZE))); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice.incomingEdgeIndexMap_, - edgeIndexMapHost.incomingEdgeIndexMap_.data(), - totalEdgeCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); - HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice_, &edgeIndexMapDevice, sizeof(EdgeIndexMapDevice), + HANDLE_ERROR(cudaMalloc((void **)&synapseIMapDevice.incomingEdgeIndexMap_, + totalSynapseCount * sizeof(BGSIZE))); + HANDLE_ERROR(cudaMemcpy(synapseIMapDevice.incomingEdgeIndexMap_, + synapseIndexMapHost.incomingEdgeIndexMap_.data(), + totalSynapseCount * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(edgeIndexMapDevice_, &synapseIMapDevice, sizeof(EdgeIndexMapDevice), cudaMemcpyHostToDevice)); } -/// Copy GPU edge data to CPU. -void GPUModel::copyGPUtoCPU() +/// Print out EdgeProps on the GPU. +void GPUModel::printGPUEdgesPropsModel() const { - // copy device edge structs to host memory - connections_->getEdges().copyEdgeDeviceToHost(allEdgesDevice_); + connections_->getEdges().printGPUEdgesProps(allEdgesDevice_); } -/// Copy CPU edge data to GPU. -void GPUModel::copyCPUtoGPU() +/// Getter for neuron structure in device memory +AllVerticesDeviceProperties *&GPUModel::getAllVerticesDevice() { - // copy host edge structs to device memory - connections_->getEdges().copyEdgeHostToDevice(allEdgesDevice_); + return allVerticesDevice_; } -/// Print out EdgeProps on the GPU. -void GPUModel::printGPUEdgesPropsModel() const +/// Getter for synapse structures in device memory +AllEdgesDeviceProperties *&GPUModel::getAllEdgesDevice() { - connections_->getEdges().printGPUEdgesProps(allEdgesDevice_); -} + return allEdgesDevice_; +} \ No newline at end of file diff --git a/Simulator/Core/GPUModel.h b/Simulator/Core/GPUModel.h index c3987f960..0a9562e40 100644 --- a/Simulator/Core/GPUModel.h +++ b/Simulator/Core/GPUModel.h @@ -22,7 +22,10 @@ #pragma once #include "AllEdges.h" +#include "AllSpikingNeurons.h" +#include "AllSpikingSynapses.h" #include "AllVertices.h" +#include "OperationManager.h" #ifdef VALIDATION_MODE #include @@ -81,25 +84,33 @@ class GPUModel : public Model { /// over the past epoch. Should be called once every epoch. virtual void updateConnections() override; - /// Copy GPU edge data to CPU. - virtual void copyGPUtoCPU() override; - - /// Copy CPU edge data to GPU. + /// Copies neuron and synapse data from CPU to GPU memory. + /// TODO: Refactor this. Currently, GPUModel handles low-level memory transfer for vertices and edges. + /// Consider moving this responsibility to a more appropriate class, such as a dedicated memory manager + /// or the OperationManager, to better separate concerns and keep the model focused on high-level coordination. virtual void copyCPUtoGPU() override; + // GPUModel itself does not have anything to be copied back, this function is a + // dummy function just to make GPUModel non virtual + virtual void copyGPUtoCPU() override + { + } + /// Print out EdgeProps on the GPU. void printGPUEdgesPropsModel() const; + /// Getter for edge (synapse) structures in device memory + AllEdgesDeviceProperties *&getAllEdgesDevice(); + + /// Getter for vertex (neuron) structures in device memory + AllVerticesDeviceProperties *&getAllVerticesDevice(); + protected: /// Allocates and initializes memories on CUDA device. - /// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. - /// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. - void allocDeviceStruct(void **allVerticesDevice, void **allEdgesDevice); + void allocDeviceStruct(); - /// Copies device memories to host memories and deallocates them. - /// @param[out] allVerticesDevice Memory location of the pointer to the vertices list on device memory. - /// @param[out] allEdgesDevice Memory location of the pointer to the edges list on device memory. - virtual void deleteDeviceStruct(void **allVerticesDevice, void **allEdgesDevice); + /// Deallocates device memories. + virtual void deleteDeviceStruct(); /// Pointer to device random noise array. float *randNoise_d; @@ -118,11 +129,6 @@ class GPUModel : public Model { private: void allocEdgeIndexMap(int count); - void deleteEdgeIndexMap(); - -public: //2020/03/14 changed to public for accessing in Core - void copyEdgeIndexMapHostToDevice(EdgeIndexMap &edgeIndexMapHost, int numVertices); - private: void updateHistory(); @@ -144,4 +150,4 @@ void normalMTGPU(float *randNoise_d); void initMTGPU(unsigned int seed, unsigned int blocks, unsigned int threads, unsigned int nPerRng, unsigned int mt_rng_count); } -#endif +#endif \ No newline at end of file diff --git a/Simulator/Core/OperationManager.cpp b/Simulator/Core/OperationManager.cpp index dda9e411a..7cd1222b4 100644 --- a/Simulator/Core/OperationManager.cpp +++ b/Simulator/Core/OperationManager.cpp @@ -71,7 +71,9 @@ string OperationManager::operationToString(const Operations &operation) const return "copyToGPU"; case Operations::copyFromGPU: return "copyFromGPU"; + case Operations::allocateGPU: + return "allocateGPU"; default: return "Operation isn't in OperationManager::operationToString()"; } -} +} \ No newline at end of file diff --git a/Simulator/Core/Operations.h b/Simulator/Core/Operations.h index 8cd21f3b6..27b5c4ff2 100644 --- a/Simulator/Core/Operations.h +++ b/Simulator/Core/Operations.h @@ -20,5 +20,7 @@ enum class Operations { deallocateGPUMemory, // Make sure deallocate memory isn't called until all GPU memory is copied back. restoreToDefault, // Not sure what this refers to. copyToGPU, - copyFromGPU + copyFromGPU, + allocateGPU, + registerHistoryVariables }; \ No newline at end of file diff --git a/Simulator/Core/Serializer.cpp b/Simulator/Core/Serializer.cpp index 4b90fbc04..2911ffab8 100644 --- a/Simulator/Core/Serializer.cpp +++ b/Simulator/Core/Serializer.cpp @@ -67,8 +67,7 @@ bool Serializer::deserialize() #if defined(USE_GPU) GPUModel &gpuModel = static_cast(simulator.getModel()); - gpuModel.copyEdgeIndexMapHostToDevice(simulator.getModel().getConnections().getEdgeIndexMap(), - simulator.getTotalVertices()); + gpuModel.copyCPUtoGPU(); #endif // USE_GPU return true; @@ -108,4 +107,4 @@ template bool Serializer::processArchive(Archive &archive, Si return false; } return true; -} +} \ No newline at end of file diff --git a/Simulator/Edges/AllEdges.cpp b/Simulator/Edges/AllEdges.cpp index ecdd1c21a..802e4c183 100644 --- a/Simulator/Edges/AllEdges.cpp +++ b/Simulator/Edges/AllEdges.cpp @@ -26,6 +26,28 @@ AllEdges::AllEdges() : totalEdgeCount_(0), maxEdgesPerVertex_(0), countVertices_ OperationManager::getInstance().registerOperation(Operations::printParameters, printParametersFunc); +#if defined(USE_GPU) + // Register allocNeuronDeviceStruct function as a allocateGPU operation in the OperationManager + function allocateGPU + = bind(static_cast(&AllEdges::allocEdgeDeviceStruct), this); + OperationManager::getInstance().registerOperation(Operations::allocateGPU, allocateGPU); + + // Register AllEdges::copyEdgeHostToDevice function as a copyToGPU operation in the OperationManager + function copyCPUtoGPU + = bind(static_cast(&AllEdges::copyEdgeHostToDevice), this); + OperationManager::getInstance().registerOperation(Operations::copyToGPU, copyCPUtoGPU); + + // Register copyFromGPU operation for transferring edge data from device to host + function copyFromGPU = bind(&AllEdges::copyEdgeDeviceToHost, this); + OperationManager::getInstance().registerOperation(Operations::copyFromGPU, copyFromGPU); + + // Register deleteEdgeDeviceStruct function as a deallocateGPUMemory operation in the OperationManager + function deallocateGPUMemory = bind(&AllEdges::deleteEdgeDeviceStruct, this); + OperationManager::getInstance().registerOperation(Operations::deallocateGPUMemory, + deallocateGPUMemory); + +#endif + fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge")); } @@ -277,4 +299,4 @@ BGSIZE AllEdges::addEdge(edgeType type, int srcVertex, int destVertex, BGFLOAT d // create an edge createEdge(iEdg, srcVertex, destVertex, deltaT, type); return iEdg; -} +} \ No newline at end of file diff --git a/Simulator/Edges/AllEdges.h b/Simulator/Edges/AllEdges.h index 72605ef53..69f9e8f7c 100644 --- a/Simulator/Edges/AllEdges.h +++ b/Simulator/Edges/AllEdges.h @@ -95,9 +95,7 @@ class AllEdges { public: /// Allocate GPU memories to store all edges' states, /// and copy them from host to GPU memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) = 0; + virtual void allocEdgeDeviceStruct() = 0; /// Allocate GPU memories to store all edges' states, /// and copy them from host to GPU memory. @@ -110,13 +108,10 @@ class AllEdges { /// Delete GPU memories. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) = 0; + virtual void deleteEdgeDeviceStruct() = 0; /// Copy all edges' data from host to device. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeHostToDevice(void *allEdgesDevice) = 0; + virtual void copyEdgeHostToDevice() = 0; /// Copy all edges' data from host to device. /// @@ -128,8 +123,7 @@ class AllEdges { /// Copy all edges' data from device to host. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) = 0; + virtual void copyEdgeDeviceToHost() = 0; /// Get edge_counts in AllEdges struct on device memory. /// @@ -270,4 +264,4 @@ template void AllEdges::serialize(Archive &archive) cereal::make_nvp("totalEdgeCount", totalEdgeCount_), cereal::make_nvp("maxEdgesPerVertex", maxEdgesPerVertex_), cereal::make_nvp("countVertices", countVertices_)); -} +} \ No newline at end of file diff --git a/Simulator/Edges/NG911/All911Edges.h b/Simulator/Edges/NG911/All911Edges.h index 6b1c288cf..505972266 100644 --- a/Simulator/Edges/NG911/All911Edges.h +++ b/Simulator/Edges/NG911/All911Edges.h @@ -65,14 +65,14 @@ class All911Edges : public AllEdges { // GPU functionality for 911 simulation is unimplemented. // These signatures are required to make the class non-abstract public: - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) {}; + virtual void allocEdgeDeviceStruct() {}; virtual void allocEdgeDeviceStruct(void **allEdgesDevice, int numVertices, int maxEdgesPerVertex) {}; - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) {}; - virtual void copyEdgeHostToDevice(void *allEdgesDevice) {}; + virtual void deleteEdgeDeviceStruct() {}; + virtual void copyEdgeHostToDevice() {}; virtual void copyEdgeHostToDevice(void *allEdgesDevice, int numVertices, int maxEdgesPerVertex) { }; - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) {}; + virtual void copyEdgeDeviceToHost() {}; virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) {}; virtual void advanceEdges(void *allEdgesDevice, void *allVerticesDevice, void *edgeIndexMapDevice) {}; @@ -107,4 +107,4 @@ class All911Edges : public AllEdges { /// The call information per edge vector call_; -}; +}; \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllDSSynapses.h b/Simulator/Edges/Neuro/AllDSSynapses.h index 47427e679..baaa94b41 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses.h +++ b/Simulator/Edges/Neuro/AllDSSynapses.h @@ -121,9 +121,7 @@ class AllDSSynapses : public AllSpikingSynapses { public: /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) override; + virtual void allocEdgeDeviceStruct() override; /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. @@ -136,13 +134,11 @@ class AllDSSynapses : public AllSpikingSynapses { /// Delete GPU memories. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) override; + virtual void deleteEdgeDeviceStruct() override; /// Copy all synapses' data from host to device. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeHostToDevice(void *allEdgesDevice) override; + virtual void copyEdgeHostToDevice() override; /// Copy all synapses' data from host to device. /// @@ -154,8 +150,7 @@ class AllDSSynapses : public AllSpikingSynapses { /// Copy all synapses' data from device to host. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) override; + virtual void copyEdgeDeviceToHost() override; /// Set synapse class ID defined by enumClassSynapses for the caller's Synapse class. /// The class ID will be set to classSynapses_d in device memory, @@ -263,4 +258,4 @@ template void AllDSSynapses::serialize(Archive &archive) archive(cereal::base_class(this), cereal::make_nvp("lastSpike", lastSpike_), cereal::make_nvp("r", r_), cereal::make_nvp("u", u_), cereal::make_nvp("D", D_), cereal::make_nvp("U", U_), cereal::make_nvp("F", F_)); -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp index d1783e969..c1939d882 100644 --- a/Simulator/Edges/Neuro/AllDSSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDSSynapses_d.cpp @@ -14,11 +14,10 @@ /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. -/// -/// @param allEdgesDevice GPU address of the AllDSSynapsesDeviceProperties struct -/// on device memory. -void AllDSSynapses::allocEdgeDeviceStruct(void **allEdgesDevice) +void AllDSSynapses::allocEdgeDeviceStruct() { + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allEdgesDevice = reinterpret_cast(&(gpuModel->getAllEdgesDevice())); allocEdgeDeviceStruct(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -67,12 +66,11 @@ void AllDSSynapses::allocDeviceStruct(AllDSSynapsesDeviceProperties &allEdges, i /// Delete GPU memories. /// -/// @param allEdgesDevice GPU address of the AllDSSynapsesDeviceProperties struct -/// on device memory. -void AllDSSynapses::deleteEdgeDeviceStruct(void *allEdgesDevice) +void AllDSSynapses::deleteEdgeDeviceStruct() { AllDSSynapsesDeviceProperties allEdges; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdges, allEdgesDevice, sizeof(AllDSSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); @@ -100,10 +98,10 @@ void AllDSSynapses::deleteDeviceStruct(AllDSSynapsesDeviceProperties &allEdgesDe /// Copy all synapses' data from host to device. /// -/// @param allEdgesDevice GPU address of the AllDSSynapsesDeviceProperties struct -/// on device memory. -void AllDSSynapses::copyEdgeHostToDevice(void *allEdgesDevice) +void AllDSSynapses::copyEdgeHostToDevice() { // copy everything necessary + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); copyEdgeHostToDevice(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -156,13 +154,12 @@ void AllDSSynapses::copyHostToDevice(void *allEdgesDevice, /// Copy all synapses' data from device to host. /// -/// @param allEdgesDevice GPU address of the AllDSSynapsesDeviceProperties struct -/// on device memory. -void AllDSSynapses::copyEdgeDeviceToHost(void *allEdgesDevice) +void AllDSSynapses::copyEdgeDeviceToHost() { // copy everything necessary AllDSSynapsesDeviceProperties allEdgesDeviceProps; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, sizeof(AllDSSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); @@ -376,4 +373,4 @@ void AllDSSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const UPrint = nullptr; FPrint = nullptr; } -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h index 2d5c6e79d..c12b25b62 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses.h @@ -124,10 +124,8 @@ class AllDynamicSTDPSynapses : public AllSTDPSynapses { #if defined(USE_GPU) public: /// Allocate GPU memories to store all synapses' states, - /// and copy them from host to GPU memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) override; + /// and copy them from host to GPU memory. memory. + virtual void allocEdgeDeviceStruct() override; /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. @@ -139,13 +137,11 @@ class AllDynamicSTDPSynapses : public AllSTDPSynapses { /// Delete GPU memories. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) override; + virtual void deleteEdgeDeviceStruct() override; /// Copy all synapses' data from host to device. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeHostToDevice(void *allEdgesDevice) override; + virtual void copyEdgeHostToDevice() override; /// Copy all synapses' data from host to device. /// @@ -157,8 +153,7 @@ class AllDynamicSTDPSynapses : public AllSTDPSynapses { /// Copy all synapses' data from device to host. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) override; + virtual void copyEdgeDeviceToHost() override; /// Set synapse class ID defined by enumClassSynapses for the caller's Synapse class. /// The class ID will be set to classSynapses_d in device memory, @@ -269,4 +264,4 @@ template void AllDynamicSTDPSynapses::serialize(Archive &archive archive(cereal::base_class(this), cereal::make_nvp("lastSpike", lastSpike_), cereal::make_nvp("r", r_), cereal::make_nvp("u", u_), cereal::make_nvp("D", D_), cereal::make_nvp("U", U_), cereal::make_nvp("F", F_)); -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp index 1c676b19e..f4ef0e2c7 100644 --- a/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp @@ -9,15 +9,15 @@ #include "AllDynamicSTDPSynapses.h" #include "AllSynapsesDeviceFuncs.h" #include "Book.h" +#include "GPUModel.h" #include "Simulator.h" /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. -/// -/// @param allEdgesDevice GPU address of the AllDynamicSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllDynamicSTDPSynapses::allocEdgeDeviceStruct(void **allEdgesDevice) +void AllDynamicSTDPSynapses::allocEdgeDeviceStruct() { + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allEdgesDevice = reinterpret_cast(&(gpuModel->getAllEdgesDevice())); allocEdgeDeviceStruct(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -70,10 +70,11 @@ void AllDynamicSTDPSynapses::allocDeviceStruct( /// /// @param allEdgesDevice GPU address of the AllDynamicSTDPSynapsesDeviceProperties struct /// on device memory. -void AllDynamicSTDPSynapses::deleteEdgeDeviceStruct(void *allEdgesDevice) +void AllDynamicSTDPSynapses::deleteEdgeDeviceStruct() { AllDynamicSTDPSynapsesDeviceProperties allEdges; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdges, allEdgesDevice, sizeof(AllDynamicSTDPSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); @@ -102,10 +103,10 @@ void AllDynamicSTDPSynapses::deleteDeviceStruct( /// Copy all synapses' data from host to device. /// -/// @param allEdgesDevice GPU address of the AllDynamicSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllDynamicSTDPSynapses::copyEdgeHostToDevice(void *allEdgesDevice) +void AllDynamicSTDPSynapses::copyEdgeHostToDevice() { // copy everything necessary + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); copyEdgeHostToDevice(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -159,13 +160,12 @@ void AllDynamicSTDPSynapses::copyHostToDevice( /// Copy all synapses' data from device to host. /// -/// @param allEdgesDevice GPU address of the AllDynamicSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllDynamicSTDPSynapses::copyEdgeDeviceToHost(void *allEdgesDevice) +void AllDynamicSTDPSynapses::copyEdgeDeviceToHost() { // copy everything necessary AllDynamicSTDPSynapsesDeviceProperties allEdges; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdges, allEdgesDevice, sizeof(AllDynamicSTDPSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); @@ -452,4 +452,4 @@ void AllDynamicSTDPSynapses::printGPUEdgesProps(void *allEdgesDeviceProps) const UPrint = nullptr; FPrint = nullptr; } -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses.h b/Simulator/Edges/Neuro/AllSTDPSynapses.h index 7d7ea0660..8598981e8 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses.h +++ b/Simulator/Edges/Neuro/AllSTDPSynapses.h @@ -154,9 +154,7 @@ class AllSTDPSynapses : public AllSpikingSynapses { public: /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) override; + virtual void allocEdgeDeviceStruct() override; /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. @@ -169,13 +167,10 @@ class AllSTDPSynapses : public AllSpikingSynapses { /// Delete GPU memories. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) override; + virtual void deleteEdgeDeviceStruct() override; /// Copy all synapses' data from host to device. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeHostToDevice(void *allEdgesDevice) override; + virtual void copyEdgeHostToDevice() override; /// Copy all synapses' data from host to device. /// @@ -187,8 +182,7 @@ class AllSTDPSynapses : public AllSpikingSynapses { /// Copy all synapses' data from device to host. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) override; + virtual void copyEdgeDeviceToHost() override; /// Advance all the Synapses in the simulation. /// Update the state of all synapses for a time step. @@ -441,4 +435,4 @@ template void AllSTDPSynapses::serialize(Archive &archive) cereal::make_nvp("Wex_I", Wex_I_), cereal::make_nvp("Wex_E", Wex_E_), cereal::make_nvp("Aneg_I", Aneg_I_), cereal::make_nvp("Aneg_E", Aneg_E_), cereal::make_nvp("Apos_I", Apos_I_), cereal::make_nvp("Apos_E", Apos_E_)); -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp index 9527d87c2..2d91d1f11 100644 --- a/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp @@ -32,11 +32,10 @@ __global__ void advanceSTDPSynapsesDevice(int totalSynapseCount, int maxSpikes); /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. -/// -/// @param allEdgesDevice GPU address of the AllSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllSTDPSynapses::allocEdgeDeviceStruct(void **allEdgesDevice) +void AllSTDPSynapses::allocEdgeDeviceStruct() { + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allEdgesDevice = reinterpret_cast(&(gpuModel->getAllEdgesDevice())); allocEdgeDeviceStruct(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -93,11 +92,11 @@ void AllSTDPSynapses::allocDeviceStruct(AllSTDPSynapsesDeviceProperties &allEdge /// Delete GPU memories. /// -/// @param allEdgesDevice GPU address of the AllSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllSTDPSynapses::deleteEdgeDeviceStruct(void *allEdgesDevice) +void AllSTDPSynapses::deleteEdgeDeviceStruct() { AllSTDPSynapsesDeviceProperties allEdgesDeviceProps; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, sizeof(AllSTDPSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); deleteDeviceStruct(allEdgesDeviceProps); @@ -129,12 +128,10 @@ void AllSTDPSynapses::deleteDeviceStruct(AllSTDPSynapsesDeviceProperties &allEdg /// Copy all synapses' data from host to device. /// -/// @param allEdgesDevice GPU address of the AllSTDPSynapsesDeviceProperties struct -/// on device memory. -/// @param numVertices Number of vertices. -/// @param maxEdgesPerVertex Maximum number of synapses per neuron. -void AllSTDPSynapses::copyEdgeHostToDevice(void *allEdgesDevice) +void AllSTDPSynapses::copyEdgeHostToDevice() { // copy everything necessary + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); copyEdgeHostToDevice(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -200,13 +197,12 @@ void AllSTDPSynapses::copyHostToDevice(void *allEdgesDevice, /// Copy all synapses' data from device to host. /// -/// @param allEdgesDevice GPU address of the AllSTDPSynapsesDeviceProperties struct -/// on device memory. -void AllSTDPSynapses::copyEdgeDeviceToHost(void *allEdgesDevice) +void AllSTDPSynapses::copyEdgeDeviceToHost() { // copy everything necessary AllSTDPSynapsesDeviceProperties allEdgesDeviceProps; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, sizeof(AllSTDPSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); copyDeviceToHost(allEdgesDeviceProps); diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 0cd04821b..534c86220 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -122,9 +122,7 @@ class AllSpikingSynapses : public AllNeuroEdges { public: /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. - /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void allocEdgeDeviceStruct(void **allEdgesDevice) override; + virtual void allocEdgeDeviceStruct() override; /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. @@ -137,13 +135,11 @@ class AllSpikingSynapses : public AllNeuroEdges { /// Delete GPU memories. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void deleteEdgeDeviceStruct(void *allEdgesDevice) override; + virtual void deleteEdgeDeviceStruct() override; /// Copy all synapses' data from host to device. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeHostToDevice(void *allEdgesDevice) override; + virtual void copyEdgeHostToDevice() override; /// Copy all synapses' data from host to device. /// @@ -155,8 +151,7 @@ class AllSpikingSynapses : public AllNeuroEdges { /// Copy all synapses' data from device to host. /// - /// @param allEdgesDevice GPU address of the allEdges struct on device memory. - virtual void copyEdgeDeviceToHost(void *allEdgesDevice) override; + virtual void copyEdgeDeviceToHost() override; /// Get edge_counts in AllNeuroEdges struct on device memory. /// @@ -344,4 +339,4 @@ template void AllSpikingSynapses::serialize(Archive &archive) cereal::make_nvp("delay_EE", delay_EE_), cereal::make_nvp("totalDelay", totalDelay_), cereal::make_nvp("delayQueue", delayQueue_), cereal::make_nvp("delayIndex", delayIndex_), cereal::make_nvp("delayQueueLength", delayQueueLength_)); -} +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index 94364e4a2..e6bb33be0 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -10,6 +10,8 @@ #include "AllSpikingSynapses.h" #include "AllSynapsesDeviceFuncs.h" #include "Book.h" +#include "GPUModel.h" +#include "Simulator.h" #include /// CUDA code for advancing spiking synapses. @@ -28,11 +30,10 @@ __global__ void advanceSpikingSynapsesDevice(int totalSynapseCount, /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. -/// -/// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct -/// on device memory. -void AllSpikingSynapses::allocEdgeDeviceStruct(void **allEdgesDevice) +void AllSpikingSynapses::allocEdgeDeviceStruct() { + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allEdgesDevice = reinterpret_cast(&(gpuModel->getAllEdgesDevice())); allocEdgeDeviceStruct(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -89,11 +90,11 @@ void AllSpikingSynapses::allocDeviceStruct(AllSpikingSynapsesDeviceProperties &a /// Delete GPU memories. /// -/// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct -/// on device memory. -void AllSpikingSynapses::deleteEdgeDeviceStruct(void *allEdgesDevice) +void AllSpikingSynapses::deleteEdgeDeviceStruct() { AllSpikingSynapsesDeviceProperties allEdges; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdges, allEdgesDevice, sizeof(AllSpikingSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); deleteDeviceStruct(allEdges); @@ -127,10 +128,10 @@ void AllSpikingSynapses::deleteDeviceStruct(AllSpikingSynapsesDeviceProperties & /// Copy all synapses' data from host to device. /// -/// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct -/// on device memory. -void AllSpikingSynapses::copyEdgeHostToDevice(void *allEdgesDevice) +void AllSpikingSynapses::copyEdgeHostToDevice() { // copy everything necessary + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); copyEdgeHostToDevice(allEdgesDevice, Simulator::getInstance().getTotalVertices(), Simulator::getInstance().getMaxEdgesPerVertex()); } @@ -200,12 +201,12 @@ void AllSpikingSynapses::copyHostToDevice(void *allEdgesDevice, /// Copy all synapses' data from device to host. /// -/// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct -/// on device memory. -void AllSpikingSynapses::copyEdgeDeviceToHost(void *allEdgesDevice) +void AllSpikingSynapses::copyEdgeDeviceToHost() { // copy everything necessary AllSpikingSynapsesDeviceProperties allEdges; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); HANDLE_ERROR(cudaMemcpy(&allEdges, allEdgesDevice, sizeof(AllSpikingSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); copyDeviceToHost(allEdges); diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index 107848c34..649fa7a30 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -22,6 +22,30 @@ AllVertices::AllVertices() : size_(0) OperationManager::getInstance().registerOperation(Operations::printParameters, printParametersFunc); + // Register registerHistoryVariables function as a registerHistoryVariables operation in the OperationManager + function registerHistory = bind(&AllVertices::registerHistoryVariables, this); + OperationManager::getInstance().registerOperation(Operations::registerHistoryVariables, + registerHistory); + +#if defined(USE_GPU) + // Register allocNeuronDeviceStruct function as a allocateGPU operation in the OperationManager + function allocateGPU = bind(&AllVertices::allocVerticesDeviceStruct, this); + OperationManager::getInstance().registerOperation(Operations::allocateGPU, allocateGPU); + + // Register AllVertices::copyToDevice function as a copyToGPU operation in the OperationManager + function copyCPUtoGPU = bind(&AllVertices::copyToDevice, this); + OperationManager::getInstance().registerOperation(Operations::copyToGPU, copyCPUtoGPU); + + // Register copyFromGPU operation for transferring edge data from device to host + function copyFromGPU = bind(&AllVertices::copyFromDevice, this); + OperationManager::getInstance().registerOperation(Operations::copyFromGPU, copyFromGPU); + + // Register deleteNeuronDeviceStruct function as a deallocateGPUMemory operation in the OperationManager + function deallocateGPUMemory = bind(&AllVertices::deleteVerticesDeviceStruct, this); + OperationManager::getInstance().registerOperation(Operations::deallocateGPUMemory, + deallocateGPUMemory); +#endif + // Get a copy of the file and vertex logger to use log4cplus macros to print to debug files fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); vertexLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("vertex")); @@ -48,4 +72,4 @@ void AllVertices::loadEpochInputs(uint64_t currentStep, uint64_t endStep) { // This is an empty implementation so that Neural Network simulation works // normally -} +} \ No newline at end of file diff --git a/Simulator/Vertices/AllVertices.h b/Simulator/Vertices/AllVertices.h index d005c689c..14389f677 100644 --- a/Simulator/Vertices/AllVertices.h +++ b/Simulator/Vertices/AllVertices.h @@ -95,14 +95,11 @@ class AllVertices { public: /// Allocate GPU memories to store all vertices' states, /// and copy them from host to GPU memory. - /// - /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void allocVerticesDeviceStruct(void **allVerticesDevice) = 0; + virtual void allocVerticesDeviceStruct() = 0; /// Delete GPU memories. /// - /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) = 0; + virtual void deleteVerticesDeviceStruct() = 0; /// Clear the spike counts out of all vertices. // @@ -110,14 +107,11 @@ class AllVertices { virtual void clearVertexHistory(void *allVerticesDevice) = 0; /// Copy all vertices' data from host to device. - /// - /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void copyToDevice(void *allVerticesDevice) = 0; + virtual void copyToDevice() = 0; /// Copy all vertices' data from device to host. /// - /// @param allVerticesDevice GPU address of the allVertices struct on device memory. - virtual void copyFromDevice(void *allVerticesDevice) = 0; + virtual void copyFromDevice() = 0; /// Update the state of all vertices for a time step /// Notify outgoing edges if vertex has fired. @@ -169,4 +163,4 @@ struct AllVerticesDeviceProperties {}; template void AllVertices::serialize(Archive &archive) { archive(cereal::make_nvp("size", size_)); -} +} \ No newline at end of file diff --git a/Simulator/Vertices/NG911/All911Vertices.h b/Simulator/Vertices/NG911/All911Vertices.h index 1a537437a..b41f42e4a 100644 --- a/Simulator/Vertices/NG911/All911Vertices.h +++ b/Simulator/Vertices/NG911/All911Vertices.h @@ -225,10 +225,10 @@ class All911Vertices : public AllVertices { // GPU functionality for 911 simulation is unimplemented. // These signatures are required to make the class non-abstract public: - virtual void allocVerticesDeviceStruct(void **allVerticesDevice) {}; - virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) {}; - virtual void copyToDevice(void *allVerticesDevice) {}; - virtual void copyFromDevice(void *allVerticesDevice) {}; + virtual void allocVerticesDeviceStruct() {}; + virtual void deleteVerticesDeviceStruct() {}; + virtual void copyToDevice() {}; + virtual void copyFromDevice() {}; virtual void advanceVertices(AllEdges &edges, void *allVerticesDevice, void *allEdgesDevice, float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) {}; virtual void setAdvanceVerticesDeviceParams(AllEdges &edges) {}; @@ -260,4 +260,4 @@ class All911Vertices : public AllVertices { protected: #endif // defined(USE_GPU) -}; +}; \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.h b/Simulator/Vertices/Neuro/AllIFNeurons.h index b199dd32d..30cad5d19 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.h +++ b/Simulator/Vertices/Neuro/AllIFNeurons.h @@ -88,25 +88,20 @@ class AllIFNeurons : public AllSpikingNeurons { /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. - /// - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void allocVerticesDeviceStruct(void **allVerticesDevice); + virtual void allocVerticesDeviceStruct(); /// Delete GPU memories. /// - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void deleteVerticesDeviceStruct(void *allVerticesDevice); + virtual void deleteVerticesDeviceStruct(); /// Clear the spike counts out of all neurons. // /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. virtual void clearVertexHistory(void *allVerticesDevice) override; //Copy all neurons' data from device to host. - //@param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void copyFromDevice(void *deviceAddress) override; + virtual void copyFromDevice() override; //Copy all neurons' data from host to device. - // @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void copyToDevice(void *deviceAddress) override; + virtual void copyToDevice() override; protected: /// Allocate GPU memories to store all neurons' states. @@ -315,4 +310,4 @@ template void AllIFNeurons::serialize(Archive &archive) cereal::make_nvp("Vm", Vm_), cereal::make_nvp("Tau", Tau_)); //Private variables are intentionally excluded from serialization as they are populated from configuration files. -} +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp index 572ff8b97..9001603a5 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp @@ -8,14 +8,18 @@ #include "AllIFNeurons.h" #include "Book.h" +#include "GPUModel.h" +#include "Simulator.h" /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. /// /// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. -void AllIFNeurons::allocVerticesDeviceStruct(void **allVerticesDevice) +void AllIFNeurons::allocVerticesDeviceStruct() { AllIFNeuronsDeviceProperties allNeurons; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allVerticesDevice = reinterpret_cast(&(gpuModel->getAllVerticesDevice())); allocDeviceStruct(allNeurons); HANDLE_ERROR(cudaMalloc(allVerticesDevice, sizeof(AllIFNeuronsDeviceProperties))); HANDLE_ERROR(cudaMemcpy(*allVerticesDevice, &allNeurons, sizeof(AllIFNeuronsDeviceProperties), @@ -69,10 +73,11 @@ void AllIFNeurons::allocDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesDe /// Delete GPU memories. /// -/// @param allVerticesDevice GPU address of the AllVerticesDeviceProperties struct on device memory. -void AllIFNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) +void AllIFNeurons::deleteVerticesDeviceStruct() { AllIFNeuronsDeviceProperties allVerticesDeviceProps; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, sizeof(AllIFNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); deleteDeviceStruct(allVerticesDeviceProps); @@ -117,11 +122,11 @@ void AllIFNeurons::deleteDeviceStruct(AllIFNeuronsDeviceProperties &allVerticesD } /// Copy all neurons' data from host to device. -/// -/// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. -void AllIFNeurons::copyToDevice(void *allVerticesDevice) +void AllIFNeurons::copyToDevice() { int count = Simulator::getInstance().getTotalVertices(); + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); AllIFNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, sizeof(AllIFNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); @@ -158,15 +163,16 @@ void AllIFNeurons::copyToDevice(void *allVerticesDevice) HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.numStepsInRefractoryPeriod_, numStepsInRefractoryPeriod_.data(), count * sizeof(int), cudaMemcpyHostToDevice)); - AllSpikingNeurons::copyToDevice(allVerticesDevice); + AllSpikingNeurons::copyToDevice(); } /// Copy all neurons' data from device to host. /// -/// @param allVerticesDevice GPU address of the AllIFNeuronsDeviceProperties struct on device memory. -void AllIFNeurons::copyFromDevice(void *allVerticesDevice) +void AllIFNeurons::copyFromDevice() { - AllSpikingNeurons::copyFromDevice(allVerticesDevice); + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); + AllSpikingNeurons::copyFromDevice(); int count = Simulator::getInstance().getTotalVertices(); AllIFNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, @@ -232,4 +238,4 @@ void AllIFNeurons::advanceVertices(AllEdges &synapses, void *allVerticesDevice, void *allEdgesDevice, float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) { -} +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons.h b/Simulator/Vertices/Neuro/AllIZHNeurons.h index ee1520790..6e1c4155d 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons.h +++ b/Simulator/Vertices/Neuro/AllIZHNeurons.h @@ -138,14 +138,11 @@ class AllIZHNeurons : public AllIFNeurons { /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. - // - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void allocVerticesDeviceStruct(void **allVerticesDevice) override; + virtual void allocVerticesDeviceStruct() override; /// Delete GPU memories. // - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void deleteVerticesDeviceStruct(void *allVerticesDevice) override; + virtual void deleteVerticesDeviceStruct() override; /// Copy spike history data stored in device memory to host. // @@ -164,13 +161,10 @@ class AllIZHNeurons : public AllIFNeurons { // Copy all neurons' data from device to host. // - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void copyFromDevice(void *deviceAddress) override; + virtual void copyFromDevice() override; // Copy all neurons' data from host to device. - // - /// @param allVerticesDevice GPU address of the allNeurons struct on device memory. - virtual void copyToDevice(void *deviceAddress) override; + virtual void copyToDevice() override; protected: @@ -333,4 +327,4 @@ template void AllIZHNeurons::serialize(Archive &archive) cereal::make_nvp("C3", C3_)); //Private variables are intentionally excluded from serialization as they are populated from configuration files. -} +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp index 2e0c8d2a6..f5794b32e 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp @@ -10,7 +10,8 @@ #include "AllSpikingSynapses.h" #include "AllVerticesDeviceFuncs.h" #include "Book.h" - +#include "GPUModel.h" +#include "Simulator.h" /// CUDA code for advancing izhikevich neurons /// @@ -36,12 +37,11 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. /// -/// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct -/// on device memory. -void AllIZHNeurons::allocVerticesDeviceStruct(void **allVerticesDevice) +void AllIZHNeurons::allocVerticesDeviceStruct() { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allVerticesDevice = reinterpret_cast(&(gpuModel->getAllVerticesDevice())); allocDeviceStruct(allVerticesDeviceProps); HANDLE_ERROR(cudaMalloc(allVerticesDevice, sizeof(AllIZHNeuronsDeviceProperties))); @@ -69,12 +69,11 @@ void AllIZHNeurons::allocDeviceStruct(AllIZHNeuronsDeviceProperties &allVertices /// Delete GPU memories. /// -/// @param allVerticesDevice GPU address of the AllVerticesDeviceProperties struct -/// on device memory. -void AllIZHNeurons::deleteVerticesDeviceStruct(void *allVerticesDevice) +void AllIZHNeurons::deleteVerticesDeviceStruct() { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, sizeof(AllIZHNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); @@ -101,18 +100,17 @@ void AllIZHNeurons::deleteDeviceStruct(AllIZHNeuronsDeviceProperties &allVertice /// Copy all neurons' data from host to device. /// -/// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct -/// on device memory. -void AllIZHNeurons::copyToDevice(void *allVerticesDevice) +void AllIZHNeurons::copyToDevice() { AllIZHNeuronsDeviceProperties allVerticesDeviceProps; - + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, sizeof(AllIZHNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); int count = Simulator::getInstance().getTotalVertices(); - AllIFNeurons::copyToDevice(allVerticesDevice); + AllIFNeurons::copyToDevice(); HANDLE_ERROR(cudaMemcpy(allVerticesDeviceProps.Aconst_, Aconst_.data(), count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); @@ -130,11 +128,11 @@ void AllIZHNeurons::copyToDevice(void *allVerticesDevice) /// Copy all neurons' data from device to host. /// -/// @param allVerticesDevice GPU address of the AllIZHNeuronsDeviceProperties struct -/// on device memory. -void AllIZHNeurons::copyFromDevice(void *allVerticesDevice) +void AllIZHNeurons::copyFromDevice() { - AllIFNeurons::copyFromDevice(allVerticesDevice); + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); + AllIFNeurons::copyFromDevice(); AllIZHNeuronsDeviceProperties allVerticesDeviceProps; HANDLE_ERROR(cudaMemcpy(&allVerticesDeviceProps, allVerticesDevice, @@ -323,4 +321,4 @@ __global__ void advanceIZHNeuronsDevice(int totalVertices, int maxEdges, int max // clear synaptic input for next time step sp = 0; } -///@} +///@} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp index 25fcdf3be..338f6222e 100644 --- a/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp @@ -186,4 +186,4 @@ __global__ void advanceLIFNeuronsDevice(int totalVertices, int maxEdges, int max #endif // clear synaptic input for next time step sp = 0; -} +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.h b/Simulator/Vertices/Neuro/AllSpikingNeurons.h index 675370a26..c7a9f695b 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.h +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.h @@ -62,6 +62,8 @@ class AllSpikingNeurons : public AllVertices { /// @param synapses Reference to the allEdges struct on host memory. virtual void setAdvanceVerticesDeviceParams(AllEdges &synapses); + virtual void copyFromDevice() override; + virtual void copyToDevice() override; /// Add psr of all incoming synapses to summation points. /// /// @param allVerticesDevice GPU address of the allVertices struct on device memory. @@ -70,9 +72,6 @@ class AllSpikingNeurons : public AllVertices { virtual void integrateVertexInputs(void *allVerticesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, void *allEdgesDevice); - virtual void copyFromDevice(void *deviceAddress) override; - virtual void copyToDevice(void *deviceAddress) override; - protected: /// Clear the spike counts out of all neurons in device memory. /// (helper function of clearNeuronSpikeCounts) @@ -174,4 +173,4 @@ template void AllSpikingNeurons::serialize(Archive &archive) cereal::make_nvp("vertexEvents", vertexEvents_), cereal::make_nvp("summationPoints", summationPoints_), cereal::make_nvp("fAllowBackPropagation", fAllowBackPropagation_)); -} +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 1fbc9f492..270e607ac 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -9,6 +9,8 @@ #include "AllSpikingNeurons.h" #include "AllSpikingSynapses.h" #include "Book.h" +#include "GPUModel.h" +#include "Simulator.h" /// CUDA kernel for adding psr of all incoming synapses to summation points. /// @@ -32,9 +34,11 @@ __global__ void calcSummationPointDevice(int totalVertices, EdgeIndexMapDevice *edgeIndexMapDevice, AllSpikingSynapsesDeviceProperties *allEdgesDevice); -void AllSpikingNeurons::copyToDevice(void *deviceAddress) +void AllSpikingNeurons::copyToDevice() { AllSpikingNeuronsDeviceProperties allVerticesDevice; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *deviceAddress = static_cast(gpuModel->getAllVerticesDevice()); HANDLE_ERROR(cudaMemcpy(&allVerticesDevice, deviceAddress, sizeof(AllSpikingNeuronsDeviceProperties), cudaMemcpyDeviceToHost)); @@ -88,8 +92,10 @@ void AllSpikingNeurons::copyToDevice(void *deviceAddress) HANDLE_ERROR(cudaMemcpy(allVerticesDevice.summationPoints_, summationPoints_.data(), count * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); } -void AllSpikingNeurons::copyFromDevice(void *deviceAddress) +void AllSpikingNeurons::copyFromDevice() { + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *deviceAddress = static_cast(gpuModel->getAllVerticesDevice()); int numVertices = Simulator::getInstance().getTotalVertices(); AllSpikingNeuronsDeviceProperties allVerticesDevice; @@ -252,4 +258,4 @@ __global__ void calcSummationPointDevice(int totalVertices, // Store summed PSR into this neuron's summation point allVerticesDevice->summationPoints_[idx] = sum; } -} +} \ No newline at end of file From a53618d34cb3f3a138d3764df4c07bc4c1903df8 Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Wed, 11 Jun 2025 18:07:55 -0700 Subject: [PATCH 092/153] Addition to Contributors --- Contributors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Contributors.md b/Contributors.md index b2ead0ce9..d2d338c78 100644 --- a/Contributors.md +++ b/Contributors.md @@ -85,6 +85,8 @@ Andrew Madison Padmanabh Patil +Lawrence Scott + # Graduate From f04a1124331be661e115b3fc8b046dc3192a4798 Mon Sep 17 00:00:00 2001 From: lscott-uw Date: Wed, 18 Jun 2025 12:02:12 -0700 Subject: [PATCH 093/153] Directory Rename Renamed 'RebuildNotes' to 'Notes' to properly reflect that the folder is intended for general notes and not a reference to Graphitti being a rebuild of brain grid. PR #845 --- docs/{RebuildNotes => Notes}/ConnectionsNotes.md | 0 docs/{RebuildNotes => Notes}/GeneralNotes.md | 0 docs/{RebuildNotes => Notes}/Glossary.md | 0 docs/{RebuildNotes => Notes}/LayoutsNotes.md | 0 docs/{RebuildNotes => Notes}/NeuronsNotes.md | 0 docs/{RebuildNotes => Notes}/RecordersNotes.md | 0 docs/{RebuildNotes => Notes}/Resources.md | 0 docs/{RebuildNotes => Notes}/SynapsesNotes.md | 0 docs/{RebuildNotes => Notes}/index.md | 14 +++++++------- docs/index.md | 2 +- 10 files changed, 8 insertions(+), 8 deletions(-) rename docs/{RebuildNotes => Notes}/ConnectionsNotes.md (100%) rename docs/{RebuildNotes => Notes}/GeneralNotes.md (100%) rename docs/{RebuildNotes => Notes}/Glossary.md (100%) rename docs/{RebuildNotes => Notes}/LayoutsNotes.md (100%) rename docs/{RebuildNotes => Notes}/NeuronsNotes.md (100%) rename docs/{RebuildNotes => Notes}/RecordersNotes.md (100%) rename docs/{RebuildNotes => Notes}/Resources.md (100%) rename docs/{RebuildNotes => Notes}/SynapsesNotes.md (100%) rename docs/{RebuildNotes => Notes}/index.md (62%) diff --git a/docs/RebuildNotes/ConnectionsNotes.md b/docs/Notes/ConnectionsNotes.md similarity index 100% rename from docs/RebuildNotes/ConnectionsNotes.md rename to docs/Notes/ConnectionsNotes.md diff --git a/docs/RebuildNotes/GeneralNotes.md b/docs/Notes/GeneralNotes.md similarity index 100% rename from docs/RebuildNotes/GeneralNotes.md rename to docs/Notes/GeneralNotes.md diff --git a/docs/RebuildNotes/Glossary.md b/docs/Notes/Glossary.md similarity index 100% rename from docs/RebuildNotes/Glossary.md rename to docs/Notes/Glossary.md diff --git a/docs/RebuildNotes/LayoutsNotes.md b/docs/Notes/LayoutsNotes.md similarity index 100% rename from docs/RebuildNotes/LayoutsNotes.md rename to docs/Notes/LayoutsNotes.md diff --git a/docs/RebuildNotes/NeuronsNotes.md b/docs/Notes/NeuronsNotes.md similarity index 100% rename from docs/RebuildNotes/NeuronsNotes.md rename to docs/Notes/NeuronsNotes.md diff --git a/docs/RebuildNotes/RecordersNotes.md b/docs/Notes/RecordersNotes.md similarity index 100% rename from docs/RebuildNotes/RecordersNotes.md rename to docs/Notes/RecordersNotes.md diff --git a/docs/RebuildNotes/Resources.md b/docs/Notes/Resources.md similarity index 100% rename from docs/RebuildNotes/Resources.md rename to docs/Notes/Resources.md diff --git a/docs/RebuildNotes/SynapsesNotes.md b/docs/Notes/SynapsesNotes.md similarity index 100% rename from docs/RebuildNotes/SynapsesNotes.md rename to docs/Notes/SynapsesNotes.md diff --git a/docs/RebuildNotes/index.md b/docs/Notes/index.md similarity index 62% rename from docs/RebuildNotes/index.md rename to docs/Notes/index.md index 6fa611722..6a088a1c0 100644 --- a/docs/RebuildNotes/index.md +++ b/docs/Notes/index.md @@ -4,21 +4,21 @@ General notes for various parts of the Graphitti system. ## 4.1 General Notes - [General Notes](RebuildNotes/GeneralNotes.md) + [General Notes](GeneralNotes.md) - [Layout Notes](RebuildNotes/LayoutsNotes.md) + [Layout Notes](LayoutsNotes.md) - [Connections Notes](RebuildNotes/ConnectionsNotes.md) + [Connections Notes](ConnectionsNotes.md) - [Neuron Notes](RebuildNotes/NeuronsNotes.md) + [Neuron Notes](NeuronsNotes.md) - [Synapses Notes](RebuildNotes/SynapsesNotes.md) + [Synapses Notes](SynapsesNotes.md) - [Recorder Notes](RebuildNotes/RecordersNotes.md) + [Recorder Notes](RecordersNotes.md) ## 4.2 Glossary - [Glossary](RebuildNotes/Glossary.md) + [Glossary](Glossary.md) ## 4.3 Useful Resources diff --git a/docs/index.md b/docs/index.md index 851ca3515..3a4b860bf 100644 --- a/docs/index.md +++ b/docs/index.md @@ -36,7 +36,7 @@ 3.3 [Test Config Files](Testing/TestConfigFileParameters/testConfigFileParameters.md) -4. [Glossary & Notes](RebuildNotes/index.md) +4. [Glossary & Notes](Notes/index.md) ## [Code of Conduct] From 80690ef12307c6d45d8d379d35b2171a002f119e Mon Sep 17 00:00:00 2001 From: Michael Stiber Date: Wed, 18 Jun 2025 12:12:11 -0700 Subject: [PATCH 094/153] Fixed formatting issues --- Simulator/Vertices/Neuro/AllIFNeurons_d.cpp | 2 +- Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp | 3 +-- Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp index fc798ed12..f770d4c78 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp @@ -8,9 +8,9 @@ #include "AllIFNeurons.h" #include "Book.h" +#include "DeviceVector.h" #include "GPUModel.h" #include "Simulator.h" -#include "DeviceVector.h" /// Allocate GPU memories to store all neurons' states, /// and copy them from host to GPU memory. diff --git a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp index 8ffe65c84..faf05169e 100644 --- a/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp @@ -10,10 +10,9 @@ #include "AllSpikingSynapses.h" #include "AllVerticesDeviceFuncs.h" #include "Book.h" +#include "DeviceVector.h" #include "GPUModel.h" #include "Simulator.h" -#include "DeviceVector.h" - /// CUDA code for advancing izhikevich neurons /// diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 15e1b17e8..91edc75f1 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -9,9 +9,9 @@ #include "AllSpikingNeurons.h" #include "AllSpikingSynapses.h" #include "Book.h" +#include "DeviceVector.h" #include "GPUModel.h" #include "Simulator.h" -#include "DeviceVector.h" /// CUDA kernel for adding psr of all incoming synapses to summation points. /// From 733518cd97a1c71fb9210640e601a957ea09107b Mon Sep 17 00:00:00 2001 From: NicolasJPosey Date: Mon, 23 Jun 2025 12:12:10 -0700 Subject: [PATCH 095/153] Remove old device side function This was moved out of GPU model and into AllSpikingNeurons_d.cpp a while back. --- Simulator/Core/GPUModel.cpp | 52 ------------------------------------- 1 file changed, 52 deletions(-) diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index da7b9cbbd..97453ac1c 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -279,58 +279,6 @@ void GPUModel::allocEdgeIndexMap(int count) cudaMemcpyHostToDevice)); } -/// Calculate the sum of synaptic input to each neuron. -/// -/// Calculate the sum of synaptic input to each neuron. One thread -/// corresponds to one neuron. Iterates sequentially through the -/// forward synapse index map (edgeIndexMapDevice_) to access only -/// existing synapses. Using this structure eliminates the need to skip -/// synapses that have undergone lazy deletion from the main -/// (allEdgesDevice) synapse structure. The forward map is -/// re-computed during each network restructure (once per epoch) to -/// ensure that all synapse pointers for a neuron are stored -/// contiguously. -/// -/// @param[in] totalVertices Number of vertices in the entire simulation. -/// @param[in,out] allVerticesDevice Pointer to Neuron structures in device memory. -/// @param[in] edgeIndexMapDevice_ Pointer to forward map structures in device memory. -/// @param[in] allEdgesDevice Pointer to Synapse structures in device memory. -__global__ void - calcSummationPointDevice(int totalVertices, - AllSpikingNeuronsDeviceProperties *__restrict__ allVerticesDevice, - const EdgeIndexMapDevice *__restrict__ edgeIndexMapDevice_, - const AllSpikingSynapsesDeviceProperties *__restrict__ allEdgesDevice) -{ - // The usual thread ID calculation and guard against excess threads - // (beyond the number of vertices, in this case). - int idx = blockIdx.x * blockDim.x + threadIdx.x; - if (idx >= totalVertices) - return; - - // Number of incoming synapses - const BGSIZE synCount = edgeIndexMapDevice_->incomingEdgeCount_[idx]; - // Optimization: terminate thread if no incoming synapses - if (synCount != 0) { - // Index of start of this neuron's block of forward map entries - const int beginIndex = edgeIndexMapDevice_->incomingEdgeBegin_[idx]; - // Address of the start of this neuron's block of forward map entries - const BGSIZE *activeMapBegin = &(edgeIndexMapDevice_->incomingEdgeIndexMap_[beginIndex]); - // Summed post-synaptic response (PSR) - BGFLOAT sum = 0.0; - // Index of the current incoming synapse - BGSIZE synIndex; - // Repeat for each incoming synapse - for (BGSIZE i = 0; i < synCount; i++) { - // Get index of current incoming synapse - synIndex = activeMapBegin[i]; - // Fetch its PSR and add into sum - sum += allEdgesDevice->psr_[synIndex]; - } - // Store summed PSR into this neuron's summation point - allVerticesDevice->summationPoints_[idx] = sum; - } -} - /// Allocate and Copy CPU Synapse data to GPU. void GPUModel::copyCPUtoGPU() { From 65c7e9e8d84ea060e9eb70c42ba52446d666c867 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Mon, 23 Jun 2025 21:53:33 -0700 Subject: [PATCH 096/153] Output ConnStatic weight matrix --- Simulator/Connections/Neuro/ConnStatic.cpp | 12 +++++ Simulator/Connections/Neuro/ConnStatic.h | 6 +++ Simulator/Edges/Neuro/AllNeuroEdges.h | 3 ++ Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 53 ++++++++++++++++++++ Simulator/Edges/Neuro/AllSpikingSynapses.h | 3 ++ 5 files changed, 77 insertions(+) diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 7d168d199..bb4e823b4 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -89,3 +89,15 @@ void ConnStatic::loadParameters() void ConnStatic::printParameters() const { } + +/// Update the connections status in every epoch. +/// +/// @param vertices The vertex list to search from. +/// @return true if successful, false otherwise. +bool ConnStatic::updateConnections(AllVertices &vertices) +{ + AllNeuroEdges &synapses = dynamic_cast(*edges_); + synapses.outputWeights(Simulator::getInstance().getCurrentStep()); + + return true; +} diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index 47256709c..f678b6670 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -80,6 +80,12 @@ class ConnStatic : public Connections { return destVertexIndexCurrentEpoch_; } + /// Update the connections status in every epoch. + /// + /// @param vertices The vertex list to search from. + /// @return true if successful, false otherwise. + virtual bool updateConnections(AllVertices &vertices) override; + /// Cereal serialization method template void serialize(Archive &archive); diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.h b/Simulator/Edges/Neuro/AllNeuroEdges.h index e8f0bdfb3..86810f6e4 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.h +++ b/Simulator/Edges/Neuro/AllNeuroEdges.h @@ -84,6 +84,9 @@ class AllNeuroEdges : public AllEdges { /// Cereal serialization method template void serialize(Archive &archive); + /// Output weights and srcIndex to xml + virtual void outputWeights(int epochNum) = 0; + protected: /// Setup the internal structure of the class (allocate memories and initialize them). /// diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 0c7b54bb3..5a88c3a78 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -333,3 +333,56 @@ void AllSpikingSynapses::printSynapsesProps() const } } } + +string vectorToXML(const vector& matrix, int rows, int cols, const string& name) { + ostringstream os; + os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; + + int index = 0; + for_each(matrix.begin(), matrix.end(), [&](BGFLOAT value) mutable { + os << " " << value << "\n"; + index++; + }); + + os << "\n"; + return os.str(); +} + +string vectorToXML(const vector& matrix, int rows, int cols, const string& name) { + ostringstream os; + os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; + + int index = 0; + for_each(matrix.begin(), matrix.end(), [&](int value) mutable { + os << " " << value << "\n"; + index++; + }); + + os << "\n"; + return os.str(); +} + +void AllSpikingSynapses::outputWeights(int epochNum) { + const std::string filename = "./Output/Results/weights-epoch-" + std::to_string(epochNum) + ".xml"; // Hardcoded filename + int vertexCount = Simulator::getInstance().getTotalVertices(); + + ofstream outFile(filename); + if (!outFile) { + cerr << "Error: Unable to open file " << filename << endl; + cerr << "Error details: " << strerror(errno) << endl; + return; + } + + int maxEdges = Simulator::getInstance().getMaxEdgesPerVertex(); + + string wContent = vectorToXML(W_, vertexCount, maxEdges, "WeightMatrix"); + string srcContent = vectorToXML(sourceVertexIndex_, vertexCount, maxEdges, "SourceVertexIndex"); + + outFile << "\n"; + outFile << wContent; + outFile << srcContent; + outFile << ""; + outFile.close(); + + cout << "Success: XML written to " << filename << endl; +} diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 0cd04821b..126978867 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -87,6 +87,9 @@ class AllSpikingSynapses : public AllNeuroEdges { /// Cereal serialization method template void serialize(Archive &archive); + /// Output weights and srcIndex to xml + virtual void outputWeights(int epochNum); + protected: /// Setup the internal structure of the class (allocate memories and initialize them). /// From fc7366aca27fa1fbff475bde86f2649263a82114 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Tue, 24 Jun 2025 06:58:32 -0700 Subject: [PATCH 097/153] clang fixes --- Simulator/Connections/Neuro/ConnStatic.cpp | 2 +- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 23 ++++++++++++-------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index bb4e823b4..1ac91bddf 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -98,6 +98,6 @@ bool ConnStatic::updateConnections(AllVertices &vertices) { AllNeuroEdges &synapses = dynamic_cast(*edges_); synapses.outputWeights(Simulator::getInstance().getCurrentStep()); - + return true; } diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 5a88c3a78..0ed5c6596 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -334,12 +334,14 @@ void AllSpikingSynapses::printSynapsesProps() const } } -string vectorToXML(const vector& matrix, int rows, int cols, const string& name) { +string vectorToXML(const vector &matrix, int rows, int cols, const string &name) +{ ostringstream os; os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; int index = 0; - for_each(matrix.begin(), matrix.end(), [&](BGFLOAT value) mutable { + for_each(matrix.begin(), matrix.end(), [&](BGFLOAT value) mutable + { os << " " << value << "\n"; index++; }); @@ -348,12 +350,14 @@ string vectorToXML(const vector& matrix, int rows, int cols, const stri return os.str(); } -string vectorToXML(const vector& matrix, int rows, int cols, const string& name) { +string vectorToXML(const vector &matrix, int rows, int cols, const string &name) +{ ostringstream os; os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; int index = 0; - for_each(matrix.begin(), matrix.end(), [&](int value) mutable { + for_each(matrix.begin(), matrix.end(), [&](int value) mutable + { os << " " << value << "\n"; index++; }); @@ -362,11 +366,12 @@ string vectorToXML(const vector& matrix, int rows, int cols, const string& return os.str(); } -void AllSpikingSynapses::outputWeights(int epochNum) { - const std::string filename = "./Output/Results/weights-epoch-" + std::to_string(epochNum) + ".xml"; // Hardcoded filename +void AllSpikingSynapses::outputWeights(int epochNum) +{ + const std::string filename = "./Output/Results/weights-epoch-" + std::to_string(epochNum) + ".xml"; // Hardcoded filename int vertexCount = Simulator::getInstance().getTotalVertices(); - - ofstream outFile(filename); + + ofstream outFile(filename); if (!outFile) { cerr << "Error: Unable to open file " << filename << endl; cerr << "Error details: " << strerror(errno) << endl; @@ -377,7 +382,7 @@ void AllSpikingSynapses::outputWeights(int epochNum) { string wContent = vectorToXML(W_, vertexCount, maxEdges, "WeightMatrix"); string srcContent = vectorToXML(sourceVertexIndex_, vertexCount, maxEdges, "SourceVertexIndex"); - + outFile << "\n"; outFile << wContent; outFile << srcContent; From 6024a98363fde16d901f4ca756dfa1cdfc560fb2 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Tue, 24 Jun 2025 07:10:46 -0700 Subject: [PATCH 098/153] run clang-format locally --- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 29 +++++++++++--------- 1 file changed, 16 insertions(+), 13 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 0ed5c6596..0b3a26059 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -107,14 +107,17 @@ void AllSpikingSynapses::printParameters() const << endl << "\tEdges type: AllSpikingSynapses" << endl << endl); - LOG4CPLUS_DEBUG(edgeLogger_, "\n\tTau values: [" << " II: " << tau_II_ << "," << " IE: " - << tau_IE_ << "," << " EI: " << tau_EI_ << "," - << " EE: " << tau_EE_ << "]" << endl); + LOG4CPLUS_DEBUG(edgeLogger_, "\n\tTau values: [" + << " II: " << tau_II_ << "," + << " IE: " << tau_IE_ << "," + << " EI: " << tau_EI_ << "," + << " EE: " << tau_EE_ << "]" << endl); LOG4CPLUS_DEBUG(edgeLogger_, "\n\tDelay values: [" - << " II: " << delay_II_ << "," << " IE: " << delay_IE_ << "," - << " EI:" << delay_EI_ << "," << " EE: " << delay_EE_ << "]" - << endl); + << " II: " << delay_II_ << "," + << " IE: " << delay_IE_ << "," + << " EI:" << delay_EI_ << "," + << " EE: " << delay_EE_ << "]" << endl); } /// Sets the data for Synapse to input's data. @@ -340,8 +343,7 @@ string vectorToXML(const vector &matrix, int rows, int cols, const stri os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; int index = 0; - for_each(matrix.begin(), matrix.end(), [&](BGFLOAT value) mutable - { + for_each(matrix.begin(), matrix.end(), [&](BGFLOAT value) mutable { os << " " << value << "\n"; index++; }); @@ -356,10 +358,10 @@ string vectorToXML(const vector &matrix, int rows, int cols, const string & os << "<" << name << " rows=\"" << rows << "\" columns=\"" << cols << "\">\n"; int index = 0; - for_each(matrix.begin(), matrix.end(), [&](int value) mutable - { - os << " " << value << "\n"; - index++; + for_each(matrix.begin(), matrix.end(), [&](int value) mutable { + os << " " << value << "\n"; + + index++; }); os << "\n"; @@ -368,7 +370,8 @@ string vectorToXML(const vector &matrix, int rows, int cols, const string & void AllSpikingSynapses::outputWeights(int epochNum) { - const std::string filename = "./Output/Results/weights-epoch-" + std::to_string(epochNum) + ".xml"; // Hardcoded filename + const std::string filename = "./Output/Results/weights-epoch-" + std::to_string(epochNum) + + ".xml"; // Hardcoded filename int vertexCount = Simulator::getInstance().getTotalVertices(); ofstream outFile(filename); From 655f333ec5dff2ae0a6970e70696df5b04b7dfeb Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Tue, 24 Jun 2025 07:16:13 -0700 Subject: [PATCH 099/153] clang-format + manual changes --- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 0b3a26059..17ec924ec 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -107,17 +107,14 @@ void AllSpikingSynapses::printParameters() const << endl << "\tEdges type: AllSpikingSynapses" << endl << endl); - LOG4CPLUS_DEBUG(edgeLogger_, "\n\tTau values: [" - << " II: " << tau_II_ << "," - << " IE: " << tau_IE_ << "," - << " EI: " << tau_EI_ << "," - << " EE: " << tau_EE_ << "]" << endl); + LOG4CPLUS_DEBUG(edgeLogger_, "\n\tTau values: [" << " II: " << tau_II_ << "," << " IE: " + << tau_IE_ << "," << " EI: " << tau_EI_ << "," + << " EE: " << tau_EE_ << "]" << endl); LOG4CPLUS_DEBUG(edgeLogger_, "\n\tDelay values: [" - << " II: " << delay_II_ << "," - << " IE: " << delay_IE_ << "," - << " EI:" << delay_EI_ << "," - << " EE: " << delay_EE_ << "]" << endl); + << " II: " << delay_II_ << "," << " IE: " << delay_IE_ << "," + << " EI:" << delay_EI_ << "," << " EE: " << delay_EE_ << "]" + << endl); } /// Sets the data for Synapse to input's data. From 2c58c226bb794bf67cac2c5dfb806ead66596f3b Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Tue, 1 Jul 2025 22:51:03 -0700 Subject: [PATCH 100/153] remove vertices parameter from updateConnections --- Simulator/Connections/Connections.cpp | 3 +-- Simulator/Connections/Connections.h | 3 +-- Simulator/Connections/NG911/Connections911.cpp | 3 ++- Simulator/Connections/NG911/Connections911.h | 3 +-- Simulator/Connections/Neuro/ConnGrowth.cpp | 6 ++++-- Simulator/Connections/Neuro/ConnGrowth.h | 3 +-- Simulator/Connections/Neuro/ConnStatic.cpp | 5 ++--- Simulator/Connections/Neuro/ConnStatic.h | 5 ++--- Simulator/Core/CPUModel.cpp | 2 +- Simulator/Edges/Neuro/AllSpikingSynapses.cpp | 2 +- 10 files changed, 16 insertions(+), 19 deletions(-) diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index a8a63fc0e..48966de19 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -81,9 +81,8 @@ void Connections::createEdgeIndexMap() /// Update the connections status in every epoch. /// -/// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. -bool Connections::updateConnections(AllVertices &vertices) +bool Connections::updateConnections() { return false; } diff --git a/Simulator/Connections/Connections.h b/Simulator/Connections/Connections.h index d8bcc8596..adfe57c64 100644 --- a/Simulator/Connections/Connections.h +++ b/Simulator/Connections/Connections.h @@ -67,9 +67,8 @@ class Connections { /// Update the connections status in every epoch. /// - /// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. - virtual bool updateConnections(AllVertices &vertices); + virtual bool updateConnections(); /// Cereal serialization method template void serialize(Archive &archive); diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index 7d5c499e3..d319c1ec5 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -63,7 +63,7 @@ void Connections911::printParameters() const #if !defined(USE_GPU) /// Update the connections status in every epoch. -bool Connections911::updateConnections(AllVertices &vertices) +bool Connections911::updateConnections() { // Only run on the first epoch if (Simulator::getInstance().getCurrentStep() != 1) { @@ -73,6 +73,7 @@ bool Connections911::updateConnections(AllVertices &vertices) // Record old type map int numVertices = Simulator::getInstance().getTotalVertices(); Layout &layout = Simulator::getInstance().getModel().getLayout(); + AllVertices &vertices = layout.getVertices(); oldTypeMap_ = layout.vertexTypeMap_; // Erase PSAPs diff --git a/Simulator/Connections/NG911/Connections911.h b/Simulator/Connections/NG911/Connections911.h index 25d38c63e..85284ce67 100644 --- a/Simulator/Connections/NG911/Connections911.h +++ b/Simulator/Connections/NG911/Connections911.h @@ -72,9 +72,8 @@ class Connections911 : public Connections { /// Update the connections status in every epoch. /// Uses the parent definition for USE_GPU /// - /// @param vertices The Vertex list to search from. /// @return true if successful, false otherwise. - virtual bool updateConnections(AllVertices &vertices) override; + virtual bool updateConnections() override; /// Finds the outgoing edge from the given vertex to the Responder closest to /// the emergency call location diff --git a/Simulator/Connections/Neuro/ConnGrowth.cpp b/Simulator/Connections/Neuro/ConnGrowth.cpp index beaad1660..41cc2dcd6 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth.cpp @@ -126,10 +126,12 @@ void ConnGrowth::printParameters() const /// Update the connections status in every epoch. /// -/// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. -bool ConnGrowth::updateConnections(AllVertices &vertices) +bool ConnGrowth::updateConnections() { + Layout &layout = Simulator::getInstance().getModel().getLayout(); + AllVertices &vertices = layout.getVertices(); + // Update Connections data updateConns(vertices); diff --git a/Simulator/Connections/Neuro/ConnGrowth.h b/Simulator/Connections/Neuro/ConnGrowth.h index e6a88078c..0a6abb41f 100644 --- a/Simulator/Connections/Neuro/ConnGrowth.h +++ b/Simulator/Connections/Neuro/ConnGrowth.h @@ -103,9 +103,8 @@ class ConnGrowth : public Connections { /// Update the connections status in every epoch. /// - /// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. - virtual bool updateConnections(AllVertices &vertices) override; + virtual bool updateConnections() override; /// Cereal serialization method template void serialize(Archive &archive); diff --git a/Simulator/Connections/Neuro/ConnStatic.cpp b/Simulator/Connections/Neuro/ConnStatic.cpp index 1ac91bddf..ae966a45f 100644 --- a/Simulator/Connections/Neuro/ConnStatic.cpp +++ b/Simulator/Connections/Neuro/ConnStatic.cpp @@ -90,11 +90,10 @@ void ConnStatic::printParameters() const { } -/// Update the connections status in every epoch. +/// Output the weights matrix after every epoch. /// -/// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. -bool ConnStatic::updateConnections(AllVertices &vertices) +bool ConnStatic::updateConnections() { AllNeuroEdges &synapses = dynamic_cast(*edges_); synapses.outputWeights(Simulator::getInstance().getCurrentStep()); diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index f678b6670..35014e75b 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -80,11 +80,10 @@ class ConnStatic : public Connections { return destVertexIndexCurrentEpoch_; } - /// Update the connections status in every epoch. + /// Output the weights matrix after every epoch. /// - /// @param vertices The vertex list to search from. /// @return true if successful, false otherwise. - virtual bool updateConnections(AllVertices &vertices) override; + virtual bool updateConnections() override; /// Cereal serialization method template void serialize(Archive &archive); diff --git a/Simulator/Core/CPUModel.cpp b/Simulator/Core/CPUModel.cpp index 1e335fca6..f9388e96a 100644 --- a/Simulator/Core/CPUModel.cpp +++ b/Simulator/Core/CPUModel.cpp @@ -35,7 +35,7 @@ void CPUModel::advance() void CPUModel::updateConnections() { // Update Connections data - if (connections_->updateConnections(layout_->getVertices())) { + if (connections_->updateConnections()) { connections_->updateEdgesWeights(); // create edge inverse map connections_->createEdgeIndexMap(); diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp index 17ec924ec..23328177a 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.cpp @@ -389,5 +389,5 @@ void AllSpikingSynapses::outputWeights(int epochNum) outFile << ""; outFile.close(); - cout << "Success: XML written to " << filename << endl; + cout << "Weights matrix output to: " << filename << endl; } From 56128254d0e58dca0090d49f92a76508f253c4f3 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 3 Jul 2025 17:17:27 -0700 Subject: [PATCH 101/153] Add ConnGrowth weight output --- Simulator/Connections/Neuro/ConnGrowth_d.cpp | 10 +++++++-- Simulator/Core/GPUModel.cpp | 2 +- Simulator/Edges/Neuro/AllSpikingSynapses.h | 6 +++++ .../Edges/Neuro/AllSpikingSynapses_d.cpp | 22 +++++++++++++++++++ 4 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Simulator/Connections/Neuro/ConnGrowth_d.cpp b/Simulator/Connections/Neuro/ConnGrowth_d.cpp index 148834fea..1854bfe83 100644 --- a/Simulator/Connections/Neuro/ConnGrowth_d.cpp +++ b/Simulator/Connections/Neuro/ConnGrowth_d.cpp @@ -77,6 +77,12 @@ void ConnGrowth::updateEdgesWeights(int numVertices, AllVertices &vertices, AllE // copy device synapse count to host memory edges.copyDeviceEdgeCountsToHost(allEdgesDevice); - // copy device synapse summation coordinate to host memory - dynamic_cast(edges).copyDeviceEdgeSumIdxToHost(allEdgesDevice); + + // copy device synapse summation coordinate and weights to host memory + AllSpikingSynapses &synapses = dynamic_cast(edges); + synapses.copyDeviceEdgeSumIdxToHost(allEdgesDevice); + synapses.copyDeviceEdgeWeightsToHost(allEdgesDevice); + + // output weight matrix every epoch + synapses.outputWeights(simulator.getCurrentStep()); } diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index 5aaf15571..c652e28ba 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -237,7 +237,7 @@ void GPUModel::updateConnections() vertices.copyFromDevice(allVerticesDevice_); // Update Connections data - if (connections_->updateConnections(vertices)) { + if (connections_->updateConnections()) { connections_->updateEdgesWeights(Simulator::getInstance().getTotalVertices(), vertices, edges, allVerticesDevice_, allEdgesDevice_, getLayout()); // create edge index map diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 126978867..13ca15195 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -199,6 +199,12 @@ class AllSpikingSynapses : public AllNeuroEdges { /// @param allEdgesDevice GPU address of the allEdges struct on device memory. void copyDeviceEdgeSumIdxToHost(void *allEdgesDevice); + /// Get weights matrix in AllEdges struct on device memory. + /// + /// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct + /// on device memory. + virtual void copyDeviceEdgeWeightsToHost(void *allEdgesDevice) ; + protected: /// Allocate GPU memories to store all synapses' states, /// and copy them from host to GPU memory. diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index 94364e4a2..13f5b1ea4 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -273,6 +273,28 @@ void AllSpikingSynapses::copyDeviceEdgeCountsToHost(void *allEdgesDevice) //allEdges.countVertices_ = 0; } +/// Get weights matrix in AllEdges struct on device memory. +/// +/// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct +/// on device memory. +void AllSpikingSynapses::copyDeviceEdgeWeightsToHost(void *allEdgesDevice) +{ + AllSpikingSynapsesDeviceProperties allEdgesDeviceProps; + + int numVertices = Simulator::getInstance().getTotalVertices(); + BGSIZE maxTotalSynapses = Simulator::getInstance().getMaxEdgesPerVertex() * numVertices; + + HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, + sizeof(AllSpikingSynapsesDeviceProperties), cudaMemcpyDeviceToHost)); + + // std::cout << "size: " << vertexCount * vertexCount * sizeof(BGFLOAT) << std::endl; + // std::cout << "W_.data(): " << W_.data() << std::endl; + // std::cout << "allEdgesDeviceProps.W_: " << allEdgesDeviceProps.W_ << std::endl; + + HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, + maxTotalSynapses * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); +} + /// Get summationCoord and in_use in AllEdges struct on device memory. /// /// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct From 4c897a6037189486d3a5b05048930cb723a0fd10 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 3 Jul 2025 20:32:27 -0700 Subject: [PATCH 102/153] add xml to graphml converter --- Simulator/Edges/Neuro/AllSpikingSynapses.h | 2 +- .../Edges/Neuro/AllSpikingSynapses_d.cpp | 4 +- Tools/XMLToGraphML/README.md | 0 Tools/XMLToGraphML/getGraphEdges.py | 124 ++++++++++++++++++ 4 files changed, 127 insertions(+), 3 deletions(-) create mode 100644 Tools/XMLToGraphML/README.md create mode 100644 Tools/XMLToGraphML/getGraphEdges.py diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses.h b/Simulator/Edges/Neuro/AllSpikingSynapses.h index 13ca15195..001a91cdf 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses.h +++ b/Simulator/Edges/Neuro/AllSpikingSynapses.h @@ -203,7 +203,7 @@ class AllSpikingSynapses : public AllNeuroEdges { /// /// @param allEdgesDevice GPU address of the AllSpikingSynapsesDeviceProperties struct /// on device memory. - virtual void copyDeviceEdgeWeightsToHost(void *allEdgesDevice) ; + virtual void copyDeviceEdgeWeightsToHost(void *allEdgesDevice); protected: /// Allocate GPU memories to store all synapses' states, diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index 13f5b1ea4..a610b6c51 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -291,8 +291,8 @@ void AllSpikingSynapses::copyDeviceEdgeWeightsToHost(void *allEdgesDevice) // std::cout << "W_.data(): " << W_.data() << std::endl; // std::cout << "allEdgesDeviceProps.W_: " << allEdgesDeviceProps.W_ << std::endl; - HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, - maxTotalSynapses * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, + maxTotalSynapses * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); } /// Get summationCoord and in_use in AllEdges struct on device memory. diff --git a/Tools/XMLToGraphML/README.md b/Tools/XMLToGraphML/README.md new file mode 100644 index 000000000..e69de29bb diff --git a/Tools/XMLToGraphML/getGraphEdges.py b/Tools/XMLToGraphML/getGraphEdges.py new file mode 100644 index 000000000..57d8cb12c --- /dev/null +++ b/Tools/XMLToGraphML/getGraphEdges.py @@ -0,0 +1,124 @@ +''' +GETGRAPHEDGES Generate a graphml file from the weights matrix simulation output + +This function reads the Graphitti weight matrix output from the +growth simulation and reformats it to graphml for input into the +STDP simulation. + +Input: +weights_file - Weight matrix output from Graphitti. The entire path can be used; for example + '/CSSDIV/research/biocomputing/data/2025/tR_1.0--fE_0.90_10000/weights-epoch-1.xml' +graphml_file - graphml file to add the edges. This is typically the same file + used as input to the Graphitti simulation. + +Output: + - weight_graph.graphml + +Author: Vanessa Arndorfer (vanessa.arndorfer@gmail.com) +Last updated: 07/01/2025 +''' + +import numpy as np +import os +import pandas as pd +import sys +import xml.etree.ElementTree as ET + + +def xmlToNumpy(node, rows, cols): + print("Converting xml to matrix for: " + node.tag) + + m = np.zeros(shape=(rows, cols)) + r = 0 + c = 0 + for child in node: + m[r][c] = float(child.text) + c += 1 + + # new row + if c == cols: + r += 1 + c = 0 + + return m + + +def getWeightMatrix(file_name, src_root, weights_root): + print("Building weights matrix for: " + file_name) + + tree = ET.parse(file_name) + root = tree.getroot() + + idNum = 0 + srcIdx = root.find(src_root) + weights = root.find(weights_root) + + rows = 10000 + cols = 200 + + srcIdx_np = xmlToNumpy(srcIdx, rows, cols) + weights_np = xmlToNumpy(weights, rows, cols) + + print("Converting matrices into square format...") + edge_weights = np.zeros(shape=(rows, rows)) + + weight_count = 0 + + for r in range(weights_np.shape[0]): + for c in range(weights_np.shape[1]): + if weights_np[r][c] != 0: + weight_count += 1 + src = int(srcIdx_np[r][c]) + edge_weights[src][r] = weights_np[r][c] + + print("Total weighted edges: " + str(weight_count)) + + return edge_weights + + +def getEdgeGraphML(edge_weights, graphml_file, output_dir): + print("Adding edges to the graph file: " + graphml_file) + + # register xml namespaces + ET.register_namespace('', "http://graphml.graphdrawing.org/xmlns") + ET.register_namespace('xsi', "http://www.w3.org/2001/XMLSchema-instance") + ET.register_namespace('xsi:schemaLocation', "http://graphml.graphdrawing.org/xmlns http://graphml.graphdrawing.org/xmlns/1.0/graphml.xsd") + + tree = ET.parse(graphml_file) + root = tree.getroot() + + # define weight attribute for edges + weight_key = ET.Element("key", attrib={"id":"weight", "for":"edge", "attr.name":"weight", "attr.type":"double"}) + root.append(weight_key) + + idNum = 0 + graph = root.find('./{http://graphml.graphdrawing.org/xmlns}graph') + + for r in range(edge_weights.shape[0]): + for c in range(edge_weights.shape[1]): + if edge_weights[r][c] != 0: + edgeId = "e" + str(idNum) + edge = ET.Element("edge", attrib={"id":edgeId, "source":str(r), "target":str(c)}) + data = ET.SubElement(edge, "data", attrib={"key": "weight"}) + data.text = str(edge_weights[r][c]) + graph.append(edge) + idNum += 1 + + print(str(idNum) + " edges created") + ET.indent(tree, space="\t", level=0) + tree.write(output_dir + "/weight_graph.graphml", encoding="utf-8", xml_declaration=True) + + +if __name__ == "__main__": + # execution format: python3.9 ./getGraphEdges.py weights_file graphml_file + # example: python3.9 ./getGraphEdges.py /CSSDIV/research/biocomputing/data/2025/tR_1.0--fE_0.90_10000/weights-epoch-25.xml configfiles/graphs/fE_0.90_10000.graphml + weights_file = sys.argv[1] + graphml_file = sys.argv[2] + + ht = os.path.split(weights_file) + output_dir = ht[0] + print("Output dir: " + output_dir) + + df = getWeightMatrix(weights_file, "SourceVertexIndex", "WeightMatrix") + getEdgeGraphML(df, graphml_file, output_dir) + \ No newline at end of file From 674713177c36b4e6356e3cff5a158b449bd1e6b6 Mon Sep 17 00:00:00 2001 From: Vanessa Arndorfer Date: Thu, 3 Jul 2025 20:40:39 -0700 Subject: [PATCH 103/153] clang format fixes --- Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp | 4 ++-- Tools/XMLToGraphML/README.md | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp index a610b6c51..f426292b3 100644 --- a/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp +++ b/Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp @@ -291,8 +291,8 @@ void AllSpikingSynapses::copyDeviceEdgeWeightsToHost(void *allEdgesDevice) // std::cout << "W_.data(): " << W_.data() << std::endl; // std::cout << "allEdgesDeviceProps.W_: " << allEdgesDeviceProps.W_ << std::endl; - HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, - maxTotalSynapses * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, maxTotalSynapses * sizeof(BGFLOAT), + cudaMemcpyDeviceToHost)); } /// Get summationCoord and in_use in AllEdges struct on device memory. diff --git a/Tools/XMLToGraphML/README.md b/Tools/XMLToGraphML/README.md index e69de29bb..b36f0e0b8 100644 --- a/Tools/XMLToGraphML/README.md +++ b/Tools/XMLToGraphML/README.md @@ -0,0 +1,17 @@ +# XML to GraphML Converter + +## Overview +This script was created to parse the weight matrix output from neuro simulations and generate a graphml file for input into subsequent simulations. + +## `getGraphEdges` +* Must be run with Python3.9 +* Takes a weight matrix xml file and existing graphml file as input +* Adds the edge weights to the graphml file + +## Contributors +- Vanessa Arndorfer + + + + + From 1b92a8f4825fd9d7949e0db4d1be21e5a7ff8fc9 Mon Sep 17 00:00:00 2001 From: stiber Date: Thu, 24 Jul 2025 14:54:58 -0700 Subject: [PATCH 104/153] Fixes to bring branch up to date with shared development --- Simulator/Connections/Connections.cpp | 4 ++++ Simulator/Vertices/AllVertices.cpp | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Simulator/Connections/Connections.cpp b/Simulator/Connections/Connections.cpp index 48966de19..75b20c70d 100644 --- a/Simulator/Connections/Connections.cpp +++ b/Simulator/Connections/Connections.cpp @@ -44,6 +44,10 @@ Connections::Connections() function regGraphPropsFunc = bind(&Connections::registerGraphProperties, this); opsManager.registerOperation(Operations::registerGraphProperties, regGraphPropsFunc); + // Register registerHistoryVariables function as a registerHistoryVariables operation in the OperationManager + function registerHistoryVarsFunc = bind(&Connections::registerHistoryVariables, this); + opsManager.registerOperation(Operations::registerHistoryVariables, registerHistoryVarsFunc); + // Get a copy of the file logger to use log4cplus macros fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); edgeLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("edge")); diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index 8c20235f0..b7e43d61e 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -40,9 +40,9 @@ AllVertices::AllVertices() : size_(0) printParametersFunc); // Register registerHistoryVariables function as a registerHistoryVariables operation in the OperationManager - function registerHistory = bind(&AllVertices::registerHistoryVariables, this); + function registerHistoryVarsFunc = bind(&AllVertices::registerHistoryVariables, this); OperationManager::getInstance().registerOperation(Operations::registerHistoryVariables, - registerHistory); + registerHistoryVarsFunc); #if defined(USE_GPU) // Register allocNeuronDeviceStruct function as a allocateGPU operation in the OperationManager From 655df71a3f5bd335df2dd16c4dde285ff345ae91 Mon Sep 17 00:00:00 2001 From: stiber Date: Thu, 24 Jul 2025 16:00:10 -0700 Subject: [PATCH 105/153] Added program to improve comparison of outputs and made minor fixes --- .gitignore | 1 + .../Connections/NG911/Connections911.cpp | 2 +- Simulator/Connections/Neuro/ConnStatic.h | 5 - Simulator/Vertices/NG911/All911Vertices.cpp | 2 +- .../GoodOutput/Cpu/test-small-911-out.xml | Bin 135407 -> 135407 bytes .../RegressionTesting/compare_matrices.cpp | 112 ++++++++++++++++++ 6 files changed, 115 insertions(+), 7 deletions(-) create mode 100644 Testing/RegressionTesting/compare_matrices.cpp diff --git a/.gitignore b/.gitignore index 3ec5cc21e..97947ebcc 100644 --- a/.gitignore +++ b/.gitignore @@ -41,6 +41,7 @@ ThirdParty/log4cplus-2.0.7/src/liblog4cplus.so.2.0.7 graphitti ggraphitti cgraphitti +compare_matrices tests serialFullTest serialFirstHalfTest diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index d1e91cd12..d538765e4 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -73,7 +73,7 @@ bool Connections911::updateConnections() // Record old type map int numVertices = Simulator::getInstance().getTotalVertices(); Layout &layout = Simulator::getInstance().getModel().getLayout(); - // oldTypeMap_ = layout.vertexTypeMap_; + AllVertices &vertices = layout.getVertices(); // Erase PSAPs for (int i = 0; i < psapsToErase_; i++) { diff --git a/Simulator/Connections/Neuro/ConnStatic.h b/Simulator/Connections/Neuro/ConnStatic.h index a43d25bfd..67d0a8fb6 100644 --- a/Simulator/Connections/Neuro/ConnStatic.h +++ b/Simulator/Connections/Neuro/ConnStatic.h @@ -83,11 +83,6 @@ class ConnStatic : public Connections { return destVertexIndexCurrentEpoch_.getVector(); } - /// Output the weights matrix after every epoch. - /// - /// @return true if successful, false otherwise. - virtual bool updateConnections() override; - /// Cereal serialization method template void serialize(Archive &archive); diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index 8d117dd9d..fa75c9490 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -139,7 +139,7 @@ void All911Vertices::registerHistoryVariables() Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); // Registering the following variables to be recorded - recorder.registerVariable("numTrunkS", numTrunks_, Recorder::UpdatedType::CONSTANT); + recorder.registerVariable("numTrunks", numTrunks_, Recorder::UpdatedType::CONSTANT); recorder.registerVariable("numServers", numServers_, Recorder::UpdatedType::CONSTANT); recorder.registerVariable("droppedCalls", droppedCalls_, Recorder::UpdatedType::DYNAMIC); recorder.registerVariable("receivedCalls", receivedCalls_, Recorder::UpdatedType::CONSTANT); diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml index 52729ab0c6ad978d96eb2fb02aef23e389991293..a6331543d7d402a2ecb28a5bec63e94925c3427b 100644 GIT binary patch delta 26 icmaFAkmLPAjtz=TlP56SHODix$1^c*k7r_a4%Vw%7Q0GzZ5K>z>% diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp new file mode 100644 index 000000000..b57d300e3 --- /dev/null +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -0,0 +1,112 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +// Helper to trim whitespace +std::string trim(const std::string& s) { + size_t start = s.find_first_not_of(" \t\r\n"); + size_t end = s.find_last_not_of(" \t\r\n"); + return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); +} + +// Parse matrices from XML file +std::map> parse_matrices(const std::string& filename) { + std::ifstream file(filename); + std::map> matrices; + std::string line, current_name; + bool in_matrix = false; + std::vector values; + + while (std::getline(file, line)) { + line = trim(line); + if (line.find("") == 0) { + matrices[current_name] = values; + in_matrix = false; + } else if (in_matrix) { + std::istringstream iss(line); + std::string val; + while (iss >> val) { + values.push_back(val); + } + } + } + return matrices; +} + +int main(int argc, char* argv[]) { + if (argc != 3) { + std::cerr << "Usage: compare_matrices good_output.xml test_output.xml\n"; + return 1; + } + + auto good = parse_matrices(argv[1]); + auto test = parse_matrices(argv[2]); + + std::set all_vars; + for (const auto& kv : good) all_vars.insert(kv.first); + for (const auto& kv : test) all_vars.insert(kv.first); + + int compared = 0; + std::vector mismatched_vars; + + for (const auto& var : all_vars) { + + int in_good = good.count(var); + int in_test = test.count(var); + + if (in_good==0) { + std::cout << "Variable '" << var << "' present in test output but missing from good output.\n"; + continue; + } + if (in_test==0) { + std::cout << "Variable '" << var << "' present in good output but missing from test output.\n"; + continue; + } + + compared++; + const auto& good_vals = good[var]; + const auto& test_vals = test[var]; + if (good_vals.size() != test_vals.size()) { + std::cout << "Variable '" << var << "' has different number of values (good: " << good_vals.size() + << ", test: " << test_vals.size() << ").\n"; + mismatched_vars.push_back(var); + continue; + } + bool mismatch = false; + for (size_t i = 0; i < good_vals.size(); ++i) { + if (good_vals[i] != test_vals[i]) { + mismatch = true; + break; + } + } + if (mismatch) { + std::cout << "Variable '" << var << "' has mismatched values.\n"; + mismatched_vars.push_back(var); + } + } + + std::cout << compared << " variables compared.\n"; + if (!mismatched_vars.empty()) { + std::cout << "Mismatched values found for variables:\n"; + for (const auto& var : mismatched_vars) { + std::cout << " " << var << "\n"; + } + } else { + std::cout << "All compared variables matched.\n"; + } + return 0; +} \ No newline at end of file From 74ba8e09d6f196e7cc2e31cf28ac2e5b75948243 Mon Sep 17 00:00:00 2001 From: stiber Date: Thu, 24 Jul 2025 16:07:50 -0700 Subject: [PATCH 106/153] Fixed clang-format issues --- .../RegressionTesting/compare-matrices.cpp | 119 ++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 Testing/RegressionTesting/compare-matrices.cpp diff --git a/Testing/RegressionTesting/compare-matrices.cpp b/Testing/RegressionTesting/compare-matrices.cpp new file mode 100644 index 000000000..989aa16f9 --- /dev/null +++ b/Testing/RegressionTesting/compare-matrices.cpp @@ -0,0 +1,119 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +// Helper to trim whitespace +std::string trim(const std::string &s) +{ + size_t start = s.find_first_not_of(" \t\r\n"); + size_t end = s.find_last_not_of(" \t\r\n"); + return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); +} + +// Parse matrices from XML file +std::map> parse_matrices(const std::string &filename) +{ + std::ifstream file(filename); + std::map> matrices; + std::string line, current_name; + bool in_matrix = false; + std::vector values; + + while (std::getline(file, line)) { + line = trim(line); + if (line.find("") == 0) { + matrices[current_name] = values; + in_matrix = false; + } else if (in_matrix) { + std::istringstream iss(line); + std::string val; + while (iss >> val) { + values.push_back(val); + } + } + } + return matrices; +} + +int main(int argc, char *argv[]) +{ + if (argc != 3) { + std::cerr << "Usage: compare_matrices good_output.xml test_output.xml\n"; + return 1; + } + + auto good = parse_matrices(argv[1]); + auto test = parse_matrices(argv[2]); + + std::set all_vars; + for (const auto &kv : good) + all_vars.insert(kv.first); + for (const auto &kv : test) + all_vars.insert(kv.first); + + int compared = 0; + std::vector mismatched_vars; + + for (const auto &var : all_vars) { + int in_good = good.count(var); + int in_test = test.count(var); + + if (in_good == 0) { + std::cout << "Variable '" << var + << "' present in test output but missing from good output.\n"; + continue; + } + if (in_test == 0) { + std::cout << "Variable '" << var + << "' present in good output but missing from test output.\n"; + continue; + } + + compared++; + const auto &good_vals = good[var]; + const auto &test_vals = test[var]; + if (good_vals.size() != test_vals.size()) { + std::cout << "Variable '" << var + << "' has different number of values (good: " << good_vals.size() + << ", test: " << test_vals.size() << ").\n"; + mismatched_vars.push_back(var); + continue; + } + bool mismatch = false; + for (size_t i = 0; i < good_vals.size(); ++i) { + if (good_vals[i] != test_vals[i]) { + mismatch = true; + break; + } + } + if (mismatch) { + std::cout << "Variable '" << var << "' has mismatched values.\n"; + mismatched_vars.push_back(var); + } + } + + std::cout << compared << " variables compared.\n"; + if (!mismatched_vars.empty()) { + std::cout << "Mismatched values found for variables:\n"; + for (const auto &var : mismatched_vars) { + std::cout << " " << var << "\n"; + } + } else { + std::cout << "All compared variables matched.\n"; + } + return 0; +} \ No newline at end of file From 9e927ec0cbc4c1e3753413a16ca3da8fbb8f0131 Mon Sep 17 00:00:00 2001 From: stiber Date: Thu, 24 Jul 2025 16:12:38 -0700 Subject: [PATCH 107/153] Fixed file name mistake --- .../RegressionTesting/compare-matrices.cpp | 119 ----------- .../RegressionTesting/compare_matrices.cpp | 191 +++++++++--------- 2 files changed, 99 insertions(+), 211 deletions(-) delete mode 100644 Testing/RegressionTesting/compare-matrices.cpp diff --git a/Testing/RegressionTesting/compare-matrices.cpp b/Testing/RegressionTesting/compare-matrices.cpp deleted file mode 100644 index 989aa16f9..000000000 --- a/Testing/RegressionTesting/compare-matrices.cpp +++ /dev/null @@ -1,119 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -// Helper to trim whitespace -std::string trim(const std::string &s) -{ - size_t start = s.find_first_not_of(" \t\r\n"); - size_t end = s.find_last_not_of(" \t\r\n"); - return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); -} - -// Parse matrices from XML file -std::map> parse_matrices(const std::string &filename) -{ - std::ifstream file(filename); - std::map> matrices; - std::string line, current_name; - bool in_matrix = false; - std::vector values; - - while (std::getline(file, line)) { - line = trim(line); - if (line.find("") == 0) { - matrices[current_name] = values; - in_matrix = false; - } else if (in_matrix) { - std::istringstream iss(line); - std::string val; - while (iss >> val) { - values.push_back(val); - } - } - } - return matrices; -} - -int main(int argc, char *argv[]) -{ - if (argc != 3) { - std::cerr << "Usage: compare_matrices good_output.xml test_output.xml\n"; - return 1; - } - - auto good = parse_matrices(argv[1]); - auto test = parse_matrices(argv[2]); - - std::set all_vars; - for (const auto &kv : good) - all_vars.insert(kv.first); - for (const auto &kv : test) - all_vars.insert(kv.first); - - int compared = 0; - std::vector mismatched_vars; - - for (const auto &var : all_vars) { - int in_good = good.count(var); - int in_test = test.count(var); - - if (in_good == 0) { - std::cout << "Variable '" << var - << "' present in test output but missing from good output.\n"; - continue; - } - if (in_test == 0) { - std::cout << "Variable '" << var - << "' present in good output but missing from test output.\n"; - continue; - } - - compared++; - const auto &good_vals = good[var]; - const auto &test_vals = test[var]; - if (good_vals.size() != test_vals.size()) { - std::cout << "Variable '" << var - << "' has different number of values (good: " << good_vals.size() - << ", test: " << test_vals.size() << ").\n"; - mismatched_vars.push_back(var); - continue; - } - bool mismatch = false; - for (size_t i = 0; i < good_vals.size(); ++i) { - if (good_vals[i] != test_vals[i]) { - mismatch = true; - break; - } - } - if (mismatch) { - std::cout << "Variable '" << var << "' has mismatched values.\n"; - mismatched_vars.push_back(var); - } - } - - std::cout << compared << " variables compared.\n"; - if (!mismatched_vars.empty()) { - std::cout << "Mismatched values found for variables:\n"; - for (const auto &var : mismatched_vars) { - std::cout << " " << var << "\n"; - } - } else { - std::cout << "All compared variables matched.\n"; - } - return 0; -} \ No newline at end of file diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp index b57d300e3..989aa16f9 100644 --- a/Testing/RegressionTesting/compare_matrices.cpp +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -1,112 +1,119 @@ -#include +#include #include +#include +#include +#include #include #include #include -#include -#include -#include // Helper to trim whitespace -std::string trim(const std::string& s) { - size_t start = s.find_first_not_of(" \t\r\n"); - size_t end = s.find_last_not_of(" \t\r\n"); - return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); +std::string trim(const std::string &s) +{ + size_t start = s.find_first_not_of(" \t\r\n"); + size_t end = s.find_last_not_of(" \t\r\n"); + return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); } // Parse matrices from XML file -std::map> parse_matrices(const std::string& filename) { - std::ifstream file(filename); - std::map> matrices; - std::string line, current_name; - bool in_matrix = false; - std::vector values; +std::map> parse_matrices(const std::string &filename) +{ + std::ifstream file(filename); + std::map> matrices; + std::string line, current_name; + bool in_matrix = false; + std::vector values; - while (std::getline(file, line)) { - line = trim(line); - if (line.find("") == 0) { - matrices[current_name] = values; - in_matrix = false; - } else if (in_matrix) { - std::istringstream iss(line); - std::string val; - while (iss >> val) { - values.push_back(val); - } - } - } - return matrices; + while (std::getline(file, line)) { + line = trim(line); + if (line.find("") == 0) { + matrices[current_name] = values; + in_matrix = false; + } else if (in_matrix) { + std::istringstream iss(line); + std::string val; + while (iss >> val) { + values.push_back(val); + } + } + } + return matrices; } -int main(int argc, char* argv[]) { - if (argc != 3) { - std::cerr << "Usage: compare_matrices good_output.xml test_output.xml\n"; - return 1; - } - - auto good = parse_matrices(argv[1]); - auto test = parse_matrices(argv[2]); +int main(int argc, char *argv[]) +{ + if (argc != 3) { + std::cerr << "Usage: compare_matrices good_output.xml test_output.xml\n"; + return 1; + } - std::set all_vars; - for (const auto& kv : good) all_vars.insert(kv.first); - for (const auto& kv : test) all_vars.insert(kv.first); + auto good = parse_matrices(argv[1]); + auto test = parse_matrices(argv[2]); - int compared = 0; - std::vector mismatched_vars; + std::set all_vars; + for (const auto &kv : good) + all_vars.insert(kv.first); + for (const auto &kv : test) + all_vars.insert(kv.first); - for (const auto& var : all_vars) { + int compared = 0; + std::vector mismatched_vars; - int in_good = good.count(var); - int in_test = test.count(var); + for (const auto &var : all_vars) { + int in_good = good.count(var); + int in_test = test.count(var); - if (in_good==0) { - std::cout << "Variable '" << var << "' present in test output but missing from good output.\n"; - continue; - } - if (in_test==0) { - std::cout << "Variable '" << var << "' present in good output but missing from test output.\n"; - continue; - } + if (in_good == 0) { + std::cout << "Variable '" << var + << "' present in test output but missing from good output.\n"; + continue; + } + if (in_test == 0) { + std::cout << "Variable '" << var + << "' present in good output but missing from test output.\n"; + continue; + } - compared++; - const auto& good_vals = good[var]; - const auto& test_vals = test[var]; - if (good_vals.size() != test_vals.size()) { - std::cout << "Variable '" << var << "' has different number of values (good: " << good_vals.size() - << ", test: " << test_vals.size() << ").\n"; - mismatched_vars.push_back(var); - continue; - } - bool mismatch = false; - for (size_t i = 0; i < good_vals.size(); ++i) { - if (good_vals[i] != test_vals[i]) { - mismatch = true; - break; - } - } - if (mismatch) { - std::cout << "Variable '" << var << "' has mismatched values.\n"; - mismatched_vars.push_back(var); - } - } + compared++; + const auto &good_vals = good[var]; + const auto &test_vals = test[var]; + if (good_vals.size() != test_vals.size()) { + std::cout << "Variable '" << var + << "' has different number of values (good: " << good_vals.size() + << ", test: " << test_vals.size() << ").\n"; + mismatched_vars.push_back(var); + continue; + } + bool mismatch = false; + for (size_t i = 0; i < good_vals.size(); ++i) { + if (good_vals[i] != test_vals[i]) { + mismatch = true; + break; + } + } + if (mismatch) { + std::cout << "Variable '" << var << "' has mismatched values.\n"; + mismatched_vars.push_back(var); + } + } - std::cout << compared << " variables compared.\n"; - if (!mismatched_vars.empty()) { - std::cout << "Mismatched values found for variables:\n"; - for (const auto& var : mismatched_vars) { - std::cout << " " << var << "\n"; - } - } else { - std::cout << "All compared variables matched.\n"; - } - return 0; + std::cout << compared << " variables compared.\n"; + if (!mismatched_vars.empty()) { + std::cout << "Mismatched values found for variables:\n"; + for (const auto &var : mismatched_vars) { + std::cout << " " << var << "\n"; + } + } else { + std::cout << "All compared variables matched.\n"; + } + return 0; } \ No newline at end of file From 30a8e735578c0cf1db8b9906e621b659886a2605 Mon Sep 17 00:00:00 2001 From: Nick Posey <44657018+NicolasJPosey@users.noreply.github.com> Date: Mon, 11 Aug 2025 14:52:49 -0700 Subject: [PATCH 108/153] [issue-874] GPU Compile Errors (#875) * Implement data member for use by ConnGrowth_d * Move registerHistoryVariables so it can be linked for GPU * Add new output from Recorder updates to GPU regression results --- Simulator/Connections/NG911/Connections911.cpp | 14 +++++++------- Simulator/Recorders/RecordableVector.h | 8 ++++++++ .../Gpu/test-medium-connected-long-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-medium-connected-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-medium-long-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-medium-out.xml | 9 +++++++++ .../Gpu/test-small-connected-long-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-small-connected-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-small-long-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-small-out.xml | 9 +++++++++ .../GoodOutput/Gpu/test-tiny-out.xml | 9 +++++++++ 11 files changed, 96 insertions(+), 7 deletions(-) diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index d538765e4..a478d4b1e 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -61,6 +61,13 @@ void Connections911::printParameters() const << endl); } +/// Registers variable to be recorded +void Connections911::registerHistoryVariables() +{ + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("verticesDeleted", verticesErased_, Recorder::UpdatedType::DYNAMIC); +} + #if !defined(USE_GPU) /// Update the connections status in every epoch. bool Connections911::updateConnections() @@ -370,13 +377,6 @@ string Connections911::ChangedEdge::toString() return os.str(); } -/// Registers variable to be recorded -void Connections911::registerHistoryVariables() -{ - Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - recorder.registerVariable("verticesDeleted", verticesErased_, Recorder::UpdatedType::DYNAMIC); -} - /// Returns the complete list of all deleted or added edges as a string. string Connections911::changedEdgesToXML(bool added) { diff --git a/Simulator/Recorders/RecordableVector.h b/Simulator/Recorders/RecordableVector.h index 5f5cf1e4f..1ac285dcb 100644 --- a/Simulator/Recorders/RecordableVector.h +++ b/Simulator/Recorders/RecordableVector.h @@ -93,6 +93,14 @@ template class RecordableVector : public RecordableBase { return dataSeries_; } + /// @brief Gets const pointer to contiguous host memory array + /// @return Const pointer to the first element in host memory + /// @note Returns nullptr if vector is empty + const T *data() const + { + return dataSeries_.data(); + } + /// Cereal serialization method template void serialize(Archive &archive) { diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml index bf0af5860..0f792b3dc 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml index 0da007180..f037991dd 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml index bf0af5860..0f792b3dc 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml index 0da007180..f037991dd 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml index 140f7648b..4b6921849 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml index 3a39631e3..b158fb4ef 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml index 140f7648b..4b6921849 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml index 3a39631e3..b158fb4ef 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml @@ -1,4 +1,13 @@ + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml index 842a96a2f..1e85011cf 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml @@ -1 +1,10 @@ + + 0 1 0 1 + + + 0 0 1 1 + + + 2 1 2 2 + From dc88e77de55c55900cc11de372dfe72a090e72e5 Mon Sep 17 00:00:00 2001 From: Nick Posey <44657018+NicolasJPosey@users.noreply.github.com> Date: Tue, 12 Aug 2025 16:46:15 -0700 Subject: [PATCH 109/153] [issue-287] Refactor neuro out of Layout.h (#877) * Refractor neuro out of Layout.h Layout.h contained neuro data members that should be moved down into the derived class. This was done and DeviceVectors were implemented for Layout911 vertex locations to replace the VectorMatrix type. * Move distance matrix allocation into base class * Update regression result for 911 test --- Simulator/Layouts/Layout.cpp | 62 ++++-------------- Simulator/Layouts/Layout.h | 23 ++----- Simulator/Layouts/NG911/Layout911.cpp | 7 +- Simulator/Layouts/NG911/Layout911.h | 4 ++ Simulator/Layouts/Neuro/LayoutNeuro.cpp | 59 +++++++++++++++-- Simulator/Layouts/Neuro/LayoutNeuro.h | 18 ++++- Simulator/Vertices/NG911/All911Vertices.cpp | 7 +- Simulator/Vertices/Neuro/AllIFNeurons.cpp | 7 +- .../Cpu/test-medium-connected-long-out.xml | 18 ++--- .../Cpu/test-medium-connected-out.xml | 18 ++--- .../GoodOutput/Cpu/test-medium-long-out.xml | 18 ++--- .../GoodOutput/Cpu/test-medium-out.xml | 18 ++--- .../GoodOutput/Cpu/test-small-911-out.xml | Bin 135407 -> 135043 bytes .../Cpu/test-small-connected-long-out.xml | 18 ++--- .../Cpu/test-small-connected-out.xml | 18 ++--- .../GoodOutput/Cpu/test-small-long-out.xml | 18 ++--- .../GoodOutput/Cpu/test-small-out.xml | 18 ++--- .../GoodOutput/Cpu/test-tiny-out.xml | 12 ++-- .../Gpu/test-medium-connected-long-out.xml | 9 +++ .../Gpu/test-medium-connected-out.xml | 9 +++ .../GoodOutput/Gpu/test-medium-long-out.xml | 9 +++ .../GoodOutput/Gpu/test-medium-out.xml | 9 +++ .../Gpu/test-small-connected-long-out.xml | 9 +++ .../Gpu/test-small-connected-out.xml | 9 +++ .../GoodOutput/Gpu/test-small-long-out.xml | 9 +++ .../GoodOutput/Gpu/test-small-out.xml | 9 +++ 26 files changed, 253 insertions(+), 162 deletions(-) diff --git a/Simulator/Layouts/Layout.cpp b/Simulator/Layouts/Layout.cpp index 105221da0..359980e04 100644 --- a/Simulator/Layouts/Layout.cpp +++ b/Simulator/Layouts/Layout.cpp @@ -17,7 +17,7 @@ #include "Util.h" /// Constructor -Layout::Layout() : numEndogenouslyActiveNeurons_(0) +Layout::Layout() { // Get a copy of the console logger to use in the case of errors log4cplus::Logger consoleLogger = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); @@ -49,6 +49,10 @@ Layout::Layout() : numEndogenouslyActiveNeurons_(0) OperationManager::getInstance().registerOperation((Operations::registerGraphProperties), registerGraphPropertiesFunc); + function registerHistoryVariablesFunc = bind(&Layout::registerHistoryVariables, this); + OperationManager::getInstance().registerOperation(Operations::registerHistoryVariables, + registerHistoryVariablesFunc); + // Get a copy of the file logger to use log4cplus macros fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); } @@ -77,58 +81,22 @@ void Layout::registerGraphProperties() gm.registerProperty("type", &VertexProperties::type); } +void Layout::registerHistoryVariables() +{ + // Register vertex type map + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); +} + /// Setup the internal structure of the class. /// Allocate memories to store all layout state, no sequential dependency in this method void Layout::setup() { - // Allocate memory - xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); - yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); dist2_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); dist_ = CompleteMatrix(MATRIX_TYPE, MATRIX_INIT, numVertices_, numVertices_); - - // more allocation of internal memory - starterMap_.assign(numVertices_, false); + // Allocation of internal memory vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); - - // Loop over all vertices and set their x and y locations - GraphManager::VertexIterator vi, vi_end; - GraphManager &gm = GraphManager::getInstance(); - for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { - assert(*vi < numVertices_); - xloc_[*vi] = gm[*vi].x; - yloc_[*vi] = gm[*vi].y; - } - - // Now we calculate the distance and distance^2 - // between each pair of vertices - for (int n = 0; n < numVertices_ - 1; n++) { - for (int n2 = n + 1; n2 < numVertices_; n2++) { - // distance^2 between two points in point-slope form - dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) - + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); - - // both points are equidistant from each other - dist2_(n2, n) = dist2_(n, n2); - } - } - - // Finally take the square root to get the distances - dist_ = sqrt(dist2_); - - //Register variable: vertex locations - Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - string baseName = "Location"; - string xLocation = "x_" + baseName; - string yLocation = "y_" + baseName; - recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); - recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); - - // test purpose - // cout << "xloc_: " << &xloc_ << endl; - // RecordableBase& location = xloc_; - // cout << "location: " << &location << endl; } @@ -170,10 +138,6 @@ void Layout::generateVertexTypeMap() vertexTypeMap_.assign(numVertices_, vertexType::VTYPE_UNDEF); } -/// Populates the starter map. -/// Selects num_endogenously_active_neurons excitory neurons and converts them into starter neurons. -/// @param numVertices number of vertices to have in the map. void Layout::initStarterMap() { - starterMap_.assign(numVertices_, false); } diff --git a/Simulator/Layouts/Layout.h b/Simulator/Layouts/Layout.h index 508955995..d604bf2fc 100644 --- a/Simulator/Layouts/Layout.h +++ b/Simulator/Layouts/Layout.h @@ -44,6 +44,8 @@ class Layout { /// @brief Register vertex properties with the GraphManager virtual void registerGraphProperties(); + virtual void registerHistoryVariables(); + /// Load member variables from configuration files. Registered to OperationManager as Operation::loadParameters virtual void loadParameters(); @@ -53,9 +55,6 @@ class Layout { /// Creates a neurons type map virtual void generateVertexTypeMap(); - /// Populates the starter map. - /// Selects num_endogenously_active_neurons excitory neurons - /// and converts them into starter neurons. virtual void initStarterMap(); /// Returns the type of synapse at the given coordinates @@ -68,23 +67,15 @@ class Layout { /// @return The number of vertices managed by the Layout virtual int getNumVertices() const; - VectorMatrix xloc_; ///< Store neuron i's x location. - - VectorMatrix yloc_; ///< Store neuron i's y location. - CompleteMatrix dist2_; ///< Inter-neuron distance squared CompleteMatrix dist_; ///< The true inter-neuron distance. vector - probedNeuronList_; ///< Probed neurons list. // ToDo: Move this to Hdf5 recorder once its implemented in project -chris + probedVertexList_; ///< Probed neurons list. // ToDo: Move this to Hdf5 recorder once its implemented in project -chris RecordableVector vertexTypeMap_; ///< The vertex type mao, (INH, EXC). - vector starterMap_; ///< The starter existence map (T/F). - - BGSIZE numEndogenouslyActiveNeurons_; ///< Number of endogenously active neurons. - /// Cereal serialization method template void serialize(Archive &archive); @@ -99,11 +90,7 @@ class Layout { /// Cereal serialization method template void Layout::serialize(Archive &archive) { - archive(cereal::make_nvp("xloc", xloc_), cereal::make_nvp("yloc", yloc_), - cereal::make_nvp("dist2", dist2_), cereal::make_nvp("dist", dist_), - cereal::make_nvp("probedNeuronList", probedNeuronList_), - cereal::make_nvp("vertexTypeMap", vertexTypeMap_), - cereal::make_nvp("starterMap", starterMap_), - cereal::make_nvp("numEndogenouslyActiveNeurons", numEndogenouslyActiveNeurons_), + archive(cereal::make_nvp("vertexTypeMap", vertexTypeMap_), cereal::make_nvp("dist2", dist2_), + cereal::make_nvp("dist", dist_), cereal::make_nvp("probedVertexList", probedVertexList_), cereal::make_nvp("vertices", vertices_), cereal::make_nvp("numVertices", numVertices_)); } diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index 01d26da03..ecee5e478 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -46,6 +46,9 @@ void Layout911::setup() // so we call its method first Layout::setup(); + xloc_.assign(numVertices_, 0); + yloc_.assign(numVertices_, 0); + // Loop over all vertices and set their x and y locations GraphManager::VertexIterator vi, vi_end; GraphManager &gm = GraphManager::getInstance(); @@ -102,10 +105,6 @@ void Layout911::generateVertexTypeMap() vTypeCount[gm[*vi].type] += 1; } - // Register vertexTypes with recorder - Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); - LOG4CPLUS_DEBUG(fileLogger_, "\nVERTEX TYPE MAP" << endl << "\tTotal vertices: " << numVertices_ << endl diff --git a/Simulator/Layouts/NG911/Layout911.h b/Simulator/Layouts/NG911/Layout911.h index 7f62dc9b8..3b912391a 100644 --- a/Simulator/Layouts/NG911/Layout911.h +++ b/Simulator/Layouts/NG911/Layout911.h @@ -31,6 +31,7 @@ #pragma once +#include "DeviceVector.h" #include "Layout.h" using namespace std; @@ -81,4 +82,7 @@ class Layout911 : public Layout { /// @param y The y location of a point /// @return The distance between the given vertex and the (x, y) coordinates of a point double getDistance(int vertexId, double x, double y); + + DeviceVector xloc_; + DeviceVector yloc_; }; diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.cpp b/Simulator/Layouts/Neuro/LayoutNeuro.cpp index c57daf5ac..3c2c14ea3 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.cpp +++ b/Simulator/Layouts/Neuro/LayoutNeuro.cpp @@ -16,6 +16,44 @@ // TODO: I don't think that either of the constructor or destructor is needed here LayoutNeuro::LayoutNeuro() : Layout() { + numEndogenouslyActiveNeurons_ = 0; +} + +void LayoutNeuro::setup() +{ + // Allocate base class memory + Layout::setup(); + + // Allocate memory + xloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + yloc_ = VectorMatrix(MATRIX_TYPE, MATRIX_INIT, 1, numVertices_); + /// Populates the starter map. + starterMap_.assign(numVertices_, false); + + // Loop over all vertices and set their x and y locations + GraphManager::VertexIterator vi, vi_end; + GraphManager &gm = GraphManager::getInstance(); + for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { + assert(*vi < numVertices_); + xloc_[*vi] = gm[*vi].x; + yloc_[*vi] = gm[*vi].y; + } + + // Now we calculate the distance and distance^2 + // between each pair of vertices + for (int n = 0; n < numVertices_ - 1; n++) { + for (int n2 = n + 1; n2 < numVertices_; n2++) { + // distance^2 between two points in point-slope form + dist2_(n, n2) = (xloc_[n] - xloc_[n2]) * (xloc_[n] - xloc_[n2]) + + (yloc_[n] - yloc_[n2]) * (yloc_[n] - yloc_[n2]); + + // both points are equidistant from each other + dist2_(n2, n) = dist2_(n, n2); + } + } + + // Finally take the square root to get the distances + dist_ = sqrt(dist2_); } // Register vertex properties with the GraphManager @@ -32,6 +70,19 @@ void LayoutNeuro::registerGraphProperties() gm.registerProperty("active", &NeuralVertexProperties::active); } +void LayoutNeuro::registerHistoryVariables() +{ + Layout::registerHistoryVariables(); + + //Register variable: vertex locations + Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); + string baseName = "Location"; + string xLocation = "x_" + baseName; + string yLocation = "y_" + baseName; + recorder.registerVariable(xLocation, xloc_, Recorder::UpdatedType::CONSTANT); + recorder.registerVariable(yLocation, yloc_, Recorder::UpdatedType::CONSTANT); +} + /// Prints out all parameters to logging file. /// Registered to OperationManager as Operation::printParameters void LayoutNeuro::printParameters() const @@ -67,10 +118,6 @@ void LayoutNeuro::generateVertexTypeMap() } } - // Register vertexTypeMap to be recorded - Recorder &recorder = Simulator::getInstance().getModel().getRecorder(); - recorder.registerVariable("vertexTypeMap", vertexTypeMap_, Recorder::UpdatedType::CONSTANT); - numExcititoryNeurons = numVertices_ - numInhibitoryNeurons; LOG4CPLUS_DEBUG(fileLogger_, "\nVERTEX TYPE MAP" @@ -86,12 +133,12 @@ void LayoutNeuro::generateVertexTypeMap() /// @param numVertices number of vertices to have in the map. void LayoutNeuro::initStarterMap() { - Layout::initStarterMap(); - // Set Neuron Activity from GraphML File GraphManager::VertexIterator vi, vi_end; GraphManager &gm = GraphManager::getInstance(); + /// Selects num_endogenously_active_neurons excitory neurons + /// and converts them into starter neurons. for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < numVertices_); if (gm[*vi].active) { diff --git a/Simulator/Layouts/Neuro/LayoutNeuro.h b/Simulator/Layouts/Neuro/LayoutNeuro.h index 735c4fefa..b31e2f21a 100644 --- a/Simulator/Layouts/Neuro/LayoutNeuro.h +++ b/Simulator/Layouts/Neuro/LayoutNeuro.h @@ -35,6 +35,12 @@ class LayoutNeuro : public Layout { /// Register vertex properties with the GraphManager virtual void registerGraphProperties() override; + virtual void registerHistoryVariables() override; + + /// Setup the internal structure of the class. + /// Allocate memories to store all layout state. + virtual void setup() override; + /// Prints out all parameters to logging file. /// Registered to OperationManager as Operation::printParameters virtual void printParameters() const override; @@ -56,6 +62,14 @@ class LayoutNeuro : public Layout { /// Prints the layout, used for debugging. void printLayout(); + VectorMatrix xloc_; ///< Store neuron i's x location. + + VectorMatrix yloc_; ///< Store neuron i's y location. + + vector starterMap_; ///< The starter existence map (T/F). + + BGSIZE numEndogenouslyActiveNeurons_; ///< Number of endogenously active neurons. + /// Cereal serialization method template void serialize(Archive &archive); }; @@ -65,5 +79,7 @@ CEREAL_REGISTER_TYPE(LayoutNeuro); /// Cereal serialization method template void LayoutNeuro::serialize(Archive &archive) { - archive(cereal::virtual_base_class(this)); + archive(cereal::virtual_base_class(this), cereal::make_nvp("xloc", xloc_), + cereal::make_nvp("yloc", yloc_), cereal::make_nvp("starterMap", starterMap_), + cereal::make_nvp("numEndogenouslyActiveNeurons", numEndogenouslyActiveNeurons_)); } diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index fa75c9490..bbc9e5fef 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -416,6 +416,7 @@ void All911Vertices::advanceRESP(BGSIZE vertexIdx, All911Edges &edges911, const EdgeIndexMap &edgeIndexMap) { Layout &layout = Simulator::getInstance().getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); // Free the units finishing up with emergency responses vector availableUnits; @@ -462,10 +463,10 @@ void All911Vertices::advanceRESP(BGSIZE vertexIdx, All911Edges &edges911, // to zero at the poles. // One degree of longitude can be converted to miles using the following formula: // 1 degree of longitude = cos(latitude) * 69.172 - double lngDegreeLength = cos(layout.yloc_[vertexIdx] * (pi / 180)) * 69.172; + double lngDegreeLength = cos(layout911.yloc_[vertexIdx] * (pi / 180)) * 69.172; double latDegreeLength = 69.0; - double deltaLng = incident->x - layout.xloc_[vertexIdx]; - double deltaLat = incident->y - layout.yloc_[vertexIdx]; + double deltaLng = incident->x - layout911.xloc_[vertexIdx]; + double deltaLat = incident->y - layout911.yloc_[vertexIdx]; double dist2incident = sqrt(pow(deltaLng * lngDegreeLength, 2) + pow(deltaLat * latDegreeLength, 2)); diff --git a/Simulator/Vertices/Neuro/AllIFNeurons.cpp b/Simulator/Vertices/Neuro/AllIFNeurons.cpp index 5332a9279..f51926646 100644 --- a/Simulator/Vertices/Neuro/AllIFNeurons.cpp +++ b/Simulator/Vertices/Neuro/AllIFNeurons.cpp @@ -7,7 +7,7 @@ */ #include "AllIFNeurons.h" -#include "Layout.h" +#include "LayoutNeuro.h" #include "MTRand.h" #include "Norm.h" #include "OperationManager.h" @@ -116,6 +116,7 @@ void AllIFNeurons::createAllVertices(Layout &layout) /// @param layout Layout information of the neural network. void AllIFNeurons::createNeuron(int i, Layout &layout) { + LayoutNeuro &layoutNeuro = dynamic_cast(layout); // set the neuron info for neurons Iinject_[i] = initRNG.inRange(IinjectRange_[0], IinjectRange_[1]); Inoise_[i] = initRNG.inRange(InoiseRange_[0], InoiseRange_[1]); @@ -127,7 +128,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) initNeuronConstsFromParamValues(i, Simulator::getInstance().getDeltaT()); - switch (layout.vertexTypeMap_[i]) { + switch (layoutNeuro.vertexTypeMap_[i]) { case vertexType::INH: LOG4CPLUS_DEBUG(vertexLogger_, "Setting inhibitory neuron: " << i); // set inhibitory absolute refractory period @@ -147,7 +148,7 @@ void AllIFNeurons::createNeuron(int i, Layout &layout) break; } // endogenously_active_neuron_map -> Model State - if (layout.starterMap_[i]) { + if (layoutNeuro.starterMap_[i]) { // set endogenously active threshold voltage, reset voltage, and refractory period Vthresh_[i] = initRNG.inRange(starterVthreshRange_[0], starterVthreshRange_[1]); Vreset_[i] = initRNG.inRange(starterVresetRange_[0], starterVresetRange_[1]); diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml index 553bd0cb9..413b7c3df 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 2002223 2004227 2019311 2022754 2026812 2028570 2030668 2032652 2036100 2039634 2086420 2091427 2102445 2111300 2114173 2116576 2125063 2130649 2132232 2157874 2163101 2164384 2169902 2176932 2207705 2209838 2218452 2224126 2229759 2235192 2248698 2251246 2275746 2287022 2288609 2292106 2294552 2301419 2304013 2326812 2330477 2342673 2343971 2351422 2363077 2367325 2369149 2379804 2383466 2386826 2391193 2393277 2395925 2403706 2410288 2436428 2443289 2445435 2463336 2468220 2476589 2477736 2482935 2498514 2507732 2534048 2549987 2572673 2583118 2593617 2596047 2597863 2602430 2627523 2640904 2641761 2643412 2646557 2653713 2673169 2677672 2682586 2705252 2714887 2715791 2730585 2747178 2763604 2769960 2779129 2797323 2822920 2841776 2849646 2861241 2864664 2869627 2886871 2898710 2919104 2921840 2944558 2959905 2973642 2975811 2979869 2981501 3001911 3022020 3026059 3027975 3042180 3064694 3067411 3068223 3070548 3076273 3078780 3081683 3082807 3089374 3118451 3139021 3141814 3144494 3148374 3165492 3167002 3171643 3182419 3184621 3201959 3205472 3216447 3221351 3255484 3257559 3266267 3282426 3287205 3293589 3319530 3320299 3322473 3324154 3332397 3342781 3346738 3353054 3385168 3386268 3391839 3394227 3398736 3401057 3402719 3410331 3411688 3414550 3416063 3437372 3452576 3458178 3468004 3469582 3477682 3499340 3516844 3522531 3527284 3531277 3536736 3546054 3559946 3585253 3595795 3604884 3636968 3650374 3653900 3667994 3675976 3679485 3703627 3714901 3717794 3736259 3747888 3750765 3752755 3800803 3814843 3817040 3835181 3848818 3862862 3867295 3882450 3892046 3926973 3928868 3934655 3938760 3953296 3955321 3980746 3984955 3998622 4012217 4022988 4038004 4046648 4048706 4052026 4058984 4071042 4073174 4078310 4079690 4095604 4099200 4106959 4120950 4125996 4133930 4135477 4157797 4161770 4164983 4177487 4189080 4192870 4194946 4205316 4224019 4237389 4246007 4250069 4252434 4283563 4290920 4293610 4296006 4330305 4339228 4345533 4352199 4367215 4369143 4373501 4388180 4399374 4425180 4460722 4465991 4473722 4487844 4496866 4503431 4517228 4537075 4549400 4572905 4585477 4590382 4595873 4609403 4649484 4656282 4664561 4682989 4694147 4712521 4714106 4718162 4720320 4730110 4737575 4741463 4753312 4756848 4758720 4777715 4779166 4782222 4787749 4803558 4807378 4823094 4832211 4863370 4869490 4884210 4907863 4911063 4913962 4931887 4943564 4945048 4947740 4978601 4982545 4987653 4993477 5018134 5036695 5048526 5051475 5071735 5080429 5082283 5084804 5097742 5104443 5113579 5115506 5123320 5126765 5155997 5157606 5185177 5186630 5194292 5207420 5212165 5230099 5247261 5272724 5278387 5286746 5288165 5289471 5323850 5325732 5328540 5331199 5339888 5345112 5362112 5371507 5374262 5387869 5401835 5403030 5407889 5409317 5411057 5415620 5418282 5429663 5439205 5442301 5457695 5477038 5497682 5500266 5504671 5520972 5535133 5536998 5539344 5544351 5561160 5563942 5567082 5573693 5578032 5600470 5623903 5626227 5637476 5684161 5691597 5695527 5714130 5719222 5720291 5734594 5743862 5752530 5781644 5783985 5789353 5797598 5806168 5813723 5816380 5830035 5844079 5846194 5847424 5871253 5890748 5900809 5903231 5912991 5929499 5936471 5938970 5943051 5963351 5964454 5970806 5980858 5991187 5997283 5998876 6000991 6030945 6035605 6045775 6056156 6059673 6077509 6085415 6098951 6102966 6109147 6133068 6146030 6163334 6194220 6209277 6227674 6229298 6231198 6233303 6242818 6249145 6252558 6277972 6294973 6302553 6309466 6328585 6339064 6353021 6356081 6367600 6375559 6386526 6395318 6397466 6401421 6404601 6411046 6416795 6422756 6424722 6438838 6450406 6465901 6472145 6493294 6495921 6509151 6511458 6514433 6524135 6528924 6564072 6566402 6581711 6584683 6596454 6609128 6622222 6635902 6639636 6658548 6680698 6687816 6705612 6717955 6720013 6729304 6734270 6763262 6773406 6786374 6791876 6803130 6813277 6815138 6822945 6831833 6835761 6851118 6856883 6864365 6866607 6874292 6882445 6884739 6906981 6918512 6931938 6936552 6943282 6949402 6956907 6958197 6963653 6970007 6996265 6997405 7019274 7023005 7035452 7037543 7057756 7067648 7070792 7074708 7090984 7096827 7098441 7100556 7104128 7146374 7150855 7160275 7177301 7197615 7211786 7215430 7223675 7225401 7267985 7269407 7271843 7281169 7294787 7309778 7319371 7327064 7337332 7341854 7351746 7354370 7362578 7389921 7400065 7410856 7424287 7425902 7439315 7442264 7444087 7448943 7455322 7483859 7486949 7491426 7522651 7527203 7550966 7557036 7560525 7576696 7579022 7583166 7584617 7610588 7623754 7659414 7692307 7700248 7709563 7715810 7722299 7724227 7736656 7744635 7759525 7767524 7783255 7786315 7793315 7825061 7835805 7839965 7841847 7846983 7857701 7867607 7878370 7880163 7883412 7892212 7908548 7916800 7924697 7981363 8002704 8007733 8015614 8029898 8031097 8034478 8044927 8057211 8066214 8082078 8085346 8088160 8097771 8107627 8112320 8118276 8129543 8138209 8145005 8161297 8176922 8181422 8185990 8212783 8232426 8236038 8249209 8260364 8261510 8293483 8309396 8315398 8316508 8318225 8325460 8334456 8352945 8355941 8359917 8361439 8374468 8376326 8393088 8404820 8411569 8432744 8440930 8444251 8464867 8470491 8472003 8477191 8479905 8494072 8498811 8499617 8501566 8504611 8506069 8508237 8524378 8527995 8530311 8535943 8540593 8549920 8554056 8556300 8577580 8579150 8581371 8594072 8609189 8631845 8633861 8647046 8656232 8664677 8674280 8705750 8710148 8715228 8719114 8731100 8741685 8759655 8766461 8782680 8788599 8803516 8822786 8834907 8836052 8838478 8841589 8846936 8857333 8858559 8882014 8888576 8898113 8909836 8910908 8913364 8947126 8970147 8984987 8988975 8999530 9001527 9004106 9043605 9060566 9063629 9075841 9107422 9123133 9142994 9145717 9155072 9179993 9180695 9192657 9193723 9214433 9248527 9264539 9290184 9301956 9312742 9316617 9324782 9372114 9384078 9394757 9418807 9431500 9433672 9449014 9450594 9453964 9463970 9473126 9493420 9503779 9515254 9588199 9591827 9593989 9601242 9610092 9611637 9613407 9615070 9628141 9632901 9651256 9657422 9660401 9666971 9674081 9681030 9696753 9700691 9707067 9709710 9711312 9740848 9750775 9754414 9766077 9792037 9802184 9807288 9815795 9822583 9836843 9854512 9859566 9860868 9867516 9873677 9887138 9900500 9906402 9911350 9915986 9933702 9935664 9939305 9951966 9957349 9960883 9974816 @@ -278,3 +269,12 @@ 6236 22466 37332 50566 73853 118415 129698 143323 184499 188768 196149 231807 251634 282613 438308 444399 445801 451647 589587 603251 614090 640975 738260 789444 791637 803221 816919 823921 834394 843513 854397 861806 893859 930270 939756 998150 1009198 1018642 1021881 1025365 1033975 1042310 1046953 1079335 1082893 1096723 1109070 1113067 1115094 1123908 1146820 1168554 1174584 1222809 1238876 1251433 1257381 1278952 1298080 1344841 1372977 1403687 1414863 1435059 1438649 1445241 1460927 1513720 1515532 1539798 1555123 1616678 1720180 1767071 1773403 1794014 1803387 1804509 1848947 1894022 1912134 1918448 1924944 1947928 1959520 2021178 2028040 2048174 2053029 2069486 2075749 2117498 2124450 2140134 2156989 2166614 2199667 2225692 2279434 2283722 2304133 2325551 2326812 2349673 2368266 2376383 2406622 2464000 2472527 2493480 2538057 2552380 2637218 2671984 2688544 2712836 2762113 2790023 2885119 2912904 2992704 3107175 3125392 3156206 3158348 3204117 3229058 3243726 3263417 3286882 3289207 3305055 3311460 3321772 3334125 3339961 3399016 3412988 3465115 3481418 3513494 3561524 3578502 3581902 3607897 3644133 3710377 3725037 3755577 3783358 3811107 3835386 3840213 3849068 3884077 3922525 3942483 3964637 4011546 4018781 4046400 4089920 4108991 4122506 4177135 4268564 4283773 4325070 4364742 4377453 4382339 4401414 4414221 4440309 4487038 4504634 4563890 4565151 4578985 4599394 4647957 4712280 4801395 4822262 4849863 4856518 4918047 4925727 4930248 4966270 4978213 4985748 5053390 5077019 5165924 5197945 5203170 5235255 5252433 5266602 5310006 5317015 5330559 5335312 5406944 5407930 5411947 5414508 5487755 5532355 5554726 5601292 5606301 5623943 5628668 5638319 5648439 5651028 5656322 5667333 5694529 5770982 5815389 5838676 5840958 5855612 5881068 5883829 5918211 5962232 5997168 6018932 6065473 6084899 6103580 6122062 6155777 6193126 6221186 6238822 6254096 6274273 6327451 6330839 6438426 6446624 6464038 6477640 6485987 6494533 6553658 6567599 6576436 6592342 6633931 6637544 6684524 6700133 6745638 6749046 6767754 6815016 6825209 6827769 6836726 6884045 6900319 6908068 6933544 6937952 6942435 6950603 7042160 7094874 7105287 7132158 7141285 7150062 7170743 7204895 7209513 7222348 7227177 7232352 7237916 7245706 7320042 7336150 7344976 7349634 7356562 7359289 7382421 7392078 7420955 7445976 7458872 7494928 7498836 7506309 7520688 7529312 7541716 7614201 7638673 7647348 7650411 7670328 7746558 7758564 7828601 7870449 7904333 7925513 7945345 8079758 8111679 8117537 8127916 8170047 8207068 8226306 8270579 8276207 8301681 8305762 8323394 8353939 8379864 8383069 8418316 8420028 8488093 8498601 8562554 8608417 8615744 8670707 8684623 8730910 8751018 8756537 8766067 8773561 8789984 8815556 8855413 8902950 8936359 8981055 9059867 9069745 9110290 9118744 9121290 9148141 9156989 9254693 9285065 9297055 9315973 9329402 9339123 9377044 9389189 9446728 9468310 9475330 9497965 9528265 9533076 9543701 9625127 9634263 9635610 9663529 9665498 9673967 9691455 9695611 9697680 9708692 9718652 9731344 9844084 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml index 8d66bea01..337b3eabd 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 @@ -278,3 +269,12 @@ 6236 22466 37332 50566 73853 118415 129698 143323 184499 188768 196149 231807 251634 282613 438308 444399 445801 451647 589587 603251 614090 640975 738260 789444 791637 803221 816919 823921 834394 843513 854397 861806 893859 930270 939756 998150 1009198 1018642 1021881 1025365 1033975 1042310 1046953 1079335 1082893 1096723 1109070 1113067 1115094 1123908 1146820 1168554 1174584 1222809 1238876 1251433 1257381 1278952 1298080 1344841 1372977 1403687 1414863 1435059 1438649 1445241 1460927 1513720 1515532 1539798 1555123 1616678 1720180 1767071 1773403 1794014 1803387 1804509 1848947 1894022 1912134 1918448 1924944 1947928 1959520 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml index 553bd0cb9..413b7c3df 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 2002223 2004227 2019311 2022754 2026812 2028570 2030668 2032652 2036100 2039634 2086420 2091427 2102445 2111300 2114173 2116576 2125063 2130649 2132232 2157874 2163101 2164384 2169902 2176932 2207705 2209838 2218452 2224126 2229759 2235192 2248698 2251246 2275746 2287022 2288609 2292106 2294552 2301419 2304013 2326812 2330477 2342673 2343971 2351422 2363077 2367325 2369149 2379804 2383466 2386826 2391193 2393277 2395925 2403706 2410288 2436428 2443289 2445435 2463336 2468220 2476589 2477736 2482935 2498514 2507732 2534048 2549987 2572673 2583118 2593617 2596047 2597863 2602430 2627523 2640904 2641761 2643412 2646557 2653713 2673169 2677672 2682586 2705252 2714887 2715791 2730585 2747178 2763604 2769960 2779129 2797323 2822920 2841776 2849646 2861241 2864664 2869627 2886871 2898710 2919104 2921840 2944558 2959905 2973642 2975811 2979869 2981501 3001911 3022020 3026059 3027975 3042180 3064694 3067411 3068223 3070548 3076273 3078780 3081683 3082807 3089374 3118451 3139021 3141814 3144494 3148374 3165492 3167002 3171643 3182419 3184621 3201959 3205472 3216447 3221351 3255484 3257559 3266267 3282426 3287205 3293589 3319530 3320299 3322473 3324154 3332397 3342781 3346738 3353054 3385168 3386268 3391839 3394227 3398736 3401057 3402719 3410331 3411688 3414550 3416063 3437372 3452576 3458178 3468004 3469582 3477682 3499340 3516844 3522531 3527284 3531277 3536736 3546054 3559946 3585253 3595795 3604884 3636968 3650374 3653900 3667994 3675976 3679485 3703627 3714901 3717794 3736259 3747888 3750765 3752755 3800803 3814843 3817040 3835181 3848818 3862862 3867295 3882450 3892046 3926973 3928868 3934655 3938760 3953296 3955321 3980746 3984955 3998622 4012217 4022988 4038004 4046648 4048706 4052026 4058984 4071042 4073174 4078310 4079690 4095604 4099200 4106959 4120950 4125996 4133930 4135477 4157797 4161770 4164983 4177487 4189080 4192870 4194946 4205316 4224019 4237389 4246007 4250069 4252434 4283563 4290920 4293610 4296006 4330305 4339228 4345533 4352199 4367215 4369143 4373501 4388180 4399374 4425180 4460722 4465991 4473722 4487844 4496866 4503431 4517228 4537075 4549400 4572905 4585477 4590382 4595873 4609403 4649484 4656282 4664561 4682989 4694147 4712521 4714106 4718162 4720320 4730110 4737575 4741463 4753312 4756848 4758720 4777715 4779166 4782222 4787749 4803558 4807378 4823094 4832211 4863370 4869490 4884210 4907863 4911063 4913962 4931887 4943564 4945048 4947740 4978601 4982545 4987653 4993477 5018134 5036695 5048526 5051475 5071735 5080429 5082283 5084804 5097742 5104443 5113579 5115506 5123320 5126765 5155997 5157606 5185177 5186630 5194292 5207420 5212165 5230099 5247261 5272724 5278387 5286746 5288165 5289471 5323850 5325732 5328540 5331199 5339888 5345112 5362112 5371507 5374262 5387869 5401835 5403030 5407889 5409317 5411057 5415620 5418282 5429663 5439205 5442301 5457695 5477038 5497682 5500266 5504671 5520972 5535133 5536998 5539344 5544351 5561160 5563942 5567082 5573693 5578032 5600470 5623903 5626227 5637476 5684161 5691597 5695527 5714130 5719222 5720291 5734594 5743862 5752530 5781644 5783985 5789353 5797598 5806168 5813723 5816380 5830035 5844079 5846194 5847424 5871253 5890748 5900809 5903231 5912991 5929499 5936471 5938970 5943051 5963351 5964454 5970806 5980858 5991187 5997283 5998876 6000991 6030945 6035605 6045775 6056156 6059673 6077509 6085415 6098951 6102966 6109147 6133068 6146030 6163334 6194220 6209277 6227674 6229298 6231198 6233303 6242818 6249145 6252558 6277972 6294973 6302553 6309466 6328585 6339064 6353021 6356081 6367600 6375559 6386526 6395318 6397466 6401421 6404601 6411046 6416795 6422756 6424722 6438838 6450406 6465901 6472145 6493294 6495921 6509151 6511458 6514433 6524135 6528924 6564072 6566402 6581711 6584683 6596454 6609128 6622222 6635902 6639636 6658548 6680698 6687816 6705612 6717955 6720013 6729304 6734270 6763262 6773406 6786374 6791876 6803130 6813277 6815138 6822945 6831833 6835761 6851118 6856883 6864365 6866607 6874292 6882445 6884739 6906981 6918512 6931938 6936552 6943282 6949402 6956907 6958197 6963653 6970007 6996265 6997405 7019274 7023005 7035452 7037543 7057756 7067648 7070792 7074708 7090984 7096827 7098441 7100556 7104128 7146374 7150855 7160275 7177301 7197615 7211786 7215430 7223675 7225401 7267985 7269407 7271843 7281169 7294787 7309778 7319371 7327064 7337332 7341854 7351746 7354370 7362578 7389921 7400065 7410856 7424287 7425902 7439315 7442264 7444087 7448943 7455322 7483859 7486949 7491426 7522651 7527203 7550966 7557036 7560525 7576696 7579022 7583166 7584617 7610588 7623754 7659414 7692307 7700248 7709563 7715810 7722299 7724227 7736656 7744635 7759525 7767524 7783255 7786315 7793315 7825061 7835805 7839965 7841847 7846983 7857701 7867607 7878370 7880163 7883412 7892212 7908548 7916800 7924697 7981363 8002704 8007733 8015614 8029898 8031097 8034478 8044927 8057211 8066214 8082078 8085346 8088160 8097771 8107627 8112320 8118276 8129543 8138209 8145005 8161297 8176922 8181422 8185990 8212783 8232426 8236038 8249209 8260364 8261510 8293483 8309396 8315398 8316508 8318225 8325460 8334456 8352945 8355941 8359917 8361439 8374468 8376326 8393088 8404820 8411569 8432744 8440930 8444251 8464867 8470491 8472003 8477191 8479905 8494072 8498811 8499617 8501566 8504611 8506069 8508237 8524378 8527995 8530311 8535943 8540593 8549920 8554056 8556300 8577580 8579150 8581371 8594072 8609189 8631845 8633861 8647046 8656232 8664677 8674280 8705750 8710148 8715228 8719114 8731100 8741685 8759655 8766461 8782680 8788599 8803516 8822786 8834907 8836052 8838478 8841589 8846936 8857333 8858559 8882014 8888576 8898113 8909836 8910908 8913364 8947126 8970147 8984987 8988975 8999530 9001527 9004106 9043605 9060566 9063629 9075841 9107422 9123133 9142994 9145717 9155072 9179993 9180695 9192657 9193723 9214433 9248527 9264539 9290184 9301956 9312742 9316617 9324782 9372114 9384078 9394757 9418807 9431500 9433672 9449014 9450594 9453964 9463970 9473126 9493420 9503779 9515254 9588199 9591827 9593989 9601242 9610092 9611637 9613407 9615070 9628141 9632901 9651256 9657422 9660401 9666971 9674081 9681030 9696753 9700691 9707067 9709710 9711312 9740848 9750775 9754414 9766077 9792037 9802184 9807288 9815795 9822583 9836843 9854512 9859566 9860868 9867516 9873677 9887138 9900500 9906402 9911350 9915986 9933702 9935664 9939305 9951966 9957349 9960883 9974816 @@ -278,3 +269,12 @@ 6236 22466 37332 50566 73853 118415 129698 143323 184499 188768 196149 231807 251634 282613 438308 444399 445801 451647 589587 603251 614090 640975 738260 789444 791637 803221 816919 823921 834394 843513 854397 861806 893859 930270 939756 998150 1009198 1018642 1021881 1025365 1033975 1042310 1046953 1079335 1082893 1096723 1109070 1113067 1115094 1123908 1146820 1168554 1174584 1222809 1238876 1251433 1257381 1278952 1298080 1344841 1372977 1403687 1414863 1435059 1438649 1445241 1460927 1513720 1515532 1539798 1555123 1616678 1720180 1767071 1773403 1794014 1803387 1804509 1848947 1894022 1912134 1918448 1924944 1947928 1959520 2021178 2028040 2048174 2053029 2069486 2075749 2117498 2124450 2140134 2156989 2166614 2199667 2225692 2279434 2283722 2304133 2325551 2326812 2349673 2368266 2376383 2406622 2464000 2472527 2493480 2538057 2552380 2637218 2671984 2688544 2712836 2762113 2790023 2885119 2912904 2992704 3107175 3125392 3156206 3158348 3204117 3229058 3243726 3263417 3286882 3289207 3305055 3311460 3321772 3334125 3339961 3399016 3412988 3465115 3481418 3513494 3561524 3578502 3581902 3607897 3644133 3710377 3725037 3755577 3783358 3811107 3835386 3840213 3849068 3884077 3922525 3942483 3964637 4011546 4018781 4046400 4089920 4108991 4122506 4177135 4268564 4283773 4325070 4364742 4377453 4382339 4401414 4414221 4440309 4487038 4504634 4563890 4565151 4578985 4599394 4647957 4712280 4801395 4822262 4849863 4856518 4918047 4925727 4930248 4966270 4978213 4985748 5053390 5077019 5165924 5197945 5203170 5235255 5252433 5266602 5310006 5317015 5330559 5335312 5406944 5407930 5411947 5414508 5487755 5532355 5554726 5601292 5606301 5623943 5628668 5638319 5648439 5651028 5656322 5667333 5694529 5770982 5815389 5838676 5840958 5855612 5881068 5883829 5918211 5962232 5997168 6018932 6065473 6084899 6103580 6122062 6155777 6193126 6221186 6238822 6254096 6274273 6327451 6330839 6438426 6446624 6464038 6477640 6485987 6494533 6553658 6567599 6576436 6592342 6633931 6637544 6684524 6700133 6745638 6749046 6767754 6815016 6825209 6827769 6836726 6884045 6900319 6908068 6933544 6937952 6942435 6950603 7042160 7094874 7105287 7132158 7141285 7150062 7170743 7204895 7209513 7222348 7227177 7232352 7237916 7245706 7320042 7336150 7344976 7349634 7356562 7359289 7382421 7392078 7420955 7445976 7458872 7494928 7498836 7506309 7520688 7529312 7541716 7614201 7638673 7647348 7650411 7670328 7746558 7758564 7828601 7870449 7904333 7925513 7945345 8079758 8111679 8117537 8127916 8170047 8207068 8226306 8270579 8276207 8301681 8305762 8323394 8353939 8379864 8383069 8418316 8420028 8488093 8498601 8562554 8608417 8615744 8670707 8684623 8730910 8751018 8756537 8766067 8773561 8789984 8815556 8855413 8902950 8936359 8981055 9059867 9069745 9110290 9118744 9121290 9148141 9156989 9254693 9285065 9297055 9315973 9329402 9339123 9377044 9389189 9446728 9468310 9475330 9497965 9528265 9533076 9543701 9625127 9634263 9635610 9663529 9665498 9673967 9691455 9695611 9697680 9708692 9718652 9731344 9844084 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml index 8d66bea01..337b3eabd 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 11902 52292 53451 63973 78448 82829 111929 118193 144364 146173 151620 160934 172451 173669 178985 189478 198367 238259 244969 247897 251983 259101 263427 284759 286726 303839 307740 327249 339669 356729 365354 384960 392774 400925 419829 457679 459941 483562 496015 506706 517466 528563 541076 541886 544372 568051 585394 599499 611888 617331 627664 630188 639852 644093 646691 656815 668556 674233 695240 704735 727176 751323 761886 768528 774997 788493 791460 794812 800246 802247 805565 822540 850928 860129 881428 891820 900160 902245 906503 910702 923977 936955 941005 943556 948023 956993 974852 991887 999037 1000704 1006802 1040341 1045646 1054174 1066682 1078242 1079501 1099978 1102674 1109245 1110949 1112242 1119645 1124536 1131000 1139375 1146904 1150525 1159985 1171720 1184119 1185983 1188622 1197785 1207025 1218251 1224786 1226426 1228097 1231567 1239676 1254163 1255771 1257163 1259821 1270554 1278287 1285599 1292220 1294490 1301912 1304508 1325507 1328816 1334504 1347475 1350404 1354524 1370285 1372218 1393614 1404534 1405695 1416356 1419338 1438881 1454736 1456710 1457709 1461123 1471986 1481505 1484456 1497409 1499198 1504226 1511098 1522224 1531552 1539595 1545476 1549400 1557623 1578175 1586667 1604911 1623682 1625708 1635793 1640321 1646316 1650319 1663760 1669238 1677236 1714172 1723014 1724791 1726705 1750746 1763984 1781775 1801200 1818573 1842155 1854627 1879944 1887566 1919954 1923100 1924136 1962147 1983835 @@ -278,3 +269,12 @@ 6236 22466 37332 50566 73853 118415 129698 143323 184499 188768 196149 231807 251634 282613 438308 444399 445801 451647 589587 603251 614090 640975 738260 789444 791637 803221 816919 823921 834394 843513 854397 861806 893859 930270 939756 998150 1009198 1018642 1021881 1025365 1033975 1042310 1046953 1079335 1082893 1096723 1109070 1113067 1115094 1123908 1146820 1168554 1174584 1222809 1238876 1251433 1257381 1278952 1298080 1344841 1372977 1403687 1414863 1435059 1438649 1445241 1460927 1513720 1515532 1539798 1555123 1616678 1720180 1767071 1773403 1794014 1803387 1804509 1848947 1894022 1912134 1918448 1924944 1947928 1959520 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml index a6331543d7d402a2ecb28a5bec63e94925c3427b..173c25fd200a0050b3a217ff9c66188370b683a2 100644 GIT binary patch delta 29 lcmaFAkfV7%#{`pRNv3v5CdTcOOib7KCjVpNo4kNA8vvP<3BUjV delta 242 zcmZpk&+&dC#{?6uig=&= - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 2006399 2007352 2012537 2032502 2041701 2054106 2059971 2062418 2069168 2074687 2086245 2095184 2102125 2145865 2151791 2158941 2164839 2192554 2194744 2201882 2205813 2215723 2239819 2263722 2266209 2274891 2277185 2289902 2294071 2315220 2317667 2321246 2327797 2329886 2341678 2343069 2346160 2362705 2382747 2399971 2402464 2407154 2422905 2432144 2437531 2459666 2463520 2471993 2476732 2484943 2493220 2533621 2544571 2560911 2568082 2589691 2592888 2597723 2609601 2625210 2634283 2642005 2644048 2656297 2658364 2680574 2684370 2702625 2705431 2709916 2712729 2727302 2736637 2747659 2758565 2777603 2799048 2826967 2834509 2849488 2859920 2872446 2912920 2929213 2939680 2943673 2945874 2950543 2957079 2960040 2964687 2972957 2976235 2980990 2984062 3015087 3024203 3039355 3046537 3058995 3078187 3097224 3103066 3107029 3111498 3113311 3118070 3127024 3128959 3130666 3141465 3153492 3155503 3160385 3179196 3191685 3198554 3201886 3207529 3216496 3224243 3229498 3237842 3252681 3254862 3266142 3288443 3291877 3309365 3314324 3320175 3321779 3329861 3336485 3354226 3359246 3365913 3377298 3385186 3387391 3395580 3404077 3408420 3410892 3417728 3418686 3438402 3447163 3456287 3465286 3482699 3484030 3487748 3491028 3498181 3514162 3524990 3529557 3555119 3569089 3572399 3583947 3586553 3591179 3594748 3605715 3627086 3628553 3635697 3664230 3668047 3670358 3671529 3680829 3693366 3702825 3707606 3709529 3721512 3725587 3733423 3756337 3767697 3779090 3790850 3794981 3814545 3837378 3840212 3842733 3848813 3850682 3853602 3859158 3872567 3881660 3885510 3896181 3907512 3909851 3929131 3969536 3981310 4013939 4018215 4028782 4032098 4035070 4048899 4051620 4057223 4059103 4063602 4065210 4087345 4091944 4113947 4119088 4127133 4130147 4147477 4148653 4150840 4165505 4167311 4186499 4188505 4233430 4245259 4299076 4305794 4311121 4321551 4340908 4348254 4350816 4362478 4368383 4382647 4387783 4389597 4401324 4419730 4423479 4426190 4434555 4446350 4481585 4483981 4493225 4502533 4504502 4506640 4522114 4523628 4528710 4535615 4543372 4575623 4583027 4585916 4595915 4598849 4611538 4630912 4646408 4657779 4663068 4684639 4692283 4699091 4702720 4705372 4710651 4716571 4719548 4722998 4770028 4772793 4773625 4779361 4799050 4813891 4815841 4830891 4833873 4840033 4853428 4861105 4871200 4879525 4901077 4904213 4911477 4917064 4920012 4934365 4945971 4948314 4951662 4956754 4967786 4978944 5003460 5004958 5016446 5022184 5030814 5038730 5061156 5068040 5071457 5072936 5078145 5081364 5089041 5097460 5103034 5112595 5118689 5121183 5143806 5160638 5165257 5182598 5185458 5189236 5193726 5196372 5207983 5209857 5212133 5237691 5288111 5297043 5299308 5317390 5320642 5327556 5346019 5364973 5368182 5390294 5393425 5411364 5413782 5425174 5436377 5438573 5440846 5458317 5464825 5467963 5469298 5479692 5491951 5500014 5503347 5524167 5536161 5545447 5547163 5551138 5562487 5569837 5571829 5576592 5577911 5590208 5592890 5594142 5607023 5613788 5617201 5619450 5626000 5628908 5647982 5674743 5687951 5723754 5738234 5768274 5786718 5809095 5822588 5873784 5894803 5897468 5906868 5908241 5909754 5911020 5912832 5930118 5935797 5939517 5964224 5971236 5974938 5979793 5994683 6003888 6006800 6014658 6018941 6020793 6023844 6036358 6049278 6056687 6061197 6067925 6075430 6083830 6108268 6114839 6127929 6129577 6131055 6135104 6140219 6145136 6174474 6186896 6200757 6210610 6231801 6240346 6267576 6305104 6311060 6315543 6318989 6321580 6328994 6334188 6337168 6339023 6344065 6369625 6384787 6394815 6400444 6405067 6425092 6427698 6435312 6439552 6449946 6459580 6473529 6479457 6480483 6487261 6490473 6496659 6499956 6506719 6517956 6522749 6533553 6536938 6588552 6612439 6618299 6628419 6629891 6633775 6644635 6669996 6675826 6681388 6712906 6716888 6731940 6744874 6758972 6775979 6779495 6781910 6784708 6805079 6829669 6846996 6853742 6857473 6860806 6866380 6905911 6909190 6910968 6939768 6951793 6961926 6962885 6973386 6975642 6979130 6982305 6985049 6987676 7016175 7018942 7020617 7047702 7050899 7067457 7073019 7078288 7093760 7102643 7105859 7108747 7124138 7152470 7164586 7170370 7173887 7180037 7187509 7198037 7198742 7203558 7210659 7214163 7219576 7222509 7227284 7230154 7233074 7249456 7252406 7265887 7267319 7276374 7289707 7299853 7308624 7327283 7353109 7365365 7378097 7383092 7392796 7397024 7401826 7410150 7414290 7416379 7428889 7443949 7458239 7480261 7486666 7494358 7517202 7520299 7526614 7533975 7535991 7544737 7548695 7563342 7565328 7574859 7575787 7580012 7595411 7608945 7613357 7616890 7631758 7638075 7675478 7682124 7710913 7717937 7720127 7723141 7724039 7727086 7728809 7772812 7781768 7807057 7809227 7814151 7815704 7839237 7844997 7848447 7850259 7870387 7886603 7895950 7905421 7919472 7929932 7935141 7939744 7949870 7971067 7983593 8024336 8030662 8038727 8040261 8048972 8065630 8071182 8077176 8102868 8114820 8131908 8135809 8137861 8139080 8155778 8172002 8176082 8197285 8201225 8212951 8214820 8225259 8238552 8243500 8250802 8267041 8279011 8318603 8322483 8323826 8326404 8345496 8393536 8403481 8414639 8426842 8442939 8445660 8448888 8451750 8459627 8476310 8483577 8484585 8493550 8524777 8530681 8537830 8549410 8553779 8566996 8581891 8596641 8605873 8608854 8615169 8626659 8644808 8665878 8676153 8693727 8696640 8698593 8702982 8724351 8725683 8736283 8750035 8752197 8763186 8765153 8774252 8781397 8793011 8803012 8806074 8813007 8816651 8833881 8840114 8857338 8868758 8882938 8886226 8904648 8908559 8924430 8926428 8946748 8952690 8967833 8970295 8978711 8986380 8999070 9001492 9007073 9023681 9026074 9027321 9031740 9048152 9068223 9071131 9092245 9093858 9102032 9110069 9121959 9126816 9134356 9147899 9151557 9154662 9163388 9172218 9174493 9175753 9192648 9203099 9207031 9246250 9275352 9292428 9308540 9310139 9326293 9337862 9343163 9349914 9351018 9356892 9369886 9374699 9378348 9387188 9401080 9402317 9407061 9411007 9421147 9477037 9493276 9515631 9517475 9524438 9527510 9563092 9570779 9584917 9600824 9616061 9619578 9625567 9632252 9648810 9654761 9664587 9667867 9683355 9696148 9703700 9704592 9706061 9708379 9709330 9710637 9731952 9742833 9758004 9767078 9801391 9810118 9812673 9816907 9827838 9833395 9856681 9865860 9880740 9890847 9895895 9900565 9910077 9914730 9916016 9917634 9932733 9936263 9955114 9957092 9960740 9969475 9991178 9995224 9998618 @@ -38,3 +29,12 @@ 6925 11895 23135 26958 28608 29677 32018 40441 42046 43676 48263 50419 63421 68243 70177 79936 83117 89870 91824 98695 99525 109044 111981 113415 116004 117654 127890 129016 129973 132523 139506 144408 145703 150069 154906 155673 158397 161765 163873 165357 169303 170739 172134 180880 187211 189009 192370 207689 209061 212267 213576 214299 215485 218177 225920 228512 230045 234331 235699 240862 249678 250330 261910 262960 274914 275869 277068 284747 288198 291209 295394 297102 299317 303818 307141 310830 321092 323346 331187 335973 337240 340816 344446 346017 354888 355667 360649 362708 367514 371648 373962 384712 385713 387327 390441 392820 393971 396422 398945 403946 405550 410523 415053 418661 425759 426937 431569 433080 435992 437133 442007 442881 444861 446281 454374 456024 461522 462769 469350 470493 476731 477621 480565 484666 485560 486744 501667 502493 503515 506033 510450 512437 537579 541110 542697 547301 549674 550891 559030 563015 565444 566245 579604 580941 585461 587641 588812 591926 593010 594775 599659 600770 605473 621442 625914 630809 641377 643338 649259 650735 656517 658593 661980 664764 670772 688459 691260 694551 696519 698021 698962 704534 716309 717368 724661 725449 727407 731837 743579 744834 750461 755039 757057 762162 765245 771860 784270 789483 792678 794650 802116 803926 804901 806698 812626 814881 818960 820109 821853 826645 828550 834800 835763 839650 843354 845563 848280 851553 861078 867990 868975 871074 872735 877571 879054 879972 885136 886093 887341 888645 891595 893672 896682 899635 904938 906459 907336 910879 917702 919880 928354 934949 940695 942286 945291 948757 951666 958723 959336 960737 964018 976866 977745 992219 998616 999856 1003107 1004931 1007228 1010925 1016303 1027383 1033119 1034831 1037546 1040471 1042808 1046062 1050411 1055549 1058651 1063854 1069076 1081942 1084670 1086164 1087881 1091769 1096483 1104023 1105760 1112594 1122631 1126305 1134335 1136725 1144429 1149801 1153490 1156413 1169021 1174155 1178808 1182455 1187361 1189731 1194275 1203357 1208622 1212920 1213991 1215285 1224055 1227597 1232299 1233810 1238555 1245244 1246725 1248002 1251138 1259187 1282114 1286691 1290574 1294042 1295944 1300147 1304932 1309355 1311298 1313731 1321510 1323067 1333498 1336896 1340230 1343611 1360049 1363508 1372325 1384042 1386778 1387698 1396244 1397772 1404774 1417680 1427198 1430380 1431736 1436891 1437957 1461060 1474606 1485883 1490790 1492799 1494114 1496484 1500142 1503454 1509760 1510817 1514006 1516678 1522539 1525221 1527852 1528852 1532081 1542211 1545063 1547803 1551354 1552446 1556420 1558650 1566713 1570833 1577658 1589216 1593041 1598536 1600018 1601179 1608265 1612088 1618612 1620322 1621354 1623108 1625294 1630176 1631685 1633916 1637268 1641107 1642249 1648013 1650674 1651279 1652882 1654957 1666893 1667711 1669266 1673212 1674439 1682685 1684441 1685609 1691332 1695385 1702494 1705993 1707320 1712208 1714708 1718529 1722865 1725621 1727544 1730176 1731757 1740402 1742414 1744063 1747917 1757409 1764841 1771715 1779835 1783591 1793923 1794922 1796149 1804855 1806365 1810287 1814984 1817257 1818214 1828159 1830445 1837904 1841956 1845127 1848885 1851486 1852251 1854592 1856461 1859622 1861655 1867729 1879277 1885595 1887799 1894019 1896579 1898154 1899548 1915530 1922930 1928036 1932691 1934688 1942243 1956083 1961547 1963701 1970321 1973283 1974668 1980215 1982311 1984585 1987377 1991859 1993244 2000314 2017508 2021259 2022515 2024960 2026024 2028002 2031210 2032058 2038727 2040455 2042970 2045787 2048732 2050602 2055393 2057331 2059969 2071729 2076278 2085453 2086865 2090603 2091759 2096348 2097831 2107939 2109236 2110377 2112121 2122205 2123293 2124195 2127059 2128265 2132019 2136416 2140146 2145386 2146707 2149836 2150895 2154129 2157301 2162451 2168227 2169132 2180220 2186419 2188888 2190612 2192595 2194470 2196415 2202337 2207399 2209689 2211489 2212973 2219235 2223930 2227127 2229323 2232062 2237253 2239405 2245520 2247397 2252830 2266725 2269119 2277886 2283502 2289373 2290344 2296572 2304154 2307523 2308900 2312324 2313911 2319644 2323547 2327118 2334767 2344901 2350747 2359688 2361328 2364704 2368914 2369713 2371049 2379093 2381060 2395737 2401670 2402991 2407168 2422304 2424636 2426141 2427754 2434148 2434863 2436136 2448632 2450557 2455115 2456189 2457178 2460485 2469261 2471250 2477704 2481426 2484360 2486577 2487327 2490246 2500302 2503540 2505883 2516050 2517765 2522340 2523732 2526907 2529018 2544247 2548472 2553512 2557593 2560236 2564078 2565396 2578433 2586553 2595468 2601935 2617179 2618667 2630180 2640920 2643318 2643929 2645941 2653289 2660756 2667746 2671822 2674020 2678357 2680601 2683329 2689549 2694923 2701974 2703544 2705173 2706457 2716585 2719459 2724418 2729840 2730748 2736791 2741975 2747182 2748530 2757028 2763390 2768982 2772908 2779426 2782504 2793234 2794684 2797542 2804442 2808437 2811390 2814721 2817061 2820223 2821497 2825134 2827066 2827640 2833622 2845254 2850489 2851857 2859608 2860564 2861691 2862900 2878089 2879839 2881634 2895979 2903699 2904857 2908710 2913911 2916448 2918341 2922432 2923887 2925137 2927103 2928008 2937246 2939740 2941024 2942378 2948824 2952521 2953162 2958931 2971983 2984529 2995192 2996389 3004169 3006203 3007868 3009630 3015673 3019319 3034945 3041825 3043095 3051030 3052425 3055643 3059630 3061045 3070367 3075727 3087252 3088950 3096458 3098377 3102678 3107799 3110050 3117974 3118703 3123810 3124959 3128442 3131613 3134949 3138611 3144898 3149806 3150738 3155114 3161145 3163063 3166420 3167980 3171604 3175914 3179058 3181704 3183854 3188310 3191739 3203303 3204892 3207142 3217686 3227537 3228771 3233229 3237637 3238586 3241820 3243192 3246248 3247888 3250680 3255687 3256851 3258516 3266725 3270207 3272041 3278163 3285704 3289933 3294023 3296181 3299526 3302234 3307356 3311624 3313758 3316155 3321172 3323856 3326402 3330168 3331570 3333570 3342886 3346928 3348458 3352076 3352873 3360047 3365908 3368156 3372924 3376197 3388697 3391736 3403745 3406528 3411245 3417599 3418946 3420294 3425938 3429039 3430758 3437709 3451015 3453574 3455666 3458281 3459530 3463247 3465618 3481444 3484002 3488265 3490615 3494625 3498092 3502029 3503147 3509557 3520798 3523711 3531135 3537901 3539175 3543539 3549024 3553380 3555504 3556440 3560367 3561525 3568091 3571831 3577442 3578544 3583105 3587919 3595147 3596636 3603580 3605617 3607094 3609831 3611345 3614245 3618442 3624007 3625543 3626837 3630058 3631075 3635353 3636729 3640487 3642996 3658219 3663667 3666199 3667675 3669768 3671272 3679443 3681665 3682373 3687485 3689262 3691064 3698993 3703240 3707311 3714172 3718403 3721669 3727565 3736077 3739890 3750207 3753672 3754541 3756025 3760054 3761792 3764458 3767457 3772891 3775134 3777175 3783298 3785842 3789952 3791696 3792713 3794588 3795276 3797777 3801247 3809900 3811933 3822439 3824919 3825804 3826969 3829246 3830847 3835429 3839966 3845184 3849253 3851016 3851899 3854881 3858306 3866769 3873980 3882327 3883487 3885022 3886818 3889185 3896773 3898801 3911368 3913605 3916686 3927046 3928694 3930973 3932303 3936438 3937374 3940312 3946527 3952448 3960870 3969098 3988161 3989747 3990741 3992428 4003189 4011804 4013544 4016007 4017886 4029959 4031270 4033817 4036281 4037475 4047286 4049375 4054316 4056068 4057120 4059772 4061405 4063382 4066784 4073066 4077503 4081192 4091229 4093047 4097417 4099239 4101498 4105930 4107211 4112041 4115732 4119341 4120242 4129801 4133143 4136842 4145586 4146651 4151221 4154943 4161008 4167904 4170977 4176588 4177481 4181016 4187115 4189597 4190805 4195283 4197003 4200268 4203985 4206570 4208843 4223599 4226921 4234327 4238561 4240538 4246809 4247883 4252103 4257021 4266238 4269408 4271931 4273043 4277050 4289729 4294037 4300206 4301185 4303627 4309232 4312787 4319169 4325338 4330695 4331753 4334326 4336189 4342223 4345097 4348799 4353276 4357577 4362451 4366569 4369771 4375398 4397290 4405315 4416739 4419185 4423149 4425346 4431113 4437277 4445293 4450182 4454663 4456880 4483200 4484901 4488894 4490162 4502844 4515945 4517494 4520644 4521517 4523908 4525905 4529037 4530869 4532872 4538157 4540807 4555347 4560979 4562016 4571978 4576073 4577909 4578931 4579850 4581092 4584556 4586844 4589685 4591135 4598454 4601165 4613961 4616593 4622096 4623605 4629321 4631308 4636848 4637989 4640161 4643460 4660278 4668851 4674239 4677365 4680099 4692279 4698086 4700566 4707510 4710897 4713437 4718490 4724501 4729556 4731012 4734254 4737164 4741048 4743166 4745045 4746762 4748726 4749597 4752314 4759398 4760325 4761492 4772178 4778903 4779929 4785992 4787723 4788706 4792619 4796664 4798611 4803619 4823075 4827960 4832282 4833410 4836224 4843350 4847028 4850739 4855545 4857334 4861443 4862820 4866263 4870011 4888861 4891133 4892438 4894111 4895871 4897407 4900059 4901431 4905567 4908774 4910302 4911934 4915354 4917101 4919048 4921262 4929540 4933571 4935389 4938764 4943596 4947905 4950779 4959466 4962261 4963253 4970821 4979383 4980780 4986143 4989175 4992730 4994339 5001786 5003159 5005083 5008356 5010795 5024004 5032084 5034836 5039047 5046951 5048691 5052262 5060592 5063700 5069490 5072359 5078591 5079891 5081034 5087233 5090180 5096461 5099126 5100706 5104970 5108832 5110225 5120322 5129785 5132477 5137764 5140791 5143104 5144950 5154252 5155641 5156726 5161532 5166117 5170080 5172986 5176214 5179275 5183074 5184435 5187211 5188191 5191499 5192768 5195627 5198490 5200169 5202478 5205291 5206426 5210640 5212954 5221217 5226573 5227710 5230846 5237532 5243934 5248430 5251649 5255810 5269743 5273053 5274397 5283495 5288499 5291441 5294156 5295121 5297343 5301465 5302912 5307590 5309136 5313419 5322690 5332112 5336146 5337360 5339214 5341626 5342584 5344031 5345903 5346730 5349360 5358297 5360661 5364509 5372230 5381648 5385941 5386681 5387541 5390887 5394620 5399014 5403460 5415669 5418610 5420352 5423792 5425908 5427624 5431250 5434002 5436653 5444118 5446447 5449288 5450107 5451846 5453064 5458784 5460476 5462867 5469437 5475284 5482319 5490993 5495535 5497020 5507178 5507793 5511429 5514152 5516188 5520387 5527010 5536806 5546678 5554182 5555805 5563650 5569671 5575207 5576317 5578560 5584216 5601218 5601935 5603676 5608574 5610826 5615787 5621663 5623238 5627401 5628755 5631661 5635272 5639269 5641792 5649570 5654833 5658920 5665929 5669229 5674326 5677284 5678593 5680385 5682955 5685347 5686396 5688650 5690536 5691906 5694265 5698171 5703783 5707246 5709080 5716478 5717812 5721872 5723226 5729072 5730370 5746041 5748051 5752354 5755738 5758669 5765990 5769596 5772840 5783049 5793469 5794964 5799989 5801691 5802773 5805265 5809023 5810641 5814645 5818315 5820038 5833902 5835632 5842355 5849264 5855767 5863563 5866829 5872749 5877104 5883638 5885073 5887579 5893071 5897360 5899206 5900053 5903106 5904137 5905880 5907529 5908489 5913806 5933207 5936899 5938022 5941453 5943941 5950781 5957348 5970549 5973797 5975014 5976882 5988263 5989330 5992068 5993709 5999653 6001931 6008524 6014789 6016718 6032422 6042811 6048444 6051886 6055790 6056994 6058226 6065499 6081033 6083430 6093033 6097355 6100033 6105415 6106993 6112791 6114808 6116458 6120664 6124132 6130722 6132548 6133425 6140092 6144256 6145349 6148230 6151043 6152693 6160232 6163585 6169202 6170141 6172906 6185610 6188329 6190328 6192163 6198524 6203771 6207829 6213422 6215301 6216924 6218725 6222110 6234256 6237172 6240497 6244238 6246913 6252745 6257653 6261967 6264463 6268905 6270769 6273950 6277655 6279249 6283331 6286532 6290895 6292443 6294644 6297102 6302474 6307427 6308734 6315191 6323486 6325525 6328230 6332366 6337200 6339435 6342087 6348436 6350411 6353490 6354327 6360558 6362712 6365969 6368476 6381490 6386467 6389443 6394358 6400935 6401544 6403209 6405467 6408223 6410359 6415670 6425887 6435525 6438145 6441363 6447390 6456902 6459151 6460112 6470971 6472430 6476432 6483879 6486052 6488626 6497883 6499270 6502463 6505078 6506293 6511079 6516890 6524949 6533323 6537375 6539387 6543621 6547420 6553433 6554800 6556056 6558726 6559335 6562155 6564669 6567618 6576351 6578724 6580555 6584405 6591697 6599027 6606486 6610178 6612804 6614428 6615681 6617938 6622494 6628525 6631144 6638982 6644025 6648004 6648980 6653696 6668171 6669594 6670926 6675582 6681366 6683881 6694483 6696307 6700772 6702037 6703771 6710998 6713499 6719081 6721882 6726053 6730073 6737561 6742599 6747854 6751317 6752461 6754537 6759488 6767585 6777731 6778929 6780375 6782092 6789292 6792978 6800266 6801370 6804976 6811123 6814681 6817844 6824806 6830039 6832924 6834292 6835261 6838862 6839735 6844431 6848146 6850182 6852961 6859036 6860819 6863411 6867639 6873299 6874063 6877338 6880361 6885241 6889965 6891079 6894173 6901735 6903391 6905192 6913431 6916672 6924290 6925174 6929200 6932524 6937403 6939956 6941988 6942809 6946614 6949458 6950576 6963344 6965144 6969534 6975389 6982158 6992660 6995436 7002999 7008795 7010093 7021747 7029171 7034785 7037221 7038585 7041163 7045735 7047524 7048707 7056538 7057530 7070285 7073141 7083573 7086360 7092016 7095744 7097861 7103939 7111586 7113751 7115722 7118253 7121380 7122484 7123828 7133450 7137728 7143841 7155106 7155979 7157717 7159326 7160809 7166572 7167612 7171758 7176945 7191004 7193468 7202182 7206998 7210011 7211428 7215077 7227217 7234629 7241575 7243071 7248501 7252985 7260076 7265305 7267231 7268817 7270659 7272727 7282656 7297793 7305936 7307839 7308859 7324950 7328949 7333157 7335911 7337033 7337956 7339863 7348271 7350109 7352678 7357613 7358856 7361489 7364730 7371312 7373883 7374917 7376448 7378175 7382149 7386938 7396540 7397884 7399371 7401194 7402698 7410383 7412935 7417140 7418464 7429348 7432057 7433569 7436607 7438020 7438732 7440173 7448335 7455614 7457320 7461521 7469714 7473824 7475977 7484956 7487437 7491846 7498815 7502415 7509892 7511871 7515110 7516195 7520289 7521675 7524171 7530319 7531407 7533567 7535552 7537180 7540300 7543859 7545420 7553079 7556304 7563684 7565304 7569446 7593727 7595347 7599321 7604061 7609611 7612940 7615697 7616926 7618550 7619999 7625606 7626745 7629310 7636998 7637764 7639197 7645464 7650892 7653185 7655061 7656074 7657594 7659810 7667977 7669744 7685472 7687727 7692405 7694979 7696164 7702403 7709848 7710896 7718156 7720193 7728183 7732109 7736044 7741075 7745337 7747110 7749589 7753180 7754083 7761379 7768462 7770039 7773568 7778494 7781136 7790076 7796005 7801271 7804453 7806646 7815391 7821969 7826533 7830419 7834335 7836526 7838148 7842271 7844040 7854832 7864509 7867360 7870097 7871607 7875901 7877455 7878082 7879648 7881361 7882553 7883360 7885156 7889166 7890304 7892364 7896183 7897149 7898236 7899838 7903152 7905399 7908313 7913270 7918434 7919223 7921789 7926409 7933376 7936114 7938539 7940875 7943118 7950426 7953937 7955018 7961408 7962458 7964542 7965786 7969170 7972475 7975675 7977735 7986997 7991039 7992364 7995472 7998067 8001295 8004941 8006947 8009872 8012685 8017627 8024408 8027215 8032346 8040170 8042249 8047435 8051114 8052194 8056897 8059374 8062385 8063497 8066478 8073267 8077172 8084263 8087893 8099729 8101136 8102555 8111486 8117067 8122096 8127965 8136595 8142226 8150027 8153809 8158324 8165346 8166759 8174720 8176762 8177399 8179024 8182248 8186957 8187910 8190526 8193199 8199395 8204607 8209213 8213822 8222389 8224606 8225911 8229681 8242046 8246660 8247688 8249998 8253402 8254834 8256739 8264484 8269036 8270554 8273529 8274255 8279191 8280334 8281947 8287945 8290041 8291493 8309813 8317422 8324625 8327028 8332095 8336956 8342850 8346444 8353822 8368753 8373327 8388448 8393919 8400300 8403604 8404884 8417008 8421798 8422476 8424127 8427790 8434052 8442992 8445326 8446125 8450689 8451313 8453643 8455081 8455855 8457371 8479709 8484739 8487642 8491979 8494676 8498042 8503952 8505002 8506075 8511150 8515437 8518738 8520781 8526293 8529693 8533155 8537525 8545430 8548228 8555639 8556528 8565023 8571475 8574811 8575784 8577689 8578905 8581344 8592906 8596505 8599547 8601926 8608667 8621219 8623794 8625516 8633626 8638799 8640439 8646505 8649004 8650660 8653883 8655305 8660962 8663025 8673538 8694315 8697719 8698578 8700970 8706557 8707628 8709414 8710650 8712402 8717330 8720701 8721946 8727525 8728533 8731377 8733087 8735042 8736227 8744759 8748544 8752752 8758286 8759475 8762203 8771899 8775069 8778816 8779930 8784288 8786107 8795464 8801409 8812863 8815157 8817344 8825403 8833822 8835579 8844250 8845860 8847460 8848823 8856801 8869565 8874108 8875228 8878769 8880187 8881856 8885879 8891560 8892456 8895110 8896543 8909958 8912515 8914192 8917323 8924570 8925963 8932505 8938377 8942970 8949165 8953644 8956431 8958586 8963117 8969710 8973466 8976045 8985864 8987630 8996465 8998182 9002826 9009824 9014586 9024761 9032226 9038600 9039994 9043481 9047728 9056954 9060170 9062804 9064087 9064705 9068666 9069593 9071957 9079546 9080735 9081733 9082528 9086797 9095043 9098344 9104242 9108855 9114280 9126892 9130593 9132572 9135328 9136726 9144770 9154785 9156155 9160589 9164037 9167720 9173875 9176117 9178501 9183304 9188151 9189215 9191207 9196838 9200698 9202835 9207930 9213616 9220789 9223257 9228237 9234903 9236756 9238370 9243495 9247475 9251385 9256267 9257935 9258998 9262916 9268501 9276657 9278970 9288979 9303869 9306297 9311525 9315146 9321327 9325861 9327939 9330812 9332599 9335169 9338022 9340692 9344177 9344901 9346467 9348250 9349478 9360389 9368204 9371910 9373193 9375376 9380170 9381838 9387680 9389456 9396170 9400796 9401609 9406034 9407626 9414359 9418955 9424006 9429010 9431834 9433289 9439604 9443703 9446035 9452845 9466691 9472530 9475261 9478058 9478904 9480243 9486400 9487260 9490573 9499254 9501018 9503229 9508699 9510900 9513447 9520345 9529135 9531958 9534257 9537292 9540052 9541423 9544550 9550157 9554066 9565893 9570095 9573050 9574520 9581157 9584332 9608998 9625995 9628701 9631816 9632800 9635629 9644256 9645438 9653449 9659695 9664926 9668316 9671160 9678997 9680389 9696315 9697344 9701836 9706983 9711449 9712806 9714854 9722350 9725024 9728134 9729480 9730652 9735693 9742335 9748293 9751485 9752765 9758056 9759608 9762350 9770430 9773056 9775455 9778225 9779472 9780642 9786429 9788700 9790782 9795668 9796989 9798844 9800814 9802978 9806626 9810572 9812186 9825727 9831395 9834131 9836732 9837834 9840398 9841684 9847157 9848302 9853654 9854650 9861086 9862823 9867865 9869877 9877471 9880081 9880891 9883308 9883956 9889049 9891503 9893152 9897727 9900104 9906651 9914676 9916260 9921219 9935776 9936653 9944357 9945389 9947783 9952409 9958272 9962785 9969051 9974869 9975751 9984809 9989264 9993568 9994440 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml index 5db605336..3b817ef1d 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 @@ -38,3 +29,12 @@ 6925 11895 23135 26958 28608 29677 32018 40441 42046 43676 48263 50419 63421 68243 70177 79936 83117 89870 91824 98695 99525 109044 111981 113415 116004 117654 127890 129016 129973 132523 139506 144408 145703 150069 154906 155673 158397 161765 163873 165357 169303 170739 172134 180880 187211 189009 192370 207689 209061 212267 213576 214299 215485 218177 225920 228512 230045 234331 235699 240862 249678 250330 261910 262960 274914 275869 277068 284747 288198 291209 295394 297102 299317 303818 307141 310830 321092 323346 331187 335973 337240 340816 344446 346017 354888 355667 360649 362708 367514 371648 373962 384712 385713 387327 390441 392820 393971 396422 398945 403946 405550 410523 415053 418661 425759 426937 431569 433080 435992 437133 442007 442881 444861 446281 454374 456024 461522 462769 469350 470493 476731 477621 480565 484666 485560 486744 501667 502493 503515 506033 510450 512437 537579 541110 542697 547301 549674 550891 559030 563015 565444 566245 579604 580941 585461 587641 588812 591926 593010 594775 599659 600770 605473 621442 625914 630809 641377 643338 649259 650735 656517 658593 661980 664764 670772 688459 691260 694551 696519 698021 698962 704534 716309 717368 724661 725449 727407 731837 743579 744834 750461 755039 757057 762162 765245 771860 784270 789483 792678 794650 802116 803926 804901 806698 812626 814881 818960 820109 821853 826645 828550 834800 835763 839650 843354 845563 848280 851553 861078 867990 868975 871074 872735 877571 879054 879972 885136 886093 887341 888645 891595 893672 896682 899635 904938 906459 907336 910879 917702 919880 928354 934949 940695 942286 945291 948757 951666 958723 959336 960737 964018 976866 977745 992219 998616 999856 1003107 1004931 1007228 1010925 1016303 1027383 1033119 1034831 1037546 1040471 1042808 1046062 1050411 1055549 1058651 1063854 1069076 1081942 1084670 1086164 1087881 1091769 1096483 1104023 1105760 1112594 1122631 1126305 1134335 1136725 1144429 1149801 1153490 1156413 1169021 1174155 1178808 1182455 1187361 1189731 1194275 1203357 1208622 1212920 1213991 1215285 1224055 1227597 1232299 1233810 1238555 1245244 1246725 1248002 1251138 1259187 1282114 1286691 1290574 1294042 1295944 1300147 1304932 1309355 1311298 1313731 1321510 1323067 1333498 1336896 1340230 1343611 1360049 1363508 1372325 1384042 1386778 1387698 1396244 1397772 1404774 1417680 1427198 1430380 1431736 1436891 1437957 1461060 1474606 1485883 1490790 1492799 1494114 1496484 1500142 1503454 1509760 1510817 1514006 1516678 1522539 1525221 1527852 1528852 1532081 1542211 1545063 1547803 1551354 1552446 1556420 1558650 1566713 1570833 1577658 1589216 1593041 1598536 1600018 1601179 1608265 1612088 1618612 1620322 1621354 1623108 1625294 1630176 1631685 1633916 1637268 1641107 1642249 1648013 1650674 1651279 1652882 1654957 1666893 1667711 1669266 1673212 1674439 1682685 1684441 1685609 1691332 1695385 1702494 1705993 1707320 1712208 1714708 1718529 1722865 1725621 1727544 1730176 1731757 1740402 1742414 1744063 1747917 1757409 1764841 1771715 1779835 1783591 1793923 1794922 1796149 1804855 1806365 1810287 1814984 1817257 1818214 1828159 1830445 1837904 1841956 1845127 1848885 1851486 1852251 1854592 1856461 1859622 1861655 1867729 1879277 1885595 1887799 1894019 1896579 1898154 1899548 1915530 1922930 1928036 1932691 1934688 1942243 1956083 1961547 1963701 1970321 1973283 1974668 1980215 1982311 1984585 1987377 1991859 1993244 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml index 0dce25992..2dab17e68 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 2006399 2007352 2012537 2032502 2041701 2054106 2059971 2062418 2069168 2074687 2086245 2095184 2102125 2145865 2151791 2158941 2164839 2192554 2194744 2201882 2205813 2215723 2239819 2263722 2266209 2274891 2277185 2289902 2294071 2315220 2317667 2321246 2327797 2329886 2341678 2343069 2346160 2362705 2382747 2399971 2402464 2407154 2422905 2432144 2437531 2459666 2463520 2471993 2476732 2484943 2493220 2533621 2544571 2560911 2568082 2589691 2592888 2597723 2609601 2625210 2634283 2642005 2644048 2656297 2658364 2680574 2684370 2702625 2705431 2709916 2712729 2727302 2736637 2747659 2758565 2777603 2799048 2826967 2834509 2849488 2859920 2872446 2912920 2929213 2939680 2943673 2945874 2950543 2957079 2960040 2964687 2972957 2976235 2980990 2984062 3015087 3024203 3039355 3046537 3058995 3078187 3097224 3103066 3107029 3111498 3113311 3118070 3127024 3128959 3130666 3141465 3153492 3155503 3160385 3179196 3191685 3198554 3201886 3207529 3216496 3224243 3229498 3237842 3252681 3254862 3266142 3288443 3291877 3309365 3314324 3320175 3321779 3329861 3336485 3354226 3359246 3365913 3377298 3385186 3387391 3395580 3404077 3408420 3410892 3417728 3418686 3438402 3447163 3456287 3465286 3482699 3484030 3487748 3491028 3498181 3514162 3524990 3529557 3555119 3569089 3572399 3583947 3586553 3591179 3594748 3605715 3627086 3628553 3635697 3664230 3668047 3670358 3671529 3680829 3693366 3702825 3707606 3709529 3721512 3725587 3733423 3756337 3767697 3779090 3790850 3794981 3814545 3837378 3840212 3842733 3848813 3850682 3853602 3859158 3872567 3881660 3885510 3896181 3907512 3909851 3929131 3969536 3981310 4013939 4018215 4028782 4032098 4035070 4048899 4051620 4057223 4059103 4063602 4065210 4087345 4091944 4113947 4119088 4127133 4130147 4147477 4148653 4150840 4165505 4167311 4186499 4188505 4233430 4245259 4299076 4305794 4311121 4321551 4340908 4348254 4350816 4362478 4368383 4382647 4387783 4389597 4401324 4419730 4423479 4426190 4434555 4446350 4481585 4483981 4493225 4502533 4504502 4506640 4522114 4523628 4528710 4535615 4543372 4575623 4583027 4585916 4595915 4598849 4611538 4630912 4646408 4657779 4663068 4684639 4692283 4699091 4702720 4705372 4710651 4716571 4719548 4722998 4770028 4772793 4773625 4779361 4799050 4813891 4815841 4830891 4833873 4840033 4853428 4861105 4871200 4879525 4901077 4904213 4911477 4917064 4920012 4934365 4945971 4948314 4951662 4956754 4967786 4978944 5003460 5004958 5016446 5022184 5030814 5038730 5061156 5068040 5071457 5072936 5078145 5081364 5089041 5097460 5103034 5112595 5118689 5121183 5143806 5160638 5165257 5182598 5185458 5189236 5193726 5196372 5207983 5209857 5212133 5237691 5288111 5297043 5299308 5317390 5320642 5327556 5346019 5364973 5368182 5390294 5393425 5411364 5413782 5425174 5436377 5438573 5440846 5458317 5464825 5467963 5469298 5479692 5491951 5500014 5503347 5524167 5536161 5545447 5547163 5551138 5562487 5569837 5571829 5576592 5577911 5590208 5592890 5594142 5607023 5613788 5617201 5619450 5626000 5628908 5647982 5674743 5687951 5723754 5738234 5768274 5786718 5809095 5822588 5873784 5894803 5897468 5906868 5908241 5909754 5911020 5912832 5930118 5935797 5939517 5964224 5971236 5974938 5979793 5994683 6003888 6006800 6014658 6018941 6020793 6023844 6036358 6049278 6056687 6061197 6067925 6075430 6083830 6108268 6114839 6127929 6129577 6131055 6135104 6140219 6145136 6174474 6186896 6200757 6210610 6231801 6240346 6267576 6305104 6311060 6315543 6318989 6321580 6328994 6334188 6337168 6339023 6344065 6369625 6384787 6394815 6400444 6405067 6425092 6427698 6435312 6439552 6449946 6459580 6473529 6479457 6480483 6487261 6490473 6496659 6499956 6506719 6517956 6522749 6533553 6536938 6588552 6612439 6618299 6628419 6629891 6633775 6644635 6669996 6675826 6681388 6712906 6716888 6731940 6744874 6758972 6775979 6779495 6781910 6784708 6805079 6829669 6846996 6853742 6857473 6860806 6866380 6905911 6909190 6910968 6939768 6951793 6961926 6962885 6973386 6975642 6979130 6982305 6985049 6987676 7016175 7018942 7020617 7047702 7050899 7067457 7073019 7078288 7093760 7102643 7105859 7108747 7124138 7152470 7164586 7170370 7173887 7180037 7187509 7198037 7198742 7203558 7210659 7214163 7219576 7222509 7227284 7230154 7233074 7249456 7252406 7265887 7267319 7276374 7289707 7299853 7308624 7327283 7353109 7365365 7378097 7383092 7392796 7397024 7401826 7410150 7414290 7416379 7428889 7443949 7458239 7480261 7486666 7494358 7517202 7520299 7526614 7533975 7535991 7544737 7548695 7563342 7565328 7574859 7575787 7580012 7595411 7608945 7613357 7616890 7631758 7638075 7675478 7682124 7710913 7717937 7720127 7723141 7724039 7727086 7728809 7772812 7781768 7807057 7809227 7814151 7815704 7839237 7844997 7848447 7850259 7870387 7886603 7895950 7905421 7919472 7929932 7935141 7939744 7949870 7971067 7983593 8024336 8030662 8038727 8040261 8048972 8065630 8071182 8077176 8102868 8114820 8131908 8135809 8137861 8139080 8155778 8172002 8176082 8197285 8201225 8212951 8214820 8225259 8238552 8243500 8250802 8267041 8279011 8318603 8322483 8323826 8326404 8345496 8393536 8403481 8414639 8426842 8442939 8445660 8448888 8451750 8459627 8476310 8483577 8484585 8493550 8524777 8530681 8537830 8549410 8553779 8566996 8581891 8596641 8605873 8608854 8615169 8626659 8644808 8665878 8676153 8693727 8696640 8698593 8702982 8724351 8725683 8736283 8750035 8752197 8763186 8765153 8774252 8781397 8793011 8803012 8806074 8813007 8816651 8833881 8840114 8857338 8868758 8882938 8886226 8904648 8908559 8924430 8926428 8946748 8952690 8967833 8970295 8978711 8986380 8999070 9001492 9007073 9023681 9026074 9027321 9031740 9048152 9068223 9071131 9092245 9093858 9102032 9110069 9121959 9126816 9134356 9147899 9151557 9154662 9163388 9172218 9174493 9175753 9192648 9203099 9207031 9246250 9275352 9292428 9308540 9310139 9326293 9337862 9343163 9349914 9351018 9356892 9369886 9374699 9378348 9387188 9401080 9402317 9407061 9411007 9421147 9477037 9493276 9515631 9517475 9524438 9527510 9563092 9570779 9584917 9600824 9616061 9619578 9625567 9632252 9648810 9654761 9664587 9667867 9683355 9696148 9703700 9704592 9706061 9708379 9709330 9710637 9731952 9742833 9758004 9767078 9801391 9810118 9812673 9816907 9827838 9833395 9856681 9865860 9880740 9890847 9895895 9900565 9910077 9914730 9916016 9917634 9932733 9936263 9955114 9957092 9960740 9969475 9991178 9995224 9998618 @@ -38,3 +29,12 @@ 6925 11895 23135 26958 28608 29677 32018 40441 42046 43676 48263 50419 63421 68243 70177 79936 83117 89870 91824 98695 99525 109044 111981 113415 116004 117654 127890 129016 129973 132523 139506 144408 145703 150069 154906 155673 158397 161765 163873 165357 169303 170739 172134 180880 187211 189009 192370 207689 209061 212267 213576 214299 215485 218177 225920 228512 230045 234331 235699 240862 249678 250330 261910 262960 274914 275869 277068 284747 288198 291209 295394 297102 299317 303818 307141 310830 321092 323346 331187 335973 337240 340816 344446 346017 354888 355667 360649 362708 367514 371648 373962 384712 385713 387327 390441 392820 393971 396422 398945 403946 405550 410523 415053 418661 425759 426937 431569 433080 435992 437133 442007 442881 444861 446281 454374 456024 461522 462769 469350 470493 476731 477621 480565 484666 485560 486744 501667 502493 503515 506033 510450 512437 537579 541110 542697 547301 549674 550891 559030 563015 565444 566245 579604 580941 585461 587641 588812 591926 593010 594775 599659 600770 605473 621442 625914 630809 641377 643338 649259 650735 656517 658593 661980 664764 670772 688459 691260 694551 696519 698021 698962 704534 716309 717368 724661 725449 727407 731837 743579 744834 750461 755039 757057 762162 765245 771860 784270 789483 792678 794650 802116 803926 804901 806698 812626 814881 818960 820109 821853 826645 828550 834800 835763 839650 843354 845563 848280 851553 861078 867990 868975 871074 872735 877571 879054 879972 885136 886093 887341 888645 891595 893672 896682 899635 904938 906459 907336 910879 917702 919880 928354 934949 940695 942286 945291 948757 951666 958723 959336 960737 964018 976866 977745 992219 998616 999856 1003107 1004931 1007228 1010925 1016303 1027383 1033119 1034831 1037546 1040471 1042808 1046062 1050411 1055549 1058651 1063854 1069076 1081942 1084670 1086164 1087881 1091769 1096483 1104023 1105760 1112594 1122631 1126305 1134335 1136725 1144429 1149801 1153490 1156413 1169021 1174155 1178808 1182455 1187361 1189731 1194275 1203357 1208622 1212920 1213991 1215285 1224055 1227597 1232299 1233810 1238555 1245244 1246725 1248002 1251138 1259187 1282114 1286691 1290574 1294042 1295944 1300147 1304932 1309355 1311298 1313731 1321510 1323067 1333498 1336896 1340230 1343611 1360049 1363508 1372325 1384042 1386778 1387698 1396244 1397772 1404774 1417680 1427198 1430380 1431736 1436891 1437957 1461060 1474606 1485883 1490790 1492799 1494114 1496484 1500142 1503454 1509760 1510817 1514006 1516678 1522539 1525221 1527852 1528852 1532081 1542211 1545063 1547803 1551354 1552446 1556420 1558650 1566713 1570833 1577658 1589216 1593041 1598536 1600018 1601179 1608265 1612088 1618612 1620322 1621354 1623108 1625294 1630176 1631685 1633916 1637268 1641107 1642249 1648013 1650674 1651279 1652882 1654957 1666893 1667711 1669266 1673212 1674439 1682685 1684441 1685609 1691332 1695385 1702494 1705993 1707320 1712208 1714708 1718529 1722865 1725621 1727544 1730176 1731757 1740402 1742414 1744063 1747917 1757409 1764841 1771715 1779835 1783591 1793923 1794922 1796149 1804855 1806365 1810287 1814984 1817257 1818214 1828159 1830445 1837904 1841956 1845127 1848885 1851486 1852251 1854592 1856461 1859622 1861655 1867729 1879277 1885595 1887799 1894019 1896579 1898154 1899548 1915530 1922930 1928036 1932691 1934688 1942243 1956083 1961547 1963701 1970321 1973283 1974668 1980215 1982311 1984585 1987377 1991859 1993244 2000314 2017508 2021259 2022515 2024960 2026024 2028002 2031210 2032058 2038727 2040455 2042970 2045787 2048732 2050602 2055393 2057331 2059969 2071729 2076278 2085453 2086865 2090603 2091759 2096348 2097831 2107939 2109236 2110377 2112121 2122205 2123293 2124195 2127059 2128265 2132019 2136416 2140146 2145386 2146707 2149836 2150895 2154129 2157301 2162451 2168227 2169132 2180220 2186419 2188888 2190612 2192595 2194470 2196415 2202337 2207399 2209689 2211489 2212973 2219235 2223930 2227127 2229323 2232062 2237253 2239405 2245520 2247397 2252830 2266725 2269119 2277886 2283502 2289373 2290344 2296572 2304154 2307523 2308900 2312324 2313911 2319644 2323547 2327118 2334767 2344901 2350747 2359688 2361328 2364704 2368914 2369713 2371049 2379093 2381060 2395737 2401670 2402991 2407168 2422304 2424636 2426141 2427754 2434148 2434863 2436136 2448632 2450557 2455115 2456189 2457178 2460485 2469261 2471250 2477704 2481426 2484360 2486577 2487327 2490246 2500302 2503540 2505883 2516050 2517765 2522340 2523732 2526907 2529018 2544247 2548472 2553512 2557593 2560236 2564078 2565396 2578433 2586553 2595468 2601935 2617179 2618667 2630180 2640920 2643318 2643929 2645941 2653289 2660756 2667746 2671822 2674020 2678357 2680601 2683329 2689549 2694923 2701974 2703544 2705173 2706457 2716585 2719459 2724418 2729840 2730748 2736791 2741975 2747182 2748530 2757028 2763390 2768982 2772908 2779426 2782504 2793234 2794684 2797542 2804442 2808437 2811390 2814721 2817061 2820223 2821497 2825134 2827066 2827640 2833622 2845254 2850489 2851857 2859608 2860564 2861691 2862900 2878089 2879839 2881634 2895979 2903699 2904857 2908710 2913911 2916448 2918341 2922432 2923887 2925137 2927103 2928008 2937246 2939740 2941024 2942378 2948824 2952521 2953162 2958931 2971983 2984529 2995192 2996389 3004169 3006203 3007868 3009630 3015673 3019319 3034945 3041825 3043095 3051030 3052425 3055643 3059630 3061045 3070367 3075727 3087252 3088950 3096458 3098377 3102678 3107799 3110050 3117974 3118703 3123810 3124959 3128442 3131613 3134949 3138611 3144898 3149806 3150738 3155114 3161145 3163063 3166420 3167980 3171604 3175914 3179058 3181704 3183854 3188310 3191739 3203303 3204892 3207142 3217686 3227537 3228771 3233229 3237637 3238586 3241820 3243192 3246248 3247888 3250680 3255687 3256851 3258516 3266725 3270207 3272041 3278163 3285704 3289933 3294023 3296181 3299526 3302234 3307356 3311624 3313758 3316155 3321172 3323856 3326402 3330168 3331570 3333570 3342886 3346928 3348458 3352076 3352873 3360047 3365908 3368156 3372924 3376197 3388697 3391736 3403745 3406528 3411245 3417599 3418946 3420294 3425938 3429039 3430758 3437709 3451015 3453574 3455666 3458281 3459530 3463247 3465618 3481444 3484002 3488265 3490615 3494625 3498092 3502029 3503147 3509557 3520798 3523711 3531135 3537901 3539175 3543539 3549024 3553380 3555504 3556440 3560367 3561525 3568091 3571831 3577442 3578544 3583105 3587919 3595147 3596636 3603580 3605617 3607094 3609831 3611345 3614245 3618442 3624007 3625543 3626837 3630058 3631075 3635353 3636729 3640487 3642996 3658219 3663667 3666199 3667675 3669768 3671272 3679443 3681665 3682373 3687485 3689262 3691064 3698993 3703240 3707311 3714172 3718403 3721669 3727565 3736077 3739890 3750207 3753672 3754541 3756025 3760054 3761792 3764458 3767457 3772891 3775134 3777175 3783298 3785842 3789952 3791696 3792713 3794588 3795276 3797777 3801247 3809900 3811933 3822439 3824919 3825804 3826969 3829246 3830847 3835429 3839966 3845184 3849253 3851016 3851899 3854881 3858306 3866769 3873980 3882327 3883487 3885022 3886818 3889185 3896773 3898801 3911368 3913605 3916686 3927046 3928694 3930973 3932303 3936438 3937374 3940312 3946527 3952448 3960870 3969098 3988161 3989747 3990741 3992428 4003189 4011804 4013544 4016007 4017886 4029959 4031270 4033817 4036281 4037475 4047286 4049375 4054316 4056068 4057120 4059772 4061405 4063382 4066784 4073066 4077503 4081192 4091229 4093047 4097417 4099239 4101498 4105930 4107211 4112041 4115732 4119341 4120242 4129801 4133143 4136842 4145586 4146651 4151221 4154943 4161008 4167904 4170977 4176588 4177481 4181016 4187115 4189597 4190805 4195283 4197003 4200268 4203985 4206570 4208843 4223599 4226921 4234327 4238561 4240538 4246809 4247883 4252103 4257021 4266238 4269408 4271931 4273043 4277050 4289729 4294037 4300206 4301185 4303627 4309232 4312787 4319169 4325338 4330695 4331753 4334326 4336189 4342223 4345097 4348799 4353276 4357577 4362451 4366569 4369771 4375398 4397290 4405315 4416739 4419185 4423149 4425346 4431113 4437277 4445293 4450182 4454663 4456880 4483200 4484901 4488894 4490162 4502844 4515945 4517494 4520644 4521517 4523908 4525905 4529037 4530869 4532872 4538157 4540807 4555347 4560979 4562016 4571978 4576073 4577909 4578931 4579850 4581092 4584556 4586844 4589685 4591135 4598454 4601165 4613961 4616593 4622096 4623605 4629321 4631308 4636848 4637989 4640161 4643460 4660278 4668851 4674239 4677365 4680099 4692279 4698086 4700566 4707510 4710897 4713437 4718490 4724501 4729556 4731012 4734254 4737164 4741048 4743166 4745045 4746762 4748726 4749597 4752314 4759398 4760325 4761492 4772178 4778903 4779929 4785992 4787723 4788706 4792619 4796664 4798611 4803619 4823075 4827960 4832282 4833410 4836224 4843350 4847028 4850739 4855545 4857334 4861443 4862820 4866263 4870011 4888861 4891133 4892438 4894111 4895871 4897407 4900059 4901431 4905567 4908774 4910302 4911934 4915354 4917101 4919048 4921262 4929540 4933571 4935389 4938764 4943596 4947905 4950779 4959466 4962261 4963253 4970821 4979383 4980780 4986143 4989175 4992730 4994339 5001786 5003159 5005083 5008356 5010795 5024004 5032084 5034836 5039047 5046951 5048691 5052262 5060592 5063700 5069490 5072359 5078591 5079891 5081034 5087233 5090180 5096461 5099126 5100706 5104970 5108832 5110225 5120322 5129785 5132477 5137764 5140791 5143104 5144950 5154252 5155641 5156726 5161532 5166117 5170080 5172986 5176214 5179275 5183074 5184435 5187211 5188191 5191499 5192768 5195627 5198490 5200169 5202478 5205291 5206426 5210640 5212954 5221217 5226573 5227710 5230846 5237532 5243934 5248430 5251649 5255810 5269743 5273053 5274397 5283495 5288499 5291441 5294156 5295121 5297343 5301465 5302912 5307590 5309136 5313419 5322690 5332112 5336146 5337360 5339214 5341626 5342584 5344031 5345903 5346730 5349360 5358297 5360661 5364509 5372230 5381648 5385941 5386681 5387541 5390887 5394620 5399014 5403460 5415669 5418610 5420352 5423792 5425908 5427624 5431250 5434002 5436653 5444118 5446447 5449288 5450107 5451846 5453064 5458784 5460476 5462867 5469437 5475284 5482319 5490993 5495535 5497020 5507178 5507793 5511429 5514152 5516188 5520387 5527010 5536806 5546678 5554182 5555805 5563650 5569671 5575207 5576317 5578560 5584216 5601218 5601935 5603676 5608574 5610826 5615787 5621663 5623238 5627401 5628755 5631661 5635272 5639269 5641792 5649570 5654833 5658920 5665929 5669229 5674326 5677284 5678593 5680385 5682955 5685347 5686396 5688650 5690536 5691906 5694265 5698171 5703783 5707246 5709080 5716478 5717812 5721872 5723226 5729072 5730370 5746041 5748051 5752354 5755738 5758669 5765990 5769596 5772840 5783049 5793469 5794964 5799989 5801691 5802773 5805265 5809023 5810641 5814645 5818315 5820038 5833902 5835632 5842355 5849264 5855767 5863563 5866829 5872749 5877104 5883638 5885073 5887579 5893071 5897360 5899206 5900053 5903106 5904137 5905880 5907529 5908489 5913806 5933207 5936899 5938022 5941453 5943941 5950781 5957348 5970549 5973797 5975014 5976882 5988263 5989330 5992068 5993709 5999653 6001931 6008524 6014789 6016718 6032422 6042811 6048444 6051886 6055790 6056994 6058226 6065499 6081033 6083430 6093033 6097355 6100033 6105415 6106993 6112791 6114808 6116458 6120664 6124132 6130722 6132548 6133425 6140092 6144256 6145349 6148230 6151043 6152693 6160232 6163585 6169202 6170141 6172906 6185610 6188329 6190328 6192163 6198524 6203771 6207829 6213422 6215301 6216924 6218725 6222110 6234256 6237172 6240497 6244238 6246913 6252745 6257653 6261967 6264463 6268905 6270769 6273950 6277655 6279249 6283331 6286532 6290895 6292443 6294644 6297102 6302474 6307427 6308734 6315191 6323486 6325525 6328230 6332366 6337200 6339435 6342087 6348436 6350411 6353490 6354327 6360558 6362712 6365969 6368476 6381490 6386467 6389443 6394358 6400935 6401544 6403209 6405467 6408223 6410359 6415670 6425887 6435525 6438145 6441363 6447390 6456902 6459151 6460112 6470971 6472430 6476432 6483879 6486052 6488626 6497883 6499270 6502463 6505078 6506293 6511079 6516890 6524949 6533323 6537375 6539387 6543621 6547420 6553433 6554800 6556056 6558726 6559335 6562155 6564669 6567618 6576351 6578724 6580555 6584405 6591697 6599027 6606486 6610178 6612804 6614428 6615681 6617938 6622494 6628525 6631144 6638982 6644025 6648004 6648980 6653696 6668171 6669594 6670926 6675582 6681366 6683881 6694483 6696307 6700772 6702037 6703771 6710998 6713499 6719081 6721882 6726053 6730073 6737561 6742599 6747854 6751317 6752461 6754537 6759488 6767585 6777731 6778929 6780375 6782092 6789292 6792978 6800266 6801370 6804976 6811123 6814681 6817844 6824806 6830039 6832924 6834292 6835261 6838862 6839735 6844431 6848146 6850182 6852961 6859036 6860819 6863411 6867639 6873299 6874063 6877338 6880361 6885241 6889965 6891079 6894173 6901735 6903391 6905192 6913431 6916672 6924290 6925174 6929200 6932524 6937403 6939956 6941988 6942809 6946614 6949458 6950576 6963344 6965144 6969534 6975389 6982158 6992660 6995436 7002999 7008795 7010093 7021747 7029171 7034785 7037221 7038585 7041163 7045735 7047524 7048707 7056538 7057530 7070285 7073141 7083573 7086360 7092016 7095744 7097861 7103939 7111586 7113751 7115722 7118253 7121380 7122484 7123828 7133450 7137728 7143841 7155106 7155979 7157717 7159326 7160809 7166572 7167612 7171758 7176945 7191004 7193468 7202182 7206998 7210011 7211428 7215077 7227217 7234629 7241575 7243071 7248501 7252985 7260076 7265305 7267231 7268817 7270659 7272727 7282656 7297793 7305936 7307839 7308859 7324950 7328949 7333157 7335911 7337033 7337956 7339863 7348271 7350109 7352678 7357613 7358856 7361489 7364730 7371312 7373883 7374917 7376448 7378175 7382149 7386938 7396540 7397884 7399371 7401194 7402698 7410383 7412935 7417140 7418464 7429348 7432057 7433569 7436607 7438020 7438732 7440173 7448335 7455614 7457320 7461521 7469714 7473824 7475977 7484956 7487437 7491846 7498815 7502415 7509892 7511871 7515110 7516195 7520289 7521675 7524171 7530319 7531407 7533567 7535552 7537180 7540300 7543859 7545420 7553079 7556304 7563684 7565304 7569446 7593727 7595347 7599321 7604061 7609611 7612940 7615697 7616926 7618550 7619999 7625606 7626745 7629310 7636998 7637764 7639197 7645464 7650892 7653185 7655061 7656074 7657594 7659810 7667977 7669744 7685472 7687727 7692405 7694979 7696164 7702403 7709848 7710896 7718156 7720193 7728183 7732109 7736044 7741075 7745337 7747110 7749589 7753180 7754083 7761379 7768462 7770039 7773568 7778494 7781136 7790076 7796005 7801271 7804453 7806646 7815391 7821969 7826533 7830419 7834335 7836526 7838148 7842271 7844040 7854832 7864509 7867360 7870097 7871607 7875901 7877455 7878082 7879648 7881361 7882553 7883360 7885156 7889166 7890304 7892364 7896183 7897149 7898236 7899838 7903152 7905399 7908313 7913270 7918434 7919223 7921789 7926409 7933376 7936114 7938539 7940875 7943118 7950426 7953937 7955018 7961408 7962458 7964542 7965786 7969170 7972475 7975675 7977735 7986997 7991039 7992364 7995472 7998067 8001295 8004941 8006947 8009872 8012685 8017627 8024408 8027215 8032346 8040170 8042249 8047435 8051114 8052194 8056897 8059374 8062385 8063497 8066478 8073267 8077172 8084263 8087893 8099729 8101136 8102555 8111486 8117067 8122096 8127965 8136595 8142226 8150027 8153809 8158324 8165346 8166759 8174720 8176762 8177399 8179024 8182248 8186957 8187910 8190526 8193199 8199395 8204607 8209213 8213822 8222389 8224606 8225911 8229681 8242046 8246660 8247688 8249998 8253402 8254834 8256739 8264484 8269036 8270554 8273529 8274255 8279191 8280334 8281947 8287945 8290041 8291493 8309813 8317422 8324625 8327028 8332095 8336956 8342850 8346444 8353822 8368753 8373327 8388448 8393919 8400300 8403604 8404884 8417008 8421798 8422476 8424127 8427790 8434052 8442992 8445326 8446125 8450689 8451313 8453643 8455081 8455855 8457371 8479709 8484739 8487642 8491979 8494676 8498042 8503952 8505002 8506075 8511150 8515437 8518738 8520781 8526293 8529693 8533155 8537525 8545430 8548228 8555639 8556528 8565023 8571475 8574811 8575784 8577689 8578905 8581344 8592906 8596505 8599547 8601926 8608667 8621219 8623794 8625516 8633626 8638799 8640439 8646505 8649004 8650660 8653883 8655305 8660962 8663025 8673538 8694315 8697719 8698578 8700970 8706557 8707628 8709414 8710650 8712402 8717330 8720701 8721946 8727525 8728533 8731377 8733087 8735042 8736227 8744759 8748544 8752752 8758286 8759475 8762203 8771899 8775069 8778816 8779930 8784288 8786107 8795464 8801409 8812863 8815157 8817344 8825403 8833822 8835579 8844250 8845860 8847460 8848823 8856801 8869565 8874108 8875228 8878769 8880187 8881856 8885879 8891560 8892456 8895110 8896543 8909958 8912515 8914192 8917323 8924570 8925963 8932505 8938377 8942970 8949165 8953644 8956431 8958586 8963117 8969710 8973466 8976045 8985864 8987630 8996465 8998182 9002826 9009824 9014586 9024761 9032226 9038600 9039994 9043481 9047728 9056954 9060170 9062804 9064087 9064705 9068666 9069593 9071957 9079546 9080735 9081733 9082528 9086797 9095043 9098344 9104242 9108855 9114280 9126892 9130593 9132572 9135328 9136726 9144770 9154785 9156155 9160589 9164037 9167720 9173875 9176117 9178501 9183304 9188151 9189215 9191207 9196838 9200698 9202835 9207930 9213616 9220789 9223257 9228237 9234903 9236756 9238370 9243495 9247475 9251385 9256267 9257935 9258998 9262916 9268501 9276657 9278970 9288979 9303869 9306297 9311525 9315146 9321327 9325861 9327939 9330812 9332599 9335169 9338022 9340692 9344177 9344901 9346467 9348250 9349478 9360389 9368204 9371910 9373193 9375376 9380170 9381838 9387680 9389456 9396170 9400796 9401609 9406034 9407626 9414359 9418955 9424006 9429010 9431834 9433289 9439604 9443703 9446035 9452845 9466691 9472530 9475261 9478058 9478904 9480243 9486400 9487260 9490573 9499254 9501018 9503229 9508699 9510900 9513447 9520345 9529135 9531958 9534257 9537292 9540052 9541423 9544550 9550157 9554066 9565893 9570095 9573050 9574520 9581157 9584332 9608998 9625995 9628701 9631816 9632800 9635629 9644256 9645438 9653449 9659695 9664926 9668316 9671160 9678997 9680389 9696315 9697344 9701836 9706983 9711449 9712806 9714854 9722350 9725024 9728134 9729480 9730652 9735693 9742335 9748293 9751485 9752765 9758056 9759608 9762350 9770430 9773056 9775455 9778225 9779472 9780642 9786429 9788700 9790782 9795668 9796989 9798844 9800814 9802978 9806626 9810572 9812186 9825727 9831395 9834131 9836732 9837834 9840398 9841684 9847157 9848302 9853654 9854650 9861086 9862823 9867865 9869877 9877471 9880081 9880891 9883308 9883956 9889049 9891503 9893152 9897727 9900104 9906651 9914676 9916260 9921219 9935776 9936653 9944357 9945389 9947783 9952409 9958272 9962785 9969051 9974869 9975751 9984809 9989264 9993568 9994440 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml index 5db605336..3b817ef1d 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 5900 6942 10006 13371 22102 33480 39467 41921 69666 72287 80391 89924 102695 104216 126232 162426 188819 190770 216992 224176 228711 263599 266189 281997 289679 301599 303753 313720 400923 413436 421706 424662 428231 433405 439164 441456 455261 457397 459131 483597 485496 487347 490009 494432 529350 542803 543930 553938 601404 607568 635521 654816 665054 672395 682460 691026 699678 703218 708276 717120 729525 743501 768323 772559 775095 781454 785959 799428 806518 828899 837033 842480 855079 857773 860340 864284 866058 866876 872647 892532 941346 946687 952093 954553 959010 965326 976411 986483 991134 1003748 1006839 1013633 1015817 1048077 1049343 1059367 1062466 1091972 1094706 1108378 1109827 1119192 1126802 1151609 1161058 1182042 1184644 1185537 1197256 1203173 1211005 1231849 1232878 1240953 1262431 1278874 1305072 1307176 1313140 1314986 1326646 1332049 1334327 1341283 1344713 1352703 1355430 1362731 1363958 1383714 1394033 1402496 1425637 1431905 1438511 1440454 1455737 1463678 1468629 1482964 1496076 1498358 1510457 1513881 1524752 1559813 1572702 1576873 1582358 1632776 1637473 1664292 1684518 1685569 1687695 1691885 1701549 1704375 1746772 1753274 1761043 1771115 1785184 1790289 1800634 1815383 1824301 1838638 1847806 1850837 1857318 1871109 1878363 1882673 1896777 1907160 1909229 1914265 1918174 1928747 1933403 1942901 1948930 1952901 1966428 1986235 1990706 1995478 1998055 @@ -38,3 +29,12 @@ 6925 11895 23135 26958 28608 29677 32018 40441 42046 43676 48263 50419 63421 68243 70177 79936 83117 89870 91824 98695 99525 109044 111981 113415 116004 117654 127890 129016 129973 132523 139506 144408 145703 150069 154906 155673 158397 161765 163873 165357 169303 170739 172134 180880 187211 189009 192370 207689 209061 212267 213576 214299 215485 218177 225920 228512 230045 234331 235699 240862 249678 250330 261910 262960 274914 275869 277068 284747 288198 291209 295394 297102 299317 303818 307141 310830 321092 323346 331187 335973 337240 340816 344446 346017 354888 355667 360649 362708 367514 371648 373962 384712 385713 387327 390441 392820 393971 396422 398945 403946 405550 410523 415053 418661 425759 426937 431569 433080 435992 437133 442007 442881 444861 446281 454374 456024 461522 462769 469350 470493 476731 477621 480565 484666 485560 486744 501667 502493 503515 506033 510450 512437 537579 541110 542697 547301 549674 550891 559030 563015 565444 566245 579604 580941 585461 587641 588812 591926 593010 594775 599659 600770 605473 621442 625914 630809 641377 643338 649259 650735 656517 658593 661980 664764 670772 688459 691260 694551 696519 698021 698962 704534 716309 717368 724661 725449 727407 731837 743579 744834 750461 755039 757057 762162 765245 771860 784270 789483 792678 794650 802116 803926 804901 806698 812626 814881 818960 820109 821853 826645 828550 834800 835763 839650 843354 845563 848280 851553 861078 867990 868975 871074 872735 877571 879054 879972 885136 886093 887341 888645 891595 893672 896682 899635 904938 906459 907336 910879 917702 919880 928354 934949 940695 942286 945291 948757 951666 958723 959336 960737 964018 976866 977745 992219 998616 999856 1003107 1004931 1007228 1010925 1016303 1027383 1033119 1034831 1037546 1040471 1042808 1046062 1050411 1055549 1058651 1063854 1069076 1081942 1084670 1086164 1087881 1091769 1096483 1104023 1105760 1112594 1122631 1126305 1134335 1136725 1144429 1149801 1153490 1156413 1169021 1174155 1178808 1182455 1187361 1189731 1194275 1203357 1208622 1212920 1213991 1215285 1224055 1227597 1232299 1233810 1238555 1245244 1246725 1248002 1251138 1259187 1282114 1286691 1290574 1294042 1295944 1300147 1304932 1309355 1311298 1313731 1321510 1323067 1333498 1336896 1340230 1343611 1360049 1363508 1372325 1384042 1386778 1387698 1396244 1397772 1404774 1417680 1427198 1430380 1431736 1436891 1437957 1461060 1474606 1485883 1490790 1492799 1494114 1496484 1500142 1503454 1509760 1510817 1514006 1516678 1522539 1525221 1527852 1528852 1532081 1542211 1545063 1547803 1551354 1552446 1556420 1558650 1566713 1570833 1577658 1589216 1593041 1598536 1600018 1601179 1608265 1612088 1618612 1620322 1621354 1623108 1625294 1630176 1631685 1633916 1637268 1641107 1642249 1648013 1650674 1651279 1652882 1654957 1666893 1667711 1669266 1673212 1674439 1682685 1684441 1685609 1691332 1695385 1702494 1705993 1707320 1712208 1714708 1718529 1722865 1725621 1727544 1730176 1731757 1740402 1742414 1744063 1747917 1757409 1764841 1771715 1779835 1783591 1793923 1794922 1796149 1804855 1806365 1810287 1814984 1817257 1818214 1828159 1830445 1837904 1841956 1845127 1848885 1851486 1852251 1854592 1856461 1859622 1861655 1867729 1879277 1885595 1887799 1894019 1896579 1898154 1899548 1915530 1922930 1928036 1932691 1934688 1942243 1956083 1961547 1963701 1970321 1973283 1974668 1980215 1982311 1984585 1987377 1991859 1993244 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml index 26a822b5e..32e549ab2 100644 --- a/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml @@ -1,13 +1,13 @@ + + 1965 3127 3780 4684 8630 + + + 2 1 2 2 + 0 1 0 1 0 0 1 1 - - 2 1 2 2 - - - 1965 3127 3780 4684 8630 - diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml index 0f792b3dc..cabfb69d2 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml @@ -278,3 +278,12 @@ 22833 80396 81349 141975 193704 198296 250164 312419 359242 373954 439751 481154 483835 497109 519069 524280 566103 573646 591403 625599 636826 708998 744881 789670 822011 830148 849726 861624 865947 873505 890593 910433 948267 967175 975738 990579 994264 1006320 1023964 1037550 1075366 1148111 1157169 1217090 1260920 1267774 1286534 1296715 1368647 1389716 1397144 1422719 1457395 1479957 1531009 1600079 1627534 1637839 1654405 1666551 1667698 1685635 1746353 1752864 1758943 1764291 1768879 1801371 1835296 1873755 1902300 1962796 1965915 2001759 2014376 2046477 2069655 2072468 2086014 2104518 2125955 2197338 2228415 2250609 2285690 2334648 2349295 2357728 2365363 2457432 2474715 2500296 2524297 2553720 2557351 2570874 2626057 2636447 2647447 2692604 2710945 2715878 2743989 2751580 2757612 2774657 2831670 2854376 2866114 2878821 2934481 2967468 2983935 3019181 3070521 3123664 3138154 3139776 3157268 3164453 3175789 3184086 3222689 3242535 3258230 3290891 3319383 3339168 3356345 3370523 3389509 3393085 3430154 3434675 3436816 3471542 3495506 3524578 3585476 3625481 3647573 3669665 3707662 3710238 3750167 3774895 3841950 3948630 3975310 3999473 4002087 4018057 4026157 4044218 4057410 4067553 4102762 4112707 4114536 4122310 4146682 4173995 4174923 4181938 4207067 4216289 4286450 4293200 4295784 4296728 4398935 4401289 4468216 4486392 4501047 4526402 4540627 4572217 4582359 4598553 4616017 4618688 4634087 4639632 4645351 4660614 4677059 4743410 4763390 4791508 4837725 4841110 4845704 4858119 4875820 4891926 4893534 4923380 4929699 4941388 4971368 5012559 5017215 5046618 5074562 5080924 5105688 5126579 5157542 5186116 5200165 5201958 5221401 5231811 5297251 5320628 5353861 5362034 5370208 5373216 5382113 5401593 5422225 5440853 5448662 5495986 5509130 5519378 5523195 5528878 5537401 5562717 5590911 5597909 5651728 5656206 5686861 5696240 5732823 5753595 5759087 5761725 5816061 5849650 5862992 5881550 5900438 5926963 5932401 5942745 5954392 5964563 6016237 6022710 6037281 6060838 6087844 6130709 6202857 6213432 6269585 6319014 6336020 6343719 6390856 6394469 6454296 6485092 6501569 6521514 6547439 6559638 6596772 6600545 6615953 6639051 6646443 6649428 6658068 6681863 6692230 6696450 6699122 6712829 6714248 6725056 6769213 6771825 6877260 6965797 7005223 7019094 7117025 7127570 7162985 7206367 7238363 7254510 7295759 7304714 7314371 7338792 7408941 7461275 7468203 7503560 7541866 7573631 7653192 7662065 7665227 7669155 7671525 7683291 7713501 7753590 7776828 7795842 7821294 7844021 7867858 7877472 7954524 7963480 7964710 8010171 8024526 8030340 8033840 8045723 8048905 8074801 8077052 8095989 8108574 8121693 8145054 8226440 8276037 8292421 8343441 8386275 8421805 8432640 8437547 8466320 8481451 8500012 8504302 8510918 8532379 8564011 8623556 8660357 8681919 8691742 8706439 8718257 8725397 8780417 8826804 8829994 8866927 8872352 8883475 8899817 9120357 9128171 9141056 9174976 9181409 9182778 9212557 9297871 9304458 9358830 9387930 9392603 9451131 9467743 9504529 9505890 9526362 9572051 9576250 9577847 9595138 9599774 9617122 9620906 9634332 9653405 9706300 9753903 9803193 9814643 9864169 9866802 9880548 9903329 9927726 9958705 9961857 9985743 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml index f037991dd..aee07e5d1 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml @@ -278,3 +278,12 @@ 22833 80396 81349 141975 193704 198296 250164 312419 359242 373954 439751 481154 483835 497109 519069 524280 566103 573646 591403 625599 636826 708998 744881 789670 822011 830148 849726 861624 865947 873505 890593 910433 948267 967175 975738 990579 994264 1006320 1023964 1037550 1075366 1148111 1157169 1217090 1260920 1267774 1286534 1296715 1368647 1389716 1397144 1422719 1457395 1479957 1531009 1600079 1627534 1637839 1654405 1666551 1667698 1685635 1746353 1752864 1758943 1764291 1768879 1801371 1835296 1873755 1902300 1962796 1965915 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml index 0f792b3dc..cabfb69d2 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml @@ -278,3 +278,12 @@ 22833 80396 81349 141975 193704 198296 250164 312419 359242 373954 439751 481154 483835 497109 519069 524280 566103 573646 591403 625599 636826 708998 744881 789670 822011 830148 849726 861624 865947 873505 890593 910433 948267 967175 975738 990579 994264 1006320 1023964 1037550 1075366 1148111 1157169 1217090 1260920 1267774 1286534 1296715 1368647 1389716 1397144 1422719 1457395 1479957 1531009 1600079 1627534 1637839 1654405 1666551 1667698 1685635 1746353 1752864 1758943 1764291 1768879 1801371 1835296 1873755 1902300 1962796 1965915 2001759 2014376 2046477 2069655 2072468 2086014 2104518 2125955 2197338 2228415 2250609 2285690 2334648 2349295 2357728 2365363 2457432 2474715 2500296 2524297 2553720 2557351 2570874 2626057 2636447 2647447 2692604 2710945 2715878 2743989 2751580 2757612 2774657 2831670 2854376 2866114 2878821 2934481 2967468 2983935 3019181 3070521 3123664 3138154 3139776 3157268 3164453 3175789 3184086 3222689 3242535 3258230 3290891 3319383 3339168 3356345 3370523 3389509 3393085 3430154 3434675 3436816 3471542 3495506 3524578 3585476 3625481 3647573 3669665 3707662 3710238 3750167 3774895 3841950 3948630 3975310 3999473 4002087 4018057 4026157 4044218 4057410 4067553 4102762 4112707 4114536 4122310 4146682 4173995 4174923 4181938 4207067 4216289 4286450 4293200 4295784 4296728 4398935 4401289 4468216 4486392 4501047 4526402 4540627 4572217 4582359 4598553 4616017 4618688 4634087 4639632 4645351 4660614 4677059 4743410 4763390 4791508 4837725 4841110 4845704 4858119 4875820 4891926 4893534 4923380 4929699 4941388 4971368 5012559 5017215 5046618 5074562 5080924 5105688 5126579 5157542 5186116 5200165 5201958 5221401 5231811 5297251 5320628 5353861 5362034 5370208 5373216 5382113 5401593 5422225 5440853 5448662 5495986 5509130 5519378 5523195 5528878 5537401 5562717 5590911 5597909 5651728 5656206 5686861 5696240 5732823 5753595 5759087 5761725 5816061 5849650 5862992 5881550 5900438 5926963 5932401 5942745 5954392 5964563 6016237 6022710 6037281 6060838 6087844 6130709 6202857 6213432 6269585 6319014 6336020 6343719 6390856 6394469 6454296 6485092 6501569 6521514 6547439 6559638 6596772 6600545 6615953 6639051 6646443 6649428 6658068 6681863 6692230 6696450 6699122 6712829 6714248 6725056 6769213 6771825 6877260 6965797 7005223 7019094 7117025 7127570 7162985 7206367 7238363 7254510 7295759 7304714 7314371 7338792 7408941 7461275 7468203 7503560 7541866 7573631 7653192 7662065 7665227 7669155 7671525 7683291 7713501 7753590 7776828 7795842 7821294 7844021 7867858 7877472 7954524 7963480 7964710 8010171 8024526 8030340 8033840 8045723 8048905 8074801 8077052 8095989 8108574 8121693 8145054 8226440 8276037 8292421 8343441 8386275 8421805 8432640 8437547 8466320 8481451 8500012 8504302 8510918 8532379 8564011 8623556 8660357 8681919 8691742 8706439 8718257 8725397 8780417 8826804 8829994 8866927 8872352 8883475 8899817 9120357 9128171 9141056 9174976 9181409 9182778 9212557 9297871 9304458 9358830 9387930 9392603 9451131 9467743 9504529 9505890 9526362 9572051 9576250 9577847 9595138 9599774 9617122 9620906 9634332 9653405 9706300 9753903 9803193 9814643 9864169 9866802 9880548 9903329 9927726 9958705 9961857 9985743 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml index f037991dd..aee07e5d1 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml @@ -278,3 +278,12 @@ 22833 80396 81349 141975 193704 198296 250164 312419 359242 373954 439751 481154 483835 497109 519069 524280 566103 573646 591403 625599 636826 708998 744881 789670 822011 830148 849726 861624 865947 873505 890593 910433 948267 967175 975738 990579 994264 1006320 1023964 1037550 1075366 1148111 1157169 1217090 1260920 1267774 1286534 1296715 1368647 1389716 1397144 1422719 1457395 1479957 1531009 1600079 1627534 1637839 1654405 1666551 1667698 1685635 1746353 1752864 1758943 1764291 1768879 1801371 1835296 1873755 1902300 1962796 1965915 + + 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml index 4b6921849..2f47c1c1a 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml @@ -38,3 +38,12 @@ 4738 6539 17781 19129 24690 38093 43811 47057 50008 52187 54158 56242 59316 60214 63322 67508 68816 72647 74622 81637 82760 83937 85302 89042 97235 102453 113679 114838 119657 123340 124603 128969 139605 143163 145412 149175 150880 152708 158508 164422 166000 167662 176313 178829 183956 190775 192189 197389 200899 203158 204781 207399 209556 212176 213993 214935 216917 218505 223417 224281 225898 228375 229336 230854 232986 237396 241687 244604 246902 249568 256257 261577 264741 276178 282978 289666 291096 296571 300132 305137 309798 313770 319910 321447 322853 327050 328319 331212 335128 336744 338938 342254 347613 348531 350267 355967 357031 357951 361539 371641 372662 375085 379931 383762 385931 396119 399477 402261 404914 406848 420638 423867 425924 429134 432564 437513 438914 440308 442173 445204 455099 456395 463218 464672 470460 473705 474999 476393 482304 487633 492952 494163 495618 504531 508183 509679 511201 511847 521169 522737 527836 531171 539954 541820 544059 555434 557350 562497 564120 567451 570188 571154 575172 576624 582807 585374 586941 590597 592467 594584 596330 601697 604257 610838 612027 613125 615373 619037 622722 627129 628287 648680 652374 657942 660650 662529 667305 670142 672551 676598 678153 690375 692743 696017 703192 707563 715816 717159 718553 719628 721648 722334 725371 728862 744401 752076 756512 760323 771344 774916 777956 781132 783083 784403 790327 793282 797690 799091 806431 818682 824372 838668 847223 849053 853358 855582 857054 858033 863330 872209 874084 875732 880103 883291 884107 885503 887090 889955 892847 895290 898977 900253 902433 903712 904773 908094 911113 912461 913307 915389 919962 921441 923106 925591 936085 939382 956837 965741 969780 973368 983595 985760 990492 995023 998594 1005880 1012280 1014356 1016917 1031458 1045411 1048744 1050867 1054832 1058047 1059035 1061365 1071075 1073363 1078339 1083555 1091200 1097888 1103747 1104992 1106007 1108883 1114981 1116538 1122016 1124691 1133642 1137971 1144759 1145844 1161708 1163040 1166051 1171964 1174750 1183595 1188147 1190507 1192267 1193400 1194333 1197573 1220897 1225104 1233446 1234344 1236138 1237901 1238934 1240989 1242441 1247028 1248389 1251805 1255794 1258308 1262698 1265448 1267048 1275293 1283139 1285536 1287410 1288826 1299191 1304999 1308536 1315443 1326828 1333023 1339362 1342172 1346039 1366206 1372895 1377181 1382066 1382838 1385954 1388555 1392588 1396172 1397617 1400077 1405730 1408075 1409781 1411900 1414167 1420192 1422782 1426403 1432418 1437576 1442400 1444318 1445116 1445941 1446812 1458257 1460736 1462222 1468348 1476511 1477597 1493039 1495544 1499466 1504945 1506957 1513026 1527654 1531971 1536760 1537591 1539232 1541097 1545935 1550774 1552663 1553614 1558616 1562341 1564800 1570640 1571353 1574522 1576070 1577799 1580011 1583037 1589139 1590352 1594669 1595918 1608678 1609780 1611510 1614814 1615430 1617377 1620162 1623407 1626279 1631604 1632805 1637325 1640906 1647129 1654921 1658950 1661828 1663347 1665996 1670390 1677441 1687176 1690261 1692498 1698147 1701222 1704778 1707245 1711328 1714977 1718148 1722426 1724143 1729078 1733183 1735727 1738106 1740782 1742850 1743652 1744468 1750278 1759398 1760992 1761954 1763155 1764998 1767582 1771057 1775420 1791210 1792170 1793899 1800189 1802528 1809581 1810766 1812231 1815864 1823634 1838166 1839299 1843773 1846222 1849013 1850139 1852925 1859118 1860198 1866030 1878513 1886350 1887960 1890922 1892618 1896804 1900809 1901776 1906610 1917643 1922384 1926688 1929413 1933251 1943561 1944310 1954360 1958510 1962863 1967855 1970871 1972583 1974687 1984237 1986960 1990051 1992963 1994224 2000163 2001050 2006032 2006932 2009524 2012765 2013911 2016282 2017985 2020173 2021946 2026041 2033273 2034961 2050150 2052423 2058591 2061527 2075423 2077660 2086157 2086861 2093389 2095725 2103724 2106652 2113277 2115033 2118021 2120749 2127789 2135221 2138063 2138980 2146397 2147969 2149502 2151497 2159835 2161865 2164316 2168833 2171815 2173773 2179418 2188546 2192417 2193530 2199455 2205466 2207602 2212336 2213739 2217066 2218306 2220943 2228840 2231544 2233522 2234720 2238917 2242874 2245915 2247327 2253379 2256695 2262400 2275504 2282092 2286583 2290437 2295967 2301284 2304368 2306163 2307928 2317158 2326764 2342373 2344601 2346199 2355429 2356373 2363529 2370418 2371355 2372217 2377690 2380636 2382805 2383809 2391202 2393970 2399554 2400860 2406605 2410384 2413918 2415158 2418487 2420404 2422329 2426047 2429343 2434628 2435959 2437853 2442388 2446990 2451537 2454865 2461099 2465336 2467863 2474104 2477279 2486269 2488808 2493919 2497942 2501116 2507237 2515753 2519618 2522144 2527908 2530587 2532374 2534275 2535779 2541117 2552213 2559967 2561017 2562153 2567809 2571433 2576253 2580779 2584949 2586041 2587722 2589256 2594836 2596456 2598396 2603346 2605300 2606790 2608689 2610646 2614679 2615814 2618531 2622162 2623632 2631995 2635648 2643055 2650260 2653895 2654561 2663029 2668343 2669912 2674814 2676826 2681943 2687734 2689298 2692492 2694857 2700836 2702502 2706317 2708464 2717909 2723180 2725428 2727034 2730842 2738633 2744907 2751451 2758561 2766081 2767364 2772762 2776228 2779263 2783382 2786999 2789261 2790420 2797809 2798503 2803898 2813134 2815800 2816752 2819185 2821538 2823301 2826964 2829990 2835323 2847334 2850371 2853781 2861986 2864840 2871839 2875600 2878042 2882928 2884463 2886379 2892229 2895496 2901048 2906233 2910142 2913276 2920264 2924918 2928848 2947257 2950475 2952264 2957414 2959761 2962895 2968017 2972852 2974511 2978814 2983098 2983805 2985600 2998706 3005095 3006308 3010217 3023762 3027235 3028621 3036113 3051882 3054349 3063093 3067452 3069609 3076579 3078487 3080628 3082423 3091028 3096303 3099731 3105207 3107792 3110517 3117978 3119906 3121665 3128205 3136920 3141294 3142535 3143986 3145885 3147786 3152947 3160032 3162321 3171167 3176803 3178786 3179683 3181010 3185311 3190397 3192005 3200978 3201699 3209525 3213009 3216779 3220444 3221516 3230994 3232704 3234096 3239773 3249319 3254549 3255896 3272763 3274399 3281082 3285906 3288807 3289434 3293893 3298481 3302666 3304315 3309250 3310528 3311871 3323471 3326847 3337131 3339105 3341631 3345576 3348612 3351793 3353778 3363838 3364949 3366377 3370423 3374464 3386310 3388734 3394973 3396512 3397714 3406789 3415251 3426414 3430404 3438811 3443116 3449900 3452867 3453509 3463020 3465841 3475227 3480214 3484333 3488161 3495810 3498204 3499561 3501499 3515614 3517614 3527321 3528634 3533832 3537244 3539205 3544913 3555489 3556800 3558631 3564370 3565859 3573349 3577457 3578410 3580516 3582100 3583857 3589125 3591797 3598446 3600527 3605447 3610561 3612508 3622911 3628755 3631199 3634235 3635294 3642379 3645122 3647718 3649057 3651741 3655730 3664706 3667281 3668659 3671645 3673917 3678900 3681285 3686538 3705931 3709404 3712994 3719935 3721829 3727606 3729306 3732348 3733951 3739741 3742910 3746574 3750675 3752311 3761164 3766652 3767848 3775277 3777078 3781231 3782348 3784376 3789584 3791152 3793663 3794677 3796946 3803899 3808536 3813263 3818241 3826618 3833479 3834574 3837713 3839344 3845370 3853546 3859662 3868250 3869389 3870863 3872186 3879383 3881220 3882168 3883537 3884505 3886168 3890984 3896771 3899256 3900739 3902575 3907087 3909724 3910906 3916768 3917891 3918922 3920008 3927055 3929597 3931744 3933635 3940097 3953968 3962702 3968881 3973441 3979962 3981130 3984833 3986345 3991239 3993043 3994480 3997391 4006051 4010220 4019651 4021697 4024107 4033186 4034649 4037899 4040530 4043690 4048774 4051250 4070718 4072280 4075069 4078001 4079587 4083232 4090882 4094921 4095657 4097531 4108069 4110981 4117846 4122939 4124779 4128854 4134219 4135229 4136448 4141884 4146018 4146758 4149158 4150093 4160635 4170047 4177631 4180170 4180855 4182262 4184386 4185976 4187521 4188978 4190336 4192234 4195892 4197356 4201686 4203902 4212530 4213656 4218688 4219408 4221579 4224099 4230308 4234299 4239272 4247006 4252008 4254347 4256621 4259905 4261862 4262942 4266539 4271244 4273866 4278140 4281986 4285287 4290429 4295037 4301852 4303852 4307438 4312529 4315651 4319974 4322409 4324113 4329221 4330214 4332739 4346491 4347631 4357255 4360694 4362287 4368059 4376947 4379566 4381085 4388627 4389878 4391084 4395855 4406858 4409080 4412409 4418646 4420547 4423086 4426367 4428748 4431408 4434907 4438476 4447798 4449659 4452753 4453872 4456632 4472924 4474602 4476017 4479762 4485447 4490334 4493874 4500558 4503603 4504595 4513373 4515093 4522515 4524107 4528554 4533030 4536537 4541078 4549976 4551064 4554671 4558290 4564617 4566397 4568849 4570151 4572545 4574530 4587874 4595791 4598268 4602866 4606589 4611389 4613929 4622708 4641482 4642637 4649096 4649940 4652250 4653847 4658840 4661987 4663342 4665312 4668658 4672071 4675288 4677488 4685621 4687270 4695743 4699318 4705030 4706459 4715928 4718417 4729217 4730808 4734967 4737476 4741973 4744932 4746193 4758422 4760465 4761597 4764978 4766709 4769935 4773713 4775519 4777672 4780904 4787886 4791235 4795099 4799130 4805229 4806686 4808548 4821884 4824130 4830219 4837264 4841200 4843609 4846598 4847719 4849724 4851710 4853168 4854442 4858397 4870209 4875736 4879869 4884039 4888757 4903483 4905983 4914039 4921162 4934684 4937854 4941011 4942362 4945330 4947316 4954973 4956217 4958566 4963003 4964008 4965521 4968786 4971910 4975750 4976623 4979204 4994174 4999136 5002564 5005993 5007435 5009894 5012625 5015291 5017211 5026011 5027679 5029304 5030864 5032791 5037040 5040985 5047310 5049984 5059757 5062873 5069516 5079704 5094887 5098774 5100820 5102064 5105143 5108336 5109301 5110717 5113838 5122110 5124519 5125813 5141548 5143366 5156529 5171215 5177382 5178553 5182463 5193984 5199175 5202282 5207848 5216099 5222147 5227414 5234079 5238565 5242721 5245651 5249614 5255439 5263988 5269698 5272082 5273404 5282200 5291663 5303400 5306565 5308267 5314569 5317260 5319421 5323650 5341464 5344326 5347419 5349602 5352571 5356565 5358310 5359958 5364656 5367899 5375705 5386122 5387432 5389799 5392176 5393098 5395469 5397665 5402248 5406598 5412251 5413735 5417350 5421650 5423269 5429272 5431853 5434883 5438475 5441750 5449340 5452209 5455076 5461007 5462781 5464105 5467210 5483348 5487049 5491405 5492469 5496223 5505069 5506444 5518695 5524565 5526984 5532345 5535349 5543125 5545573 5547864 5551718 5553814 5559650 5568997 5582510 5586352 5588637 5592469 5599243 5609002 5612244 5614278 5618928 5622775 5630091 5637012 5648856 5653876 5655481 5656439 5659007 5660011 5662139 5671909 5677067 5678949 5685872 5694491 5702237 5709973 5712530 5715700 5716872 5720129 5721912 5724670 5729173 5730027 5733840 5734778 5746871 5753683 5770538 5776149 5778428 5784741 5788775 5790050 5792404 5797622 5799996 5800920 5803428 5807966 5811890 5818244 5818878 5826161 5828980 5831024 5832014 5833669 5835449 5840269 5842924 5845544 5850156 5855511 5867255 5873378 5880333 5884250 5886845 5888721 5891393 5903742 5905465 5909049 5910219 5911384 5913781 5917489 5919695 5920582 5924267 5928263 5932340 5945758 5948599 5951222 5954863 5956829 5961163 5964422 5965817 5967797 5973022 5976681 5980704 5990020 5998042 6008479 6011984 6013435 6019623 6025600 6029198 6030458 6036167 6039010 6041752 6043212 6046685 6060268 6063510 6067389 6070973 6079375 6081691 6083446 6085935 6087290 6095561 6098235 6100990 6103780 6107420 6110432 6111367 6112920 6115875 6119930 6123559 6129304 6133063 6137402 6143167 6146283 6148836 6154270 6156946 6159180 6164784 6166805 6168658 6175137 6177692 6178919 6181932 6187451 6191705 6196618 6197770 6200146 6201042 6202298 6204271 6205486 6210268 6215529 6224007 6228502 6229460 6238526 6244596 6246300 6247005 6249182 6253370 6265508 6268473 6271442 6274218 6276222 6281067 6282580 6284322 6291978 6295597 6296799 6304894 6306478 6307530 6312680 6316662 6317664 6332621 6338952 6340654 6350396 6352647 6357240 6360499 6362551 6367002 6367961 6372926 6379629 6384967 6386153 6388492 6394403 6395444 6398816 6404605 6407627 6411542 6413702 6415854 6420678 6428415 6429431 6435154 6436790 6438599 6440977 6450924 6452522 6455299 6458978 6464025 6466801 6481669 6484642 6491009 6493915 6495220 6497722 6500709 6502041 6513859 6515514 6517667 6523607 6527961 6534101 6535000 6538066 6546884 6549009 6550445 6568355 6570470 6571891 6573989 6584488 6588594 6592752 6603793 6609785 6612088 6614867 6616885 6619480 6622119 6624188 6630715 6637239 6640557 6644168 6657390 6658413 6669596 6671568 6674373 6682191 6696494 6698685 6701206 6702676 6704474 6705342 6720298 6726395 6731316 6738473 6743706 6745061 6745797 6752257 6756016 6757088 6759537 6762075 6763147 6765517 6770410 6771900 6773094 6793956 6796996 6800537 6804016 6805114 6806428 6810965 6813286 6816323 6826797 6830154 6831296 6836468 6839125 6840318 6843923 6846258 6854934 6859237 6871425 6874728 6880168 6890787 6900719 6904686 6911148 6915887 6932210 6933225 6936238 6938369 6940175 6944584 6952242 6955147 6957013 6959920 6971723 6987359 6989993 6995445 6997899 7000933 7003304 7004164 7011217 7015866 7029401 7033353 7035050 7039751 7042506 7045081 7047424 7053189 7055042 7056294 7059425 7065480 7067506 7078143 7081715 7088939 7092440 7094548 7097350 7098988 7105160 7110629 7114997 7118957 7122014 7130244 7133529 7135171 7136523 7140867 7142068 7153756 7167600 7168857 7179326 7184063 7184796 7188186 7190950 7192104 7194085 7197641 7199582 7201398 7203775 7206092 7209228 7218913 7224294 7225852 7227581 7231545 7239763 7242553 7245220 7250116 7254924 7257536 7259589 7260771 7263706 7267642 7270970 7275917 7280587 7287571 7290169 7293947 7295870 7297095 7310772 7314368 7315728 7320213 7322633 7326973 7328957 7337112 7341346 7346989 7349386 7354819 7356380 7359689 7360699 7362117 7363437 7367439 7369425 7370969 7380423 7388734 7389635 7392601 7395412 7396337 7409020 7411691 7413898 7417785 7422890 7424620 7429324 7432377 7437785 7440136 7452257 7458122 7459819 7461213 7463803 7466451 7469139 7476581 7477917 7482967 7484517 7486241 7488492 7489870 7493308 7494010 7495777 7497169 7499766 7501956 7509423 7510853 7525486 7530652 7532846 7534097 7535571 7537939 7548905 7552662 7557027 7558137 7567054 7569559 7571055 7574031 7581620 7588945 7595383 7597409 7599403 7604083 7606031 7611306 7615005 7616667 7619928 7633087 7637149 7640192 7643065 7645874 7647321 7653889 7656301 7659752 7662395 7666422 7667175 7668644 7670196 7678163 7679769 7683264 7685687 7688424 7694752 7698267 7704843 7706352 7708044 7711032 7712636 7713932 7715807 7721295 7728180 7730736 7731699 7733980 7736618 7739617 7751561 7755662 7758229 7759577 7761641 7766911 7770367 7774300 7775775 7779481 7781394 7783702 7792453 7797603 7808439 7809269 7813500 7819185 7820221 7825448 7831262 7832374 7836391 7838260 7842955 7844157 7851564 7860233 7866914 7871827 7882243 7888061 7889700 7893701 7896540 7898798 7901541 7902458 7904915 7910972 7914383 7916919 7921694 7930194 7932017 7937523 7939828 7940767 7942920 7944330 7949090 7951950 7954785 7957043 7958602 7961260 7964833 7966858 7967929 7973262 7974778 7979003 7987467 8006678 8013829 8018487 8023927 8026970 8035620 8038539 8039747 8043463 8048514 8060933 8061875 8064842 8068286 8084679 8089747 8093460 8101796 8103859 8117402 8121149 8124157 8126411 8130397 8135716 8142584 8149479 8152090 8155052 8158836 8160701 8166026 8169794 8171373 8177835 8190443 8195209 8196943 8198411 8200737 8202180 8207802 8208909 8212543 8219785 8221188 8222193 8223763 8224534 8230824 8231755 8240767 8241816 8242925 8248136 8251633 8253423 8263076 8264460 8265425 8273041 8275379 8279079 8294706 8309365 8312242 8321571 8328282 8330697 8335218 8341645 8343945 8347055 8352214 8354106 8355665 8359938 8362499 8369152 8373174 8378470 8383154 8390919 8395207 8398513 8399735 8401932 8404056 8407777 8412505 8415897 8418783 8419631 8421465 8430631 8433087 8434832 8442114 8446984 8448112 8459798 8461297 8463218 8464100 8464994 8466851 8468662 8471055 8472020 8474536 8480784 8482006 8483886 8486910 8491066 8492443 8495245 8504396 8506879 8509221 8514929 8522977 8525491 8527487 8530788 8534670 8537473 8545192 8548852 8549549 8551442 8553598 8558155 8559535 8562479 8566292 8572993 8583910 8591233 8592888 8597957 8602048 8605039 8609120 8611865 8622464 8623897 8625413 8635108 8639851 8643373 8654456 8655561 8660966 8663512 8666342 8669058 8673664 8677233 8680123 8683182 8684722 8689291 8691665 8692516 8697168 8705253 8706704 8718663 8721508 8723650 8728315 8734251 8747536 8748767 8755254 8762224 8764018 8765536 8767267 8768141 8771688 8773033 8774898 8776763 8781508 8784848 8787195 8789009 8795717 8797336 8800873 8804173 8807388 8810341 8814578 8821858 8826203 8832120 8835153 8838712 8850151 8852682 8854106 8859277 8866611 8874951 8875934 8877029 8879199 8880109 8881697 8885433 8887289 8889672 8891417 8892723 8896433 8897551 8903268 8905743 8908200 8909346 8912458 8916422 8920895 8922479 8923858 8928727 8934704 8938893 8947830 8949980 8952887 8955311 8969499 8984000 8993632 8995972 8999454 9007239 9008741 9010423 9014268 9019871 9021833 9026791 9042258 9046050 9055198 9065934 9068966 9069879 9073455 9074328 9075945 9080465 9083631 9086731 9093286 9100572 9102644 9103630 9113832 9115917 9116796 9126922 9130082 9131536 9140778 9143568 9147626 9150398 9158364 9159514 9163097 9164227 9165465 9171004 9178629 9182266 9191722 9195554 9196903 9201786 9203591 9206653 9210069 9213118 9219611 9232283 9234178 9235705 9237518 9239918 9250281 9252609 9258185 9263719 9272783 9282427 9288293 9289508 9295452 9296668 9299115 9300849 9301637 9307367 9316254 9321092 9323692 9328847 9332438 9333706 9336308 9338177 9341586 9342456 9346069 9349291 9357049 9364609 9370331 9372515 9375213 9376732 9387565 9391201 9395687 9399396 9403211 9405586 9406495 9412617 9417088 9419137 9424543 9432989 9434867 9437865 9439149 9442220 9445092 9447675 9456693 9463649 9469330 9471331 9478829 9482226 9484649 9488801 9491148 9496413 9515140 9516947 9532901 9536836 9538488 9540315 9541900 9546099 9551029 9552622 9555033 9558405 9561733 9563296 9567432 9569927 9574205 9575295 9576491 9577209 9577948 9579771 9583237 9589220 9591214 9596578 9600366 9603396 9611592 9624815 9631628 9633097 9639542 9641945 9647746 9650249 9652291 9660805 9668116 9669486 9671527 9673805 9679409 9684215 9685676 9699582 9705924 9707211 9714732 9719151 9722108 9724081 9724786 9725784 9727569 9729004 9734807 9738686 9740914 9741545 9744831 9747024 9750386 9752382 9755530 9757174 9758496 9763822 9770316 9778956 9786477 9790866 9793554 9798629 9803876 9809432 9812682 9814814 9822520 9823828 9831228 9832403 9833500 9837468 9841921 9844116 9850264 9853859 9855161 9859140 9863219 9866740 9867390 9871255 9874507 9875656 9880335 9882553 9888341 9896427 9905768 9913878 9919249 9926063 9929843 9941108 9944879 9954506 9955989 9958283 9959797 9964258 9968347 9970715 9974581 9981227 9983157 9985868 9990478 9993649 9997158 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml index b158fb4ef..25ee7dae9 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml @@ -38,3 +38,12 @@ 4738 6539 17781 19129 24690 38093 43811 47057 50008 52187 54158 56242 59316 60214 63322 67508 68816 72647 74622 81637 82760 83937 85302 89042 97235 102453 113679 114838 119657 123340 124603 128969 139605 143163 145412 149175 150880 152708 158508 164422 166000 167662 176313 178829 183956 190775 192189 197389 200899 203158 204781 207399 209556 212176 213993 214935 216917 218505 223417 224281 225898 228375 229336 230854 232986 237396 241687 244604 246902 249568 256257 261577 264741 276178 282978 289666 291096 296571 300132 305137 309798 313770 319910 321447 322853 327050 328319 331212 335128 336744 338938 342254 347613 348531 350267 355967 357031 357951 361539 371641 372662 375085 379931 383762 385931 396119 399477 402261 404914 406848 420638 423867 425924 429134 432564 437513 438914 440308 442173 445204 455099 456395 463218 464672 470460 473705 474999 476393 482304 487633 492952 494163 495618 504531 508183 509679 511201 511847 521169 522737 527836 531171 539954 541820 544059 555434 557350 562497 564120 567451 570188 571154 575172 576624 582807 585374 586941 590597 592467 594584 596330 601697 604257 610838 612027 613125 615373 619037 622722 627129 628287 648680 652374 657942 660650 662529 667305 670142 672551 676598 678153 690375 692743 696017 703192 707563 715816 717159 718553 719628 721648 722334 725371 728862 744401 752076 756512 760323 771344 774916 777956 781132 783083 784403 790327 793282 797690 799091 806431 818682 824372 838668 847223 849053 853358 855582 857054 858033 863330 872209 874084 875732 880103 883291 884107 885503 887090 889955 892847 895290 898977 900253 902433 903712 904773 908094 911113 912461 913307 915389 919962 921441 923106 925591 936085 939382 956837 965741 969780 973368 983595 985760 990492 995023 998594 1005880 1012280 1014356 1016917 1031458 1045411 1048744 1050867 1054832 1058047 1059035 1061365 1071075 1073363 1078339 1083555 1091200 1097888 1103747 1104992 1106007 1108883 1114981 1116538 1122016 1124691 1133642 1137971 1144759 1145844 1161708 1163040 1166051 1171964 1174750 1183595 1188147 1190507 1192267 1193400 1194333 1197573 1220897 1225104 1233446 1234344 1236138 1237901 1238934 1240989 1242441 1247028 1248389 1251805 1255794 1258308 1262698 1265448 1267048 1275293 1283139 1285536 1287410 1288826 1299191 1304999 1308536 1315443 1326828 1333023 1339362 1342172 1346039 1366206 1372895 1377181 1382066 1382838 1385954 1388555 1392588 1396172 1397617 1400077 1405730 1408075 1409781 1411900 1414167 1420192 1422782 1426403 1432418 1437576 1442400 1444318 1445116 1445941 1446812 1458257 1460736 1462222 1468348 1476511 1477597 1493039 1495544 1499466 1504945 1506957 1513026 1527654 1531971 1536760 1537591 1539232 1541097 1545935 1550774 1552663 1553614 1558616 1562341 1564800 1570640 1571353 1574522 1576070 1577799 1580011 1583037 1589139 1590352 1594669 1595918 1608678 1609780 1611510 1614814 1615430 1617377 1620162 1623407 1626279 1631604 1632805 1637325 1640906 1647129 1654921 1658950 1661828 1663347 1665996 1670390 1677441 1687176 1690261 1692498 1698147 1701222 1704778 1707245 1711328 1714977 1718148 1722426 1724143 1729078 1733183 1735727 1738106 1740782 1742850 1743652 1744468 1750278 1759398 1760992 1761954 1763155 1764998 1767582 1771057 1775420 1791210 1792170 1793899 1800189 1802528 1809581 1810766 1812231 1815864 1823634 1838166 1839299 1843773 1846222 1849013 1850139 1852925 1859118 1860198 1866030 1878513 1886350 1887960 1890922 1892618 1896804 1900809 1901776 1906610 1917643 1922384 1926688 1929413 1933251 1943561 1944310 1954360 1958510 1962863 1967855 1970871 1972583 1974687 1984237 1986960 1990051 1992963 1994224 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml index 4b6921849..2f47c1c1a 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml @@ -38,3 +38,12 @@ 4738 6539 17781 19129 24690 38093 43811 47057 50008 52187 54158 56242 59316 60214 63322 67508 68816 72647 74622 81637 82760 83937 85302 89042 97235 102453 113679 114838 119657 123340 124603 128969 139605 143163 145412 149175 150880 152708 158508 164422 166000 167662 176313 178829 183956 190775 192189 197389 200899 203158 204781 207399 209556 212176 213993 214935 216917 218505 223417 224281 225898 228375 229336 230854 232986 237396 241687 244604 246902 249568 256257 261577 264741 276178 282978 289666 291096 296571 300132 305137 309798 313770 319910 321447 322853 327050 328319 331212 335128 336744 338938 342254 347613 348531 350267 355967 357031 357951 361539 371641 372662 375085 379931 383762 385931 396119 399477 402261 404914 406848 420638 423867 425924 429134 432564 437513 438914 440308 442173 445204 455099 456395 463218 464672 470460 473705 474999 476393 482304 487633 492952 494163 495618 504531 508183 509679 511201 511847 521169 522737 527836 531171 539954 541820 544059 555434 557350 562497 564120 567451 570188 571154 575172 576624 582807 585374 586941 590597 592467 594584 596330 601697 604257 610838 612027 613125 615373 619037 622722 627129 628287 648680 652374 657942 660650 662529 667305 670142 672551 676598 678153 690375 692743 696017 703192 707563 715816 717159 718553 719628 721648 722334 725371 728862 744401 752076 756512 760323 771344 774916 777956 781132 783083 784403 790327 793282 797690 799091 806431 818682 824372 838668 847223 849053 853358 855582 857054 858033 863330 872209 874084 875732 880103 883291 884107 885503 887090 889955 892847 895290 898977 900253 902433 903712 904773 908094 911113 912461 913307 915389 919962 921441 923106 925591 936085 939382 956837 965741 969780 973368 983595 985760 990492 995023 998594 1005880 1012280 1014356 1016917 1031458 1045411 1048744 1050867 1054832 1058047 1059035 1061365 1071075 1073363 1078339 1083555 1091200 1097888 1103747 1104992 1106007 1108883 1114981 1116538 1122016 1124691 1133642 1137971 1144759 1145844 1161708 1163040 1166051 1171964 1174750 1183595 1188147 1190507 1192267 1193400 1194333 1197573 1220897 1225104 1233446 1234344 1236138 1237901 1238934 1240989 1242441 1247028 1248389 1251805 1255794 1258308 1262698 1265448 1267048 1275293 1283139 1285536 1287410 1288826 1299191 1304999 1308536 1315443 1326828 1333023 1339362 1342172 1346039 1366206 1372895 1377181 1382066 1382838 1385954 1388555 1392588 1396172 1397617 1400077 1405730 1408075 1409781 1411900 1414167 1420192 1422782 1426403 1432418 1437576 1442400 1444318 1445116 1445941 1446812 1458257 1460736 1462222 1468348 1476511 1477597 1493039 1495544 1499466 1504945 1506957 1513026 1527654 1531971 1536760 1537591 1539232 1541097 1545935 1550774 1552663 1553614 1558616 1562341 1564800 1570640 1571353 1574522 1576070 1577799 1580011 1583037 1589139 1590352 1594669 1595918 1608678 1609780 1611510 1614814 1615430 1617377 1620162 1623407 1626279 1631604 1632805 1637325 1640906 1647129 1654921 1658950 1661828 1663347 1665996 1670390 1677441 1687176 1690261 1692498 1698147 1701222 1704778 1707245 1711328 1714977 1718148 1722426 1724143 1729078 1733183 1735727 1738106 1740782 1742850 1743652 1744468 1750278 1759398 1760992 1761954 1763155 1764998 1767582 1771057 1775420 1791210 1792170 1793899 1800189 1802528 1809581 1810766 1812231 1815864 1823634 1838166 1839299 1843773 1846222 1849013 1850139 1852925 1859118 1860198 1866030 1878513 1886350 1887960 1890922 1892618 1896804 1900809 1901776 1906610 1917643 1922384 1926688 1929413 1933251 1943561 1944310 1954360 1958510 1962863 1967855 1970871 1972583 1974687 1984237 1986960 1990051 1992963 1994224 2000163 2001050 2006032 2006932 2009524 2012765 2013911 2016282 2017985 2020173 2021946 2026041 2033273 2034961 2050150 2052423 2058591 2061527 2075423 2077660 2086157 2086861 2093389 2095725 2103724 2106652 2113277 2115033 2118021 2120749 2127789 2135221 2138063 2138980 2146397 2147969 2149502 2151497 2159835 2161865 2164316 2168833 2171815 2173773 2179418 2188546 2192417 2193530 2199455 2205466 2207602 2212336 2213739 2217066 2218306 2220943 2228840 2231544 2233522 2234720 2238917 2242874 2245915 2247327 2253379 2256695 2262400 2275504 2282092 2286583 2290437 2295967 2301284 2304368 2306163 2307928 2317158 2326764 2342373 2344601 2346199 2355429 2356373 2363529 2370418 2371355 2372217 2377690 2380636 2382805 2383809 2391202 2393970 2399554 2400860 2406605 2410384 2413918 2415158 2418487 2420404 2422329 2426047 2429343 2434628 2435959 2437853 2442388 2446990 2451537 2454865 2461099 2465336 2467863 2474104 2477279 2486269 2488808 2493919 2497942 2501116 2507237 2515753 2519618 2522144 2527908 2530587 2532374 2534275 2535779 2541117 2552213 2559967 2561017 2562153 2567809 2571433 2576253 2580779 2584949 2586041 2587722 2589256 2594836 2596456 2598396 2603346 2605300 2606790 2608689 2610646 2614679 2615814 2618531 2622162 2623632 2631995 2635648 2643055 2650260 2653895 2654561 2663029 2668343 2669912 2674814 2676826 2681943 2687734 2689298 2692492 2694857 2700836 2702502 2706317 2708464 2717909 2723180 2725428 2727034 2730842 2738633 2744907 2751451 2758561 2766081 2767364 2772762 2776228 2779263 2783382 2786999 2789261 2790420 2797809 2798503 2803898 2813134 2815800 2816752 2819185 2821538 2823301 2826964 2829990 2835323 2847334 2850371 2853781 2861986 2864840 2871839 2875600 2878042 2882928 2884463 2886379 2892229 2895496 2901048 2906233 2910142 2913276 2920264 2924918 2928848 2947257 2950475 2952264 2957414 2959761 2962895 2968017 2972852 2974511 2978814 2983098 2983805 2985600 2998706 3005095 3006308 3010217 3023762 3027235 3028621 3036113 3051882 3054349 3063093 3067452 3069609 3076579 3078487 3080628 3082423 3091028 3096303 3099731 3105207 3107792 3110517 3117978 3119906 3121665 3128205 3136920 3141294 3142535 3143986 3145885 3147786 3152947 3160032 3162321 3171167 3176803 3178786 3179683 3181010 3185311 3190397 3192005 3200978 3201699 3209525 3213009 3216779 3220444 3221516 3230994 3232704 3234096 3239773 3249319 3254549 3255896 3272763 3274399 3281082 3285906 3288807 3289434 3293893 3298481 3302666 3304315 3309250 3310528 3311871 3323471 3326847 3337131 3339105 3341631 3345576 3348612 3351793 3353778 3363838 3364949 3366377 3370423 3374464 3386310 3388734 3394973 3396512 3397714 3406789 3415251 3426414 3430404 3438811 3443116 3449900 3452867 3453509 3463020 3465841 3475227 3480214 3484333 3488161 3495810 3498204 3499561 3501499 3515614 3517614 3527321 3528634 3533832 3537244 3539205 3544913 3555489 3556800 3558631 3564370 3565859 3573349 3577457 3578410 3580516 3582100 3583857 3589125 3591797 3598446 3600527 3605447 3610561 3612508 3622911 3628755 3631199 3634235 3635294 3642379 3645122 3647718 3649057 3651741 3655730 3664706 3667281 3668659 3671645 3673917 3678900 3681285 3686538 3705931 3709404 3712994 3719935 3721829 3727606 3729306 3732348 3733951 3739741 3742910 3746574 3750675 3752311 3761164 3766652 3767848 3775277 3777078 3781231 3782348 3784376 3789584 3791152 3793663 3794677 3796946 3803899 3808536 3813263 3818241 3826618 3833479 3834574 3837713 3839344 3845370 3853546 3859662 3868250 3869389 3870863 3872186 3879383 3881220 3882168 3883537 3884505 3886168 3890984 3896771 3899256 3900739 3902575 3907087 3909724 3910906 3916768 3917891 3918922 3920008 3927055 3929597 3931744 3933635 3940097 3953968 3962702 3968881 3973441 3979962 3981130 3984833 3986345 3991239 3993043 3994480 3997391 4006051 4010220 4019651 4021697 4024107 4033186 4034649 4037899 4040530 4043690 4048774 4051250 4070718 4072280 4075069 4078001 4079587 4083232 4090882 4094921 4095657 4097531 4108069 4110981 4117846 4122939 4124779 4128854 4134219 4135229 4136448 4141884 4146018 4146758 4149158 4150093 4160635 4170047 4177631 4180170 4180855 4182262 4184386 4185976 4187521 4188978 4190336 4192234 4195892 4197356 4201686 4203902 4212530 4213656 4218688 4219408 4221579 4224099 4230308 4234299 4239272 4247006 4252008 4254347 4256621 4259905 4261862 4262942 4266539 4271244 4273866 4278140 4281986 4285287 4290429 4295037 4301852 4303852 4307438 4312529 4315651 4319974 4322409 4324113 4329221 4330214 4332739 4346491 4347631 4357255 4360694 4362287 4368059 4376947 4379566 4381085 4388627 4389878 4391084 4395855 4406858 4409080 4412409 4418646 4420547 4423086 4426367 4428748 4431408 4434907 4438476 4447798 4449659 4452753 4453872 4456632 4472924 4474602 4476017 4479762 4485447 4490334 4493874 4500558 4503603 4504595 4513373 4515093 4522515 4524107 4528554 4533030 4536537 4541078 4549976 4551064 4554671 4558290 4564617 4566397 4568849 4570151 4572545 4574530 4587874 4595791 4598268 4602866 4606589 4611389 4613929 4622708 4641482 4642637 4649096 4649940 4652250 4653847 4658840 4661987 4663342 4665312 4668658 4672071 4675288 4677488 4685621 4687270 4695743 4699318 4705030 4706459 4715928 4718417 4729217 4730808 4734967 4737476 4741973 4744932 4746193 4758422 4760465 4761597 4764978 4766709 4769935 4773713 4775519 4777672 4780904 4787886 4791235 4795099 4799130 4805229 4806686 4808548 4821884 4824130 4830219 4837264 4841200 4843609 4846598 4847719 4849724 4851710 4853168 4854442 4858397 4870209 4875736 4879869 4884039 4888757 4903483 4905983 4914039 4921162 4934684 4937854 4941011 4942362 4945330 4947316 4954973 4956217 4958566 4963003 4964008 4965521 4968786 4971910 4975750 4976623 4979204 4994174 4999136 5002564 5005993 5007435 5009894 5012625 5015291 5017211 5026011 5027679 5029304 5030864 5032791 5037040 5040985 5047310 5049984 5059757 5062873 5069516 5079704 5094887 5098774 5100820 5102064 5105143 5108336 5109301 5110717 5113838 5122110 5124519 5125813 5141548 5143366 5156529 5171215 5177382 5178553 5182463 5193984 5199175 5202282 5207848 5216099 5222147 5227414 5234079 5238565 5242721 5245651 5249614 5255439 5263988 5269698 5272082 5273404 5282200 5291663 5303400 5306565 5308267 5314569 5317260 5319421 5323650 5341464 5344326 5347419 5349602 5352571 5356565 5358310 5359958 5364656 5367899 5375705 5386122 5387432 5389799 5392176 5393098 5395469 5397665 5402248 5406598 5412251 5413735 5417350 5421650 5423269 5429272 5431853 5434883 5438475 5441750 5449340 5452209 5455076 5461007 5462781 5464105 5467210 5483348 5487049 5491405 5492469 5496223 5505069 5506444 5518695 5524565 5526984 5532345 5535349 5543125 5545573 5547864 5551718 5553814 5559650 5568997 5582510 5586352 5588637 5592469 5599243 5609002 5612244 5614278 5618928 5622775 5630091 5637012 5648856 5653876 5655481 5656439 5659007 5660011 5662139 5671909 5677067 5678949 5685872 5694491 5702237 5709973 5712530 5715700 5716872 5720129 5721912 5724670 5729173 5730027 5733840 5734778 5746871 5753683 5770538 5776149 5778428 5784741 5788775 5790050 5792404 5797622 5799996 5800920 5803428 5807966 5811890 5818244 5818878 5826161 5828980 5831024 5832014 5833669 5835449 5840269 5842924 5845544 5850156 5855511 5867255 5873378 5880333 5884250 5886845 5888721 5891393 5903742 5905465 5909049 5910219 5911384 5913781 5917489 5919695 5920582 5924267 5928263 5932340 5945758 5948599 5951222 5954863 5956829 5961163 5964422 5965817 5967797 5973022 5976681 5980704 5990020 5998042 6008479 6011984 6013435 6019623 6025600 6029198 6030458 6036167 6039010 6041752 6043212 6046685 6060268 6063510 6067389 6070973 6079375 6081691 6083446 6085935 6087290 6095561 6098235 6100990 6103780 6107420 6110432 6111367 6112920 6115875 6119930 6123559 6129304 6133063 6137402 6143167 6146283 6148836 6154270 6156946 6159180 6164784 6166805 6168658 6175137 6177692 6178919 6181932 6187451 6191705 6196618 6197770 6200146 6201042 6202298 6204271 6205486 6210268 6215529 6224007 6228502 6229460 6238526 6244596 6246300 6247005 6249182 6253370 6265508 6268473 6271442 6274218 6276222 6281067 6282580 6284322 6291978 6295597 6296799 6304894 6306478 6307530 6312680 6316662 6317664 6332621 6338952 6340654 6350396 6352647 6357240 6360499 6362551 6367002 6367961 6372926 6379629 6384967 6386153 6388492 6394403 6395444 6398816 6404605 6407627 6411542 6413702 6415854 6420678 6428415 6429431 6435154 6436790 6438599 6440977 6450924 6452522 6455299 6458978 6464025 6466801 6481669 6484642 6491009 6493915 6495220 6497722 6500709 6502041 6513859 6515514 6517667 6523607 6527961 6534101 6535000 6538066 6546884 6549009 6550445 6568355 6570470 6571891 6573989 6584488 6588594 6592752 6603793 6609785 6612088 6614867 6616885 6619480 6622119 6624188 6630715 6637239 6640557 6644168 6657390 6658413 6669596 6671568 6674373 6682191 6696494 6698685 6701206 6702676 6704474 6705342 6720298 6726395 6731316 6738473 6743706 6745061 6745797 6752257 6756016 6757088 6759537 6762075 6763147 6765517 6770410 6771900 6773094 6793956 6796996 6800537 6804016 6805114 6806428 6810965 6813286 6816323 6826797 6830154 6831296 6836468 6839125 6840318 6843923 6846258 6854934 6859237 6871425 6874728 6880168 6890787 6900719 6904686 6911148 6915887 6932210 6933225 6936238 6938369 6940175 6944584 6952242 6955147 6957013 6959920 6971723 6987359 6989993 6995445 6997899 7000933 7003304 7004164 7011217 7015866 7029401 7033353 7035050 7039751 7042506 7045081 7047424 7053189 7055042 7056294 7059425 7065480 7067506 7078143 7081715 7088939 7092440 7094548 7097350 7098988 7105160 7110629 7114997 7118957 7122014 7130244 7133529 7135171 7136523 7140867 7142068 7153756 7167600 7168857 7179326 7184063 7184796 7188186 7190950 7192104 7194085 7197641 7199582 7201398 7203775 7206092 7209228 7218913 7224294 7225852 7227581 7231545 7239763 7242553 7245220 7250116 7254924 7257536 7259589 7260771 7263706 7267642 7270970 7275917 7280587 7287571 7290169 7293947 7295870 7297095 7310772 7314368 7315728 7320213 7322633 7326973 7328957 7337112 7341346 7346989 7349386 7354819 7356380 7359689 7360699 7362117 7363437 7367439 7369425 7370969 7380423 7388734 7389635 7392601 7395412 7396337 7409020 7411691 7413898 7417785 7422890 7424620 7429324 7432377 7437785 7440136 7452257 7458122 7459819 7461213 7463803 7466451 7469139 7476581 7477917 7482967 7484517 7486241 7488492 7489870 7493308 7494010 7495777 7497169 7499766 7501956 7509423 7510853 7525486 7530652 7532846 7534097 7535571 7537939 7548905 7552662 7557027 7558137 7567054 7569559 7571055 7574031 7581620 7588945 7595383 7597409 7599403 7604083 7606031 7611306 7615005 7616667 7619928 7633087 7637149 7640192 7643065 7645874 7647321 7653889 7656301 7659752 7662395 7666422 7667175 7668644 7670196 7678163 7679769 7683264 7685687 7688424 7694752 7698267 7704843 7706352 7708044 7711032 7712636 7713932 7715807 7721295 7728180 7730736 7731699 7733980 7736618 7739617 7751561 7755662 7758229 7759577 7761641 7766911 7770367 7774300 7775775 7779481 7781394 7783702 7792453 7797603 7808439 7809269 7813500 7819185 7820221 7825448 7831262 7832374 7836391 7838260 7842955 7844157 7851564 7860233 7866914 7871827 7882243 7888061 7889700 7893701 7896540 7898798 7901541 7902458 7904915 7910972 7914383 7916919 7921694 7930194 7932017 7937523 7939828 7940767 7942920 7944330 7949090 7951950 7954785 7957043 7958602 7961260 7964833 7966858 7967929 7973262 7974778 7979003 7987467 8006678 8013829 8018487 8023927 8026970 8035620 8038539 8039747 8043463 8048514 8060933 8061875 8064842 8068286 8084679 8089747 8093460 8101796 8103859 8117402 8121149 8124157 8126411 8130397 8135716 8142584 8149479 8152090 8155052 8158836 8160701 8166026 8169794 8171373 8177835 8190443 8195209 8196943 8198411 8200737 8202180 8207802 8208909 8212543 8219785 8221188 8222193 8223763 8224534 8230824 8231755 8240767 8241816 8242925 8248136 8251633 8253423 8263076 8264460 8265425 8273041 8275379 8279079 8294706 8309365 8312242 8321571 8328282 8330697 8335218 8341645 8343945 8347055 8352214 8354106 8355665 8359938 8362499 8369152 8373174 8378470 8383154 8390919 8395207 8398513 8399735 8401932 8404056 8407777 8412505 8415897 8418783 8419631 8421465 8430631 8433087 8434832 8442114 8446984 8448112 8459798 8461297 8463218 8464100 8464994 8466851 8468662 8471055 8472020 8474536 8480784 8482006 8483886 8486910 8491066 8492443 8495245 8504396 8506879 8509221 8514929 8522977 8525491 8527487 8530788 8534670 8537473 8545192 8548852 8549549 8551442 8553598 8558155 8559535 8562479 8566292 8572993 8583910 8591233 8592888 8597957 8602048 8605039 8609120 8611865 8622464 8623897 8625413 8635108 8639851 8643373 8654456 8655561 8660966 8663512 8666342 8669058 8673664 8677233 8680123 8683182 8684722 8689291 8691665 8692516 8697168 8705253 8706704 8718663 8721508 8723650 8728315 8734251 8747536 8748767 8755254 8762224 8764018 8765536 8767267 8768141 8771688 8773033 8774898 8776763 8781508 8784848 8787195 8789009 8795717 8797336 8800873 8804173 8807388 8810341 8814578 8821858 8826203 8832120 8835153 8838712 8850151 8852682 8854106 8859277 8866611 8874951 8875934 8877029 8879199 8880109 8881697 8885433 8887289 8889672 8891417 8892723 8896433 8897551 8903268 8905743 8908200 8909346 8912458 8916422 8920895 8922479 8923858 8928727 8934704 8938893 8947830 8949980 8952887 8955311 8969499 8984000 8993632 8995972 8999454 9007239 9008741 9010423 9014268 9019871 9021833 9026791 9042258 9046050 9055198 9065934 9068966 9069879 9073455 9074328 9075945 9080465 9083631 9086731 9093286 9100572 9102644 9103630 9113832 9115917 9116796 9126922 9130082 9131536 9140778 9143568 9147626 9150398 9158364 9159514 9163097 9164227 9165465 9171004 9178629 9182266 9191722 9195554 9196903 9201786 9203591 9206653 9210069 9213118 9219611 9232283 9234178 9235705 9237518 9239918 9250281 9252609 9258185 9263719 9272783 9282427 9288293 9289508 9295452 9296668 9299115 9300849 9301637 9307367 9316254 9321092 9323692 9328847 9332438 9333706 9336308 9338177 9341586 9342456 9346069 9349291 9357049 9364609 9370331 9372515 9375213 9376732 9387565 9391201 9395687 9399396 9403211 9405586 9406495 9412617 9417088 9419137 9424543 9432989 9434867 9437865 9439149 9442220 9445092 9447675 9456693 9463649 9469330 9471331 9478829 9482226 9484649 9488801 9491148 9496413 9515140 9516947 9532901 9536836 9538488 9540315 9541900 9546099 9551029 9552622 9555033 9558405 9561733 9563296 9567432 9569927 9574205 9575295 9576491 9577209 9577948 9579771 9583237 9589220 9591214 9596578 9600366 9603396 9611592 9624815 9631628 9633097 9639542 9641945 9647746 9650249 9652291 9660805 9668116 9669486 9671527 9673805 9679409 9684215 9685676 9699582 9705924 9707211 9714732 9719151 9722108 9724081 9724786 9725784 9727569 9729004 9734807 9738686 9740914 9741545 9744831 9747024 9750386 9752382 9755530 9757174 9758496 9763822 9770316 9778956 9786477 9790866 9793554 9798629 9803876 9809432 9812682 9814814 9822520 9823828 9831228 9832403 9833500 9837468 9841921 9844116 9850264 9853859 9855161 9859140 9863219 9866740 9867390 9871255 9874507 9875656 9880335 9882553 9888341 9896427 9905768 9913878 9919249 9926063 9929843 9941108 9944879 9954506 9955989 9958283 9959797 9964258 9968347 9970715 9974581 9981227 9983157 9985868 9990478 9993649 9997158 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml index b158fb4ef..25ee7dae9 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml @@ -38,3 +38,12 @@ 4738 6539 17781 19129 24690 38093 43811 47057 50008 52187 54158 56242 59316 60214 63322 67508 68816 72647 74622 81637 82760 83937 85302 89042 97235 102453 113679 114838 119657 123340 124603 128969 139605 143163 145412 149175 150880 152708 158508 164422 166000 167662 176313 178829 183956 190775 192189 197389 200899 203158 204781 207399 209556 212176 213993 214935 216917 218505 223417 224281 225898 228375 229336 230854 232986 237396 241687 244604 246902 249568 256257 261577 264741 276178 282978 289666 291096 296571 300132 305137 309798 313770 319910 321447 322853 327050 328319 331212 335128 336744 338938 342254 347613 348531 350267 355967 357031 357951 361539 371641 372662 375085 379931 383762 385931 396119 399477 402261 404914 406848 420638 423867 425924 429134 432564 437513 438914 440308 442173 445204 455099 456395 463218 464672 470460 473705 474999 476393 482304 487633 492952 494163 495618 504531 508183 509679 511201 511847 521169 522737 527836 531171 539954 541820 544059 555434 557350 562497 564120 567451 570188 571154 575172 576624 582807 585374 586941 590597 592467 594584 596330 601697 604257 610838 612027 613125 615373 619037 622722 627129 628287 648680 652374 657942 660650 662529 667305 670142 672551 676598 678153 690375 692743 696017 703192 707563 715816 717159 718553 719628 721648 722334 725371 728862 744401 752076 756512 760323 771344 774916 777956 781132 783083 784403 790327 793282 797690 799091 806431 818682 824372 838668 847223 849053 853358 855582 857054 858033 863330 872209 874084 875732 880103 883291 884107 885503 887090 889955 892847 895290 898977 900253 902433 903712 904773 908094 911113 912461 913307 915389 919962 921441 923106 925591 936085 939382 956837 965741 969780 973368 983595 985760 990492 995023 998594 1005880 1012280 1014356 1016917 1031458 1045411 1048744 1050867 1054832 1058047 1059035 1061365 1071075 1073363 1078339 1083555 1091200 1097888 1103747 1104992 1106007 1108883 1114981 1116538 1122016 1124691 1133642 1137971 1144759 1145844 1161708 1163040 1166051 1171964 1174750 1183595 1188147 1190507 1192267 1193400 1194333 1197573 1220897 1225104 1233446 1234344 1236138 1237901 1238934 1240989 1242441 1247028 1248389 1251805 1255794 1258308 1262698 1265448 1267048 1275293 1283139 1285536 1287410 1288826 1299191 1304999 1308536 1315443 1326828 1333023 1339362 1342172 1346039 1366206 1372895 1377181 1382066 1382838 1385954 1388555 1392588 1396172 1397617 1400077 1405730 1408075 1409781 1411900 1414167 1420192 1422782 1426403 1432418 1437576 1442400 1444318 1445116 1445941 1446812 1458257 1460736 1462222 1468348 1476511 1477597 1493039 1495544 1499466 1504945 1506957 1513026 1527654 1531971 1536760 1537591 1539232 1541097 1545935 1550774 1552663 1553614 1558616 1562341 1564800 1570640 1571353 1574522 1576070 1577799 1580011 1583037 1589139 1590352 1594669 1595918 1608678 1609780 1611510 1614814 1615430 1617377 1620162 1623407 1626279 1631604 1632805 1637325 1640906 1647129 1654921 1658950 1661828 1663347 1665996 1670390 1677441 1687176 1690261 1692498 1698147 1701222 1704778 1707245 1711328 1714977 1718148 1722426 1724143 1729078 1733183 1735727 1738106 1740782 1742850 1743652 1744468 1750278 1759398 1760992 1761954 1763155 1764998 1767582 1771057 1775420 1791210 1792170 1793899 1800189 1802528 1809581 1810766 1812231 1815864 1823634 1838166 1839299 1843773 1846222 1849013 1850139 1852925 1859118 1860198 1866030 1878513 1886350 1887960 1890922 1892618 1896804 1900809 1901776 1906610 1917643 1922384 1926688 1929413 1933251 1943561 1944310 1954360 1958510 1962863 1967855 1970871 1972583 1974687 1984237 1986960 1990051 1992963 1994224 + + 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 + + + 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 + + + 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 + From 97075c3eec02a1ca55e10baadc4e3a326fef4434 Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 22 Oct 2025 18:05:58 -0700 Subject: [PATCH 110/153] Added Star Wong to Contributors.md --- Contributors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Contributors.md b/Contributors.md index d2d338c78..9f665b9e9 100644 --- a/Contributors.md +++ b/Contributors.md @@ -87,6 +87,8 @@ Padmanabh Patil Lawrence Scott +Star Wong + # Graduate From bc0bc309590cbefa3b4a29212f6a862ea2f93652 Mon Sep 17 00:00:00 2001 From: stardriftfx Date: Wed, 22 Oct 2025 18:32:43 -0700 Subject: [PATCH 111/153] - adjusted set(ENABLE CUDA YES) to be on their own line so that it can be uncommented - CMakeLists.txt added to .gitignore --- .gitignore | 1 + CMakeLists.txt | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 97947ebcc..d42bdcb1b 100644 --- a/.gitignore +++ b/.gitignore @@ -101,3 +101,4 @@ Testing/UnitTesting/TestOutput/*.h5 # Machine Specific build script build.sh +CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index f30e63b58..e93cc3735 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,8 +3,11 @@ cmake_minimum_required(VERSION 3.12) ############################################################################################ #CONDITIONAL FLAG(to run simulation on CPU or GPU) # -#For GPU : For CPU: -#set(ENABLE_CUDA YES) set(ENABLE_CUDA NO) +#For GPU: +set(ENABLE_CUDA YES) +# +#For CPU: +#set(ENABLE_CUDA NO) # #You can also pass this flag when running cmake from the command line like this: # From ca6f1a324c1085eb0b98fb42e9142a734291856b Mon Sep 17 00:00:00 2001 From: stardriftfx Date: Wed, 22 Oct 2025 19:44:03 -0700 Subject: [PATCH 112/153] = added CUDAToolkit_root --- .github/workflows/tests.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f0519df98..802ee3550 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,13 +14,15 @@ jobs: build: runs-on: ubuntu-latest + env: + CUDAToolkit_ROOT: /usr/local/cuda steps: - uses: actions/checkout@v3 # install Boost Graph Library - name: bgl run: sudo apt-get update && sudo apt-get install -yq libboost-graph-dev - # configure and build the Simualtor + # configure and build Simulator - name: configure run: cmake .. - id: build From 89a018ea9c6bc412d981e8483644dc07b04e09f6 Mon Sep 17 00:00:00 2001 From: stardriftfx Date: Thu, 23 Oct 2025 10:36:15 -0700 Subject: [PATCH 113/153] - .gitignore: removed CMakeList - tests.yml: removed CUDA toolkit installation - disabled GPU version --- .github/workflows/tests.yml | 2 -- .gitignore | 3 +-- CMakeLists.txt | 2 +- 3 files changed, 2 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 802ee3550..02b43faf2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -14,8 +14,6 @@ jobs: build: runs-on: ubuntu-latest - env: - CUDAToolkit_ROOT: /usr/local/cuda steps: - uses: actions/checkout@v3 diff --git a/.gitignore b/.gitignore index d42bdcb1b..5b2a2e58a 100644 --- a/.gitignore +++ b/.gitignore @@ -100,5 +100,4 @@ Testing/UnitTesting/TestOutput/*.xml Testing/UnitTesting/TestOutput/*.h5 # Machine Specific build script -build.sh -CMakeLists.txt +build.sh \ No newline at end of file diff --git a/CMakeLists.txt b/CMakeLists.txt index e93cc3735..fb0f43972 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -4,7 +4,7 @@ cmake_minimum_required(VERSION 3.12) #CONDITIONAL FLAG(to run simulation on CPU or GPU) # #For GPU: -set(ENABLE_CUDA YES) +#set(ENABLE_CUDA YES) # #For CPU: #set(ENABLE_CUDA NO) From d492938bc307ad9939a931dccda4a1f2f9345f87 Mon Sep 17 00:00:00 2001 From: Hum-Bao Date: Thu, 6 Nov 2025 13:05:33 -0800 Subject: [PATCH 114/153] Added Kyle Ricks to Contributors.md --- Contributors.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Contributors.md b/Contributors.md index 9f665b9e9..7b504f6db 100644 --- a/Contributors.md +++ b/Contributors.md @@ -83,6 +83,8 @@ Rimjhim Sudhesh ## 2025 Andrew Madison +Kyle Ricks + Padmanabh Patil Lawrence Scott From 85560c45572d31bbbbc213fdabb522087a0c970c Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 7 Jan 2026 23:45:23 -0800 Subject: [PATCH 115/153] Add files via upload --- docs/_includes/head-custom.html | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 docs/_includes/head-custom.html diff --git a/docs/_includes/head-custom.html b/docs/_includes/head-custom.html new file mode 100644 index 000000000..0b48609a4 --- /dev/null +++ b/docs/_includes/head-custom.html @@ -0,0 +1,21 @@ +{% if site.mermaid %} + \ No newline at end of file From 419a869a5800f73c8e7e7288de6e4438b12d2d0b Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 7 Jan 2026 23:48:35 -0800 Subject: [PATCH 116/153] Update GitFlow documentation link in index --- docs/index.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/index.md b/docs/index.md index 3a4b860bf..8c067e16d 100644 --- a/docs/index.md +++ b/docs/index.md @@ -14,7 +14,7 @@ 2. [Developer Documentation](Developer/index.md) - 2.1 [GitFlow Documentation](Developer/GitFlowDiagram.md) + 2.1 [GitFlow Documentation](Developer/GitFlow.md) 2.2 [Code Formatting Etiquettes](Developer/codingConventions.md) @@ -52,4 +52,4 @@ Those who have helped make Graphitti what it is and shaping what it will be. [//]: # (Moving URL links to the bottom of the document for ease of updating - LS) [//]: # (Links to repo items which exist outside of the docs folder need a direct link.) -[Code of Conduct]: \ No newline at end of file +[Code of Conduct]: From fff7a0a86779aac4873f6f693fbd904ff79b5ea6 Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 7 Jan 2026 23:49:52 -0800 Subject: [PATCH 117/153] Enable Mermaid support in configuration --- docs/_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/_config.yml b/docs/_config.yml index 409c2cd7e..6d25a6615 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -3,5 +3,5 @@ theme: jekyll-theme-slate title: Graphitti description: A project to facilitate construction of high-performance neural simulations - -show_downloads: false \ No newline at end of file +mermaid: true +show_downloads: false From cd4a7da6583ababcc7255dd37d2a31743d43181c Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 7 Jan 2026 23:54:19 -0800 Subject: [PATCH 118/153] Update tests.yml to ignore documentation changes Added paths-ignore rules to prevent tests from running on documentation changes. --- .github/workflows/tests.yml | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f0519df98..9c5dea6c1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,11 +1,20 @@ name: Unit and Regression Tests - +# Any changes made to documentation won't trigger tests. on: push: branches: [ master,development ] + paths-ignore: + - 'github/**' # Ignore .github folder + - '**/Doxyfile' # Ignore changes to Doxygen config + - 'docs/**' # Ignore documentation folder + - '*.md' # Ignore Markdown files pull_request: types: [opened, synchronize, reopened] - + paths-ignore: + - 'github/**' # Ignore .github folder + - '**/Doxyfile' # Ignore changes to Doxygen config + - 'docs/**' # Ignore documentation folder + - '*.md' # Ignore Markdown files defaults: run: working-directory: build From eab4e726f6be1ef6d4a5507fdcc09e444365b043 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 08:29:30 +0000 Subject: [PATCH 119/153] Initial plan From 9bd0aba08c1aa29e239101f6499a7d9c35926ce0 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 08:30:00 +0000 Subject: [PATCH 120/153] Initial plan From 3e85aeb2d93059f7c0d329a2c9ce6742783affab Mon Sep 17 00:00:00 2001 From: Star Wong Date: Thu, 8 Jan 2026 00:30:34 -0800 Subject: [PATCH 121/153] Update docs/_includes/head-custom.html Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> --- docs/_includes/head-custom.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/_includes/head-custom.html b/docs/_includes/head-custom.html index 0b48609a4..177b0d2da 100644 --- a/docs/_includes/head-custom.html +++ b/docs/_includes/head-custom.html @@ -1,7 +1,7 @@ {% if site.mermaid %} \ No newline at end of file + +{% endif %} \ No newline at end of file From fd5ba127bbe7839fa943469a57f4969cee9e1add Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Thu, 8 Jan 2026 08:31:59 +0000 Subject: [PATCH 123/153] Fix path pattern to correctly ignore .github folder Co-authored-by: stardriftfx <56492920+stardriftfx@users.noreply.github.com> --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 9c5dea6c1..c1d507f8e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -4,14 +4,14 @@ on: push: branches: [ master,development ] paths-ignore: - - 'github/**' # Ignore .github folder + - '.github/**' # Ignore .github folder - '**/Doxyfile' # Ignore changes to Doxygen config - 'docs/**' # Ignore documentation folder - '*.md' # Ignore Markdown files pull_request: types: [opened, synchronize, reopened] paths-ignore: - - 'github/**' # Ignore .github folder + - '.github/**' # Ignore .github folder - '**/Doxyfile' # Ignore changes to Doxygen config - 'docs/**' # Ignore documentation folder - '*.md' # Ignore Markdown files From 9d6b1f0c850457ed39aabc598bb62f6904635586 Mon Sep 17 00:00:00 2001 From: Star Wong Date: Thu, 8 Jan 2026 00:43:10 -0800 Subject: [PATCH 124/153] Adjusted spacing in _includes/head-custom.html Makes code look nicer. --- docs/_includes/head-custom.html | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/docs/_includes/head-custom.html b/docs/_includes/head-custom.html index f4bd50119..456530810 100644 --- a/docs/_includes/head-custom.html +++ b/docs/_includes/head-custom.html @@ -10,13 +10,13 @@ // mermaid.initialize({ startOnLoad: true }); // Latest version as of 1/7/26 - import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; - - mermaid.initialize({ startOnLoad: false }); - - // Once page is loaded, render Mermaid diagrams - document.addEventListener('DOMContentLoaded', () => { + import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid@11/dist/mermaid.esm.min.mjs'; + + mermaid.initialize({ startOnLoad: false }); + + // Once page is loaded, render Mermaid diagrams + document.addEventListener('DOMContentLoaded', () => { mermaid.run({ querySelector: '.language-mermaid' }); - }); + }); -{% endif %} \ No newline at end of file +{% endif %} From 734cd9167fa81792214e8143d27558b122c3ef7e Mon Sep 17 00:00:00 2001 From: Star Wong Date: Wed, 14 Jan 2026 19:26:53 -0800 Subject: [PATCH 125/153] Wrote comments on how mermaid diagrams are generated. --- docs/Developer/GHActions.md | 3 +++ docs/Developer/GHPages.md | 2 ++ 2 files changed, 5 insertions(+) diff --git a/docs/Developer/GHActions.md b/docs/Developer/GHActions.md index c60593fed..23120dd01 100644 --- a/docs/Developer/GHActions.md +++ b/docs/Developer/GHActions.md @@ -10,6 +10,9 @@ This action is Triggered on a monthly schedule. At the first of every month the The manual GitHub Pages action is a feature that came from wanting to quickly publish changes to documentation files in our docs folder. This action is activated by navigating to the actions tab, selecting the "Publish GitHub Pages Manually" workflow, then toggling the run workflow button on the desired branch. The branch to run this action on will typically be the master branch as that is the one with the most up to date documentation. Once toggled, it will take the docs files from the selected branch and publish them to the gh-pages branch as a forced orphan just like in the gh-pages.yml workflow. This action will also regenerate the Doxygen files in the same way the gh-pages.yml script does. This is done because other branches doesn't hold the Doxygen/html files and would lose this information if not regenerated during this script. +### Mermaid Diagrams _config.yml +Since mermaid is set to `true` in _config.yml, anytime GitHub Pages action is triggered, _includes/head-custom.html uses Javascript to seek for any files that contains `mermaid` (once webpage finishes loading), then loads mermaid library. + ## PlantUML Action plantUML.yml The plantUML action occurs anytime a plantUML file is modified or added during a pull request or a push to the master branch. These .puml files are supposed to be located in the UML folder within the Developer folder. This action starts by checking out the repository using [actions/checkout](https://github.com/actions/checkout) with a fetch depth of 0. The next step is to grab all of the .puml files that need to be turned into images. This is done by using a basic bash command to grab all .puml files which is then piped into an awk script to parse out the unnecessary files and construct an output string with all the necessary files. The output string will look like so: "file1.puml file2.puml file3.puml file4.puml\n". This output string is then confirmed by an echo command which prints out the string to the actions terminal. Next, the .png and .svg files are generated from the .puml files in the output string using a fork of [holowinski/plantuml-github-action]. These files are placed within the diagrams folder located within the UML folder. Lastly, the local changes are committed then pushed to the remote repository using [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action). diff --git a/docs/Developer/GHPages.md b/docs/Developer/GHPages.md index 14807d8f0..c6e2473d0 100644 --- a/docs/Developer/GHPages.md +++ b/docs/Developer/GHPages.md @@ -27,6 +27,8 @@ You can find more on the automation of the publication by navigating to the [Git All documents used for our pages reside in the docs folder within the Graphitti repo. +`_includes` folder contains `head-custom.html`, which is resposnible for generating Mermaid diagrams. (More info here: [GHActions.md](GHActions.md#mermaid-diagrams-_configyml)) + The Developer folder is used for documentation that deals with documenting systems for developers of Graphitti. The Doxygen folder is used for documentation that refers to the Doxygen system. From 33570a20a8fb8409d070735ef6a86a3048b703e2 Mon Sep 17 00:00:00 2001 From: kblricks Date: Tue, 20 Jan 2026 18:18:51 -0800 Subject: [PATCH 126/153] Update compare_matrices.cpp to properly compare two outputs instead of using diff --- .../RegressionTesting/compare_matrices.cpp | 288 +++++++++++++----- 1 file changed, 208 insertions(+), 80 deletions(-) diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp index 989aa16f9..3f2f874ec 100644 --- a/Testing/RegressionTesting/compare_matrices.cpp +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -1,53 +1,186 @@ -#include +#include +#include #include #include -#include -#include -#include #include +#include #include -// Helper to trim whitespace -std::string trim(const std::string &s) -{ - size_t start = s.find_first_not_of(" \t\r\n"); - size_t end = s.find_last_not_of(" \t\r\n"); - return (start == std::string::npos) ? "" : s.substr(start, end - start + 1); -} -// Parse matrices from XML file -std::map> parse_matrices(const std::string &filename) -{ - std::ifstream file(filename); - std::map> matrices; - std::string line, current_name; - bool in_matrix = false; - std::vector values; - - while (std::getline(file, line)) { - line = trim(line); - if (line.find(" values; + + static void parse_all_fields(const std::string &line, MatrixData ¤t) + { + std::string_view line_view = line; + size_t pos = 0; + while (pos < line_view.size()) { + size_t eq_pos = line_view.find("=\"", pos); + if (eq_pos == std::string_view::npos) { + break; + } + + // Find field name (scan backwards for space or <) + size_t field_start = line_view.find_last_of(" <", eq_pos); + if (field_start == std::string_view::npos) { + break; + } + field_start++; + + std::string_view field = line_view.substr(field_start, eq_pos - field_start); + size_t value_start = eq_pos + 2; + size_t value_end = line_view.find('\"', value_start); + if (value_end == std::string_view::npos) { + break; + } + + std::string_view value = line_view.substr(value_start, value_end - value_start); + + if (field == "name") { + current.name = value; + } else if (field == "type") { + current.type = value; + } else if (field == "rows") { + std::from_chars(value.data(), value.data() + value.size(), current.rows); + } else if (field == "columns") { + std::from_chars(value.data(), value.data() + value.size(), current.columns); + } else if (field == "multiplier") { + std::from_chars(value.data(), value.data() + value.size(), current.multiplier); + } + + pos = value_end + 1; + } + } + }; + + + // Helper to trim whitespace + void trim_inplace(std::string &input) + { + size_t start = input.find_first_not_of(" \t\r\n"); + if (start == std::string::npos) { + input.clear(); + return; + } + size_t end = input.find_last_not_of(" \t\r\n"); + if (start > 0) + input.erase(0, start); + input.erase(end - start + 1); + } + + // Parse matrices from XML file + std::unordered_map parse_matrices(const std::string &filename) + { + //Check if file exists/can be opened before continuing + std::ifstream file(filename); + if (!file.is_open()) { + std::cerr << "Failed to open file: " << filename << "\n"; + return {}; + } + + std::unordered_map matrices; + std::string line; + MatrixData current; + bool in_matrix = false; + + while (std::getline(file, line)) { + trim_inplace(line); + if (line.find(" 0) { + current.values.reserve(expected_size); + } + in_matrix = true; - values.clear(); + } else if (in_matrix && line.find("") == 0) { + matrices[current.name] = std::move(current); + in_matrix = false; + } else if (in_matrix) { + const char *ptr = line.data(); + const char *end = ptr + line.size(); + while (ptr < end) { + while (ptr < end && (*ptr == ' ' || *ptr == '\t')) + ++ptr; + if (ptr >= end) + break; + double val = 0.0; + auto [next, ec] = std::from_chars(ptr, end, val); + if (ec == std::errc()) { + current.values.push_back(val); + ptr = next; + } else { + ++ptr; + } + } } - } else if (in_matrix && line.find("") == 0) { - matrices[current_name] = values; - in_matrix = false; - } else if (in_matrix) { - std::istringstream iss(line); - std::string val; - while (iss >> val) { - values.push_back(val); + } + return matrices; + } + + void compare_matrix_data(const MatrixData &good, const MatrixData &test, + std::vector &mismatches) + { + bool has_mismatch = false; + + // Check metadata + if (good.type != test.type) { + std::cout << "Matrix '" << good.name << "': type mismatch (good: " << good.type + << ", test: " << test.type << ")\n"; + has_mismatch = true; + } + if (good.rows != test.rows) { + std::cout << "Matrix '" << good.name << "': rows mismatch (good: " << good.rows + << ", test: " << test.rows << ")\n"; + has_mismatch = true; + } + if (good.columns != test.columns) { + std::cout << "Matrix '" << good.name << "': columns mismatch (good: " << good.columns + << ", test: " << test.columns << ")\n"; + has_mismatch = true; + } + if (std::abs(good.multiplier - test.multiplier) > EPSILON) { + std::cout << "Matrix '" << good.name << "': multiplier mismatch (good: " << good.multiplier + << ", test: " << test.multiplier << ")\n"; + has_mismatch = true; + } + + // Check data size + if (good.values.size() != test.values.size()) { + std::cout << "Matrix '" << good.name + << "': value count mismatch (good: " << good.values.size() + << ", test: " << test.values.size() << ")\n"; + has_mismatch = true; + } else { + // Check individual values + for (size_t i = 0; i < good.values.size(); ++i) { + if ((std::abs(good.values[i] - test.values[i])) > EPSILON) { + std::cout << "Matrix '" << good.name << "': value mismatch at index " << i + << " (good: " << good.values[i] << ", test: " << test.values[i] << ")\n"; + has_mismatch = true; + break; // Only report first mismatch per matrix + } } } + + if (has_mismatch) { + mismatches.push_back(good.name); + } } - return matrices; -} +} // namespace int main(int argc, char *argv[]) { @@ -59,61 +192,56 @@ int main(int argc, char *argv[]) auto good = parse_matrices(argv[1]); auto test = parse_matrices(argv[2]); - std::set all_vars; - for (const auto &kv : good) - all_vars.insert(kv.first); - for (const auto &kv : test) - all_vars.insert(kv.first); + // Check if parsing succeeded + if (good.empty() && test.empty()) { + std::cerr << "Error: Both files are empty or failed to parse.\n"; + return 1; + } - int compared = 0; + size_t compared = 0; + size_t missing_in_test = 0; + size_t extra_in_test = 0; std::vector mismatched_vars; - for (const auto &var : all_vars) { - int in_good = good.count(var); - int in_test = test.count(var); - - if (in_good == 0) { - std::cout << "Variable '" << var - << "' present in test output but missing from good output.\n"; - continue; - } - if (in_test == 0) { - std::cout << "Variable '" << var + // Iterate over good matrices, check against test + for (const auto &[name, good_data] : good) { + auto in_test = test.find(name); + if (in_test == test.end()) { + std::cout << "Matrix '" << name << "' present in good output but missing from test output.\n"; + missing_in_test++; continue; } - compared++; - const auto &good_vals = good[var]; - const auto &test_vals = test[var]; - if (good_vals.size() != test_vals.size()) { - std::cout << "Variable '" << var - << "' has different number of values (good: " << good_vals.size() - << ", test: " << test_vals.size() << ").\n"; - mismatched_vars.push_back(var); - continue; - } - bool mismatch = false; - for (size_t i = 0; i < good_vals.size(); ++i) { - if (good_vals[i] != test_vals[i]) { - mismatch = true; - break; - } - } - if (mismatch) { - std::cout << "Variable '" << var << "' has mismatched values.\n"; - mismatched_vars.push_back(var); + compare_matrix_data(good_data, in_test->second, mismatched_vars); + } + + // Check for matrices in test that aren't in good + for (const auto &[name, _] : test) { + if (good.find(name) == good.end()) { + std::cout << "Matrix '" << name + << "' present in test output but missing from good output.\n"; + extra_in_test++; } } - std::cout << compared << " variables compared.\n"; + std::cout << compared << " matrices compared.\n"; + if (missing_in_test > 0) { + std::cout << missing_in_test << " matrices missing in test output.\n"; + } + if (extra_in_test > 0) { + std::cout << extra_in_test << " extra matrices in test output.\n"; + } if (!mismatched_vars.empty()) { - std::cout << "Mismatched values found for variables:\n"; + std::cout << "Mismatches found in " << mismatched_vars.size() << " matrices:\n"; for (const auto &var : mismatched_vars) { std::cout << " " << var << "\n"; } } else { - std::cout << "All compared variables matched.\n"; + std::cout << "All compared matrices matched.\n"; } - return 0; + + // Return non-zero exit code if there were any issues + bool has_issues = !mismatched_vars.empty() || missing_in_test > 0 || extra_in_test > 0; + return has_issues ? 1 : 0; } \ No newline at end of file From a955cb8a7ae682a5e14c39f536416403c839f421 Mon Sep 17 00:00:00 2001 From: kblricks Date: Tue, 20 Jan 2026 19:34:21 -0800 Subject: [PATCH 127/153] Change test.yml to use new compare_matrices.cpp instead of diff --- .github/workflows/tests.yml | 178 ++++++++++++++++++------------------ 1 file changed, 91 insertions(+), 87 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 02b43faf2..228c8401a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,110 +2,114 @@ name: Unit and Regression Tests on: push: - branches: [ master,development ] + branches: [master, development] pull_request: types: [opened, synchronize, reopened] -defaults: +defaults: run: working-directory: build jobs: build: - runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - # install Boost Graph Library - - name: bgl - run: sudo apt-get update && sudo apt-get install -yq libboost-graph-dev - # configure and build Simulator - - name: configure - run: cmake .. - - id: build - name: build - run: make -j - - name: run unit tests - run: ./tests + - uses: actions/checkout@v3 + # install Boost Graph Library + - name: bgl + run: sudo apt-get update && sudo apt-get install -yq libboost-graph-dev + # configure and build Simulator + - name: configure + run: cmake .. + - id: build + name: build + run: make -j + - name: run unit tests + run: ./tests + - name: build compare_matrices + run: | + cd ../Testing/RegressionTesting + g++ -std=c++17 -O3 -Wall -Wextra compare_matrices.cpp -o compare_matrices + cd ../../build + + # simulator runs + - id: tt + name: run test-tiny + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-tiny.xml + - name: verify test-tiny + if: always() && steps.tt.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml - # simulator runs - - id: tt - name: run test-tiny - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-tiny.xml - - name: verify test-tiny - if: always() && steps.tt.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml + - id: ts + name: run test-small + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small.xml + - name: verify test-small + if: always() && steps.ts.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml - - id: ts - name: run test-small - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small.xml - - name: verify test-small - if: always() && steps.ts.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml + - id: tsc + name: run test-small-connected + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected.xml + - name: verify test-small-connected + if: always() && steps.tsc.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml - - id: tsc - name: run test-small-connected - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected.xml - - name: verify test-small-connected - if: always() && steps.tsc.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml + - id: tsl + name: run test-small-long + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-long.xml + - name: verify test-small-long + if: always() && steps.tsl.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml - - id: tsl - name: run test-small-long - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-long.xml - - name: verify test-small-long - if: always() && steps.tsl.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml - - - id: tscl - name: run test-small-connected-long - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected-long.xml - - name: verify test-small-connected-long - if: always() && steps.tscl.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml + - id: tscl + name: run test-small-connected-long + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected-long.xml + - name: verify test-small-connected-long + if: always() && steps.tscl.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml - - id: ts911 - name: run test-small-911 - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml - - name: verify test-small-911 - if: always() && steps.tt.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml + - id: ts911 + name: run test-small-911 + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml + - name: verify test-small-911 + if: always() && steps.tt.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml - - id: tm - name: run test-medium - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium.xml - - name: verify test-medium - if: always() && steps.tm.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-medium-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml + - id: tm + name: run test-medium + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium.xml + - name: verify test-medium + if: always() && steps.tm.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml - - id: tmc - name: run test-medium-connected - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected.xml - - name: verify test-medium-connected - if: always() && steps.tmc.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml + - id: tmc + name: run test-medium-connected + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected.xml + - name: verify test-medium-connected + if: always() && steps.tmc.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml - - id: tml - name: run test-medium-long - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-long.xml - - name: verify test-medium-long - if: always() && steps.tml.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml + - id: tml + name: run test-medium-long + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-long.xml + - name: verify test-medium-long + if: always() && steps.tml.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml - - id: tmcl - name: run test-medium-connected-long - if: always() && steps.build.conclusion == 'success' - run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected-long.xml - - name: verify test-medium-connected-long - if: always() && steps.tmcl.conclusion == 'success' - run: diff ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml + - id: tmcl + name: run test-medium-connected-long + if: always() && steps.build.conclusion == 'success' + run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected-long.xml + - name: verify test-medium-connected-long + if: always() && steps.tmcl.conclusion == 'success' + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml From 7ed2c336a9112055d2e164324a0217024034f315 Mon Sep 17 00:00:00 2001 From: kblricks Date: Tue, 20 Jan 2026 19:36:26 -0800 Subject: [PATCH 128/153] Change tests.yml to run workflow on issue branch for testing --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 228c8401a..5fb7a298a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ name: Unit and Regression Tests on: push: - branches: [master, development] + branches: [master, development, issue-848-replace-simple-regression-tests] pull_request: types: [opened, synchronize, reopened] From 0735fd6725f216bf515f28ebf5eddfd301a5196e Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 21 Jan 2026 00:20:39 -0800 Subject: [PATCH 129/153] Merge test.yml from SharedDevelopment and fix file input order for matrix comparison --- .github/workflows/tests.yml | 33 +++++++++++++++++++++------------ 1 file changed, 21 insertions(+), 12 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 5fb7a298a..3612361ad 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -1,11 +1,20 @@ name: Unit and Regression Tests - +# Any changes made to documentation won't trigger tests. on: push: branches: [master, development, issue-848-replace-simple-regression-tests] + paths-ignore: + - ".github/**" # Ignore .github folder + - "**/Doxyfile" # Ignore changes to Doxygen config + - "docs/**" # Ignore documentation folder + - "*.md" # Ignore Markdown files pull_request: types: [opened, synchronize, reopened] - + paths-ignore: + - ".github/**" # Ignore .github folder + - "**/Doxyfile" # Ignore changes to Doxygen config + - "docs/**" # Ignore documentation folder + - "*.md" # Ignore Markdown files defaults: run: working-directory: build @@ -40,7 +49,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-tiny.xml - name: verify test-tiny if: always() && steps.tt.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml - id: ts name: run test-small @@ -48,7 +57,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small.xml - name: verify test-small if: always() && steps.ts.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml ../Testing/RegressionTesting/TestOutput/test-small-out.xml - id: tsc name: run test-small-connected @@ -56,7 +65,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected.xml - name: verify test-small-connected if: always() && steps.tsc.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml - id: tsl name: run test-small-long @@ -64,7 +73,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-long.xml - name: verify test-small-long if: always() && steps.tsl.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml - id: tscl name: run test-small-connected-long @@ -72,7 +81,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected-long.xml - name: verify test-small-connected-long if: always() && steps.tscl.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml - id: ts911 name: run test-small-911 @@ -80,7 +89,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml - name: verify test-small-911 if: always() && steps.tt.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml - id: tm name: run test-medium @@ -88,7 +97,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium.xml - name: verify test-medium if: always() && steps.tm.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml ../Testing/RegressionTesting/TestOutput/test-medium-out.xml - id: tmc name: run test-medium-connected @@ -96,7 +105,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected.xml - name: verify test-medium-connected if: always() && steps.tmc.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml - id: tml name: run test-medium-long @@ -104,7 +113,7 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-long.xml - name: verify test-medium-long if: always() && steps.tml.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml - id: tmcl name: run test-medium-connected-long @@ -112,4 +121,4 @@ jobs: run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected-long.xml - name: verify test-medium-connected-long if: always() && steps.tmcl.conclusion == 'success' - run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml + run: ../Testing/RegressionTesting/compare_matrices ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml From 1433fb0cc1d17a7d6f6efba7e3d5239e4494c3c8 Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 21 Jan 2026 00:54:17 -0800 Subject: [PATCH 130/153] Remove dev branch from tests.yml since tests passed with compare_matrices for regression testing --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3612361ad..ae2006743 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -2,7 +2,7 @@ name: Unit and Regression Tests # Any changes made to documentation won't trigger tests. on: push: - branches: [master, development, issue-848-replace-simple-regression-tests] + branches: [master, development] paths-ignore: - ".github/**" # Ignore .github folder - "**/Doxyfile" # Ignore changes to Doxygen config From 02a8be2399b36106be7f2cfd3414e66fe96a19ca Mon Sep 17 00:00:00 2001 From: stardriftfx Date: Wed, 21 Jan 2026 13:23:07 -0800 Subject: [PATCH 131/153] Removed if statements. The if statements mean that GH actions would continue ONLY if tests are successfully built. Now, GH actions would stop if a test fails to build or run. --- .github/workflows/tests.yml | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 49c435b28..5720210db 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -41,80 +41,60 @@ jobs: # simulator runs - id: tt name: run test-tiny - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-tiny.xml - name: verify test-tiny - if: always() && steps.tt.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-tiny-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-tiny-out.xml - id: ts name: run test-small - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small.xml - name: verify test-small - if: always() && steps.ts.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-small-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-out.xml - id: tsc name: run test-small-connected - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected.xml - name: verify test-small-connected - if: always() && steps.tsc.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-small-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-out.xml - id: tsl name: run test-small-long - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-long.xml - name: verify test-small-long - if: always() && steps.tsl.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-small-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-long-out.xml - id: tscl name: run test-small-connected-long - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-connected-long.xml - name: verify test-small-connected-long - if: always() && steps.tscl.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-small-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-connected-long-out.xml - id: ts911 name: run test-small-911 - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-small-911.xml - name: verify test-small-911 - if: always() && steps.tt.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-small-911-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml - id: tm name: run test-medium - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium.xml - name: verify test-medium - if: always() && steps.tm.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-medium-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-out.xml - id: tmc name: run test-medium-connected - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected.xml - name: verify test-medium-connected - if: always() && steps.tmc.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-medium-connected-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-out.xml - id: tml name: run test-medium-long - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-long.xml - name: verify test-medium-long - if: always() && steps.tml.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-medium-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-long-out.xml - id: tmcl name: run test-medium-connected-long - if: always() && steps.build.conclusion == 'success' run: ./cgraphitti -c ../Testing/RegressionTesting/configfiles/test-medium-connected-long.xml - name: verify test-medium-connected-long - if: always() && steps.tmcl.conclusion == 'success' run: diff ../Testing/RegressionTesting/TestOutput/test-medium-connected-long-out.xml ../Testing/RegressionTesting/GoodOutput/Cpu/test-medium-connected-long-out.xml From b7795f5b00ca65f2cae13b5fe7562c33695a0eba Mon Sep 17 00:00:00 2001 From: kblricks Date: Thu, 22 Jan 2026 16:00:40 -0800 Subject: [PATCH 132/153] Update compare_matrices to have better error checking/handling --- .../RegressionTesting/compare_matrices.cpp | 70 +++++++++++++++---- 1 file changed, 58 insertions(+), 12 deletions(-) diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp index 3f2f874ec..af691940f 100644 --- a/Testing/RegressionTesting/compare_matrices.cpp +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -9,8 +9,24 @@ //Anonymous namespace for static/re-usable methods namespace { - // Tolerance for floating-point comparisons - constexpr double EPSILON = 1e-9; + // Tolerances for floating-point comparisons + // Absolute tolerance for near-zero values + constexpr double EPSILON = 1e-6; + // Relative tolerance for larger values + constexpr double RELATIVE_EPSILON = 1e-6; + + // Helper for floating-point comparison with relative tolerance + bool approximately_equal(double a, double b) + { + double diff = std::abs(a - b); + // Use absolute tolerance for values near zero + if (std::abs(a) < EPSILON && std::abs(b) < EPSILON) { + return diff <= EPSILON; + } + // Use relative tolerance for larger values + double max_val = std::max(std::abs(a), std::abs(b)); + return diff / max_val <= RELATIVE_EPSILON; + } struct MatrixData { std::string name; @@ -20,10 +36,12 @@ namespace { double multiplier = 1.0; std::vector values; - static void parse_all_fields(const std::string &line, MatrixData ¤t) + static bool parse_all_fields(const std::string &line, MatrixData ¤t) { std::string_view line_view = line; size_t pos = 0; + bool parse_success = true; + while (pos < line_view.size()) { size_t eq_pos = line_view.find("=\"", pos); if (eq_pos == std::string_view::npos) { @@ -51,15 +69,31 @@ namespace { } else if (field == "type") { current.type = value; } else if (field == "rows") { - std::from_chars(value.data(), value.data() + value.size(), current.rows); + auto [ptr, ec] + = std::from_chars(value.data(), value.data() + value.size(), current.rows); + if (ec != std::errc()) { + std::cerr << "Warning: Failed to parse 'rows' field\n"; + parse_success = false; + } } else if (field == "columns") { - std::from_chars(value.data(), value.data() + value.size(), current.columns); + auto [ptr, ec] + = std::from_chars(value.data(), value.data() + value.size(), current.columns); + if (ec != std::errc()) { + std::cerr << "Warning: Failed to parse 'columns' field\n"; + parse_success = false; + } } else if (field == "multiplier") { - std::from_chars(value.data(), value.data() + value.size(), current.multiplier); + auto [ptr, ec] + = std::from_chars(value.data(), value.data() + value.size(), current.multiplier); + if (ec != std::errc()) { + std::cerr << "Warning: Failed to parse 'multiplier' field\n"; + parse_success = false; + } } pos = value_end + 1; } + return parse_success; } }; @@ -73,12 +107,15 @@ namespace { return; } size_t end = input.find_last_not_of(" \t\r\n"); - if (start > 0) - input.erase(0, start); - input.erase(end - start + 1); + // Erase trailing whitespace first, then leading + input.erase(end + 1); + input.erase(0, start); } // Parse matrices from XML file + // Uses simple string matching and assumes XML elements are on seperate lines. + // Since we control the XML file structure, we don't need any specialized XML parsing. + // If the structure changes in the future, this method may need to be updated std::unordered_map parse_matrices(const std::string &filename) { //Check if file exists/can be opened before continuing @@ -135,6 +172,7 @@ namespace { std::vector &mismatches) { bool has_mismatch = false; + bool dimensions_match = true; // Check metadata if (good.type != test.type) { @@ -146,18 +184,26 @@ namespace { std::cout << "Matrix '" << good.name << "': rows mismatch (good: " << good.rows << ", test: " << test.rows << ")\n"; has_mismatch = true; + dimensions_match = false; } if (good.columns != test.columns) { std::cout << "Matrix '" << good.name << "': columns mismatch (good: " << good.columns << ", test: " << test.columns << ")\n"; has_mismatch = true; + dimensions_match = false; } - if (std::abs(good.multiplier - test.multiplier) > EPSILON) { + if (!approximately_equal(good.multiplier, test.multiplier)) { std::cout << "Matrix '" << good.name << "': multiplier mismatch (good: " << good.multiplier << ", test: " << test.multiplier << ")\n"; has_mismatch = true; } + // Skip value comparison if dimensions don't match + if (!dimensions_match) { + mismatches.push_back(good.name); + return; + } + // Check data size if (good.values.size() != test.values.size()) { std::cout << "Matrix '" << good.name @@ -165,9 +211,9 @@ namespace { << ", test: " << test.values.size() << ")\n"; has_mismatch = true; } else { - // Check individual values + // Check individual values with relative tolerance for (size_t i = 0; i < good.values.size(); ++i) { - if ((std::abs(good.values[i] - test.values[i])) > EPSILON) { + if (!approximately_equal(good.values[i], test.values[i])) { std::cout << "Matrix '" << good.name << "': value mismatch at index " << i << " (good: " << good.values[i] << ", test: " << test.values[i] << ")\n"; has_mismatch = true; From 8d892afde1cceb9faf14f209e6563e0296c663ff Mon Sep 17 00:00:00 2001 From: kblricks Date: Sat, 24 Jan 2026 16:29:53 -0800 Subject: [PATCH 133/153] Fix comparison bug in approximately_equal --- .../RegressionTesting/compare_matrices.cpp | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp index af691940f..52633e7c5 100644 --- a/Testing/RegressionTesting/compare_matrices.cpp +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -1,3 +1,11 @@ +/* + * @file compare_matrices.cpp + * + * @brief This file is used to compare an output matrix against a known good matrix + * + * @ingroup Testing + */ + #include #include #include @@ -19,11 +27,11 @@ namespace { bool approximately_equal(double a, double b) { double diff = std::abs(a - b); - // Use absolute tolerance for values near zero - if (std::abs(a) < EPSILON && std::abs(b) < EPSILON) { - return diff <= EPSILON; + // Pass if absolute difference is small enough (handles near-zero cases) + if (diff <= EPSILON) { + return true; } - // Use relative tolerance for larger values + // Otherwise, check relative tolerance for larger values double max_val = std::max(std::abs(a), std::abs(b)); return diff / max_val <= RELATIVE_EPSILON; } @@ -113,9 +121,9 @@ namespace { } // Parse matrices from XML file - // Uses simple string matching and assumes XML elements are on seperate lines. + // Uses simple string matching and assumes XML elements are on separate lines. // Since we control the XML file structure, we don't need any specialized XML parsing. - // If the structure changes in the future, this method may need to be updated + // If the structure changes in the future, this method may need to be updated. std::unordered_map parse_matrices(const std::string &filename) { //Check if file exists/can be opened before continuing From be1d900abeab01caee84103850fdc85ba58c0ad0 Mon Sep 17 00:00:00 2001 From: kblricks Date: Sun, 25 Jan 2026 23:25:56 -0800 Subject: [PATCH 134/153] Add check for failed parsing and better check for empty files --- Testing/RegressionTesting/compare_matrices.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/Testing/RegressionTesting/compare_matrices.cpp b/Testing/RegressionTesting/compare_matrices.cpp index 52633e7c5..c89861f7c 100644 --- a/Testing/RegressionTesting/compare_matrices.cpp +++ b/Testing/RegressionTesting/compare_matrices.cpp @@ -142,7 +142,10 @@ namespace { trim_inplace(line); if (line.find(" Date: Thu, 29 Jan 2026 20:19:31 -0800 Subject: [PATCH 135/153] [issue-873] Templated Event Buffer (#876) * Upgrade EventBuffer to be a templated class This involved moving the EventBuffer.cpp information into the header file and updating previous usages to use uint64_t type which was the old default. Also cleaned up redudent overrides and added getters and setters to the EventBuffer so that it's friendship with neuro classes could be removed. * Fix clang format issue * Minor cleanup * Add documentation for this pointer use * Remove unnecessary comment --- Simulator/Recorders/RecordableVector.h | 8 + Simulator/Vertices/EventBuffer.cpp | 120 ------------ Simulator/Vertices/EventBuffer.h | 181 ++++++++++++++---- Simulator/Vertices/Neuro/AllSpikingNeurons.h | 2 +- .../Vertices/Neuro/AllSpikingNeurons_d.cpp | 24 +-- Testing/UnitTesting/EventBufferTests.cpp | 54 +++++- Testing/UnitTesting/Hdf5RecorderTests.cpp | 12 +- Testing/UnitTesting/XmlRecorderTests.cpp | 10 +- 8 files changed, 228 insertions(+), 183 deletions(-) delete mode 100644 Simulator/Vertices/EventBuffer.cpp diff --git a/Simulator/Recorders/RecordableVector.h b/Simulator/Recorders/RecordableVector.h index 1ac285dcb..48b705a31 100644 --- a/Simulator/Recorders/RecordableVector.h +++ b/Simulator/Recorders/RecordableVector.h @@ -101,6 +101,14 @@ template class RecordableVector : public RecordableBase { return dataSeries_.data(); } + /// @brief Gets pointer to contiguous host memory array + /// @return Pointer to the first element in host memory + /// @note Returns nullptr if vector is empty + T *data() + { + return dataSeries_.data(); + } + /// Cereal serialization method template void serialize(Archive &archive) { diff --git a/Simulator/Vertices/EventBuffer.cpp b/Simulator/Vertices/EventBuffer.cpp deleted file mode 100644 index 05fa01805..000000000 --- a/Simulator/Vertices/EventBuffer.cpp +++ /dev/null @@ -1,120 +0,0 @@ -/** -* @file EventBuffer.cpp -* -* @ingroup Simulator/Vertices - * - * @brief Encapsulation of vertex event buffering -* -* @author Created by Prof. Michael Stiber on 11/23/21. -*/ - -#include "EventBuffer.h" -#include "Global.h" -#include -#include - -EventBuffer::EventBuffer(int maxEvents) -{ - dataSeries_.assign(maxEvents, numeric_limits::max()); - clear(); - setDataType(); // set up data type for recording purpose -} - - -// set up a string representing the basic data type -void EventBuffer::setDataType() -{ - basicDataType_ = typeid(uint64_t).name(); -} - -/// @brief Get the value of the recordable variable at the specified index. -/// @param index The index of the recorded value to retrieve. -/// @return A variant representing the recorded value (uint64_t, double, or string). -variantTypes EventBuffer::getElement(int index) const -{ - return dataSeries_[(epochStart_ + index) % dataSeries_.size()]; -} - - -const string &EventBuffer::getDataType() const -{ - return basicDataType_; -} - -int EventBuffer::getNumElementsInEpoch() const -{ - return numElementsInEpoch_; -} - -int EventBuffer::getNumElements() const -{ - return numElementsInEpoch_; -} - -void EventBuffer::resize(int maxEvents) -{ - // Only an empty buffer can be resized - assert(dataSeries_.empty()); - dataSeries_.resize(maxEvents, 0); - // If we resized, we should clear everything - clear(); -} - -void EventBuffer::clear() -{ - bufferFront_ = 0; - bufferEnd_ = 0; - epochStart_ = 0; - numElementsInEpoch_ = 0; -} - -uint64_t EventBuffer::operator[](int i) const -{ - return dataSeries_[(epochStart_ + i) % dataSeries_.size()]; -} - -void EventBuffer::startNewEpoch() -{ - epochStart_ = bufferEnd_; - bufferFront_ = bufferEnd_; - numElementsInEpoch_ = 0; -} - -void EventBuffer::insertEvent(uint64_t timeStep) -{ - // If the buffer is full, then this is an error condition - assert((numElementsInEpoch_ < dataSeries_.size())); - - // Insert time step and increment the queue end index, mod the buffer size - dataSeries_[bufferEnd_] = timeStep; - bufferEnd_ = (bufferEnd_ + 1) % dataSeries_.size(); - numElementsInEpoch_ += 1; -} - -uint64_t EventBuffer::getPastEvent(int offset) const -{ - // Quick checks: offset must be in past, and not larger than the buffer size - assert(((offset < 0)) && (offset > -(dataSeries_.size() - 1))); - - // The event is at bufferEnd_ + offset (taking into account the - // buffer size, and the fact that offset is negative). - int index = bufferEnd_ + offset; - if (index < 0) - index += dataSeries_.size(); - - // Need to check that we're not asking for an item so long ago that it is - // not in the buffer. Note that there are three possibilities: - // 1. if bufferEnd_ > bufferFront_, then valid entries are within the range - // [bufferFront_, bufferEnd_) - // 2. if bufferEnd_ < bufferFront_, then the buffer wraps around the end of - // vector and valid entries are within the range [0, bufferEnd_) or the - // range [bufferFront_, size()). - // 3. if buffer is empty (bufferFront_ == bufferEnd_), then there are no events - // - // Note that this means that index at this point must always be less than - // bufferEnd_ AND >= queueFront. - if ((index < bufferEnd_) && (index >= bufferFront_)) - return dataSeries_[index]; - else - return numeric_limits::max(); -} diff --git a/Simulator/Vertices/EventBuffer.h b/Simulator/Vertices/EventBuffer.h index 987dfabfb..ad2b1ac22 100644 --- a/Simulator/Vertices/EventBuffer.h +++ b/Simulator/Vertices/EventBuffer.h @@ -26,12 +26,9 @@ // cereal #include -class AllSpikingNeurons; -class AllIFNeurons; -class EventBuffer : public RecordableVector { - friend class AllIFNeurons; - friend class AllSpikingNeurons; - +// Uses this pointer because we have a template class inheriting from other template class +// All base class references need to be accessed through the this pointer +template class EventBuffer : public RecordableVector { public: /// Create EventBuffer that is sized appropriately /// @@ -41,7 +38,12 @@ class EventBuffer : public RecordableVector { /// an empty and a full buffer. /// /// @param maxEvents Defaults to zero; otherwise, buffer size is set - EventBuffer(int maxEvents = 0); + EventBuffer(int maxEvents = 0) + { + this->dataSeries_.assign(maxEvents, numeric_limits::max()); + clear(); + this->setDataType(); // set up data type for recording purpose + } /** @name Recorder Interface * virtual methods in RecordableBase for use by Recorder classes @@ -52,31 +54,88 @@ class EventBuffer : public RecordableVector { /// Get the value of the recordable variable at the specified index. /// @param index The index of the recorded value to retrieve. /// @return A variant representing the recorded value (uint64_t, double, or string). - virtual variantTypes getElement(int index) const override; + variantTypes getElement(int index) const + { + return this->dataSeries_[(epochStart_ + index) % this->dataSeries_.size()]; + } /// Get the number of elements that needs to be recorded - virtual int getNumElements() const override; - - /// Return the runtime data type info of unit64_t - virtual void setDataType() override; - - /// Get the basic data type of the recordable variable - virtual const string &getDataType() const override; + int getNumElements() const + { + return numElementsInEpoch_; + } /// Start a new epoch /// /// Resets the internal variables associated with tracking the events in a epoch. Note that this doesn't /// affect the contents of the buffer; it just resets things so that the epoch start is the index of the next /// event to be enqueued and that the number of events in the epoch is 0. - virtual void startNewEpoch() override; + void startNewEpoch() + { + epochStart_ = bufferEnd_; + bufferFront_ = bufferEnd_; + numElementsInEpoch_ = 0; + } ///@} + + /// @brief Accessor for the buffer front value. + /// @return Returns index of the first event in the queue. + int getBufferFront() const + { + return bufferFront_; + } + + /// @brief Accessor for the buffer end value. + /// @return Returns index of the last event in the queue. + int getBufferEnd() const + { + return bufferEnd_; + } + + /// @brief Accessor for the epoch start value. + /// @return Returns index of the start of the events in the current epoch. + int getEpochStart() const + { + return epochStart_; + } + /// Get number of events in the current/preceding epoch /// /// Getting the number of events in the current epoch (or, in between epochs, the number of events /// in the preceding epoch) is not the same as the number of events in the buffer, because the buffer /// retains events from the previous epoch, too. - int getNumElementsInEpoch() const; + int getNumElementsInEpoch() const + { + return numElementsInEpoch_; + } + + /// Setters are needed for copying from the GPU. Allows us to remove the friend keyword requirement. + /// { + /// @brief Mutator for the buffer front value. + void setBufferFront(int bufferFront) + { + bufferFront_ = bufferFront; + } + + /// @brief Mutator for the buffer end value. + void setBufferEnd(int bufferEnd) + { + bufferEnd_ = bufferEnd; + } + + /// @brief Mutator for the epoch start value. + void setEpochStart(int epochStart) + { + epochStart_ = epochStart; + } + + /// Sets number of events in the current/preceding epoch + void setNumElementsInEpoch(int numElementsInEpoch) + { + numElementsInEpoch_ = numElementsInEpoch; + } + /// } /// Resize event buffer /// @@ -85,7 +144,14 @@ class EventBuffer : public RecordableVector { /// /// @pre current buffer must be empty /// @param maxEvents Buffer size - virtual void resize(int maxEvents) override; + void resize(int maxEvents) + { + // Only an empty buffer can be resized + assert(this->dataSeries_.empty()); + this->dataSeries_.resize(maxEvents, 0); + // If we resized, we should clear everything + clear(); + } /// Access event from current epoch /// @@ -93,14 +159,30 @@ class EventBuffer : public RecordableVector { /// event in the epoch (element numElementsInEpoch_ - 1 would be the last element in the epoch). /// /// @param i element number - uint64_t operator[](int i) const; + T operator[](int i) const + { + return this->dataSeries_[(epochStart_ + i) % this->dataSeries_.size()]; + } /** @name Vertex and Edge Interface * EventBuffer interface for use by the Vertex and Edge classes */ ///@{ /// Reset member variables consistent with an empty buffer - void clear(); + void clear() + { + bufferFront_ = 0; + bufferEnd_ = 0; + epochStart_ = 0; + numElementsInEpoch_ = 0; + } + + /// @brief + /// @return Returns the size of the buffer. + int size() + { + return this->dataSeries_.size(); + } /// Insert an event time step /// @@ -109,7 +191,16 @@ class EventBuffer : public RecordableVector { /// /// @pre The buffer is not full /// @param timeStep Value to store in buffer - void insertEvent(uint64_t timeStep); + void insertEvent(T timeStep) + { + // If the buffer is full, then this is an error condition + assert((numElementsInEpoch_ < this->dataSeries_.size())); + + // Insert time step and increment the queue end index, mod the buffer size + this->dataSeries_[bufferEnd_] = timeStep; + bufferEnd_ = (bufferEnd_ + 1) % this->dataSeries_.size(); + numElementsInEpoch_ += 1; + } /// Get an event from a time in the past /// @@ -118,11 +209,44 @@ class EventBuffer : public RecordableVector { /// /// @param offset How many events ago. Must be negative. If that event isn't in the buffer, /// or if the buffer is empty, returns ULONG_MAX. - uint64_t getPastEvent(int offset) const; + T getPastEvent(int offset) const + { + // Quick checks: offset must be in past, and not larger than the buffer size + assert(((offset < 0)) && (offset > -(this->dataSeries_.size() - 1))); + + // The event is at bufferEnd_ + offset (taking into account the + // buffer size, and the fact that offset is negative). + int index = bufferEnd_ + offset; + if (index < 0) + index += this->dataSeries_.size(); + + // Need to check that we're not asking for an item so long ago that it is + // not in the buffer. Note that there are three possibilities: + // 1. if bufferEnd_ > bufferFront_, then valid entries are within the range + // [bufferFront_, bufferEnd_) + // 2. if bufferEnd_ < bufferFront_, then the buffer wraps around the end of + // vector and valid entries are within the range [0, bufferEnd_) or the + // range [bufferFront_, size()). + // 3. if buffer is empty (bufferFront_ == bufferEnd_), then there are no events + // + // Note that this means that index at this point must always be less than + // bufferEnd_ AND >= queueFront. + if ((index < bufferEnd_) && (index >= bufferFront_)) + return this->dataSeries_[index]; + else + return numeric_limits::max(); + } ///@} /// Cereal serialization method - template void serialize(Archive &archive); + template void serialize(Archive &archive) + { + archive(cereal::base_class>(this), + cereal::make_nvp("bufferFront", bufferFront_), + cereal::make_nvp("bufferEnd", bufferEnd_), + cereal::make_nvp("epochStart", epochStart_), + cereal::make_nvp("numElementsInEpoch", numElementsInEpoch_)); + } private: /// Holds the event time steps @@ -151,13 +275,4 @@ class EventBuffer : public RecordableVector { }; -CEREAL_REGISTER_TYPE(EventBuffer); - -/// Cereal serialization method -template void EventBuffer::serialize(Archive &archive) -{ - archive(cereal::base_class>(this), - cereal::make_nvp("bufferFront", bufferFront_), cereal::make_nvp("bufferEnd", bufferEnd_), - cereal::make_nvp("epochStart", epochStart_), - cereal::make_nvp("numElementsInEpoch", numElementsInEpoch_)); -} +// CEREAL_REGISTER_TYPE(EventBuffer); diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons.h b/Simulator/Vertices/Neuro/AllSpikingNeurons.h index 394f7091d..6e79cd3e7 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons.h +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons.h @@ -121,7 +121,7 @@ class AllSpikingNeurons : public AllVertices { DeviceVector hasFired_; /// Holds at least one epoch's worth of event times for every vertex - vector vertexEvents_; + vector> vertexEvents_; /// The summation point for each vertex. /// Summation points are places where the synapses connected to the vertex diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 91edc75f1..9a3602ec6 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -59,20 +59,20 @@ void AllSpikingNeurons::copyToDevice() int cpu_queue_front[count]; for (int i = 0; i < count; i++) { - cpu_queue_front[i] = vertexEvents_[i].bufferFront_; + cpu_queue_front[i] = vertexEvents_[i].getBufferFront(); } HANDLE_ERROR(cudaMemcpy(allVerticesDevice.bufferFront_, cpu_queue_front, count * sizeof(int), cudaMemcpyHostToDevice)); int cpu_queue_end[count]; for (int i = 0; i < count; i++) { - cpu_queue_end[i] = vertexEvents_[i].bufferEnd_; + cpu_queue_end[i] = vertexEvents_[i].getBufferEnd(); } HANDLE_ERROR(cudaMemcpy(allVerticesDevice.bufferEnd_, cpu_queue_end, count * sizeof(int), cudaMemcpyHostToDevice)); int cpu_queue_start[count]; for (int i = 0; i < count; i++) { - cpu_queue_start[i] = vertexEvents_[i].epochStart_; + cpu_queue_start[i] = vertexEvents_[i].getEpochStart(); } HANDLE_ERROR(cudaMemcpy(allVerticesDevice.epochStart_, cpu_queue_start, count * sizeof(int), cudaMemcpyHostToDevice)); @@ -83,9 +83,9 @@ void AllSpikingNeurons::copyToDevice() // All EventBuffers are of the same size, // which is one greater than maxSpikes in GPU spikeHistory array. - int maxSpikes = vertexEvents_[0].dataSeries_.size(); + int maxSpikes = vertexEvents_[0].size(); for (int i = 0; i < count; i++) { - HANDLE_ERROR(cudaMemcpy(pSpikeHistory[i], vertexEvents_[i].dataSeries_.data(), + HANDLE_ERROR(cudaMemcpy(pSpikeHistory[i], vertexEvents_[i].data(), maxSpikes * sizeof(uint64_t), cudaMemcpyHostToDevice)); } } @@ -112,28 +112,28 @@ void AllSpikingNeurons::copyFromDevice() HANDLE_ERROR(cudaMemcpy(cpu_spike_count, allVerticesDevice.numElementsInEpoch_, numVertices * sizeof(int), cudaMemcpyDeviceToHost)); for (int i = 0; i < numVertices; i++) { - vertexEvents_[i].numElementsInEpoch_ = cpu_spike_count[i]; + vertexEvents_[i].setNumElementsInEpoch(cpu_spike_count[i]); } int queue_front[numVertices]; HANDLE_ERROR(cudaMemcpy(queue_front, allVerticesDevice.bufferFront_, numVertices * sizeof(int), cudaMemcpyDeviceToHost)); for (int i = 0; i < numVertices; i++) { - vertexEvents_[i].bufferFront_ = queue_front[i]; + vertexEvents_[i].setBufferFront(queue_front[i]); } int queue_end[numVertices]; HANDLE_ERROR(cudaMemcpy(queue_end, allVerticesDevice.bufferEnd_, numVertices * sizeof(int), cudaMemcpyDeviceToHost)); for (int i = 0; i < numVertices; i++) { - vertexEvents_[i].bufferEnd_ = queue_end[i]; + vertexEvents_[i].setBufferEnd(queue_end[i]); } int epoch_start[numVertices]; HANDLE_ERROR(cudaMemcpy(epoch_start, allVerticesDevice.epochStart_, numVertices * sizeof(int), cudaMemcpyDeviceToHost)); for (int i = 0; i < numVertices; i++) { - vertexEvents_[i].epochStart_ = epoch_start[i]; + vertexEvents_[i].setEpochStart(epoch_start[i]); } uint64_t *pSpikeHistory[numVertices]; @@ -142,9 +142,9 @@ void AllSpikingNeurons::copyFromDevice() // All EventBuffers are of the same size, // which is one greater than maxSpikes in GPU spikeHistory array. - int maxSpikes = vertexEvents_[0].dataSeries_.size(); + int maxSpikes = vertexEvents_[0].size(); for (int i = 0; i < numVertices; i++) { - HANDLE_ERROR(cudaMemcpy(vertexEvents_[i].dataSeries_.data(), pSpikeHistory[i], + HANDLE_ERROR(cudaMemcpy(vertexEvents_[i].data(), pSpikeHistory[i], maxSpikes * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); } } @@ -165,7 +165,7 @@ void AllSpikingNeurons::clearDeviceSpikeCounts(AllSpikingNeuronsDeviceProperties vector epochStart(numVertices); for (int i = 0; i < epochStart.size(); ++i) { - epochStart[i] = vertexEvents_[i].bufferEnd_; + epochStart[i] = vertexEvents_[i].getBufferEnd(); } HANDLE_ERROR(cudaMemcpy(allVerticesDevice.epochStart_, epochStart.data(), numVertices * sizeof(int), cudaMemcpyHostToDevice)); diff --git a/Testing/UnitTesting/EventBufferTests.cpp b/Testing/UnitTesting/EventBufferTests.cpp index cde65c0df..0987e6790 100644 --- a/Testing/UnitTesting/EventBufferTests.cpp +++ b/Testing/UnitTesting/EventBufferTests.cpp @@ -10,23 +10,22 @@ #include "gtest/gtest.h" // A buffer which can hold 5 elements -EventBuffer buffer(5); +EventBuffer buffer(5); //GetElement when buffer is empty -//Assuming getElement() returns uint64_t -TEST(EventBufferTest, GetElementFromEmptyBuffer) +TEST(EventBufferTest, GetElementFromEmptyBufferUint64) { EXPECT_EQ(std::get(buffer.getElement(0)), std::numeric_limits::max()); } // GetPastEvent when buffer is empty -TEST(EventBufferTest, GetPastEventFromEmptyBuffer) +TEST(EventBufferTest, GetPastEventFromEmptyBufferUint64) { EXPECT_EQ(buffer.getPastEvent(-1), std::numeric_limits::max()); } // Insert into empty buffer -TEST(EventBufferTest, InsertEventEmptyBuffer) +TEST(EventBufferTest, InsertEventEmptyBufferUint64) { buffer.insertEvent(10); buffer.insertEvent(20); @@ -36,7 +35,7 @@ TEST(EventBufferTest, InsertEventEmptyBuffer) } // Insert when buffer is full, test wrap around -TEST(EventBufferTest, BufferWrapAround) +TEST(EventBufferTest, BufferWrapAroundUint64) { buffer.insertEvent(30); buffer.insertEvent(40); @@ -51,4 +50,47 @@ TEST(EventBufferTest, BufferWrapAround) EXPECT_EQ(std::get(buffer.getElement(2)), 30); EXPECT_EQ(std::get(buffer.getElement(3)), 40); EXPECT_EQ(std::get(buffer.getElement(4)), 50); +} + +// A buffer which can hold 5 elements +EventBuffer bufferDouble(5); + +//GetElement when buffer is empty +TEST(EventBufferTest, GetElementFromEmptyBufferDouble) +{ + EXPECT_EQ(std::get(bufferDouble.getElement(0)), std::numeric_limits::max()); +} + +// GetPastEvent when buffer is empty +TEST(EventBufferTest, GetPastEventFromEmptyBufferDouble) +{ + EXPECT_EQ(bufferDouble.getPastEvent(-1), std::numeric_limits::max()); +} + +// Insert into empty buffer +TEST(EventBufferTest, InsertEventEmptyBufferDouble) +{ + bufferDouble.insertEvent(10.0); + bufferDouble.insertEvent(20.0); + + EXPECT_EQ(std::get(bufferDouble.getElement(0)), 10.0); + EXPECT_EQ(std::get(bufferDouble.getElement(1)), 20.0); +} + +// Insert when buffer is full, test wrap around +TEST(EventBufferTest, BufferWrapAroundDouble) +{ + bufferDouble.insertEvent(30.0); + bufferDouble.insertEvent(40.0); + bufferDouble.insertEvent(50.0); + + //Insert into A full buffer + //bufferDouble.insertEvent(60.0); + + // The buffer should have overwritten 60 inplace of 10 + //EXPECT_EQ(std::get(buffer.getElement(0)), 60); + EXPECT_EQ(std::get(bufferDouble.getElement(1)), 20.0); + EXPECT_EQ(std::get(bufferDouble.getElement(2)), 30.0); + EXPECT_EQ(std::get(bufferDouble.getElement(3)), 40.0); + EXPECT_EQ(std::get(bufferDouble.getElement(4)), 50.0); } \ No newline at end of file diff --git a/Testing/UnitTesting/Hdf5RecorderTests.cpp b/Testing/UnitTesting/Hdf5RecorderTests.cpp index 327b989b2..c77d47c7b 100644 --- a/Testing/UnitTesting/Hdf5RecorderTests.cpp +++ b/Testing/UnitTesting/Hdf5RecorderTests.cpp @@ -48,7 +48,7 @@ TEST(Hdf5RecorderTest, RegisterVariableTest) recorder.init(); // Create an EventBuffer for testing - EventBuffer eventBuffer; + EventBuffer eventBuffer; const H5std_string hdf5Name("test_var"); // Register the variable @@ -74,8 +74,8 @@ TEST(Hdf5RecorderTest, RegisterVectorVariableTest) recorder.init(); // Create mock EventBuffer objects for testing - EventBuffer buffer0; - EventBuffer buffer1; + EventBuffer buffer0; + EventBuffer buffer1; // Create a vector of pointers to EventBuffer objects std::vector bufferPointers = {&buffer0, &buffer1}; @@ -136,7 +136,7 @@ TEST(Hdf5RecorderTest, SaveSimDataTest) recorder.init(); // Create and configure EventBuffer for testing - EventBuffer eventBuffer(5); // Initialize with a size that matches the mock data + EventBuffer eventBuffer(5); // Initialize with a size that matches the mock data eventBuffer.insertEvent(1); eventBuffer.insertEvent(2); eventBuffer.insertEvent(3); @@ -226,7 +226,7 @@ TEST(Hdf5RecorderTest, CompileHistoriesTest) recorder.init(); // Create and configure variables for testing - EventBuffer eventBufferInt(5); // Example with int type + EventBuffer eventBufferInt(5); // Example with int type // Register the variable with Hdf5Recorder as DYNAMIC recorder.registerVariable("test_var_int", eventBufferInt, Recorder::UpdatedType::DYNAMIC); @@ -277,7 +277,7 @@ TEST(Hdf5RecorderTest, CompileHistoriesVertexTypeTest) recorder.init(); // Create and configure EventBuffer for testing (stored as int) - EventBuffer eventBufferNeuron(5); + EventBuffer eventBufferNeuron(5); // Register the variable with Hdf5Recorder as DYNAMIC recorder.registerVariable("neuron_types", eventBufferNeuron, Recorder::UpdatedType::DYNAMIC); diff --git a/Testing/UnitTesting/XmlRecorderTests.cpp b/Testing/UnitTesting/XmlRecorderTests.cpp index 2291ff243..afa327ad4 100644 --- a/Testing/UnitTesting/XmlRecorderTests.cpp +++ b/Testing/UnitTesting/XmlRecorderTests.cpp @@ -49,7 +49,7 @@ TEST(XmlRecorderTest, RegisterVariableTest) // Create an instance of XmlRecorder XmlRecorder recorder; // Create an EventBuffer for testing - EventBuffer eventBuffer; + EventBuffer eventBuffer; // Register the EventBuffer variable recorder.registerVariable("eventBuffer", eventBuffer, Recorder::UpdatedType::DYNAMIC); @@ -131,8 +131,8 @@ TEST(XmlRecorderTest, RegisterVectorVariableTest) ASSERT_TRUE(recorderTest_ != nullptr); // Create mock EventBuffer objects for testing - EventBuffer buffer0; - EventBuffer buffer1; + EventBuffer buffer0; + EventBuffer buffer1; // Create a vector of pointers to EventBuffer objects std::vector bufferPointers = {&buffer0, &buffer1}; @@ -159,7 +159,7 @@ TEST(XmlRecorderTest, CompileHistoriesTest) ASSERT_NE(nullptr, vertices); // Create a mock EventBuffer object // buffer size is set to 4 - EventBuffer buffer0(4); + EventBuffer buffer0(4); // Register variables recorderTest_->registerVariable("neuron0", buffer0, Recorder::UpdatedType::DYNAMIC); @@ -223,7 +223,7 @@ TEST(XmlRecorderTest, SaveSimDataTest) = Factory::getInstance().createType("AllLIFNeurons"); ASSERT_NE(nullptr, vertices); // Create a mock EventBuffer object - EventBuffer buffer(4); + EventBuffer buffer(4); // initialize the XmlRecorder object recorderTest_->init(); From 7335b41a2106ec8abd72f76f52eaa496970633f5 Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Feb 2026 00:29:21 -0800 Subject: [PATCH 136/153] Add unit test prompt file for auto generating test cases with copilot --- .github/prompts/generate-unit-tests.prompt.md | 257 ++++++++++++++++++ 1 file changed, 257 insertions(+) create mode 100644 .github/prompts/generate-unit-tests.prompt.md diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md new file mode 100644 index 000000000..4b8944feb --- /dev/null +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -0,0 +1,257 @@ +--- +agent: "agent" +description: "Generate Google Test unit tests for C++ functions or methods in Graphitti" +--- + +## What is a Unit Test? + +A **unit test** is a type of software testing that verifies the correctness of individual, isolated components (or "units") of code—typically functions, methods, or classes. + +### Key Characteristics + +- **Isolated**: Tests a single piece of functionality in isolation from the rest of the system +- **Fast**: Should execute quickly (milliseconds) +- **Repeatable**: Produces the same result every time +- **Independent**: Doesn't depend on other tests or external systems (databases, networks, files) + +### Purpose + +1. **Catch bugs early** – Find issues before they propagate +2. **Enable refactoring** – Safely change code knowing tests will catch regressions +3. **Document behavior** – Tests serve as executable documentation of how code should work + +--- + +## What is Google Test (gtest)? + +**Google Test** is a popular open-source C++ testing framework developed by Google for writing and running unit tests. + +### Key Features + +- **Rich assertions** – Provides `EXPECT_*` (non-fatal) and `ASSERT_*` (fatal) macros +- **Test discovery** – Automatically finds and runs tests +- **Test fixtures** – Share setup/teardown code between tests using `TEST_F()` +- **Death tests** – Verify code crashes or exits as expected +- **Parameterized tests** – Run the same test with different inputs +- **XML/JSON output** – Integrates with CI/CD systems + +### EXPECT vs ASSERT + +| Type | Behavior on Failure | +| ---------- | ------------------------------------------------------ | +| `EXPECT_*` | Records failure but continues test execution | +| `ASSERT_*` | Records failure and stops the current test immediately | + +Use `EXPECT_*` when you want to see all failures in a test. Use `ASSERT_*` when continuing doesn't make sense (e.g., a null pointer would crash subsequent code). + +--- + +## Task + +Analyze the selected C++ function/method and generate or improve Google Test unit tests that thoroughly validate its behavior. + +## Project Context + +This is the Graphitti project - a neural network simulator. Tests are located in `Testing/UnitTesting/` and use the Google Test framework. + +--- + +## Pre-Generation Check: Existing Test Analysis + +**Before generating new tests, perform these steps:** + +### Step 1: Check for Existing Test File + +Look for an existing test file at: + +- `Testing/UnitTesting/{ClassName}Tests.cpp` +- `Testing/UnitTesting/{ClassName}Test.cpp` +- `Testing/UnitTesting/Test{ClassName}.cpp` + +### Step 2: If Tests Exist, Analyze Them + +If a test file already exists, **analyze it before generating new tests**: + +#### 2a. Error Analysis + +- Check for syntax errors or incorrect Google Test macro usage +- Identify deprecated assertions or patterns +- Look for tests that may produce false positives/negatives +- Verify proper use of `EXPECT_*` vs `ASSERT_*` +- Check for memory leaks or improper resource handling in tests +- Identify flaky test patterns (timing-dependent, order-dependent) + +#### 2b. Coverage Gap Analysis + +Compare the existing tests against the source code to identify: + +- **Untested public methods** – Methods with no corresponding test cases +- **Missing edge cases** – Boundary conditions not covered +- **Missing error paths** – Exception handling or error returns not tested +- **Missing input variations** – Only happy path tested, no invalid inputs +- **Untested branches** – Conditional logic not fully exercised + +#### 2c. Report Findings + +Provide a summary: + +``` +## Existing Test Analysis: {ClassName}Tests.cpp + +### Errors Found +- [List any errors or issues] + +### Coverage Gaps +| Method/Function | Status | Missing Coverage | +|-----------------|--------|------------------| +| methodName() | Partial | Missing nullptr test, boundary cases | +| otherMethod() | None | No tests exist | + +### Recommendations +1. [Specific improvements needed] +``` + +### Step 3: Generate or Update Tests + +Based on the analysis: + +- **No existing tests**: Generate complete test suite +- **Tests exist with errors**: Fix errors and add missing coverage +- **Tests exist with gaps**: Generate only the missing test cases, clearly marked as additions + +--- + +## Test Generation Strategy + +1. **Core Functionality Tests** + - Test the main purpose/expected behavior + - Verify return values with typical inputs + - Test with realistic simulation data scenarios + +2. **Input Validation Tests** + - Test with nullptr/null pointers + - Test with empty containers (vectors, maps) + - Test boundary values (min/max array indices, zero, negative numbers) + - Test invalid enum values or out-of-range parameters + +3. **Error Handling Tests** + - Test expected exceptions are thrown (use `EXPECT_THROW`, `ASSERT_THROW`) + - Verify error states are handled gracefully + - Test edge cases specific to simulation parameters + +4. **Resource Management Tests** (if applicable) + - Verify proper memory allocation/deallocation + - Test RAII patterns work correctly + - Validate GPU/device memory handling for CUDA code + +5. **Side Effects Tests** (if applicable) + - Verify external calls are made correctly + - Test state changes in simulation objects + - Validate interactions with factory classes and managers + +## Test Structure Requirements + +- Use Google Test framework (`gtest/gtest.h`) +- Use `TEST()` for standalone tests, `TEST_F()` for fixture-based tests +- Follow AAA pattern: Arrange, Act, Assert +- Use descriptive test names: `TEST(ClassName, MethodName_Condition_ExpectedResult)` +- Group related tests in test fixtures when sharing setup/teardown +- Use `EXPECT_*` for non-fatal assertions, `ASSERT_*` for fatal assertions + +## Google Test Assertion Reference + +```cpp +// Equality +EXPECT_EQ(expected, actual); +EXPECT_NE(val1, val2); + +// Boolean +EXPECT_TRUE(condition); +EXPECT_FALSE(condition); + +// Comparisons +EXPECT_LT(val1, val2); // less than +EXPECT_LE(val1, val2); // less than or equal +EXPECT_GT(val1, val2); // greater than +EXPECT_GE(val1, val2); // greater than or equal + +// Floating point (handles precision issues) +EXPECT_FLOAT_EQ(expected, actual); +EXPECT_DOUBLE_EQ(expected, actual); +EXPECT_NEAR(val1, val2, abs_error); + +// Strings +EXPECT_STREQ(expected, actual); // C-strings equal +EXPECT_STRNE(str1, str2); // C-strings not equal + +// Exceptions +EXPECT_THROW(statement, exception_type); +EXPECT_NO_THROW(statement); +EXPECT_ANY_THROW(statement); + +// Pointers +EXPECT_EQ(nullptr, ptr); +EXPECT_NE(nullptr, ptr); +``` + +## Test File Template + +```cpp +// {ClassName}Tests.cpp + +#include "gtest/gtest.h" +#include "{HeaderFile}.h" +// Include other necessary headers + +// Test fixture for tests requiring shared setup +class {ClassName}Test : public ::testing::Test { +protected: + void SetUp() override { + // Initialize test objects before each test + } + + void TearDown() override { + // Clean up resources after each test + } + + // Shared test data members +}; + +// Standalone test example +TEST({ClassName}Test, MethodName_ValidInput_ReturnsExpected) { + // Arrange - set up test data + + // Act - call the function under test + + // Assert - verify the results +} + +// Fixture-based test example +TEST_F({ClassName}Test, MethodName_EdgeCase_HandlesCorrectly) { + // Arrange - fixture provides shared setup + + // Act + + // Assert +} +``` + +## Input Parameters + +Target function: ${input:function_name:Which C++ function or method should be tested?} +Target class: ${input:class_name:Which class does this function belong to? (or 'standalone' for free functions)} + +## Guidelines + +- **Always check for existing tests first** before generating new ones +- Generate 5-8 focused test cases covering the most important scenarios +- When updating existing tests, clearly mark new additions with comments +- Include realistic test data matching Graphitti simulation parameters +- Add comments explaining complex test setup or non-obvious assertions +- Ensure tests are independent and can run in any order +- Focus on testing behavior, not implementation details +- Consider GPU/CUDA implications if testing device code +- Reference existing test patterns in the UnitTesting folder +- Place output files in `Testing/UnitTesting/{ClassName}Tests.cpp` + +Create tests that give confidence the function works correctly and help catch regressions in the neural simulation. From 2e5287014a329d690946f3ab28495f9729e2c89a Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Feb 2026 16:16:55 -0800 Subject: [PATCH 137/153] Add copilot-instructions.md file for better PR code reviews --- .github/copilot-instructions.md | 277 ++++++++++++++++++++++++++++++++ 1 file changed, 277 insertions(+) create mode 100644 .github/copilot-instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md new file mode 100644 index 000000000..677119d15 --- /dev/null +++ b/.github/copilot-instructions.md @@ -0,0 +1,277 @@ +# GitHub Copilot Instructions for PR Reviews + +## Acknowledgment + +When reviewing pull requests or providing development assistance for the Graphitti project, **always begin your response by acknowledging that you are using the Graphitti project-specific instructions**. This confirmation helps verify that you have loaded all relevant project context, coding standards, and review guidelines. + +Example acknowledgment: "I'm reviewing this using the Graphitti project guidelines and standards." + +## Project Overview + +**Graphitti** is a high-performance simulator of graph-based systems, primarily applied to computational neuroscience and emergency communications systems. The simulator: + +- Supports vertices and edges with internal state +- Implements message passing between vertices over edges +- Allows dynamic graph architecture changes (edge creation and destruction) +- Manages vertex spatial locations (x, y coordinates, with potential z-axis support) +- Supports multiple vertex types +- Provides flexible data recording during simulations +- Runs on both CPUs and GPUs +- Can simulate very large graphs (tens of thousands of vertices, hundreds of thousands to millions of edges) +- Handles long-duration simulations (billions of time steps) + +### Technology Stack + +- **Language**: C++17 +- **Build System**: CMake +- **Testing**: Custom testing framework with unit and regression tests +- **Dependencies**: See ThirdParty/ directory (cereal, log4cplus, paramcontainer, TinyXPath) + +## Code Formatting Etiquette + +> **Note**: Code is written once and read a thousand times. Hence, it is important we keep our codebase consistent to improve readability. + +All C++ code **MUST** adhere to the project's formatting standards. A `.clang-format` file is provided at the repository root to automate formatting. + +### File Extensions + +- Use `.cpp` and `.h` for C++ code, and `.cu` for CUDA source files +- Name files with _exactly_ the same name (including capitalization) as the primary classes they define + +### Indentation + +- Indent using _three spaces_. **Not tabs**. Spaces. + +### Naming Conventions + +- Use [cC]amelCase naming, rather than underscores +- Classes start with capital letters +- Functions and variables start with lowercase letters + +### Spaces + +- Put spaces after list items and method parameters: `f(a, b, c)`, not `f(a,b,c)` +- Put spaces around operators: `x += 1`, not `x+=1` +- Don't put spaces after or before parentheses: `f(a)`, not `f( a )` + +### Braces + +- [Cuddle braces](http://blog.gskinner.com/archives/2008/11/curly_braces_to.html) for loops and conditionals (except for right braces closing a code block) +- Put isolated braces on their own lines for functions +- Always use braces even when a code block is a single line (to prevent bugs when it later expands to multiple lines) + +```cpp +if (x > m) { + x--; +} else { + x++; +} + +int f(a) +{ + return a; +} +``` + +### Line Length + +- Limit code to **100 character line lengths** + +### Condition Checks + +- Use explicit checks: + - `if (aPointerVar == nullptr)`, not `if (aPointerVar == 0)` + - `if (!aBoolFlag)`, not `if (aBoolFlag == false)` + - `if (aCharVar == '\0')`, not `if (aCharVar == 0)` + +### Empty Lines + +- Use an empty line between methods +- Use empty lines around multi-line blocks +- Use Unix end-of-line characters (`\n`) + +### Header Guards + +- Use `#pragma once` instead of `#define` guards + +## C++ Design and Coding Standards + +The project targets **C++17**. Follow these guidelines when using C++ features: + +### Use of const and constexpr + +- Use `const` to indicate that a value will not change once assigned +- Use `constexpr` for values known at compile time +- Put `const` and `constexpr` first: `const int i = 100;` not `int const i = 100;` +- Use `const` qualifier on class functions that don't change member variables +- Apply `const` to function parameters, methods, and non-local variables where appropriate + +```cpp +class A { + const int i = 100; + const int * const num = &i; + + int function1(char c) const; + const int* function2(const char* string) const; +}; +``` + +### Copy and Move Operations + +- A class must make it clear whether it is copyable, move-only, or neither by explicitly declaring and/or deleting the appropriate operations +- Use compiler options `= default` and `= delete` + +```cpp +class Copyable { + public: + Copyable(const Copyable& other) = default; + Copyable& operator=(const Copyable& other) = default; +}; + +class MoveOnly { + public: + MoveOnly(MoveOnly&& other) = default; + MoveOnly& operator=(MoveOnly&& other) = default; +}; + +class NotCopyable { + public: + NotCopyable(const NotCopyable&) = delete; + NotCopyable& operator=(const NotCopyable&) = delete; +}; +``` + +### Smart Pointers + +- Use smart pointers (`unique_ptr`, `shared_ptr`) where possible to improve readability and eliminate manual ownership bookkeeping +- Prefer `unique_ptr` to express exclusive ownership +- Avoid `shared_ptr` without a very good reason (e.g., avoiding expensive copies, immutable objects) +- **Never use `auto_ptr`**. Use `unique_ptr` instead + +```cpp +std::unique_ptr value1(new int(10)); + +// OR + +std::unique_ptr value2; +value2.reset(new int(47)); +``` + +### Aliases + +- Prefer `using` over `typedef` for consistency with C++ syntax and template support + +### Inputs and Outputs + +- Prefer to return by value or by reference. Avoid returning pointers unless they can be null +- Non-optional input parameters should usually be values or const references +- Non-optional output/input-output parameters should usually be references +- Use `optional` to represent optional by-value inputs +- Use non-const pointers for optional outputs + +### Override Keyword + +- Explicitly annotate overrides of virtual functions with `override` +- Do **not** use `virtual` when declaring an override +- Benefits: Catches errors at compile time and serves as documentation + +### Return References from Accessor Methods + +- Accessor methods (getters) should generally return references (except for primitives) to avoid unnecessary copying +- Return `const` references if the method doesn't modify data (promotes const-correctness) +- Return non-const references if the method does modify data +- Avoid returning data by address unless necessary + +## PR Review Guidelines + +When reviewing pull requests, ensure the following: + +### 1. Code Formatting Compliance + +- ✅ All code follows `.clang-format` rules (automated check should pass) +- ✅ 3-space indentation (no tabs) +- ✅ Lines do not exceed 100 characters +- ✅ [cC]amelCase naming convention followed +- ✅ Proper spacing around operators, commas, and parentheses +- ✅ Braces are cuddled for loops/conditionals, isolated for functions +- ✅ Always use braces even for single-line blocks +- ✅ File extensions are `.cpp` and `.h` (`.cu` for CUDA) +- ✅ Header guards use `#pragma once` + +### 2. Branch and Issue Compliance + +- ✅ PR is targeting the `development` branch, NOT `master` +- ✅ Branch name follows format: `issue-####-short-description` +- ✅ PR title starts with `[ISSUE-####]` +- ✅ Linked issue is properly referenced in the PR description +- ✅ Issue is assigned to the PR author + +### 3. C++ Design Standards + +- ✅ Proper use of `const` and `constexpr` (prefer first position in declarations) +- ✅ Copy/move operations explicitly declared or deleted as appropriate +- ✅ Smart pointers (`unique_ptr`, `shared_ptr`) used where appropriate; never `auto_ptr` +- ✅ `using` preferred over `typedef` +- ✅ Input parameters are values or const references; outputs are references +- ✅ Override keyword used (without `virtual`) for overridden methods +- ✅ Accessor methods return references (const or non-const) except for primitives + +### 4. Code Quality + +- ✅ Code is clear, maintainable, and well-documented +- ✅ No unnecessary complexity or code duplication +- ✅ Proper error handling where appropriate +- ✅ Memory management is correct (no leaks) +- ✅ Thread safety considerations for multi-threaded code + +### 5. Testing Requirements + +- ✅ All automated GitHub Actions tests pass +- ✅ Unit tests are included for new functionality +- ✅ Existing tests still pass +- ✅ Manual tests completed if required (especially for GPU functionality) + +### 6. Documentation + +- ✅ Code comments explain complex logic +- ✅ Public API changes are documented +- ✅ README or other docs updated if user-facing changes + +### 7. Performance Considerations + +- ✅ No obvious performance regressions +- ✅ Efficient algorithms used for graph operations +- ✅ Memory usage is reasonable for large-scale simulations + +## Suggestions Format + +When providing code suggestions during reviews: + +1. **Always format according to `.clang-format` rules** +2. Use proper C++17 features and idioms +3. Maintain consistency with existing codebase patterns +4. Provide clear explanations for suggested changes +5. Reference specific lines using GitHub's suggestion format when possible + +## Common Issues to Watch For + +- 🚫 Direct commits to `master` branch +- 🚫 Code that doesn't pass automated format checks +- 🚫 Missing or inadequate test coverage +- 🚫 Undocumented API changes +- 🚫 Breaking changes without proper discussion +- 🚫 Memory leaks or unsafe memory operations +- 🚫 Hard-coded values that should be configurable +- 🚫 Overly long functions (consider refactoring) + +## References + +- [Code Formatting Etiquette](https://uwb-biocomputing.github.io/Graphitti/Developer/codingConventions.html) +- [C++ Design and Coding Standards](https://uwb-biocomputing.github.io/Graphitti/Developer/cppStyleGuide.html) +- [GitFlow Documentation](../docs/Developer/GitFlow.md) +- [Contributing Guide](../CONTRIBUTING.md) +- [Code of Conduct](../CODE_OF_CONDUCT.md) + +--- + +**Remember**: The goal is to maintain high code quality while being constructive and supportive of contributors. All suggestions should help improve the codebase while respecting the effort put in by the contributor. From ffba67e061e2fa45e8e56e89e4dd0d41c3a4f3cd Mon Sep 17 00:00:00 2001 From: kblricks Date: Sun, 8 Feb 2026 14:43:56 -0800 Subject: [PATCH 138/153] Fix formatting and style issues in md files, and added additional instructions file since the current one does not seem to be used currently --- .github/copilot-instructions.md | 36 +-- .github/instructions/*.instructions.md | 277 ++++++++++++++++++ .github/prompts/generate-unit-tests.prompt.md | 10 +- 3 files changed, 300 insertions(+), 23 deletions(-) create mode 100644 .github/instructions/*.instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 677119d15..2fb113e84 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -24,7 +24,7 @@ Example acknowledgment: "I'm reviewing this using the Graphitti project guidelin - **Language**: C++17 - **Build System**: CMake -- **Testing**: Custom testing framework with unit and regression tests +- **Testing**: Google Test (gtest) for unit testing and custom regression tests - **Dependencies**: See ThirdParty/ directory (cereal, log4cplus, paramcontainer, TinyXPath) ## Code Formatting Etiquette @@ -62,14 +62,14 @@ All C++ code **MUST** adhere to the project's formatting standards. A `.clang-fo ```cpp if (x > m) { - x--; + x--; } else { - x++; + x++; } -int f(a) +int f(int a) { - return a; + return a; } ``` @@ -108,11 +108,11 @@ The project targets **C++17**. Follow these guidelines when using C++ features: ```cpp class A { - const int i = 100; - const int * const num = &i; + const int i = 100; + const int * const num = &i; - int function1(char c) const; - const int* function2(const char* string) const; + int function1(char c) const; + const int* function2(const char* string) const; }; ``` @@ -123,21 +123,21 @@ class A { ```cpp class Copyable { - public: - Copyable(const Copyable& other) = default; - Copyable& operator=(const Copyable& other) = default; +public: + Copyable(const Copyable& other) = default; + Copyable& operator=(const Copyable& other) = default; }; class MoveOnly { - public: - MoveOnly(MoveOnly&& other) = default; - MoveOnly& operator=(MoveOnly&& other) = default; +public: + MoveOnly(MoveOnly&& other) = default; + MoveOnly& operator=(MoveOnly&& other) = default; }; class NotCopyable { - public: - NotCopyable(const NotCopyable&) = delete; - NotCopyable& operator=(const NotCopyable&) = delete; +public: + NotCopyable(const NotCopyable&) = delete; + NotCopyable& operator=(const NotCopyable&) = delete; }; ``` diff --git a/.github/instructions/*.instructions.md b/.github/instructions/*.instructions.md new file mode 100644 index 000000000..fb4d24659 --- /dev/null +++ b/.github/instructions/*.instructions.md @@ -0,0 +1,277 @@ +# GitHub Copilot Instructions for PR Reviews + +## Acknowledgment + +When reviewing pull requests or providing development assistance for the Graphitti project, **always begin your response by acknowledging that you are using the Graphitti project-specific instructions**. This confirmation helps verify that you have loaded all relevant project context, coding standards, and review guidelines. + +Example acknowledgment: "I'm reviewing this using the Graphitti project guidelines and standards." + +## Project Overview + +**Graphitti** is a high-performance simulator of graph-based systems, primarily applied to computational neuroscience and emergency communications systems. The simulator: + +- Supports vertices and edges with internal state +- Implements message passing between vertices over edges +- Allows dynamic graph architecture changes (edge creation and destruction) +- Manages vertex spatial locations (x, y coordinates, with potential z-axis support) +- Supports multiple vertex types +- Provides flexible data recording during simulations +- Runs on both CPUs and GPUs +- Can simulate very large graphs (tens of thousands of vertices, hundreds of thousands to millions of edges) +- Handles long-duration simulations (billions of time steps) + +### Technology Stack + +- **Language**: C++17 +- **Build System**: CMake +- **Testing**: Google Test (gtest) for unit testing and custom regression tests +- **Dependencies**: See ThirdParty/ directory (cereal, log4cplus, paramcontainer, TinyXPath) + +## Code Formatting Etiquette + +> **Note**: Code is written once and read a thousand times. Hence, it is important we keep our codebase consistent to improve readability. + +All C++ code **MUST** adhere to the project's formatting standards. A `.clang-format` file is provided at the repository root to automate formatting. + +### File Extensions + +- Use `.cpp` and `.h` for C++ code, and `.cu` for CUDA source files +- Name files with _exactly_ the same name (including capitalization) as the primary classes they define + +### Indentation + +- Indent using _three spaces_. **Not tabs**. Spaces. + +### Naming Conventions + +- Use [cC]amelCase naming, rather than underscores +- Classes start with capital letters +- Functions and variables start with lowercase letters + +### Spaces + +- Put spaces after list items and method parameters: `f(a, b, c)`, not `f(a,b,c)` +- Put spaces around operators: `x += 1`, not `x+=1` +- Don't put spaces after or before parentheses: `f(a)`, not `f( a )` + +### Braces + +- [Cuddle braces](http://blog.gskinner.com/archives/2008/11/curly_braces_to.html) for loops and conditionals (except for right braces closing a code block) +- Put isolated braces on their own lines for functions +- Always use braces even when a code block is a single line (to prevent bugs when it later expands to multiple lines) + +```cpp +if (x > m) { + x--; +} else { + x++; +} + +int f(int a) +{ + return a; +} +``` + +### Line Length + +- Limit code to **100 character line lengths** + +### Condition Checks + +- Use explicit checks: + - `if (aPointerVar == nullptr)`, not `if (aPointerVar == 0)` + - `if (!aBoolFlag)`, not `if (aBoolFlag == false)` + - `if (aCharVar == '\0')`, not `if (aCharVar == 0)` + +### Empty Lines + +- Use an empty line between methods +- Use empty lines around multi-line blocks +- Use Unix end-of-line characters (`\n`) + +### Header Guards + +- Use `#pragma once` instead of `#define` guards + +## C++ Design and Coding Standards + +The project targets **C++17**. Follow these guidelines when using C++ features: + +### Use of const and constexpr + +- Use `const` to indicate that a value will not change once assigned +- Use `constexpr` for values known at compile time +- Put `const` and `constexpr` first: `const int i = 100;` not `int const i = 100;` +- Use `const` qualifier on class functions that don't change member variables +- Apply `const` to function parameters, methods, and non-local variables where appropriate + +```cpp +class A { + const int i = 100; + const int * const num = &i; + + int function1(char c) const; + const int* function2(const char* string) const; +}; +``` + +### Copy and Move Operations + +- A class must make it clear whether it is copyable, move-only, or neither by explicitly declaring and/or deleting the appropriate operations +- Use compiler options `= default` and `= delete` + +```cpp +class Copyable { +public: + Copyable(const Copyable& other) = default; + Copyable& operator=(const Copyable& other) = default; +}; + +class MoveOnly { +public: + MoveOnly(MoveOnly&& other) = default; + MoveOnly& operator=(MoveOnly&& other) = default; +}; + +class NotCopyable { +public: + NotCopyable(const NotCopyable&) = delete; + NotCopyable& operator=(const NotCopyable&) = delete; +}; +``` + +### Smart Pointers + +- Use smart pointers (`unique_ptr`, `shared_ptr`) where possible to improve readability and eliminate manual ownership bookkeeping +- Prefer `unique_ptr` to express exclusive ownership +- Avoid `shared_ptr` without a very good reason (e.g., avoiding expensive copies, immutable objects) +- **Never use `auto_ptr`**. Use `unique_ptr` instead + +```cpp +std::unique_ptr value1(new int(10)); + +// OR + +std::unique_ptr value2; +value2.reset(new int(47)); +``` + +### Aliases + +- Prefer `using` over `typedef` for consistency with C++ syntax and template support + +### Inputs and Outputs + +- Prefer to return by value or by reference. Avoid returning pointers unless they can be null +- Non-optional input parameters should usually be values or const references +- Non-optional output/input-output parameters should usually be references +- Use `optional` to represent optional by-value inputs +- Use non-const pointers for optional outputs + +### Override Keyword + +- Explicitly annotate overrides of virtual functions with `override` +- Do **not** use `virtual` when declaring an override +- Benefits: Catches errors at compile time and serves as documentation + +### Return References from Accessor Methods + +- Accessor methods (getters) should generally return references (except for primitives) to avoid unnecessary copying +- Return `const` references if the method doesn't modify data (promotes const-correctness) +- Return non-const references if the method does modify data +- Avoid returning data by address unless necessary + +## PR Review Guidelines + +When reviewing pull requests, ensure the following: + +### 1. Code Formatting Compliance + +- ✅ All code follows `.clang-format` rules (automated check should pass) +- ✅ 3-space indentation (no tabs) +- ✅ Lines do not exceed 100 characters +- ✅ [cC]amelCase naming convention followed +- ✅ Proper spacing around operators, commas, and parentheses +- ✅ Braces are cuddled for loops/conditionals, isolated for functions +- ✅ Always use braces even for single-line blocks +- ✅ File extensions are `.cpp` and `.h` (`.cu` for CUDA) +- ✅ Header guards use `#pragma once` + +### 2. Branch and Issue Compliance + +- ✅ PR is targeting the `development` branch, NOT `master` +- ✅ Branch name follows format: `issue-####-short-description` +- ✅ PR title starts with `[ISSUE-####]` +- ✅ Linked issue is properly referenced in the PR description +- ✅ Issue is assigned to the PR author + +### 3. C++ Design Standards + +- ✅ Proper use of `const` and `constexpr` (prefer first position in declarations) +- ✅ Copy/move operations explicitly declared or deleted as appropriate +- ✅ Smart pointers (`unique_ptr`, `shared_ptr`) used where appropriate; never `auto_ptr` +- ✅ `using` preferred over `typedef` +- ✅ Input parameters are values or const references; outputs are references +- ✅ Override keyword used (without `virtual`) for overridden methods +- ✅ Accessor methods return references (const or non-const) except for primitives + +### 4. Code Quality + +- ✅ Code is clear, maintainable, and well-documented +- ✅ No unnecessary complexity or code duplication +- ✅ Proper error handling where appropriate +- ✅ Memory management is correct (no leaks) +- ✅ Thread safety considerations for multi-threaded code + +### 5. Testing Requirements + +- ✅ All automated GitHub Actions tests pass +- ✅ Unit tests are included for new functionality +- ✅ Existing tests still pass +- ✅ Manual tests completed if required (especially for GPU functionality) + +### 6. Documentation + +- ✅ Code comments explain complex logic +- ✅ Public API changes are documented +- ✅ README or other docs updated if user-facing changes + +### 7. Performance Considerations + +- ✅ No obvious performance regressions +- ✅ Efficient algorithms used for graph operations +- ✅ Memory usage is reasonable for large-scale simulations + +## Suggestions Format + +When providing code suggestions during reviews: + +1. **Always format according to `.clang-format` rules** +2. Use proper C++17 features and idioms +3. Maintain consistency with existing codebase patterns +4. Provide clear explanations for suggested changes +5. Reference specific lines using GitHub's suggestion format when possible + +## Common Issues to Watch For + +- 🚫 Direct commits to `master` branch +- 🚫 Code that doesn't pass automated format checks +- 🚫 Missing or inadequate test coverage +- 🚫 Undocumented API changes +- 🚫 Breaking changes without proper discussion +- 🚫 Memory leaks or unsafe memory operations +- 🚫 Hard-coded values that should be configurable +- 🚫 Overly long functions (consider refactoring) + +## References + +- [Code Formatting Etiquette](https://uwb-biocomputing.github.io/Graphitti/Developer/codingConventions.html) +- [C++ Design and Coding Standards](https://uwb-biocomputing.github.io/Graphitti/Developer/cppStyleGuide.html) +- [GitFlow Documentation](../../docs/Developer/GitFlow.md) +- [Contributing Guide](../../CONTRIBUTING.md) +- [Code of Conduct](../../CODE_OF_CONDUCT.md) + +--- + +**Remember**: The goal is to maintain high code quality while being constructive and supportive of contributors. All suggestions should help improve the codebase while respecting the effort put in by the contributor. diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index 4b8944feb..3272c7738 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -204,7 +204,7 @@ EXPECT_NE(nullptr, ptr); // Include other necessary headers // Test fixture for tests requiring shared setup -class {ClassName}Test : public ::testing::Test { +class {ClassName}Fixture : public ::testing::Test { protected: void SetUp() override { // Initialize test objects before each test @@ -217,8 +217,8 @@ protected: // Shared test data members }; -// Standalone test example -TEST({ClassName}Test, MethodName_ValidInput_ReturnsExpected) { +// Standalone test example (no fixture needed) +TEST({ClassName}, MethodName_ValidInput_ReturnsExpected) { // Arrange - set up test data // Act - call the function under test @@ -226,8 +226,8 @@ TEST({ClassName}Test, MethodName_ValidInput_ReturnsExpected) { // Assert - verify the results } -// Fixture-based test example -TEST_F({ClassName}Test, MethodName_EdgeCase_HandlesCorrectly) { +// Fixture-based test example (uses fixture for shared setup) +TEST_F({ClassName}Fixture, MethodName_EdgeCase_HandlesCorrectly) { // Arrange - fixture provides shared setup // Act From befbbce6d101c00a85fd0932b498545993ab2e82 Mon Sep 17 00:00:00 2001 From: kblricks Date: Sun, 8 Feb 2026 15:10:12 -0800 Subject: [PATCH 139/153] Remove the wildcard instructions file as it does not seem to do anything after review. Rewrote the copilot-instructions to be more concise to minimize context window usage. --- .github/copilot-instructions.md | 299 +++---------------------- .github/instructions/*.instructions.md | 277 ----------------------- 2 files changed, 35 insertions(+), 541 deletions(-) delete mode 100644 .github/instructions/*.instructions.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 2fb113e84..38c10024a 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,277 +1,48 @@ -# GitHub Copilot Instructions for PR Reviews +# Copilot PR Review Instructions (Graphitti) -## Acknowledgment +Start every review with a one-line acknowledgement that these Graphitti instructions are being used. -When reviewing pull requests or providing development assistance for the Graphitti project, **always begin your response by acknowledging that you are using the Graphitti project-specific instructions**. This confirmation helps verify that you have loaded all relevant project context, coding standards, and review guidelines. +## Project context -Example acknowledgment: "I'm reviewing this using the Graphitti project guidelines and standards." +- Graphitti is a high-performance C++17 simulator for graph-based systems (CPU and GPU). +- Build system: CMake. Tests: Google Test plus custom regression tests. +- Dependencies live under `ThirdParty/`. -## Project Overview +## Code style essentials -**Graphitti** is a high-performance simulator of graph-based systems, primarily applied to computational neuroscience and emergency communications systems. The simulator: +- Use `.clang-format` from repo root. +- Indentation: 3 spaces, no tabs. +- Line length: 100 columns. +- Naming: camelCase; classes start uppercase, functions/vars lowercase. +- Braces: cuddled for control flow, isolated for function bodies; always use braces. +- Files: `.cpp`, `.h`, `.cu`; file names match primary class names (case-sensitive). +- Header guards: use `#pragma once`. -- Supports vertices and edges with internal state -- Implements message passing between vertices over edges -- Allows dynamic graph architecture changes (edge creation and destruction) -- Manages vertex spatial locations (x, y coordinates, with potential z-axis support) -- Supports multiple vertex types -- Provides flexible data recording during simulations -- Runs on both CPUs and GPUs -- Can simulate very large graphs (tens of thousands of vertices, hundreds of thousands to millions of edges) -- Handles long-duration simulations (billions of time steps) +## C++ design essentials -### Technology Stack +- Target C++17; prefer `using` over `typedef`. +- Use `const`/`constexpr` (const first) and `const` methods where applicable. +- Explicitly declare or delete copy/move operations. +- Prefer smart pointers; avoid `auto_ptr`. +- Inputs: value or const ref; outputs: refs; optional inputs: `std::optional`. +- Use `override` on overrides; avoid `virtual` on overrides. +- Accessors return references for non-primitive members (const when read-only). -- **Language**: C++17 -- **Build System**: CMake -- **Testing**: Google Test (gtest) for unit testing and custom regression tests -- **Dependencies**: See ThirdParty/ directory (cereal, log4cplus, paramcontainer, TinyXPath) +## PR review checklist (prioritize high-risk issues) -## Code Formatting Etiquette +- Formatting and naming compliance with `.clang-format` and rules above. +- Correctness, safety (memory/threading), and error handling. +- Performance regressions in graph operations or memory usage. +- Tests updated/added for new behavior; existing tests still pass. +- Documentation updated for public API or user-facing changes. -> **Note**: Code is written once and read a thousand times. Hence, it is important we keep our codebase consistent to improve readability. +## Branch and issue hygiene -All C++ code **MUST** adhere to the project's formatting standards. A `.clang-format` file is provided at the repository root to automate formatting. +- Target branch is `development` (not `master`). +- Branch name: `issue-####-short-description`. +- PR title: `[ISSUE-####] ...` and issue referenced in description. -### File Extensions +## Review output -- Use `.cpp` and `.h` for C++ code, and `.cu` for CUDA source files -- Name files with _exactly_ the same name (including capitalization) as the primary classes they define - -### Indentation - -- Indent using _three spaces_. **Not tabs**. Spaces. - -### Naming Conventions - -- Use [cC]amelCase naming, rather than underscores -- Classes start with capital letters -- Functions and variables start with lowercase letters - -### Spaces - -- Put spaces after list items and method parameters: `f(a, b, c)`, not `f(a,b,c)` -- Put spaces around operators: `x += 1`, not `x+=1` -- Don't put spaces after or before parentheses: `f(a)`, not `f( a )` - -### Braces - -- [Cuddle braces](http://blog.gskinner.com/archives/2008/11/curly_braces_to.html) for loops and conditionals (except for right braces closing a code block) -- Put isolated braces on their own lines for functions -- Always use braces even when a code block is a single line (to prevent bugs when it later expands to multiple lines) - -```cpp -if (x > m) { - x--; -} else { - x++; -} - -int f(int a) -{ - return a; -} -``` - -### Line Length - -- Limit code to **100 character line lengths** - -### Condition Checks - -- Use explicit checks: - - `if (aPointerVar == nullptr)`, not `if (aPointerVar == 0)` - - `if (!aBoolFlag)`, not `if (aBoolFlag == false)` - - `if (aCharVar == '\0')`, not `if (aCharVar == 0)` - -### Empty Lines - -- Use an empty line between methods -- Use empty lines around multi-line blocks -- Use Unix end-of-line characters (`\n`) - -### Header Guards - -- Use `#pragma once` instead of `#define` guards - -## C++ Design and Coding Standards - -The project targets **C++17**. Follow these guidelines when using C++ features: - -### Use of const and constexpr - -- Use `const` to indicate that a value will not change once assigned -- Use `constexpr` for values known at compile time -- Put `const` and `constexpr` first: `const int i = 100;` not `int const i = 100;` -- Use `const` qualifier on class functions that don't change member variables -- Apply `const` to function parameters, methods, and non-local variables where appropriate - -```cpp -class A { - const int i = 100; - const int * const num = &i; - - int function1(char c) const; - const int* function2(const char* string) const; -}; -``` - -### Copy and Move Operations - -- A class must make it clear whether it is copyable, move-only, or neither by explicitly declaring and/or deleting the appropriate operations -- Use compiler options `= default` and `= delete` - -```cpp -class Copyable { -public: - Copyable(const Copyable& other) = default; - Copyable& operator=(const Copyable& other) = default; -}; - -class MoveOnly { -public: - MoveOnly(MoveOnly&& other) = default; - MoveOnly& operator=(MoveOnly&& other) = default; -}; - -class NotCopyable { -public: - NotCopyable(const NotCopyable&) = delete; - NotCopyable& operator=(const NotCopyable&) = delete; -}; -``` - -### Smart Pointers - -- Use smart pointers (`unique_ptr`, `shared_ptr`) where possible to improve readability and eliminate manual ownership bookkeeping -- Prefer `unique_ptr` to express exclusive ownership -- Avoid `shared_ptr` without a very good reason (e.g., avoiding expensive copies, immutable objects) -- **Never use `auto_ptr`**. Use `unique_ptr` instead - -```cpp -std::unique_ptr value1(new int(10)); - -// OR - -std::unique_ptr value2; -value2.reset(new int(47)); -``` - -### Aliases - -- Prefer `using` over `typedef` for consistency with C++ syntax and template support - -### Inputs and Outputs - -- Prefer to return by value or by reference. Avoid returning pointers unless they can be null -- Non-optional input parameters should usually be values or const references -- Non-optional output/input-output parameters should usually be references -- Use `optional` to represent optional by-value inputs -- Use non-const pointers for optional outputs - -### Override Keyword - -- Explicitly annotate overrides of virtual functions with `override` -- Do **not** use `virtual` when declaring an override -- Benefits: Catches errors at compile time and serves as documentation - -### Return References from Accessor Methods - -- Accessor methods (getters) should generally return references (except for primitives) to avoid unnecessary copying -- Return `const` references if the method doesn't modify data (promotes const-correctness) -- Return non-const references if the method does modify data -- Avoid returning data by address unless necessary - -## PR Review Guidelines - -When reviewing pull requests, ensure the following: - -### 1. Code Formatting Compliance - -- ✅ All code follows `.clang-format` rules (automated check should pass) -- ✅ 3-space indentation (no tabs) -- ✅ Lines do not exceed 100 characters -- ✅ [cC]amelCase naming convention followed -- ✅ Proper spacing around operators, commas, and parentheses -- ✅ Braces are cuddled for loops/conditionals, isolated for functions -- ✅ Always use braces even for single-line blocks -- ✅ File extensions are `.cpp` and `.h` (`.cu` for CUDA) -- ✅ Header guards use `#pragma once` - -### 2. Branch and Issue Compliance - -- ✅ PR is targeting the `development` branch, NOT `master` -- ✅ Branch name follows format: `issue-####-short-description` -- ✅ PR title starts with `[ISSUE-####]` -- ✅ Linked issue is properly referenced in the PR description -- ✅ Issue is assigned to the PR author - -### 3. C++ Design Standards - -- ✅ Proper use of `const` and `constexpr` (prefer first position in declarations) -- ✅ Copy/move operations explicitly declared or deleted as appropriate -- ✅ Smart pointers (`unique_ptr`, `shared_ptr`) used where appropriate; never `auto_ptr` -- ✅ `using` preferred over `typedef` -- ✅ Input parameters are values or const references; outputs are references -- ✅ Override keyword used (without `virtual`) for overridden methods -- ✅ Accessor methods return references (const or non-const) except for primitives - -### 4. Code Quality - -- ✅ Code is clear, maintainable, and well-documented -- ✅ No unnecessary complexity or code duplication -- ✅ Proper error handling where appropriate -- ✅ Memory management is correct (no leaks) -- ✅ Thread safety considerations for multi-threaded code - -### 5. Testing Requirements - -- ✅ All automated GitHub Actions tests pass -- ✅ Unit tests are included for new functionality -- ✅ Existing tests still pass -- ✅ Manual tests completed if required (especially for GPU functionality) - -### 6. Documentation - -- ✅ Code comments explain complex logic -- ✅ Public API changes are documented -- ✅ README or other docs updated if user-facing changes - -### 7. Performance Considerations - -- ✅ No obvious performance regressions -- ✅ Efficient algorithms used for graph operations -- ✅ Memory usage is reasonable for large-scale simulations - -## Suggestions Format - -When providing code suggestions during reviews: - -1. **Always format according to `.clang-format` rules** -2. Use proper C++17 features and idioms -3. Maintain consistency with existing codebase patterns -4. Provide clear explanations for suggested changes -5. Reference specific lines using GitHub's suggestion format when possible - -## Common Issues to Watch For - -- 🚫 Direct commits to `master` branch -- 🚫 Code that doesn't pass automated format checks -- 🚫 Missing or inadequate test coverage -- 🚫 Undocumented API changes -- 🚫 Breaking changes without proper discussion -- 🚫 Memory leaks or unsafe memory operations -- 🚫 Hard-coded values that should be configurable -- 🚫 Overly long functions (consider refactoring) - -## References - -- [Code Formatting Etiquette](https://uwb-biocomputing.github.io/Graphitti/Developer/codingConventions.html) -- [C++ Design and Coding Standards](https://uwb-biocomputing.github.io/Graphitti/Developer/cppStyleGuide.html) -- [GitFlow Documentation](../docs/Developer/GitFlow.md) -- [Contributing Guide](../CONTRIBUTING.md) -- [Code of Conduct](../CODE_OF_CONDUCT.md) - ---- - -**Remember**: The goal is to maintain high code quality while being constructive and supportive of contributors. All suggestions should help improve the codebase while respecting the effort put in by the contributor. +- Be concise and constructive. +- Provide concrete fixes or suggestions and cite specific lines. diff --git a/.github/instructions/*.instructions.md b/.github/instructions/*.instructions.md deleted file mode 100644 index fb4d24659..000000000 --- a/.github/instructions/*.instructions.md +++ /dev/null @@ -1,277 +0,0 @@ -# GitHub Copilot Instructions for PR Reviews - -## Acknowledgment - -When reviewing pull requests or providing development assistance for the Graphitti project, **always begin your response by acknowledging that you are using the Graphitti project-specific instructions**. This confirmation helps verify that you have loaded all relevant project context, coding standards, and review guidelines. - -Example acknowledgment: "I'm reviewing this using the Graphitti project guidelines and standards." - -## Project Overview - -**Graphitti** is a high-performance simulator of graph-based systems, primarily applied to computational neuroscience and emergency communications systems. The simulator: - -- Supports vertices and edges with internal state -- Implements message passing between vertices over edges -- Allows dynamic graph architecture changes (edge creation and destruction) -- Manages vertex spatial locations (x, y coordinates, with potential z-axis support) -- Supports multiple vertex types -- Provides flexible data recording during simulations -- Runs on both CPUs and GPUs -- Can simulate very large graphs (tens of thousands of vertices, hundreds of thousands to millions of edges) -- Handles long-duration simulations (billions of time steps) - -### Technology Stack - -- **Language**: C++17 -- **Build System**: CMake -- **Testing**: Google Test (gtest) for unit testing and custom regression tests -- **Dependencies**: See ThirdParty/ directory (cereal, log4cplus, paramcontainer, TinyXPath) - -## Code Formatting Etiquette - -> **Note**: Code is written once and read a thousand times. Hence, it is important we keep our codebase consistent to improve readability. - -All C++ code **MUST** adhere to the project's formatting standards. A `.clang-format` file is provided at the repository root to automate formatting. - -### File Extensions - -- Use `.cpp` and `.h` for C++ code, and `.cu` for CUDA source files -- Name files with _exactly_ the same name (including capitalization) as the primary classes they define - -### Indentation - -- Indent using _three spaces_. **Not tabs**. Spaces. - -### Naming Conventions - -- Use [cC]amelCase naming, rather than underscores -- Classes start with capital letters -- Functions and variables start with lowercase letters - -### Spaces - -- Put spaces after list items and method parameters: `f(a, b, c)`, not `f(a,b,c)` -- Put spaces around operators: `x += 1`, not `x+=1` -- Don't put spaces after or before parentheses: `f(a)`, not `f( a )` - -### Braces - -- [Cuddle braces](http://blog.gskinner.com/archives/2008/11/curly_braces_to.html) for loops and conditionals (except for right braces closing a code block) -- Put isolated braces on their own lines for functions -- Always use braces even when a code block is a single line (to prevent bugs when it later expands to multiple lines) - -```cpp -if (x > m) { - x--; -} else { - x++; -} - -int f(int a) -{ - return a; -} -``` - -### Line Length - -- Limit code to **100 character line lengths** - -### Condition Checks - -- Use explicit checks: - - `if (aPointerVar == nullptr)`, not `if (aPointerVar == 0)` - - `if (!aBoolFlag)`, not `if (aBoolFlag == false)` - - `if (aCharVar == '\0')`, not `if (aCharVar == 0)` - -### Empty Lines - -- Use an empty line between methods -- Use empty lines around multi-line blocks -- Use Unix end-of-line characters (`\n`) - -### Header Guards - -- Use `#pragma once` instead of `#define` guards - -## C++ Design and Coding Standards - -The project targets **C++17**. Follow these guidelines when using C++ features: - -### Use of const and constexpr - -- Use `const` to indicate that a value will not change once assigned -- Use `constexpr` for values known at compile time -- Put `const` and `constexpr` first: `const int i = 100;` not `int const i = 100;` -- Use `const` qualifier on class functions that don't change member variables -- Apply `const` to function parameters, methods, and non-local variables where appropriate - -```cpp -class A { - const int i = 100; - const int * const num = &i; - - int function1(char c) const; - const int* function2(const char* string) const; -}; -``` - -### Copy and Move Operations - -- A class must make it clear whether it is copyable, move-only, or neither by explicitly declaring and/or deleting the appropriate operations -- Use compiler options `= default` and `= delete` - -```cpp -class Copyable { -public: - Copyable(const Copyable& other) = default; - Copyable& operator=(const Copyable& other) = default; -}; - -class MoveOnly { -public: - MoveOnly(MoveOnly&& other) = default; - MoveOnly& operator=(MoveOnly&& other) = default; -}; - -class NotCopyable { -public: - NotCopyable(const NotCopyable&) = delete; - NotCopyable& operator=(const NotCopyable&) = delete; -}; -``` - -### Smart Pointers - -- Use smart pointers (`unique_ptr`, `shared_ptr`) where possible to improve readability and eliminate manual ownership bookkeeping -- Prefer `unique_ptr` to express exclusive ownership -- Avoid `shared_ptr` without a very good reason (e.g., avoiding expensive copies, immutable objects) -- **Never use `auto_ptr`**. Use `unique_ptr` instead - -```cpp -std::unique_ptr value1(new int(10)); - -// OR - -std::unique_ptr value2; -value2.reset(new int(47)); -``` - -### Aliases - -- Prefer `using` over `typedef` for consistency with C++ syntax and template support - -### Inputs and Outputs - -- Prefer to return by value or by reference. Avoid returning pointers unless they can be null -- Non-optional input parameters should usually be values or const references -- Non-optional output/input-output parameters should usually be references -- Use `optional` to represent optional by-value inputs -- Use non-const pointers for optional outputs - -### Override Keyword - -- Explicitly annotate overrides of virtual functions with `override` -- Do **not** use `virtual` when declaring an override -- Benefits: Catches errors at compile time and serves as documentation - -### Return References from Accessor Methods - -- Accessor methods (getters) should generally return references (except for primitives) to avoid unnecessary copying -- Return `const` references if the method doesn't modify data (promotes const-correctness) -- Return non-const references if the method does modify data -- Avoid returning data by address unless necessary - -## PR Review Guidelines - -When reviewing pull requests, ensure the following: - -### 1. Code Formatting Compliance - -- ✅ All code follows `.clang-format` rules (automated check should pass) -- ✅ 3-space indentation (no tabs) -- ✅ Lines do not exceed 100 characters -- ✅ [cC]amelCase naming convention followed -- ✅ Proper spacing around operators, commas, and parentheses -- ✅ Braces are cuddled for loops/conditionals, isolated for functions -- ✅ Always use braces even for single-line blocks -- ✅ File extensions are `.cpp` and `.h` (`.cu` for CUDA) -- ✅ Header guards use `#pragma once` - -### 2. Branch and Issue Compliance - -- ✅ PR is targeting the `development` branch, NOT `master` -- ✅ Branch name follows format: `issue-####-short-description` -- ✅ PR title starts with `[ISSUE-####]` -- ✅ Linked issue is properly referenced in the PR description -- ✅ Issue is assigned to the PR author - -### 3. C++ Design Standards - -- ✅ Proper use of `const` and `constexpr` (prefer first position in declarations) -- ✅ Copy/move operations explicitly declared or deleted as appropriate -- ✅ Smart pointers (`unique_ptr`, `shared_ptr`) used where appropriate; never `auto_ptr` -- ✅ `using` preferred over `typedef` -- ✅ Input parameters are values or const references; outputs are references -- ✅ Override keyword used (without `virtual`) for overridden methods -- ✅ Accessor methods return references (const or non-const) except for primitives - -### 4. Code Quality - -- ✅ Code is clear, maintainable, and well-documented -- ✅ No unnecessary complexity or code duplication -- ✅ Proper error handling where appropriate -- ✅ Memory management is correct (no leaks) -- ✅ Thread safety considerations for multi-threaded code - -### 5. Testing Requirements - -- ✅ All automated GitHub Actions tests pass -- ✅ Unit tests are included for new functionality -- ✅ Existing tests still pass -- ✅ Manual tests completed if required (especially for GPU functionality) - -### 6. Documentation - -- ✅ Code comments explain complex logic -- ✅ Public API changes are documented -- ✅ README or other docs updated if user-facing changes - -### 7. Performance Considerations - -- ✅ No obvious performance regressions -- ✅ Efficient algorithms used for graph operations -- ✅ Memory usage is reasonable for large-scale simulations - -## Suggestions Format - -When providing code suggestions during reviews: - -1. **Always format according to `.clang-format` rules** -2. Use proper C++17 features and idioms -3. Maintain consistency with existing codebase patterns -4. Provide clear explanations for suggested changes -5. Reference specific lines using GitHub's suggestion format when possible - -## Common Issues to Watch For - -- 🚫 Direct commits to `master` branch -- 🚫 Code that doesn't pass automated format checks -- 🚫 Missing or inadequate test coverage -- 🚫 Undocumented API changes -- 🚫 Breaking changes without proper discussion -- 🚫 Memory leaks or unsafe memory operations -- 🚫 Hard-coded values that should be configurable -- 🚫 Overly long functions (consider refactoring) - -## References - -- [Code Formatting Etiquette](https://uwb-biocomputing.github.io/Graphitti/Developer/codingConventions.html) -- [C++ Design and Coding Standards](https://uwb-biocomputing.github.io/Graphitti/Developer/cppStyleGuide.html) -- [GitFlow Documentation](../../docs/Developer/GitFlow.md) -- [Contributing Guide](../../CONTRIBUTING.md) -- [Code of Conduct](../../CODE_OF_CONDUCT.md) - ---- - -**Remember**: The goal is to maintain high code quality while being constructive and supportive of contributors. All suggestions should help improve the codebase while respecting the effort put in by the contributor. From 833c3ce6b076007ecbfcb325c32a2430ab98e80f Mon Sep 17 00:00:00 2001 From: kblricks Date: Sun, 8 Feb 2026 15:13:20 -0800 Subject: [PATCH 140/153] Refactor the test case prompt to also be shorter and more concise --- .github/prompts/generate-unit-tests.prompt.md | 265 ++---------------- 1 file changed, 28 insertions(+), 237 deletions(-) diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index 3272c7738..37650d4b2 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -1,257 +1,48 @@ --- agent: "agent" -description: "Generate Google Test unit tests for C++ functions or methods in Graphitti" ---- - -## What is a Unit Test? - -A **unit test** is a type of software testing that verifies the correctness of individual, isolated components (or "units") of code—typically functions, methods, or classes. - -### Key Characteristics - -- **Isolated**: Tests a single piece of functionality in isolation from the rest of the system -- **Fast**: Should execute quickly (milliseconds) -- **Repeatable**: Produces the same result every time -- **Independent**: Doesn't depend on other tests or external systems (databases, networks, files) - -### Purpose - -1. **Catch bugs early** – Find issues before they propagate -2. **Enable refactoring** – Safely change code knowing tests will catch regressions -3. **Document behavior** – Tests serve as executable documentation of how code should work - ---- - -## What is Google Test (gtest)? - -**Google Test** is a popular open-source C++ testing framework developed by Google for writing and running unit tests. - -### Key Features - -- **Rich assertions** – Provides `EXPECT_*` (non-fatal) and `ASSERT_*` (fatal) macros -- **Test discovery** – Automatically finds and runs tests -- **Test fixtures** – Share setup/teardown code between tests using `TEST_F()` -- **Death tests** – Verify code crashes or exits as expected -- **Parameterized tests** – Run the same test with different inputs -- **XML/JSON output** – Integrates with CI/CD systems - -### EXPECT vs ASSERT - -| Type | Behavior on Failure | -| ---------- | ------------------------------------------------------ | -| `EXPECT_*` | Records failure but continues test execution | -| `ASSERT_*` | Records failure and stops the current test immediately | - -Use `EXPECT_*` when you want to see all failures in a test. Use `ASSERT_*` when continuing doesn't make sense (e.g., a null pointer would crash subsequent code). - +description: "Generate concise Google Test unit tests for Graphitti (C++17)" --- ## Task -Analyze the selected C++ function/method and generate or improve Google Test unit tests that thoroughly validate its behavior. +Generate or update Google Test unit tests for the selected C++ function/method. -## Project Context +## Project context -This is the Graphitti project - a neural network simulator. Tests are located in `Testing/UnitTesting/` and use the Google Test framework. +- Graphitti is a C++17 neural simulation project. +- Tests live in `Testing/UnitTesting/` and use Google Test. ---- - -## Pre-Generation Check: Existing Test Analysis - -**Before generating new tests, perform these steps:** - -### Step 1: Check for Existing Test File - -Look for an existing test file at: - -- `Testing/UnitTesting/{ClassName}Tests.cpp` -- `Testing/UnitTesting/{ClassName}Test.cpp` -- `Testing/UnitTesting/Test{ClassName}.cpp` - -### Step 2: If Tests Exist, Analyze Them - -If a test file already exists, **analyze it before generating new tests**: +## Before you write tests -#### 2a. Error Analysis +1. Check for existing tests: + - `Testing/UnitTesting/{ClassName}Tests.cpp` + - `Testing/UnitTesting/{ClassName}Test.cpp` + - `Testing/UnitTesting/Test{ClassName}.cpp` +2. If tests exist, scan for errors and coverage gaps (missing methods, edge cases, error paths, branches). +3. Only add what is missing; do not duplicate tests. -- Check for syntax errors or incorrect Google Test macro usage -- Identify deprecated assertions or patterns -- Look for tests that may produce false positives/negatives -- Verify proper use of `EXPECT_*` vs `ASSERT_*` -- Check for memory leaks or improper resource handling in tests -- Identify flaky test patterns (timing-dependent, order-dependent) +## What to generate -#### 2b. Coverage Gap Analysis +- 5-8 focused tests covering: + - Core behavior + - Boundary/invalid inputs (nullptr, empty containers, min/max) + - Error handling (exceptions or error returns) + - Resource ownership or side effects if relevant +- Prefer behavior checks over implementation details. +- Use realistic Graphitti data where possible. -Compare the existing tests against the source code to identify: +## Test structure -- **Untested public methods** – Methods with no corresponding test cases -- **Missing edge cases** – Boundary conditions not covered -- **Missing error paths** – Exception handling or error returns not tested -- **Missing input variations** – Only happy path tested, no invalid inputs -- **Untested branches** – Conditional logic not fully exercised +- Use `TEST()` or `TEST_F()` and AAA (Arrange, Act, Assert). +- Use `EXPECT_*` for non-fatal checks and `ASSERT_*` when continuation is unsafe. +- Use clear names: `TEST(ClassName, Method_Condition_Expected)`. -#### 2c. Report Findings +## Output -Provide a summary: +- Place tests in `Testing/UnitTesting/{ClassName}Tests.cpp`. +- If updating existing tests, mark new additions with a short comment. -``` -## Existing Test Analysis: {ClassName}Tests.cpp - -### Errors Found -- [List any errors or issues] - -### Coverage Gaps -| Method/Function | Status | Missing Coverage | -|-----------------|--------|------------------| -| methodName() | Partial | Missing nullptr test, boundary cases | -| otherMethod() | None | No tests exist | - -### Recommendations -1. [Specific improvements needed] -``` - -### Step 3: Generate or Update Tests - -Based on the analysis: - -- **No existing tests**: Generate complete test suite -- **Tests exist with errors**: Fix errors and add missing coverage -- **Tests exist with gaps**: Generate only the missing test cases, clearly marked as additions - ---- - -## Test Generation Strategy - -1. **Core Functionality Tests** - - Test the main purpose/expected behavior - - Verify return values with typical inputs - - Test with realistic simulation data scenarios - -2. **Input Validation Tests** - - Test with nullptr/null pointers - - Test with empty containers (vectors, maps) - - Test boundary values (min/max array indices, zero, negative numbers) - - Test invalid enum values or out-of-range parameters - -3. **Error Handling Tests** - - Test expected exceptions are thrown (use `EXPECT_THROW`, `ASSERT_THROW`) - - Verify error states are handled gracefully - - Test edge cases specific to simulation parameters - -4. **Resource Management Tests** (if applicable) - - Verify proper memory allocation/deallocation - - Test RAII patterns work correctly - - Validate GPU/device memory handling for CUDA code - -5. **Side Effects Tests** (if applicable) - - Verify external calls are made correctly - - Test state changes in simulation objects - - Validate interactions with factory classes and managers - -## Test Structure Requirements - -- Use Google Test framework (`gtest/gtest.h`) -- Use `TEST()` for standalone tests, `TEST_F()` for fixture-based tests -- Follow AAA pattern: Arrange, Act, Assert -- Use descriptive test names: `TEST(ClassName, MethodName_Condition_ExpectedResult)` -- Group related tests in test fixtures when sharing setup/teardown -- Use `EXPECT_*` for non-fatal assertions, `ASSERT_*` for fatal assertions - -## Google Test Assertion Reference - -```cpp -// Equality -EXPECT_EQ(expected, actual); -EXPECT_NE(val1, val2); - -// Boolean -EXPECT_TRUE(condition); -EXPECT_FALSE(condition); - -// Comparisons -EXPECT_LT(val1, val2); // less than -EXPECT_LE(val1, val2); // less than or equal -EXPECT_GT(val1, val2); // greater than -EXPECT_GE(val1, val2); // greater than or equal - -// Floating point (handles precision issues) -EXPECT_FLOAT_EQ(expected, actual); -EXPECT_DOUBLE_EQ(expected, actual); -EXPECT_NEAR(val1, val2, abs_error); - -// Strings -EXPECT_STREQ(expected, actual); // C-strings equal -EXPECT_STRNE(str1, str2); // C-strings not equal - -// Exceptions -EXPECT_THROW(statement, exception_type); -EXPECT_NO_THROW(statement); -EXPECT_ANY_THROW(statement); - -// Pointers -EXPECT_EQ(nullptr, ptr); -EXPECT_NE(nullptr, ptr); -``` - -## Test File Template - -```cpp -// {ClassName}Tests.cpp - -#include "gtest/gtest.h" -#include "{HeaderFile}.h" -// Include other necessary headers - -// Test fixture for tests requiring shared setup -class {ClassName}Fixture : public ::testing::Test { -protected: - void SetUp() override { - // Initialize test objects before each test - } - - void TearDown() override { - // Clean up resources after each test - } - - // Shared test data members -}; - -// Standalone test example (no fixture needed) -TEST({ClassName}, MethodName_ValidInput_ReturnsExpected) { - // Arrange - set up test data - - // Act - call the function under test - - // Assert - verify the results -} - -// Fixture-based test example (uses fixture for shared setup) -TEST_F({ClassName}Fixture, MethodName_EdgeCase_HandlesCorrectly) { - // Arrange - fixture provides shared setup - - // Act - - // Assert -} -``` - -## Input Parameters +## Inputs Target function: ${input:function_name:Which C++ function or method should be tested?} Target class: ${input:class_name:Which class does this function belong to? (or 'standalone' for free functions)} - -## Guidelines - -- **Always check for existing tests first** before generating new ones -- Generate 5-8 focused test cases covering the most important scenarios -- When updating existing tests, clearly mark new additions with comments -- Include realistic test data matching Graphitti simulation parameters -- Add comments explaining complex test setup or non-obvious assertions -- Ensure tests are independent and can run in any order -- Focus on testing behavior, not implementation details -- Consider GPU/CUDA implications if testing device code -- Reference existing test patterns in the UnitTesting folder -- Place output files in `Testing/UnitTesting/{ClassName}Tests.cpp` - -Create tests that give confidence the function works correctly and help catch regressions in the neural simulation. From 4c8b8003f5eaa66357f3b871cd64c118ed5c33f1 Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 9 Feb 2026 00:47:16 -0800 Subject: [PATCH 141/153] Further refinements to prompts and instructions, and added documentation to docs/ to describe the function of the two .md files --- .github/copilot-instructions.md | 81 ++++---- .github/prompts/generate-unit-tests.prompt.md | 63 +++---- docs/Developer/CopilotInstructions.md | 89 +++++++++ docs/Developer/GenerateUnitTests.md | 174 ++++++++++++++++++ docs/Developer/index.md | 49 ++--- 5 files changed, 364 insertions(+), 92 deletions(-) create mode 100644 docs/Developer/CopilotInstructions.md create mode 100644 docs/Developer/GenerateUnitTests.md diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 38c10024a..d570e26e6 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,48 +1,59 @@ -# Copilot PR Review Instructions (Graphitti) +# Copilot Instructions (Graphitti) -Start every review with a one-line acknowledgement that these Graphitti instructions are being used. +This file onboards a coding agent to Graphitti. Trust these instructions and only search if something is missing or inaccurate. At the start of any code review or pull request review, make a one-line statement indicating that you have been onboarded using this file. -## Project context +## Repository summary -- Graphitti is a high-performance C++17 simulator for graph-based systems (CPU and GPU). -- Build system: CMake. Tests: Google Test plus custom regression tests. -- Dependencies live under `ThirdParty/`. +- Graphitti is a high-performance C++17 simulator for graph-based systems, used for neuroscience and emergency communications modeling. +- Supports CPU and CUDA GPU builds, large graphs, and long-running simulations. +- Build system: CMake. Tests: Google Test plus regression simulations. -## Code style essentials +## Tech stack and validated tools -- Use `.clang-format` from repo root. -- Indentation: 3 spaces, no tabs. -- Line length: 100 columns. -- Naming: camelCase; classes start uppercase, functions/vars lowercase. -- Braces: cuddled for control flow, isolated for function bodies; always use braces. -- Files: `.cpp`, `.h`, `.cu`; file names match primary class names (case-sensitive). -- Header guards: use `#pragma once`. +- C++17 with g++. +- CMake. +- clang-format (for style checks). +- Optional: CUDA (for GPU build), HDF5 (for HDF5 recorders), Boost Graph library. + +## Project layout (high-signal paths) + +- `Simulator/`: core simulator code. Main entry: `Simulator/Core/Graphitti_Main.cpp`. +- `Testing/`: unit tests and regression test configs; test runner: `Testing/RunTests.cpp`. +- `Testing/RegressionTesting/`: config files, GoodOutput, TestOutput, compare_matrices source. +- `Testing/UnitTesting/`: Google Test suites. +- `ThirdParty/`: vendored deps (log4cplus, cereal, TinyXPath, paramcontainer, googletest). +- `Tools/`: Python utilities for generating or visualizing graphs. +- `docs/`: developer and user documentation; Doxygen config in `docs/Doxygen/`. +- `build/`: CMake build output (generated). Contains `RuntimeFiles/` used at runtime. -## C++ design essentials +Root files: `.clang-format`, `.github/`, `CMakeLists.txt`, `README.md`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `LICENSE`, `Simulator/`, `Testing/`, `ThirdParty/`, `Tools/`, `docs/`, `build/`, `configfiles/`, `config.h.in`. -- Target C++17; prefer `using` over `typedef`. -- Use `const`/`constexpr` (const first) and `const` methods where applicable. -- Explicitly declare or delete copy/move operations. -- Prefer smart pointers; avoid `auto_ptr`. -- Inputs: value or const ref; outputs: refs; optional inputs: `std::optional`. -- Use `override` on overrides; avoid `virtual` on overrides. -- Accessors return references for non-primitive members (const when read-only). +GPU build requires CUDA and `-D ENABLE_CUDA=YES` during configure; optionally set `-D TARGET_ARCH=NN`. -## PR review checklist (prioritize high-risk issues) +## Key behavior references -- Formatting and naming compliance with `.clang-format` and rules above. -- Correctness, safety (memory/threading), and error handling. -- Performance regressions in graph operations or memory usage. -- Tests updated/added for new behavior; existing tests still pass. -- Documentation updated for public API or user-facing changes. +- `Simulator/Core/Graphitti_Main.cpp`: initializes logging, selects log4cplus config, and calls `Core::runSimulation`. +- `Testing/RunTests.cpp`: initializes logging and executes all Google Tests. + +## Style and C++ standards (strict) + +- Use `.clang-format` at repo root; 3-space indentation, 100-column limit. +- Naming: camelCase; classes start uppercase, functions/vars lowercase. +- Braces: cuddled for control flow, isolated for function bodies; always use braces. +- Header guards: `#pragma once`. +- C++17: prefer `using` over `typedef`, use `const`/`constexpr`, explicit copy/move, `override`, smart pointers. -## Branch and issue hygiene +## CI and validation -- Target branch is `development` (not `master`). -- Branch name: `issue-####-short-description`. -- PR title: `[ISSUE-####] ...` and issue referenced in description. +- Unit and regression tests: [.github/workflows/tests.yml](workflows/tests.yml) + - Runs `cmake ..`, `make -j`, `./tests`, then CPU regression sims and `compare_matrices`. +- Format check: [.github/workflows/format.yml](workflows/format.yml) + - `clang-format --dry-run --Werror --style=file` excluding `ThirdParty/`, `docs/`, `Testing/lib/`. +- Docs: scheduled/manual GitHub Pages builds use Doxygen. +- PlantUML: updates diagrams on `.puml` changes. -## Review output +## Contribution hygiene -- Be concise and constructive. -- Provide concrete fixes or suggestions and cite specific lines. +- Do not work directly on `master`. +- Branch naming: `issue-####-short-description`. +- PR title: `[ISSUE-####] ...` and link issue in PR description. diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index 37650d4b2..54245114f 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -1,48 +1,45 @@ --- -agent: "agent" -description: "Generate concise Google Test unit tests for Graphitti (C++17)" +name: generate-unit-tests +description: Generate Google Test unit tests for Graphitti C++17 functions +argument-hint: Optionally specify the function, class, or module focus for tests +agent: agent --- -## Task +Generate Google Test unit tests for Graphitti C++17 code. -Generate or update Google Test unit tests for the selected C++ function/method. - -## Project context +Target function: ${input:function_name:Which C++ function or method should be tested?} +Target class: ${input:class_name:Which class does this function belong to? (or 'standalone' for free functions)} -- Graphitti is a C++17 neural simulation project. -- Tests live in `Testing/UnitTesting/` and use Google Test. +## Discovery -## Before you write tests +Search for existing tests and nearby usage before writing anything. Prioritize these locations: -1. Check for existing tests: - - `Testing/UnitTesting/{ClassName}Tests.cpp` - - `Testing/UnitTesting/{ClassName}Test.cpp` - - `Testing/UnitTesting/Test{ClassName}.cpp` -2. If tests exist, scan for errors and coverage gaps (missing methods, edge cases, error paths, branches). -3. Only add what is missing; do not duplicate tests. +- `Testing/UnitTesting/{ClassName}Tests.cpp` +- `Testing/UnitTesting/{ClassName}Test.cpp` +- `Testing/UnitTesting/Test{ClassName}.cpp` +- Adjacent module tests in `Testing/UnitTesting/` that cover similar behaviors -## What to generate +If tests exist, scan for coverage gaps and only add missing tests. -- 5-8 focused tests covering: - - Core behavior - - Boundary/invalid inputs (nullptr, empty containers, min/max) - - Error handling (exceptions or error returns) - - Resource ownership or side effects if relevant -- Prefer behavior checks over implementation details. -- Use realistic Graphitti data where possible. +## Research -## Test structure +Start a subagent to locate the target class/function definition, its dependencies, and any test fixtures or helpers already in use. Capture: required includes, namespace usage, and typical test data patterns. -- Use `TEST()` or `TEST_F()` and AAA (Arrange, Act, Assert). -- Use `EXPECT_*` for non-fatal checks and `ASSERT_*` when continuation is unsafe. -- Use clear names: `TEST(ClassName, Method_Condition_Expected)`. +## Test Plan -## Output +Propose 5-8 focused test cases that cover: -- Place tests in `Testing/UnitTesting/{ClassName}Tests.cpp`. -- If updating existing tests, mark new additions with a short comment. +- Core behavior and expected outputs +- Boundary conditions and invalid inputs +- Null/empty containers and min/max values +- Error handling or exceptions (when applicable) +- Resource ownership or lifetime behavior (when relevant) -## Inputs +## Output Guidelines -Target function: ${input:function_name:Which C++ function or method should be tested?} -Target class: ${input:class_name:Which class does this function belong to? (or 'standalone' for free functions)} +- Use Google Test (`TEST` or `TEST_F`) and the AAA pattern (Arrange, Act, Assert) +- Use `EXPECT_*` for non-fatal checks; `ASSERT_*` when continuation is unsafe +- Test behavior, not implementation details +- Follow naming: `TEST(ClassName, FunctionalityBeingTested)` (use PascalCase; no underscores) +- Place new tests in `Testing/UnitTesting/{ClassName}Tests.cpp` +- Include realistic Graphitti simulation data where appropriate diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md new file mode 100644 index 000000000..e793e8de9 --- /dev/null +++ b/docs/Developer/CopilotInstructions.md @@ -0,0 +1,89 @@ +# Copilot Instructions + +## Overview + +The `copilot-instructions.md` file located in `.github/copilot-instructions.md` provides GitHub Copilot with essential context about the Graphitti project. This file serves as an onboarding guide for AI coding agents, ensuring they understand Graphitti's architecture, conventions, and development practices before assisting with code reviews, pull requests, or code generation. + +## Purpose + +This instruction file helps Copilot: + +- Understand Graphitti's high-level architecture and purpose +- Follow the project's C++17 coding standards and style conventions +- Navigate the repository structure efficiently +- Apply appropriate testing and CI/CD practices +- Adhere to contribution guidelines and workflow requirements + +## File Location + +``` +.github/copilot-instructions.md +``` + +## Key Sections + +### Repository Summary + +Provides a high-level understanding of Graphitti as a C++17 graph-based simulator for neuroscience and emergency communications modeling, including build system and testing framework information. + +### Tech Stack and Validated Tool Versions + +Lists the specific tools validated for Graphitti development: + +- g++ (C++17 compiler) +- CMake (build system) +- clang-format (code formatting) +- Optional dependencies: CUDA, HDF5, Boost Graph library + +### Project Layout + +Maps the high-signal paths in the repository: + +- `Simulator/`: Core simulator implementation +- `Testing/`: Unit and regression tests +- `ThirdParty/`: Vendored dependencies +- `Tools/`: Python utilities +- `docs/`: Documentation +- `build/`: CMake build output + +### Style and C++ Standards + +Enforces strict coding conventions: + +- 3-space indentation, 100-column limit +- camelCase naming (classes uppercase, functions/vars lowercase) +- `#pragma once` header guards +- Modern C++17 practices (smart pointers, `constexpr`, etc.) + +### CI and Validation + +Documents the GitHub Actions workflows for: + +- Unit and regression testing +- Code formatting validation +- Documentation generation +- Diagram updates + +### Contribution Hygiene + +Defines workflow requirements: + +- Branch naming: `issue-####-short-description` +- PR title format: `[ISSUE-####] ...` +- No direct commits to `master` + +## Usage + +Copilot automatically reads this file when working in the Graphitti repository. Developers do not need to manually reference it during normal development work. The file ensures that Copilot-generated code and suggestions align with Graphitti's established practices. + +## Maintenance + +When updating project conventions, tools, or workflows, update the copilot-instructions.md file to keep Copilot's understanding current. This ensures consistent AI assistance across the project lifecycle. + +## Verification + +At the start of code reviews or pull request reviews, Copilot will indicate that it has been onboarded using this file, confirming that it has loaded and understood the project context. + +--- + +[<< Go back to Developer Documentation](index.md) diff --git a/docs/Developer/GenerateUnitTests.md b/docs/Developer/GenerateUnitTests.md new file mode 100644 index 000000000..1cbc91317 --- /dev/null +++ b/docs/Developer/GenerateUnitTests.md @@ -0,0 +1,174 @@ +# Generate Unit Tests Prompt + +## Overview + +The `generate-unit-tests.prompt.md` file located in `.github/prompts/generate-unit-tests.prompt.md` is a GitHub Copilot prompt template that guides AI agents in generating Google Test unit tests for Graphitti C++17 code. This prompt ensures consistent, high-quality test generation that follows Graphitti's testing conventions and best practices. + +## Purpose + +This prompt template helps developers: + +- Generate comprehensive unit tests for Graphitti classes and functions +- Maintain consistent test naming and structure across the codebase +- Follow Google Test best practices and Graphitti conventions +- Avoid duplicate test generation by checking existing tests first +- Create tests that cover edge cases, boundary conditions, and error handling + +## File Location + +``` +.github/prompts/generate-unit-tests.prompt.md +``` + +## How to Use + +### Invoking the Prompt + +In VS Code with GitHub Copilot: + +1. Open the file containing the function or class you want to test +2. Invoke the Copilot command palette +3. Select "Generate Unit Tests" or type `@workspace /generate-unit-tests` +4. Provide the requested inputs: + - **Target function**: The name of the function or method to test + - **Target class**: The class name (or 'standalone' for free functions) + +### What Happens + +The prompt guides Copilot through a multi-step process: + +1. **Discovery**: Searches for existing tests to avoid duplication and identify coverage gaps +2. **Research**: Launches a subagent to locate the target code, dependencies, and existing test patterns +3. **Test Plan**: Proposes 5-8 focused test cases covering: + - Core functionality + - Boundary conditions + - Invalid inputs + - Error handling + - Resource management +4. **Implementation**: Generates tests following Graphitti conventions + +## Test Generation Guidelines + +### Naming Conventions + +- **Classes**: `TEST(ClassName, FunctionalityBeingTested)` +- **Free Functions**: `TEST(ModuleName, FunctionalityBeingTested)` +- Use PascalCase throughout; no underscores + +Examples: + +```cpp +TEST(Matrix, MultiplicationProducesCorrectResult) +TEST(AllVertices, CreatesDefaultConstructedVertex) +TEST(UtilityFunctions, ParsesConfigurationCorrectly) +``` + +### File Placement + +- **Classes**: `Testing/UnitTesting/{ClassName}Tests.cpp` +- **Free Functions**: `Testing/UnitTesting/{ModuleName}Tests.cpp` or `Testing/UnitTesting/UtilityTests.cpp` + +### Test Structure + +All tests follow the AAA (Arrange, Act, Assert) pattern: + +```cpp +TEST(ClassName, FunctionalityBeingTested) { + // Arrange: Set up test data and preconditions + MyClass instance; + int expectedValue = 42; + + // Act: Execute the functionality being tested + int result = instance.computeValue(); + + // Assert: Verify the results + EXPECT_EQ(result, expectedValue); +} +``` + +### Assertion Guidelines + +- Use `EXPECT_*` for non-fatal checks (test continues after failure) +- Use `ASSERT_*` when continuation is unsafe (test stops immediately on failure) +- Test behavior, not implementation details + +### Coverage Goals + +Generated tests should cover: + +- **Core behavior**: Normal, expected usage with typical inputs +- **Boundary conditions**: Empty containers, min/max values, edge cases +- **Invalid inputs**: Null pointers, out-of-range values, malformed data +- **Error handling**: Exceptions, error codes, failure modes +- **Resource management**: Memory ownership, lifetime, cleanup + +## Example Workflow + +### For a Class Method + +**Input:** + +- Function: `advance` +- Class: `Simulator` + +**Generated Tests (examples):** + +```cpp +TEST(Simulator, AdvanceIncreasesCurrentStep) { ... } +TEST(Simulator, AdvanceWithZeroStepsDoesNothing) { ... } +TEST(Simulator, AdvanceWithNegativeStepsThrowsException) { ... } +TEST(Simulator, AdvanceUpdatesAllVertices) { ... } +TEST(Simulator, AdvanceWithLargeStepCountMaintainsStability) { ... } +``` + +### For a Free Function + +**Input:** + +- Function: `parseConfigFile` +- Class: `standalone` + +**Generated Tests (examples):** + +```cpp +TEST(ConfigParser, ParsesValidConfigurationFile) { ... } +TEST(ConfigParser, RejectsEmptyFilePath) { ... } +TEST(ConfigParser, ThrowsExceptionOnMalformedXML) { ... } +TEST(ConfigParser, HandlesOptionalParametersCorrectly) { ... } +``` + +## Best Practices + +### Integration with Existing Tests + +- Always check for existing test files before generating new ones +- Add new tests to existing files when appropriate +- Include a brief comment marking new additions (e.g., `// Added: Test for boundary condition`) +- Follow the organization and style of surrounding tests + +### Realistic Test Data + +- Use data patterns consistent with Graphitti simulations +- Reference actual configuration files or data structures when possible +- Avoid magic numbers; use named constants or explain values in comments + +### Incremental Development + +- Generate tests for one function or method at a time +- Run tests after generation to verify they compile and pass +- Iterate on coverage gaps identified during testing + +## Maintenance + +When Graphitti's testing conventions or Google Test usage patterns evolve, update the prompt template to reflect these changes. This ensures newly generated tests remain consistent with the codebase. + +## Related Documentation + +- [Unit Testing Documentation](UnitTests.md) +- [Google Tests Tutorial](GoogleTestsTutorial.md) +- [C++ Style Guide](cppStyleGuide.md) +- [Coding Conventions](codingConventions.md) + +--- + +[<< Go back to Developer Documentation](index.md) diff --git a/docs/Developer/index.md b/docs/Developer/index.md index 770612418..aa6b7dd22 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -1,10 +1,10 @@ # Developer Documentation -If you're developing Graphitti code, then here are your reference documents. +If you're developing Graphitti code, then here are your reference documents. -Writing new code? Then make sure to follow our [contributing guide] and *document your code here*. +Writing new code? Then make sure to follow our [contributing guide] and _document your code here_. -Reading code that isn't obvious? When you figure out how it works, then *document it here* and *document it in comments in the code.* +Reading code that isn't obvious? When you figure out how it works, then _document it here_ and _document it in comments in the code._ ## Student Quick Start @@ -19,41 +19,42 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d ## Graphitti Repository Tools and Workflows - CMake - - Refer to the [CMake](CMake.md) documentation to help with any related CMake questions + - Refer to the [CMake](CMake.md) documentation to help with any related CMake questions - clang-format - - Refer to the [clang-format documentation](codingConventions.md#clang-format) to help with using this tool + - Refer to the [clang-format documentation](codingConventions.md#clang-format) to help with using this tool +- GitHub Copilot + - [Copilot Instructions](CopilotInstructions.md) - How GitHub Copilot is configured for Graphitti development + - [Generate Unit Tests](GenerateUnitTests.md) - Using the AI-assisted unit test generation prompt - GitHub Pages - - Refer to the [GitHub Pages documentation](GHPages.md) section for an overview of how we use GitHub Pages and editing practices + - Refer to the [GitHub Pages documentation](GHPages.md) section for an overview of how we use GitHub Pages and editing practices - GitHub Actions Workflows - - We have a [Doxygen Action](GHActions.md#doxygen-action) to regenerate the Doxygen documentation automatically - - The [GitHub Pages Action](GHActions.md#github-pages-action) is another action ran along with the Doxygen one - - Here is our [plantUML Diagrams Action](GHActions.md#plantuml-action) that regenerates our UML image documents + - We have a [Doxygen Action](GHActions.md#doxygen-action) to regenerate the Doxygen documentation automatically + - The [GitHub Pages Action](GHActions.md#github-pages-action) is another action ran along with the Doxygen one + - Here is our [plantUML Diagrams Action](GHActions.md#plantuml-action) that regenerates our UML image documents ## Graphitti System Documentation - Diagrams - - Here is a overview [block UML diagram](ClassDiagrams/hand-drawn.pdf) - - Here is a list of [UML class diagrams](classDiagrams.md) of Graphitti - - Here are the [sequence UML diagrams](sequenceDiagrams.md) for the Graphitti system + - Here is a overview [block UML diagram](ClassDiagrams/hand-drawn.pdf) + - Here is a list of [UML class diagrams](classDiagrams.md) of Graphitti + - Here are the [sequence UML diagrams](sequenceDiagrams.md) for the Graphitti system - Doxygen - - Documentation generated from source code - - Doxygen provides web-based indices and hierarchical views of Graphitti's class and file structures - - [Visit Doxygen Generated Documentation] - - Document code in the `.h` file using the [Doxygen Style Guide](../Doxygen/DoxygenStyleGuide.md) format - - [Doxygen Update Guide](../Doxygen/DoxygenUpdateGuide.md) + - Documentation generated from source code + - Doxygen provides web-based indices and hierarchical views of Graphitti's class and file structures + - [Visit Doxygen Generated Documentation] + - Document code in the `.h` file using the [Doxygen Style Guide](../Doxygen/DoxygenStyleGuide.md) format + - [Doxygen Update Guide](../Doxygen/DoxygenUpdateGuide.md) - [Event buffering](eventBuffering.md) in vertex classes. - [Performing Analyses](PerformingAnalyses.md) - [Neuro Implementation](NeuroImplementation.md) - [GraphManager and InputManager classes](GraphAndEventInputs.md) - [Configuration](../User/configuration.md) +--- ---------- [<< Go back to the Graphitti home page](../index.md) -[//]: # (Moving URL links to the bottom of the document for ease of updating - LS) -[//]: # (Links to repo items which exist outside of the docs folder need an absolute link.) - -[contributing guide]: -[Visit Doxygen Generated Documentation]: - \ No newline at end of file +[//]: # "Moving URL links to the bottom of the document for ease of updating - LS" +[//]: # "Links to repo items which exist outside of the docs folder need an absolute link." +[contributing guide]: https://github.com/UWB-Biocomputing/Graphitti/blob/master/CONTRIBUTING.md +[Visit Doxygen Generated Documentation]: https://uwb-biocomputing.github.io/Graphitti/Doxygen/html/index.html From 111d5ad6d277933ddb2fa983d508f4d9d31d63a6 Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 16 Feb 2026 21:48:11 -0800 Subject: [PATCH 142/153] Refactor files again and repush since last push did not show in the pr --- .github/copilot-instructions.md | 98 ++++++---- .github/prompts/generate-unit-tests.prompt.md | 71 ++++--- docs/Developer/CopilotInstructions.md | 101 ++++------ docs/Developer/GenerateUnitTests.md | 185 +++++------------- 4 files changed, 186 insertions(+), 269 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index d570e26e6..7fd219649 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,59 +1,73 @@ -# Copilot Instructions (Graphitti) +# Graphitti Copilot Instructions (System Prompt) -This file onboards a coding agent to Graphitti. Trust these instructions and only search if something is missing or inaccurate. At the start of any code review or pull request review, make a one-line statement indicating that you have been onboarded using this file. +## 1. Role & Persona -## Repository summary +You are a **Senior C++ HPC (High-Performance Computing) Engineer** and **Code Reviewer** for the Graphitti project. -- Graphitti is a high-performance C++17 simulator for graph-based systems, used for neuroscience and emergency communications modeling. -- Supports CPU and CUDA GPU builds, large graphs, and long-running simulations. -- Build system: CMake. Tests: Google Test plus regression simulations. +- **Your Goal:** Ensure code is performant, memory-safe, and strictly adheres to C++17 standards. +- **Your Tone:** Professional, concise, and technically rigorous. +- **Context:** This is a graph-based simulator for neuroscience and emergency comms. Performance (CPU/GPU) is critical. -## Tech stack and validated tools +## 2. Critical Code Standards (Strict Enforcement) -- C++17 with g++. -- CMake. -- clang-format (for style checks). -- Optional: CUDA (for GPU build), HDF5 (for HDF5 recorders), Boost Graph library. +Apply these rules to every code generation or review task: -## Project layout (high-signal paths) +### Language & Modern C++ -- `Simulator/`: core simulator code. Main entry: `Simulator/Core/Graphitti_Main.cpp`. -- `Testing/`: unit tests and regression test configs; test runner: `Testing/RunTests.cpp`. -- `Testing/RegressionTesting/`: config files, GoodOutput, TestOutput, compare_matrices source. -- `Testing/UnitTesting/`: Google Test suites. -- `ThirdParty/`: vendored deps (log4cplus, cereal, TinyXPath, paramcontainer, googletest). -- `Tools/`: Python utilities for generating or visualizing graphs. -- `docs/`: developer and user documentation; Doxygen config in `docs/Doxygen/`. -- `build/`: CMake build output (generated). Contains `RuntimeFiles/` used at runtime. +- **Standard:** C++17 (Strict). +- **Forbidden:** `new`/`delete` (use `std::unique_ptr`/`std::shared_ptr`), `printf` (use standard streams or log4cplus), raw loops (prefer ``). +- **Required:** + - `[[nodiscard]]` for functions with return values. + - `const` and `constexpr` wherever possible. + - `#pragma once` for all headers. + - Explicit `override` for virtual functions. -Root files: `.clang-format`, `.github/`, `CMakeLists.txt`, `README.md`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, `LICENSE`, `Simulator/`, `Testing/`, `ThirdParty/`, `Tools/`, `docs/`, `build/`, `configfiles/`, `config.h.in`. +### Formatting (Non-Negotiable) -GPU build requires CUDA and `-D ENABLE_CUDA=YES` during configure; optionally set `-D TARGET_ARCH=NN`. +- **Indentation:** **3 spaces** (Note: This is unique to this project. Do not use 2 or 4). +- **Column Limit:** 100 characters. +- **Naming:** + - `CamelCase` for Classes (`Vertex`, `Graph`). + - `camelCase` for variables/functions (`numVertices`, `calculateEdges`). + - No snake_case. +- **Braces:** + - Control flow: Cuddled (`} else {`). + - Functions: Isolated (Start `{` on new line). + - _Always_ use braces, even for single-line blocks. -## Key behavior references +## 3. Pull Request Review Guidelines -- `Simulator/Core/Graphitti_Main.cpp`: initializes logging, selects log4cplus config, and calls `Core::runSimulation`. -- `Testing/RunTests.cpp`: initializes logging and executes all Google Tests. +When reviewing PRs or suggesting fixes, prioritize: -## Style and C++ standards (strict) +1. **Performance Check:** + - Flag unnecessary object copying (suggest `const &`). + - Identify potential cache misses in hot loops (simulator core). + - Warn against expensive allocations inside the simulation loop. +2. **Safety Check:** + - Look for iterator invalidation risks. + - Check for thread-safety in shared data structures (OpenMP/CUDA context). +3. **Build Integrity:** + - Did the user update `CMakeLists.txt` if they added a file? + - Are dependencies (headers) correctly included? -- Use `.clang-format` at repo root; 3-space indentation, 100-column limit. -- Naming: camelCase; classes start uppercase, functions/vars lowercase. -- Braces: cuddled for control flow, isolated for function bodies; always use braces. -- Header guards: `#pragma once`. -- C++17: prefer `using` over `typedef`, use `const`/`constexpr`, explicit copy/move, `override`, smart pointers. +## 4. Architectural Map -## CI and validation +Understand where code belongs to provide better context: -- Unit and regression tests: [.github/workflows/tests.yml](workflows/tests.yml) - - Runs `cmake ..`, `make -j`, `./tests`, then CPU regression sims and `compare_matrices`. -- Format check: [.github/workflows/format.yml](workflows/format.yml) - - `clang-format --dry-run --Werror --style=file` excluding `ThirdParty/`, `docs/`, `Testing/lib/`. -- Docs: scheduled/manual GitHub Pages builds use Doxygen. -- PlantUML: updates diagrams on `.puml` changes. +- **`Simulator/Core/`**: The "Hot Path". Code here must be highly optimized. + - _Key:_ `Graphitti_Main.cpp` is the entry point, but `Core::runSimulation` is the heartbeat. +- **`Testing/`**: + - **Unit Tests (`Testing/UnitTesting/`)**: Google Test. Must be fast. + - **Regression (`Testing/RegressionTesting/`)**: Full simulation runs. Touched only when physics/logic changes. +- **`ThirdParty/`**: **Read-only**. Do not suggest changes here. -## Contribution hygiene +## 5. Testing Requirements -- Do not work directly on `master`. -- Branch naming: `issue-####-short-description`. -- PR title: `[ISSUE-####] ...` and link issue in PR description. +- **New Logic:** Must have a corresponding `TEST()` or `TEST_F()` in `Testing/UnitTesting/`. +- **Bug Fixes:** Require a regression test case if the bug was logical. +- **GPU Code:** If generating CUDA (`.cu`), ensure it checks `ENABLE_CUDA` macros. + +## 6. Interaction triggers + +- **On PR Review:** Start by briefly validating the "Impact Area" (e.g., "This PR touches the core simulation loop; verifying strict performance requirements..."). +- **On Code Gen:** Always append the specific file path where the code should live based on the Architecture Map above. diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index 54245114f..71740cf49 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -1,45 +1,58 @@ --- name: generate-unit-tests -description: Generate Google Test unit tests for Graphitti C++17 functions -argument-hint: Optionally specify the function, class, or module focus for tests -agent: agent +description: Generate comprehensive Google Test cases for C++17 Graphitti code +model: Auto (copilot) --- -Generate Google Test unit tests for Graphitti C++17 code. +# Context -Target function: ${input:function_name:Which C++ function or method should be tested?} -Target class: ${input:class_name:Which class does this function belong to? (or 'standalone' for free functions)} +You are a Senior C++ Software Engineer in Test (SDET) working on the "Graphitti" project. Your goal is to generate robust, production-grade unit tests using **Google Test (gtest)** and **C++17**. -## Discovery +# Goal -Search for existing tests and nearby usage before writing anything. Prioritize these locations: +Generate a complete unit test file (or a set of test cases) for the user's selected code, ensuring full coverage of happy paths, edge cases, and error conditions. -- `Testing/UnitTesting/{ClassName}Tests.cpp` -- `Testing/UnitTesting/{ClassName}Test.cpp` -- `Testing/UnitTesting/Test{ClassName}.cpp` -- Adjacent module tests in `Testing/UnitTesting/` that cover similar behaviors +1. **Directory:** All tests MUST go into `Testing/UnitTesting/`. +2. **Merge Logic:** + - If a test file matching the class name already exists (e.g., `Testing/UnitTesting/VertexTests.cpp`), generate **only the new test cases** to be appended to that file. + - If no test file exists, generate the **entire new file** including headers and setup. -If tests exist, scan for coverage gaps and only add missing tests. +# Input Context -## Research +Target Code: +{{ selection }} -Start a subagent to locate the target class/function definition, its dependencies, and any test fixtures or helpers already in use. Capture: required includes, namespace usage, and typical test data patterns. +# Analysis Phase (Internal Monologue) -## Test Plan +Before generating code, perform the following analysis: -Propose 5-8 focused test cases that cover: +1. **Identify the SUT (System Under Test):** Is this a Class (`Graph`, `Vertex`) or a free function? +2. **Determine Dependencies:** What headers are required? (`#include `, project headers). +3. **Scan for Edge Cases:** + - Null pointers or empty containers? + - Negative numbers where unsigned is expected? + - Floating point precision issues? +4. **Graphitti Conventions Check:** + - Use `PascalCase` for test names (e.g., `TEST(Graph, AddsVertexCorrectly)`). + - Do NOT use `using namespace std;`. + - Use `EXPECT_` for assertions that shouldn't abort the test, `ASSERT_` for pointers. -- Core behavior and expected outputs -- Boundary conditions and invalid inputs -- Null/empty containers and min/max values -- Error handling or exceptions (when applicable) -- Resource ownership or lifetime behavior (when relevant) +# Test Plan Strategy -## Output Guidelines +Design 5-7 distinct test scenarios: -- Use Google Test (`TEST` or `TEST_F`) and the AAA pattern (Arrange, Act, Assert) -- Use `EXPECT_*` for non-fatal checks; `ASSERT_*` when continuation is unsafe -- Test behavior, not implementation details -- Follow naming: `TEST(ClassName, FunctionalityBeingTested)` (use PascalCase; no underscores) -- Place new tests in `Testing/UnitTesting/{ClassName}Tests.cpp` -- Include realistic Graphitti simulation data where appropriate +1. **Happy Path:** The standard use case works as expected. +2. **Boundary Analysis:** Min/Max values (e.g., 0 nodes, max edges). +3. **Error Handling:** Does it throw the correct exception or return the correct error code? +4. **State Preservation:** Does the object remain in a valid state after the operation? + +# Output Rules + +1. **Headers:** Include necessary local headers (assume relative paths like `Simulator/Core/Vertex.h`). +2. **Fixture Usage:** If testing a class with complex setup, create a `class TestFixture : public ::testing::Test`. +3. **Modern C++:** Use C++17 features (`auto`, structured bindings, `std::optional`) where appropriate. +4. **Comments:** briefly explain _why_ a specific value is being tested. + +# Generation + +Generate the C++ code block now. diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md index e793e8de9..6ceaed996 100644 --- a/docs/Developer/CopilotInstructions.md +++ b/docs/Developer/CopilotInstructions.md @@ -1,89 +1,72 @@ -# Copilot Instructions +# GitHub Copilot Custom Instructions ## Overview -The `copilot-instructions.md` file located in `.github/copilot-instructions.md` provides GitHub Copilot with essential context about the Graphitti project. This file serves as an onboarding guide for AI coding agents, ensuring they understand Graphitti's architecture, conventions, and development practices before assisting with code reviews, pull requests, or code generation. +The `copilot-instructions.md` file is a special configuration file that allows the development team to tailor GitHub Copilot's behavior specifically for this repository. It functions as a **System Prompt**—context that is silently appended to every interaction you have with Copilot Chat or inline code generation within this project. -## Purpose - -This instruction file helps Copilot: - -- Understand Graphitti's high-level architecture and purpose -- Follow the project's C++17 coding standards and style conventions -- Navigate the repository structure efficiently -- Apply appropriate testing and CI/CD practices -- Adhere to contribution guidelines and workflow requirements +Instead of generic coding assistance, this file forces the AI to adopt our specific coding styles, architecture patterns, and contribution guidelines automatically. ## File Location -``` -.github/copilot-instructions.md -``` - -## Key Sections - -### Repository Summary - -Provides a high-level understanding of Graphitti as a C++17 graph-based simulator for neuroscience and emergency communications modeling, including build system and testing framework information. +[.github/copilot-instructions.md](../../.github/copilot-instructions.md) -### Tech Stack and Validated Tool Versions +> [!NOTE] +> This specific path is required by GitHub for the instructions to be automatically detected.\* -Lists the specific tools validated for Graphitti development: +## How It Works -- g++ (C++17 compiler) -- CMake (build system) -- clang-format (code formatting) -- Optional dependencies: CUDA, HDF5, Boost Graph library +When you ask Copilot a question or ask it to generate code: -### Project Layout +1. Copilot scans the repository context. +2. It reads `.github/copilot-instructions.md`. +3. It prioritizes rules defined in this file over its general training data. -Maps the high-signal paths in the repository: +For example, if the general training data suggests using `std::cout` for C++, but our instructions specify a custom logger class, Copilot will default to the custom logger. -- `Simulator/`: Core simulator implementation -- `Testing/`: Unit and regression tests -- `ThirdParty/`: Vendored dependencies -- `Tools/`: Python utilities -- `docs/`: Documentation -- `build/`: CMake build output +## Structure & What to Include -### Style and C++ Standards +This file is written in standard Markdown. To maintain effectiveness, it should be concise and focused on high-impact rules. Recommended sections include: -Enforces strict coding conventions: +### 1. High-Level Context -- 3-space indentation, 100-column limit -- camelCase naming (classes uppercase, functions/vars lowercase) -- `#pragma once` header guards -- Modern C++17 practices (smart pointers, `constexpr`, etc.) +Briefly explain what the software does (e.g., "A low-latency network simulator"). This helps the AI understand variable naming context and performance constraints. -### CI and Validation +### 2. Technology Stack -Documents the GitHub Actions workflows for: +Explicitly list versions and tools. -- Unit and regression testing -- Code formatting validation -- Documentation generation -- Diagram updates +- **Good:** "Use C++17 standards. Build system is CMake 3.20+." +- **Why:** This prevents the AI from suggesting C++20 features we cannot compile or C++98 legacy patterns we want to avoid. -### Contribution Hygiene +### 3. Coding Style & Conventions -Defines workflow requirements: +Define the "personality" of the code. -- Branch naming: `issue-####-short-description` -- PR title format: `[ISSUE-####] ...` -- No direct commits to `master` +- **Naming:** CamelCase vs. snake_case. +- **Formatting:** Indentation rules, bracket placement. +- **Idioms:** "Always use smart pointers," "Avoid raw loops," etc. -## Usage +### 4. Project-Specific Knowledge -Copilot automatically reads this file when working in the Graphitti repository. Developers do not need to manually reference it during normal development work. The file ensures that Copilot-generated code and suggestions align with Graphitti's established practices. +List architectural details that an outsider (or AI) wouldn't know. -## Maintenance +- Folder structure explanations. +- Key libraries (e.g., "Use strict types from the internal `Types` library, not primitives"). +- Testing frameworks used. -When updating project conventions, tools, or workflows, update the copilot-instructions.md file to keep Copilot's understanding current. This ensures consistent AI assistance across the project lifecycle. +## How to Edit and Maintain -## Verification +As the project evolves, this file must be updated to prevent the AI from giving outdated advice. -At the start of code reviews or pull request reviews, Copilot will indicate that it has been onboarded using this file, confirming that it has loaded and understood the project context. +- **When to update:** + - When bumping compiler versions (e.g., C++17 to C++20). + - When introducing a new major dependency. + - When the team decides to change a styling convention. +- **Best Practices:** + - **Be Explicit:** Do not be vague. Instead of "Write good code," say "Write code that passes `clang-tidy` checks." + - **Keep it Updated:** If Copilot consistently makes the same mistake, add a rule here to correct it. ---- +## External Resources -[<< Go back to Developer Documentation](index.md) +- [GitHub Docs: Configuring GitHub Copilot Custom Instructions](https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot) +- [GitHub Blog: How to use Copilot Custom Instructions](https://github.blog/changelog/2024-02-08-custom-instructions-for-github-copilot-in-vs-code/) diff --git a/docs/Developer/GenerateUnitTests.md b/docs/Developer/GenerateUnitTests.md index 1cbc91317..f1823d047 100644 --- a/docs/Developer/GenerateUnitTests.md +++ b/docs/Developer/GenerateUnitTests.md @@ -1,174 +1,81 @@ -# Generate Unit Tests Prompt +# Copilot Prompt Templates: Unit Test Generation ## Overview -The `generate-unit-tests.prompt.md` file located in `.github/prompts/generate-unit-tests.prompt.md` is a GitHub Copilot prompt template that guides AI agents in generating Google Test unit tests for Graphitti C++17 code. This prompt ensures consistent, high-quality test generation that follows Graphitti's testing conventions and best practices. +The file located at `.github/prompts/generate-unit-tests.prompt.md` serves as a **Prompt Template**. Unlike the global instructions file, this is a specialized "recipe" used to execute a specific task—in this case, generating robust unit tests. -## Purpose - -This prompt template helps developers: - -- Generate comprehensive unit tests for Graphitti classes and functions -- Maintain consistent test naming and structure across the codebase -- Follow Google Test best practices and Graphitti conventions -- Avoid duplicate test generation by checking existing tests first -- Create tests that cover edge cases, boundary conditions, and error handling +This technique is often referred to as "Prompt Engineering." It provides the AI with a strict persona, a specific workflow, and examples (few-shot prompting) to ensure that generated tests match the project's quality standards. ## File Location -``` -.github/prompts/generate-unit-tests.prompt.md -``` - -## How to Use - -### Invoking the Prompt - -In VS Code with GitHub Copilot: - -1. Open the file containing the function or class you want to test -2. Invoke the Copilot command palette -3. Select "Generate Unit Tests" or type `@workspace /generate-unit-tests` -4. Provide the requested inputs: - - **Target function**: The name of the function or method to test - - **Target class**: The class name (or 'standalone' for free functions) - -### What Happens - -The prompt guides Copilot through a multi-step process: - -1. **Discovery**: Searches for existing tests to avoid duplication and identify coverage gaps -2. **Research**: Launches a subagent to locate the target code, dependencies, and existing test patterns -3. **Test Plan**: Proposes 5-8 focused test cases covering: - - Core functionality - - Boundary conditions - - Invalid inputs - - Error handling - - Resource management -4. **Implementation**: Generates tests following Graphitti conventions - -## Test Generation Guidelines - -### Naming Conventions - -- **Classes**: `TEST(ClassName, FunctionalityBeingTested)` -- **Free Functions**: `TEST(ModuleName, FunctionalityBeingTested)` -- Use PascalCase throughout; no underscores +[.github/prompts/generate-unit-tests.prompt.md](../../.github/prompts/generate-unit-tests.prompt.md) -Examples: +## Why Use a Prompt Template? -```cpp -TEST(Matrix, MultiplicationProducesCorrectResult) -TEST(AllVertices, CreatesDefaultConstructedVertex) -TEST(UtilityFunctions, ParsesConfigurationCorrectly) -``` +Asking Copilot to simply "write a test for this function" often results in: -### File Placement +- Generic or brittle tests. +- Inconsistent naming conventions. +- Testing implementation details rather than behavior. -- **Classes**: `Testing/UnitTesting/{ClassName}Tests.cpp` -- **Free Functions**: `Testing/UnitTesting/{ModuleName}Tests.cpp` or `Testing/UnitTesting/UtilityTests.cpp` +By invoking this template, we force Copilot to: -### Test Structure +1. **Analyze** the target code first. +2. **Plan** the test cases (success paths, edge cases, error handling). +3. **Generate** code that matches our specific testing framework (e.g., Google Test) and directory structure. -All tests follow the AAA (Arrange, Act, Assert) pattern: +## Anatomy of the Prompt File -```cpp -TEST(ClassName, FunctionalityBeingTested) { - // Arrange: Set up test data and preconditions - MyClass instance; - int expectedValue = 42; +To edit or create new prompt templates, follow this structure: - // Act: Execute the functionality being tested - int result = instance.computeValue(); +### 1. The Persona - // Assert: Verify the results - EXPECT_EQ(result, expectedValue); -} -``` +Define who the AI is. -### Assertion Guidelines +> _Example: "You are a Senior QA Engineer specializing in C++ Google Test..."_ -- Use `EXPECT_*` for non-fatal checks (test continues after failure) -- Use `ASSERT_*` when continuation is unsafe (test stops immediately on failure) -- Test behavior, not implementation details +### 2. The Context & Constraints -### Coverage Goals +Define the rules of the road. -Generated tests should cover: +- **Naming:** How should test files and test cases be named? +- **Placement:** Where do the files go? (e.g., `Testing/UnitTesting/`). +- **Style:** AAA (Arrange, Act, Assert) pattern, usage of `ASSERT` vs `EXPECT`. -- **Core behavior**: Normal, expected usage with typical inputs -- **Boundary conditions**: Empty containers, min/max values, edge cases -- **Invalid inputs**: Null pointers, out-of-range values, malformed data -- **Error handling**: Exceptions, error codes, failure modes -- **Resource management**: Memory ownership, lifetime, cleanup +### 3. The Workflow -## Example Workflow +Step-by-step instructions for the AI to follow internally. -### For a Class Method +1. Search for existing tests (to avoid duplicates). +2. Identify boundary conditions. +3. Draft the code. -**Input:** +### 4. Few-Shot Examples (Crucial) -- Function: `advance` -- Class: `Simulator` +The most effective way to guide the AI is to show, not just tell. Include snippet examples of: -**Generated Tests (examples):** +- **Input:** A target function signature. +- **Output:** The perfect unit test code for that function, formatted exactly how we want it. -```cpp -TEST(Simulator, AdvanceIncreasesCurrentStep) { ... } -TEST(Simulator, AdvanceWithZeroStepsDoesNothing) { ... } -TEST(Simulator, AdvanceWithNegativeStepsThrowsException) { ... } -TEST(Simulator, AdvanceUpdatesAllVertices) { ... } -TEST(Simulator, AdvanceWithLargeStepCountMaintainsStability) { ... } -``` +## Usage Guide -### For a Free Function +To utilize this prompt in your workflow: -**Input:** - -- Function: `parseConfigFile` -- Class: `standalone` - -**Generated Tests (examples):** - -```cpp -TEST(ConfigParser, ParsesValidConfigurationFile) { ... } -TEST(ConfigParser, RejectsEmptyFilePath) { ... } -TEST(ConfigParser, ThrowsExceptionOnMalformedXML) { ... } -TEST(ConfigParser, HandlesOptionalParametersCorrectly) { ... } -``` - -## Best Practices - -### Integration with Existing Tests - -- Always check for existing test files before generating new ones -- Add new tests to existing files when appropriate -- Include a brief comment marking new additions (e.g., `// Added: Test for boundary condition`) -- Follow the organization and style of surrounding tests - -### Realistic Test Data - -- Use data patterns consistent with Graphitti simulations -- Reference actual configuration files or data structures when possible -- Avoid magic numbers; use named constants or explain values in comments - -### Incremental Development - -- Generate tests for one function or method at a time -- Run tests after generation to verify they compile and pass -- Iterate on coverage gaps identified during testing +1. Open Copilot Chat in your IDE. +2. Reference the file (e.g., `@workspace`) or copy the prompt contents. +3. Provide the **Input Variables**: + - **Target Class/Function:** What you want to test. +4. Copilot will generate the output based on the template's logic. ## Maintenance -When Graphitti's testing conventions or Google Test usage patterns evolve, update the prompt template to reflect these changes. This ensures newly generated tests remain consistent with the codebase. - -## Related Documentation +Update this file when: -- [Unit Testing Documentation](UnitTests.md) -- [Google Tests Tutorial](GoogleTestsTutorial.md) -- [C++ Style Guide](cppStyleGuide.md) -- [Coding Conventions](codingConventions.md) +- **Framework Changes:** We switch testing libraries (e.g., Google Test to Catch2). +- **Process Changes:** We require new sections in tests (e.g., requiring performance benchmarks in unit tests). +- **Quality Issues:** If Copilot frequently misses edge cases, add an explicit step in the "Workflow" section to "Analyze integer overflows" or "Check for null pointers." ---- +## External Resources -[<< Go back to Developer Documentation](index.md) +- [GitHub Copilot: Prompt Engineering for Developers](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot) +- [Microsoft: Introduction to Prompt Engineering](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering) From da22048cbfa89a9a9be8f1576371fd47b9fba778 Mon Sep 17 00:00:00 2001 From: kblricks Date: Tue, 17 Feb 2026 23:26:14 -0800 Subject: [PATCH 143/153] Fix minor spelling and formatting errors --- .github/copilot-instructions.md | 2 +- .github/prompts/generate-unit-tests.prompt.md | 2 +- docs/Developer/CopilotInstructions.md | 4 ++-- docs/Developer/GenerateUnitTests.md | 2 +- docs/Developer/index.md | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 7fd219649..8b7f1c6d1 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -15,7 +15,7 @@ Apply these rules to every code generation or review task: ### Language & Modern C++ - **Standard:** C++17 (Strict). -- **Forbidden:** `new`/`delete` (use `std::unique_ptr`/`std::shared_ptr`), `printf` (use standard streams or log4cplus), raw loops (prefer ``). +- **Guidance:** Avoid manual `delete` and owning raw pointers; prefer RAII and smart pointers (`std::unique_ptr`/`std::shared_ptr`). Avoid `printf` (use standard streams or log4cplus). Prefer `` when it improves clarity, but traditional loops are acceptable/expected in performance‑critical paths. - **Required:** - `[[nodiscard]]` for functions with return values. - `const` and `constexpr` wherever possible. diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index 71740cf49..c22456c00 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -24,7 +24,7 @@ Target Code: # Analysis Phase (Internal Monologue) -Before generating code, perform the following analysis: +Before generating code, perform the following analysis. Do not output analysis/planning; output only the final C++ test code. 1. **Identify the SUT (System Under Test):** Is this a Class (`Graph`, `Vertex`) or a free function? 2. **Determine Dependencies:** What headers are required? (`#include `, project headers). diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md index 6ceaed996..6ce0a27c5 100644 --- a/docs/Developer/CopilotInstructions.md +++ b/docs/Developer/CopilotInstructions.md @@ -8,10 +8,10 @@ Instead of generic coding assistance, this file forces the AI to adopt our speci ## File Location -[.github/copilot-instructions.md](../../.github/copilot-instructions.md) +[.github/copilot-instructions.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/copilot-instructions.md) > [!NOTE] -> This specific path is required by GitHub for the instructions to be automatically detected.\* +> This specific path is required by GitHub for the instructions to be automatically detected. ## How It Works diff --git a/docs/Developer/GenerateUnitTests.md b/docs/Developer/GenerateUnitTests.md index f1823d047..4536cdbbe 100644 --- a/docs/Developer/GenerateUnitTests.md +++ b/docs/Developer/GenerateUnitTests.md @@ -8,7 +8,7 @@ This technique is often referred to as "Prompt Engineering." It provides the AI ## File Location -[.github/prompts/generate-unit-tests.prompt.md](../../.github/prompts/generate-unit-tests.prompt.md) +[.github/prompts/generate-unit-tests.prompt.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/generate-unit-tests.prompt.md) ## Why Use a Prompt Template? diff --git a/docs/Developer/index.md b/docs/Developer/index.md index aa6b7dd22..b183bd458 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -29,13 +29,13 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d - Refer to the [GitHub Pages documentation](GHPages.md) section for an overview of how we use GitHub Pages and editing practices - GitHub Actions Workflows - We have a [Doxygen Action](GHActions.md#doxygen-action) to regenerate the Doxygen documentation automatically - - The [GitHub Pages Action](GHActions.md#github-pages-action) is another action ran along with the Doxygen one + - The [GitHub Pages Action](GHActions.md#github-pages-action) is another action run along with the Doxygen one - Here is our [plantUML Diagrams Action](GHActions.md#plantuml-action) that regenerates our UML image documents ## Graphitti System Documentation - Diagrams - - Here is a overview [block UML diagram](ClassDiagrams/hand-drawn.pdf) + - Here is an overview [block UML diagram](ClassDiagrams/hand-drawn.pdf) - Here is a list of [UML class diagrams](classDiagrams.md) of Graphitti - Here are the [sequence UML diagrams](sequenceDiagrams.md) for the Graphitti system - Doxygen From 4541eb415ab0fc5d23fbb5dc2d51f154f431c91e Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 23 Feb 2026 01:25:42 -0800 Subject: [PATCH 144/153] Update copilot-instructions.md to better meet GitHub's reccomendations for system prompts, and update documentation to match changes. --- .github/copilot-instructions.md | 108 +++++++++++--------- docs/Developer/CopilotInstructions.md | 138 ++++++++++++++++++-------- 2 files changed, 156 insertions(+), 90 deletions(-) diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 8b7f1c6d1..2009d5ed2 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,73 +1,83 @@ -# Graphitti Copilot Instructions (System Prompt) +# Graphitti Copilot Instructions -## 1. Role & Persona +## 1. Project Overview -You are a **Senior C++ HPC (High-Performance Computing) Engineer** and **Code Reviewer** for the Graphitti project. +Graphitti is a high-performance graph-based simulator for computational neuroscience and emergency communications research, developed at the University of Washington Bothell. It simulates large-scale graphs (tens of thousands of vertices; millions of edges) over billions of time steps. It runs on both CPUs and GPUs. -- **Your Goal:** Ensure code is performant, memory-safe, and strictly adheres to C++17 standards. -- **Your Tone:** Professional, concise, and technically rigorous. -- **Context:** This is a graph-based simulator for neuroscience and emergency comms. Performance (CPU/GPU) is critical. +Repository: https://github.com/UWB-Biocomputing/Graphitti -## 2. Critical Code Standards (Strict Enforcement) +## 2. Tech Stack -Apply these rules to every code generation or review task: +- **Language:** C++17 (strict) +- **Build System:** CMake +- **Testing:** Google Test (gtest) +- **Logging:** log4cplus +- **GPU:** CUDA (guarded by `USE_GPU` and `ENABLE_CUDA` macros) +- **Parallelism:** CUDA (GPU); OpenMP planned for CPU multi-threading +- **Data Recording:** HDF5 (binary) and XML +- **Config Format:** XML (parsed via `ParameterManager`) +- **OS:** GNU/Linux + +## 3. Code Standards + +Apply these rules to every code generation and review task. ### Language & Modern C++ -- **Standard:** C++17 (Strict). -- **Guidance:** Avoid manual `delete` and owning raw pointers; prefer RAII and smart pointers (`std::unique_ptr`/`std::shared_ptr`). Avoid `printf` (use standard streams or log4cplus). Prefer `` when it improves clarity, but traditional loops are acceptable/expected in performance‑critical paths. -- **Required:** - - `[[nodiscard]]` for functions with return values. - - `const` and `constexpr` wherever possible. - - `#pragma once` for all headers. - - Explicit `override` for virtual functions. +- **Standard:** C++17. Do not use features from C++20 or later. +- Avoid manual `delete` and owning raw pointers; prefer RAII and smart pointers (`std::unique_ptr` / `std::shared_ptr`). +- Avoid `printf`; use standard streams or log4cplus. +- Prefer `` when it improves clarity, but traditional loops are acceptable in performance-critical paths. +- Use `[[nodiscard]]` on functions with non-void return values to prevent silent discard of error codes or computed results. +- Use `const` and `constexpr` wherever possible. +- Use `#pragma once` for all headers. +- Use explicit `override` on virtual function overrides. -### Formatting (Non-Negotiable) +### Formatting -- **Indentation:** **3 spaces** (Note: This is unique to this project. Do not use 2 or 4). +- **Indentation:** 3 spaces. Not 2, not 4. This is a project-wide convention for codebase consistency. - **Column Limit:** 100 characters. - **Naming:** - - `CamelCase` for Classes (`Vertex`, `Graph`). - - `camelCase` for variables/functions (`numVertices`, `calculateEdges`). - - No snake_case. + - `CamelCase` for classes: `Vertex`, `Graph`, `EdgeIndexMap`. + - `camelCase` for variables and functions: `numVertices`, `calculateEdges`. + - No `snake_case`. - **Braces:** - Control flow: Cuddled (`} else {`). - - Functions: Isolated (Start `{` on new line). - - _Always_ use braces, even for single-line blocks. + - Functions: Opening `{` on a new line. + - Always use braces, even for single-line blocks, to prevent dangling-else bugs when lines are added during maintenance. -## 3. Pull Request Review Guidelines +## 4. Architecture Map -When reviewing PRs or suggesting fixes, prioritize: +Understand where code belongs so you can suggest correct file paths and appropriate performance considerations. -1. **Performance Check:** - - Flag unnecessary object copying (suggest `const &`). - - Identify potential cache misses in hot loops (simulator core). - - Warn against expensive allocations inside the simulation loop. -2. **Safety Check:** - - Look for iterator invalidation risks. - - Check for thread-safety in shared data structures (OpenMP/CUDA context). -3. **Build Integrity:** - - Did the user update `CMakeLists.txt` if they added a file? - - Are dependencies (headers) correctly included? +- **`Simulator/Core/`** — The simulation hot path. Code here must be highly optimized. `Graphitti_Main.cpp` is the entry point; `Simulator::simulate()` and `Simulator::advanceEpoch()` are the main loop. +- **`Simulator/Edges/`** and **`Simulator/Vertices/`** — Graph element implementations with internal state. Frequently called per time step. +- **`Simulator/Recorders/`** — Data recording subsystem. Supports `XmlRecorder` and `HDF5Recorder`. +- **`Testing/UnitTesting/`** — Google Test unit tests. Must be fast and isolated. +- **`Testing/RegressionTesting/`** — Full simulation runs. Only modify when physics or logic changes. +- **`ThirdParty/`** — External dependencies. **Read-only.** Do not suggest changes here. -## 4. Architectural Map +## 5. Pull Request Review Priorities -Understand where code belongs to provide better context: +When reviewing PRs or suggesting fixes, check in this order: -- **`Simulator/Core/`**: The "Hot Path". Code here must be highly optimized. - - _Key:_ `Graphitti_Main.cpp` is the entry point, but `Core::runSimulation` is the heartbeat. -- **`Testing/`**: - - **Unit Tests (`Testing/UnitTesting/`)**: Google Test. Must be fast. - - **Regression (`Testing/RegressionTesting/`)**: Full simulation runs. Touched only when physics/logic changes. -- **`ThirdParty/`**: **Read-only**. Do not suggest changes here. +1. Flag unnecessary object copying; suggest `const&` or move semantics. +2. Flag expensive allocations or dynamic_cast calls inside simulation loops (`Simulator/Core/`). +3. Identify potential cache misses in hot loops. +4. Check for iterator invalidation and thread-safety in shared data structures (OpenMP/CUDA context). +5. Verify `CMakeLists.txt` is updated if source files were added or removed. +6. Verify all required headers are included. -## 5. Testing Requirements +## 6. Testing Requirements -- **New Logic:** Must have a corresponding `TEST()` or `TEST_F()` in `Testing/UnitTesting/`. -- **Bug Fixes:** Require a regression test case if the bug was logical. -- **GPU Code:** If generating CUDA (`.cu`), ensure it checks `ENABLE_CUDA` macros. +- **New logic** must have corresponding `TEST()` or `TEST_F()` cases in `Testing/UnitTesting/`. +- **Bug fixes** require a regression test if the bug was a logic error. +- **GPU code** (`.cu` files) must check `ENABLE_CUDA` macros and have CPU-path equivalents tested. +- Test names use `PascalCase`: `TEST(Graph, AddsVertexCorrectly)`. +- Use `EXPECT_*` for non-fatal assertions; use `ASSERT_*` for preconditions where continuing would crash. -## 6. Interaction triggers +## 7. Interaction Behavior -- **On PR Review:** Start by briefly validating the "Impact Area" (e.g., "This PR touches the core simulation loop; verifying strict performance requirements..."). -- **On Code Gen:** Always append the specific file path where the code should live based on the Architecture Map above. +- **On PR review:** Start by identifying the impact area (e.g., "This PR modifies the core simulation loop; checking performance constraints..."). +- **On code generation:** Always specify the file path where the generated code should be placed, based on the Architecture Map above. +- **On refactoring:** Preserve existing public API signatures unless the user explicitly requests breaking changes. diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md index 6ce0a27c5..f0dfe66f0 100644 --- a/docs/Developer/CopilotInstructions.md +++ b/docs/Developer/CopilotInstructions.md @@ -1,72 +1,128 @@ -# GitHub Copilot Custom Instructions +1. **GitHub Copilot extension** installed in VS Code (see the [Copilot setup guide](https://code.visualstudio.com/docs/copilot/setup)). +2. **The correct workspace open** — you must open the repository root folder in VS Code (the folder that directly contains `.github/`). If `.github/` is not visible as a top-level folder in the Explorer sidebar, the instructions file will not be detected. +3. **VS Code 1.104 or later** — custom instructions are enabled by default in modern versions. On older versions, you may need to set `github.copilot.chat.codeGeneration.useInstructionFiles` to `true` in your VS Code settings. -## Overview +## How It Works + +When you interact with Copilot in this repository: + +1. Copilot reads `.github/copilot-instructions.md` automatically. +2. The content is prepended as context to every chat message and code generation request. +3. Copilot prioritizes these rules over its general training data. + +**Example:** Copilot's training data defaults to `std::cout` for C++ output. Because our instructions specify log4cplus, Copilot will use `LOG4CPLUS_INFO(...)` instead when generating code in this repository. + +> [!IMPORTANT] +> The instructions file is **not** a prompt you invoke manually. It applies silently to every Copilot interaction. For task-specific prompts you run on demand (like generating unit tests), see the [Prompt Templates documentation](GenerateUnitTests.md). -The `copilot-instructions.md` file is a special configuration file that allows the development team to tailor GitHub Copilot's behavior specifically for this repository. It functions as a **System Prompt**—context that is silently appended to every interaction you have with Copilot Chat or inline code generation within this project. +## Pull Request Code Review -Instead of generic coding assistance, this file forces the AI to adopt our specific coding styles, architecture patterns, and contribution guidelines automatically. +The same `copilot-instructions.md` file also guides **Copilot's pull request reviews** on GitHub.com. This means Copilot will enforce Graphitti's coding standards, performance constraints, and testing requirements when reviewing PRs — not just when generating code locally. -## File Location +### How It Works -[.github/copilot-instructions.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/copilot-instructions.md) +When Copilot reviews a pull request, it reads the `copilot-instructions.md` file from the repository's default branch and uses those rules to guide its analysis. For example, our instructions tell Copilot to flag unnecessary object copying and missing `CMakeLists.txt` updates, so PR reviews will surface these issues automatically. + +### Requesting a Copilot Review + +1. Create or open a pull request on GitHub.com. +2. Open the **Reviewers** menu on the right sidebar. +3. Select **Copilot** as a reviewer. +4. Wait for Copilot to analyze the changes (usually under 30 seconds). +5. Read through Copilot's inline comments on the PR diff. > [!NOTE] -> This specific path is required by GitHub for the instructions to be automatically detected. +> Copilot always leaves a "Comment" review — it does not "Approve" or "Request Changes." This means Copilot reviews do not count toward required approvals and will not block merging. -## How It Works +### Automatic Reviews + +Repository administrators can configure Copilot to automatically review all new pull requests without manual assignment. This is configured in the repository settings under **Copilot** → **Code review**. When enabled, every new PR will receive a Copilot review based on the instructions file. + +### Why This Matters -When you ask Copilot a question or ask it to generate code: +Without custom instructions, Copilot's PR reviews are generic — it catches obvious issues but misses project-specific standards. With our instructions file, Copilot will: -1. Copilot scans the repository context. -2. It reads `.github/copilot-instructions.md`. -3. It prioritizes rules defined in this file over its general training data. +- Flag performance issues specific to the simulator hot path (`Simulator/Core/`). +- Enforce Graphitti's 3-space indentation, CamelCase naming, and brace placement rules. +- Check that new logic includes corresponding unit tests in `Testing/UnitTesting/`. +- Verify `CMakeLists.txt` is updated when source files are added. +- Warn against modifications to `ThirdParty/` code. -For example, if the general training data suggests using `std::cout` for C++, but our instructions specify a custom logger class, Copilot will default to the custom logger. +This provides a consistent baseline review on every PR before human reviewers even look at the code. -## Structure & What to Include +### Enabling Custom Instructions for PR Reviews -This file is written in standard Markdown. To maintain effectiveness, it should be concise and focused on high-impact rules. Recommended sections include: +Custom instructions for code review are enabled by default. If Copilot is not following the instructions during PR reviews: -### 1. High-Level Context +1. Go to the repository **Settings** on GitHub.com. +2. Navigate to the **Copilot** section → **Code review**. +3. Ensure the option to use custom instructions is turned **on**. -Briefly explain what the software does (e.g., "A low-latency network simulator"). This helps the AI understand variable naming context and performance constraints. +## Instructions File vs. Prompt Files -### 2. Technology Stack +These two file types serve different purposes: -Explicitly list versions and tools. +| | `copilot-instructions.md` | `.prompt.md` files | +| ----------------- | ------------------------------------------------------------------- | ------------------------------------------------------------------------------------- | +| **Location** | `.github/copilot-instructions.md` | `.github/prompts/` | +| **When applied** | Automatically on every interaction (chat, code gen, and PR reviews) | Only when invoked via `/` slash command | +| **Purpose** | Project-wide coding standards and context | Task-specific workflows (e.g., generate tests, review code) | +| **Content style** | Short, imperative rules | Detailed step-by-step instructions with personas and examples | +| **Example** | "Use 3-space indentation" | "Analyze the selected code, plan 5–7 test scenarios, then generate Google Test cases" | -- **Good:** "Use C++17 standards. Build system is CMake 3.20+." -- **Why:** This prevents the AI from suggesting C++20 features we cannot compile or C++98 legacy patterns we want to avoid. +## What to Include -### 3. Coding Style & Conventions +The file should be concise and focused on high-impact rules. Effective instruction files contain five key sections: -Define the "personality" of the code. +### 1. Project Overview -- **Naming:** CamelCase vs. snake_case. -- **Formatting:** Indentation rules, bracket placement. -- **Idioms:** "Always use smart pointers," "Avoid raw loops," etc. +A brief description of what the software does. This helps Copilot understand naming context, performance constraints, and domain-specific terminology. -### 4. Project-Specific Knowledge +### 2. Tech Stack -List architectural details that an outsider (or AI) wouldn't know. +Explicitly list languages, versions, and tools. This prevents Copilot from suggesting incompatible features (e.g., C++20 features when the project uses C++17) or inventing non-existent build commands. -- Folder structure explanations. -- Key libraries (e.g., "Use strict types from the internal `Types` library, not primitives"). -- Testing frameworks used. +### 3. Code Standards + +Define formatting and style rules that differ from common defaults. Focus on rules Copilot is likely to get wrong without guidance: + +- Indentation size (especially non-standard values like 3 spaces) +- Naming conventions (CamelCase vs. snake_case) +- Brace placement +- Required attributes (`[[nodiscard]]`, `override`, `const`) + +### 4. Architecture Map + +List the directory structure and explain what each area is for. This allows Copilot to suggest correct file paths for new code and understand which areas have strict performance requirements. + +### 5. Review and Testing Priorities + +Define what Copilot should check during code reviews and what testing standards apply to new code. ## How to Edit and Maintain -As the project evolves, this file must be updated to prevent the AI from giving outdated advice. +As the project evolves, this file must be updated to prevent Copilot from giving outdated advice. + +**When to update:** + +- When bumping compiler or language versions (e.g., C++17 to C++20). +- When introducing a new major dependency or removing one. +- When the team changes a styling convention. +- When Copilot consistently makes the same mistake — add a rule to correct it. + +**Best practices:** -- **When to update:** - - When bumping compiler versions (e.g., C++17 to C++20). - - When introducing a new major dependency. - - When the team decides to change a styling convention. -- **Best Practices:** - - **Be Explicit:** Do not be vague. Instead of "Write good code," say "Write code that passes `clang-tidy` checks." - - **Keep it Updated:** If Copilot consistently makes the same mistake, add a rule here to correct it. +- **Be explicit and imperative.** Write "Use 3-space indentation" instead of "We prefer 3-space indentation." Write "Do not use `printf`" instead of "Avoid `printf` when possible." +- **Include the "why" for non-obvious rules.** For example: "Always use braces on single-line blocks to prevent dangling-else bugs during maintenance." This helps Copilot make correct decisions in ambiguous situations. +- **Keep it concise.** The entire file is sent as context on every interaction. Long files consume tokens that could otherwise be used for your actual question or code. Aim for under 100 lines. +- **Move specialized rules to `.instructions.md` files.** If a rule only applies to certain file types (e.g., CUDA-specific rules for `.cu` files), put it in a separate file under `.github/instructions/` with an `applyTo` glob pattern rather than in the global instructions file. +- **Test with real PRs.** After updating the instructions, open a pull request and request a Copilot review to verify the new rules are being applied. Iterate based on the results. ## External Resources -- [GitHub Docs: Configuring GitHub Copilot Custom Instructions](https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot) -- [GitHub Blog: How to use Copilot Custom Instructions](https://github.blog/changelog/2024-02-08-custom-instructions-for-github-copilot-in-vs-code/) +- [VS Code: Custom Instructions Documentation](https://code.visualstudio.com/docs/copilot/customization/custom-instructions) +- [GitHub Docs: Adding Repository Custom Instructions](https://docs.github.com/en/copilot/customizing-copilot/adding-custom-instructions-for-github-copilot) +- [GitHub Docs: Using Copilot Code Review](https://docs.github.com/en/copilot/using-github-copilot/code-review/using-copilot-code-review) +- [GitHub Blog: 5 Tips for Writing Better Custom Instructions](https://github.blog/ai-and-ml/github-copilot/5-tips-for-writing-better-custom-instructions-for-copilot/) +- [GitHub Blog: Unlocking the Full Power of Copilot Code Review](https://github.blog/ai-and-ml/unlocking-the-full-power-of-copilot-code-review-master-your-instructions-files/) +- [GitHub Tutorial: Custom Instructions for Code Review](https://docs.github.com/en/copilot/tutorials/use-custom-instructions) From d5a64e0369199681d54a9e64b257044cc7266d44 Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 23 Feb 2026 01:34:33 -0800 Subject: [PATCH 145/153] Update .prompt.md file to be more concise, leverage tools, and have a better workflow that matches GitHub's reccomendations. Also updates doc file to match this. Included more verbose examples to describe how the file works --- .github/prompts/generate-unit-tests.prompt.md | 118 +++++++---- docs/Developer/GenerateUnitTests.md | 192 +++++++++++++++--- 2 files changed, 245 insertions(+), 65 deletions(-) diff --git a/.github/prompts/generate-unit-tests.prompt.md b/.github/prompts/generate-unit-tests.prompt.md index c22456c00..537a9ca58 100644 --- a/.github/prompts/generate-unit-tests.prompt.md +++ b/.github/prompts/generate-unit-tests.prompt.md @@ -1,58 +1,102 @@ --- name: generate-unit-tests description: Generate comprehensive Google Test cases for C++17 Graphitti code -model: Auto (copilot) +agent: agent +tools: ["search", "read", "edit"] --- -# Context +# Step 1: Understand the Code -You are a Senior C++ Software Engineer in Test (SDET) working on the "Graphitti" project. Your goal is to generate robust, production-grade unit tests using **Google Test (gtest)** and **C++17**. +Before writing any tests, read and summarize the target code. Answer these questions internally (do not output them): -# Goal +1. **What is the SUT (System Under Test)?** Is this a class (`Graph`, `Vertex`), a free function, or a template? +2. **What are the public methods and their signatures?** List each method, its parameters, return type, and any preconditions. +3. **What dependencies does it have?** Other Graphitti classes, standard library containers, external libraries? +4. **What invariants does the class maintain?** (e.g., "vertex count must equal the size of the adjacency list") +5. **What can go wrong?** Null pointers, empty containers, out-of-range indices, integer overflow, floating point precision. -Generate a complete unit test file (or a set of test cases) for the user's selected code, ensuring full coverage of happy paths, edge cases, and error conditions. +Target Code: +${selection} -1. **Directory:** All tests MUST go into `Testing/UnitTesting/`. -2. **Merge Logic:** - - If a test file matching the class name already exists (e.g., `Testing/UnitTesting/VertexTests.cpp`), generate **only the new test cases** to be appended to that file. - - If no test file exists, generate the **entire new file** including headers and setup. +# Step 2: Design the Test Plan -# Input Context +Now that you understand the code, design 5–7 test scenarios covering these categories. For each scenario, write one sentence describing the test and the expected outcome. -Target Code: -{{ selection }} +1. **Happy Path** — The standard use case works as expected. +2. **Boundary Values** — Min/max values (0 nodes, max edges, empty containers, single-element collections). +3. **Error Handling** — Verify correct exceptions are thrown or error codes are returned for invalid input. +4. **State Preservation** — After an operation, the object is in a valid and expected state. +5. **Idempotency / Repeated Calls** — Calling a method twice produces consistent results. +6. **Interaction Between Methods** — A sequence of operations (e.g., add then remove) leaves the object in the correct state. + +# Step 3: Generate the Test Code + +Using the analysis from Step 1 and the plan from Step 2, generate the C++ test code following these rules: + +## Project Conventions + +- Use `PascalCase` for test names: `TEST(Graph, AddsVertexCorrectly)`. +- Do NOT use `using namespace std;`. +- Use `EXPECT_*` for assertions that should not abort the test. Use `ASSERT_*` for pointer validity or preconditions where continuing would crash. +- Use the AAA pattern: **Arrange** (setup), **Act** (call the method), **Assert** (verify the result). Separate each section with a blank line. + +## File Placement + +- All tests go into `Testing/UnitTesting/`. +- If a test file already exists (e.g., `Testing/UnitTesting/VertexTests.cpp`), generate **only the new test cases** to append. +- If no test file exists, generate the **entire file** including headers and fixture setup. + +## Code Style + +- Include necessary headers with relative paths (e.g., `#include "Simulator/Core/Vertex.h"`). +- If the class requires complex setup, create a test fixture: `class VertexTest : public ::testing::Test { ... }`. +- Use C++17 features where appropriate: `auto`, structured bindings, `std::optional`, `constexpr`. +- Add a brief inline comment on each test explaining **why** that specific value or scenario is being tested. + +## Few-Shot Example + +Below is an example of the expected output format. Match this style exactly. + +**Input:** A class `Counter` with methods `increment()`, `decrement()`, and `getCount()`. + +**Output:** + +```cpp +#include +#include "Simulator/Utils/Counter.h" -# Analysis Phase (Internal Monologue) +class CounterTest : public ::testing::Test { +protected: + Counter counter_; -Before generating code, perform the following analysis. Do not output analysis/planning; output only the final C++ test code. + void SetUp() override { + counter_ = Counter(); + } +}; -1. **Identify the SUT (System Under Test):** Is this a Class (`Graph`, `Vertex`) or a free function? -2. **Determine Dependencies:** What headers are required? (`#include `, project headers). -3. **Scan for Edge Cases:** - - Null pointers or empty containers? - - Negative numbers where unsigned is expected? - - Floating point precision issues? -4. **Graphitti Conventions Check:** - - Use `PascalCase` for test names (e.g., `TEST(Graph, AddsVertexCorrectly)`). - - Do NOT use `using namespace std;`. - - Use `EXPECT_` for assertions that shouldn't abort the test, `ASSERT_` for pointers. +// Happy path: incrementing increases the count by 1 +TEST_F(CounterTest, IncrementIncreasesCount) { + counter_.increment(); -# Test Plan Strategy + EXPECT_EQ(counter_.getCount(), 1); +} -Design 5-7 distinct test scenarios: +// Boundary: decrementing from zero should not produce a negative count +TEST_F(CounterTest, DecrementFromZeroDoesNotGoNegative) { + counter_.decrement(); -1. **Happy Path:** The standard use case works as expected. -2. **Boundary Analysis:** Min/Max values (e.g., 0 nodes, max edges). -3. **Error Handling:** Does it throw the correct exception or return the correct error code? -4. **State Preservation:** Does the object remain in a valid state after the operation? + EXPECT_GE(counter_.getCount(), 0); +} -# Output Rules +// State preservation: increment then decrement returns to original state +TEST_F(CounterTest, IncrementThenDecrementReturnsToOriginal) { + int original = counter_.getCount(); -1. **Headers:** Include necessary local headers (assume relative paths like `Simulator/Core/Vertex.h`). -2. **Fixture Usage:** If testing a class with complex setup, create a `class TestFixture : public ::testing::Test`. -3. **Modern C++:** Use C++17 features (`auto`, structured bindings, `std::optional`) where appropriate. -4. **Comments:** briefly explain _why_ a specific value is being tested. + counter_.increment(); + counter_.decrement(); -# Generation + EXPECT_EQ(counter_.getCount(), original); +} +``` -Generate the C++ code block now. +Now generate the test code for the target selection. diff --git a/docs/Developer/GenerateUnitTests.md b/docs/Developer/GenerateUnitTests.md index 4536cdbbe..afec9058d 100644 --- a/docs/Developer/GenerateUnitTests.md +++ b/docs/Developer/GenerateUnitTests.md @@ -4,12 +4,44 @@ The file located at `.github/prompts/generate-unit-tests.prompt.md` serves as a **Prompt Template**. Unlike the global instructions file, this is a specialized "recipe" used to execute a specific task—in this case, generating robust unit tests. -This technique is often referred to as "Prompt Engineering." It provides the AI with a strict persona, a specific workflow, and examples (few-shot prompting) to ensure that generated tests match the project's quality standards. +This technique is often referred to as "Prompt Engineering." It provides the AI with a structured workflow and examples (few-shot prompting) to ensure that generated tests match the project's quality standards. ## File Location [.github/prompts/generate-unit-tests.prompt.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/generate-unit-tests.prompt.md) +## Prerequisites: Setting Up Copilot in VS Code + +Before using this prompt template, you must have GitHub Copilot installed and configured in VS Code. + +### 1. Install the Extension + +1. Open VS Code. +2. Go to the **Extensions** sidebar (`Ctrl+Shift+X`). +3. Search for **"GitHub Copilot"** and install it (this also installs the Copilot Chat component). +4. Sign in with your GitHub account when prompted. You need an active GitHub Copilot subscription (free tier, Pro, or through an organization). + +### 2. Open the Correct Workspace Folder + +Prompt files are resolved **relative to the workspace root** — the folder you open in VS Code. + +> **Important:** You must open the repository root folder that directly contains the `.github/prompts/` directory. For Graphitti, this means opening the folder that has `.github/` as a direct child. +> +> For example, if the repository is cloned to `/home/user/Graphitti/`, open the **Graphitti** folder in VS Code — not **/home or /user**. If VS Code's Explorer sidebar shows `.github/` as a top-level folder, you're in the right place. + +### 3. Verify Prompt File Detection + +1. Open the Copilot Chat panel (`Ctrl+Alt+I`). +2. Click the **Configure Chat** gear icon (⚙) at the top of the Chat panel. +3. Select **Prompt Files** from the menu. +4. You should see `generate-unit-tests` listed. If it appears, setup is complete. + +If it does not appear, confirm: + +- The file is named with the `.prompt.md` extension (not just `.md`). +- The file is inside `.github/prompts/` at the workspace root. +- You are on VS Code version **1.104 or later** (prompt files are enabled by default in modern versions). + ## Why Use a Prompt Template? Asking Copilot to simply "write a test for this function" often results in: @@ -20,52 +52,154 @@ Asking Copilot to simply "write a test for this function" often results in: By invoking this template, we force Copilot to: -1. **Analyze** the target code first. -2. **Plan** the test cases (success paths, edge cases, error handling). -3. **Generate** code that matches our specific testing framework (e.g., Google Test) and directory structure. +1. **Analyze** the target code first (identify the SUT, public methods, dependencies, invariants, and failure modes). +2. **Plan** the test cases across six categories (happy path, boundary values, error handling, state preservation, idempotency, and method interactions). +3. **Generate** code that matches our specific testing framework (Google Test) and directory structure. ## Anatomy of the Prompt File To edit or create new prompt templates, follow this structure: -### 1. The Persona +### 1. YAML Frontmatter + +The top of every `.prompt.md` file has a YAML metadata block enclosed in `---`. This controls how the prompt behaves: + +```yaml +--- +name: generate-unit-tests +description: Generate comprehensive Google Test cases for C++17 Graphitti code +agent: agent +tools: ["search", "read", "edit"] +--- +``` + +| Field | Purpose | +| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `name` | The slash command name. This is what you type after `/` in chat (e.g., `/generate-unit-tests`). If omitted, the filename is used. | +| `description` | A short summary shown next to the command in the autocomplete menu. | +| `agent` | Which Copilot mode runs the prompt. Use `agent` for tasks that create/edit files, `ask` for Q&A, or `plan` for generating a step-by-step plan. | +| `tools` | The tools Copilot is allowed to use. `search` finds files in the codebase, `read` reads file contents, and `edit` creates or modifies files. | +| `model` | _(Optional)_ A specific AI model ID (e.g., `gpt-4o`, `copilot-claude-sonnet-4`). Omit this to use whichever model is currently selected in the chat. | + +### 2. The Workflow (Step-by-Step Instructions) + +The body of the prompt file is a three-step workflow that Copilot follows internally when generating tests. Unlike a simple list of rules, this workflow forces the AI to think before it writes. + +#### Step 1: Understand the Code + +Before writing any tests, Copilot reads and summarizes the target code by answering five analysis questions internally (these are not output to the user): -Define who the AI is. +1. **What is the SUT (System Under Test)?** — Is this a class, free function, or template? +2. **What are the public methods and their signatures?** — Parameters, return types, preconditions. +3. **What dependencies does it have?** — Other Graphitti classes, standard library containers, external libraries. +4. **What invariants does the class maintain?** — e.g., "vertex count must equal the size of the adjacency list." +5. **What can go wrong?** — Null pointers, empty containers, out-of-range indices, integer overflow, floating point precision. -> _Example: "You are a Senior QA Engineer specializing in C++ Google Test..."_ +The selected code is injected via the `${selection}` variable (see [Input Variables](#4-input-variables) below). -### 2. The Context & Constraints +#### Step 2: Design the Test Plan -Define the rules of the road. +Copilot designs 5–7 test scenarios covering these six categories. For each scenario, it writes one sentence describing the test and the expected outcome: -- **Naming:** How should test files and test cases be named? -- **Placement:** Where do the files go? (e.g., `Testing/UnitTesting/`). -- **Style:** AAA (Arrange, Act, Assert) pattern, usage of `ASSERT` vs `EXPECT`. +1. **Happy Path** — The standard use case works as expected. +2. **Boundary Values** — Min/max values (0 nodes, max edges, empty containers, single-element collections). +3. **Error Handling** — Verify correct exceptions are thrown or error codes are returned for invalid input. +4. **State Preservation** — After an operation, the object is in a valid and expected state. +5. **Idempotency / Repeated Calls** — Calling a method twice produces consistent results. +6. **Interaction Between Methods** — A sequence of operations (e.g., add then remove) leaves the object in the correct state. -### 3. The Workflow +#### Step 3: Generate the Test Code -Step-by-step instructions for the AI to follow internally. +Using the analysis from Step 1 and the plan from Step 2, Copilot generates C++ test code following the project rules defined in three sub-sections: -1. Search for existing tests (to avoid duplicates). -2. Identify boundary conditions. -3. Draft the code. +- **Project Conventions** — PascalCase test names, no `using namespace std;`, `EXPECT_*` vs `ASSERT_*` guidance, and the AAA (Arrange, Act, Assert) pattern. +- **File Placement** — All tests go into `Testing/UnitTesting/`. Copilot appends to existing test files or creates new ones as needed. +- **Code Style** — Relative include paths, test fixtures for complex setup, C++17 features, and inline comments explaining _why_ each scenario is tested. -### 4. Few-Shot Examples (Crucial) +### 3. Few-Shot Example -The most effective way to guide the AI is to show, not just tell. Include snippet examples of: +The most effective way to guide the AI is to show, not just tell. The prompt file includes a concrete example: -- **Input:** A target function signature. -- **Output:** The perfect unit test code for that function, formatted exactly how we want it. +- **Input:** A class `Counter` with methods `increment()`, `decrement()`, and `getCount()`. +- **Output:** Three complete Google Test cases (`IncrementIncreasesCount`, `DecrementFromZeroDoesNotGoNegative`, `IncrementThenDecrementReturnsToOriginal`) demonstrating the expected formatting, the AAA pattern, fixture usage, and inline comments. + +This example anchors the style for all generated tests. + +### 4. Input Variables + +Input variables are placeholders in the prompt body that get replaced with real values when the prompt runs. They use the `${...}` syntax. + +| Variable | What It Resolves To | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `${selection}` or `${selectedText}` | The code you currently have highlighted in the editor. | +| `${file}` | The full path to the currently open file. | +| `${fileBasename}` | The filename only (e.g., `Vertex.cpp`). | +| `${fileDirname}` | The directory containing the current file. | +| `${fileBasenameNoExtension}` | The filename without its extension (e.g., `Vertex`). | +| `${workspaceFolder}` | The root path of the open workspace. | +| `${input:variableName}` | Prompts you to type a value when the command runs. For example, `${input:framework:jest or vitest}` shows an input box with the hint "jest or vitest". | + +Our prompt file uses `${selection}` — this means Copilot will use whatever code you have selected in the editor as the target for test generation. ## Usage Guide -To utilize this prompt in your workflow: +### Invoking the Prompt (Slash Command) + +1. **Open a source file** you want to generate tests for (e.g., `Simulator/Core/Vertex.cpp`). +2. **Select the code** you want to test — highlight a function, a class, or an entire file's contents in the editor. +3. **Open Copilot Chat** (`Ctrl+Alt+I`). +4. **Type `/generate-unit-tests`** in the chat input. The prompt should appear in the autocomplete dropdown as you type. Press Enter to invoke it. +5. _(Optional)_ You can add extra instructions after the slash command, e.g.: + ``` + /generate-unit-tests Focus on edge cases for empty graphs + ``` + +### What Happens Next: How Copilot Generates Output + +When using **Agent mode** (which this prompt file is configured for via `agent: agent`), Copilot does not just print text in the sidebar — it **directly creates and edits files in your workspace**. Here is what to expect: + +1. **Copilot analyzes** your selected code and the prompt instructions. +2. **Copilot creates or edits files** — for example, it may create `Testing/UnitTesting/VertexTests.cpp` or append new test cases to an existing test file. You will see a diff view showing the proposed changes. +3. **You review the changes** — VS Code highlights every addition and modification. You can: + - **Accept** the changes to keep them. + - **Discard** individual changes or all changes. + - **Iterate** by sending a follow-up message (e.g., "Add a test for null input"). + +> **Note:** If Copilot is set to `ask` mode instead of `agent` mode, it will only display the generated code as text in the chat sidebar. You would then need to manually copy the code into your files. The `agent` setting in our prompt file's frontmatter ensures Copilot uses agent mode, which can create/edit files directly. + +### Full Example Walkthrough + +**Scenario:** Generate tests for the `Vertex` class. + +1. Open `Simulator/Core/Vertex.cpp` in the editor. +2. Select the class methods you want tested (or press `Ctrl+A` to select all). +3. Open Copilot Chat and type: + ``` + /generate-unit-tests + ``` +4. Copilot reads the selected code via the `${selection}` variable, follows the prompt's three-step workflow (analyze → plan → generate), and creates a new file at `Testing/UnitTesting/VertexTests.cpp` containing Google Test cases. +5. Review the generated diff. Click **Accept** to save, or type follow-up instructions in the chat to refine. + +### Alternative Ways to Run the Prompt + +| Method | How | +| ----------------------- | ------------------------------------------------------------------------------------------------------- | +| **Slash command** | Type `/generate-unit-tests` in the Chat input. | +| **Command Palette** | `Ctrl+Shift+P` → `Chat: Run Prompt` → select `generate-unit-tests`. | +| **Play button** | Open `generate-unit-tests.prompt.md` in the editor and click the ▶ play button in the editor title bar. | +| **Configure Chat menu** | Click ⚙ in the Chat view → **Prompt Files** → select the prompt. | + +## Understanding the `@` Syntax and `#` Context + +You may see references to `@workspace` or `#codebase` in Copilot documentation. Here is what they mean: + +- **`@workspace`** — A built-in _chat participant_ that gives Copilot knowledge of your entire project. When you type `@workspace` followed by a question, Copilot searches across all files in your workspace to answer it. Example: `@workspace Where is the Graph class defined?` +- **`@terminal`** — A chat participant for terminal-related questions. Example: `@terminal How do I run the tests?` +- **`@vscode`** — A chat participant for VS Code settings and features. Example: `@vscode How do I change the font size?` +- **`#codebase`** — A _context tool_ that adds codebase search results to your prompt. Unlike `@workspace` (which handles the entire prompt), `#codebase` can be combined with other tools. It is the recommended approach for adding project-wide context. +- **`#file`** — Attaches a specific file as context. Example: `#file:Vertex.h Explain this class.` -1. Open Copilot Chat in your IDE. -2. Reference the file (e.g., `@workspace`) or copy the prompt contents. -3. Provide the **Input Variables**: - - **Target Class/Function:** What you want to test. -4. Copilot will generate the output based on the template's logic. +> **Note:** You do not need to use `@workspace` or `#codebase` when running our prompt file. The prompt is already configured with `tools: ['search', 'read', 'edit']`, which gives Copilot the ability to search and read your codebase automatically. ## Maintenance @@ -73,9 +207,11 @@ Update this file when: - **Framework Changes:** We switch testing libraries (e.g., Google Test to Catch2). - **Process Changes:** We require new sections in tests (e.g., requiring performance benchmarks in unit tests). -- **Quality Issues:** If Copilot frequently misses edge cases, add an explicit step in the "Workflow" section to "Analyze integer overflows" or "Check for null pointers." +- **Quality Issues:** If Copilot frequently misses edge cases, add an explicit step in the workflow or a new test category in Step 2. ## External Resources +- [VS Code: Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files) - [GitHub Copilot: Prompt Engineering for Developers](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot) - [Microsoft: Introduction to Prompt Engineering](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering) +- [Awesome Copilot: Community Prompt Examples](https://github.com/github/awesome-copilot) From cdae89089f3d3e6189bb2282964c1997c7c54c4f Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Mar 2026 19:14:41 -0800 Subject: [PATCH 146/153] Add debug.prompt.md file for debugging code issues --- .github/prompts/debug.prompt.md | 167 ++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 .github/prompts/debug.prompt.md diff --git a/.github/prompts/debug.prompt.md b/.github/prompts/debug.prompt.md new file mode 100644 index 000000000..941c67752 --- /dev/null +++ b/.github/prompts/debug.prompt.md @@ -0,0 +1,167 @@ +--- +name: debug +description: Trace and explain the root cause of a bug in the C++17 Graphitti code +agent: agent +tools: ["search", "read"] +--- + +# Inputs and Context + +Use the following inputs as the primary source of truth for expected vs. actual behavior. Treat them as ground truth unless you explicitly state otherwise in your assumptions. + +- **Problem description from the user (required):** + + ${input:problemDescription} + +- **Target code (optional selection from the editor):** + + ${selection} + +- **Steps to reproduce (optional):** + + ${input:stepsToReproduce} + +- **Logs, stack traces, or failing test output (optional):** + + ${input:logs} + +- **Environment / configuration details (optional):** + + ${input:environment} + +If any of these are missing or incomplete, call that out explicitly in the **Assumptions and Scope** section instead of silently guessing. + +# Step 1: Understand the Code and Problem + +Before proposing any fix, read and summarize the target code and the reported behavior. Answer these questions internally (do not output them): + +1. **What is the primary function, method, or code path under suspicion?** Is this a class (`Graph`, `Vertex`), a free function, or a template? +2. **What is the expected behavior versus the actual behavior?** Include inputs, outputs, and any side effects. +3. **What dependencies does it have?** Other Graphitti classes, standard library containers, external libraries? +4. **What invariants or assumptions are relevant?** (e.g., "vertex count must equal the size of the adjacency list", "counter should increase by exactly 1"). +5. **What categories of bug are most likely?** (logic error, off-by-one, stale or shared state, wrong constant, incorrect default, misuse of a dependency, etc.). + +Use the **Inputs and Context** section above as your starting point. Do **not** output your answers to these questions directly. Use them only to guide the trace and explanation in later steps. + +# Step 2: Trace the Execution Path + +Now that you understand the problem, trace how the code executes from the entry point of the bug to the final incorrect result. + +Use the `search` and `read` tools to locate and inspect any relevant files, definitions, and call sites in the Graphitti codebase (for example, where a method is defined and where it is called). + +Design an internal execution trace that answers: + +1. Which public or entry-point function is called when this bug occurs? +2. Which functions, methods, or constructors are invoked along the way (including helpers, virtual overrides, and templates)? +3. How do the key values change at each step (inputs, member variables, return values, accumulators, caches)? +4. Which branches or conditions are taken in the failing scenario? +5. Where is the first point at which the state diverges from what is expected? + +Do not output this raw trace verbatim. In the next step, you will convert it into a clear explanation for the user. + +When exploring the repository: + +- Only reference functions, classes, and files that you have actually located with `search` / `read`. +- If you cannot find a symbol, file, or configuration that seems important, note this as a limitation in **Assumptions and Scope** rather than inventing its behavior. + +# Step 3: Explain the Root Cause and Fix + +Using the analysis from Step 1 and the trace from Step 2, generate a structured debugging report following these rules: + +## Project Conventions + +- Organize the answer into the following sections, in this exact order: + 1. **Problem Summary** — Restate the bug in 1–3 sentences, including the relevant function(s) and the expected vs. actual behavior. + 2. **Assumptions and Scope** — Briefly list any assumptions you are making about inputs, configuration, or environment, including any missing information from the Inputs and Context section. + 3. **Execution Trace** — Summarize the key steps in the call chain that lead to the incorrect result, focusing on functions, important state changes, and branches taken. + 4. **Root Cause Analysis** — Explain precisely _why_ the bug happens, referencing specific functions, conditions, or state transitions. + 5. **Proposed Fix** — Describe a minimal, targeted change that would correct the behavior, including a concrete code snippet or patch-style suggestion when appropriate. + 6. **Verification Steps** — Outline how to verify the fix (existing tests to run, new tests to add, and any manual steps). + +- In **Execution Trace**, summarize only the essential steps, state changes, and branches relevant to the failing scenario. Avoid line-by-line commentary or speculative paths that are not actually taken when the bug occurs. +- Only reference functions, classes, files, and configuration values that you have actually seen in the repository or in the provided inputs. If something is inferred or assumed, make that explicit in **Assumptions and Scope**. +- If there are multiple plausible root causes or the available information is incomplete, clearly: + - Identify the most likely root cause first. + - List alternative possibilities as secondary hypotheses, along with what extra data would be needed to confirm or reject them. +- Use concise paragraphs and bullet points. Avoid long, unstructured walls of text. +- When referencing functions or methods, include both the name and file path where possible (e.g., ``Counter::increment` in `Simulator/Utils/Counter.cpp``). + +## File Placement + +- You are **not** required to create or edit files directly in this prompt. Focus on analysis and explanation. +- When you propose code changes, show them as **snippets** the user can apply manually, rather than editing files yourself. +- If you reference tests or new test files, follow the existing project structure: + - Unit tests live under `Testing/UnitTesting/`. + - For functions touched by the fix, you may suggest using the `/generate-unit-tests` prompt on the affected code to create new tests that reproduce the bug and guard against regressions. + +## Code Style + +- Keep code examples minimal and focused on the bug and its fix. +- Use C++17 features and the project’s conventions when writing example code (e.g., `auto` where appropriate, no `using namespace std;`). +- When showing a fix, include only the smallest necessary surrounding context (e.g., the function signature plus the corrected lines). +- Add brief inline comments explaining _why_ the fix works, especially when adjusting constants, conditions, or state transitions. + +## Few-Shot Example + +Below is an example of the expected output format. Match this style exactly, adapting it to the actual bug and code under analysis. + +**Input:** Problem description — “`Counter::increment()` always returns 2 when it should return 1 after a single call.” The user selects the implementation of `Counter::increment()` and its helper `internalAdd`. + +**Output:** + +````md +1. Problem Summary + +`Counter::increment()` increases the internal counter by 2 instead of 1 on a single call. +Expected: calling `increment()` once from an initial count of 0 should yield 1. +Actual: the count becomes 2. + +2. Assumptions and Scope + +- We assume `Counter` starts at 0 unless explicitly initialized otherwise. +- We focus on the non-thread-safe, single-threaded usage of `Counter`. +- No external configuration or environment flags modify the increment step. + +3. Execution Trace + +- Step 1: `Counter::increment()` is called while `count_` is 0 (`Simulator/Utils/Counter.cpp`, ~line 25). +- Step 2: Inside `increment()`, it calls `internalAdd(2)` instead of `internalAdd(1)`. +- Step 3: `internalAdd(2)` updates `count_` from 0 to 2 and returns. +- Step 4: `getCount()` simply returns `count_` without further modification, so the observed result is 2. + +4. Root Cause Analysis + +The root cause is a hard-coded increment value of 2 inside `Counter::increment()`. +The intended behavior is to increase the count by exactly 1 per call, but the call to `internalAdd(2)` doubles the expected increment. +There are no additional side effects or state mutations that compensate for this, so the incorrect value propagates directly to `getCount()`. + +5. Proposed Fix + +Change the argument passed to `internalAdd` from 2 to 1: + +```cpp +void Counter::increment() { + // Increment by 1 to match the documented behavior. + internalAdd(1); +} +``` + +This ensures a single call to increment() increases count\_ by exactly 1. + +6. Verification Steps + +Add or update a unit test that: + +- Constructs a Counter at 0. +- Calls increment() once. +- Asserts that getCount() returns 1. + +Run the existing unit test suite (for example, ctest or your standard test command) to confirm no unrelated regressions. + +Optionally, use the /generate-unit-tests prompt on Counter to generate additional tests that: + +- Call increment() twice and confirm the result is 2. +- Interleave increment() and decrement() and ensure the count returns to the original value. +```` + +Now generate the debugging report for the target problem and selection. From cab259cd3abc53fd3d4280ddbaf0ecc2afe84241 Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Mar 2026 19:31:57 -0800 Subject: [PATCH 147/153] Add doc file for debug prompt, and move re-used information into separate md files. --- docs/Developer/CopilotDebug.md | 106 ++++++++++++++++++ docs/Developer/CopilotGenerateUnitTests.md | 97 +++++++++++++++++ docs/Developer/CopilotInstructions.md | 19 ++++ docs/Developer/CopilotPromptTemplate.md | 121 +++++++++++++++++++++ docs/Developer/CopilotSetup.md | 75 +++++++++++++ docs/Developer/index.md | 7 +- 6 files changed, 423 insertions(+), 2 deletions(-) create mode 100644 docs/Developer/CopilotDebug.md create mode 100644 docs/Developer/CopilotGenerateUnitTests.md create mode 100644 docs/Developer/CopilotPromptTemplate.md create mode 100644 docs/Developer/CopilotSetup.md diff --git a/docs/Developer/CopilotDebug.md b/docs/Developer/CopilotDebug.md new file mode 100644 index 000000000..0c0264e76 --- /dev/null +++ b/docs/Developer/CopilotDebug.md @@ -0,0 +1,106 @@ +# Copilot Prompt Templates: Debugging Graphitti Bugs + +## Table of Contents + +- [Overview](#overview) +- [File Location](#file-location) +- [Prerequisites: Setting Up Copilot in VS Code](#prerequisites-setting-up-copilot-in-vs-code) +- [Prompt Template Format](#prompt-template-format) +- [Debug Prompt Format](#debug-prompt-format) + - [Step 1: Understand the Code and Problem](#step-1-understand-the-code-and-problem) + - [Step 2: Trace the Execution Path](#step-2-trace-the-execution-path) + - [Step 3: Explain the Root Cause and Fix](#step-3-explain-the-root-cause-and-fix) +- [What Happens Next: How Copilot Responds](#what-happens-next-how-copilot-responds) +- [Example Workflow](#example-workflow) +- [External Resources](#external-resources) + +## Overview + +The file `debug.prompt.md` serves as a **Prompt Template** for GitHub Copilot. Unlike global instructions, this is a specialized “recipe” used to perform a focused task—tracing and explaining the root cause of bugs in the C++17 Graphitti codebase. + +This prompt guides Copilot through a structured debugging workflow: understanding the reported problem, tracing the execution path through the code, and producing a clear, sectioned explanation of the root cause and a proposed fix. + +## File Location + +This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/CopilotDebug.prompt.md). + +## Prerequisites: Setting Up Copilot in VS Code + +View the setup instructions in the [CopilotSetup.md](./CopilotSetup.md) file. + +## Prompt Template Format + +See why we use templates and how to structure them in the [CopilotPromptTemplate.md](./CopilotPromptTemplate.md) file + +## Debug Prompt Format + +This is how the `debug.prompt.md` file specifically is structured: + +### Step 1: Understand the Code and Problem + +Copilot first reads the reported problem and any selected code, then answers several **internal** questions (not shown to the user) about: + +1. The primary function, method, or code path under suspicion (class, free function, template, etc.). +2. Expected vs. actual behavior, including inputs, outputs, and side effects. +3. Dependencies (other Graphitti classes, standard library containers, external libraries). +4. Relevant invariants or assumptions (for example, “vertex count must equal the size of the adjacency list”). +5. Likely bug categories (logic error, off-by-one, stale state, wrong constant, etc.). + +### Step 2: Trace the Execution Path + +Next, Copilot uses `search` and `read` to explore the repository and build an internal execution trace from the entry point to the incorrect result: + +- Which public or entry-point function is called when the bug occurs. +- Which functions, methods, or constructors are invoked along the way, including helpers and overrides. +- How key values change at each step (inputs, member variables, return values, accumulators, caches). +- Which branches or conditions are taken in the failing scenario. +- The first point where the state diverges from what is expected. + +### Step 3: Explain the Root Cause and Fix + +Finally, Copilot produces a structured report with six sections in a fixed order: + +1. **Problem Summary** — Concise restatement of the bug, expected vs. actual behavior, and relevant functions. +2. **Assumptions and Scope** — Any assumptions about inputs, configuration, or environment, and what information is missing. +3. **Execution Trace** — A summarized, human-readable version of the call chain and key state changes leading to the bug. +4. **Root Cause Analysis** — A precise explanation of why the bug occurs, tied to specific functions, conditions, or state transitions. +5. **Proposed Fix** — A minimal, targeted change with a code snippet or patch-style suggestion where appropriate. +6. **Verification Steps** — How to verify the fix (tests to run or add, plus any manual steps). + +## What Happens Next: How Copilot Responds + +Because this prompt is configured with `agent: ask`, Copilot responds **only in the chat panel**; it does **not** create or edit files directly. + +You should expect: + +1. A structured markdown report with the six sections described above. +2. References to specific functions and (where possible) file paths and approximate line numbers. +3. One or more proposed fixes in code snippets, plus guidance on tests or manual checks to verify the fix. + +You can then: + +- Copy any suggested code into your source files manually. +- Run or add tests following the Verification Steps. +- Ask follow-up questions (e.g., “What if this function is also used by X?” or “Show me an alternative fix that doesn’t change this invariant.”). + +## Example Workflow + +**Scenario:** You see a bug where a spike count in a neural simulation is off by one for large graphs. + +1. Open the file containing the suspected logic (for example, a neuron or synapse update function). +2. Select the relevant function or region (the spike accumulation code). +3. Open Copilot Chat and type: + +```text +/debug The spike count is off by 1 when running large graphs with more than 10,000 vertices. +``` + +4. Copilot analyzes the selected code and repository using the debug prompt workflow, then returns a report with an execution trace and a proposed fix. +5. Apply or adapt the suggested fix, then run the tests listed in the Verification Steps to confirm the issue is resolved. + +## External Resources + +- [VS Code: Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files) +- [GitHub Copilot: Prompt Engineering for Developers](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot) +- [Microsoft: Introduction to Prompt Engineering](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering) +- [Awesome Copilot: Community Prompt Examples](https://github.com/github/awesome-copilot) diff --git a/docs/Developer/CopilotGenerateUnitTests.md b/docs/Developer/CopilotGenerateUnitTests.md new file mode 100644 index 000000000..77d5d23b3 --- /dev/null +++ b/docs/Developer/CopilotGenerateUnitTests.md @@ -0,0 +1,97 @@ +# Copilot Prompt Templates: Unit Test Generation + +## Table of Contents + +- [Overview](#overview) +- [File Location](#file-location) +- [Prerequisites: Setting Up Copilot in VS Code](#prerequisites-setting-up-copilot-in-vs-code) +- [Prompt Template Format](#prompt-template-format) +- [Unit Test Prompt Format](#unit-test-prompt-format) + - [Step 1: Understand the Code](#step-1-understand-the-code) + - [Step 2: Create Scenario](#step-2-create-scenario) + - [Step 3: Generate Test Cases](#step-3-generate-test-cases) +- [What Happens Next: How Copilot Responds](#what-happens-next-how-copilot-responds) +- [Example Workflow](#example-workflow) +- [External Resources](#external-resources) + +## Overview + +The file located at `.github/prompts/generate-unit-tests.prompt.md` serves as a **Prompt Template**. Unlike the global instructions file, this is a specialized "recipe" used to execute a specific task—in this case, generating robust unit tests. + +This technique is often referred to as "Prompt Engineering." It provides the AI with a structured workflow and examples (few-shot prompting) to ensure that generated tests match the project's quality standards. + +## File Location + +This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/CopilotGenerateUnitTests.prompt.md). + +## Prerequisites: Setting Up Copilot in VS Code + +View the setup instructions in the [CopilotSetup.md](./CopilotSetup.md) file. + +## Prompt Template Format + +See why we use templates and how to structure them in the [CopilotPromptTemplate.md](./CopilotPromptTemplate.md) file + +## Unit Test Prompt Format + +This is how the `debug.prompt.md` file specifically is structured: + +### Step 1: Understand the Code + +Copilot first reads the selected class/function and identifies test-relevant behavior: + +1. Public API surface to test (methods, inputs, return values). +2. Preconditions and invariants that should hold before and after operations. +3. Observable behaviors versus implementation details to avoid brittle tests. +4. Error paths and boundary conditions (empty collections, min/max values, invalid inputs). +5. Dependencies or collaborators that may require fixtures or controlled setup. + +### Step 2: Create Scenario + +Next, Copilot creates a concrete scenario set for unit testing rather than root-cause tracing: + +- Happy path behavior. +- Boundary and edge-case coverage. +- Error handling and failure expectations. +- State preservation across operations. +- Repeated-call/idempotency behavior. +- Method interaction sequences (for example, add/remove or increment/decrement flows). + +### Step 3: Generate Test Cases + +Finally, Copilot generates test code that follows Graphitti testing conventions: + +1. Uses Google Test with clear `TEST`/`TEST_F` names in PascalCase. +2. Prefers behavior-focused assertions (`EXPECT_*`/`ASSERT_*`) and AAA-style structure. +3. Places or appends tests under `Testing/UnitTesting/`. +4. Uses fixtures only where setup complexity justifies them. +5. Produces tests that are isolated and deterministic. + +## What Happens Next: How Copilot Responds + +Because this prompt is configured with `agent: agent`, Copilot proposes direct workspace edits instead of +only chat text. + +You should expect: + +1. Creation or modification of unit-test files (typically under `Testing/UnitTesting/`). +2. A diff you can review and accept/discard in VS Code. +3. Follow-up refinement by prompting for additional scenarios (for example, edge cases or regressions). + +## Example Workflow + +**Scenario:** Generate tests for the `Vertex` class. + +1. Open `Simulator/Core/Vertex.cpp` in the editor. +2. Select the class methods you want tested (or press `Ctrl+A` to select all). +3. Open Copilot Chat and type `/generate-unit-tests` + +4. Copilot reads the selected code via the `${selection}` variable, follows the prompt's three-step workflow (analyze → plan → generate), and creates a new file at `Testing/UnitTesting/VertexTests.cpp` containing Google Test cases. +5. Review the generated diff. Click **Accept** to save, or type follow-up instructions in the chat to refine. + +## External Resources + +- [VS Code: Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files) +- [GitHub Copilot: Prompt Engineering for Developers](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot) +- [Microsoft: Introduction to Prompt Engineering](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering) +- [Awesome Copilot: Community Prompt Examples](https://github.com/github/awesome-copilot) diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md index f0dfe66f0..664e77ef3 100644 --- a/docs/Developer/CopilotInstructions.md +++ b/docs/Developer/CopilotInstructions.md @@ -1,3 +1,22 @@ +# GitHub Copilot Custom Instructions + +## Overview + +The `copilot-instructions.md` file is a configuration file that tailors GitHub Copilot's behavior for this repository. It acts as a **system prompt** — context that is automatically included in every Copilot Chat interaction, inline code generation, and **pull request code review** within this project. + +Instead of receiving generic coding assistance, Copilot follows Graphitti's specific coding standards, architecture patterns, and conventions automatically — both when writing code and when reviewing it. + +## File Location + +[.github/copilot-instructions.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/copilot-instructions.md) + +> [!NOTE] +> This path is required by GitHub for automatic detection. The file must be at `.github/copilot-instructions.md` in the repository root. + +## Prerequisites + +To use this file, you need: + 1. **GitHub Copilot extension** installed in VS Code (see the [Copilot setup guide](https://code.visualstudio.com/docs/copilot/setup)). 2. **The correct workspace open** — you must open the repository root folder in VS Code (the folder that directly contains `.github/`). If `.github/` is not visible as a top-level folder in the Explorer sidebar, the instructions file will not be detected. 3. **VS Code 1.104 or later** — custom instructions are enabled by default in modern versions. On older versions, you may need to set `github.copilot.chat.codeGeneration.useInstructionFiles` to `true` in your VS Code settings. diff --git a/docs/Developer/CopilotPromptTemplate.md b/docs/Developer/CopilotPromptTemplate.md new file mode 100644 index 000000000..2c6b87fc6 --- /dev/null +++ b/docs/Developer/CopilotPromptTemplate.md @@ -0,0 +1,121 @@ +# Copilot Prompt Template Anatomy + +## Table of Contents + +- [Overview](#overview) +- [Why Use a Prompt Template?](#why-use-a-prompt-template) +- [Standard File Structure](#standard-file-structure) +- [YAML Frontmatter](#yaml-frontmatter) + - [Common Fields](#common-fields) +- [Workflow Layout](#workflow-layout) +- [Few-Shot Guidance](#few-shot-guidance) +- [Input Variables](#input-variables) +- [Maintenance](#maintenance) +- [Related Documentation](#related-documentation) + +## Overview + +This document describes the shared structure used for Graphitti Copilot prompt files. + +Use this as the common reference for prompt template design. Prompt-specific behavior and examples +should remain in each prompt's own documentation file. + +## Why Use a Prompt Template? + +Asking Copilot “why is this failing?” or "Generate some test cases for this." with no structure often yields vague guesses, incomplete analysis, or suggestions that ignore how your project is actually wired together. + +By using a template with a concrete structure, you force Copilot to: + +1. **Analyze** the reported problem and the relevant code before answering, using a set of internal questions about expected vs. actual behavior, invariants, and likely bug categories. +2. **Trace** the execution path from the entry point using repository search and file reads. +3. **Explain** what steps it will take to solve your problem. + +This leads to more reproducible, reviewable outputs and makes it easier for other contributors to understand and validate the diagnosis. + +## Standard File Structure + +Each `.prompt.md` file should include the following sections: + +1. **YAML frontmatter** for prompt metadata and execution mode. +2. **Workflow instructions** that define the step-by-step reasoning process. +3. **Few-shot example** that demonstrates expected output style and quality. +4. **Input variables** that describe how context is passed into the prompt. + +## YAML Frontmatter + +Frontmatter is enclosed in `---` blocks at the top of the prompt file. Here is an example frontmatter: + +```yaml +--- +name: your-command-name +description: Short summary shown in slash-command autocomplete +agent: agent +tools: ["search", "read", "edit"] +--- +``` + +### Common Fields + +| Field | Purpose | +| ------------- | --------------------------------------------------------------------------------------------------------------------- | +| `name` | Slash command name used in chat (for example, `/generate-unit-tests`). | +| `description` | Short summary shown in prompt-file and slash-command UI. | +| `agent` | Execution mode (`agent`, `ask`, or `plan`) based on expected behavior. | +| `tools` | Allowed tools (for example, `search`, `read`, `edit`) used by the prompt run. These are only utilized in `agent` mode | +| `model` | Optional model override. Omit unless a prompt requires a specific model. | + +## Workflow Layout + +Prompt workflows should use a clear, sequential structure such as: + +1. **Understand** the target code/problem and identify dependencies and constraints. +2. **Plan** scenarios or steps before generating output. +3. **Generate** final output that follows project standards. + +This pattern keeps prompt behavior predictable and improves output quality across prompt types. + +## Few-Shot Guidance + +The most effective way to guide the AI is to show, not just tell. Prompt files should include concrete examples, for example: + +- **Input:** A class `Counter` with methods `increment()`, `decrement()`, and `getCount()`. +- **Output:** Three complete Google Test cases (`IncrementIncreasesCount`, `DecrementFromZeroDoesNotGoNegative`, `IncrementThenDecrementReturnsToOriginal`) demonstrating the expected formatting, the AAA pattern, fixture usage, and inline comments. + +This example anchors the style for all generated tests. + +Remember, few-shot examples should stay short and representative rather than exhaustive. + +## Input Variables + +Input variables are placeholders in the prompt body that get replaced with real values when the prompt runs. They use the `${...}` syntax. + +| Variable | What It Resolves To | +| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `${selection}` or `${selectedText}` | The code you currently have highlighted in the editor. | +| `${file}` | The full path to the currently open file. | +| `${fileBasename}` | The filename only (e.g., `Vertex.cpp`). | +| `${fileDirname}` | The directory containing the current file. | +| `${fileBasenameNoExtension}` | The filename without its extension (e.g., `Vertex`). | +| `${workspaceFolder}` | The root path of the open workspace. | +| `${input:variableName}` | Prompts you to type a value when the command runs. For example, `${input:framework:jest or vitest}` shows an input box with the hint "jest or vitest". | + +## Maintenance + +Update prompt files when: + +- **Project structure changes:** File paths, module names, or directory layouts change in ways that affect how you want functions and tests referenced. +- **Processes changes:** You want additional sections in a report (for example, a “Performance Impact” or “Regression Risk” section), or different internal analysis questions. +- **Quality issues appear:** If Copilot repeatedly misses certain bug patterns (such as concurrency issues or floating-point precision problems), refine the internal questions or add explicit guidance in the workflow. +- **Tooling changes:** If you switch Copilot models or want to let the debug prompt create patches automatically, you may change `agent` from `ask` to `agent` and add `edit` to the `tools` list. + +When you make changes, keep the structure predictable: + +- Preserve the YAML frontmatter format. +- Keep the three main steps (Understand, Trace, Explain \& Fix), even if you add more detail inside them. +- Maintain at least one up-to-date few-shot example that reflects your current conventions. + +## Related Documentation + +- For installation and environment setup, see [GitHub Copilot Setup in VS Code](CopilotSetup.md). +- For unit-test prompt specifics, see [Copilot Prompt Templates: Unit Test Generation](CopilotGenerateUnitTests.md). +- For debug prompt specifics, see [Copilot Prompt Templates: Debugging and Root Cause Analysis](CopilotDebug.md). diff --git a/docs/Developer/CopilotSetup.md b/docs/Developer/CopilotSetup.md new file mode 100644 index 000000000..a77a3fed5 --- /dev/null +++ b/docs/Developer/CopilotSetup.md @@ -0,0 +1,75 @@ +# GitHub Copilot Setup in VS Code + +## Table of Contents + +- [Overview](#overview) +- [Instructions](#instructions) + - [1. Install the Extension](#1-install-the-extension) + - [2. Open the Correct Workspace Folder](#2-open-the-correct-workspace-folder) + - [3. Verify Prompt File Detection](#3-verify-prompt-file-detection) +- [Using Prompt Files](#using-prompt-files) +- [Understanding the `@` Syntax and `#` Context](#understanding-the--syntax-and--context) +- [Related Documentation](#related-documentation) + +## Overview + +This document describes how to install and configure GitHub Copilot for use in Graphitti. + +## Instructions + +### 1. Install the Extension + +1. Open VS Code. +2. Go to the **Extensions** sidebar (`Ctrl+Shift+X`). +3. Search for **"GitHub Copilot"** and install it (this also installs the Copilot Chat component). +4. Sign in with your GitHub account when prompted. You need an active GitHub Copilot subscription (free tier, Pro, or through an organization). + +### 2. Open the Correct Workspace Folder + +Prompt files are resolved **relative to the workspace root** — the folder you open in VS Code. + +> **Important:** You must open the repository root folder that directly contains the `.github/prompts/` directory. For Graphitti, this means opening the folder that has `.github/` as a direct child. +> +> For example, if the repository is cloned to `/home/user/Graphitti/`, open the **Graphitti** folder in VS Code — not **/home or /user**. If VS Code's Explorer sidebar shows `.github/` as a top-level folder, you're in the right place. + +### 3. Verify Prompt File Detection + +1. Open the Copilot Chat panel (`Ctrl+Alt+I`). +2. Click the **Configure Chat** gear icon (⚙) at the top of the Chat panel. +3. Select **Prompt Files** from the menu. +4. You should see available prompt files (for example, `generate-unit-tests` and `debug`) listed. If they appear, setup is complete. + +If it does not appear, confirm: + +- The file is named with the `.prompt.md` extension (not just `.md`). +- The file is inside `.github/prompts/` at the workspace root. +- You are on VS Code version **1.104 or later** (prompt files are enabled by default in modern versions). + +## Using Prompt Files + +You may run prompt files through multiple VS Code entry points listed below: + +| Method | How | +| :---------------------- | :----------------------------------------------------------------------------------------------- | +| **Slash command** | Type `/command-name` in the Chat input. | +| **Command Palette** | `Ctrl+Shift+P` → **Chat: Run Prompt** → select `command-name`. | +| **Play button** | Open `command-name.prompt.md` in the editor and click the ▶ play button in the editor title bar. | +| **Configure Chat menu** | Click ⚙ in the Chat view → **Prompt Files** → select the `command-name` prompt. | + +## Understanding the `@` Syntax and `#` Context + +You may see references to `@workspace` or `#codebase` in Copilot documentation. Here is what they mean: + +- **`@workspace`** — A built-in _chat participant_ that gives Copilot knowledge of your entire project. When you type `@workspace` followed by a question, Copilot searches across all files in your workspace to answer it. Example: `@workspace Where is the Graph class defined?` +- **`@terminal`** — A chat participant for terminal-related questions. Example: `@terminal How do I run the tests?` +- **`@vscode`** — A chat participant for VS Code settings and features. Example: `@vscode How do I change the font size?` +- **`#codebase`** — A _context tool_ that adds codebase search results to your prompt. Unlike `@workspace` (which handles the entire prompt), `#codebase` can be combined with other tools. It is the recommended approach for adding project-wide context. +- **`#file`** — Attaches a specific file as context. Example: `#file:Vertex.h Explain this class.` + +You generally do **not** need to use `@workspace` or `#codebase` when running prompt files, because the prompt is already configured with `tools: ["search", "read"]`, which give Copilot automatic access to your codebase. + +## Related Documentation + +- For shared prompt file anatomy and workflow layout, see [Copilot Prompt Template Anatomy](CopilotPromptTemplate.md). +- For unit-test prompt details, see [Copilot Prompt Templates: Unit Test Generation](CopilotGenerateUnitTests.md). +- For debug prompt details, see [Copilot Prompt Templates: Debugging and Root Cause Analysis](CopilotDebug.md). diff --git a/docs/Developer/index.md b/docs/Developer/index.md index b183bd458..318b2c15f 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -23,8 +23,11 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d - clang-format - Refer to the [clang-format documentation](codingConventions.md#clang-format) to help with using this tool - GitHub Copilot - - [Copilot Instructions](CopilotInstructions.md) - How GitHub Copilot is configured for Graphitti development - - [Generate Unit Tests](GenerateUnitTests.md) - Using the AI-assisted unit test generation prompt + - [Copilot Prompt Template](CopilotPromptTemplate) - Why we use .prompt.md files and how they are structured. + - [Copilot Setup](CopilotSetup.md) - How to configure GitHub Copilot for use with VS Code and Graphitti + - [Copilot Instructions](CopilotInstructions.md) - How the copilot-instructions.md file is configured for Graphitti development + - [Generate Unit Tests](CopilotGenerateUnitTests.md) - Using the AI-assisted unit test generation prompt + - [Debug](CopilotDebug.md) - Using Copilot to assist with debugging - GitHub Pages - Refer to the [GitHub Pages documentation](GHPages.md) section for an overview of how we use GitHub Pages and editing practices - GitHub Actions Workflows From 65d647e65502abe5e132476413320454f8432718 Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Mar 2026 19:46:42 -0800 Subject: [PATCH 148/153] Fix small errors with links and documentation info --- docs/Developer/CopilotDebug.md | 4 +- docs/Developer/CopilotGenerateUnitTests.md | 4 +- docs/Developer/GenerateUnitTests.md | 217 --------------------- docs/Developer/index.md | 2 +- 4 files changed, 5 insertions(+), 222 deletions(-) delete mode 100644 docs/Developer/GenerateUnitTests.md diff --git a/docs/Developer/CopilotDebug.md b/docs/Developer/CopilotDebug.md index 0c0264e76..a27123e24 100644 --- a/docs/Developer/CopilotDebug.md +++ b/docs/Developer/CopilotDebug.md @@ -22,7 +22,7 @@ This prompt guides Copilot through a structured debugging workflow: understandin ## File Location -This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/CopilotDebug.prompt.md). +This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/debug.prompt.md). ## Prerequisites: Setting Up Copilot in VS Code @@ -69,7 +69,7 @@ Finally, Copilot produces a structured report with six sections in a fixed order ## What Happens Next: How Copilot Responds -Because this prompt is configured with `agent: ask`, Copilot responds **only in the chat panel**; it does **not** create or edit files directly. +Because this prompt is configured with `agent: agent`, but doest not have the `edit` tool available, Copilot responds **only in the chat panel**; it does **not** create or edit files directly. You should expect: diff --git a/docs/Developer/CopilotGenerateUnitTests.md b/docs/Developer/CopilotGenerateUnitTests.md index 77d5d23b3..7f1664359 100644 --- a/docs/Developer/CopilotGenerateUnitTests.md +++ b/docs/Developer/CopilotGenerateUnitTests.md @@ -22,7 +22,7 @@ This technique is often referred to as "Prompt Engineering." It provides the AI ## File Location -This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/CopilotGenerateUnitTests.prompt.md). +This prompt file is located under the `.github/prompts/` directory in the repository root [here](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/generate-unit-tests.prompt.md). ## Prerequisites: Setting Up Copilot in VS Code @@ -34,7 +34,7 @@ See why we use templates and how to structure them in the [CopilotPromptTemplate ## Unit Test Prompt Format -This is how the `debug.prompt.md` file specifically is structured: +This is how the `generate-unit-tests.prompt.md` file specifically is structured: ### Step 1: Understand the Code diff --git a/docs/Developer/GenerateUnitTests.md b/docs/Developer/GenerateUnitTests.md deleted file mode 100644 index afec9058d..000000000 --- a/docs/Developer/GenerateUnitTests.md +++ /dev/null @@ -1,217 +0,0 @@ -# Copilot Prompt Templates: Unit Test Generation - -## Overview - -The file located at `.github/prompts/generate-unit-tests.prompt.md` serves as a **Prompt Template**. Unlike the global instructions file, this is a specialized "recipe" used to execute a specific task—in this case, generating robust unit tests. - -This technique is often referred to as "Prompt Engineering." It provides the AI with a structured workflow and examples (few-shot prompting) to ensure that generated tests match the project's quality standards. - -## File Location - -[.github/prompts/generate-unit-tests.prompt.md](https://github.com/UWB-Biocomputing/Graphitti/tree/master/.github/prompts/generate-unit-tests.prompt.md) - -## Prerequisites: Setting Up Copilot in VS Code - -Before using this prompt template, you must have GitHub Copilot installed and configured in VS Code. - -### 1. Install the Extension - -1. Open VS Code. -2. Go to the **Extensions** sidebar (`Ctrl+Shift+X`). -3. Search for **"GitHub Copilot"** and install it (this also installs the Copilot Chat component). -4. Sign in with your GitHub account when prompted. You need an active GitHub Copilot subscription (free tier, Pro, or through an organization). - -### 2. Open the Correct Workspace Folder - -Prompt files are resolved **relative to the workspace root** — the folder you open in VS Code. - -> **Important:** You must open the repository root folder that directly contains the `.github/prompts/` directory. For Graphitti, this means opening the folder that has `.github/` as a direct child. -> -> For example, if the repository is cloned to `/home/user/Graphitti/`, open the **Graphitti** folder in VS Code — not **/home or /user**. If VS Code's Explorer sidebar shows `.github/` as a top-level folder, you're in the right place. - -### 3. Verify Prompt File Detection - -1. Open the Copilot Chat panel (`Ctrl+Alt+I`). -2. Click the **Configure Chat** gear icon (⚙) at the top of the Chat panel. -3. Select **Prompt Files** from the menu. -4. You should see `generate-unit-tests` listed. If it appears, setup is complete. - -If it does not appear, confirm: - -- The file is named with the `.prompt.md` extension (not just `.md`). -- The file is inside `.github/prompts/` at the workspace root. -- You are on VS Code version **1.104 or later** (prompt files are enabled by default in modern versions). - -## Why Use a Prompt Template? - -Asking Copilot to simply "write a test for this function" often results in: - -- Generic or brittle tests. -- Inconsistent naming conventions. -- Testing implementation details rather than behavior. - -By invoking this template, we force Copilot to: - -1. **Analyze** the target code first (identify the SUT, public methods, dependencies, invariants, and failure modes). -2. **Plan** the test cases across six categories (happy path, boundary values, error handling, state preservation, idempotency, and method interactions). -3. **Generate** code that matches our specific testing framework (Google Test) and directory structure. - -## Anatomy of the Prompt File - -To edit or create new prompt templates, follow this structure: - -### 1. YAML Frontmatter - -The top of every `.prompt.md` file has a YAML metadata block enclosed in `---`. This controls how the prompt behaves: - -```yaml ---- -name: generate-unit-tests -description: Generate comprehensive Google Test cases for C++17 Graphitti code -agent: agent -tools: ["search", "read", "edit"] ---- -``` - -| Field | Purpose | -| ------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- | -| `name` | The slash command name. This is what you type after `/` in chat (e.g., `/generate-unit-tests`). If omitted, the filename is used. | -| `description` | A short summary shown next to the command in the autocomplete menu. | -| `agent` | Which Copilot mode runs the prompt. Use `agent` for tasks that create/edit files, `ask` for Q&A, or `plan` for generating a step-by-step plan. | -| `tools` | The tools Copilot is allowed to use. `search` finds files in the codebase, `read` reads file contents, and `edit` creates or modifies files. | -| `model` | _(Optional)_ A specific AI model ID (e.g., `gpt-4o`, `copilot-claude-sonnet-4`). Omit this to use whichever model is currently selected in the chat. | - -### 2. The Workflow (Step-by-Step Instructions) - -The body of the prompt file is a three-step workflow that Copilot follows internally when generating tests. Unlike a simple list of rules, this workflow forces the AI to think before it writes. - -#### Step 1: Understand the Code - -Before writing any tests, Copilot reads and summarizes the target code by answering five analysis questions internally (these are not output to the user): - -1. **What is the SUT (System Under Test)?** — Is this a class, free function, or template? -2. **What are the public methods and their signatures?** — Parameters, return types, preconditions. -3. **What dependencies does it have?** — Other Graphitti classes, standard library containers, external libraries. -4. **What invariants does the class maintain?** — e.g., "vertex count must equal the size of the adjacency list." -5. **What can go wrong?** — Null pointers, empty containers, out-of-range indices, integer overflow, floating point precision. - -The selected code is injected via the `${selection}` variable (see [Input Variables](#4-input-variables) below). - -#### Step 2: Design the Test Plan - -Copilot designs 5–7 test scenarios covering these six categories. For each scenario, it writes one sentence describing the test and the expected outcome: - -1. **Happy Path** — The standard use case works as expected. -2. **Boundary Values** — Min/max values (0 nodes, max edges, empty containers, single-element collections). -3. **Error Handling** — Verify correct exceptions are thrown or error codes are returned for invalid input. -4. **State Preservation** — After an operation, the object is in a valid and expected state. -5. **Idempotency / Repeated Calls** — Calling a method twice produces consistent results. -6. **Interaction Between Methods** — A sequence of operations (e.g., add then remove) leaves the object in the correct state. - -#### Step 3: Generate the Test Code - -Using the analysis from Step 1 and the plan from Step 2, Copilot generates C++ test code following the project rules defined in three sub-sections: - -- **Project Conventions** — PascalCase test names, no `using namespace std;`, `EXPECT_*` vs `ASSERT_*` guidance, and the AAA (Arrange, Act, Assert) pattern. -- **File Placement** — All tests go into `Testing/UnitTesting/`. Copilot appends to existing test files or creates new ones as needed. -- **Code Style** — Relative include paths, test fixtures for complex setup, C++17 features, and inline comments explaining _why_ each scenario is tested. - -### 3. Few-Shot Example - -The most effective way to guide the AI is to show, not just tell. The prompt file includes a concrete example: - -- **Input:** A class `Counter` with methods `increment()`, `decrement()`, and `getCount()`. -- **Output:** Three complete Google Test cases (`IncrementIncreasesCount`, `DecrementFromZeroDoesNotGoNegative`, `IncrementThenDecrementReturnsToOriginal`) demonstrating the expected formatting, the AAA pattern, fixture usage, and inline comments. - -This example anchors the style for all generated tests. - -### 4. Input Variables - -Input variables are placeholders in the prompt body that get replaced with real values when the prompt runs. They use the `${...}` syntax. - -| Variable | What It Resolves To | -| ----------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `${selection}` or `${selectedText}` | The code you currently have highlighted in the editor. | -| `${file}` | The full path to the currently open file. | -| `${fileBasename}` | The filename only (e.g., `Vertex.cpp`). | -| `${fileDirname}` | The directory containing the current file. | -| `${fileBasenameNoExtension}` | The filename without its extension (e.g., `Vertex`). | -| `${workspaceFolder}` | The root path of the open workspace. | -| `${input:variableName}` | Prompts you to type a value when the command runs. For example, `${input:framework:jest or vitest}` shows an input box with the hint "jest or vitest". | - -Our prompt file uses `${selection}` — this means Copilot will use whatever code you have selected in the editor as the target for test generation. - -## Usage Guide - -### Invoking the Prompt (Slash Command) - -1. **Open a source file** you want to generate tests for (e.g., `Simulator/Core/Vertex.cpp`). -2. **Select the code** you want to test — highlight a function, a class, or an entire file's contents in the editor. -3. **Open Copilot Chat** (`Ctrl+Alt+I`). -4. **Type `/generate-unit-tests`** in the chat input. The prompt should appear in the autocomplete dropdown as you type. Press Enter to invoke it. -5. _(Optional)_ You can add extra instructions after the slash command, e.g.: - ``` - /generate-unit-tests Focus on edge cases for empty graphs - ``` - -### What Happens Next: How Copilot Generates Output - -When using **Agent mode** (which this prompt file is configured for via `agent: agent`), Copilot does not just print text in the sidebar — it **directly creates and edits files in your workspace**. Here is what to expect: - -1. **Copilot analyzes** your selected code and the prompt instructions. -2. **Copilot creates or edits files** — for example, it may create `Testing/UnitTesting/VertexTests.cpp` or append new test cases to an existing test file. You will see a diff view showing the proposed changes. -3. **You review the changes** — VS Code highlights every addition and modification. You can: - - **Accept** the changes to keep them. - - **Discard** individual changes or all changes. - - **Iterate** by sending a follow-up message (e.g., "Add a test for null input"). - -> **Note:** If Copilot is set to `ask` mode instead of `agent` mode, it will only display the generated code as text in the chat sidebar. You would then need to manually copy the code into your files. The `agent` setting in our prompt file's frontmatter ensures Copilot uses agent mode, which can create/edit files directly. - -### Full Example Walkthrough - -**Scenario:** Generate tests for the `Vertex` class. - -1. Open `Simulator/Core/Vertex.cpp` in the editor. -2. Select the class methods you want tested (or press `Ctrl+A` to select all). -3. Open Copilot Chat and type: - ``` - /generate-unit-tests - ``` -4. Copilot reads the selected code via the `${selection}` variable, follows the prompt's three-step workflow (analyze → plan → generate), and creates a new file at `Testing/UnitTesting/VertexTests.cpp` containing Google Test cases. -5. Review the generated diff. Click **Accept** to save, or type follow-up instructions in the chat to refine. - -### Alternative Ways to Run the Prompt - -| Method | How | -| ----------------------- | ------------------------------------------------------------------------------------------------------- | -| **Slash command** | Type `/generate-unit-tests` in the Chat input. | -| **Command Palette** | `Ctrl+Shift+P` → `Chat: Run Prompt` → select `generate-unit-tests`. | -| **Play button** | Open `generate-unit-tests.prompt.md` in the editor and click the ▶ play button in the editor title bar. | -| **Configure Chat menu** | Click ⚙ in the Chat view → **Prompt Files** → select the prompt. | - -## Understanding the `@` Syntax and `#` Context - -You may see references to `@workspace` or `#codebase` in Copilot documentation. Here is what they mean: - -- **`@workspace`** — A built-in _chat participant_ that gives Copilot knowledge of your entire project. When you type `@workspace` followed by a question, Copilot searches across all files in your workspace to answer it. Example: `@workspace Where is the Graph class defined?` -- **`@terminal`** — A chat participant for terminal-related questions. Example: `@terminal How do I run the tests?` -- **`@vscode`** — A chat participant for VS Code settings and features. Example: `@vscode How do I change the font size?` -- **`#codebase`** — A _context tool_ that adds codebase search results to your prompt. Unlike `@workspace` (which handles the entire prompt), `#codebase` can be combined with other tools. It is the recommended approach for adding project-wide context. -- **`#file`** — Attaches a specific file as context. Example: `#file:Vertex.h Explain this class.` - -> **Note:** You do not need to use `@workspace` or `#codebase` when running our prompt file. The prompt is already configured with `tools: ['search', 'read', 'edit']`, which gives Copilot the ability to search and read your codebase automatically. - -## Maintenance - -Update this file when: - -- **Framework Changes:** We switch testing libraries (e.g., Google Test to Catch2). -- **Process Changes:** We require new sections in tests (e.g., requiring performance benchmarks in unit tests). -- **Quality Issues:** If Copilot frequently misses edge cases, add an explicit step in the workflow or a new test category in Step 2. - -## External Resources - -- [VS Code: Prompt Files Documentation](https://code.visualstudio.com/docs/copilot/customization/prompt-files) -- [GitHub Copilot: Prompt Engineering for Developers](https://docs.github.com/en/copilot/using-github-copilot/prompt-engineering-for-github-copilot) -- [Microsoft: Introduction to Prompt Engineering](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/prompt-engineering) -- [Awesome Copilot: Community Prompt Examples](https://github.com/github/awesome-copilot) diff --git a/docs/Developer/index.md b/docs/Developer/index.md index 318b2c15f..0f4ea5ef8 100644 --- a/docs/Developer/index.md +++ b/docs/Developer/index.md @@ -23,7 +23,7 @@ Students, use this [quickstart guide](StudentSetup.md) to help setup, use, and d - clang-format - Refer to the [clang-format documentation](codingConventions.md#clang-format) to help with using this tool - GitHub Copilot - - [Copilot Prompt Template](CopilotPromptTemplate) - Why we use .prompt.md files and how they are structured. + - [Copilot Prompt Template](CopilotPromptTemplate.md) - Why we use .prompt.md files and how they are structured. - [Copilot Setup](CopilotSetup.md) - How to configure GitHub Copilot for use with VS Code and Graphitti - [Copilot Instructions](CopilotInstructions.md) - How the copilot-instructions.md file is configured for Graphitti development - [Generate Unit Tests](CopilotGenerateUnitTests.md) - Using the AI-assisted unit test generation prompt From e45ae367933fc06b85193b0bc82339d094732c9c Mon Sep 17 00:00:00 2001 From: kblricks Date: Wed, 4 Mar 2026 20:06:40 -0800 Subject: [PATCH 149/153] Fix typos and broken crosslinks and made sections more clear --- docs/Developer/CopilotDebug.md | 2 +- docs/Developer/CopilotInstructions.md | 2 +- docs/Developer/CopilotPromptTemplate.md | 2 +- docs/Developer/CopilotSetup.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/Developer/CopilotDebug.md b/docs/Developer/CopilotDebug.md index a27123e24..e65dbbb2f 100644 --- a/docs/Developer/CopilotDebug.md +++ b/docs/Developer/CopilotDebug.md @@ -69,7 +69,7 @@ Finally, Copilot produces a structured report with six sections in a fixed order ## What Happens Next: How Copilot Responds -Because this prompt is configured with `agent: agent`, but doest not have the `edit` tool available, Copilot responds **only in the chat panel**; it does **not** create or edit files directly. +Because this prompt is configured with `agent: agent`, but does not have the `edit` tool available, Copilot responds **only in the chat panel**; it does **not** create or edit files directly. You should expect: diff --git a/docs/Developer/CopilotInstructions.md b/docs/Developer/CopilotInstructions.md index 664e77ef3..1d8bbcd14 100644 --- a/docs/Developer/CopilotInstructions.md +++ b/docs/Developer/CopilotInstructions.md @@ -32,7 +32,7 @@ When you interact with Copilot in this repository: **Example:** Copilot's training data defaults to `std::cout` for C++ output. Because our instructions specify log4cplus, Copilot will use `LOG4CPLUS_INFO(...)` instead when generating code in this repository. > [!IMPORTANT] -> The instructions file is **not** a prompt you invoke manually. It applies silently to every Copilot interaction. For task-specific prompts you run on demand (like generating unit tests), see the [Prompt Templates documentation](GenerateUnitTests.md). +> The instructions file is **not** a prompt you invoke manually. It applies silently to every Copilot interaction. For task-specific prompts you run on demand (like generating unit tests), see the [Prompt Templates documentation](CopilotPromptTemplate.md). ## Pull Request Code Review diff --git a/docs/Developer/CopilotPromptTemplate.md b/docs/Developer/CopilotPromptTemplate.md index 2c6b87fc6..846547572 100644 --- a/docs/Developer/CopilotPromptTemplate.md +++ b/docs/Developer/CopilotPromptTemplate.md @@ -111,7 +111,7 @@ Update prompt files when: When you make changes, keep the structure predictable: - Preserve the YAML frontmatter format. -- Keep the three main steps (Understand, Trace, Explain \& Fix), even if you add more detail inside them. +- Keep the three main steps (Understand, Plan, Generate), even if you add more detail inside them. - Maintain at least one up-to-date few-shot example that reflects your current conventions. ## Related Documentation diff --git a/docs/Developer/CopilotSetup.md b/docs/Developer/CopilotSetup.md index a77a3fed5..c7b7e7845 100644 --- a/docs/Developer/CopilotSetup.md +++ b/docs/Developer/CopilotSetup.md @@ -66,7 +66,7 @@ You may see references to `@workspace` or `#codebase` in Copilot documentation. - **`#codebase`** — A _context tool_ that adds codebase search results to your prompt. Unlike `@workspace` (which handles the entire prompt), `#codebase` can be combined with other tools. It is the recommended approach for adding project-wide context. - **`#file`** — Attaches a specific file as context. Example: `#file:Vertex.h Explain this class.` -You generally do **not** need to use `@workspace` or `#codebase` when running prompt files, because the prompt is already configured with `tools: ["search", "read"]`, which give Copilot automatic access to your codebase. +You generally do **not** need to use `@workspace` or `#codebase` when running prompt files, because those prompts are already configured with tools that give Copilot automatic access to your codebase (the exact tools vary by prompt). ## Related Documentation From e59e8f6f1d8fca896477f23d4304f8ee943c081d Mon Sep 17 00:00:00 2001 From: kblricks Date: Fri, 6 Mar 2026 22:15:07 -0800 Subject: [PATCH 150/153] Add more crosslinks for sections that were missing them, and added Mac keybinds to doc --- docs/Developer/CopilotPromptTemplate.md | 6 ++++++ docs/Developer/CopilotSetup.md | 26 +++++++++++++------------ 2 files changed, 20 insertions(+), 12 deletions(-) diff --git a/docs/Developer/CopilotPromptTemplate.md b/docs/Developer/CopilotPromptTemplate.md index 846547572..aabb988e0 100644 --- a/docs/Developer/CopilotPromptTemplate.md +++ b/docs/Developer/CopilotPromptTemplate.md @@ -64,6 +64,10 @@ tools: ["search", "read", "edit"] | `tools` | Allowed tools (for example, `search`, `read`, `edit`) used by the prompt run. These are only utilized in `agent` mode | | `model` | Optional model override. Omit unless a prompt requires a specific model. | +A full list of YAML fields can be found [here](https://code.visualstudio.com/docs/copilot/customization/prompt-files#_prompt-file-format). + +A full list of usable chat tools can be found [here](https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools), or by opening the **Chat view**, selecting **Agent** from the agent picker, and then clicking the **Configure Tools** button in the chat input field. + ## Workflow Layout Prompt workflows should use a clear, sequential structure such as: @@ -99,6 +103,8 @@ Input variables are placeholders in the prompt body that get replaced with real | `${workspaceFolder}` | The root path of the open workspace. | | `${input:variableName}` | Prompts you to type a value when the command runs. For example, `${input:framework:jest or vitest}` shows an input box with the hint "jest or vitest". | +A full list of all possible input variables can be found [here](https://code.visualstudio.com/docs/reference/variables-reference). + ## Maintenance Update prompt files when: diff --git a/docs/Developer/CopilotSetup.md b/docs/Developer/CopilotSetup.md index c7b7e7845..65b15f500 100644 --- a/docs/Developer/CopilotSetup.md +++ b/docs/Developer/CopilotSetup.md @@ -4,7 +4,7 @@ - [Overview](#overview) - [Instructions](#instructions) - - [1. Install the Extension](#1-install-the-extension) + - [1. Install and Sign In](#1-install-and-sign-in) - [2. Open the Correct Workspace Folder](#2-open-the-correct-workspace-folder) - [3. Verify Prompt File Detection](#3-verify-prompt-file-detection) - [Using Prompt Files](#using-prompt-files) @@ -17,12 +17,14 @@ This document describes how to install and configure GitHub Copilot for use in G ## Instructions -### 1. Install the Extension +### 1. Install and Sign In 1. Open VS Code. -2. Go to the **Extensions** sidebar (`Ctrl+Shift+X`). -3. Search for **"GitHub Copilot"** and install it (this also installs the Copilot Chat component). -4. Sign in with your GitHub account when prompted. You need an active GitHub Copilot subscription (free tier, Pro, or through an organization). +2. Go to the **Extensions** sidebar (`Ctrl+Shift+X` on Windows/Linux, `Cmd+Shift+X` on Mac). +3. Search for **"GitHub Copilot Chat"** and install it. +4. Ensure you are signed in with a GitHub account that has an active Copilot subscription (free tier, Pro, or through an organization). + - **How to check your login status:** Look at the bottom-right corner of the VS Code Status Bar for the **Copilot icon**. If the icon is visible and doesn't have a warning badge or a slash through it, you are actively logged in. You can also click the **Accounts** (profile gear) icon in the bottom-left corner to verify your active GitHub session. + - **How to log in manually:** If you weren't prompted to log in automatically upon installation, simply click the **Accounts** icon (bottom-left) or the **Copilot** icon (bottom-right) and select **Sign in to use Copilot**. ### 2. Open the Correct Workspace Folder @@ -34,7 +36,7 @@ Prompt files are resolved **relative to the workspace root** — the folder you ### 3. Verify Prompt File Detection -1. Open the Copilot Chat panel (`Ctrl+Alt+I`). +1. Open the Copilot Chat panel (`Ctrl+Alt+I` on Windows/Linux, `Cmd+Ctrl+I` on Mac). 2. Click the **Configure Chat** gear icon (⚙) at the top of the Chat panel. 3. Select **Prompt Files** from the menu. 4. You should see available prompt files (for example, `generate-unit-tests` and `debug`) listed. If they appear, setup is complete. @@ -49,12 +51,12 @@ If it does not appear, confirm: You may run prompt files through multiple VS Code entry points listed below: -| Method | How | -| :---------------------- | :----------------------------------------------------------------------------------------------- | -| **Slash command** | Type `/command-name` in the Chat input. | -| **Command Palette** | `Ctrl+Shift+P` → **Chat: Run Prompt** → select `command-name`. | -| **Play button** | Open `command-name.prompt.md` in the editor and click the ▶ play button in the editor title bar. | -| **Configure Chat menu** | Click ⚙ in the Chat view → **Prompt Files** → select the `command-name` prompt. | +| Method | How | +| :---------------------- | :------------------------------------------------------------------------------------------------------------------------- | +| **Slash command** | Type `/command-name` in the Chat input. | +| **Command Palette** | `Ctrl+Shift+P` (Win/Linux) or `Cmd+Shift+P` (Mac) → **Chat: Run Prompt** → select `command-name`. | +| **Play button** | Open `command-name.prompt.md` in the editor and click the ▶ play button in the editor title bar. | +| **Configure Chat menu** | Click ⚙ in the Chat view → **Prompt Files** → select the `command-name` prompt. | ## Understanding the `@` Syntax and `#` Context From 7b905ffd0bde5a5200c4b4e2c2ad2418a26c1dce Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 9 Mar 2026 00:08:53 -0700 Subject: [PATCH 151/153] Rename slash command from /debug to /debug-code, as copilot sometimes runs an internal debug instead of code analysis --- .github/prompts/debug.prompt.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/prompts/debug.prompt.md b/.github/prompts/debug.prompt.md index 941c67752..551d16189 100644 --- a/.github/prompts/debug.prompt.md +++ b/.github/prompts/debug.prompt.md @@ -1,5 +1,5 @@ --- -name: debug +name: debug-code description: Trace and explain the root cause of a bug in the C++17 Graphitti code agent: agent tools: ["search", "read"] From b49d55f225d4e7938ab687f176fc101e986372b6 Mon Sep 17 00:00:00 2001 From: kblricks Date: Mon, 9 Mar 2026 00:30:34 -0700 Subject: [PATCH 152/153] Update doc example to say /debug-code instead of /debug --- docs/Developer/CopilotDebug.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Developer/CopilotDebug.md b/docs/Developer/CopilotDebug.md index e65dbbb2f..7df147dfc 100644 --- a/docs/Developer/CopilotDebug.md +++ b/docs/Developer/CopilotDebug.md @@ -92,7 +92,7 @@ You can then: 3. Open Copilot Chat and type: ```text -/debug The spike count is off by 1 when running large graphs with more than 10,000 vertices. +/debug-code The spike count is off by 1 when running large graphs with more than 10,000 vertices. ``` 4. Copilot analyzes the selected code and repository using the debug prompt workflow, then returns a report with an execution trace and a proposed fix. From 7616b040b4b3a595324af612e9a2b9b709927035 Mon Sep 17 00:00:00 2001 From: Nick Posey <44657018+NicolasJPosey@users.noreply.github.com> Date: Fri, 13 Mar 2026 10:30:58 -0700 Subject: [PATCH 153/153] Merge PoseyDevelopment into SharedDevelopment (#918) * [issue-723] 911 edges GPU implementation (#867) * Use vector of char for consistency with neuro * Move setEdgeClassID method down into AllNeuroEdges since it's not used in 911 edges * Initial implementation of 911 edges for GPU * Make public explicitly * Fix clang format issue * Another try at a clang fix * Manually release array memory from stack on device copy This is to prevent a segmentation fault due to a stack overflow from the array declarations when running large graphs * Expand vertex type map reported in debug log * Resolve post merge changes * Update GPU results with updates from PR 877 * [issue-858] GPU implementation of 911 vertices (#880) * Add loadEpochInputs to OperationManager Adds support for two uint64_t argument functions so that loadEpochInputs can be registered and called from the OperationManager class. * Add vertices device struct to 911 class * Add total number of events data member to InputManager Added a data member for storing the total number of events that are read into the InputManager. This allows us to define vector capacities based on the number of events being simulated. * Initial CPU GPU architecture documentation * Refactor of loadEpochInputs to support loading inputs to GPU AllVertices now has a non-virtual loadEpochInputs method. This calls two virtual methods, one for loading the epoch inputs and other for copy the inputs to the GPU. The default behavior for both is to do nothing. * Refactor getEdgeToClosestResponder method to be a All911Vertices method instead of a connections method This method makes more sense to be a behavior of vertices as the behavior is also needed to be run on the GPU. * Forgot CPU code * Some GPU implementations but is incomplete * Remove reserve call since RecordableVector doesn't implement it * Refactor internal vector use in PSAP and RESP advance logic We need a dynamically sized array use we use a vector instead of an array. But we want the implement to be easily mirrored on the GPU so we interact with the vector like we would with an array. * Convert call metrics to EventBuffers and swap push back for insert event call The push back call was not easy to mirror on the GPU. We already have examples of using the EventBuffer and insertEvent call on the GPU so we change to use this implementation. This also allows us to make it clear what size the buffer should be, again helping the mirrored GPU implementation. * Replace numeric bool with actual bool for readability * Change vector type from RecordableVector to EventBuffer This allows us to remove the resize calls which we don't want to do on the GPU. Also added a DoubleEventBuffer to use in place of RecordableVector. * Bug fix for copying spike histories from device The correct pattern is to first copy the device pointers to the CPU and then the values to the CPU data members. It happens to be the same that the number of bytes for a uint64_t and a uint64_t pointer are the same. However, if this pattern is repeated for a type like float, an illegal memory error is thrown. * Add a guard and debugging message for GPU random noise The GPU noise array only works for numVertices >= 100 and that are a multiple of 100. Otherwise, an invalid kernel configuration error is thrown which masks other possible errors. * Updates to support copying to and from GPU * Support for copying to and from GPU and make type float for now * Add GPU 911 vertices to make list * Implementation runs but results aren't quite right * Fix case sensative copying of call responder types * Fix bug using wrong size for queue length and utilization histories * Remove debugging printfs and replace asserts with printfs for errors Having asserts in kernels can cause them to fail silence. Using print statements and returning is a better way to fail inside kernels. * General cleanup Clean up of commented out code, unnecessary extra variables, and unused methods. * Free the array used to determine available servers and units in kernels. * Readd support for getting dropped calls The update in vertex creation to make each vertex have the same sized data member for the GPU made it so that we would never get a dropped call due to large queue sizes. The logic was changed were we interact with vertex queues in PSAPs and RESPs to act like the size is equal to the number of trunks which was the original implementation size. * Fix error if a dropped call is found after the first epoch RecordableVectors are cleared after each epoch if they are the dynamic type. The size is not reset. We need subscript operator access for droppedCalls so the type much be constant which does not clear the vector after each epoch. * Support for noise in 911 models The current implementation for generating noise on a device has some assumptions that break for the 911 GPU model. To get noise support for 911, we implemented a way to have vertices specific how many noise elements they will need. A method was then implemented in GPUModel that rounds the input up to the nearest multiple of 100. * Add assert for random number thread count * Add support for using noise to simulate attempted redials Because only caller regions simulate attempted redials, we add a vector to map the caller region vertex IDs to the noise array on the device. This allows us to use the existing noise algorithm with larger graphs since we can only generate noise for up to 10000 vertices. * Fix isFull error message to show right buffer size * Fix bug with waiting queue check If the number of trunks and servers is equal and the queue is full, capacity minus busy servers is negative. Since dstQueueSize is of type uint64_t, it can't be negative. The comparison then gives a false positive that the queue is not full. Fix is to cast the size to an int so that the right comparison is done. * Debugging statements for memory analysis * Add some larger 911 graphs * Updates to history to support less memory usage on GPU The call metrics account for the vast majority of the physical memory used by the GPU. By resizing each to a smaller value, we can fit larger graphs on the GPU by using more epochs with smaller steps per epoch. * Fix firing rate value Firing rate should actually be equal to 1 since we can have at most 1 call per second. * Fix issue using wrong buffer size The buffer size used for a CircularBuffer is 1 more than the capacity passed into the constructor. When we construct the buffer, we pass in the number of trunks but were effectively using 1 less during the simulation. * Fix getting front index when we want end index for queue length calculation * Add back in random redial attempt * More updates to reduce memory usage Metrics that used totalNumberOfEvents and totalTimeSteps were using more memory than needed. These were changed to maxEventsPerEpoch and stepsPerEpoch respectively. Also changed copyTo and copyFrom in All911Edges to use heap memory to prevent stack overflows with large graphs. * Fix bug with vertex queue size The buffer inside the CircularBuffer implementation is 1 larger than the capacity set at construction. VertexQueues are CircularBuffers so we add 1 where we use the buffer size. * Another CircularBuffer size bug fix Fixed allocation, copyTo, and copyFrom for VertexQueues. They are CircularBuffers which internally have a buffer that is 1 more than the capacity. The sizes used were updated to be 1 more than the stepsPerEpoch to match the construction capacity. * Fix firing rate and change epoch parameters to reduce memory Memory is mostly dependent on epoch duration so we decrease that parameter and increase the number of epochs parameter by the same factor. This keeps the total time steps constant but reduces memory usage. We can only have 1 call per step so the max firing rate should be 1. * Add an approximate state wide, month long configuration * General cleanup and adding of comments * GPU Optimizations Remove some branching and make changes to reduce amount of register usage. * Dataset updates * Timing adds, documentation, and updates * Add regression testing documentation markdown * Update after changing Abandoned and QueueLength history types * Add small 911 test to regression script * Add larger 911 test This corresponds to Dataset A in Posey capstone report. * Remove testing datasets * Remove temp timing changes * Correct how 2D arrays are copied from device to host * Add noise state logging for debugging * Noise is now generated and used for graphs with less than 100 vertices * Fix formatting * Try another clang fix * Try to fix clang in function node file * clang fix attempt * more clang * clang * Clean up and port some optimizations to CPU * clang formatting * Rename GPU documentation file * Remove trivial example and rewrite to clarify design of CPU implementation relative to GPU --- CMakeLists.txt | 8 +- .../Connections/NG911/Connections911.cpp | 46 - Simulator/Connections/NG911/Connections911.h | 8 - .../Core/FunctionNodes/GenericFunctionNode.h | 8 +- Simulator/Core/FunctionNodes/IFunctionNode.h | 6 + .../TwoUint64ArgFunctionNode.cpp | 33 + .../FunctionNodes/TwoUint64ArgFunctionNode.h | 38 + Simulator/Core/GPUModel.cpp | 39 +- Simulator/Core/GPUModel.h | 4 + Simulator/Core/OperationManager.cpp | 34 + Simulator/Core/OperationManager.h | 7 + Simulator/Core/Operations.h | 3 +- Simulator/Core/Simulator.cpp | 3 +- Simulator/Edges/AllEdges.h | 11 - Simulator/Edges/NG911/All911Edges.cpp | 6 +- Simulator/Edges/NG911/All911Edges.h | 107 +- Simulator/Edges/NG911/All911Edges_d.cpp | 580 + Simulator/Edges/Neuro/AllNeuroEdges.h | 13 + Simulator/Layouts/NG911/Layout911.cpp | 4 +- Simulator/Recorders/RecordableVector.h | 12 +- Simulator/Utils/CircularBuffer.h | 33 + Simulator/Utils/InputEvent.h | 5 +- Simulator/Utils/InputManager.h | 13 + Simulator/Vertices/AllVertices.cpp | 31 +- Simulator/Vertices/AllVertices.h | 16 +- Simulator/Vertices/NG911/All911Vertices.cpp | 425 +- Simulator/Vertices/NG911/All911Vertices.h | 192 +- Simulator/Vertices/NG911/All911Vertices_d.cpp | 3211 ++ .../Vertices/Neuro/AllSpikingNeurons_d.cpp | 4 +- .../GoodOutput/Cpu/test-small-911-out.xml | Bin 135043 -> 99043 bytes .../Gpu/test-medium-connected-long-out.xml | 9 - .../Gpu/test-medium-connected-out.xml | 9 - .../GoodOutput/Gpu/test-medium-long-out.xml | 9 - .../GoodOutput/Gpu/test-medium-out.xml | 9 - .../GoodOutput/Gpu/test-small-911-out.xml | 196 + .../Gpu/test-small-connected-long-out.xml | 9 - .../Gpu/test-small-connected-out.xml | 9 - .../GoodOutput/Gpu/test-small-long-out.xml | 9 - .../GoodOutput/Gpu/test-small-out.xml | 9 - .../GoodOutput/Gpu/test-tiny-out.xml | 9 +- .../configfiles/test-medium-911.xml | 51 + Testing/RunTests.sh | 3 +- Testing/UnitTesting/InputManagerTests.cpp | 21 +- .../OperationManagerTestingClass.h | 6 + Testing/UnitTesting/OperationManagerTests.cpp | 17 + configfiles/graphs/test-medium-911.graphml | 21160 ++++++++++ configfiles/inputs/test-medium-911-calls.xml | 34166 ++++++++++++++++ configfiles/test-small-911.xml | 3 +- docs/Developer/CMake.md | 2 + docs/Developer/FromCpuToGpu.md | 5 + .../Developer/RegressionTestsDocumentation.md | 63 + 51 files changed, 60321 insertions(+), 353 deletions(-) create mode 100644 Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.cpp create mode 100644 Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.h create mode 100644 Simulator/Edges/NG911/All911Edges_d.cpp create mode 100644 Simulator/Vertices/NG911/All911Vertices_d.cpp create mode 100644 Testing/RegressionTesting/GoodOutput/Gpu/test-small-911-out.xml create mode 100644 Testing/RegressionTesting/configfiles/test-medium-911.xml create mode 100644 configfiles/graphs/test-medium-911.graphml create mode 100644 configfiles/inputs/test-medium-911-calls.xml create mode 100644 docs/Developer/FromCpuToGpu.md create mode 100644 docs/Developer/RegressionTestsDocumentation.md diff --git a/CMakeLists.txt b/CMakeLists.txt index fb0f43972..be871596c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -255,7 +255,8 @@ if(ENABLE_CUDA) Simulator/Edges/Neuro/AllSpikingSynapses_d.cpp Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp Simulator/Edges/Neuro/AllDSSynapses_d.cpp - Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp) + Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp + Simulator/Edges/NG911/All911Edges_d.cpp) set_source_files_properties(${cuda_EdgesSources} PROPERTIES LANGUAGE CUDA) set(cuda_VerticesSources @@ -263,7 +264,8 @@ if(ENABLE_CUDA) Simulator/Vertices/Neuro/AllLIFNeurons_d.cpp Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp Simulator/Vertices/Neuro/AllIFNeurons_d.cpp - Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp) + Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp + Simulator/Vertices/NG911/All911Vertices_d.cpp) set_source_files_properties(${cuda_VerticesSources} PROPERTIES LANGUAGE CUDA) endif() @@ -295,6 +297,7 @@ else() list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/Neuro/AllIZHNeurons_d.cpp") list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/Neuro/AllIFNeurons_d.cpp") list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp") + list(REMOVE_ITEM Vertices_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Vertices/NG911/All911Vertices_d.cpp") add_library(Vertices STATIC ${Vertices_Source}) @@ -313,6 +316,7 @@ else() list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/Neuro/AllSTDPSynapses_d.cpp") list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/Neuro/AllDSSynapses_d.cpp") list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/Neuro/AllDynamicSTDPSynapses_d.cpp") + list(REMOVE_ITEM Edges_Source "${CMAKE_CURRENT_SOURCE_DIR}/Simulator/Edges/NG911/All911Edges_d.cpp") add_library(Edges STATIC ${Edges_Source}) diff --git a/Simulator/Connections/NG911/Connections911.cpp b/Simulator/Connections/NG911/Connections911.cpp index a478d4b1e..a32162969 100644 --- a/Simulator/Connections/NG911/Connections911.cpp +++ b/Simulator/Connections/NG911/Connections911.cpp @@ -96,52 +96,6 @@ bool Connections911::updateConnections() } -/// Finds the outgoing edge from the given vertex to the Responder closest to -/// the emergency call location -BGSIZE Connections911::getEdgeToClosestResponder(const Call &call, BGSIZE vertexIdx) -{ - All911Edges &edges911 = dynamic_cast(*edges_); - - vertexType requiredType; - if (call.type == "Law") - requiredType = vertexType::LAW; - else if (call.type == "EMS") - requiredType = vertexType::EMS; - else if (call.type == "Fire") - requiredType = vertexType::FIRE; - - // loop over the outgoing edges looking for the responder with the shortest - // Euclidean distance to the call's location. - BGSIZE startOutEdg = synapseIndexMap_->outgoingEdgeBegin_[vertexIdx]; - BGSIZE outEdgCount = synapseIndexMap_->outgoingEdgeCount_[vertexIdx]; - Layout911 &layout911 - = dynamic_cast(Simulator::getInstance().getModel().getLayout()); - - BGSIZE resp, respEdge; - double minDistance = numeric_limits::max(); - for (BGSIZE eIdxMap = startOutEdg; eIdxMap < startOutEdg + outEdgCount; ++eIdxMap) { - BGSIZE outEdg = synapseIndexMap_->outgoingEdgeIndexMap_[eIdxMap]; - assert(edges911.inUse_[outEdg]); // Edge must be in use - - BGSIZE dstVertex = edges911.destVertexIndex_[outEdg]; - if (layout911.vertexTypeMap_[dstVertex] == requiredType) { - double distance = layout911.getDistance(dstVertex, call.x, call.y); - - if (distance < minDistance) { - minDistance = distance; - resp = dstVertex; - respEdge = outEdg; - } - } - } - - // We must have found the closest responder of the right type - assert(minDistance < numeric_limits::max()); - assert(layout911.vertexTypeMap_[resp] == requiredType); - return respEdge; -} - - /// Randomly delete 1 PSAP and rewire all the edges around it. bool Connections911::erasePSAP(AllVertices &vertices, Layout &layout) { diff --git a/Simulator/Connections/NG911/Connections911.h b/Simulator/Connections/NG911/Connections911.h index cfb4be2dd..16b8c4947 100644 --- a/Simulator/Connections/NG911/Connections911.h +++ b/Simulator/Connections/NG911/Connections911.h @@ -79,14 +79,6 @@ class Connections911 : public Connections { /// @return true if successful, false otherwise. virtual bool updateConnections() override; - /// Finds the outgoing edge from the given vertex to the Responder closest to - /// the emergency call location - /// - /// @param call The call that needs a Responder - /// @param vertexIdx The index of the vertex serving the call (A PSAP) - /// @return The index of the outgoing edge to the closest Responder - BGSIZE getEdgeToClosestResponder(const Call &call, BGSIZE vertexIdx); - /// Returns the complete list of all deleted or added edges as a string. /// @return xml representation of all deleted or added edges string changedEdgesToXML(bool added); diff --git a/Simulator/Core/FunctionNodes/GenericFunctionNode.h b/Simulator/Core/FunctionNodes/GenericFunctionNode.h index 7f149890b..ab0c79c42 100644 --- a/Simulator/Core/FunctionNodes/GenericFunctionNode.h +++ b/Simulator/Core/FunctionNodes/GenericFunctionNode.h @@ -23,7 +23,13 @@ class GenericFunctionNode : public IFunctionNode { ~GenericFunctionNode() = default; /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. - bool invokeFunction(const Operations &operation) const override; + virtual bool invokeFunction(const Operations &operation) const override; + + /// TODO: Remove when IFunctionNode supports functions with non-empty signatures + virtual bool invokeFunction(const Operations &operation, uint64_t arg1, uint64_t arg2) const + { + return false; + } private: std::function function_; ///< Stored function. diff --git a/Simulator/Core/FunctionNodes/IFunctionNode.h b/Simulator/Core/FunctionNodes/IFunctionNode.h index dca3629aa..ff9f887f2 100644 --- a/Simulator/Core/FunctionNodes/IFunctionNode.h +++ b/Simulator/Core/FunctionNodes/IFunctionNode.h @@ -10,6 +10,7 @@ #pragma once #include "Operations.h" +#include ///for uint64_t using namespace std; @@ -18,9 +19,14 @@ class IFunctionNode { /// Destructor. virtual ~IFunctionNode() = default; + /// TODO: Need to refactor to allow for passing in arguments. Otherwise, FunctionNode classes can not support + /// non-empty signatures. /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. virtual bool invokeFunction(const Operations &operation) const = 0; + /// Invokes the stored function using the two arguments as input + virtual bool invokeFunction(const Operations &operation, uint64_t arg1, uint64_t arg2) const = 0; + protected: /// The operation type of the stored function. Operations operationType_; diff --git a/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.cpp b/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.cpp new file mode 100644 index 000000000..d851295f0 --- /dev/null +++ b/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.cpp @@ -0,0 +1,33 @@ +/** + * @file TwoUint64ArgFunctionNode.cpp + * + * @ingroup Simulator/Core/FunctionNodes + * + * @brief Stores a function with two uint64_t args to invoke. Used by operation manager to store functions to defined by an operation type. + * + * Function Signature supported : void (uint64_t,uint64_t) + * + */ + +#include "TwoUint64ArgFunctionNode.h" +#include "Operations.h" +#include + +/// Constructor, Function Signature: void (uint64_t, uint64_t) +TwoUint64ArgFunctionNode::TwoUint64ArgFunctionNode( + const Operations &operation, const std::function &func) +{ + operationType_ = operation; + function_ = func; +} + +/// Invokes the stored function if the sent operation type matches the operation type the function is stored as. +bool TwoUint64ArgFunctionNode::invokeFunction(const Operations &operation, uint64_t arg1, + uint64_t arg2) const +{ + if (operation == operationType_) { + __invoke(function_, arg1, arg2); + return true; + } + return false; +} \ No newline at end of file diff --git a/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.h b/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.h new file mode 100644 index 000000000..d1ff8336f --- /dev/null +++ b/Simulator/Core/FunctionNodes/TwoUint64ArgFunctionNode.h @@ -0,0 +1,38 @@ +/** + * @file TwoUint64ArgFunctionNode.h + * + * @ingroup Simulator/Core/FunctionNodes + * + * @brief Stores a function with two uint64_t args to invoke. Used by operation manager to store functions to defined by an operation type. + * + */ + +#pragma once + +#include "IFunctionNode.h" +#include + +using namespace std; + +class TwoUint64ArgFunctionNode : public IFunctionNode { +public: + /// Constructor, Function Signature: void () + TwoUint64ArgFunctionNode(const Operations &operationType, + const std::function &function); + + /// Destructor + ~TwoUint64ArgFunctionNode() = default; + + /// TODO: Remove when IFunctionNode supports functions with non-empty signatures + virtual bool invokeFunction(const Operations &operation) const + { + return false; + } + + /// Invokes the stored function if the sent operation type matches the operation type the function is stored as. + virtual bool invokeFunction(const Operations &operation, uint64_t arg1, + uint64_t arg2) const override; + +private: + std::function function_; ///< Stored function. +}; diff --git a/Simulator/Core/GPUModel.cpp b/Simulator/Core/GPUModel.cpp index d78fdbc24..364ba0a9c 100644 --- a/Simulator/Core/GPUModel.cpp +++ b/Simulator/Core/GPUModel.cpp @@ -12,6 +12,7 @@ #include "AllVertices.h" #include "Connections.h" #include "Global.h" +#include "MersenneTwister_d.h" #include "OperationManager.h" #ifdef VALIDATION_MODE @@ -52,12 +53,15 @@ GPUModel::GPUModel() : void GPUModel::allocDeviceStruct() { // Allocate memory for random noise array - int numVertices = Simulator::getInstance().getTotalVertices(); - BGSIZE randNoise_d_size = numVertices * sizeof(float); // size of random noise array + int numVerticesNeedingNoise = layout_->getVertices().getNumberOfVerticesNeedingDeviceNoise(); + int numberOfNoiseElements = roundUpNumberOfNoiseElements(numVerticesNeedingNoise); + LOG4CPLUS_DEBUG(fileLogger_, + "Number of elements allocated for noise: " << numberOfNoiseElements); + BGSIZE randNoise_d_size = numberOfNoiseElements * sizeof(float); // size of random noise array HANDLE_ERROR(cudaMalloc((void **)&randNoise_d, randNoise_d_size)); // Allocate synapse inverse map in device memory - allocEdgeIndexMap(numVertices); + allocEdgeIndexMap(Simulator::getInstance().getTotalVertices()); } /// Copies device memories to host memories and deallocates them. @@ -91,9 +95,20 @@ void GPUModel::setupSim() int rng_blocks = 25; //# of blocks the kernel will use int rng_nPerRng = 4; //# of iterations per thread (thread granularity, # of rands generated per thread) - int rng_mt_rng_count = Simulator::getInstance().getTotalVertices() - / rng_nPerRng; //# of threads to generate for numVertices rand #s + int numVerticesNeedingNoise = layout_->getVertices().getNumberOfVerticesNeedingDeviceNoise(); + int numberOfNoiseElements = roundUpNumberOfNoiseElements(numVerticesNeedingNoise); + int rng_mt_rng_count + = numberOfNoiseElements / rng_nPerRng; //# of threads to generate for numVertices rand #s + assert(rng_mt_rng_count <= MT_RNG_COUNT); int rng_threads = rng_mt_rng_count / rng_blocks; //# threads per block needed + LOG4CPLUS_DEBUG(fileLogger_, "initMTGPU state: " << endl + << "Noise seed: " + << Simulator::getInstance().getNoiseRngSeed() + << endl + << "RNG_blocks: " << rng_blocks << endl + << "RNG_threads: " << rng_threads << endl + << "RNG_nPerRng: " << rng_nPerRng << endl + << "Count: " << rng_mt_rng_count); initMTGPU(Simulator::getInstance().getNoiseRngSeed(), rng_blocks, rng_threads, rng_nPerRng, rng_mt_rng_count); @@ -165,7 +180,6 @@ void GPUModel::advance() cudaLapTime(t_gpu_rndGeneration); cudaStartTimer(); #endif // PERFORMANCE_METRICS - // display running info to console // Advance vertices -------------> vertices.advanceVertices(edges, allVerticesDevice_, allEdgesDevice_, randNoise_d, @@ -217,7 +231,6 @@ void GPUModel::advance() cudaLapTime(t_gpu_advanceSynapses); cudaStartTimer(); #endif // PERFORMANCE_METRICS - // integrate the inputs of the vertices vertices.integrateVertexInputs(allVerticesDevice_, edgeIndexMapDevice_, allEdgesDevice_); @@ -342,4 +355,16 @@ AllVerticesDeviceProperties *&GPUModel::getAllVerticesDevice() AllEdgesDeviceProperties *&GPUModel::getAllEdgesDevice() { return allEdgesDevice_; +} + +int GPUModel::roundUpNumberOfNoiseElements(int input) +{ + // MersenneTwister requires the number of elements to be 100 or more and a multiple of 100 + // To deal with this, we take the input and round it up to the nearest multiple of 100. + assert(input > 0); + // Already a multiple of 100 so return + if (input % 100 == 0) + return input; + // Return the next highest multiple of 100 + return ((input + 99) / 100) * 100; } \ No newline at end of file diff --git a/Simulator/Core/GPUModel.h b/Simulator/Core/GPUModel.h index 0a9562e40..01fdcace3 100644 --- a/Simulator/Core/GPUModel.h +++ b/Simulator/Core/GPUModel.h @@ -112,6 +112,10 @@ class GPUModel : public Model { /// Deallocates device memories. virtual void deleteDeviceStruct(); + /// Takes the input and returns a rounded up number of elements to + /// use for generating device noise. + int roundUpNumberOfNoiseElements(int input); + /// Pointer to device random noise array. float *randNoise_d; diff --git a/Simulator/Core/OperationManager.cpp b/Simulator/Core/OperationManager.cpp index 7cd1222b4..87a14afa7 100644 --- a/Simulator/Core/OperationManager.cpp +++ b/Simulator/Core/OperationManager.cpp @@ -13,6 +13,7 @@ #include "OperationManager.h" #include "GenericFunctionNode.h" +#include "TwoUint64ArgFunctionNode.h" #include #include #include @@ -40,6 +41,22 @@ void OperationManager::registerOperation(const Operations &operation, } } +/// @brief Handles function signature: void (uint64_t,uint64_t). +/// @param operation The Operation type that will use the input function. +/// @param function The function invoked for the operation. Takes in two arguments of type uint64_t +void OperationManager::registerOperation(const Operations &operation, + const function &function) +{ + try { + functionList_.push_back( + unique_ptr(new TwoUint64ArgFunctionNode(operation, function))); + } catch (exception e) { + LOG4CPLUS_FATAL(logger_, string(e.what()) + + ". Push back failed in OperationManager::registerOperation"); + throw runtime_error(string(e.what()) + " in OperationManager::registerOperation"); + } +} + /// Takes in a operation type and invokes all registered functions that are classified as that operation type. void OperationManager::executeOperation(const Operations &operation) const { @@ -47,6 +64,21 @@ void OperationManager::executeOperation(const Operations &operation) const if (functionList_.size() > 0) { for (auto i = functionList_.begin(); i != functionList_.end(); ++i) { (*i)->invokeFunction(operation); + //TODO: Throw fatal if false + } + } +} + +/// Take in a operation type and invokes all registered functions that are classified as that operation type using the input arguments. +void OperationManager::executeOperation(const Operations &operation, uint64_t arg1, + uint64_t arg2) const +{ + LOG4CPLUS_INFO(logger_, "Executing operation " + operationToString(operation)); + /// TODO: Should we check anything about arg1 and arg2 before passing to the invoke??? + if (functionList_.size() > 0) { + for (auto i = functionList_.begin(); i != functionList_.end(); ++i) { + (*i)->invokeFunction(operation, arg1, arg2); + //TODO: Throw fatal if false } } } @@ -73,6 +105,8 @@ string OperationManager::operationToString(const Operations &operation) const return "copyFromGPU"; case Operations::allocateGPU: return "allocateGPU"; + case Operations::loadEpochInputs: + return "loadEpochInputs"; default: return "Operation isn't in OperationManager::operationToString()"; } diff --git a/Simulator/Core/OperationManager.h b/Simulator/Core/OperationManager.h index e85b00993..94c9eae98 100644 --- a/Simulator/Core/OperationManager.h +++ b/Simulator/Core/OperationManager.h @@ -35,9 +35,16 @@ class OperationManager { /// Handles function signature: void () void registerOperation(const Operations &operation, const function &function); + /// Handles function signature: void (uint64_t,uint64_t) + void registerOperation(const Operations &operation, + const function &function); + /// Takes in a operation type and invokes all registered functions that are classified as that operation type. void executeOperation(const Operations &operation) const; + /// Take in a operation type and invokes all registered functions that are classified as that operation type using the input arguments. + void executeOperation(const Operations &operation, uint64_t arg1, uint64_t arg2) const; + /// Takes in the operation enum and returns the enum as a string. Used for debugging purposes. string operationToString(const Operations &operation) const; diff --git a/Simulator/Core/Operations.h b/Simulator/Core/Operations.h index 27b5c4ff2..112cfaba3 100644 --- a/Simulator/Core/Operations.h +++ b/Simulator/Core/Operations.h @@ -22,5 +22,6 @@ enum class Operations { copyToGPU, copyFromGPU, allocateGPU, - registerHistoryVariables + registerHistoryVariables, + loadEpochInputs }; \ No newline at end of file diff --git a/Simulator/Core/Simulator.cpp b/Simulator/Core/Simulator.cpp index e4a42d9df..5cd575612 100644 --- a/Simulator/Core/Simulator.cpp +++ b/Simulator/Core/Simulator.cpp @@ -188,7 +188,8 @@ void Simulator::advanceEpoch(int currentEpoch) const uint64_t count = 0; // Compute step number at end of this simulation epoch uint64_t endStep = g_simulationStep + static_cast(epochDuration_ / deltaT_); - model_->getLayout().getVertices().loadEpochInputs(g_simulationStep, endStep); + OperationManager::getInstance().executeOperation(Operations::loadEpochInputs, g_simulationStep, + endStep); // DEBUG_MID(model->logSimStep();) // Generic model debug call uint64_t onePercent = (epochDuration_ / deltaT_) * numEpochs_ * 0.01; while (g_simulationStep < endStep) { diff --git a/Simulator/Edges/AllEdges.h b/Simulator/Edges/AllEdges.h index 69f9e8f7c..ccc49308a 100644 --- a/Simulator/Edges/AllEdges.h +++ b/Simulator/Edges/AllEdges.h @@ -143,17 +143,6 @@ class AllEdges { /// Set some parameters used for advanceEdgesDevice. virtual void setAdvanceEdgesDeviceParams() = 0; - /// TODO: Clean up this comment to remove synapses reference since this is neuro-specific - /// Set edge class ID defined by enumClassSynapses for the caller's Edge class. - /// The class ID will be set to classSynapses_d in device memory, - /// and the classSynapses_d will be referred to call a device function for the - /// particular edge class. - /// Because we cannot use virtual function (Polymorphism) in device functions, - /// we use this scheme. - /// Note: we used to use a function pointer; however, it caused the growth_cuda crash - /// (see issue#137). - virtual void setEdgeClassID() = 0; - /// Prints GPU edgesProps data. /// /// @param allEdgesDeviceProps GPU address of the corresponding AllEdgesDeviceProperties struct on device memory. diff --git a/Simulator/Edges/NG911/All911Edges.cpp b/Simulator/Edges/NG911/All911Edges.cpp index 905416675..51eb5558b 100644 --- a/Simulator/Edges/NG911/All911Edges.cpp +++ b/Simulator/Edges/NG911/All911Edges.cpp @@ -21,11 +21,9 @@ void All911Edges::setupEdges() BGSIZE maxTotalEdges = maxEdgesPerVertex_ * countVertices_; if (maxTotalEdges > 0) { - isAvailable_ = make_unique(maxTotalEdges); - fill_n(isAvailable_.get(), maxTotalEdges, true); + isAvailable_.assign(maxTotalEdges, true); - isRedial_ = make_unique(maxTotalEdges); - fill_n(isRedial_.get(), maxTotalEdges, false); + isRedial_.assign(maxTotalEdges, false); call_.resize(maxTotalEdges); } diff --git a/Simulator/Edges/NG911/All911Edges.h b/Simulator/Edges/NG911/All911Edges.h index 505972266..31ed01453 100644 --- a/Simulator/Edges/NG911/All911Edges.h +++ b/Simulator/Edges/NG911/All911Edges.h @@ -29,7 +29,7 @@ #include "AllEdges.h" -struct All911EdgeDeviceProperties; +struct All911EdgesDeviceProperties; class All911Edges : public AllEdges { public: @@ -65,20 +65,55 @@ class All911Edges : public AllEdges { // GPU functionality for 911 simulation is unimplemented. // These signatures are required to make the class non-abstract public: - virtual void allocEdgeDeviceStruct() {}; + virtual void allocEdgeDeviceStruct() override; virtual void allocEdgeDeviceStruct(void **allEdgesDevice, int numVertices, - int maxEdgesPerVertex) {}; - virtual void deleteEdgeDeviceStruct() {}; - virtual void copyEdgeHostToDevice() {}; - virtual void copyEdgeHostToDevice(void *allEdgesDevice, int numVertices, int maxEdgesPerVertex) { - }; - virtual void copyEdgeDeviceToHost() {}; - virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) {}; + int maxEdgesPerVertex) override; + virtual void deleteEdgeDeviceStruct() override; + virtual void copyEdgeHostToDevice() override; + virtual void copyEdgeHostToDevice(void *allEdgesDevice, int numVertices, + int maxEdgesPerVertex) override; + virtual void copyEdgeDeviceToHost() override; + virtual void copyDeviceEdgeCountsToHost(void *allEdgesDevice) override; virtual void advanceEdges(void *allEdgesDevice, void *allVerticesDevice, - void *edgeIndexMapDevice) {}; - virtual void setAdvanceEdgesDeviceParams() {}; - virtual void setEdgeClassID() {}; - virtual void printGPUEdgesProps(void *allEdgesDeviceProps) const {}; + void *edgeIndexMapDevice) override; + virtual void setAdvanceEdgesDeviceParams() override; + virtual void printGPUEdgesProps(void *allEdgesDeviceProps) const override; + +protected: + /// Allocate GPU memories to store all edges' states, + /// and copy them from host to GPU memory. + /// (Helper function of allocEdgeDeviceStruct) + /// + /// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct + /// on device memory. + /// @param numVertices Number of vertices. + /// @param maxEdgesPerVertex Maximum number of edges per vertex. + void allocDeviceStruct(All911EdgesDeviceProperties &allEdgesDevice, int numVertices, + int maxEdgesPerVertex); + + /// Delete GPU memories. + /// (Helper function of deleteEdgeDeviceStruct) + /// + /// @param allEdgesDeviceProps GPU address of the All911EdgesDeviceProperties struct + /// on device memory. + void deleteDeviceStruct(All911EdgesDeviceProperties &allEdgesDeviceProps); + + /// Copy all edges' data from host to device. + /// (Helper function of copyEdgeHostToDevice) + /// + /// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct on device memory. + /// @param allEdgesDeviceProps CPU address of the All911EdgesDeviceProperties struct on host memory. + /// @param numVertices Number of vertices. + /// @param maxEdgesPerVertex Maximum number of edges per vertex. + void copyHostToDevice(void *allEdgesDevice, All911EdgesDeviceProperties &allEdgesDeviceProps, + int numVertices, int maxEdgesPerVertex); + + /// Copy all edge data from device to host. + /// (Helper function of copyEdgeDeviceToHost) + /// + /// @param allEdgesProperties GPU address of the All911EdgesDeviceProperties struct + /// on device memory. + void copyDeviceToHost(All911EdgesDeviceProperties &allEdgesDeviceProps); #else // !defined(USE_GPU) public: @@ -98,13 +133,47 @@ class All911Edges : public AllEdges { virtual void advanceEdge(BGSIZE iEdg, AllVertices &vertices) override {}; #endif +public: + /// If edge has a call or not. Store 1 (true) or 0 (false) + vector isAvailable_; - /// If edge has a call or not - unique_ptr isAvailable_; - - /// If the call in the edge is a redial - unique_ptr isRedial_; + /// If the call in the edge is a redial. Store 1 (true) or 0 (false) + vector isRedial_; /// The call information per edge vector call_; -}; \ No newline at end of file +}; + +#if defined(USE_GPU) +struct All911EdgesDeviceProperties : public AllEdgesDeviceProperties { + /// If edge has a call or not. Store 1 (true) or 0 (false) + unsigned char *isAvailable_; + + /// If the call in the edge is a redial. Store 1 (true) or 0 (false) + unsigned char *isRedial_; + + /// The call information per edge + // + // The vertexId where the input event happened + int *vertexId_; + + // The start of the event since the beggining of + // the simulation in timesteps matches g_simulationStep type + uint64_t *time_; + + // The duration of the event in timesteps + int *duration_; + + // Event location + BGFLOAT *x_; + BGFLOAT *y_; + + // Patience time: How long a customer is willing to wait in the queue + int *patience_; + + // On Site Time: Time spent by a responder at the site of the incident + int *onSiteTime_; + // Use int type instead of string to make using on GPU easier + int *responderType_; +}; +#endif //defined(USE_GPU) \ No newline at end of file diff --git a/Simulator/Edges/NG911/All911Edges_d.cpp b/Simulator/Edges/NG911/All911Edges_d.cpp new file mode 100644 index 000000000..757c91556 --- /dev/null +++ b/Simulator/Edges/NG911/All911Edges_d.cpp @@ -0,0 +1,580 @@ +/** + * @file All911Edges_d.cpp + * + * @ingroup Simulator/Edges/NG911 + * + * @brief Specialization of the AllEdges class for the NG911 network + */ + +#include "All911Edges.h" +#include "Book.h" +#include "GPUModel.h" + +/// Allocate GPU memories to store all edge states, +/// and copy them from host to GPU memory. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::allocEdgeDeviceStruct() +{ + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allEdgesDevice = reinterpret_cast(&(gpuModel->getAllEdgesDevice())); + allocEdgeDeviceStruct(allEdgesDevice, Simulator::getInstance().getTotalVertices(), + Simulator::getInstance().getMaxEdgesPerVertex()); +} + +/// Allocate GPU memories to store all edge states, +/// and copy them from host to GPU memory. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +/// @param numVertices Number of vertices. +/// @param maxEdgesPerVertex Maximum number of edges per vertex. +void All911Edges::allocEdgeDeviceStruct(void **allEdgesDevice, int numVertices, + int maxEdgesPerVertex) +{ + LOG4CPLUS_DEBUG(edgeLogger_, + "Size of 911 edges device: " << sizeof(All911EdgesDeviceProperties)); + LOG4CPLUS_DEBUG(edgeLogger_, "maxTotalEdges: " << maxEdgesPerVertex * numVertices); + LOG4CPLUS_DEBUG(edgeLogger_, "Size of edgetype: " << sizeof(edgeType)); + All911EdgesDeviceProperties allEdges; + allocDeviceStruct(allEdges, numVertices, maxEdgesPerVertex); + HANDLE_ERROR(cudaMalloc(allEdgesDevice, sizeof(All911EdgesDeviceProperties))); + HANDLE_ERROR(cudaMemcpy(*allEdgesDevice, &allEdges, sizeof(All911EdgesDeviceProperties), + cudaMemcpyHostToDevice)); +} + +/// Allocate GPU memories to store all edges' states, +/// and copy them from host to GPU memory. +/// (Helper function of allocEdgeDeviceStruct) +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +/// @param numVertices Number of vertices. +/// @param maxEdgesPerVertex Maximum number of edges per vertex. +void All911Edges::allocDeviceStruct(All911EdgesDeviceProperties &allEdgesDevice, int numVertices, + int maxEdgesPerVertex) +{ + BGSIZE maxTotalEdges = maxEdgesPerVertex * numVertices; + HANDLE_ERROR( + cudaMalloc((void **)&allEdgesDevice.sourceVertexIndex_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.destVertexIndex_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.W_, maxTotalEdges * sizeof(BGFLOAT))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.type_, maxTotalEdges * sizeof(edgeType))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.inUse_, maxTotalEdges * sizeof(unsigned char))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.edgeCounts_, numVertices * sizeof(BGSIZE))); + HANDLE_ERROR( + cudaMalloc((void **)&allEdgesDevice.isAvailable_, maxTotalEdges * sizeof(unsigned char))); + HANDLE_ERROR( + cudaMalloc((void **)&allEdgesDevice.isRedial_, maxTotalEdges * sizeof(unsigned char))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.vertexId_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.time_, maxTotalEdges * sizeof(uint64_t))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.duration_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.x_, maxTotalEdges * sizeof(BGFLOAT))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.y_, maxTotalEdges * sizeof(BGFLOAT))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.patience_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.onSiteTime_, maxTotalEdges * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allEdgesDevice.responderType_, maxTotalEdges * sizeof(int))); +} + +/// Delete GPU memories. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::deleteEdgeDeviceStruct() +{ + All911EdgesDeviceProperties allEdgesDeviceProps; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); + HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, + sizeof(All911EdgesDeviceProperties), cudaMemcpyDeviceToHost)); + deleteDeviceStruct(allEdgesDeviceProps); + HANDLE_ERROR(cudaFree(allEdgesDevice)); +} + +/// Delete GPU memories. +/// (Helper function of deleteEdgeDeviceStruct) +/// +/// @param allEdgesDeviceProps GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::deleteDeviceStruct(All911EdgesDeviceProperties &allEdgesDeviceProps) +{ + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.sourceVertexIndex_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.destVertexIndex_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.W_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.type_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.inUse_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.edgeCounts_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.isAvailable_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.isRedial_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.vertexId_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.time_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.duration_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.x_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.y_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.patience_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.onSiteTime_)); + HANDLE_ERROR(cudaFree(allEdgesDeviceProps.responderType_)); +} + +/// Copy all edge data from host to device. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::copyEdgeHostToDevice() +{ + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); + copyEdgeHostToDevice(allEdgesDevice, Simulator::getInstance().getTotalVertices(), + Simulator::getInstance().getMaxEdgesPerVertex()); +} + +/// Copy all edge data from host to device. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +/// @param numVertices Number of vertices. +/// @param maxEdgesPerVertex Maximum number of edges per vertex. +void All911Edges::copyEdgeHostToDevice(void *allEdgesDevice, int numVertices, int maxEdgesPerVertex) +{ // copy everything necessary + All911EdgesDeviceProperties allEdgesDeviceProps; + HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, + sizeof(All911EdgesDeviceProperties), cudaMemcpyDeviceToHost)); + copyHostToDevice(allEdgesDevice, allEdgesDeviceProps, numVertices, maxEdgesPerVertex); +} + +/// Copy all edges' data from host to device. +/// (Helper function of copyEdgeHostToDevice) +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct on device memory. +/// @param allEdgesDeviceProps CPU address of the All911EdgesDeviceProperties struct on host memory. +/// @param numVertices Number of vertices. +/// @param maxEdgesPerVertex Maximum number of edges per vertex. +void All911Edges::copyHostToDevice(void *allEdgesDevice, + All911EdgesDeviceProperties &allEdgesDeviceProps, + int numVertices, int maxEdgesPerVertex) +{ + LOG4CPLUS_DEBUG(edgeLogger_, "Copying 911Edges to device"); + BGSIZE maxTotalEdges = maxEdgesPerVertex * numVertices; + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.sourceVertexIndex_, sourceVertexIndex_.data(), + maxTotalEdges * sizeof(int), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.destVertexIndex_, destVertexIndex_.data(), + maxTotalEdges * sizeof(int), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.W_, W_.data(), maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.type_, type_.data(), + maxTotalEdges * sizeof(edgeType), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.inUse_, inUse_.data(), + maxTotalEdges * sizeof(unsigned char), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.edgeCounts_, edgeCounts_.data(), + numVertices * sizeof(BGSIZE), cudaMemcpyHostToDevice)); + allEdgesDeviceProps.totalEdgeCount_ = totalEdgeCount_; + allEdgesDeviceProps.maxEdgesPerVertex_ = maxEdgesPerVertex_; + allEdgesDeviceProps.countVertices_ = countVertices_; + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.isAvailable_, isAvailable_.data(), + maxTotalEdges * sizeof(unsigned char), cudaMemcpyHostToDevice)); + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.isRedial_, isRedial_.data(), + maxTotalEdges * sizeof(unsigned char), cudaMemcpyHostToDevice)); + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuVertexId = new int[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuVertexId[i] = call_[i].vertexId; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.vertexId_, cpuVertexId, maxTotalEdges * sizeof(int), + cudaMemcpyHostToDevice)); + delete[] cpuVertexId; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + uint64_t *cpuTime = new uint64_t[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuTime[i] = call_[i].time; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.time_, cpuTime, maxTotalEdges * sizeof(uint64_t), + cudaMemcpyHostToDevice)); + delete[] cpuTime; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuDuration = new int[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuDuration[i] = call_[i].duration; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.duration_, cpuDuration, maxTotalEdges * sizeof(int), + cudaMemcpyHostToDevice)); + delete[] cpuDuration; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + BGFLOAT *cpuX = new BGFLOAT[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuX[i] = call_[i].x; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.x_, cpuX, maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyHostToDevice)); + delete[] cpuX; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + BGFLOAT *cpuY = new BGFLOAT[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuY[i] = call_[i].y; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.y_, cpuY, maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyHostToDevice)); + delete[] cpuY; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuPatience = new int[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuPatience[i] = call_[i].patience; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.patience_, cpuPatience, maxTotalEdges * sizeof(int), + cudaMemcpyHostToDevice)); + delete[] cpuPatience; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuOnSiteTime = new int[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + cpuOnSiteTime[i] = call_[i].onSiteTime; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.onSiteTime_, cpuOnSiteTime, + maxTotalEdges * sizeof(int), cudaMemcpyHostToDevice)); + delete[] cpuOnSiteTime; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuResponderType = new int[maxTotalEdges]; + for (int i = 0; i < maxTotalEdges; i++) { + if (call_[i].type == "Law") + cpuResponderType[i] = 7; + else if (call_[i].type == "EMS") + cpuResponderType[i] = 5; + else if (call_[i].type == "Fire") + cpuResponderType[i] = 6; + } + HANDLE_ERROR(cudaMemcpy(allEdgesDeviceProps.responderType_, cpuResponderType, + maxTotalEdges * sizeof(int), cudaMemcpyHostToDevice)); + delete[] cpuResponderType; + + HANDLE_ERROR(cudaMemcpy(allEdgesDevice, &allEdgesDeviceProps, + sizeof(All911EdgesDeviceProperties), cudaMemcpyHostToDevice)); + // Set countVertices_ to 0 to avoid illegal memory deallocation + // at All911Edges deconstructor. + allEdgesDeviceProps.countVertices_ = 0; +} + + +/// Copy all edge data from device to host. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::copyEdgeDeviceToHost() +{ + // copy everything necessary + All911EdgesDeviceProperties allEdgesDeviceProps; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allEdgesDevice = static_cast(gpuModel->getAllEdgesDevice()); + HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, + sizeof(All911EdgesDeviceProperties), cudaMemcpyDeviceToHost)); + copyDeviceToHost(allEdgesDeviceProps); +} + +/// Copy all edge data from device to host. +/// (Helper function of copyEdgeDeviceToHost) +/// +/// @param allEdgesProperties GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::copyDeviceToHost(All911EdgesDeviceProperties &allEdgesDeviceProps) +{ + int numVertices = Simulator::getInstance().getTotalVertices(); + BGSIZE maxTotalEdges = Simulator::getInstance().getMaxEdgesPerVertex() * numVertices; + HANDLE_ERROR(cudaMemcpy(sourceVertexIndex_.data(), allEdgesDeviceProps.sourceVertexIndex_, + maxTotalEdges * sizeof(int), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(destVertexIndex_.data(), allEdgesDeviceProps.destVertexIndex_, + maxTotalEdges * sizeof(int), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(W_.data(), allEdgesDeviceProps.W_, maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(type_.data(), allEdgesDeviceProps.type_, + maxTotalEdges * sizeof(edgeType), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(inUse_.data(), allEdgesDeviceProps.inUse_, + maxTotalEdges * sizeof(unsigned char), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(edgeCounts_.data(), allEdgesDeviceProps.edgeCounts_, + numVertices * sizeof(BGSIZE), cudaMemcpyDeviceToHost)); + totalEdgeCount_ = allEdgesDeviceProps.totalEdgeCount_; + maxEdgesPerVertex_ = allEdgesDeviceProps.maxEdgesPerVertex_; + countVertices_ = allEdgesDeviceProps.countVertices_; + // Set countVertices_ to 0 to avoid illegal memory deallocation + // at All911Edges deconstructor. + allEdgesDeviceProps.countVertices_ = 0; + HANDLE_ERROR(cudaMemcpy(isAvailable_.data(), allEdgesDeviceProps.isAvailable_, + maxTotalEdges * sizeof(unsigned char), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(isRedial_.data(), allEdgesDeviceProps.isRedial_, + maxTotalEdges * sizeof(unsigned char), cudaMemcpyDeviceToHost)); + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuVertexId = new int[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuVertexId, allEdgesDeviceProps.vertexId_, maxTotalEdges * sizeof(int), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].vertexId = cpuVertexId[i]; + } + delete[] cpuVertexId; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + uint64_t *cpuTime = new uint64_t[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuTime, allEdgesDeviceProps.time_, maxTotalEdges * sizeof(uint64_t), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].time = cpuTime[i]; + } + delete[] cpuTime; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuDuration = new int[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuDuration, allEdgesDeviceProps.duration_, maxTotalEdges * sizeof(int), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].duration = cpuDuration[i]; + } + delete[] cpuDuration; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + BGFLOAT *cpuX = new BGFLOAT[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuX, allEdgesDeviceProps.x_, maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].x = cpuX[i]; + } + delete[] cpuX; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + BGFLOAT *cpuY = new BGFLOAT[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuY, allEdgesDeviceProps.y_, maxTotalEdges * sizeof(BGFLOAT), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].y = cpuY[i]; + } + delete[] cpuY; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuPatience = new int[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuPatience, allEdgesDeviceProps.patience_, maxTotalEdges * sizeof(int), + cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].patience = cpuPatience[i]; + } + delete[] cpuPatience; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuOnSiteTime = new int[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuOnSiteTime, allEdgesDeviceProps.onSiteTime_, + maxTotalEdges * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + call_[i].onSiteTime = cpuOnSiteTime[i]; + } + delete[] cpuOnSiteTime; + + // Use heap memory by using a dynamic array to prevent stack overflow/segmentation faults + int *cpuResponderType = new int[maxTotalEdges]; + HANDLE_ERROR(cudaMemcpy(cpuResponderType, allEdgesDeviceProps.responderType_, + maxTotalEdges * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < maxTotalEdges; i++) { + if (cpuResponderType[i] == 7) + call_[i].type = "Law"; + else if (cpuResponderType[i] == 5) + call_[i].type = "EMS"; + else if (cpuResponderType[i] == 6) + call_[i].type = "Fire"; + } + delete[] cpuResponderType; +} + +/// Get edge_counts in AllEdges struct on device memory. +/// +/// @param allEdgesDevice GPU address of the All911EdgesDeviceProperties struct +/// on device memory. +void All911Edges::copyDeviceEdgeCountsToHost(void *allEdgesDevice) +{ + All911EdgesDeviceProperties allEdgesDeviceProps; + int vertexCount = Simulator::getInstance().getTotalVertices(); + HANDLE_ERROR(cudaMemcpy(&allEdgesDeviceProps, allEdgesDevice, + sizeof(All911EdgesDeviceProperties), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(edgeCounts_.data(), allEdgesDeviceProps.edgeCounts_, + vertexCount * sizeof(BGSIZE), cudaMemcpyDeviceToHost)); +} + +/// Advance all the edges in the simulation. +/// Update the state of all edges for a time step. +/// +/// @param allEdgesDevice GPU address of the AllEdgesDeviceProperties struct +/// on device memory. +/// @param allVerticesDevice GPU address of the AllVerticesDeviceProperties struct on device memory. +/// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. +void All911Edges::advanceEdges(void *allEdgesDevice, void *allVerticesDevice, + void *edgeIndexMapDevice) +{ + //Edges are just used to store calls between vertices +} + +void All911Edges::setAdvanceEdgesDeviceParams() +{ + //Advance edges does nothing so no params to set +} + +/// Prints GPU 911EdgesProps data. +/// +/// @param allEdgesDeviceProps GPU address of the corresponding All911EdgesDeviceProperties struct on device memory. +void All911Edges::printGPUEdgesProps(void *allEdgesDeviceProps) const +{ + All911EdgesDeviceProperties allEdgesProps; + BGSIZE size = maxEdgesPerVertex_ * countVertices_; + if (size != 0) { + //allocate print out data members + int *sourceVertexIndexPrint = new int[size]; + int *destVertexIndexPrint = new int[size]; + BGFLOAT *WPrint = new BGFLOAT[size]; + edgeType *typePrint = new edgeType[size]; + // The representation of inUsePrint has been updated from bool to unsigned char + // to store 1 (true) or 0 (false) for the support of serialization operations. See ISSUE-459 + unsigned char *inUsePrint = new unsigned char[size]; + BGSIZE *edgeCountsPrint = new BGSIZE[countVertices_]; + BGSIZE totalEdgeCountPrint; + BGSIZE maxEdgesPerVertexPrint; + int countVerticesPrint; + unsigned char *isAvailablePrint = new unsigned char[size]; + unsigned char *isRedialPrint = new unsigned char[size]; + int *vertexIdPrint = new int[size]; + uint64_t *timePrint = new uint64_t[size]; + int *durationPrint = new int[size]; + BGFLOAT *xPrint = new BGFLOAT[size]; + BGFLOAT *yPrint = new BGFLOAT[size]; + int *patiencePrint = new int[size]; + int *onSiteTimePrint = new int[size]; + int *responderTypePrint = new int[size]; + + //set some array to default values + //TODO: should look into why this is necessary + for (BGSIZE i = 0; i < size; i++) { + inUsePrint[i] = false; + } + + for (int i = 0; i < countVertices_; i++) { + edgeCountsPrint[i] = 0; + } + + // copy everything + HANDLE_ERROR(cudaMemcpy(&allEdgesProps, allEdgesDeviceProps, + sizeof(All911EdgesDeviceProperties), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(sourceVertexIndexPrint, allEdgesProps.sourceVertexIndex_, + size * sizeof(int), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(destVertexIndexPrint, allEdgesProps.destVertexIndex_, + size * sizeof(int), cudaMemcpyDeviceToHost)); + HANDLE_ERROR( + cudaMemcpy(WPrint, allEdgesProps.W_, size * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(typePrint, allEdgesProps.type_, size * sizeof(edgeType), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(inUsePrint, allEdgesProps.inUse_, size * sizeof(unsigned char), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(edgeCountsPrint, allEdgesProps.edgeCounts_, + countVertices_ * sizeof(BGSIZE), cudaMemcpyDeviceToHost)); + totalEdgeCountPrint = allEdgesProps.totalEdgeCount_; + maxEdgesPerVertexPrint = allEdgesProps.maxEdgesPerVertex_; + countVerticesPrint = allEdgesProps.countVertices_; + // Set countVertices_ to 0 to avoid illegal memory deallocation + // at AllSynapsesProps deconstructor. + allEdgesProps.countVertices_ = 0; + HANDLE_ERROR(cudaMemcpy(isAvailablePrint, allEdgesProps.isAvailable_, + size * sizeof(unsigned char), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(isRedialPrint, allEdgesProps.isRedial_, size * sizeof(unsigned char), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(vertexIdPrint, allEdgesProps.vertexId_, size * sizeof(int), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(timePrint, allEdgesProps.time_, size * sizeof(uint64_t), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(durationPrint, allEdgesProps.duration_, size * sizeof(int), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR( + cudaMemcpy(xPrint, allEdgesProps.x_, size * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + HANDLE_ERROR( + cudaMemcpy(yPrint, allEdgesProps.y_, size * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(patiencePrint, allEdgesProps.patience_, size * sizeof(int), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(onSiteTimePrint, allEdgesProps.onSiteTime_, size * sizeof(int), + cudaMemcpyDeviceToHost)); + HANDLE_ERROR(cudaMemcpy(responderTypePrint, allEdgesProps.responderType_, size * sizeof(int), + cudaMemcpyDeviceToHost)); + + //Print everything + for (BGSIZE i = 0; i < size; i++) { + if (WPrint[i] != 0.0) { + cout << "GPU W[" << i << "] = " << WPrint[i]; + cout << " GPU sourceVertexIndex: " << sourceVertexIndexPrint[i]; + cout << " GPU destVertexIndex: " << destVertexIndexPrint[i]; + cout << " GPU type: " << typePrint[i]; + cout << " GPU inUse: " << (inUsePrint[i] == 1 ? "true" : "false"); + cout << " GPU isAvailable: " << (isAvailablePrint[i] == 1 ? "true" : "false"); + cout << " GPU isRedial: " << (isRedialPrint[i] == 1 ? "true" : "false"); + cout << " GPU eventVertexIndex: " << vertexIdPrint[i]; + cout << " GPU eventTime: " << timePrint[i]; + cout << " GPU eventDuration: " << durationPrint[i]; + cout << " GPU eventLocationX: " << xPrint[i]; + cout << " GPU eventLocationY: " << yPrint[i]; + cout << " GPU customerPatience: " << patiencePrint[i]; + cout << " GPU responderOnSiteTime: " << onSiteTimePrint[i]; + cout << " GPU responderType: " << responderTypePrint[i]; + } + } + for (int i = 0; i < countVertices_; i++) { + cout << "GPU edgeCounts:" << "vertex[" << i << "]" << edgeCountsPrint[i] << endl; + } + cout << "GPU totalEdgeCount: " << totalEdgeCountPrint << endl; + cout << "GPU maxEdgesPerVertex: " << maxEdgesPerVertexPrint << endl; + cout << "GPU countVertices: " << countVerticesPrint << endl; + + //Clean up everything + delete[] sourceVertexIndexPrint; + sourceVertexIndexPrint = nullptr; + + delete[] destVertexIndexPrint; + destVertexIndexPrint = nullptr; + + delete[] WPrint; + WPrint = nullptr; + + delete[] typePrint; + typePrint = nullptr; + + delete[] inUsePrint; + inUsePrint = nullptr; + + delete[] edgeCountsPrint; + edgeCountsPrint = nullptr; + + delete[] isAvailablePrint; + isAvailablePrint = nullptr; + + delete[] isRedialPrint; + isRedialPrint = nullptr; + + delete[] vertexIdPrint; + vertexIdPrint = nullptr; + + delete[] timePrint; + timePrint = nullptr; + + delete[] durationPrint; + durationPrint = nullptr; + + delete[] xPrint; + xPrint = nullptr; + + delete[] yPrint; + yPrint = nullptr; + + delete[] patiencePrint; + patiencePrint = nullptr; + + delete[] onSiteTimePrint; + onSiteTimePrint = nullptr; + + delete[] responderTypePrint; + responderTypePrint = nullptr; + } +} \ No newline at end of file diff --git a/Simulator/Edges/Neuro/AllNeuroEdges.h b/Simulator/Edges/Neuro/AllNeuroEdges.h index 86810f6e4..ea32d6121 100644 --- a/Simulator/Edges/Neuro/AllNeuroEdges.h +++ b/Simulator/Edges/Neuro/AllNeuroEdges.h @@ -87,6 +87,19 @@ class AllNeuroEdges : public AllEdges { /// Output weights and srcIndex to xml virtual void outputWeights(int epochNum) = 0; +#if defined(USE_GPU) +public: + /// Set edge class ID defined by enumClassSynapses for the caller's Edge class. + /// The class ID will be set to classSynapses_d in device memory, + /// and the classSynapses_d will be referred to call a device function for the + /// particular edge class. + /// Because we cannot use virtual function (Polymorphism) in device functions, + /// we use this scheme. + /// Note: we used to use a function pointer; however, it caused the growth_cuda crash + /// (see issue#137). + virtual void setEdgeClassID() = 0; +#endif + protected: /// Setup the internal structure of the class (allocate memories and initialize them). /// diff --git a/Simulator/Layouts/NG911/Layout911.cpp b/Simulator/Layouts/NG911/Layout911.cpp index ecee5e478..d024e2ea1 100644 --- a/Simulator/Layouts/NG911/Layout911.cpp +++ b/Simulator/Layouts/NG911/Layout911.cpp @@ -110,7 +110,9 @@ void Layout911::generateVertexTypeMap() << "\tTotal vertices: " << numVertices_ << endl << "\tCaller vertices: " << vTypeCount["CALR"] << endl << "\tPSAP vertices: " << vTypeCount["PSAP"] << endl - << "\tResponder vertices: " << vTypeCount["RESP"] << endl); + << "\tLaw vertices: " << vTypeCount["LAW"] << endl + << "\tFire vertices: " << vTypeCount["FIRE"] << endl + << "\tEMS vertices: " << vTypeCount["EMS"] << endl); LOG4CPLUS_INFO(fileLogger_, "Finished initializing vertex type map"); } diff --git a/Simulator/Recorders/RecordableVector.h b/Simulator/Recorders/RecordableVector.h index 48b705a31..d59a358f0 100644 --- a/Simulator/Recorders/RecordableVector.h +++ b/Simulator/Recorders/RecordableVector.h @@ -93,18 +93,18 @@ template class RecordableVector : public RecordableBase { return dataSeries_; } - /// @brief Gets const pointer to contiguous host memory array - /// @return Const pointer to the first element in host memory + /// @brief Gets pointer to contiguous host memory array + /// @return Pointer to the first element in host memory /// @note Returns nullptr if vector is empty - const T *data() const + T *data() { return dataSeries_.data(); } - /// @brief Gets pointer to contiguous host memory array - /// @return Pointer to the first element in host memory + /// @brief Gets const pointer to contiguous host memory array + /// @return Const pointer to the first element in host memory /// @note Returns nullptr if vector is empty - T *data() + const T *data() const { return dataSeries_.data(); } diff --git a/Simulator/Utils/CircularBuffer.h b/Simulator/Utils/CircularBuffer.h index 8b67de845..ff60faff4 100644 --- a/Simulator/Utils/CircularBuffer.h +++ b/Simulator/Utils/CircularBuffer.h @@ -149,6 +149,39 @@ template class CircularBuffer { return buffer_.size() + front_ - end_; } + std::vector &getBuffer() + { + return buffer_; + } + + /// @brief Accessor for the front index of the circular buffer. + /// @return Returns the front index of the circular buffer. + size_t getFrontIndex() + { + return front_; + } + + /// @brief Accessor for the end index of the circular buffer. + /// @return Returns the end index of the circular buffer. + size_t getEndIndex() + { + return end_; + } + + /// @brief Accessor for the front index of the circular buffer. + /// @return Returns the front index of the circular buffer. + void setFrontIndex(unsigned long front) + { + front_ = front; + } + + /// @brief Accessor for the end index of the circular buffer. + /// @return Returns the end index of the circular buffer. + void setEndIndex(unsigned long end) + { + end_ = end; + } + private: /// Container for holding the buffer elements std::vector buffer_; diff --git a/Simulator/Utils/InputEvent.h b/Simulator/Utils/InputEvent.h index 0841d97a2..cddca79cf 100644 --- a/Simulator/Utils/InputEvent.h +++ b/Simulator/Utils/InputEvent.h @@ -16,6 +16,7 @@ #pragma once +#include "BGTypes.h" #include #include @@ -31,8 +32,8 @@ struct Call : public InputEvent { // The duration of the event in timesteps int duration; // Event location - double x; - double y; + BGFLOAT x; + BGFLOAT y; // Patience time: How long a customer is willing to wait in the queue int patience; // On Site Time: Time spent by a responder at the site of the incident diff --git a/Simulator/Utils/InputManager.h b/Simulator/Utils/InputManager.h index 86c3d52fb..044d45065 100644 --- a/Simulator/Utils/InputManager.h +++ b/Simulator/Utils/InputManager.h @@ -68,6 +68,8 @@ template class InputManager { /// @brief Constructor InputManager() { + // Initial number of events in the manager is zero + totalNumberOfEvents_ = 0; // Get a copy of the file logger to use with log4cplus macros fileLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("file")); consoleLogger_ = log4cplus::Logger::getInstance(LOG4CPLUS_TEXT("console")); @@ -136,6 +138,7 @@ template class InputManager { // Add the event object to the event map. Map's operator[] creates // and empty queue if it doesn't yet contain this vertex_id. eventsMap_[vertex_id].push(event); + ++totalNumberOfEvents_; } catch (boost::property_tree::ptree_bad_data e) { LOG4CPLUS_FATAL(consoleLogger_, "InputManager failed to read event node: " << e.what()); @@ -188,6 +191,13 @@ template class InputManager { return clockTickUnit_; } + /// @brief Retrieves the total number of events as defined in the input file + /// @return The total number of events in input file + int getTotalNumberOfEvents() + { + return totalNumberOfEvents_; + } + /// @brief Peeks into the event at the front of the vertex queue /// @param vertexId The ID of the vertex /// @throws out_of_range, if vertexId is not found in the map @@ -261,6 +271,9 @@ template class InputManager { int clockTickSize_; string clockTickUnit_; + // Total number of events loaded into the manager + int totalNumberOfEvents_; + log4cplus::Logger fileLogger_; // For logging into a file log4cplus::Logger consoleLogger_; // For logging to console diff --git a/Simulator/Vertices/AllVertices.cpp b/Simulator/Vertices/AllVertices.cpp index b7e43d61e..db82979b7 100644 --- a/Simulator/Vertices/AllVertices.cpp +++ b/Simulator/Vertices/AllVertices.cpp @@ -39,6 +39,12 @@ AllVertices::AllVertices() : size_(0) OperationManager::getInstance().registerOperation(Operations::printParameters, printParametersFunc); + function loadEpochInputsFunc = std::bind( + &AllVertices::loadEpochInputs, this, std::placeholders::_1, std::placeholders::_2); + OperationManager::getInstance().registerOperation(Operations::loadEpochInputs, + loadEpochInputsFunc); + + // Register registerHistoryVariables function as a registerHistoryVariables operation in the OperationManager function registerHistoryVarsFunc = bind(&AllVertices::registerHistoryVariables, this); OperationManager::getInstance().registerOperation(Operations::registerHistoryVariables, @@ -86,7 +92,30 @@ void AllVertices::printParameters() const /// These are inputs occurring in between curStep (inclusive) and /// endStep (exclusive) void AllVertices::loadEpochInputs(uint64_t currentStep, uint64_t endStep) +{ + loadEpochInputsToVertices(currentStep, endStep); +#if defined(USE_GPU) + copyEpochInputsToDevice(); +#endif +} + +void AllVertices::loadEpochInputsToVertices(uint64_t currentStep, uint64_t endStep) { // This is an empty implementation so that Neural Network simulation works // normally -} \ No newline at end of file + LOG4CPLUS_DEBUG(vertexLogger_, "Calling AllVertices::loadEpochInputsToVertices"); +} + +#if defined(USE_GPU) +void AllVertices::copyEpochInputsToDevice() +{ + // This is an empty implementation so that Neural Network simulation works + // normally + LOG4CPLUS_DEBUG(vertexLogger_, "Calling AllVertices::copyEpochInputsToDevice"); +} + +int AllVertices::getNumberOfVerticesNeedingDeviceNoise() const +{ + return Simulator::getInstance().getTotalVertices(); +} +#endif \ No newline at end of file diff --git a/Simulator/Vertices/AllVertices.h b/Simulator/Vertices/AllVertices.h index 73c013318..2316cf920 100644 --- a/Simulator/Vertices/AllVertices.h +++ b/Simulator/Vertices/AllVertices.h @@ -60,7 +60,15 @@ class AllVertices { /// /// @param curStep The current simulation step /// @param endStep The end of epoch simulation step - virtual void loadEpochInputs(uint64_t currentStep, uint64_t endStep); + void loadEpochInputs(uint64_t currentStep, uint64_t endStep); + + /// Loads all inputs scheduled to occur in the upcoming epoch. + /// These are inputs occurring in between curStep (inclusive) and + /// endStep (exclusive) + /// + /// @param curStep The current simulation step + /// @param endStep The end of epoch simulation step + virtual void loadEpochInputsToVertices(uint64_t currentStep, uint64_t endStep); /// Load member variables from configuration file. /// Registered to OperationManager as Operation::loadParameters @@ -116,6 +124,9 @@ class AllVertices { /// virtual void copyFromDevice() = 0; + /// Copies all inputs scheduled to occur in the upcoming epoch onto device. + virtual void copyEpochInputsToDevice(); + /// Update the state of all vertices for a time step /// Notify outgoing edges if vertex has fired. /// @@ -141,6 +152,9 @@ class AllVertices { virtual void integrateVertexInputs(void *allVerticesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, void *allEdgesDevice) = 0; + + /// Get the number of vertices that need device noise + virtual int getNumberOfVerticesNeedingDeviceNoise() const; #else // !defined(USE_GPU) public: /// Update internal state of the indexed vertex (called by every simulation step). diff --git a/Simulator/Vertices/NG911/All911Vertices.cpp b/Simulator/Vertices/NG911/All911Vertices.cpp index bbc9e5fef..705bab50f 100644 --- a/Simulator/Vertices/NG911/All911Vertices.cpp +++ b/Simulator/Vertices/NG911/All911Vertices.cpp @@ -20,6 +20,13 @@ void All911Vertices::setupVertices() AllVertices::setupVertices(); // Resize and fill vectors with 0 + vertexType_.assign(size_, 0); + beginTimeHistory_.resize(size_); + answerTimeHistory_.resize(size_); + endTimeHistory_.resize(size_); + wasAbandonedHistory_.resize(size_); + queueLengthHistory_.resize(size_); + utilizationHistory_.resize(size_); numServers_.assign(size_, 0); busyServers_.assign(size_, 0); numTrunks_.assign(size_, 0); @@ -27,16 +34,11 @@ void All911Vertices::setupVertices() servingCall_.resize(size_); answerTime_.resize(size_); serverCountdown_.resize(size_); + vertexIdToNoiseIndex_.assign(size_, -1); // Resize and fill data structures for recording droppedCalls_.assign(size_, 0); receivedCalls_.assign(size_, 0); - beginTimeHistory_.resize(size_); - answerTimeHistory_.resize(size_); - endTimeHistory_.resize(size_); - wasAbandonedHistory_.resize(size_); - queueLengthHistory_.resize(size_); - utilizationHistory_.resize(size_); // Register call properties with InputManager inputManager_.registerProperty("vertex_id", &Call::vertexId); @@ -53,47 +55,76 @@ void All911Vertices::setupVertices() // Creates all the Vertices and assigns initial data for them. void All911Vertices::createAllVertices(Layout &layout) { - // Calcualte the total number of time-steps for the data structures that - // will record per-step histories + // Read Input Events using the InputManager + inputManager_.readInputs(); + LOG4CPLUS_DEBUG(vertexLogger_, + "Total number of events: " << inputManager_.getTotalNumberOfEvents()); + Simulator &simulator = Simulator::getInstance(); + // For metrics whose entries are recorded for each time step such as queue length history uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); - uint64_t totalTimeSteps = stepsPerEpoch * simulator.getNumEpochs(); - BGFLOAT epochDuration = simulator.getEpochDuration(); - BGFLOAT deltaT = simulator.getDeltaT(); + // For metrics whose entries are recorded for each call such as begin time history + int maxEventsPerEpoch = static_cast(Simulator::getInstance().getEpochDuration() + * Simulator::getInstance().getMaxFiringRate()); + LOG4CPLUS_DEBUG(vertexLogger_, "Steps per epoch: " << stepsPerEpoch); + LOG4CPLUS_DEBUG(vertexLogger_, "Max events per epoch: " << maxEventsPerEpoch); - // Loop over all vertices and set the number of servers and trunks, and - // determine the size of the waiting queue. + // Loop over all vertices and set the number of servers and trunks. // We get the information needed from the GraphManager. GraphManager::VertexIterator vi, vi_end; GraphManager &gm = GraphManager::getInstance(); + // Variable to map caller region IDs to 0 to n-1 where n is the number of caller regions. + // This allows caller regions to exist anywhere in the graph file + numberOfVerticesNeedingDeviceNoise_ = 0; for (boost::tie(vi, vi_end) = gm.vertices(); vi != vi_end; ++vi) { assert(*vi < size_); if (gm[*vi].type == "CALR") { - vertexQueues_[*vi].resize(stepsPerEpoch); + vertexType_[*vi] = 3; + vertexIdToNoiseIndex_[*vi] = numberOfVerticesNeedingDeviceNoise_; + numberOfVerticesNeedingDeviceNoise_++; } else { + if (gm[*vi].type == "PSAP") { + vertexType_[*vi] = 4; + } else if (gm[*vi].type == "EMS") { + vertexType_[*vi] = 5; + } else if (gm[*vi].type == "FIRE") { + vertexType_[*vi] = 6; + } else if (gm[*vi].type == "LAW") { + vertexType_[*vi] = 7; + } numServers_[*vi] = gm[*vi].servers; numTrunks_[*vi] = gm[*vi].trunks; // We should not have more servers than trunks assert(numServers_[*vi] <= numTrunks_[*vi]); - - // The waiting queue is of size # trunks. We keep track of the # of busy servers - // to know when there are no more trunks available. - vertexQueues_[*vi].resize(numTrunks_[*vi]); - - // Initialize the data structures for agent availability - servingCall_[*vi].resize(gm[*vi].servers); - answerTime_[*vi].resize(gm[*vi].servers); - serverCountdown_[*vi].assign(gm[*vi].servers, 0); - - // Initialize the data structures for system metrics - queueLengthHistory_[*vi].assign(totalTimeSteps, 0); - utilizationHistory_[*vi].assign(totalTimeSteps, 0); + if (maxNumberOfServers_ < numServers_[*vi]) { + maxNumberOfServers_ = numServers_[*vi]; + } } } - // Read Input Events using the InputManager - inputManager_.readInputs(); + LOG4CPLUS_DEBUG(vertexLogger_, "Number of vertices needing device noise: " + << numberOfVerticesNeedingDeviceNoise_); + LOG4CPLUS_DEBUG(vertexLogger_, "Max number of servers: " << maxNumberOfServers_); + + // Loop over the vertices again to appropriate resize data members such that + // each data member used the same size for all of it's vertices. This is to + // help with mirroring the implementation on the GPU where we need a consistent + // size for all vertices. + for (int vertexId = 0; vertexId < size_; vertexId++) { + // Initialize the data structures for system metrics + beginTimeHistory_[vertexId].resize(maxEventsPerEpoch); + answerTimeHistory_[vertexId].resize(maxEventsPerEpoch); + endTimeHistory_[vertexId].resize(maxEventsPerEpoch); + wasAbandonedHistory_[vertexId].resize(maxEventsPerEpoch); + queueLengthHistory_[vertexId].resize(stepsPerEpoch); + utilizationHistory_[vertexId].resize(stepsPerEpoch); + vertexQueues_[vertexId].resize(stepsPerEpoch); + // Initialize the data structures for agent availability + servingCall_[vertexId].resize(maxNumberOfServers_); + answerTime_[vertexId].resize(maxNumberOfServers_); + serverCountdown_[vertexId].assign(maxNumberOfServers_, 0); + } } @@ -118,8 +149,9 @@ string All911Vertices::toString(int index) const // Loads all inputs scheduled to occur in the upcoming epoch. -void All911Vertices::loadEpochInputs(uint64_t currentStep, uint64_t endStep) +void All911Vertices::loadEpochInputsToVertices(uint64_t currentStep, uint64_t endStep) { + LOG4CPLUS_DEBUG(fileLogger_, "Calling All911Vertices::loadEpochInputsToVertices"); Simulator &simulator = Simulator::getInstance(); Layout &layout = simulator.getModel().getLayout(); @@ -141,7 +173,7 @@ void All911Vertices::registerHistoryVariables() // Registering the following variables to be recorded recorder.registerVariable("numTrunks", numTrunks_, Recorder::UpdatedType::CONSTANT); recorder.registerVariable("numServers", numServers_, Recorder::UpdatedType::CONSTANT); - recorder.registerVariable("droppedCalls", droppedCalls_, Recorder::UpdatedType::DYNAMIC); + recorder.registerVariable("droppedCalls", droppedCalls_, Recorder::UpdatedType::CONSTANT); recorder.registerVariable("receivedCalls", receivedCalls_, Recorder::UpdatedType::CONSTANT); for (int i = 0; i < beginTimeHistory_.size(); i++) { @@ -219,34 +251,51 @@ void All911Vertices::integrateVertexInputs(AllEdges &edges, EdgeIndexMap &edgeIn for (int edge = start; edge < start + count; ++edge) { int edgeIdx = edgeIndexMap.incomingEdgeIndexMap_[edge]; - if (!all911Edges.inUse_[edgeIdx]) { - continue; - } // Edge isn't in use - if (all911Edges.isAvailable_[edgeIdx]) { - continue; - } // Edge doesn't have a call + if (!all911Edges.inUse_[edgeIdx] || all911Edges.isAvailable_[edgeIdx]) { + continue; // Edge isn't in use and doesn't have a call + } int dst = all911Edges.destVertexIndex_[edgeIdx]; // The destination vertex should be the one pulling the information assert(dst == vertex); CircularBuffer &dstQueue = getQueue(dst); - if (dstQueue.size() >= (dstQueue.capacity() - busyServers(dst))) { + // Compute the size of the destination queue + // Allows us to use larger capacity queues but treat them like they are smaller + // to simplify the mirroring on the GPU. + uint64_t dstQueueSize; + uint64_t queueFrontIndex = dstQueue.getFrontIndex(); + uint64_t queueEndIndex = dstQueue.getEndIndex(); + if (queueFrontIndex >= queueEndIndex) { + dstQueueSize = queueFrontIndex - queueEndIndex; + } else { + // Internal CircularBuffer buffer size is capacity + 1 + dstQueueSize = numTrunks_[dst] + 1 + queueFrontIndex - queueEndIndex; + } + + // Compute the capacity of the destination queue + int dstQueueCapacity = numTrunks_[dst]; + // dstQueueSize can't be negative but we need to be able to compare it to a possible negative waiting queue + // so cast the size to an int for comparison + if ((int)dstQueueSize >= (dstQueueCapacity - busyServers(dst))) { // Call is dropped because there is no space in the waiting queue if (!all911Edges.isRedial_[edgeIdx]) { // Only count the dropped call if it's not a redial droppedCalls(dst)++; // Record that we received a call receivedCalls(dst)++; - LOG4CPLUS_DEBUG(vertexLogger_, - "Call dropped: " << droppedCalls(dst) - << ", time: " << all911Edges.call_[edgeIdx].time - << ", vertex: " << dst - << ", queue size: " << dstQueue.size()); + LOG4CPLUS_DEBUG(vertexLogger_, "Call dropped: " << droppedCalls(dst) << ", time: " + << all911Edges.call_[edgeIdx].time + << ", vertex: " << dst + << ", queue size: " << dstQueueSize); } } else { // Transfer call to destination - dstQueue.put(all911Edges.call_[edgeIdx]); + assert(((queueFrontIndex + 1) % numTrunks_[dst] + 1) != queueEndIndex); + vector &queueBuffer = dstQueue.getBuffer(); + queueBuffer[queueFrontIndex] = all911Edges.call_[edgeIdx]; + uint64_t newFrontIndex = (queueFrontIndex + 1) % (numTrunks_[dst] + 1); + dstQueue.setFrontIndex(newFrontIndex); // Record that we received a call receivedCalls(dst)++; all911Edges.isAvailable_[edgeIdx] = true; @@ -261,9 +310,6 @@ void All911Vertices::advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIn { Simulator &simulator = Simulator::getInstance(); Layout &layout = simulator.getModel().getLayout(); - uint64_t endEpochStep - = g_simulationStep - + static_cast(simulator.getEpochDuration() / simulator.getDeltaT()); All911Edges &edges911 = dynamic_cast(edges); @@ -286,26 +332,19 @@ void All911Vertices::advanceVertices(AllEdges &edges, const EdgeIndexMap &edgeIn void All911Vertices::advanceCALR(BGSIZE vertexIdx, All911Edges &edges911, const EdgeIndexMap &edgeIndexMap) { - // There is only one outgoing edge from CALR to a PSAP - BGSIZE start = edgeIndexMap.outgoingEdgeBegin_[vertexIdx]; - BGSIZE edgeIdx = edgeIndexMap.outgoingEdgeIndexMap_[start]; - - // Check for dropped calls, indicated by the edge not being available - if (!edges911.isAvailable_[edgeIdx]) { - // If the call is still there, it means that there was no space in the PSAP's waiting - // queue. Therefore, this is a dropped call. - // If readialing, we assume that it happens immediately and the caller tries until - // getting through. - if (!edges911.isRedial_[edgeIdx] && initRNG.randDblExc() >= redialP_) { - // We only make the edge available if no readialing occurs. - edges911.isAvailable_[edgeIdx] = true; - LOG4CPLUS_DEBUG(vertexLogger_, "Did not redial at time: " << edges911.call_[edgeIdx].time); - } else { - // Keep the edge unavailable but mark it as a redial - edges911.isRedial_[edgeIdx] = true; - } - } + // // There is only one outgoing edge from CALR to a PSAP + BGSIZE edgeIdx = edgeIndexMap.outgoingEdgeIndexMap_[edgeIndexMap.outgoingEdgeBegin_[vertexIdx]]; + + unsigned char makeAvailable = (1 - edges911.isAvailable_[edgeIdx]) + * (1 - edges911.isRedial_[edgeIdx]) + * (unsigned char)(initRNG.randDblExc() >= redialP_); + + edges911.isAvailable_[edgeIdx] |= makeAvailable; + edges911.isRedial_[edgeIdx] |= (1 - edges911.isAvailable_[edgeIdx]) * (1 - makeAvailable); + // We can use CircularBuffer methods because we don't need the caller region queue + // to behave like it only has a capacity of numTrunks_ like we do for other vertices. + // // peek at the next call in the queue optional nextCall = vertexQueues_[vertexIdx].peek(); if (edges911.isAvailable_[edgeIdx] && nextCall && nextCall->time <= g_simulationStep) { @@ -326,32 +365,47 @@ void All911Vertices::advanceCALR(BGSIZE vertexIdx, All911Edges &edges911, void All911Vertices::advancePSAP(BGSIZE vertexIdx, All911Edges &edges911, const EdgeIndexMap &edgeIndexMap) { + int numberOfServers = numServers_[vertexIdx]; // Loop over all servers and free the ones finishing serving calls - vector availableServers; - for (size_t server = 0; server < serverCountdown_[vertexIdx].size(); ++server) { - if (serverCountdown_[vertexIdx][server] == 0) { - // Server is available to take calls. This check is needed because calls - // could have duration of zero or server has not been assigned a call yet - availableServers.push_back(server); - } else if (--serverCountdown_[vertexIdx][server] == 0) { + int numberOfAvailableServers = 0; + vector + availableServers; // Use vector but treat like array to better mirror on GPU + availableServers.reserve(numberOfServers); + // Initialize to no servers having been assigned a call yet + for (BGSIZE serverIndex = 0; serverIndex < numberOfServers; serverIndex++) { + availableServers[serverIndex] = false; + } + for (size_t server = 0; server < numberOfServers; ++server) { + int countdown = serverCountdown_[vertexIdx][server]; + // Check if countdown was already 0 + int countdownWasZero = countdown == 0; + + // Decrement if it was not already 0 + countdown -= (1 - countdownWasZero); + serverCountdown_[vertexIdx][server] = countdown; + + // Set the available server if it was already available or became available + availableServers[server] = (unsigned char)(countdown == 0); + numberOfAvailableServers += (countdown == 0); + + // If it became zero, the unit responds to the new incident + if ((!countdownWasZero) & (countdown == 0)) { // Server becomes free to take calls // TODO: What about wrap-up time? Call &endingCall = servingCall_[vertexIdx][server]; //Store call metrics - wasAbandonedHistory_[vertexIdx].push_back(false); - beginTimeHistory_[vertexIdx].push_back(endingCall.time); - answerTimeHistory_[vertexIdx].push_back(answerTime_[vertexIdx][server]); - endTimeHistory_[vertexIdx].push_back(g_simulationStep); + wasAbandonedHistory_[vertexIdx].insertEvent(false); + beginTimeHistory_[vertexIdx].insertEvent(endingCall.time); + answerTimeHistory_[vertexIdx].insertEvent(answerTime_[vertexIdx][server]); + endTimeHistory_[vertexIdx].insertEvent(g_simulationStep); LOG4CPLUS_DEBUG(vertexLogger_, "Finishing call, begin time: " << endingCall.time << ", end time: " << g_simulationStep << ", waited: " << answerTime_[vertexIdx][server] - endingCall.time); // Dispatch the Responder closest to the emergency location. - Connections911 &conn911 - = dynamic_cast(Simulator::getInstance().getModel().getConnections()); - BGSIZE respEdge = conn911.getEdgeToClosestResponder(endingCall, vertexIdx); + BGSIZE respEdge = getEdgeToClosestResponder(endingCall, vertexIdx); BGSIZE responder = edges911.destVertexIndex_[respEdge]; LOG4CPLUS_DEBUG(vertexLogger_, "Dispatching Responder: " << responder); @@ -360,54 +414,71 @@ void All911Vertices::advancePSAP(BGSIZE vertexIdx, All911Edges &edges911, endingCall.time = g_simulationStep; edges911.call_[respEdge] = endingCall; edges911.isAvailable_[respEdge] = false; - - // This assumes that the caller doesn't stay in the line until the responder - // arrives on scene. This not true in all instances. - availableServers.push_back(server); } } + // Need the initial number of servers for utilization metric as well as a number of servers that can change + // during the while loop iterations + int currentlyAvailableServers = numberOfAvailableServers; // Assign calls to servers until either no servers are available or // there are no more calls in the waiting queue - size_t serverId = 0; - while (serverId < availableServers.size() && !vertexQueues_[vertexIdx].isEmpty()) { + while (currentlyAvailableServers > 0 && !vertexQueues_[vertexIdx].isEmpty()) { // TODO: calls with duration of zero are being added but because countdown will be zero // they don't show up in the logs - optional call = vertexQueues_[vertexIdx].get(); - assert(call); - - if (call->patience < (g_simulationStep - call->time)) { + // + // Internal CircularBuffer buffer size is capacity + 1 + vector queueBuffer = vertexQueues_[vertexIdx].getBuffer(); + uint64_t queueEnd = vertexQueues_[vertexIdx].getEndIndex(); + Call call = queueBuffer[queueEnd]; + uint64_t newEndIndex = (queueEnd + 1) % (numTrunks_[vertexIdx] + 1); + vertexQueues_[vertexIdx].setEndIndex(newEndIndex); + + if (call.patience < (g_simulationStep - call.time)) { // If the patience time is less than the waiting time, the call is abandoned - wasAbandonedHistory_[vertexIdx].push_back(true); - beginTimeHistory_[vertexIdx].push_back(call->time); + wasAbandonedHistory_[vertexIdx].insertEvent(true); + beginTimeHistory_[vertexIdx].insertEvent(call.time); // Answer time and end time get zero as sentinel for non-valid values - answerTimeHistory_[vertexIdx].push_back(0); - endTimeHistory_[vertexIdx].push_back(0); + answerTimeHistory_[vertexIdx].insertEvent(0); + endTimeHistory_[vertexIdx].insertEvent(0); LOG4CPLUS_DEBUG(vertexLogger_, "Call was abandoned, Patience: " - << call->patience - << " Ring Time: " << g_simulationStep - call->time); + << call.patience + << " Ring Time: " << g_simulationStep - call.time); } else { // The available server starts serving the call - int availServer = availableServers[serverId]; - servingCall_[vertexIdx][availServer] = call.value(); + int availServer; + for (BGSIZE serverIndex = 0; serverIndex < numberOfServers; serverIndex++) { + if (availableServers[serverIndex] == true) { + // If server is available, have that server serve the call + availServer = serverIndex; + availableServers[serverIndex] = false; + currentlyAvailableServers--; + break; + } + } + servingCall_[vertexIdx][availServer] = call; answerTime_[vertexIdx][availServer] = g_simulationStep; - serverCountdown_[vertexIdx][availServer] = call.value().duration; + serverCountdown_[vertexIdx][availServer] = call.duration; LOG4CPLUS_DEBUG(vertexLogger_, "Serving Call starting at time: " - << call->time << ", sim-step: " << g_simulationStep); - // Next server - ++serverId; + << call.time << ", sim-step: " << g_simulationStep); } } // Update number of busy servers. This is used to check if there is space in the queue - busyServers_[vertexIdx] = numServers_[vertexIdx] - availableServers.size(); + busyServers_[vertexIdx] = numberOfServers - numberOfAvailableServers; // Update queueLength and utilization histories - queueLengthHistory_[vertexIdx].resize(g_simulationStep + 1); - queueLengthHistory_[vertexIdx][g_simulationStep] = vertexQueues_[vertexIdx].size(); - utilizationHistory_[vertexIdx].resize(g_simulationStep + 1); - utilizationHistory_[vertexIdx][g_simulationStep] - = static_cast(busyServers_[vertexIdx]) / numServers_[vertexIdx]; + uint64_t queueSize; + uint64_t queueFront = vertexQueues_[vertexIdx].getFrontIndex(); + uint64_t queueEnd = vertexQueues_[vertexIdx].getEndIndex(); + if (queueFront >= queueEnd) { + queueSize = queueFront - queueEnd; + } else { + // Internal CircularBuffer buffer size is capacity + 1 + queueSize = numTrunks_[vertexIdx] + 1 + queueFront - queueEnd; + } + queueLengthHistory_[vertexIdx].insertEvent(queueSize); + utilizationHistory_[vertexIdx].insertEvent(static_cast(busyServers_[vertexIdx]) + / numberOfServers); } @@ -419,41 +490,66 @@ void All911Vertices::advanceRESP(BGSIZE vertexIdx, All911Edges &edges911, Layout911 &layout911 = dynamic_cast(layout); // Free the units finishing up with emergency responses - vector availableUnits; - for (size_t unit = 0; unit < serverCountdown_[vertexIdx].size(); ++unit) { - if (serverCountdown_[vertexIdx][unit] == 0) { - // Unit is available - availableUnits.push_back(unit); - } else if (--serverCountdown_[vertexIdx][unit] == 0) { + int numberOfAvailableUnits = 0; + vector + availableUnits; // Use vector but treat like array to better mirror on GPU + availableUnits.reserve(numServers_[vertexIdx]); + for (BGSIZE unitIndex = 0; unitIndex < numServers_[vertexIdx]; unitIndex++) { + availableUnits[unitIndex] = false; + } + for (size_t unit = 0; unit < numServers_[vertexIdx]; ++unit) { + int countdown = serverCountdown_[vertexIdx][unit]; + // Check if countdown was already 0 + int countdownWasZero = countdown == 0; + + // Decrement if it was not already 0 + countdown -= (1 - countdownWasZero); + serverCountdown_[vertexIdx][unit] = countdown; + + // Set the available unit if it was already available or became available + availableUnits[unit] = (unsigned char)(countdown == 0); + numberOfAvailableUnits += (countdown == 0); + + // If it became zero, the unit responds to the new incident + if ((!countdownWasZero) & (countdown == 0)) { // Unit becomes available to responde to new incidents Call &endingIncident = servingCall_[vertexIdx][unit]; //Store incident response metrics - wasAbandonedHistory_[vertexIdx].push_back(false); - beginTimeHistory_[vertexIdx].push_back(endingIncident.time); - answerTimeHistory_[vertexIdx].push_back(answerTime_[vertexIdx][unit]); - endTimeHistory_[vertexIdx].push_back(g_simulationStep); + wasAbandonedHistory_[vertexIdx].insertEvent(false); + beginTimeHistory_[vertexIdx].insertEvent(endingIncident.time); + answerTimeHistory_[vertexIdx].insertEvent(answerTime_[vertexIdx][unit]); + endTimeHistory_[vertexIdx].insertEvent(g_simulationStep); LOG4CPLUS_DEBUG(vertexLogger_, "Finishing response, begin time: " << endingIncident.time << ", end time: " << g_simulationStep << ", waited: " << answerTime_[vertexIdx][unit] - endingIncident.time); - - // Unit is added to available units - availableUnits.push_back(unit); } } // Assign reponse dispatches until no units are available or there are no more // incidents in the waiting queue - for (size_t unit = 0; unit < availableUnits.size() && !vertexQueues_[vertexIdx].isEmpty(); + for (size_t unit = 0; unit < numberOfAvailableUnits && !vertexQueues_[vertexIdx].isEmpty(); ++unit) { - optional incident = vertexQueues_[vertexIdx].get(); - assert(incident); // Safety check for valid incidents + // Internal CircularBuffer buffer size is capacity + 1 + vector queueBuffer = vertexQueues_[vertexIdx].getBuffer(); + uint64_t queueEnd = vertexQueues_[vertexIdx].getEndIndex(); + Call incident = queueBuffer[queueEnd]; + uint64_t newEndIndex = (queueEnd + 1) % (numTrunks_[vertexIdx] + 1); + vertexQueues_[vertexIdx].setEndIndex(newEndIndex); // The available unit starts serving the call - int availUnit = availableUnits[unit]; - servingCall_[vertexIdx][availUnit] = incident.value(); + int availUnit = -1; + for (BGSIZE unitIndex = 0; unitIndex < numServers_[vertexIdx]; unitIndex++) { + // Add 0 if unit is not available or 1 + unitIndex if it's available and a unit has not already been found + availUnit += (availableUnits[unitIndex] == true && availUnit == -1) * (unitIndex + 1); + // Flip value only if the unit is available and a unit has not been found + availableUnits[unitIndex] + = (unsigned char)(availableUnits[unitIndex] + == true - (availableUnits[unitIndex] == true && availUnit == -1)); + } + servingCall_[vertexIdx][availUnit] = incident; answerTime_[vertexIdx][availUnit] = g_simulationStep; // We need to calculate the distance in miles but the x and y coordinates @@ -465,28 +561,83 @@ void All911Vertices::advanceRESP(BGSIZE vertexIdx, All911Edges &edges911, // 1 degree of longitude = cos(latitude) * 69.172 double lngDegreeLength = cos(layout911.yloc_[vertexIdx] * (pi / 180)) * 69.172; double latDegreeLength = 69.0; - double deltaLng = incident->x - layout911.xloc_[vertexIdx]; - double deltaLat = incident->y - layout911.yloc_[vertexIdx]; + double deltaLng = incident.x - layout911.xloc_[vertexIdx]; + double deltaLat = incident.y - layout911.yloc_[vertexIdx]; double dist2incident = sqrt(pow(deltaLng * lngDegreeLength, 2) + pow(deltaLat * latDegreeLength, 2)); // Calculate the driving time to the incident in seconds double driveTime = (dist2incident / avgDrivingSpeed_) * 3600; - serverCountdown_[vertexIdx][availUnit] = driveTime + incident->onSiteTime; + serverCountdown_[vertexIdx][availUnit] = driveTime + incident.onSiteTime; - serverCountdown_[vertexIdx][availUnit] = incident.value().duration; + serverCountdown_[vertexIdx][availUnit] = incident.duration; LOG4CPLUS_DEBUG(vertexLogger_, "Response, driving time: " << driveTime << ", On-site time: " - << incident->onSiteTime); + << incident.onSiteTime); } // Update number of busy servers. This is used to check if there is space in the queue - busyServers_[vertexIdx] = numServers_[vertexIdx] - availableUnits.size(); + busyServers_[vertexIdx] = numServers_[vertexIdx] - numberOfAvailableUnits; // Update queueLength and utilization histories - queueLengthHistory_[vertexIdx].resize(g_simulationStep + 1); - queueLengthHistory_[vertexIdx][g_simulationStep] = vertexQueues_[vertexIdx].size(); - utilizationHistory_[vertexIdx].resize(g_simulationStep + 1); - utilizationHistory_[vertexIdx][g_simulationStep] - = static_cast(busyServers_[vertexIdx]) / numServers_[vertexIdx]; + uint64_t queueSize; + uint64_t queueFront = vertexQueues_[vertexIdx].getFrontIndex(); + uint64_t queueEnd = vertexQueues_[vertexIdx].getEndIndex(); + if (queueFront >= queueEnd) { + queueSize = queueFront - queueEnd; + } else { + // Internal CircularBuffer buffer size is capacity + 1 + queueSize = numTrunks_[vertexIdx] + 1 + queueFront - queueEnd; + } + queueLengthHistory_[vertexIdx].insertEvent(queueSize); + utilizationHistory_[vertexIdx].insertEvent(static_cast(busyServers_[vertexIdx]) + / numServers_[vertexIdx]); +} + + +/// Finds the outgoing edge from the given vertex to the Responder closest to +/// the emergency call location +BGSIZE All911Vertices::getEdgeToClosestResponder(const Call &call, BGSIZE vertexIdx) +{ + Connections &connections = Simulator::getInstance().getModel().getConnections(); + All911Edges &edges911 = dynamic_cast(connections.getEdges()); + EdgeIndexMap &edgeIndexMap = connections.getEdgeIndexMap(); + + vertexType requiredType; + if (call.type == "Law") + requiredType = vertexType::LAW; + else if (call.type == "EMS") + requiredType = vertexType::EMS; + else if (call.type == "Fire") + requiredType = vertexType::FIRE; + + // loop over the outgoing edges looking for the responder with the shortest + // Euclidean distance to the call's location. + BGSIZE startOutEdg = edgeIndexMap.outgoingEdgeBegin_[vertexIdx]; + BGSIZE outEdgCount = edgeIndexMap.outgoingEdgeCount_[vertexIdx]; + Layout911 &layout911 + = dynamic_cast(Simulator::getInstance().getModel().getLayout()); + + BGSIZE resp, respEdge; + double minDistance = numeric_limits::max(); + for (BGSIZE eIdxMap = startOutEdg; eIdxMap < startOutEdg + outEdgCount; ++eIdxMap) { + BGSIZE outEdg = edgeIndexMap.outgoingEdgeIndexMap_[eIdxMap]; + assert(edges911.inUse_[outEdg]); // Edge must be in use + + BGSIZE dstVertex = edges911.destVertexIndex_[outEdg]; + if (layout911.vertexTypeMap_[dstVertex] == requiredType) { + double distance = layout911.getDistance(dstVertex, call.x, call.y); + + if (distance < minDistance) { + minDistance = distance; + resp = dstVertex; + respEdge = outEdg; + } + } + } + + // We must have found the closest responder of the right type + assert(minDistance < numeric_limits::max()); + assert(layout911.vertexTypeMap_[resp] == requiredType); + return respEdge; } #endif \ No newline at end of file diff --git a/Simulator/Vertices/NG911/All911Vertices.h b/Simulator/Vertices/NG911/All911Vertices.h index 48a37d988..4dd033e4e 100644 --- a/Simulator/Vertices/NG911/All911Vertices.h +++ b/Simulator/Vertices/NG911/All911Vertices.h @@ -67,6 +67,7 @@ #include "AllVertices.h" #include "CircularBuffer.h" +#include "EventBuffer.h" #include "Global.h" #include "InputEvent.h" #include "InputManager.h" @@ -74,6 +75,7 @@ // Forward declaration to avoid circular reference class All911Edges; +struct All911VerticesDeviceProperties; // Class to hold all data necessary for all the Vertices. class All911Vertices : public AllVertices { @@ -119,7 +121,7 @@ class All911Vertices : public AllVertices { /// Loads all inputs scheduled to occur in the upcoming epoch. /// These are inputs occurring in between curStep (inclusive) and /// endStep (exclusive) - virtual void loadEpochInputs(uint64_t currentStep, uint64_t endStep) override; + virtual void loadEpochInputsToVertices(uint64_t currentStep, uint64_t endStep) override; /// unused virtual function placeholder virtual void registerHistoryVariables() override; @@ -148,20 +150,20 @@ class All911Vertices : public AllVertices { /// @return The number of busy servers in the given vertex int busyServers(int vIdx) const; -private: + /// Index each vertex and record it's type + vector vertexType_; /// The starting time for every call - vector> beginTimeHistory_; + vector> beginTimeHistory_; /// The answer time for every call - vector> answerTimeHistory_; + vector> answerTimeHistory_; /// The end time for every call - vector> endTimeHistory_; + vector> endTimeHistory_; /// True if the call was abandoned - vector> - wasAbandonedHistory_; // changed to bool from unsigned char + vector> wasAbandonedHistory_; // changed to bool from unsigned char /// The length of the waiting queue at every time-step - vector> queueLengthHistory_; + vector> queueLengthHistory_; /// The portion of servers that are busy at every time-step - vector> utilizationHistory_; + vector> utilizationHistory_; /// These are the queues where calls will wait to be served vector> vertexQueues_; @@ -175,6 +177,8 @@ class All911Vertices : public AllVertices { /// Number of servers currently serving calls vector busyServers_; + // Record the max number of servers for GPU memory allocation + int maxNumberOfServers_; /// Number of servers. In a PSAP these are the call takers, in Responder nodes /// they are responder units RecordableVector numServers_; @@ -200,6 +204,27 @@ class All911Vertices : public AllVertices { /// The InputManager holds all the Input Events for the simulation InputManager inputManager_; + /// Mapping of the vertex ID to the index in the noise array. Only caller regions + /// need noise for determining if a redial occurs. Caller regions have a value + /// 0 to n where n is the number of caller regions. Non-caller regions have a + /// value of -1. + vector vertexIdToNoiseIndex_; + +protected: + /// Finds the outgoing edge from the given vertex to the Responder closest to + /// the emergency call location + /// + /// @param call The call that needs a Responder + /// @param vertexIdx The index of the vertex serving the call (A PSAP) + /// @return The index of the outgoing edge to the closest Responder + BGSIZE getEdgeToClosestResponder(const Call &call, BGSIZE vertexIdx); + + /// The number of vertices that needs device noise. Only caller regions need noise for determining + /// redial so this is meant to help save memory. A member variable is used so that we don't have to + /// recompute this value multiple times. + int numberOfVerticesNeedingDeviceNoise_; + +private: /// Advance a CALR vertex. Send calls to the appropriate PSAP /// /// @param vertexIdx Index of the CALR vertex @@ -225,14 +250,14 @@ class All911Vertices : public AllVertices { // GPU functionality for 911 simulation is unimplemented. // These signatures are required to make the class non-abstract public: - virtual void allocVerticesDeviceStruct() {}; - virtual void deleteVerticesDeviceStruct() {}; - virtual void copyToDevice() {}; - virtual void copyFromDevice() {}; + virtual void allocVerticesDeviceStruct() override; + virtual void deleteVerticesDeviceStruct() override; + virtual void copyToDevice() override; + virtual void copyFromDevice() override; virtual void advanceVertices(AllEdges &edges, void *allVerticesDevice, void *allEdgesDevice, - float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) {}; - virtual void setAdvanceVerticesDeviceParams(AllEdges &edges) {}; - virtual void clearVertexHistory(void *allVerticesDevice) {}; + float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) override; + virtual void setAdvanceVerticesDeviceParams(AllEdges &edges) override; + virtual void clearVertexHistory(void *allVerticesDevice) override; /// Performs an integration operation per vertex using the inputs to the vertex. /// @@ -241,7 +266,25 @@ class All911Vertices : public AllVertices { /// @param allEdgesDevice GPU address of the allEdges struct on device memory. virtual void integrateVertexInputs(void *allVerticesDevice, EdgeIndexMapDevice *edgeIndexMapDevice, - void *allEdgesDevice) {}; + void *allEdgesDevice) override; + /// Copies all inputs scheduled to occur in the upcoming epoch onto device. + virtual void copyEpochInputsToDevice() override; + virtual int getNumberOfVerticesNeedingDeviceNoise() const override; + +protected: + /// Allocate GPU memories to store all vertices' states. + /// (Helper function of allocVerticesDeviceStruct) + /// @param allVerticesDevice Reference to the All911VerticesDeviceProperties struct. + void allocDeviceStruct(All911VerticesDeviceProperties &allVerticesDevice); + void deleteDeviceStruct(All911VerticesDeviceProperties &allVerticesDevice); + void copyVertexQueuesToDevice(int numberOfVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties &allVerticesDevice); + void copyVertexQueuesFromDevice(int numberOfVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties &allVerticesDevice); + void copyServingCallToDevice(int numberOfVertices, + All911VerticesDeviceProperties &allVerticesDevice); + void copyServingCallFromDevice(int numberOfVertices, + All911VerticesDeviceProperties &allVerticesDevice); #else // !defined(USE_GPU) public: /// Update internal state of the indexed Vertex (called by every simulation step). @@ -260,4 +303,117 @@ class All911Vertices : public AllVertices { protected: #endif // defined(USE_GPU) -}; \ No newline at end of file +}; + +#if defined(USE_GPU) +struct All911VerticesDeviceProperties : public AllVerticesDeviceProperties { + /// Index each vertex and record it's type + int *vertexType_; + /// The starting time for every call + //vector> beginTimeHistory_; + uint64_t **beginTimeHistory_; + int *beginTimeHistoryBufferFront_; + int *beginTimeHistoryBufferEnd_; + int *beginTimeHistoryEpochStart_; + int *beginTimeHistoryNumElementsInEpoch_; + /// The answer time for every call + //vector> answerTimeHistory_; + uint64_t **answerTimeHistory_; + int *answerTimeHistoryBufferFront_; + int *answerTimeHistoryBufferEnd_; + int *answerTimeHistoryEpochStart_; + int *answerTimeHistoryNumElementsInEpoch_; + /// The end time for every call + //vector> endTimeHistory_; + uint64_t **endTimeHistory_; + int *endTimeHistoryBufferFront_; + int *endTimeHistoryBufferEnd_; + int *endTimeHistoryEpochStart_; + int *endTimeHistoryNumElementsInEpoch_; + /// True if the call was abandoned + //vector> wasAbandonedHistory_; + uint64_t **wasAbandonedHistory_; + int *wasAbandonedHistoryBufferFront_; + int *wasAbandonedHistoryBufferEnd_; + int *wasAbandonedHistoryEpochStart_; + int *wasAbandonedHistoryNumElementsInEpoch_; + /// The length of the waiting queue at every time-step + //vector> queueLengthHistory_; + uint64_t **queueLengthHistory_; + int *queueLengthHistoryBufferFront_; + int *queueLengthHistoryBufferEnd_; + int *queueLengthHistoryEpochStart_; + int *queueLengthHistoryNumElementsInEpoch_; + /// The portion of servers that are busy at every time-step + //vector> utilizationHistory_; + BGFLOAT **utilizationHistory_; + int *utilizationHistoryBufferFront_; + int *utilizationHistoryBufferEnd_; + int *utilizationHistoryEpochStart_; + int *utilizationHistoryNumElementsInEpoch_; + + /// These are the queues where calls will wait to be served + //vector> vertexQueues_; + int **vertexQueuesBufferVertexId_; + uint64_t **vertexQueuesBufferTime_; + int **vertexQueuesBufferDuration_; + BGFLOAT **vertexQueuesBufferX_; + BGFLOAT **vertexQueuesBufferY_; + int **vertexQueuesBufferPatience_; + int **vertexQueuesBufferOnSiteTime_; + int **vertexQueuesBufferResponderType_; + uint64_t *vertexQueuesFront_; + uint64_t *vertexQueuesEnd_; + // Replaces calls to buffer.size() on the CPU. It's therefore + // the size of the underlying buffer, not the size of the + // Circular buffer. + uint64_t *vertexQueuesBufferSize_; + + /// The number of calls that have been dropped (got a busy signal) + //vector droppedCalls_; + int *droppedCalls_; + + /// The number of received calls + //vector receivedCalls_; + int *receivedCalls_; + + /// Number of servers currently serving calls + //vector busyServers_; + int *busyServers_; + + /// Number of servers. In a PSAP these are the call takers, in Responder nodes + /// they are responder units + //vector numServers_; + int *numServers_; + + /// Number of phone lines available. Only valid for PSAPs and Responders + //vector numTrunks_; + int *numTrunks_; + + /// Holds the calls being served by each server + //vector> servingCall_; + int **servingCallBufferVertexId_; + uint64_t **servingCallBufferTime_; + int **servingCallBufferDuration_; + BGFLOAT **servingCallBufferX_; + BGFLOAT **servingCallBufferY_; + int **servingCallBufferPatience_; + int **servingCallBufferOnSiteTime_; + int **servingCallBufferResponderType_; + + /// The time that the call being served was answered by the server + //vector> answerTime_; + uint64_t **answerTime_; + + /// The countdown until the server is available to take another call + //vector> serverCountdown_; + int **serverCountdown_; + + /// Mapping of the vertex ID to the index in the noise array. Only caller regions + /// need noise for determining if a redial occurs. Caller regions have a value + /// 0 to n where n is the number of caller regions. Non-caller regions have a + /// value of -1. + //vector vertexIdToNoiseIndex_; + int *vertexIdToNoiseIndex_; +}; +#endif // defined(USE_GPU) diff --git a/Simulator/Vertices/NG911/All911Vertices_d.cpp b/Simulator/Vertices/NG911/All911Vertices_d.cpp new file mode 100644 index 000000000..2c4686925 --- /dev/null +++ b/Simulator/Vertices/NG911/All911Vertices_d.cpp @@ -0,0 +1,3211 @@ +/** + * @file All911Vertices_d.cpp + * + * @ingroup Simulator/Vertices/NG911 + * + * @brief Specialization of the AllVertices class for the NG911 network + */ + +#include "All911Edges.h" +#include "All911Vertices.h" +#include "Book.h" +#include "GPUModel.h" +#include "Global.h" +#include "InputManager.h" +#include "Layout.h" +#include "Layout911.h" +#include "Simulator.h" +#include +#include +#include //For portable uint64_t formatting in printf +#include + +/// CUDA code for advancing all vertices +/// +__global__ void advance911VerticesDevice( + int totalVertices, int maxEventsPerEpoch, uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT drivingSpeed, BGFLOAT pi, float redialValues[], BGFLOAT redialProbability, + BGFLOAT *xLocation, BGFLOAT *yLocation, All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice); + +/// CUDA code for taking a call from an edge and adding it to a vertex's queue if there is space. +/// +__global__ void maybeTakeCallFromEdge(int totalVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice); + +__device__ void advanceCALRVerticesDevice(int vertexId, uint64_t stepsPerEpoch, + uint64_t simulationStep, BGFLOAT redialValue, + BGFLOAT redialProbability, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice); + +__device__ void advancePSAPVerticesDevice(int vertexIdx, int maxEventsPerEpoch, + uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT *xLocation, BGFLOAT *yLocation, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice); + +__device__ void advanceRESPVerticesDevice(int vertexIdx, int maxEventsPerEpoch, + uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT drivingSpeed, BGFLOAT pi, BGFLOAT *xLocation, + BGFLOAT *yLocation, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice); + +void All911Vertices::allocVerticesDeviceStruct() +{ + All911VerticesDeviceProperties allVertices; + LOG4CPLUS_DEBUG(vertexLogger_, + "Size of 911 vertice device: " << sizeof(All911VerticesDeviceProperties)); + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void **allVerticesDevice = reinterpret_cast(&(gpuModel->getAllVerticesDevice())); + allocDeviceStruct(allVertices); + HANDLE_ERROR(cudaMalloc(allVerticesDevice, sizeof(All911VerticesDeviceProperties))); + HANDLE_ERROR(cudaMemcpy(*allVerticesDevice, &allVertices, sizeof(All911VerticesDeviceProperties), + cudaMemcpyHostToDevice)); +} + +/// Allocate GPU memories to store all vertices' states. +/// (Helper function of allocVerticesDeviceStruct) +/// @param allVerticesDevice Reference to the All911VerticesDeviceProperties struct. +void All911Vertices::allocDeviceStruct(All911VerticesDeviceProperties &allVerticesDevice) +{ + Simulator &simulator = Simulator::getInstance(); + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + int numberOfVertices = simulator.getTotalVertices(); + int maxEventsPerEpoch = static_cast(Simulator::getInstance().getEpochDuration() + * Simulator::getInstance().getMaxFiringRate()); + + // Layout locations + Layout &layout = simulator.getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); + layout911.xloc_.allocateDeviceMemory(); + layout911.yloc_.allocateDeviceMemory(); + + //int *vertexType_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.vertexType_, numberOfVertices * sizeof(int))); + // Follow pattern in ALLIFNeurons_d.cpp allocDeviceStruct for spikeHistory to alloc + // any 2D arrays + // + //uint64_t **beginTimeHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.beginTimeHistory_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuBeginTimeHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuBeginTimeHistory[i], maxEventsPerEpoch * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.beginTimeHistory_, cpuBeginTimeHistory, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.beginTimeHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.beginTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.beginTimeHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.beginTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //uint64_t **answerTimeHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.answerTimeHistory_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuAnswerTimeHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuAnswerTimeHistory[i], maxEventsPerEpoch * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.answerTimeHistory_, cpuAnswerTimeHistory, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.answerTimeHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.answerTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.answerTimeHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.answerTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //uint64_t **endTimeHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.endTimeHistory_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuEndTimeHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuEndTimeHistory[i], maxEventsPerEpoch * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.endTimeHistory_, cpuEndTimeHistory, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.endTimeHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.endTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.endTimeHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.endTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //uint64_t **wasAbandonedHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.wasAbandonedHistory_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuWasAbandonedHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuWasAbandonedHistory[i], maxEventsPerEpoch * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.wasAbandonedHistory_, cpuWasAbandonedHistory, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.wasAbandonedHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.wasAbandonedHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.wasAbandonedHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.wasAbandonedHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //uint64_t **queueLengthHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.queueLengthHistory_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuQueueLengthHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuQueueLengthHistory[i], stepsPerEpoch * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.queueLengthHistory_, cpuQueueLengthHistory, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.queueLengthHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.queueLengthHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.queueLengthHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.queueLengthHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //BGFLOAT **utilizationHistory_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.utilizationHistory_, + numberOfVertices * sizeof(BGFLOAT *))); + { + BGFLOAT *cpuUtilizationHistory[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuUtilizationHistory[i], stepsPerEpoch * sizeof(BGFLOAT))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.utilizationHistory_, cpuUtilizationHistory, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyHostToDevice)); + } + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.utilizationHistoryBufferFront_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.utilizationHistoryBufferEnd_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.utilizationHistoryEpochStart_, + numberOfVertices * sizeof(int))); + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.utilizationHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int))); + //int **vertexQueuesBufferVertexId_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferVertexId_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallId[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallId[i], (stepsPerEpoch + 1) * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferVertexId_, cpuCallId, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //uint64_t **vertexQueuesBufferTime_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferTime_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuCallTime[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallTime[i], (stepsPerEpoch + 1) * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferTime_, cpuCallTime, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + //int **vertexQueuesBufferDuration_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferDuration_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallDuration[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallDuration[i], (stepsPerEpoch + 1) * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferDuration_, cpuCallDuration, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //BGFLOAT **vertexQueuesBufferX_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferX_, + numberOfVertices * sizeof(BGFLOAT *))); + { + BGFLOAT *cpuCallLocationX[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallLocationX[i], (stepsPerEpoch + 1) * sizeof(BGFLOAT))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferX_, cpuCallLocationX, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyHostToDevice)); + } + //BGFLOAT **vertexQueuesBufferY_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferY_, + numberOfVertices * sizeof(BGFLOAT *))); + { + BGFLOAT *cpuCallLocationY[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallLocationY[i], (stepsPerEpoch + 1) * sizeof(BGFLOAT))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferY_, cpuCallLocationY, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyHostToDevice)); + } + //int **vertexQueuesBufferPatience_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferPatience_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallPatience[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallPatience[i], (stepsPerEpoch + 1) * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferPatience_, cpuCallPatience, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //int **vertexQueuesBufferOnSiteTime_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferOnSiteTime_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallOnSiteTime[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallOnSiteTime[i], (stepsPerEpoch + 1) * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferOnSiteTime_, cpuCallOnSiteTime, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //int **vertexQueuesBufferResponderType_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferResponderType_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallResponderType[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallResponderType[i], (stepsPerEpoch + 1) * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferResponderType_, + cpuCallResponderType, numberOfVertices * sizeof(int *), + cudaMemcpyHostToDevice)); + } + //uint64_t *vertexQueuesFront_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesFront_, + numberOfVertices * sizeof(uint64_t))); + //uint64_t *vertexQueuesEnd_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesEnd_, + numberOfVertices * sizeof(uint64_t))); + //uint64_t *vertexQueuesBufferSize_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexQueuesBufferSize_, + numberOfVertices * sizeof(uint64_t))); + //int *droppedCalls_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.droppedCalls_, numberOfVertices * sizeof(int))); + //int *receivedCalls_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.receivedCalls_, numberOfVertices * sizeof(int))); + //int *busyServers_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.busyServers_, numberOfVertices * sizeof(int))); + //int *numServers_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.numServers_, numberOfVertices * sizeof(int))); + //int *numTrunks_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.numTrunks_, numberOfVertices * sizeof(int))); + //int **servingCallBufferVertexId_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferVertexId_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallId[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallId[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferVertexId_, cpuCallId, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //uint64_t **servingCallBufferTime_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferTime_, + numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuCallTime[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallTime[i], maxNumberOfServers_ * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferTime_, cpuCallTime, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + //int **servingCallBufferDuration_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferDuration_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallDuration[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallDuration[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferDuration_, cpuCallDuration, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //BGFLOAT **servingCallBufferX_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferX_, + numberOfVertices * sizeof(BGFLOAT *))); + { + BGFLOAT *cpuCallLocationX[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallLocationX[i], maxNumberOfServers_ * sizeof(BGFLOAT))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferX_, cpuCallLocationX, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyHostToDevice)); + } + //BGFLOAT **servingCallBufferY_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferY_, + numberOfVertices * sizeof(BGFLOAT *))); + { + BGFLOAT *cpuCallLocationY[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallLocationY[i], maxNumberOfServers_ * sizeof(BGFLOAT))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferY_, cpuCallLocationY, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyHostToDevice)); + } + //int **servingCallBufferPatience_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferPatience_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallPatience[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMalloc((void **)&cpuCallPatience[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferPatience_, cpuCallPatience, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //int **servingCallBufferOnSiteTime_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferOnSiteTime_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallOnSiteTime[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallOnSiteTime[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferOnSiteTime_, cpuCallOnSiteTime, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //int **servingCallBufferResponderType_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.servingCallBufferResponderType_, + numberOfVertices * sizeof(int *))); + { + int *cpuCallResponderType[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuCallResponderType[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.servingCallBufferResponderType_, + cpuCallResponderType, numberOfVertices * sizeof(int *), + cudaMemcpyHostToDevice)); + } + //uint64_t **answerTime_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.answerTime_, numberOfVertices * sizeof(uint64_t *))); + { + uint64_t *cpuAnswerTime[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuAnswerTime[i], maxNumberOfServers_ * sizeof(uint64_t))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.answerTime_, cpuAnswerTime, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyHostToDevice)); + } + //int **serverCountdown_; + HANDLE_ERROR( + cudaMalloc((void **)&allVerticesDevice.serverCountdown_, numberOfVertices * sizeof(int *))); + { + int *cpuServerCountdown[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR( + cudaMalloc((void **)&cpuServerCountdown[i], maxNumberOfServers_ * sizeof(int))); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.serverCountdown_, cpuServerCountdown, + numberOfVertices * sizeof(int *), cudaMemcpyHostToDevice)); + } + //int *vertexIdToNoiseIndex_; + HANDLE_ERROR(cudaMalloc((void **)&allVerticesDevice.vertexIdToNoiseIndex_, + numberOfVertices * sizeof(int))); +} + +/// Delete GPU memories. +/// +void All911Vertices::deleteVerticesDeviceStruct() +{ + All911VerticesDeviceProperties allVertices; + GPUModel *gpuModel = static_cast(&Simulator::getInstance().getModel()); + void *allVerticesDevice = static_cast(gpuModel->getAllVerticesDevice()); + HANDLE_ERROR(cudaMemcpy(&allVertices, allVerticesDevice, sizeof(All911VerticesDeviceProperties), + cudaMemcpyDeviceToHost)); + deleteDeviceStruct(allVertices); + HANDLE_ERROR(cudaFree(allVerticesDevice)); +} + +/// Delete GPU memories. +/// (Helper function of deleteVerticesDeviceStruct) +/// +/// @param allVerticesDevice GPU address of the All911VerticesDeviceProperties struct. +void All911Vertices::deleteDeviceStruct(All911VerticesDeviceProperties &allVerticesDevice) +{ + Simulator &simulator = Simulator::getInstance(); + int numberOfVertices = simulator.getTotalVertices(); + // Free layout locations + Layout &layout = simulator.getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); + layout911.xloc_.freeDeviceMemory(); + layout911.yloc_.freeDeviceMemory(); + // int *vertexType_; + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexType_)); + // uint64_t **beginTimeHistory_; + { + uint64_t *cpuBeginTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuBeginTimeHistory, allVerticesDevice.beginTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuBeginTimeHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.beginTimeHistory_)); + } + // int *beginTimeHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.beginTimeHistoryBufferFront_)); + // int *beginTimeHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.beginTimeHistoryBufferEnd_)); + // int *beginTimeHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.beginTimeHistoryEpochStart_)); + // int *beginTimeHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.beginTimeHistoryNumElementsInEpoch_)); + // uint64_t **answerTimeHistory_; + { + uint64_t *cpuAnswerTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTimeHistory, allVerticesDevice.answerTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuAnswerTimeHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTimeHistory_)); + } + // int *answerTimeHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTimeHistoryBufferFront_)); + // int *answerTimeHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTimeHistoryBufferEnd_)); + // int *answerTimeHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTimeHistoryEpochStart_)); + // int *answerTimeHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTimeHistoryNumElementsInEpoch_)); + // uint64_t **endTimeHistory_; + { + uint64_t *cpuEndTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEndTimeHistory, allVerticesDevice.endTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuEndTimeHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.endTimeHistory_)); + } + // int *endTimeHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.endTimeHistoryBufferFront_)); + // int *endTimeHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.endTimeHistoryBufferEnd_)); + // int *endTimeHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.endTimeHistoryEpochStart_)); + // int *endTimeHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.endTimeHistoryNumElementsInEpoch_)); + // uint64_t **wasAbandonedHistory_; + { + uint64_t *cpuWasAbandonedHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuWasAbandonedHistory, allVerticesDevice.wasAbandonedHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuWasAbandonedHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.wasAbandonedHistory_)); + } + // int *wasAbandonedHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.wasAbandonedHistoryBufferFront_)); + // int *wasAbandonedHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.wasAbandonedHistoryBufferEnd_)); + // int *wasAbandonedHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.wasAbandonedHistoryEpochStart_)); + // int *wasAbandonedHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.wasAbandonedHistoryNumElementsInEpoch_)); + // uint64_t **queueLengthHistory_; + { + uint64_t *cpuQueueLengthHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueLengthHistory, allVerticesDevice.queueLengthHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuQueueLengthHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.queueLengthHistory_)); + } + // int *queueLengthHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.queueLengthHistoryBufferFront_)); + // int *queueLengthHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.queueLengthHistoryBufferEnd_)); + // int *queueLengthHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.queueLengthHistoryEpochStart_)); + // int *queueLengthHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.queueLengthHistoryNumElementsInEpoch_)); + // BGFLOAT **utilizationHistory_; + { + BGFLOAT *cpuUtilizationHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuUtilizationHistory, allVerticesDevice.utilizationHistory_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuUtilizationHistory[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.utilizationHistory_)); + } + // int *utilizationHistoryBufferFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.utilizationHistoryBufferFront_)); + // int *utilizationHistoryBufferEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.utilizationHistoryBufferEnd_)); + // int *utilizationHistoryEpochStart_; + HANDLE_ERROR(cudaFree(allVerticesDevice.utilizationHistoryEpochStart_)); + // int *utilizationHistoryNumElementsInEpoch_; + HANDLE_ERROR(cudaFree(allVerticesDevice.utilizationHistoryNumElementsInEpoch_)); + // int **vertexQueuesBufferVertexId_; + { + int *cpuCallId[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallId, allVerticesDevice.vertexQueuesBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallId[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferVertexId_)); + } + // uint64_t **vertexQueuesBufferTime_; + { + uint64_t *cpuCallTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallTime, allVerticesDevice.vertexQueuesBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallTime[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferTime_)); + } + // int **vertexQueuesBufferDuration_; + { + int *cpuCallDuration[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallDuration, allVerticesDevice.vertexQueuesBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallDuration[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferDuration_)); + } + // BGFLOAT **vertexQueuesBufferX_; + { + BGFLOAT *cpuCallLocationX[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallLocationX, allVerticesDevice.vertexQueuesBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallLocationX[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferX_)); + } + // BGFLOAT **vertexQueuesBufferY_; + { + BGFLOAT *cpuCallLocationY[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallLocationY, allVerticesDevice.vertexQueuesBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallLocationY[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferY_)); + } + // int **vertexQueuesBufferPatience_; + { + int *cpuCallPatience[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallPatience, allVerticesDevice.vertexQueuesBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallPatience[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferPatience_)); + } + // int **vertexQueuesBufferOnSiteTime_; + { + int *cpuCallOnSiteTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallOnSiteTime, allVerticesDevice.vertexQueuesBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallOnSiteTime[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferOnSiteTime_)); + } + // int **vertexQueuesBufferResponderType_; + { + int *cpuCallResponderType[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallResponderType, + allVerticesDevice.vertexQueuesBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallResponderType[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferResponderType_)); + } + // uint64_t *vertexQueuesFront_; + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesFront_)); + // uint64_t *vertexQueuesEnd_; + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesEnd_)); + // uint64_t *vertexQueuesBufferSize_; + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexQueuesBufferSize_)); + // int *droppedCalls_; + HANDLE_ERROR(cudaFree(allVerticesDevice.droppedCalls_)); + // int *receivedCalls_; + HANDLE_ERROR(cudaFree(allVerticesDevice.receivedCalls_)); + // int *busyServers_; + HANDLE_ERROR(cudaFree(allVerticesDevice.busyServers_)); + // int *numServers_; + HANDLE_ERROR(cudaFree(allVerticesDevice.numServers_)); + // int *numTrunks_; + HANDLE_ERROR(cudaFree(allVerticesDevice.numTrunks_)); + // int **servingCallBufferVertexId_; + { + int *cpuCallId[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallId, allVerticesDevice.servingCallBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallId[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferVertexId_)); + } + // uint64_t **servingCallBufferTime_; + { + uint64_t *cpuCallTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallTime, allVerticesDevice.servingCallBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallTime[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferTime_)); + } + // int **servingCallBufferDuration_; + { + int *cpuCallDuration[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallDuration, allVerticesDevice.servingCallBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallDuration[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferDuration_)); + } + // BGFLOAT **servingCallBufferX_; + { + BGFLOAT *cpuCallLocationX[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallLocationX, allVerticesDevice.servingCallBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallLocationX[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferX_)); + } + // BGFLOAT **servingCallBufferY_; + { + BGFLOAT *cpuCallLocationY[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallLocationY, allVerticesDevice.servingCallBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallLocationY[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferY_)); + } + // int **servingCallBufferPatience_; + { + int *cpuCallPatience[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallPatience, allVerticesDevice.servingCallBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallPatience[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferPatience_)); + } + // int **servingCallBufferOnSiteTime_; + { + int *cpuCallOnSiteTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallOnSiteTime, allVerticesDevice.servingCallBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallOnSiteTime[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferOnSiteTime_)); + } + // int **servingCallBufferResponderType_; + { + int *cpuCallResponderType[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuCallResponderType, + allVerticesDevice.servingCallBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuCallResponderType[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.servingCallBufferResponderType_)); + } + // uint64_t **answerTime_; + { + uint64_t *cpuAnswerTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTime, allVerticesDevice.answerTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuAnswerTime[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.answerTime_)); + } + // int **serverCountdown_; + { + int *cpuServerCountdown[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuServerCountdown, allVerticesDevice.serverCountdown_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaFree(cpuServerCountdown[i])); + } + HANDLE_ERROR(cudaFree(allVerticesDevice.serverCountdown_)); + } + //int *vertexIdToNoiseIndex_; + HANDLE_ERROR(cudaFree(allVerticesDevice.vertexIdToNoiseIndex_)); +} + +/// @brief Helper function for copying vertex queues to device from CPU. +/// @pre Memory has been allocated for the All911VerticesDeviceProperties struct. Calls +/// are only of type EMS, FIRE, or LAW. +void All911Vertices::copyVertexQueuesToDevice(int numberOfVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties &allVerticesDevice) +{ + // int **vertexQueuesBufferVertexId_; + { + int *callIdCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callIdCpu, allVerticesDevice.vertexQueuesBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callIdInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callIdInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callIdInBuffer[j] = buffer[j].vertexId; + } + HANDLE_ERROR(cudaMemcpy(callIdCpu[i], callIdInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callIdInBuffer.clear(); + } + } + // uint64_t **vertexQueuesBufferTime_; + { + uint64_t *callTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callTimeCpu, allVerticesDevice.vertexQueuesBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callTimeInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callTimeInBuffer[j] = buffer[j].time; + } + HANDLE_ERROR(cudaMemcpy(callTimeCpu[i], callTimeInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(uint64_t), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callTimeInBuffer.clear(); + } + } + // int **vertexQueuesBufferDuration_; + { + int *callDurationCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callDurationCpu, allVerticesDevice.vertexQueuesBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callDurationInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callDurationInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callDurationInBuffer[j] = buffer[j].duration; + } + HANDLE_ERROR(cudaMemcpy(callDurationCpu[i], callDurationInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callDurationInBuffer.clear(); + } + } + // BGFLOAT **vertexQueuesBufferX_; + { + BGFLOAT *callLocationXCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationXCpu, allVerticesDevice.vertexQueuesBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationXInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationXInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callLocationXInBuffer[j] = buffer[j].x; + } + HANDLE_ERROR(cudaMemcpy(callLocationXCpu[i], callLocationXInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callLocationXInBuffer.clear(); + } + } + // BGFLOAT **vertexQueuesBufferY_; + { + BGFLOAT *callLocationYCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationYCpu, allVerticesDevice.vertexQueuesBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationYInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationYInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callLocationYInBuffer[j] = buffer[j].y; + } + HANDLE_ERROR(cudaMemcpy(callLocationYCpu[i], callLocationYInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callLocationYInBuffer.clear(); + } + } + // int **vertexQueuesBufferPatience_; + { + int *callPatienceCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callPatienceCpu, allVerticesDevice.vertexQueuesBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callPatienceInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callPatienceInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callPatienceInBuffer[j] = buffer[j].patience; + } + HANDLE_ERROR(cudaMemcpy(callPatienceCpu[i], callPatienceInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callPatienceInBuffer.clear(); + } + } + // int **vertexQueuesBufferOnSiteTime_; + { + int *callOnSiteTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu, allVerticesDevice.vertexQueuesBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callOnSiteTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callOnSiteTimeInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + callOnSiteTimeInBuffer[j] = buffer[j].onSiteTime; + } + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu[i], callOnSiteTimeInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callOnSiteTimeInBuffer.clear(); + } + } + // int **vertexQueuesBufferResponderType_; + { + int *callResponderTypeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu, + allVerticesDevice.vertexQueuesBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callResponderTypeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callResponderTypeInBuffer.resize(stepsPerEpoch + 1); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + std::string typeInBuffer = buffer[j].type; + if (typeInBuffer == "EMS") { + callResponderTypeInBuffer[j] = 5; + } else if (typeInBuffer == "Fire") { + callResponderTypeInBuffer[j] = 6; + } else if (typeInBuffer == "Law") { + callResponderTypeInBuffer[j] = 7; + } + } + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu[i], callResponderTypeInBuffer.data(), + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callResponderTypeInBuffer.clear(); + } + } + // uint64_t *vertexQueuesFront_; + { + uint64_t queueFrontCpu[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + queueFrontCpu[i] = vertexQueues_[i].getFrontIndex(); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesFront_, queueFrontCpu, + numberOfVertices * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + // uint64_t *vertexQueuesEnd_; + { + uint64_t queueEndCpu[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + queueEndCpu[i] = vertexQueues_[i].getEndIndex(); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesEnd_, queueEndCpu, + numberOfVertices * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + // uint64_t *vertexQueuesBufferSize_; + { + uint64_t queueSizeCpu[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + queueSizeCpu[i] = vertexQueues_[i].getBuffer().size(); + } + HANDLE_ERROR(cudaMemcpy(allVerticesDevice.vertexQueuesBufferSize_, queueSizeCpu, + numberOfVertices * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } +} + +/// @brief Helper function for copying serving calls from CPU. +/// @pre Memory has been allocated for the All911VerticesDeviceProperties struct. Calls +/// are only of type EMS, FIRE, or LAW. +void All911Vertices::copyServingCallToDevice(int numberOfVertices, + All911VerticesDeviceProperties &allVerticesDevice) +{ + // Logic is similar to copyVertexQueuesToDevice but we use max number of servers + // for the inner vector dimension + // + // int **servingCallBufferVertexId_; + { + int *callIdCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callIdCpu, allVerticesDevice.servingCallBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callIdInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callIdInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callIdInBuffer[j] = buffer[j].vertexId; + } + HANDLE_ERROR(cudaMemcpy(callIdCpu[i], callIdInBuffer.data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callIdInBuffer.clear(); + } + } + // uint64_t **servingCallBufferTime_; + { + uint64_t *callTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callTimeCpu, allVerticesDevice.servingCallBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callTimeInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callTimeInBuffer[j] = buffer[j].time; + } + HANDLE_ERROR(cudaMemcpy(callTimeCpu[i], callTimeInBuffer.data(), + maxNumberOfServers_ * sizeof(uint64_t), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callTimeInBuffer.clear(); + } + } + // int **servingCallBufferDuration_; + { + int *callDurationCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callDurationCpu, allVerticesDevice.servingCallBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callDurationInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callDurationInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callDurationInBuffer[j] = buffer[j].duration; + } + HANDLE_ERROR(cudaMemcpy(callDurationCpu[i], callDurationInBuffer.data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callDurationInBuffer.clear(); + } + } + // BGFLOAT **servingCallBufferX_; + { + BGFLOAT *callLocationXCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationXCpu, allVerticesDevice.servingCallBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationXInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationXInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callLocationXInBuffer[j] = buffer[j].x; + } + HANDLE_ERROR(cudaMemcpy(callLocationXCpu[i], callLocationXInBuffer.data(), + maxNumberOfServers_ * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callLocationXInBuffer.clear(); + } + } + // BGFLOAT **servingCallBufferY_; + { + BGFLOAT *callLocationYCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationYCpu, allVerticesDevice.servingCallBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationYInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationYInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callLocationYInBuffer[j] = buffer[j].y; + } + HANDLE_ERROR(cudaMemcpy(callLocationYCpu[i], callLocationYInBuffer.data(), + maxNumberOfServers_ * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callLocationYInBuffer.clear(); + } + } + // int **servingCallBufferPatience_; + { + int *callPatienceCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callPatienceCpu, allVerticesDevice.servingCallBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callPatienceInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callPatienceInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callPatienceInBuffer[j] = buffer[j].patience; + } + HANDLE_ERROR(cudaMemcpy(callPatienceCpu[i], callPatienceInBuffer.data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callPatienceInBuffer.clear(); + } + } + // int **servingCallBufferOnSiteTime_; + { + int *callOnSiteTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu, allVerticesDevice.servingCallBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callOnSiteTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callOnSiteTimeInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + callOnSiteTimeInBuffer[j] = buffer[j].onSiteTime; + } + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu[i], callOnSiteTimeInBuffer.data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callOnSiteTimeInBuffer.clear(); + } + } + // int **servingCallBufferResponderType_; + { + int *callResponderTypeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu, + allVerticesDevice.servingCallBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callResponderTypeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callResponderTypeInBuffer.resize(maxNumberOfServers_); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + std::string typeInBuffer = buffer[j].type; + if (typeInBuffer == "EMS") { + callResponderTypeInBuffer[j] = 5; + } else if (typeInBuffer == "Fire") { + callResponderTypeInBuffer[j] = 6; + } else if (typeInBuffer == "Law") { + callResponderTypeInBuffer[j] = 7; + } + } + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu[i], callResponderTypeInBuffer.data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + // clear vector before filling with next vertex's call ids + callResponderTypeInBuffer.clear(); + } + } +} + +/// Copy all vertex data from host to device. +void All911Vertices::copyToDevice() +{ + LOG4CPLUS_DEBUG(vertexLogger_, "Copying All911Vertices to device"); + All911VerticesDeviceProperties allVertices; + Simulator &simulator = Simulator::getInstance(); + GPUModel *gpuModel = static_cast(&(simulator.getModel())); + void *deviceAddress = static_cast(gpuModel->getAllVerticesDevice()); + HANDLE_ERROR(cudaMemcpy(&allVertices, deviceAddress, sizeof(All911VerticesDeviceProperties), + cudaMemcpyDeviceToHost)); + + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + int maxEventsPerEpoch = static_cast(Simulator::getInstance().getEpochDuration() + * Simulator::getInstance().getMaxFiringRate()); + int numberOfVertices = simulator.getTotalVertices(); + + // Copy layout locations + Layout &layout = simulator.getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); + layout911.xloc_.copyToDevice(); + layout911.yloc_.copyToDevice(); + // int *vertexType_; + HANDLE_ERROR(cudaMemcpy(allVertices.vertexType_, vertexType_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // uint64_t **beginTimeHistory_; + { + uint64_t *cpuBeginTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuBeginTimeHistory, allVertices.beginTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuBeginTimeHistory[i], beginTimeHistory_[i].data(), + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int *beginTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = beginTimeHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.beginTimeHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *beginTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = beginTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.beginTimeHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *beginTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = beginTimeHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.beginTimeHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *beginTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = beginTimeHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.beginTimeHistoryNumElementsInEpoch_, cpuElementsInEpoch, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **answerTimeHistory_; + { + uint64_t *cpuAnswerTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTimeHistory, allVertices.answerTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuAnswerTimeHistory[i], answerTimeHistory_[i].data(), + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int *answerTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = answerTimeHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.answerTimeHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *answerTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = answerTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.answerTimeHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *answerTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = answerTimeHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.answerTimeHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *answerTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = answerTimeHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.answerTimeHistoryNumElementsInEpoch_, cpuElementsInEpoch, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **endTimeHistory_; + { + uint64_t *cpuEndTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEndTimeHistory, allVertices.endTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuEndTimeHistory[i], endTimeHistory_[i].data(), + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int *endTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = endTimeHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.endTimeHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *endTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = endTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.endTimeHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *endTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = endTimeHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.endTimeHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *endTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = endTimeHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.endTimeHistoryNumElementsInEpoch_, cpuElementsInEpoch, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **wasAbandonedHistory_; + { + uint64_t *cpuWasAbandonedHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuWasAbandonedHistory, allVertices.wasAbandonedHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuWasAbandonedHistory[i], wasAbandonedHistory_[i].data(), + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int *wasAbandonedHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = wasAbandonedHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.wasAbandonedHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *wasAbandonedHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = wasAbandonedHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.wasAbandonedHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *wasAbandonedHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = wasAbandonedHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.wasAbandonedHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *wasAbandonedHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = wasAbandonedHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.wasAbandonedHistoryNumElementsInEpoch_, + cpuElementsInEpoch, numberOfVertices * sizeof(int), + cudaMemcpyHostToDevice)); + } + // uint64_t **queueLengthHistory_; + { + uint64_t *cpuQueueLengthHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueLengthHistory, allVertices.queueLengthHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuQueueLengthHistory[i], queueLengthHistory_[i].data(), + stepsPerEpoch * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int *queueLengthHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = queueLengthHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.queueLengthHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *queueLengthHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = queueLengthHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.queueLengthHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *queueLengthHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = queueLengthHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.queueLengthHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *queueLengthHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = queueLengthHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.queueLengthHistoryNumElementsInEpoch_, cpuElementsInEpoch, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // BGFLOAT **utilizationHistory_; + { + BGFLOAT *cpuUtilizationHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuUtilizationHistory, allVertices.utilizationHistory_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuUtilizationHistory[i], utilizationHistory_[i].data(), + stepsPerEpoch * sizeof(BGFLOAT), cudaMemcpyHostToDevice)); + } + } + // int *utilizationHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueFront[i] = utilizationHistory_[i].getBufferFront(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.utilizationHistoryBufferFront_, cpuQueueFront, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *utilizationHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuQueueEnd[i] = utilizationHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.utilizationHistoryBufferEnd_, cpuQueueEnd, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *utilizationHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuEpochStart[i] = utilizationHistory_[i].getEpochStart(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.utilizationHistoryEpochStart_, cpuEpochStart, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int *utilizationHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + for (int i = 0; i < numberOfVertices; i++) { + cpuElementsInEpoch[i] = utilizationHistory_[i].getNumElementsInEpoch(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.utilizationHistoryNumElementsInEpoch_, cpuElementsInEpoch, + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // int **vertexQueuesBufferVertexId_; + // uint64_t **vertexQueuesBufferTime_; + // int **vertexQueuesBufferDuration_; + // BGFLOAT **vertexQueuesBufferX_; + // BGFLOAT **vertexQueuesBufferY_; + // int **vertexQueuesBufferPatience_; + // int **vertexQueuesBufferOnSiteTime_; + // int **vertexQueuesBufferResponderType_; + // uint64_t *vertexQueuesFront_; + // uint64_t *vertexQueuesEnd_; + copyVertexQueuesToDevice(numberOfVertices, stepsPerEpoch, allVertices); + // int *droppedCalls_; + HANDLE_ERROR(cudaMemcpy(allVertices.droppedCalls_, droppedCalls_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // int *receivedCalls_; + HANDLE_ERROR(cudaMemcpy(allVertices.receivedCalls_, receivedCalls_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // int *busyServers_; + HANDLE_ERROR(cudaMemcpy(allVertices.busyServers_, busyServers_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // int *numServers_; + HANDLE_ERROR(cudaMemcpy(allVertices.numServers_, numServers_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // int *numTrunks_; + HANDLE_ERROR(cudaMemcpy(allVertices.numTrunks_, numTrunks_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + // int **servingCallBufferVertexId_; + // uint64_t **servingCallBufferTime_; + // int **servingCallBufferDuration_; + // BGFLOAT **servingCallBufferX_; + // BGFLOAT **servingCallBufferY_; + // int **servingCallBufferPatience_; + // int **servingCallBufferOnSiteTime_; + // int **servingCallBufferResponderType_; + copyServingCallToDevice(numberOfVertices, allVertices); + // uint64_t **answerTime_; + { + uint64_t *cpuAnswerTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTime, allVertices.answerTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuAnswerTime[i], answerTime_[i].data(), + maxNumberOfServers_ * sizeof(uint64_t), cudaMemcpyHostToDevice)); + } + } + // int **serverCountdown_; + { + int *cpuServerCountdown[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuServerCountdown, allVertices.serverCountdown_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(cpuServerCountdown[i], serverCountdown_[i].data(), + maxNumberOfServers_ * sizeof(int), cudaMemcpyHostToDevice)); + } + } + // int *vertexIdToNoiseIndex_; + HANDLE_ERROR(cudaMemcpy(allVertices.vertexIdToNoiseIndex_, vertexIdToNoiseIndex_.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); +} + +/// @brief Helper function for copying vertex queues from device to CPU. +/// @pre Memory has been allocated for the All911VerticesDeviceProperties struct. Calls +/// are only of type EMS, FIRE, or LAW. +void All911Vertices::copyVertexQueuesFromDevice(int numberOfVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties &allVerticesDevice) +{ + // TODO: Review implementation with Prof Stiber + // int **vertexQueuesBufferVertexId_; + { + int *callIdCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callIdCpu, allVerticesDevice.vertexQueuesBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callIdInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + // Make sure internal buffer can hold all device values + callIdInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callIdInBuffer.data(), callIdCpu[i], + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + // Only copy over the number of IDs that we have on the CPU. + for (int j = 0; j < buffer.size(); j++) { + buffer[j].vertexId = callIdInBuffer[j]; + } + // clear vector before filling with next vertex's call IDs + callIdInBuffer.clear(); + } + } + // uint64_t **vertexQueuesBufferTime_; + { + uint64_t *callTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callTimeCpu, allVerticesDevice.vertexQueuesBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callTimeInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callTimeInBuffer.data(), callTimeCpu[i], + (stepsPerEpoch + 1) * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].time = callTimeInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callTimeInBuffer.clear(); + } + } + // int **vertexQueuesBufferDuration_; + { + int *callDurationCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callDurationCpu, allVerticesDevice.vertexQueuesBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callDurationInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callDurationInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callDurationInBuffer.data(), callDurationCpu[i], + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].duration = callDurationInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callDurationInBuffer.clear(); + } + } + // BGFLOAT **vertexQueuesBufferX_; + { + BGFLOAT *callLocationXCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationXCpu, allVerticesDevice.vertexQueuesBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationXInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationXInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callLocationXInBuffer.data(), callLocationXCpu[i], + (stepsPerEpoch + 1) * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].x = callLocationXInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callLocationXInBuffer.clear(); + } + } + // BGFLOAT **vertexQueuesBufferY_; + { + BGFLOAT *callLocationYCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationYCpu, allVerticesDevice.vertexQueuesBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationYInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationYInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callLocationYInBuffer.data(), callLocationYCpu[i], + (stepsPerEpoch + 1) * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].y = callLocationYInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callLocationYInBuffer.clear(); + } + } + // int **vertexQueuesBufferPatience_; + { + int *callPatienceCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callPatienceCpu, allVerticesDevice.vertexQueuesBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callPatienceInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callPatienceInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callPatienceInBuffer.data(), callPatienceCpu[i], + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].patience = callPatienceInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callPatienceInBuffer.clear(); + } + } + // int **vertexQueuesBufferOnSiteTime_; + { + int *callOnSiteTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu, allVerticesDevice.vertexQueuesBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callOnSiteTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callOnSiteTimeInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeInBuffer.data(), callOnSiteTimeCpu[i], + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + buffer[j].onSiteTime = callOnSiteTimeInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callOnSiteTimeInBuffer.clear(); + } + } + // int **vertexQueuesBufferResponderType_; + { + int *callResponderTypeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu, + allVerticesDevice.vertexQueuesBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callResponderTypeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callResponderTypeInBuffer.resize(stepsPerEpoch + 1); + HANDLE_ERROR(cudaMemcpy(callResponderTypeInBuffer.data(), callResponderTypeCpu[i], + (stepsPerEpoch + 1) * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = vertexQueues_[i].getBuffer(); + for (int j = 0; j < buffer.size(); j++) { + if (callResponderTypeInBuffer[j] == 5) { + buffer[j].type = "EMS"; + } else if (callResponderTypeInBuffer[j] == 6) { + buffer[j].type = "Fire"; + } else if (callResponderTypeInBuffer[j] == 7) { + buffer[j].type = "Law"; + } + } + // clear vector before filling with next vertex's call ids + callResponderTypeInBuffer.clear(); + } + } + // uint64_t *vertexQueuesFront_; + { + uint64_t queueFrontCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(queueFrontCpu, allVerticesDevice.vertexQueuesFront_, + numberOfVertices * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + vertexQueues_[i].setFrontIndex(queueFrontCpu[i]); + } + } + // uint64_t *vertexQueuesEnd_; + { + uint64_t queueEndCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(queueEndCpu, allVerticesDevice.vertexQueuesEnd_, + numberOfVertices * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + vertexQueues_[i].setEndIndex(queueEndCpu[i]); + } + } + // uint64_t *vertexQueuesBufferSize_; + { + uint64_t queueSizeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(queueSizeCpu, allVerticesDevice.vertexQueuesBufferSize_, + numberOfVertices * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + vertexQueues_[i].getBuffer().resize(queueSizeCpu[i]); + } + } +} + +void All911Vertices::copyServingCallFromDevice(int numberOfVertices, + All911VerticesDeviceProperties &allVerticesDevice) +{ + // int **servingCallBufferVertexId_; + { + int *callIdCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callIdCpu, allVerticesDevice.servingCallBufferVertexId_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callIdInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callIdInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callIdInBuffer.data(), callIdCpu[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].vertexId = callIdInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callIdInBuffer.clear(); + } + } + // uint64_t **servingCallBufferTime_; + { + uint64_t *callTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callTimeCpu, allVerticesDevice.servingCallBufferTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callTimeInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callTimeInBuffer.data(), callTimeCpu[i], + maxNumberOfServers_ * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].time = callTimeInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callTimeInBuffer.clear(); + } + } + // int **servingCallBufferDuration_; + { + int *callDurationCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callDurationCpu, allVerticesDevice.servingCallBufferDuration_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callDurationInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callDurationInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callDurationInBuffer.data(), callDurationCpu[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].duration = callDurationInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callDurationInBuffer.clear(); + } + } + // BGFLOAT **servingCallBufferX_; + { + BGFLOAT *callLocationXCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationXCpu, allVerticesDevice.servingCallBufferX_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationXInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationXInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callLocationXInBuffer.data(), callLocationXCpu[i], + maxNumberOfServers_ * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].x = callLocationXInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callLocationXInBuffer.clear(); + } + } + // BGFLOAT **servingCallBufferY_; + { + BGFLOAT *callLocationYCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callLocationYCpu, allVerticesDevice.servingCallBufferY_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callLocationYInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callLocationYInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callLocationYInBuffer.data(), callLocationYCpu[i], + maxNumberOfServers_ * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].y = callLocationYInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callLocationYInBuffer.clear(); + } + } + // int **servingCallBufferPatience_; + { + int *callPatienceCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callPatienceCpu, allVerticesDevice.servingCallBufferPatience_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callPatienceInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callPatienceInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callPatienceInBuffer.data(), callPatienceCpu[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].patience = callPatienceInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callPatienceInBuffer.clear(); + } + } + // int **servingCallBufferOnSiteTime_; + { + int *callOnSiteTimeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeCpu, allVerticesDevice.servingCallBufferOnSiteTime_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callOnSiteTimeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callOnSiteTimeInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callOnSiteTimeInBuffer.data(), callOnSiteTimeCpu[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + buffer[j].onSiteTime = callOnSiteTimeInBuffer[j]; + } + // clear vector before filling with next vertex's call ids + callOnSiteTimeInBuffer.clear(); + } + } + // int **servingCallBufferResponderType_; + { + int *callResponderTypeCpu[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(callResponderTypeCpu, + allVerticesDevice.servingCallBufferResponderType_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + + // Using a vector since we are still on the CPU and it's convenient to call data() + // in memcpy and using the same vector over and over helps with stack memory + // management + vector callResponderTypeInBuffer; + for (int i = 0; i < numberOfVertices; i++) { + callResponderTypeInBuffer.resize(maxNumberOfServers_); + HANDLE_ERROR(cudaMemcpy(callResponderTypeInBuffer.data(), callResponderTypeCpu[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + vector buffer = servingCall_[i]; + for (int j = 0; j < buffer.size(); j++) { + if (callResponderTypeInBuffer[j] == 5) { + buffer[j].type = "EMS"; + } else if (callResponderTypeInBuffer[j] == 6) { + buffer[j].type = "Fire"; + } else if (callResponderTypeInBuffer[j] == 7) { + buffer[j].type = "Law"; + } + } + // clear vector before filling with next vertex's call ids + callResponderTypeInBuffer.clear(); + } + } +} + +/// Copy all vertex data to host from device. +void All911Vertices::copyFromDevice() +{ + All911VerticesDeviceProperties allVertices; + Simulator &simulator = Simulator::getInstance(); + GPUModel *gpuModel = static_cast(&(simulator.getModel())); + void *deviceAddress = static_cast(gpuModel->getAllVerticesDevice()); + HANDLE_ERROR(cudaMemcpy(&allVertices, deviceAddress, sizeof(All911VerticesDeviceProperties), + cudaMemcpyDeviceToHost)); + + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + int maxEventsPerEpoch = static_cast(Simulator::getInstance().getEpochDuration() + * Simulator::getInstance().getMaxFiringRate()); + int numberOfVertices = simulator.getTotalVertices(); + + // Copy layout locations + Layout &layout = simulator.getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); + layout911.xloc_.copyToHost(); + layout911.yloc_.copyToHost(); + // int *vertexType_; + HANDLE_ERROR(cudaMemcpy(vertexType_.data(), allVertices.vertexType_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // uint64_t **beginTimeHistory_; + { + uint64_t *cpuBeginTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuBeginTimeHistory, allVertices.beginTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(beginTimeHistory_[i].data(), cpuBeginTimeHistory[i], + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int *beginTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.beginTimeHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + beginTimeHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *beginTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.beginTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + beginTimeHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *beginTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.beginTimeHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + beginTimeHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *beginTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, allVertices.beginTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + beginTimeHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // uint64_t **answerTimeHistory_; + { + uint64_t *cpuAnswerTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTimeHistory, allVertices.answerTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(answerTimeHistory_[i].data(), cpuAnswerTimeHistory[i], + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int *answerTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.answerTimeHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + answerTimeHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *answerTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.answerTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + answerTimeHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *answerTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.answerTimeHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + answerTimeHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *answerTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, allVertices.answerTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + answerTimeHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // uint64_t **endTimeHistory_; + { + uint64_t *cpuEndTimeHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEndTimeHistory, allVertices.endTimeHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(endTimeHistory_[i].data(), cpuEndTimeHistory[i], + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int *endTimeHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.endTimeHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + endTimeHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *endTimeHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.endTimeHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + endTimeHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *endTimeHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.endTimeHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + endTimeHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *endTimeHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, allVertices.endTimeHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + endTimeHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // uint64_t **wasAbandonedHistory_; + { + uint64_t *cpuWasAbandonedHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuWasAbandonedHistory, allVertices.wasAbandonedHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(wasAbandonedHistory_[i].data(), cpuWasAbandonedHistory[i], + maxEventsPerEpoch * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int *wasAbandonedHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.wasAbandonedHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + wasAbandonedHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *wasAbandonedHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.wasAbandonedHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + wasAbandonedHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *wasAbandonedHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.wasAbandonedHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + wasAbandonedHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *wasAbandonedHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, + allVertices.wasAbandonedHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + wasAbandonedHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // uint64_t **queueLengthHistory_; + { + uint64_t *cpuQueueLengthHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueLengthHistory, allVertices.queueLengthHistory_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(queueLengthHistory_[i].data(), cpuQueueLengthHistory[i], + stepsPerEpoch * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int *queueLengthHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.queueLengthHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + queueLengthHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *queueLengthHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.queueLengthHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + queueLengthHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *queueLengthHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.queueLengthHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + queueLengthHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *queueLengthHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, allVertices.queueLengthHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + queueLengthHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // BGFLOAT **utilizationHistory_; + { + BGFLOAT *cpuUtilizationHistory[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuUtilizationHistory, allVertices.utilizationHistory_, + numberOfVertices * sizeof(BGFLOAT *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(utilizationHistory_[i].data(), cpuUtilizationHistory[i], + stepsPerEpoch * sizeof(BGFLOAT), cudaMemcpyDeviceToHost)); + } + } + // int *utilizationHistoryBufferFront_; + { + int cpuQueueFront[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueFront, allVertices.utilizationHistoryBufferFront_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + utilizationHistory_[i].setBufferFront(cpuQueueFront[i]); + } + } + // int *utilizationHistoryBufferEnd_; + { + int cpuQueueEnd[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuQueueEnd, allVertices.utilizationHistoryBufferEnd_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + utilizationHistory_[i].setBufferEnd(cpuQueueEnd[i]); + } + } + // int *utilizationHistoryEpochStart_; + { + int cpuEpochStart[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuEpochStart, allVertices.utilizationHistoryEpochStart_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + utilizationHistory_[i].setEpochStart(cpuEpochStart[i]); + } + } + // int *utilizationHistoryNumElementsInEpoch_; + { + int cpuElementsInEpoch[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuElementsInEpoch, allVertices.utilizationHistoryNumElementsInEpoch_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + utilizationHistory_[i].setNumElementsInEpoch(cpuElementsInEpoch[i]); + } + } + // int **vertexQueuesBufferVertexId_; + // uint64_t **vertexQueuesBufferTime_; + // int **vertexQueuesBufferDuration_; + // BGFLOAT **vertexQueuesBufferX_; + // BGFLOAT **vertexQueuesBufferY_; + // int **vertexQueuesBufferPatience_; + // int **vertexQueuesBufferOnSiteTime_; + // int **vertexQueuesBufferResponderType_; + // uint64_t *vertexQueuesFront_; + // uint64_t *vertexQueuesEnd_; + copyVertexQueuesFromDevice(numberOfVertices, stepsPerEpoch, allVertices); + // int *droppedCalls_; + HANDLE_ERROR(cudaMemcpy(droppedCalls_.data(), allVertices.droppedCalls_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // int *receivedCalls_; + HANDLE_ERROR(cudaMemcpy(receivedCalls_.data(), allVertices.receivedCalls_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // int *busyServers_; + HANDLE_ERROR(cudaMemcpy(busyServers_.data(), allVertices.busyServers_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // int *numServers_; + HANDLE_ERROR(cudaMemcpy(numServers_.data(), allVertices.numServers_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // int *numTrunks_; + HANDLE_ERROR(cudaMemcpy(numTrunks_.data(), allVertices.numTrunks_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); + // int **servingCallBufferVertexId_; + // uint64_t **servingCallBufferTime_; + // int **servingCallBufferDuration_; + // BGFLOAT **servingCallBufferX_; + // BGFLOAT **servingCallBufferY_; + // int **servingCallBufferPatience_; + // int **servingCallBufferOnSiteTime_; + // int **servingCallBufferResponderType_; + copyServingCallFromDevice(numberOfVertices, allVertices); + // uint64_t **answerTime_; + { + uint64_t *cpuAnswerTime[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuAnswerTime, allVertices.answerTime_, + numberOfVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(answerTime_[i].data(), cpuAnswerTime[i], + maxNumberOfServers_ * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + } + } + // int **serverCountdown_; + { + int *cpuServerCountdown[numberOfVertices]; + HANDLE_ERROR(cudaMemcpy(cpuServerCountdown, allVertices.serverCountdown_, + numberOfVertices * sizeof(int *), cudaMemcpyDeviceToHost)); + for (int i = 0; i < numberOfVertices; i++) { + HANDLE_ERROR(cudaMemcpy(serverCountdown_[i].data(), cpuServerCountdown[i], + maxNumberOfServers_ * sizeof(int), cudaMemcpyDeviceToHost)); + } + } + // int *vertexIdToNoiseIndex_; + HANDLE_ERROR(cudaMemcpy(vertexIdToNoiseIndex_.data(), allVertices.vertexIdToNoiseIndex_, + numberOfVertices * sizeof(int), cudaMemcpyDeviceToHost)); +} + +/// @brief Update internal state of the indexed vertex (called by every simulation step). +/// @param edges Reference to the allEdges struct on host memory. +/// @param allVerticesDevice GPU address of the allVerticesDeviceProperties struct on device memory. +/// @param allEdgesDevice GPU address of the allEdgesDeviceProperties struct on device memory. +/// @param randNoise +/// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. +void All911Vertices::advanceVertices(AllEdges &edges, void *allVerticesDevice, void *allEdgesDevice, + float randNoise[], EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // Return if no vertices are present + if (size_ == 0) + return; + // CUDA parameters + Simulator &simulator = Simulator::getInstance(); + const int threadsPerBlock = 256; + int blocksPerGrid = (simulator.getTotalVertices() + threadsPerBlock - 1) / threadsPerBlock; + int maxEventsPerEpoch = static_cast(Simulator::getInstance().getEpochDuration() + * Simulator::getInstance().getMaxFiringRate()); + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + Layout &layout = simulator.getModel().getLayout(); + Layout911 &layout911 = dynamic_cast(layout); + BGFLOAT *xLoc_device = layout911.xloc_.getDevicePointer(); + BGFLOAT *yLoc_device = layout911.yloc_.getDevicePointer(); + // Advance vertices -------------> + advance911VerticesDevice<<>>( + size_, maxEventsPerEpoch, stepsPerEpoch, g_simulationStep, avgDrivingSpeed_, pi, randNoise, + redialP_, xLoc_device, yLoc_device, (All911VerticesDeviceProperties *)allVerticesDevice, + (All911EdgesDeviceProperties *)allEdgesDevice, edgeIndexMapDevice); + cudaDeviceSynchronize(); +} + +__global__ void advance911VerticesDevice( + int totalVertices, int maxEventsPerEpoch, uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT drivingSpeed, BGFLOAT pi, float redialValues[], BGFLOAT redialProbability, + BGFLOAT *xLocation, BGFLOAT *yLocation, All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // The usual thread ID calculation and guard against excess threads + // (beyond the number of vertices, in this case). + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx >= totalVertices) + return; + switch (allVerticesDevice->vertexType_[idx]) { + case 3: //CALR + advanceCALRVerticesDevice(idx, stepsPerEpoch, simulationStep, + redialValues[allVerticesDevice->vertexIdToNoiseIndex_[idx]], + redialProbability, allVerticesDevice, allEdgesDevice, + edgeIndexMapDevice); + break; + case 4: //PSAP + advancePSAPVerticesDevice(idx, maxEventsPerEpoch, stepsPerEpoch, simulationStep, xLocation, + yLocation, allVerticesDevice, allEdgesDevice, + edgeIndexMapDevice); + break; + case 5: //EMS + case 6: //FIRE + case 7: //LAW + advanceRESPVerticesDevice(idx, maxEventsPerEpoch, stepsPerEpoch, simulationStep, + drivingSpeed, pi, xLocation, yLocation, allVerticesDevice, + allEdgesDevice, edgeIndexMapDevice); + break; + default: + printf("ERROR: Vertex is of unknown type [%d]\n", allVerticesDevice->vertexType_[idx]); + } +} + +/// CUDA code for advancing Caller region vertices +/// +__device__ void advanceCALRVerticesDevice(int vertexId, uint64_t stepsPerEpoch, + uint64_t simulationStep, BGFLOAT redialValue, + BGFLOAT redialProbability, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // There is only one outgoing edge from CALR to a PSAP + BGSIZE edgeIdx + = edgeIndexMapDevice->outgoingEdgeIndexMap_[edgeIndexMapDevice->outgoingEdgeBegin_[vertexId]]; + + unsigned char makeAvailable = (1 - allEdgesDevice->isAvailable_[edgeIdx]) + * (1 - allEdgesDevice->isRedial_[edgeIdx]) + * (unsigned char)(redialValue >= redialProbability); + + allEdgesDevice->isAvailable_[edgeIdx] |= makeAvailable; + allEdgesDevice->isRedial_[edgeIdx] + |= (1 - allEdgesDevice->isAvailable_[edgeIdx]) * (1 - makeAvailable); + + // peek at the next call in the queue + uint64_t &queueEndIndex = allVerticesDevice->vertexQueuesEnd_[vertexId]; + if (allEdgesDevice->isAvailable_[edgeIdx] + && (allVerticesDevice->vertexQueuesFront_[vertexId] != queueEndIndex) + && allVerticesDevice->vertexQueuesBufferTime_[vertexId][queueEndIndex] <= simulationStep) { + // Place new call in the edge going to the PSAP + if (!allEdgesDevice->isAvailable_[edgeIdx]) { + printf("ERROR: Edge ID [%d] already has a call for vertex ID [%d]\n", edgeIdx, vertexId); + return; + } + // Calls that start at the same time are process in the order they appear. + // The call starts at the current time step so we need to pop it and process it + // Process the call + allEdgesDevice->vertexId_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferVertexId_[vertexId][queueEndIndex]; + allEdgesDevice->time_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferTime_[vertexId][queueEndIndex]; + allEdgesDevice->duration_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferDuration_[vertexId][queueEndIndex]; + allEdgesDevice->x_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferX_[vertexId][queueEndIndex]; + allEdgesDevice->y_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferY_[vertexId][queueEndIndex]; + allEdgesDevice->patience_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferPatience_[vertexId][queueEndIndex]; + allEdgesDevice->onSiteTime_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferOnSiteTime_[vertexId][queueEndIndex]; + allEdgesDevice->responderType_[edgeIdx] + = allVerticesDevice->vertexQueuesBufferResponderType_[vertexId][queueEndIndex]; + + // Pop from the queue + queueEndIndex = (queueEndIndex + 1) % (stepsPerEpoch + 1); + allEdgesDevice->isAvailable_[edgeIdx] = false; + } +} + +/// CUDA code for advancing PSAP vertices +/// +__device__ void advancePSAPVerticesDevice(int vertexIdx, int maxEventsPerEpoch, + uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT *xLocation, BGFLOAT *yLocation, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // Loop over all servers and free the ones finishing serving calls + int numberOfAvailableServers = 0; + unsigned char *availableServers + = (unsigned char *)malloc(allVerticesDevice->numServers_[vertexIdx] * sizeof(unsigned char)); + // Sanity check that malloc was successful + if (availableServers == nullptr) { + printf("ERROR: Failed to allocate memory for availableServers used by vertex ID [%d]\n", + vertexIdx); + return; + } + for (size_t server = 0; server < allVerticesDevice->numServers_[vertexIdx]; ++server) { + int countdown = allVerticesDevice->serverCountdown_[vertexIdx][server]; + // Check if countdown was already 0 + int countdownWasZero = countdown == 0; + + // Decrement if it was not already 0 + countdown -= (1 - countdownWasZero); + allVerticesDevice->serverCountdown_[vertexIdx][server] = countdown; + + // Set the available unit if it was already available or became available + availableServers[server] = (unsigned char)(countdown == 0); + numberOfAvailableServers += (countdown == 0); + + // If it became zero, the unit responds to the new incident + if ((!countdownWasZero) & (countdown == 0)) { + // Server becomes free to take calls + // TODO: What about wrap-up time? + + //Store call metrics + // Store wasAbandonedHistory + // EventBuffer::insertEvent + if (allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: wasAbandonHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &abandonedHistoryQueueEnd + = allVerticesDevice->wasAbandonedHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->wasAbandonedHistory_[vertexIdx][abandonedHistoryQueueEnd] = false; + abandonedHistoryQueueEnd = (abandonedHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]++; + // Store beginTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: beginTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &beginHistoryQueueEnd = allVerticesDevice->beginTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->beginTimeHistory_[vertexIdx][beginHistoryQueueEnd] + = allVerticesDevice->servingCallBufferTime_[vertexIdx][server]; + beginHistoryQueueEnd = (beginHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Store answerTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: answerTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &answerHistoryQueueEnd = allVerticesDevice->answerTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->answerTimeHistory_[vertexIdx][answerHistoryQueueEnd] + = allVerticesDevice->answerTime_[vertexIdx][server]; + answerHistoryQueueEnd = (answerHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Store endTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx] >= maxEventsPerEpoch) { + printf( + "ERROR: endTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &endHistoryQueueEnd = allVerticesDevice->endTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->endTimeHistory_[vertexIdx][endHistoryQueueEnd] = simulationStep; + endHistoryQueueEnd = (endHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]++; + + // loop over the outgoing edges looking for the responder with the shortest + // Euclidean distance to the call's location. + BGSIZE resp, respEdge; + BGFLOAT minDistance = FLT_MAX; + for (BGSIZE eIdxMap = edgeIndexMapDevice->outgoingEdgeBegin_[vertexIdx]; + eIdxMap < edgeIndexMapDevice->outgoingEdgeBegin_[vertexIdx] + + edgeIndexMapDevice->outgoingEdgeCount_[vertexIdx]; + ++eIdxMap) { + if (!allEdgesDevice->inUse_[edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]]) { + printf("ERROR: Edge must be in use. Edge ID [%d] Vertex ID [%d]\n", + edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap], vertexIdx); + return; + } + + if (allVerticesDevice + ->vertexType_[allEdgesDevice->destVertexIndex_ + [edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]]] + == allVerticesDevice->servingCallBufferResponderType_[vertexIdx][server]) { + // Calculates the distance between the given vertex and the (x, y) coordinates of a call + BGFLOAT distance = sqrtf( + powf(allVerticesDevice->servingCallBufferX_[vertexIdx][server] + - xLocation[allEdgesDevice->destVertexIndex_ + [edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]]], + 2) + + (powf(allVerticesDevice->servingCallBufferY_[vertexIdx][server] + - yLocation[allEdgesDevice->destVertexIndex_ + [edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]]], + 2))); + + if (distance < minDistance) { + minDistance = distance; + resp = allEdgesDevice + ->destVertexIndex_[edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]]; + respEdge = edgeIndexMapDevice->outgoingEdgeIndexMap_[eIdxMap]; + } + } + } + + // We must have found the closest responder of the right type + if (minDistance >= FLT_MAX) { + printf( + "ERROR: Distance found was not the minimum distance. Distance [%f] Responder Edge ID [%u] Vertex ID [%d]\n", + minDistance, respEdge, vertexIdx); + return; + } + if (allVerticesDevice->vertexType_[resp] + != allVerticesDevice->servingCallBufferResponderType_[vertexIdx][server]) { + printf( + "ERROR: Responder vertex was the wrong type. Responder Type [%d] Required Type [%d]\n", + allVerticesDevice->vertexType_[respEdge], + allVerticesDevice->servingCallBufferResponderType_[vertexIdx][server]); + return; + } + + // Place the call in the edge going to the responder + // Call becomes a dispatch order at this time + allVerticesDevice->servingCallBufferTime_[vertexIdx][server] = simulationStep; + + //edges911.call_[respEdge] = endingCall; + allEdgesDevice->vertexId_[respEdge] + = allVerticesDevice->servingCallBufferVertexId_[vertexIdx][server]; + allEdgesDevice->time_[respEdge] + = allVerticesDevice->servingCallBufferTime_[vertexIdx][server]; + allEdgesDevice->duration_[respEdge] + = allVerticesDevice->servingCallBufferDuration_[vertexIdx][server]; + allEdgesDevice->x_[respEdge] = allVerticesDevice->servingCallBufferX_[vertexIdx][server]; + allEdgesDevice->y_[respEdge] = allVerticesDevice->servingCallBufferY_[vertexIdx][server]; + allEdgesDevice->patience_[respEdge] + = allVerticesDevice->servingCallBufferPatience_[vertexIdx][server]; + allEdgesDevice->onSiteTime_[respEdge] + = allVerticesDevice->servingCallBufferOnSiteTime_[vertexIdx][server]; + allEdgesDevice->responderType_[respEdge] + = allVerticesDevice->servingCallBufferResponderType_[vertexIdx][server]; + + allEdgesDevice->isAvailable_[respEdge] = false; + } + } + + // Assign calls to servers until either no servers are available or + // there are no more calls in the waiting queue + int currentlyAvailableServers = numberOfAvailableServers; + //uint64_t queueFrontIndex = allVerticesDevice->vertexQueuesFront_[vertexIdx]; + uint64_t &queueEndIndex = allVerticesDevice->vertexQueuesEnd_[vertexIdx]; + while (currentlyAvailableServers > 0 + && !(allVerticesDevice->vertexQueuesFront_[vertexIdx] == queueEndIndex)) { + // TODO: calls with duration of zero are being added but because countdown will be zero + // they don't show up in the logs + int callId = allVerticesDevice->vertexQueuesBufferVertexId_[vertexIdx][queueEndIndex]; + uint64_t callTime = allVerticesDevice->vertexQueuesBufferTime_[vertexIdx][queueEndIndex]; + int callDuration = allVerticesDevice->vertexQueuesBufferDuration_[vertexIdx][queueEndIndex]; + BGFLOAT callX = allVerticesDevice->vertexQueuesBufferX_[vertexIdx][queueEndIndex]; + BGFLOAT callY = allVerticesDevice->vertexQueuesBufferY_[vertexIdx][queueEndIndex]; + int callPatience = allVerticesDevice->vertexQueuesBufferPatience_[vertexIdx][queueEndIndex]; + int callOnSiteTime + = allVerticesDevice->vertexQueuesBufferOnSiteTime_[vertexIdx][queueEndIndex]; + int callResponderType + = allVerticesDevice->vertexQueuesBufferResponderType_[vertexIdx][queueEndIndex]; + queueEndIndex = (queueEndIndex + 1) % (allVerticesDevice->numTrunks_[vertexIdx] + 1); + + if (callPatience < (simulationStep - callTime)) { + // If the patience time is less than the waiting time, the call is abandoned + // Store wasAbandonedHistory + // EventBuffer::insertEvent + if (allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: wasAbandonHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &abandonedHistoryQueueEnd + = allVerticesDevice->wasAbandonedHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->wasAbandonedHistory_[vertexIdx][abandonedHistoryQueueEnd] = true; + abandonedHistoryQueueEnd = (abandonedHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]++; + // Store beginTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: beginTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &beginHistoryQueueEnd = allVerticesDevice->beginTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->beginTimeHistory_[vertexIdx][beginHistoryQueueEnd] = callTime; + beginHistoryQueueEnd = (beginHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Answer time and end time get zero as sentinel for non-valid values + // Store answerTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: answerTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &answerHistoryQueueEnd = allVerticesDevice->answerTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->answerTimeHistory_[vertexIdx][answerHistoryQueueEnd] = 0; + answerHistoryQueueEnd = (answerHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Store endTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx] >= maxEventsPerEpoch) { + printf( + "ERROR: endTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &endHistoryQueueEnd = allVerticesDevice->endTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->endTimeHistory_[vertexIdx][endHistoryQueueEnd] = 0; + endHistoryQueueEnd = (endHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]++; + } else { + // The available server starts serving the call + int availServer = -1; + for (BGSIZE serverIndex = 0; serverIndex < allVerticesDevice->numServers_[vertexIdx]; + serverIndex++) { + // Add 0 if server is not available or 1 + serverIndex if it's available and a server has not already been found + availServer + += (availableServers[serverIndex] == true && availServer == -1) * (serverIndex + 1); + // Decrement by 1 if the server is available and a server has not already been found + currentlyAvailableServers + -= (availableServers[serverIndex] == true && availServer == -1); + // Flip value only if the server is available and a server has not been found + availableServers[serverIndex] + = (unsigned char)(availableServers[serverIndex] + == true + - (availableServers[serverIndex] == true + && availServer == -1)); + } + allVerticesDevice->servingCallBufferVertexId_[vertexIdx][availServer] = callId; + allVerticesDevice->servingCallBufferTime_[vertexIdx][availServer] = callTime; + allVerticesDevice->servingCallBufferDuration_[vertexIdx][availServer] = callDuration; + allVerticesDevice->servingCallBufferX_[vertexIdx][availServer] = callX; + allVerticesDevice->servingCallBufferY_[vertexIdx][availServer] = callY; + allVerticesDevice->servingCallBufferPatience_[vertexIdx][availServer] = callPatience; + allVerticesDevice->servingCallBufferOnSiteTime_[vertexIdx][availServer] = callOnSiteTime; + allVerticesDevice->servingCallBufferResponderType_[vertexIdx][availServer] + = callResponderType; + + allVerticesDevice->answerTime_[vertexIdx][availServer] = simulationStep; + allVerticesDevice->serverCountdown_[vertexIdx][availServer] = callDuration; + } + } + + // Update number of busy servers. This is used to check if there is space in the queue + allVerticesDevice->busyServers_[vertexIdx] + = allVerticesDevice->numServers_[vertexIdx] - numberOfAvailableServers; + + // Update queueLength and utilization histories + // Compute the size of the destination queue for queue length + //uint64_t queueSize; + // if (queueFrontIndex >= queueEndIndex) { + // queueSize = queueFrontIndex - queueEndIndex; + // } else { + // queueSize = stepsPerEpoch + queueFrontIndex - queueEndIndex; + // } + // EventBuffer::insertEvent + if (allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx] >= stepsPerEpoch) { + printf("ERROR: queueLengthHistory buffer is full. Vertex ID [%d] Buffer size [%" PRIu64 + "] Number of Elements in Epoch [%d]\n", + vertexIdx, stepsPerEpoch, + allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &queueLengthHistoryQueueEnd = allVerticesDevice->queueLengthHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->queueLengthHistory_[vertexIdx][queueLengthHistoryQueueEnd] + = stepsPerEpoch * (1 - (allVerticesDevice->vertexQueuesFront_[vertexIdx] >= queueEndIndex)) + + allVerticesDevice->vertexQueuesFront_[vertexIdx] - queueEndIndex; //queueSize + queueLengthHistoryQueueEnd = (queueLengthHistoryQueueEnd + 1) % stepsPerEpoch; + allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx]++; + // EventBuffer::insertEvent + if (allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx] >= stepsPerEpoch) { + printf("ERROR: utilizationHistory buffer is full. Vertex ID [%d] Buffer size [%" PRIu64 + "] Number of Elements in Epoch [%d]\n", + vertexIdx, stepsPerEpoch, + allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &utilizationHistoryQueueEnd = allVerticesDevice->utilizationHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->utilizationHistory_[vertexIdx][utilizationHistoryQueueEnd] + = static_cast(allVerticesDevice->busyServers_[vertexIdx]) + / allVerticesDevice->numServers_[vertexIdx]; + utilizationHistoryQueueEnd = (utilizationHistoryQueueEnd + 1) % stepsPerEpoch; + allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx]++; + + // Free the availableServers array + free(availableServers); +} + +/// CUDA code for advancing emergency responder vertices +/// +__device__ void advanceRESPVerticesDevice(int vertexIdx, int maxEventsPerEpoch, + uint64_t stepsPerEpoch, uint64_t simulationStep, + BGFLOAT drivingSpeed, BGFLOAT pi, BGFLOAT *xLocation, + BGFLOAT *yLocation, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // Free the units finishing up with emergency responses + int numberOfAvailableUnits = 0; + unsigned char *availableUnits + = (unsigned char *)malloc(allVerticesDevice->numServers_[vertexIdx] * sizeof(unsigned char)); + // Sanity check that malloc was successful + if (availableUnits == nullptr) { + printf("ERROR: Failed to allocate memory for availableUnits used by vertex ID [%d]\n", + vertexIdx); + return; + } + for (size_t unit = 0; unit < allVerticesDevice->numServers_[vertexIdx]; ++unit) { + int countdown = allVerticesDevice->serverCountdown_[vertexIdx][unit]; + // Check if countdown was already 0 + int countdownWasZero = countdown == 0; + + // Decrement if it was not already 0 + countdown -= (1 - countdownWasZero); + allVerticesDevice->serverCountdown_[vertexIdx][unit] = countdown; + + // Set the available unit if it was already available or became available + availableUnits[unit] = (unsigned char)(countdown == 0); + numberOfAvailableUnits += (countdown == 0); + + // If it became zero, the unit responds to the new incident + if ((!countdownWasZero) & (countdown == 0)) { + // Unit becomes available to responde to new incidents + + //Store incident response metrics + // Store wasAbandonedHistory + // EventBuffer::insertEvent + if (allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: wasAbandonHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &abandonedHistoryQueueEnd + = allVerticesDevice->wasAbandonedHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->wasAbandonedHistory_[vertexIdx][abandonedHistoryQueueEnd] = false; + abandonedHistoryQueueEnd = (abandonedHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->wasAbandonedHistoryNumElementsInEpoch_[vertexIdx]++; + // Store beginTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: beginTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &beginHistoryQueueEnd = allVerticesDevice->beginTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->beginTimeHistory_[vertexIdx][beginHistoryQueueEnd] + = allVerticesDevice->servingCallBufferTime_[vertexIdx][unit]; + beginHistoryQueueEnd = (beginHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->beginTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Store answerTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx] + >= maxEventsPerEpoch) { + printf( + "ERROR: answerTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &answerHistoryQueueEnd = allVerticesDevice->answerTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->answerTimeHistory_[vertexIdx][answerHistoryQueueEnd] + = allVerticesDevice->answerTime_[vertexIdx][unit]; + answerHistoryQueueEnd = (answerHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->answerTimeHistoryNumElementsInEpoch_[vertexIdx]++; + // Store endTimeHistory + // EventBuffer::insertEvent + if (allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx] >= maxEventsPerEpoch) { + printf( + "ERROR: endTimeHistory buffer is full. Vertex ID [%d] Buffer size [%d] Number of Elements in Epoch [%d]\n", + vertexIdx, maxEventsPerEpoch, + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &endHistoryQueueEnd = allVerticesDevice->endTimeHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->endTimeHistory_[vertexIdx][endHistoryQueueEnd] = simulationStep; + endHistoryQueueEnd = (endHistoryQueueEnd + 1) % maxEventsPerEpoch; + allVerticesDevice->endTimeHistoryNumElementsInEpoch_[vertexIdx]++; + } + } + + + // Assign reponse dispatches until no units are available or there are no more + // incidents in the waiting queue + uint64_t &queueEndIndex = allVerticesDevice->vertexQueuesEnd_[vertexIdx]; + for (size_t unit = 0; unit < numberOfAvailableUnits + && !(allVerticesDevice->vertexQueuesFront_[vertexIdx] == queueEndIndex); + ++unit) { + int incidentId = allVerticesDevice->vertexQueuesBufferVertexId_[vertexIdx][queueEndIndex]; + uint64_t incidentTime = allVerticesDevice->vertexQueuesBufferTime_[vertexIdx][queueEndIndex]; + int incidentDuration + = allVerticesDevice->vertexQueuesBufferDuration_[vertexIdx][queueEndIndex]; + BGFLOAT incidentX = allVerticesDevice->vertexQueuesBufferX_[vertexIdx][queueEndIndex]; + BGFLOAT incidentY = allVerticesDevice->vertexQueuesBufferY_[vertexIdx][queueEndIndex]; + int incidentPatience + = allVerticesDevice->vertexQueuesBufferPatience_[vertexIdx][queueEndIndex]; + int incidentOnSiteTime + = allVerticesDevice->vertexQueuesBufferOnSiteTime_[vertexIdx][queueEndIndex]; + int incidentResponderType + = allVerticesDevice->vertexQueuesBufferResponderType_[vertexIdx][queueEndIndex]; + queueEndIndex = (queueEndIndex + 1) % (allVerticesDevice->numTrunks_[vertexIdx] + 1); + + // The available unit starts serving the call + int availUnit = -1; + for (BGSIZE unitIndex = 0; unitIndex < allVerticesDevice->numServers_[vertexIdx]; + unitIndex++) { + // Add 0 if unit is not available or 1 + unitIndex if it's available and a unit has not already been found + availUnit += (availableUnits[unitIndex] == true && availUnit == -1) * (unitIndex + 1); + // Flip value only if the unit is available and a unit has not been found + availableUnits[unitIndex] + = (unsigned char)(availableUnits[unitIndex] + == true - (availableUnits[unitIndex] == true && availUnit == -1)); + } + allVerticesDevice->servingCallBufferVertexId_[vertexIdx][availUnit] = incidentId; + allVerticesDevice->servingCallBufferTime_[vertexIdx][availUnit] = incidentTime; + allVerticesDevice->servingCallBufferDuration_[vertexIdx][availUnit] = incidentDuration; + allVerticesDevice->servingCallBufferX_[vertexIdx][availUnit] = incidentX; + allVerticesDevice->servingCallBufferY_[vertexIdx][availUnit] = incidentY; + allVerticesDevice->servingCallBufferPatience_[vertexIdx][availUnit] = incidentPatience; + allVerticesDevice->servingCallBufferOnSiteTime_[vertexIdx][availUnit] = incidentOnSiteTime; + allVerticesDevice->servingCallBufferResponderType_[vertexIdx][availUnit] + = incidentResponderType; + + allVerticesDevice->answerTime_[vertexIdx][availUnit] = simulationStep; + + // We need to calculate the distance in miles but the x and y coordinates + // represent, respectively, degrees of longitude and latitude. + // One degree of latitude is aproximately 69 miles regardles of the location. However, + // a degree of longitude varies, being 69.172 miles at the equator and gradually shrinking + // to zero at the poles. + // One degree of longitude can be converted to miles using the following formula: + // 1 degree of longitude = cos(latitude) * 69.172 + // BGFLOAT lngDegreeLength = cos(yLocation[vertexIdx] * (pi / 180)) * 69.172f; + // BGFLOAT latDegreeLength = 69.0; + // BGFLOAT deltaLng = incidentX - xLocation[vertexIdx]; + // BGFLOAT deltaLat = incidentY - yLocation[vertexIdx]; + // BGFLOAT dist2incident + // = sqrtf(powf(incidentX - xLocation[vertexIdx] * cos(yLocation[vertexIdx] * (pi / 180)) * 69.172f, 2) + powf(incidentY - yLocation[vertexIdx] * 69.0f, 2)); + + // Calculate the driving time to the incident in seconds + // BGFLOAT driveTime = (dist2incident / drivingSpeed) * 3600; + // allVerticesDevice->serverCountdown_[vertexIdx][availUnit] = driveTime + incidentOnSiteTime; + + /// Wouldn't this just immediately overwrite the above? Why is it needed? + allVerticesDevice->serverCountdown_[vertexIdx][availUnit] = incidentDuration; + } + + // Update number of busy servers. This is used to check if there is space in the queue + allVerticesDevice->busyServers_[vertexIdx] + = allVerticesDevice->numServers_[vertexIdx] - numberOfAvailableUnits; + + // Update queueLength and utilization histories + // // Compute the size of the destination queue for queue length + // uint64_t queueSize; + // // if (queueFrontIndex >= queueEndIndex) { + // // queueSize = queueFrontIndex - queueEndIndex; + // // } else { + // // queueSize = stepsPerEpoch + queueFrontIndex - queueEndIndex; + // // } + // EventBuffer::insertEvent + if (allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx] >= stepsPerEpoch) { + printf("ERROR: queueLengthHistory buffer is full. Vertex ID [%d] Buffer size [%" PRIu64 + "] Number of Elements in Epoch [%d]\n", + vertexIdx, stepsPerEpoch, + allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &queueLengthHistoryQueueEnd = allVerticesDevice->queueLengthHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->queueLengthHistory_[vertexIdx][queueLengthHistoryQueueEnd] + = stepsPerEpoch * (1 - (allVerticesDevice->vertexQueuesFront_[vertexIdx] >= queueEndIndex)) + + allVerticesDevice->vertexQueuesFront_[vertexIdx] - queueEndIndex; + queueLengthHistoryQueueEnd = (queueLengthHistoryQueueEnd + 1) % stepsPerEpoch; + allVerticesDevice->queueLengthHistoryNumElementsInEpoch_[vertexIdx]++; + // EventBuffer::insertEvent + if (allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx] >= stepsPerEpoch) { + printf("ERROR: utilizationHistory buffer is full. Vertex ID [%d] Buffer size [%" PRIu64 + "] Number of Elements in Epoch [%d]\n", + vertexIdx, stepsPerEpoch, + allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx]); + return; + } + int &utilizationHistoryQueueEnd = allVerticesDevice->utilizationHistoryBufferEnd_[vertexIdx]; + allVerticesDevice->utilizationHistory_[vertexIdx][utilizationHistoryQueueEnd] + = static_cast(allVerticesDevice->busyServers_[vertexIdx]) + / allVerticesDevice->numServers_[vertexIdx]; + utilizationHistoryQueueEnd = (utilizationHistoryQueueEnd + 1) % stepsPerEpoch; + allVerticesDevice->utilizationHistoryNumElementsInEpoch_[vertexIdx]++; + + // Free the availableUnits array + free(availableUnits); +} + +/// Take a call from an edge and add it to the queue if the queue isn't full. +/// +/// @param allVerticesDevice GPU address of the allVertices struct on device memory. +/// @param edgeIndexMapDevice GPU address of the EdgeIndexMap on device memory. +/// @param allEdgesDevice GPU address of the allEdges struct on device memory. +void All911Vertices::integrateVertexInputs(void *allVerticesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice, + void *allEdgesDevice) +{ + // CUDA parameters + Simulator &simulator = Simulator::getInstance(); + int totalVertices = simulator.getTotalVertices(); + const int threadsPerBlock = 256; + int blocksPerGrid = (totalVertices + threadsPerBlock - 1) / threadsPerBlock; + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + + maybeTakeCallFromEdge<<>>( + totalVertices, stepsPerEpoch, (All911VerticesDeviceProperties *)allVerticesDevice, + (All911EdgesDeviceProperties *)allEdgesDevice, edgeIndexMapDevice); + cudaDeviceSynchronize(); +} + +__global__ void maybeTakeCallFromEdge(int totalVertices, uint64_t stepsPerEpoch, + All911VerticesDeviceProperties *allVerticesDevice, + All911EdgesDeviceProperties *allEdgesDevice, + EdgeIndexMapDevice *edgeIndexMapDevice) +{ + // The usual thread ID calculation and guard against excess threads + // (beyond the number of vertices, in this case). + int idx = blockIdx.x * blockDim.x + threadIdx.x; + if (idx >= totalVertices) + return; + + // TODO911: Caller Regions will have different behaviour + if (allVerticesDevice->vertexType_[idx] == 3) { + return; + } + + // Loop over all the edges and pull the data in + for (int edge = edgeIndexMapDevice->incomingEdgeBegin_[idx]; + edge + < edgeIndexMapDevice->incomingEdgeBegin_[idx] + edgeIndexMapDevice->incomingEdgeCount_[idx]; + ++edge) { + int edgeIdx = edgeIndexMapDevice->incomingEdgeIndexMap_[edge]; + + if (!allEdgesDevice->inUse_[edgeIdx] || allEdgesDevice->isAvailable_[edgeIdx]) { + continue; // Edge isn't in use and doesn't have a call + } + + int dstIndex = allEdgesDevice->destVertexIndex_[edgeIdx]; + // The destination vertex should be the one pulling the information + if (dstIndex != idx) { + printf( + "ERROR: The destination vertex is responsible for pulling in it's calls. Destination Vertex ID [%d] Vertex ID [%d]\n", + dstIndex, idx); + return; + } + + // Compute the size of the destination queue + uint64_t queueFrontIndex = allVerticesDevice->vertexQueuesFront_[dstIndex]; + int queueFull + = (int)((1 - (queueFrontIndex >= allVerticesDevice->vertexQueuesEnd_[dstIndex])) + * (allVerticesDevice->numTrunks_[dstIndex] + 1) + + queueFrontIndex - allVerticesDevice->vertexQueuesEnd_[dstIndex]) + >= (allVerticesDevice->numTrunks_[dstIndex] - allVerticesDevice->busyServers_[dstIndex]); + allVerticesDevice->droppedCalls_[dstIndex] + += queueFull && (!allEdgesDevice->isRedial_[edgeIdx]); + allVerticesDevice->receivedCalls_[dstIndex] + += queueFull && (!allEdgesDevice->isRedial_[edgeIdx]); + if (!queueFull) { + // Transfer call to destination + // We throw an error if the buffer is full + if (((queueFrontIndex + 1) % (allVerticesDevice->numTrunks_[dstIndex] + 1)) + == allVerticesDevice->vertexQueuesEnd_[dstIndex]) { + printf("ERROR: Vertex queue is full. Vertex ID [%d] Front Index [%" PRIu64 + "] End Index [%" PRIu64 "] Buffer size [%" PRIu64 "]\n", + dstIndex, queueFrontIndex, allVerticesDevice->vertexQueuesEnd_[dstIndex], + (allVerticesDevice->numTrunks_[dstIndex] + 1)); + return; + } + // Insert the new element and increment the front index + allVerticesDevice->vertexQueuesBufferVertexId_[dstIndex][queueFrontIndex] + = allEdgesDevice->vertexId_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferTime_[dstIndex][queueFrontIndex] + = allEdgesDevice->time_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferDuration_[dstIndex][queueFrontIndex] + = allEdgesDevice->duration_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferX_[dstIndex][queueFrontIndex] + = allEdgesDevice->x_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferY_[dstIndex][queueFrontIndex] + = allEdgesDevice->y_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferPatience_[dstIndex][queueFrontIndex] + = allEdgesDevice->patience_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferOnSiteTime_[dstIndex][queueFrontIndex] + = allEdgesDevice->onSiteTime_[edgeIdx]; + allVerticesDevice->vertexQueuesBufferResponderType_[dstIndex][queueFrontIndex] + = allEdgesDevice->responderType_[edgeIdx]; + allVerticesDevice->vertexQueuesFront_[dstIndex] + = (queueFrontIndex + 1) % (allVerticesDevice->numTrunks_[dstIndex] + 1); + // Record that we received a call + allVerticesDevice->receivedCalls_[dstIndex]++; + allEdgesDevice->isAvailable_[edgeIdx] = true; + allEdgesDevice->isRedial_[edgeIdx] = false; + } + } +} + +void All911Vertices::clearVertexHistory(void *allVerticesDevice) +{ + /// What exactly should this clear out? Probably at least the vertex queues + All911VerticesDeviceProperties allVertices; + HANDLE_ERROR(cudaMemcpy(&allVertices, allVerticesDevice, sizeof(All911VerticesDeviceProperties), + cudaMemcpyDeviceToHost)); + + int numberOfVertices = Simulator::getInstance().getTotalVertices(); + // uint64_t **beginTimeHistory_ + HANDLE_ERROR(cudaMemset(allVertices.beginTimeHistoryNumElementsInEpoch_, 0, + numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = beginTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.beginTimeHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **answerTimeHistory_ + HANDLE_ERROR(cudaMemset(allVertices.answerTimeHistoryNumElementsInEpoch_, 0, + numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = answerTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.answerTimeHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **endTimeHistory_ + HANDLE_ERROR( + cudaMemset(allVertices.endTimeHistoryNumElementsInEpoch_, 0, numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = endTimeHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.endTimeHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **wasAbandonedHistory_ + HANDLE_ERROR(cudaMemset(allVertices.wasAbandonedHistoryNumElementsInEpoch_, 0, + numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = wasAbandonedHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.wasAbandonedHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // uint64_t **queueLengthHistory_ + HANDLE_ERROR(cudaMemset(allVertices.queueLengthHistoryNumElementsInEpoch_, 0, + numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = queueLengthHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.queueLengthHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } + // BGFLOAT **utilizationHistory_ + HANDLE_ERROR(cudaMemset(allVertices.utilizationHistoryNumElementsInEpoch_, 0, + numberOfVertices * sizeof(int))); + { + vector epochStart(numberOfVertices); + for (int i = 0; i < epochStart.size(); ++i) { + epochStart[i] = utilizationHistory_[i].getBufferEnd(); + } + HANDLE_ERROR(cudaMemcpy(allVertices.utilizationHistoryEpochStart_, epochStart.data(), + numberOfVertices * sizeof(int), cudaMemcpyHostToDevice)); + } +} + +/// Copies all inputs scheduled to occur in the upcoming epoch onto device. +void All911Vertices::copyEpochInputsToDevice() +{ + LOG4CPLUS_DEBUG(fileLogger_, "Calling All911Vertices::copyEpochInputsToDevice"); + // The only new inputs are going to be for caller region vertices. However, due to how + // we have our memory organized on the GPU, we need to copy over all queues instead of + // just the queues with new inputs. + All911VerticesDeviceProperties allVertices; + Simulator &simulator = Simulator::getInstance(); + int numberOfVertices = simulator.getTotalVertices(); + uint64_t stepsPerEpoch = simulator.getEpochDuration() / simulator.getDeltaT(); + GPUModel *gpuModel = static_cast(&(simulator.getModel())); + void *deviceAddress = static_cast(gpuModel->getAllVerticesDevice()); + HANDLE_ERROR(cudaMemcpy(&allVertices, deviceAddress, sizeof(All911VerticesDeviceProperties), + cudaMemcpyDeviceToHost)); + copyVertexQueuesToDevice(numberOfVertices, stepsPerEpoch, allVertices); +} + +void All911Vertices::setAdvanceVerticesDeviceParams(AllEdges &edges) +{ + LOG4CPLUS_DEBUG(vertexLogger_, "Setting Advance Vertices device parameters"); +} + +int All911Vertices::getNumberOfVerticesNeedingDeviceNoise() const +{ + return numberOfVerticesNeedingDeviceNoise_; +} \ No newline at end of file diff --git a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp index 9a3602ec6..b1201ac26 100644 --- a/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp +++ b/Simulator/Vertices/Neuro/AllSpikingNeurons_d.cpp @@ -138,14 +138,14 @@ void AllSpikingNeurons::copyFromDevice() uint64_t *pSpikeHistory[numVertices]; HANDLE_ERROR(cudaMemcpy(pSpikeHistory, allVerticesDevice.spikeHistory_, - numVertices * sizeof(uint64_t), cudaMemcpyDeviceToHost)); + numVertices * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); // All EventBuffers are of the same size, // which is one greater than maxSpikes in GPU spikeHistory array. int maxSpikes = vertexEvents_[0].size(); for (int i = 0; i < numVertices; i++) { HANDLE_ERROR(cudaMemcpy(vertexEvents_[i].data(), pSpikeHistory[i], - maxSpikes * sizeof(uint64_t *), cudaMemcpyDeviceToHost)); + maxSpikes * sizeof(uint64_t), cudaMemcpyDeviceToHost)); } } diff --git a/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Cpu/test-small-911-out.xml index 173c25fd200a0050b3a217ff9c66188370b683a2..13cb42adaa0f73d80977dff6fc1a0bf3e229169d 100644 GIT binary patch delta 861 zcmZ`%O=uHA80F1olcm|(O*g4+X(b1fLqXl(!5j?DIp9y}K@=*Y2c=N367Uv7MFg>W z81=)GkduOfu;5%odJ#n^NGbMYD0)$>8tKJ@w4Ip^n-w;A)2?o{{^CN&<K32N75&|VM@?B3 zr5k7&eskpZKw!EtU5+oiRIWi0#jLnodhgeoY{s_kJ?tmMubV~0%gD?2lR5M$u0{D4 zq6u823oCH^+SWIld)sMV+wSo5Tl;zE=Lwo%sLR8UkYF~gbYx_!j?N|E`J3u#@XhRL zu|xO_QT1Ub6mA>BJBAHYJg8#XpsQ6}66+TGVfHw}6eah2beEj__+`mQ$Rv7$kw}*e zHFsAF2~*^ASkRTW@oEZ}LG1=+y0N^?Cw&06ps6>STX@2~N1<;1-X3s-&K_SJ#4$=FA9cJq%=FR&*+-2Mz(7?#g1XRJw3FIGP z-7IkDBlG5yPjtATW}ILIsS`jl0})_NATxSkW=#0T!wpm>2oiK7ouGVz3#jZ0%%Tg&S1^N=!HfqgX%IUD z^1Z<13tRb614LlEfG6Wjw#g6HaDgONu|VClhY=Vyy-eHZMKA`l1NC#T1Njb&)A^Gb gA5Hc=^k+MeF@X)LI7I-W0_2Oy3$C_<+&h^G00^NvtpET3 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml index cabfb69d2..c3836ffd9 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml index aee07e5d1..28ce08038 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-connected-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml index cabfb69d2..c3836ffd9 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml index aee07e5d1..28ce08038 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-medium-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 - - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 14 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 15 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 16 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 17 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 18 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 19 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 21 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 22 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 23 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 26 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 28 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 29 - - - 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-911-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-911-out.xml new file mode 100644 index 000000000..13cb42ada --- /dev/null +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-911-out.xml @@ -0,0 +1,196 @@ + + + 5 10 10 10 10 10 5 10 10 10 0 + + + 4 5 3 3 3 3 3 4 5 3 0 + + + 1 0 0 0 0 0 0 0 0 0 0 + + + 21 2 3 1 2 2 1 1 5 2 0 + + + 37 73 47 34 42 388 130 435 401 324 490 541 900 960 671 1110 1106 1155 1143 1009 + + + 265 512 + + + 490 1061 1337 + + + 213 + + + 434 + + + 450 750 + + + 1014 + + + 892 + + + 207 370 982 1175 1385 + + + 534 1355 + + + 38 0 48 35 43 389 208 436 402 325 491 542 901 961 672 1111 1107 1175 1144 1010 + + + 266 513 + + + 491 1062 1338 + + + 214 + + + 435 + + + 451 751 + + + 1015 + + + 893 + + + 208 371 983 1176 1386 + + + 535 1356 + + + 207 0 213 265 370 434 450 490 512 534 750 892 982 1014 1061 1175 1337 1355 1385 1648 + + + 496 623 + + + 545 1451 1568 + + + 379 + + + 480 + + + 693 1010 + + + 1068 + + + 1243 + + + 377 698 1064 1240 1627 + + + 744 1536 + + + 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 + + + 0 0 0 + + + 0 + + + 0 + + + 0 0 + + + 0 + + + 0 + + + 0 0 0 0 0 + + + 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0.25 0.25 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.75 1 1 1 1 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.75 0.75 1 1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.5 0.5 0.5 0.5 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.75 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.75 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.5 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.666667 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0.25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.4 0.4 0.4 0.4 0.4 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0.333333 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + + 4 5 5 5 7 7 7 7 6 6 3 + diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml index 2f47c1c1a..199d0d356 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml index 25ee7dae9..cc0fb2f8f 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-connected-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml index 2f47c1c1a..199d0d356 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-long-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 2009016 2010444 2012302 2028383 2041077 2068744 2091604 2103452 2113163 2116734 2145232 2172268 2179957 2187608 2193846 2208269 2221371 2229857 2271078 2301281 2314175 2337784 2344798 2346234 2350212 2352903 2367966 2370426 2396718 2412987 2421462 2440374 2451744 2452570 2462667 2464122 2474143 2489412 2491355 2496337 2502661 2504420 2509156 2515974 2518315 2531661 2566123 2570146 2574676 2578833 2586261 2596544 2599831 2608829 2613424 2623632 2673856 2702137 2708959 2714132 2734312 2757749 2762260 2769940 2770969 2772189 2778403 2782430 2803417 2813425 2837196 2842017 2848362 2854072 2860565 2864131 2869113 2874260 2889192 2899930 2901745 2904723 2917415 2924608 2937800 2942760 2948077 2951064 2965433 2969022 2974904 2980717 2995070 3011758 3023923 3027877 3029140 3031645 3032768 3035325 3042118 3043521 3052540 3058356 3065164 3090857 3096174 3100728 3107862 3135983 3138285 3154894 3163473 3167149 3177045 3194921 3207713 3218819 3221785 3227207 3231279 3238466 3247564 3248797 3255244 3267976 3321296 3330121 3341390 3342267 3346730 3352120 3354099 3358980 3360731 3383366 3388639 3396328 3404870 3411233 3417478 3422295 3425188 3439978 3453502 3462788 3465027 3476054 3479497 3485077 3491935 3495718 3516317 3520207 3540178 3543657 3554565 3557178 3576591 3587656 3590186 3593329 3598049 3601099 3616624 3656336 3659088 3677044 3695480 3715289 3721645 3765614 3775087 3788521 3793754 3795276 3803614 3805412 3816164 3854861 3856039 3876161 3903814 3907180 3918540 3925634 3927247 3936905 3938777 3942054 3946994 3955471 3968155 3972288 3974802 3987494 3994417 3996342 4004609 4008645 4025531 4030626 4035090 4043749 4059530 4063048 4069637 4075211 4078154 4082610 4099636 4100861 4132380 4147935 4161171 4195318 4207620 4208934 4212661 4237882 4240588 4244494 4273297 4275327 4284175 4294288 4304858 4331384 4342298 4352197 4357866 4373535 4375074 4384005 4390495 4393094 4404469 4414688 4433360 4436651 4445068 4460473 4502941 4515894 4533797 4558247 4559777 4561476 4562871 4579138 4607190 4614471 4620006 4623378 4637450 4655438 4667074 4675867 4685395 4694180 4704565 4707917 4715415 4730074 4737154 4748053 4752894 4761823 4769043 4770327 4773038 4788915 4798758 4813038 4821450 4838265 4859543 4877916 4897445 4901948 4913027 4915214 4920323 4922643 4947864 4949074 4951519 4970888 4978296 4989441 4996194 5002155 5008671 5013998 5024357 5044523 5057157 5063983 5066060 5067675 5085109 5102139 5110689 5130494 5134839 5136863 5180509 5185245 5191344 5211060 5216720 5262167 5270147 5277678 5280422 5282683 5288246 5290089 5305074 5312392 5321709 5326697 5336816 5338241 5344444 5350565 5357183 5360837 5365413 5366855 5374942 5387183 5397985 5406770 5410596 5428673 5433808 5444544 5449794 5452821 5456362 5464777 5473302 5480302 5486438 5489237 5494212 5514024 5533484 5546245 5548786 5551954 5563639 5597219 5606276 5635427 5644474 5663248 5669858 5688754 5698462 5703064 5730167 5733892 5737474 5750786 5760665 5771807 5788907 5791404 5795056 5818972 5831586 5835051 5841696 5843926 5856096 5871819 5874812 5895865 5902814 5904433 5915333 5927956 5929886 5936113 5955128 5956695 5962058 5965015 5966647 5967766 5982602 6000868 6005599 6012700 6023614 6029328 6034017 6062078 6067574 6078494 6079888 6089740 6105022 6114450 6131864 6142498 6146302 6156323 6176817 6182268 6206086 6210516 6244497 6255191 6258307 6261734 6284875 6296737 6307643 6319744 6328631 6337166 6342906 6354801 6360261 6374767 6379240 6390077 6393189 6412405 6415262 6422552 6431812 6442133 6466705 6475156 6481121 6498798 6500194 6508638 6512554 6531535 6550506 6567752 6574152 6581086 6589108 6592410 6596219 6600599 6608199 6639716 6661106 6668217 6672295 6693573 6696880 6703886 6716851 6720660 6721674 6724387 6736294 6740654 6756307 6778923 6800361 6803629 6820901 6823729 6829282 6851750 6857777 6860402 6881219 6904232 6912491 6915271 6930620 6949650 6955164 6958952 6995228 7005925 7010188 7018777 7043357 7067326 7068403 7071078 7104732 7106963 7119275 7144555 7147150 7188893 7191707 7192825 7196954 7212961 7223887 7232759 7242714 7248773 7265070 7272546 7289544 7291315 7307330 7312980 7315691 7318210 7327946 7339024 7354542 7360570 7371573 7376185 7377717 7384995 7386410 7392234 7394371 7411635 7425273 7429792 7436465 7456486 7484764 7488996 7503458 7515330 7522184 7531563 7538670 7539915 7544298 7556097 7558695 7562489 7567472 7568636 7570921 7580971 7586409 7601850 7611114 7620829 7629192 7636331 7640173 7652631 7689813 7706083 7708114 7717883 7725332 7731025 7741039 7742086 7744870 7753225 7756079 7762002 7776062 7781176 7782727 7798804 7825713 7832065 7842541 7851754 7854294 7865220 7878744 7880688 7883613 7884785 7886288 7893828 7903137 7906810 7925767 7936745 7944736 7951395 7963578 7968883 7972712 7974562 7977093 7987499 7994834 7999438 8015523 8025354 8028370 8031995 8087724 8128172 8133741 8142570 8149244 8156791 8169765 8173648 8178850 8184451 8195910 8200627 8214853 8220986 8252207 8260040 8263635 8274810 8293248 8312211 8313852 8316892 8338726 8353355 8356710 8361407 8368825 8403217 8408197 8424367 8430216 8436287 8446882 8468965 8472699 8485896 8503903 8512475 8527017 8528856 8531663 8544385 8554959 8559315 8591077 8603246 8612454 8616155 8623815 8631884 8634655 8639363 8668615 8681582 8686082 8700332 8704511 8726623 8732109 8733848 8747909 8762684 8784996 8786771 8806157 8810817 8825454 8844473 8889183 8891722 8930253 8935837 8936983 8943671 8945001 8968312 8979599 8988954 9002444 9014285 9021129 9028218 9055048 9076860 9086803 9119723 9129475 9159946 9193128 9210233 9211469 9241572 9252095 9269419 9287248 9288610 9298985 9303572 9308979 9310140 9316388 9323882 9327325 9342693 9344955 9348501 9359532 9362018 9393721 9423058 9425310 9437405 9458823 9470174 9477637 9507239 9514394 9516043 9525730 9551421 9553391 9555557 9564113 9568711 9571982 9579534 9580957 9582651 9609951 9636438 9639966 9649412 9670187 9679372 9682147 9694821 9703974 9706605 9708579 9710720 9719634 9723729 9734322 9749390 9754343 9764465 9765825 9769319 9794487 9796305 9802043 9805896 9820251 9824661 9826200 9832255 9839648 9849841 9851751 9871751 9874693 9877626 9879503 9890488 9897026 9905033 9925113 9946997 9950090 9955231 9961489 9963037 9968789 9984513 9996726 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml index 25ee7dae9..cc0fb2f8f 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-small-out.xml @@ -1,13 +1,4 @@ - - 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 - - - 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 - - - 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 1 2 2 1 2 2 2 1 2 2 2 2 2 2 2 - 14159 18777 20123 32635 48558 75686 100355 103147 113993 115604 117387 140475 145167 146519 161874 163728 178066 215683 223960 228689 233148 234007 246256 254231 276690 279706 298851 300429 303737 320939 331642 336491 357281 370713 377927 391242 421923 440282 446090 465374 468351 480018 484666 491976 495304 500369 504264 515725 529534 535079 537242 540737 545285 549954 563610 569173 643960 647616 650747 654707 661804 663922 673668 675594 683052 698813 713137 721596 735680 752943 762452 767879 784454 795664 799364 808928 817251 832734 836768 843622 849553 888412 891914 897996 901544 910220 953689 955496 978732 982913 1000433 1003423 1012970 1035585 1073828 1079966 1081717 1090063 1099722 1110743 1127918 1135762 1139875 1144516 1157471 1158953 1161841 1181320 1199343 1218946 1220251 1224318 1226825 1252510 1254248 1265458 1276792 1300154 1308851 1311251 1313858 1318765 1325783 1329351 1332664 1342456 1346018 1354032 1370036 1372945 1377888 1395245 1414766 1441820 1450147 1453016 1457226 1466598 1470887 1506384 1510537 1514289 1517626 1529152 1530483 1542002 1545872 1583040 1591649 1614730 1638290 1640902 1644772 1647007 1649249 1686783 1691867 1702600 1709983 1714118 1733136 1741440 1750174 1761304 1793672 1803162 1810576 1834071 1844491 1850175 1862603 1867909 1870733 1872950 1876394 1878206 1884721 1895763 1900020 1912440 1929327 1949780 1952125 1959364 1979927 1982232 1992534 diff --git a/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml b/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml index 1e85011cf..2bee30482 100644 --- a/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml +++ b/Testing/RegressionTesting/GoodOutput/Gpu/test-tiny-out.xml @@ -1,10 +1,13 @@ + + 5738 8228 + + + 2 1 2 2 + 0 1 0 1 0 0 1 1 - - 2 1 2 2 - diff --git a/Testing/RegressionTesting/configfiles/test-medium-911.xml b/Testing/RegressionTesting/configfiles/test-medium-911.xml new file mode 100644 index 000000000..3abb8e2a0 --- /dev/null +++ b/Testing/RegressionTesting/configfiles/test-medium-911.xml @@ -0,0 +1,51 @@ + + + + + + 200 + 1440 + + 1 + + + 100 + + 190 + + + 1 + 1 + + + + + + 0.85 + + 30.0 + + + + + + + ../configfiles/graphs/test-medium-911.graphml + 0 + 0 + + + + ../configfiles/inputs/test-medium-911-calls.xml + + + + + + + + ../Testing/RegressionTesting/TestOutput/test-medium-911-out.xml + + + + diff --git a/Testing/RunTests.sh b/Testing/RunTests.sh index 20057a9a2..00b7c655b 100644 --- a/Testing/RunTests.sh +++ b/Testing/RunTests.sh @@ -79,7 +79,8 @@ else "test-medium" "test-medium-connected" "test-medium-long" - "test-medium-connected-long") + "test-medium-connected-long" + "test-small-911") fi # This function starts the simulations in parallel diff --git a/Testing/UnitTesting/InputManagerTests.cpp b/Testing/UnitTesting/InputManagerTests.cpp index 38a5167a0..5230fdc56 100644 --- a/Testing/UnitTesting/InputManagerTests.cpp +++ b/Testing/UnitTesting/InputManagerTests.cpp @@ -43,8 +43,8 @@ TEST_F(InputManagerFixture, queueFront) EXPECT_EQ(event.time, 0); EXPECT_EQ(event.duration, 0); EXPECT_EQ(event.type, "EMS"); - EXPECT_DOUBLE_EQ(event.x, -122.38496236371942); - EXPECT_DOUBLE_EQ(event.y, 47.570236838209546); + EXPECT_FLOAT_EQ(event.x, -122.38496236371942); + EXPECT_FLOAT_EQ(event.y, 47.570236838209546); } TEST_F(InputManagerFixture, queueFrontException) @@ -77,8 +77,8 @@ TEST_F(InputManagerFixture, getEpochEvents) EXPECT_EQ(call1->time, 0); EXPECT_EQ(call1->duration, 0); EXPECT_EQ(call1->type, "EMS"); - EXPECT_DOUBLE_EQ(call1->x, -122.38496236371942); - EXPECT_DOUBLE_EQ(call1->y, 47.570236838209546); + EXPECT_FLOAT_EQ(call1->x, -122.38496236371942); + EXPECT_FLOAT_EQ(call1->y, 47.570236838209546); // Check that we ge the correct information for the second // expected event @@ -88,8 +88,8 @@ TEST_F(InputManagerFixture, getEpochEvents) EXPECT_EQ(call2->time, 34); EXPECT_EQ(call2->duration, 230); EXPECT_EQ(call2->type, "EMS"); - EXPECT_DOUBLE_EQ(call2->x, -122.37482094435583); - EXPECT_DOUBLE_EQ(call2->y, 47.64839548276973); + EXPECT_FLOAT_EQ(call2->x, -122.37482094435583); + EXPECT_FLOAT_EQ(call2->y, 47.64839548276973); // Get event for vertex 195 CircularBuffer v195Queue(5); @@ -105,8 +105,8 @@ TEST_F(InputManagerFixture, getEpochEvents) EXPECT_EQ(call3->time, 388); EXPECT_EQ(call3->duration, 45); EXPECT_EQ(call3->type, "Law"); - EXPECT_DOUBLE_EQ(call3->x, -122.37746466732693); - EXPECT_DOUBLE_EQ(call3->y, 47.711139673719046); + EXPECT_FLOAT_EQ(call3->x, -122.37746466732693); + EXPECT_FLOAT_EQ(call3->y, 47.711139673719046); } TEST_F(InputManagerFixture, nonEmptyEventQueue) @@ -191,4 +191,9 @@ TEST(InputManager, readNeuroInputs) ASSERT_EQ(inputManager.getClockTickSize(), 100); ASSERT_EQ(inputManager.getClockTickUnit(), "usec"); +} + +TEST_F(InputManagerFixture, totalNumberOfEvents) +{ + ASSERT_EQ(inputManager.getTotalNumberOfEvents(), 8); } \ No newline at end of file diff --git a/Testing/UnitTesting/OperationManagerTestingClass.h b/Testing/UnitTesting/OperationManagerTestingClass.h index 3527cb988..cc453986d 100644 --- a/Testing/UnitTesting/OperationManagerTestingClass.h +++ b/Testing/UnitTesting/OperationManagerTestingClass.h @@ -37,6 +37,12 @@ class Foo : public IFoo { { cout << "Foo printing parameters" << endl; } + + void loadEpochInputs(uint64_t currentStep, uint64_t endStep) + { + cout << "Foo current step: " << currentStep << endl; + cout << "Foo end step: " << endStep << endl; + } }; diff --git a/Testing/UnitTesting/OperationManagerTests.cpp b/Testing/UnitTesting/OperationManagerTests.cpp index 0a54afb90..433e4a0ab 100644 --- a/Testing/UnitTesting/OperationManagerTests.cpp +++ b/Testing/UnitTesting/OperationManagerTests.cpp @@ -48,4 +48,21 @@ TEST(OperationManager, OperationExecutionSuccess) TEST(OperationManager, OperationExecutionContainsNoFunctionsOfOperationType) { EXPECT_NO_FATAL_FAILURE(OperationManager::getInstance().executeOperation(Operations::copyToGPU)); +} + +TEST(OperationManager, AddingNonEmptySignatureOperation) +{ + Foo foo; + function function + = std::bind(&Foo::loadEpochInputs, foo, std::placeholders::_1, std::placeholders::_2); + EXPECT_NO_FATAL_FAILURE( + OperationManager::getInstance().registerOperation(Operations::loadEpochInputs, function)); +} + +TEST(OperationManager, NonEmptySignatureOperationExecution) +{ + uint64_t currentStep = 10; + uint64_t endStep = 20; + EXPECT_NO_FATAL_FAILURE(OperationManager::getInstance().executeOperation( + Operations::loadEpochInputs, currentStep, endStep)); } \ No newline at end of file diff --git a/configfiles/graphs/test-medium-911.graphml b/configfiles/graphs/test-medium-911.graphml new file mode 100644 index 000000000..d86a3e791 --- /dev/null +++ b/configfiles/graphs/test-medium-911.graphml @@ -0,0 +1,21160 @@ + + + + + + + + + + + + + PSAP + PSAP_920@GraphGeneration.gov + PSAP_920 + 6 + 3 + 118.36261166039608 + 102.25562765898832 + + + PSAP + PSAP_1012@GraphGeneration.gov + PSAP_1012 + 5 + 3 + 190.74906276676657 + 112.81476824519619 + + + PSAP + PSAP_1564@GraphGeneration.gov + PSAP_1564 + 10 + 3 + 185.00640471230477 + 155.24513553065935 + + + PSAP + PSAP_1656@GraphGeneration.gov + PSAP_1656 + 5 + 3 + 14.066553219857319 + 186.08742555861383 + + + PSAP + PSAP_1748@GraphGeneration.gov + PSAP_1748 + 5 + 3 + 122.41127934141082 + 189.8837772694578 + + + PSAP + PSAP_1840@GraphGeneration.gov + PSAP_1840 + 10 + 3 + 161.73869925694777 + 174.44284578967088 + + + PSAP + PSAP_0@GraphGeneration.gov + PSAP_0 + 6 + 4 + 53.48105053685491 + 5.539701726084953 + + + PSAP + PSAP_276@GraphGeneration.gov + PSAP_276 + 6 + 4 + 40.59297197927873 + 32.545267191775146 + + + PSAP + PSAP_460@GraphGeneration.gov + PSAP_460 + 6 + 4 + 162.1606566813899 + 55.5315744963312 + + + PSAP + PSAP_736@GraphGeneration.gov + PSAP_736 + 8 + 4 + 138.59452189729515 + 72.25039517887713 + + + PSAP + PSAP_828@GraphGeneration.gov + PSAP_828 + 8 + 4 + 41.02530208940383 + 97.61170706435864 + + + PSAP + PSAP_1104@GraphGeneration.gov + PSAP_1104 + 9 + 4 + 11.325542760627709 + 132.93888819507154 + + + PSAP + PSAP_1288@GraphGeneration.gov + PSAP_1288 + 10 + 4 + 186.77533039581544 + 121.76822806013962 + + + PSAP + PSAP_92@GraphGeneration.gov + PSAP_92 + 5 + 5 + 124.98584500655676 + 4.5121877609966035 + + + PSAP + PSAP_184@GraphGeneration.gov + PSAP_184 + 10 + 5 + 176.53967467574878 + 13.18920629063176 + + + PSAP + PSAP_368@GraphGeneration.gov + PSAP_368 + 6 + 5 + 129.44018685387505 + 49.63991163021935 + + + PSAP + PSAP_552@GraphGeneration.gov + PSAP_552 + 10 + 5 + 36.2601046004757 + 73.78334131801273 + + + PSAP + PSAP_644@GraphGeneration.gov + PSAP_644 + 10 + 5 + 99.82881503873074 + 79.45386869802095 + + + PSAP + PSAP_1196@GraphGeneration.gov + PSAP_1196 + 9 + 5 + 114.6707888292886 + 130.42276792062492 + + + PSAP + PSAP_1380@GraphGeneration.gov + PSAP_1380 + 5 + 5 + 47.76112741886401 + 162.74619484366235 + + + PSAP + PSAP_1472@GraphGeneration.gov + PSAP_1472 + 5 + 5 + 128.26454380644486 + 146.97958922558072 + + + EMS + EMS_7@GraphGeneration.gov + EMS_7 + 8 + 3 + 45.684330707676956 + 12.395612110915156 + + + EMS + EMS_10@GraphGeneration.gov + EMS_10 + 7 + 3 + 22.956864898372256 + 17.844146242455704 + + + EMS + EMS_12@GraphGeneration.gov + EMS_12 + 7 + 3 + 14.762871896014056 + 8.971618698245686 + + + EMS + EMS_13@GraphGeneration.gov + EMS_13 + 10 + 3 + 40.53672689647039 + 8.528388714664947 + + + EMS + EMS_16@GraphGeneration.gov + EMS_16 + 10 + 3 + 43.56325077273006 + 3.520005126897135 + + + EMS + EMS_20@GraphGeneration.gov + EMS_20 + 9 + 3 + 57.2440107638832 + 27.06326381580841 + + + EMS + EMS_23@GraphGeneration.gov + EMS_23 + 12 + 3 + 18.431061224448783 + 5.961061486355322 + + + EMS + EMS_25@GraphGeneration.gov + EMS_25 + 7 + 3 + 24.631924929543263 + 20.49024459026305 + + + EMS + EMS_27@GraphGeneration.gov + EMS_27 + 6 + 3 + 58.479385048465275 + 0.37459831818182593 + + + EMS + EMS_96@GraphGeneration.gov + EMS_96 + 9 + 3 + 84.843260210541 + 3.714350273417958 + + + EMS + EMS_99@GraphGeneration.gov + EMS_99 + 10 + 3 + 78.22128428916174 + 23.582915422267874 + + + EMS + EMS_101@GraphGeneration.gov + EMS_101 + 12 + 3 + 78.96207734489474 + 16.996627263105076 + + + EMS + EMS_106@GraphGeneration.gov + EMS_106 + 9 + 3 + 103.72980606079773 + 5.747431600121522 + + + EMS + EMS_110@GraphGeneration.gov + EMS_110 + 8 + 3 + 106.84318234431748 + 14.225462553475865 + + + EMS + EMS_111@GraphGeneration.gov + EMS_111 + 6 + 3 + 115.55778364859083 + 10.31443499949693 + + + EMS + EMS_116@GraphGeneration.gov + EMS_116 + 9 + 3 + 133.09110555533607 + 21.317347661580943 + + + EMS + EMS_118@GraphGeneration.gov + EMS_118 + 9 + 3 + 69.06428772266115 + 24.088380503028795 + + + EMS + EMS_119@GraphGeneration.gov + EMS_119 + 11 + 3 + 130.9313426684405 + 26.27231751837203 + + + EMS + EMS_120@GraphGeneration.gov + EMS_120 + 10 + 3 + 82.19961786073488 + 6.292159410746571 + + + EMS + EMS_193@GraphGeneration.gov + EMS_193 + 8 + 3 + 181.21142154190116 + 25.07144615724517 + + + EMS + EMS_194@GraphGeneration.gov + EMS_194 + 10 + 3 + 172.35133559307474 + 2.6492973442644074 + + + EMS + EMS_202@GraphGeneration.gov + EMS_202 + 7 + 3 + 149.85599238374493 + 19.933953930685643 + + + EMS + EMS_205@GraphGeneration.gov + EMS_205 + 12 + 3 + 172.80163262272157 + 23.8359499551767 + + + EMS + EMS_206@GraphGeneration.gov + EMS_206 + 8 + 3 + 196.29141211575723 + 11.67330821155046 + + + EMS + EMS_208@GraphGeneration.gov + EMS_208 + 7 + 3 + 144.95954826063928 + 23.629440594493186 + + + EMS + EMS_296@GraphGeneration.gov + EMS_296 + 6 + 3 + 44.93946797263768 + 38.97082052063458 + + + EMS + EMS_298@GraphGeneration.gov + EMS_298 + 12 + 3 + 29.260961958421024 + 55.14961017059406 + + + EMS + EMS_306@GraphGeneration.gov + EMS_306 + 9 + 3 + 18.802184290892406 + 30.70908033192486 + + + EMS + EMS_371@GraphGeneration.gov + EMS_371 + 9 + 3 + 131.91811306414684 + 29.311477866278313 + + + EMS + EMS_375@GraphGeneration.gov + EMS_375 + 8 + 3 + 118.17763107239139 + 38.791754906443096 + + + EMS + EMS_377@GraphGeneration.gov + EMS_377 + 9 + 3 + 82.51275869446529 + 54.222177871784524 + + + EMS + EMS_378@GraphGeneration.gov + EMS_378 + 11 + 3 + 123.56577434848471 + 46.837343318916886 + + + EMS + EMS_379@GraphGeneration.gov + EMS_379 + 12 + 3 + 87.58858199490182 + 39.804221212257396 + + + EMS + EMS_380@GraphGeneration.gov + EMS_380 + 10 + 3 + 96.7171646533693 + 42.67903583256721 + + + EMS + EMS_386@GraphGeneration.gov + EMS_386 + 9 + 3 + 68.88041878889078 + 38.3536904121872 + + + EMS + EMS_387@GraphGeneration.gov + EMS_387 + 8 + 3 + 102.41610981634291 + 55.32688401602216 + + + EMS + EMS_398@GraphGeneration.gov + EMS_398 + 11 + 3 + 80.70503171039871 + 34.035202553340326 + + + EMS + EMS_462@GraphGeneration.gov + EMS_462 + 6 + 3 + 151.1731988926529 + 35.87907210647247 + + + EMS + EMS_468@GraphGeneration.gov + EMS_468 + 7 + 3 + 196.8992901900848 + 53.79307897413114 + + + EMS + EMS_475@GraphGeneration.gov + EMS_475 + 7 + 3 + 192.8781259593108 + 54.93182432608302 + + + EMS + EMS_477@GraphGeneration.gov + EMS_477 + 7 + 3 + 147.71900760387 + 30.838747420927255 + + + EMS + EMS_478@GraphGeneration.gov + EMS_478 + 10 + 3 + 167.07442427821394 + 56.70551856511803 + + + EMS + EMS_479@GraphGeneration.gov + EMS_479 + 9 + 3 + 140.55071096625963 + 47.52799320489429 + + + EMS + EMS_483@GraphGeneration.gov + EMS_483 + 9 + 3 + 135.26742431171144 + 39.261133069364696 + + + EMS + EMS_484@GraphGeneration.gov + EMS_484 + 10 + 3 + 160.5081597513588 + 40.261322045818346 + + + EMS + EMS_489@GraphGeneration.gov + EMS_489 + 11 + 3 + 165.85191416437468 + 44.00950520814835 + + + EMS + EMS_555@GraphGeneration.gov + EMS_555 + 7 + 3 + 23.558449212854203 + 76.96043131185675 + + + EMS + EMS_556@GraphGeneration.gov + EMS_556 + 12 + 3 + 13.533412548734127 + 75.03913341373018 + + + EMS + EMS_559@GraphGeneration.gov + EMS_559 + 6 + 3 + 52.21742820613614 + 66.8319260285027 + + + EMS + EMS_564@GraphGeneration.gov + EMS_564 + 6 + 3 + 3.5427276895848796 + 74.06168785876761 + + + EMS + EMS_566@GraphGeneration.gov + EMS_566 + 8 + 3 + 35.832983989918134 + 62.39289636785928 + + + EMS + EMS_568@GraphGeneration.gov + EMS_568 + 7 + 3 + 41.75905588346348 + 81.14518165658589 + + + EMS + EMS_572@GraphGeneration.gov + EMS_572 + 8 + 3 + 53.17614009485008 + 64.72812656026305 + + + EMS + EMS_576@GraphGeneration.gov + EMS_576 + 7 + 3 + 16.72626238759337 + 66.03330989236056 + + + EMS + EMS_577@GraphGeneration.gov + EMS_577 + 7 + 3 + 59.72756969209287 + 77.73258586211416 + + + EMS + EMS_578@GraphGeneration.gov + EMS_578 + 8 + 3 + 3.559194014138956 + 65.69492846239093 + + + EMS + EMS_646@GraphGeneration.gov + EMS_646 + 10 + 3 + 103.25716457712252 + 84.78672922617136 + + + EMS + EMS_649@GraphGeneration.gov + EMS_649 + 9 + 3 + 68.06431363631589 + 67.40682698940061 + + + EMS + EMS_650@GraphGeneration.gov + EMS_650 + 7 + 3 + 92.03650687041979 + 84.57784731831526 + + + EMS + EMS_654@GraphGeneration.gov + EMS_654 + 9 + 3 + 79.95934912246324 + 75.41407010452687 + + + EMS + EMS_655@GraphGeneration.gov + EMS_655 + 6 + 3 + 84.83577544438207 + 60.75708101918608 + + + EMS + EMS_747@GraphGeneration.gov + EMS_747 + 7 + 3 + 182.15989294153363 + 79.82479794900948 + + + EMS + EMS_756@GraphGeneration.gov + EMS_756 + 8 + 3 + 138.6900482303634 + 70.91028101099914 + + + EMS + EMS_765@GraphGeneration.gov + EMS_765 + 9 + 3 + 149.9843020387271 + 82.7865351805368 + + + EMS + EMS_830@GraphGeneration.gov + EMS_830 + 8 + 3 + 35.19556269453453 + 113.93603446562128 + + + EMS + EMS_834@GraphGeneration.gov + EMS_834 + 12 + 3 + 28.239230432558415 + 87.30772132710435 + + + EMS + EMS_838@GraphGeneration.gov + EMS_838 + 7 + 3 + 34.08890787004895 + 88.71297080939291 + + + EMS + EMS_840@GraphGeneration.gov + EMS_840 + 11 + 3 + 61.96115890156377 + 92.87149637662986 + + + EMS + EMS_842@GraphGeneration.gov + EMS_842 + 10 + 3 + 29.609409510777354 + 91.65794343550701 + + + EMS + EMS_844@GraphGeneration.gov + EMS_844 + 7 + 3 + 34.780808598859686 + 108.0363187562699 + + + EMS + EMS_853@GraphGeneration.gov + EMS_853 + 9 + 3 + 54.08185039317525 + 94.39705068859168 + + + EMS + EMS_926@GraphGeneration.gov + EMS_926 + 8 + 3 + 119.59235962503095 + 91.04116095488686 + + + EMS + EMS_940@GraphGeneration.gov + EMS_940 + 8 + 3 + 90.53617552200308 + 107.74798428969515 + + + EMS + EMS_941@GraphGeneration.gov + EMS_941 + 10 + 3 + 111.24429704599565 + 96.75956175243152 + + + EMS + EMS_944@GraphGeneration.gov + EMS_944 + 6 + 3 + 114.13388641297519 + 104.4254645199095 + + + EMS + EMS_1014@GraphGeneration.gov + EMS_1014 + 7 + 3 + 186.35365486205956 + 104.5211452848882 + + + EMS + EMS_1015@GraphGeneration.gov + EMS_1015 + 7 + 3 + 139.0683703041828 + 102.7670507336778 + + + EMS + EMS_1019@GraphGeneration.gov + EMS_1019 + 8 + 3 + 169.33481224423798 + 86.53438186872685 + + + EMS + EMS_1032@GraphGeneration.gov + EMS_1032 + 12 + 3 + 170.54616635856252 + 86.52522702804694 + + + EMS + EMS_1034@GraphGeneration.gov + EMS_1034 + 9 + 3 + 198.1637894718589 + 98.72441041923541 + + + EMS + EMS_1037@GraphGeneration.gov + EMS_1037 + 6 + 3 + 157.73302951980355 + 101.83655683973171 + + + EMS + EMS_1039@GraphGeneration.gov + EMS_1039 + 6 + 3 + 191.4007779359336 + 103.75019786174667 + + + EMS + EMS_1041@GraphGeneration.gov + EMS_1041 + 11 + 3 + 152.1275329164672 + 101.44147649976782 + + + EMS + EMS_1109@GraphGeneration.gov + EMS_1109 + 11 + 3 + 56.0666769464647 + 116.19992108946121 + + + EMS + EMS_1110@GraphGeneration.gov + EMS_1110 + 6 + 3 + 49.49404386118493 + 121.86630825778192 + + + EMS + EMS_1119@GraphGeneration.gov + EMS_1119 + 8 + 3 + 33.03643913101277 + 119.10341428549333 + + + EMS + EMS_1120@GraphGeneration.gov + EMS_1120 + 12 + 3 + 27.317911317031363 + 131.99623837291887 + + + EMS + EMS_1125@GraphGeneration.gov + EMS_1125 + 9 + 3 + 41.23544800073192 + 129.1114253992563 + + + EMS + EMS_1126@GraphGeneration.gov + EMS_1126 + 9 + 3 + 4.685243379641284 + 120.62559876805453 + + + EMS + EMS_1132@GraphGeneration.gov + EMS_1132 + 12 + 3 + 31.53642504053306 + 120.16283752923093 + + + EMS + EMS_1133@GraphGeneration.gov + EMS_1133 + 9 + 3 + 29.873750162490655 + 124.80135814088 + + + EMS + EMS_1197@GraphGeneration.gov + EMS_1197 + 6 + 3 + 119.69876160389165 + 131.63559081468088 + + + EMS + EMS_1200@GraphGeneration.gov + EMS_1200 + 12 + 3 + 73.71936413166263 + 120.62021462757595 + + + EMS + EMS_1202@GraphGeneration.gov + EMS_1202 + 9 + 3 + 106.56912227124695 + 120.04337869449665 + + + EMS + EMS_1204@GraphGeneration.gov + EMS_1204 + 10 + 3 + 114.2471178921621 + 129.02290693320705 + + + EMS + EMS_1207@GraphGeneration.gov + EMS_1207 + 6 + 3 + 114.45497449285153 + 132.2773212904305 + + + EMS + EMS_1213@GraphGeneration.gov + EMS_1213 + 12 + 3 + 90.9535423322244 + 115.38481419011217 + + + EMS + EMS_1215@GraphGeneration.gov + EMS_1215 + 9 + 3 + 131.29563710428536 + 138.9203424518477 + + + EMS + EMS_1217@GraphGeneration.gov + EMS_1217 + 7 + 3 + 129.3803718264499 + 133.42139418116474 + + + EMS + EMS_1218@GraphGeneration.gov + EMS_1218 + 7 + 3 + 100.74678521002404 + 120.10516056692931 + + + EMS + EMS_1219@GraphGeneration.gov + EMS_1219 + 11 + 3 + 79.02522854032824 + 115.47968160230239 + + + EMS + EMS_1221@GraphGeneration.gov + EMS_1221 + 7 + 3 + 91.22158320377272 + 141.8832830739202 + + + EMS + EMS_1222@GraphGeneration.gov + EMS_1222 + 6 + 3 + 125.81513724712335 + 115.50144185575287 + + + EMS + EMS_1224@GraphGeneration.gov + EMS_1224 + 10 + 3 + 123.28717927016312 + 120.82853433320514 + + + EMS + EMS_1294@GraphGeneration.gov + EMS_1294 + 8 + 3 + 146.72083583941742 + 123.62925968391946 + + + EMS + EMS_1295@GraphGeneration.gov + EMS_1295 + 9 + 3 + 147.2746875318341 + 141.72819134536056 + + + EMS + EMS_1298@GraphGeneration.gov + EMS_1298 + 9 + 3 + 179.7089278638544 + 138.24279769685225 + + + EMS + EMS_1299@GraphGeneration.gov + EMS_1299 + 6 + 3 + 159.13654409818196 + 122.43321840446885 + + + EMS + EMS_1302@GraphGeneration.gov + EMS_1302 + 7 + 3 + 174.51111655647514 + 118.06930039267512 + + + EMS + EMS_1303@GraphGeneration.gov + EMS_1303 + 11 + 3 + 170.9203899866778 + 123.13108304920668 + + + EMS + EMS_1305@GraphGeneration.gov + EMS_1305 + 10 + 3 + 185.34047303384656 + 117.64708180179775 + + + EMS + EMS_1309@GraphGeneration.gov + EMS_1309 + 11 + 3 + 146.27328998610437 + 125.76453008792058 + + + EMS + EMS_1315@GraphGeneration.gov + EMS_1315 + 11 + 3 + 187.36427123805882 + 141.9368395034346 + + + EMS + EMS_1381@GraphGeneration.gov + EMS_1381 + 8 + 3 + 5.3492953243621395 + 155.599181951314 + + + EMS + EMS_1383@GraphGeneration.gov + EMS_1383 + 12 + 3 + 12.385316957969916 + 156.20416613109444 + + + EMS + EMS_1388@GraphGeneration.gov + EMS_1388 + 9 + 3 + 1.1625912429850414 + 168.9039458126758 + + + EMS + EMS_1389@GraphGeneration.gov + EMS_1389 + 7 + 3 + 12.71995452535931 + 160.02677293932982 + + + EMS + EMS_1390@GraphGeneration.gov + EMS_1390 + 11 + 3 + 21.95379185578813 + 151.5795254157275 + + + EMS + EMS_1394@GraphGeneration.gov + EMS_1394 + 11 + 3 + 31.788911312447873 + 165.7497703727765 + + + EMS + EMS_1395@GraphGeneration.gov + EMS_1395 + 11 + 3 + 28.89474600495124 + 143.37944065511303 + + + EMS + EMS_1402@GraphGeneration.gov + EMS_1402 + 10 + 3 + 33.52760713801675 + 151.07974585728695 + + + EMS + EMS_1406@GraphGeneration.gov + EMS_1406 + 10 + 3 + 10.443227601979503 + 158.33777714519536 + + + EMS + EMS_1407@GraphGeneration.gov + EMS_1407 + 10 + 3 + 40.30439636111619 + 170.16761619418878 + + + EMS + EMS_1408@GraphGeneration.gov + EMS_1408 + 7 + 3 + 66.33361365470638 + 169.9807945710877 + + + EMS + EMS_1473@GraphGeneration.gov + EMS_1473 + 9 + 3 + 89.14257113579399 + 144.2199452194772 + + + EMS + EMS_1474@GraphGeneration.gov + EMS_1474 + 11 + 3 + 131.35478145549808 + 165.60461925390456 + + + EMS + EMS_1475@GraphGeneration.gov + EMS_1475 + 10 + 3 + 102.358642387392 + 163.34295671036392 + + + EMS + EMS_1485@GraphGeneration.gov + EMS_1485 + 11 + 3 + 117.7294726769618 + 158.65846857960793 + + + EMS + EMS_1488@GraphGeneration.gov + EMS_1488 + 9 + 3 + 122.13089287597884 + 170.36909900101355 + + + EMS + EMS_1490@GraphGeneration.gov + EMS_1490 + 7 + 3 + 112.43988713900453 + 147.96438699891723 + + + EMS + EMS_1491@GraphGeneration.gov + EMS_1491 + 12 + 3 + 101.95689427933513 + 147.43685464821115 + + + EMS + EMS_1492@GraphGeneration.gov + EMS_1492 + 8 + 3 + 96.40936586314378 + 159.58356893025694 + + + EMS + EMS_1493@GraphGeneration.gov + EMS_1493 + 10 + 3 + 99.53995132860042 + 170.06081638552257 + + + EMS + EMS_1502@GraphGeneration.gov + EMS_1502 + 10 + 3 + 81.39672087269939 + 167.04225994901282 + + + EMS + EMS_1567@GraphGeneration.gov + EMS_1567 + 10 + 3 + 166.82404701263096 + 169.87532005652628 + + + EMS + EMS_1584@GraphGeneration.gov + EMS_1584 + 7 + 3 + 199.25363211519942 + 169.75562848251107 + + + EMS + EMS_1585@GraphGeneration.gov + EMS_1585 + 9 + 3 + 171.03171190663355 + 155.35523352598568 + + + EMS + EMS_1659@GraphGeneration.gov + EMS_1659 + 12 + 3 + 27.936271559116705 + 184.63417468874792 + + + EMS + EMS_1661@GraphGeneration.gov + EMS_1661 + 6 + 3 + 41.90842215457704 + 173.1458002678863 + + + EMS + EMS_1665@GraphGeneration.gov + EMS_1665 + 7 + 3 + 34.627238347497645 + 176.33294006588406 + + + EMS + EMS_1672@GraphGeneration.gov + EMS_1672 + 6 + 3 + 58.846612251078774 + 196.32039684931544 + + + EMS + EMS_1682@GraphGeneration.gov + EMS_1682 + 8 + 3 + 8.169835457024737 + 183.270877150289 + + + EMS + EMS_1683@GraphGeneration.gov + EMS_1683 + 10 + 3 + 37.795099963227635 + 187.93813586906077 + + + EMS + EMS_1755@GraphGeneration.gov + EMS_1755 + 10 + 3 + 121.76524496883593 + 199.0747906273082 + + + EMS + EMS_1756@GraphGeneration.gov + EMS_1756 + 7 + 3 + 79.96262869325726 + 185.9738058525145 + + + EMS + EMS_1758@GraphGeneration.gov + EMS_1758 + 8 + 3 + 101.00731254134314 + 199.61069063684127 + + + EMS + EMS_1764@GraphGeneration.gov + EMS_1764 + 12 + 3 + 87.11387569301786 + 176.89599386942484 + + + EMS + EMS_1766@GraphGeneration.gov + EMS_1766 + 10 + 3 + 121.68728127305477 + 194.7106841397353 + + + EMS + EMS_1770@GraphGeneration.gov + EMS_1770 + 7 + 3 + 109.48504453298617 + 184.0813405475857 + + + EMS + EMS_1772@GraphGeneration.gov + EMS_1772 + 9 + 3 + 114.79362903513115 + 171.6000298301522 + + + EMS + EMS_1773@GraphGeneration.gov + EMS_1773 + 6 + 3 + 127.91861464171726 + 194.31665842322812 + + + EMS + EMS_1774@GraphGeneration.gov + EMS_1774 + 10 + 3 + 114.9521941115005 + 188.45805402899342 + + + EMS + EMS_1848@GraphGeneration.gov + EMS_1848 + 6 + 3 + 145.11964079631423 + 198.03865984403163 + + + EMS + EMS_1857@GraphGeneration.gov + EMS_1857 + 7 + 3 + 199.1699565885742 + 178.78775512950014 + + + EMS + EMS_1862@GraphGeneration.gov + EMS_1862 + 11 + 3 + 162.3460279348548 + 172.75920290988665 + + + EMS + EMS_1863@GraphGeneration.gov + EMS_1863 + 8 + 3 + 192.55805425088587 + 176.3576246714392 + + + EMS + EMS_1870@GraphGeneration.gov + EMS_1870 + 8 + 3 + 143.31532006518248 + 193.65493786257537 + + + FIRE + FIRE_32@GraphGeneration.gov + FIRE_32 + 11 + 3 + 47.57057959023745 + 26.254224269575012 + + + FIRE + FIRE_36@GraphGeneration.gov + FIRE_36 + 10 + 3 + 5.222501134114836 + 6.973078231367458 + + + FIRE + FIRE_43@GraphGeneration.gov + FIRE_43 + 9 + 3 + 11.825280193481658 + 22.848353117781063 + + + FIRE + FIRE_46@GraphGeneration.gov + FIRE_46 + 7 + 3 + 63.504211010876645 + 4.8364942883173745 + + + FIRE + FIRE_57@GraphGeneration.gov + FIRE_57 + 8 + 3 + 13.490857540927664 + 14.063708604128864 + + + FIRE + FIRE_60@GraphGeneration.gov + FIRE_60 + 10 + 3 + 26.813846683779968 + 0.4744987351392378 + + + FIRE + FIRE_130@GraphGeneration.gov + FIRE_130 + 9 + 3 + 108.39850414806489 + 22.159351596375203 + + + FIRE + FIRE_132@GraphGeneration.gov + FIRE_132 + 12 + 3 + 128.42310772269946 + 21.903205096975686 + + + FIRE + FIRE_138@GraphGeneration.gov + FIRE_138 + 8 + 3 + 84.08011027526481 + 16.774323743301796 + + + FIRE + FIRE_216@GraphGeneration.gov + FIRE_216 + 11 + 3 + 170.27994294677848 + 0.46477230279969073 + + + FIRE + FIRE_218@GraphGeneration.gov + FIRE_218 + 11 + 3 + 142.81423102253356 + 21.913644847034245 + + + FIRE + FIRE_223@GraphGeneration.gov + FIRE_223 + 8 + 3 + 137.90057614426513 + 3.7399500282800737 + + + FIRE + FIRE_224@GraphGeneration.gov + FIRE_224 + 8 + 3 + 151.1421609232001 + 1.2938513679105494 + + + FIRE + FIRE_233@GraphGeneration.gov + FIRE_233 + 10 + 3 + 185.5434825731878 + 15.78812407873794 + + + FIRE + FIRE_236@GraphGeneration.gov + FIRE_236 + 7 + 3 + 146.07443124880984 + 14.34756133984008 + + + FIRE + FIRE_237@GraphGeneration.gov + FIRE_237 + 11 + 3 + 185.40842457311103 + 8.280549688338827 + + + FIRE + FIRE_241@GraphGeneration.gov + FIRE_241 + 9 + 3 + 164.48891241731138 + 15.896884674475261 + + + FIRE + FIRE_244@GraphGeneration.gov + FIRE_244 + 8 + 3 + 133.58244141638426 + 5.596314442042532 + + + FIRE + FIRE_317@GraphGeneration.gov + FIRE_317 + 9 + 3 + 5.267052479841132 + 29.983430954950585 + + + FIRE + FIRE_321@GraphGeneration.gov + FIRE_321 + 9 + 3 + 33.14115908066283 + 55.87269589146467 + + + FIRE + FIRE_322@GraphGeneration.gov + FIRE_322 + 7 + 3 + 45.71641455623825 + 50.63164853091442 + + + FIRE + FIRE_327@GraphGeneration.gov + FIRE_327 + 7 + 3 + 58.88238218909368 + 38.522274552838496 + + + FIRE + FIRE_328@GraphGeneration.gov + FIRE_328 + 6 + 3 + 4.556081742620159 + 57.02098312629834 + + + FIRE + FIRE_330@GraphGeneration.gov + FIRE_330 + 8 + 3 + 4.002159118747358 + 54.99728354336088 + + + FIRE + FIRE_331@GraphGeneration.gov + FIRE_331 + 11 + 3 + 19.491793737593348 + 37.864053929964406 + + + FIRE + FIRE_333@GraphGeneration.gov + FIRE_333 + 12 + 3 + 12.255172074552727 + 42.71664037829499 + + + FIRE + FIRE_400@GraphGeneration.gov + FIRE_400 + 11 + 3 + 72.75059928891596 + 30.499159760631017 + + + FIRE + FIRE_403@GraphGeneration.gov + FIRE_403 + 6 + 3 + 131.05763731942557 + 34.72139702831529 + + + FIRE + FIRE_409@GraphGeneration.gov + FIRE_409 + 9 + 3 + 74.76069671634727 + 38.85359160036283 + + + FIRE + FIRE_413@GraphGeneration.gov + FIRE_413 + 10 + 3 + 119.42778753295076 + 29.513527716574735 + + + FIRE + FIRE_416@GraphGeneration.gov + FIRE_416 + 8 + 3 + 73.1015351002251 + 55.18255233358076 + + + FIRE + FIRE_421@GraphGeneration.gov + FIRE_421 + 10 + 3 + 106.69667967441627 + 46.07873004080717 + + + FIRE + FIRE_425@GraphGeneration.gov + FIRE_425 + 9 + 3 + 67.24859947227547 + 53.365983953145815 + + + FIRE + FIRE_491@GraphGeneration.gov + FIRE_491 + 12 + 3 + 151.62021241541802 + 56.81577253687372 + + + FIRE + FIRE_495@GraphGeneration.gov + FIRE_495 + 12 + 3 + 150.4133815601329 + 33.71571237063659 + + + FIRE + FIRE_498@GraphGeneration.gov + FIRE_498 + 10 + 3 + 139.8555166337545 + 54.026468987362335 + + + FIRE + FIRE_499@GraphGeneration.gov + FIRE_499 + 8 + 3 + 189.448595234537 + 54.51255740489236 + + + FIRE + FIRE_509@GraphGeneration.gov + FIRE_509 + 12 + 3 + 149.32285607832094 + 54.51447011954008 + + + FIRE + FIRE_510@GraphGeneration.gov + FIRE_510 + 11 + 3 + 192.84557886234208 + 56.77838200801122 + + + FIRE + FIRE_512@GraphGeneration.gov + FIRE_512 + 10 + 3 + 166.15269448292977 + 47.09115875991651 + + + FIRE + FIRE_514@GraphGeneration.gov + FIRE_514 + 9 + 3 + 199.90465199183882 + 40.956742597454706 + + + FIRE + FIRE_585@GraphGeneration.gov + FIRE_585 + 8 + 3 + 39.30999458932309 + 74.66019673863022 + + + FIRE + FIRE_592@GraphGeneration.gov + FIRE_592 + 9 + 3 + 56.90077753201705 + 85.35317464252012 + + + FIRE + FIRE_595@GraphGeneration.gov + FIRE_595 + 11 + 3 + 53.5128703178043 + 69.3846581667842 + + + FIRE + FIRE_597@GraphGeneration.gov + FIRE_597 + 7 + 3 + 38.89940294757533 + 79.16933146660017 + + + FIRE + FIRE_603@GraphGeneration.gov + FIRE_603 + 12 + 3 + 9.036329889032292 + 75.03942989208672 + + + FIRE + FIRE_607@GraphGeneration.gov + FIRE_607 + 7 + 3 + 66.62957541907274 + 67.83075252534688 + + + FIRE + FIRE_608@GraphGeneration.gov + FIRE_608 + 7 + 3 + 33.62886795119296 + 78.87723232400742 + + + FIRE + FIRE_611@GraphGeneration.gov + FIRE_611 + 11 + 3 + 25.18484488704566 + 73.1287009455179 + + + FIRE + FIRE_678@GraphGeneration.gov + FIRE_678 + 12 + 3 + 86.67431008666188 + 72.72126100377709 + + + FIRE + FIRE_679@GraphGeneration.gov + FIRE_679 + 10 + 3 + 101.24791366838636 + 78.28390079823276 + + + FIRE + FIRE_686@GraphGeneration.gov + FIRE_686 + 10 + 3 + 117.5675499399102 + 64.89245108576564 + + + FIRE + FIRE_693@GraphGeneration.gov + FIRE_693 + 12 + 3 + 96.97528585642874 + 67.9252794429342 + + + FIRE + FIRE_694@GraphGeneration.gov + FIRE_694 + 10 + 3 + 81.39655004583713 + 75.7807416809569 + + + FIRE + FIRE_696@GraphGeneration.gov + FIRE_696 + 8 + 3 + 116.14774716749321 + 77.81429004969988 + + + FIRE + FIRE_699@GraphGeneration.gov + FIRE_699 + 7 + 3 + 73.60263899092193 + 69.51428656508075 + + + FIRE + FIRE_703@GraphGeneration.gov + FIRE_703 + 12 + 3 + 99.14631802356413 + 80.11186200293974 + + + FIRE + FIRE_769@GraphGeneration.gov + FIRE_769 + 12 + 3 + 169.13260520621412 + 57.87429939477528 + + + FIRE + FIRE_776@GraphGeneration.gov + FIRE_776 + 6 + 3 + 179.4568572300122 + 62.44118155804556 + + + FIRE + FIRE_793@GraphGeneration.gov + FIRE_793 + 7 + 3 + 184.72326872647653 + 78.19125146175045 + + + FIRE + FIRE_862@GraphGeneration.gov + FIRE_862 + 10 + 3 + 4.1054803343184645 + 86.67873983534686 + + + FIRE + FIRE_864@GraphGeneration.gov + FIRE_864 + 12 + 3 + 14.34531221959603 + 111.98786382579775 + + + FIRE + FIRE_875@GraphGeneration.gov + FIRE_875 + 10 + 3 + 3.606920273034198 + 89.85127266652232 + + + FIRE + FIRE_880@GraphGeneration.gov + FIRE_880 + 10 + 3 + 48.87661117991167 + 104.96966471043504 + + + FIRE + FIRE_882@GraphGeneration.gov + FIRE_882 + 11 + 3 + 61.25583181811367 + 97.26638608707624 + + + FIRE + FIRE_886@GraphGeneration.gov + FIRE_886 + 9 + 3 + 23.69926065265144 + 106.70786620688412 + + + FIRE + FIRE_887@GraphGeneration.gov + FIRE_887 + 8 + 3 + 30.296724695102903 + 101.73126395875015 + + + FIRE + FIRE_888@GraphGeneration.gov + FIRE_888 + 10 + 3 + 6.485397694450882 + 110.76215956870666 + + + FIRE + FIRE_952@GraphGeneration.gov + FIRE_952 + 7 + 3 + 112.99510122399218 + 92.26131911650839 + + + FIRE + FIRE_954@GraphGeneration.gov + FIRE_954 + 12 + 3 + 109.0004714881137 + 103.20778096092675 + + + FIRE + FIRE_958@GraphGeneration.gov + FIRE_958 + 9 + 3 + 83.09991931090269 + 110.03779555549413 + + + FIRE + FIRE_961@GraphGeneration.gov + FIRE_961 + 8 + 3 + 119.63540638428523 + 103.01991514414328 + + + FIRE + FIRE_962@GraphGeneration.gov + FIRE_962 + 12 + 3 + 79.35987873192806 + 100.2439628998095 + + + FIRE + FIRE_963@GraphGeneration.gov + FIRE_963 + 7 + 3 + 126.60935009918128 + 106.15836888003227 + + + FIRE + FIRE_968@GraphGeneration.gov + FIRE_968 + 9 + 3 + 117.09184136045397 + 96.59040102871509 + + + FIRE + FIRE_974@GraphGeneration.gov + FIRE_974 + 10 + 3 + 99.05090425350653 + 86.39697676318929 + + + FIRE + FIRE_975@GraphGeneration.gov + FIRE_975 + 7 + 3 + 120.39267845690435 + 95.68869663838409 + + + FIRE + FIRE_1046@GraphGeneration.gov + FIRE_1046 + 9 + 3 + 196.9564951192461 + 86.12522433802052 + + + FIRE + FIRE_1052@GraphGeneration.gov + FIRE_1052 + 8 + 3 + 142.84748202611428 + 101.54821152625549 + + + FIRE + FIRE_1053@GraphGeneration.gov + FIRE_1053 + 10 + 3 + 138.9173400361225 + 89.20521494734226 + + + FIRE + FIRE_1054@GraphGeneration.gov + FIRE_1054 + 6 + 3 + 195.018139545573 + 113.16804371642417 + + + FIRE + FIRE_1058@GraphGeneration.gov + FIRE_1058 + 8 + 3 + 179.92394658338236 + 113.97148347700085 + + + FIRE + FIRE_1059@GraphGeneration.gov + FIRE_1059 + 9 + 3 + 145.97731208877403 + 99.30702410704431 + + + FIRE + FIRE_1064@GraphGeneration.gov + FIRE_1064 + 8 + 3 + 144.74946924514495 + 85.93822599135157 + + + FIRE + FIRE_1066@GraphGeneration.gov + FIRE_1066 + 9 + 3 + 137.74241944115613 + 109.28645765181527 + + + FIRE + FIRE_1069@GraphGeneration.gov + FIRE_1069 + 11 + 3 + 198.85707718853268 + 112.4493545792754 + + + FIRE + FIRE_1141@GraphGeneration.gov + FIRE_1141 + 10 + 3 + 37.99580066653415 + 121.99366880368049 + + + FIRE + FIRE_1144@GraphGeneration.gov + FIRE_1144 + 10 + 3 + 54.980313121816714 + 120.3857889076061 + + + FIRE + FIRE_1147@GraphGeneration.gov + FIRE_1147 + 6 + 3 + 42.099586210601345 + 118.04832221775425 + + + FIRE + FIRE_1148@GraphGeneration.gov + FIRE_1148 + 12 + 3 + 11.42967815948756 + 127.49730939374592 + + + FIRE + FIRE_1150@GraphGeneration.gov + FIRE_1150 + 10 + 3 + 39.14321055542453 + 132.63780926269948 + + + FIRE + FIRE_1151@GraphGeneration.gov + FIRE_1151 + 10 + 3 + 37.9611075389852 + 139.86601462868714 + + + FIRE + FIRE_1154@GraphGeneration.gov + FIRE_1154 + 11 + 3 + 24.78228709943132 + 120.66507061740215 + + + FIRE + FIRE_1155@GraphGeneration.gov + FIRE_1155 + 11 + 3 + 18.58902315011671 + 119.17194764083864 + + + FIRE + FIRE_1232@GraphGeneration.gov + FIRE_1232 + 12 + 3 + 85.67582042978923 + 133.4824358164288 + + + FIRE + FIRE_1234@GraphGeneration.gov + FIRE_1234 + 7 + 3 + 99.2413960416801 + 130.3617769275604 + + + FIRE + FIRE_1237@GraphGeneration.gov + FIRE_1237 + 10 + 3 + 69.37508337456143 + 132.61158865892426 + + + FIRE + FIRE_1239@GraphGeneration.gov + FIRE_1239 + 6 + 3 + 132.50006674165962 + 131.4742649233014 + + + FIRE + FIRE_1243@GraphGeneration.gov + FIRE_1243 + 12 + 3 + 132.14264497531187 + 132.87300525584806 + + + FIRE + FIRE_1251@GraphGeneration.gov + FIRE_1251 + 10 + 3 + 119.36061296500648 + 119.82211539984287 + + + FIRE + FIRE_1252@GraphGeneration.gov + FIRE_1252 + 6 + 3 + 82.38006193359385 + 132.84036850895393 + + + FIRE + FIRE_1319@GraphGeneration.gov + FIRE_1319 + 8 + 3 + 144.93643612232205 + 133.78638938330755 + + + FIRE + FIRE_1321@GraphGeneration.gov + FIRE_1321 + 10 + 3 + 137.53902502041257 + 134.4835302730417 + + + FIRE + FIRE_1322@GraphGeneration.gov + FIRE_1322 + 11 + 3 + 134.44944708905166 + 117.63881770029971 + + + FIRE + FIRE_1324@GraphGeneration.gov + FIRE_1324 + 10 + 3 + 156.52479355523593 + 133.96907952543444 + + + FIRE + FIRE_1333@GraphGeneration.gov + FIRE_1333 + 10 + 3 + 187.0977180808402 + 125.16013036710578 + + + FIRE + FIRE_1339@GraphGeneration.gov + FIRE_1339 + 10 + 3 + 148.3356274402297 + 119.73120969575794 + + + FIRE + FIRE_1417@GraphGeneration.gov + FIRE_1417 + 8 + 3 + 15.969649363571607 + 155.829595009723 + + + FIRE + FIRE_1424@GraphGeneration.gov + FIRE_1424 + 8 + 3 + 66.13495106611548 + 159.85512120365397 + + + FIRE + FIRE_1432@GraphGeneration.gov + FIRE_1432 + 8 + 3 + 10.007607624024596 + 163.90646211334237 + + + FIRE + FIRE_1434@GraphGeneration.gov + FIRE_1434 + 12 + 3 + 0.5734600906778983 + 168.12814709681118 + + + FIRE + FIRE_1436@GraphGeneration.gov + FIRE_1436 + 9 + 3 + 5.924872127490281 + 158.91535253841494 + + + FIRE + FIRE_1506@GraphGeneration.gov + FIRE_1506 + 10 + 3 + 124.1493779684005 + 169.59001224045747 + + + FIRE + FIRE_1512@GraphGeneration.gov + FIRE_1512 + 10 + 3 + 106.34840595538509 + 161.0132364800669 + + + FIRE + FIRE_1515@GraphGeneration.gov + FIRE_1515 + 10 + 3 + 117.63418125176499 + 165.52548450575944 + + + FIRE + FIRE_1519@GraphGeneration.gov + FIRE_1519 + 6 + 3 + 131.99650119711288 + 160.64925801131653 + + + FIRE + FIRE_1521@GraphGeneration.gov + FIRE_1521 + 8 + 3 + 89.72324057228916 + 157.15572794994836 + + + FIRE + FIRE_1528@GraphGeneration.gov + FIRE_1528 + 12 + 3 + 69.37445674559208 + 170.79576512851952 + + + FIRE + FIRE_1529@GraphGeneration.gov + FIRE_1529 + 12 + 3 + 130.24963148583058 + 161.92866311074917 + + + FIRE + FIRE_1530@GraphGeneration.gov + FIRE_1530 + 12 + 3 + 94.19641705110587 + 165.32387785175698 + + + FIRE + FIRE_1600@GraphGeneration.gov + FIRE_1600 + 11 + 3 + 192.67255749849105 + 157.526643020952 + + + FIRE + FIRE_1601@GraphGeneration.gov + FIRE_1601 + 6 + 3 + 164.30639416457785 + 143.98069820571695 + + + FIRE + FIRE_1602@GraphGeneration.gov + FIRE_1602 + 9 + 3 + 134.98519369924074 + 162.96405782679878 + + + FIRE + FIRE_1603@GraphGeneration.gov + FIRE_1603 + 9 + 3 + 168.45388352714693 + 169.50468014092226 + + + FIRE + FIRE_1604@GraphGeneration.gov + FIRE_1604 + 9 + 3 + 143.394085553768 + 144.6043788226785 + + + FIRE + FIRE_1606@GraphGeneration.gov + FIRE_1606 + 12 + 3 + 171.4094508449777 + 163.12191799769104 + + + FIRE + FIRE_1609@GraphGeneration.gov + FIRE_1609 + 9 + 3 + 182.3091357096501 + 167.27099245044633 + + + FIRE + FIRE_1616@GraphGeneration.gov + FIRE_1616 + 7 + 3 + 189.36554328054723 + 168.70679436270132 + + + FIRE + FIRE_1618@GraphGeneration.gov + FIRE_1618 + 11 + 3 + 148.84556052692142 + 151.49642402800865 + + + FIRE + FIRE_1619@GraphGeneration.gov + FIRE_1619 + 10 + 3 + 143.1896037089847 + 150.50718234136957 + + + FIRE + FIRE_1623@GraphGeneration.gov + FIRE_1623 + 10 + 3 + 183.9923503310525 + 154.15774408999195 + + + FIRE + FIRE_1688@GraphGeneration.gov + FIRE_1688 + 11 + 3 + 17.776040073462955 + 188.24383603091246 + + + FIRE + FIRE_1690@GraphGeneration.gov + FIRE_1690 + 9 + 3 + 33.83366796711004 + 196.99770341446936 + + + FIRE + FIRE_1698@GraphGeneration.gov + FIRE_1698 + 11 + 3 + 33.282922932725405 + 184.55746040305127 + + + FIRE + FIRE_1700@GraphGeneration.gov + FIRE_1700 + 8 + 3 + 44.025708746340115 + 172.63423070600112 + + + FIRE + FIRE_1701@GraphGeneration.gov + FIRE_1701 + 7 + 3 + 17.756283344944006 + 173.94034085583698 + + + FIRE + FIRE_1703@GraphGeneration.gov + FIRE_1703 + 6 + 3 + 59.47358610217616 + 192.3315028954653 + + + FIRE + FIRE_1705@GraphGeneration.gov + FIRE_1705 + 11 + 3 + 1.1580592681277389 + 188.06662369758487 + + + FIRE + FIRE_1706@GraphGeneration.gov + FIRE_1706 + 8 + 3 + 39.731888551464095 + 173.10745070644305 + + + FIRE + FIRE_1708@GraphGeneration.gov + FIRE_1708 + 10 + 3 + 9.116614800719578 + 198.33159329831133 + + + FIRE + FIRE_1709@GraphGeneration.gov + FIRE_1709 + 6 + 3 + 17.464164674105735 + 184.85989950774947 + + + FIRE + FIRE_1710@GraphGeneration.gov + FIRE_1710 + 10 + 3 + 46.4638830707389 + 192.97447157439916 + + + FIRE + FIRE_1791@GraphGeneration.gov + FIRE_1791 + 7 + 3 + 129.18838674117856 + 176.19142734250076 + + + FIRE + FIRE_1803@GraphGeneration.gov + FIRE_1803 + 9 + 3 + 98.28791889105773 + 186.43431750061694 + + + FIRE + FIRE_1804@GraphGeneration.gov + FIRE_1804 + 9 + 3 + 79.00521670793822 + 190.0656889522525 + + + FIRE + FIRE_1806@GraphGeneration.gov + FIRE_1806 + 10 + 3 + 103.81997094644683 + 197.4696753073261 + + + FIRE + FIRE_1877@GraphGeneration.gov + FIRE_1877 + 9 + 3 + 182.81136342907595 + 189.46513303825668 + + + FIRE + FIRE_1879@GraphGeneration.gov + FIRE_1879 + 12 + 3 + 140.91810993325984 + 172.71219225296264 + + + FIRE + FIRE_1880@GraphGeneration.gov + FIRE_1880 + 8 + 3 + 147.33986068342224 + 180.854174688569 + + + FIRE + FIRE_1888@GraphGeneration.gov + FIRE_1888 + 7 + 3 + 156.65123422961406 + 178.30932727735438 + + + FIRE + FIRE_1889@GraphGeneration.gov + FIRE_1889 + 12 + 3 + 171.33413944145718 + 182.74504195278698 + + + FIRE + FIRE_1899@GraphGeneration.gov + FIRE_1899 + 11 + 3 + 189.4037915892209 + 191.67904595008176 + + + LAW + LAW_65@GraphGeneration.gov + LAW_65 + 8 + 3 + 29.81810003999468 + 1.2951546951240298 + + + LAW + LAW_67@GraphGeneration.gov + LAW_67 + 8 + 3 + 55.68254061493399 + 13.026671750122546 + + + LAW + LAW_71@GraphGeneration.gov + LAW_71 + 8 + 3 + 15.148276272004296 + 24.890994857098892 + + + LAW + LAW_72@GraphGeneration.gov + LAW_72 + 12 + 3 + 33.51494288522809 + 16.349014309529487 + + + LAW + LAW_78@GraphGeneration.gov + LAW_78 + 11 + 3 + 33.06495529832618 + 27.910918129747447 + + + LAW + LAW_81@GraphGeneration.gov + LAW_81 + 10 + 3 + 7.039588654102895 + 15.105350097284827 + + + LAW + LAW_85@GraphGeneration.gov + LAW_85 + 10 + 3 + 52.399888122118334 + 15.774945389733288 + + + LAW + LAW_88@GraphGeneration.gov + LAW_88 + 10 + 3 + 0.5135180320106218 + 1.5860408042562646 + + + LAW + LAW_154@GraphGeneration.gov + LAW_154 + 11 + 3 + 95.17008231104307 + 18.99330242898587 + + + LAW + LAW_155@GraphGeneration.gov + LAW_155 + 8 + 3 + 68.48583219299837 + 17.231032232287546 + + + LAW + LAW_170@GraphGeneration.gov + LAW_170 + 10 + 3 + 83.12419942974546 + 8.07107489724747 + + + LAW + LAW_173@GraphGeneration.gov + LAW_173 + 12 + 3 + 117.10056384593204 + 1.2138114538665201 + + + LAW + LAW_177@GraphGeneration.gov + LAW_177 + 6 + 3 + 109.53101609117036 + 23.638880229435028 + + + LAW + LAW_178@GraphGeneration.gov + LAW_178 + 6 + 3 + 121.15092668841908 + 16.505224811286492 + + + LAW + LAW_180@GraphGeneration.gov + LAW_180 + 9 + 3 + 72.08733410586731 + 24.510264949743252 + + + LAW + LAW_246@GraphGeneration.gov + LAW_246 + 6 + 3 + 162.86417118017422 + 12.929682621956932 + + + LAW + LAW_250@GraphGeneration.gov + LAW_250 + 8 + 3 + 184.88805044271936 + 24.689085045662615 + + + LAW + LAW_252@GraphGeneration.gov + LAW_252 + 12 + 3 + 170.17164384379257 + 15.91096918049294 + + + LAW + LAW_253@GraphGeneration.gov + LAW_253 + 12 + 3 + 134.31279832777614 + 11.463557174695335 + + + LAW + LAW_254@GraphGeneration.gov + LAW_254 + 6 + 3 + 198.3120827047888 + 26.59878787539274 + + + LAW + LAW_256@GraphGeneration.gov + LAW_256 + 12 + 3 + 156.57985691874484 + 13.815871325282691 + + + LAW + LAW_271@GraphGeneration.gov + LAW_271 + 7 + 3 + 147.8752073631516 + 6.5400947449046996 + + + LAW + LAW_274@GraphGeneration.gov + LAW_274 + 12 + 3 + 195.91548315330857 + 8.542709886870282 + + + LAW + LAW_338@GraphGeneration.gov + LAW_338 + 9 + 3 + 26.428447173218885 + 47.84106239601367 + + + LAW + LAW_340@GraphGeneration.gov + LAW_340 + 6 + 3 + 30.789870252049365 + 42.420864967365944 + + + LAW + LAW_342@GraphGeneration.gov + LAW_342 + 12 + 3 + 55.93389267185731 + 48.08205584552062 + + + LAW + LAW_350@GraphGeneration.gov + LAW_350 + 9 + 3 + 50.460970753960005 + 37.26432808059144 + + + LAW + LAW_351@GraphGeneration.gov + LAW_351 + 12 + 3 + 59.199080469075376 + 55.352810201187765 + + + LAW + LAW_352@GraphGeneration.gov + LAW_352 + 6 + 3 + 3.1641128350201537 + 55.23932380026754 + + + LAW + LAW_357@GraphGeneration.gov + LAW_357 + 7 + 3 + 53.224377444652575 + 33.50759381782258 + + + LAW + LAW_359@GraphGeneration.gov + LAW_359 + 11 + 3 + 20.063995369913073 + 41.45173559243021 + + + LAW + LAW_362@GraphGeneration.gov + LAW_362 + 10 + 3 + 54.24132095413452 + 54.58483851891866 + + + LAW + LAW_364@GraphGeneration.gov + LAW_364 + 6 + 3 + 9.769982496627543 + 31.28153789904484 + + + LAW + LAW_440@GraphGeneration.gov + LAW_440 + 11 + 3 + 108.7694069103422 + 43.58097493164782 + + + LAW + LAW_455@GraphGeneration.gov + LAW_455 + 10 + 3 + 127.76033951086272 + 50.23094400010396 + + + LAW + LAW_456@GraphGeneration.gov + LAW_456 + 8 + 3 + 109.90027225910411 + 32.58426631365864 + + + LAW + LAW_522@GraphGeneration.gov + LAW_522 + 10 + 3 + 153.8649668876646 + 52.828204414595945 + + + LAW + LAW_526@GraphGeneration.gov + LAW_526 + 7 + 3 + 187.28698258605078 + 32.91252913268218 + + + LAW + LAW_531@GraphGeneration.gov + LAW_531 + 10 + 3 + 158.23735296228685 + 35.62065916207106 + + + LAW + LAW_534@GraphGeneration.gov + LAW_534 + 8 + 3 + 157.97801828480883 + 32.85939534600077 + + + LAW + LAW_539@GraphGeneration.gov + LAW_539 + 8 + 3 + 143.13376933958267 + 49.26497249748273 + + + LAW + LAW_544@GraphGeneration.gov + LAW_544 + 9 + 3 + 163.2725305991702 + 32.67974239014389 + + + LAW + LAW_546@GraphGeneration.gov + LAW_546 + 9 + 3 + 166.25961971307538 + 29.05257665579223 + + + LAW + LAW_614@GraphGeneration.gov + LAW_614 + 8 + 3 + 44.13118065380563 + 71.71312068308842 + + + LAW + LAW_619@GraphGeneration.gov + LAW_619 + 8 + 3 + 1.5102316142698635 + 60.460882375081695 + + + LAW + LAW_624@GraphGeneration.gov + LAW_624 + 9 + 3 + 44.754028129251296 + 62.53555479225413 + + + LAW + LAW_625@GraphGeneration.gov + LAW_625 + 12 + 3 + 35.359137290486856 + 77.59178087616782 + + + LAW + LAW_627@GraphGeneration.gov + LAW_627 + 9 + 3 + 29.919055667410333 + 67.74714329210133 + + + LAW + LAW_629@GraphGeneration.gov + LAW_629 + 11 + 3 + 48.03250245691066 + 58.222497633076365 + + + LAW + LAW_630@GraphGeneration.gov + LAW_630 + 8 + 3 + 40.4289910175408 + 66.79182747960782 + + + LAW + LAW_631@GraphGeneration.gov + LAW_631 + 6 + 3 + 28.703956891728232 + 63.958008349226354 + + + LAW + LAW_633@GraphGeneration.gov + LAW_633 + 12 + 3 + 27.28193505301829 + 84.0775535090695 + + + LAW + LAW_637@GraphGeneration.gov + LAW_637 + 7 + 3 + 21.18407991633821 + 66.93497781452096 + + + LAW + LAW_638@GraphGeneration.gov + LAW_638 + 12 + 3 + 26.611494343948888 + 73.73905905294666 + + + LAW + LAW_641@GraphGeneration.gov + LAW_641 + 11 + 3 + 46.53748631299381 + 58.83309351709392 + + + LAW + LAW_709@GraphGeneration.gov + LAW_709 + 8 + 3 + 74.43941056450055 + 80.30725293188698 + + + LAW + LAW_710@GraphGeneration.gov + LAW_710 + 8 + 3 + 89.40051722094378 + 78.06908509549629 + + + LAW + LAW_711@GraphGeneration.gov + LAW_711 + 7 + 3 + 98.2705884221437 + 71.19693129602389 + + + LAW + LAW_713@GraphGeneration.gov + LAW_713 + 6 + 3 + 68.18382097238143 + 59.47528612328815 + + + LAW + LAW_723@GraphGeneration.gov + LAW_723 + 6 + 3 + 85.91894426424955 + 79.51784803609681 + + + LAW + LAW_727@GraphGeneration.gov + LAW_727 + 8 + 3 + 81.45926108481588 + 80.18637801078359 + + + LAW + LAW_729@GraphGeneration.gov + LAW_729 + 12 + 3 + 117.19387074663138 + 83.3631061857958 + + + LAW + LAW_730@GraphGeneration.gov + LAW_730 + 11 + 3 + 93.18471887966223 + 57.281797025137614 + + + LAW + LAW_732@GraphGeneration.gov + LAW_732 + 12 + 3 + 85.80535743926534 + 64.63755909018715 + + + LAW + LAW_799@GraphGeneration.gov + LAW_799 + 6 + 3 + 174.95383445752805 + 58.37830005357547 + + + LAW + LAW_802@GraphGeneration.gov + LAW_802 + 11 + 3 + 169.44511686951762 + 60.080376574105685 + + + LAW + LAW_803@GraphGeneration.gov + LAW_803 + 11 + 3 + 154.9885415171778 + 63.15837448711678 + + + LAW + LAW_804@GraphGeneration.gov + LAW_804 + 12 + 3 + 176.77197894478257 + 85.61545559675591 + + + LAW + LAW_807@GraphGeneration.gov + LAW_807 + 8 + 3 + 169.9412147292906 + 68.167498815486 + + + LAW + LAW_814@GraphGeneration.gov + LAW_814 + 11 + 3 + 143.58293434704382 + 72.92693480062005 + + + LAW + LAW_816@GraphGeneration.gov + LAW_816 + 7 + 3 + 184.8279856962672 + 61.63702693216015 + + + LAW + LAW_826@GraphGeneration.gov + LAW_826 + 12 + 3 + 134.14503636908404 + 82.09870159631103 + + + LAW + LAW_896@GraphGeneration.gov + LAW_896 + 6 + 3 + 43.572318705263505 + 96.01078153760938 + + + LAW + LAW_904@GraphGeneration.gov + LAW_904 + 9 + 3 + 51.85219152240956 + 90.74110578628391 + + + LAW + LAW_909@GraphGeneration.gov + LAW_909 + 12 + 3 + 6.803119455307464 + 86.81528431425468 + + + LAW + LAW_911@GraphGeneration.gov + LAW_911 + 9 + 3 + 9.207096429936195 + 86.36791735321403 + + + LAW + LAW_912@GraphGeneration.gov + LAW_912 + 12 + 3 + 28.36201907779416 + 106.3751983318373 + + + LAW + LAW_913@GraphGeneration.gov + LAW_913 + 11 + 3 + 23.135243540710327 + 92.46513184080581 + + + LAW + LAW_914@GraphGeneration.gov + LAW_914 + 11 + 3 + 57.70165051501299 + 110.5725927113144 + + + LAW + LAW_916@GraphGeneration.gov + LAW_916 + 7 + 3 + 5.953125516136382 + 86.43286429993574 + + + LAW + LAW_982@GraphGeneration.gov + LAW_982 + 6 + 3 + 86.62788512137111 + 102.49486258870202 + + + LAW + LAW_993@GraphGeneration.gov + LAW_993 + 9 + 3 + 116.5310802646451 + 105.80676788897452 + + + LAW + LAW_995@GraphGeneration.gov + LAW_995 + 12 + 3 + 79.55826792030956 + 111.70225488409324 + + + LAW + LAW_1000@GraphGeneration.gov + LAW_1000 + 9 + 3 + 97.40213162697883 + 105.16256686154462 + + + LAW + LAW_1001@GraphGeneration.gov + LAW_1001 + 11 + 3 + 80.28730814417037 + 99.2131776083898 + + + LAW + LAW_1006@GraphGeneration.gov + LAW_1006 + 12 + 3 + 110.65464529802998 + 95.16897359067782 + + + LAW + LAW_1008@GraphGeneration.gov + LAW_1008 + 9 + 3 + 124.04554881147058 + 91.40762054359051 + + + LAW + LAW_1073@GraphGeneration.gov + LAW_1073 + 9 + 3 + 158.5898586824876 + 106.00428041263571 + + + LAW + LAW_1080@GraphGeneration.gov + LAW_1080 + 9 + 3 + 148.5469302637944 + 85.77324190455998 + + + LAW + LAW_1081@GraphGeneration.gov + LAW_1081 + 9 + 3 + 145.76070198695342 + 93.90787679918888 + + + LAW + LAW_1083@GraphGeneration.gov + LAW_1083 + 6 + 3 + 173.7290593348129 + 109.27816138651801 + + + LAW + LAW_1084@GraphGeneration.gov + LAW_1084 + 6 + 3 + 140.58033030926737 + 114.26837623992078 + + + LAW + LAW_1089@GraphGeneration.gov + LAW_1089 + 6 + 3 + 150.61924196004242 + 106.4619191165991 + + + LAW + LAW_1090@GraphGeneration.gov + LAW_1090 + 11 + 3 + 161.20854914454037 + 90.91281815586285 + + + LAW + LAW_1091@GraphGeneration.gov + LAW_1091 + 8 + 3 + 142.57131085638966 + 107.28364639055832 + + + LAW + LAW_1097@GraphGeneration.gov + LAW_1097 + 6 + 3 + 170.22894678740872 + 99.71596415514578 + + + LAW + LAW_1166@GraphGeneration.gov + LAW_1166 + 11 + 3 + 2.937502809967718 + 121.7220574209176 + + + LAW + LAW_1167@GraphGeneration.gov + LAW_1167 + 10 + 3 + 62.51202066810681 + 135.16066163815907 + + + LAW + LAW_1169@GraphGeneration.gov + LAW_1169 + 8 + 3 + 58.7617221976189 + 120.38198846039155 + + + LAW + LAW_1171@GraphGeneration.gov + LAW_1171 + 6 + 3 + 14.736707186848127 + 114.34647137652193 + + + LAW + LAW_1178@GraphGeneration.gov + LAW_1178 + 7 + 3 + 9.105017285043235 + 141.82772228840665 + + + LAW + LAW_1181@GraphGeneration.gov + LAW_1181 + 7 + 3 + 62.716352023949206 + 134.63289832943178 + + + LAW + LAW_1188@GraphGeneration.gov + LAW_1188 + 12 + 3 + 33.50231953337768 + 129.0925665990062 + + + LAW + LAW_1189@GraphGeneration.gov + LAW_1189 + 9 + 3 + 64.22681670790854 + 141.5298639637829 + + + LAW + LAW_1190@GraphGeneration.gov + LAW_1190 + 9 + 3 + 49.26178439699509 + 120.77919161875586 + + + LAW + LAW_1261@GraphGeneration.gov + LAW_1261 + 10 + 3 + 118.67183381973467 + 141.87700457397096 + + + LAW + LAW_1266@GraphGeneration.gov + LAW_1266 + 9 + 3 + 67.57371179210553 + 134.23012271524638 + + + LAW + LAW_1267@GraphGeneration.gov + LAW_1267 + 6 + 3 + 103.21807371631874 + 124.3353191035107 + + + LAW + LAW_1268@GraphGeneration.gov + LAW_1268 + 6 + 3 + 72.70255587200171 + 135.6234188183689 + + + LAW + LAW_1275@GraphGeneration.gov + LAW_1275 + 6 + 3 + 105.4028200864154 + 131.4176231946956 + + + LAW + LAW_1276@GraphGeneration.gov + LAW_1276 + 11 + 3 + 98.79886660177077 + 117.23158045476899 + + + LAW + LAW_1277@GraphGeneration.gov + LAW_1277 + 12 + 3 + 79.60174364891333 + 135.98453069001982 + + + LAW + LAW_1283@GraphGeneration.gov + LAW_1283 + 10 + 3 + 115.41649603935632 + 115.18485749957908 + + + LAW + LAW_1354@GraphGeneration.gov + LAW_1354 + 6 + 3 + 186.31362535596634 + 136.63492516518045 + + + LAW + LAW_1360@GraphGeneration.gov + LAW_1360 + 8 + 3 + 134.56767872738192 + 142.3998313204628 + + + LAW + LAW_1361@GraphGeneration.gov + LAW_1361 + 12 + 3 + 143.78800833431578 + 134.3206665908345 + + + LAW + LAW_1365@GraphGeneration.gov + LAW_1365 + 6 + 3 + 178.98266364814518 + 128.10031099191292 + + + LAW + LAW_1367@GraphGeneration.gov + LAW_1367 + 12 + 3 + 175.08442547799964 + 132.5960132963449 + + + LAW + LAW_1372@GraphGeneration.gov + LAW_1372 + 6 + 3 + 154.40148486111127 + 114.67858824241362 + + + LAW + LAW_1376@GraphGeneration.gov + LAW_1376 + 9 + 3 + 146.90660202590004 + 128.58648425029247 + + + LAW + LAW_1378@GraphGeneration.gov + LAW_1378 + 9 + 3 + 170.14746056831507 + 119.75197989336738 + + + LAW + LAW_1448@GraphGeneration.gov + LAW_1448 + 8 + 3 + 47.49524811614644 + 164.9634412657365 + + + LAW + LAW_1451@GraphGeneration.gov + LAW_1451 + 11 + 3 + 15.519390761773334 + 150.57716128928783 + + + LAW + LAW_1455@GraphGeneration.gov + LAW_1455 + 9 + 3 + 23.995137258045208 + 170.67944642384072 + + + LAW + LAW_1457@GraphGeneration.gov + LAW_1457 + 9 + 3 + 58.43482288662484 + 159.60099694207253 + + + LAW + LAW_1459@GraphGeneration.gov + LAW_1459 + 9 + 3 + 23.040381158262583 + 161.50896526323922 + + + LAW + LAW_1468@GraphGeneration.gov + LAW_1468 + 6 + 3 + 31.08067914170602 + 148.5137775583844 + + + LAW + LAW_1535@GraphGeneration.gov + LAW_1535 + 11 + 3 + 69.74341818060091 + 158.58508213227253 + + + LAW + LAW_1538@GraphGeneration.gov + LAW_1538 + 7 + 3 + 99.42274862286685 + 166.00042774373827 + + + LAW + LAW_1540@GraphGeneration.gov + LAW_1540 + 12 + 3 + 111.55069002231667 + 162.43223768306805 + + + LAW + LAW_1542@GraphGeneration.gov + LAW_1542 + 8 + 3 + 129.1137080071002 + 160.08052538327178 + + + LAW + LAW_1544@GraphGeneration.gov + LAW_1544 + 7 + 3 + 121.99519534146302 + 148.76963070274567 + + + LAW + LAW_1546@GraphGeneration.gov + LAW_1546 + 11 + 3 + 108.98945129083478 + 154.8537491772008 + + + LAW + LAW_1548@GraphGeneration.gov + LAW_1548 + 10 + 3 + 99.81310874172789 + 158.5591408779984 + + + LAW + LAW_1555@GraphGeneration.gov + LAW_1555 + 12 + 3 + 83.33740090223941 + 144.1512530452535 + + + LAW + LAW_1556@GraphGeneration.gov + LAW_1556 + 10 + 3 + 82.04083394856835 + 152.73338847320636 + + + LAW + LAW_1561@GraphGeneration.gov + LAW_1561 + 10 + 3 + 118.4042054938238 + 155.56872985596462 + + + LAW + LAW_1562@GraphGeneration.gov + LAW_1562 + 11 + 3 + 121.69293777170367 + 160.89560302091874 + + + LAW + LAW_1626@GraphGeneration.gov + LAW_1626 + 9 + 3 + 154.7104233814874 + 162.02473457876835 + + + LAW + LAW_1634@GraphGeneration.gov + LAW_1634 + 12 + 3 + 175.83979903708027 + 143.54486139643282 + + + LAW + LAW_1639@GraphGeneration.gov + LAW_1639 + 9 + 3 + 161.38888466846646 + 149.1592706949815 + + + LAW + LAW_1640@GraphGeneration.gov + LAW_1640 + 6 + 3 + 192.67836305469632 + 148.0250184862565 + + + LAW + LAW_1644@GraphGeneration.gov + LAW_1644 + 9 + 3 + 142.17332924687784 + 153.7205975805941 + + + LAW + LAW_1649@GraphGeneration.gov + LAW_1649 + 11 + 3 + 138.45618063609615 + 152.39846342883294 + + + LAW + LAW_1653@GraphGeneration.gov + LAW_1653 + 12 + 3 + 179.80372883729638 + 162.13043888600396 + + + LAW + LAW_1719@GraphGeneration.gov + LAW_1719 + 7 + 3 + 56.42271204375938 + 172.44158338823442 + + + LAW + LAW_1729@GraphGeneration.gov + LAW_1729 + 6 + 3 + 62.875307320453466 + 178.83842824227224 + + + LAW + LAW_1731@GraphGeneration.gov + LAW_1731 + 11 + 3 + 54.89681600603831 + 181.84138531624396 + + + LAW + LAW_1734@GraphGeneration.gov + LAW_1734 + 11 + 3 + 15.56815379672758 + 188.10546521402435 + + + LAW + LAW_1735@GraphGeneration.gov + LAW_1735 + 12 + 3 + 57.7167220652282 + 181.1158349432073 + + + LAW + LAW_1737@GraphGeneration.gov + LAW_1737 + 8 + 3 + 13.565008147552172 + 186.01198865641985 + + + LAW + LAW_1740@GraphGeneration.gov + LAW_1740 + 6 + 3 + 39.922491132907716 + 195.07707992466348 + + + LAW + LAW_1742@GraphGeneration.gov + LAW_1742 + 12 + 3 + 5.883561190185723 + 183.09606644285395 + + + LAW + LAW_1743@GraphGeneration.gov + LAW_1743 + 8 + 3 + 45.87942414080621 + 188.8792540361905 + + + LAW + LAW_1814@GraphGeneration.gov + LAW_1814 + 8 + 3 + 88.17193808859787 + 187.64439975073938 + + + LAW + LAW_1815@GraphGeneration.gov + LAW_1815 + 8 + 3 + 105.25961755153946 + 189.4651771886406 + + + LAW + LAW_1818@GraphGeneration.gov + LAW_1818 + 6 + 3 + 106.30050390078736 + 197.48101928880584 + + + LAW + LAW_1822@GraphGeneration.gov + LAW_1822 + 9 + 3 + 68.70964043744476 + 196.87637705982502 + + + LAW + LAW_1824@GraphGeneration.gov + LAW_1824 + 10 + 3 + 102.18500781239402 + 198.8037318733474 + + + LAW + LAW_1836@GraphGeneration.gov + LAW_1836 + 10 + 3 + 80.68261549121478 + 182.8819371373128 + + + LAW + LAW_1837@GraphGeneration.gov + LAW_1837 + 10 + 3 + 106.27390307381484 + 188.44010781452295 + + + LAW + LAW_1906@GraphGeneration.gov + LAW_1906 + 7 + 3 + 135.9173916467889 + 184.58687613845507 + + + LAW + LAW_1908@GraphGeneration.gov + LAW_1908 + 8 + 3 + 144.25069260094727 + 175.71947904488715 + + + LAW + LAW_1912@GraphGeneration.gov + LAW_1912 + 10 + 3 + 136.4448416831871 + 177.0246308726032 + + + LAW + LAW_1913@GraphGeneration.gov + LAW_1913 + 12 + 3 + 185.53346365132467 + 192.89884181487236 + + + LAW + LAW_1914@GraphGeneration.gov + LAW_1914 + 11 + 3 + 169.5390325045595 + 197.93099519044188 + + + LAW + LAW_1916@GraphGeneration.gov + LAW_1916 + 8 + 3 + 135.02009914729788 + 189.53600038687216 + + + LAW + LAW_1918@GraphGeneration.gov + LAW_1918 + 12 + 3 + 175.23258515471997 + 172.25045782783417 + + + LAW + LAW_1924@GraphGeneration.gov + LAW_1924 + 9 + 3 + 175.52544666265482 + 173.8784706377101 + + + LAW + LAW_1927@GraphGeneration.gov + LAW_1927 + 11 + 3 + 186.16366559255079 + 175.20716209911794 + + + LAW + LAW_1929@GraphGeneration.gov + LAW_1929 + 6 + 3 + 138.54362812102298 + 189.49972187825028 + + + LAW + LAW_1930@GraphGeneration.gov + LAW_1930 + 12 + 3 + 184.7659075083111 + 182.23294573801496 + + + EMS + EMS_3@GraphGeneration.gov + EMS_3 + 6 + 4 + 53.24483808447065 + 10.508163406844558 + + + EMS + EMS_9@GraphGeneration.gov + EMS_9 + 12 + 4 + 43.536217344348536 + 24.94515307065562 + + + EMS + EMS_18@GraphGeneration.gov + EMS_18 + 12 + 4 + 20.585592145589334 + 1.963335437830795 + + + EMS + EMS_21@GraphGeneration.gov + EMS_21 + 7 + 4 + 49.39333874699091 + 27.260678378529693 + + + EMS + EMS_22@GraphGeneration.gov + EMS_22 + 12 + 4 + 30.66544289008124 + 3.1708491941722063 + + + EMS + EMS_26@GraphGeneration.gov + EMS_26 + 6 + 4 + 54.812242570110485 + 4.880447709356856 + + + EMS + EMS_30@GraphGeneration.gov + EMS_30 + 12 + 4 + 20.679494272320877 + 23.137873297043498 + + + EMS + EMS_95@GraphGeneration.gov + EMS_95 + 10 + 4 + 67.09844959043417 + 15.348461860797531 + + + EMS + EMS_97@GraphGeneration.gov + EMS_97 + 12 + 4 + 101.47455853098663 + 4.818347433604215 + + + EMS + EMS_113@GraphGeneration.gov + EMS_113 + 11 + 4 + 107.08234011201256 + 12.995034202571025 + + + EMS + EMS_117@GraphGeneration.gov + EMS_117 + 7 + 4 + 103.77588074594286 + 5.027851382822966 + + + EMS + EMS_121@GraphGeneration.gov + EMS_121 + 8 + 4 + 90.42931519518157 + 27.37502209363067 + + + EMS + EMS_188@GraphGeneration.gov + EMS_188 + 7 + 4 + 137.35038341117257 + 18.385661618007475 + + + EMS + EMS_189@GraphGeneration.gov + EMS_189 + 11 + 4 + 155.50705399058708 + 1.282851146992289 + + + EMS + EMS_191@GraphGeneration.gov + EMS_191 + 6 + 4 + 173.5557633197165 + 9.377588786637608 + + + EMS + EMS_192@GraphGeneration.gov + EMS_192 + 10 + 4 + 187.74804001963034 + 4.10162901992735 + + + EMS + EMS_196@GraphGeneration.gov + EMS_196 + 9 + 4 + 194.92988576046048 + 0.8875584728600553 + + + EMS + EMS_197@GraphGeneration.gov + EMS_197 + 10 + 4 + 197.70724350428077 + 25.421651906255217 + + + EMS + EMS_200@GraphGeneration.gov + EMS_200 + 8 + 4 + 170.08972519244966 + 7.830219124047755 + + + EMS + EMS_203@GraphGeneration.gov + EMS_203 + 7 + 4 + 157.9556762709336 + 25.47157865656048 + + + EMS + EMS_209@GraphGeneration.gov + EMS_209 + 8 + 4 + 183.087215741922 + 6.745611753290036 + + + EMS + EMS_283@GraphGeneration.gov + EMS_283 + 11 + 4 + 59.377740810238684 + 32.284362656233384 + + + EMS + EMS_285@GraphGeneration.gov + EMS_285 + 11 + 4 + 28.84506325975638 + 44.83992502149431 + + + EMS + EMS_288@GraphGeneration.gov + EMS_288 + 8 + 4 + 27.454433621256925 + 45.50708806794397 + + + EMS + EMS_289@GraphGeneration.gov + EMS_289 + 7 + 4 + 46.12662410239461 + 43.34943993091273 + + + EMS + EMS_292@GraphGeneration.gov + EMS_292 + 10 + 4 + 61.2617271116186 + 42.95808531597094 + + + EMS + EMS_295@GraphGeneration.gov + EMS_295 + 9 + 4 + 56.647304640725196 + 32.05026711154803 + + + EMS + EMS_297@GraphGeneration.gov + EMS_297 + 7 + 4 + 2.252543109559276 + 54.3705892260422 + + + EMS + EMS_300@GraphGeneration.gov + EMS_300 + 11 + 4 + 49.54649949416762 + 35.029788163234514 + + + EMS + EMS_302@GraphGeneration.gov + EMS_302 + 9 + 4 + 55.17761742913276 + 55.80660525545005 + + + EMS + EMS_369@GraphGeneration.gov + EMS_369 + 8 + 4 + 67.71652325202682 + 56.30518116250202 + + + EMS + EMS_372@GraphGeneration.gov + EMS_372 + 8 + 4 + 69.40715341272833 + 54.37776910328658 + + + EMS + EMS_373@GraphGeneration.gov + EMS_373 + 6 + 4 + 96.70583122601815 + 34.03822408113237 + + + EMS + EMS_374@GraphGeneration.gov + EMS_374 + 6 + 4 + 82.87577525716355 + 43.64790805877066 + + + EMS + EMS_376@GraphGeneration.gov + EMS_376 + 10 + 4 + 94.43036481424376 + 30.572590336427893 + + + EMS + EMS_383@GraphGeneration.gov + EMS_383 + 9 + 4 + 73.49736241083568 + 55.375611671751294 + + + EMS + EMS_393@GraphGeneration.gov + EMS_393 + 11 + 4 + 108.36949594964787 + 51.10744945508298 + + + EMS + EMS_396@GraphGeneration.gov + EMS_396 + 9 + 4 + 118.84731077587941 + 34.240433570420265 + + + EMS + EMS_397@GraphGeneration.gov + EMS_397 + 9 + 4 + 121.42922106423242 + 40.418163002546144 + + + EMS + EMS_461@GraphGeneration.gov + EMS_461 + 8 + 4 + 142.3429717199221 + 32.43205277210421 + + + EMS + EMS_464@GraphGeneration.gov + EMS_464 + 9 + 4 + 145.6250032735692 + 29.42624261004136 + + + EMS + EMS_465@GraphGeneration.gov + EMS_465 + 6 + 4 + 160.4272736785608 + 56.130535446285776 + + + EMS + EMS_466@GraphGeneration.gov + EMS_466 + 8 + 4 + 152.96341911009316 + 42.567209541427715 + + + EMS + EMS_469@GraphGeneration.gov + EMS_469 + 12 + 4 + 183.74938029766042 + 48.62592528806978 + + + EMS + EMS_470@GraphGeneration.gov + EMS_470 + 6 + 4 + 138.19312318753205 + 56.88232194231173 + + + EMS + EMS_476@GraphGeneration.gov + EMS_476 + 12 + 4 + 154.45285500845708 + 49.93778240534675 + + + EMS + EMS_480@GraphGeneration.gov + EMS_480 + 6 + 4 + 177.62907774270204 + 42.62049677763873 + + + EMS + EMS_486@GraphGeneration.gov + EMS_486 + 7 + 4 + 190.36814174066612 + 38.4913747820717 + + + EMS + EMS_488@GraphGeneration.gov + EMS_488 + 11 + 4 + 165.4902310458936 + 40.03454570385147 + + + EMS + EMS_490@GraphGeneration.gov + EMS_490 + 7 + 4 + 166.92718707600037 + 33.77787232435905 + + + EMS + EMS_553@GraphGeneration.gov + EMS_553 + 6 + 4 + 51.0176877749275 + 65.36429187660782 + + + EMS + EMS_554@GraphGeneration.gov + EMS_554 + 11 + 4 + 48.12242797589202 + 64.774944596099 + + + EMS + EMS_560@GraphGeneration.gov + EMS_560 + 8 + 4 + 31.871387003722734 + 85.45693356780433 + + + EMS + EMS_561@GraphGeneration.gov + EMS_561 + 11 + 4 + 31.035524508828324 + 83.87790437002668 + + + EMS + EMS_563@GraphGeneration.gov + EMS_563 + 6 + 4 + 60.83586759931214 + 57.63284209285437 + + + EMS + EMS_565@GraphGeneration.gov + EMS_565 + 9 + 4 + 62.40014348377313 + 60.6235834577852 + + + EMS + EMS_567@GraphGeneration.gov + EMS_567 + 7 + 4 + 32.73376961322648 + 59.27227662587424 + + + EMS + EMS_569@GraphGeneration.gov + EMS_569 + 10 + 4 + 6.9316409343632115 + 78.91757823948811 + + + EMS + EMS_570@GraphGeneration.gov + EMS_570 + 10 + 4 + 27.563393834232603 + 66.19573828109941 + + + EMS + EMS_571@GraphGeneration.gov + EMS_571 + 12 + 4 + 58.32829541895622 + 65.90189920905799 + + + EMS + EMS_575@GraphGeneration.gov + EMS_575 + 12 + 4 + 40.337478527466686 + 81.31235216864496 + + + EMS + EMS_580@GraphGeneration.gov + EMS_580 + 12 + 4 + 12.907116392176063 + 68.95782967709133 + + + EMS + EMS_645@GraphGeneration.gov + EMS_645 + 10 + 4 + 127.36608681421566 + 85.40522376694827 + + + EMS + EMS_651@GraphGeneration.gov + EMS_651 + 12 + 4 + 79.54201973902939 + 67.83054955064338 + + + EMS + EMS_653@GraphGeneration.gov + EMS_653 + 10 + 4 + 79.72645933859641 + 71.90990201901455 + + + EMS + EMS_662@GraphGeneration.gov + EMS_662 + 10 + 4 + 69.03987428732424 + 72.02296535552023 + + + EMS + EMS_663@GraphGeneration.gov + EMS_663 + 12 + 4 + 123.86726449109733 + 79.39427414805955 + + + EMS + EMS_667@GraphGeneration.gov + EMS_667 + 8 + 4 + 117.91013481795866 + 57.28427678352048 + + + EMS + EMS_672@GraphGeneration.gov + EMS_672 + 8 + 4 + 131.60208518733634 + 60.11143578764488 + + + EMS + EMS_744@GraphGeneration.gov + EMS_744 + 12 + 4 + 146.21385314920795 + 62.88579291553017 + + + EMS + EMS_746@GraphGeneration.gov + EMS_746 + 10 + 4 + 144.36070484873247 + 73.4720832517089 + + + EMS + EMS_753@GraphGeneration.gov + EMS_753 + 7 + 4 + 162.34060522810637 + 80.33970341721127 + + + EMS + EMS_760@GraphGeneration.gov + EMS_760 + 11 + 4 + 163.26529076077313 + 78.98776503702783 + + + EMS + EMS_763@GraphGeneration.gov + EMS_763 + 6 + 4 + 143.2062913884487 + 77.8786581362277 + + + EMS + EMS_764@GraphGeneration.gov + EMS_764 + 8 + 4 + 172.806281405476 + 58.28991999593479 + + + EMS + EMS_841@GraphGeneration.gov + EMS_841 + 9 + 4 + 9.90360517423267 + 99.91385271301793 + + + EMS + EMS_843@GraphGeneration.gov + EMS_843 + 11 + 4 + 17.59351002840813 + 90.75420437949082 + + + EMS + EMS_847@GraphGeneration.gov + EMS_847 + 7 + 4 + 37.13492853761621 + 103.54961327544747 + + + EMS + EMS_850@GraphGeneration.gov + EMS_850 + 6 + 4 + 25.18276691624959 + 99.51253247547461 + + + EMS + EMS_852@GraphGeneration.gov + EMS_852 + 10 + 4 + 39.921888854811876 + 95.76594252258339 + + + EMS + EMS_856@GraphGeneration.gov + EMS_856 + 7 + 4 + 14.225006289165211 + 101.52416764131831 + + + EMS + EMS_924@GraphGeneration.gov + EMS_924 + 9 + 4 + 97.9966043543312 + 86.22430863346132 + + + EMS + EMS_930@GraphGeneration.gov + EMS_930 + 8 + 4 + 79.44045052742682 + 107.81045896954794 + + + EMS + EMS_932@GraphGeneration.gov + EMS_932 + 9 + 4 + 117.33042395389094 + 110.74013328429582 + + + EMS + EMS_934@GraphGeneration.gov + EMS_934 + 7 + 4 + 86.1078877098515 + 96.7331041333813 + + + EMS + EMS_935@GraphGeneration.gov + EMS_935 + 7 + 4 + 108.9841757501919 + 92.65605537246854 + + + EMS + EMS_938@GraphGeneration.gov + EMS_938 + 7 + 4 + 128.66248091765632 + 96.92490420416728 + + + EMS + EMS_939@GraphGeneration.gov + EMS_939 + 10 + 4 + 109.59771460448697 + 104.60619468039584 + + + EMS + EMS_943@GraphGeneration.gov + EMS_943 + 12 + 4 + 130.19431127764625 + 108.91910254351765 + + + EMS + EMS_946@GraphGeneration.gov + EMS_946 + 10 + 4 + 113.9405538673084 + 107.75916538896132 + + + EMS + EMS_1013@GraphGeneration.gov + EMS_1013 + 10 + 4 + 185.00856286096072 + 96.33837623596825 + + + EMS + EMS_1017@GraphGeneration.gov + EMS_1017 + 7 + 4 + 163.32251195772173 + 89.26126152675563 + + + EMS + EMS_1023@GraphGeneration.gov + EMS_1023 + 12 + 4 + 177.9990327258268 + 109.68632041517387 + + + EMS + EMS_1027@GraphGeneration.gov + EMS_1027 + 11 + 4 + 143.92163988557687 + 86.53677346899367 + + + EMS + EMS_1042@GraphGeneration.gov + EMS_1042 + 9 + 4 + 187.59038441075924 + 111.226138139128 + + + EMS + EMS_1105@GraphGeneration.gov + EMS_1105 + 9 + 4 + 53.99840250990526 + 141.29668781476056 + + + EMS + EMS_1107@GraphGeneration.gov + EMS_1107 + 6 + 4 + 51.894961697013585 + 127.13197361480533 + + + EMS + EMS_1115@GraphGeneration.gov + EMS_1115 + 7 + 4 + 38.39548046141305 + 127.25947705228263 + + + EMS + EMS_1116@GraphGeneration.gov + EMS_1116 + 11 + 4 + 57.29677606245432 + 133.02509227564045 + + + EMS + EMS_1124@GraphGeneration.gov + EMS_1124 + 7 + 4 + 47.1575373190595 + 120.30258000184311 + + + EMS + EMS_1131@GraphGeneration.gov + EMS_1131 + 9 + 4 + 4.99426109905646 + 131.55234377977217 + + + EMS + EMS_1134@GraphGeneration.gov + EMS_1134 + 8 + 4 + 32.96304025243062 + 128.04068163904066 + + + EMS + EMS_1199@GraphGeneration.gov + EMS_1199 + 9 + 4 + 88.88460437566258 + 121.67014791058455 + + + EMS + EMS_1205@GraphGeneration.gov + EMS_1205 + 8 + 4 + 122.44407558159767 + 117.21017223529414 + + + EMS + EMS_1209@GraphGeneration.gov + EMS_1209 + 12 + 4 + 105.43772268065399 + 131.32689640899193 + + + EMS + EMS_1212@GraphGeneration.gov + EMS_1212 + 7 + 4 + 133.24955660790903 + 136.44502023662992 + + + EMS + EMS_1214@GraphGeneration.gov + EMS_1214 + 12 + 4 + 126.74038555879602 + 136.4790640010695 + + + EMS + EMS_1289@GraphGeneration.gov + EMS_1289 + 11 + 4 + 136.80254742861703 + 116.37674961633904 + + + EMS + EMS_1291@GraphGeneration.gov + EMS_1291 + 9 + 4 + 139.50734912675182 + 121.12542672002974 + + + EMS + EMS_1292@GraphGeneration.gov + EMS_1292 + 11 + 4 + 156.39606612322584 + 142.12487809621814 + + + EMS + EMS_1293@GraphGeneration.gov + EMS_1293 + 12 + 4 + 158.34026480482842 + 121.02080683216592 + + + EMS + EMS_1304@GraphGeneration.gov + EMS_1304 + 8 + 4 + 187.68523678687737 + 117.67604110488628 + + + EMS + EMS_1306@GraphGeneration.gov + EMS_1306 + 11 + 4 + 134.50591243210525 + 135.26781891443943 + + + EMS + EMS_1311@GraphGeneration.gov + EMS_1311 + 6 + 4 + 166.85326865985033 + 130.06282170367038 + + + EMS + EMS_1312@GraphGeneration.gov + EMS_1312 + 10 + 4 + 135.98832379356503 + 124.23093971170283 + + + EMS + EMS_1382@GraphGeneration.gov + EMS_1382 + 6 + 4 + 32.81735854652071 + 151.7011099294128 + + + EMS + EMS_1384@GraphGeneration.gov + EMS_1384 + 7 + 4 + 59.98059960100839 + 147.64535407712526 + + + EMS + EMS_1391@GraphGeneration.gov + EMS_1391 + 8 + 4 + 31.150588817850764 + 154.7816669954203 + + + EMS + EMS_1399@GraphGeneration.gov + EMS_1399 + 9 + 4 + 34.58648850501979 + 159.84547064241968 + + + EMS + EMS_1400@GraphGeneration.gov + EMS_1400 + 8 + 4 + 41.65738295705316 + 146.46536628542427 + + + EMS + EMS_1401@GraphGeneration.gov + EMS_1401 + 12 + 4 + 31.493972906502993 + 168.22937224933742 + + + EMS + EMS_1477@GraphGeneration.gov + EMS_1477 + 10 + 4 + 125.6538769193017 + 169.78766252909543 + + + EMS + EMS_1480@GraphGeneration.gov + EMS_1480 + 7 + 4 + 70.5891352598934 + 151.95598796686292 + + + EMS + EMS_1481@GraphGeneration.gov + EMS_1481 + 10 + 4 + 100.51416222244805 + 149.7090597420922 + + + EMS + EMS_1482@GraphGeneration.gov + EMS_1482 + 9 + 4 + 105.17666856704929 + 149.86261987201578 + + + EMS + EMS_1495@GraphGeneration.gov + EMS_1495 + 9 + 4 + 99.67957277243755 + 145.69039241957148 + + + EMS + EMS_1497@GraphGeneration.gov + EMS_1497 + 8 + 4 + 66.67177725344992 + 165.18015645643504 + + + EMS + EMS_1565@GraphGeneration.gov + EMS_1565 + 6 + 4 + 173.2044867133069 + 153.53090257170822 + + + EMS + EMS_1570@GraphGeneration.gov + EMS_1570 + 10 + 4 + 172.75445759460854 + 164.03375365740945 + + + EMS + EMS_1572@GraphGeneration.gov + EMS_1572 + 12 + 4 + 138.55030411508318 + 152.26246952280678 + + + EMS + EMS_1573@GraphGeneration.gov + EMS_1573 + 6 + 4 + 154.09903585636442 + 146.34340387235466 + + + EMS + EMS_1586@GraphGeneration.gov + EMS_1586 + 6 + 4 + 181.55204693367656 + 169.72863454173273 + + + EMS + EMS_1587@GraphGeneration.gov + EMS_1587 + 10 + 4 + 188.41484112360288 + 144.49688670004147 + + + EMS + EMS_1588@GraphGeneration.gov + EMS_1588 + 9 + 4 + 170.24392396411596 + 147.83593260673373 + + + EMS + EMS_1590@GraphGeneration.gov + EMS_1590 + 9 + 4 + 166.40104862501136 + 156.76563996100984 + + + EMS + EMS_1594@GraphGeneration.gov + EMS_1594 + 8 + 4 + 159.73279698130204 + 146.9772528863385 + + + EMS + EMS_1666@GraphGeneration.gov + EMS_1666 + 12 + 4 + 35.75679041694992 + 192.60618434321117 + + + EMS + EMS_1667@GraphGeneration.gov + EMS_1667 + 8 + 4 + 43.08679345641496 + 186.95788824873708 + + + EMS + EMS_1670@GraphGeneration.gov + EMS_1670 + 7 + 4 + 61.97559011682774 + 175.8803407773927 + + + EMS + EMS_1673@GraphGeneration.gov + EMS_1673 + 10 + 4 + 46.03013369047653 + 184.8664251808886 + + + EMS + EMS_1676@GraphGeneration.gov + EMS_1676 + 6 + 4 + 27.91669651913825 + 176.17956269994195 + + + EMS + EMS_1685@GraphGeneration.gov + EMS_1685 + 6 + 4 + 33.96105954422363 + 174.5246175753966 + + + EMS + EMS_1749@GraphGeneration.gov + EMS_1749 + 11 + 4 + 82.95128722764773 + 193.78631566758327 + + + EMS + EMS_1752@GraphGeneration.gov + EMS_1752 + 10 + 4 + 110.17336614023718 + 180.73980722474056 + + + EMS + EMS_1754@GraphGeneration.gov + EMS_1754 + 7 + 4 + 117.28024002373783 + 191.4028158632172 + + + EMS + EMS_1760@GraphGeneration.gov + EMS_1760 + 9 + 4 + 117.79506051545647 + 191.41428425151778 + + + EMS + EMS_1762@GraphGeneration.gov + EMS_1762 + 12 + 4 + 128.4268028637448 + 176.16388293629012 + + + EMS + EMS_1763@GraphGeneration.gov + EMS_1763 + 10 + 4 + 102.2615840660514 + 195.37468766535412 + + + EMS + EMS_1768@GraphGeneration.gov + EMS_1768 + 12 + 4 + 105.94677367252892 + 183.6391231898577 + + + EMS + EMS_1776@GraphGeneration.gov + EMS_1776 + 10 + 4 + 114.6114649941751 + 195.68606756672878 + + + EMS + EMS_1777@GraphGeneration.gov + EMS_1777 + 7 + 4 + 80.29538563335726 + 171.61071019524644 + + + EMS + EMS_1841@GraphGeneration.gov + EMS_1841 + 8 + 4 + 150.24976567268692 + 183.14706481229882 + + + EMS + EMS_1843@GraphGeneration.gov + EMS_1843 + 8 + 4 + 167.96568831510194 + 197.57636623522643 + + + EMS + EMS_1845@GraphGeneration.gov + EMS_1845 + 12 + 4 + 153.4208562734183 + 185.53142086873066 + + + EMS + EMS_1851@GraphGeneration.gov + EMS_1851 + 6 + 4 + 137.42944177296155 + 181.9651688028916 + + + EMS + EMS_1858@GraphGeneration.gov + EMS_1858 + 7 + 4 + 169.34338134378285 + 199.49592652177103 + + + EMS + EMS_1861@GraphGeneration.gov + EMS_1861 + 12 + 4 + 153.50651747718126 + 177.76970770863167 + + + EMS + EMS_1865@GraphGeneration.gov + EMS_1865 + 6 + 4 + 195.68680286820876 + 194.86135275161038 + + + EMS + EMS_1866@GraphGeneration.gov + EMS_1866 + 9 + 4 + 147.5353586371011 + 190.8112973773417 + + + EMS + EMS_1867@GraphGeneration.gov + EMS_1867 + 6 + 4 + 147.76528166025935 + 193.74269317872705 + + + EMS + EMS_1868@GraphGeneration.gov + EMS_1868 + 12 + 4 + 169.11794988223016 + 178.28070058186472 + + + EMS + EMS_1869@GraphGeneration.gov + EMS_1869 + 6 + 4 + 166.24147121325922 + 196.9800106219317 + + + FIRE + FIRE_33@GraphGeneration.gov + FIRE_33 + 6 + 4 + 21.86384896501265 + 12.706297498745057 + + + FIRE + FIRE_34@GraphGeneration.gov + FIRE_34 + 10 + 4 + 46.68407327109596 + 3.7294536717682716 + + + FIRE + FIRE_37@GraphGeneration.gov + FIRE_37 + 12 + 4 + 2.9952342460530135 + 27.360020466048336 + + + FIRE + FIRE_38@GraphGeneration.gov + FIRE_38 + 7 + 4 + 57.470024804565796 + 14.804910146411329 + + + FIRE + FIRE_41@GraphGeneration.gov + FIRE_41 + 9 + 4 + 34.40421514687941 + 5.791030626975512 + + + FIRE + FIRE_42@GraphGeneration.gov + FIRE_42 + 8 + 4 + 26.99004129654183 + 1.6540210793832706 + + + FIRE + FIRE_51@GraphGeneration.gov + FIRE_51 + 8 + 4 + 40.31856805276646 + 23.162910088062027 + + + FIRE + FIRE_56@GraphGeneration.gov + FIRE_56 + 9 + 4 + 8.130853244287987 + 0.3942043583160146 + + + FIRE + FIRE_123@GraphGeneration.gov + FIRE_123 + 6 + 4 + 127.24591743887376 + 20.3119684171907 + + + FIRE + FIRE_125@GraphGeneration.gov + FIRE_125 + 11 + 4 + 72.99652789323622 + 15.545992535570653 + + + FIRE + FIRE_128@GraphGeneration.gov + FIRE_128 + 9 + 4 + 83.00175099134913 + 3.39380193352814 + + + FIRE + FIRE_135@GraphGeneration.gov + FIRE_135 + 11 + 4 + 98.30537651259893 + 12.333410447831175 + + + FIRE + FIRE_147@GraphGeneration.gov + FIRE_147 + 7 + 4 + 125.75928096125159 + 19.229851126897948 + + + FIRE + FIRE_148@GraphGeneration.gov + FIRE_148 + 12 + 4 + 120.24014419613614 + 26.689285212960243 + + + FIRE + FIRE_151@GraphGeneration.gov + FIRE_151 + 10 + 4 + 70.43726840946726 + 28.03033703120373 + + + FIRE + FIRE_152@GraphGeneration.gov + FIRE_152 + 10 + 4 + 107.04876350885198 + 13.245124376221034 + + + FIRE + FIRE_220@GraphGeneration.gov + FIRE_220 + 11 + 4 + 142.83082020595936 + 17.30496215370988 + + + FIRE + FIRE_221@GraphGeneration.gov + FIRE_221 + 9 + 4 + 144.8794648334962 + 25.763464171870126 + + + FIRE + FIRE_232@GraphGeneration.gov + FIRE_232 + 7 + 4 + 186.20142348683348 + 25.053136216827678 + + + FIRE + FIRE_235@GraphGeneration.gov + FIRE_235 + 7 + 4 + 154.31492422770648 + 28.537931276724265 + + + FIRE + FIRE_243@GraphGeneration.gov + FIRE_243 + 9 + 4 + 175.8777102319325 + 23.50094242829977 + + + FIRE + FIRE_307@GraphGeneration.gov + FIRE_307 + 11 + 4 + 29.54768907428347 + 31.419078662157116 + + + FIRE + FIRE_310@GraphGeneration.gov + FIRE_310 + 6 + 4 + 56.785341440961105 + 49.054112966342146 + + + FIRE + FIRE_312@GraphGeneration.gov + FIRE_312 + 9 + 4 + 56.91315537658031 + 36.60509977702916 + + + FIRE + FIRE_314@GraphGeneration.gov + FIRE_314 + 10 + 4 + 36.92620981503027 + 49.20420713335341 + + + FIRE + FIRE_316@GraphGeneration.gov + FIRE_316 + 11 + 4 + 16.861255193063386 + 41.83418282392941 + + + FIRE + FIRE_325@GraphGeneration.gov + FIRE_325 + 10 + 4 + 54.47555141786813 + 38.94629249880533 + + + FIRE + FIRE_334@GraphGeneration.gov + FIRE_334 + 11 + 4 + 27.318832979204537 + 50.71307839173744 + + + FIRE + FIRE_406@GraphGeneration.gov + FIRE_406 + 12 + 4 + 74.95068512056072 + 53.345151720823125 + + + FIRE + FIRE_417@GraphGeneration.gov + FIRE_417 + 9 + 4 + 97.63051259259748 + 39.09438515809721 + + + FIRE + FIRE_420@GraphGeneration.gov + FIRE_420 + 7 + 4 + 112.57917556263934 + 55.05910470285616 + + + FIRE + FIRE_426@GraphGeneration.gov + FIRE_426 + 11 + 4 + 72.89368287266299 + 43.220747431939216 + + + FIRE + FIRE_427@GraphGeneration.gov + FIRE_427 + 12 + 4 + 104.08269617142909 + 41.746500975734456 + + + FIRE + FIRE_428@GraphGeneration.gov + FIRE_428 + 6 + 4 + 130.4268660376489 + 52.979823194802194 + + + FIRE + FIRE_493@GraphGeneration.gov + FIRE_493 + 11 + 4 + 142.03349712954684 + 31.777436051178515 + + + FIRE + FIRE_496@GraphGeneration.gov + FIRE_496 + 10 + 4 + 153.082019061538 + 32.16231078182831 + + + FIRE + FIRE_502@GraphGeneration.gov + FIRE_502 + 8 + 4 + 196.11615071911797 + 53.73440897117875 + + + FIRE + FIRE_506@GraphGeneration.gov + FIRE_506 + 11 + 4 + 165.91456652321534 + 56.35096708575563 + + + FIRE + FIRE_508@GraphGeneration.gov + FIRE_508 + 12 + 4 + 140.91939942997348 + 30.471705722767854 + + + FIRE + FIRE_517@GraphGeneration.gov + FIRE_517 + 9 + 4 + 168.42399387933062 + 42.250584197709095 + + + FIRE + FIRE_520@GraphGeneration.gov + FIRE_520 + 9 + 4 + 153.18838063585713 + 35.758625872491955 + + + FIRE + FIRE_586@GraphGeneration.gov + FIRE_586 + 9 + 4 + 34.51841286987225 + 66.72184815546896 + + + FIRE + FIRE_587@GraphGeneration.gov + FIRE_587 + 11 + 4 + 14.733120065526554 + 82.26849458869275 + + + FIRE + FIRE_588@GraphGeneration.gov + FIRE_588 + 7 + 4 + 59.02721935123622 + 84.22345306652036 + + + FIRE + FIRE_591@GraphGeneration.gov + FIRE_591 + 11 + 4 + 12.36023620209954 + 78.75015608211942 + + + FIRE + FIRE_593@GraphGeneration.gov + FIRE_593 + 8 + 4 + 14.683938442905788 + 85.30590011237534 + + + FIRE + FIRE_598@GraphGeneration.gov + FIRE_598 + 10 + 4 + 34.30175132193602 + 65.70861996388126 + + + FIRE + FIRE_599@GraphGeneration.gov + FIRE_599 + 10 + 4 + 8.74971106371083 + 61.60015550715388 + + + FIRE + FIRE_604@GraphGeneration.gov + FIRE_604 + 7 + 4 + 17.771313505709426 + 76.79723594244719 + + + FIRE + FIRE_605@GraphGeneration.gov + FIRE_605 + 12 + 4 + 48.459074814971316 + 75.29214243416345 + + + FIRE + FIRE_609@GraphGeneration.gov + FIRE_609 + 10 + 4 + 26.171169484109093 + 63.20631304206485 + + + FIRE + FIRE_610@GraphGeneration.gov + FIRE_610 + 12 + 4 + 38.428349457853436 + 71.33727032829734 + + + FIRE + FIRE_675@GraphGeneration.gov + FIRE_675 + 6 + 4 + 73.35404910839738 + 59.2577655696629 + + + FIRE + FIRE_682@GraphGeneration.gov + FIRE_682 + 11 + 4 + 93.51249409807744 + 69.18932770763297 + + + FIRE + FIRE_684@GraphGeneration.gov + FIRE_684 + 11 + 4 + 85.85955122083664 + 67.76246278866998 + + + FIRE + FIRE_690@GraphGeneration.gov + FIRE_690 + 10 + 4 + 127.33673296977145 + 74.80635329213771 + + + FIRE + FIRE_691@GraphGeneration.gov + FIRE_691 + 10 + 4 + 86.56800888933157 + 77.29461380525763 + + + FIRE + FIRE_692@GraphGeneration.gov + FIRE_692 + 8 + 4 + 79.95238247553225 + 63.97291159641252 + + + FIRE + FIRE_700@GraphGeneration.gov + FIRE_700 + 11 + 4 + 68.21339898378758 + 72.92101101002336 + + + FIRE + FIRE_777@GraphGeneration.gov + FIRE_777 + 9 + 4 + 144.32335965968247 + 79.1234258313943 + + + FIRE + FIRE_779@GraphGeneration.gov + FIRE_779 + 10 + 4 + 138.07216317049378 + 73.7613857280388 + + + FIRE + FIRE_780@GraphGeneration.gov + FIRE_780 + 8 + 4 + 150.8500435787376 + 65.49669327526176 + + + FIRE + FIRE_785@GraphGeneration.gov + FIRE_785 + 10 + 4 + 180.88626472936502 + 59.5531895476496 + + + FIRE + FIRE_786@GraphGeneration.gov + FIRE_786 + 12 + 4 + 181.07678990227413 + 60.566654432789285 + + + FIRE + FIRE_789@GraphGeneration.gov + FIRE_789 + 8 + 4 + 153.6259132308806 + 57.555439171792095 + + + FIRE + FIRE_790@GraphGeneration.gov + FIRE_790 + 12 + 4 + 158.04379932277152 + 62.061212910470935 + + + FIRE + FIRE_792@GraphGeneration.gov + FIRE_792 + 9 + 4 + 186.10032966901713 + 63.93587562461333 + + + FIRE + FIRE_795@GraphGeneration.gov + FIRE_795 + 10 + 4 + 158.12959091297563 + 66.00131475993592 + + + FIRE + FIRE_861@GraphGeneration.gov + FIRE_861 + 8 + 4 + 54.221929301643755 + 108.00261094248663 + + + FIRE + FIRE_865@GraphGeneration.gov + FIRE_865 + 10 + 4 + 56.56537988762875 + 87.20194237834248 + + + FIRE + FIRE_866@GraphGeneration.gov + FIRE_866 + 12 + 4 + 16.20089853211641 + 104.49810815331817 + + + FIRE + FIRE_868@GraphGeneration.gov + FIRE_868 + 12 + 4 + 31.210510125896672 + 98.29155469070714 + + + FIRE + FIRE_877@GraphGeneration.gov + FIRE_877 + 12 + 4 + 24.256519970534228 + 89.79711388740436 + + + FIRE + FIRE_884@GraphGeneration.gov + FIRE_884 + 10 + 4 + 47.499517389951635 + 94.06034885194913 + + + FIRE + FIRE_951@GraphGeneration.gov + FIRE_951 + 8 + 4 + 116.28573043865029 + 103.16905407163257 + + + FIRE + FIRE_953@GraphGeneration.gov + FIRE_953 + 11 + 4 + 70.69991828417247 + 97.35356828176887 + + + FIRE + FIRE_956@GraphGeneration.gov + FIRE_956 + 9 + 4 + 86.3170040653172 + 89.82713518041672 + + + FIRE + FIRE_957@GraphGeneration.gov + FIRE_957 + 6 + 4 + 132.24988176713327 + 97.80389255349479 + + + FIRE + FIRE_964@GraphGeneration.gov + FIRE_964 + 12 + 4 + 69.49025539673235 + 86.72967630121181 + + + FIRE + FIRE_973@GraphGeneration.gov + FIRE_973 + 12 + 4 + 75.6079539561635 + 109.18549987562326 + + + FIRE + FIRE_979@GraphGeneration.gov + FIRE_979 + 12 + 4 + 99.25034210203134 + 108.67846604252655 + + + FIRE + FIRE_1047@GraphGeneration.gov + FIRE_1047 + 9 + 4 + 198.80583416939658 + 99.58171473145428 + + + FIRE + FIRE_1048@GraphGeneration.gov + FIRE_1048 + 11 + 4 + 190.54022038060822 + 113.47273360645954 + + + FIRE + FIRE_1051@GraphGeneration.gov + FIRE_1051 + 11 + 4 + 158.64294198109272 + 99.23334069283919 + + + FIRE + FIRE_1056@GraphGeneration.gov + FIRE_1056 + 12 + 4 + 154.8832904289523 + 97.71084050276066 + + + FIRE + FIRE_1057@GraphGeneration.gov + FIRE_1057 + 8 + 4 + 143.8296434790895 + 108.48713535999178 + + + FIRE + FIRE_1070@GraphGeneration.gov + FIRE_1070 + 12 + 4 + 135.93810431099138 + 101.03668869153474 + + + FIRE + FIRE_1071@GraphGeneration.gov + FIRE_1071 + 11 + 4 + 136.22182151026436 + 105.64844037499932 + + + FIRE + FIRE_1137@GraphGeneration.gov + FIRE_1137 + 8 + 4 + 11.307526423023573 + 133.69659722298272 + + + FIRE + FIRE_1138@GraphGeneration.gov + FIRE_1138 + 6 + 4 + 14.82527995860652 + 140.56561594701424 + + + FIRE + FIRE_1145@GraphGeneration.gov + FIRE_1145 + 11 + 4 + 23.638146631040144 + 138.72145102557985 + + + FIRE + FIRE_1152@GraphGeneration.gov + FIRE_1152 + 9 + 4 + 61.085626549431176 + 132.8495168780405 + + + FIRE + FIRE_1158@GraphGeneration.gov + FIRE_1158 + 9 + 4 + 44.11342148321988 + 121.48371497444404 + + + FIRE + FIRE_1164@GraphGeneration.gov + FIRE_1164 + 11 + 4 + 50.689705523387644 + 135.49522398821784 + + + FIRE + FIRE_1228@GraphGeneration.gov + FIRE_1228 + 12 + 4 + 101.92276182537017 + 142.63855846027596 + + + FIRE + FIRE_1229@GraphGeneration.gov + FIRE_1229 + 8 + 4 + 122.79003220255753 + 117.10963622243818 + + + FIRE + FIRE_1230@GraphGeneration.gov + FIRE_1230 + 11 + 4 + 121.66168687710288 + 128.16411882610458 + + + FIRE + FIRE_1231@GraphGeneration.gov + FIRE_1231 + 8 + 4 + 122.64362590426023 + 140.39618032057368 + + + FIRE + FIRE_1236@GraphGeneration.gov + FIRE_1236 + 8 + 4 + 132.64418369479057 + 125.8542802012132 + + + FIRE + FIRE_1240@GraphGeneration.gov + FIRE_1240 + 6 + 4 + 90.01715768968029 + 132.23830437958017 + + + FIRE + FIRE_1241@GraphGeneration.gov + FIRE_1241 + 10 + 4 + 79.35522572302315 + 140.95254295983065 + + + FIRE + FIRE_1245@GraphGeneration.gov + FIRE_1245 + 8 + 4 + 67.30844496937773 + 117.45120041962615 + + + FIRE + FIRE_1247@GraphGeneration.gov + FIRE_1247 + 8 + 4 + 106.02046781775287 + 122.67724658166941 + + + FIRE + FIRE_1250@GraphGeneration.gov + FIRE_1250 + 6 + 4 + 72.46822105462991 + 120.79691477921035 + + + FIRE + FIRE_1255@GraphGeneration.gov + FIRE_1255 + 12 + 4 + 120.35273025326498 + 129.74209541193068 + + + FIRE + FIRE_1328@GraphGeneration.gov + FIRE_1328 + 7 + 4 + 177.05575433352516 + 124.98355515657879 + + + FIRE + FIRE_1330@GraphGeneration.gov + FIRE_1330 + 10 + 4 + 198.23995638496376 + 139.8680474579637 + + + FIRE + FIRE_1332@GraphGeneration.gov + FIRE_1332 + 10 + 4 + 175.1835953578094 + 123.86810093748925 + + + FIRE + FIRE_1335@GraphGeneration.gov + FIRE_1335 + 6 + 4 + 148.25908574468286 + 138.65523857922912 + + + FIRE + FIRE_1344@GraphGeneration.gov + FIRE_1344 + 8 + 4 + 199.66536603033006 + 136.68657184157178 + + + FIRE + FIRE_1345@GraphGeneration.gov + FIRE_1345 + 10 + 4 + 147.14867217635182 + 136.49296092354453 + + + FIRE + FIRE_1414@GraphGeneration.gov + FIRE_1414 + 9 + 4 + 1.1951308028675278 + 151.5544374641478 + + + FIRE + FIRE_1419@GraphGeneration.gov + FIRE_1419 + 10 + 4 + 22.452025015618933 + 151.82537574434784 + + + FIRE + FIRE_1422@GraphGeneration.gov + FIRE_1422 + 6 + 4 + 25.123291471299247 + 158.25827062995683 + + + FIRE + FIRE_1437@GraphGeneration.gov + FIRE_1437 + 9 + 4 + 46.33827199106282 + 154.53712582686052 + + + FIRE + FIRE_1508@GraphGeneration.gov + FIRE_1508 + 7 + 4 + 132.99999046020235 + 165.7068508692815 + + + FIRE + FIRE_1510@GraphGeneration.gov + FIRE_1510 + 11 + 4 + 67.3509572589103 + 163.2153719396738 + + + FIRE + FIRE_1513@GraphGeneration.gov + FIRE_1513 + 12 + 4 + 103.379534953276 + 169.33384368156788 + + + FIRE + FIRE_1516@GraphGeneration.gov + FIRE_1516 + 7 + 4 + 73.05356962187886 + 156.88308248545925 + + + FIRE + FIRE_1524@GraphGeneration.gov + FIRE_1524 + 11 + 4 + 125.34646435136844 + 153.13331378444678 + + + FIRE + FIRE_1605@GraphGeneration.gov + FIRE_1605 + 7 + 4 + 136.22050508147333 + 166.633881914367 + + + FIRE + FIRE_1608@GraphGeneration.gov + FIRE_1608 + 10 + 4 + 186.32932761150843 + 146.07142894738672 + + + FIRE + FIRE_1617@GraphGeneration.gov + FIRE_1617 + 9 + 4 + 182.17232159514504 + 148.50924876837897 + + + FIRE + FIRE_1687@GraphGeneration.gov + FIRE_1687 + 11 + 4 + 62.06831828656365 + 173.64580883198747 + + + FIRE + FIRE_1689@GraphGeneration.gov + FIRE_1689 + 9 + 4 + 42.66928152311478 + 193.15487230344382 + + + FIRE + FIRE_1694@GraphGeneration.gov + FIRE_1694 + 12 + 4 + 66.37314672214534 + 181.51027264544862 + + + FIRE + FIRE_1695@GraphGeneration.gov + FIRE_1695 + 12 + 4 + 61.74492519617573 + 177.70969087490977 + + + FIRE + FIRE_1699@GraphGeneration.gov + FIRE_1699 + 11 + 4 + 52.602066842702136 + 180.86784384781396 + + + FIRE + FIRE_1711@GraphGeneration.gov + FIRE_1711 + 11 + 4 + 16.564135944854833 + 179.39626167748963 + + + FIRE + FIRE_1713@GraphGeneration.gov + FIRE_1713 + 10 + 4 + 37.29222540988041 + 172.79990604677437 + + + FIRE + FIRE_1716@GraphGeneration.gov + FIRE_1716 + 11 + 4 + 0.3947755885482426 + 180.2489970388754 + + + FIRE + FIRE_1779@GraphGeneration.gov + FIRE_1779 + 9 + 4 + 86.90057566503052 + 186.07947234675234 + + + FIRE + FIRE_1781@GraphGeneration.gov + FIRE_1781 + 12 + 4 + 100.61794594104346 + 180.0050501795499 + + + FIRE + FIRE_1783@GraphGeneration.gov + FIRE_1783 + 6 + 4 + 104.33849286226716 + 192.16609169571595 + + + FIRE + FIRE_1788@GraphGeneration.gov + FIRE_1788 + 10 + 4 + 132.61066968431027 + 173.29094313784756 + + + FIRE + FIRE_1789@GraphGeneration.gov + FIRE_1789 + 8 + 4 + 97.66699452207816 + 196.46594529548756 + + + FIRE + FIRE_1790@GraphGeneration.gov + FIRE_1790 + 11 + 4 + 88.22819026114014 + 193.99414637026476 + + + FIRE + FIRE_1793@GraphGeneration.gov + FIRE_1793 + 6 + 4 + 102.24917361847233 + 192.86358243257695 + + + FIRE + FIRE_1795@GraphGeneration.gov + FIRE_1795 + 10 + 4 + 67.8356716754772 + 185.13768773466902 + + + FIRE + FIRE_1800@GraphGeneration.gov + FIRE_1800 + 7 + 4 + 74.19959452898131 + 188.11652131391853 + + + FIRE + FIRE_1872@GraphGeneration.gov + FIRE_1872 + 8 + 4 + 167.69961027216027 + 176.04396928588523 + + + FIRE + FIRE_1878@GraphGeneration.gov + FIRE_1878 + 7 + 4 + 159.65632592638505 + 199.4855944295336 + + + FIRE + FIRE_1885@GraphGeneration.gov + FIRE_1885 + 10 + 4 + 168.28271204024318 + 190.59191075397726 + + + FIRE + FIRE_1890@GraphGeneration.gov + FIRE_1890 + 9 + 4 + 152.69179485719667 + 184.0601135037577 + + + FIRE + FIRE_1892@GraphGeneration.gov + FIRE_1892 + 12 + 4 + 170.30873501066236 + 179.2304033833393 + + + FIRE + FIRE_1893@GraphGeneration.gov + FIRE_1893 + 10 + 4 + 137.79076068198762 + 182.82015108799476 + + + FIRE + FIRE_1898@GraphGeneration.gov + FIRE_1898 + 7 + 4 + 190.47419124691535 + 182.68024838145203 + + + LAW + LAW_66@GraphGeneration.gov + LAW_66 + 10 + 4 + 63.42048895676847 + 24.245021855164037 + + + LAW + LAW_68@GraphGeneration.gov + LAW_68 + 11 + 4 + 59.239158420503834 + 6.166557880356265 + + + LAW + LAW_70@GraphGeneration.gov + LAW_70 + 11 + 4 + 35.40197143583299 + 26.21333008034249 + + + LAW + LAW_75@GraphGeneration.gov + LAW_75 + 11 + 4 + 48.96934233276657 + 23.476727482934642 + + + LAW + LAW_77@GraphGeneration.gov + LAW_77 + 6 + 4 + 22.724044316955993 + 4.280504890600831 + + + LAW + LAW_83@GraphGeneration.gov + LAW_83 + 7 + 4 + 16.16271102687004 + 0.9989387110420633 + + + LAW + LAW_86@GraphGeneration.gov + LAW_86 + 12 + 4 + 5.172746657948927 + 6.261769014994877 + + + LAW + LAW_157@GraphGeneration.gov + LAW_157 + 11 + 4 + 108.11765627623285 + 8.157781466497434 + + + LAW + LAW_166@GraphGeneration.gov + LAW_166 + 6 + 4 + 97.5085764966101 + 1.5397444761907473 + + + LAW + LAW_171@GraphGeneration.gov + LAW_171 + 12 + 4 + 87.00907884673197 + 17.253137681951817 + + + LAW + LAW_175@GraphGeneration.gov + LAW_175 + 6 + 4 + 91.52962030737172 + 6.251896644016419 + + + LAW + LAW_181@GraphGeneration.gov + LAW_181 + 8 + 4 + 73.70147614306195 + 1.8568164597517598 + + + LAW + LAW_182@GraphGeneration.gov + LAW_182 + 6 + 4 + 73.18052020035323 + 25.446458356041667 + + + LAW + LAW_245@GraphGeneration.gov + LAW_245 + 11 + 4 + 184.24122944754868 + 1.6898867102948412 + + + LAW + LAW_251@GraphGeneration.gov + LAW_251 + 11 + 4 + 174.5349527178175 + 3.541015092436999 + + + LAW + LAW_258@GraphGeneration.gov + LAW_258 + 7 + 4 + 180.9128070230489 + 3.720141314217724 + + + LAW + LAW_263@GraphGeneration.gov + LAW_263 + 7 + 4 + 168.68092968004206 + 16.21162896295414 + + + LAW + LAW_267@GraphGeneration.gov + LAW_267 + 11 + 4 + 137.4026741335526 + 2.9717578086010104 + + + LAW + LAW_272@GraphGeneration.gov + LAW_272 + 9 + 4 + 199.08695800931832 + 24.08753824799598 + + + LAW + LAW_337@GraphGeneration.gov + LAW_337 + 12 + 4 + 11.535790114738525 + 52.77013380900394 + + + LAW + LAW_341@GraphGeneration.gov + LAW_341 + 8 + 4 + 4.222646601953572 + 34.06531693770061 + + + LAW + LAW_346@GraphGeneration.gov + LAW_346 + 12 + 4 + 11.542857704635228 + 43.990280252906985 + + + LAW + LAW_347@GraphGeneration.gov + LAW_347 + 10 + 4 + 47.9547319747305 + 51.235099535753974 + + + LAW + LAW_349@GraphGeneration.gov + LAW_349 + 7 + 4 + 35.884236199619444 + 52.13520056242386 + + + LAW + LAW_354@GraphGeneration.gov + LAW_354 + 6 + 4 + 56.990269034630764 + 29.108986778371516 + + + LAW + LAW_356@GraphGeneration.gov + LAW_356 + 9 + 4 + 64.17244697269035 + 39.731380335945275 + + + LAW + LAW_358@GraphGeneration.gov + LAW_358 + 12 + 4 + 29.708989993718124 + 56.414846368276585 + + + LAW + LAW_429@GraphGeneration.gov + LAW_429 + 12 + 4 + 84.71793482248 + 42.83487723082321 + + + LAW + LAW_431@GraphGeneration.gov + LAW_431 + 8 + 4 + 121.58398021512647 + 49.272330806741785 + + + LAW + LAW_432@GraphGeneration.gov + LAW_432 + 6 + 4 + 94.46033235132964 + 45.72706861164842 + + + LAW + LAW_436@GraphGeneration.gov + LAW_436 + 12 + 4 + 68.37913917024348 + 42.59451470786652 + + + LAW + LAW_439@GraphGeneration.gov + LAW_439 + 9 + 4 + 83.7038525092343 + 30.52748639080075 + + + LAW + LAW_443@GraphGeneration.gov + LAW_443 + 7 + 4 + 78.98372773566652 + 47.56544786119416 + + + LAW + LAW_451@GraphGeneration.gov + LAW_451 + 10 + 4 + 96.73736539911722 + 31.2152474339838 + + + LAW + LAW_452@GraphGeneration.gov + LAW_452 + 9 + 4 + 131.30840591943144 + 29.18165858496081 + + + LAW + LAW_523@GraphGeneration.gov + LAW_523 + 10 + 4 + 185.66587058702356 + 46.29000658143987 + + + LAW + LAW_525@GraphGeneration.gov + LAW_525 + 11 + 4 + 166.39629773128433 + 50.55848740156436 + + + LAW + LAW_532@GraphGeneration.gov + LAW_532 + 7 + 4 + 134.5950841371236 + 34.30335524924456 + + + LAW + LAW_535@GraphGeneration.gov + LAW_535 + 12 + 4 + 154.22044996311377 + 45.14400285059752 + + + LAW + LAW_538@GraphGeneration.gov + LAW_538 + 10 + 4 + 141.89699105251117 + 39.13492449934068 + + + LAW + LAW_547@GraphGeneration.gov + LAW_547 + 12 + 4 + 192.17399971951397 + 35.32157966968206 + + + LAW + LAW_548@GraphGeneration.gov + LAW_548 + 9 + 4 + 197.75537870990286 + 53.069026333587146 + + + LAW + LAW_632@GraphGeneration.gov + LAW_632 + 9 + 4 + 14.704066765743807 + 73.98645095855372 + + + LAW + LAW_635@GraphGeneration.gov + LAW_635 + 12 + 4 + 53.15162288877539 + 79.3938924746252 + + + LAW + LAW_640@GraphGeneration.gov + LAW_640 + 8 + 4 + 63.33628784289463 + 79.72607640121235 + + + LAW + LAW_706@GraphGeneration.gov + LAW_706 + 10 + 4 + 72.66442849911955 + 62.227526587300375 + + + LAW + LAW_715@GraphGeneration.gov + LAW_715 + 12 + 4 + 94.84726270445668 + 62.983006681904484 + + + LAW + LAW_716@GraphGeneration.gov + LAW_716 + 7 + 4 + 98.94289102151541 + 75.78082553550601 + + + LAW + LAW_718@GraphGeneration.gov + LAW_718 + 12 + 4 + 106.77221230432309 + 63.49412541709651 + + + LAW + LAW_719@GraphGeneration.gov + LAW_719 + 11 + 4 + 94.83941575571744 + 60.821812956556734 + + + LAW + LAW_720@GraphGeneration.gov + LAW_720 + 10 + 4 + 117.32337419561239 + 74.15800828944579 + + + LAW + LAW_724@GraphGeneration.gov + LAW_724 + 11 + 4 + 85.08408284987226 + 78.39380277074066 + + + LAW + LAW_725@GraphGeneration.gov + LAW_725 + 10 + 4 + 116.13647230818687 + 73.49689364802569 + + + LAW + LAW_728@GraphGeneration.gov + LAW_728 + 12 + 4 + 126.28710091682808 + 84.57294369376224 + + + LAW + LAW_734@GraphGeneration.gov + LAW_734 + 6 + 4 + 120.34126685456073 + 57.52351463656875 + + + LAW + LAW_797@GraphGeneration.gov + LAW_797 + 6 + 4 + 194.37315736605856 + 58.973281466837896 + + + LAW + LAW_810@GraphGeneration.gov + LAW_810 + 11 + 4 + 172.06795253400384 + 73.41919458802376 + + + LAW + LAW_817@GraphGeneration.gov + LAW_817 + 10 + 4 + 133.88320303723276 + 69.97162944823975 + + + LAW + LAW_823@GraphGeneration.gov + LAW_823 + 8 + 4 + 190.40048258636745 + 69.23063582849419 + + + LAW + LAW_825@GraphGeneration.gov + LAW_825 + 11 + 4 + 138.58695820862764 + 63.425843108594535 + + + LAW + LAW_892@GraphGeneration.gov + LAW_892 + 9 + 4 + 3.8050363954196107 + 105.41583301498747 + + + LAW + LAW_897@GraphGeneration.gov + LAW_897 + 11 + 4 + 28.792659186144437 + 101.97188341391015 + + + LAW + LAW_901@GraphGeneration.gov + LAW_901 + 11 + 4 + 39.92899914714616 + 108.13336428417857 + + + LAW + LAW_903@GraphGeneration.gov + LAW_903 + 12 + 4 + 8.844491697977341 + 103.32586587522968 + + + LAW + LAW_905@GraphGeneration.gov + LAW_905 + 11 + 4 + 4.242286062427944 + 95.79744521642553 + + + LAW + LAW_907@GraphGeneration.gov + LAW_907 + 12 + 4 + 40.26824001585289 + 95.75268891857432 + + + LAW + LAW_915@GraphGeneration.gov + LAW_915 + 7 + 4 + 61.35582493868902 + 97.49279894037022 + + + LAW + LAW_917@GraphGeneration.gov + LAW_917 + 7 + 4 + 38.987537814686114 + 113.32503619989595 + + + LAW + LAW_981@GraphGeneration.gov + LAW_981 + 11 + 4 + 110.22397209795936 + 111.1286343381777 + + + LAW + LAW_989@GraphGeneration.gov + LAW_989 + 6 + 4 + 83.25677903750633 + 104.72894673674189 + + + LAW + LAW_991@GraphGeneration.gov + LAW_991 + 12 + 4 + 107.02743459484317 + 88.92702614741327 + + + LAW + LAW_992@GraphGeneration.gov + LAW_992 + 11 + 4 + 106.57806208272369 + 88.81888797937881 + + + LAW + LAW_1009@GraphGeneration.gov + LAW_1009 + 6 + 4 + 69.91982306677772 + 104.42070409430113 + + + LAW + LAW_1010@GraphGeneration.gov + LAW_1010 + 9 + 4 + 122.85824901915477 + 96.66697384680654 + + + LAW + LAW_1077@GraphGeneration.gov + LAW_1077 + 12 + 4 + 186.46218530311504 + 109.42589330972777 + + + LAW + LAW_1082@GraphGeneration.gov + LAW_1082 + 7 + 4 + 148.50568207990705 + 98.97194135909866 + + + LAW + LAW_1085@GraphGeneration.gov + LAW_1085 + 11 + 4 + 136.5762222103513 + 111.62716222852154 + + + LAW + LAW_1092@GraphGeneration.gov + LAW_1092 + 7 + 4 + 172.94128622803478 + 95.90967109757501 + + + LAW + LAW_1093@GraphGeneration.gov + LAW_1093 + 6 + 4 + 194.1223013412635 + 103.39158210502868 + + + LAW + LAW_1172@GraphGeneration.gov + LAW_1172 + 10 + 4 + 35.90540902269552 + 129.65628867032532 + + + LAW + LAW_1174@GraphGeneration.gov + LAW_1174 + 11 + 4 + 2.816934988338571 + 125.93108259215286 + + + LAW + LAW_1177@GraphGeneration.gov + LAW_1177 + 9 + 4 + 47.85827976297634 + 132.46184126217872 + + + LAW + LAW_1182@GraphGeneration.gov + LAW_1182 + 9 + 4 + 30.65965630021528 + 125.0034039858106 + + + LAW + LAW_1184@GraphGeneration.gov + LAW_1184 + 10 + 4 + 0.24356241276023058 + 141.18566397951784 + + + LAW + LAW_1187@GraphGeneration.gov + LAW_1187 + 9 + 4 + 25.45351075593728 + 134.35460072550367 + + + LAW + LAW_1191@GraphGeneration.gov + LAW_1191 + 10 + 4 + 31.899504073471814 + 134.79505368971445 + + + LAW + LAW_1259@GraphGeneration.gov + LAW_1259 + 12 + 4 + 106.24299157453046 + 129.25725788372105 + + + LAW + LAW_1260@GraphGeneration.gov + LAW_1260 + 10 + 4 + 104.08869196334811 + 142.12652357916903 + + + LAW + LAW_1264@GraphGeneration.gov + LAW_1264 + 9 + 4 + 99.68308387350976 + 135.64153899232227 + + + LAW + LAW_1271@GraphGeneration.gov + LAW_1271 + 6 + 4 + 131.99556893104497 + 138.12024913163907 + + + LAW + LAW_1286@GraphGeneration.gov + LAW_1286 + 10 + 4 + 84.83603738606048 + 119.53466154436816 + + + LAW + LAW_1349@GraphGeneration.gov + LAW_1349 + 7 + 4 + 183.84299802759978 + 138.7553299405073 + + + LAW + LAW_1351@GraphGeneration.gov + LAW_1351 + 9 + 4 + 168.50376927020488 + 128.42819510458378 + + + LAW + LAW_1355@GraphGeneration.gov + LAW_1355 + 7 + 4 + 163.25143136840742 + 124.00791147454912 + + + LAW + LAW_1364@GraphGeneration.gov + LAW_1364 + 9 + 4 + 179.0302099668044 + 139.38984600984043 + + + LAW + LAW_1366@GraphGeneration.gov + LAW_1366 + 8 + 4 + 134.11821902701857 + 118.67831015357127 + + + LAW + LAW_1370@GraphGeneration.gov + LAW_1370 + 8 + 4 + 150.6127558643724 + 117.2240106850402 + + + LAW + LAW_1373@GraphGeneration.gov + LAW_1373 + 10 + 4 + 155.6818749212738 + 116.37949861080722 + + + LAW + LAW_1374@GraphGeneration.gov + LAW_1374 + 11 + 4 + 141.516776767036 + 138.326350619266 + + + LAW + LAW_1375@GraphGeneration.gov + LAW_1375 + 12 + 4 + 186.08113509119414 + 123.97708019180509 + + + LAW + LAW_1441@GraphGeneration.gov + LAW_1441 + 11 + 4 + 1.43463511129438 + 168.7070477839887 + + + LAW + LAW_1442@GraphGeneration.gov + LAW_1442 + 8 + 4 + 34.61750625259352 + 151.9009243519754 + + + LAW + LAW_1449@GraphGeneration.gov + LAW_1449 + 8 + 4 + 10.611985578985225 + 171.07741083136003 + + + LAW + LAW_1453@GraphGeneration.gov + LAW_1453 + 6 + 4 + 33.41218084283697 + 165.68591909151286 + + + LAW + LAW_1458@GraphGeneration.gov + LAW_1458 + 8 + 4 + 32.51451662034408 + 156.64649366500686 + + + LAW + LAW_1460@GraphGeneration.gov + LAW_1460 + 7 + 4 + 24.421171821628235 + 156.48555946207054 + + + LAW + LAW_1461@GraphGeneration.gov + LAW_1461 + 6 + 4 + 61.15178504451394 + 161.45254588915174 + + + LAW + LAW_1464@GraphGeneration.gov + LAW_1464 + 11 + 4 + 47.44086213540436 + 166.02248791571267 + + + LAW + LAW_1466@GraphGeneration.gov + LAW_1466 + 11 + 4 + 65.25394984188102 + 167.36114332530713 + + + LAW + LAW_1536@GraphGeneration.gov + LAW_1536 + 11 + 4 + 90.26714847099595 + 163.2094379193536 + + + LAW + LAW_1537@GraphGeneration.gov + LAW_1537 + 7 + 4 + 68.95446614326374 + 159.21274073403652 + + + LAW + LAW_1541@GraphGeneration.gov + LAW_1541 + 11 + 4 + 82.52069106332308 + 168.8625519073996 + + + LAW + LAW_1557@GraphGeneration.gov + LAW_1557 + 9 + 4 + 88.9846319947169 + 163.00658712156942 + + + LAW + LAW_1559@GraphGeneration.gov + LAW_1559 + 7 + 4 + 92.12356005733011 + 147.73160926078802 + + + LAW + LAW_1627@GraphGeneration.gov + LAW_1627 + 9 + 4 + 138.50866569423496 + 151.35792994171914 + + + LAW + LAW_1632@GraphGeneration.gov + LAW_1632 + 8 + 4 + 185.63434185058733 + 162.77064593057707 + + + LAW + LAW_1635@GraphGeneration.gov + LAW_1635 + 11 + 4 + 145.36535719792403 + 144.8953545539802 + + + LAW + LAW_1638@GraphGeneration.gov + LAW_1638 + 9 + 4 + 196.63285658561114 + 165.83845287481546 + + + LAW + LAW_1643@GraphGeneration.gov + LAW_1643 + 10 + 4 + 185.8461409239581 + 157.58905207658464 + + + LAW + LAW_1645@GraphGeneration.gov + LAW_1645 + 12 + 4 + 183.07086261596976 + 166.75734786935107 + + + LAW + LAW_1646@GraphGeneration.gov + LAW_1646 + 6 + 4 + 181.39075150651354 + 170.16696340587677 + + + LAW + LAW_1651@GraphGeneration.gov + LAW_1651 + 12 + 4 + 167.9663661637464 + 150.86348737530773 + + + LAW + LAW_1652@GraphGeneration.gov + LAW_1652 + 7 + 4 + 153.86082750120764 + 169.32381206199474 + + + LAW + LAW_1654@GraphGeneration.gov + LAW_1654 + 11 + 4 + 198.88084152375723 + 149.64361873417076 + + + LAW + LAW_1721@GraphGeneration.gov + LAW_1721 + 9 + 4 + 43.239542033992294 + 188.29822043464122 + + + LAW + LAW_1722@GraphGeneration.gov + LAW_1722 + 6 + 4 + 22.578916463603196 + 180.11048397593436 + + + LAW + LAW_1723@GraphGeneration.gov + LAW_1723 + 9 + 4 + 2.847101195204986 + 173.14711399522432 + + + LAW + LAW_1730@GraphGeneration.gov + LAW_1730 + 9 + 4 + 1.7225553582797797 + 199.89110618272522 + + + LAW + LAW_1738@GraphGeneration.gov + LAW_1738 + 7 + 4 + 34.582477398813346 + 184.79331202893715 + + + LAW + LAW_1739@GraphGeneration.gov + LAW_1739 + 11 + 4 + 2.0106683871331743 + 180.13887880381174 + + + LAW + LAW_1745@GraphGeneration.gov + LAW_1745 + 11 + 4 + 32.44239311890069 + 191.64375210817255 + + + LAW + LAW_1746@GraphGeneration.gov + LAW_1746 + 10 + 4 + 66.40848326889828 + 195.25419018036962 + + + LAW + LAW_1809@GraphGeneration.gov + LAW_1809 + 6 + 4 + 104.93818453172513 + 189.5945772062259 + + + LAW + LAW_1813@GraphGeneration.gov + LAW_1813 + 7 + 4 + 99.75653856997056 + 198.4667193924899 + + + LAW + LAW_1819@GraphGeneration.gov + LAW_1819 + 8 + 4 + 126.22787356673632 + 191.6663162602999 + + + LAW + LAW_1820@GraphGeneration.gov + LAW_1820 + 11 + 4 + 67.86298231018579 + 193.14453030711297 + + + LAW + LAW_1823@GraphGeneration.gov + LAW_1823 + 8 + 4 + 67.21799369142262 + 196.57198122593263 + + + LAW + LAW_1826@GraphGeneration.gov + LAW_1826 + 8 + 4 + 99.6793927076608 + 176.58890981020147 + + + LAW + LAW_1827@GraphGeneration.gov + LAW_1827 + 10 + 4 + 68.13021165270425 + 178.268488200545 + + + LAW + LAW_1828@GraphGeneration.gov + LAW_1828 + 7 + 4 + 101.51407669743887 + 179.66377398360223 + + + LAW + LAW_1829@GraphGeneration.gov + LAW_1829 + 10 + 4 + 99.55688660157418 + 182.47307130430667 + + + LAW + LAW_1831@GraphGeneration.gov + LAW_1831 + 10 + 4 + 78.03694647880327 + 197.97417764158462 + + + LAW + LAW_1832@GraphGeneration.gov + LAW_1832 + 7 + 4 + 118.49819363795467 + 193.22921887249046 + + + LAW + LAW_1835@GraphGeneration.gov + LAW_1835 + 8 + 4 + 121.98353767329849 + 185.40577207818694 + + + LAW + LAW_1838@GraphGeneration.gov + LAW_1838 + 7 + 4 + 76.47448333763667 + 196.5228578324979 + + + LAW + LAW_1903@GraphGeneration.gov + LAW_1903 + 10 + 4 + 192.78474768547716 + 177.07777188534197 + + + LAW + LAW_1905@GraphGeneration.gov + LAW_1905 + 7 + 4 + 189.47422632623267 + 176.24966644353592 + + + LAW + LAW_1917@GraphGeneration.gov + LAW_1917 + 9 + 4 + 176.8147933601147 + 172.32252860895255 + + + LAW + LAW_1921@GraphGeneration.gov + LAW_1921 + 9 + 4 + 171.9273541019585 + 198.58680431387754 + + + EMS + EMS_4@GraphGeneration.gov + EMS_4 + 8 + 5 + 37.92350037100433 + 23.215327632051313 + + + EMS + EMS_5@GraphGeneration.gov + EMS_5 + 7 + 5 + 55.39546587909761 + 0.13755689889921438 + + + EMS + EMS_8@GraphGeneration.gov + EMS_8 + 12 + 5 + 10.935683137372447 + 25.285999400055573 + + + EMS + EMS_14@GraphGeneration.gov + EMS_14 + 12 + 5 + 29.220319266856112 + 20.300040066495633 + + + EMS + EMS_15@GraphGeneration.gov + EMS_15 + 6 + 5 + 44.71807860892047 + 24.50992265667276 + + + EMS + EMS_19@GraphGeneration.gov + EMS_19 + 7 + 5 + 29.346250001141893 + 20.619808701543334 + + + EMS + EMS_28@GraphGeneration.gov + EMS_28 + 9 + 5 + 7.795179982943383 + 2.8147290015144586 + + + EMS + EMS_29@GraphGeneration.gov + EMS_29 + 6 + 5 + 42.940960265362456 + 3.1988517638879603 + + + EMS + EMS_100@GraphGeneration.gov + EMS_100 + 11 + 5 + 77.91806607422646 + 15.206599426321903 + + + EMS + EMS_102@GraphGeneration.gov + EMS_102 + 11 + 5 + 113.99293301996997 + 8.841218242375925 + + + EMS + EMS_104@GraphGeneration.gov + EMS_104 + 9 + 5 + 117.36635419068955 + 21.815628824494183 + + + EMS + EMS_105@GraphGeneration.gov + EMS_105 + 11 + 5 + 129.6763273046301 + 19.855587848098484 + + + EMS + EMS_108@GraphGeneration.gov + EMS_108 + 7 + 5 + 113.42107240634978 + 23.6356817159565 + + + EMS + EMS_109@GraphGeneration.gov + EMS_109 + 7 + 5 + 131.355485470602 + 4.371265502227534 + + + EMS + EMS_112@GraphGeneration.gov + EMS_112 + 12 + 5 + 89.97119310299558 + 8.556594191367026 + + + EMS + EMS_114@GraphGeneration.gov + EMS_114 + 8 + 5 + 105.0393213943286 + 25.238400106894005 + + + EMS + EMS_185@GraphGeneration.gov + EMS_185 + 9 + 5 + 186.47204194818943 + 9.804143865341898 + + + EMS + EMS_187@GraphGeneration.gov + EMS_187 + 6 + 5 + 173.65397563935835 + 25.886024856660068 + + + EMS + EMS_199@GraphGeneration.gov + EMS_199 + 10 + 5 + 139.670501985242 + 21.859152882112568 + + + EMS + EMS_207@GraphGeneration.gov + EMS_207 + 8 + 5 + 182.84638948831287 + 27.862208126990808 + + + EMS + EMS_212@GraphGeneration.gov + EMS_212 + 11 + 5 + 161.52710366668234 + 2.167688096526074 + + + EMS + EMS_213@GraphGeneration.gov + EMS_213 + 11 + 5 + 175.0577195089974 + 9.010508264508488 + + + EMS + EMS_278@GraphGeneration.gov + EMS_278 + 9 + 5 + 41.80959947548156 + 49.47520092334647 + + + EMS + EMS_280@GraphGeneration.gov + EMS_280 + 8 + 5 + 53.52949173527739 + 50.16371611241077 + + + EMS + EMS_281@GraphGeneration.gov + EMS_281 + 6 + 5 + 43.99908207964909 + 34.28781848622826 + + + EMS + EMS_287@GraphGeneration.gov + EMS_287 + 6 + 5 + 52.153228343521036 + 54.79769657336733 + + + EMS + EMS_291@GraphGeneration.gov + EMS_291 + 6 + 5 + 5.248530291735487 + 39.651058692721676 + + + EMS + EMS_293@GraphGeneration.gov + EMS_293 + 8 + 5 + 2.6953364243951006 + 38.070290654468934 + + + EMS + EMS_303@GraphGeneration.gov + EMS_303 + 7 + 5 + 22.671922761824728 + 47.95549331708334 + + + EMS + EMS_304@GraphGeneration.gov + EMS_304 + 9 + 5 + 16.60388883555865 + 35.95141763579733 + + + EMS + EMS_305@GraphGeneration.gov + EMS_305 + 10 + 5 + 53.99095277907012 + 28.83866525564532 + + + EMS + EMS_370@GraphGeneration.gov + EMS_370 + 6 + 5 + 82.62503763663871 + 41.29192764679415 + + + EMS + EMS_388@GraphGeneration.gov + EMS_388 + 10 + 5 + 106.59299570473951 + 37.56290648644228 + + + EMS + EMS_390@GraphGeneration.gov + EMS_390 + 7 + 5 + 112.86755458627198 + 48.08479476996159 + + + EMS + EMS_391@GraphGeneration.gov + EMS_391 + 9 + 5 + 81.07637599767216 + 28.82156417261308 + + + EMS + EMS_395@GraphGeneration.gov + EMS_395 + 7 + 5 + 123.89517462257658 + 38.63809535934438 + + + EMS + EMS_463@GraphGeneration.gov + EMS_463 + 11 + 5 + 180.98353190589205 + 42.58523216879868 + + + EMS + EMS_467@GraphGeneration.gov + EMS_467 + 9 + 5 + 148.50047234394765 + 48.98176655595241 + + + EMS + EMS_471@GraphGeneration.gov + EMS_471 + 7 + 5 + 139.6597178442132 + 49.952211004084816 + + + EMS + EMS_472@GraphGeneration.gov + EMS_472 + 10 + 5 + 140.99529222020166 + 34.15732354256314 + + + EMS + EMS_473@GraphGeneration.gov + EMS_473 + 9 + 5 + 164.3719605054992 + 42.96304512012843 + + + EMS + EMS_474@GraphGeneration.gov + EMS_474 + 6 + 5 + 159.38863795572107 + 40.54334477444894 + + + EMS + EMS_482@GraphGeneration.gov + EMS_482 + 6 + 5 + 140.69659039236188 + 37.65978873940715 + + + EMS + EMS_574@GraphGeneration.gov + EMS_574 + 11 + 5 + 24.92790442186482 + 69.5358368178317 + + + EMS + EMS_579@GraphGeneration.gov + EMS_579 + 11 + 5 + 13.70960049313351 + 79.83183108379002 + + + EMS + EMS_581@GraphGeneration.gov + EMS_581 + 11 + 5 + 30.13110319694395 + 67.05817468613951 + + + EMS + EMS_582@GraphGeneration.gov + EMS_582 + 7 + 5 + 0.21072603985530977 + 70.10913653630422 + + + EMS + EMS_647@GraphGeneration.gov + EMS_647 + 8 + 5 + 120.54968358028617 + 73.2977585578829 + + + EMS + EMS_661@GraphGeneration.gov + EMS_661 + 7 + 5 + 99.9266045696777 + 58.75541634138498 + + + EMS + EMS_665@GraphGeneration.gov + EMS_665 + 11 + 5 + 122.73430854667698 + 59.18219206603793 + + + EMS + EMS_669@GraphGeneration.gov + EMS_669 + 11 + 5 + 115.36235077031976 + 74.49647747272566 + + + EMS + EMS_670@GraphGeneration.gov + EMS_670 + 12 + 5 + 70.82207369086258 + 78.84657562735998 + + + EMS + EMS_671@GraphGeneration.gov + EMS_671 + 7 + 5 + 104.18739070427655 + 82.48499205692103 + + + EMS + EMS_673@GraphGeneration.gov + EMS_673 + 12 + 5 + 88.88059150372801 + 73.53327316539298 + + + EMS + EMS_674@GraphGeneration.gov + EMS_674 + 8 + 5 + 123.24274566630808 + 84.1821610113357 + + + EMS + EMS_737@GraphGeneration.gov + EMS_737 + 12 + 5 + 164.56457981617544 + 76.02905625991059 + + + EMS + EMS_738@GraphGeneration.gov + EMS_738 + 7 + 5 + 188.0436605158725 + 77.46963451929275 + + + EMS + EMS_739@GraphGeneration.gov + EMS_739 + 10 + 5 + 139.07661208313897 + 71.29937391905746 + + + EMS + EMS_742@GraphGeneration.gov + EMS_742 + 11 + 5 + 156.17243154392335 + 73.56827094854002 + + + EMS + EMS_748@GraphGeneration.gov + EMS_748 + 9 + 5 + 177.31554660839936 + 61.649136703889646 + + + EMS + EMS_752@GraphGeneration.gov + EMS_752 + 12 + 5 + 184.080481453756 + 67.11217806068811 + + + EMS + EMS_755@GraphGeneration.gov + EMS_755 + 8 + 5 + 145.59150923247367 + 62.44187071844398 + + + EMS + EMS_758@GraphGeneration.gov + EMS_758 + 9 + 5 + 177.0485021651409 + 71.72794606032728 + + + EMS + EMS_759@GraphGeneration.gov + EMS_759 + 11 + 5 + 195.32709588226393 + 72.97022173423647 + + + EMS + EMS_761@GraphGeneration.gov + EMS_761 + 10 + 5 + 151.72986918029727 + 60.81318170135079 + + + EMS + EMS_762@GraphGeneration.gov + EMS_762 + 9 + 5 + 193.31822429918603 + 74.42459144706024 + + + EMS + EMS_831@GraphGeneration.gov + EMS_831 + 6 + 5 + 9.008834684681855 + 89.25812219914442 + + + EMS + EMS_832@GraphGeneration.gov + EMS_832 + 8 + 5 + 25.734341359908555 + 113.14339598547406 + + + EMS + EMS_833@GraphGeneration.gov + EMS_833 + 11 + 5 + 14.775122828347433 + 107.59495611074365 + + + EMS + EMS_836@GraphGeneration.gov + EMS_836 + 6 + 5 + 29.02671162874377 + 100.16848916015051 + + + EMS + EMS_846@GraphGeneration.gov + EMS_846 + 6 + 5 + 8.452854334345025 + 87.90570886599836 + + + EMS + EMS_849@GraphGeneration.gov + EMS_849 + 6 + 5 + 49.26086385324426 + 112.53195714350703 + + + EMS + EMS_851@GraphGeneration.gov + EMS_851 + 8 + 5 + 2.5825739922494892 + 92.17291674792224 + + + EMS + EMS_857@GraphGeneration.gov + EMS_857 + 6 + 5 + 62.43630161117243 + 104.21396438050186 + + + EMS + EMS_922@GraphGeneration.gov + EMS_922 + 7 + 5 + 73.60118479852899 + 106.52432302864885 + + + EMS + EMS_923@GraphGeneration.gov + EMS_923 + 8 + 5 + 112.05337828780682 + 110.05600709665363 + + + EMS + EMS_927@GraphGeneration.gov + EMS_927 + 7 + 5 + 77.31056975764335 + 110.36078632857064 + + + EMS + EMS_931@GraphGeneration.gov + EMS_931 + 12 + 5 + 94.47296453953226 + 112.34597518840175 + + + EMS + EMS_936@GraphGeneration.gov + EMS_936 + 6 + 5 + 101.1648471021498 + 107.34985603163234 + + + EMS + EMS_937@GraphGeneration.gov + EMS_937 + 8 + 5 + 87.46423704841007 + 100.52057927959368 + + + EMS + EMS_948@GraphGeneration.gov + EMS_948 + 10 + 5 + 122.39846098012359 + 109.09354216005386 + + + EMS + EMS_949@GraphGeneration.gov + EMS_949 + 7 + 5 + 122.84032093671425 + 101.22814290083184 + + + EMS + EMS_950@GraphGeneration.gov + EMS_950 + 7 + 5 + 105.18250299976805 + 96.28625751781733 + + + EMS + EMS_1020@GraphGeneration.gov + EMS_1020 + 7 + 5 + 141.8711457997561 + 97.96604591323246 + + + EMS + EMS_1021@GraphGeneration.gov + EMS_1021 + 9 + 5 + 141.9314729046701 + 86.37273400083532 + + + EMS + EMS_1024@GraphGeneration.gov + EMS_1024 + 6 + 5 + 155.62579382309968 + 95.06056918445223 + + + EMS + EMS_1025@GraphGeneration.gov + EMS_1025 + 12 + 5 + 139.33928255226374 + 104.10611531236695 + + + EMS + EMS_1026@GraphGeneration.gov + EMS_1026 + 8 + 5 + 185.69627010417463 + 109.52827573781065 + + + EMS + EMS_1029@GraphGeneration.gov + EMS_1029 + 7 + 5 + 163.67623382663268 + 90.8378097360167 + + + EMS + EMS_1031@GraphGeneration.gov + EMS_1031 + 12 + 5 + 139.01696963939298 + 106.46127788154055 + + + EMS + EMS_1033@GraphGeneration.gov + EMS_1033 + 6 + 5 + 144.6560934860995 + 95.35004446123483 + + + EMS + EMS_1035@GraphGeneration.gov + EMS_1035 + 7 + 5 + 175.5566005265133 + 95.43507503709664 + + + EMS + EMS_1106@GraphGeneration.gov + EMS_1106 + 8 + 5 + 55.149659110590186 + 129.79881378474514 + + + EMS + EMS_1112@GraphGeneration.gov + EMS_1112 + 9 + 5 + 49.69409333552046 + 122.16165182880025 + + + EMS + EMS_1117@GraphGeneration.gov + EMS_1117 + 12 + 5 + 22.404477618166396 + 115.12315563539765 + + + EMS + EMS_1118@GraphGeneration.gov + EMS_1118 + 11 + 5 + 18.261742579163318 + 122.70594529608258 + + + EMS + EMS_1121@GraphGeneration.gov + EMS_1121 + 8 + 5 + 60.308372209720986 + 120.29077051827282 + + + EMS + EMS_1130@GraphGeneration.gov + EMS_1130 + 10 + 5 + 64.17245375321698 + 123.76938275930841 + + + EMS + EMS_1201@GraphGeneration.gov + EMS_1201 + 10 + 5 + 100.80577820865133 + 138.22036235969318 + + + EMS + EMS_1203@GraphGeneration.gov + EMS_1203 + 6 + 5 + 104.2250850802289 + 114.50512435720091 + + + EMS + EMS_1206@GraphGeneration.gov + EMS_1206 + 9 + 5 + 128.1883058161159 + 139.13403372853955 + + + EMS + EMS_1208@GraphGeneration.gov + EMS_1208 + 6 + 5 + 131.28640458638648 + 131.08246079167304 + + + EMS + EMS_1210@GraphGeneration.gov + EMS_1210 + 11 + 5 + 115.21327153945677 + 124.9392605041629 + + + EMS + EMS_1211@GraphGeneration.gov + EMS_1211 + 8 + 5 + 113.9188598526004 + 122.8609836522822 + + + EMS + EMS_1223@GraphGeneration.gov + EMS_1223 + 6 + 5 + 67.71136826877489 + 128.75438453014178 + + + EMS + EMS_1225@GraphGeneration.gov + EMS_1225 + 8 + 5 + 112.31202008585103 + 118.9667502066422 + + + EMS + EMS_1226@GraphGeneration.gov + EMS_1226 + 12 + 5 + 85.5808450341149 + 115.29973779241782 + + + EMS + EMS_1290@GraphGeneration.gov + EMS_1290 + 6 + 5 + 195.10919516052533 + 135.06067412229123 + + + EMS + EMS_1296@GraphGeneration.gov + EMS_1296 + 6 + 5 + 147.48397378138708 + 131.13598986559742 + + + EMS + EMS_1297@GraphGeneration.gov + EMS_1297 + 7 + 5 + 190.1531940014856 + 139.94982748136528 + + + EMS + EMS_1307@GraphGeneration.gov + EMS_1307 + 9 + 5 + 170.02309967058696 + 118.21151286160918 + + + EMS + EMS_1310@GraphGeneration.gov + EMS_1310 + 10 + 5 + 147.02553001707892 + 132.59339252576794 + + + EMS + EMS_1314@GraphGeneration.gov + EMS_1314 + 10 + 5 + 139.253407869409 + 125.7547120918265 + + + EMS + EMS_1316@GraphGeneration.gov + EMS_1316 + 8 + 5 + 146.80408114488168 + 135.1176651566524 + + + EMS + EMS_1385@GraphGeneration.gov + EMS_1385 + 11 + 5 + 7.3604101125202 + 171.2520418801709 + + + EMS + EMS_1392@GraphGeneration.gov + EMS_1392 + 10 + 5 + 30.549160937719535 + 171.3807023424848 + + + EMS + EMS_1393@GraphGeneration.gov + EMS_1393 + 11 + 5 + 29.07981782268893 + 150.14208443567526 + + + EMS + EMS_1398@GraphGeneration.gov + EMS_1398 + 7 + 5 + 9.702929936205326 + 144.29337990025206 + + + EMS + EMS_1403@GraphGeneration.gov + EMS_1403 + 12 + 5 + 18.57142834181729 + 163.13103116924708 + + + EMS + EMS_1405@GraphGeneration.gov + EMS_1405 + 10 + 5 + 38.2339995069527 + 149.01957234926215 + + + EMS + EMS_1409@GraphGeneration.gov + EMS_1409 + 7 + 5 + 17.868399185237802 + 162.6501336718323 + + + EMS + EMS_1478@GraphGeneration.gov + EMS_1478 + 9 + 5 + 112.99906987845857 + 159.320033069597 + + + EMS + EMS_1479@GraphGeneration.gov + EMS_1479 + 7 + 5 + 129.59636388782891 + 149.14610725253078 + + + EMS + EMS_1484@GraphGeneration.gov + EMS_1484 + 6 + 5 + 89.80274893833376 + 171.1960376332653 + + + EMS + EMS_1487@GraphGeneration.gov + EMS_1487 + 6 + 5 + 90.14501358048267 + 161.12495098805672 + + + EMS + EMS_1496@GraphGeneration.gov + EMS_1496 + 11 + 5 + 109.36138247013544 + 161.35641920025253 + + + EMS + EMS_1499@GraphGeneration.gov + EMS_1499 + 6 + 5 + 112.61174073372129 + 166.21569439329645 + + + EMS + EMS_1500@GraphGeneration.gov + EMS_1500 + 11 + 5 + 95.31749808631184 + 145.87263939275238 + + + EMS + EMS_1501@GraphGeneration.gov + EMS_1501 + 8 + 5 + 97.35475298705869 + 154.3444438230534 + + + EMS + EMS_1568@GraphGeneration.gov + EMS_1568 + 9 + 5 + 191.857070323042 + 156.69039455057342 + + + EMS + EMS_1569@GraphGeneration.gov + EMS_1569 + 10 + 5 + 137.09010843196356 + 164.03094033717423 + + + EMS + EMS_1576@GraphGeneration.gov + EMS_1576 + 10 + 5 + 177.84987698957394 + 154.32104882915124 + + + EMS + EMS_1578@GraphGeneration.gov + EMS_1578 + 9 + 5 + 152.7935473812322 + 150.87210814409383 + + + EMS + EMS_1580@GraphGeneration.gov + EMS_1580 + 12 + 5 + 144.5600462978506 + 143.22191475472835 + + + EMS + EMS_1582@GraphGeneration.gov + EMS_1582 + 8 + 5 + 177.39570521287655 + 153.49638798022255 + + + EMS + EMS_1589@GraphGeneration.gov + EMS_1589 + 12 + 5 + 192.78757196777008 + 152.4783329309889 + + + EMS + EMS_1591@GraphGeneration.gov + EMS_1591 + 10 + 5 + 187.45283830205162 + 148.4509280418774 + + + EMS + EMS_1592@GraphGeneration.gov + EMS_1592 + 12 + 5 + 175.43011079482557 + 162.24697169046442 + + + EMS + EMS_1593@GraphGeneration.gov + EMS_1593 + 11 + 5 + 137.67097195608306 + 151.01064104243625 + + + EMS + EMS_1662@GraphGeneration.gov + EMS_1662 + 10 + 5 + 53.460666372554876 + 184.09941894626547 + + + EMS + EMS_1663@GraphGeneration.gov + EMS_1663 + 10 + 5 + 35.35459181743054 + 182.3449303452015 + + + EMS + EMS_1664@GraphGeneration.gov + EMS_1664 + 9 + 5 + 41.58348463089494 + 180.9650092902167 + + + EMS + EMS_1674@GraphGeneration.gov + EMS_1674 + 9 + 5 + 27.07746939166846 + 183.92859558468749 + + + EMS + EMS_1677@GraphGeneration.gov + EMS_1677 + 10 + 5 + 64.0183090242734 + 176.3914393512334 + + + EMS + EMS_1678@GraphGeneration.gov + EMS_1678 + 8 + 5 + 65.79797633900507 + 190.58731881300088 + + + EMS + EMS_1686@GraphGeneration.gov + EMS_1686 + 10 + 5 + 16.464304364255003 + 191.35718683132905 + + + EMS + EMS_1750@GraphGeneration.gov + EMS_1750 + 6 + 5 + 127.28449077828245 + 189.0030589305404 + + + EMS + EMS_1751@GraphGeneration.gov + EMS_1751 + 6 + 5 + 118.41791319284309 + 197.8092678060444 + + + EMS + EMS_1757@GraphGeneration.gov + EMS_1757 + 11 + 5 + 70.65311918135356 + 181.60930036689186 + + + EMS + EMS_1759@GraphGeneration.gov + EMS_1759 + 10 + 5 + 81.0956547452732 + 178.19098529403198 + + + EMS + EMS_1761@GraphGeneration.gov + EMS_1761 + 9 + 5 + 94.70312630934731 + 182.8331257442632 + + + EMS + EMS_1765@GraphGeneration.gov + EMS_1765 + 8 + 5 + 98.01869858055522 + 181.28886768961797 + + + EMS + EMS_1775@GraphGeneration.gov + EMS_1775 + 9 + 5 + 89.16251637902297 + 175.2152620153196 + + + EMS + EMS_1778@GraphGeneration.gov + EMS_1778 + 10 + 5 + 114.61791930306877 + 194.1765873247449 + + + EMS + EMS_1842@GraphGeneration.gov + EMS_1842 + 9 + 5 + 164.53743023446444 + 176.9071934721059 + + + EMS + EMS_1847@GraphGeneration.gov + EMS_1847 + 8 + 5 + 183.55357962983857 + 198.61850933894294 + + + EMS + EMS_1849@GraphGeneration.gov + EMS_1849 + 9 + 5 + 143.84634939528283 + 172.12316748957522 + + + EMS + EMS_1850@GraphGeneration.gov + EMS_1850 + 8 + 5 + 133.9931037034244 + 178.06484875046155 + + + EMS + EMS_1852@GraphGeneration.gov + EMS_1852 + 7 + 5 + 142.91243309927654 + 184.9446419081314 + + + EMS + EMS_1854@GraphGeneration.gov + EMS_1854 + 7 + 5 + 194.10385117630284 + 176.53458748612408 + + + EMS + EMS_1859@GraphGeneration.gov + EMS_1859 + 8 + 5 + 134.5095002371284 + 171.486057357573 + + + EMS + EMS_1860@GraphGeneration.gov + EMS_1860 + 6 + 5 + 162.36987946559526 + 175.22726907216028 + + + FIRE + FIRE_39@GraphGeneration.gov + FIRE_39 + 7 + 5 + 52.44609539746654 + 3.8402885976844097 + + + FIRE + FIRE_44@GraphGeneration.gov + FIRE_44 + 10 + 5 + 54.38693355844612 + 26.95514122812552 + + + FIRE + FIRE_47@GraphGeneration.gov + FIRE_47 + 7 + 5 + 59.841777783140735 + 23.984736637699463 + + + FIRE + FIRE_52@GraphGeneration.gov + FIRE_52 + 8 + 5 + 26.534525698434585 + 1.741038668468715 + + + FIRE + FIRE_59@GraphGeneration.gov + FIRE_59 + 9 + 5 + 21.407542847202166 + 14.002799275349735 + + + FIRE + FIRE_124@GraphGeneration.gov + FIRE_124 + 12 + 5 + 78.9062618887843 + 20.528897044909666 + + + FIRE + FIRE_127@GraphGeneration.gov + FIRE_127 + 6 + 5 + 73.15480553764512 + 17.740480811962797 + + + FIRE + FIRE_136@GraphGeneration.gov + FIRE_136 + 10 + 5 + 88.7727929419646 + 20.78974219919326 + + + FIRE + FIRE_137@GraphGeneration.gov + FIRE_137 + 9 + 5 + 87.68081882591551 + 16.991539836545932 + + + FIRE + FIRE_141@GraphGeneration.gov + FIRE_141 + 10 + 5 + 87.35431023310679 + 15.222099300250765 + + + FIRE + FIRE_144@GraphGeneration.gov + FIRE_144 + 9 + 5 + 114.9829880204943 + 2.788789331402741 + + + FIRE + FIRE_145@GraphGeneration.gov + FIRE_145 + 7 + 5 + 83.95066256302752 + 9.228464686421534 + + + FIRE + FIRE_149@GraphGeneration.gov + FIRE_149 + 11 + 5 + 74.78103595993863 + 14.279049191803509 + + + FIRE + FIRE_215@GraphGeneration.gov + FIRE_215 + 8 + 5 + 151.49953928764697 + 14.059389209328115 + + + FIRE + FIRE_217@GraphGeneration.gov + FIRE_217 + 11 + 5 + 169.30076425056996 + 9.331427058992011 + + + FIRE + FIRE_219@GraphGeneration.gov + FIRE_219 + 12 + 5 + 140.7306799535243 + 16.606458452330866 + + + FIRE + FIRE_222@GraphGeneration.gov + FIRE_222 + 11 + 5 + 182.63727896605866 + 28.48123622952132 + + + FIRE + FIRE_231@GraphGeneration.gov + FIRE_231 + 7 + 5 + 154.8410819715237 + 14.042783550478973 + + + FIRE + FIRE_234@GraphGeneration.gov + FIRE_234 + 11 + 5 + 198.49187496273527 + 5.536825239326853 + + + FIRE + FIRE_240@GraphGeneration.gov + FIRE_240 + 12 + 5 + 167.43181939902183 + 22.089941210500328 + + + FIRE + FIRE_311@GraphGeneration.gov + FIRE_311 + 7 + 5 + 45.10310229717604 + 40.28771972364731 + + + FIRE + FIRE_318@GraphGeneration.gov + FIRE_318 + 7 + 5 + 20.77074090099468 + 36.4337241968922 + + + FIRE + FIRE_324@GraphGeneration.gov + FIRE_324 + 11 + 5 + 15.067561146191952 + 38.62073132120864 + + + FIRE + FIRE_326@GraphGeneration.gov + FIRE_326 + 11 + 5 + 48.973401607652974 + 44.208769732784134 + + + FIRE + FIRE_335@GraphGeneration.gov + FIRE_335 + 6 + 5 + 9.835928459179067 + 36.668831262390455 + + + FIRE + FIRE_336@GraphGeneration.gov + FIRE_336 + 6 + 5 + 40.28917940211862 + 35.71200051894308 + + + FIRE + FIRE_408@GraphGeneration.gov + FIRE_408 + 12 + 5 + 79.32147840290176 + 50.12050267904334 + + + FIRE + FIRE_410@GraphGeneration.gov + FIRE_410 + 10 + 5 + 82.21072750862756 + 31.677322481768577 + + + FIRE + FIRE_414@GraphGeneration.gov + FIRE_414 + 6 + 5 + 101.99938240289006 + 46.496944552922656 + + + FIRE + FIRE_423@GraphGeneration.gov + FIRE_423 + 10 + 5 + 81.61868901818369 + 39.991164689900785 + + + FIRE + FIRE_424@GraphGeneration.gov + FIRE_424 + 7 + 5 + 120.55916044899881 + 55.53151464176432 + + + FIRE + FIRE_492@GraphGeneration.gov + FIRE_492 + 9 + 5 + 183.41416707130645 + 56.43689275840002 + + + FIRE + FIRE_497@GraphGeneration.gov + FIRE_497 + 12 + 5 + 142.51341481871475 + 37.011028137562135 + + + FIRE + FIRE_501@GraphGeneration.gov + FIRE_501 + 10 + 5 + 145.90081206295878 + 53.53890048981603 + + + FIRE + FIRE_504@GraphGeneration.gov + FIRE_504 + 7 + 5 + 174.65362181680263 + 36.74632663696582 + + + FIRE + FIRE_505@GraphGeneration.gov + FIRE_505 + 9 + 5 + 163.80639763009668 + 52.21035682507149 + + + FIRE + FIRE_513@GraphGeneration.gov + FIRE_513 + 12 + 5 + 187.15271780434614 + 39.88983609896651 + + + FIRE + FIRE_519@GraphGeneration.gov + FIRE_519 + 12 + 5 + 141.95787914713017 + 43.614930082472505 + + + FIRE + FIRE_589@GraphGeneration.gov + FIRE_589 + 12 + 5 + 16.83957785978144 + 75.76995177929261 + + + FIRE + FIRE_590@GraphGeneration.gov + FIRE_590 + 9 + 5 + 66.03013833391796 + 62.14640845623531 + + + FIRE + FIRE_601@GraphGeneration.gov + FIRE_601 + 12 + 5 + 34.7112697538396 + 60.17155638214466 + + + FIRE + FIRE_612@GraphGeneration.gov + FIRE_612 + 6 + 5 + 12.004117616037185 + 71.75851404516972 + + + FIRE + FIRE_677@GraphGeneration.gov + FIRE_677 + 12 + 5 + 78.51433724959648 + 70.25214720708729 + + + FIRE + FIRE_680@GraphGeneration.gov + FIRE_680 + 7 + 5 + 82.61424612727164 + 58.01382226077925 + + + FIRE + FIRE_688@GraphGeneration.gov + FIRE_688 + 10 + 5 + 124.32879886944639 + 60.47477814420351 + + + FIRE + FIRE_689@GraphGeneration.gov + FIRE_689 + 9 + 5 + 85.3197998078081 + 78.35146487412982 + + + FIRE + FIRE_698@GraphGeneration.gov + FIRE_698 + 10 + 5 + 74.91909914268984 + 85.58103591377112 + + + FIRE + FIRE_701@GraphGeneration.gov + FIRE_701 + 7 + 5 + 75.29138633984432 + 57.55773650923262 + + + FIRE + FIRE_704@GraphGeneration.gov + FIRE_704 + 7 + 5 + 105.04942189874025 + 78.76228159366612 + + + FIRE + FIRE_767@GraphGeneration.gov + FIRE_767 + 7 + 5 + 156.7462170169933 + 59.737484376440605 + + + FIRE + FIRE_773@GraphGeneration.gov + FIRE_773 + 7 + 5 + 174.24696351351554 + 60.38381956436396 + + + FIRE + FIRE_774@GraphGeneration.gov + FIRE_774 + 8 + 5 + 144.51219593561922 + 68.3709664245582 + + + FIRE + FIRE_775@GraphGeneration.gov + FIRE_775 + 12 + 5 + 139.98752753907823 + 85.2688498342445 + + + FIRE + FIRE_778@GraphGeneration.gov + FIRE_778 + 12 + 5 + 136.55564924650778 + 78.51654510166958 + + + FIRE + FIRE_781@GraphGeneration.gov + FIRE_781 + 6 + 5 + 137.75780188236885 + 58.53998075186977 + + + FIRE + FIRE_784@GraphGeneration.gov + FIRE_784 + 10 + 5 + 162.43260824206692 + 84.64270860599773 + + + FIRE + FIRE_787@GraphGeneration.gov + FIRE_787 + 8 + 5 + 190.87030944009055 + 77.03448218186972 + + + FIRE + FIRE_788@GraphGeneration.gov + FIRE_788 + 6 + 5 + 152.38068207115893 + 70.28561582442613 + + + FIRE + FIRE_791@GraphGeneration.gov + FIRE_791 + 9 + 5 + 190.52540144218761 + 81.90880301856058 + + + FIRE + FIRE_794@GraphGeneration.gov + FIRE_794 + 10 + 5 + 161.28078650124894 + 59.252211001290476 + + + FIRE + FIRE_863@GraphGeneration.gov + FIRE_863 + 11 + 5 + 65.78687996617722 + 86.2227708507688 + + + FIRE + FIRE_869@GraphGeneration.gov + FIRE_869 + 11 + 5 + 57.1411382708069 + 105.62108660929553 + + + FIRE + FIRE_870@GraphGeneration.gov + FIRE_870 + 6 + 5 + 46.2999757844602 + 89.61465525786073 + + + FIRE + FIRE_871@GraphGeneration.gov + FIRE_871 + 6 + 5 + 35.87375489074635 + 113.94954119089181 + + + FIRE + FIRE_873@GraphGeneration.gov + FIRE_873 + 8 + 5 + 53.81800341461849 + 91.9304629213545 + + + FIRE + FIRE_876@GraphGeneration.gov + FIRE_876 + 11 + 5 + 13.391362840599683 + 92.89600028105048 + + + FIRE + FIRE_878@GraphGeneration.gov + FIRE_878 + 8 + 5 + 25.76095921418859 + 110.60510848051774 + + + FIRE + FIRE_879@GraphGeneration.gov + FIRE_879 + 9 + 5 + 34.03134104183512 + 97.33533153622011 + + + FIRE + FIRE_885@GraphGeneration.gov + FIRE_885 + 12 + 5 + 62.42882552655992 + 96.96187457142386 + + + FIRE + FIRE_955@GraphGeneration.gov + FIRE_955 + 12 + 5 + 115.54526074524415 + 88.03363820553139 + + + FIRE + FIRE_959@GraphGeneration.gov + FIRE_959 + 10 + 5 + 125.16437377355473 + 96.00953594809512 + + + FIRE + FIRE_965@GraphGeneration.gov + FIRE_965 + 11 + 5 + 80.5685162761188 + 108.24150385678215 + + + FIRE + FIRE_967@GraphGeneration.gov + FIRE_967 + 9 + 5 + 97.3069973584539 + 104.09034939430596 + + + FIRE + FIRE_972@GraphGeneration.gov + FIRE_972 + 7 + 5 + 90.4142665014241 + 96.06637483771739 + + + FIRE + FIRE_976@GraphGeneration.gov + FIRE_976 + 7 + 5 + 104.4593086843035 + 87.20066465896794 + + + FIRE + FIRE_977@GraphGeneration.gov + FIRE_977 + 12 + 5 + 126.92295699694525 + 87.79075207115523 + + + FIRE + FIRE_978@GraphGeneration.gov + FIRE_978 + 8 + 5 + 117.83915094255542 + 101.6966851110717 + + + FIRE + FIRE_1044@GraphGeneration.gov + FIRE_1044 + 9 + 5 + 181.65108617781482 + 108.91730541251127 + + + FIRE + FIRE_1049@GraphGeneration.gov + FIRE_1049 + 7 + 5 + 155.75976251170223 + 112.15669128241004 + + + FIRE + FIRE_1050@GraphGeneration.gov + FIRE_1050 + 9 + 5 + 151.93076482687573 + 90.84785763020146 + + + FIRE + FIRE_1055@GraphGeneration.gov + FIRE_1055 + 9 + 5 + 157.22493866930495 + 100.73772982008862 + + + FIRE + FIRE_1061@GraphGeneration.gov + FIRE_1061 + 6 + 5 + 162.55841845385856 + 90.43332795214944 + + + FIRE + FIRE_1062@GraphGeneration.gov + FIRE_1062 + 7 + 5 + 155.53113747413616 + 99.12882428124081 + + + FIRE + FIRE_1063@GraphGeneration.gov + FIRE_1063 + 11 + 5 + 147.1430403912329 + 102.56806336613867 + + + FIRE + FIRE_1067@GraphGeneration.gov + FIRE_1067 + 9 + 5 + 142.90501291985385 + 99.82642677252207 + + + FIRE + FIRE_1068@GraphGeneration.gov + FIRE_1068 + 6 + 5 + 172.51728041834932 + 105.02055280027221 + + + FIRE + FIRE_1140@GraphGeneration.gov + FIRE_1140 + 6 + 5 + 1.349944331582583 + 116.92359501783955 + + + FIRE + FIRE_1143@GraphGeneration.gov + FIRE_1143 + 6 + 5 + 48.99790749360029 + 131.13815524958338 + + + FIRE + FIRE_1149@GraphGeneration.gov + FIRE_1149 + 9 + 5 + 59.423747469545354 + 128.53396618193452 + + + FIRE + FIRE_1159@GraphGeneration.gov + FIRE_1159 + 12 + 5 + 29.760449011248188 + 125.24661606922365 + + + FIRE + FIRE_1162@GraphGeneration.gov + FIRE_1162 + 10 + 5 + 13.10751340999544 + 116.9966167259206 + + + FIRE + FIRE_1227@GraphGeneration.gov + FIRE_1227 + 8 + 5 + 129.2811224622846 + 132.16874103224472 + + + FIRE + FIRE_1233@GraphGeneration.gov + FIRE_1233 + 8 + 5 + 73.89746770234291 + 133.79029250325362 + + + FIRE + FIRE_1235@GraphGeneration.gov + FIRE_1235 + 12 + 5 + 110.2280002047325 + 137.77833011029043 + + + FIRE + FIRE_1242@GraphGeneration.gov + FIRE_1242 + 10 + 5 + 76.21423977529452 + 131.03444074976736 + + + FIRE + FIRE_1249@GraphGeneration.gov + FIRE_1249 + 8 + 5 + 100.82205030332489 + 133.09459147090146 + + + FIRE + FIRE_1253@GraphGeneration.gov + FIRE_1253 + 12 + 5 + 90.27770142352307 + 124.70760159063163 + + + FIRE + FIRE_1254@GraphGeneration.gov + FIRE_1254 + 7 + 5 + 115.4921447582878 + 127.33820600577701 + + + FIRE + FIRE_1320@GraphGeneration.gov + FIRE_1320 + 7 + 5 + 138.4869203092473 + 121.6990114837863 + + + FIRE + FIRE_1323@GraphGeneration.gov + FIRE_1323 + 10 + 5 + 198.90542047255195 + 134.70465862415077 + + + FIRE + FIRE_1325@GraphGeneration.gov + FIRE_1325 + 11 + 5 + 172.30190400418007 + 142.23400719032713 + + + FIRE + FIRE_1327@GraphGeneration.gov + FIRE_1327 + 8 + 5 + 161.47706153889348 + 124.81480953044816 + + + FIRE + FIRE_1329@GraphGeneration.gov + FIRE_1329 + 7 + 5 + 133.40981651984083 + 136.31559880013438 + + + FIRE + FIRE_1331@GraphGeneration.gov + FIRE_1331 + 7 + 5 + 152.86001668888792 + 139.1685808762509 + + + FIRE + FIRE_1336@GraphGeneration.gov + FIRE_1336 + 6 + 5 + 148.22370974957158 + 125.97512252872119 + + + FIRE + FIRE_1337@GraphGeneration.gov + FIRE_1337 + 8 + 5 + 146.2451307846912 + 133.95259289669818 + + + FIRE + FIRE_1340@GraphGeneration.gov + FIRE_1340 + 7 + 5 + 156.01999133909118 + 131.5806169265919 + + + FIRE + FIRE_1342@GraphGeneration.gov + FIRE_1342 + 10 + 5 + 191.60463292750745 + 128.5143883325632 + + + FIRE + FIRE_1412@GraphGeneration.gov + FIRE_1412 + 11 + 5 + 28.1657067480592 + 162.91624361124522 + + + FIRE + FIRE_1418@GraphGeneration.gov + FIRE_1418 + 12 + 5 + 56.20494126124436 + 167.27258057800222 + + + FIRE + FIRE_1429@GraphGeneration.gov + FIRE_1429 + 12 + 5 + 60.86490858973752 + 150.84797050804298 + + + FIRE + FIRE_1431@GraphGeneration.gov + FIRE_1431 + 7 + 5 + 30.455034656433156 + 156.2201138188204 + + + FIRE + FIRE_1433@GraphGeneration.gov + FIRE_1433 + 11 + 5 + 14.017981219949698 + 160.0867011204229 + + + FIRE + FIRE_1435@GraphGeneration.gov + FIRE_1435 + 12 + 5 + 43.206310032728055 + 147.30214052831022 + + + FIRE + FIRE_1438@GraphGeneration.gov + FIRE_1438 + 6 + 5 + 9.06435119867016 + 159.57807425372255 + + + FIRE + FIRE_1439@GraphGeneration.gov + FIRE_1439 + 7 + 5 + 54.50712167647027 + 149.25047111508414 + + + FIRE + FIRE_1440@GraphGeneration.gov + FIRE_1440 + 7 + 5 + 11.587560727502867 + 151.84519837509615 + + + FIRE + FIRE_1503@GraphGeneration.gov + FIRE_1503 + 6 + 5 + 104.7475151392427 + 153.6092558643756 + + + FIRE + FIRE_1504@GraphGeneration.gov + FIRE_1504 + 12 + 5 + 95.01418613532155 + 152.30946989615398 + + + FIRE + FIRE_1514@GraphGeneration.gov + FIRE_1514 + 8 + 5 + 119.23461704118088 + 145.27013543479325 + + + FIRE + FIRE_1517@GraphGeneration.gov + FIRE_1517 + 6 + 5 + 103.20931551420622 + 161.5281095792243 + + + FIRE + FIRE_1518@GraphGeneration.gov + FIRE_1518 + 12 + 5 + 113.77824454050194 + 155.66451404817482 + + + FIRE + FIRE_1522@GraphGeneration.gov + FIRE_1522 + 6 + 5 + 83.53648029509195 + 147.00675119161028 + + + FIRE + FIRE_1526@GraphGeneration.gov + FIRE_1526 + 10 + 5 + 93.25372294842106 + 155.55329719779797 + + + FIRE + FIRE_1531@GraphGeneration.gov + FIRE_1531 + 10 + 5 + 87.20789568191384 + 149.26213072526633 + + + FIRE + FIRE_1595@GraphGeneration.gov + FIRE_1595 + 12 + 5 + 146.3166997834195 + 147.12440230172916 + + + FIRE + FIRE_1597@GraphGeneration.gov + FIRE_1597 + 10 + 5 + 138.00008084626438 + 167.4886479372803 + + + FIRE + FIRE_1598@GraphGeneration.gov + FIRE_1598 + 8 + 5 + 137.10535594380502 + 158.57572504197444 + + + FIRE + FIRE_1612@GraphGeneration.gov + FIRE_1612 + 7 + 5 + 197.09729971753416 + 165.72660560646557 + + + FIRE + FIRE_1615@GraphGeneration.gov + FIRE_1615 + 12 + 5 + 194.5512398709355 + 160.07051639260334 + + + FIRE + FIRE_1621@GraphGeneration.gov + FIRE_1621 + 12 + 5 + 197.85350215805727 + 163.74672421202493 + + + FIRE + FIRE_1622@GraphGeneration.gov + FIRE_1622 + 7 + 5 + 178.62261933165505 + 165.83207821250983 + + + FIRE + FIRE_1624@GraphGeneration.gov + FIRE_1624 + 10 + 5 + 160.95677294511455 + 151.23202695119548 + + + FIRE + FIRE_1692@GraphGeneration.gov + FIRE_1692 + 6 + 5 + 29.373170203944603 + 174.90889705874497 + + + FIRE + FIRE_1702@GraphGeneration.gov + FIRE_1702 + 8 + 5 + 60.69423867302718 + 176.10454053464525 + + + FIRE + FIRE_1704@GraphGeneration.gov + FIRE_1704 + 12 + 5 + 40.95447675007475 + 187.00315923261275 + + + FIRE + FIRE_1707@GraphGeneration.gov + FIRE_1707 + 8 + 5 + 26.167521151110506 + 195.71440773327612 + + + FIRE + FIRE_1712@GraphGeneration.gov + FIRE_1712 + 12 + 5 + 2.806463483172572 + 195.55262793577097 + + + FIRE + FIRE_1714@GraphGeneration.gov + FIRE_1714 + 7 + 5 + 27.509579105339416 + 171.80678583401303 + + + FIRE + FIRE_1782@GraphGeneration.gov + FIRE_1782 + 11 + 5 + 101.42983651211074 + 188.34419088443835 + + + FIRE + FIRE_1784@GraphGeneration.gov + FIRE_1784 + 7 + 5 + 118.57129429654518 + 181.76300529370533 + + + FIRE + FIRE_1786@GraphGeneration.gov + FIRE_1786 + 7 + 5 + 133.25126490555778 + 192.95833867835418 + + + FIRE + FIRE_1787@GraphGeneration.gov + FIRE_1787 + 6 + 5 + 127.36737967322959 + 173.54218641660708 + + + FIRE + FIRE_1792@GraphGeneration.gov + FIRE_1792 + 11 + 5 + 130.22630111169434 + 186.65744840844042 + + + FIRE + FIRE_1794@GraphGeneration.gov + FIRE_1794 + 10 + 5 + 82.48165072863084 + 193.36084532671617 + + + FIRE + FIRE_1807@GraphGeneration.gov + FIRE_1807 + 10 + 5 + 131.94137560695495 + 171.6451324652708 + + + FIRE + FIRE_1808@GraphGeneration.gov + FIRE_1808 + 8 + 5 + 71.09088589524285 + 180.6276649013735 + + + FIRE + FIRE_1871@GraphGeneration.gov + FIRE_1871 + 11 + 5 + 197.80625055987184 + 179.90086657402907 + + + FIRE + FIRE_1875@GraphGeneration.gov + FIRE_1875 + 8 + 5 + 152.78821996155617 + 172.26420099806612 + + + FIRE + FIRE_1876@GraphGeneration.gov + FIRE_1876 + 11 + 5 + 135.07398625752347 + 182.51723508328 + + + FIRE + FIRE_1881@GraphGeneration.gov + FIRE_1881 + 11 + 5 + 158.7912732066102 + 192.92389047173694 + + + FIRE + FIRE_1882@GraphGeneration.gov + FIRE_1882 + 8 + 5 + 181.82066749477684 + 185.87109629825923 + + + FIRE + FIRE_1883@GraphGeneration.gov + FIRE_1883 + 12 + 5 + 139.44192782636736 + 179.55510662833706 + + + FIRE + FIRE_1886@GraphGeneration.gov + FIRE_1886 + 7 + 5 + 162.9348592417605 + 192.7305203427353 + + + FIRE + FIRE_1887@GraphGeneration.gov + FIRE_1887 + 7 + 5 + 171.4562411729933 + 196.87637422478286 + + + FIRE + FIRE_1896@GraphGeneration.gov + FIRE_1896 + 10 + 5 + 168.27569698640457 + 179.90498163990011 + + + LAW + LAW_61@GraphGeneration.gov + LAW_61 + 12 + 5 + 59.46086659267998 + 16.679183236660766 + + + LAW + LAW_63@GraphGeneration.gov + LAW_63 + 12 + 5 + 42.81463723173154 + 11.93792718973866 + + + LAW + LAW_64@GraphGeneration.gov + LAW_64 + 8 + 5 + 61.707169857495586 + 4.080567512219128 + + + LAW + LAW_73@GraphGeneration.gov + LAW_73 + 11 + 5 + 4.607483782674837 + 19.969629084091764 + + + LAW + LAW_82@GraphGeneration.gov + LAW_82 + 11 + 5 + 50.45474179370464 + 12.644785088756372 + + + LAW + LAW_89@GraphGeneration.gov + LAW_89 + 7 + 5 + 26.148939036650752 + 23.895127878082768 + + + LAW + LAW_153@GraphGeneration.gov + LAW_153 + 10 + 5 + 96.2081612703409 + 13.245566902063223 + + + LAW + LAW_158@GraphGeneration.gov + LAW_158 + 8 + 5 + 130.60862609557773 + 25.083446607248565 + + + LAW + LAW_160@GraphGeneration.gov + LAW_160 + 12 + 5 + 95.03871129384869 + 20.588399990603257 + + + LAW + LAW_161@GraphGeneration.gov + LAW_161 + 8 + 5 + 75.77109433170315 + 10.990588004449215 + + + LAW + LAW_162@GraphGeneration.gov + LAW_162 + 9 + 5 + 130.85628794976515 + 8.807261669962115 + + + LAW + LAW_163@GraphGeneration.gov + LAW_163 + 6 + 5 + 125.02335602036722 + 22.82339825435788 + + + LAW + LAW_164@GraphGeneration.gov + LAW_164 + 9 + 5 + 84.35712524639418 + 27.9351758163182 + + + LAW + LAW_168@GraphGeneration.gov + LAW_168 + 11 + 5 + 121.89078156654246 + 19.485765132677095 + + + LAW + LAW_169@GraphGeneration.gov + LAW_169 + 10 + 5 + 101.811551094822 + 18.41030990265005 + + + LAW + LAW_247@GraphGeneration.gov + LAW_247 + 9 + 5 + 184.85866548952953 + 27.31691320501529 + + + LAW + LAW_249@GraphGeneration.gov + LAW_249 + 6 + 5 + 197.11749229923004 + 4.628491932397574 + + + LAW + LAW_255@GraphGeneration.gov + LAW_255 + 12 + 5 + 179.43449865819665 + 15.93360064899215 + + + LAW + LAW_259@GraphGeneration.gov + LAW_259 + 9 + 5 + 187.96087295120364 + 28.270764638943664 + + + LAW + LAW_260@GraphGeneration.gov + LAW_260 + 12 + 5 + 187.55101799955804 + 22.717542971887756 + + + LAW + LAW_268@GraphGeneration.gov + LAW_268 + 10 + 5 + 155.9075819046226 + 14.510689802308322 + + + LAW + LAW_269@GraphGeneration.gov + LAW_269 + 7 + 5 + 168.80433786304403 + 6.38263021134613 + + + LAW + LAW_273@GraphGeneration.gov + LAW_273 + 12 + 5 + 162.5962523977139 + 19.034469655641058 + + + LAW + LAW_339@GraphGeneration.gov + LAW_339 + 10 + 5 + 18.752821384394352 + 53.080642644685796 + + + LAW + LAW_344@GraphGeneration.gov + LAW_344 + 12 + 5 + 14.193639308732099 + 40.82637596187844 + + + LAW + LAW_348@GraphGeneration.gov + LAW_348 + 7 + 5 + 5.05296893753322 + 54.11523596058261 + + + LAW + LAW_361@GraphGeneration.gov + LAW_361 + 8 + 5 + 14.63631953185444 + 48.8194885860945 + + + LAW + LAW_365@GraphGeneration.gov + LAW_365 + 11 + 5 + 23.10046212094433 + 50.7429757427969 + + + LAW + LAW_366@GraphGeneration.gov + LAW_366 + 9 + 5 + 49.899199955925 + 41.10826220860726 + + + LAW + LAW_437@GraphGeneration.gov + LAW_437 + 8 + 5 + 130.8851898229382 + 44.838509839580055 + + + LAW + LAW_442@GraphGeneration.gov + LAW_442 + 8 + 5 + 116.58500600102693 + 46.665902021462855 + + + LAW + LAW_445@GraphGeneration.gov + LAW_445 + 12 + 5 + 126.11101001234907 + 52.094718599566534 + + + LAW + LAW_447@GraphGeneration.gov + LAW_447 + 11 + 5 + 124.15891263249704 + 53.829732873260376 + + + LAW + LAW_449@GraphGeneration.gov + LAW_449 + 8 + 5 + 73.80481336795597 + 55.456595142276896 + + + LAW + LAW_450@GraphGeneration.gov + LAW_450 + 8 + 5 + 96.55005760959473 + 48.114876580012634 + + + LAW + LAW_454@GraphGeneration.gov + LAW_454 + 6 + 5 + 85.31715201715932 + 39.92947298397645 + + + LAW + LAW_458@GraphGeneration.gov + LAW_458 + 9 + 5 + 122.43581082095983 + 49.64599123912521 + + + LAW + LAW_528@GraphGeneration.gov + LAW_528 + 10 + 5 + 141.2149136833519 + 45.06785040620787 + + + LAW + LAW_530@GraphGeneration.gov + LAW_530 + 10 + 5 + 195.80503500898564 + 41.88161403148848 + + + LAW + LAW_537@GraphGeneration.gov + LAW_537 + 8 + 5 + 171.44384233870002 + 30.123544171115167 + + + LAW + LAW_540@GraphGeneration.gov + LAW_540 + 8 + 5 + 164.8258798331107 + 48.40554574771437 + + + LAW + LAW_542@GraphGeneration.gov + LAW_542 + 7 + 5 + 144.5073630733252 + 43.3721712662396 + + + LAW + LAW_543@GraphGeneration.gov + LAW_543 + 11 + 5 + 150.16794818464314 + 30.894423839038375 + + + LAW + LAW_549@GraphGeneration.gov + LAW_549 + 12 + 5 + 183.70302511386117 + 54.04660248817536 + + + LAW + LAW_550@GraphGeneration.gov + LAW_550 + 8 + 5 + 150.38076739097232 + 50.99749418350261 + + + LAW + LAW_615@GraphGeneration.gov + LAW_615 + 9 + 5 + 19.443009518626056 + 73.67863138923516 + + + LAW + LAW_616@GraphGeneration.gov + LAW_616 + 7 + 5 + 45.74319458761509 + 76.47451899812134 + + + LAW + LAW_618@GraphGeneration.gov + LAW_618 + 8 + 5 + 60.834728591098816 + 61.11737002374512 + + + LAW + LAW_622@GraphGeneration.gov + LAW_622 + 10 + 5 + 60.36930181562643 + 73.24377908612036 + + + LAW + LAW_623@GraphGeneration.gov + LAW_623 + 10 + 5 + 64.5103641760652 + 65.66320691323196 + + + LAW + LAW_626@GraphGeneration.gov + LAW_626 + 12 + 5 + 15.43172404396318 + 80.15828773126007 + + + LAW + LAW_628@GraphGeneration.gov + LAW_628 + 9 + 5 + 4.0142047151735305 + 77.96790946892699 + + + LAW + LAW_642@GraphGeneration.gov + LAW_642 + 7 + 5 + 21.47735966690001 + 66.02579246185908 + + + LAW + LAW_707@GraphGeneration.gov + LAW_707 + 9 + 5 + 106.30788680940512 + 66.88887832117187 + + + LAW + LAW_714@GraphGeneration.gov + LAW_714 + 9 + 5 + 113.57104709927968 + 59.840831668831214 + + + LAW + LAW_721@GraphGeneration.gov + LAW_721 + 12 + 5 + 105.00094966476121 + 78.29342320764992 + + + LAW + LAW_726@GraphGeneration.gov + LAW_726 + 10 + 5 + 106.92228616314495 + 70.58011325897762 + + + LAW + LAW_731@GraphGeneration.gov + LAW_731 + 10 + 5 + 109.57300813373757 + 59.29987260625923 + + + LAW + LAW_801@GraphGeneration.gov + LAW_801 + 8 + 5 + 143.05737022020784 + 57.8384409331188 + + + LAW + LAW_809@GraphGeneration.gov + LAW_809 + 8 + 5 + 159.95195256610762 + 68.67649284316728 + + + LAW + LAW_811@GraphGeneration.gov + LAW_811 + 8 + 5 + 156.76638560061707 + 70.24008933060395 + + + LAW + LAW_813@GraphGeneration.gov + LAW_813 + 9 + 5 + 166.10242358785504 + 73.68146928705995 + + + LAW + LAW_818@GraphGeneration.gov + LAW_818 + 7 + 5 + 172.69055198437934 + 62.360105348839966 + + + LAW + LAW_821@GraphGeneration.gov + LAW_821 + 8 + 5 + 134.25781235572657 + 80.39645331188414 + + + LAW + LAW_822@GraphGeneration.gov + LAW_822 + 11 + 5 + 172.26489412233968 + 76.81534571147641 + + + LAW + LAW_889@GraphGeneration.gov + LAW_889 + 8 + 5 + 50.821639965215915 + 95.30847862978318 + + + LAW + LAW_895@GraphGeneration.gov + LAW_895 + 11 + 5 + 39.93115855576791 + 105.45683355173475 + + + LAW + LAW_899@GraphGeneration.gov + LAW_899 + 11 + 5 + 49.56970770910599 + 104.61086681197524 + + + LAW + LAW_906@GraphGeneration.gov + LAW_906 + 7 + 5 + 4.911969677769079 + 97.07812200803282 + + + LAW + LAW_910@GraphGeneration.gov + LAW_910 + 8 + 5 + 36.46298523747435 + 103.95410486752897 + + + LAW + LAW_918@GraphGeneration.gov + LAW_918 + 8 + 5 + 24.092662272958552 + 95.53217685677012 + + + LAW + LAW_986@GraphGeneration.gov + LAW_986 + 11 + 5 + 81.2106109264756 + 92.70982116695893 + + + LAW + LAW_988@GraphGeneration.gov + LAW_988 + 9 + 5 + 100.7326012049693 + 97.57684933176282 + + + LAW + LAW_996@GraphGeneration.gov + LAW_996 + 12 + 5 + 132.2441088146435 + 91.5684288185356 + + + LAW + LAW_1002@GraphGeneration.gov + LAW_1002 + 12 + 5 + 90.78122164851361 + 88.01659242525598 + + + LAW + LAW_1003@GraphGeneration.gov + LAW_1003 + 6 + 5 + 111.73526369459586 + 111.23019960755255 + + + LAW + LAW_1004@GraphGeneration.gov + LAW_1004 + 9 + 5 + 118.60045785287576 + 86.52992632129997 + + + LAW + LAW_1074@GraphGeneration.gov + LAW_1074 + 10 + 5 + 171.50008884700208 + 108.86732230390952 + + + LAW + LAW_1078@GraphGeneration.gov + LAW_1078 + 6 + 5 + 146.53838178906173 + 89.45561432672078 + + + LAW + LAW_1096@GraphGeneration.gov + LAW_1096 + 11 + 5 + 146.13134199993976 + 114.02578003943853 + + + LAW + LAW_1100@GraphGeneration.gov + LAW_1100 + 10 + 5 + 164.29347805056295 + 90.57441033370182 + + + LAW + LAW_1102@GraphGeneration.gov + LAW_1102 + 9 + 5 + 146.53260579746697 + 114.03147145574714 + + + LAW + LAW_1165@GraphGeneration.gov + LAW_1165 + 12 + 5 + 0.507261773198368 + 125.67516135177978 + + + LAW + LAW_1170@GraphGeneration.gov + LAW_1170 + 6 + 5 + 45.81364315670845 + 116.75851929315094 + + + LAW + LAW_1185@GraphGeneration.gov + LAW_1185 + 8 + 5 + 26.379772129324653 + 140.54533179244322 + + + LAW + LAW_1193@GraphGeneration.gov + LAW_1193 + 10 + 5 + 4.3458759043294215 + 126.11591584880269 + + + LAW + LAW_1258@GraphGeneration.gov + LAW_1258 + 11 + 5 + 79.5717283558212 + 129.60328135962902 + + + LAW + LAW_1262@GraphGeneration.gov + LAW_1262 + 10 + 5 + 110.4402998860595 + 115.24066359373033 + + + LAW + LAW_1265@GraphGeneration.gov + LAW_1265 + 10 + 5 + 105.33950439096878 + 135.41254362999715 + + + LAW + LAW_1270@GraphGeneration.gov + LAW_1270 + 6 + 5 + 120.12624640994767 + 117.52887903683934 + + + LAW + LAW_1273@GraphGeneration.gov + LAW_1273 + 6 + 5 + 100.09320880865303 + 128.99089575765987 + + + LAW + LAW_1278@GraphGeneration.gov + LAW_1278 + 7 + 5 + 126.52381497953772 + 130.54231031453708 + + + LAW + LAW_1281@GraphGeneration.gov + LAW_1281 + 7 + 5 + 83.75954903116761 + 114.7082153840923 + + + LAW + LAW_1284@GraphGeneration.gov + LAW_1284 + 7 + 5 + 92.32749319580716 + 123.09023033844196 + + + LAW + LAW_1285@GraphGeneration.gov + LAW_1285 + 8 + 5 + 132.28094000743272 + 119.24617585355904 + + + LAW + LAW_1350@GraphGeneration.gov + LAW_1350 + 8 + 5 + 171.64973803161746 + 139.52056667625197 + + + LAW + LAW_1358@GraphGeneration.gov + LAW_1358 + 8 + 5 + 173.02514815170156 + 139.03093876978753 + + + LAW + LAW_1359@GraphGeneration.gov + LAW_1359 + 12 + 5 + 160.71056504223728 + 137.63604786287868 + + + LAW + LAW_1362@GraphGeneration.gov + LAW_1362 + 8 + 5 + 149.60774845289552 + 117.80285336615931 + + + LAW + LAW_1363@GraphGeneration.gov + LAW_1363 + 7 + 5 + 155.70973717083737 + 126.04798496438362 + + + LAW + LAW_1445@GraphGeneration.gov + LAW_1445 + 6 + 5 + 6.828478865906133 + 145.468745859172 + + + LAW + LAW_1446@GraphGeneration.gov + LAW_1446 + 12 + 5 + 11.027629433168848 + 152.40647733474916 + + + LAW + LAW_1447@GraphGeneration.gov + LAW_1447 + 7 + 5 + 63.146483877995045 + 166.61192546878138 + + + LAW + LAW_1450@GraphGeneration.gov + LAW_1450 + 11 + 5 + 25.801101878895484 + 160.66539042704562 + + + LAW + LAW_1454@GraphGeneration.gov + LAW_1454 + 10 + 5 + 6.034033282289346 + 171.17981716665338 + + + LAW + LAW_1456@GraphGeneration.gov + LAW_1456 + 9 + 5 + 62.38560054249399 + 159.11260703469193 + + + LAW + LAW_1462@GraphGeneration.gov + LAW_1462 + 11 + 5 + 36.36372722955533 + 157.23595663761276 + + + LAW + LAW_1463@GraphGeneration.gov + LAW_1463 + 8 + 5 + 4.802294849685929 + 169.87990723048145 + + + LAW + LAW_1465@GraphGeneration.gov + LAW_1465 + 8 + 5 + 21.383392971638532 + 169.30894566960492 + + + LAW + LAW_1533@GraphGeneration.gov + LAW_1533 + 7 + 5 + 122.40300188821143 + 158.57875508042756 + + + LAW + LAW_1539@GraphGeneration.gov + LAW_1539 + 10 + 5 + 125.82788956169765 + 153.4877998626903 + + + LAW + LAW_1543@GraphGeneration.gov + LAW_1543 + 7 + 5 + 92.23415980676658 + 147.49058760855732 + + + LAW + LAW_1545@GraphGeneration.gov + LAW_1545 + 7 + 5 + 103.18013217731266 + 143.41459305293867 + + + LAW + LAW_1549@GraphGeneration.gov + LAW_1549 + 11 + 5 + 98.03726460921875 + 149.87948278076004 + + + LAW + LAW_1553@GraphGeneration.gov + LAW_1553 + 12 + 5 + 92.26335603636434 + 164.11875354154017 + + + LAW + LAW_1558@GraphGeneration.gov + LAW_1558 + 9 + 5 + 98.67962894714708 + 145.97799007459304 + + + LAW + LAW_1625@GraphGeneration.gov + LAW_1625 + 9 + 5 + 149.3076364095453 + 164.4194808885039 + + + LAW + LAW_1628@GraphGeneration.gov + LAW_1628 + 6 + 5 + 145.87530120302537 + 149.5457028195602 + + + LAW + LAW_1631@GraphGeneration.gov + LAW_1631 + 10 + 5 + 144.79537203767526 + 158.56358073628775 + + + LAW + LAW_1633@GraphGeneration.gov + LAW_1633 + 7 + 5 + 135.06524748876365 + 162.14653327692415 + + + LAW + LAW_1642@GraphGeneration.gov + LAW_1642 + 7 + 5 + 199.32238172345797 + 162.72544885044272 + + + LAW + LAW_1650@GraphGeneration.gov + LAW_1650 + 8 + 5 + 177.51251201018633 + 162.8670609896868 + + + LAW + LAW_1724@GraphGeneration.gov + LAW_1724 + 6 + 5 + 26.995662756555976 + 194.5322095460531 + + + LAW + LAW_1725@GraphGeneration.gov + LAW_1725 + 7 + 5 + 59.48827267723811 + 173.78011051776735 + + + LAW + LAW_1732@GraphGeneration.gov + LAW_1732 + 9 + 5 + 49.18598447198394 + 175.61134769226828 + + + LAW + LAW_1741@GraphGeneration.gov + LAW_1741 + 9 + 5 + 21.403345706306556 + 173.62795686902857 + + + LAW + LAW_1810@GraphGeneration.gov + LAW_1810 + 11 + 5 + 107.01835730977709 + 188.18676367441705 + + + LAW + LAW_1811@GraphGeneration.gov + LAW_1811 + 9 + 5 + 69.71362525302392 + 187.4293313779999 + + + LAW + LAW_1825@GraphGeneration.gov + LAW_1825 + 8 + 5 + 84.95379354608227 + 192.31436405760496 + + + LAW + LAW_1830@GraphGeneration.gov + LAW_1830 + 12 + 5 + 96.35709352794608 + 172.5624388287186 + + + LAW + LAW_1902@GraphGeneration.gov + LAW_1902 + 11 + 5 + 178.52966624373067 + 199.30007104538697 + + + LAW + LAW_1907@GraphGeneration.gov + LAW_1907 + 6 + 5 + 196.15403680412132 + 177.41897475077909 + + + LAW + LAW_1915@GraphGeneration.gov + LAW_1915 + 12 + 5 + 183.50100244961305 + 188.99972556163533 + + + LAW + LAW_1919@GraphGeneration.gov + LAW_1919 + 9 + 5 + 141.07929427905066 + 188.38663281900293 + + + LAW + LAW_1920@GraphGeneration.gov + LAW_1920 + 6 + 5 + 164.7657134611667 + 188.9360438342048 + + + LAW + LAW_1925@GraphGeneration.gov + LAW_1925 + 6 + 5 + 144.47370149780727 + 191.2208448366464 + + + LAW + LAW_1926@GraphGeneration.gov + LAW_1926 + 9 + 5 + 149.54633158558678 + 183.63924723104657 + + + LAW + LAW_1928@GraphGeneration.gov + LAW_1928 + 8 + 5 + 177.64898548006585 + 179.8207930805039 + + + EMS + EMS_1@GraphGeneration.gov + EMS_1 + 8 + 6 + 66.26468345462672 + 2.45357055683403 + + + EMS + EMS_2@GraphGeneration.gov + EMS_2 + 9 + 6 + 35.12341236944062 + 18.908629275209627 + + + EMS + EMS_6@GraphGeneration.gov + EMS_6 + 11 + 6 + 45.679024476393614 + 18.29857579679067 + + + EMS + EMS_11@GraphGeneration.gov + EMS_11 + 8 + 6 + 63.09731639046904 + 27.704680543283498 + + + EMS + EMS_17@GraphGeneration.gov + EMS_17 + 11 + 6 + 59.21946338195637 + 22.184380120119183 + + + EMS + EMS_24@GraphGeneration.gov + EMS_24 + 6 + 6 + 10.128171679253366 + 9.383776443489777 + + + EMS + EMS_93@GraphGeneration.gov + EMS_93 + 9 + 6 + 132.46342634240943 + 20.71127824750598 + + + EMS + EMS_94@GraphGeneration.gov + EMS_94 + 8 + 6 + 89.77382829279756 + 7.109269302661717 + + + EMS + EMS_98@GraphGeneration.gov + EMS_98 + 11 + 6 + 131.394415610872 + 27.834294654513915 + + + EMS + EMS_103@GraphGeneration.gov + EMS_103 + 6 + 6 + 96.73530223634901 + 0.5177782786515722 + + + EMS + EMS_107@GraphGeneration.gov + EMS_107 + 8 + 6 + 112.95859205299624 + 0.16191383300611253 + + + EMS + EMS_115@GraphGeneration.gov + EMS_115 + 11 + 6 + 125.39295542591287 + 17.17407920545546 + + + EMS + EMS_122@GraphGeneration.gov + EMS_122 + 6 + 6 + 129.66735263235157 + 28.000547682251927 + + + EMS + EMS_186@GraphGeneration.gov + EMS_186 + 12 + 6 + 199.50774012576375 + 21.90057950549524 + + + EMS + EMS_190@GraphGeneration.gov + EMS_190 + 12 + 6 + 136.8307351527673 + 24.5622005609981 + + + EMS + EMS_195@GraphGeneration.gov + EMS_195 + 9 + 6 + 181.35690087122168 + 13.487036272518417 + + + EMS + EMS_198@GraphGeneration.gov + EMS_198 + 11 + 6 + 187.82821777249256 + 3.286517043465888 + + + EMS + EMS_201@GraphGeneration.gov + EMS_201 + 10 + 6 + 149.57598782996953 + 13.230006120625132 + + + EMS + EMS_204@GraphGeneration.gov + EMS_204 + 12 + 6 + 134.5212590334014 + 9.75821830230491 + + + EMS + EMS_210@GraphGeneration.gov + EMS_210 + 7 + 6 + 137.5037107868108 + 28.440570826391166 + + + EMS + EMS_211@GraphGeneration.gov + EMS_211 + 11 + 6 + 187.189861493793 + 13.516345798074202 + + + EMS + EMS_214@GraphGeneration.gov + EMS_214 + 11 + 6 + 144.71690041628443 + 10.634184199918668 + + + EMS + EMS_277@GraphGeneration.gov + EMS_277 + 7 + 6 + 37.81443088921228 + 52.65364742975298 + + + EMS + EMS_279@GraphGeneration.gov + EMS_279 + 7 + 6 + 63.06198215430677 + 55.03518541506005 + + + EMS + EMS_282@GraphGeneration.gov + EMS_282 + 8 + 6 + 6.275024224605271 + 50.83939561344232 + + + EMS + EMS_284@GraphGeneration.gov + EMS_284 + 12 + 6 + 6.624154929974665 + 32.01769190941457 + + + EMS + EMS_286@GraphGeneration.gov + EMS_286 + 9 + 6 + 28.047528716448586 + 41.611299525256555 + + + EMS + EMS_290@GraphGeneration.gov + EMS_290 + 7 + 6 + 48.742061934962344 + 56.905227494860306 + + + EMS + EMS_294@GraphGeneration.gov + EMS_294 + 12 + 6 + 30.589553207068192 + 54.331194880365956 + + + EMS + EMS_299@GraphGeneration.gov + EMS_299 + 9 + 6 + 48.10963121165737 + 55.80896630537832 + + + EMS + EMS_301@GraphGeneration.gov + EMS_301 + 10 + 6 + 53.34313167430671 + 42.533549390368414 + + + EMS + EMS_381@GraphGeneration.gov + EMS_381 + 10 + 6 + 89.81472559019723 + 56.76606196337859 + + + EMS + EMS_382@GraphGeneration.gov + EMS_382 + 11 + 6 + 89.97485450811769 + 38.52212912777572 + + + EMS + EMS_384@GraphGeneration.gov + EMS_384 + 12 + 6 + 125.67858134690049 + 54.71641559686523 + + + EMS + EMS_385@GraphGeneration.gov + EMS_385 + 10 + 6 + 101.65274922303345 + 37.10825873652651 + + + EMS + EMS_389@GraphGeneration.gov + EMS_389 + 7 + 6 + 90.65880355232757 + 54.32718910524126 + + + EMS + EMS_392@GraphGeneration.gov + EMS_392 + 8 + 6 + 108.09785387499295 + 43.19334823306389 + + + EMS + EMS_394@GraphGeneration.gov + EMS_394 + 8 + 6 + 105.44135283283867 + 39.55997959622701 + + + EMS + EMS_481@GraphGeneration.gov + EMS_481 + 10 + 6 + 153.34782755495883 + 28.92012566221913 + + + EMS + EMS_485@GraphGeneration.gov + EMS_485 + 12 + 6 + 141.63256877000111 + 42.730028702022736 + + + EMS + EMS_487@GraphGeneration.gov + EMS_487 + 7 + 6 + 151.60657932427455 + 32.97040792583494 + + + EMS + EMS_557@GraphGeneration.gov + EMS_557 + 11 + 6 + 60.530502638347954 + 75.34095094540727 + + + EMS + EMS_558@GraphGeneration.gov + EMS_558 + 12 + 6 + 34.182817810137365 + 67.28245583709798 + + + EMS + EMS_562@GraphGeneration.gov + EMS_562 + 7 + 6 + 53.567395531774984 + 85.46616571562933 + + + EMS + EMS_573@GraphGeneration.gov + EMS_573 + 6 + 6 + 52.91341376009387 + 71.08429482633305 + + + EMS + EMS_648@GraphGeneration.gov + EMS_648 + 8 + 6 + 133.11953944369037 + 62.978083038171974 + + + EMS + EMS_652@GraphGeneration.gov + EMS_652 + 10 + 6 + 98.71430265600196 + 60.840138142102525 + + + EMS + EMS_656@GraphGeneration.gov + EMS_656 + 6 + 6 + 89.60481996165763 + 74.29643046283023 + + + EMS + EMS_657@GraphGeneration.gov + EMS_657 + 10 + 6 + 107.28360213117364 + 68.84622992353952 + + + EMS + EMS_658@GraphGeneration.gov + EMS_658 + 9 + 6 + 123.95766837344208 + 69.89031989222791 + + + EMS + EMS_659@GraphGeneration.gov + EMS_659 + 12 + 6 + 72.92610168134446 + 73.73750857601318 + + + EMS + EMS_660@GraphGeneration.gov + EMS_660 + 12 + 6 + 92.2163715079123 + 69.93178668290403 + + + EMS + EMS_664@GraphGeneration.gov + EMS_664 + 7 + 6 + 125.15356132130792 + 79.05869746655142 + + + EMS + EMS_666@GraphGeneration.gov + EMS_666 + 11 + 6 + 100.60578427896004 + 63.48066666622355 + + + EMS + EMS_668@GraphGeneration.gov + EMS_668 + 8 + 6 + 95.61479618534263 + 80.44777735940804 + + + EMS + EMS_740@GraphGeneration.gov + EMS_740 + 10 + 6 + 144.75307067548636 + 70.55735343140528 + + + EMS + EMS_741@GraphGeneration.gov + EMS_741 + 8 + 6 + 197.89243999502332 + 58.556995083486164 + + + EMS + EMS_743@GraphGeneration.gov + EMS_743 + 6 + 6 + 153.93498970585216 + 62.09636326477876 + + + EMS + EMS_745@GraphGeneration.gov + EMS_745 + 11 + 6 + 177.1389805176084 + 72.12042621950674 + + + EMS + EMS_749@GraphGeneration.gov + EMS_749 + 8 + 6 + 136.5606202649411 + 75.77492601542578 + + + EMS + EMS_750@GraphGeneration.gov + EMS_750 + 8 + 6 + 180.97221885768974 + 58.56893267574057 + + + EMS + EMS_751@GraphGeneration.gov + EMS_751 + 7 + 6 + 144.9288741819409 + 62.22984606314405 + + + EMS + EMS_754@GraphGeneration.gov + EMS_754 + 7 + 6 + 174.5545848553992 + 69.7309614401217 + + + EMS + EMS_757@GraphGeneration.gov + EMS_757 + 8 + 6 + 153.95275299883687 + 82.13512852321841 + + + EMS + EMS_766@GraphGeneration.gov + EMS_766 + 11 + 6 + 144.89390765940507 + 85.313206997174 + + + EMS + EMS_829@GraphGeneration.gov + EMS_829 + 6 + 6 + 45.698443905157674 + 112.52973743567298 + + + EMS + EMS_835@GraphGeneration.gov + EMS_835 + 11 + 6 + 17.17974459819426 + 97.12513181855525 + + + EMS + EMS_837@GraphGeneration.gov + EMS_837 + 10 + 6 + 6.563283384883553 + 90.11740270904478 + + + EMS + EMS_839@GraphGeneration.gov + EMS_839 + 12 + 6 + 53.90267747557608 + 90.59545199001525 + + + EMS + EMS_845@GraphGeneration.gov + EMS_845 + 12 + 6 + 48.592939639725806 + 88.57080386081304 + + + EMS + EMS_848@GraphGeneration.gov + EMS_848 + 10 + 6 + 37.431121986230686 + 113.52748339065954 + + + EMS + EMS_854@GraphGeneration.gov + EMS_854 + 9 + 6 + 24.925666180527948 + 98.69541940967595 + + + EMS + EMS_855@GraphGeneration.gov + EMS_855 + 6 + 6 + 63.91856755972681 + 99.49554300535975 + + + EMS + EMS_858@GraphGeneration.gov + EMS_858 + 10 + 6 + 62.71403449452537 + 105.67521208446144 + + + EMS + EMS_921@GraphGeneration.gov + EMS_921 + 10 + 6 + 97.12309494419605 + 86.7019324910635 + + + EMS + EMS_925@GraphGeneration.gov + EMS_925 + 7 + 6 + 122.5792525783411 + 86.2445838106334 + + + EMS + EMS_928@GraphGeneration.gov + EMS_928 + 10 + 6 + 118.16958030569793 + 100.07780070564411 + + + EMS + EMS_929@GraphGeneration.gov + EMS_929 + 6 + 6 + 78.87276810363987 + 112.42354764212892 + + + EMS + EMS_933@GraphGeneration.gov + EMS_933 + 8 + 6 + 82.40427371192379 + 106.65120899473547 + + + EMS + EMS_942@GraphGeneration.gov + EMS_942 + 7 + 6 + 114.32438262004736 + 110.15884834127864 + + + EMS + EMS_945@GraphGeneration.gov + EMS_945 + 9 + 6 + 111.2266135913125 + 86.33386240310853 + + + EMS + EMS_947@GraphGeneration.gov + EMS_947 + 7 + 6 + 98.9535016494654 + 97.46047828193896 + + + EMS + EMS_1016@GraphGeneration.gov + EMS_1016 + 9 + 6 + 186.48506659363534 + 104.73296177593417 + + + EMS + EMS_1018@GraphGeneration.gov + EMS_1018 + 12 + 6 + 194.35245155306265 + 89.00164049463088 + + + EMS + EMS_1022@GraphGeneration.gov + EMS_1022 + 9 + 6 + 146.24297361586449 + 90.97424741383219 + + + EMS + EMS_1028@GraphGeneration.gov + EMS_1028 + 7 + 6 + 148.4080921297607 + 90.55269209917957 + + + EMS + EMS_1030@GraphGeneration.gov + EMS_1030 + 9 + 6 + 198.2061519829375 + 94.6713343421384 + + + EMS + EMS_1036@GraphGeneration.gov + EMS_1036 + 7 + 6 + 180.8859191878276 + 110.73056462605079 + + + EMS + EMS_1038@GraphGeneration.gov + EMS_1038 + 6 + 6 + 185.79795125322215 + 101.1949330097258 + + + EMS + EMS_1040@GraphGeneration.gov + EMS_1040 + 8 + 6 + 146.0261889881198 + 103.45612580858707 + + + EMS + EMS_1108@GraphGeneration.gov + EMS_1108 + 6 + 6 + 49.3096273527432 + 133.2509520298693 + + + EMS + EMS_1111@GraphGeneration.gov + EMS_1111 + 11 + 6 + 27.918298295069558 + 133.4674731742893 + + + EMS + EMS_1113@GraphGeneration.gov + EMS_1113 + 6 + 6 + 33.583150498733424 + 127.44181445992922 + + + EMS + EMS_1114@GraphGeneration.gov + EMS_1114 + 6 + 6 + 30.782299627754572 + 127.97906468750587 + + + EMS + EMS_1122@GraphGeneration.gov + EMS_1122 + 7 + 6 + 31.301514921580118 + 132.4648871502202 + + + EMS + EMS_1123@GraphGeneration.gov + EMS_1123 + 7 + 6 + 55.51752971715879 + 125.8474634228849 + + + EMS + EMS_1127@GraphGeneration.gov + EMS_1127 + 9 + 6 + 61.93606894439369 + 125.6423651239317 + + + EMS + EMS_1128@GraphGeneration.gov + EMS_1128 + 9 + 6 + 1.2422680760398506 + 139.6908564943871 + + + EMS + EMS_1129@GraphGeneration.gov + EMS_1129 + 6 + 6 + 54.26475226232227 + 128.58741127093722 + + + EMS + EMS_1198@GraphGeneration.gov + EMS_1198 + 8 + 6 + 131.7412378824884 + 117.662531112142 + + + EMS + EMS_1216@GraphGeneration.gov + EMS_1216 + 11 + 6 + 116.73062419184055 + 130.33764283776517 + + + EMS + EMS_1220@GraphGeneration.gov + EMS_1220 + 6 + 6 + 90.1491138250455 + 119.72932796110496 + + + EMS + EMS_1300@GraphGeneration.gov + EMS_1300 + 10 + 6 + 182.08518085687777 + 133.9434105583339 + + + EMS + EMS_1301@GraphGeneration.gov + EMS_1301 + 10 + 6 + 148.32794039400656 + 141.70722104726755 + + + EMS + EMS_1308@GraphGeneration.gov + EMS_1308 + 6 + 6 + 152.83763899149142 + 125.19025935062035 + + + EMS + EMS_1313@GraphGeneration.gov + EMS_1313 + 9 + 6 + 174.91503447933758 + 114.84897502057257 + + + EMS + EMS_1317@GraphGeneration.gov + EMS_1317 + 9 + 6 + 167.57129129397697 + 117.39435071679338 + + + EMS + EMS_1318@GraphGeneration.gov + EMS_1318 + 8 + 6 + 153.96477902872846 + 123.92896613698365 + + + EMS + EMS_1386@GraphGeneration.gov + EMS_1386 + 7 + 6 + 27.144410914366837 + 148.89347040118457 + + + EMS + EMS_1387@GraphGeneration.gov + EMS_1387 + 10 + 6 + 18.367428077505295 + 166.66262396249442 + + + EMS + EMS_1396@GraphGeneration.gov + EMS_1396 + 6 + 6 + 16.346119094213552 + 151.67261834191814 + + + EMS + EMS_1397@GraphGeneration.gov + EMS_1397 + 11 + 6 + 13.317149844400134 + 164.06287743191754 + + + EMS + EMS_1404@GraphGeneration.gov + EMS_1404 + 12 + 6 + 48.74005218339687 + 143.09832655882093 + + + EMS + EMS_1410@GraphGeneration.gov + EMS_1410 + 7 + 6 + 25.392824220999348 + 151.03536724070378 + + + EMS + EMS_1476@GraphGeneration.gov + EMS_1476 + 9 + 6 + 118.30667393816879 + 151.48604091931168 + + + EMS + EMS_1483@GraphGeneration.gov + EMS_1483 + 6 + 6 + 126.48347349668992 + 150.36223061772012 + + + EMS + EMS_1486@GraphGeneration.gov + EMS_1486 + 11 + 6 + 92.64131270764724 + 148.0625644673417 + + + EMS + EMS_1489@GraphGeneration.gov + EMS_1489 + 8 + 6 + 74.24250884605095 + 162.19200033423394 + + + EMS + EMS_1494@GraphGeneration.gov + EMS_1494 + 12 + 6 + 120.07552059918493 + 146.34676580719923 + + + EMS + EMS_1498@GraphGeneration.gov + EMS_1498 + 8 + 6 + 99.9829862164092 + 145.8082474013718 + + + EMS + EMS_1566@GraphGeneration.gov + EMS_1566 + 6 + 6 + 141.44193741011307 + 157.2548871114998 + + + EMS + EMS_1571@GraphGeneration.gov + EMS_1571 + 6 + 6 + 135.33260072119617 + 160.19652404840195 + + + EMS + EMS_1574@GraphGeneration.gov + EMS_1574 + 12 + 6 + 143.04685058933052 + 157.3815903974035 + + + EMS + EMS_1575@GraphGeneration.gov + EMS_1575 + 10 + 6 + 189.24070471813874 + 150.19807239498547 + + + EMS + EMS_1577@GraphGeneration.gov + EMS_1577 + 11 + 6 + 177.95619058412677 + 166.2561458431177 + + + EMS + EMS_1579@GraphGeneration.gov + EMS_1579 + 10 + 6 + 161.14772329874262 + 168.72776870597008 + + + EMS + EMS_1581@GraphGeneration.gov + EMS_1581 + 9 + 6 + 188.04616794558063 + 155.51981649400366 + + + EMS + EMS_1583@GraphGeneration.gov + EMS_1583 + 6 + 6 + 147.72730284845423 + 168.68655996149477 + + + EMS + EMS_1657@GraphGeneration.gov + EMS_1657 + 7 + 6 + 58.361494405018895 + 189.7391196488006 + + + EMS + EMS_1658@GraphGeneration.gov + EMS_1658 + 6 + 6 + 16.309938863564202 + 193.54373836666903 + + + EMS + EMS_1660@GraphGeneration.gov + EMS_1660 + 10 + 6 + 8.100659473907776 + 183.65109373772037 + + + EMS + EMS_1668@GraphGeneration.gov + EMS_1668 + 12 + 6 + 10.112206243368904 + 178.76480041458365 + + + EMS + EMS_1669@GraphGeneration.gov + EMS_1669 + 6 + 6 + 9.899415334923608 + 196.92465802678748 + + + EMS + EMS_1671@GraphGeneration.gov + EMS_1671 + 7 + 6 + 50.099165622955596 + 184.27344975295856 + + + EMS + EMS_1675@GraphGeneration.gov + EMS_1675 + 9 + 6 + 48.37249814823494 + 192.09015605195233 + + + EMS + EMS_1679@GraphGeneration.gov + EMS_1679 + 11 + 6 + 16.107232624872193 + 197.03320641766285 + + + EMS + EMS_1680@GraphGeneration.gov + EMS_1680 + 10 + 6 + 5.2882495849075895 + 179.33850304230455 + + + EMS + EMS_1681@GraphGeneration.gov + EMS_1681 + 6 + 6 + 34.89033727188682 + 199.16454836579217 + + + EMS + EMS_1684@GraphGeneration.gov + EMS_1684 + 10 + 6 + 52.40532161511462 + 179.21553242953368 + + + EMS + EMS_1753@GraphGeneration.gov + EMS_1753 + 11 + 6 + 105.55190758392003 + 178.33137646766022 + + + EMS + EMS_1767@GraphGeneration.gov + EMS_1767 + 7 + 6 + 114.3859280211994 + 196.77164672940796 + + + EMS + EMS_1769@GraphGeneration.gov + EMS_1769 + 12 + 6 + 122.70140607645243 + 195.69301733462336 + + + EMS + EMS_1771@GraphGeneration.gov + EMS_1771 + 9 + 6 + 107.87041007980488 + 192.83343058584305 + + + EMS + EMS_1844@GraphGeneration.gov + EMS_1844 + 7 + 6 + 149.26581065874817 + 178.38568578489753 + + + EMS + EMS_1846@GraphGeneration.gov + EMS_1846 + 8 + 6 + 183.37042286674074 + 172.4336316313108 + + + EMS + EMS_1853@GraphGeneration.gov + EMS_1853 + 10 + 6 + 149.4085664851389 + 185.82834099290875 + + + EMS + EMS_1855@GraphGeneration.gov + EMS_1855 + 9 + 6 + 150.134309740521 + 186.05789461806788 + + + EMS + EMS_1856@GraphGeneration.gov + EMS_1856 + 6 + 6 + 181.66272427519644 + 195.92388044439286 + + + EMS + EMS_1864@GraphGeneration.gov + EMS_1864 + 7 + 6 + 169.02416815794857 + 197.94364019435963 + + + FIRE + FIRE_31@GraphGeneration.gov + FIRE_31 + 8 + 6 + 9.207556300095963 + 20.597746987773224 + + + FIRE + FIRE_35@GraphGeneration.gov + FIRE_35 + 9 + 6 + 45.421599756641584 + 20.09814012543596 + + + FIRE + FIRE_40@GraphGeneration.gov + FIRE_40 + 9 + 6 + 3.9845410851147904 + 8.318756241921205 + + + FIRE + FIRE_45@GraphGeneration.gov + FIRE_45 + 11 + 6 + 21.906299493312694 + 0.028163284625388436 + + + FIRE + FIRE_48@GraphGeneration.gov + FIRE_48 + 10 + 6 + 36.20355864168486 + 19.57914973575831 + + + FIRE + FIRE_49@GraphGeneration.gov + FIRE_49 + 10 + 6 + 14.882516887710652 + 24.880215448031922 + + + FIRE + FIRE_50@GraphGeneration.gov + FIRE_50 + 11 + 6 + 37.79667829351956 + 0.6941723116521891 + + + FIRE + FIRE_53@GraphGeneration.gov + FIRE_53 + 11 + 6 + 15.177328163906926 + 21.476711760161812 + + + FIRE + FIRE_54@GraphGeneration.gov + FIRE_54 + 11 + 6 + 56.421430008476 + 11.50272665336304 + + + FIRE + FIRE_55@GraphGeneration.gov + FIRE_55 + 12 + 6 + 9.572052347328164 + 22.77566790208278 + + + FIRE + FIRE_58@GraphGeneration.gov + FIRE_58 + 10 + 6 + 65.83103193971151 + 7.945329429143868 + + + FIRE + FIRE_126@GraphGeneration.gov + FIRE_126 + 8 + 6 + 87.17912628431834 + 26.283413158549475 + + + FIRE + FIRE_129@GraphGeneration.gov + FIRE_129 + 12 + 6 + 100.71869708301953 + 0.08981087765922119 + + + FIRE + FIRE_131@GraphGeneration.gov + FIRE_131 + 8 + 6 + 66.96121677775665 + 12.886633838632276 + + + FIRE + FIRE_133@GraphGeneration.gov + FIRE_133 + 6 + 6 + 128.59489781042475 + 10.672179593210059 + + + FIRE + FIRE_134@GraphGeneration.gov + FIRE_134 + 10 + 6 + 121.48441685979553 + 1.3981919302513817 + + + FIRE + FIRE_139@GraphGeneration.gov + FIRE_139 + 8 + 6 + 110.9719484215506 + 12.344081258154304 + + + FIRE + FIRE_140@GraphGeneration.gov + FIRE_140 + 11 + 6 + 117.7833535860358 + 3.682180086831407 + + + FIRE + FIRE_142@GraphGeneration.gov + FIRE_142 + 8 + 6 + 131.31352825246674 + 13.494755034430181 + + + FIRE + FIRE_143@GraphGeneration.gov + FIRE_143 + 11 + 6 + 79.6495787501356 + 4.850691922096338 + + + FIRE + FIRE_146@GraphGeneration.gov + FIRE_146 + 7 + 6 + 76.15369633010567 + 20.96530301207304 + + + FIRE + FIRE_150@GraphGeneration.gov + FIRE_150 + 12 + 6 + 77.95031831702559 + 11.824956962074985 + + + FIRE + FIRE_225@GraphGeneration.gov + FIRE_225 + 12 + 6 + 167.81623480810805 + 10.687171801619828 + + + FIRE + FIRE_226@GraphGeneration.gov + FIRE_226 + 10 + 6 + 145.78938560707888 + 8.611136845710194 + + + FIRE + FIRE_227@GraphGeneration.gov + FIRE_227 + 12 + 6 + 135.68339411558563 + 4.818755589119588 + + + FIRE + FIRE_228@GraphGeneration.gov + FIRE_228 + 7 + 6 + 147.55378102749745 + 3.9651175941342234 + + + FIRE + FIRE_229@GraphGeneration.gov + FIRE_229 + 8 + 6 + 187.24101056797096 + 18.485904649495687 + + + FIRE + FIRE_230@GraphGeneration.gov + FIRE_230 + 9 + 6 + 187.61015296931924 + 4.688485777590636 + + + FIRE + FIRE_238@GraphGeneration.gov + FIRE_238 + 8 + 6 + 165.5260757588631 + 23.177248848479557 + + + FIRE + FIRE_239@GraphGeneration.gov + FIRE_239 + 8 + 6 + 144.00792273610617 + 10.799619054164461 + + + FIRE + FIRE_242@GraphGeneration.gov + FIRE_242 + 7 + 6 + 193.74861669930496 + 16.359268148865063 + + + FIRE + FIRE_308@GraphGeneration.gov + FIRE_308 + 11 + 6 + 19.39079797631056 + 47.72048935529895 + + + FIRE + FIRE_309@GraphGeneration.gov + FIRE_309 + 7 + 6 + 37.963547650242795 + 51.67623306298722 + + + FIRE + FIRE_313@GraphGeneration.gov + FIRE_313 + 6 + 6 + 21.145605515875552 + 50.54196054843541 + + + FIRE + FIRE_315@GraphGeneration.gov + FIRE_315 + 9 + 6 + 32.47721149689665 + 38.75140305313905 + + + FIRE + FIRE_319@GraphGeneration.gov + FIRE_319 + 9 + 6 + 5.246474065577826 + 43.806794444060515 + + + FIRE + FIRE_320@GraphGeneration.gov + FIRE_320 + 10 + 6 + 55.169070872989096 + 52.75583440908757 + + + FIRE + FIRE_323@GraphGeneration.gov + FIRE_323 + 9 + 6 + 18.05382773523233 + 54.67715370375733 + + + FIRE + FIRE_329@GraphGeneration.gov + FIRE_329 + 9 + 6 + 29.430616156761424 + 49.46853314345006 + + + FIRE + FIRE_332@GraphGeneration.gov + FIRE_332 + 11 + 6 + 52.17595303523966 + 51.99672023785168 + + + FIRE + FIRE_399@GraphGeneration.gov + FIRE_399 + 10 + 6 + 92.73316156174131 + 41.2870729148936 + + + FIRE + FIRE_401@GraphGeneration.gov + FIRE_401 + 11 + 6 + 113.5540587946084 + 41.49999758646793 + + + FIRE + FIRE_402@GraphGeneration.gov + FIRE_402 + 7 + 6 + 99.9915741527879 + 38.25166780482435 + + + FIRE + FIRE_404@GraphGeneration.gov + FIRE_404 + 8 + 6 + 79.36090178260781 + 51.551534539438556 + + + FIRE + FIRE_405@GraphGeneration.gov + FIRE_405 + 9 + 6 + 121.61135242113099 + 51.46155184432605 + + + FIRE + FIRE_407@GraphGeneration.gov + FIRE_407 + 8 + 6 + 113.40062212067251 + 45.29164526966383 + + + FIRE + FIRE_411@GraphGeneration.gov + FIRE_411 + 9 + 6 + 84.27917069769484 + 36.910708854687904 + + + FIRE + FIRE_412@GraphGeneration.gov + FIRE_412 + 8 + 6 + 98.83960778311692 + 52.11629611870038 + + + FIRE + FIRE_415@GraphGeneration.gov + FIRE_415 + 12 + 6 + 76.47704397356199 + 51.72934148917494 + + + FIRE + FIRE_418@GraphGeneration.gov + FIRE_418 + 10 + 6 + 66.70678590140238 + 40.864810749211486 + + + FIRE + FIRE_419@GraphGeneration.gov + FIRE_419 + 11 + 6 + 95.30983813993177 + 55.60356108419889 + + + FIRE + FIRE_422@GraphGeneration.gov + FIRE_422 + 11 + 6 + 71.37503275758276 + 44.41977695860838 + + + FIRE + FIRE_494@GraphGeneration.gov + FIRE_494 + 7 + 6 + 141.0061585356385 + 33.827108426712414 + + + FIRE + FIRE_500@GraphGeneration.gov + FIRE_500 + 7 + 6 + 148.66653844200394 + 50.22315361510498 + + + FIRE + FIRE_503@GraphGeneration.gov + FIRE_503 + 11 + 6 + 152.2649994095763 + 53.07734675659121 + + + FIRE + FIRE_507@GraphGeneration.gov + FIRE_507 + 9 + 6 + 147.4327657380386 + 42.08259520444051 + + + FIRE + FIRE_511@GraphGeneration.gov + FIRE_511 + 9 + 6 + 172.39357862813665 + 44.14988013410325 + + + FIRE + FIRE_515@GraphGeneration.gov + FIRE_515 + 8 + 6 + 195.23197402712594 + 42.270345926941005 + + + FIRE + FIRE_516@GraphGeneration.gov + FIRE_516 + 7 + 6 + 134.494663609205 + 43.53105154083578 + + + FIRE + FIRE_518@GraphGeneration.gov + FIRE_518 + 12 + 6 + 153.77334391000647 + 40.26956772346261 + + + FIRE + FIRE_583@GraphGeneration.gov + FIRE_583 + 8 + 6 + 6.281086780663052 + 61.03509225328853 + + + FIRE + FIRE_584@GraphGeneration.gov + FIRE_584 + 8 + 6 + 44.75926210212255 + 77.48766962791811 + + + FIRE + FIRE_594@GraphGeneration.gov + FIRE_594 + 12 + 6 + 60.98007700648892 + 68.80695699038593 + + + FIRE + FIRE_596@GraphGeneration.gov + FIRE_596 + 7 + 6 + 54.40295551115383 + 66.2760993226399 + + + FIRE + FIRE_600@GraphGeneration.gov + FIRE_600 + 8 + 6 + 51.392173549879985 + 67.26328382908098 + + + FIRE + FIRE_602@GraphGeneration.gov + FIRE_602 + 11 + 6 + 13.28431740225163 + 57.63611867259152 + + + FIRE + FIRE_606@GraphGeneration.gov + FIRE_606 + 8 + 6 + 6.633717596743842 + 82.29797905602932 + + + FIRE + FIRE_676@GraphGeneration.gov + FIRE_676 + 12 + 6 + 117.56772049623882 + 64.39876991444267 + + + FIRE + FIRE_681@GraphGeneration.gov + FIRE_681 + 7 + 6 + 66.96422306905843 + 81.9980623768112 + + + FIRE + FIRE_683@GraphGeneration.gov + FIRE_683 + 7 + 6 + 125.91062816954619 + 77.55982522915315 + + + FIRE + FIRE_685@GraphGeneration.gov + FIRE_685 + 10 + 6 + 81.07357105433485 + 68.38646417762412 + + + FIRE + FIRE_687@GraphGeneration.gov + FIRE_687 + 11 + 6 + 107.39903538101672 + 78.68222252595922 + + + FIRE + FIRE_695@GraphGeneration.gov + FIRE_695 + 7 + 6 + 130.78653395671233 + 73.87860077769528 + + + FIRE + FIRE_697@GraphGeneration.gov + FIRE_697 + 8 + 6 + 124.12994116661656 + 79.8418252699014 + + + FIRE + FIRE_702@GraphGeneration.gov + FIRE_702 + 12 + 6 + 84.29385208417686 + 60.6630092685321 + + + FIRE + FIRE_768@GraphGeneration.gov + FIRE_768 + 12 + 6 + 194.75821406377162 + 59.00367912720661 + + + FIRE + FIRE_770@GraphGeneration.gov + FIRE_770 + 6 + 6 + 148.25430089340165 + 81.3836275785727 + + + FIRE + FIRE_771@GraphGeneration.gov + FIRE_771 + 8 + 6 + 148.8307253060276 + 85.06462492631087 + + + FIRE + FIRE_772@GraphGeneration.gov + FIRE_772 + 11 + 6 + 170.7867919677484 + 70.75201948591109 + + + FIRE + FIRE_782@GraphGeneration.gov + FIRE_782 + 10 + 6 + 141.47679538329334 + 64.66782932677717 + + + FIRE + FIRE_783@GraphGeneration.gov + FIRE_783 + 9 + 6 + 142.89005007753042 + 75.5471459789196 + + + FIRE + FIRE_796@GraphGeneration.gov + FIRE_796 + 10 + 6 + 198.30670019345717 + 80.34394369843746 + + + FIRE + FIRE_859@GraphGeneration.gov + FIRE_859 + 7 + 6 + 27.110081979373163 + 97.56295667856254 + + + FIRE + FIRE_860@GraphGeneration.gov + FIRE_860 + 7 + 6 + 55.86898024640101 + 86.30164494616555 + + + FIRE + FIRE_867@GraphGeneration.gov + FIRE_867 + 8 + 6 + 65.17515111503153 + 111.58286537755315 + + + FIRE + FIRE_872@GraphGeneration.gov + FIRE_872 + 12 + 6 + 55.2356086002192 + 111.31886694379484 + + + FIRE + FIRE_874@GraphGeneration.gov + FIRE_874 + 6 + 6 + 47.203188239981635 + 99.47328739621749 + + + FIRE + FIRE_881@GraphGeneration.gov + FIRE_881 + 12 + 6 + 18.16262225809106 + 90.51569856525714 + + + FIRE + FIRE_883@GraphGeneration.gov + FIRE_883 + 12 + 6 + 6.825549678560165 + 114.24758566041038 + + + FIRE + FIRE_960@GraphGeneration.gov + FIRE_960 + 8 + 6 + 113.01143264643622 + 101.93012402916396 + + + FIRE + FIRE_966@GraphGeneration.gov + FIRE_966 + 10 + 6 + 89.54125061694936 + 95.91886249514764 + + + FIRE + FIRE_969@GraphGeneration.gov + FIRE_969 + 7 + 6 + 94.30676398711242 + 89.89653067965159 + + + FIRE + FIRE_970@GraphGeneration.gov + FIRE_970 + 7 + 6 + 99.24276597936718 + 97.89900175783461 + + + FIRE + FIRE_971@GraphGeneration.gov + FIRE_971 + 9 + 6 + 117.91308517262607 + 114.16864970660592 + + + FIRE + FIRE_980@GraphGeneration.gov + FIRE_980 + 11 + 6 + 123.02133825433441 + 112.13421115687031 + + + FIRE + FIRE_1043@GraphGeneration.gov + FIRE_1043 + 7 + 6 + 164.33358186038546 + 113.99156706013079 + + + FIRE + FIRE_1045@GraphGeneration.gov + FIRE_1045 + 8 + 6 + 158.77445016415675 + 111.342470388103 + + + FIRE + FIRE_1060@GraphGeneration.gov + FIRE_1060 + 7 + 6 + 161.01007125441276 + 107.70638153277524 + + + FIRE + FIRE_1065@GraphGeneration.gov + FIRE_1065 + 10 + 6 + 141.89203315218847 + 86.26318894341084 + + + FIRE + FIRE_1072@GraphGeneration.gov + FIRE_1072 + 10 + 6 + 190.1684905549835 + 86.92185257699445 + + + FIRE + FIRE_1135@GraphGeneration.gov + FIRE_1135 + 11 + 6 + 54.14873959748308 + 134.25369607820187 + + + FIRE + FIRE_1136@GraphGeneration.gov + FIRE_1136 + 9 + 6 + 55.70355602047234 + 130.68743568159783 + + + FIRE + FIRE_1139@GraphGeneration.gov + FIRE_1139 + 11 + 6 + 22.376155162658474 + 141.2873220604604 + + + FIRE + FIRE_1142@GraphGeneration.gov + FIRE_1142 + 9 + 6 + 16.889055718894216 + 130.70425946227863 + + + FIRE + FIRE_1146@GraphGeneration.gov + FIRE_1146 + 6 + 6 + 53.762410943440905 + 122.08650907285373 + + + FIRE + FIRE_1153@GraphGeneration.gov + FIRE_1153 + 11 + 6 + 26.150905569537137 + 139.62322579550948 + + + FIRE + FIRE_1156@GraphGeneration.gov + FIRE_1156 + 8 + 6 + 65.34679178525211 + 120.23883361069302 + + + FIRE + FIRE_1157@GraphGeneration.gov + FIRE_1157 + 12 + 6 + 33.59377399046832 + 131.92662881458205 + + + FIRE + FIRE_1160@GraphGeneration.gov + FIRE_1160 + 8 + 6 + 64.98778558643457 + 125.20009503305988 + + + FIRE + FIRE_1161@GraphGeneration.gov + FIRE_1161 + 8 + 6 + 42.64444158247167 + 133.69842521855986 + + + FIRE + FIRE_1163@GraphGeneration.gov + FIRE_1163 + 9 + 6 + 25.04356488445454 + 121.07674305613308 + + + FIRE + FIRE_1238@GraphGeneration.gov + FIRE_1238 + 11 + 6 + 110.62408702798118 + 129.62060826552047 + + + FIRE + FIRE_1244@GraphGeneration.gov + FIRE_1244 + 9 + 6 + 118.84252829936173 + 140.44955538168207 + + + FIRE + FIRE_1246@GraphGeneration.gov + FIRE_1246 + 11 + 6 + 84.17951398115542 + 115.8841758801842 + + + FIRE + FIRE_1248@GraphGeneration.gov + FIRE_1248 + 11 + 6 + 133.16174681653064 + 136.8216900942656 + + + FIRE + FIRE_1256@GraphGeneration.gov + FIRE_1256 + 8 + 6 + 92.48442046336483 + 117.85628396478934 + + + FIRE + FIRE_1326@GraphGeneration.gov + FIRE_1326 + 10 + 6 + 198.2808285790175 + 118.04780507457667 + + + FIRE + FIRE_1334@GraphGeneration.gov + FIRE_1334 + 9 + 6 + 170.8536105632048 + 117.02941995694789 + + + FIRE + FIRE_1338@GraphGeneration.gov + FIRE_1338 + 6 + 6 + 185.00484414271187 + 115.74430485753258 + + + FIRE + FIRE_1341@GraphGeneration.gov + FIRE_1341 + 6 + 6 + 142.32984843706737 + 114.50342553575243 + + + FIRE + FIRE_1343@GraphGeneration.gov + FIRE_1343 + 6 + 6 + 172.8637116210469 + 132.33891677375794 + + + FIRE + FIRE_1346@GraphGeneration.gov + FIRE_1346 + 12 + 6 + 191.46617596844746 + 137.67048501919768 + + + FIRE + FIRE_1347@GraphGeneration.gov + FIRE_1347 + 10 + 6 + 174.755116597576 + 139.19132107825294 + + + FIRE + FIRE_1348@GraphGeneration.gov + FIRE_1348 + 11 + 6 + 160.25244916800324 + 123.15512614358968 + + + FIRE + FIRE_1411@GraphGeneration.gov + FIRE_1411 + 6 + 6 + 10.161007144369643 + 147.95967963953132 + + + FIRE + FIRE_1413@GraphGeneration.gov + FIRE_1413 + 11 + 6 + 52.57386074791479 + 152.1744858387756 + + + FIRE + FIRE_1415@GraphGeneration.gov + FIRE_1415 + 7 + 6 + 35.94909124160886 + 148.4863781888748 + + + FIRE + FIRE_1416@GraphGeneration.gov + FIRE_1416 + 11 + 6 + 55.65487182809714 + 158.4991351307982 + + + FIRE + FIRE_1420@GraphGeneration.gov + FIRE_1420 + 6 + 6 + 16.096458204347567 + 148.95074853977135 + + + FIRE + FIRE_1421@GraphGeneration.gov + FIRE_1421 + 11 + 6 + 24.17113637584608 + 148.86110888448135 + + + FIRE + FIRE_1423@GraphGeneration.gov + FIRE_1423 + 9 + 6 + 57.642119600088826 + 150.81436038022113 + + + FIRE + FIRE_1425@GraphGeneration.gov + FIRE_1425 + 11 + 6 + 54.198042454371745 + 156.7690714763112 + + + FIRE + FIRE_1426@GraphGeneration.gov + FIRE_1426 + 10 + 6 + 7.622730711700728 + 169.32270697566958 + + + FIRE + FIRE_1427@GraphGeneration.gov + FIRE_1427 + 6 + 6 + 28.236746226497072 + 159.2461999564838 + + + FIRE + FIRE_1428@GraphGeneration.gov + FIRE_1428 + 11 + 6 + 38.16746776503991 + 170.47152691716363 + + + FIRE + FIRE_1430@GraphGeneration.gov + FIRE_1430 + 9 + 6 + 45.78359413207609 + 143.0110134302749 + + + FIRE + FIRE_1505@GraphGeneration.gov + FIRE_1505 + 12 + 6 + 70.11985071544575 + 152.69140751700795 + + + FIRE + FIRE_1507@GraphGeneration.gov + FIRE_1507 + 9 + 6 + 119.8742639610463 + 143.14737014999636 + + + FIRE + FIRE_1509@GraphGeneration.gov + FIRE_1509 + 9 + 6 + 107.58256754046181 + 155.0879771777383 + + + FIRE + FIRE_1511@GraphGeneration.gov + FIRE_1511 + 12 + 6 + 124.28672148957689 + 163.57050909042545 + + + FIRE + FIRE_1520@GraphGeneration.gov + FIRE_1520 + 9 + 6 + 108.6643668624817 + 151.82501599022225 + + + FIRE + FIRE_1523@GraphGeneration.gov + FIRE_1523 + 11 + 6 + 89.63066515400679 + 159.55264915551004 + + + FIRE + FIRE_1525@GraphGeneration.gov + FIRE_1525 + 9 + 6 + 86.02313171871442 + 147.53850628756817 + + + FIRE + FIRE_1527@GraphGeneration.gov + FIRE_1527 + 12 + 6 + 75.47939098327255 + 154.93040089484654 + + + FIRE + FIRE_1532@GraphGeneration.gov + FIRE_1532 + 9 + 6 + 121.49856602927872 + 142.9265350317031 + + + FIRE + FIRE_1596@GraphGeneration.gov + FIRE_1596 + 6 + 6 + 152.3584933032279 + 163.7355683352391 + + + FIRE + FIRE_1599@GraphGeneration.gov + FIRE_1599 + 7 + 6 + 160.50669818018832 + 146.20609523989384 + + + FIRE + FIRE_1607@GraphGeneration.gov + FIRE_1607 + 6 + 6 + 144.39782923076643 + 166.80533341563873 + + + FIRE + FIRE_1610@GraphGeneration.gov + FIRE_1610 + 6 + 6 + 140.39176377179191 + 166.25164285261866 + + + FIRE + FIRE_1611@GraphGeneration.gov + FIRE_1611 + 12 + 6 + 187.20879742318152 + 153.35836156178513 + + + FIRE + FIRE_1613@GraphGeneration.gov + FIRE_1613 + 10 + 6 + 148.25323723234436 + 161.64097942555844 + + + FIRE + FIRE_1614@GraphGeneration.gov + FIRE_1614 + 6 + 6 + 179.47450712407561 + 165.11834753376633 + + + FIRE + FIRE_1620@GraphGeneration.gov + FIRE_1620 + 10 + 6 + 193.84415308688313 + 146.3508637164472 + + + FIRE + FIRE_1691@GraphGeneration.gov + FIRE_1691 + 9 + 6 + 23.852298291564377 + 178.32333449468496 + + + FIRE + FIRE_1693@GraphGeneration.gov + FIRE_1693 + 11 + 6 + 55.72566177157897 + 181.02619481612012 + + + FIRE + FIRE_1696@GraphGeneration.gov + FIRE_1696 + 11 + 6 + 66.09285810928519 + 175.57601013870604 + + + FIRE + FIRE_1697@GraphGeneration.gov + FIRE_1697 + 8 + 6 + 24.156823736682274 + 197.37179801935756 + + + FIRE + FIRE_1715@GraphGeneration.gov + FIRE_1715 + 6 + 6 + 27.585786336894888 + 178.99150539688912 + + + FIRE + FIRE_1780@GraphGeneration.gov + FIRE_1780 + 11 + 6 + 118.36466193079211 + 188.15831148422504 + + + FIRE + FIRE_1785@GraphGeneration.gov + FIRE_1785 + 12 + 6 + 77.05040821455879 + 177.81720572831364 + + + FIRE + FIRE_1796@GraphGeneration.gov + FIRE_1796 + 6 + 6 + 88.00665520592314 + 186.27752461163618 + + + FIRE + FIRE_1797@GraphGeneration.gov + FIRE_1797 + 7 + 6 + 74.69414182601287 + 198.65713278313223 + + + FIRE + FIRE_1798@GraphGeneration.gov + FIRE_1798 + 8 + 6 + 82.8809799583146 + 184.68451035581455 + + + FIRE + FIRE_1799@GraphGeneration.gov + FIRE_1799 + 8 + 6 + 126.68840665764303 + 173.59189071302583 + + + FIRE + FIRE_1801@GraphGeneration.gov + FIRE_1801 + 12 + 6 + 89.89881365517522 + 171.91553348551815 + + + FIRE + FIRE_1802@GraphGeneration.gov + FIRE_1802 + 9 + 6 + 119.2426436863307 + 187.80548293855648 + + + FIRE + FIRE_1805@GraphGeneration.gov + FIRE_1805 + 12 + 6 + 85.15679981614639 + 183.36847712218804 + + + FIRE + FIRE_1873@GraphGeneration.gov + FIRE_1873 + 9 + 6 + 159.16577103140128 + 185.95996911003166 + + + FIRE + FIRE_1874@GraphGeneration.gov + FIRE_1874 + 10 + 6 + 191.96018493588883 + 184.24701804908207 + + + FIRE + FIRE_1884@GraphGeneration.gov + FIRE_1884 + 9 + 6 + 180.36691859133066 + 177.59699654882795 + + + FIRE + FIRE_1891@GraphGeneration.gov + FIRE_1891 + 10 + 6 + 141.72496067328512 + 187.60066185618373 + + + FIRE + FIRE_1894@GraphGeneration.gov + FIRE_1894 + 10 + 6 + 190.68754358597317 + 189.185165677892 + + + FIRE + FIRE_1895@GraphGeneration.gov + FIRE_1895 + 9 + 6 + 189.95748484569287 + 173.05686239190305 + + + FIRE + FIRE_1897@GraphGeneration.gov + FIRE_1897 + 9 + 6 + 191.04159002152346 + 190.49559927789846 + + + FIRE + FIRE_1900@GraphGeneration.gov + FIRE_1900 + 10 + 6 + 136.5070549507386 + 191.86132558267707 + + + LAW + LAW_62@GraphGeneration.gov + LAW_62 + 11 + 6 + 8.071273555046082 + 12.983129183943626 + + + LAW + LAW_69@GraphGeneration.gov + LAW_69 + 7 + 6 + 22.457525292347547 + 2.2780251771050604 + + + LAW + LAW_74@GraphGeneration.gov + LAW_74 + 6 + 6 + 24.501214946422607 + 7.365776996240113 + + + LAW + LAW_76@GraphGeneration.gov + LAW_76 + 11 + 6 + 58.3741650234566 + 25.745734312931337 + + + LAW + LAW_79@GraphGeneration.gov + LAW_79 + 10 + 6 + 66.6551943841176 + 27.120873412362254 + + + LAW + LAW_80@GraphGeneration.gov + LAW_80 + 10 + 6 + 30.366749288681824 + 14.14170306318767 + + + LAW + LAW_84@GraphGeneration.gov + LAW_84 + 12 + 6 + 41.35180394430549 + 24.22648405349615 + + + LAW + LAW_87@GraphGeneration.gov + LAW_87 + 8 + 6 + 53.63163811232599 + 28.37922233299979 + + + LAW + LAW_90@GraphGeneration.gov + LAW_90 + 11 + 6 + 21.638061148094103 + 20.08424983073117 + + + LAW + LAW_156@GraphGeneration.gov + LAW_156 + 9 + 6 + 68.56330165315899 + 23.746307753618325 + + + LAW + LAW_159@GraphGeneration.gov + LAW_159 + 9 + 6 + 121.43069204033137 + 12.640202580713698 + + + LAW + LAW_165@GraphGeneration.gov + LAW_165 + 12 + 6 + 86.03343911389659 + 19.63364834546613 + + + LAW + LAW_167@GraphGeneration.gov + LAW_167 + 6 + 6 + 117.53178723354674 + 22.986645827511484 + + + LAW + LAW_172@GraphGeneration.gov + LAW_172 + 9 + 6 + 91.38471475853808 + 25.758997200178776 + + + LAW + LAW_174@GraphGeneration.gov + LAW_174 + 11 + 6 + 116.04565307722552 + 16.391372685776695 + + + LAW + LAW_176@GraphGeneration.gov + LAW_176 + 9 + 6 + 71.50498111726684 + 18.562896791993552 + + + LAW + LAW_179@GraphGeneration.gov + LAW_179 + 7 + 6 + 112.46770024529553 + 8.223430017603903 + + + LAW + LAW_248@GraphGeneration.gov + LAW_248 + 8 + 6 + 198.29179423204738 + 4.586398286375653 + + + LAW + LAW_257@GraphGeneration.gov + LAW_257 + 11 + 6 + 151.98190969922558 + 11.01647804217379 + + + LAW + LAW_261@GraphGeneration.gov + LAW_261 + 9 + 6 + 167.23528020117223 + 9.605322524521434 + + + LAW + LAW_262@GraphGeneration.gov + LAW_262 + 10 + 6 + 193.68463114556425 + 4.789596024875412 + + + LAW + LAW_264@GraphGeneration.gov + LAW_264 + 12 + 6 + 193.33245011066128 + 17.52999521849482 + + + LAW + LAW_265@GraphGeneration.gov + LAW_265 + 12 + 6 + 140.72258905692127 + 20.577452733427606 + + + LAW + LAW_266@GraphGeneration.gov + LAW_266 + 9 + 6 + 151.25504954251295 + 19.87806697788139 + + + LAW + LAW_270@GraphGeneration.gov + LAW_270 + 7 + 6 + 195.49708177585234 + 18.52052664174878 + + + LAW + LAW_343@GraphGeneration.gov + LAW_343 + 10 + 6 + 1.9768479926903784 + 49.46077881054438 + + + LAW + LAW_345@GraphGeneration.gov + LAW_345 + 12 + 6 + 0.31165428189122346 + 46.6160987228401 + + + LAW + LAW_353@GraphGeneration.gov + LAW_353 + 11 + 6 + 24.289428184553465 + 30.751263577537365 + + + LAW + LAW_355@GraphGeneration.gov + LAW_355 + 7 + 6 + 59.565048702120826 + 32.29093290431986 + + + LAW + LAW_360@GraphGeneration.gov + LAW_360 + 6 + 6 + 62.70857698743547 + 51.67189310940903 + + + LAW + LAW_363@GraphGeneration.gov + LAW_363 + 7 + 6 + 55.73606386172908 + 53.11821324019623 + + + LAW + LAW_430@GraphGeneration.gov + LAW_430 + 11 + 6 + 100.778771920546 + 54.98787415666344 + + + LAW + LAW_433@GraphGeneration.gov + LAW_433 + 8 + 6 + 79.72220399704074 + 51.7522451340223 + + + LAW + LAW_434@GraphGeneration.gov + LAW_434 + 10 + 6 + 94.14541776180721 + 42.918339382534946 + + + LAW + LAW_435@GraphGeneration.gov + LAW_435 + 11 + 6 + 93.04719122638049 + 47.570813055468804 + + + LAW + LAW_438@GraphGeneration.gov + LAW_438 + 7 + 6 + 126.79747731938411 + 44.307004708908 + + + LAW + LAW_441@GraphGeneration.gov + LAW_441 + 9 + 6 + 102.83887340546883 + 45.55974995262498 + + + LAW + LAW_444@GraphGeneration.gov + LAW_444 + 10 + 6 + 127.60797537144622 + 55.28008444071192 + + + LAW + LAW_446@GraphGeneration.gov + LAW_446 + 6 + 6 + 113.86737493402586 + 47.043781281639255 + + + LAW + LAW_448@GraphGeneration.gov + LAW_448 + 7 + 6 + 132.14416620181882 + 50.11259670517509 + + + LAW + LAW_453@GraphGeneration.gov + LAW_453 + 6 + 6 + 84.94042422469869 + 49.477302432964755 + + + LAW + LAW_457@GraphGeneration.gov + LAW_457 + 10 + 6 + 73.22149150988199 + 43.87687140356069 + + + LAW + LAW_521@GraphGeneration.gov + LAW_521 + 11 + 6 + 179.5393304358358 + 35.36578107615213 + + + LAW + LAW_524@GraphGeneration.gov + LAW_524 + 7 + 6 + 172.96709440681315 + 42.35805242083244 + + + LAW + LAW_527@GraphGeneration.gov + LAW_527 + 8 + 6 + 167.5442581627492 + 45.528332847208155 + + + LAW + LAW_529@GraphGeneration.gov + LAW_529 + 9 + 6 + 165.97189719587217 + 44.40798725258254 + + + LAW + LAW_533@GraphGeneration.gov + LAW_533 + 10 + 6 + 197.46721748289667 + 48.71137508778557 + + + LAW + LAW_536@GraphGeneration.gov + LAW_536 + 10 + 6 + 196.31241811112983 + 31.52967000831231 + + + LAW + LAW_541@GraphGeneration.gov + LAW_541 + 7 + 6 + 189.1784796092055 + 39.307269869942665 + + + LAW + LAW_545@GraphGeneration.gov + LAW_545 + 7 + 6 + 161.7826237961951 + 31.26518281371564 + + + LAW + LAW_613@GraphGeneration.gov + LAW_613 + 9 + 6 + 16.493413358786025 + 59.41614390964615 + + + LAW + LAW_617@GraphGeneration.gov + LAW_617 + 10 + 6 + 19.78093651473376 + 70.71909048260733 + + + LAW + LAW_620@GraphGeneration.gov + LAW_620 + 11 + 6 + 20.467361524134976 + 74.63086448389578 + + + LAW + LAW_621@GraphGeneration.gov + LAW_621 + 12 + 6 + 51.709609402314676 + 77.10434476877013 + + + LAW + LAW_634@GraphGeneration.gov + LAW_634 + 10 + 6 + 42.6241357901327 + 64.57913072881172 + + + LAW + LAW_636@GraphGeneration.gov + LAW_636 + 9 + 6 + 55.744240983167174 + 61.06750599405438 + + + LAW + LAW_639@GraphGeneration.gov + LAW_639 + 8 + 6 + 56.594758372408045 + 59.70331318729627 + + + LAW + LAW_705@GraphGeneration.gov + LAW_705 + 10 + 6 + 83.45753932476758 + 84.87643939836397 + + + LAW + LAW_708@GraphGeneration.gov + LAW_708 + 6 + 6 + 71.13618229147158 + 70.4675261592083 + + + LAW + LAW_712@GraphGeneration.gov + LAW_712 + 11 + 6 + 125.88002500797725 + 76.3246761189794 + + + LAW + LAW_717@GraphGeneration.gov + LAW_717 + 10 + 6 + 85.5271383508973 + 69.60286283831738 + + + LAW + LAW_722@GraphGeneration.gov + LAW_722 + 8 + 6 + 83.00986383382191 + 82.19855389201946 + + + LAW + LAW_733@GraphGeneration.gov + LAW_733 + 12 + 6 + 73.82572904470409 + 75.1585348864616 + + + LAW + LAW_798@GraphGeneration.gov + LAW_798 + 9 + 6 + 139.72064110727814 + 58.63865691514377 + + + LAW + LAW_800@GraphGeneration.gov + LAW_800 + 10 + 6 + 192.1480710481861 + 60.573308589439506 + + + LAW + LAW_805@GraphGeneration.gov + LAW_805 + 12 + 6 + 151.0175443611817 + 85.47392332190039 + + + LAW + LAW_806@GraphGeneration.gov + LAW_806 + 10 + 6 + 150.09519684410387 + 64.38414672020221 + + + LAW + LAW_808@GraphGeneration.gov + LAW_808 + 9 + 6 + 137.50664683911063 + 66.6900645259366 + + + LAW + LAW_812@GraphGeneration.gov + LAW_812 + 8 + 6 + 181.84955922858688 + 63.553412881934754 + + + LAW + LAW_815@GraphGeneration.gov + LAW_815 + 10 + 6 + 164.909938316095 + 78.90454923038894 + + + LAW + LAW_819@GraphGeneration.gov + LAW_819 + 11 + 6 + 176.28604676723555 + 64.28422499584188 + + + LAW + LAW_820@GraphGeneration.gov + LAW_820 + 6 + 6 + 134.65538340756228 + 64.9272706756608 + + + LAW + LAW_824@GraphGeneration.gov + LAW_824 + 8 + 6 + 198.21688239719845 + 77.40434553325744 + + + LAW + LAW_890@GraphGeneration.gov + LAW_890 + 10 + 6 + 25.79684412542179 + 107.26812190544926 + + + LAW + LAW_891@GraphGeneration.gov + LAW_891 + 9 + 6 + 45.36051653856339 + 108.52519563496215 + + + LAW + LAW_893@GraphGeneration.gov + LAW_893 + 8 + 6 + 16.460790967339722 + 108.68927951391859 + + + LAW + LAW_894@GraphGeneration.gov + LAW_894 + 8 + 6 + 2.1884066494535155 + 86.84878631831627 + + + LAW + LAW_898@GraphGeneration.gov + LAW_898 + 6 + 6 + 23.306792543684125 + 107.78729592455817 + + + LAW + LAW_900@GraphGeneration.gov + LAW_900 + 8 + 6 + 30.63229283432906 + 107.14147092441976 + + + LAW + LAW_902@GraphGeneration.gov + LAW_902 + 8 + 6 + 6.786495389101662 + 111.88145265975136 + + + LAW + LAW_908@GraphGeneration.gov + LAW_908 + 7 + 6 + 19.818463725218983 + 92.85028258328046 + + + LAW + LAW_983@GraphGeneration.gov + LAW_983 + 8 + 6 + 87.06789628087722 + 101.28531042695022 + + + LAW + LAW_984@GraphGeneration.gov + LAW_984 + 7 + 6 + 94.02142780278879 + 98.431348839014 + + + LAW + LAW_985@GraphGeneration.gov + LAW_985 + 9 + 6 + 76.14888640226611 + 104.13979888215593 + + + LAW + LAW_987@GraphGeneration.gov + LAW_987 + 8 + 6 + 67.34004736816422 + 94.67285044019222 + + + LAW + LAW_990@GraphGeneration.gov + LAW_990 + 12 + 6 + 112.34345179340482 + 93.53761009806713 + + + LAW + LAW_994@GraphGeneration.gov + LAW_994 + 12 + 6 + 131.18900064837015 + 108.94596111319481 + + + LAW + LAW_997@GraphGeneration.gov + LAW_997 + 7 + 6 + 127.36191456856807 + 92.46062591833696 + + + LAW + LAW_998@GraphGeneration.gov + LAW_998 + 6 + 6 + 82.48967555469837 + 95.85015817084069 + + + LAW + LAW_999@GraphGeneration.gov + LAW_999 + 9 + 6 + 128.900539297871 + 90.13062520294874 + + + LAW + LAW_1005@GraphGeneration.gov + LAW_1005 + 12 + 6 + 67.03205880684392 + 100.50176987686007 + + + LAW + LAW_1007@GraphGeneration.gov + LAW_1007 + 6 + 6 + 69.59030203922872 + 98.65035686237148 + + + LAW + LAW_1075@GraphGeneration.gov + LAW_1075 + 12 + 6 + 171.39873260551457 + 95.01381249070296 + + + LAW + LAW_1076@GraphGeneration.gov + LAW_1076 + 6 + 6 + 151.4370021611704 + 95.20887675797145 + + + LAW + LAW_1079@GraphGeneration.gov + LAW_1079 + 9 + 6 + 147.04462550640895 + 105.87508318827712 + + + LAW + LAW_1086@GraphGeneration.gov + LAW_1086 + 11 + 6 + 175.1963280756591 + 103.90172042295427 + + + LAW + LAW_1087@GraphGeneration.gov + LAW_1087 + 10 + 6 + 170.9955893881085 + 92.89860144603641 + + + LAW + LAW_1088@GraphGeneration.gov + LAW_1088 + 11 + 6 + 140.02377915660077 + 90.3571228086752 + + + LAW + LAW_1094@GraphGeneration.gov + LAW_1094 + 8 + 6 + 135.99701190481673 + 87.33892270877176 + + + LAW + LAW_1095@GraphGeneration.gov + LAW_1095 + 7 + 6 + 166.96948377396524 + 90.81905126809933 + + + LAW + LAW_1098@GraphGeneration.gov + LAW_1098 + 8 + 6 + 139.47795595614284 + 103.88306922671036 + + + LAW + LAW_1099@GraphGeneration.gov + LAW_1099 + 10 + 6 + 199.3355891524452 + 104.02678034813296 + + + LAW + LAW_1101@GraphGeneration.gov + LAW_1101 + 7 + 6 + 174.6293739429142 + 94.70993882836437 + + + LAW + LAW_1168@GraphGeneration.gov + LAW_1168 + 9 + 6 + 50.54252944001924 + 129.28021836451012 + + + LAW + LAW_1173@GraphGeneration.gov + LAW_1173 + 11 + 6 + 57.948827146065746 + 129.15442780857617 + + + LAW + LAW_1175@GraphGeneration.gov + LAW_1175 + 8 + 6 + 39.37951498002639 + 139.5561816689234 + + + LAW + LAW_1176@GraphGeneration.gov + LAW_1176 + 9 + 6 + 64.59815736954052 + 134.83038343572477 + + + LAW + LAW_1179@GraphGeneration.gov + LAW_1179 + 6 + 6 + 17.273239613624792 + 119.5593932115376 + + + LAW + LAW_1180@GraphGeneration.gov + LAW_1180 + 7 + 6 + 62.90690026518288 + 129.5037053690226 + + + LAW + LAW_1183@GraphGeneration.gov + LAW_1183 + 7 + 6 + 29.13309995950299 + 128.14461642568952 + + + LAW + LAW_1186@GraphGeneration.gov + LAW_1186 + 8 + 6 + 54.22439901383653 + 137.93210121857678 + + + LAW + LAW_1192@GraphGeneration.gov + LAW_1192 + 8 + 6 + 11.65735559767862 + 133.8583696343689 + + + LAW + LAW_1194@GraphGeneration.gov + LAW_1194 + 12 + 6 + 53.13082553428375 + 130.83181921305706 + + + LAW + LAW_1257@GraphGeneration.gov + LAW_1257 + 11 + 6 + 98.24654754099703 + 123.30070252154643 + + + LAW + LAW_1263@GraphGeneration.gov + LAW_1263 + 9 + 6 + 118.98698385348237 + 119.35121322183741 + + + LAW + LAW_1269@GraphGeneration.gov + LAW_1269 + 7 + 6 + 67.95163084703252 + 116.5468891695808 + + + LAW + LAW_1272@GraphGeneration.gov + LAW_1272 + 11 + 6 + 104.13652461562778 + 139.62109523406522 + + + LAW + LAW_1274@GraphGeneration.gov + LAW_1274 + 10 + 6 + 91.9688402424747 + 118.08843167264834 + + + LAW + LAW_1279@GraphGeneration.gov + LAW_1279 + 10 + 6 + 68.86061849521225 + 129.63362206480815 + + + LAW + LAW_1280@GraphGeneration.gov + LAW_1280 + 8 + 6 + 98.31407059659583 + 138.87046532009558 + + + LAW + LAW_1282@GraphGeneration.gov + LAW_1282 + 11 + 6 + 68.36760596396095 + 140.34544234865007 + + + LAW + LAW_1352@GraphGeneration.gov + LAW_1352 + 7 + 6 + 175.25629931829315 + 135.1145295135168 + + + LAW + LAW_1353@GraphGeneration.gov + LAW_1353 + 7 + 6 + 135.3790747545418 + 126.17765650579945 + + + LAW + LAW_1356@GraphGeneration.gov + LAW_1356 + 11 + 6 + 144.90457211644394 + 138.34279004402367 + + + LAW + LAW_1357@GraphGeneration.gov + LAW_1357 + 11 + 6 + 163.40387304632182 + 117.02075564288718 + + + LAW + LAW_1368@GraphGeneration.gov + LAW_1368 + 11 + 6 + 180.50251665599842 + 114.88742257840586 + + + LAW + LAW_1369@GraphGeneration.gov + LAW_1369 + 11 + 6 + 169.61872798111827 + 136.46571620994305 + + + LAW + LAW_1371@GraphGeneration.gov + LAW_1371 + 12 + 6 + 176.0920580157724 + 129.12652414987056 + + + LAW + LAW_1377@GraphGeneration.gov + LAW_1377 + 7 + 6 + 169.70337241879835 + 134.59146259146755 + + + LAW + LAW_1443@GraphGeneration.gov + LAW_1443 + 11 + 6 + 50.92211053466439 + 171.24731011345162 + + + LAW + LAW_1444@GraphGeneration.gov + LAW_1444 + 12 + 6 + 16.863496583499018 + 167.56493366043185 + + + LAW + LAW_1452@GraphGeneration.gov + LAW_1452 + 9 + 6 + 63.81581196193265 + 149.40731440434354 + + + LAW + LAW_1467@GraphGeneration.gov + LAW_1467 + 12 + 6 + 64.20594869348896 + 150.25902665657216 + + + LAW + LAW_1469@GraphGeneration.gov + LAW_1469 + 10 + 6 + 44.53232500588525 + 165.86156408907274 + + + LAW + LAW_1470@GraphGeneration.gov + LAW_1470 + 10 + 6 + 30.95813087727774 + 160.65303660504682 + + + LAW + LAW_1534@GraphGeneration.gov + LAW_1534 + 11 + 6 + 86.10399416979334 + 167.9997605695715 + + + LAW + LAW_1547@GraphGeneration.gov + LAW_1547 + 6 + 6 + 103.33094130991981 + 166.67370077128055 + + + LAW + LAW_1550@GraphGeneration.gov + LAW_1550 + 12 + 6 + 91.41578794845239 + 144.1346631408702 + + + LAW + LAW_1551@GraphGeneration.gov + LAW_1551 + 11 + 6 + 120.31701459625981 + 151.9423362542079 + + + LAW + LAW_1552@GraphGeneration.gov + LAW_1552 + 8 + 6 + 73.4966158370113 + 147.6482364759146 + + + LAW + LAW_1554@GraphGeneration.gov + LAW_1554 + 9 + 6 + 120.66029576124936 + 146.3485253736143 + + + LAW + LAW_1560@GraphGeneration.gov + LAW_1560 + 7 + 6 + 119.84136723286386 + 146.19696213838785 + + + LAW + LAW_1629@GraphGeneration.gov + LAW_1629 + 6 + 6 + 195.89866745882824 + 162.96794633821642 + + + LAW + LAW_1630@GraphGeneration.gov + LAW_1630 + 9 + 6 + 182.46792225684834 + 157.96202008019176 + + + LAW + LAW_1636@GraphGeneration.gov + LAW_1636 + 6 + 6 + 185.78024835079134 + 169.46819781350464 + + + LAW + LAW_1637@GraphGeneration.gov + LAW_1637 + 11 + 6 + 162.2939040570675 + 163.9321459523377 + + + LAW + LAW_1641@GraphGeneration.gov + LAW_1641 + 10 + 6 + 160.74974495273497 + 159.5199860753686 + + + LAW + LAW_1647@GraphGeneration.gov + LAW_1647 + 10 + 6 + 191.0730204205159 + 151.4342258881016 + + + LAW + LAW_1648@GraphGeneration.gov + LAW_1648 + 10 + 6 + 141.02444942434033 + 164.1797870643768 + + + LAW + LAW_1717@GraphGeneration.gov + LAW_1717 + 8 + 6 + 34.96835078625864 + 198.13131947831718 + + + LAW + LAW_1718@GraphGeneration.gov + LAW_1718 + 6 + 6 + 26.709856700528267 + 174.65103610971227 + + + LAW + LAW_1720@GraphGeneration.gov + LAW_1720 + 7 + 6 + 57.77954549235006 + 174.97105858584862 + + + LAW + LAW_1726@GraphGeneration.gov + LAW_1726 + 10 + 6 + 49.71003985160487 + 185.4261408423239 + + + LAW + LAW_1727@GraphGeneration.gov + LAW_1727 + 6 + 6 + 60.66829756339196 + 197.2667025131988 + + + LAW + LAW_1728@GraphGeneration.gov + LAW_1728 + 10 + 6 + 35.174264467696624 + 198.99151942426496 + + + LAW + LAW_1733@GraphGeneration.gov + LAW_1733 + 6 + 6 + 53.97833884467537 + 177.25916969501625 + + + LAW + LAW_1736@GraphGeneration.gov + LAW_1736 + 9 + 6 + 34.941827017757845 + 188.97617064706824 + + + LAW + LAW_1744@GraphGeneration.gov + LAW_1744 + 8 + 6 + 45.817979384057445 + 184.01463447584794 + + + LAW + LAW_1812@GraphGeneration.gov + LAW_1812 + 6 + 6 + 116.63056961109797 + 176.4373279852318 + + + LAW + LAW_1816@GraphGeneration.gov + LAW_1816 + 7 + 6 + 85.4973585970373 + 183.4112687272665 + + + LAW + LAW_1817@GraphGeneration.gov + LAW_1817 + 6 + 6 + 116.28070453680263 + 189.16062164869675 + + + LAW + LAW_1821@GraphGeneration.gov + LAW_1821 + 9 + 6 + 81.77460756728718 + 189.78898777420017 + + + LAW + LAW_1833@GraphGeneration.gov + LAW_1833 + 10 + 6 + 89.89911048491061 + 175.71721071529797 + + + LAW + LAW_1834@GraphGeneration.gov + LAW_1834 + 9 + 6 + 87.05930557731436 + 173.1951911742013 + + + LAW + LAW_1901@GraphGeneration.gov + LAW_1901 + 6 + 6 + 149.12160713384222 + 175.1228821150548 + + + LAW + LAW_1904@GraphGeneration.gov + LAW_1904 + 12 + 6 + 173.4209039569393 + 177.03420648141292 + + + LAW + LAW_1909@GraphGeneration.gov + LAW_1909 + 7 + 6 + 161.51565828673768 + 174.1061945612829 + + + LAW + LAW_1910@GraphGeneration.gov + LAW_1910 + 11 + 6 + 141.56000714576862 + 198.17539763373048 + + + LAW + LAW_1911@GraphGeneration.gov + LAW_1911 + 8 + 6 + 194.93625852791274 + 186.7283914950643 + + + LAW + LAW_1922@GraphGeneration.gov + LAW_1922 + 12 + 6 + 137.16975832617118 + 173.1068172467817 + + + LAW + LAW_1923@GraphGeneration.gov + LAW_1923 + 9 + 6 + 148.19877916228577 + 182.2620972223647 + + + CALR + [(28.192974734694552, 17.415591290078353), (28.211560677969743, 17.417480365770604)], [(28.222871283729518, 17.436209445042987), (28.207670873695655, 17.450480065927863)], [(28.197962638798337, 17.44237681208586), (28.211097266306446, 17.421581300802735)], [(28.196125962449905, 17.419753705924883), (28.19273563431036, 17.415580693034325)], [(28.193845480491383, 17.45697527618969), (28.178372954948596, 17.432770445033768)], [(28.20386448013184, 17.455219082428894), (28.221219191476514, 17.4304435101126)], [(28.208798314609464, 17.454853876399486), (28.20653004934609, 17.459203481209563)], [(28.22668850507996, 17.409504312040692), (28.209779152863423, 17.43231370920954)], [(28.218232574869702, 17.411888726092503), (28.229185120843013, 17.429181020651086)], [(28.203726199350974, 17.44793599807924), (28.224413848314814, 17.44680751994396)], [(28.220324841088303, 17.451847667020644), (28.230589548456916, 17.435525915298598)], [(28.218701503573758, 17.448567459353562), (28.242534147856002, 17.458357484948433)], [(28.21805929092155, 17.453432028927075), (28.22519368272828, 17.456530820701094)], [(28.196211275960653, 17.43362402990572), (28.17387119485596, 17.42645828977122)], [(28.2208920093369, 17.440063461713624), (28.209415603405148, 17.46229589159039)], [(28.21355655267654, 17.413652181400842), (28.220841943833825, 17.411582268932218)], [(28.186896768027097, 17.457638806477505), (28.19846487861809, 17.433553269746156)], [(28.18268213945676, 17.412744914325735), (28.171110790893074, 17.424377249686255)], [(28.210153038522233, 17.438806250696487), (28.233507147993958, 17.446656062544932)], [(28.22081457868258, 17.41260364707714), (28.197293670796483, 17.40515081621297)], [(28.177653978747117, 17.446072470659153), (28.154213401393143, 17.422064825910166)], [(28.185809008336303, 17.43508152996227), (28.174164063611773, 17.411814673875167)], [(28.193057545130728, 17.40939277115761), (28.19203957544722, 17.40465525596183)], [(28.21056581082882, 17.447084406662103), (28.19018957257021, 17.453887309510577)], [(28.204588001572684, 17.41809308635037), (28.22084113388628, 17.414316983366195)], [(28.18611853075481, 17.44317684048204), (28.199853401123047, 17.463677247160195)], [(28.218300061415846, 17.44893166420752), (28.238281462666176, 17.437643459040963)], [(28.18735066565492, 17.439185653216676), (28.186176019051988, 17.432009203801947)], [(28.182701192813273, 17.44093552418812), (28.1951913680219, 17.45620547116343)], [(28.224544031407003, 17.43602178793673), (28.21976739213124, 17.41449729182272)], [(28.186302161698816, 17.440462454423514), (28.180528964989843, 17.45172369241225)], [(28.210924434601523, 17.44182650320359), (28.22717612706119, 17.419728917224216)], [(28.185618901220725, 17.428927969297884), (28.196625832329094, 17.446635379206334)], [(28.215243968211922, 17.42960859800682), (28.229862014310083, 17.405056784707284)], [(28.185790946772222, 17.43039190062945), (28.161314497219813, 17.407326564496987)], [(28.18039773131813, 17.434610941173645), (28.17294169293922, 17.436055764027312)], [(28.213465756577975, 17.411889382268907), (28.207824405306052, 17.42285929892228)], [(28.180034915450328, 17.456263364285256), (28.183424886562612, 17.462323529055126)], [(28.195912784361944, 17.416350108877694), (28.176961656932708, 17.41281412818986)], [(28.225968458145545, 17.433444944031162), (28.22142217669614, 17.426901824882556)], [(28.18841507632662, 17.457016203610337), (28.175103575813328, 17.47875356025594)], [(28.196227078375916, 17.415165973278636), (28.185635226908644, 17.401489327732932)], [(28.216932499985212, 17.44738922390857), (28.20043347708565, 17.471282150985406)], [(28.209862432977673, 17.41135644198893), (28.216181756818944, 17.419072570075272)], [(28.20872185530604, 17.434762998563496), (28.229936155078757, 17.45974135963739)], [(28.180714984273944, 17.435757034993795), (28.17923868225607, 17.435919411589065)], [(28.199709321568832, 17.438002598565365), (28.21828509546324, 17.41732874646586)], [(28.20525731978783, 17.449721086387893), (28.227385442166266, 17.42657152761901)], [(28.184162283922838, 17.436889385574034), (28.186917238823586, 17.442669534875694)], [(28.198084269583262, 17.458562113829274), (28.20198253265997, 17.478050815207393)] + CALL_91@GraphGeneration.gov + CALL_91 + + + CALR + [(126.40264495399387, 25.73246460917249), (126.41142702277672, 25.72833882813784)], [(126.41690723485442, 25.73398884958931), (126.40116208522316, 25.720222535636314)], [(126.42878602297291, 25.75251353535813), (126.41446582737137, 25.73740820436559)], [(126.39485362972322, 25.734378962247483), (126.37901407326353, 25.738209988600126)], [(126.41315441532491, 25.712714835090242), (126.38848934653515, 25.73084233832396)], [(126.4424871072922, 25.7233010505723), (126.44033131306026, 25.699117162262976)], [(126.43538093522706, 25.73638700413864), (126.44237145083514, 25.74040982739848)], [(126.41792683219809, 25.749482193400578), (126.43804727326437, 25.749282754056306)], [(126.41477244404362, 25.73206777777815), (126.39980623531504, 25.742784757176256)], [(126.42569888545783, 25.748049636627773), (126.42691357874283, 25.76798150456041)], [(126.39718655642132, 25.74216476356844), (126.4110261781727, 25.758471455733904)], [(126.43893078254288, 25.721082783123762), (126.42669379348082, 25.733553164429132)], [(126.4080156365891, 25.719822201948602), (126.42589677165842, 25.70900691294754)], [(126.40603131776201, 25.716376648310288), (126.41105564108425, 25.70723826364015)], [(126.4310188689147, 25.71787294067981), (126.45527332570451, 25.69901252591847)], [(126.41183364748917, 25.761828993953614), (126.42321310353388, 25.758797922069622)], [(126.42675950692436, 25.758547981174765), (126.43075925904304, 25.75168654684621)], [(126.43214649782153, 25.761430312354864), (126.43703778893124, 25.771307386442906)], [(126.41371431411459, 25.741304235135182), (126.41542678369719, 25.757775423822267)], [(126.42761849538286, 25.750657598202046), (126.40618743080915, 25.729401714194807)], [(126.41673367785815, 25.72742617394062), (126.40773522664583, 25.720193365676618)], [(126.4423793784044, 25.75259377380968), (126.46158872685814, 25.746318967695334)], [(126.41116378631526, 25.756732433733465), (126.3930765619807, 25.738891821167144)], [(126.41042219104126, 25.732077373268933), (126.43541696677563, 25.715402954345084)], [(126.43362426262635, 25.72619595380997), (126.42477442524837, 25.734850036790135)], [(126.40460810006549, 25.716771172636406), (126.41731057019693, 25.72186649467374)], [(126.4055161326795, 25.71536322910475), (126.41035518367354, 25.720835960380754)], [(126.41893337315787, 25.75517027143117), (126.42048428788554, 25.772274336271586)], [(126.41620583918727, 25.740874021090924), (126.39838468589312, 25.727598530162695)], [(126.41575552158069, 25.71626966372106), (126.40429144351559, 25.734136642634166)], [(126.42377943641769, 25.72526181482516), (126.40314430902626, 25.724812082691837)], [(126.4401031172939, 25.745420865935085), (126.45810606104764, 25.749192535388328)], [(126.44095971610491, 25.744115760293138), (126.42729862647192, 25.753191983110362)], [(126.3977207027213, 25.737361957831002), (126.41347617414098, 25.749990723370967)], [(126.39354890058902, 25.761792025729743), (126.37329354496873, 25.765896002532845)], [(126.42516632864181, 25.754896379031052), (126.43330780581273, 25.74820473284452)], [(126.43996588596565, 25.732989347319965), (126.41578816162794, 25.715171277278525)], [(126.40227001089488, 25.720067167962007), (126.38774042536852, 25.697393365985974)], [(126.42044148687974, 25.749410138973627), (126.40224554053414, 25.751764066598838)], [(126.41924646758557, 25.714428619249922), (126.40583220078129, 25.700944952671325)], [(126.44154704451482, 25.744365154564246), (126.46081971164561, 25.725918438283166)], [(126.39834492762192, 25.748786902587486), (126.37587765772139, 25.76833869156376)], [(126.40631865141302, 25.72825917028076), (126.42677082966297, 25.74473291176955)], [(126.43489803232768, 25.76232442228689), (126.41642474153204, 25.77643456246859)], [(126.39587435029203, 25.72651284306595), (126.37971343221825, 25.70807994047752)], [(126.39819863282399, 25.74217906160528), (126.37624750657251, 25.75131961214156)], [(126.40903141144159, 25.722510445865257), (126.42251276461353, 25.719973698376336)], [(126.43650874291993, 25.744050357636567), (126.42469602368271, 25.723683097362077)], [(126.4137270785693, 25.736811693862325), (126.40370399139539, 25.725093539795246)], [(126.44062468779303, 25.737305560494914), (126.42597894552166, 25.758164688984277)] + CALL_183@GraphGeneration.gov + CALL_183 + + + CALR + [(169.91087761996346, 19.19728301396311), (169.8993215235341, 19.184462120917818)], [(169.88857305103343, 19.240130902666195), (169.89609954176117, 19.2576249743385)], [(169.88946949227582, 19.2184597936859), (169.87659680859593, 19.20292090602027)], [(169.89891910612621, 19.23219313547583), (169.90794779270666, 19.207800678063347)], [(169.91531599605005, 19.21704438813331), (169.8967076874796, 19.207905091839333)], [(169.92069082405828, 19.2026153593433), (169.90990263745815, 19.197418897458533)], [(169.90675174248676, 19.20330810312753), (169.8884048632234, 19.209924620912012)], [(169.91970887608886, 19.217214940376234), (169.90900604219354, 19.193458894239388)], [(169.8874849834112, 19.238548052819862), (169.87098732510847, 19.25032233912598)], [(169.90781507655964, 19.197950527599293), (169.9281223851319, 19.208762729609973)], [(169.89170206418152, 19.23537037994303), (169.90987349431947, 19.238632616958856)], [(169.88450265023104, 19.21830638409907), (169.9077909945297, 19.22808708306259)], [(169.87717273351095, 19.21796581224818), (169.85339772714832, 19.20593891297069)], [(169.89194755222724, 19.200106028377604), (169.87884919096936, 19.20723693778627)], [(169.8793112375289, 19.203564803407666), (169.87303067163487, 19.204482291825173)], [(169.9009880396458, 19.225526900669024), (169.87892344824957, 19.241244177546886)], [(169.9113944271277, 19.2010725195278), (169.9311997950514, 19.210399588523995)], [(169.92195978648283, 19.210651567761982), (169.91268198495138, 19.21198157868879)], [(169.91857294199792, 19.217236093364225), (169.93801719471736, 19.2225429047954)], [(169.9041938013455, 19.241473233366612), (169.92693088325402, 19.26284773076718)], [(169.91583842366265, 19.234689076169662), (169.9059749977809, 19.212282201468593)], [(169.92245108970866, 19.23489402397383), (169.90534091057953, 19.21664826205276)], [(169.9045568748467, 19.22628314024962), (169.9024028279257, 19.215094139534223)], [(169.88472327583023, 19.2438023364582), (169.87951225807134, 19.226600010296966)], [(169.90089899315427, 19.217825114989683), (169.92539090305698, 19.209907768614425)], [(169.88320893595758, 19.21532078692773), (169.86327138237667, 19.194389461025057)], [(169.9216192943834, 19.208390728237582), (169.9245056280324, 19.193541033258846)], [(169.89299966571062, 19.213627413535935), (169.89700982454923, 19.198733145289154)], [(169.89486322569294, 19.210841332311094), (169.89763708647493, 19.23298903809964)], [(169.91569051108388, 19.19576841119223), (169.9216270075197, 19.218220532856215)], [(169.91213182943594, 19.228315006638773), (169.9029249955781, 19.24495427763784)], [(169.89994962950288, 19.20207997293547), (169.8766904522473, 19.198722466127542)], [(169.89742036144003, 19.21668749895295), (169.90599491909805, 19.23644276778002)], [(169.89212766617297, 19.233075737214943), (169.87446100848507, 19.209399531885275)], [(169.91114518620577, 19.23883942227009), (169.9325534069199, 19.24138864863035)], [(169.89128286096616, 19.242167393694864), (169.90520158920424, 19.263222078995824)], [(169.91243822003176, 19.238989146766183), (169.93578118330083, 19.234211895593276)], [(169.884763219594, 19.24019538802894), (169.8688742524321, 19.230740495359278)], [(169.90969960950403, 19.239279016507183), (169.89957480764477, 19.22966279320826)], [(169.8787835779844, 19.21350410684055), (169.86057125339704, 19.216963170833797)], [(169.88488793576226, 19.207867698101396), (169.88897726051704, 19.211069919486086)], [(169.92047198925601, 19.245284304170752), (169.90122245357497, 19.226540385810356)], [(169.90358260037874, 19.242374922081613), (169.89783583823854, 19.240980469075332)], [(169.89081259351002, 19.212133726877486), (169.87743703320442, 19.20035836002248)], [(169.8928531846157, 19.197351130721202), (169.91711878146762, 19.207456939011582)], [(169.9028566318376, 19.214088124836238), (169.9040244150663, 19.193344222311016)], [(169.90254445691744, 19.236702961985507), (169.90063002474201, 19.258986304003088)], [(169.8768905805441, 19.241250969139763), (169.85685832220545, 19.233963181370157)], [(169.89782576542814, 19.23408343086982), (169.8832155151794, 19.219765600942832)], [(169.87479351745978, 19.22275595746362), (169.87904083206988, 19.21229538783589)] + CALL_275@GraphGeneration.gov + CALL_275 + + + CALR + [(19.861249240491404, 34.568312233563795), (19.884396590591255, 34.56834241543149)], [(19.858892593180432, 34.567840315708665), (19.83697075764663, 34.57890966482323)], [(19.816914098913767, 34.56531106455968), (19.83580410657321, 34.56696759645567)], [(19.85312926617048, 34.565301283539384), (19.844831234355887, 34.589463718228124)], [(19.85395814609181, 34.57611533012139), (19.87890518098706, 34.599281746138615)], [(19.835209971100234, 34.58243238053935), (19.822701324118697, 34.59532866331894)], [(19.83383054285717, 34.571922859381544), (19.820468179830637, 34.57931883323353)], [(19.828478335336158, 34.58484074481862), (19.844323072196342, 34.59765164244041)], [(19.84827641294649, 34.571320831620426), (19.846616398614913, 34.589606623058756)], [(19.838022489478888, 34.57756529807583), (19.832696599808983, 34.57043796660825)], [(19.825594330841383, 34.58974959977346), (19.81464509469414, 34.586689368610806)], [(19.831275885183892, 34.59322592362046), (19.82804243332442, 34.61272518497687)], [(19.834566679255982, 34.58317941746567), (19.813049655055586, 34.564078987334845)], [(19.84445831101446, 34.59990097645166), (19.834546297041893, 34.578871825367)], [(19.84421298548064, 34.58805369462215), (19.867230887377044, 34.60375612201126)], [(19.848724735564154, 34.597299074966124), (19.834638253716975, 34.57713553783266)], [(19.824335112464155, 34.60281788670054), (19.80245862588204, 34.60714297437677)], [(19.838141578435877, 34.579117288324326), (19.816269449201073, 34.59998948295485)], [(19.827756605818966, 34.59602212978889), (19.84985191549187, 34.61233095446803)], [(19.819945499711505, 34.57070198632481), (19.810796722359363, 34.55153390857791)], [(19.835422624703693, 34.56663658749969), (19.84211144796833, 34.56112599872581)], [(19.821532251537672, 34.58133910614914), (19.7993529278607, 34.583153908661224)], [(19.863470652968175, 34.59042544733469), (19.87068756135864, 34.5744474799377)], [(19.824437443982536, 34.5992140525788), (19.845623849366156, 34.61196027652236)], [(19.832386309883145, 34.576019573845585), (19.818918908266564, 34.583808947625144)], [(19.82952099877992, 34.58675735745693), (19.833063890152882, 34.576771796221415)], [(19.822830273532702, 34.59060618395275), (19.833177993658786, 34.565931386846636)], [(19.84673339354129, 34.60312553474753), (19.868061688342422, 34.59128451640229)], [(19.860248883775814, 34.604149139491106), (19.87001996957681, 34.61629600928974)], [(19.82954604221084, 34.57142327967412), (19.83549954304909, 34.55339784481341)], [(19.83047555556771, 34.567218218675926), (19.834089592763426, 34.58557239339348)], [(19.8336638784771, 34.58731964134183), (19.810123148265628, 34.58160795850909)], [(19.856961597746054, 34.572210591075525), (19.845485675934867, 34.568480303468576)], [(19.82913582542188, 34.595919297268516), (19.84038716914776, 34.588226675518875)], [(19.829042474692827, 34.59090267357278), (19.81420352803036, 34.58576224528702)], [(19.852587576064156, 34.57938507780434), (19.837781462705863, 34.58518722742111)], [(19.81738905009933, 34.589101844665834), (19.838567591860627, 34.58529729740725)], [(19.81522126122346, 34.60048184255409), (19.831630657453115, 34.57900587259991)], [(19.836983184200218, 34.56759448084866), (19.815791326046984, 34.57809999902978)], [(19.841110699323124, 34.57007765655291), (19.82666501833102, 34.59327941352239)], [(19.81418827774882, 34.58724146047187), (19.82114343458634, 34.593463296351466)], [(19.81590809269901, 34.57962678035564), (19.82359273323923, 34.59895492842197)], [(19.85644157530007, 34.56964121955412), (19.837526111331382, 34.55751044220701)], [(19.824923643767086, 34.59619053097671), (19.847944466167903, 34.58698609405265)], [(19.858850094927533, 34.58790743584929), (19.85981114363975, 34.60436592000378)], [(19.840994061554312, 34.5702345488768), (19.856666066195885, 34.5909160387309)], [(19.844473010153404, 34.57373708282569), (19.84985136574482, 34.55545134210794)], [(19.862565691196256, 34.57119922137006), (19.842183521550893, 34.56162883572436)], [(19.82580331831397, 34.57766866005548), (19.815201568008717, 34.59567681082293)], [(19.82256773584722, 34.60310951949664), (19.825447590741124, 34.625895724210615)] + CALL_367@GraphGeneration.gov + CALL_367 + + + CALR + [(124.50848572999426, 42.066073706563515), (124.48686693460857, 42.04795321659233)], [(124.52987320897054, 42.07353400626101), (124.54693118679721, 42.0794130055177)], [(124.51842995710369, 42.054702818878994), (124.5376264827995, 42.07723021204883)], [(124.51532764511931, 42.04787380576922), (124.49978298857715, 42.05531692083052)], [(124.49293634333578, 42.06942897062261), (124.49694533528393, 42.09042101343851)], [(124.53178808735615, 42.07523103796555), (124.55449788041174, 42.05731687748771)], [(124.51686446652565, 42.05849346171109), (124.5337280103844, 42.04083874688373)], [(124.51788725961362, 42.06949457057277), (124.51655051192007, 42.09218230842682)], [(124.52708523905096, 42.07978381995792), (124.51285770329912, 42.093129220069834)], [(124.49914683031237, 42.047273422261554), (124.47846005412987, 42.037230370145586)], [(124.49398923610362, 42.053120314692784), (124.49690071892121, 42.06534159967974)], [(124.5403496343961, 42.08180589790021), (124.52861488274108, 42.0601288187448)], [(124.50706106864254, 42.043862059901535), (124.48502241012424, 42.04983001044632)], [(124.53059493058909, 42.03863623839841), (124.52807963752477, 42.01711198874787)], [(124.52905197558064, 42.06508353045607), (124.5338261849245, 42.046461502439264)], [(124.50578607660506, 42.0403780933565), (124.48289463965429, 42.05184095887307)], [(124.51449479842333, 42.05348356409095), (124.51557034329028, 42.0747013766578)], [(124.52140199600281, 42.045945272817846), (124.51681206078067, 42.067243145725264)], [(124.53733737279309, 42.06814321693005), (124.54038138754937, 42.05876008800366)], [(124.52367056708746, 42.041103166742445), (124.52639090981955, 42.03003186444742)], [(124.53278749691665, 42.041099334404485), (124.52219785191747, 42.03003881297481)], [(124.53357683622785, 42.07143782970288), (124.53057528392435, 42.083580173129995)], [(124.49606019388855, 42.068134726411465), (124.51636800113371, 42.04870645581869)], [(124.52765996410076, 42.066261345527614), (124.51322310995938, 42.0540385815381)], [(124.51649479977301, 42.083780279984325), (124.52465206539082, 42.10304479112108)], [(124.50491667037669, 42.050083608289), (124.49122552209263, 42.05859648967021)], [(124.52536470952593, 42.04458417234342), (124.53670678799335, 42.030349953746835)], [(124.51439209953578, 42.04240725947916), (124.49103053746023, 42.02320064834136)], [(124.52763538139972, 42.0393630839648), (124.50964732715347, 42.02942319796218)], [(124.53760670100203, 42.04829635764337), (124.52607207591986, 42.023302425964786)], [(124.49511959258898, 42.08062338301098), (124.47413781744508, 42.103531891015045)], [(124.53129439531874, 42.071537183764015), (124.52343864755436, 42.06947955111091)], [(124.5372121157035, 42.08508827512067), (124.56176453719127, 42.08062035511859)], [(124.53663595931222, 42.082437340530625), (124.51257993424701, 42.07236891644276)], [(124.5253090560068, 42.038977855693425), (124.52286221218347, 42.06229239988213)], [(124.49680170342164, 42.04375866695351), (124.50099109342625, 42.0255000014774)], [(124.5334575760381, 42.076403911112294), (124.53731571939261, 42.056213581317756)], [(124.5179595472126, 42.07349142415657), (124.53144842873388, 42.06174795941588)], [(124.49944256525548, 42.083018112939214), (124.50055722428104, 42.060672385902144)], [(124.49797766414426, 42.0591799570033), (124.50685306447129, 42.05641000866705)], [(124.51860125447598, 42.03889102332394), (124.52603736693148, 42.02349016596573)], [(124.49347842509827, 42.07220203193132), (124.48354169391322, 42.08259504689269)], [(124.49770735397371, 42.06584202349276), (124.48036213984076, 42.07634895914037)], [(124.52863329461294, 42.03789088139764), (124.52932208131391, 42.037709789859875)], [(124.5118173724469, 42.05107385115182), (124.52935469025, 42.04667894545307)], [(124.49482192894459, 42.08047870754823), (124.50538718736729, 42.08581707599969)], [(124.49475712982748, 42.06079507430483), (124.48881921675212, 42.06455650059843)], [(124.51958640882164, 42.0489455059176), (124.53080593136913, 42.03716094777987)], [(124.50387025963099, 42.043572286720476), (124.51802897178534, 42.030848152012055)], [(124.5130962607024, 42.06008910625879), (124.50415299276612, 42.046976328183014)] + CALL_459@GraphGeneration.gov + CALL_459 + + + CALR + [(174.4567735413034, 54.274112457475354), (174.47785070010931, 54.25554843471346)], [(174.45409857859076, 54.26477370868535), (174.4484106403143, 54.25022038242897)], [(174.46540093384897, 54.247237902478), (174.44226318065355, 54.24683800448953)], [(174.4381086480643, 54.29261429678802), (174.42046472708188, 54.29847397639615)], [(174.44603538643017, 54.28137372190661), (174.46710722571189, 54.287119843818566)], [(174.45788831604995, 54.250607996962295), (174.47939766716033, 54.27039597748568)], [(174.4548575531646, 54.258798723986864), (174.46772404583004, 54.258915708331465)], [(174.46868279384037, 54.26289256874118), (174.47833897582044, 54.24380401459525)], [(174.4510865950233, 54.25250227284954), (174.44765149896477, 54.22994855591494)], [(174.44113926810186, 54.28695891347293), (174.4474067269478, 54.27501754291717)], [(174.44374867970186, 54.280426829929674), (174.45515769747743, 54.29282536763015)], [(174.44208085192798, 54.246421967125514), (174.42110515229743, 54.23681578063472)], [(174.46384493108013, 54.288247124844375), (174.46064912813492, 54.28557084885546)], [(174.46945852426418, 54.25974179066111), (174.47950298732565, 54.28052740202905)], [(174.43297143842736, 54.262352203643076), (174.43737957236502, 54.257314973705945)], [(174.47163085736733, 54.27075991731782), (174.4499859886377, 54.251975041811555)], [(174.43670163146777, 54.26160947849414), (174.44083470230245, 54.24060984680922)], [(174.4281348839364, 54.27219054644021), (174.4381086504494, 54.281446915922494)], [(174.43652570933037, 54.27591891626516), (174.41398620833633, 54.2842539151489)], [(174.45255878115955, 54.274378182713974), (174.46080026662483, 54.273327946843416)], [(174.4421572974693, 54.28121458716215), (174.43787265306287, 54.272787822953866)], [(174.44066146832398, 54.256144000962465), (174.42641742057057, 54.24473491639072)], [(174.42408081874086, 54.25667057660048), (174.44450987748905, 54.25874084493087)], [(174.441104524938, 54.25931641524202), (174.43545285951706, 54.275752463220044)], [(174.46428918576316, 54.270471415024616), (174.44685892105787, 54.264918570339155)], [(174.4357738857279, 54.25284883078961), (174.42120103671192, 54.24269824135535)], [(174.46060054142978, 54.259509618170135), (174.4846490608211, 54.267432214936775)], [(174.46219551325106, 54.28343949911379), (174.4568182399087, 54.291270612587596)], [(174.4334105088445, 54.28875244424124), (174.43158206149712, 54.301022839132465)], [(174.4370229123145, 54.287559220407026), (174.42807582146062, 54.28567061839737)], [(174.43414243222742, 54.25803606718942), (174.42398470627367, 54.27126485890577)], [(174.4227461302536, 54.24770232437481), (174.44139184573592, 54.255545031285145)], [(174.4630474569057, 54.28495141766739), (174.45749650868464, 54.304301849502885)], [(174.42952813012135, 54.27793927369443), (174.42378135517612, 54.26284579448217)], [(174.45884155994466, 54.25258782108013), (174.4428056736382, 54.2458665127843)], [(174.4446423985016, 54.257360032667535), (174.42458132207884, 54.256965042528805)], [(174.43122708013803, 54.29270918515168), (174.4412682888813, 54.309676147383655)], [(174.4377824513285, 54.29035275457279), (174.4370683871915, 54.28630682543084)], [(174.45433262791943, 54.276162688858015), (174.4776085537817, 54.28491023948506)], [(174.43691411772596, 54.2755341713441), (174.4381488768272, 54.26635008682084)], [(174.44283864546543, 54.27124564249231), (174.43197543654654, 54.26701478417546)], [(174.43651843680033, 54.26766401007526), (174.43197279301074, 54.288763400041674)], [(174.46398909439455, 54.252984344968695), (174.44036694710633, 54.277794909124964)], [(174.45647030099676, 54.270901619914056), (174.44364992889743, 54.27471434507354)], [(174.4559834940466, 54.26546661962926), (174.45979770249758, 54.27305499420365)], [(174.42826129428113, 54.270335063317), (174.42125049777707, 54.28397597530483)], [(174.46092839952203, 54.27891855096083), (174.44763040029096, 54.26874609214373)], [(174.44577826220115, 54.25586413719986), (174.4427045552764, 54.248653618110986)], [(174.4422835067076, 54.278471602787086), (174.44474779229836, 54.27067647091475)], [(174.44451566807172, 54.26171570597695), (174.44358076217222, 54.24164288381219)] + CALL_551@GraphGeneration.gov + CALL_551 + + + CALR + [(4.853223252132057, 79.11795331070952), (4.856242322121045, 79.12375130136884)], [(4.88030252368801, 79.07971534915967), (4.872745652413013, 79.08218890152502)], [(4.852253992717737, 79.09128595851315), (4.85732341797531, 79.10657427807901)], [(4.857199495740483, 79.07359817442631), (4.851675701715662, 79.0877080453865)], [(4.859119896910402, 79.1113916703144), (4.849107547411364, 79.11701101896176)], [(4.88295306116602, 79.1093473767956), (4.9004434679796764, 79.11186656989446)], [(4.895496610869434, 79.09598243098108), (4.870609157449964, 79.07871907809246)], [(4.888746577528391, 79.08064307258185), (4.883442799210801, 79.0669831682764)], [(4.8705433287276545, 79.07617926825922), (4.8804638545172985, 79.05537377025931)], [(4.8743807791490905, 79.0967326343975), (4.865404847622412, 79.1082064491411)], [(4.897438049233262, 79.07429508296318), (4.877392191954624, 79.06244418119066)], [(4.866762629045513, 79.09370567813484), (4.8656291142626085, 79.10252178770119)], [(4.895185180295999, 79.0879118140684), (4.8707861848748575, 79.0980750887419)], [(4.866082268713711, 79.10714335719967), (4.866421954633291, 79.08951020432207)], [(4.879211942646426, 79.11690545459588), (4.859648616017665, 79.09882093625798)], [(4.851720291386951, 79.07343095374655), (4.857118472549581, 79.06436200384373)], [(4.858689862855605, 79.08193576883478), (4.850599071727597, 79.08633203099403)], [(4.883334677410399, 79.10726080864536), (4.86502222265436, 79.11114758134727)], [(4.85230956639275, 79.07707661021729), (4.85090914199783, 79.07682739862213)], [(4.889196429843278, 79.09104093092759), (4.878157693366937, 79.10795875192922)], [(4.867662398962214, 79.09787358968242), (4.863075321163318, 79.11615226606142)], [(4.86845483562353, 79.11266214556572), (4.8791641054055015, 79.12231222288729)], [(4.869137979581447, 79.0959958190467), (4.85549374355211, 79.07567942632264)], [(4.885500612591844, 79.10384702689751), (4.88705245130789, 79.09855702828304)], [(4.871099035176493, 79.07347517925923), (4.877245291811854, 79.07253519481705)], [(4.899449517696398, 79.08192636540466), (4.887661745074179, 79.08314089430087)], [(4.879085609730132, 79.07936849745577), (4.871398410486065, 79.05757803737104)], [(4.872170380503046, 79.0820121622043), (4.855573323133909, 79.06922650064544)], [(4.894173770570568, 79.1119408354383), (4.907985580128089, 79.1362436885335)], [(4.882217844142108, 79.09222377091719), (4.873103161517373, 79.0712587190597)], [(4.85774339336028, 79.10260983554973), (4.8550632873409105, 79.11317880416517)], [(4.866544073520899, 79.09949951309983), (4.88446758154535, 79.09391025106999)], [(4.881291972960423, 79.07373848516895), (4.86166901375101, 79.09085507537894)], [(4.853948866740883, 79.11946869011764), (4.839721060250755, 79.09850277748899)], [(4.869973895500317, 79.09884058597743), (4.870018632458229, 79.09816495786934)], [(4.887989995416144, 79.11884440092656), (4.903309888534692, 79.13931634105444)], [(4.8543602623809115, 79.11607386614564), (4.829874364409566, 79.11126114161664)], [(4.868980662168435, 79.07311811435767), (4.855672615632869, 79.08840835315496)], [(4.901046487737085, 79.10035022075658), (4.910106682863485, 79.08673798406817)], [(4.885782886895641, 79.11128948191462), (4.907176517180586, 79.13377924065757)], [(4.877111654895226, 79.08322983408381), (4.8819966416791845, 79.0707580597406)], [(4.865439655139955, 79.10857940734738), (4.843140938835137, 79.12690647962874)], [(4.851963054864562, 79.10202833839503), (4.838904814286317, 79.08168244543876)], [(4.886117947793754, 79.11405434741394), (4.873615490513426, 79.11203785175809)], [(4.864797151866785, 79.1163749410419), (4.8701892109707945, 79.13639262338765)], [(4.8743110258096305, 79.09749480505778), (4.881793286125878, 79.09991351460484)], [(4.897401015070974, 79.08631717888919), (4.89928960353782, 79.08941056615465)], [(4.881920895630835, 79.11955697195857), (4.899378273864393, 79.14314266053093)], [(4.90020952852469, 79.08985241593331), (4.893874255063181, 79.08976813499287)], [(4.86084758990378, 79.11814544806268), (4.879401681535536, 79.12686601535418)] + CALL_643@GraphGeneration.gov + CALL_643 + + + CALR + [(82.52361102919592, 83.10389280140221), (82.516411985999, 83.09578849220738)], [(82.53754216501342, 83.11661199892129), (82.5611586402167, 83.12983649990558)], [(82.52492415527206, 83.10050092750402), (82.54886704667821, 83.07837505637764)], [(82.53986385939002, 83.12856807971131), (82.56132148372426, 83.13303693362487)], [(82.5077400878703, 83.09781162979593), (82.50739872076421, 83.11770495552398)], [(82.5245612411131, 83.08882466495034), (82.53945077428983, 83.10639060285723)], [(82.49635268357086, 83.13123374643428), (82.47449652576677, 83.12782859522264)], [(82.537518338644, 83.09803094886468), (82.52964380012995, 83.1082349227136)], [(82.51254680010815, 83.10503314795059), (82.53620622186101, 83.08130488414908)], [(82.50067836098503, 83.1301713293719), (82.52395297145895, 83.1157949127999)], [(82.53811723814113, 83.11678748657644), (82.52033907626786, 83.13886997373163)], [(82.50145885256254, 83.12690494143234), (82.51426259496287, 83.1102456717486)], [(82.53080816740727, 83.12230264899583), (82.51428464764096, 83.12971169586633)], [(82.53085541575228, 83.11140731310988), (82.54909145715601, 83.0925107885756)], [(82.52923464773669, 83.09453049432271), (82.50914191535254, 83.07813153183818)], [(82.49679534696747, 83.09018849259259), (82.50995377731202, 83.1141288494043)], [(82.50341979884053, 83.1197003347103), (82.4886509639344, 83.1397195065083)], [(82.50391585852547, 83.12615520159528), (82.48466030218452, 83.11987409020175)], [(82.54237713076556, 83.12754090730765), (82.53269217008966, 83.11932533185318)], [(82.50629469117395, 83.13233323209761), (82.51015568934848, 83.10781035899609)], [(82.51442215012474, 83.1258786804849), (82.49518890139056, 83.11258973545462)], [(82.50664436412791, 83.10220697469937), (82.52615481679098, 83.08589104935137)], [(82.52128849430201, 83.11462809156781), (82.5361797511441, 83.13781652772978)], [(82.50824980054641, 83.09924975050806), (82.5137853546769, 83.11590846067328)], [(82.53912135252979, 83.12060315860973), (82.51860818216343, 83.10181976801171)], [(82.52514253064321, 83.09787802449704), (82.50628875443276, 83.100844739804)], [(82.5224444419358, 83.11599827757861), (82.54529608282101, 83.12111362254872)], [(82.49921163175591, 83.11717074967656), (82.50777397416351, 83.09390899497866)], [(82.53656558778889, 83.13159172712784), (82.54298687661283, 83.11121414979861)], [(82.50843456677232, 83.09896710625114), (82.50169952618313, 83.10414671688906)], [(82.52359142208972, 83.12057710734246), (82.51320808123715, 83.13598802800567)], [(82.52926858908, 83.12533124156937), (82.53211861347768, 83.14676749175044)], [(82.53773175978502, 83.12206588098272), (82.51446080119835, 83.12686500705573)], [(82.53207765694457, 83.12204702254347), (82.55517629471161, 83.13066123634064)], [(82.50755614758636, 83.1160191553925), (82.49039945854928, 83.14015846839833)], [(82.54184073454451, 83.09708228775848), (82.52143444781788, 83.10125204098317)], [(82.53371922817036, 83.11794417383523), (82.52518264047643, 83.09515616363373)], [(82.49356933672037, 83.1335481924971), (82.48435261272924, 83.13570594808743)], [(82.50295367073032, 83.11100382877818), (82.52081184507648, 83.1131762394587)], [(82.49415243708515, 83.11405426873647), (82.47757072311822, 83.12934405658864)], [(82.51932747968725, 83.10713941747717), (82.52077877860039, 83.13179070422126)], [(82.53969051886058, 83.11411104829968), (82.56340893935838, 83.12742282148726)], [(82.49759734398901, 83.11188239449838), (82.50749597819447, 83.09289074568439)], [(82.50804630900926, 83.12858677415568), (82.52980115264896, 83.11803659887718)], [(82.50258880027876, 83.09865040453889), (82.50245015330124, 83.10868884635858)], [(82.53339621741938, 83.10269870695275), (82.53410255046683, 83.11968826992693)], [(82.49666987806101, 83.08730351226), (82.49722293724817, 83.0961045669241)], [(82.5132063739125, 83.11960360948073), (82.50976616917293, 83.11585395500873)], [(82.51760549620566, 83.09457926578492), (82.50555310641579, 83.08020872380415)], [(82.51408241791191, 83.0991198129039), (82.49469730264602, 83.09428306200658)] + CALL_735@GraphGeneration.gov + CALL_735 + + + CALR + [(192.08546569879817, 78.60510511221189), (192.07123371013847, 78.60000716422012)], [(192.09610139735537, 78.61610733603709), (192.09469836095764, 78.61896162470379)], [(192.09762985767853, 78.6315900642175), (192.09431577517466, 78.62946286263576)], [(192.10260031493814, 78.60650111046795), (192.11359321330875, 78.61358862567971)], [(192.0899820600547, 78.63184629994575), (192.07273198906233, 78.65607538882793)], [(192.08937358488382, 78.62092389399564), (192.09889116439118, 78.64055593719887)], [(192.07870156747452, 78.61420383845797), (192.08916881178197, 78.63131827327105)], [(192.07488441904388, 78.590075132047), (192.05037106051574, 78.57329137099975)], [(192.0763572001301, 78.60695104414583), (192.05324338706203, 78.60035847703497)], [(192.11072319780132, 78.63079988687244), (192.11677210514253, 78.62952116668949)], [(192.08817155172747, 78.61787918386764), (192.06766784946413, 78.61947882529623)], [(192.07276824389763, 78.6319614503797), (192.0613378744377, 78.63453899852198)], [(192.10381580364853, 78.60898996675208), (192.09626124479811, 78.61031116528868)], [(192.10395450472373, 78.62153408919077), (192.0909349619146, 78.63492675541772)], [(192.10476946444203, 78.59450691766287), (192.11366378574803, 78.61556131568048)], [(192.09593235174856, 78.59237628715313), (192.10841700174646, 78.61621416611935)], [(192.10990088711512, 78.60174042242612), (192.09870663915476, 78.59768023225621)], [(192.1071558568998, 78.6213053138899), (192.13097743679404, 78.6082836866832)], [(192.1015374175552, 78.63012857518507), (192.1164617632354, 78.62796361466944)], [(192.1079201052246, 78.5884915690817), (192.10345667401432, 78.56621551659877)], [(192.10452656936093, 78.61140197434196), (192.08739783267416, 78.62948518506664)], [(192.06856754078493, 78.6235102055557), (192.04688623938793, 78.6183396908248)], [(192.09765270124848, 78.62871420545068), (192.10093567806558, 78.6341861987199)], [(192.079644333334, 78.6016859825485), (192.10332486174607, 78.60506360374917)], [(192.06954400629886, 78.60176566683842), (192.0702369032973, 78.62391690898151)], [(192.08597759819773, 78.6074544912121), (192.07681841649466, 78.61556865677724)], [(192.0880598706291, 78.58704322266428), (192.0887911406485, 78.56500887607939)], [(192.08090600391714, 78.63084980439652), (192.0815087642584, 78.61397242394975)], [(192.07831235265326, 78.60775521984095), (192.06607884393551, 78.62279666429993)], [(192.098984861149, 78.62741606500741), (192.11386551002875, 78.60259987965996)], [(192.0951094265325, 78.60193886348812), (192.07782774273545, 78.62453047837681)], [(192.06634197979793, 78.60108484149406), (192.05126442876139, 78.59062939827832)], [(192.10405681294043, 78.61238567580047), (192.12332983635292, 78.63132611007879)], [(192.06849797905747, 78.60021624222787), (192.08952968552103, 78.58993104970747)], [(192.1078632458154, 78.58619075183155), (192.1273086527267, 78.5891875517945)], [(192.0999090533286, 78.63133689496476), (192.0992425915629, 78.60651564580004)], [(192.07629981790834, 78.61346968476278), (192.10028721245507, 78.63459723814199)], [(192.09501995991673, 78.6131289768706), (192.08835366618445, 78.61563541779829)], [(192.0831460274353, 78.61875496062797), (192.05885270482807, 78.60879130351795)], [(192.08745749061538, 78.58739158047455), (192.11069454718395, 78.60537909569707)], [(192.10552685297276, 78.58775874230405), (192.12353500593272, 78.5827082997049)], [(192.0942336662811, 78.62823461649927), (192.08748872644696, 78.61632364901341)], [(192.08879191444663, 78.60020745202324), (192.10008136826474, 78.59568197200346)], [(192.0824983615426, 78.62328779046676), (192.10386540764247, 78.6082705886804)], [(192.1140613603528, 78.59884900479551), (192.09301135797185, 78.59831571729508)], [(192.06520294786034, 78.59569284608699), (192.0468921048811, 78.60310506535959)], [(192.0949494101089, 78.59615956918184), (192.10396007393643, 78.59226450036398)], [(192.076218693648, 78.62280109459299), (192.08611325529787, 78.60489040316567)], [(192.11004756845244, 78.58676344364433), (192.1055013132556, 78.57985795594708)], [(192.06612782823439, 78.63223563657756), (192.08128580121084, 78.60986644688674)] + CALL_827@GraphGeneration.gov + CALL_827 + + + CALR + [(20.21939982775638, 91.39141797573832), (20.23150814486353, 91.38750134465754)], [(20.21576887793793, 91.36767399653544), (20.21176880660616, 91.36773584682392)], [(20.244260858742507, 91.36051944952044), (20.25400804231537, 91.35787017928044)], [(20.217403937081034, 91.35208400767499), (20.238692811143558, 91.3442375481992)], [(20.258929590159, 91.38663590469024), (20.244400787141537, 91.38784359963238)], [(20.215734591773614, 91.38189665431798), (20.22031641333457, 91.37366882292463)], [(20.225763388463395, 91.358593350031), (20.239384069500368, 91.33465726520865)], [(20.248751373539314, 91.37850453713789), (20.2595676649505, 91.39365873065621)], [(20.22298972574979, 91.36925554814489), (20.24323749992182, 91.36634835980581)], [(20.216211487675864, 91.35772478980276), (20.195276785035023, 91.3577893040174)], [(20.21595554123877, 91.36942305337813), (20.20918240611153, 91.35807991514525)], [(20.24832469128817, 91.37005609731251), (20.267210764127306, 91.36191694080999)], [(20.24586380585014, 91.35658272095262), (20.257271969053413, 91.36016201988113)], [(20.233071183905363, 91.35670493718699), (20.211838850553118, 91.33443079724893)], [(20.217807115975297, 91.35821237660844), (20.19701055402714, 91.35708376890385)], [(20.238756713646154, 91.38344309775616), (20.226743719180924, 91.36692543869181)], [(20.256535462204624, 91.37615617506007), (20.263499750901254, 91.40006511817218)], [(20.228659989080906, 91.37875035721827), (20.23992417609416, 91.3976169130713)], [(20.230013901105416, 91.36320089306409), (20.21279337647675, 91.36347639680102)], [(20.253745086895364, 91.35962571674276), (20.228792763824483, 91.3536942682094)], [(20.258098945357002, 91.37041959238337), (20.264186318475723, 91.39013724278766)], [(20.24322729943394, 91.36679729796188), (20.221923853060723, 91.35513794548172)], [(20.250668519427805, 91.35430951594087), (20.22985106092675, 91.33722753157541)], [(20.258552348424608, 91.385787049407), (20.262574557701694, 91.39917726320121)], [(20.21925994895597, 91.39625591415476), (20.202335301333605, 91.41522305988148)], [(20.24229467664211, 91.37017919787397), (20.238436745152768, 91.3843103433066)], [(20.249845596659373, 91.3733872083857), (20.2312772683764, 91.36104017594141)], [(20.248014889734343, 91.37557625814009), (20.254122881554647, 91.37361962436435)], [(20.239828627645164, 91.35784582091277), (20.264311043708247, 91.35878461020853)], [(20.24580536718601, 91.39634985501411), (20.236558141861824, 91.41345945380232)], [(20.225156997626197, 91.35967284354042), (20.248167904153224, 91.33967806741524)], [(20.231331774948924, 91.36258797972904), (20.21961644771753, 91.37464598566622)], [(20.215304054956576, 91.37183961312022), (20.207789997687176, 91.36317037157261)], [(20.235030121037383, 91.38636088457035), (20.21983124855028, 91.36326415670302)], [(20.238561405776373, 91.37736600926218), (20.21959435894292, 91.35347878734703)], [(20.222663868205355, 91.39169704935185), (20.22065331634129, 91.39995020425224)], [(20.238998521830208, 91.3591356557116), (20.24740264088347, 91.35170289189846)], [(20.2516926721801, 91.35862823964085), (20.237290869526802, 91.34474340667936)], [(20.25993954017645, 91.35551714933868), (20.246261764970704, 91.34180943573267)], [(20.236074284964324, 91.35174530980368), (20.22080916966155, 91.37672019581919)], [(20.237550171805463, 91.39248996384758), (20.238721144426904, 91.37501849527509)], [(20.227994112127995, 91.39250666917978), (20.243377619442402, 91.39912672410333)], [(20.246852248857877, 91.37492479255513), (20.23532092118981, 91.35630067714408)], [(20.246088307715755, 91.38962010145242), (20.224941838659973, 91.39304042650919)], [(20.244780055048956, 91.38739895168618), (20.225826032880263, 91.39664871920526)], [(20.220394866430336, 91.3826813462492), (20.201516463930524, 91.37854360528493)], [(20.232066599824226, 91.3566184717213), (20.212029395995803, 91.3498710422738)], [(20.21791083669612, 91.3724936207127), (20.22297917020732, 91.37666919856925)], [(20.244166265640025, 91.38385603938738), (20.220763800368786, 91.36294446335161)], [(20.235805337664235, 91.38618800932932), (20.244123810646105, 91.39483206142393)] + CALL_919@GraphGeneration.gov + CALL_919 + + + CALR + [(82.64418134106678, 113.13206332585324), (82.62425735532699, 113.13570195443883)], [(82.65133861835676, 113.12916562816423), (82.64384634676554, 113.14856572726822)], [(82.65488220016009, 113.14312752345793), (82.64509594799095, 113.13265815910196)], [(82.66001626395983, 113.1371203606457), (82.65218710966798, 113.12106193242244)], [(82.66677175746815, 113.1270015962191), (82.67320691120172, 113.11364781225072)], [(82.64457207510584, 113.13528085888161), (82.61996240226449, 113.12386031949666)], [(82.64946868561091, 113.15472660246833), (82.6708308771591, 113.1592721620022)], [(82.66265394973605, 113.11831910276555), (82.65289327350102, 113.10057456811474)], [(82.6314952834203, 113.12676236476683), (82.64300587193765, 113.11612939958684)], [(82.66416241792446, 113.15734590087136), (82.64376770491211, 113.15391471417055)], [(82.67944496196704, 113.12054837322333), (82.67300993651581, 113.1084312482038)], [(82.64120291668384, 113.13938230862385), (82.64486999493793, 113.12175689080502)], [(82.66598656017274, 113.1175451329631), (82.66396375516987, 113.10890643303144)], [(82.67522431588526, 113.12529447985065), (82.6876503833671, 113.1119872245896)], [(82.66773558832273, 113.15236090301894), (82.64623713127233, 113.16857553301243)], [(82.65454105076086, 113.12522625406811), (82.65357711367011, 113.14609298286184)], [(82.67319399002005, 113.1586514451317), (82.67478668658339, 113.16970681108752)], [(82.65254355552044, 113.14611815365205), (82.67476254700615, 113.16067646090983)], [(82.65158994196224, 113.11715741863893), (82.63626783305541, 113.1107241895498)], [(82.66938471303372, 113.15673831113011), (82.68295792464355, 113.1511396647529)], [(82.63138316526356, 113.13298041571548), (82.62350664672243, 113.1220171121205)], [(82.65518525122604, 113.14533101949874), (82.65973497565685, 113.1439066896416)], [(82.6757743733462, 113.13463335644123), (82.6628361763466, 113.13388464677678)], [(82.66811858872215, 113.15538051373278), (82.6822904461249, 113.15541563623538)], [(82.67538312313472, 113.12646466056191), (82.65703907710356, 113.12113296017469)], [(82.6391476267401, 113.12539630513544), (82.65121253716737, 113.11608869338356)], [(82.64540167865533, 113.11713670460342), (82.63085434064972, 113.11058947063722)], [(82.6358235803336, 113.13959818306434), (82.64588140434634, 113.11694915167524)], [(82.6502291298092, 113.13555832905475), (82.6602181847698, 113.1107176826912)], [(82.6615913878421, 113.15786841804207), (82.64731115710102, 113.17736899464516)], [(82.63958752497132, 113.12298119729618), (82.62530657386708, 113.13764797268341)], [(82.63057739504394, 113.11308425063692), (82.6507142715913, 113.13049487336022)], [(82.64166808073752, 113.14047226359587), (82.64971147457257, 113.13891863265648)], [(82.65759843232266, 113.1334388604072), (82.64949323648626, 113.12619958506899)], [(82.65538856515026, 113.13896050937262), (82.67351286704243, 113.1426929882265)], [(82.63382659940885, 113.15487620122758), (82.65253974216279, 113.17515139389114)], [(82.63243048080082, 113.1527048196905), (82.61437162363326, 113.12983661854724)], [(82.6394097488181, 113.1554067811811), (82.62528818445865, 113.13099788079644)], [(82.63346818935041, 113.11411937184603), (82.65264524397124, 113.09140128069416)], [(82.67930229175506, 113.1228737905899), (82.66092204711504, 113.13324372651066)], [(82.64676147298142, 113.14590967011395), (82.66275645356856, 113.13855130313584)], [(82.64181776790407, 113.12000287949289), (82.62019357969885, 113.09524720667248)], [(82.66303203779346, 113.146850469287), (82.65651709985332, 113.14616552822262)], [(82.63385565371395, 113.14250246486553), (82.6401901394979, 113.13858840230594)], [(82.64608333337787, 113.12462585035118), (82.63963391807977, 113.11934593216138)], [(82.65302111432779, 113.1374037644042), (82.64931624215819, 113.12280156670327)], [(82.66035812574717, 113.11318561707084), (82.66337699167589, 113.12391918540789)], [(82.67112435874539, 113.14118703872226), (82.66710242536173, 113.11812187500455)], [(82.64950494424241, 113.12040439687382), (82.63080277406156, 113.1031905262493)], [(82.66977452053793, 113.12762824348648), (82.69109562731926, 113.12716442939882)] + CALL_1011@GraphGeneration.gov + CALL_1011 + + + CALR + [(193.34626298554167, 102.27696147845971), (193.3506165573307, 102.28436838386088)], [(193.3415185884503, 102.2713620254902), (193.34983688394635, 102.28835200490131)], [(193.32485374120725, 102.291494985708), (193.3049678659528, 102.29697767206343)], [(193.3619483152898, 102.27894399986967), (193.35661250078513, 102.2697599215791)], [(193.31958263226622, 102.29792827390139), (193.3008411050449, 102.28943307258776)], [(193.36534085603392, 102.29532146576888), (193.37947302134478, 102.2746224857203)], [(193.32010778593914, 102.30304724053995), (193.33240657552224, 102.2887989144404)], [(193.34875224441444, 102.29932106172811), (193.35838540214792, 102.30790894464977)], [(193.35610702283148, 102.27485289057694), (193.37329019836628, 102.26356876751395)], [(193.35766233628314, 102.30599930135642), (193.37269331384084, 102.30533136902129)], [(193.35487884781745, 102.27567163349126), (193.3487752403035, 102.29961541744716)], [(193.35128325129995, 102.29497255213626), (193.34765552530612, 102.31666994267619)], [(193.35869242135269, 102.3132327671399), (193.34930565367438, 102.28954537418853)], [(193.33101622594975, 102.27566374535915), (193.30604655070942, 102.26664996904162)], [(193.3399769666774, 102.28519511426134), (193.34195925509593, 102.29052658574238)], [(193.32423973116553, 102.29769606667962), (193.34782028053806, 102.29501653806172)], [(193.31818705519896, 102.31124321645238), (193.30702089466976, 102.28670950779401)], [(193.35391195969086, 102.27960512238951), (193.36557172117793, 102.28609838116367)], [(193.318740110107, 102.30861101002684), (193.29665010648768, 102.3280408839998)], [(193.36260015506073, 102.29528123920822), (193.34722759268337, 102.28131841747073)], [(193.3187242382402, 102.2896990502145), (193.34192071905153, 102.27870186619381)], [(193.35539586520028, 102.30831439128369), (193.36748414296562, 102.31197219568534)], [(193.32675179134426, 102.29412397023589), (193.33959571334088, 102.3123079523544)], [(193.36383281501122, 102.27648508304192), (193.3643491655515, 102.25940817529849)], [(193.32603378166877, 102.31504771927275), (193.32870015823033, 102.31483141730241)], [(193.36065976914213, 102.29645593487652), (193.3811602295356, 102.30909494069336)], [(193.3561002112274, 102.28953113992019), (193.34050466694876, 102.29861313361859)], [(193.33137944995687, 102.29129861059921), (193.35006257239442, 102.27820483498029)], [(193.35228014178819, 102.31987289263807), (193.3539647703318, 102.31067594330635)], [(193.36197991376102, 102.31038107375862), (193.38127121661213, 102.31171548475385)], [(193.3197163893859, 102.28668445117293), (193.3338755567143, 102.30228402280594)], [(193.3190543104732, 102.286501992188), (193.30482018331347, 102.29199692367375)], [(193.35431417630394, 102.29812460520446), (193.365088576887, 102.27636171295028)], [(193.32215208872086, 102.29677111280502), (193.32763930030313, 102.32075280153974)], [(193.3561825734436, 102.29724305544767), (193.37125863193546, 102.30056587755517)], [(193.32964538337046, 102.2775335024697), (193.31288466900244, 102.26315158759878)], [(193.3580647374825, 102.27806537979396), (193.3672364031838, 102.2963219299004)], [(193.35926874178816, 102.31097753676275), (193.3608514194517, 102.30805339437717)], [(193.3192195107217, 102.31641750827914), (193.34015005359845, 102.3329146749252)], [(193.33096072022448, 102.27417116807254), (193.32669202703818, 102.28610231076335)], [(193.31694471943948, 102.30879936727462), (193.3273461015083, 102.29770820583539)], [(193.32860253027667, 102.27283834938042), (193.31402374571772, 102.28632657593772)], [(193.34711425656673, 102.2973994067249), (193.32703710653593, 102.31960210795341)], [(193.33883131365337, 102.32001413722183), (193.35475151387593, 102.30877798920477)], [(193.34558479077816, 102.3021087953263), (193.32792796523478, 102.30191175969154)], [(193.34557155998064, 102.32020461930475), (193.34708869795605, 102.29770164415457)], [(193.32723610518602, 102.31328431264068), (193.3074191933992, 102.3280931268774)], [(193.34301752182213, 102.31737343837808), (193.35845088398375, 102.29823766956045)], [(193.33257876320343, 102.31083776296386), (193.31062511719466, 102.29638807571406)], [(193.32831358665425, 102.27819264691152), (193.3068774480775, 102.29372209188266)] + CALL_1103@GraphGeneration.gov + CALL_1103 + + + CALR + [(0.7324907664218324, 139.2583942272766), (0.7134738343143134, 139.2833350059802)], [(0.7671775491930368, 139.24377902671463), (0.7869780326878775, 139.25575423853084)], [(0.7324705629890134, 139.23273630426925), (0.7490224385279208, 139.255363854424)], [(0.7652804948747125, 139.26912667734928), (0.7510308628380669, 139.25135177680207)], [(0.7745259546055573, 139.26374526446625), (0.7882828528363669, 139.26312614867723)], [(0.7547289189538, 139.26317790429363), (0.7364053412480835, 139.24138135986286)], [(0.7723944454660583, 139.27800674265316), (0.7541320788306667, 139.2781139108078)], [(0.7276182926919902, 139.26939015202183), (0.7508726032461857, 139.25107219846836)], [(0.7275155690738495, 139.2435926045723), (0.7183262815989387, 139.26130083565536)], [(0.7407567375484813, 139.26818535145924), (0.7196136342097391, 139.2776349229235)], [(0.7575796664588562, 139.232401189968), (0.7498314580056261, 139.24067315291038)], [(0.7467320822099476, 139.2429650466579), (0.7459931986323393, 139.23780229839426)], [(0.733690129737558, 139.26790380218907), (0.7261493658620821, 139.2912719334829)], [(0.7515303492889918, 139.2413476024279), (0.7691189798743828, 139.24672012771782)], [(0.7622906414838104, 139.23267407091035), (0.7777317230808715, 139.24930727429356)], [(0.7327614276129318, 139.24706226446727), (0.7306596685935663, 139.24840043172784)], [(0.7696651629392278, 139.24912766506543), (0.746315800975011, 139.26487250869704)], [(0.7731373502634132, 139.2550832538014), (0.7550597944332926, 139.2434575188854)], [(0.7624454370652469, 139.23478541006858), (0.7789199341513771, 139.22186900147918)], [(0.7448723063050847, 139.2717740679163), (0.7317971156812768, 139.2914613079341)], [(0.7360473369790292, 139.23917542302064), (0.7503370031336914, 139.21602150238886)], [(0.7350932065058879, 139.2670337601436), (0.7283483835093678, 139.24291785945402)], [(0.771156971807563, 139.245314881996), (0.7765854930401842, 139.23782861973518)], [(0.7386681366017189, 139.23468569389522), (0.7179695238109911, 139.2379473117476)], [(0.7637249078151567, 139.2473727432281), (0.7462580044930661, 139.23362222482547)], [(0.7478238960418085, 139.23268665742842), (0.7411298320016352, 139.21117856409006)], [(0.7478441371670141, 139.23979325038658), (0.7267282755109148, 139.25543705289553)], [(0.7370404318375701, 139.27080279532), (0.7380833857505313, 139.28571744116732)], [(0.7603331245497111, 139.26258037457148), (0.7566513325423598, 139.2637085770383)], [(0.7413821791386754, 139.25960852502817), (0.7446321913364614, 139.2518214797215)], [(0.7664859513588327, 139.28017238118656), (0.7775102913688593, 139.288302411973)], [(0.7566707059980328, 139.24822003241295), (0.7594567490211244, 139.26812637880712)], [(0.734259445034514, 139.2616815440545), (0.7283850853572658, 139.2819532122258)], [(0.7543093354568241, 139.2681886530151), (0.7764470585320472, 139.25554974024544)], [(0.7251752975438889, 139.26948759114867), (0.7143788657903427, 139.2603387733996)], [(0.7625304714552, 139.2640948419842), (0.7494369124168672, 139.24434902689077)], [(0.7669091998100623, 139.24423257109356), (0.7625286547152279, 139.25802624620997)], [(0.7447030539344065, 139.26959659849723), (0.7505638698909897, 139.26908529452504)], [(0.7609262563824757, 139.280926363295), (0.7804856149710466, 139.27317292331267)], [(0.7621682558467469, 139.2330861671268), (0.7463244975809157, 139.2464259052237)], [(0.7455233028443202, 139.2453043848328), (0.7459083313913153, 139.24566143494985)], [(0.7256300603988367, 139.25635278233517), (0.743483932611509, 139.25109490117822)], [(0.758913843324082, 139.26212870462726), (0.748698041154107, 139.259891411311)], [(0.7528965916616215, 139.24016508422255), (0.7616536897951544, 139.26362592536148)], [(0.7492746059093998, 139.27742020807213), (0.7572918539663918, 139.293873170204)], [(0.7665406249492254, 139.2394384608378), (0.7901837216052044, 139.2222575707196)], [(0.7610153360054952, 139.23227728641356), (0.7577706825928554, 139.25489283184433)], [(0.7285318908172029, 139.2681030692371), (0.733475456559945, 139.29026842089502)], [(0.7496065934419713, 139.23543062136847), (0.748488806048652, 139.24967895985426)], [(0.7655402941999753, 139.2553396674378), (0.753427871035592, 139.24187645067082)] + CALL_1195@GraphGeneration.gov + CALL_1195 + + + CALR + [(112.0575172891964, 117.30390056090442), (112.0427324141244, 117.28171914380235)], [(112.07508417820883, 117.27920985704552), (112.08394359981828, 117.29858953575008)], [(112.09547336370296, 117.29931006126603), (112.08615399808318, 117.29553531798321)], [(112.07591679575685, 117.30112764172196), (112.07988109112362, 117.29207685883063)], [(112.06432030851879, 117.28856928295902), (112.07477488163597, 117.27263277172857)], [(112.094396561351, 117.30289665816426), (112.11905986826632, 117.31706860258319)], [(112.0855308958429, 117.31733696500451), (112.10786607795332, 117.31762225195064)], [(112.07861244057884, 117.28001391521585), (112.05583385450619, 117.29486842786943)], [(112.07074113371016, 117.30977898758668), (112.04727361834205, 117.31500509050959)], [(112.07888021439977, 117.29059870786894), (112.06045592912702, 117.29294661205368)], [(112.06479363790284, 117.3045181808679), (112.04879494231403, 117.3077929635474)], [(112.0800532106261, 117.27232440382825), (112.05543518224738, 117.27177587250873)], [(112.08841386279127, 117.27799200616136), (112.06638437089447, 117.29742887498378)], [(112.05778767966076, 117.29259741877519), (112.04329470791735, 117.29941967125008)], [(112.07672641916102, 117.29041910074828), (112.09641065014523, 117.31076216872198)], [(112.08728001633506, 117.29591696203768), (112.11187225931445, 117.29758016306562)], [(112.09864016172284, 117.31218608395908), (112.10955438334533, 117.28894719371623)], [(112.08313832702024, 117.27598681149985), (112.10124091514669, 117.27815089388577)], [(112.07092756002278, 117.30728852613333), (112.0690704240774, 117.31258116106139)], [(112.07045210036362, 117.30686449669183), (112.05505050145895, 117.3009140899639)], [(112.09657209192187, 117.3076223960985), (112.1105738415972, 117.28517203460413)], [(112.09165452306335, 117.27783579554017), (112.07099388263855, 117.28315988754683)], [(112.06323692108786, 117.30524487152125), (112.06205736771061, 117.29053917237827)], [(112.06709233906498, 117.282222819763), (112.07704794172673, 117.26409795393761)], [(112.05863744486653, 117.28349900874072), (112.04942161561145, 117.27197478735684)], [(112.09621173259966, 117.27909326142704), (112.11608150067592, 117.30095468096626)], [(112.10271622092958, 117.27128227715106), (112.08723896322712, 117.27451196823624)], [(112.07242607214471, 117.29509454125073), (112.09421929436526, 117.30007477627943)], [(112.08602727739901, 117.30734471902606), (112.08286857433099, 117.30542384816874)], [(112.06131925670576, 117.26997748580796), (112.04547130846684, 117.25459141942667)], [(112.06828517151811, 117.2692561831417), (112.09083596636475, 117.24849567016497)], [(112.09792041632141, 117.2682451320366), (112.07293618964164, 117.26572079774716)], [(112.07915212594357, 117.28493485070749), (112.09888533404761, 117.26494506930247)], [(112.05826434959931, 117.284541739495), (112.08276743960002, 117.28850921449893)], [(112.06030524377998, 117.30129012887276), (112.06179333761517, 117.28494801589012)], [(112.10283755463516, 117.27023090987552), (112.11886037533655, 117.24537035494832)], [(112.09128646475814, 117.31200954798287), (112.0863729245765, 117.32126937684312)], [(112.10362180332083, 117.29342466409923), (112.12593895763413, 117.2726406900314)], [(112.09683673747847, 117.30630111371384), (112.11610954160035, 117.2870824491037)], [(112.10194001330396, 117.30870575757508), (112.0905371064737, 117.31441581172392)], [(112.09473596788251, 117.29256696496763), (112.09967269440435, 117.27015580721236)], [(112.10037010145679, 117.28601134783851), (112.11780410664552, 117.27018557253683)], [(112.09763055010761, 117.29234126221301), (112.10200565937387, 117.27460237190121)], [(112.08082928842173, 117.28614203582428), (112.09872636129808, 117.28295122062748)], [(112.09070040536461, 117.3175554051807), (112.07180532797818, 117.31270110325423)], [(112.05758753861154, 117.28748688742134), (112.03904909424095, 117.27707672776586)], [(112.05687652867354, 117.31642601958397), (112.08051793715113, 117.31348767880212)], [(112.0586640019043, 117.29778568778222), (112.04052594319921, 117.28203535192314)], [(112.05902811747413, 117.28418319288329), (112.05193661734098, 117.28213364252834)], [(112.07498883565991, 117.2929554593039), (112.06846045294893, 117.31761448881726)] + CALL_1287@GraphGeneration.gov + CALL_1287 + + + CALR + [(178.6767548239067, 124.33664587304243), (178.66621577757186, 124.3135685917251)], [(178.6994773707021, 124.34669956843332), (178.7179358100699, 124.36971065982864)], [(178.70392122989543, 124.38274450151546), (178.7192556851807, 124.39316691423953)], [(178.71536413164222, 124.37833846006568), (178.73755148588435, 124.3638448937214)], [(178.71726241248624, 124.35359835677622), (178.70233220601955, 124.35644859965043)], [(178.6826747706655, 124.37117750788885), (178.68250035152326, 124.36054262497368)], [(178.70264474015363, 124.34488186240256), (178.68612550628836, 124.32863443010059)], [(178.68705553322073, 124.37164012936088), (178.66718796965537, 124.36498197346191)], [(178.70780916847423, 124.37985883231109), (178.73248651115858, 124.40110387227375)], [(178.7162262882757, 124.37710536583744), (178.7219890988848, 124.39203618983635)], [(178.71943863733847, 124.36882935826182), (178.70553734694883, 124.37775571651017)], [(178.69500178211842, 124.37331191852515), (178.6891707067012, 124.37034979074556)], [(178.690052014229, 124.34925763923705), (178.67961746859424, 124.32998394242641)], [(178.71569574715033, 124.37873655790875), (178.69723187675703, 124.37057798620637)], [(178.71154422119855, 124.36254582321439), (178.69876738481315, 124.38656662707444)], [(178.6832519083019, 124.3518370144818), (178.68186669114883, 124.33497832341358)], [(178.6828593458311, 124.36445439651163), (178.69177683562094, 124.36010953496475)], [(178.6941963618943, 124.3817135977459), (178.70755141328533, 124.39982381190251)], [(178.69474552848203, 124.3579195827542), (178.6866099012522, 124.33930814448793)], [(178.6919172125442, 124.34558105609328), (178.7118088430375, 124.33093514822735)], [(178.69039285555957, 124.34327545539287), (178.71438843149716, 124.33386933297041)], [(178.71130289276044, 124.37030456478446), (178.69373568137487, 124.36056319856282)], [(178.6912272629824, 124.37917145422418), (178.7017677291945, 124.40071127069642)], [(178.67587367698528, 124.38002287618875), (178.66203848876495, 124.38445706828787)], [(178.71949136176568, 124.37682343513352), (178.70423343851863, 124.36599932263924)], [(178.68181083793323, 124.37645992861387), (178.65769190035257, 124.36681401284109)], [(178.6937313775717, 124.37999403944042), (178.69985297367336, 124.37800090563937)], [(178.6991131599868, 124.36659092031897), (178.68684988964068, 124.35311313852655)], [(178.71290640790232, 124.34674124691499), (178.71213362708528, 124.3289826413)], [(178.7035997148054, 124.34319724954081), (178.68725236392635, 124.33974350475825)], [(178.70379566426547, 124.37782176665486), (178.72066192927645, 124.36058602960128)], [(178.70471163134465, 124.37907868082016), (178.68059649513444, 124.37210851658536)], [(178.69793392271404, 124.35753648413053), (178.68020318727628, 124.34016820144124)], [(178.70983896646518, 124.35699295726924), (178.72495193536577, 124.3601484943091)], [(178.69503155665487, 124.37924966917492), (178.71260200297033, 124.38673331217655)], [(178.7046643912748, 124.3557138302883), (178.70835043520765, 124.33429857791447)], [(178.70386630037348, 124.37650762433955), (178.7010653987088, 124.36527448052453)], [(178.7241236665972, 124.3642539227943), (178.69984151057, 124.38027321622313)], [(178.72166527734592, 124.36226087493648), (178.72902730607797, 124.36110123893042)], [(178.6790464544961, 124.36831421963815), (178.69000437550545, 124.35480872192817)], [(178.6806517665921, 124.35658667876355), (178.70085580898834, 124.36776003300065)], [(178.678213687503, 124.34424117329009), (178.6860527735873, 124.35354071907985)], [(178.68026544259155, 124.34110899164901), (178.6722704371041, 124.3449626101106)], [(178.7223322471133, 124.34094475356439), (178.74690005020196, 124.32414170864423)], [(178.68504266175324, 124.3584668982736), (178.6793423715963, 124.37986637004241)], [(178.69764105510026, 124.34869923738286), (178.70742092105237, 124.356144234524)], [(178.68585494222333, 124.36437966638678), (178.6694148081001, 124.34270230845792)], [(178.68722826454942, 124.3817698460023), (178.68870390668081, 124.36373625098412)], [(178.7208807751554, 124.37172559375762), (178.6992739815352, 124.36378763812016)], [(178.70058043852515, 124.35936238864498), (178.7113222800087, 124.34996026661572)] + CALL_1379@GraphGeneration.gov + CALL_1379 + + + CALR + [(25.793830415434137, 156.68592262583098), (25.79386759046882, 156.66490547871658)], [(25.803478113771348, 156.7038562251108), (25.823303534248247, 156.70107872718617)], [(25.81266141119138, 156.67782405426018), (25.81426927729917, 156.65379053953893)], [(25.842620024241956, 156.68537753282808), (25.865018208551007, 156.67408404139627)], [(25.830769641170107, 156.70009243867463), (25.832980307732093, 156.70917454160661)], [(25.819251250914704, 156.7040239270342), (25.819998581735586, 156.72726854899489)], [(25.8027753544117, 156.7014404727958), (25.807024256618185, 156.72472885586646)], [(25.818417673576587, 156.6636966335134), (25.830026961165327, 156.66339610232174)], [(25.82493920360983, 156.69180380223514), (25.819972697651302, 156.6872644092486)], [(25.84128821312878, 156.66052826407577), (25.86101516760729, 156.6546153902422)], [(25.839002893512408, 156.6783854709616), (25.827694495718674, 156.68221822035534)], [(25.817281229592624, 156.70437650640739), (25.803961035424667, 156.6961864210909)], [(25.80047716880567, 156.7029882623466), (25.804227622271615, 156.72191373107933)], [(25.82622486431979, 156.66368858078187), (25.801477297947685, 156.65794071193926)], [(25.814816382445375, 156.67639781184707), (25.805200036745287, 156.65708447817337)], [(25.823165955217608, 156.67249143379922), (25.840953432695645, 156.67554022885832)], [(25.799952814815857, 156.69950664727585), (25.814090344186617, 156.67715232673467)], [(25.805916181920605, 156.69081923936207), (25.784550139299306, 156.6801412568045)], [(25.83652763736234, 156.69507818367225), (25.833623855420385, 156.67787993848168)], [(25.826825051029285, 156.68845536250993), (25.802322751965384, 156.678687406833)], [(25.808096517805904, 156.70059712572598), (25.80749584359135, 156.6957283289377)], [(25.839253563853873, 156.66475764305835), (25.83387697639864, 156.66233820398924)], [(25.806724735482153, 156.67188634582345), (25.82563064437975, 156.67748873423076)], [(25.8108770082835, 156.6978718432943), (25.8290338197979, 156.70307590280078)], [(25.83588854888928, 156.66036416987492), (25.83039272827277, 156.68291065910964)], [(25.806586312764576, 156.69069131542722), (25.79212071589721, 156.67939873178875)], [(25.839597655532227, 156.68804933261225), (25.81741069189921, 156.70207364326933)], [(25.84291397065452, 156.6989111910386), (25.842681906308876, 156.6909005347585)], [(25.84170662599487, 156.65840401214825), (25.86010993638829, 156.65661161356385)], [(25.839427237283573, 156.66065276464835), (25.85767794967066, 156.68104683946308)], [(25.831853310121, 156.69265950078068), (25.852430400122422, 156.6876078976251)], [(25.823678617641495, 156.69121799566167), (25.83174874333902, 156.67573787669434)], [(25.819509290827085, 156.66844991506107), (25.80091295719179, 156.6482626858227)], [(25.834501001038475, 156.7041538886923), (25.821870126132584, 156.69263081800082)], [(25.810962107798897, 156.65683788214358), (25.83064120627578, 156.67436228225998)], [(25.821842735409003, 156.6608508258936), (25.796922172140842, 156.6712073385651)], [(25.798026665916236, 156.66814847416268), (25.804358812853796, 156.66904963958854)], [(25.836721732638985, 156.67104382170737), (25.84893823482885, 156.65940276126898)], [(25.80685456849023, 156.659582398144), (25.8118220866547, 156.63472883445556)], [(25.84220859674178, 156.69500732282037), (25.8237866257066, 156.67498506394242)], [(25.832937563086947, 156.67447510155762), (25.845223459998724, 156.68562248777104)], [(25.833987013881192, 156.68829732178284), (25.822756776700597, 156.68498076209988)], [(25.82821756139512, 156.6603767072113), (25.804718828619844, 156.68370823794052)], [(25.832975346006446, 156.6732070362976), (25.828109020020232, 156.6763323385783)], [(25.837783037186597, 156.70000568258135), (25.814132082021924, 156.71009569068738)], [(25.814221818540936, 156.7004545094058), (25.79046536399938, 156.7096268152616)], [(25.799993873032268, 156.67932569072383), (25.821631799522724, 156.6767686856252)], [(25.804182649081277, 156.7038727766538), (25.822399441541315, 156.6819761290876)], [(25.80856618047867, 156.65643771979052), (25.808725991065476, 156.67665268547415)], [(25.793959243443894, 156.6785715909022), (25.78562216033951, 156.66666071613014)] + CALL_1471@GraphGeneration.gov + CALL_1471 + + + CALR + [(71.30529400710132, 159.69954579043275), (71.28182676964595, 159.7161441053811)], [(71.27974910329294, 159.7200060023932), (71.28242745495062, 159.7431044070106)], [(71.30074578251711, 159.7122251844581), (71.32307292541944, 159.68861553393856)], [(71.30011466527355, 159.69233210148866), (71.2781324282422, 159.7080265971041)], [(71.3032556332566, 159.7162136333786), (71.31987842392276, 159.71534764120278)], [(71.30432302852725, 159.73895200331634), (71.29466721432298, 159.71408472193738)], [(71.28256016146389, 159.72698054144726), (71.2778212673205, 159.71294034806286)], [(71.2850694289528, 159.6977347526994), (71.30705607049181, 159.682100892911)], [(71.28615964409886, 159.73711390817888), (71.3009670534839, 159.74857395706343)], [(71.26335138508179, 159.7282519485816), (71.26649454237015, 159.73089480395274)], [(71.26048735307108, 159.7342842105959), (71.26804269614927, 159.73747455270043)], [(71.26512864289371, 159.69895574961868), (71.28988969298706, 159.68692993758725)], [(71.26329401301952, 159.72172069340712), (71.25631808971222, 159.73183532650444)], [(71.30062169011835, 159.72282864724306), (71.2884986408618, 159.72617559966596)], [(71.29373780467384, 159.7335093720846), (71.28159818113157, 159.74065397398314)], [(71.28098164973136, 159.70968057547788), (71.25912635530587, 159.68594880987624)], [(71.2753878357016, 159.7337269539051), (71.25591143284018, 159.73969805588902)], [(71.2673543179149, 159.71659344612846), (71.26652900944595, 159.7140377683854)], [(71.27578249129124, 159.73090609223345), (71.28160579054652, 159.72168948690853)], [(71.30805608754524, 159.7264038173672), (71.31870573106194, 159.70757559880184)], [(71.27174559508671, 159.69668363077906), (71.26969954560214, 159.7018596415527)], [(71.29017732038909, 159.70173630339875), (71.30345550033395, 159.6781589827376)], [(71.28980321667373, 159.73351166583416), (71.29132402185775, 159.72125143997377)], [(71.28758517944762, 159.7041835931118), (71.26752565431534, 159.72687665593833)], [(71.29808651108075, 159.71700549928212), (71.32116331356706, 159.7199085558451)], [(71.30090219054286, 159.69706325622977), (71.27984477710781, 159.70881959402888)], [(71.26383295015623, 159.73962664286182), (71.24753188458057, 159.75777673872588)], [(71.30667804734973, 159.7412862690798), (71.30688563040397, 159.757082273065)], [(71.29228315734528, 159.71799724311504), (71.30452277316788, 159.69924548229)], [(71.30690913478583, 159.71413371155109), (71.29809536427658, 159.72045422290168)], [(71.3086056357854, 159.71990868216344), (71.31269599096356, 159.72281009656294)], [(71.29247266742362, 159.70721867556915), (71.27056278886475, 159.70966273949062)], [(71.28555684570387, 159.72095702459072), (71.27360513840188, 159.70659951616292)], [(71.28895330728544, 159.70288955331023), (71.28810779261401, 159.71345157532747)], [(71.26898093043043, 159.73386820420825), (71.28563165488926, 159.70949417246214)], [(71.28449699334968, 159.7278383575248), (71.28132238748083, 159.7311636428309)], [(71.26338114345363, 159.72382750366384), (71.24938989988848, 159.72365598754874)], [(71.27137078129121, 159.71892495913136), (71.27366046983431, 159.69509040847637)], [(71.29004237335464, 159.70131923857042), (71.26824026425295, 159.69106481702653)], [(71.26927935435982, 159.73896747407943), (71.24985727820221, 159.74746690467995)], [(71.27672755892323, 159.71113411729232), (71.29885037540242, 159.68969134898663)], [(71.29569731357256, 159.7104493772465), (71.3094458527273, 159.6922097579198)], [(71.28256397425781, 159.73713127061228), (71.29915378818473, 159.75234709084697)], [(71.29520525821754, 159.70878917402405), (71.29879313380461, 159.68492757905466)], [(71.3041420942759, 159.71457278521135), (71.32440255107926, 159.7095434392067)], [(71.27790261398283, 159.73560449282706), (71.29591862582416, 159.7420510521444)], [(71.29135727455268, 159.71828906519843), (71.30320637177817, 159.70051284820815)], [(71.27139750884804, 159.7333798677096), (71.28374324860297, 159.72349307174636)], [(71.28727188300108, 159.71425907057468), (71.28853369300788, 159.73918578366792)], [(71.28559715390362, 159.7165580818004), (71.30968831853453, 159.7321307553238)] + CALL_1563@GraphGeneration.gov + CALL_1563 + + + CALR + [(165.44241141325193, 145.40751468398773), (165.44129366575862, 145.42895208841855)], [(165.43400426082974, 145.40429764710026), (165.41008826058808, 145.40086759876738)], [(165.47570464775967, 145.37086220099894), (165.47470352269042, 145.39526713652066)], [(165.4679190196674, 145.36387264874216), (165.47433279287168, 145.3739152578356)], [(165.45118226427778, 145.40210769341024), (165.46588429775164, 145.3828434820354)], [(165.44784637647055, 145.3783560672535), (165.46712167639689, 145.3732628325983)], [(165.46319972638844, 145.40454637887245), (165.4472949696907, 145.38893972024866)], [(165.4810885031986, 145.386298012183), (165.4907760087474, 145.37880517638968)], [(165.46205104661294, 145.36381711657788), (165.45220575973178, 145.37303956039653)], [(165.44319476751397, 145.38374795040647), (165.42733361726917, 145.3731089705266)], [(165.43912053905075, 145.37884524427074), (165.4329179256832, 145.401408418712)], [(165.44005127015117, 145.39708836318377), (165.42352159313555, 145.3914532764678)], [(165.4748343343059, 145.36625843248245), (165.4792592917545, 145.35903784069464)], [(165.4339020969745, 145.38855861993753), (165.4145423434426, 145.41249975866344)], [(165.43439510862032, 145.38419821574084), (165.41973824371127, 145.40218924565033)], [(165.4709012964644, 145.39421035734182), (165.45616866214152, 145.38365643465963)], [(165.44843718579742, 145.36946542561907), (165.44679235798938, 145.38569902436927)], [(165.45582699652977, 145.37011984734013), (165.44220962434355, 145.39387649626605)], [(165.47216067830766, 145.39229293169035), (165.45848698752602, 145.3707957992554)], [(165.47639105921806, 145.39347681586014), (165.47053834329782, 145.41093249090983)], [(165.44584433941574, 145.35963344464267), (165.43154302312712, 145.35994745369533)], [(165.47975125915372, 145.3672347510043), (165.46310021590634, 145.3423932900746)], [(165.44450147676568, 145.38482543099187), (165.42196433397805, 145.3608295144869)], [(165.44698746658318, 145.3756146296975), (165.4646751634074, 145.38546451557463)], [(165.46994097160098, 145.3717895902611), (165.47601448448157, 145.38913537593726)], [(165.47209358029525, 145.40463799595304), (165.45689264481598, 145.38570123219833)], [(165.43352924778645, 145.40524657148418), (165.451137604217, 145.39782634949208)], [(165.46932661094127, 145.4051323887782), (165.4883409524534, 145.393586594696)], [(165.4393920886665, 145.39516596187494), (165.43559471414895, 145.41172317501034)], [(165.43894492431895, 145.3689102319123), (165.44661779022306, 145.35393403845993)], [(165.4728055881842, 145.3589170927649), (165.47741224995607, 145.3568822810105)], [(165.45321779687833, 145.4002223614872), (165.46289620111446, 145.40228014353997)], [(165.48014547556332, 145.39736037474987), (165.50311224427088, 145.37770440083222)], [(165.48174179755182, 145.38560902770294), (165.48320875912893, 145.3620511904183)], [(165.444161332737, 145.38255050970986), (165.4660188644337, 145.405343112064)], [(165.4479174989805, 145.3998183695135), (165.44055288056106, 145.4135550738288)], [(165.47378668519082, 145.39383380964523), (165.4759131177977, 145.36936008382884)], [(165.48124150263607, 145.4045109641002), (165.48718880702083, 145.4180794166098)], [(165.44869909292416, 145.36947009987367), (165.45593997383918, 145.39445262634052)], [(165.47669036861967, 145.37105904566977), (165.48661267615847, 145.36269286269084)], [(165.44485151284835, 145.36404093462593), (165.4638535107104, 145.35152469856817)], [(165.46014943349414, 145.36215456308378), (165.4628238788986, 145.38648949160077)], [(165.44808311129313, 145.4006420584566), (165.45382446433163, 145.40910742179372)], [(165.47978222979032, 145.40494432881314), (165.5007580634657, 145.40073408329357)], [(165.46649767699432, 145.3885646742391), (165.47418875748278, 145.4051261259165)], [(165.43866602797834, 145.40335860747828), (165.44028232575823, 145.397236158134)], [(165.44842447837257, 145.38333033937243), (165.4603483864233, 145.3875776773331)], [(165.46597627197843, 145.3859375616854), (165.47898796004162, 145.4003869417178)], [(165.4357138140332, 145.40820834951697), (165.41910951164044, 145.42092939693146)], [(165.43372097895337, 145.40566238221044), (165.41066309804233, 145.40931213200605)] + CALL_1655@GraphGeneration.gov + CALL_1655 + + + CALR + [(44.06615435264149, 177.3379766480493), (44.06199659659501, 177.34105720110443)], [(44.09074358624136, 177.31515934405928), (44.080191530315965, 177.30138029840694)], [(44.08303033244203, 177.32205691404548), (44.079368799081685, 177.2985475103287)], [(44.0773910760075, 177.3162673075749), (44.07331891713155, 177.3166311777809)], [(44.09435243234118, 177.33266644044437), (44.09720927381237, 177.35113808026261)], [(44.07383868046588, 177.32995474912244), (44.09641140940722, 177.32655227394227)], [(44.09437037653532, 177.3396839355577), (44.08969718850129, 177.34532225744178)], [(44.07552118193232, 177.3342174009807), (44.091974328017216, 177.315366999728)], [(44.10000067091507, 177.34089839512248), (44.102995012842776, 177.34008937829242)], [(44.08585904007541, 177.33772761337295), (44.10114284878255, 177.35694595103809)], [(44.102259371491364, 177.34449075736626), (44.07937822036226, 177.35827824700894)], [(44.08351111839961, 177.34424756414467), (44.06213329345779, 177.3661396267604)], [(44.08061064930311, 177.34364704260935), (44.09830405902897, 177.3602684045178)], [(44.102407752047654, 177.35194609047142), (44.07950389018829, 177.34339842606985)], [(44.06249615752652, 177.30738250662466), (44.059117541300424, 177.2851582245779)], [(44.072582711097276, 177.31139996894237), (44.076870946078685, 177.32170553080203)], [(44.101945945538105, 177.3542874073039), (44.1218690912307, 177.35799899824772)], [(44.07899851303123, 177.30891663289242), (44.08561387889639, 177.294228992209)], [(44.08632140367917, 177.32200495233678), (44.06468691498397, 177.32743148020197)], [(44.05896700316253, 177.3432071142238), (44.07481195812063, 177.32863649666913)], [(44.0601182548832, 177.32506377300913), (44.05015368816263, 177.3177672750297)], [(44.07642805742831, 177.3527334797723), (44.05193657043589, 177.35315542491597)], [(44.08158563901459, 177.34995046700547), (44.09458927000466, 177.3570739636878)], [(44.07541201683873, 177.3084383469605), (44.10039569208362, 177.31991769275436)], [(44.07421326448588, 177.34888919788142), (44.07593356473474, 177.32617331312835)], [(44.073587029709955, 177.33870574524877), (44.08006209175832, 177.32560015432207)], [(44.08497081208849, 177.3498337858699), (44.10449993855566, 177.3627970163674)], [(44.10217308160898, 177.32920529771312), (44.121377211113284, 177.33507654788139)], [(44.097235082064785, 177.35269880930872), (44.07553482519306, 177.3623931966718)], [(44.091943598461754, 177.33350777612384), (44.10586414303518, 177.3523746892843)], [(44.081339677701216, 177.34958923881783), (44.06509503831523, 177.3737021119943)], [(44.08505288132958, 177.32938895488547), (44.10349140461058, 177.3256274375367)], [(44.096027502580476, 177.3514837358206), (44.081456936224264, 177.3452446710541)], [(44.08605768327106, 177.32252881533006), (44.07360825091767, 177.33910797790287)], [(44.079762606558795, 177.33646874644026), (44.08087352480629, 177.33166708265668)], [(44.078001809984464, 177.3356737319347), (44.05936763966197, 177.34970771904912)], [(44.06389627634254, 177.30595866229623), (44.07593775452007, 177.28613654653424)], [(44.08591785540742, 177.32090780864505), (44.07185090946954, 177.32306320141709)], [(44.083886258470585, 177.323319936231), (44.07854157326081, 177.33788082522398)], [(44.09264373286504, 177.3410279990015), (44.06962361431883, 177.32576631709492)], [(44.08811155770472, 177.344531693234), (44.100729355628815, 177.35970645003388)], [(44.103610240653886, 177.34259473868397), (44.110179865732206, 177.3566884619703)], [(44.09073948163323, 177.3348492521116), (44.100302876897835, 177.3101130266441)], [(44.078723636881406, 177.35100348118326), (44.061505258126545, 177.3745828020972)], [(44.07652849667099, 177.33570201430595), (44.07029782239287, 177.34233614378675)], [(44.085743228516705, 177.31900153978756), (44.06958199831377, 177.30880154363734)], [(44.0753684656375, 177.32131396244176), (44.08407337672991, 177.3385364776596)], [(44.07252322591356, 177.33657110531212), (44.07755961530215, 177.3403322623514)], [(44.103656343158605, 177.3210326540053), (44.10276295884911, 177.3459150884081)], [(44.08439694807512, 177.31172442401987), (44.097704846992215, 177.3138194551985)] + CALL_1747@GraphGeneration.gov + CALL_1747 + + + CALR + [(100.38233674991841, 176.72056053761634), (100.39732456935684, 176.7446471508095)], [(100.41077330371007, 176.6833987269306), (100.42542021113503, 176.6608551005327)], [(100.39082976143477, 176.7276044592409), (100.39715150884894, 176.74444316506327)], [(100.37738634574418, 176.71111390775846), (100.38528881424087, 176.73240893110784)], [(100.38123268646552, 176.70596862775903), (100.36242377346977, 176.69524247746625)], [(100.41957746436546, 176.69201432784496), (100.40215391471595, 176.69641851944777)], [(100.39229803433669, 176.70950379125793), (100.37261915584267, 176.7240161191066)], [(100.3983180760309, 176.71211541630043), (100.39178246646794, 176.71966687170186)], [(100.39172568563718, 176.71949285799283), (100.40125408362579, 176.70958559324274)], [(100.41097361617915, 176.6849546451594), (100.39068015201727, 176.68887542362296)], [(100.41827446693533, 176.68246049172345), (100.43480848335956, 176.69917208967757)], [(100.40597276617659, 176.72542256095792), (100.42261533410306, 176.7140284309969)], [(100.3761392394486, 176.68640466977118), (100.36750454314802, 176.71087418443778)], [(100.40594668731622, 176.71799692687418), (100.38405799364902, 176.73902031175257)], [(100.41611204533983, 176.69589398865836), (100.40035999506075, 176.6800768144491)], [(100.41025080461937, 176.7202342535972), (100.39022292456768, 176.69803950194532)], [(100.38048493052808, 176.68449551799964), (100.40420213668537, 176.70345496348006)], [(100.37156568060047, 176.69857479419267), (100.39625883918174, 176.69796447510694)], [(100.39520212427286, 176.7194071523205), (100.41536147869624, 176.73690672221818)], [(100.38419558556298, 176.70301712361552), (100.38499702804455, 176.69946669696964)], [(100.39183525654337, 176.69936839494417), (100.40023351083211, 176.67725754214197)], [(100.41765746220766, 176.68216819089395), (100.41970973027554, 176.6933389545706)], [(100.40239756888583, 176.70754704764533), (100.385810309486, 176.7003224507119)], [(100.37246261322693, 176.7124303004275), (100.36661297472163, 176.70268889641994)], [(100.37831056236845, 176.72759154880245), (100.35928994986641, 176.74353176201456)], [(100.37800637298412, 176.71149259391788), (100.39838017862547, 176.73518995055946)], [(100.38311301866163, 176.7149509158479), (100.36591051627276, 176.7223019783249)], [(100.40892200551843, 176.71808860877465), (100.39137704001159, 176.7299120231409)], [(100.40686473314534, 176.71252649202737), (100.39499971994519, 176.69273992785756)], [(100.37426025962482, 176.70744777656597), (100.39227874257247, 176.7152860366251)], [(100.38555528811423, 176.69772846370734), (100.36646719200266, 176.67393395995796)], [(100.41369969644308, 176.68462655479823), (100.42905491723981, 176.69892983507123)], [(100.39207682484896, 176.69853661200776), (100.38934087749625, 176.68668004955694)], [(100.40636210567199, 176.69568605971466), (100.42349917119252, 176.67212916553163)], [(100.39087790360098, 176.72602113643748), (100.39025171757572, 176.70887178738343)], [(100.41509399348124, 176.7112522506051), (100.43752217664861, 176.69410192433872)], [(100.41694025076828, 176.68091768392068), (100.41461652260487, 176.69521067706506)], [(100.40203835617167, 176.70725535892333), (100.41458624791115, 176.6912494617687)], [(100.3708854662903, 176.69189697744858), (100.35776030576581, 176.70845089722403)], [(100.40405378237318, 176.70928077097062), (100.42591642928141, 176.7111814134926)], [(100.38481632959986, 176.707216195234), (100.40656074115134, 176.69800818273902)], [(100.3742700492894, 176.68115054276896), (100.38637772370667, 176.65619807193244)], [(100.37385473275677, 176.695787174213), (100.35819914654071, 176.6871796819125)], [(100.41593800494951, 176.71288272311455), (100.42154352578225, 176.72479881808033)], [(100.3823754229288, 176.71611310848522), (100.36968765649546, 176.7387195223214)], [(100.40014749683148, 176.7139136425304), (100.39876477317559, 176.7194223658032)], [(100.39701059129595, 176.72107411748678), (100.41598807195328, 176.7432209501556)], [(100.3811447004315, 176.7212434899088), (100.37361120465685, 176.7269244575528)], [(100.41906291432308, 176.68843342239543), (100.41498570053113, 176.6681463919777)], [(100.40885878847952, 176.72374074911784), (100.40740572666829, 176.72611585465847)] + CALL_1839@GraphGeneration.gov + CALL_1839 + + + CALR + [(190.64087145425094, 195.66780168639224), (190.6471876976333, 195.65324779278075)], [(190.65793413033208, 195.64038248081397), (190.67800027665254, 195.63558152114254)], [(190.61127697017886, 195.64706841429674), (190.61396700416952, 195.67059797861074)], [(190.613382710657, 195.65388239886187), (190.621547500933, 195.65511337622286)], [(190.65145561413976, 195.63582113698192), (190.6302879582545, 195.63905173581202)], [(190.63421714958486, 195.64182182968204), (190.6526319971942, 195.647965343716)], [(190.64097286254162, 195.64614567474257), (190.65832543813772, 195.65613907177115)], [(190.65279331378673, 195.6746625205397), (190.67191332181807, 195.67029945562257)], [(190.6246062885783, 195.67497710300503), (190.61969229905776, 195.66514783971522)], [(190.62834192005838, 195.66208256080873), (190.6529331267554, 195.65087569389684)], [(190.61615975562486, 195.64629340086594), (190.59896429060905, 195.6514650610897)], [(190.6203029940933, 195.6340229196785), (190.59951098218463, 195.64979315265265)], [(190.64706405663006, 195.64142530968158), (190.6293067495477, 195.65011369782175)], [(190.62548006935313, 195.6354928288039), (190.64059929440438, 195.62938568062086)], [(190.65323027238176, 195.65857779969966), (190.65678777140155, 195.66685097302746)], [(190.62491529301553, 195.65975143622373), (190.64009693490658, 195.68195605467795)], [(190.65571589573767, 195.6714464665681), (190.66051483298088, 195.67878366834992)], [(190.61632357237497, 195.65426423735585), (190.62730359962706, 195.66204068148963)], [(190.6423507593815, 195.66271554184613), (190.64344431436305, 195.68438136901364)], [(190.6419639188307, 195.63704752957207), (190.62691632022532, 195.61570137929604)], [(190.61994737159705, 195.64594547602275), (190.63906576421232, 195.63085290608657)], [(190.6525573410218, 195.6735661023715), (190.66228230393017, 195.65382290181316)], [(190.62772830100215, 195.66401096361892), (190.6332679629348, 195.68129075256985)], [(190.61242933907508, 195.67495545608793), (190.59126728122766, 195.6799726890429)], [(190.6387337497848, 195.66934643566108), (190.661584038529, 195.65257217368918)], [(190.65248726617236, 195.64902032802004), (190.64898109872448, 195.66058209740783)], [(190.61495030855227, 195.6680110181368), (190.594989425481, 195.65657390716345)], [(190.6278530707747, 195.65846771367694), (190.61811267089584, 195.63902345869937)], [(190.64923912242304, 195.6663187838087), (190.66491368077862, 195.6875989604084)], [(190.64898557718047, 195.67010849708234), (190.65826975806905, 195.65324851062542)], [(190.64313170609012, 195.64085299899162), (190.65963453409262, 195.65616739510338)], [(190.6319187850608, 195.67340647061033), (190.61970360206882, 195.6531136008313)], [(190.63792425909523, 195.6463806555468), (190.61320722925808, 195.64568788320693)], [(190.63874310315666, 195.62927949621934), (190.6602300025264, 195.63214682721468)], [(190.64676065457138, 195.6422652879118), (190.64171074977807, 195.64176081073532)], [(190.65806541261264, 195.65569928310774), (190.68245486595328, 195.65444595008984)], [(190.6419075140538, 195.66970145647664), (190.65088571765293, 195.67053979024175)], [(190.6277523827463, 195.6572468095835), (190.60283388394873, 195.6476489263654)], [(190.64936035694086, 195.64398863164357), (190.64864448722895, 195.6331216051457)], [(190.6445667111891, 195.66166602109698), (190.62000621268768, 195.64107571844193)], [(190.6353864317928, 195.66840978280408), (190.6567255159688, 195.66717936128876)], [(190.62506243409362, 195.6572025587481), (190.64974361582014, 195.66090219537625)], [(190.628715944111, 195.66183401708918), (190.6311458973602, 195.68485322544734)], [(190.62207698054698, 195.63035172541), (190.62054784607335, 195.65134498017673)], [(190.65493656524325, 195.65782031343997), (190.66818694821544, 195.66500405369567)], [(190.6483021460297, 195.6436890606508), (190.64860789896147, 195.66513136049377)], [(190.6455428435414, 195.65261564994472), (190.64597039306625, 195.65342041069326)], [(190.65425339543975, 195.63825517566193), (190.63021897965652, 195.63962270452683)], [(190.6349234146997, 195.65026931610635), (190.6254561307201, 195.64953721837975)], [(190.65429296548882, 195.63921011336694), (190.64341940999108, 195.61429631900054)] + CALL_1931@GraphGeneration.gov + CALL_1931 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/configfiles/inputs/test-medium-911-calls.xml b/configfiles/inputs/test-medium-911-calls.xml new file mode 100644 index 000000000..6a58c0f15 --- /dev/null +++ b/configfiles/inputs/test-medium-911-calls.xml @@ -0,0 +1,34166 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/configfiles/test-small-911.xml b/configfiles/test-small-911.xml index e6f554bfb..80fd7f54e 100644 --- a/configfiles/test-small-911.xml +++ b/configfiles/test-small-911.xml @@ -9,7 +9,8 @@ 1 - 100 + + 1 25 diff --git a/docs/Developer/CMake.md b/docs/Developer/CMake.md index b0eb6a3e9..fe84ace42 100644 --- a/docs/Developer/CMake.md +++ b/docs/Developer/CMake.md @@ -24,4 +24,6 @@ - Verbose output: https://sidvind.com/wiki/CMake/Verbose_output +# Examples +- To build for profiling on the GPU: cmake .. -D ENABLE_CUDA=YES -DCMAKE_BUILD_TYPE=Profiling diff --git a/docs/Developer/FromCpuToGpu.md b/docs/Developer/FromCpuToGpu.md new file mode 100644 index 000000000..e96a1e3db --- /dev/null +++ b/docs/Developer/FromCpuToGpu.md @@ -0,0 +1,5 @@ +## From CPU to GPU + +Graphitti is a high-performance simulator of graph-based systems, currently being applied to computational neuroscience and emergency communication systems. It runs on both CPUs and GPUs and can simulate very large graphs (tens of thousands of vertices; hundreds of thousands to millions of edges) for long durations (billions of time steps). + +The typical process for implementing a new system using Graphitti is to implement the system on the CPU and then build a corresponding GPU implementation. The CPU implementation is structured such that the GPU can mirror it's implementation. This is done by sharing data members between the implementations in classes such as AllVertices.h and AllEdges.h. Data structures such as DeviceVector.h are also implemented in such a way that they can be shared between implementations without duplicating code. \ No newline at end of file diff --git a/docs/Developer/RegressionTestsDocumentation.md b/docs/Developer/RegressionTestsDocumentation.md new file mode 100644 index 000000000..279a022eb --- /dev/null +++ b/docs/Developer/RegressionTestsDocumentation.md @@ -0,0 +1,63 @@ +# NG911 Tests +This document outlines the parameters used by NG911 regression tests. There are three files required to run an NG911 test; the Configuration file, the Graph file, and the Input calls files. For each of these files, a table is provided showing the main parameters in the file and their values for the existing NG911 tests. + +# Configuration files +| Parameter | test-small-911.xml | test-medium-911.xml | +|:------|:------:|:------:| +| Epoch duration | 900 | 200 | +| Number of epochs | 2 | 1440 | +| Redial probability | 0.85 | 0.85 | +| Average driving speed | 30 | 30 | + +# Graph files +| Parameter | test-small-911.graphml | test-medium-911.graphml | +|:------|:------:|:------:| +| Number of Vertices | 12 | 1932 | +| Number of Caller Regions | 1 | 21 | +| Number of PSAPs | 1 | 21 | +| Min number of trunks for PSAPs | 5 | 5 | +| Max number of trunks for PSAPs | 5 | 10 | +| Min number of servers for PSAPs | 4 | 3 | +| Max number of servers for PSAPs | 4 | 5 | +| Number of EMS Responders | 3 | 630 | +| Number of Law Responders | 4 | 630 | +| Number of Fire Responders | 2 | 630 | +| Min number of trunks for Responders | 5 | 6 | +| Max number of trunks for Responders | 10 | 12 | +| Min number of servers for Responders | 3 | 3 | +| Max number of servers for Responders | 5 | 6 | + +# Input calls files +The parameters for the Input calls table are taken from the cluster_point_process.py file in Graphitti/Tools/InputGeneration/ClusterPointProcess + +| Parameter | test-medium-911-calls.xml | +|:------|:------:| +| Number of emergency calls | 34,119 | +| First (seconds) | 34 | +| Last (seconds) | 32436 | +| Mean Time Interval (seconds) | 62.88 | +| Dead Time after Event (seconds) | 1 | +| Mean Call Interval after incident (seconds) | 20 | +| Mean Duration (seconds) | 204 | +| Minimum Duration (seconds) | 4 | +| Mean Patience Time (seconds) | 50 | +| Mean On-Site Time (seconds) | 1200 | +| Type Ratio Law | 0.33 | +| Type Ratio EMS | 0.33 | +| Type Ratio Fire | 0.33 | +| Prototype 0 mu_r | 0.0005 | +| Prototype 0 sdev_r | 0.0001 | +| Prototype 0 mu_intensity | 500000 | +| Prototype 0 sdev_intensity | 50000 | +| Prototype 1 mu_r | 0.001 | +| Prototype 1 sdev_r | 0.0001 | +| Prototype 1 mu_intensity | 1000000 | +| Prototype 1 sdev_intensity | 60000 | +| Prototype 2 mu_r | 0.0015 | +| Prototype 2 sdev_r | 0.001 | +| Prototype 2 mu_intensity | 1100000 | +| Prototype 2 sdev_intensity | 70000 | +| Prototype 3 mu_r | 0.003 | +| Prototype 3 sdev_r | 0.001 | +| Prototype 3 mu_intensity | 1500000 | +| Prototype 3 sdev_intensity | 60000 |