-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
57 changed files
with
2,537 additions
and
457 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,69 +1,17 @@ | ||
# Yet Another Gamma Index Tool | ||
|
||
Library written in C++ for performing efficient comparisons of DICOM images using 2D, 2.5D and 3D gamma index concept. | ||
YAGIT is a C++ library for performing efficient comparisons of two images containing spatial dose distributions. | ||
The library employs 2D, 2.5D, and 3D gamma index concepts. | ||
The gamma index was introduced by Low et al. in 1998 (<https://doi.org/10.1118/1.598248>). | ||
|
||
## Installation | ||
|
||
Build steps: | ||
1. Creating a directory where the library will be built | ||
``` | ||
mkdir build && cd build | ||
``` | ||
|
||
2. Installing packages and running cmake | ||
* Using Conan package manager | ||
``` | ||
conan install .. | ||
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=conan_toolchain.cmake | ||
``` | ||
* Using apt package manager | ||
``` | ||
sudo apt-get install libgdcm-dev | ||
cmake .. -DCMAKE_BUILD_TYPE=Release | ||
``` | ||
## Documentation | ||
|
||
3. Building the library | ||
``` | ||
cmake --build . --config Release -j | ||
``` | ||
The documentation is available at <https://datamedsci.github.io/yagit/>. | ||
|
||
4. Installing the library | ||
* system-wide (you need administrator privileges) | ||
``` | ||
sudo cmake --install . | ||
``` | ||
* in specific location | ||
``` | ||
cmake --install . --prefix <path where you want to install> | ||
``` | ||
|
||
## Gamma versions | ||
|
||
There are 2 implementations of gamma index: sequential and multithreaded. | ||
To select the version you want, set the `GAMMA_VERSION` option to one of the values: `SEQUENTIAL`, `THREADS`, `SIMD`, `THREADS_SIMD`. | ||
``` | ||
cmake .. -DGAMMA_VERSION=THREADS | ||
``` | ||
The default value of this parameter is `THREADS`. | ||
## Installation | ||
|
||
You can also modify SIMD extension used during the compilation of yagit. To do it, set `SIMD_EXTENSION` option to one of | ||
the values: `DEFAULT`, `SSE2`, `SSE3`, `SSSE3`, `SSE4.1`, `SSE4.2`, `AVX`, `AVX2`, `AVX512`, `NATIVE`. | ||
The default value of this parameter is `DEFAULT`, which means that no additional compilation options are added. | ||
Option `NATIVE` adds `-march=native` if compiler supports it. | ||
Instructions on how to install YAGIT are described at <https://datamedsci.github.io/yagit/installation.html>. | ||
|
||
## Examples | ||
|
||
Example usage of the library is located in `examples` directory. | ||
To build examples, enable `BUILD_EXAMPLES` option during installation. | ||
``` | ||
cmake .. -DBUILD_EXAMPLES=ON | ||
``` | ||
And to start `gammaImage` example, run | ||
* on Linux | ||
``` | ||
./examples/gammaImage | ||
``` | ||
* on Windows | ||
``` | ||
examples\Release\gammaImage.exe | ||
``` | ||
Examples of how to use YAGIT are presented at <https://datamedsci.github.io/yagit/examples.html>. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<mxfile host="app.diagrams.net" modified="2024-04-05T12:29:28.533Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:124.0) Gecko/20100101 Firefox/124.0" etag="2346_E3jUxs89uPFhSpN" version="24.2.1" pages="9"><diagram id="GPJWq1qH7rPNwJKBL5hk" name="flow_diagram">7Vhdb9owFP01SNtDK/IF9JGvdpU2qSrS1u7NJJfEmxNnjlNCf/1s4pA4pkAnGEzaE/axfW2fe+/JNR1nHBd3DKXRFxoA6djdoOg4k45tW5bnih+JrCqk65VIyHCgsBqY4VdQYFehOQ4g0yZySgnHqQ76NEnA5xqGGKNLfdqCEn3XFIVgADMfERP9hgMelejA7tf4J8BhVO1s9W7KkRhVk9VNsggFdNmAnGnHGTNKedmKizEQyV7FS7nu9o3RzcEYJPyQBfNf3+fB1e3svvg0APd1MaRPX6+UlYyvqgtDIO6vupTxiIY0QWRaoyNG8yQAabUrevWcz5SmArQE+AM4XylnopxTAUU8JmoUCsyfGu1naeraU71JoSyvO6uqk3C2emp2Gqtkt1627lXrTJaqK9Oc+bCDGltFG2Ih8B3zBuU8yVtjA+WDO6AxiPOICQwI4vhFjyukwjPczKs9KBrKie9wqDr1CyK52mlIQsowj2KZJYj4uTxGEsqrRSAzDMUxkmaFUwsjHHRnLyPMYZaiNXFLkfK6Y98k+wUYh2InPWrU6ap0UYLhVv1lnX2Wo8xGjczrdU/EqGMwapCULXFMUCKTIxPxwlXk74y/wynxbjRGHMtkxK5YajKy0dBtlKjdHoVmoiQk8K7tvC27ua3NEOHAEsRhJCMoM9ywueefe8Y1PPMICxBM+/I6OJbSfuR43hkhB3vU1WPc2xLi9haKTxbinkHkVLaF84J/ikjLOTeTPYPJ+yTNuayAEBcq2yPiBKM5E61Qtj4wFGChxzSRU2gmAzfAGWd4nks0+2gQL6jhOruI4DARbV+wC0wAkkAstH6oBmIcBOWnGzL8iuakUqeU4oSvOfBGHW8ibYmvdVbKl7WWM0Z/wpgSKuxOErrWuAUmpAWdysFWK1NM9w4O0KKjubf/v1zaUwbtLZduLqpcGhj5eqeXQ6dRv3fXAG7/0sqiG5O5+4fHsxPVcy+NqErCziMatVA8N0b2iUatE8+aTBxbNKzqSb9PNeyLUo3q2I3gf0AMCePAsi0febgOr+U5fB9SUW7L8rQ9xxdPNGAYmd/7c7/Atj0A/nIGmY9aM6WSYCj/7pFlEEFZhn2dGJ3Fo38ejxbAe15ZFXZwnKsdHmShV/u4/chznZbvysxVq5p/KrUMOb2Wob6nGyqJMQztfwKKbv3fWDm9/ovRmf4G</diagram><diagram id="Du_h_ZyvDaeMuDVq2Wnb" name="gamma_index_example">7ZxNc5swEIZ/Dcd4ACGDj4njuod0JtMcmp461MiYKSAXy7HdX1/JIIMkUicZsHAhF6PVB7DvriU90dgA02Q/z/z16gsOUGzYZrA3wL1h25ZlQfrBLAduMQtLmEVBYSsNT9EfVBjNwrqNArQRGhKMYxKtReMCpylaEMHmZxneic2WOBbvuvZDpBieFn6sWr9FAVnlVs92S/tnFIUrfmdrPMlrEp83Lt5ks/IDvKuYwMwA0wxjkl8l+ymKmfe4X/J+n16pPT1YhlLylg7PYYiSB2/7EC9/gM388T4g2U0xyosfb4sXLh6WHLgHMrxNA8QGMQ1wt1tFBD2t/QWr3VHRqW1FkpiWLHqpPhS/A8oI2ldMxUPOEU4QyQ60Ca/lDjtI5V3p/5NtVfU9N/qF5uFp7NIt9KLwzDu8ZJ/3EkqDWxZutJTiFIleEV1IXZMdnllhBHnxe7Xufi+UDry0j0ilGy19L8Zn12UnVuB9XtVjg7fZAp2PDOJnISLn26FAyCNV3Yp6sEY8bstQ7JPoRcy+OkGLOzziiL7ZKXjARAweR46J/L2LXtVskQZyHHEg4EoD5Y5RBjrG1+m1Px5yoKWQEwKujL8zIWdVAq4MvyHkjh2AFCneB0PO8qSBwGVDzqkJuXFMnXW3xMfnLGNv/HuLecXN5jhp39IGlrfeHyOA19OrkH2aowngg9Fny8fLq5SwptMEEWN5QzL8C01xjLMy1pdRHEsmP47ClBYXNPIQtd+xSSeic/ltUZFEQcBuUzuLiRnTxkQGXGUiG9fEpSx7Y9MYbFVgeF0Cs0cslpuW15DgXscE91oV3B0ElzN8AvUKPmlPcGtkmoPgcobrFpxvkyuKf0VLRF+R+oX2Tdj2tvvywHby8bTEO7d1bE+fsaLPnhaPVyZfyHZaGtCONBNVmcsmjvsPYfqki9cxXdQ1y+Gki9kfXVx5Kelp1kVdWpS6qGyiN7roXgDY6gJAEePSBBd0kOC+AXT/dwiXe/MsUOMNO0LUYFMQd6wZ4vIg6xXFvdaoA01xXKCZ49p1/zsYQG6D85lurme3i+rH16VwC5xHTmH9irfL7geyp+S49oW9So6aZLn2oHjXWK6tIqkZu/YJdUPvWK6ckPpZrq2iqRIZ9ghNycroRoa2iqZKXXqEpuQvNN268IFrkWGPEHvnWC5QYVgpDOixMLpXAE7dvk5S49IwF3YP5jp1m6EmsFqXYS6PjbNYjTfsCFZzm4K5nmaY69RtyJqIOqPDMPdaow42BXOh7kO56qawQfDjuNZ1cYA2JjTdbM9p9ZgmdIdzmnIS65e81YOaljkQfCXLda/tobobbjDLPWuQXMly7ZKr++y5nyQ+60ddwSBVz6CunJX6oS60FY36eUBXlkY3PYTqKYZeHtCVv9W066Iyql4e0HW6RnWhSsV6eUJXEUb7MkAFRzbTJBTXAmM/Yf5Jf27YhzGzDZr57LQVQ/JwTm8NkqT7MtoNbdPp3wgKQjrqNx/gvy9Sh5DeISQtlj/EkaOb8vdMwOwv</diagram><diagram id="4qmLIUrbY5eXv1VzXQTx" name="wendling_circle">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</diagram><diagram name="wendling_circle_distances" id="F3twALJKrzZBP2fjvgeU">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</diagram><diagram id="Os7iNWjwru7BydZh-8mQ" name="coordinate_system">7ZrZcpswFIafxpf1IIn1MoubdKZp03i65Y4B2VaLERVyvDx9RREYSTghGS+hE93YHMQRfP+RdCQYoIv56oqF2eyGxjgZQCteDdDlAEIAgCN+Csu6sljSMmUklratYUw2WBotaV2QGOdKRU5pwkmmGiOapjjiii1kjC7VahOaqK1m4RQbhnEUJqb1O4n5rLT60NvarzGZzqqWgRuUZ+ZhVVk+ST4LY7psmNBogC4Ypbz8N19d4KSgV3Epr3u/42x9YwynvMsF4xG7Px+TyfxbdAPPJtaPX9nVO+nlIUwW8oHlzfJ1RQCn8VkBUhxFSZjnJBqg85yHjJvmGZ8nwgDEX0YXaYyLti1xZN6sbBnHCn9561eYzjFna1FhuaXuSJKzBvDKxnAScvKgqhZK8ae1u7qFW0rEnUBLRiq0pR8Zp8iyVBc5XbAIy6ualJ9wBHzNkQA3xdxwJP40Hntr+ifiMwSFb4Kq3NeaLs8VtI6EXY4OLCh6E7TkXk0llQ6u88Ie6mqOgHMoQUdfvk7mCzCyzzf3C+vH5hp//vkO2Iaid4akHK+4qlaYkGlaSCn0wUwYHjDjRExUZ/LEnMRxcfn5ckY4HmdhVPhainm5u9aFT7x6VO3qrAdVitU014gG0BIN0NotvEL62VhdA+vH/mGFgfvKsHoG1nEPsdpInZVdZ+icGKxvgP3Qf7AwgCfGGhhYb3uI1dWyyMA7LdbKcQPrWQ+xAi2Xc08crfCl2V1v0zhbz75empfrjg640GqXzkzj3qTrJp0Dn3B0aOmcN+le2usCbQQ98uIJmln+qn/zkAN1iv6p01Fo5vnr/oG1fW1SCOyTgzXz/E0PwbqeCvb0CyjYkumLMRLLgadXeJGjxi2q3iI04LotcNGh4CIz3/9428OFv+3WI+sjaKtF7HHQmu9cLgnDESc0zftHWF9THTN0Z5tP3wH26Nj2rz/8yejdlX3ZNuAaVLcUwA5ODeD76N8uHOozk7mxZzsmJu9QmFp6+Mkx2ZZnYELmLANMTPrib3+YOrwhPXo0OeDVYYKvEJNrD/V3Ri276S2dLnAOhanDfs/RMQXWa8PUZX2eJCTLd81y+w4krbc5LWN3yxSnL7L3N8Xtkc+UhXGRNF/QhIps4jKlaXHVhCRJZRoUL8GLUmQfeVZ+ZjMhqyJI98LXs4deo/ga7UA565lb4e4QKsVqCdZddfbfx/8zcfyg13J02KaNFuyhHnAbG3+S9s5dv5wz+rv+LAzUlkqaGE/CRcJLp+9Jcd+92C1EgT9EzaKt/T2RpTWLrTbQ+csaDwzdZkHPambHTqMQL1w3qmVFhfyRh/Xt1mbq1wpO2+ltRJbtddzkFIfbD/7K6tvvJtHoLw==</diagram><diagram id="ru4UtOQ8VVKgE78shb8h" name="image_planes">7Zpdc6IwFIZ/DZftkAQQL61buzvT7rh1p7u3qUTMTCRMiIr99RtqUDD4UVcpOvXGcAIhvE84H0YLdSfpg8Dx+IkHhFnQDlILfbMgBAC46iuzLHKLrS2hoIG2rQ0D+ka00dbWKQ1IUjpRcs4kjcvGIY8iMpQlGxaCz8unjTgr3zXGITEMgyFmpvUPDeR4afVha23/Tmg4zu8MvPayZ4Lzk/WTJGMc8HnBhO4t1BWcy2VrknYJy9TLdVle19vSu5qYIJE85IKnXgiHrZ4/aMtf7d7vHpKvixtHT26G2VQ/sZ6tXOQSCD6NApKNYlvobj6mkgxiPMx654q6so3lhKkjoJojyliXMy7UcUBGeMrU5O7Muerpz4iQJC2Y9NwfCJ8QKRbqFN2L8qnqldTWh/M1lZY2jQtAchvW6yBcDbyWSjW0Wh9QDqH9yinkcdZUD44ZI4yHAk+UHDERVM2CiM2+/rpjv9Apyd+XswoP7bLwwDOVb1co75xLeWe/8CQKOtnLr46GDCcJHZbFKy/prSKRoOQcTIkKErgVEuQ2QRiWdFZ2KVW66Dv0OVUzWREAsExgRSQfIuFTMST6qqIL2DMQQBsDSSxCIo2B3jGtHvt4cu4XuWPJtfYMdGZy3he5Y8k5W9xnTeTyTKWA7s1gp0KBLNPCjIZRhlLxeQ9HWcCgKi/q6I4JDYLs8so4VWY94pHMIxU8TVAC+QJcrHDdukZYAhXrA+xYCv8VlqBvCL24AqEdUBbaBZ8sc9uQOb0Cmb2N9ew7t75vKo1qVBrB/U7/OjNcaLqSWjNcdEC4/XzlAypUxU159vZEXGRK3Y0YjV/0VclyAGdnuD+ckrO/AISVjuhsdQj4omRSarkNo3QRXqxmSi5o2rvUsF9TtN7uBjALIvv9c6bAU8Eh/wW1xOFsGMxiwYKeXqEz1QyzZielmOV2dZ9C1w/VwJNM3Og1yb6se2j5ntXORh3UnKedghAouzNom6mBV2dq4JhVRgWhLhc82saoiugubP1tw1waTISaBtOsZSrgDHBIpfwAzeddNB+vhabjNoym27AYVswpEj7dllN4O2IcTuLlptr72OfJ44FvBr2qMte/zVPL09dbF5HJnyHhqMg36i10qxzghvAN2X5EG6sWmNLVu/94wGZKQ6Tbtuv0WdI5B+wgHi3diUsEQ7yqEqGqVDuBeJCNX8TbyHe855+zjv039UP7xnSVj/0LTOxBfYm9Olz/y2O5rbP+swy6/wc=</diagram><diagram id="I8uEU4NXEwwy9ipb-RdF" name="position_and_spacing">7Zpdj6IwFIZ/jcnsxSZQEPVydOcj2UyyWSfZ6y50oJlKSamj7q/fIq1CqyOywOgseiE9paf0fXr6hQNntlg/MJhETzRAZACsYD1wvg0AsG17KH4yy0ZZLGkJGQ6kbW+Y4z9IGi1pXeIApaUbOaWE46Rs9GkcI5+XbJAxuirf9kJJudYEhsgwzH1ITOsvHPAot47BaG9/RDiMVM22N8lzFlDdLFuSRjCgq4LJuRs4M0Ypz68W6xkimXpKl7zc/ZHc3YMxFPMqBaLnp8d7mD79pBMPfl/Rx9eH8CvIvbxBspQNlg/LN0oBFAe3mZAiFdNYGKcRXxCRssUlo8s4QFkNlkgFMI22iSwr5Yy+ohkllG0dOdPtd5ej5MzuNdsim4eCEh7ZsgdEF4izjbhhtYcylEJHBR7KxhCBHL+VoULZN8Kdu10NPygWTwIs1ZE9WUR1YwVVuUjpkvlIlipC0By5pxxxyELEDUfiotDsvWnL+AzeTs+7Fm+vKd66o5Z5uz3vOryB1RBvw1HLvIc971q83aZ4645a5u31vKvw3i0nJaZxTdy6H8NRy7hHPe5KuL2GcHsfi3vc466C22kounU/XeNW1fe8T/BuKLx1P53ztnveVXi7DcW37qdz3uftvn0C0xT7W2SQcdN8tCdcOlB7PCyBGNWdn533/bTN87zd1icABzRwtRdWmp/OI/G8fdMnIGdrc51dexA95ahtdFX2QITgJM0my1WEOZon0M9yVgwmZYYwTfKXBi94naGcvmBCCpOmtf28h/cNMY7W7wLe9XlQFm4kW1LoAJ7J3ztOuiTt2TpW2Vxcoo62puPkY2WcGDLeiIAQzizriyGoaCLXlCM4jLMhRgiChFrTTAjsQ3IrMxY4CMgxBBXHoH/ppJ6hrntglAJOS/oCc0908zwAHsl0TJe/xWWYXa6VTdRSMOckDhXYHC5whcyMod1yDGaHZhY1kjbPzNzXzM9BdnUAJmUArjkidRszoMLQ/l/sM4Z6ZNRc9BiOOj7mB+bO8VBEHRnTrjCi1LS6AzepFlKgrZCq8iL1EldLwLmk1RKosmO+RBn1RaftfKyO5uJ9c31RDsbjkqhgaEa5OjPrZuI0F/Pr65PVdcuHK/bQ7KudylrhmLsswonAL8a5PBRvIsSPvFUoqOZYh+YcfVFRQTeR3P/xL18k7P8/6dz9BQ==</diagram><diagram id="hD95C3yb2slNhQ40g6hc" name="3d_index">5ZtRk5owEMc/jTPtQzskIOrj6V2vfWjnZny4xw4DUdICcWI8tZ++UROULM55npAzPtwcLBDgt8tu/ot0/FG+euTRLP3JEpJ1sJesOv59B2OEUFf+21jW2uIpy5TTRNn2hjH9R5TRU9YFTci8sqNgLBN0VjXGrChILCq2iHO2rO42YVn1rLNoSoBhHEcZtD7TRKQ7ax/39vbvhE5TfWYUDnZb8kjvrO5knkYJWx6Y/IeOP+KMid1SvhqRbENPc9kd9+3I1vLCOCnEKQcUd7+en0bPOR/SH93F79+T8Z+/X9QoL1G2UDesLlasNYFlSgUZz6J4s76Ubu74w1TkmVxDcjGaz3bcJ3RF5KmG8Lr0SQgXZHVgUtf5SFhOBF/LXfTWUDHTUaMZLvcuKG3pIX5tjJTbp+XYezJyQcF5AygfgJrwKCfS5AFi8i6FASmj00Iux5IJ4dKwYUFllN2pDTlNks3hwzranC2KZMP23rsQ30GVL+5CvmEN3sboBkfpouuj64cfjG4X0P0kTzXa/n1ume+EFUJleYSayhY9wDuo440b4h2+nlRJkdxtqpNcK1hBqrxPjEiSVEoX5HNw/92a+9c2TrJI0JdqwauDos7wxKi8khJ/mQF1uAdGHM/ZgsdEHXVYoF4ZCCRzEfEpEWCgrY/K2z7fbb3bcltwKbcFdt3Wvy239Q3a4ZluA1nTHKhhtw1u2m1lrnuv28BADbsNQcVQTiaQA5MJWIQsTyYQPg4cuwAclA/bwKHU2wJHrk6XQ9vAofrbAseOAseebeBHBCFyNYdbj3CoCEvgTuZw68ChlitTiosRbj+lQBVWAncxwu0DP0E/Wejc+/6H69zrgQ9DEznU/oTILYcmhhIRUHZI2vu9CzXSzIHabqRpN92I3wJ0Ib+ZA7XuNyhYnfZb15xsnvu8mYmz5Q4ohrr3lvx2dgvU9FvbLVBcI5+RQy1QWIdsTyhq5DNyqAUKC4ht4DXyGTnUAoWZ3zbwGvmMHGqBwpRtGziUz2WEO5nDbUe4DoA64E7mcOvAa17UIodaoEB2204pPpTPJXAXI9w+8Lfp3jiL5nMaX7OEAq9u0ZkSCvyKyByoYQnlv036uuA6s2thNolO/gGQKaPNtlXTroPaYNVycrtAMsPGk9Tvg1xW95aiuc8LoABYXx9VpKfVOjb1WypbWAM463Q8zwBpe26JAG3WlktEAOevV5hnAv9j5ZkATlJdfyCw91XPFN9be2vGarv8BnDSe4WFAg8GAGRztUKu7j+z3Dli/7Wq//Af</diagram><diagram id="62pDtGsv9RNoTwOz8sZi" name="1d_index">5Zvfb5swEMf/mjx2wpiQ8Nhf66Zq0tZsWrU3BE6gIjglTiH762cWm4DPVds04EKeCgcY+JzzvTvOHeHLZXGT+avoGw1JMrKtsBjhq5FtI4TG/E9p2UqLJSyLLA6FbW+YxX+JMFrCuolDsm6cyChNWLxqGgOapiRgDZufZTRvnjanSfOuK39BgGEW+Am0/o5DFu2sU3uyt38h8SKSd0autzuy9OXJ4k3WkR/SvGbC1yN8mVHKdlvL4pIkJT3JZXfd52eOVg+WkZS95oJzlv54vHOLWXr7+JB+Xd+Ru/xMjPLkJxvxwuJh2VYSyKOYkdnKD8r9nLt5hC8itkz4HuKb/nq14z6PC8JvdQGfS96EZIwUNZN4zhtCl4RlW36KPOoKZnLWSIb53gWVLarjl0ZfuH1Rjb0nwzcEnDeAsgGoeeYvCTdZgBh/S6ZASuJFyrcDzoRk3FCyiPksOxcHlnEYlpdf6GhndJOGJdsr60h8vSZfewz5uhq8rdHFz9JF/aOL3Q9G1wF0u56zc5oyoe0ItaURU0DZ0VG2W6I8fllKSRqelzGJ76U0JU3er5yHJGwELMin9v5jzftLW0YSn8VPzTCngyLu8J3G/Ekq/JXuyUnuKLN3TTdZQMRV9bD0wkBAwpmfLQgDA/33UfXah7vNPS23Ocdym2PWbZPTcttUoe0e6DagmupALbttetJuq7TuvW4DA7XsNg+4reu8rIUMAkYewxmErHlrmOHPo3+YQaQwjRkWvbj/mKGym8YMS2Z3eJhtyzRmWDs7/ccMtNn4bIZF9HgAmFVtNo4ZVtGTAWBWi2XjogGr3ukAMKvFrWnM+BWf12vlTpD463Uc9LniAVkIOrDiARWvOlDLFQ+G2cvQXTdW8/RDi1VlIPCNqW3XwYyo6FjcjiFmyi9pCrVM1wFrr0UDE6Bt/6gi22vOTeQZxvq2tsEAdAbjI4UIRxWsrkMETKJ6qDMO/mA687Yv+0P4QdjWJxmz3ht7NWN1Hn7hN/4eBgrb8wDIDmMFdpPcHbv3Px/+WLS4/TU/uyWaPj7gamCxDtDzThfraEHBmOp1PANbqG4h5+6qWy3l0+qc48mROufqQC12zrVuO63OuYOO5DZ1oK7ddlqdc5DbH7rgAahmewsetG6DnfNTctvBCx5Ut7W44EHrNk0rXpp6nUOA2GM4h9D04qWpz5xhsDDN2YacoRL1jjNUd9Oc4bdnNIA+MZRj05xhLYwGsIgH6LPx+QxLaYm+z5yBPhvnDItpNIDVUqBoNq4bsPpFA1hgAqrc9jjz3f3/LO7S7f2/fuLrfw==</diagram></mxfile> |
Oops, something went wrong.