pax_global_header00006660000000000000000000000064135277664630014535gustar00rootroot0000000000000052 comment=88fb3a950bb410eaaa16ed7fa09901f154921ae1 sight-19.0.0/000077500000000000000000000000001352776646300127425ustar00rootroot00000000000000sight-19.0.0/.gitignore000066400000000000000000000004501352776646300147310ustar00rootroot00000000000000# use glob syntax. syntax: glob # vim swap file *.swp # eclipse stuff *.cproject *.project # python *.pyc *.pyo # tmp files .*~ *.autosave # qtcreator cmake preferences *.txt.user* # reject and backup file *.rej *.orig # macos .DS_Store # vs 2017 cmake project files \.vs* CMakeSettings\.json sight-19.0.0/.gitlab-ci.yml000066400000000000000000000243001352776646300153750ustar00rootroot00000000000000stages: - lint - build - doc - deploy .linux_template: &linux_job image: ${DOCKER_ENVDEV_MINT19} variables: FW_IGNORE_SLOW_TESTS: 1 before_script: - export CCACHE_BASEDIR=${PWD} - export CCACHE_COMPILERCHECK=content - export CCACHE_MAXSIZE=32G - export CCACHE_COMPRESS=1 - export CCACHE_SLOPPINESS=include_file_ctime,pch_defines,time_macros,file_macro,system_headers - export CCACHE_NOHASHDIR=1 - export CCACHE_DIR=/cache/ccache - conan config set storage.path=/cache/conan-cache/data - export CC=/usr/local/lib/ccache/clang - export CXX=/usr/local/lib/ccache/clang++ - mkdir -p $CI_PROJECT_DIR/install $CI_PROJECT_DIR/build - sudo chown -R sight:sight . - /usr/lib/git-core/git-restore-mtime --force --skip-missing --commit-time .macos_template: &macos_job variables: CONAN_USER_HOME: $CI_PROJECT_DIR/conan FW_IGNORE_SLOW_TESTS: 1 before_script: - export CCACHE_BASEDIR=${PWD} - export CCACHE_COMPILERCHECK=content - export CCACHE_MAXSIZE=32G - export CCACHE_COMPRESS=1 - export CCACHE_SLOPPINESS=include_file_ctime,include_file_mtime,pch_defines,time_macros,file_macro,system_headers - export CCACHE_NOHASHDIR=1 - conan config set storage.path=/Users/$USER/.conan/data - export CC=/usr/local/opt/ccache/libexec/clang - export CXX=/usr/local/opt/ccache/libexec/clang++ - mkdir -p $CI_PROJECT_DIR/install $CI_PROJECT_DIR/build tags: - mojave .windows_template: &windows_job variables: CONAN_USER_HOME: $CI_PROJECT_DIR/conan FW_IGNORE_SLOW_TESTS: 1 before_script: - conan config set storage.path="C:\cache\conan" - if not exist "%CI_PROJECT_DIR%/install" md "%CI_PROJECT_DIR%/install" - if not exist "%CI_PROJECT_DIR%/build" md "%CI_PROJECT_DIR%/build" tags: - shell - windows sheldon-mr: <<: *linux_job stage: lint dependencies: [] script: - export ORIG_BRANCH_COMMIT_SHA=$(git merge-base dev origin/${CI_COMMIT_REF_NAME}) - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-git.git -b dev # Execute sheldon, on all commits from the merge request - sight-git/hooks/sheldon ${ORIG_BRANCH_COMMIT_SHA}..${CI_COMMIT_SHA} sheldon: <<: *linux_job stage: lint dependencies: [] script: - git clone --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-git.git -b dev - sight-git/hooks/sheldon HEAD^ HEAD except: - dev - master build:debug-linux: <<: *linux_job stage: build dependencies: [] script: - cd $CI_PROJECT_DIR/build/ - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/install -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF -DSPYLOG_LEVEL=trace -DENABLE_PCH=OFF - find . -type f -iname '*.?pp' -exec touch -f -a -m -t 197001010000 {} \; - ninja - ccache -s - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.tar.gz | tar xfz - > /dev/null - export FWTEST_DATA_DIR=$CI_PROJECT_DIR/build/sight-data-dev - ctest --timeout 240 --output-on-failure -O ctest.log -j4 artifacts: when: always name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - $CI_PROJECT_DIR/build/ctest.log build:release-linux: <<: *linux_job stage: build dependencies: [] script: - cd $CI_PROJECT_DIR/build/ - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/install -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF -DENABLE_PCH=OFF - find . -type f -iname '*.?pp' -exec touch -f -a -m -t 197001010000 {} \; - ninja - ccache -s - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.tar.gz | tar xfz - > /dev/null - export FWTEST_DATA_DIR=$CI_PROJECT_DIR/build/sight-data-dev - ctest --timeout 120 --output-on-failure -O ctest.log -j4 artifacts: when: always name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - $CI_PROJECT_DIR/build/ctest.log build:debug-windows: <<: *windows_job stage: build dependencies: [] script: - cd "%CI_PROJECT_DIR%/build" - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 - chcp 1252 - > cmake %CI_PROJECT_DIR% -G Ninja -DCMAKE_INSTALL_PREFIX=%CI_PROJECT_DIR%/install -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF -DSPYLOG_LEVEL=trace - ninja - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.zip --output sight-data-dev.zip && unzip -qq sight-data-dev.zip - set FWTEST_DATA_DIR=%CI_PROJECT_DIR%\build\sight-data-dev - ctest --timeout 240 --output-on-failure -O ctest.log -E fwRenderOgreTest -j4 artifacts: when: always name: "%CI_JOB_NAME%-%CI_COMMIT_REF_SLUG%" paths: - build/ctest.log - build/fwTest.log build:release-windows: <<: *windows_job stage: build dependencies: [] script: - cd "%CI_PROJECT_DIR%/build" - call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 - chcp 1252 - > cmake %CI_PROJECT_DIR% -G Ninja -DCMAKE_INSTALL_PREFIX=%CI_PROJECT_DIR%/install -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF - ninja - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.zip --output sight-data-dev.zip && unzip -qq sight-data-dev.zip - set FWTEST_DATA_DIR=%CI_PROJECT_DIR%\build\sight-data-dev - ctest --timeout 120 --output-on-failure -O ctest.log -E fwRenderOgreTest -j4 artifacts: when: always name: "%CI_JOB_NAME%-%CI_COMMIT_REF_SLUG%" paths: - build/ctest.log - build/fwTest.log build:debug-macos: <<: *macos_job stage: build dependencies: [] script: - cd $CI_PROJECT_DIR/build - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/install -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF -DSPYLOG_LEVEL=trace -DENABLE_PCH=OFF - ninja - ccache -s - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.tar.gz | tar xfz - > /dev/null - export FWTEST_DATA_DIR=$CI_PROJECT_DIR/build/sight-data-dev - ctest --timeout 240 --output-on-failure -O ctest.log -j4 artifacts: when: always name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - $CI_PROJECT_DIR/build/ctest.log build:release-macos: <<: *macos_job stage: build dependencies: [] script: - cd $CI_PROJECT_DIR/build - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/install -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=ON -DBUILD_DOCUMENTATION=OFF -DENABLE_PCH=OFF - ninja - ccache -s - > curl --retry 3 --location --insecure --location-trusted -s https://gitlab-ci-token:${CI_JOB_TOKEN}@git.ircad.fr/Sight/sight-data/-/archive/dev/sight-data-dev.tar.gz | tar xfz - > /dev/null - export FWTEST_DATA_DIR=$CI_PROJECT_DIR/build/sight-data-dev - ctest --timeout 120 --output-on-failure -O ctest.log -j4 artifacts: when: always name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - $CI_PROJECT_DIR/build/ctest.log doxygen: <<: *linux_job stage: doc dependencies: [] script: - cd $CI_PROJECT_DIR/build/ - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=$CI_PROJECT_DIR/install -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=ON - ninja doc artifacts: name: "$CI_JOB_NAME-$CI_COMMIT_REF_SLUG" paths: - $CI_PROJECT_DIR/build/Documentation/Doxygen/ pages: image: ${DOCKER_ENVDEV_MINT19} stage: deploy dependencies: - doxygen script: - mv build/Documentation/Doxygen/html/ public/ artifacts: paths: - public only: - dev build:sdk-release-linux: <<: *linux_job stage: build when : manual dependencies: [] script: - mkdir -p /home/sight/sdk/install /home/sight/sdk/build - cd /home/sight/sdk/build - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=/home/sight/sdk/install -DCMAKE_BUILD_TYPE=Release -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=OFF -DENABLE_PCH=OFF -DBUILD_SDK=ON - find . -type f -iname '*.?pp' -exec touch -f -a -m -t 197001010000 {} \; - ninja - ninja install - ninja package - ccache -s - export SDK_FILE_PATH=$(find /home/sight/sdk/build -maxdepth 1 -iname '*.tar.gz' -type f -print -quit) - export SDK_FILE_NAME=$(basename -s .tar.gz ${SDK_FILE_PATH}).tar.gz - curl -u${CONAN_USERNAME}:${CONAN_PASSWORD} -T ${SDK_FILE_PATH} "https://conan.ircad.fr/artifactory/data/sdk/${SDK_FILE_NAME}" build:sdk-debug-linux: <<: *linux_job stage: build when : manual dependencies: [] script: - mkdir -p /home/sight/sdk/install /home/sight/sdk/build - cd /home/sight/sdk/build - ccache -s - > cmake $CI_PROJECT_DIR -G Ninja -DCMAKE_INSTALL_PREFIX=/home/sight/sdk/install -DCMAKE_BUILD_TYPE=Debug -DBUILD_TESTS=OFF -DBUILD_DOCUMENTATION=OFF -DENABLE_PCH=OFF -DBUILD_SDK=ON - find . -type f -iname '*.?pp' -exec touch -f -a -m -t 197001010000 {} \; - ninja - ninja install - ninja package - ccache -s - export SDK_FILE_PATH=$(find /home/sight/sdk/build -maxdepth 1 -iname '*.tar.gz' -type f -print -quit) - export SDK_FILE_NAME=$(basename -s .tar.gz ${SDK_FILE_PATH}).tar.gz - curl -u${CONAN_USERNAME}:${CONAN_PASSWORD} -T ${SDK_FILE_PATH} "https://conan.ircad.fr/artifactory/data/sdk/${SDK_FILE_NAME}" sight-19.0.0/.gitlab/000077500000000000000000000000001352776646300142625ustar00rootroot00000000000000sight-19.0.0/.gitlab/issue_templates/000077500000000000000000000000001352776646300174705ustar00rootroot00000000000000sight-19.0.0/.gitlab/issue_templates/Bug.md000066400000000000000000000015221352776646300205270ustar00rootroot00000000000000### Summary (Summarize the bug encountered concisely) ### Steps to reproduce (How one can reproduce the issue - this is very important) ### Dev environment * OS: (Linux, Windows, MacOS) * CMake version: (cmake --version) * Compiler: (gcc/clang/... & version) * Build type: (debug/release) * Commit: (current commit or tag) * (Any related repository commit/tag e.g fw4spl-deps, fw4spl, fw4spl-ar ...) ### What is the current *bug* behavior? (What actually happens) ### What is the expected *correct* behavior? (What you should see instead) ### Relevant logs and/or screenshots (Paste any relevant logs - please use code blocks (```) to format console output, logs, and code as it's very hard to read otherwise.) ### Possible fixes (If you can, link to the line of code that might be responsible for the problem) /label ~"Type:bugfix" sight-19.0.0/.gitlab/issue_templates/Feature.md000066400000000000000000000006651352776646300214140ustar00rootroot00000000000000### Description (Include problem, use cases, benefits, and/or goals) ### Proposal ### Links / references ### Documentation blurb (Write the start of the documentation of this feature here, include: 1. Why should someone use it; what's the underlying problem. 2. What is the solution. 3. How does someone use this During implementation, this can then be copied and used as a starter for the documentation.) /label ~"Type:feature" sight-19.0.0/.gitlab/issue_templates/Research.md000066400000000000000000000021031352776646300215420ustar00rootroot00000000000000# Goal and general information _Brief description of the goal of this algorithm research task._ # Specification _Specifications include functional, performance, language and data. The algorithms should focus on solving a specific problem with well-defined interfaces._ # Background _Background check to see what algorithms exist for solving the problem. Do they meet our needs? Have better new algorithms been published?_ # Data _Collection of data required for testing (or training in the case of learning-based algorithms). Formatting of data so that it can be inputted to the algorithm._ # Evaluation _Evaluation framework is used to test the algorithm for correctness and meeting performance specification._ # Baseline _Existing algorithm selection, implementation and evaluation._ # Prototyping _The main algorithm research cycle: evaluate performance, make improvements, repeat._ # Integration _Integration of algorithm code into production system._ # Communication _Communicate how the algorithm works (internal and/or article publication)._ /label ~"Type:research" sight-19.0.0/.gitlab/merge_request_templates/000077500000000000000000000000001352776646300212075ustar00rootroot00000000000000sight-19.0.0/.gitlab/merge_request_templates/Merge_Request.md000066400000000000000000000010341352776646300242760ustar00rootroot00000000000000## What does this MR do? (Briefly describe what this MR is about) ## How to test it? (Describe how to test this feature step by step) ## Data (link to the needed data) ## Some results (Some interesting results, screenshot, perfs, ...) ## Additional tests to run (If you need some specific test e.g Windows compilation...) - [ ] Build on Windows - [ ] ... ## Associated Issues/Merge Requests - Issues - Fixes repo#number - [ ] depends on repo#number - Merge requests - See also repo!number - [ ] depends on repo!number sight-19.0.0/.sight000066400000000000000000000000061352776646300140550ustar00rootroot00000000000000sight sight-19.0.0/Apps/000077500000000000000000000000001352776646300136455ustar00rootroot00000000000000sight-19.0.0/Apps/ARCalibration/000077500000000000000000000000001352776646300163175ustar00rootroot00000000000000sight-19.0.0/Apps/ARCalibration/CMakeLists.txt000066400000000000000000000000451352776646300210560ustar00rootroot00000000000000fwLoadProperties() generic_install()sight-19.0.0/Apps/ARCalibration/Properties.cmake000066400000000000000000000011351352776646300214550ustar00rootroot00000000000000 set( NAME ARCalibration ) set( VERSION 0.7 ) set( TYPE APP ) set( DEPENDENCIES ) set( REQUIREMENTS dataReg arDataReg servicesReg patchMedicalData arPatchMedicalData gui guiQt ioAtoms ioCalibration ioActivity uiIO uiGenericQt uiMedDataQt media arMedia activities calibrationActivity trackedCameraRegistrationActivity toolCalibrationActivity appXml fwlauncher memory preferences uiPreferences ) bundleParam(appXml PARAM_LIST config parameters PARAM_VALUES ARCalibrationBase ARCalibrationAppBase) sight-19.0.0/Apps/ARCalibration/rc/000077500000000000000000000000001352776646300167235ustar00rootroot00000000000000sight-19.0.0/Apps/ARCalibration/rc/arcalibration.icns000066400000000000000000002167631352776646300224320ustar00rootroot00000000000000icnsTOC His32s8mkil32 l8mkit32 t8mk@ic08Ric09dis32 FbfH:_6ik\rP Xi  u= r@ Ox+ - KN;'"9;" .7<;:4  75,/04+ 4673 63  46 .5.  572 !7  (39:7, s8mkee+A6B2&**)-A+8Zux]8AcH7ysC?4.2?C}:CZ:C]:Ct :>&Q@D@7iqCAaPF81LM38+A5B:+**-5C+eeil32    &pҶ?)K b j;/w EB@q     u  a e   r$%  fuj5$)D - X݇Pq|^/    "),-+%  $3786434686-46310245532.9!8223383+'(-567  523434 4!)52424  52417 7234. '6227!,5327.4327.4327+5327 $6226% 72432 33426# 71516.51536+ );  06122585446824(7541/011012<(278875-   l8mkMMOPvlmmmmmmomjjmprrqnkiknmmlvy  yo  #/2) oo  _}' on knn nn nn U"0jnn!Nnn~  nn; nn  nn * nn5 nn3 nn # nn  nn^  nn^ ' nn * nn Iq\cnn pnn ^nn "R no Ui( oo    oy  yvlmmmmmmnoljijkkkjiknommlvOOMMit32     0FZm}|hS>$  )\ ȟo<   Y r, R}( ~ W tt49 X  R W 1U CU IU D U 1UץwQ9' *;PpU w-:yU{D   pU5 K  >U  ,Wcj 2S X  PZp ]  $ | X(n tdT; )eH5g       x[<Ey wY< )W&R7 F  nH  0U7 S Q V +     )-12.'      &-14667653/)!  !-47764322122345775/& $177431122334 3321124674*  .6631123434 3213573& 174113443 44321366- 17312443 4321570  +731343443/7551343436(72243417 /614342634243426533434343426533434321122321123443426 343 442125676532 3567764212343426/4243422574,"  '0576312443426'624343266+  '2752144341671434146& *57213416 424327.  $4727)624327  #4706624326  (57.4342537243426-5234176243426&'624313417714325,(6243417234.6143417714325 '624324,/43417! 3417624324 71430714325+ 7143426'#6243417"&6243417'6243417(6243417(5243417(6243417'6243417$6243417!7143426#7143426(714324-71432 524342623417,523426&$624307143416 5243426%/43 "714341772432 043427# 7243426 5230&6243425)5243426$&6243427$  %: 4243416) 44572434251 27307-434246%   "2731426524343164# *5631344267143 41276,  ,475213433426$714344125762,%  %+05775212443426)61434421235676542112343426+61434432212233443426+614343426'71443426!72243426451343427 +731443525 3721343442: "57312443 44321472  #37411343 44321367.-67421233434 32113673& "/5764212232 11235772'  &/4677654323 4567751)  !'+/1234 321.*$   t8mk@"oثo$56  ;;&ε%l++k3  3   /BZkxwgR;#  ,^ɡq> `y3 `׉3(g+cTRETpTTTT ToTDTިyQ6&)8OpT݃4>TYY  (}Tr  OT' ATQUS%Y j A0 ~z #WD  (gG6f  ~ |     v[;G}  {c@:a? EM J;4  TZ2 KRK/TP /TD JT)N  7TnO3dTֵvpryTT0TGTRTRT@T&T S\VE:0F)3gWy)C͘Y  /W~˰g?   '+00,&  3  3ԩl+,k&ζ%;:  56!oثo#ic08RωPNG  IHDR\rf iCCPICC Profile8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|UP`o@IDATx %E},w;20 "b b/h\"I佗|ƬHԧQ E(dYeaa.g~o9sar.NWWW(T$MZ1+ɽRrK$7E4<<v@Ez垕{L {m3'# Ԉz0I4R`o@Tr<<ÁM.}_y9*gؔwx4`3~ύg7S# Ҏ䞊s8 r4 \'Y c`id/r @X?z^>0> 06(d" 6iBr!rK Fz l45&~ρ6P4kLK~. G`s{unFd1j9{6f\<< / MA9ìaXA/&,!F._~鹉œבss9[/h 96Mw'-= 1k'ρlst8x:`wg +r7iAs`p[']) l, |i:vGA(AJptdC?'̜JkA'jII%|ԶTr[)L%ί6˩|G#R·IBܧ{T_JkX!?[QqKiyyAشyB)e?au~@:[ ?# K #*9ɼ / ]^!h21R6䄴 %WLaYi@bU)=RkJA8w@R|r Q3Ҽkqi#˔.i2+S3Հ/[S ) )Ban0sG?K:G?KB9A:xEWҝX:) NK:\wD|Ga(peSg$Lĝuw?+aOU4>csumq-Ѧ[a'O΋f/ }RO5 jLKa ݀Ej< ݕFq..GB+sNCrY: $!H'RMRiuQ X.V]-!evQ`je/ߠsd15єTw\kHFV&!REfE s^4#*O'Uk7Ԋϕ,ևQ\5JmSᄂN[ƟM)8ZF_Kz\̌JXRLbkr53$N:60DƸvF` ? ~MҔ^ Y:#їɗV)_%A΍B&y0ڈMxgM K Fo^RFZ|2qW>E7DŽahwZjuܳXnQr,AP|WEDhٴy0~MJa rF>տ$~!ZᩓO+!/shO&-T$xfE HN+_Q =6%/`=- ,>z*eԧaOH Vz^.xz@aO\@G240bCB(4=Ir xUjHG*yܖC}h@~:کW3'~Ba*#>h>ƇHolZf,Zh^[rԁe.YFú*䳢}LL!QN 4<>pLwC`gMGp˓ibKh;JK'̍4P}>q)e hof`fH: ݆D/8BRZ)ȇez.,AQ?Iliv8_\*)oL;MBH~xul Fρ ߗgҥsOC->I;b*Ó@V8[0~1 ]osRdo<^Pqgԇ,a{{) gϒ^V}]!W:=ҬG{EKّ1~8ym1OϛQQCO{~F}<_sp 1~~bQ]QWMB[S+`~v C:[CQ_M"6*cd^-1Pjw7,߲yh!$y{gxmF9k5Ro>BRv$/4jF#`qe{~w ~7 :"Oo`8 ĪFYk$XO'eэ荗 `Lѧ>s GৗyzV T쀔ELrI,ں- lz'b}=G4YLwPJO/L]-o&]"KZ>'hpI}AA56o`WE"7f_2;|O[HD ΀ ?#.`.%K$^Vy/IInc% {3,eK܁ P?:bT*atbW[ַG JB_ie==7TnF]c$ [0nF?=\N 0Љ: H:B+؆LPwlnOl=ҟS.o9_VӬ$JRnP6*"6}~v3h?S9J7[g``8I'vGzU=a(ߝk%vj0WzshLO{u_LԿ?%N}6)K%jD\T n鑾8fst>KO]Xˤ/H7t4tܫS9P`e8q@p@\&=kUAr\S謞8}5Am^*{) 6^E1/x|h-J=O(D(/#aD2DߺVZ[N]cG~P U_1#:ɊwGdէ@`8(TU+ J Q̗w_%m䌧#_DZ9Ss7L =8irB֐ff+^/RvU?YQr"yDD pĸ46J϶bW'f}[3ow;)K@8cV@J8xr,0y)}pICY7[XoEϑo7o;z#~\Qzetv4f.? 0xM\{"ÜAY~8Q[t~3<_SgDI7_ V qnJ6$mN]GU'y~ K\ataauF6˜qHRA$QĚJGU:WL9Zq>k]SySO9q9-]|eS1ݴ*T+4]9]'K"yKqq+_XW-F u 6Qvv鏯Oh;+=RyExO4&=C_g>HK+jM->F|3ګyIϋ@K$^ߚЯs4l6HH|XU\C%˞}RJYn ${HnԮEۻy !y9ٚ]0?!9ʠ`ZpIQBk4Z^osP&Z+'Aa -T/Mg٪$gjť*eE.ha Kpm=I_'ss1VTEV©d(7HY#\U߿Zsɂ~FEˡ`O5y'P @B5RΖ g4+XFzfػqFzlG:0TW'8ΰdzsDc Ft W DaڗhIz;X i;6S-MTT8g n 8KM<ޟ.~;7w1ڀ$LA<'*OFTvւzIU 8Y!z Vä3_TJhKIx79_g3Ukx]:9:Q?NktV r? 8U%/s[Rt5|dz4@_; :h`~oU[vdwX~Ǵ\ANџJ`K];OU*˷'Ex{P9W6~\Y{:Y&],ZL hSbOU~Ab5~-tJ,ܺ~ uuq[ti03v@}:<%&וfKKmCjI^OR?|nj\ej!wn֦4F@o%w?_]HhR]Oqx=> Nn r{YG[]1`o{Ɍ#s#["FE(aJ6RUJ#݅{I~~1aD߀Ŷ-堖tV'aYrZ|ƛEGu@D;J=MrŚjCأ, #K<`T9!m;gj1v5oڢT{7;0ZZ]0lOyk9z:TOOjuf%ɨړ0sU0Le>Cr1@>Oc ;c/[]8%ϛ+MoF,BTI^]_޳#fؿP'AymVFN\8-6 3*:=%7?õP-GNx!kV;Њ:N2,u4V&ܰnOꕥ2L|Vqw+,a͢`Q?[?SNvw9P~׫0SS9uH ad{\4к_G4 ǁVFLTcA13u.Fجؚk{o瓰-Mguqu^0n0CHZ4K3}52H',,KC)eaYe5;ul[hZM8\Kj0.I k62!$SW)%P^/p@5}P: ;j^50M/?}٣?jKt/}&pUGIQ6?3Qq;@~_'N! `Q$L~lM#Z )a`ZXY<pxru@n :kbހ=}1o"o}V{@+ 7pϽUl2l) @/Ik90^hE` jAc?3ZYhSP3}&BkiN}.( @ qa6Y%9ՀNS 0^hY ujn`j>dKYuGy4(ܘ?n[\Ȑ,5+ݼPpRV&:ZYlq 6zȞMAiŋӎ@d1(o9& @!Y\LA)P$۸i[}ҪC8Њ.`; 7B^ zl1@J;G~$poxl/7iI,e_!hi6|~c@+u0Ñiė҆j'ݳ50~KR 8X7U&0/ qskMiR7)WF@^( s: A>PQ]rҢsh9 sk{u DDŽ0BZ7#QC-"+̆&^<ZQ-6׬oP`4>\!4 P|sh5?#޳|pCm77ȚP9)ui5!ة9:X]hyhZMcL$Mzfh $q{Q I 5L}AZ*',%4۫Wэ>QiS\R?x4*Lƴ'8f u5cʌJ,J;̣vJtf.'ρrW_*6S&.U#;<}\a%IMi''ρq1FPr3k5*%1#68K"4'ݚ:)b/Jc9]GP68shEF4m l}>U&ȭk&OxZ'4,ɫ&g0:Fև x| O(v #F` ޠKݺ0S9N1alc8ujB9 ) ly c{zvR}PN67ѭHR]:QXD90*!couMЭ(|hRD{|`N+iKT!s`TN4(Z5[B9ʈ\BXISw88O&tu0Ө9cJ,ZCWdi-jO\=9A$$ +\=u4vO\[P 5-+&ue)8J%i73;=*i] ԧ/h` Ӷ0pOȐv*nu>[*MYWUJ*%5 bpѲZ P.?Z P1.a7lĚ0(qH * u GYvBׅPRs b), i]OO[\c"5}c-FcpjKS./T_SKf˱DGOK!1 2ry! & ;Ku_r.> "hdQVCc Qo=xmj>jLnJ!z+ ,!p|QYO5xjH{rb"URO/W؉r}r;uo %jS:thUt%\&⮰$kq%!9*uPhNKtreJ 䞸=p\n=5'5ѶVe_ b@_spn.L0߱1(>jo~]faږ:봭N}QxW=:90~\AcS; ua5 ~[.."QF _;䇇:fSB;r5,m˅a;pl|s [{ųQPx\#S3.d9Z&[M N U?wް뭻Psj7ºmq:%OԂpiW.eqS_.)Bu)=6ޟhM!7ߏ?zjN +/.D_׷@FVG~ֺ&hI@E3r߯q$O(+D%Xg5uE;veu3e,[*O@[ӯIk5:QGF|_C+ş*zp&NE۝X׬HloejG:H)X%%_Tj'PguHM!PXX /_;5{!7+ѱ @>>ycU}|iJ>] gQ VPk@x=Ֆ4'lJ6Z#W-ZQkEDY2|~A1|~J!(K@\$< fdD05`'Qc˪@F{&JuhoFH~H%%ŎC0 ǂfujAv4ksRF?yh hq# BxH'nj|3:3U+% $STL^:Zu9ot:wjIޕWa@..!࿣'tȲ?p_}HnM!4 D9;dXE~r٪ԮkL.BerNhTpB\whp|;D,*"w6.-qt 7'.FBf{ّp]NuQ*]8}AGb^n#:tց_oxs \-y(8' Y'JQ^*.a_(ZZ8z/9Ap9)]A(YuVIII^G0TB@9us G|"tWfgIH V/U/8+ AԽ$Ѿ!yݓLta~&I,[Rћt EP=Yg'olnOߥh$HLYt*SGJ! QQA^@?ACA&ճ7NzK_} QS4%'1ffٟh;Wuκ?uṪ3>L E6D&CQ^ ա@A͈mq馭qtxj&Mu@xL|Ra+Ň nCGSuEn1'K6)4Q(Bұ`:, WOʕN&Ɗ;¼r$*ro(i{  > -w\>dB'T;Τ:$4{,U?#iB/+Ԗ֊'6TT iQ>nsuҝ cҁO΋Fn a?P1uFեQȮ :I#ʕmkz¢'^ZF] 4<xOt!}2I:?lrTwq({V(3QA*:(R*jߞ/ IZ.!сRR]RĹAnk->LAR,:aԣ@Oi 0>@Wr &_,q#NDzun?B^IwBA=z[QP-8 U</BfGF LIoAo}엗^ߍB)ZcV9yh8M:^8x+5Ck߱Z}oJU==Hxۀ~^ Ɯ5b;掲 ?8̂!@p XJ[q^L lZ'i9`Ɲ[q @8s?ڲ 61æ"`׉MX 6+OTz0.<  Əgo&b כ%үrֺ@͏Exzd6Eb=)l缺w#腖Q؞9O"wE'l+]x46g|u t~:iOy >oZtΔ( Ö B[prnm.;uv,ΐP{9s1 ^uhtQyY};-[[]U$ݦqY3kE_w}quَCw猽,/z Sݘ" \၍:, "J6.O]?O:.P?N-9ϕ)l݈+HN+/&'ty_ ;*?9Cp"9J=i:? r0VTЍYz}}}AqNu&?ѼOQ4}xOM:R%c`2 I[&?q+>}L]{Gu|ڇu0YT Gw&4 kQD4&g Fp* G{pZ׽nx±;Oڃ}qt,ڇ۪N#B+J~I!.J(r5z qv)7#yVoֱ`yP;OI}J_t~‰-ئ/}U bX[V16=:B#}3p7PpGFFj(5Ces;TpvވLTZ7TVMȭ.' '@SqtUw=Ko|)2ie$x {8oL\Iǥ4@0p-{_@0فsyFW /*}R< i 1 oB՞1@Ij oD.5O0UoxZL~eZq\V=R I@{kʯuJ!4(.unu fG=^1 xhh ho3Z^q(1uП&$]c#?#/ G&ʝ{ZC;gcfaY9uBܗF#u䖋 4 hO/ 1aή(Bq5F3@nS8D )p' Yv=##D=+?6lCu40&dvH w[ކ<zX8X7qPY-X/uXےhfvF=v7zk"h"3[<+l` 0<<ڔ^ij{/|?hcxƍ9m/ڸ}'$8vJ7K4PПxx4r6s=-lV({)Muρ6a7"!\lte/z@1VfЌ,>@+q0eK ;ҜV&6b,y>@q0d s龉pr pD:pc ^990vme>| Mg`^ND6W<<FÎanliΆGQ#VG'?r!weNz +0t$GXF'd9hH?!7_&\+P@L-Øan4x5 2=|fzHR@ Rrș@rB{ؕ S9ۻ[`9!hEnq,҅H`Gx'ρs6j8ôagPO/qQV(#SU3tr/șד@sNE{ 0m}r>&t";j<8˥kԙmā1Lfe#'2*rHN9, 2AƘME`\ ;cIJayn0Ya\ftWq.}GO@#f0X}9݈Ak%@:A?C@ ?zd`Cr`GxHF gÀXTQ'ρp>,}IEyayw&q^-<<&q`~SMH(hp2A`-E9lvzx9`l3_t0#H4ȝ#P@8u>ρ9àYQO8#KlC\F]eܐkfבss9[spFnn a^JdZyp Y!X8x9``-` zQu=rkCѥ4@lndxur!mMH$\cuss`h~=8;+gi HC68R?"w Q8B=yxrC :ڢ}Vl@ aUޗ&",snAߒPTr<<Á.?qCæ h6ވ0c0*`,\(D@Ir\Bss 3Zsrʭr\3bhop#&-^"'~*IENDB`ic09dPNG  IHDRx iCCPICC Profile8U]hU>sg#$Sl4t? % V46nI6"dΘ83OEP|1Ŀ (>/ % (>P苦;3ie|{g蹪X-2s=+WQ+]L6O w[C{_F qb Uvz?Zb1@/zcs>~if,ӈUSjF 1_Mjbuݠpamhmçϙ>a\+5%QKFkm}ۖ?ޚD\!~6,-7SثŜvķ5Z;[rmS5{yDyH}r9|-ăFAJjI.[/]mK 7KRDrYQO-Q||6 (0 MXd(@h2_f<:”_δ*d>e\c?~,7?& ك^2Iq2"y@g|UP`o@IDATx$U9lbQdI HЫ^s(5 ! A $d$mves;;[3]]*t IUmJi4C(`mKu@@.X/6thoKsli(%ҪCCKZ  @"4'q!i`Oҟ*a ց{;:{ )H  $u!%]#=(I89Dl*~ @BZ.VI%88Ҡ! «KwKLT-%0@@ؤ^)\ZPL裌~GW)2M )'Y@ѬIC" ğ;Jפ[b9_K` d'pNEjqxgZ?ȇA 5u ]_VاՅ6Ϛ&Qw!@)wdM y'W=! @D5edհ3`Zo/ @(u $`w >BQ~ @)4xආ%U:@J'뉟za8֍").r `u%kWda8?U lU?  (%{`VE|qޱs# @0'f]!o$1@@q ސ^'|+=5A` @=^LS$JR@@i XW^=IFO}m?O(s- @ :V'M<=[EpLty d@ 0J =qlKr @(*}u4(01-?8P @'5J{/w4 PZrIB.-6\@bAXRҝ`# _  @  `'icgnuy @!0XIm,]LMs$V!@%EI*-] nFs dv` ̗zPgp جX'Kc? d%-Z @H6JDi?ZT~JCK=`Zf遫8 @ VyHoؿs $M6uSiph}% A#`K296M&6(.䇥U @l<4ɞ>,j˕RSz>7DtZ2  DAkfII+-YC3Xi>]JˠS @ V)-\4g5')#)C2r @@qXRNkv:JRWz P$V](%q)IH|Tف ă$ԣȮJH'}@@\$ lN}H؇ 8:N)Nn696ڟ@1VT)R:+RxQRGb @[ bɖƸ/d0J  $:)-Y"濟+6 $Y<7"Ƀ Q'.i"@q+aqWn JK`/m};smGq0@C|^ʏ7=SJ: @(>ĵFO 0@@ Ĺ`}'+O!@Zź `@@ ĵ.kwl)8ZcE @= ^6 @TX]@{@@8Xd w Pp*2 @ @ T`e@@@B'  $PN!@8| @H ,Cp@*@:Y  T  ,t @  oN{Fo}nk:έ$a@pym@پ*`s 6Ik,Zsw:bx8\?1,MNv=nf]怘9ՖB9oIjc({8e_dYQޫ-UYiN2m̒^ؾ9 - PH& "P={m׎[_#ꔊ>_>zNѱ=?V[U{Zi5MG^5iwmnvn]#**lLl--%AId"Ċd}~^=[{h6޹̇2zZ~\AxhP|{h "r3X6 yݎߕ`aXٹp)i -=-m0DۉĭDH:'`t*}ZSvަۍPcUOr$iB}u{%~%Zw,4 x}K{Cy] \.A 1?ғzB۷%2 Q gRq ʅ }P:PSt=Ϥ~٧Tv`>V{ϑ^fmnsoh w7,P%M m=8y폐JߜkU;K{~iuc ^ 9r Vl+9s>˜p(݃8nIaJ푒UVr>Un~U5n>VD 4 -I9llug- C|Q  p{6҉!RNq骩QFڿƍaXXmZ-,أ$KzP,p(݃8n%JU?)yvxC4wժkȰ1_X{u #7~);u1 8yCĆpIn'mW?v@ KgBpZNc ַlн%2pt3  0< A[JJO,X^l=VUŸn`E@ u5Q9Kr*a @ht@ล$+3%k/U=ޟ: )SVjwV,U7HI/8yGM;Ub|IcպAݎ*4>6v-n9陿jt9W@t@%r6U%jz9Z/מ𤟕's#0_yUeu}ˀ;Y2gbઈA["#Bti8 ;I uSX'¨_}O1-VlV\8yn=8yP s1פfM rVPsh'!:[Ur7#ZJ!V8ypn=8yPX/'󤩝F3){A|QlEp~7t Ap۠{p-/M,$wyKEuV>su[TX/k.| AA["`M'J?fd ^s*n?A ""hvY^U`r+[8yl=8yV@)۝*O[7A}q.xdekcЉA0h9Xp`ؠ{p-98XW^*Ajw(\2 |iqe[y-KilRGQ4C= R5eci tSWrPf Ύ 'G qEFs$`M{Inj 8V-m',J]IC>lb{YO9G|ȰL"~8șdz?1 kAJH?9|L=KMq@888Ry5EWs`t4CL Ln}XɗcY:+C!T8 $<;*7HIǮf4=;~*@}3~rpdl}et;dc_ ;2d D Q}]iB {\8 @6*+oM ύv~~2Cx[)0)r|;9*-RĞ@싨&AC Hؗc@p}t? }45 Ǎ'Mh5 XE1$>6*)UՏW镾/eK 2%P[l Q\J8>wMsצ# 1IH&s xɯSՄZ{o|K e-m67ͭhnstŹڮvMsm/Zږ2*d_R ZF P_/!p8| !#|?ov /1V[ZKZݫ[A }bs킂WGvv޹r4e~!X_JzU"&bUp@$s ~?dIoV}-ɍMm靍ΩmtR3G!,կh-a]4ruwi>5n1#r,󴓢ZJ2߹#V֩bw7sC!}>`-֛) P>ާ׷ij9 t8I/ߖI~[m&ֵzؖՔWu?VYӽBpoKJ 4ӱ\ٱq}g̼N* }7:J) l߾=uMνbZs CZWWS ?@$bKX4o^nV*jY=ۧ97%g|4Aҡɾ&vo+79;[~ZJv_>10:}\"(2G!K<|Qkl Lݶ-Sٓ ҳ>~\?aҘ&.-ٝ!uٿeO0]$`Zޯց5%ān bq#`YqGmP& XgdOO\ڋ$nתO:{emN?͙CzZ[y^eiֺo~ҾmNG)kD+ ;uAyY8Nɿ+AY(uR+Kl B'S A|5-g˚V&_t{..{C0m8H:TC!nv]vE#>E |1L=6T.d_JGIvLHCۿdY{TፒUպlYm9KmaZȽc9{ rR>5Ve\ DJ.HES%enG rNKԻmL<-z¬?o#RssSѱ5(uO:}aX;–4PpaW %RFA&9R(v{Œ@I?wQs.j󗕗HĿ. J@T!k8JV4mRدٝ6Z@%1DE@S0tJL}ri~.߮ GC[Zc#o5^krkdz_=nɚml¼^:Y%&#؂ kP;̏nuS^jt64@pZaP6~#ܱG}[%M=5DҎ5Q?(a#` !E:FAgKKf]x}jUsOȀH D7сR`5z8no]~N[liOjϔl>VZ+K%;a/k浸୰ P )_L8uKb1$RIכ;[ϚҜf$97K.>!=,e4,֪?+[9 "u`ȗ?+z)kR䳴 ?9[mZ%KURlWzRA:T.ZXVbqj;F79 @ $<vo<=qjzI#?UOK2|RZmI[{ǒIHIJ/isN -A W8&*Vq+T^}WfvҬO(J^P0 bi))`6`F}PjxΥRڏu]0GH43'QA84N$q0sSNEMƇ`@gd*)lڮ/_~>'51S( 8 NZ&-,0rٻnk[g l[V8|<d!U-I%Ҷk4syzK3{tS 9~fLj )YS5}ؚOJ$Pg[ ﴽzJOAsKj~i~cJ@U6IGH/X73#\/5~ Պ{gRoluf?.[tg нӥ)sGL-U6~+-lYv1??GkԊozrKuiay!kҗR![.-`g-}/SyPyeϱ=Nzgڟ$ۿjeOkN_ߞ }[} =!RۂBK>xܜfw-qʺx̜n߈.E?'!}vt(& 0K$`$L0L 2l?8#ꭽg6cR9v!W)aJ@38='RyDMU-PE7C D66ʠsm`s5ͭW3Oxm5@$pJ?:䳠)?o(zA(/Ză^l6#xxD=WMbOK @dpJh 3]{Q(~/h_X6 \PB)|ҟS3#6~Aq6 \ J*mdKz pD|e{!ԯU )80T8 tΦ>9UHZoh… /|I<8"J2;,c.`$ P@= X t:K>ٟ^Z݊_QG !PkM G$;ohIُ=/@pB G?ΜRq& 0P3A1^aػd|d =QlUՁ[QE"sR%gUF4-mv߹ [8-?rs&Ío62G<[@I X?kHIiO`'Kܖ$DEB%*ΒR0K XO #F߾*߹KŽ DA `kV5[Ὺg8 S81-aA(&bҎ&@6@ktx D AIR~}y`' :}/TP @pJ?KG{H=an^o@ -[t ^xYN0v0A&Pl7ܤzj?!Ű'@ P Ź?)mA57Uo -B P8Ea8~rcFDDH#*ܛ.7dzQCIÏk?]X؏#mfm;d@2 $,D1˹5l7܊W!A( p#I $89Xؐ1֏1" P8%RL k02^ dHfY'Gh-B @ XqFc0+ @ ~Qu ,gnpFz+BN@H ZG8-ncs 9:X(pB !%cgu=%@ pbPy&aw__Md Fx72^@pJ?_7Ȼy- N--fH.d]ߒ?<P23T/hHYCN@H(d\`ZfDQ 36DaB(RP/< F NXa R(u my G(*NPb#@'P|a8`q 4 P6pY!^Ӫ疆 B(!/ @)22dGY@ :Ypi]6RƒbF fcr-C[-t~7WB?QL)q  ėUG|˦FPWl!GM r0]uGBJH wo_22NHJOeO zy7w5cZELh@ >MM!p[6ftI!HZmMo՟? jBJDD *?+dftWuq/AH$R0;M @NXG]SaF8O 1o1Po ?x&m 8)TBqR(I{o.&B P8^H1֠9*>J ypӖDIJC,PfM eBH.@elTTi* DM`E ( ߹H{F9m~3S/Ë @gt fs'׃+8=`ǥ@2撑JOe CZ?@4 (!3e<6? kv5GY 2202X @uX1ْf5N+8 l?sO> Вr*%gʼnX @\q%lsxEMa$;0ʆ@22n@LSݿ:cŁqL'i /|ɕ5^VGh~C Ā@\ E%rXO/g @O!r= k8.NpV@`P{A#8JiZd-~lJ@ &pbR=LF`_8@r$) 8+i e?@ @(d  Dp\0@.H U `5]8atF.a@ Dҁ3^=z wq @ ?q1N(I X?Z4@?PҰށl%!3@H0d޻d/IB aBN@H(d\XF @$]TDDJ@CҺRZ f1  g !̢+/k6;;`I2Z@pJ\DhՀYo1BNBH ZGShXvSv 3|‚ PJ8_XmF3C1Otd1@'" 8 $' k tp$@RKιwIqtF R(%~#"cQV؄@pJI۴FM{!.ۧK9 @ QpU\b@3K69NJI)^ & @i{XZh\Jz@ D8I,mim׹WGXe ,@ЇqPO]! eK\*;`.-|oH""P@E$Vĸp1  Q'FB@tv` tDH[x|_`T.  A=S/`5hJcZ}e` l $@Į'xit);6$osjHA  %+ZD68B?kh |P 5 11Gq=q~ar{ x SaAX&5o@A+%b:mHƿoWBG _2W%fc2=*Ez8Bߞ9 v@ ĸpHڣ{_\?0{Yn Z0@ b9_ 8BZWl"zD@ 8@-a)gֵͩQ%LUF^ O~LK 2#P^Dy&N7#헆g EB@ƯWaTi{An ?'x@p&Z'au`9Wp @pJ\D=t@G$ie}Ap@ fpbV !$ ΃G =]|@pJ?|iC$unTf+B J T ̦Z&xJ 5ZJ:;)-IJ&8'*dzJe+wܞ| S9%c~o/?\QK53oh (faTV\6i?5i}'_MI_~ $ IOtslUB{];qd}DS`?:>W?]Kcz;+~5I&+,suy׹ A{szsg<*M,~ Xs')Lq}R`xR.!kЊ60c<EZm #2㒵`ȇ-dNdm;FK37:sF PY._z7eFǣ[snp 'h>Rtgb R(=+,l^Eu۴Zwsc>VYp*֡o>v Nǣ[{Jc]ƿ9"]ę(Z[wY)0+{c 2 dT&<ޞRvᢖmsSg)6sMN_,.G 4_%|9YM_۱BTPet;aŲ2i% p[JNYw7;*$2|g5F`dept#Z1/4MfJ" )gI4 )IDATJMR5Sj;r'?6TKwr& /QzwSS\WJlV -=U }3.Xf>1608|<ށmY^?~ Xv:8r.簼@ЯKoJ&HGkzҰT:J_NmRw\kfe]¶l ޲[#Cf{t]g& {[4V -q5uA68٨T9{?[J=Yδ}%o+ջ#fldMXr WIA'ٴ!R;掽/F׹A s8OR/gGYXQe@YSפ}a Ol_F]**DAprT|Wy^{YȀ@GܶgiKj а^[<*v ~%-"O03 {S}獬s}{m@ $[+~,oswK<1 `XnZ&ڳYe Jƙ9h6J:~?w}/<BnYWf!5:mؚdxm,vC5o@Hpw:ܤIYj&S(//-,󇂱lrZ!셍!ۘS.TZzP'ovV+S=bb9\X'K7tҚ͉{szwVu 0MoUD+eBn\? kRUW >EطulRgRqz-}k7ʼnطZwh JԤ8&T>,Yn6?tf syܽ+ڜЅ,YFQXnäKʢjsֿnj١unhv'ɩ q"D].QWF&13 (%AiTrR+쉦Rٻm< )^-ynƄ@^(i%Ɋ՚+ukjwS'M3R p ݃n9M^bz[LUaere{mmNyXPjhNw'"Unoi['e!5x;BY>o9,`JxʚmQv맺unט?xe9·߫U5mny^@d&l2aHJV۾ud6=ZaJ8P/(p@ؠ{p-6xɺ☦gb1H·Jy6J@4O=![p4[nq4[qϚMS:4C[GK=6[}z?~@(' Pp rJ&r#Z:CzPjiNkjPm?'kɜoqx`][iN/9 ےuvd6KUV.2R%ط>z;(ٹlݻ_;;f@Ч psb $JG%ҹ^ *irӴ%|؏z-6Og.ڷC]]o9jZ%3;"KNvUAG%KmWpf8\8-R|EtuTyC`g0}{jfj{~c{TzZzYA:#bW{!߫1wUvzrvj1VKq $Jvu4a?/hvOOvXYEMn֬ڬ6 M=M*Zb WIU;J{f!V@IL" $bh=Az\Os+$|FxQ0fl$=!X,mi֚M6࿽oέor?. =$Uqe[GW<!C 'j9]EѣNkrsC@|ħ,=Yep]́bE Vőjozg64'yw=[@(ⱮT&lIvQ'orm@*@|~FaR^.ynyK@B@pBI` ~&pnN JFd>?*?u80 JK=)W3 :Dkb/ @WBZfmpH؇ Pt8EG^qڳYup5Oه DMUgJ7I){ENa8[ (.J͜x‹k{[! (kbp@1[F'υ}@Q.ag#)ѹho?υ}@Q,vEK_B+~&w+/ca@$p"J91Z 7+ه zLy)5!^wk( @ 8QP%̞eO ՚5wZ݇:xXB@h( @Cp_4N؏}@(!H Moh&xT/c!@ 8y@H +Ju?p\؇ /|q_V*K#՝vȚA~4C1#"y_>!imv6-, {zLȸH #4/Kυ}@ȕו |?1"l薵'g> tGB`rd+Y3ݳYq),ğ@ˈn#`5xXQ'mv,d6\A@l$+`7Vbq1{s)0@B N%f!iH6{5n%o  vIzΟzx6 ޸7 ٰ@=()6K;RB1p-T]# @_r!`?vH}zЎ5//jrp T  ,2yjr˅ {K_VX2Vw JۤEOΊL^}Y:Ow:NV~0΍ C`Mg;ɹi qA5$0_&f.җ)(.B Rmz|\qp\˚W[v[ӿ~-fdipҀrؠhȅCVT:46]8 E "%k[Zݏ6W'~YcOT7@t@ลG?!Ȱ88mx;O]x8 jCm=͵uz@pmA.{*w@BX嫚ܟE32`e+ǟ8yk=8y㖼 X~tdS3<Wqq՝?Ee N5 @;#3u%1/6O'p@ؠ{p-0G$iBϹ׸sպ`(1\^^]ebuwHXtp`۠{p-Z,!;V_#@@g8%G7- Oe҂(D)8)4RyqeR_N4G MPICW Y ;%ΆA6wfwVƺnC|QW^Nbynqz@8t@%RK: V3 $Hؓk܋kۜwg{ R# ݃8n):pqi`W*P㎒3aW7YxK_V5k~pvgtMU ]E%݃8n)=O#4g`JԆ8;IrzwyuAEzЪnX˱HHK]OXI䁽AL>n@w Liԥ;v3pZ3{o3sr6"vH^M~.JJ   p;;+E Kꆪu`>[S4p3 rk枩z_Y^V՝Cids_%@eՠ{p-&uȐ?UM>ZmmP$kݣU٫I15-ŋw^'!MGb0 $p(݃8nI c)'`?9vc AN"?=6yu'.ң=c'G6(Mr6[w`Z vUvcNӷ e(A {r-mn*6:αڛ*~{V~p(݃8n) S s!8Drz>jcR0YNNZ؜`Ȍ2NR7 ֊ [Әqi.'쮧%oPG7MѦ*C0'N_f=vg"w$?])Ә| xՒ=[SmU^'">r!!w΂9  A Pip*/ @@p@*@:Y  T  ,t @;@@8Xd w Pp*2 @ @ T`e@@@B'  $PN!@8| @H ,Cp@*@:Y  T  ,t @;@@8Xd `@cL14]$  +^^XX_Hsr @ 4]X PpbZ8$ %`n*@\[dzi+ @`qug1]Є @^Xw-, @(8a;%C}G AD8 l'O4@@6ɾ>ɹ̍Ib:K7 $@'tN[ S1I @33;Vkb%JP  ę0%n:V 88'vdk` 8:.)l?i1㔾 bF@KBedq=/> @ [i꩸o?]n`/  P V@{OtPIπ ```z)r @"`;gesN/J¾eȖ/A$`uIˤ$ԕ4./S63g+YA@VX?Iۦ)m=w%kHmTl@)Aado;Djb1N2Y2:iS剬@@t/[o/{-vn?i![@ʆ{gܤ;v6{ @ Kk; @%pRmoj@z^Ӊp @@ V)Yȵ ϦΔN @^R l~NS&=+ AJKu$#10muH['ه @R*KeOًIiEa @@~Zuiҝܞ`q,-  b2 q,g$x` Bb*%A%p?(p, J+#%@@dO[ؕ Ju ` CF)Np<PEbJp @ U?&3L]{] tI}jo15j\+ > @9zY=(1٢_) ! @&K7Ά|U ?;21I؇ @ @v/=8A1Z>LO@p{š-;;YJ @R _HBYńPlf#ҵſT'a J!`oԽJ:QUV.l_" v @eB`aOES/Cst [@(s%*_r>%%> @ !V)7Kmm-X\ 8R:J:Db ` [6!^RKmN*3~iLA @r'ӽU+-i@zƬ`d-:"~RV z  tG`=_ױooKs%7Y'|KWyb 7IENDB`icnV C sight-19.0.0/Apps/ARCalibration/rc/arcalibration.ico000066400000000000000000000026601352776646300222350ustar00rootroot0000000000000000 PNG  IHDR00WaIDATh՚[lU3{)tnmca6\ BP Dh`b<BhED V \RZ`)t[E -new}..霝-d3{Ιw3Ѓp~ 0Ēh>R3ԛ:š Qk%b!ad_PlJr1a-DBC2PB3 )z5^JEt`Niy 8R,%,~:n'9yHTXd_`#g6R w*ϼ.>9z][ ԉ%q vpuU ?0JNV~Qs#n;P d(,ĢRbfF ,$wT`4Z@V&3lZ"#1$d# 1Pޫn.S>ilh|R= 74eǑN+OL$vO=M E#>ƪ)8Ldaj &65ȲQfԞ TG(GI#qx%ILbf@K،sB;M٩Nc|oKn4+ػO8" >E4vػ)h uMNT=/ aE.:} z "{ȏOAl]$ շ0w \si(o=Nuz\Ұ=~htCu+WJsQ_^; N3KEy 8bd $pu9uTTzg:-{k`{m oNQG 8H!* #UšvL3{*2DP <_%(Nt0&T>z6svZhIIENDB`sight-19.0.0/Apps/ARCalibration/rc/configurations/000077500000000000000000000000001352776646300217555ustar00rootroot00000000000000sight-19.0.0/Apps/ARCalibration/rc/configurations/ARCalibrationBase.xml000066400000000000000000000212641352776646300257510ustar00rootroot00000000000000 ARCalibrationBase ${appName} ${appIconPath} path Video directory VIDEO_DIR_PREF ... include Calibration CalibrationCharuco RGBDCalibration calibrationEdition TrackedCameraRegistration toolCalibrationActivity dynamicView/activitySelected activitySeriesUpdater/add dynamicView/launchActivitySeries dynamicView/nothingSelected activitySeriesUpdater/remove actionNewActivity/activityIDSelected dynamicView/launchActivity actionOpenActivity/update dynamicView/createTab sight-19.0.0/Apps/ARCalibration/rc/configurations/activitySelector.xml000066400000000000000000000106231352776646300260360ustar00rootroot00000000000000 activitySelector SDBReaderIOSelectorConfig FullSDBReaderIOSelectorConfig false include Calibration CalibrationCharuco RGBDCalibration calibrationEdition TrackedCameraRegistration toolCalibrationActivity include ::fwMedData::ActivitySeries seriesSignal/seriesAdded activityCreator/canceled activityCreator/hide selector/show selector/activityIDSelected activityCreator/activityCreated activityCreator/activityUpdated activityCreator/hide selector/activityIDSelected activityCreator/createActivity selector/hide activityCreator/activityCreated activityCreator/activityUpdated selector/show selector/loadRequested sight-19.0.0/Apps/ARCalibration/rc/configurations/sdb.xml000066400000000000000000000024361352776646300232540ustar00rootroot00000000000000 SDBARCalibration sight-19.0.0/Apps/ARCalibration/rc/plugin.xml000066400000000000000000000054451352776646300207530ustar00rootroot00000000000000 ARCalibrationAppBase CameraExportSelection CameraSeriesExport CameraSeries Export CameraSeries Export media-0.1/icons/Export.svg ::fwActivities::builder::ActivitySeries activitySelector Choose your activity Activity selector for ARSurg media-0.1/icons/selector.svg sight-19.0.0/Apps/OgreViewer/000077500000000000000000000000001352776646300157235ustar00rootroot00000000000000sight-19.0.0/Apps/OgreViewer/CMakeLists.txt000066400000000000000000000000461352776646300204630ustar00rootroot00000000000000fwLoadProperties() generic_install() sight-19.0.0/Apps/OgreViewer/Properties.cmake000066400000000000000000000022001352776646300210530ustar00rootroot00000000000000 set( NAME OgreViewer ) set( VERSION 0.3 ) set( TYPE APP ) set( DEPENDENCIES ) set( REQUIREMENTS fwlauncher # Just to build the launcher appXml # XML configurations preferences # Start the bundle, load file location or window preferences visuOgre # Start the bundle, redirect Ogre's log to Sight log material # Start the bundle, load Ogre's materials visuVTKQt # Start the bundle, allow vtk to be displayed in QT. visuOgreQt # Allow Ogre to be displayed in QT. # Objects declaration fwData fwMedData # UI declaration/Actions gui media arMedia guiQt # Configuration launchers fwServices ogreConfig # Services ctrlSelection uiVisuOgre uiIO ioAtoms videoTools uiImageQt videoQt ctrlCamp uiMeasurement # Generic Scene fwRenderOgre fwRenderVTK visuOgreAdaptor visuVTKAdaptor visuVTKVRAdaptor arDataReg dataReg servicesReg ) bundleParam(appXml PARAM_LIST config PARAM_VALUES OgreViewer_Extension) sight-19.0.0/Apps/OgreViewer/rc/000077500000000000000000000000001352776646300163275ustar00rootroot00000000000000sight-19.0.0/Apps/OgreViewer/rc/configurations/000077500000000000000000000000001352776646300213615ustar00rootroot00000000000000sight-19.0.0/Apps/OgreViewer/rc/configurations/OgreGenericScene.xml000066400000000000000000000355641352776646300252670ustar00rootroot00000000000000 OgreGenericScene volumeAdp/updateVisibility 3DNegatoAdp/setVisibility volumeAdp/toggleWidgets clippingBoxResetSrv/update volumeAdp/updateClippingBox frameGrabberSrv/startCamera frameGrabberSrv/pauseCamera frameGrabberSrv/stopCamera 30 Sagittal yes defaultPickerAdp/picked pointListModifierSrv/pick genericSceneSrv/compositorUpdated volumeRenderingBasicEditorView/boolChanged volumeAdp/setBoolParameter volumeRenderingBasicEditorView/intChanged volumeAdp/setIntParameter volumeRenderingAdvancedEditorView/boolChanged volumeAdp/setBoolParameter volumeRenderingAdvancedEditorView/intChanged volumeAdp/setIntParameter volumeRenderingAdvancedEditorView/doubleChanged volumeAdp/setDoubleParameter ${image}/visibilityModified negatoVisibilityAct/setIsActive sight-19.0.0/Apps/OgreViewer/rc/configurations/OgreNegato2D.xml000066400000000000000000000104111352776646300243200ustar00rootroot00000000000000 OgreNegato2D Sagittal sight-19.0.0/Apps/OgreViewer/rc/configurations/VTKGenericScene.xml000066400000000000000000000130101352776646300250150ustar00rootroot00000000000000 VTKGenericScene volumeAdp/show 3DNegatoAdp/showSlice volumeAdp/activateBoxClipping volumeAdp/resetBoxWidget Sagittal sight-19.0.0/Apps/OgreViewer/rc/icons/000077500000000000000000000000001352776646300174425ustar00rootroot00000000000000sight-19.0.0/Apps/OgreViewer/rc/icons/hide-view_horizontal.png000066400000000000000000000262761352776646300243170ustar00rootroot00000000000000PNG  IHDRMbKGDC pHYs B(xtIME /!\X IDATxn}?Y;M(=,rZji֎w!aI,yj F+^!YEDEՆ: @: @: @: @: @: @gsC#U~jP^'A/ݓ:{MW畽DO~(8kS«3pژUGq6K t 5s }0^݉>:A@T'jMYRlq nfс!͜òXv|_uD.K npfܬ9Ղx}uEs)f`FUڊsXs"3<.xs)9xj=1zJ~.a}ܟ;_`,:\nۉs%^MDz\W b3Kx,y7Lwa;}[5^{?uOFvF%s]ǗUw^{nƼYKΠ/Y>7#?f8EvSms0j"#x -zkso'fcAHq, C|('|*~I Oz#ܻ.0zdbz*=}u^Z/\(9f="nP7"V ȳxޚ.\7 H; j}נ,9缝|ns.8$ڸ?:{Ùb}HEyOcM|>{>V9=/)Ч"8S\;sr>Q k%>80ϭ|=wt3?Oņz MDyDji`?e)O?O}j{w`Hp8+]%O-goFԒ:y)>s3YL?e"=wMX2~ތ7pZS)zv|nEƁ$QM|8\I_,ziKܧfۙ@mm'B}RNpPhfϙc}o[Lé^o=wK6y7I_}s?@#sWZG83c}#җ.uS]TM%WvB\d:z%8x>dix|[g;c㪵 Gyms[.Ƿf;kph}Yϛ= }nyo>loˉ/ϒF{D^Lfss3q8^?5>wt#px!_vyz,;v^j"ڧw>5o(OvLI-i0867>wѸ%^8w0t!F;k ]{͜-z|*򫢝<*eCD!bF,)7#fϛ6]6K{gD칫(ԧ>EEL~SJ-Q'7 l& m|~Qv7O&i\Dq>s?eB|sӋn&(-^qzFpܔ%y盤rW]/|4Ȅy) ]rا1gӧn tLUWoO= \oFݶ$/)vlSf?rmƳtoVcqΝo.g_gf-+/{.֟2[;s3b(zۇu0(]Dn 疶Ϣ蹓sq;/=7/Z&! ܕۇ:Ցoͨr3]^{_*л_ܹ\/C]z_κ=w 8P/.KAf>^rḥ>uO4ۉH\cDa^g*=g}軖Owޕ[fӗr%v1}n@@" 7hb`/>(3O b=;\iowOu۾3],E P#ojf}|0t72_Π'KQoFvA`2# . !q-\>K $ΧfԻ_.몀!>q5&ygW%H?zL|?#O tݭvlsumd/90=h:񁾤ۖtv/`tOۊPxg{`Pfȟ WaJv3mKt`Wzz;QhmtK.]At@t@t@t@t@t@t@tCpj&0ü;.צN*@o@/ZxoJ76 o6]Conϳk6"(?~gD<@o(7-q֠)">3c=]eo(YD|lÌzcL;']W}~<@wuw^dodEyc S|1!qù]_<#Af!"~J"aV౏y%O"]_Tzy/q_ۯPP.>]oIK yjÕڇ_G?E?@C|`x^>R:"3x>= U翋߆{ek#(>NuUrP}PmDPvj=64U}uvƄ@Jb!_ P?NĿd:GC wxA7ii;C -sr+5gC ~i:'!? p? t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@: @: @: @: @: @: @: @: @: @: @: @: @: @: @: @: @:                _n@: @: ý@7{@ @_s: @: @: @: @@t@teB: @: @: 'Tv#  L] @:t@@:t@@:t@@:V: @: @: @: @: @: @: @: @: @: @:                 t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@: @: @: @: @:\^u8XUU0         %t@PN u@!ZCp:C/F4`v۸3@< M]uN-X| h:SĹ@:t@@:t@@:t@@:t@@:t@@:t`_Cm*@s64nz]3s:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@:t@@Nmc!ivqwwg0 U]u\ p C      1ҶmTUe v{@:gUut]g vƧ,="rs{>ԿC=C M@.m7V6t^L>,oy|ycH[ɖ:@TSk ?&tz1x~,7q ഺx$8j^697S'8oRaY{fz>l Ug ǧ% .p}5>>Dyxj >)M}҃8Fa~@`38͚ +C<f[m@:лƋUl<7ꈍ^;@ Pުl^Ɏ:[5NWz0T@ PNi6+܁}!"q6٫Jv~0ٱrO/fE;~vju \5ْP'a~ϠKH\{{4׾~L7 #w\=6Wt=fՐ&Џ?/L=qT5zqw_mo ݂t){#Oi]Ly]Ve.}_uo ;(oFa;:@F ֌ZYKg_E{FPT4f^L"#ƍVăe6^Gozoo(oKw/F;,G{qDz-otwo:[z@ |ͮٛ;:K'o7[d{η8>6ΣׯOsw@u(ߪ(ԣ\vx7u0ؽ : Ag'{~h_:{Rfo~yzm }[3Etd][YG`; ́pfг׈|B*^;5mKOggGKܳ{L";s]v)h&%hz=~-چ~A"=^-{]Vs3Xfг}跎΂>fGtrt~F3Js ߿u< RW Ngw׃z-t[D>V8ʵ% :£znиE_8X< z|+2zžsWz)gVv?z=>s`\tbhzZV>^.mo_PϞo%?9]=KiK轻ѳ@e:xz{{,&{KGAze١Y׿?|=RNu?Dȯlz=zwGqQ.x}&gNq7΢ס|}6_-q~@zYdWكv)NqNlo8\>1E9@~R-kw7~[yIb~\=ѥ`-u_{П&ί՟}枽(ί%? #u$^Eׯb<̞-gݏ~.r:{ӷN;swUlG_J}I|f|v^!&yjlV=>}f(: #=-{ wK8C5ߒ(;@=[zow̒Z_lעO,G{Ga.ⳡ>'= ,_ri{ߡwZ;]GtϜnи^|/^-.e~(:@?zL>/w2׫!У誵и(g{dY@ ^^J<[~7񻣳7SFhYhf.OExt\̌0P]V: #f!Fg|fI;s|́p "= -_w&#h>؞{\>;@#=>zg^& H=D=Q.>O =NjӃ?ra*>/z]ߐW U"BO \ v@B\[       ?M~uYIENDB`sight-19.0.0/Apps/OgreViewer/rc/icons/ogre-head.svg000066400000000000000000001473531352776646300220330ustar00rootroot00000000000000 image/svg+xml sight-19.0.0/Apps/OgreViewer/rc/plugin.xml000066400000000000000000000271571352776646300203630ustar00rootroot00000000000000 LandmarksAtomsConfig Json/Xml Reader (Sight) OgreViewer_Extension Ogre Viewer OgreViewer-@PROJECT_VERSION@/icons/ogre-head.svg landmarksReaderSrv/update compositorParametersSrv/updateCompositor sight-19.0.0/Apps/VRRender/000077500000000000000000000000001352776646300153345ustar00rootroot00000000000000sight-19.0.0/Apps/VRRender/CMakeLists.txt000066400000000000000000000000471352776646300200750ustar00rootroot00000000000000fwLoadProperties() generic_install() sight-19.0.0/Apps/VRRender/Properties.cmake000066400000000000000000000016061352776646300204750ustar00rootroot00000000000000 set( NAME VRRender ) set( VERSION 0.9 ) set( TYPE APP ) set( DEPENDENCIES ) set( REQUIREMENTS servicesReg dataReg gui guiQt activities appXml memory fwlauncher ioAtoms ioITK ioVTK ioVtkGdcm ioData uiIO uiGenericQt uiMedDataQt uiPreferences 2DVisualizationActivity 3DVisualizationActivity volumeRenderingActivity blendActivity ioActivity dicomFilteringActivity dicomPacsReaderActivity dicomPacsWriterActivity DicomWebReaderActivity DicomWebWriterActivity media style patchMedicalData filterUnknownSeries preferences ) bundleParam(guiQt PARAM_LIST resource stylesheet PARAM_VALUES style-0.1/darkstyle.rcc style-0.1/darkstyle.qss ) bundleParam(appXml PARAM_LIST config parameters PARAM_VALUES VRRenderBase VRRenderAppBase) sight-19.0.0/Apps/VRRender/rc/000077500000000000000000000000001352776646300157405ustar00rootroot00000000000000sight-19.0.0/Apps/VRRender/rc/about/000077500000000000000000000000001352776646300170525ustar00rootroot00000000000000sight-19.0.0/Apps/VRRender/rc/about/about.html000066400000000000000000000006531352776646300210560ustar00rootroot00000000000000 About


VR-Render
Version : 0.9.7
Web Home : sight project


This program comes with absolutely no WARRANTY. Please read the LICENSE file for more information.


sight-19.0.0/Apps/VRRender/rc/about/vrrender_128.png000066400000000000000000000324211352776646300220030ustar00rootroot00000000000000PNG  IHDRL\gAMA a pHYs(JtEXtSoftwarePaint.NET v3.36%4IDATx^}PY}U3Q$ I(A9(*bs( ""bČ`Ā9+ }ԑx_*}[yTUUWOD4D'M@3?f 7LF'LOF'f h&'#}4 ld~o=|?yӧϞ=}˗/^{2 UaQ~QqAqiaIYQiyqYEqyeI7o^Cޕy_JA>UR>ȷF'oJ_UUAO!E%WE ^B| \gs>}4I.(;'qv6nw~;wKJ))*HiYyYyEEeoƏ?矍,bfzo%t Y[9[8zyL>~Oq3O^f9[۵<>9|k]j[O?ؕC7RoWyۓߟOgrOO>pc_)?|$Z+y{.>Kޞ m<693z߹Wo?%uŦF'͍23,~ڲ  =eWLw ~#lZ:70JO-9%ϟ?Dm3:\SC]MoUR ,ڌcg7|)Yn}Ž'ݼ]XTj?~3ׅ"N6eGEyM}}Sc7 Qv^]zM;}Yؙ,X;$PضkwI1斓v{;Ł)7KS>O鹟<:*#«U B~WU/=aO>-xc7o'_+wծ ϶Naޓl<ǚ;2`glLM˰fΊ\ǐz9RRΰ~IkHMJV^OW$ !i꘶SJf "",?db[O?J:tߕ7Jܩ7}LUń/VYuon2 _^pإ⪋qp>qpf%0,XÞ {ٜ߉O %qnpRLm)Kb`cfhYΣ9Vбo8uw=t.d^șҦALu8?tFA˳}]veخChkw m[ujVmT,Z+ sdI lH0VݵλzV-AVm ګw4p9kwn9mֿCҪk@۪[[Ɓ##O?|"fYb_$e/m9~)Dt&lqϋ Y )-1\ F$9޾˱c\L]?_+:|Jɼ 0js'b8R8?l v9զpf $n _\+i ѻ/W2EJϧK_?4l)Kq{ҥ̒  vubv I@ >;^C+on&ZFVwpdQuGvP˩ΈrSgƯ}<Ba6O(,$v$t.G7YH^ 1C9N@FI"DbwqgvZ4E+ϐ8QJt-vUC#m?~`CJ[,jhbg!G;wD0>0p A@mԷ9+{x*鮉7ni;uMwdwqr& Cf)]%?45)t.4_½T9}}T|A,O#[dܓmg/:rCW9sקI1Ljq!dM׵gǞFc?}4#bow2!RCt5e&t29" c_ biVm(@MQΓS"u;r&S{QZbL1leo=xJ WN ="OPy<Ћ?T}|MbBrzqyjL6Q{Hw] 9I5J!\zIٰ`i1] uە|+]Ƶ=BeV؄H!N'#8IpDz;ꎢhoXM# > \4eIر+Wsl&HyțNa1Wj 505սݣx駟8 E_."t9ZO,K_p~[36d;rk/ύjmBu "y,F{[CeBj2 @Ḱ(|ŀo3+N Ȅ22Fͦ+ZS^jwFeK ֞>p "CbAI5pG.}s;՟"rQ(21\P⩇+wp]xRϮ>#NqMTG$Lt\J.B)9RCf ;0$ˠ).FPPdFTLv ]-yڪnýN~NPE2'* VQQP1 (`4Fz' D'!(t!/"rs)GГw&yg dD眀4tTؤKT -'.^}b0!m1_|`bda@gZ|j_PѠf 8s7 _Q4 D"WUw^C軭iE㵺ZuۢROR-V-q/;|=Ր0犏S@'Wۤ?@'Ϸ~23Y uǧc P] qYW^+;io3)9~9!9#ls԰NS"mgv8{E5Fm!mTQN޸xf̜X4t!n3?Z=-Fuq_(eK+Z,g1p,$X8bЯ8t/K@`=t< S5GDz`9Otj̶OoXP@Cw/Rv3@**ZDA 6*jp㞶I"qG!ToDTP}Ndɕ Bt #a?ԟ=^?/ɌO9d-\e\"o~<jv }eos"Os"([V Aߡ==b{zl d:-W 1߰|[""*(n%屗*ܚ7sá ^4 :8-" U?~b½G/թ)\r͑dZLi0rPecP"=:13c~M 2T@֋&}D^v9%4 V; W&:-i4iS/ert'P# RY9]u,(4qPGbꆾгCꯪguc/?ٙx!׆0G AC\jI3^0X4q?rQ&N卌;pƕ $ ݀h=w__#" u{kkx4O|jA/M@Ƽ?4|'}J*s$0l#8""/dE†\3̦u\0-2m'2ӧF kQ@:Rt(PGH{˒ߺSZw+~S#RpAO"2x!D pV(к@D ujSLCmj̬w_.Z'~́3H_bG>30xGo h٘{9BYgK+&Qп]V ӜV ļ KY|n\>ʂ )C R_8LX1dYqZ)Nt! },$aw_2d<" /!5pY.\#gؓ!kJ??Q_tănpk)7eZΒ'xC\zE@Xa%Dl& `zJJz |׎gotj&fLtU3v^=<>s>3Cn+,k'Aj6j1GIL-RI|$t9!4Ԕ3з.|iц, #ŔR.S՞%Q&ˀ1huޥmchp^)jm@_;AO/?p?߽B qN9} GzJHBWF q Rko32dݸՕ٫ D/x5X"8,o2НT>.ݴ\M͝sC9μxé] Y,V\?O޿} ߄wjxcȀOn2P`RG, ân8հ6CՍQ'_΁8P[@ЂSFmOu㊙nZϹ3p A)$7<y!"wX@ߏޟ? Wōsog$f8M ކ;13) 'H;36A }Un0ڢԠưL<.,Դ uG}ϋ`q=Lr5,`$޹ؑgSy=W4GtA%GM;j{[z c3IW_k%eIT>$gbä́( .:݄YPX{$Ok7?|^OI'BbBi `Bq>nlt` 58<8^Pч!a@>bG XuM)&ˤc CEk&pyqXDBB'}nӺcj0话rܑ0)2sAQ~Q+nmzf41IwLd_&x}6h{WTak5WpX!kȖDi0 <+\&|<ª!Z}'uCf, sXeй;[~ ?2>3t }3`ueA FxJ:ad~/^P>#q1DiGؐz\F,;>6EyN۔GlUڢ䕨4|Mq=c{(F+D;wZ#هcr`",ؒ2KX0AUC8I=Gmv[xh;KAC,FR~EMWj0 u/|" D$GKyksܹAO 2NB8Ї錌ϼE'shN86&Y{w(N;8Jc'ccFz!IL82nua0J`%:tb0茣Wr@CuX Y J*i,Li.FiV)" 5GJxЊ OpdlZ9p8;%OyLbV>면sHcQ A~U}QM2cX%k [-}(D*pF5\Ua+}EY= 'gL=wZA/M%éFJXQ+ "t dNg= _Bs侫X@_LhNYC59q! . ΑΑ 7'({my)Cfmg +F@)鼝BPގF3Zf32Px3zAS tF5Pj;9Z֋g36r~'wr %C5F_T;" @`nnxEn:r'-xXSfA0}(=OԎhXEj<&K "EPydDlW`V6`A{坽tluʸ꫱:e4\?V  5>Fuu8E' 5"hIpѣxMB",a´l %+j(tЀg7X4/.+wC褟l9lOQ\, W80+rPքFP_W|G*hvF#)T Уs6KXUԝce1BJj(k:2jKĀ"JDv: ,MDe;M۹!54: Km0 M##wW X/ 8@`jgjROi=wjRّGZϲ7'%!;dT8%a"o>;y[ث< @uFY_XŨ~װAMd¾Y@Nաs1W28_BqkD ljiQ(5krZms?Gh1|(¢Ų0sNLqco-B+V{ :Z 1@VP-&5@`Blߍj ex=jN7 ,E .v "Go[`y tJ pYkzϟK/x4fOȹY]ix"/Ĉ*JqC6&HC%*< >a5OoNab` p5|/ZBX}3]3uE%^ yrnFW@nD%L(/ă0,/] @pIkN"kI'/I4  90GMPzG8!h9hR+]CTx\aÙu+`s1Xrj.QG1j!Dpu eF ;B3`ʷA ~:u/X?4 =刔I|4J آXF(Mcoׇu0#90Er^PZDrFDCY=ALA8K;kbMh^WZߗڟ }ttԴ'FGZ2YB:+Jp:ʼ`ofgwȔH܌C=,&  +HL/@W69f2^ȩ0A7)dFv嚞(Ė=G Tvq5PƮLVZ˗US o>2A=1<4w_z^cukjYE0CyrPjEP͉b4NԖC1/xR0n]֧ƭ!RV|RN5~UK6VZIXL q,z"K&7ZO(wZ#LDŽ %+'e'2X #h, =򞨷Q.:qB-Uy}Or[*CwPxJ:h`J+X1hūy^I$B.Mji%&bɹ<o8zs(Nʷ ~޽|lsGVRZIiַe>Be["OzJ^]q^jSc4/}PVeGUY -hm(場:6OAV4<E]$IbvQpZJ$\!lapڟCRȨھR楯odр-WҴN('d6ə$?\zaaP~`.pƃ &9O#Wn2&o II^٣byU\V%I]bK ɗjm K+OdwySӣp2zY9Ӿ>+2NGr__TK~pB츔.;}7e񷺤gGɌڛ̽`%:餜2u*;9ve-ݘ+0t˜<~dg?8ޣ܇9ްu^NN[pd1i^kD4u87hBkGgܨX /,N/ӃϢWŮܮ\W=xu4`!b/l8I/\ˀk7͎XpT-u*P>o7?cӲNᗪj'g =eӍ.XI[7g; SCbt_i{^lڰۑa'fMdt#tcBF7Idc8 F>]~j.asi0>vu61 sHoꎋO N=fEx ߍ֩?j:19SIPѶ7l#ZkHⰔm\O@̓խYN1$ue-'rWԫbk j,}@ vK qwS4v^ b"FmKؐ5V2ӻ\˗m2Wd8:Z0HKΘA/VzOlu%?9@z#W WD}O[`&[i{Zm8hӾ9',Y.*N+c1Q\zWņ#K uX<3?m.ym_jWTgER#9HeNʙGn?̽({aD"YU2Vl>xLр̏;]8İ ;Rh=hN# KաmiSDE6jC7eDwYz "Hٸ0RK2KczͤIzD#"`䟐G0YKeRHv3 ˄(]R]#E·e& -A"`g-?ucp[1;R#-oW%O#5b#O9zTв-{tAxm")V#d?sz=.HK} U?EΙ*Z6'NfW}d.||Z6+V7!+A@YI`l`9CO *7x rв{B@аI:낻eA^T?pGt2u5w7ޙYy86f,k۴ #/|L D`|V|,FS1$0\/J@_ X)p?gܫElj,T;pLXY$S2h/ ȼW'w0nIbH2{c؏〵O2c5MT"![^؏]l?v!ɘcc{߹s|gϋ2 l?}U`d;>_u&!K.ެ=tぜjY}DNsqB6$3#sBl(* =8I0оz"޿0v&qCf$ |9oM31pXw}y (*)XLb0l9΅Or{u?wT,~=SN]a\7ұ!Ƞ3WX~`ʸgѨP~Uzwdߙ@m\9:.'löuq㎃=F4i9]cyuj S/|2Z>N8 JjVPǥhѾybyP<<+W.(GZ}UX/=⯥BZo|^S|-y^..>:]E"7Āt&>&k&541=]3Eo& /bM||3M h}OL@}k hb@{fXL@Z5P_Ěf"7Āt&>&k&541=]3ExC"/sIENDB`sight-19.0.0/Apps/VRRender/rc/configurations/000077500000000000000000000000001352776646300207725ustar00rootroot00000000000000sight-19.0.0/Apps/VRRender/rc/configurations/VRRenderBase.xml000066400000000000000000000122051352776646300237760ustar00rootroot00000000000000 VRRenderBase ${appName} ${appIconPath} text Pacs Server Hostname PACS_SERVER_HOSTNAME 127.0.0.1 int Pacs Server Port PACS_SERVER_PORT 80 SDBWriter/jobCreated progress_statusbar/showJob dynamicView/createTab action_configuration/parametersModified sight-19.0.0/Apps/VRRender/rc/configurations/sdb.xml000066400000000000000000000274431352776646300222760ustar00rootroot00000000000000 SDBVRRender exclude ImageSeriesExport ModelSeriesExport SDBVRRender include 2DVisualization include 3DVisualization include VolumeRendering include Blend include DicomPacsReader include DicomPacsWriter include DicomFiltering include DicomWebReaderActivity include DicomWebWriterActivity immediate include ImageSeriesExport ModelSeriesExport DicomSegmentationSurfaceExport selector/seriesDoubleClicked action_newActivity/launchSeries action_import/jobCreated action_newActivity/activityLaunched action_2DVisualization/activityLaunched action_3DVisualization/activityLaunched action_volumeRendering/activityLaunched action_blend/activityLaunched action_dicomPacsReader/activityLaunched action_dicomPacsWriter/activityLaunched action_dicomFiltering/activityLaunched action_dicomWebReader/activityLaunched action_dicomWebWriter/activityLaunched sight-19.0.0/Apps/VRRender/rc/plugin.xml000066400000000000000000000022661352776646300177660ustar00rootroot00000000000000 VRRenderAppBase SDBVRRender SDB Series Selector media-0.1/icons/selector.svg sight-19.0.0/Apps/VRRender/rc/vrrender.icns000066400000000000000000001732351352776646300204600ustar00rootroot00000000000000icnsis32bm]OmTƻn2" >PFHðp.klO'%_U0Fz HVQ 75=K;3asQ '/?X0#[nPC$u•*+8oO4%'qM4WN:EpH~ mF g:m`abaab ``jlB"/++$ jtŽǡi}qʊEB(/2SifqН[z~6,/eRFgcݏ.-YnsBBj_b{fFNri@FZ[r[WDogV4FȤ4LXVShpeO^WMBFsne^81GPNJZVLBCpumd0*@GCgVTKA>fvmdQ!7:?QQI?8`ulb+-eQOF=3[tkaD1UA>;7Prj`[h kqh^kng\leY jaT ^VJvlVD;de^cdeeffdefefedcb`_coumb>1!\LH;100112214=ORG9*# '&$##$$%& %%$$#" ,ĄÅĂ!*À ʸ갧#ۧbܹѬر}ʷ̗xǼ+͛wǬȼʜ˝wƷWӻoEdVRQNJGjyƼr̜kbobXVUTTNZzǼ†ҴgzomjYUTSOA{ȽİqЯ`TSRDO|ǽɞvĺzܞYTSO={}Ǽ˶s`tҀmZSZRi~ƻǠsaz~mlzaq~źɴr`uti~ŻƓo^ue{~ĺưuhYtx|qt~Ż^Sxg2ps~ĺūPHlwntϼnj}ĺDg9]cUƼ|k_|ú*IIqxgW{¹R1?{mhb\zz"jzy |x|wtn }{b wcLk}^E)ppm`XWVWVVWWXXWVX_npgYE6+2@=:89:;: 998740( l8mk<6:391%e]ih32x lV )|Ng`}䩀r3{,{rhMٯ؁ ؼj|[RҏЀӀց׀ yQLЀӀց'ؾwiJJӀր(w]HJӀՀ)v]uHKӁXv_eILM`qylaRqSSRSU]iv`cJN\#e¹~oY)(k/Vl`YLP+$ežg+G=)"WMMQr")GþS.$,X#(6GOS;+/0o¿?6.'Kh;0/,$'CPU|,01/@]=:6.3z}I,EQVF021-*\ E?<95/Mdž+=;963NǑP%N^HSZ22/,(#=?=<;9649{%&Jn`HT[M1/,(#<=;:9743MqVu]6 &.Qxv^HT[1/+(#9:875429P.,*)('$"!!&./>cv\HU[N-+("77543*L9--,+)'%%(6HLa|vZHU[,)'"442,19M,*+,+*'%!MvWGU[M'%!11/1PT4.%()'%"bvUFU['# //..-7|{xsW$)'%";~vUET[L -,+*-RT''%"/lvWETZ *)'&6~&&$"+_MvXESZJ'&#'R$&$!'WvYESY#!3}\"%#!"NvXERWIQ'$" GvWEQV 0z'0#!@~vVDPTF H:9xvUDNSw*ib1,8svTCMQBGrnqvSCKOzBl vOBJN| vNBHK uM@FHtL@CE pI:>?lye@.78ex~|wjCF)-.wyWelkjf[?P2+$;}tv~F;@BBCCDECDEDDCBBA@?>?CO]ebbh4! M[@;>/"#*7M\TH>- -'   mY )Ŀ ƺN¯rc顅絓:€ÂāŁ*ò^݄߳!ƛyviؘ؀ہ݀"mfĘ؀ۀ܁NjygcҀՀ؀ہ'ҋpeb؀ـہ&Ԋseb؀ڂЊv{fbWj}ûwjZb``acjvΊwzgdj5xȽi;1wD61..--+)%-dwqhe?AH0L^D=742,110)4lgig@NmijzVD;fPFA<6321D0&FajhVQXYʤpdWFQXLJGD=3221100'4\kjRZ\XgڀrldWG~`;21#00$8^lje[]ZUO}ѩ{uqkcUTeϗ:21100*'Kcll[^\WOHL‹wurnh`Mm61100.$7fdmml_]XQJB:f|vtroke[VϢA410-0[ucmm]]XQJB:4svrqnkgaPʗK<6205<5Tvcnno[XRJB:5prnljfb[U}]KD=69GK<[ubnnZWQJB:5kligda^OYkieb_\XTNKMWWEGprboolTPIA96ggca`^YUohgeb_YVUVRSTnobooQMH@85ba][Lkeabeb_ZTKA6^laoogIE>73\[YYXTWvUNEC\_ZVOH@8wi_ooFB<52XWUUSIzdK^ZUNHA>\i_nnb=820TSPOKXoZYTNG@;Z{k_nn93.-OLIHDXWSMF@8[mm_mm\,))IFB@XTVRLE?7Vfn_mm )#$B>9>\OUQKD>6Oal_lkV:52XOSOIB<5H_l_kj1*9'RQMGA;4@]j^jiO%$PXBA>:749[i]ih1wwF@Jh]hgKP}f\geJ{ b[gc a[ea _Zc_^Y_[ YUZUw {NLQLqVYEC@}ew|rR^K@6*?XNUWXZZ[*ZYZ[\[[\[\\[ZYXWVTRRU_mtpmvJ2/.WmVRTF:665656767679?K^meZPA.)&" 8930-**))*+* )('%$" "  !    m]*ʚɀ¼K÷ dȬ@񒱿́πЁуҁӆƻ饙l潰ۀހԵŬ}᩽؀ۀހŪ|Э؀ށ֩yƶ؀ۀހݩvĻ؀ށߨvý؀ށ(ܨvúfuƻscÚvsu{ڨw¼~N'ʹzS?s\TPONMJF?Dwy[l'ξsPSug_XVVUUTTRFKzm+ҰsRxxoe\WVUUTTSSA^{¼}oӸt[|nkjkgWUUTTSRAG|ýʧfơ|dUTTSRQ;I}ýŔƾ]ڀ-ڮdUTSSRG7b~½̮{xoۀ(\TTSRPh/4cYMaž|rfZz~|ɼ*(SGE'}zodYn|Ȼ]@7]}qnid^Xb{Ⱥ,;_XbzȺX#]xȹW wǷ uƵ sŲ ~nį x}zhkwo^w{k]NtzpYJ5Bwox|~~~}|{xusu}kMB;ezwymb^]]_``__^__^_dn}zpbNA70%KYUPKIGFGFEDC?;5-(  29954345454543 210-*%h8mk :/|vgF< :5){̏DEDEHHJSYdo|Ԁh׎zslbXNPg*MSHG/DJS[bjszytohd]WPJC=8/8 y +Do׍zslbXNPh*NSHw0Vejrz~ztpic[TPI3 Fvo= (UČyslbXN|Qi+NTHE'Z{Ӂ/ÿ}xrlfaQ-Gb1< >esrlbXNfQj+OUIo GӃ1ÿzvoK%/Ei] 8 BhibXNaQk+PVJH3sу3¿r>"EBSo+SZL3"'*-./0.'MƁ &j86852/,(&!7GlK ,&7BASp,TZMg#(+-./001*1|Ł/M6:9762/,)$-=Xd\N@987761/,)"$&2@ATq,T[N9'+-/010.)L h=:;:9763/,)'8HnsVLJIFC:*$ %2@BTq,T\Ok'+./0100/*1jſ#N;==;:9762/,(1=Xyuuv uusoiaV97 %5BBTr,U]O?+.01121100.-'>f@??>=;:9752/,)9Gno+4#+;DCTs,U]Pn,.01122110/.-))]0I>@??>=;:9752/+3=Y? $1AHCUt,V]PE-012 11/.-+*#6_<@?>=<;996520,:HoŃɁǵ?9$):HKDUt,W^Pt/012322110/-+*)&!RC?A@??>>=<:98652,5=ZƂǀɁ(8 %2DOLDUu,W^QF/12332210/-,*)('*t[=@AA@??>>=;:98641-;IpƄɀ)&*=NSMDVu,X_Q³w/12332/0/.,+)('%!DwB>AA@@?>>==<;98754/7=[āƃǀɽ7' &5JWVMCVu,X_Q³I0132210.,+))'%$#$qW<@A@?>==<<;:876430uG?A@?>==<;:9875409>\Áƃ)!%+=<<;;9876532:JqÀĀƁD"'(7NbhbXLAVw,Y`Ró|3210/-+*)'%#"!$ECB@?>>==<<;::9765419=[ÁĀ ǸP(''5J`lkbWLAVw,Y`SóQ0210/-+*)'%#"!'EBA?>==<<;::99865434;JrÀĀ ƣA0((4I`nqlbWLAWw,Z`Só~6210/-+*)'%#"!'EBA?>=<;::9976541:>\l*2%+)5IaqvslaVLAWx,ZaSóV0210/-+*)(%#"!'DA@>=<;:998755424;KrAb-! !!**+7Lct{yslaUKAWx-ZaSõ610/-+*)(%$"!'C@?=<<;;:9877644209>]poyzAxpdQ?-#!""! #$")1(.<:98776544324:Kk=**)('#$9"!  %&%)/-*4CXl{~ysl`SJAWy-ZaSö60//-+*)'%$"!&@><<9887765544330;>]]//,++**)(;&&%$#! !%(&'.4-*0]Y.1.-,+**)'&'()7*068<:63=JYiw~ysl^OHCWy-ZbSôZ-..-,+))'%"" &>:97654432168Lj710-,,+*))()*+,0<<9<>GFDO]kw!~ysl]NGFWy-ZbTô5-+*)('%"" &<:865432/:>^T.1.-,,+**('%$""!$+5DR_bZdoy'~ysl\LGFWy-ZbTô\*,,+*)('%" %;88542321169Mj32/-,,+**)('&$$!)^|pv~ ~ysl[JFEWy-ZbTô3++*)((&$#! %:854321/9?`R.0--,--.--,+**)('&%%#" Rx%~yslZHEDWy-ZbTô_&))(''&$"!$9543101/68Mi2,$#"%+,,++**)('&%%#"! Y|"~yslXFECWy-ZbSô4('&%#!!$74210/.:?_K'$# "*,+**)('&%%#"! +f|#~yslWEDBWy-ZbSô _%''&&%#!  "5321//00/*.38MsriYH?<770) )+*))('&%%#"! Km ~yslWDDAWy-ZaSô 7&&%%$"! "5310/-..-7?`lSIHHGFE@3)*))''&%%#"! 3[w"~yslWDDAWy-ZaSó a%%$$#" !421/. -,47NvurqokeYH$$+))''&%%#"!  )Lk$~yslWDDAWx-ZaSó8"##"! !410.-, 7?avO")'&&%%#"! !%A^z ~yslXEDAWx-ZaSód#""!!!30/.,)37Ow5#')((&&%%#"! %=Rr'~yslZFDAWx,ZaSó4!! !1/.,+*)6@c_!%*((&&%%#"!'6Ij!~ysl[GDAWw,Z`Sôd1/-+*) '27Ox"%(('&&%$#"! '4Bd~ ~ysl[HDAVw,Y`R´ 3/-+*('5@c1$(('&%%$#!!'3@^{ ~ysl\IDAVv,Y`R´g -++((&$06PxA#'(&&%$$#!!&/=Yx ~ysl\IDAVv,X`R´3-+)'&&%%$%4AcN#&''%%$$#!!&++:Wu!~yslU<>BQi+NTHk-4Ih!~yslT:>BPh*MSH~SHF[v!~yskT:>BOg*MSGua\m!~yskS:=BOf*MRFvs|!~yskR9=BOe*LQE!~yskR8>ANc*KPE}؉!~yskQ8>AMb*JOC{~؉!~yskQ7>@Ka*INBx{؉!~yrjP7??J_)HLAvy؉!~yrjO8A?I](FJ@ru؉!~xqhM:D?F[(EI?nr׉!}wphJ>D;CY'CG=ln։#{vnfBBC7@V'AE;mj؈#ztlb9GA1=S&>C9rdz؈#}xqiY2K<+:P%%%ZxF##4#*)& {uwlOBBFQY[ZY-XWUTQI:(#LwF$)-"'&T}|vkjoP:48<>BDEFHGGHIIHIHHGHGHGGHGGHGGHGFFEDEDCBAA@?>=<;::92863.*2Cil?"!-"#"rxn~qb[YvsW?0+--..//0012343122345454321D00/..--,+**+,.26>HVgxpS2'  >ndjmYNIDHdthVF:0*%$#""#"#"#$%$$#$#($%&),/540-,)%!" EHJP>1*$   3><8(  $4'!!       %&%%$#$%&'(()*+*)('&%%$##""!          D{ i4  aB 7„ÅČőƍŅāÁx Y¼5h͹9Z̃ͅ/3ȂÀþx ­~~"hSLƠldchnty|}~G}yurqrsstwy{|}~ݺz!ʏg]oЭ)x`d쾕}P0g]|Ω&bW饋v~jaZhէ*xS^Ɉp{t+Zuցـڄ܀݃ށ߁+Rjޔ|kxsDmh̄тҀӁԃՁׁ؅ڃۅ܂݁ލ*׽yKwfurT\΁πуҁӀՃցׂ؂كځۃ܅݃ފ$ͨaZv|arq^z{΀̓ЃрҁԄՀւ׃؁فڅۂ܀ݐ&ԥJyx]po_m̂́΃Ѐр҂ӁԁՄׁ؅ـڂۈ܂݆ Ù_m΀uXml^|́˃́΃Ѐр҂ӁԀՄրׁ؄ـڃۇ܃݅ ١xXыrTjk]Շˀʅ͂΂с҂ӁԀՄր׀؅فڃۇ܂݃&޷VїpQhj\ł˄̀΃Ѐр҂ӂԀՄׁ؅ـڃۆ܃݂#̔[ΣnNgi[ſȺɀ˃́΃Ѐр҂ӂԀՄׁ؅ـڃۆ܃݀֙bĭmMghZž²ʃɀʀ˃͂΃сҁӁԁՄׂ؄ـڃۇ܄ ܡhslKfhZŽȃɀʀ˂́΃Ѐр҂ӁԀՄրׁ؄ـڃۇ܃݀ lgkJegYżȃ˄́΃Ѐр҂ӁԀՄց؅ـڃۈ܀ ݭqekIegYƼȀȃ˃́΃Ѐр҂ӂԀՃր׀؅ـڃۇ݀ݰtgjIegYżƀȃ˃͂΃Ѐр҂ӁԁՄׁ؄ڃۊݭvjjIfhYƼǀƀȂɀ˃́΃Ѐр҂ӁԀՄր׀؆ڃۇݩwlskHehYƼȂƁȂɀ˄́΂Ѐр҃ӁԀՄր׀؅ـڃۅݦxnhkHfgZƼǀŁƁȃ˄̀΃ЀрҁӂԁՃր׀؅ـڃۀ܂ݢxngkIfhZƼǁŁƀȃ˄́΃Ѐр҂ӁԀՅׁ؄ـڃ܂5ݠyogkIgiZǼ0:DLT\emu},þ~wrkf_XRLEA=97543321420,# OrupgjmIim]Ƚ53;AEJv8UHB<4*:IopMNFCA?=;87543321/2/% #VkmgemIjm^Ƚj2;AGLN_9nTPJB<36@ZURLFDB@><97543321m00%6ZfeanIjn^ȾA;BGMQSSa[WQJC=4>IpoRSKHECA><98653321,01+ 'H\b^nIkn_ɾs9CHNRUWS[ ݀-uba]WRKD;=@[WUMIHGGEDB?=:653321.00.!$8O]]nJko`ɿKBIOSUXYYPs ݀/ǽjffa]XSKD<@JqkQKJIHGGEFDCBBA<83210,/!$3EW[nJlo`ɿyCIOSWYZ[ZSZ݂+Ȭ}klifb^XSLDC@[{l]VSRRPMLKKEA=32107- $0?T[nJlp`ɿTHOTXZ[\[ZWPrۃ#tooljfb^YSLFCJrxZOMMNMNLIBG=21062) (.?T\oJlpaʿ|IPUXZ[\\[YXRXڀڀ Ϯrsqolifb^XSKI@\~zwtme\QFF4210$1$+.DW]oJmpaʿ[OVY[] \ZYWTNcׁـŕwuurpnlifb^XSMDKsǽ wOH921041- !,4K[^oJmqaʿPVY[]^]\[ZXVSNM~׀օ"ѭwwvtrpnkhea]XPL@\ʃ¹\E:2107%)+HԄ׿wywuutrpnljgd`\UELù΄Ѐр@@42210) !.2Iajg^pJosc˾X[^__^]\ZYURPMKHEA6aۀΣzwyyxwutsrqnmjifb_YPA_͂΃ЀWB;42210(,$ +->Xkng^pJpsc˾jZ]_^\ZYVSPMLHEB@7>׾vxwvvusrpomkigea]XEMwÀ͂΂ ђ@A743210#//(#+-6Ohspg]pJpsc˾Z]_^][ZVSQNLHFB@=82WϣwvuusrqpnljhfcaZSA`Ɂ̀̀΃йKB<643210#/-)).1Fatwpf]pJptc˾6m[^__^][ZWSQNLIEB@=9717z|{zwwvuutsrppnmjhgda^YEMv˂́΂aCA9753210!./3.@[s|ypf\qJptc˾\^][ZWTQNLHFC@=:660F}zxutsrqponlkigeb`\RA_˃́ lCD>:8533210%25466-;864221004@EDG9.;9643104?JJKK60?Vpxld\qKqtd̿^\[ZVTROMIEB@=:874I}wuroZnmlljigfeb`_\PBbsdUNMNOLIFCA><96326CORRUI/4D[twkc\qKqtetZ[ZZYVTROMIFC@=:875H{tsnlZkkjigfedb`^^[AOwna^^_]\[ZVVUTTSTSRROLJGDB?<8:?KSWX[P:0:Ldzvjc\qKque^ZZYXVTQNMIEB@=:874Hyrqmjiiggeccaa`_[QAc{lkcEba`^^]\[ZXWVTSOMKFCBBENTYY^`W=17EXnvhb]rKque2rYYXXUSQOLIFB@=9874Hwqolihhgfeecba``_][@PwnpmhgEfecca`_]ZXWTRPLKNPTXZ]`cgV@06BSfzuga]rKque\WUSQNLHEB?<9874Huomhffeedcca` _^[NBcxlpjhgCfedcba_]ZXWWVWZ[[^^bjf]OA;:ETewsd`^rKque̿-sTUUTSPMLHEB?<9774Grmjgddccba``__^^\Z>Pxlpmg ffedcaa_][[\7]_acihVJDAJLLYixrc_arKque̿YTTSROMLGEB?<9774Fqkhebaa` __^^]ZLCevkqigffddcaa_\YVROMKGEAC=>IVdieq~#qa^arKque̿sPRRQNLKHDA><8764Fnhfc`__^ __]^\[X?Ryjqlhggffddcaa`^\ZXTOKFB>:53=h~$p^]`rKque̿WPQPNLJGDA>;8664Dlfd`^]\\YKCgvmmefgiigedcba_]\YXVTQNKFA:5.0c#n\\_rKque̿uLOMLKIFCA=:7653Dieb\[.\[[\ZZXW>RxjeSQQONMOUagdcba_]\YXVUQONJGC=3,3m$lY\^rKque̿UKLKIHEB?=:7553Bfb^\ZZ[-ZZYXWJBfq^TRSROKE?:>L`dba_]\YXVUQNMJFDB=00Kv#kX[]rKque̿sHIIGGEA?<96442Bc`^[Y-XXWVS>R}saYVSTPKB7;D]b`_^\YXVUQNMJFDA@:8Cd{$kWZ]rKque̾SGEC@>;85442Ab^\XW0XXWVVTGCfsXNMMLJKJF==H_`_^[YXVUQNMJGDA?<>E[g#kWZ]qKque̾uEEDDB><:74331@a][WV/UUTSQ<963220?_[YUT SSRPDCg}`EM]^\[XXVSQNMJFDA?;9JY\j#mXZ\qKqtd̾u@@??=;863220?^ZXTR QQNM;T~SNX_]ZXWUSQNLIFDA?;6HXd\#nZZ\qKqtd˾M=;97410=\XVRP OONKBDitLV^]ZXWUSQNKIFDA><7DYeSy$p[[\qJqtd˿t;:987430/0/<8@[fOq&q\[\qJptc˿ J676421.-:WTQMK JIH@EjYU[\YWVTRPMLHFC@>:8;ZhQk#q][\qJptc˿!v44320/,,--:VRNLIIHHGEE:UdTY[YVUTRPMJHEC@>;78XgRe$q^[\pJptc˿G110.-++,+8TOLIGFFEDC?EjlSXZYVUTROLKHEC@=;76UdS_#q^[\pJpscʿw. ,+()*)6QMKFDB@B;UqQV[XVUSQOMJGEB@=:73ScYZ$r^[\pJpscʿI)*))(4OKGCAA@>>=<9?;V JSYVUTRPNKJFDA?<:72I^cQx$q][\pJorbʿE"%$##$%/IEA<;;87:FkHQWVTSRPNKHFCA><862C]fMt#p\[\pJnqbʾv# ! !#".GA>:773:;W@KNUUSRQOMJGEC@?;962=]jMop\[\oJnqaʾC +C?:54228Fk@OLTURQPNLIHDB@>:8528[iOjo\[\oJmpaɾx!)>;62/,6:V@UIQTRQOMKHFDB?=:8423XgQeo\[\oJmpaɾB'<72.+-6FkB^HOSQPNMKHFCA?<:6520TfTao\[\nJlp`ɾu$83.*%3:W@eCMSPPNLJGFC@><9731.Rd[[nYZ\nJlp`ɾC 3.+%'6Fl@m@KRPOMKIGDB@><9631-KaaV}mWX\nJlo`ɾ{/*%/7RvDz=HQPNMKJFEA?=;8530-EacRxmVX\nJkn_ȾC +& "0?`=A??=7<::977654321;^iPtlVX\nIjn_Ƚt% *4Os=9766567+5CkOomVX\nIjn^Ƚ ? !/@b_RIEEDED+EDUMjlVW\mIjm^Ƚ t )4OtdI<:)>MllUW\mIil]Ƚ C/@bwbXV)YcylTV\mIil]ǽ v '5Pt~})~lRT]lIhk\ǽ F0Ac(iMS]lIgj\ǽx3;Rv#gJR]lIgi[ƽ]QNg#gJR]kIfhZƽni{#fIR^kIfhZƼ#fHR]jIfgYƼ#eHS]jHegXżٛ#dGS]i~HdfXżٛ#dFS]h|GceVżٛ#cFT\g{GbdVĻٛ#bGV[fzF`aTú|ٛ#~`HWZcxF^`Sùx}؛!~\KXXauE]]Quyכ!|TOWU^rCZ[Nwtך$yHSXP[nAWXL|m֚&o?WUJXj?TTJgsՙ!{ZEVSEVe=QPGeg֘%}s@TSICU]:MLCuanʖ%wZ7fOCBVR8JH?__|Ғ&xi8UlH?BVD9GC7xYaӍ%|vlA6hB;CS6;C?,fh`ezӆ*~{xre?-hQ;9FH.<>:;cZ^jz~~}|+{{zxwtpjR42e]=69G5.:94_PRVdnrrq2poomlj`N71W]>43=?'164)X~dIDINRVY[\\]]_`_`_`_`_^^]]\[AYWVVUTRQONMLKKJIHF?9?Os~V;1/4=*'11/y}vpnmSB?>=<=<;ADIOW`lyyoeUG:-*)+3-#( TiduhYRNIEDHKJGD?<976566767887&89;=>ADGKR\dfd]SIFDB?;73/+(&&)/)$%%MU[cRFA<8532100/..-,,+**)('$##%(+" !!>MLK>51/.,+**('&%$##" $'($ /A81154310/.-,+*+,-.--.-.-,+*)('&&%%'(&"(%*056543100//./0123434321210/..--,+**(&$   !*%      D{̹ k6 b€E 8ʅɇʇ˛̈ˆʁɁȀ }!Zɗșɗȁ¿8 i΀ˀ¿=[ـڀم؀ˬʃˀ23 ׃Ԁ ˟΁ ց ˸ h»[LΫwv{2̷$ќzq)uwϰZ0yq€(wmィvco}ֽ*jsק1n+j~毝N}ل݅ށ߂)μc뾚cqۀ܅݁ށ߇'ڿzpʙoڅہ܁݅ށ߂&߼dӛq؁لځہ܅݀ނ߅ӳ{ڡr갑À؅فځۄ܂݀ޅ߁㺯rݩqܙف؆فۅ܂݁ބ߁ɯrܲ}pΖ؁؅ـځۄ܂݀ކ߁ٰyٻ{oƛ؂׀؄فځۄ܂݀ކ߀ᳫy}m׀ցׁ؄ـځۅ܁݀ކ߀幫Ǝx|lμ׀ւׁ؃فڂۃ܂݀ޅ߁'徫Ɏw|k˻փ؅ـځۄ܁݁ޅ߂ªǎv{kʼցՀց׀؄فځۄ܂݀ކ߀ŪÎv{jȿքՀց׀؄فځۄ܂݀ކ߀êu{jƿֆւ׀؄فځۄ܂݀ޅ߁u{jſՁԄւ؅فڀۄ܂݁ޅ߁%潪u{jžԄՀց׀؅ڂۄ܂އ߀#滪u|kľԄՀց׀؄فځۄ܂݀ޅ߁6湪u|lĽ8@KT]gpy)¼wpib[TMGA5ݳnjhgfijkrw1渪u|lĽa)GXcnx+»{rjbZRJ@04W@><967655687=DQf淪u|lļ56Tt*ľzqibQ<+UsqSOKIFEDCB:@?>=;:976457MsԵu}lĻb6DZ)»qZG:6Oj~zrifb_\[YXW6USQNJFA;755:`u}mĹCEP`*Ž|cTI:@Lt{}nheb_\YXWVU4VVWVVUSOE<756KsunĹbdoz0к~rfYKMv~zwqnjeb_]ZXXVUTS'K6=\yuoŹcpz5жsfZE`}{yxurplgc]YWWVVUTS)RO7:KhuoŹʭoq{-ȴtfONx}{zxwusqomg^VUTS,RRO69C\yvoźp|0ùteFazvutropqtqnnohWVUTS.RSK7:?TtvpŻʯ{|!½tSOz_TRSTVZblpxgUTS1RRTE7;;Tsvpż} lEaȳ }yskdowwXUTSR4=5;;YxvpŽɰ"TOzɽ zzaUTSR7SL887Cc~vqż qEbցՁ îxcTUTSR$@6<5Movqżȱ {ÿSP{ۄ܂˃uaUTSR6K779=\zvrĻ{stEdځۃ܃vq]UTSR:Q<5;5JlvrĻDz}xnu RQ}ڂۄ܀nlXUTSR:G689<[|vrĻ˿~ytnbvEeفځۃ~odWVUTSRM<8<6Lnvsĺˁȳ~ztpkaèTR~ρـځۄnn^XVUTTSR!QQD>A6A`vsĺˁ7yuqlg_WzzGgփـځہ uqh\YWVTTSR"QQKFE::Twvsĸʂ6ȳzuqlgb\VWTR~؃فځ Ӈroa]YWVTS%RRQRRPNC7Lnvsķʁ8{uqlhc][RvvFf؄فڀ ҏsthb^ZXWTSSR'QU\ZZH5HfvsĶʀȵ.{vqlhc^\TzPS׀؄ـ7ćuwogc_[YWTSSRRQ]hehM6EcvsĴˁ4zvqlhc^]UztFhԀ׀؄;ʢ}zzslgc`[YVTSQQYlusrJ6FcvsijɁ2ǵzvqlhc^^VzOTՁׁAʵ{~xrmhda\ZWSQXk~uD8IevtűɁzvqlhc_^W{¾YrFj}xsnjeb]XV\qg9=Q|tmgca`[DMuʁˁ{|wsnjfa\VpZ%~vqƪ€;776899Nwnhb][XQA_ƀɁʁǾz~{vrmhd`[Ve]"~vqŪU231478Jrib\WTRBMvȅú{|yuqlgc_ZV_c{!~vpĪ3--/12Elc\UQLI?_ƀĽ}}|ytpkgc^YUXiv$~vpξQ'(+..Af]VMIH>Mvŀýz~zwsojfb]XUSrp#~vpī*"&**<_VOG>B@`t}zwrniea]XTMj#zvoĪO!#&7XOG><=Nwp}|yvqmhd`\WTLe"x}voĨ !2PG@6;?]jy{xuqmhd`[VSLua!w}uoĨM-I?738Ipgokjiggfcca`]]ZYWVRd^!w|uoħ(A7-6<[dc^] ^]]^^[ta"w|unħ J#8.,6Jq yoiijjiiji\{"v|unħ 1%2<\vUGEJY}"v{u~nĦ N '&6Jqqfdgs"u{u~mĦ .=]"syu}mĦ P "7Ls"lwu}lĤdehkov|wi\PJECC=23433 ^{{{wtqmlpsrolhfcb`_`a`a!bbcefhjmpv~~vnljhd`\WRMGC@?>8//0]mrypkhea_\ZYWVUTTSSRQ PONMKIFC@><<:3,-,"Pbdf_[YWTQPNLKJIHGGFE!DDCB@>=;;:85-**+** >VSQS QOMKIHGFEEDCDEFEDC.BAA??=<;:973-)()((& $>DGJMMLJHGEDCBABCDEFEEFEFFEDCBAA@ ?>=<:863/+( ''%  5??;:976532110/.--,+*)('&#  "*045443210/010/.--,+*))('# t8mk@^ѣSnM8 }a n]H+lJ E)kĮgE&9" q $  K4 $\E  #,5YJ0'(2=EUK@7-"",7BKT]uޣkXOF<1&$.9EOX`eju۷qgb\SI>3(sight-19.0.0/Apps/VRRender/rc/vrrender.ico000066400000000000000000004126361352776646300202770ustar00rootroot00000000000000 (V`` ~@@ (B&00 %N  ( $.9EOX ` e j u" * 045 4 4 321000///////////00000000 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1000000///////....--,+*))('#   q g b\SI>3(",7BKT ]u  5!?*?%; :976532110////////////////////////////////////////////////////////////////////////////... . - - , + * ) ( ( (('&#   kXOF<1&(2=E U$>(D%G*J0 M5%M6&L5&J4&H3%G1%E0$D0#C/#B/#B.#B.#A.#A.#A.#A.$A.$A/$B/$B/$B/%B0%B0%C0&C0&C1&C1&C1'C1'C1'D2(D2(D2)D2)D2)D3)E3*E3*E3*E3*E3*E3*E4*E3*E3*E3*F4+F4+F4+E4+E4+F4+F4+F4+F4+E4+E4+E4+F4*F4*E3*E3*E3*E3*E3*E3*E3*E3*D3)D3)D2)D2)D2)D1(C2'C1'C1'C1'C1&C0&C0&B0&B0%B/%B/$B/$A/$A.$@.#@-#@-"?,">+!=* <*:(8&6$3 /+ ( ((''%  K@7-"#,5 Y>/$VA4S8'Q1S1S5!S4!Q3 O1M0K/I.H-G,F+E+E+D*C*C*C+D+D+D+D+D+D+D+D+D+D,D,D,E,E,E,E,E,E-E- E- F-F- F- F. F. F. F- F- F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F. F- F- F- F. F- F- E-E-E-E-E,E,E,E,E,E,D,D+D+D+D+D+D+C*C*C*C)B)A)A(?'?&=&<%;%:'9(7&3"-) ()((& J0'$\P>3bM>dL([5 Y1W/T.Q,P+N*L*K(J'I'H'G&G&F&F&F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%F%E%E%E%D%D$C#B#@">"=";";$:'8(5$-* *+**  E   K]MEmUHr[JycPpR>kF1hA*e<$a8 _5\3Z2Y1W0V0U/T.T.S-S-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-R-Q-Q-Q-Q-Q-Q,P,O+N*M*K)I(F'C$@#>#<%<(:+3",,, -!,!"4   $^TM{i]{dTubhT{YDwR'hA)jD,mG0pK5vR<~\HdQfSdQ~]IvS>nI4lF0jD-hB,d?)`;%\7!W3R/M+G(C&@&?)>/"8)//0$0%0%  HC>znrd{jmmYdN`I[D^Hwdt{hkV]FwQ:nG0gA*c<%c;$b:#b:#b:#c;"c;"d;#c;"c;"d;"d;#d<#e<#e<#e<#e<#e<#e=#e<#e=#e<#e<#d;#c;"c;"c:"b:"b:"b:"d;"e<#g>$g>$g>$g>$g>$g>$g>$h>$i?%i?%i?%i?%i?%i?%i?%h?%h?%h?%g>$f=$e<#e<#d<#e<$e=$e=$e=$d=$d<$c;$c;#b;#b;#b<$b<%b<&d>)eA,hD/kI5oOlSHw`VpgxpgSlH2X5O.J,G/H7'?. 5!8*9- 7, /&"\XT}|vk~jðodPhI:cD4iI8pNzVB~YD[E\F\F]F]F_H_H_H_H_G_G`H`H`H_H`H`H`H`I`I`H`I`H_H_G_G_G_G`H_H`H`H`H`H_H_G_G_G_H_G_G_H_H_H_G_G_H_H_H_G_G_H_G_G_G^G^G]F]F\E\E\E\E\E[E[D[E[D}YC{WBzVAyVAxU@wT?uR>sQ=rO$X4R3R=)O?-?'A1"C6'@4&3)=;8gyr~cTuZLz^OjYzf~i~h}g}g}g}g}g|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f|f{f{ezdxbw`t]pYjQvR>S4%Q2%}eZx]Fe=#Z6V9#ZG4L5#E.I:*F9)?4& Ehfc~h[z`SeWziutsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqpoml~i{fx`rZeN_?.L-h\uyQ7d; ]9 _F0\H4J.N<*M>-G:*${֧xjrYOzaTs~}{{zzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwusol|fv_lTaA0U6({hPmB%d; cC+gS=R6 R;'SC1M?-6, Ė񪥝µw_Uw_U|n~~}|zxtoixaiRW8*nUIl\vH)j?"gB'mV?_D.U9#YG4RC2D7'餠ʰujxaWnc}zvqiw`{ZFU7*~f[yO4rC$lB%rV=kR:X8!^J5XH5M?-Ǽij|e\~g]{vp}gs\_@1nTItSAyI*pC%uU:u]D]:"cM8]L9RC1ȾƵ}g^shzum{e{ZG`E8rVI~S6uE&yV:}eKb=#hQ:bPjXC]L9ɹîulyn{vn|ftTBjOBzWCU7^@rVlC'sZAm[E_N;øɹïxn}r}wp~h}\JiK>zXDX;aCuYnE'w]Cp]GbQ=ùɺį|ru~xq~h`MfH:yWDZ?cFx[pF(y^Es`IdS?Ĺʻİvy~yrjbOfG8xVA[?fIz]rF({`FuaJeT@ź˼İx{~yrjcPeF7wT?\?gJ{_rG)|bHwdLgVAŻ˼İ{~~yskdQfF7vS>]@hK|asG*~cIxeNhVBŻ˼İ}~yskdQfG8vS>]AiM~bsH*dJyfOiXCƻ˼İ~yskeRgH8vS>]AjNctH*eKzgPjXEƼ˼İvs|~yskfRhH9vR=]BjOeuI*fLzgQjYEƼ˽İunayi\{m~yskfSiI:vR=^BkOfuI*fM{hRkZFƽ̽İ~k]S^QH[NFwg[v~yskgTiJ:vR>]BkOguI*fM{hSlZGǽ̽İxk<3-E;4`RIvh~yslgTjJ:vR>]BlPhuI*gM|iSl[Hǽ̽İ}PF> "70+LA:scWu~ysliUlM]BlQiuI+gN}jTl\HǾ̽İvi  .'!=5/]PGtg{s~o}n}n}n}n}n}n}n}n}n}n}n}n}n}n}n}n}n~os{~ysllWsR@yT?]AlQjuI+hO}kUm\IȾ˽İ|NC;  ' &6/*J@9qbVt|wiqbWfXNdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLdVLgYNscXyk~~ysllXuTB{VA\AmQkuI+iP~lVm]JºȾ̽İtg   1% 2)"<4.\OGtfsvdWUI?G<4E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2E:2J>5YMC}l`z~ysllXvUC{WA\AmQluI+iQ~lWn]Kºȿ̽İ{J?7 # 8!.,6/*J@9qbVt}_CyR2oI+iE(iE'jD'jE'iD'iD'jD'jD'jD'jD'jD'jD'jD'jD'jD'jD'jE'iD&U1\M@{j^{~ysllXvVC|WA\AmRluI+jQmXn^Kºȿ̽İtg ( A%7 - 6*#<4.[OFse~ud=c9^7^7^7^7]7]6]6]5]6]6]6]6^7]7]7^7^7[5tCk6aOBob}~yslmXwVC|XB\AnRmuI+jQnXn^Kºȿ̾İMC<   -I+?&7 3"80*I?7p`Usrg=oAk?j?i=g=g=f<c:c:a9`7]7]6Z5Y4W3V2R1d;^(i8^PDtf~ysllXwVC|XB\AnRnuI+jRnXo_Lºɿ̾İ{p   ! 2P/G*@%6;/&?72]RJvjzej=yH Q$P#N"M!K!{J xFuEqAm?h=d;`8[5V3S0L-uEa*c9aRHxj~yslmXwVC}XB\AnSouJ+kSnYo_L»̾İOC: ! # & 7 X3O.G+>%<'=60NFAwlcmVp@}K R$P#O"M!K!|I yGvDqBm@h>d<`9\6W3T1L-K!a*a%B3(@:5`WPwðŲıeMtCM"S$P#P#N"L!}J zGwFrCn@i>e<a9]7X3T1M.R#d,[=j[Qr~yslnYzYFZC\AnSpvJ,lTp[o`N»̾İ­­QB9' ( +..A'f< ]7V2M.I+H->60MFAvkcųųƴƵƴï^AzHO"S$Q#P#N"M"~K zHwFsCoAj?f<b:]6X5U2S0T%f-rT=paUu~ysloZ~\H[D\AnTqvJ,lTp[p`N»;ı­®®®®xm3!--/12E)l>"c;\6U2Q/L,I6)?:5_VPwñƵǵǵǶȶɷȶı}U6}I Q#T%R$Q#O"M"K!|HyFtDpBk?g=c:^8Y4U2X3X'g.iQ?veYx~ysloZ~\H[D\AoTrvJ,mTp\paO»;Ų­®®®¯¯¯¯UC723147 8 J+rC#i?!b:\5W4T2R2B81MFAvkcǶȶɶɷɷɷɷɸɸɷï}{O,L T$U%R$Q#P#N"L!|I yHuDqBl@g>c:_8Z5V2_8[(i4cO@{j^{~ysloZ~\H[D\AoTsvJ,mUp]paP»;Ʋ­­®®®¯¯¯ðððvj;#7 7!6 8!9#9"N.wG&nA#h>!b:]7[7X3Q:+A;6_WPxƴɷɷɸʸʹʹʹ˹˹˺˺ǵyzK%N"U&U%S$R$Q#O"M!~J {GvErCm@h?d;`9[6V2e=](j5]MAob~~yslp[~\H[D\AoTsvJ,nVq]qaPûͿƲ­­­­­®®¯¯ïððİİİZE6<"=%<$:#<#>$=%Q/|I(tE&mA$gf<a8\6V2pC])f7ZMDtf~yslp[~\H[D\ApUtvJ,nVq]qbPûͿƲ®¬­­­®®®¯ïðððİİıűİxkC(B'A&@&=%?%A&@&T2L)xH&qD%l?"i>!h=!g< c9Y?-A;6_VPwǶ˹˹̺̺̺̻̻̼ͼͼͼͼνϿ̼®jJS%Y&V&U%T$R$P#N"K }J xFtDoAk?f<b:]7U2{I ^(c:^QGxj~yslq\]I[D\ApUuvJ,oWr^rbQûͿƲ­­­®®¯ïðððİİıűűűaI7F)G*G)E)B(C(E(C(Y4O+}K(wG'qC$nA#mA#l@#i>!f>$I<4KE@tjc˹̺̺̻̻̼̼ͼͼͼνννϾϾͼ­t\M T%Z'V&U%T%S$Q#O"K!~I yGuDpBk?g=b:^7T1N"_(`;cUK|n~yslq\^J[D\ApUuvJ,oXr^rcQûͿŲîí­­­®®¯ïðððİİİűŲŲıwhN.N.L.J,I+F(F)G*E)Z6Q,M)}K(wF%sD$rD$qD$pB#m@"`B.@;6]UPxɷ̺̻̻̻̼ͼͼͼͼννξϿϿϿʹqVQ!V%['X'V%U%S$Q$O"M!J zGuEpBl@g=c:^7W3S$c+~Yd;`7_8X&g/lR=teYx~yslq\^I[D\ApVvvJ,pXt`scRûͿİİðððİİıűűŲŲŲųƳkJ3]6]7[6Y4V2S1N.N.O.M-b:W/T-Q+M*K(K(K(~K(}J'{I'xH'O@5KE@sjc²ͼͼνννϾϿϿϿϿY1U$[(\(Y'W&V%T%R$P#M!L!{HwFrCm@i>d:`8d;Z'h3eQ@{k^{~yslq\]I[D\AqVvvJ,pYt`scRûͿİıïðððİİİűűŲŲŲųųƳŲtdc;b:a9^8\7Y4U3P0P/Q0O/e<Z1V/S-O+N*N*N*M)M)L)~K'pJ2B;7\UOxɹννξϾϿϿϿ˼M"U%\(\(Z'X&W&U%S$Q#M"L!|I xFsDnAi>e<_8l@['f4^OBqd~~yslq[~\H[D\AqVwvJ,pYt`scRü;İıİððİİıűŲŲŲųųƳƳƳrM4g=!f=!e= b; `9\7X4T1S1S1Q0f=!\1X/V.R,P+P+P+P+O*O*N*K)SB6JD@ric²ͽϾϿϿϿ˼t_L!V%^*](Z(X&W&U%S%Q#N"K!|IxFsDnAj>e<^7tDY'e6aSIyj~yslp[}[G[D\AqWwvJ,qZt`sdSü;İŲİİİıűűŲŲŲųƳƳƳƴijudk@#k@"j?"h?!e=!b;^8Z6V3U2U2R0i?!^3Z0X/T.R,R,R,R,R,Q,Q,N)tM3A;7\TO~wʺοͽ̼˼˼̼̼̼̼˼Ⱥ³xS5N#X'_)](Z(X&W&U%S%Q#N"L!}I xFsDoAj?f;^6{HX%d=l\Rr~yslnZzZFZD\AqWxvK,qZtasdSü;İŲŰİıűűŲŲųųƳƳƳƴƴyS8pB"oB#nB#k@"h>!e< `9\6X3U2U2S0j?!_4[1Y0U.T-T-T-T-T-S,S,R,P,XD7IC?pgaȹ³}vu`OuEM"])^)\)['X&X&V%S%Q#N"M!}J xFsDoAj?f;a9~J!Y%\A{j^z~yslmXyXEZD\AqWxvK-qZtatdSü;İƲűűűŲŲŲųƳƳƳƴƴǴųuatE%tE%sD$rD$nB#j>"g< b:^7Z4W3W3T1l@!a4]2[1W/V.V.V.V.V.U.U.T-S,|Q4C<7ZSN}v|uyryrxrxqvo{rkskeg_YdUHlD$wER$a+_)])['Y'X&V%T%P#N"M!}J yFsDoAj?e;g=}I Y)w_Lxk~ysllWxWDZD\AqWxvK-qZtatdSü;İƲƱŲŲŲųųƳƳƴƴǴǴǵS7xG&xG&vG%uE%oC$k@"h>!c; _8Z5X4X4U2mA"b5^3\1X0W/W/W/W/X/X/W/V.V.T-_G7HC?of`|sl_XSTNISMHSMHQLGPJFTKEWJ@_F3e=i=yH_)`*_)^)['Y'X&V%U%Q#N"M!}J yGsDoAj?f<j>wE[3yg[w~yslkWxWDZD]AqWyvK-qZuateSüͿİƳƲŲŲųųƳƳƴƴǴǴǵƴs_|H%}I'{I'yG&vG&rE%nA#j?!e< `9\6Y4Y4V2oB"c5`3^2[1Y/Y/Y0Y0Y/Y/X/X/W/V.S3F>8YRM}srisYaHyY?wVL"`*d,b+a*_*])\(Y'X&V%U%Q#N"M!}J xFtDpBh=R0S0uK+vf|~yslkWyXE[D]BrWyvK-qZubteSüͿİ­ǴƳƳƳƴƴǴǵȵȶȶȶƴu_L&O)M)L(}K'zI'vF&qC$lA"h=!c:]7Z6Z5W3rD$i9e5b4\3[1[1[1[1\1[1[1\1Z0Z1X/W6F>8YRMxij2e,S$Q$Q$O#N"M"O"U%a+g,d,c+b+a*_*])\(Y'X&V%U%Q#O"N!}J xGtCh=W3K,U3mY|~ysllXzYF\E^CrWyvK-qZubteSüͿİ­ǵdzƴƴƴǴǴȵȶȶȶȶW3P+Q+P*N)L(|J(wG&rD$nA#i>!d; ^8\6\6X4sD%l:f8d5`4^3^2^2^2^2^2]2]2]1\1\1Y/fK9IC?og`vRm.m0e-e-e,f-g-i.i-g-e,d+c+b+a*_*])\(Y'X&V%T%Q#N"K xFnAd:Z5Q.O0zcRx~yslnZ}\H\E_DrWyvK-qZubteTüͿıîȵǴƴƴǴǵȶȶȶȶɶǴs\P*R,R,Q+N*L)}K(xH'sD%oA"i> d< `8\7\6X4uF%n;h8f8c5`4_4_4^2^3^2_2_2]2^2\1[1X6G?9XRMyjj3q2l/h-h-h-g-g-f-f,d,d+c+a+a*`*^)\(Z'X&T$O$K!xFqBj>d:[5W3Y=)th^|~pv~~yslp[^J]F`ErWyvK-qZubteTüοűïȵǴǴǴȵȶȶȶɶɶɶY5T-T-S-R+O*M)~L(yG'tE%oB"j?"e< a9]7]7X4wF&qme^vTk.q1i.g-g-g-g-f-f,d,d+c+a+a*_*\(Y'V%R$O"M"K!xGtEoAhC$S=+J>5NID[VRjd_sibueZqd~oy~yslq\aL^GaFrWyvK-qZubteTüοŲİȵȵȵȶȶȶȶɶɶɷƵsZT-U.U.T-S,P+M)~L)zH'tE%pB"j?"f< `9]7]7X4wG&r>m:j9g7d6d5c5c5b4a4`3`3_3_3^3^2\1Z6F>8VPLxjl7p1m0g-g-g-g-f-f,e,d+c+a+a*_)])[([(\(\(\(])_*a+c,i0hNJGSLFXLDgYOzi]xkw~yslr]cN_GaFrWyvK-qZubteTüƲƱɶȵȶȶȶȶɶɶɷɷ\6W/W/W.U.S,Q+N)L)zH'uE%pB#k?!g< b9]8]7Y4yH&u?okc]xYl.p1j.h-g-g-g-f-e,d+c+b+a*_*])Z'X&W&W&V&W&Z'[([)^)^)b*j0f6]8gOqkc]{]l/k/c,c,c,b+a+`*^*^)])\)[(Z(X(W&V&T%S$O#M!~K xFrCpBoBvEN!T%Y(Y&^'`.W4Q=-:1*?70OEnjb]poyzzzzzzxpdsQd?U-N#M!N"O"L!}I xFsCnAj>e<b9]6X3V2\6qCO#R$R"U)gI19/(<4.ODq=pd;a9\6Z4W3S1Q0X4k?~J!JK!uK*D6*80+I?7eVLpct{yslxalUdK\AqWxvK-qZtatdSü;İɶ˹ʸʸʹʹ˹ʹ~_6^2^2]2]2[1Z0V/T-Q+O*L)zH'vF%qC#l@"h=!c:^8]7U3zH'؀E{BwAt?s>r=r=r=qhb\ƽʸl}P*zGzHsCl@g>c;`8[6Y4V2T2S1Q0Q0Y4l@uEsDrG%J9+6.)F<5cSIoaqvslxanVdL\AqWxvK,qZtasdSü;İɷ˹ʸʹ˹˹˹ȷpQ[0^2^2^2]2[1Z0V/T-Q+O*L){H'vF%qC#l@"h=!c:^8\6T2zH'ڂE|ByAu?t>s>s>r=r=qs>r=q=pb:^8Z5X3W3T2S1S0R0R0R0Q0U2\5Z4Z6H6'5-'H<5fUJp`lkyboWfL\AqVwvJ,pYt`sdSû;İʸ̻̹̺̺̺ȶmN[/^3_3_3^2]2[1Z0W.S-Q+N)L)zI'uE%qB#l@"g=!b9\7V1W7z[Y|B{BzBw@w?v?u?u>t>s>r=pϱݿϰuGw?wAw@w@w@v?u?u?s>r=q=pg`\·ɿʹuK)qBh<\6Y4W3V2T1T1S1S0S0R0R0R0Q0Q/K-F)E):.%:1+TF$qҴٺҴԶ׹辙֋Wvs=r=p#A+6-&A6/`OChWs]pXgM]BpVvvJ,pXs`scRû;ı̺ͻͻ̻˺wX/[1^2_3_3^2]2\2Z0Y/U.R,P+M)~K(yH'tE%nA!b6aDӴۼԶԵԶӵԵֹήݣwzBw>yAyAx@w@u?t>s>r=q=n5nXJkWnVgM^CpVuvJ,pXs_scQû;ı̺ͼͻ̼ǸfFX/\1^2_3_3^2]2[1Y0X/U-R,O*L)}K(xH'n>uH*tѳٺԶննննննշ׹远֎[w=y@yAyAw@u?u?t>r>p=n;l:j9g8d6`4\1U-RE;QLI}upún@l@X4U2U2U1T1T1T1T1S1S1S0R0R0R0R0G)6 8!9.&<2*[I=|aNjSgM^DpVuvJ,oXs_rcQûͿıͼμͼ˻tV/Y0[1^2_3^2^2\1[1Z0V/S-Q+O*L){I&sB!qRݿٺַնַַַַַշննԶշб|Cw?yAx@v?v?t>s>q=oq=pw@v?t?r>p=n;k:h9e7a5]2X/P+qL3E@=b\Yǿ»ù\?xEc:T2U2U2U1T1T1T1T1S1S1S0S0R0R0R0R0@%6 <)5+$M<1oTA_H^CpUtvJ,nVq]qaP»ͿŲνξɸ[?O+V.Y0[1]1]2]1\1Z0Y0W.T-N'c>ӱݽۻڻٺ׸ظعععٹٹععع׸ַննӵҳѳҶťՕfw@u?u?r>p=n;l:i9f7b5^2X/S,M)TD9OKGzsnǿɽwozO+zHa9U2U2U2U2U1T1T1T1T1S1S1S0R0R0R0S1L-8 8!7,#C4+cK;~[D^CoTsvJ,mUq]qaP»ͿŲϾͽ|k}I'P+U.X/Z0[1\1\1[0Y0X/R*X1jڸ߿߾޽ܼܼڻٹٺٺںںٺٺٹع׸ַַԵӴѳввϳܮ́Nr;s=q=o;l:i9f7b6^2X/S,K(lI1E@=a\XȽ~yzuzuzvzvzvzuzu}wsytosmikead\VoQ9wFwFX4U2U2U2U2U2T1T1T1T1T1S1S1S0S0R0R0R1=$5 ;+ ;.%YD5xWB]BoTrvJ,mUp]paO»ͿŲϿʺ{T9|H'O+T-X/Z0[1\1[1Z0W.P)rLŸ߾޽ܼۻںڻڻںںںٺع׸ַԶӵҳвα̯ϳДht=o:o;l:j9f7b6^3Y/S,L)tF'SC8OJHzrnxs_ZVTOLRMJRMJRNJRNJRNJSNJTNIVMFZNCbL:lI*pBxGg=U2U2U2U2U2U2T1T1T1T1T1S1S1S0S0R0R0T2E)7 ;(;.%T?2sT@\BoTqvJ,lTp\paO»ͿŲξygpC#|I(O+S-W.Y/Z0[0Z1S*Z1ɠ|޾ݽۼۼۻۻۻڻںٺ׸׸ַԵҴѳϱͰ̮ʭȭ׬}Mk6l:i9f7b6^2X/S,L)tD$eC-F@=a[Xd{\lN]@zV9vS8uR7tR7rP6oM1pL/qK,tK)qE"nAnAoAh=W3V2U2U2U2U2U2U1T1T1T1T1T1S1S1S0S0R0S0K-7 :$?0&T?2tT@[AnTqvJ,lTp[p`N»ͿŲʺoK3qB"{I'O*S-U.X/Y0Y.P'sMĢ޾ݾܼܼܼۼۻںععָնӵҴв̯ͯʭȫǭڽȒjj8f6f8a5]2X/S,K(tD&f]E]BnSouJ+kSoZo`Lºȿ̾ıbA+d;oB$zG&M)Q+S,S,Yͫ߾ݽܼܼۻںٺ׸ַԶҴѲαͯ˭ɫĨڿ׾дia4[0W.Q+~J(rC$f= Y4K>5MIGvpkoTR"S%~K zHwEqCnAj>e<b9_8]6Z5X3X3V2V2V2U2U2U2U2U2U2U2T1T1T1T1T1S1S1S1S0S1K+6 ='\H9y\HbI^CnRnuI+kSnYo_Lºȿ̽İj]U2d; nA#xG&L)N)_8Φ߿ݽݽܼڻںعַնӴѳΰͯˮȫĨپԻж̴nIT,P+}J(qB$f<W3N6$E@<^ZVvU+R#L"xFtDpBl@h>d<a9^7[5Y4W3W3V2V2V2U2U2U2U2U2U2U2T1T1T1T1T1S1S1S1T0R0>%6 K6&sZIfPeLaFnRmuI+jRnXn^Lºȿ̽İxQ5"U3c;nA#uE$~J'vTŦغٹݽ߿޽ܼۻڻعָնӵѳΰͯˮȫèּѷ˲ŮaU1{H&pB$c< X4I*G:2LIFuokpXMN"wFqCmAj?f=b;_8]7Z5Y4W3W3V2V2V2V2U2U2U2U2U2U2T1T1T1T1T1T1T1T2Q/A%7 :#mVGkVmUgMeKmRluI+jQmXn^KºȾ̽İjUHF(U2a9i=}Q3sĩǪͯӵعݾܽۻڻع׸նӵѳαˮɬĩ׼Ҹ̳Ůr[>n@"a:V3J+B,D?<]YVwU0L"zInAk@i>d=a9^7\5X4X3V3V2V2V2V2U2U2U2U2U2U2U2T1T1T1U1U1U2R0J,:#68 gO?r_u_pXgNjPmQluI+iQmWn]KºȾ˽İ|oC,E*P/`9 `Gį˳ջçʭвշۻۼڻعַԵѳϱˮǫŨڿּж˲ŭzvo|`Kc?%T/I+:!@6/LHEtnir]{G}I n@h=e;b:_8\6Y5X4W3V2V2V2V2V2V2U2U2U2V2V3W3V2V2U2S1O.E)<#7!5 <%iRB{h~iybpXgNxamQkuI+iP~lVm]JǾ˼İbPE6D&Z<'nZ{ǯзپũͯҳٺ޽ܼعնӴбͰʭǪٽӸεɯ«}xr}lvfpaqaQZ@-G*:!6&OKGjeb~T1zGrCi=f<b:_8\6[5Y4X3X3X3X3X3X4W4W4W3U2S0Q0N.J+F*A&;#7 5 5 :#`M>tesrlybpXgN|fmQjuI+iO}kUm]Iǽ˼İw5#6 T?0tfVue|jrzɱӷڿƫίԵڼ޿ݾٺյбͯɭƩçٿӹжɰĬ~ztpyirczk[qcTi\PbTIQA3<'+ UKF{vosCqBS1O.K-I*F)E(D'C'C'C'B'B'B&@%?%>$=#;#:"9"7 6 4 5 7!M8(saUyslybpXgN|lQiuI+hN}jTl\Hǽ˼İaQG)G:/XODcWJn`Sxj[sb|jszɰѶپũ̮ҳַں߾޿ۼ׸ӴΰɬħپջѸ̴Ʈªytozhtd{m]reWj^PbVJZOCRH=JB8@7/0#4(ǺW8W2@%>#<"9 6 7 6 6 6 6 6 6 6 5 5 6 6 67!='D.Q<+fSD{o˿zslybpXgNlPhuI*gN|jSl[Hǽ˼İt80+@:3KD=TLE]TKg\RpeYym`ug}nv}ɳѹ׿ūɯͳҶֺټ۾۾ڽ׻ԸеͱȮê־йʳư¬}ys~owirewk_pfYi_SbXN[RITLDME>GA:A<55/){nVDjVEhTEgSEfSDfRDfRDfRDfRDfRDfTEiVHjWHkXJraSwfYpd{o|ɾzslyboXgNkPguI*gM|iSl[HƼ˼ıƲǽŻŻźźƻƼƼƽǽǽǽȽȾɾɾɿzslyboWgNkOguI*gM|iSlZGƼ˼űǴǾżŻźƻƼƼƽǽǽǽǽȾɾɿɿzslxbnWgOkOfuI*fL|hRkZGƼ˼ŲʷȾƽƻƻƼƽǽǽǽǽȽȾɿɿzslxanVhPkOeuH*fL{gQjZEƼ˼Ƴ̻ȾǽƼƼƽǽǽǽȽȾɾɿzslwalUs\kOduH*eK{hPjYEż˼ȵξȿǽƽǽǽǽȽȾɾɿɿíztlv`jSmjNduI+fK{hPjYDƻ˼ʷɿȽǽǽǽȽȾɾɿɿŰztlt^gQxîjOcvI+eJ{gOjYDŻ˼˹ϾȿǾǽȽɾɿ­ztlq\eQdzkOcvI*eK{gOkYDŻ̽ξ˸ȿɿɾɿztmlXgWɶkPcwJ+eJ|gOkYDŻ̾¹dzɿɾɿ{tmhUsfǸƳlQcxK,fJ|hOlZD´ŻͿȿƺ}{unbPxļ­mQdyM-gJ}hOmZDº´Żzǽ{voy[KnSe{N0gJiOo[D»öƻøνɷ|vnrVHpUf}Q3hKjPp\DûķǼĹ|rí}xxerXLĿwrXhT8jNkPq]EüĸƼĻmeĹù~y{_Pmdju[jX&=%;$:#9#8"7"7"7"7!7"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$8$8$8$8$8#8#8#8#8#8#8#8#8"8"7"6!6!6 5320-* ( ''%  cG:,+9}J6*P4$O.R4!Q5#O3"M2!J0 H.G-E,E,D,C,C,D,D,D-D-D- D- D- E.!E.!E.!E.!E."F."F/"F/#F/"F/#F/#F0#F0#F0#F0#G0#G0#G0$G0$G0$G0$G0$G0$G0$G0$G0$G0#F0#F0#F0#F0#F/#F/#F/"F/"F/"F/"E."E."E.!E.!E.!E-!D- D- D-C-C,C+B+A*@)?(=';&:%8&4".) '(' n3&%/$_I=gP@fI6^:%[3W0T.Q,O+M*L)K(I'I'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'H'G'G&F%E%D$A#?"=":#9'7%/***' w  -'$po\QxaQ~gTtS>oI3kC+f=%d:"d;#c;$a9"^7 \5[2Y2Y2Y1Y1Y1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1X1Y2Y2Y2Y2Y2Y2Y2Y1Y2Y2Y2Y2Y2Y3Z3[4\5\6^8"a<&eB-gD/eB.b>(]8"[6 Y4V2S/O-K)E&@%>&<+5$-- ."+ X 5ukboa|ko[aK[D~YBmYt`hS~XArK4iB*d<$c:"b:!b:!c:!c:!c:!c:!c:!d:!d:!d:!d;"d;"d;"d;"d:!c:!b:!b9 b9 b9 b: d:!e<"e<"e<"e<"e<"f<"g=#g=#g=#g=#g=#g=#g=#f<"e<"d;!d;"d;"d<#d<#d;#d;#c;"b:"b;"b;$b<$d>'gA,jF2pN;xXFeUvgy|u~ovfiX~^KqN:a>)R0I)B)A. ;+12%2'* &\VRyszyer]qr^sQ>bA0b@.fC0iE1jF2lG3mI4oI4qK5rL6rL6rL6sM7sM7tM7tM7tN7uN8uN8uN7sL6qK5pJ5oJ4pJ5rL6tM7vO8vO8uO8tM7tM7tM7uO8vN8uN8vO8vN8vO8vO8vO8vO8tM6sL6rL6qK5oJ4nI4mH3lG3lG2kF2iE1hD0eB/b?-_=,_=,]=.]>0^A4cG;lRHybXqh{t~vbNa>'P/J-H4$?-7%9- 7, 6~񝍁q}|kZnO@kL.?3$5+"LJGvn^tYK|_Oo]{f{ezezezdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdzdycycxav_s\oWbKfD2V8*f[wemF.Z5V<'R>,D.G9)A4'fzvrǧyix^Rm_suttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqom~izcrZ}YDS3$i]pZi@%^;"`K5N3 N<+K<,/&뭥w_Th[~~}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{zxupiw_~\GZ;/ugvK-f=!hL3]C-T<(SC1@5&ᢞķth{cY}}yskw_kK9nTIyR:oA#mJ/kR;Y<%ZI6L>.ƺ|e\yn{sjlV_B5uWGxI*rJ-w^D_>&aO:UE3ȼ¯kayp{dlM=mSG}Q5wL.eJeB(hS>ZJ7ʿıyvl|ti`LiNB|V=|Q2jOjE*mXA^M:Ųyv~wmmXgK=|XAV8oSnH,r\EbQ=ų||xos^fH:|YCZ=sVqJ-u_HeT@·Ƴypv`fG9|XA\@vYsK.xbJgVAøǵyqwafG8{V?^Ax\tM/{dLjXCùǵyqwbgH9zV?_Cz^uM0}fMkYEĹǵzrxbgI9zV?`D{`vM0~gOlZFĺǵx~o{zrxciJ:zU?`E|awO1~hQm\Gĺǵ|yh]j[QvhzrxcjK7k\RvzrydkL6I>6I>6I>6I>6I>6I>6I>6I>6I>6I>6I>6K?7ZMCsfzrzewWD~XAaEgxO2mUp_LƽǵtcW 21. <4.eWMumwO/mF&gB"gA"hA"gA"gA"gA"gA"gA"gA"gA"gA"gA"f@"xL(kR>qdzrzexWEYBaEhxP3mVq`Nƽǵ8.& ;"=$16,%KA:obt_h=`9_8^7^7]7\6\5[5Z5Z4Y5X4X4d;`,oUAwizrzexWEYBaEixP3nWraNǽǵzlb  ! C'G*<#7&>61hZQvkSqBM!M!K!|I wFsCo@i=d;_8Z5U1N.}J e0hTE}nzrzexWEYBaEjxP3oXraOǾǵ!sC%i>!b:^9[5L:-OHC}tȷɷɸʸʹʹ˹˺˺ǵ{}J"R$V&S$Q$O#L!}I wEqBk?e<_8Y3d;`*{W$=$@%?%mA"xG&oB#i= f!S>/OHC{s˹̺̻̻̼̼ͼͼννϾϿ̻~gN!W&W&U%S$Q#N"J zGtCm@g=a9Z5yFc,lTAuhzr{f`L\DbGpyQ5s^ufSȶ­­­­®®¯ððİİİűIJl]P/O/L-I+G)H+G*xG&O*}J'vF%tD%sD$qB$jB'F=7i`ZƵ̺̻̻̼ͼͼͼξξϿϿϿjR"Y&X'V%T%Q$N"K {GtDnAh=b9[5L!c/fRD{lzr{f`L\DbGpyR5t^ufTȶîïððİİűűŲŲðbB+W3T2Q0M.J,K,J,|J'Q+M)|I'zH&yH&xF&tE$YA1PHD{s˻ͼͼͼννξϿϿ̽x[U$Z(Y'V&T%R$O"K!{HuDoAi=c:\5Q#c1gUHrzr{f`K\DbGqzR5t_vfTǶïî¯ðððİıűŲŲŲųlY]7]6Z5W3R0M.N.M-K(T-P+L)K(K(}J(|J'tI*I>7f^WǶͼννξϿϿϿƶfCV%\(Z'W&U%R$O"L!|IvEoAi>c:^7T$b5jZNwzr{e_K\DbGqzR5u_vfUǵðïððİİıűŲŲųųñmH.d; b:_8[6U3Q0R0P/N*W/T-O*O*O*N)M)L(aE2NGC|t̻νξϿϿϿ;U/W&\)[(X&V%S%P#L!}IwEpBj>d;b:V%^7qaU{zr{e~]I\DbGrzR5u_vfUǵİİİİıűŲŲųƳƳƳn[j?"i>!f= c;^8Y4T1T1Q0Q+Y0V.R,R,Q+Q+Q+P+|L,I?8h_YǷξͽ̼̽̽ͽ̽˼ŷwgK"Y&^)[(X&V%S%P#M!}IwEqBj@d:g<U$_>mazrze|[H[DbGrzR5u`wgUǵıİİıűŲŲųƳƳƴñvL/pB#nB#j@"f= a:[6V2U2S0R,[1X/T-T-T-T-S,S,Q+hI4MGBxrŶ|pgrL.K!^)])[(X&W&T%O#M!~J wFqBj@d:nAU$z]G}nzrzeyXF[DcGszR6u`wgUǵűűűűŲŲųƳƳƴƴoYuE%uE%sD$mA#h>!c;]6X4W4T2T-]3Z0V.V.V.V.V.V.U-S/MA9d\Wtkfjb\ia\ha[e^YbZS^RGeE,oAT$`*^)[(Y'W&U%P#M!~J wFqBj?e;qBU){gX{zrzdxWE[DcGszR6u`wgVǵŲƲŲŲųƳƳƴƴǴIJQ1{H'yG&vF%qD$k?!e< _8Y4X4V2U-_3]1Y/X/X0X/X/W/W.V.nL5NGCxoz~h{aLlS?jP;lO9iK2lH+b<f;L!`*`*^)\(Y'W&U%P"M!~J wFqBj?c9i=[<|mzrzdxWE[DcHtzR6v`whVǶƳƲųƳƳƴƴǴǵǵoWK'L(|J'yH&sD$m@"g> `9[6Z5V3X/c5^2Z0Z0[0[0[0Z0Y0X/V0QC9b[UoH['Q#P#O"K tDl>rCU%c+b+`*^)\(Y'W&U%P#M!~J wFqBf<O.c=sazrzdyYE\DcHtzR6vaxhVǶƳƳƳƳƴǴǵȶȶijU2O*N)L({I'uE&oB#i>!b9\6[5W37a4]2\1\1\1\1\1\1[1Y/uP6LFBq`k3c+[(Z'Z'\(_)e,e,c+b+`*^)\(Y'W&T%P#M!|I sCf;U1N/~cO}zrze|[H]EdItzR6vaxhVǶƴdzƴǴǴȵȶȶȵoUQ*R,P+M)}K(wG&pC#j? c:]7\6X4]1i9d6`4_3^3^2^2^2]2]2\1X1RC:e]WrLn0j.h-h-g-f-f,d,c+b+`*^)\(Y'V%Q$K!wEm@c9Y4V7 sdXtwzr{e_K^EeItzR6vaxhVȷǵǴǴȵȶȶȶɶIJV1T-S-Q+N)L(xG&qC#k@"d;^8]7Y4_3m:h7d5b4a4`3`3_3_3^2]2\1zR6LFBoal4o0g-g-g-f-f,d,c+b+`*](Z'V%S$P#N"K!}IsJ)TA1IC>WRNga[m`W}l_|n{zr{fbM^FfKtzR6vaxhVȷȵȵȵȶȶȶɶȶqUV.V.T-R,N*L)xG&qC$k@"e;^8]7Y4a4o;k8f6e6d5c5b4a4_3_3^2]2[1RD:aZTtPn/k/g-g-f-f-d,c+b+`*^)[(Y'Y'Z'[(])`*e-c3`5rS;WHp`6X,Q$P"P#N"J yGqCl?f<`7\6e;yFQ#T$R*[A-<3,MB:n^T|n}zr|glUbIcGszR6u`whVǵʸʷɷʸʸɸpS\0\1[1Z0W/S-O*M)yH'sD$mA"g< `9^7V3h8yAv>q=or=r=qc:^7Z5W2T1R0Q0Y4l>qBiC#C4(?5/bSItftr}goXcJcGszR5u`wgUǵ˹ʸʹ˹ʸoO]2^2^2\1Z0W/S-O*L)yH'sD$mA!g= _8[6S1j7}Cx@u>s>s>r=qs>r=pr=q=o;m:j9g7d6a4Z1_I:[UR˿sG$k>[5X3V2T1S1S0R0R0R0Q0O.F(B)8.&K>5xaRt`qYeKbGqzR5u_vfUǵ¬̻̺̻ŵxZ2\1_3^2]2[1Y/V.R+N*~K(wG&rC$h<rJ.~ԵԵҴշɨٙiyAx@w@w?u?t=r=px@w@u?t?r=pr=op=m:j9f7a4Z0S,uJ.LE@unjǿº}Z>uDX4U2U2U2T1T1T1S1S1S0R0R0P.:"8%:.&_G8]EcGnyQ4q\tdRǾɷdzͽX=N)U.Y/[0\1[0Y0U-\5u޾߾߾ݼܻںٹٺںٺٺع׸ַնӴѳϱϲἚΉXs=q1zXBbGmyQ4q[sdQǾɷȵǷ~mvG&M*T-W.Y/Z0Y/U,ySǥ߿޽ܼڻڻںںںع׸շԵҳϲ̯ͯŧҟwuBm9k9g7a5[1T,}J(jD*KC?vojn_fTG_NA^M@]M@\K>^K=aK9gJ3kF'nAqB[5U2U2U2U2T1T1T1T1S1S0S0R0R0K,6 <+M:.wU@aFlyP4pZscPǾɷǴrM5vE$M)S-V.X/W-Z2ɟz߿ݽܼۼۻڻٺع׸նӴвΰ̮ɬǬصTh6f7`5Z0S,}I(l@#R?3XSQweW)P$M"K!|J zIxGuEsCoAl?e<Z5V2U2U2U2U2U1T1T1T1T1S1S1R0R0O/6 >+T?2zXAaFlyP4pYscPǽȶxie;tE%L(Q,T-U-}VЮݽܼܽۻٺعַԵѳϱͯɬƩ§پǙvk>^2Y0R,|I'l?"[:$HC?rkedBS$K!{IwFtDpBl?g<b9[5W3V2V2U2U2U2U2U2T1T1T1T1S1S1S0R0O.6 C/ eM<^FbFkyP3oXsbOƽǵcD/f< sD$~K(P*a;Ҫ޾ܼۻںعַԶҳϱͯʬƩؾҹȩvQZ1Q+{H'k?"Z5K;0WROwiR$O"yGsCnAi>c;_8\5X4W3V2V2U2U2U2U2U2T1T1T1T1S1S1S0S0H*6 U@1|^IcJcGixP3nWraNƽǵ|gXR1e<qC#|I&yVĤڻ޿޽ܼڻٺ׸նҴϱͯʭƩջϵǯmX5yG&j?"Z6I/HB>pjfcBN"yGpBk@g=a:^7[5X3W3V2V2V2U2U2U2U2T1T1T1T1S1S1S1L+9!@*x^MkTfLeJhxP3nVqaNƼǵwL3"Q0a8xN1qǩϱָݽ޾ۻٺظնѳϱʭƪֻϵǮw]Cg>"W4F(A4+TPMxkN'|Im?h>d<_8\5Y4W3V2V2V2U2U2U2U2U2U1T1T1U1T0N-C(6 <%x_NvaqYhOjOhxO3mVq`MżǵjVJ>$O/wYBxŭѹ¦ˮԵۻܼعնҳΰ˭ũԺͳĭypyhu_KY9$D(7$HC@uojeJzGn@g<c:^7[5X3W2W2W2W2V3V3V3U2T2S0Q/L-E(>$7 8!Q;+hWm|grYkSqXfwO2lTp_KŻǵ9&A*iVFxgpzʱֻũΰַݾ߿ںԵϰ˭Ʃ¦ջ϶ȯ|tmvdzl[oaTcTGK7'3J?8{wxI%k>U2Q0M,J+I*H)H)H)G)F(E(C&A&>%;#9!6 5 =']J;yr}grYlT|eewO2kSo^JŻǵgWL1$MC9]RFk_Qyk[weq{ɰӹçˮҳعݽ߿ۼ׸ѳ˭Ĩؽѷ̳Ĭ|tnue{m^pdUfZM[PDQG=G=58.&/$xaP/A&>%;#9"9"9"9"9!9"9#:#;%>(F0T@0gUFnbƻzr}grYnUqdwO1jSo^Jźǵpfqf}óȸͼŴȷ˺μопͼ˺ȸĵ̽ɺƷ´żǼû·zr}gqYnVp~cwO1iRn]IĺǵżŻźƻƼƽǽǽǽȾɿɿùzr}gpXpXp~bwO1iQn]Iĺǵ·ƽƻƻƼǽǽǽȽȾɿǽzr}gnWt]o|awN1hPm\GĺǶĹǽƼƼǽǽǽȾɾɿzr|glUqq{`xN1hOm[FùȷƻǽƽǽǽȽȾɿzr|fhSs{`xO1hOm[FùʹĺȿǾǽȾɿzr{edQv{`xO0hNn[Fù̽³·ȿɾɾɿĺ{szegXŴu{`yP1hNn\Eùʽνɿɿ˹{swbsg¹q|azQ2iNp\Fµĺƽ|dz|tq^}i}b}S5iOr]F÷źɿ}ufVǾyadV:kOs_FĸŻ|Ͼν~tsYMþпu\g[?nSt`HĹżmfǾqaqhűt[laEqWtaKŻĻxnϿĺ|lSIw_pfMt\o^J형׾ŽǾwd_~ŲĺŰzaVzs}~gvlUv`\QAoolĿȾvc\you_Upirrys]xe>7/::9Sǿżȿz{g`vqgmfy~y{hrc9 ξȿ¹oilesk{qw|}|xxyy|~}~Ʋvq`YO<<;UƽǾĹ¾νx{q!?qpoÿ»ƽ¹Ǿƽ¸Ͽͼ˺ʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸʸ˹˺˻˻˹˹˺˺̺̻ͼͽξϾϿϿϿν̻ȶű{HC>¿ȿúͿ̼̾˼ʻʺʺɺɺɺɺɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹǷǶƶŴò]UQ rqoÿžſƿüɾɾȽȽȼȼȼȼȼȽȽȽȽȽȽȽȽȽɽɽɽɽɽɽɽɽɽɾɾɾɾɾɾɾɾɾɾɾɾɾɾɽɽɽɽɽɽɽɽɽȽȽȽȽȽȽȽȽȽȽȼȼȼȼǻǻǻƺŹķ¶SNK  HHGcܻ»ýſƿſſ¼½½½½½½½½½þþþþþþþþ½½½½½½½½½¼¼ſſľýü»~{310TIIHe䷴sqn:97[ ?(@ @2HZ}$155320//////////000000000000000000000///////..-+)(&    vUB,*D1"I,M0O4#L2"H0!F. D-C,B,B,B, C- C-!C-!C."D.#D.#D/#D/$E0$E0%E0%E0%E0%E0%F1%F1%F1%F1%E1%E1%F1%E0%E0%E0%E0%E0$D/$D/#D.#D.#C."C-"C-!C- B, A+@*?)<'9%5"/)'% <%)L=4lUEgH4`8"Z2V/R-P+N*M)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)L)K)K)K)J(G'D%@#<$9&1++  MF@n_r_[EzT=aL^HvO8jB+d;#b9 a8a8a8a8b8b8b9 b9 b9 b8a8a8a8b8c9 c9 c9 c: d: d: d: d: d: c: b9 b:!c:!b9!b9!a9!a9!b:"c=&gB,nJ5xWDkZ}otuekZcRwVCiG2V5 G)A+9)0!1&9y|l~krtSAfE4mJ6rN9uP:vQ;xS|U>{U>{U=yS|U>{T={U={U>|U>|U>|U>|V>|V>zT=zT=xS,iLqP4gUA˿{mtTCX@nRuR7lZD{ntTC~X?qUxT9o]G|ouVE~X?tXyV:q_Iwj||owWF~X?uZ{W;saK·n^SNC<~m`|oxYG~X@v[{Xc=c=c=c=c=c=d=h@ zW:|n|oaNZAy_|Y>wfQøh[R' G*8!>5.{j_^BwFxFtDoAj>d:^7Y4R0O"[?t|oaNZAz`}Z?xfSù.!% 1V3G*>-!YPJ}U6O"O#M!{HsDk?c:Z5P/X'w[Ez|ocOZB{b~[@xhTĹ®m\R*.9"d;U2K-D;3ulƴƵı}P-R$P#N"|I vEm@d;\5U2^)pZJ|oeQ[B|b~[@yhUĺ­®¯ï>)47 B&pB#b:Y5O6$XPJȵɷɷʸʸűM%T%R$P"K xFoAf<]7\6b.n]P|ofQ[B}c~\@yiV·ĺ­­®¯ðİİt_Q?%<$>%H+zH'l@"e< `9K>5umʹ˹̺̺̼ͼʸ|M!W&S%Q#L!zGqBh=_7e<a0rbW|ofR[B}d\AzjW·ź­­®¯ððİűűP3I+E)E)O.N)wF%oB#mA"_?)WPJ˹̻̼ͼͼνξϿ̺{R#Y'U%R#M!|HrCi>`8oA_2|k^|ohS\B~e\B{kX·Żî¯ïðİűŲŲ{bPT2Q0K-J,S2R,K(yG&wG%tE$PA6um²ͼͼννϿϿ{V%Z'U&S$N"}I sDj>b9wF\5sf|ogR\Bf]B{kY·ŻïððİűŲųųc=#^7Y4Q0O/X4W/P+M)L(~K(mG-WOJ̻νϾϿϿϿz^X&[(V&S$N"~J uDk?b9L [:}o|ogR[Bf]C|kY·Ż­İİıŲŲƳƳfQh>!e= _8W3T1\6[1U.Q+Q+P+N*UC8~smóξͽ;ξξʻX6Z'[(W&T%O"J vEl@b9O"^Cy|odP[Bg^C|lY·Ż­ŰűŲųƳƳƴtH)pC$j?"c;[5V3_8^2X/U-U-T-T-zN1UNI}vs]LJ!_*\(X&T%O"K vEl@e;Q$gU|oaN[Bh^C|lZ·ŻïƲŲųƳƴǴ°hPyH&vF&oB#f< ]7X4b9`4[1X/X/X/W/V.[F8{rj|gXeRCdO?cL9aB*i>Z'_*\(X'U%O"K vEl@d;~Q.~p|oaM[Bh^C}mZ·ŻİƳƳƴǴȵȵO+L(zI'rD%i>!_8Z5c;e6^2Z0[0[0Z0Y0T3UNHlCW&Q$N!zHK ])b+`*\)X'U%O"K vEe;Q/oY|obN\Ch^C}mZ·ŻűdzǴǴȶȶkPQ+O*~K(uF%l@!a9\6f= j9c5^3^3^2^2]2[0`I9}iZm0g-f-g-g-d,b+`*\(X'S$L!tDd:V5s`Qx|ofR^Eh^C}m[·ƼƲǴȶȶɶȶU/T-Q+L)wF&mA"c:]7g=!o;g7b5a4`3`3_3]2W4TMHqHm0g-g-f-d,b+`*[(X&T%S$R$T.\I!s>l:h7f7e6c5a4`3]2dK9zh[n2i.g-f-d,b+`*[(W&T%S$T%X&_*`/V5TB5J?8k\Q~o|omW_Eh^C}mZ·Ƽɶɶɷɸɷ[1Z0W/R,M)xG&nA#e;^8i>!v?p!zBt>p"?3+cTJ~mos\`Fg^C|lZ·Żʹ˹̺°lK_3^2\1X/R,M)xG&oA#e<Z5pI.كIyAv?u?s>q=op$8(XC6]E}c~\AyiVĺͼwL)V.[0\1Y0[3ʤݽۻٺںٺع׸նҳϱƧВdq!~J(S,_7ӭݽܼڻعնѳͰʬç׺_^2T-xG&_:!OHDmWQ#|I vEoBi=a9Z5W3V2U2U2U2T1T1T1S1S0O.9#bJ:^Eza}Z?xgS¸^A-h>!zH&zWέݽۻٺնҳͯʬ§ջ˲{^:vE%^8H6*kd_Y1}I pBi>a9\6X3V2V2U2U2U2T1T1T1S1S1B&J3#fQdJz`}Z>wfQ¸ydVL-kD)o׾ˮַܼٺնѳˮĨֻ˲z_F[6C)KEAm[}Ik?e;^8Y4W3V2V2U2U2U2V2T2S0J,<#E-n\s\lSy^|Y>veQ·@,YA0{i|̳¦бۼݽԵΰǫѷƭv{j|m]eTFC-A5,zW6g<Y4R0O-M-M-M,K,I+F)B&<#7 J5%vjwou]v`x]|Y=ucOwh]?4,[QGocVteu̴§ͱָݿ޿ٻҵȭ׾͵ĭ|quguh[fZOVMCG?86-%\A+R;*N9)N8(N8(N9*P;+U@1]J;jVIoaou]lw\{XwbJĹŻ˸ȶ|i{aaDydKĻŻ¿}ù{bUhhMzgOļĻyrɷ˸zlwqoWn_M~|½sm~tiszwcOF<;::Sȿzu}u}}~o @¾ź´ɽĿ̻~aXQ#ÿ޹ĻĻĻúúù¹ù¹¹¹¸;̼ʺɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹɺɺɹɹɹɹʹʹʹɹȸǶų|ri "ľĽüɿɿɿɿɿɿȿȾȾǽƼĺ·toj GFFa³񾹶}zw743V(0` $ < Z 29 9"5 4333334 4 4 4!4!4!4!4!5!4!5!4!5!4!4!4!4!4!4 4 333210-*%  T6 FK8-Y9'U3P0K-I*G*F)F)F*F*F*F*F*G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+G+F*F*F*F*F*E)D(C'?%;$5"-( <eWMԄm[zV@wR;yT>mF/b:"^6^6^5^6^6^6^6^6^5]5]5_6_6_6_7`7`7_7_7^6_7_6^6^6^7_9#d?*nK7}^Mm\eTzZHpP>bA-N.A)7&0"%B?;v}tv~wXFoN;xU@|WB~XBZCZC[D[D[D[EZC~YCZC[D\D[D[D\E[E\E\D[DZC~YB}XB|WA{V@xT?uR>sR?uUC}_Om]tepbmbvhkJ4M2B/;.! g}wҰyeWwellllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkj|fr[tR?z^PpK2Y@+J6$5*Ťqex~|wjwVC{YFkE)]C-N@.wly{ekN@wL.oQ7^L8ķpxYI}U:zZ>hU?Źt~^LY@_Cn[Eƻu_MZ@cFs_HǼ|vaN[BeHuaKȼzWJB{lvbO[BgJwcNȼXKB#]PGr}n}n}n}n}n}nqvfS\CgKxeOȽw,;1*wiwb_F1X@,X@,X@,X@,X@,X@,bJ8svhT]ChMzgQȽ]OF @%7$]PH}X:qBnAi>d:^7X4b9[9xviU]DiN{hSɾ*( S1G*E90z}R0Q#M!zGoAd;Y4n@]@~vjV^DjP|iTɾ®hVI/4c:Y5M2aXQǵȶŲO'S$O"|I rBf<Z5zH~_GvlW_EkQ|jVɾ­­¯ððB);#=$pB#i>!a9O>3}ȷ˹˺˺˺ïO"U%Q#K!uDi>\6O"{aNvlX_ElR~kWɾ­­¯ððű¯t\JJ,F)F)|I'vF&pB#e@'aXR̻̼ͼνξξT$V&R$L!wEj?^7V'zfWvnY_EmS~mYʾ®ïðİűŲ]9 U3N.L-O*L)}I'zH&YD6~˺ννϿX&W&S$M"xFl@`8[+m_vmX_EmSmZʿðİűŲų°bLe= ^8U2R0T-S,P+O*yK-aXRξ;ξξŷoTZ'Y'T%N"zGm@e;Z/{lvkW_EnTnZʿİűŲƳƴtF'oB#e< Z5U2X/W/U.U.S-cI7|{xzstdW}K$^)Z'U%N"zHnAj>\;~viU_EnTn[ʿŲųƳǴñgM|I'uE%i>!]7X3\1[1Y/Y/X/T1aWPvTU4wN.mE%sC\(_)Z'V%O"zHm@_8wbviU_FoUo[ʿƳƴȵȶQ,M)yH'l@"_8Y5b4a4]2]2]2[1jL9kMe,a*b+e,b+_*Z'T%K!pA[6t^MvlWaGoUo[ʿ­ǴȶɶIJlNT-P+|I(nA"a9[6g7g7c5a4`3^3Y3`ULo9h-g-e,b+_)Y'V%U%V(uR6bSH`TLna|voZbHoUo[ʿïȶɶɷZ1W/Q+}J(oB#b:[5k9l:i8g7d5a4^2oO9kPi.e,b*_)\(X'T$N"K!M!W&W.`E/SG>pcvr\bHoUo[ʿŰɷʸųoM[1X/R,}J(pB#c:Z5pr=o;k9e6[3`VNmAZ4U1S0R0R0M-?0%p[Nu^cHmSmZɾ¯ȴ̻[1^3\1W.O*{H'xL-ԶԶŸӋXw@u?r=n;h8`4oM7|ȿmR\6T1T1S0R0P.<$D7.fRdJmS~mYɾðɷŴeF[0]2Z1U-O*}\ʫշַַնѳߩ{Eu?q)E1!)!vi||{{{{{{{{{{{{{{{{{{{{{zslWwVCcD+L;*󴫤}w}^M{V:bJ4~jWaGnT<lYeKtYA|k^{n[gMw\Dv"j[Qvzh\yh\yh\yh\|k^q]hOx^F²RD:1?1'y{U6mAh>b;\7zP.}r^jPz`Hó*I+I-qe]Q*O"xFg=W3[8t`kR{aJĴ­¯¯gQB9!]7c:U?0ʸ˹ƴQ$Q#|I k?_8`Au`lS|bLĴ­ïðűP0H*l@"wG&nC%tg_ɸͼνϿV%T$K nAj>fKvamT}dMŵðıŲIJ^H^8S1xG&P+N*gJ6ξοξyZ'V%L!pBsCpYu`mT~dNĴűųƴuF&h>!Y4L)X/V.S.th_pdxeW|O,^)W&M!qBtF!ts^nU~eOŵƳǵƴiLK(oB#^7Q,^3\1[1uQ9f=[(X&a*^)V&J e;{aNt_oV~eOŶȵɶV.O*rC$`9W.g7c5`4\3u\Ik/g-c+])V%S$U.tX@iYMrwbpW~eOƶɷǶoMY0P+sD$a9[0o 2DNegato ${IMAGE_LOCATIONS} ${orientation} ${orientation} snapshotNegatoEditor/snapped snapshot/snap distanceNegatoEditor/distanceRequested multiDistances/createDistance MPRNegato/setCrossScale pickerInteractor/picked sight-19.0.0/Bundles/activity/2DVisualizationActivity/rc/configurations/2DNegatoWithTF.xml000066400000000000000000000145241352776646300316150ustar00rootroot00000000000000 2DNegatoWithTF default ${orientation} ${orientation} snapshotNegatoEditor/snapped snapshot/snap distanceNegatoEditor/distanceRequested multiDistances/createDistance MPRNegato/setCrossScale sight-19.0.0/Bundles/activity/2DVisualizationActivity/rc/configurations/2DSimpleConfig.xml000066400000000000000000000075611352776646300316740ustar00rootroot00000000000000 2DSimpleConfig2 default ${orientation} ${orientation} sight-19.0.0/Bundles/activity/2DVisualizationActivity/rc/configurations/2DVisualization.xml000066400000000000000000000267201352776646300321540ustar00rootroot00000000000000 2DVisualization ${advancedLandmarksEditor} LoadLandmark/update SaveLandmark/update landmarksEditor/setVisible hide half full ActionHideCross/crossTypeModified ActionShowNormalCross/crossTypeModified ActionShowFullCross/crossTypeModified landmarksEditor/addPickedPoint ActionExportActivity/hide ActionPrevious/show ActionPrevious/setIsExecutable ActionPrevious/triggered ActionExportActivity/hide ActionNext/show ActionNext/setIsExecutable ActionNext/triggered sight-19.0.0/Bundles/activity/2DVisualizationActivity/rc/plugin.xml000066400000000000000000000030241352776646300253610ustar00rootroot00000000000000 2DVisualization 2D visualization Display a medical image in 2D. media-0.1/icons/icon-2D.png Image to display. Landmarks to display. ::fwActivities::builder::ActivitySeriesInitData sight-19.0.0/Bundles/activity/3DVisualizationActivity/000077500000000000000000000000001352776646300227375ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/3DVisualizationActivity/CMakeLists.txt000066400000000000000000000000241352776646300254730ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/3DVisualizationActivity/Properties.cmake000066400000000000000000000006061352776646300260770ustar00rootroot00000000000000 set( NAME 3DVisualizationActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES ) set( REQUIREMENTS activities gui guiQt ctrlMemory ctrlSelection uiVisu uiVisuQt visuVTKQt visuVTKAdaptor uiImageQt uiMeasurement uiMeasurementQt uiReconstructionQt uiMedDataQt media dataManagerConfig 2DVisualizationActivity ) sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/000077500000000000000000000000001352776646300233435ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/configurations/000077500000000000000000000000001352776646300263755ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/configurations/3DNegatoWithAcq.xml000066400000000000000000000216701352776646300320120ustar00rootroot00000000000000 3DNegatoWithAcq ${orientation} Manage slice visibility 3 sliceListNegatoEditor/selected snapshotNegatoEditor/snapped snapshot/snap distanceNegatoEditor/distanceRequested multiDistances/createDistance pickerInteractor/picked MPRNegato/updateSliceMode MPRNegato/setCrossScale medical3DCamera/setSagittal medical3DCamera/setFrontal medical3DCamera/setAxial sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/configurations/3DSimpleConfig.xml000066400000000000000000000034131352776646300316660ustar00rootroot00000000000000 3DSimpleConfig2 sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/configurations/3DVisualization.xml000066400000000000000000000347171352776646300321630ustar00rootroot00000000000000 3DVisualization LoadLandmark/update SaveLandmark/update landmarksEditor/setVisible hide half full ${advancedLandmarksEditor} ActionHideCross/crossTypeModified ActionShowNormalCross/crossTypeModified ActionShowFullCross/crossTypeModified landmarksEditor/addPickedPoint action_SagittalViewMPR3D/triggered action_FrontalViewMPR3D/triggered action_AxialViewMPR3D/triggered sight-19.0.0/Bundles/activity/3DVisualizationActivity/rc/plugin.xml000066400000000000000000000035451352776646300253720ustar00rootroot00000000000000 3DVisualization 3D visualization Activity to display a 3D model, and optionally its associated image. media-0.1/icons/icon-3D.png 3D model. Image associated to the model. OptionalInputImageKey Landmarks to display. ::fwActivities::builder::ActivitySeriesInitData sight-19.0.0/Bundles/activity/DicomWebReaderActivity/000077500000000000000000000000001352776646300225235ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/DicomWebReaderActivity/CMakeLists.txt000066400000000000000000000000241352776646300252570ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/DicomWebReaderActivity/Properties.cmake000066400000000000000000000005161352776646300256630ustar00rootroot00000000000000 set( NAME DicomWebReaderActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES) set( REQUIREMENTS 2DVisualizationActivity activities ctrlMemory ctrlSelection dataReg gui guiQt ioGdcm ioVtkGdcm ioDicomWeb media servicesReg visuVTK visuVTKAdaptor visuVTKQt ) sight-19.0.0/Bundles/activity/DicomWebReaderActivity/rc/000077500000000000000000000000001352776646300231275ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/DicomWebReaderActivity/rc/configurations/000077500000000000000000000000001352776646300261615ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/DicomWebReaderActivity/rc/configurations/2DDicomWebPreviewConfig.xml000066400000000000000000000074611352776646300332620ustar00rootroot00000000000000 2DDicomWebPreviewConfig %PACS_SERVER_HOSTNAME%:%PACS_SERVER_PORT% no no never sight-19.0.0/Bundles/activity/DicomWebReaderActivity/rc/configurations/DicomWebReader.xml000066400000000000000000000154561352776646300315320ustar00rootroot00000000000000 DicomWebReaderActivity action_pullSeries/setInexecutable pullSeriesController/update %PACS_SERVER_HOSTNAME%:%PACS_SERVER_PORT% %PACS_SERVER_HOSTNAME%:%PACS_SERVER_PORT% pullSeriesController/updated action_pullSeries/setExecutable sight-19.0.0/Bundles/activity/DicomWebReaderActivity/rc/plugin.xml000066400000000000000000000023251352776646300251510ustar00rootroot00000000000000 DicomWebReaderActivity DicomWeb Reader DicomWeb Reader activity media-0.1/icons/Pull.svg ::fwActivities::builder::ActivitySeries DicomWebReaderConfig Reader configuration to convert retrieved DicomSeries to ImageSeries sight-19.0.0/Bundles/activity/blendActivity/000077500000000000000000000000001352776646300207735ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/blendActivity/CMakeLists.txt000066400000000000000000000000241352776646300235270ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/blendActivity/Properties.cmake000066400000000000000000000004111352776646300241250ustar00rootroot00000000000000 set( NAME blendActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES ) set( REQUIREMENTS gui guiQt ctrlMemory ctrlSelection uiVisu uiVisuQt visuVTKAdaptor uiImageQt scene2D uiTF media qtSceneConfig ) sight-19.0.0/Bundles/activity/blendActivity/rc/000077500000000000000000000000001352776646300213775ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/blendActivity/rc/configurations/000077500000000000000000000000001352776646300244315ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/blendActivity/rc/configurations/Blend.xml000066400000000000000000000066611352776646300262100ustar00rootroot00000000000000 Blend sight-19.0.0/Bundles/activity/blendActivity/rc/configurations/ImageMix.xml000066400000000000000000000233161352776646300266600ustar00rootroot00000000000000 ImageMix axial snapshot/snapped snapshotAdaptor/snap sight-19.0.0/Bundles/activity/blendActivity/rc/configurations/TransferFunctionEditor.xml000066400000000000000000000163711352776646300316240ustar00rootroot00000000000000 TransferFunctionEditor axial 5.0 snapshotEditor/snapped snapshot1/snap sight-19.0.0/Bundles/activity/blendActivity/rc/plugin.xml000066400000000000000000000030141352776646300234150ustar00rootroot00000000000000 Blend Blend Activity to superimpose two images. media-0.1/icons/icon-blend.png Images series to superimpose. They must have the same size, spacing and origin. ::fwActivities::validator::ImageProperties FrontImage BackImage ::fwActivities::builder::ActivitySeries sight-19.0.0/Bundles/activity/calibrationActivity/000077500000000000000000000000001352776646300221765ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/CMakeLists.txt000066400000000000000000000000231352776646300247310ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/calibrationActivity/Properties.cmake000066400000000000000000000010601352776646300253310ustar00rootroot00000000000000 set( NAME calibrationActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES fwCore fwData fwActivities ) set( REQUIREMENTS ctrlCamp servicesReg dataReg arDataReg gui ioData ioCalibration visuVTKQt visuVTKAdaptor visuVTKARAdaptor arMedia media uiTools uiIO uiCalibration uiPreferences videoCalibration videoCharucoCalibration videoOpenCV videoOpenni videoRealSense videoQt videoTools trackerAruco validators preferences ) sight-19.0.0/Bundles/activity/calibrationActivity/include/000077500000000000000000000000001352776646300236215ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/include/calibrationActivity/000077500000000000000000000000001352776646300276255ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/include/calibrationActivity/Plugin.hpp000066400000000000000000000031621352776646300315760ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2009-2016 IRCAD France * Copyright (C) 2012-2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #ifndef __CALIBRATIONACTIVITY_PLUGIN_HPP__ #define __CALIBRATIONACTIVITY_PLUGIN_HPP__ #include #include namespace calibrationActivity { struct Plugin : public ::fwRuntime::Plugin { /** * @brief Destructor */ ~Plugin() noexcept; /** * @brief Start method. * * @exception ::fwRuntime::RuntimeException. * This method is used by runtime in order to initialize the bundle. */ void start(); /** * @brief Stop method. * * This method is used by runtime in order to close the bundle. */ void stop() noexcept; }; } // namespace calibrationActivity #endif // __CALIBRATIONACTIVITY_PLUGIN_HPP__ sight-19.0.0/Bundles/activity/calibrationActivity/include/calibrationActivity/namespace.hpp000066400000000000000000000027301352776646300322740ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2009-2016 IRCAD France * Copyright (C) 2012-2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #ifndef __CALIBRATIONACTIVITY_NAMESPACE_HPP__ #define __CALIBRATIONACTIVITY_NAMESPACE_HPP__ /** * @brief The namespace calibrationActivity contains all activities concerning the video tracking activities. * @namespace calibrationActivity */ namespace calibrationActivity { /** * @brief The namespace validator contains the validator for the video tracking activities. * @namespace calibrationActivity::validator */ namespace validator { } // namespace validator } // namespace calibrationActivity #endif /* __CALIBRATIONACTIVITY_NAMESPACE_HPP__ */ sight-19.0.0/Bundles/activity/calibrationActivity/include/calibrationActivity/validator/000077500000000000000000000000001352776646300316125ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/include/calibrationActivity/validator/TagId.hpp000066400000000000000000000036701352776646300333210ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2016-2018 IRCAD France * Copyright (C) 2016-2018 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #pragma once #include "calibrationActivity/config.hpp" #include #include namespace calibrationActivity { namespace validator { /** * @brief Defines a validator which checks that the current data String contains a list of tag identifiers separated by * a ',' (for example: "101, 102, 103"). * */ class CALIBRATIONACTIVITY_CLASS_API TagId : public ::fwActivities::IObjectValidator { public: fwCoreClassDefinitionsWithFactoryMacro( (TagId)(::fwActivities::IValidator), (()), ::fwActivities::validator::factory::New< TagId > ) /// Constructor. Do nothing. CALIBRATIONACTIVITY_API TagId(::fwActivities::IValidator::Key key); /// Destructor. Do nothing. CALIBRATIONACTIVITY_API virtual ~TagId(); CALIBRATIONACTIVITY_API virtual ValidationType validate(const CSPTR(::fwData::Object)& currentData ) const override; }; } // namespace validator } // namespace calibrationActivity sight-19.0.0/Bundles/activity/calibrationActivity/rc/000077500000000000000000000000001352776646300226025ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/000077500000000000000000000000001352776646300256345ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calCameraCharucoView.xml000066400000000000000000000131751352776646300323750ustar00rootroot00000000000000 calCameraCharucoView VideoGrabber/startCamera VideoGrabber/stopCamera VideoGrabber/pauseCamera VideoGrabber/loopVideo yes ${camera}/idModified VideoGrabber/stopCamera VideoSlider/positionChanged VideoGrabber/setPositionVideo VideoGrabber/positionModified VideoSlider/setPositionSlider VideoGrabber/durationModified VideoSlider/setDurationSlider CameraSelector/configuredCameras VideoGrabber/reconfigure sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calExtrinsicCharucoView.xml000066400000000000000000000407001352776646300331470ustar00rootroot00000000000000 calExtrinsicCharucoView CharucoBoardDetector/detectPoints ExtrinsicCalibrationInfoEditor/reset ExtrinsicCalibrationInfoEditor/remove openCVExtrinsicCal/update Status/changeToOrange ExtrinsicCalibrationInfoEditor/getSelection VideoGrabber1/startCamera VideoGrabber2/startCamera VideoGrabber1/stopCamera VideoGrabber2/stopCamera VideoGrabber1/pauseCamera VideoGrabber2/pauseCamera VideoGrabber1/loopVideo VideoGrabber2/loopVideo 30 Point are visible Calibration in progress Points are NOT visible ${camIndex} ${camIndex} Frame1TL/objectPushed CharucoBoardDetector/checkPoints Frame2TL/objectPushed CharucoBoardDetector/checkPoints CharucoBoardDetector/charucoBoardDetected Status/changeToGreen CharucoBoardDetector/charucoBoardNotDetected Status/changeToRed ${calibrationInfo1}/getRecord DisplayCalibrationInfo/displayImage VideoSlider/positionChanged VideoGrabber1/setPositionVideo VideoGrabber2/setPositionVideo VideoGrabber1/durationModified VideoSlider/setDurationSlider VideoGrabber1/positionModified VideoGrabber2/positionModified VideoSlider/setPositionSlider ${calibrationInfo1}/addedRecord ${calibrationInfo1}/removedRecord ${calibrationInfo1}/resetRecord ExtrinsicCalibrationInfoEditor/update openCVExtrinsicCal/errorComputed errorLabel/setDoubleParameter openCVExtrinsicCal/updateCharucoBoardSize CharucoBoardDetector/updateCharucoBoardSize sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calExtrinsicView.xml000066400000000000000000000476741352776646300316630ustar00rootroot00000000000000 calExtrinsicView chessboardDetector/recordPoints extrinsicCalibrationInfoEditor/reset extrinsicCalibrationInfoEditor/remove openCVExtrinsicCal/update Status/changeToOrange extrinsicCalibrationInfoEditor/getSelection videoGrabber1/startCamera videoGrabber2/startCamera actionStartCamera/hide actionStopCamera/show videoGrabber1/stopCamera videoGrabber2/stopCamera actionStopCamera/hide actionStartCamera/show videoGrabber1/pauseCamera videoGrabber2/pauseCamera videoGrabber1/loopVideo videoGrabber2/loopVideo extrinsicExporter/update true calibrationDataWriter1/configureWithIHM calibrationDataWriter1/update calibrationDataWriter2/configureWithIHM calibrationDataWriter2/update 30 0 Point are visible Calibration in progress Points are NOT visible ${camIndex} ${camIndex} .tiff .tiff chessboardDetector/chessboardDetected detectionSynchronizer/synchronize detectionStatus/toggleGreenRed ${calibrationInfo1}/getRecord displayCalibrationInfo/displayImage videoSlider/positionChanged videoGrabber1/setPositionVideo videoGrabber2/setPositionVideo videoGrabber1/durationModified videoSlider/setDurationSlider videoGrabber1/positionModified videoGrabber2/positionModified videoSlider/setPositionSlider ${calibrationInfo1}/addedRecord ${calibrationInfo1}/removedRecord ${calibrationInfo1}/resetRecord extrinsicCalibrationInfoEditor/update openCVExtrinsicCal/errorComputed errorLabel/setDoubleParameter openCVExtrinsicCal/updateChessboardSize chessboardDetector/updateChessboardSize sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calIntrinsicCharucoView.xml000066400000000000000000000214251352776646300331440ustar00rootroot00000000000000 calIntrinsicCharucoView CharucoBoardDetector/detectPoints CalibrationInfoEditor/reset CalibrationInfoEditor/remove intrinsicEdition/update OpenCVIntrinsicCal/update Status/changeToOrange CalibrationInfoEditor/getSelection Point are visible Calibration in progress Points are NOT visible FrameTL/objectPushed CharucoBoardDetector/checkPoints CharucoBoardDetector/charucoBoardDetected Status/changeToGreen CharucoBoardDetector/charucoBoardNotDetected Status/changeToRed ${calibrationInfo}/getRecord DisplayCalibrationInfo/displayImage ${calibrationInfo}/addedRecord ${calibrationInfo}/removedRecord ${calibrationInfo}/resetRecord CalibrationInfoEditor/update OpenCVIntrinsicCal/errorComputed errorLabel/setDoubleParameter OpenCVIntrinsicCal/updateCharucoBoardSize CharucoBoardDetector/updateCharucoBoardSize sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calIntrinsicView.xml000066400000000000000000000351651352776646300316450ustar00rootroot00000000000000 calIntrinsicView videoGrabber/startCamera actionStartCamera/hide actionStopCamera/show videoGrabber/stopCamera actionStopCamera/hide actionStartCamera/show videoGrabber/pauseCamera videoGrabber/loopVideo chessboardDetector/recordPoints calibrationInfoEditor/reset calibrationInfoEditor/remove intrinsicEdition/update intrinsicCalibration/update detectionStatus/changeToOrange calibrationInfoEditor/getSelection true calibrationDataWriter/configureWithIHM calibrationDataWriter/update Point are visible Calibration in progress Points are NOT visible .tiff yes ${camera}/idModified videoGrabber/stopCamera videoSlider/positionChanged videoGrabber/setPositionVideo videoGrabber/positionModified videoSlider/setPositionSlider videoGrabber/durationModified videoSlider/setDurationSlider cameraSelector/configuredCameras videoGrabber/reconfigure chessboardDetector/chessboardDetected detectionStatus/toggleGreenRed ${calibrationInfo}/getRecord displayCalibrationInfo/displayImage ${calibrationInfo}/addedRecord ${calibrationInfo}/removedRecord ${calibrationInfo}/resetRecord calibrationInfoEditor/update intrinsicCalibration/errorComputed errorLabel/setDoubleParameter intrinsicCalibration/updateChessboardSize chessboardDetector/updateChessboardSize sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calibration.xml000066400000000000000000000160151352776646300306500ustar00rootroot00000000000000 calibration CalibrationWriter/update int Chessboard width CHESSBOARD_WIDTH 11 int Chessboard height CHESSBOARD_HEIGHT 8 int Chessboard square size (mm) CHESSBOARD_SQUARE_SIZE 20 action_chessBoardSize/parametersModified ActionExport/hide ActionPrevious/show ActionPrevious/setIsExecutable ActionPrevious/triggered ActionExport/hide ActionNext/show ActionNext/setIsExecutable ActionNext/triggered sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calibrationCharuco.xml000066400000000000000000000170041352776646300321540ustar00rootroot00000000000000 calibrationCharuco CalibrationWriter/update int Chessboard width CHARUCO_WIDTH 7 int Chessboard height CHARUCO_HEIGHT 5 int Chessboard square size (mm) CHARUCO_SQUARE_SIZE 40 int Chessboard marker size (mm) CHARUCO_MARKER_SIZE 32 int Chessboard marker size in bits (bit) CHARUCO_MARKER_SIZE_IN_BITS 6 action_chessBoardSize/parametersModified ActionExport/hide ActionPrevious/show ActionPrevious/setIsExecutable ActionPrevious/triggered ActionExport/hide ActionNext/show ActionNext/setIsExecutable ActionNext/triggered sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/calibrationEdition.xml000066400000000000000000000232351352776646300321660ustar00rootroot00000000000000 calibrationEdition CalibrationXmlWriter/update videoGrabber1/startCamera videoGrabber2/startCamera videoGrabber1/stopCamera videoGrabber2/stopCamera videoGrabber1/pauseCamera videoGrabber2/pauseCamera videoGrabber1/loopVideo videoGrabber2/loopVideo camera0/idModified camera1/idModified VideoSlider/positionChanged VideoSlider/setPositionSlider VideoSlider/setDurationSlider sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/displayImageConfig.xml000066400000000000000000000044531352776646300321220ustar00rootroot00000000000000 displayImageConfig Display calibration image BasicViewerFrame/closed sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/displayTwoImagesConfig.xml000066400000000000000000000103411352776646300327700ustar00rootroot00000000000000 displayTwoImagesConfig Display calibration images BasicViewerFrame/closed sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/rgbdCalibration.xml000066400000000000000000000372301352776646300314510ustar00rootroot00000000000000 RGBDCalibration depthRecorder/saveFrame rgbRecorder/saveFrame irRecorder/saveFrame startVideo/setInexecutable scanner/startCamera stopVideo/setExecutable startSlots/update stopVideo/setInexecutable scanner/stopCamera startVideo/setExecutable stopSlots/update depthRecorder/configureWithIHM rgbRecorder/configureWithIHM irRecorder/configureWithIHM scanner/takeSnapshot actionRecord/update sight-19.0.0/Bundles/activity/calibrationActivity/rc/configurations/videoEdition.xml000066400000000000000000000116761352776646300310130ustar00rootroot00000000000000 videoEdition intrinsicEdition/update yes ${videoGrabber}/stopCamera ${videoGrabber}/setPositionVideo ${videoGrabber}/positionModified ${videoGrabber}/durationModified sight-19.0.0/Bundles/activity/calibrationActivity/rc/plugin.xml000066400000000000000000000112571352776646300246300ustar00rootroot00000000000000 Calibration Calibration Calibrate the intrinsic and extrinsic parameters of cameras. arMedia-0.1/icons/calibrationActivity.svg ::fwActivities::builder::ActivitySeriesInitData calibrationEdition Calibration Edition - edit the video file/stream
- edit the resolution ]]>
arMedia-0.1/icons/configuration.svg Calibrated camera series.
RGBDCalibration RGBD camera calibration Calibrate the intrinsic and extrinsic parameters of a RGBD camera. arMedia-0.1/icons/calibrationActivity.svg CalibrationCharuco Calibration Charuco Calibrate the intrinsic and extrinsic parameters of cameras with charuco boards. arMedia-0.1/icons/calibrationActivity.svg ::fwActivities::builder::ActivitySeriesInitData InfraredRealsenseGrabberConfig ::videoRealSense::SScan Infrared grabber without IR emitter
sight-19.0.0/Bundles/activity/calibrationActivity/src/000077500000000000000000000000001352776646300227655ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/src/calibrationActivity/000077500000000000000000000000001352776646300267715ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/src/calibrationActivity/Plugin.cpp000066400000000000000000000024271352776646300307400ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2009-2016 IRCAD France * Copyright (C) 2012-2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #include #include "calibrationActivity/Plugin.hpp" namespace calibrationActivity { static ::fwRuntime::utils::GenericExecutableFactoryRegistrar registrar("::calibrationActivity::Plugin"); Plugin::~Plugin() noexcept { } void Plugin::start() { } void Plugin::stop() noexcept { } } // namespace calibrationActivity sight-19.0.0/Bundles/activity/calibrationActivity/src/calibrationActivity/validator/000077500000000000000000000000001352776646300307565ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/src/calibrationActivity/validator/TagId.cpp000066400000000000000000000114721352776646300324570ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2016 IRCAD France * Copyright (C) 2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #include "calibrationActivity/validator/TagId.hpp" #include #include #include #include #include #include #include namespace calibrationActivity { namespace validator { fwActivitiesValidatorRegisterMacro(::calibrationActivity::validator::TagId, "::calibrationActivity::validator::TagId"); //----------------------------------------------------------------------------- TagId::TagId(::fwActivities::IValidator::Key key) { } //----------------------------------------------------------------------------- TagId::~TagId() { } //----------------------------------------------------------------------------- ::fwActivities::IValidator::ValidationType TagId::validate(const CSPTR(::fwData::Object) ¤tData ) const { IValidator::ValidationType validation; validation.first = true; validation.second = ""; ::fwData::Vector::csptr vector = ::fwData::Vector::dynamicConstCast(currentData); ::fwData::Composite::csptr composite = ::fwData::Composite::dynamicConstCast(currentData); ::fwData::String::csptr str = ::fwData::String::dynamicConstCast(currentData); std::vector< std::string > tagList; if (str) { tagList.push_back(str->value()); } else if (vector) { for (const auto & obj : vector->getContainer()) { ::fwData::String::csptr str = ::fwData::String::dynamicConstCast(obj); if (!str) { validation.first = false; validation.second = "The current data does not contain String."; return validation; } tagList.push_back(str->value()); } } else if (composite) { for (const auto & obj : composite->getContainer()) { ::fwData::String::csptr str = ::fwData::String::dynamicConstCast(obj.second); if (!str) { validation.first = false; validation.second = "The current data does not contain String."; return validation; } tagList.push_back(str->value()); } } if (tagList.empty()) { validation.first = false; validation.second = "The current data does not contain String."; } else { for (const std::string & str : tagList) { ::boost::tokenizer<> tok(str); if (tok.begin() == tok.end()) { validation.first = false; validation.second = "The current list '"+ str +"' does not contain valid tag id. " "Example: 101, 102, 103"; return validation; } for( ::boost::tokenizer<>::iterator it = tok.begin(); it!=tok.end(); ++it) { try { const int id = ::boost::lexical_cast< int >(*it); if (id < 0 || id >= 1024) { validation.first = false; validation.second = "The current list '"+ str +"' does not contain valid tag id. " "Id should be between 0 and 1023. Example: 101, 102, 103"; return validation; } } catch (std::exception &) { validation.first = false; validation.second = "The current list '"+ str +"' does not contain valid tag id. " "Example: 101, 102, 103"; return validation; } } } } return validation; } //----------------------------------------------------------------------------- } // namespace validator } // namespace calibrationActivity sight-19.0.0/Bundles/activity/calibrationActivity/test/000077500000000000000000000000001352776646300231555ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/test/CMakeLists.txt000066400000000000000000000000261352776646300257130ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/calibrationActivity/test/Properties.cmake000066400000000000000000000003251352776646300263130ustar00rootroot00000000000000 set( NAME calibrationActivityTest ) set( VERSION ) set( TYPE TEST ) set( DEPENDENCIES fwCore fwTest fwData fwMedData fwActivities ) set( REQUIREMENTS activities calibrationActivity ) sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/000077500000000000000000000000001352776646300236055ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/include/000077500000000000000000000000001352776646300252305ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/include/TagIdValidatorTest.hpp000066400000000000000000000031531352776646300314410ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2016 IRCAD France * Copyright (C) 2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #ifndef __CALIBRATIONACTIVITY_UT_TAGIDVALIDATORTEST_HPP__ #define __CALIBRATIONACTIVITY_UT_TAGIDVALIDATORTEST_HPP__ #include namespace calibrationActivity { namespace ut { class TagIdValidatorTest : public CPPUNIT_NS::TestFixture { CPPUNIT_TEST_SUITE( TagIdValidatorTest ); CPPUNIT_TEST( testValidatorString ); CPPUNIT_TEST( testValidatorVector ); CPPUNIT_TEST( testValidatorComposite ); CPPUNIT_TEST_SUITE_END(); public: // interface void setUp(); void tearDown(); void testValidatorString(); void testValidatorVector(); void testValidatorComposite(); }; } //namespace ut } //namespace calibrationActivity #endif //__CALIBRATIONACTIVITY_UT_TAGIDVALIDATORTEST_HPP__ sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/rc/000077500000000000000000000000001352776646300242115ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/rc/profile.xml000066400000000000000000000012421352776646300263720ustar00rootroot00000000000000 sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/src/000077500000000000000000000000001352776646300243745ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/calibrationActivity/test/tu/src/TagIdValidatorTest.cpp000066400000000000000000000213151352776646300306000ustar00rootroot00000000000000/************************************************************************ * * Copyright (C) 2016 IRCAD France * Copyright (C) 2016 IHU Strasbourg * * This file is part of Sight. * * Sight is free software: you can redistribute it and/or modify it under * the terms of the GNU Lesser General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * Sight is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with Sight. If not, see . * ***********************************************************************/ #include "TagIdValidatorTest.hpp" #include #include #include #include #include #include #include #include // Registers the fixture into the 'registry' CPPUNIT_TEST_SUITE_REGISTRATION( ::calibrationActivity::ut::TagIdValidatorTest ); namespace calibrationActivity { namespace ut { //------------------------------------------------------------------------------ void TagIdValidatorTest::setUp() { // Set up context before running a test. } //------------------------------------------------------------------------------ void TagIdValidatorTest::tearDown() { // Clean up after the test run. } //------------------------------------------------------------------------------ void TagIdValidatorTest::testValidatorString() { ::fwActivities::IValidator::sptr validator = ::fwActivities::validator::factory::New("::calibrationActivity::validator::TagId"); CPPUNIT_ASSERT(validator); ::fwActivities::IObjectValidator::sptr objValidator = ::fwActivities::IObjectValidator::dynamicCast(validator); CPPUNIT_ASSERT(objValidator); ::fwActivities::IValidator::ValidationType validation; { ::fwData::String::csptr str = ::fwData::String::New(); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty String should not be valid", false, validation.first); } { ::fwData::String::csptr str = ::fwData::String::New("101"); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("String with one tag should be valid", true, validation.first); } { ::fwData::String::csptr str = ::fwData::String::New("101,102,103"); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("String with several tags should be valid", true, validation.first); } { ::fwData::String::csptr str = ::fwData::String::New("bad"); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("String with value not a number should not be valid", false, validation.first); } { ::fwData::String::csptr str = ::fwData::String::New("1565"); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("String with value > 1023 should not be valid", false, validation.first); } { ::fwData::String::csptr str = ::fwData::String::New("101, bad, 103"); validation = objValidator->validate(str); CPPUNIT_ASSERT_EQUAL_MESSAGE("String with a wrong id should not be valid", false, validation.first); } } //------------------------------------------------------------------------------ void TagIdValidatorTest::testValidatorVector() { ::fwActivities::IValidator::sptr validator = ::fwActivities::validator::factory::New("::calibrationActivity::validator::TagId"); CPPUNIT_ASSERT(validator); ::fwActivities::IObjectValidator::sptr objValidator = ::fwActivities::IObjectValidator::dynamicCast(validator); CPPUNIT_ASSERT(objValidator); ::fwActivities::IValidator::ValidationType validation; { ::fwData::Vector::sptr vector = ::fwData::Vector::New(); validation = objValidator->validate(vector); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector should not be valid", false, validation.first); } { ::fwData::Vector::sptr vector = ::fwData::Vector::New(); vector->getContainer().push_back(::fwData::String::New("101, 102")); validation = objValidator->validate(vector); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one valid String should be valid", true, validation.first); } { ::fwData::Vector::sptr vector = ::fwData::Vector::New(); vector->getContainer().push_back(::fwData::String::New("101, 102")); vector->getContainer().push_back(::fwData::String::New("101, bad")); validation = objValidator->validate(vector); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one non valid String should not be valid", false, validation.first); } { ::fwData::Vector::sptr vector = ::fwData::Vector::New(); vector->getContainer().push_back(::fwData::String::New("101, 102")); vector->getContainer().push_back(::fwData::Integer::New(125)); validation = objValidator->validate(vector); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one non valid Integer should not be valid", false, validation.first); } { ::fwData::Vector::sptr vector = ::fwData::Vector::New(); vector->getContainer().push_back(::fwData::String::New("101, 102")); vector->getContainer().push_back(::fwData::String::New("105, 1012")); validation = objValidator->validate(vector); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with two valid String should be valid", true, validation.first); } } //------------------------------------------------------------------------------ void TagIdValidatorTest::testValidatorComposite() { ::fwActivities::IValidator::sptr validator = ::fwActivities::validator::factory::New("::calibrationActivity::validator::TagId"); CPPUNIT_ASSERT(validator); ::fwActivities::IObjectValidator::sptr objValidator = ::fwActivities::IObjectValidator::dynamicCast(validator); CPPUNIT_ASSERT(objValidator); ::fwActivities::IValidator::ValidationType validation; { ::fwData::Composite::sptr composite = ::fwData::Composite::New(); validation = objValidator->validate(composite); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector should not be valid", false, validation.first); } { ::fwData::Composite::sptr composite = ::fwData::Composite::New(); (*composite)["key1"] = ::fwData::String::New("101, 102"); validation = objValidator->validate(composite); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one valid String should be valid", true, validation.first); } { ::fwData::Composite::sptr composite = ::fwData::Composite::New(); (*composite)["key1"] = ::fwData::String::New("101, 102"); (*composite)["key2"] = ::fwData::String::New("101, bad"); validation = objValidator->validate(composite); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one non valid String should not be valid", false, validation.first); } { ::fwData::Composite::sptr composite = ::fwData::Composite::New(); (*composite)["key1"] = ::fwData::String::New("101, 102"); (*composite)["key2"] = ::fwData::Integer::New(125); validation = objValidator->validate(composite); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with one non valid Integer should not be valid", false, validation.first); } { ::fwData::Composite::sptr composite = ::fwData::Composite::New(); (*composite)["key1"] = ::fwData::String::New("101, 102"); (*composite)["key2"] = ::fwData::String::New("105, 1012"); validation = objValidator->validate(composite); CPPUNIT_ASSERT_EQUAL_MESSAGE("Empty Vector with two valid String should be valid", true, validation.first); } } //------------------------------------------------------------------------------ } //namespace ut } //namespace calibrationActivity sight-19.0.0/Bundles/activity/dicomAppConfig/000077500000000000000000000000001352776646300210545ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomAppConfig/CMakeLists.txt000066400000000000000000000000241352776646300236100ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/dicomAppConfig/Properties.cmake000066400000000000000000000004011352776646300242050ustar00rootroot00000000000000 set( NAME dicomAppConfig ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES ) set( REQUIREMENTS ctrlMemory ctrlSelection dataReg gui guiQt ioDicom ioGdcm servicesReg visuVTK visuVTKAdaptor visuVTKQt ) sight-19.0.0/Bundles/activity/dicomAppConfig/rc/000077500000000000000000000000001352776646300214605ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomAppConfig/rc/configurations/000077500000000000000000000000001352776646300245125ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomAppConfig/rc/configurations/2DLocalPreviewConfig.xml000066400000000000000000000073561352776646300311570ustar00rootroot00000000000000 2DLocalPreviewConfig no no never sight-19.0.0/Bundles/activity/dicomAppConfig/rc/plugin.xml000066400000000000000000000004271352776646300235030ustar00rootroot00000000000000 sight-19.0.0/Bundles/activity/dicomFilteringActivity/000077500000000000000000000000001352776646300226465ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomFilteringActivity/CMakeLists.txt000066400000000000000000000000241352776646300254020ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/dicomFilteringActivity/Properties.cmake000066400000000000000000000005721352776646300260100ustar00rootroot00000000000000 set( NAME dicomFilteringActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES ) set( REQUIREMENTS 2DVisualizationActivity activities ctrlMemory ctrlSelection dataReg dicomAppConfig gui guiQt ioDicom ioGdcm media servicesReg uiGenericQt uiIO uiMedDataQt visuVTK visuVTKAdaptor visuVTKQt ) sight-19.0.0/Bundles/activity/dicomFilteringActivity/rc/000077500000000000000000000000001352776646300232525ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomFilteringActivity/rc/configurations/000077500000000000000000000000001352776646300263045ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomFilteringActivity/rc/configurations/DicomFiltering.xml000066400000000000000000000172731352776646300317370ustar00rootroot00000000000000 DicomFiltering dicomFilteringActivity-0.1/quickstart.pdf action_readDicomSeries/jobCreated action_convertSeries/jobCreated sight-19.0.0/Bundles/activity/dicomFilteringActivity/rc/configurations/DicomPreview.xml000066400000000000000000000046701352776646300314320ustar00rootroot00000000000000 DicomPreview DICOM Preview ${ICON_PATH} dicomPreviewFrame/closed sight-19.0.0/Bundles/activity/dicomFilteringActivity/rc/plugin.xml000066400000000000000000000032521352776646300252740ustar00rootroot00000000000000 DicomFiltering DICOM Filtering DICOM Filtering activity media-0.1/icons/icon-DICOM-Filtering.svg ::fwActivities::builder::ActivitySeries IOSelectorServiceConfigVRRenderExtDicomSeriesDBReader ::uiIO::editor::SIOSelector IOSelectorService config for DICOM Filtering Activity DicomReaderConfig DICOM Reader Config user_selection direct sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/000077500000000000000000000000001352776646300227345ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/CMakeLists.txt000066400000000000000000000000241352776646300254700ustar00rootroot00000000000000fwLoadProperties() sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/Properties.cmake000066400000000000000000000004751352776646300261000ustar00rootroot00000000000000 set( NAME dicomPacsReaderActivity ) set( VERSION 0.1 ) set( TYPE BUNDLE ) set( DEPENDENCIES) set( REQUIREMENTS 2DVisualizationActivity activities ctrlMemory ctrlSelection dataReg gui guiQt ioGdcm ioPacs media servicesReg visuVTK visuVTKAdaptor visuVTKQt ) sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/rc/000077500000000000000000000000001352776646300233405ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/rc/configurations/000077500000000000000000000000001352776646300263725ustar00rootroot00000000000000sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/rc/configurations/2DPacsPreviewConfig.xml000066400000000000000000000076611352776646300326720ustar00rootroot00000000000000 2DPacsPreviewConfig no no never sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/rc/configurations/DicomPacsReader.xml000066400000000000000000000205151352776646300321040ustar00rootroot00000000000000 DicomPacsReader pullSeriesController/update pullSeriesController/progressed progressBarController/updateProgress pullSeriesController/startedProgress progressBarController/startProgress pullSeriesController/stoppedProgress progressBarController/stopProgress sight-19.0.0/Bundles/activity/dicomPacsReaderActivity/rc/configurations/PacsConfigurationManager.xml000066400000000000000000000034311352776646300340260ustar00rootroot00000000000000 PacsConfigurationManager Pacs Configuration Manager ${ICON_PATH}