CGAL-demos-source-5.6.2-1.el8$>W|ƾ,ʅ ut>=?d  F% 4@U[d /x  F  ]    -  9, g@  rڌ  B( k8 t?9 p?:`?G$ HR I, XY\ ] ^,bdeflt u vA,IwV4 xH y\`dCCGAL-demos-source5.6.21.el8Examples and demos of CGAL algorithmsThe CGAL-demos-source package provides the sources of examples and demos of CGAL algorithms.gAbuildvm-a64-08.iad2.fedoraproject.org]Fedora ProjectFedora ProjectLGPL-3.0-or-later AND GPL-3.0-or-later AND BSL-1.0Fedora ProjectUnspecifiedhttp://www.cgal.org/linuxnoarch H G w' "1+3q;> K>j N9 q.B#<Me q! A .7U` NA}sYMF8^ eC D0* gL>F%%0P M ;9n \i B* P EcnKq\lPbpI ^& ,  ui w(1 0@ |!i53)887V548vY 0v 6JvXomvQ_xv[ecv9vlvX 6J`vwvxw 3D<''}VL - X ;hYb9 !]  pX@v{m: k  2 :&1mH&:CvD$H  +. N j%j lS {#  Y{<( +* !Ta u Uq( lv ?</ Fg\u t RVfw  ~2y#{dhfA^p> 6/  IgW {#A{L2y  Y{, 4 IM5 ,# 8!fbr/\ @3^Vl.\Mb7x3.: H&@ &  ? (r +kk1% 1". E ?~X8x a@EG XQ Ou* b8fA ; c; `;X(x, ? <G [ vAg J9] 2 1` &T]G'?5KR --*E!<NY$Nde. 1 ?U37U@4 9L Re f 37F,f+&j <5 2  R$0C q ^ #r%R T mwNx <{ Du~p}l -$" Kd&.lo)-/xYvK j"E,c&?^F!)X!pDSny R'I n~55 `u Y{B'>(da {#A{L  Y{uFd/f {#A{L  Y{}# , >+X3qQ ^1U+{%$ V pi_yv?<</ Fg\u< m {#A{L  Y{[ FT2r 8S)~ 0y=U )1FN . nr:X&Y i ~2y  T8Sj |HU} v n Wt[chqi % i( SO V  | oxWx4  b ' & 3 I 0Z pnB  4nC"z9  \  \ K  UN 4j i8(Jght F A 427SP   .+oFrr t /= XtI!  3j  d ] i K%  / q N  7 2 4!~"!){.V/=083 93 .t 9JF    7r|b (a= <-^ f_ ~ 2/x 3!KIA(3? vZ$`&(_ D;   &G lJv$ 6|Zc"?RrxTC`de -<F $F n izO+ /PhA12S_/zmk S }  L EP$C q @ +   KM ' t H' J3 )E4DEKzl`DO`1L M04q3!2' O!  #j)gH`IFEsAFE )FEnr>a INqf PP-MX{):   z WWn ~c d_x ? Q j'2 do `  I n, 9wG]` g0Wm~ <w  vj 14 \  c L  o  /ia6& q5 -  |tlwys;D " xMnb]2p JG;x9E,D' V_Z  +iAr I6VA  > lON\: E ;D:r^ l\ P J5I3 OJ5I:oG\ d w U( ;j( ' F7&W h%c B F?%"Mk' w)  J%Z's{8 Y  vE 5:&@:lM %P,EE\=T`+ Rq1K_C!E(w$(#  n2  )SDT c _aS& t- 9< , ,# w B& 6u$.( f8+ R  ; v  g i  3  kmb u 37 ?GAM 2  7kf/ذ rE+ s|,sN*7"h`T<<W%yj nvnYS.NK NbuVqKK } Z` *T)5B(B7 Vl MYpAA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤AA큤A큤A큤A큤A큤AAA큤A큤AA큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤큤A큤A큤AA큤A큤A큤A큤AAA큤A큤A큤A큤A큤AA큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AAA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤ggEffffgEfgEfgEfgEfgEfgEffgEg]fffffgHffffgHffgHfgHg]fffffgKfgJffgJgJfgJfgJffgJfgJffgJgJfgJfgJgJgJfffgJfgJgJfgJfgJfgJfgJfgJfgJgJfgJfgJgJfgJfgJfgJffgJffgJfgJfgJfgJgJfgJfgJfgJgKfgKfgKfgKfgKfgKfgKfgKfgKfgKfgKgKffffffffgKfffgKfffgKfffffffffffgKffgKfgKffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgKffg]ffffg]fg]fffffffgTffffffffffffgTgTgTgTgTffffffffffffffffffffffffffffffffffg]g]ffffffg]ffgVfffgVg]fffffg]ffg`fffg`g`g`g`g`g`g`g`g`g`g`g`g`g`fffg`ffffffffg]fffffg]g]g]g]g]g]g]g]fffffgkffffffffffgkffgkfgkgkglfffglffffffffffffffffffgvffgvgvfffffgvfgvgvfffffffffffffffgvfgvg]ffffg]g]g]g]g]fg]ffffffffffffffffg]g]g]g]g]gyfgyfffffgygyfgygyfgygyffffgyffffffffffffffffffffffffffgyffgzffffgzffffffffffffffffgzgzgzgzgzgzgzgzgzgzgyffgyfffffgyfgyffgygyffffgyffffffffgyg]ff2fffffgg}g}fg}fffg}fg}fg}fffg}g}g}g}ffg}fg}ffg}g}g}g}fg~g}ffffg}g}fffg}ffg}ffg}fffffg}g}fg}fg}g}ffg}fffg}fffg}ff2ffffffffffffffffg}fffg~fffg}ffffffg}g}ffg}fffg}fg}ffffg}g}fg}g}g}g}g}ffffg~g~fffffffffg~ffffffffffffg~fg~fg~fg~fg~g~fg~fffffffffffffffffffffffffffffffffg~g~fg~ffffffffg~fff2fffffffffffffffffffffffffffffffffg~ffg~fffffffffffg~ffffg~fg~g~ffffg~g~g~fffg~fffffffffg~fffg~g~g~fffg~fgg~g~fg~g~g~g~ffg~g~fggfffgfggfgfggfggfggfgggfggfgfggfgffgfgggfgfgfffgffggfffgfgggfgfffgggggggggggggggggggggggfggffffffgfffffffggfffffffffffffgffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggfffffffffffffffgggff2fffgffgffggggggffgffffgfggffgg]fffffg]ffffffffffffffg]g]g]g]g]fffffg]ffffffffffffffg]g]g]g]g]fffffg]fffg]fg]ffffg]fffffg]fgffg]ff2ffg]f2ffg]fffg]g]g]g]g]fffg]fffffffffffffffffffffffg]ffffffffffffffg]g]g]gffgffgfgfffggffgffffffffffffffffffffffffffggfffggfg]fffffffffffffffg]ffffggEfffffffffffffffgFffffffgFffffffgGffffffgHffgHfffffffgHffgHfffffffffffgIffffffgIffffffgIffgRfffgLffffgLfgLgLfffgLgLgLgLgLgLgLgLgLgLfffffffffffffffffffffffffffffgLfffgLffffffffgLfffffffffffgLffffffgLffffffffgOffffffffgOffgPfgPgPffgPfffgPffffffffffgPffgPfffffffffgPfgPffffffffgPfffffffffffgQfffffffffffffffgQffffffffffffffgQfffffgSffffffffffgSffffffgVfffgWffffgXffffgXfgXfffffffffffgXgXgYfffffffffgYfffgYffffgYfffgZfffffffffffgZfgZgZgZgZfffgZffffffffffffffgSffg[fffffg[fffffg\fg\fg\ffffffffffg\ffffffffffffffffffffffffg_ffffffffffg_fffffg`fffg`ffffgbffgbffffffffffffffgeffffgeffgegegeffgefffgffgfgfgffgfgfgfgffffffffglffglglfffffffffffffffffglffglfffffffgmfgmfgmfgmffffffffffffffffffffffffffffffffgmgmffgRfffgRfffgRffgRffffgRfffgRfffffgpfffgogogofffgpgpgpfffffffgpffffffgqffgqfffffgqfffffffffffffffffffffffffffffffgrfgrgrgrgrffffgvffffgvfgvffffffffgwfffffffffffgwfffffffgxfgxffffffffffffffgyfffffffgyffffffffffffffgzffgzfffg{ffffffffg{gffffg{fffffffffffffffffffffffffܢfg{fffffg{ffffffffg{ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffg|fffffgfffffffffffffffffffffffgfgfffffffffgffffffffgfffffgffffffgffffgfffgfffffffffffffffffffffffffffffffffffffgggfgfggffffffffffffffgRffgffggfffggfffgfffffffgffffffgfgffffffffffffgfgffffffffffffffgffffffffgffffffgggffffffffgfgffgggffffffffffgfgffffffggfffffgffgfgffffgffffffgfggffffffffffffffffffffgfffffffffffffgffffffffffgfffffgffgggffffffgfgffffffgffffgffffffffffffffffffffffffffffgfffffffgfffgffffffffffffgfffffffgffffffgffffffgffgffffffffffffffffgfffffffffgffffffffgfffffffffffffffgfffffffffgfgffffffffffffffffgfffgffgfffgfgffffgffgffffffffffgffffffffgffffffffffffffffffffffffffgffffffffffffffffffffffgffffffgfffgfgfffffffffffffgfffffffff8a7315739a3f4aadda99998dbcfcf011fda01a2111d48fad4f48bd5ebf40a4dd65984078bfd17f8ae8fcbb78739717079417ccdcb41d36bc81ca42b403ce0dda3150a731beb0fcc3b5f5760b149d03ad6f928edbcb8c56bb7f02cd21698a06c37daa54f13efb45bbda9f6405f2efbde6cd273e37da2a83b59cfcf6d213aa8d9bf0998aa5205a89401c5fa37838aceebb6a3799ae371be0e4676bf06ccb9924a24b172db74cb47c14203eab15fd8b94967087cc6a279079625252fdd778eae9282bd86b0ad7367ae3fcb8f2cc8f2f1b45ae83187ec6f3601da53f9d12804e29f10da5723d0c0201a67f8ac5e480363d908dd953d14936ed2b7d96907b8c00a1e0379a2f8576dc6583764772a0243f92e8b7e32c3d66538d4076221dcb9c3dae377672e1a61012cc5e94af7e37560ba4c7e2b7843b161835286cc6762c4aa79e6398a84af0c9e234ccf9183bc51d38b05c022d0ee33f9c0b7c0f596c40322ffc2ad1f82e0838e9b916967acda216c7875aea36f7ff7594763b21416a97ef1021873dc6f469e97449fea883a18a61308839d27ea6a1f2a41b1d0e5ef7f58f7e065ed93b219cbeda4f3b94ee628e5850876d0e01435df2791df7b2147ac9af7bf22ebf4c0339b52b31fe9ef13b86e6a34d8afee1b7916832667c7b81538d6bf9ed6229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc8dc6e6d28a778b0637b090fe37b5078b0820259d7eb557adaa30478b36ec8408ff706973f0d255e5bf183dc6525afcf84a96c9e2be5b01575384fb92b64a3b5ebd029efa77ea0fb4173e563e09f508a0879fe2d852862a96fe411a2f1d0878a86e4bd8e71e10886c4c1160ba2479ce963146ceb5b705e5811758144a106844c79404e1ac9604f2b61fa4539d061d46f9a5bbfb44f4a95fbce5e49ac4bc35833a48551eaeb88728ae6ad1110f676c07cc043d9e2ba1448858e8e71cd2a0011f8b1dc856f6180c512b4acf4f3eaa4adebb32c2d4b670e1b4dfb6b4ec9cc1c474a00f212dd6f564ee7cf98a32a4b04bcf6227f0afbca721b59a34416d8170fd33f3608b73e6435e6c0ebcfc8628ae20ef5974473c620dccac199e779a166bdd7c2b651cbaa6e1c61b206b8abc6d5efb60314389e6e1a1e57a5ce6f9d4f5813b72ff8c0d5b4b2670b990f465dc570ed3f829e5fd5162f86fe888c30bc720882b1d21f0b78c4c5651aeb09b46f3899622996b0fb121089056ec134adaf2b95849496ac176f28902ef063302c654b8fa0748a8cb574568fbeaef3f4cfadf3f425d01e554b1590e06b724098014e903619652235595329bfbbf541495d4309002371436d3a6c74aeefa99061d89bef825df9741ce4ddbc453d63990e19eb2045c4bcfb21faea8a9f299311b98d822a0b9e4996d8f4000fc6fd393d7c72f484070660634cfbe907799394fb356d4a25ba0cc39b65e4fe6c14657ec77b2b97f4edcf1a66394930e6bc3d14b97dda15348bb167253a3181ccb1b3cc0f63b2616ee9f8c034e09acbfc978d72e71365da03d4106ddf20ec379adbb6c0abb2783199d4e2dba6ea60623bb991bbc64ed57bea2058fd0b59393bc1cbe4b91def4c1861481343dd0fef0d68048ed3cce512acd800c1068a806b1cae43cfae070bec546dacc2af04f35df537c1f123cc6564e47e0b15379f9065d6e2c54e8d2d1de00da8c9dda3e7331614da07c5d2e67aaa0ec9759311a7ea520912fd6b43baa5f7455b7707d19ef374e401558ad5d1a877303af35f4f47ce97da1630de7e69b7b3541c2aaa4ea4c66db285b02cbd1a736863b4d9099a127e4d5b5be7074d7e8e86b1f5451abf136a3363caa4e30569bb30d6c51c03669077c6d6bb0a1a8199bff634b1438c3756dcd331849e44333028b1f1f0e6827c81b2ffd9e98ef4d7e7dbcdff5055439916bfd75d6c46cc3ff00c3c16697ce650e20794a35b7af79b008a26ed4c9111b5a105d316686c718632b71793c172021ea72ccc4badb041ce23179f3364ed3cb62d8733a3a260b3c12302ae2a7e625bbc330cd731d6d3cd9be9a7000c6c2fadc937c00e6f5e90107e4eb4367ee8be9612bed95117f2909ff48277c478aa00fbb03ad5c97498d1f34f424a5f6e149e057ef06fdc140096b50ed737dc017a30a2b906b3bb928bca1578f06c78642e52eb82acc2382c1b1b57b07a7b09897f0c1d3e3e7e2b3da67b308e44f4ad343c57481538d81abec3b3bfdc2e5d88d9a41f01905ba5f2b78c669a6be9cf16382d2c977fe24a0283ed329aa5728c4c554354d0344206fdf6ba5d79904c4df1a2f751daac34623e06fd81edf366e3c1090ffffed8c73e5015cfdd51e3709a7e427ea4f8c71a79b963f62902d38ef22f6aa0867f2ffd07b2a2d98f43fe2293b56f1a36c35438a350a49809f3bff08e32267406940cc2a4808713fa8aa910003600dfebf22f7d5c4b2f137062fc08248a32f014d730afeb8ab35552d030fa38218ad4bf1d8dafe7543cb63cd7408420906b5e31178d1d1b94aaf77655a6a76fb1dbd99975ea505577607156389e1e867d69581631bd7ccd101f09b16a678e093ddf85f70deda9210e906f918d8513a4916ad478f9299621ed4d60a2a8f4cbf52c763323551ebdff55d04fac6433d662c4be1f89fc16d01359d38f83034ff7d8c5f847011e466d040d47d5ef80b1624c2ab3a028225f3133bdbfbbe6e40bb594710c5497de8813c6b2d6d5793af1833c9685a130899eb8232637648b8979548995c77e1509d7e4890c9787892fb6754a9263200dda1efb8faa34b16cf7e4e3dcbded6e498baa7e8067a0d746e7405e2af167d7ce9b819ef8248184278358eccb8b25300c6f2cc3b6047a417b713e50cda4fc46e36e74b02a8284638068518b8c1273b12a337cd267c7a1ef06934e0f38b6dbff7d55ff72858be9e6e960b6778116a084f90336c1f80445c167dd9a78b13869f242760efa7f71ee2ad3ee1a9e933e2f15aefe396e108ad2250ef9a43c93d64ba2d1d93e5398ce82bbf80e03fe610a6437fff8515db34f1fceac65620d47943eab30ae23aba514ca9c768b047a68360e2d053f1314467106e8f2afc0c6ace5138c53f136b8242884cb42fcb170827d1db568588a74d23c8b087590f0ce7530aae1d6f39f090faa7d6caf897dc8afcad44f1627911fbe69d8e363d33ee8a3179e717026d98e51f807569131b5e47be0f6f4e01d90aea71b0126fdccf0370a12276bcaac354913c69fa7d1f9d5c04d8357c2c196b706b3a62984045bb7d9e752a0c8172270533f80dcccebda41b1a8ddbd083d0cc1a2eff65038bac9a0e743b1974b613afa9bc487d551d7ff3f83f62c5790e0661939c97ffa89c2d2dfed52e672a003fa6923481609e9b3eecfded409b8fb2c952016982ab69469c2b52ee4b08e9304ec9a8748b2e9cae27623dac97ba9a12c390602e84693ec617b93dcb60c7c934dafc4eafbb6cf15d60893fdbcfb311feeab24efdddb24606534baa323ae63b61983b459240ca76ac6b94b87ff6721e30363ed4d51b51ff90b8ddbb95b4344a1867fc7208aa826aa7c6670bd3be05898eb125d18bdc8c5e7052ee9cd0e59c611372413cfc4fef050b99d21d40e53e8179b3d7038db1b908cdfd48e0241f4d67a27a3c150f5830dcd7762d4d482115e708f942ae7e165cf06481052a2c1039de534df173e43b99cc799e69ac8b433afdd899f8af8590b80df1583476012fcd21f2892e675f35a41863b3c9f81390622d0f63789d2ea0bb8276cc7b5bc11a726b817e8914a3dbae71cbc373ff2c91bb04e56b659a577c775f1820ffa7690e804552c14fb8f75a0f5fada886cbe306fd80fc9f058dcd3551b8050479897aadd4d582c5d3425558020d18039de7b3d4dee42a4304c85d134ffa7856c036989d556d5e2f874cab3fe4b3f880afdd9622c41df7529b301d2add37aaa619c2d0c01eb111ea59185ef71ce44fef6aae5417c920df2997dfa6117f951b98a675fa33825774887661def1e402a8ec296d70163b30b24d42f3a9d760ccd2a19bcbcbb0a83008226fcca7e254f919178716d424eaf8634f4e7926087275222f8bd3071f4ba45046d2744c686a8c40de034237157535b36f5b1cd57eca74fd23ea77eadb836cc30e35e41649d8ed685ee9dcbeddd2eef49c664e749b68709018ffcb14e7963e017327a17a7f54681af623d0b8c1cb74653964699dd455dcf8f49c0f1e51368d2531426f5b7d8f330f594d08bae8f170d1b4945f6e302e8ec746d0ed03500853c762e69c56fdb88ae8fddb898c1be829f2931f1d9035a665b3e692563637ddbf45ed8fa59a7ea26beb6e6a7cedc3b210efc6925e0f8eecb08778e85dd0f1f4f98e3ad2d89642d1a9245bb2f5ea5f58cee02f7e848e6a5937953895360065072806c415c6e6ccd0e351ef66b80cbfe07ba683f3972ce9c2e7e43e13a5b29e805a51452181e9fe2444bb0d08ff6d77b29a57b988dfbcd41cd6a601affb32ab1f61b1d9421f2bc4fb591f37ed5a8196364bbd93456998fad2b27f3342e5a91ef18df21b347bdb8ae6509d4b126c6e20d052bedd414bb485ea831db001cd82aabc8c9d53726da2631f50d6e364bc895d066bc99b4dce7659c25b18f4282cd96bf0f242d792f0639c2406d046b7bd55d0abfc4b0cff3cddfbdd9c5bab35e32de42c3e478350d3a2b31796c39c3f1b0395d9efbc38e2fe6b5738efb1bb6ef05604c15029c7404a69f82feb65037adfa29277a3f33dd31a464bf839bc256a480b65cdcea10116bf1402ce6f93e81a3c97e16ee57bcd44bcef9b223d7febf0d6afb719d9c0eaa77769973dd0151e231666e436a306263ed12d86361b3fd573156c4c660815f330495d128bcce37aa4b75adef74e29271616d3d8f3bebff6b276525d6408b4632a652a58d4ab75abde65c6b4591f97b0a5d4e6ae55e01074c94e74c74e7d698d4cf78932eef731f63481a7e0b9be2a5948ae63261f2250ad1d38524825fd204687af4979c8e27fa596a1f5572209c2f3b1585c24e9eaee0321784b5b7b930e2072297a04851ee2eac391368633727d8b792b5ea4954ee2e11a751293553af9ac66010958e0f627c850371212315840f7e91b52a88d9a209b36bcb413d9d776110c23a556b223dc1dcc321a85cbf85e96188c217861bc42483c0bd3de928d77721ae68300a3cac46d5e83da0f3ab57cb80d6d80bb466c52e775d0ab30d1ede845c7a594878f1a66e0128d819c234d0e36626354df809db08c13ac1066066dbe756487268559d0c7cbce2f3445b9fe4d87b212aabe6cd65229fcc6d623a6fbbb542bc79150d0025c6044c7a96cc8795de38a4fe03486787aea9396b6b4efe163f798b9009cd6c9d102924d602c7ee855ab287f55412b0003f73e3cd30910401ac7cd40aaa8ea6309e6a29f65c8db6a0309b9a6b5d2398b7057c55c91be2f309d387eb4eadfdc662788078a67408a8a2f16dae1f08b4c5df24d9cced10d6d81fddc37c78681473aaa46f146fd72cefef99c3f3fff740615a8d9f0403be4d1c5c36088aaed5d5cb7e819d680cdc1fc4d70b9afa3318926eae59e0399152233088290f67cc27d770e8dc684b486080e6dd1bf4b604782529371ec943f7222aa360d629941997324d200e4f9175442575a1b378d8d0cad9d0b6f9f1cd2fcdcd92332a2f85d54bb721fb9b23859176b051fe886c118583a4797706605ecc48280121cf5b918315cec5c602ab569193456a3fea2510793638fc2ef2d0e973969f3039447f697ae051d203357152bca399b380a05ad197fe9bc81c00849ab47b42510e6330f8288a8f066d02e4867483e35c1fe757d8f4929f1aaa417c80f6b089fe086c7a73f3db7aa3af05a7c7bf71fe151d66463aa7e7276fea62f90aa494287c22c17e908403fa71f6d853d3c904c96273d464cf879747e314eec649904dca290c0dc0d91acb20becb2093f96c1928a66fd442a31603ba3bae58b6302bd05a2ca649f803c6e6371e829baa76a46d2366d2a3c4778d6e88a62e1c765c345a56bf9d6181894919aa0d4d68fdba81438f562f4312d17ac6976370ef0aafb3319eae3c1408f4685ea757712f4c1216d6f2a9b7c6098adb9c20e20f28d9340b4acfbc62482694a7f41b77210f47787bd0a571ef93aca1b374d9cb13cadf1654f2a4584ffc634005b09f9d67aebb759d7545fda58e6a7e18b4d8e9e93e686b61552ce56ffd3b67ef9ffd6d7a5bcffc4be5eb3b522df963f805492f79e71321ca59a110c4aa4d4dc8f385d6d36dac5fd8fc69dc62db05faba7cbde0380fa2bc03ecd798b903a33c4ccb85d6d36dac5fd8fc69dc62db05faba7cbde0380fa2bc03ecd798b903a33c4ccb92133d087ac756feebe0c8d7898ffe4b64bcd87a30371c2d34c148e179894af9ce7e30bebef735c06c7d9f676577e222c079c2021b748bb895c78e52278d85c95dc5cffeb7652b91bc15dd28e23d89b9a8f81a1aeba2f9edab3ea0ceffbb86da12433f6832a31146e0503dc7d5c227e66fcb0db1c4566553defa1a27eeeddbf06d5bafa3f5091b4b2f0b9fffd68cf3cf458a41b760c221a5723ca733a250044ff6998f87a729141af3bdf8467775f330ddfb25f72a2ff9c6da09edaa8da2b55fc0a02bf44f8d26be8323faefcb574456c7e49165503e9c5e67181c8402979411b617d2aa3b0ba5b1f89efc4a74cf431e6973a43b9160653551484af2a1d7e97f4bfe9f56be2c319dff130c757040f8829587dd6bb981b495fb1c700b9af8cd337c169db1186e16d11b1716a473c491128ac2f0bda7ef770b6a6902f0552dd2a2877b07b2366589569ecc8f7cdf22656e100d66e0e5ee1069878ce324dd8573df09cf0613ba8a889bb550bea3d80a3184eb5445b718899c8e12846a6399c566e5c21d7002865174ef3a4e77472fa930cd29428de75360b10cabae158c22f8234627c764b6967e387a96bc4726e5066aea8389c878ed26e74eeac7849609134a3066f04f992eddcbdbdabc7aa076f8c91b558fad3e6e2a635369551e7e5afb607f80bb257f26fa1f3c36fe690f549e878c2f19e2874a74d6fd5a48a1f36bdc2ec09ae138d9d95a24abbc65beac4283c28706823eb9f2099809a5a051b85269c19175ea3b60643dd02ba8e48f40fb7ed5f4a6b5dd82aecdea312e4f6ac03f874158062c9d4bd9d14f7da76d87ea56d4916e32751bb53f91e7ac385f3bfc0ae1b357ef7eea0e29f9d71e7949a32a90c7c54ab544c30673533ec13a7fe1e20d50739b0714c50b0d36d75c9ac518581cc54e312a118870cfe6496b3a480727a01c6de929c4742877e58f5049093b16f9189db90011efd797fb42a98534b0c705f52f3a80956b9b2878ed76562325b8af9803c4f905d16c048500d2adfe08949d269b73a3685835e5b658f36864966472c604c813cec50f909b0e08b66b6b47ef1695d97b9cb86169d59de623e037cc0e95fa2ee478420772dfc9f1693f0f2462f221bc9a0921b4586b207eb0ab662c568156e5cb3a98931be2b02a28a2b336f52ed1c8664c091affd820d5825e5336795deaf45a6e4ec33995d16292645df3c1a8e8d1defee926896519aa573a5a3aff1d9d8860e87d8efc7d43c71860cde8558621a7a0cd29258f9d5aafd74dcd698f6ff6161cdbaa30ce145dffdc5a1e536092cd3a9b324dc1dae662246f277b907aabbad8b39cd4997fa332065938e374fb39c40ca72c91062ec4e7350f8713e6b65b82a39e1dffac1bbc68737f1d42994451d6b9a1e7cec32129304937e4b3b7717c66eab16e34c07e41fd2af527d4fa1cc7c0d2932bb58d8cd11065a7c43067f2fc0645e281f701e38ef184d301a276bdd5015fb7aa386110b7adfceac584c3b9ee395ad6b770f44a0d825e93c31629d2d1745fd7c8a3083c7c00fcc983b6d399258c8fc676c968e15be3b7ea138bc72a082db8ae908abf6d23a554c6640df5bf9db8ae31e7d9f0e75dc76723c5530eec1c096a98798390af7388c1107a1bc8caca68facc14c2590b1d0b0ceab98a43455ea5b65897f0cbed26b71801857f4d6fc3329822fc61c761f523997804aa473a71b451ab9963c02e958086e50ab40487fd9b42daea57e3d21133a8118cec2ac0fe93024b2e434d0e851ebdd9d87464cfc255e9d77c29da07a5d2f216b063bacb7d96076b55bb76443e63fc2e2795aef26578ae36b159a9913367cb4c8673e912d9d191cb46dab08f2b59105f82f987796513fe15e3ea2d2f602acc265bb4c55dc48059462dbe15a604521c7ff3820d9e7fd28255a96b07d39c99f2659924ee3e8707a30d3151d9407ba93569d18b09d268eab673a2ad0705383ed829305e636197ac9587938c853b1db38ec223b35f339db205c43aadc5d10538f8d4a164dd92549807050025ee7dafbd1bd187bf96057f95ed96e7dc61c6329bf39dc7e3080bd74740b92cb2887271f505feb40cca72616be91237e4f307db40bb0e9832124e78046d0b8fe8019328d323833fd2a21f9fe7520151c69a6b8f2ee01b3250b97d819f66391b7d4f0f1dc786fdd72ad913e0d854979dbbc0e7b2aaa1424c34169aa9e23859436f3eabd64149402abda7e65814538efdba128ba8290a351eb803349032f1caa1ec4fa528e2ee194398736495063bd62cec8abe9d357b69b4ccd071d7806cea76c27a00e07225db02861e4b625e75685bc31f0ba15033c9f9aec7ec7ae7bc7d7caabe69656b5c146fcab9d046f8ab0ee40dc3f7838f4aa6a504c36c56761a49e3bb82e7d1267bf388ee2aeb369f42a3ffc1a7fa829f20866ca43f4d2147839247af2af8bedca31c8be2739e915364eb9a05e82a5049fd014cfa3051d02e38009dde69078fa9024fc9dbe8130f21ca4ed9678d6361259bbe7e7ac82ea1abae2260826e740bd64b30945e1006284ce4659d00cc2034312d7de06a37b88fc149069c832e13e25475e3cce039f30c9e7d638b4706f90df77be78e9578eb7d289966805bbd7eb7f7f54072ec78d87c6f54d97e7ace810a3a2a4a6d13734e875e2931eddb3d482093ba404e2d472f8aef3a80e9a237f70d29fe293b002ca957ccac2be7943c3396990f734b3019ac5a7769b51af13fd3ee04977776be137eff3ae9ef5ed136421fb57e02b38be7e9c1df3ee109166b1a8c1b43ab5d3937d55e10328371db502e0c87fa93a9d3c57f4dbef06d133173c2bdef6f9bc8e3c1788f8c5e421539530e322341c23a99222556e69d63cbba37d76d7bfbf0366b63230a37a21683c297fef07c9b0166fb45360e9f4ba87516caaa1697d984f90704e467ab11b8b8aaeb845ccb04a025cc63086df69c001aa82c00288542cc21e0221d588322b661449af4f3341f63dc764fc05b5d8a45d15ad600959a3875d87b805377328b3aa61ac370d64fe1b61a7cd74feebc3f634e520a5008e7cbd53f9f3a4151ad08d26ccbc654f927e936a118a00f430b88045cc1c896789ce1bc384f11184c9f4558e52356e6f097de15818751db2e6fc3e9fc5ecd505e07e59bdd2e4bb26126fd4b63c9237fb7c794c9c2ca8a1af0332bf5a6c6cd15d0e8013d36a433ec1a2a222f967cb245dc2ef0ce4743a9e0e21bf1049a060ba6b2c74b6d5baaedc1a7edd798f7c39b2def483ba2d7304fe0e563b2c86e7b8096b9c31f314812cb4c9376d79b11a25bd60da58ff4beb8b95425f6f90b3dcaf5c5139dcc0881beb94ff52cb93dc160b3f9ece3fe262284e201aa37f6092045c5a3eef364f06df2cc7c275f41a736ec84fcfdd4931d082e5e57c23effdf9f08ff6a25f8a89c53606ebd2a7f5c02c57cd900e499f0769930a5be81d342db7741e6dfb57c93155da38a8a2710d2f921dabb1d810223728b2de61278fe494161d1d3355c1ee5c9637beba2b642c36f1ad01b1cf181c37bc26e100bafefc4959c5bed071110484423b082a25a965c3d23309bbf36b3238214b2fd2ca558edb74799377228d13c054328813bd54fd8118ba76cc50fcc567c1d4c4b5215e38202a22b313a16cb1d0f5b473853d97e4329c795f35dcd0f1c20d7172a0d7ebc336fee9083088bd34657b2178ee1859bc6d6e605ae8ffa282d8858003f4b8b5d60880086f772fa000ea01b5f08cc0857f7725c9bac657ac6b4dbde3644eafc349255501c86f5daea92e413febddfcc1330fcd75379c9cab704b61a2be5f46f1fe03db07ae50b2bb422f64056ad3b34180cf914d1510e676b1464f8beede87725e932a5f8dc353caa4fab820825ee1fc29db5044279b7e1bee0af13a8b338f7327ef1f3f3f8e1a51edfaa41667cf9da8377f4507959368eb0852d4da1335423507d3f5cd5afcb9860bff34b8707df29c3d58b3137947a21e284873bf22644be11937cc656a7e99521a7c0d3ed38c3ebbfd9f4b80ae619ca18a1b9e0b2ca011b2c55a2627d26397da35dbcc76213910f7683867ca756f2fdb47753ae30ac5a231dacbc0888df6e7a4be49783cef80482a830873748d35d4a5f26775b6c7f27e4900ae287622a690081b76b6054b769323025a08e98aa51d30d1bc6697b2670f21b6f2012a28ee9a1e9697a8a75bb0081289d247052bbac5c7da718530c71c66b910a44a91924253ecd9a73931e5ead44a009adcab099c5efb0eb414be926a09dd1886526ac80580572ce81b517b7ec8fecca556aab9b3912cd773b8d761c5dbc3cee9051884ea5ac90be26edabca12a8048200268de66dfe020aa38719845c01e2b56af100b080b19dbb1c0a4a9782dc769f5f607d1765f868795580ce3b6d9b015a5bdba9095d3308de087872501d42e9dd30aa314be699d71d75a4e3b65f769ad31f2c66eaebae26429707d79b61ca6013b7a5513cbd0e46794137c19fd62cd329edc9767c867a2c8e2cc79b7ff0066c3a9cca080b4d8e5be25bb16901470e6792df655cf3b64496e8a4631ea9edac0e85869c2b542c74fcfa5291382f5b5013ab0eb5c76cfd99582916f821591a9ca454bab943e0d2d3f05d99625d27ac696cf79f8ec6fe51d2bdc35678c54d38c1b65bb69469120c3f5f0a78457b305307d1b2d6d08a5c6c87a30c189584d2ddabce22f5c25b3350f7b1bf4f569642bfa3525b5502655d47bf463390a503d9c2ca899733d2f41df58fd8ddcb38f87d7fb54316dc2bc68708aaade4deffc97f47c5559d51578aa9b73f34135029573fc3d5964add53272019b91d59d9296029cfe8d8a7d344719d4e263f6fc55ebf893f0e8b98d3fd761b3b599c938da43bff63c8195627d2b33495ba960b52f85ba963a0e72f399a0b570259c43226a29d2fc385510423b875aad22382797ca8dd0fde72a524990ca7c6e5f132983cf1317bdbcd19f9f8223e87b1103b05f4abe99f545069347afef5ac2a8825ace646ab4c30841055491fdddbf804468570e9fd2b238ffabd0495219e989c195d63774404a0cc0865e7640387c5a93e8fbc3ff9bd846622c0d6ec76dddd3afdee9ff20e1833acebb205825f8f36ad292fa819c91edce54a234c8ab435b4533d0f3f1ca61b5ad8acf6d88230847c25566d6a70fa9a768140f90f60a1560053449cf179b2a2ff0bc476e0511b657d78b3d9e33d8c3cbc52e39cb76b00fadfa37fe52b0d7fa091789832ef818ad1c05a18e305256d1374ea92a32fd63048d7c3f86beb4409f5992d184b5ff1c82398077ef2b762f3380659900305afe946af7b72059797c2586fe895c1b08c917af89b6caed93706477c0dbdbe7b5ad2a0f168cf1e5fcc27cb570a7fa9916d6209e53fbf15f5cf665246fc2a8854e0420b0c593aa0a7e1e844f5ca5627d97259fee42a3db62092ea74b806693f7c241de2ec67448f059a264aaa68c43d1890efb9ff109b77b8a27985d00f1f31397c7c082f74e383aae88e9cadafde10ceefce4793e84855102b5a4cc915323cc239b4334ee77bac961a1f73cf94cfcf23f24f0a29992c059cc4980f2418387bb4b4bc6f1d3b2bfbaf82fbf74f1d1d1f1b6c4bc0bd4625b9c6ccef7dbb9cac625f9ca93a5b9217adb67742c374c21fbbe669e85f534029274635bf5fc7630b0b5cd3e6488ddb12c217fd35ad5e099bd26a4251d22f237afdd6fd45f30b36c16f2313f0b6cc893611949616c1833302b8b3706091c7e9b004b46448d16fefdc2b1e6535e69dc012151b346b3fa419fd83e70ca69db6cab9a32530302a8360ec06fd5b594eaa903c613f087fe59acc830afd809f719830af3e1472425934014bf2cdd05bbc19af251ac65fd7c9e255aba58f5dd8cfc846cda0f1c18403f870bf83a4bfe9a47bd4fe2c0c8aab5f32e8416fb5bf58e006f9fa41d34d1b3e7d4c680e673fb59ccfa687d2fd8a2317d06f5509fc2c51dc10410f1a461b6957c2043bc2a1c5b5704b095f42c6b64899320cd870bab08f05aeac87de2563bb7c0623665d341b6545c1cfce204c72b2f18ec7462721a5360275bece93acaccdacfa798718f14ea66028be6ac19002198751f875562576130d9ecf0bd1bc8c4501840f21fc3feeeee7c40b3e244e4931526694c6e563dfe307ee1c0b42d9746b305b98a20bd76bf32bf7e53f39f981ff9436a57f9f8556eccbe1ee6c037494308cd4bc656e96ba7a657cbadae8eeb26cbfdec40ef1de3d36ab70a39826a9a19e17048ca3a537b935a34390a96379e659c2f082aa26bddfb4cb9102fd50caef40888ad6f78200d8802594a2c7cec10f7d595728cd0ecb4d5265d926d527f6abd83720a0c374fd1a5d072fad7faee2cbaaad65f273a22708f265d8be80f0e00478f76827dec2f476da098ec18f4d54aa0395dd662175396646bf8d3f02316e3d08a76b08cb3d5588c80e72035f57fee0d07bfdabbf80e921c780d538cf15d540b9aca0f428b957dc7381464c650ba7e5821c95cf2011a40eb4ebb7797e70acf6567913cd81a59368bab6cb6c19d83f83d682bcbf53fb5eb385df00f3e64ce92466473896a48d38fa3ed43c1682ff85c03a8562de248b15a12e2b94d719c405b98a72e97bcbec7173a52342fae7f7b90163df88f3f8b11ff27cfa022e586fa7715a81c444b5f6fe663a3673d1b703c1241d797041e862ec23168a2b7aba638a0c15780d0d93de2ceb6d3826e8f84b919696f6181e8cae0dcd6b745593ee799234499a611c39baa9a988fc8b0c444ab715d1f180d4a4bf9638491d0c613c8f4e68764bd5ee14aaaafbd0c4462f8296530aa8865c33a661a77008a103cc380cfb7e3d2c90b16a05e9e3b85c222c31ad8fcdcbdc1cce8f82ca0c6f65cf7f7192b22b9b4d84050378caca5245cde22ddade091d5f469cc84f26aa5f0009051fd5d5cb6f8a457b9e2b00c7263bfb4baeccd7c0a92cfdf34d76693148ce0aed5a4ff3ba2fb7392428bae1e2830bd3e4d4d813056256e809686a69f2e6d391b02d9fd57021805d1953c128e724da4f2dc8c174aa8db9a09b6daf68a6d17a35765cc8c9ee08551e3d12f3492962190427cf28506bbc1146126ec6518dfe10570c956fcd8f7192588f977dfe0adfd3c5d2ff2431c21f09247dc22c795c11d2aa402cd979150973a35ddee2e9e9ade13e71b46aa8950e676e677f4f61c47cff7cfea6a15dc8eab7e1a561e89cfa597f4ff95cb3a9b4c077f108d44067f9de4bb9447e7b88287152f2e05de36d7a72d7cc5dd2f5320f478fbc3af9481d6676559fe54c17852c0ddf7f28693215c0454e8b2f71bd9134ee40e1974c7a886bcb4fdf6fc2dd4226d0374bbb5ba7115e9cc3e14129ba0bb04551999c8b837c3e687d2f8353a4a380b92d35b5bc28187801e42fecae483c1f4ebbdca94617cd95c6bf4dc8f54c4e54cf1568016c844dc42081f812f1dd5702ed984f16b8d2aec8ac04004a3229cb7c3d7ae258dae0bbff776f98880f12be9a395b741268ee67639be2c056d87bdc66e7a6b1662275592c308df9155a673f91de89c4d0abfb2cdf6b571333e211b06cae8972decbca2f6329fae7e26123a73f76038fd319c97b371a164cde9b10991256a47440a167fb85a91ec41f01f464a77a79a4fbd622e820a4f0e7865784a8171f6b091ffa9caaed518bdb0f90b4ea9f228fca6793c0eec9c50b6131e78c0ec2f1caf70a2d075acf0f7e31bf192bb49058b6dcebadb9020930916aa3aa722b799582f28663da7d8c111cf10f823a79a7eb87a16e39ccee0a7d866029de2790da55d27d5c25e01e86545fa3ae91527898bc939a62a25db7a404c30f4128aa69ef59802a6ef81c25811c9db35ade4e9a5277a193a144d5588a4e3037e516f14a3533bdbe419e7fcecf053ff061e40e14113d03260dedd0348af0336407082542602b63e87255d39f5f4fa9b6eb1e4cf64d4f69f946393d18b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895c37cdefb3e2e28ba0a1aab4eb829a2eb3666d56541b82823690fb50e47989cca333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81cf330d85fc21aed34dcdb0b80bf57865e16b1ff6861f965654e5b42590d1bd69539d6cd1c6b6660e9cf1bd9c4c9d2ef0e8df90bc6d8fa7e2850516638a0b2497ed81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a9c12de1db03bc9096422e15ad4037df46dcc83a7f0488c8ee741cee634d656505cef6fc1ab559af4c9b458036fd44b5745a1f8a00611635264c7827566889f3bd5702fad5ca9254c5ffa5e25e2b728b8f38dc5a22994f7fac6b4cd771ce7021d67c6b275463aecffb7008e56341f744d7b09a0bd8559abcd2d410011ca21b04a1a833fc71c7ccfbc8c8959dc79d1bb0139520133004898bac13cc6c35c5975a547b9335d338aeffb1cab02bf3c5a257785ff2432d7b2aca39408fc6a606c61d0c9fe4a8ecc93925d92605d0b5ad56ef79462a7c821a7a5273b9d52d1e32065c236fb09206dab22cc79658e66eec227ef26e2e4c079af8e0a9d859aa1ba670d4f6c249b3646bd454f7f5d7e33be8430bddab65e9d24bfbd551b94aad4239336754b732e6c71a8e807592a1db256c116362ddc592bedcd48878b400dea7351ff812db3611677257fb0d0660ad81461a2c1539a7b0df6b7beebbad7e5c3b7f59ab92a3041a4ba10e01121c471f747cc3ef236c13a3c2cf2137b75c60540166f190d5ce26cc589159302950804356a9e1cde2ca47674272a0a5ae607e8a510089abde2e18053cf3230a1bf885e5b40c7ed463eafb70211e688ac54cd96c8d60d60289cb0c8d3f367c3a2521a68ad9bfe433618a0ab00e21435bf0d06ed6378caa27fe035ff6646985d0d4ee0d8c4849faccaa03ab6c5b00d536accf77cf32bb0576fded9aca2b00d997b19e59db5733ce166a378787e7553671feff9ed4a11a53d53bac3f18e202d26363e527c3be94c912eb1168fc738b46e6af4e889f37a55cad1ada3cdfa30ea7de2565c87a7faf7fec4478dcdcbf4fa975bc2bca7a7a352944444d98a408ab9ae42a2fb34f94ceca2943eeb34e13eb7086a44fdfe121dc252b0d7b53f06d8d7792ab17222d6f7f59e810c47c6ed7fa9b7bffda8a3fb41c511dd74767620dd0cf14d6d4e79dd037a503c2dd6892913a2f93d87a99ccfa339f1686b3a887596174a155330287fb14ed448b48a03e4ba2a6f21dcaae27d16c812aead1b7b464244cc33423e90501f508834f800554e8635219570e49d787f6dc2a5c48d39eee38612e8d0f8ee92ac735dfd225d857580a85017e4d4351072e57c99f3a7dc2ec2151721a3ffad655c1368afb71813228d3c9892aa90422aeecfe07a8f59d426c7edef1c4ed2c44b976ac23f61ffb307efec6541f658a51f30b3ac3c7581048d419b5c800e54626606eddad228e75363a288f3e8e810073d4f6e7ad57d22f31e97b1c0531a7852a8fcccde8f4087c9256791757c9597074ffaa0779dee0a4c7f2081250db295e5c06287f1a19cf5c12ac361bf0912563baf25a4d2d42650727b96da117333bff5f38cb0508d2c860458d1e2b175d4f8525eeb286e2982817b08c3e5160451612d303bb9bfa45de4224336e25ede5ae137d31004edd2f56a2c254aee071c16aa6b7a39f0feb166dd8026e0256f0f1371954da99e9f56d4f65f0d36114bd69e98a4a07210d94770ba55ec5198ff94145a58837b568aa751537d75bce757e9cf641a191a697f26d233a401f16bf1c99776102e4f9a562c2b20721a02d122574c4a2aad44b41ea30b6f1926b62d1d162f6c9316e36f0132909bd7f03f25838db605a6254d3174cd50682ee81f53578c948ccdfbccff82b579e618e36725cf7c081c6127da035140aa2c32f4d2211be46a103135f8e6829f3c5a6e1c797c35482f433c72e3a6e5c843b2b4b44b39beb1a460192715157927561cda513a51e3bf9f8553ea05a14ac852bb8a3f7622d9b013408ce46c8974f4ecaca2ae2b43a7b8634a4f5590e21fb0ed44bb00e7172b55b24edc58fc96114db5c9b2fb8312c0bee5d96b760edb38532371444c16af653205b568d590c6daf2ebc105baa1ca4ece0b0221aaae92df85b40b22865168f4a625e151a962b272f29add8f1dbac5bc236c2d827bb900affb6d349fce6e1f18b93d30d0760f96932803d59a717c4cd09dd47739b9668ee3b1f02763e341ca44d16580075f637ba433a411338b4bdff145c09bf639327fc831005a34dd200446b320420dba738a9df9bd2953109a65c92170da16c3b814f71090c6b3eb37b09e02b0f13b9ce2ad0198e6aed77aa472702a9d329fd3856c3588bf74f9c19fc997b67a7d638dc41257b9ce224a880b1eafaeab5556fe926b2db99d66f91f3f1fd4e43d2ffeaffb75ee72e5d9368d2f55e2635000539feac783385c33ce6b2367204fd2cf1b6c298d84a4a0646d540d5b2ae8b37a7a51cce77e71ce832d4bb5b4cd581db1a5024fccc6561ee3f32c090225e456b7b50791825c089e571ef7e49ade0d80300159710eb48f9a55bbdd9e14f4e1ec933c22b2270d298cc947399d7ebfeac864827f03fb7e86b6a15575887f08e01c7f5ad96a63a610cdc7e46747dbcebe95969bb6b7cca918c43888e76c7a179e1e7eeeb686184574694fabfc7c9b6d0c2a64df3a8163b5df1f432abb146f2de1ed765158068d2f921b47d2752e723c3d984c41053f83ee3298cd958e55ad313981cb0f9462680c347d85e7dcf9d932409d428076674083c4fb5b8dabd165655881a70c392f6c431cd9fd97cd93386f8cd1a1701d8ca68212406bd8917d88834518d4a040d199467bdd1ab962566dc219c53aacf3515e204bae594631c7479caaeab796cdbfa749ca3571f8cc79a8553f1ef39d3bbb938fd7b29d115f67569931f436eb2948a52f789e575136506705ef0afb11cec6bd362f1dd4ac1688d7547e6b61822853170141989b51525428a587457d5b2888e4b1acc6403fe521c90301a77f2bdb639f0b595cf82cec440091473e9550994d1324b11445bfd7e644574bb0c68e8bdc63bae92fd7e2cccbd8d9cdf464a7f45c1c357afd84765ca326c6dee60fdd12ff651dfebc8fef28fd2740628389990f693cc9eea0304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca14e814c610e977d68ea174d54e4a28c8579352010af7857008f0cc87122e937062c62bc15df391167d1e4d8c335f362cc3a35ae57082392b870779e32ebb56ac9b8dee74a216a7b9ad62d3f07b96d823aab6e7c969f7f4e46ed1463d9a11632109c1d00fd6b311822d30623ab6c9e16b2f280ad68f3611e27f2c46bcc354672c7c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a93d714c2898a532cb6081e2872f90ffa4642281b1375d96fa7d4f90574f7cab2419271dad5e951f55520b396aa642ac76c3330cd3f40d954596ebd3bdf03cabcbd70d76de07f8efad91047082cb278565059b1c7755b02252e7997a239dfbb358ed5fabc25db08768852801dbac308d507cb4f0b949fd367eba332279b07182a1670ef1eb7fc3969d2566cfe5f0ea917667fb2b1da8559073b9e1df72db27ae45b8a37129b210c4462ec304728a92ffd2e44c907d51bc7eb3047ef67919fe3e729cef8396409be69afd245a7335729fe2bbfb26b11a597f7335f9752f8294c311baf9b4512bb8a72a31b0fc11310c789d448cdf2224b87f1cb8696ff30ba46b5cacd6f0690658a8f9a9937a19aae7c567c8df7f6e5a54f6d1d125bb322f37d56e19d800557fdb5c6ec819480ec10bcf9ea5f33a8b356887e701fc8c664cde3920ec33649e32a3a1baee571804fcc6d359515aba5aa535f15d57de3f3c6b111e1e2930f6c36f18b38a47fc0d62d624efce0cc977780ea43131f282fcf57819240820805bef13534fa565b57076143cf5dd3d2e462d66bb9ea47168eb8722a52451c7f6d093c9f423271c9d206b282ffb4c2ac1bd87b07d6fa1bd122d1952bdebda2471370b9f621ee1d50b00a6180e2915a2080d523065e2d05700dacf07b0a957c0b36ca057299989212d656cbe6f71ba5513927b0b7b7e993bd3155165b06875c545d7c89c81489ff4570dceb2e38fde8ead7b227544d2f900e9a982f39563512c395f3700fc2ab80548cab0d01f62e7d000b465a8cf3294ab5c5e764520b0c73a2fca43530fc0787efda9e036161d8a34bf55ffdb155e4cc3ab132656dac5c4e6b15dd4b0cb9331d3257ee91ea148360f84307e349d9618c96bf1e7a9e20916348af0336407082542602b63e87255d39f5f4fa9b6eb1e4cf64d4f69f946393d18b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895c37cdefb3e2e28ba0a1aab4eb829a2eb3666d56541b82823690fb50e47989cca333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81c08e7d35d2c933b46351d73e9152b5d510811430520c84532413af8e4fb5bb575918c0041edb242fbffa6790dd0db1ce6e7f378cdf94d5df73f1dc7f44fb36795fe2d563897f9bdc7a455b9783842c9291505cc2f0d9c983d68aecbec5ca1c83627a928ae71f26c18f46bc51033a6e4fe1b905855669ce70d448f6ee3d2fa87f709bb84505f407dcc040beeb63122ed0e7d04762cdd8c5fc784ee7a2c9c10bd1254a6456b8a23540fe2a06b0443586577759dfe84bd3ea37d991357bf0ca488842c62bc15df391167d1e4d8c335f362cc3a35ae57082392b870779e32ebb56ac9b8dee74a216a7b9ad62d3f07b96d823aab6e7c969f7f4e46ed1463d9a1163210f330d85fc21aed34dcdb0b80bf57865e16b1ff6861f965654e5b42590d1bd69539d6cd1c6b6660e9cf1bd9c4c9d2ef0e8df90bc6d8fa7e2850516638a0b2497ed81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a96b703f656a5f3857a67170669291d562f8e04dd4dd998ebd50a5b76f59a5bc7d8e39074fee9725c3bfdef0bdb703c4ec3b5a56db6da5d69880a3960aa75781c55e4c187977bd934ddf68d77983116bb5645d95ef9e0f2eebaceec8d24edb071e1a1c6de761e4cc6df4ebd9e263b9ae9555ceb701de56a7760153d1d3e36c29ff14b455bf8ac6065c2fa1ef246a64a37f263608dc92a6053071de53e8f7bec1cba393b037f5073519ef2c0039ddb6ef451b7418125e5c00ff3333b7a3d23cb365332f76c6a9553356df905a5220144e76f6bc2a96c080ba96d8681dd7291f43deb7a7c62a5b36ab86b6e1e4c2ce6b282cc4f3b7634a86413496d0f5c6f724e896473bdc07afb6f85db38f025c206e36fa430b5a559824355c6f8f0f9d21fcbe22d0ce31d62bae97e67cc9e92dcf2e422ce73592b6070d4070f02148b9e614bcb5dff0150bd07c6a295a2ede558131fa2beab4ab989ceb5cccd93dfed273164b2a3109504818bc6a8cf7caacc2d7cac3e90643fa226887d80f9e14688064fbd83efdc79a801cc4e1d7558a6c1c69330468bc48b7c7efdfbf6cf30d2706462b15fa81636d9504fd4bb6727a3cdc94419955587ccc0c45ee11508b29500273b85edb85a0e7026b3bf2c449de856e3acf07d7ba4e7504472092a81c05ea0f76aeecc5b880c83108be38b2e2d6c21c531a6da12abce448a158b3301aef886fef53b2df4d2c46118ed2b9bd48ce15d5bd9734c1a7a6a49dfb0cc96d5f9c0cb53d3bea688c677621d9f0f1c29ffb0576986429f67d71d17b1246d275cb12c356555b9ecbf4d84ff1550cb04b277db1a35892d53b0c957c2dc1a40fed12a87b42fe62ea2bc1628d2b13ff780f90e781a6290cc57dadeb1465d9a36197e2ba87e73cbb4489d59b28b6ca6fd07a9a5a7f42597a54c57b075786ce1994bd78d243dc5ee2ca35cf25e728556ae3eb4d69050aadfd97470935e4be4b35a971b42ce32969688da671d9e35584b4c37da1aa5d0a5914966f32448cb853eec3fcb25b0246d7ff3da38826aee2e82942fc71edc32e78d6c0faea05d41bcbb58c51fdcfb5bce50d0071096f1dbb0df7154d304dccd8f8f519e88a0e0147110aa100f2eca54e50af455d0304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca1b49ec9c14b5a8c7acccadab0567d80ff87f7d837b8f820ae58a3e52c0c073610b4d3dea3841a39a145cf2ec552e428f433f9764400ce5e1760ad4b92bfbb5baa9c30f8ad74dfb543cb30f8f3f856fa70324b141de0e5b20b95a12caa6e839801dceeaa0ed38ef4ec1aef20910ff5af8bdec67a19c18d6bb060fe54bb8be4d6b39118adadbe5061b7d95aeb811352e0ce2a6d8538253dd9200487404de3b50364960fa276589a96b9c5487a2ce8244e9a795e9e848b08ab4934fd3855cf0e0203445b751c0fe56adb23b20536f525c90f38ea44964821fc615218a5a0368b035492876c97731ed755bc6516ea61d167ace23b4b9fbba7939198ac09dedb429c0eaa4a615c2801ece05e671898b7bcb21574a2fa5d8caa95c3f6de16839786d8dcc31ddc5d3c51f6614fadc7e726072442932e43f42ae278342ef59fb8f6892baf7aae41ef91b433f35ad5062c7fb2591b62f1152956626b5401a4daaf372076ffaf1c4c96190f91136f72eb0e33ded57abcc2adbf6896705e9a1f698d0a120c4bb050caabeccedea376a5a070eefd61497a3267e656753b505a97f7ac55375305b99a665c2bc526593b9e76b5648d3e892381e92a4dcd4f517d646675172033d09eab48ae09bdd834dbe2581069ceb5d647d6eb43430f6d955c12c48bc9dd6cf85faa36ce6ed9bb249670070a68df63813a4db04bd8081d32a5e5647c71c883f763c6d72474577360f0a8de591b2af2b6bd289e7c6d5d38ec82296cdd2ee03c31ebea547273bc72fc83a07d4e271f9941bca9e82a14f57cfd17e1e4d99fecb4949969d8b25312abd1a102ad16a06001abd629aeaa0b2c70a819d96b83cc891a145bb2b655b05593e4a6bfee66143cb04b59782f1ed7c10ecbecfa205d0a823fa52eb55cb3588bfea33799e49b0105d04a4ea50be87eb461d88da8eb136ab566964b3cf7d081d9f051693eaf6831bd45033ebc0cb389e1cc4ad1f2af28243ea40539af2ca18b76943e23552b08725c78836e73681859abbeba3d0a8b9861588c48c7e994a61885cdceadef7d603aad77627fac18c2995695e5d07fd2128f68243fcd79ac29ea5841a233050d614293d04b7f3345b8bf30fc287549cbc5513ec685445bfd7e644574bb0c68e8bdc63bae92fd7e2cccbd8d9cdf464a7f45c1c357afb7a404c30f4128aa69ef59802a6ef81c25811c9db35ade4e9a5277a193a144d53504f4096f368db16238537e6611f77c426cf9698dfa5fc41bba267b4f4e53aa195e47c26fd64b0ddfa15142fa37248bee523e6e0048d38999d0a401355d0683229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc818b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81cd84765ca326c6dee60fdd12ff651dfebc8fef28fd2740628389990f693cc9eea0304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca14e814c610e977d68ea174d54e4a28c8579352010af7857008f0cc87122e937062c62bc15df391167d1e4d8c335f362cc3a35ae57082392b870779e32ebb56ac9b8dee74a216a7b9ad62d3f07b96d823aab6e7c969f7f4e46ed1463d9a116321052ec325f87277463848d17b134c54bbcf638cbb5b3eeee3e4ad880357ac8db0597eaa8483c5a17779ec2e3768d7ebc75e09e7eeb38612eb72e0c309b04bc0eadc283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a9d32ff64a0c9564ffe5d8db708924075a8ef66d8a1fffcf5fdc99be2823cf7fd2157f2c3bf197f8d5cf0112905943d091497576dfe762d76c0fc90349172a5e91487965061efad909e98aa0dcbe1340d11de7e4449b4ad17cafe4748a93d8c3085390d852f2dec334254b7d736d5fea149243071422938acdf21d516ba598ede837fa1539e2295997aeb0455a63e2ce25e5438733f9e3e7b63ba4f14fcbb5750c5bad3c8535c3f09cb6cb7c945c717eb6f063a5928be0c818a99d35f052b2da5e5972feb33d29daea80ff7fef475b0aff812eb4195c3e44716388079a1ddcc8884b267e58298871a51c973162d87b925b68d816a151c2a65f7704d8cbf188a8617b721efaa04d2de39818cc1a0ceecd8a503a4c45b56c13cf0a3967618d27c132cb42c9706aa4c67dc3dc208b86041c70fdabc100e4273f5e5cd75c4c761edd242c1eec1c92fc67c66edb98bd1adff69d233cfffb49b4fcc39de8ab5c6f0304a54f353900cbe9dcd6150325b9fdcf4ce15f872647e2759579ec8e1ee886b9fab6023baa32fd6615c1e3fb78aa4b72ff32ca0f517578ff0b03f82ded1a66022304ce4140590d83a0461177b1b77455a41c8f890d28f815e729ed3b1600bf984a0799e6884bb99b35e752b9d24a86f4412b3177107d9bd76580abee974309cc56ddd15c4ff7021121318b811df3ad3043bcf93787f0ff858e0c8889339e3a553eafc02ddf2c339d4eb89e88067106417592b270b3313cbb6e30a8380f6c2cb9fd99f69a1ee4be835ca4753f1f96f0c3d5c52067955a45e22a37a7967080e6c626ed5bb2b655b05593e4a6bfee66143cb04b59782f1ed7c10ecbecfa205d0a823fa5932418b2bcf205911f492a01294aba3e57581d2325c4495dde5afaf6d9a71303a9c797ae325b58a3848b357a025f9b6315d4a163d261d90ca1964a1caceec55a6a111ddbffcd5fa44084125bf9dd450490d8cd69d24c1d850523e853a6f57b4267ae67e5c5a9f365509f8b34aaa6077741094abcaff68c325d40b42e23e6fa937730b2b342a55df10ac2db889926fa6b65a713e9b868d72f2d0465b2a25634c063b70917d8f00353a438e92414b9166fa91ee975e065a9a138f1c3c2386990fdd84765ca326c6dee60fdd12ff651dfebc8fef28fd2740628389990f693cc9eea0304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca14e814c610e977d68ea174d54e4a28c8579352010af7857008f0cc87122e93706af1c4c96190f91136f72eb0e33ded57abcc2adbf6896705e9a1f698d0a120c4bb050caabeccedea376a5a070eefd61497a3267e656753b505a97f7ac55375305b99a665c2bc526593b9e76b5648d3e892381e92a4dcd4f517d646675172033d0efc3b2ab80982f06a78767ca80c94ec78039f4f0d2f1b218dcb61d019eb4b0249f0ae92a74916c493fff2bc0aa3fa9869797d44640c2e39a8976e7b7b87ef942ba21f568b85a813458b091bbe5899973d71551eba54695fbadbf3792fea859279e5b97c1e3916138bbe692b707ca1ddf5c6ed3e6527accc9cc50e0837ddff430ad706212ab0fada5f53c2a0535b26389fd83ec5967e8dbc60c51ac8df834c412ac0db6e5dadab37073bbd9e7c662bed639509d7128fff69197fc74a41b45d232bf1218ba62a71e96152ed910a67e8bef3f43db6fda35cf0446cbbf3836cfce336a375032a2f5903fce5fe8a09b6f29175358c84be3db25d0097733edfb53fe215acb32fcf638889f52a06f760eca78544fa1a13623210a0a6cdaefecd62b87f8e0e95c486e21c8f3d3b7c4ee99fe773848f331dd77a09062b171aae20125c75114dd4a2d10f663e10456521675ef78aecd63e3f45636f04bca67f36d97dc0bf9e59f1a4777c39abfa1f6e167d44ddd3d295910c7054291b48bb6ae8453ff6e7b17e77f538bfef9c4ae96a0c6e8489cd7e99074ee8c84972148eb0e13ed4a92a2d77f9eeef5a4a231dc680efb6bbad648a18f4e734528f703d0c13f9cf0ea792cb4ceb1b50d2310d6e8604167feacb2e3f87eb991240e864fd6d3aa96313210a404b6a6ca8c3c2b705476cbbe46632425c8c8e80b5e9f2b8522867ddbb16303cc48ce158d9e7120df585c72fb47e7109301394960cd1a1a6ad23a49b9cc392bc297dba6fe5f8f077d3c74757b9cd0f31adf027e9909d6ef9ba5b3502a2ccb9d8c16d0cda2289b498799de1b416584faac51e2a06c51c66388a6d49c96448f125e0031fc1ebc7af1276fd6b3f7d121f2ddc1e0385cf23be0c8a70af02bb801855242603cd5847a878e6b9cb48f5fd8a9e9e75884d57d2f41ac856ea7b91adec2048be0fc13bbd1a52c837377957e3e785090304b526724223aa4f90e4fb296ade83d20b0d270728a2a71f0011e5247ee7fff38f6f9e413191f6b26ffe165e7e033d06d4fe6b4edc7e76b3eda87d043c560e94c7f64c49d03e72cc5e7233c367968ac0d4079d6f914d29c2d6299aa69f153d71061a917d37f10553c02b6a49b09008697e968fdcd11274de078e51f626b2a1f8d1ac621c0905e78b780170e06c8aab01be467f0913f90d8010e6e4830f52390a67886ddf0eb6880a80024d51939d8f2e790c3bbf574e444225a67fdaa64364fdc21e419d11c35a46377e208180bea6881cdab921a5a043c8eb0a072816313e34aa47387aea151a8316a93bb5cca7d783c68c0cce36e8ae5e41dcf36a23fe7ecf4a6a72a48a43d00acd77884c9428bafee24ca42f77b783cea9c8df0184136794e541bc787dc9800f7ace9df138d928fb7452de5704ca1b18693be547c067e2dab29a7bacf283a48ffe42feb305fe8dda01aa0c9f2d9c98c1dc623b56b9d3ba1ce1810a0dbcb12124dbe9ed9c88882f527a01f8703c5648e1cd06541c4fc5cac4f14263f53f56a5b17015529220bb98a4f012d51f44c1de457f62d130922177b514dff8111ce16d27b33a89cff99530fc7514bba441726cbc870e36fb4d0a13528bc31b59cadc1f1ce00d2887e5082d67457528865149b20db6c93a55a13a51d7869694979934085fdc57ebfc902576e28cb8331ce5588ee4ce08e55308431e2f083f130f76a88ed2919f7dd18757bfa4db0df9090d0e3e3e63d6b0fa83843e3d926d69c543e301777be462e9e9df1ac9e96cc07c77ecf1ec133d55981179a6e77f4052aa212b8663a4125a7f8c02b78f795432e7e742cd80013f82242aa9acbfd158c3b21c29f0f1ea81c545777228b487367dcd4d12d85efdfb2952fa0c57de478af7ef3e75923bdaf0f9fb5d6eb764864fff00beb9ba998e92daeb0be60c35cd6ab9a04b1392d2d9ea3c5d699ce462b90439921a12ec5b1eb3f9ed4dc947ec8f33c0e28f3f71b68df0768cc1cf177ef006b92004edc202713ce1a6b7c02f237343d5677ef4e08ee30da3b820f5d5be713db743d9a260a92439777f75ae84d0bb5374657e5d91497a79a20d554d480c51b88858ee0824af210df17a34391119b9037ccaaaa9b959a76f6b6fd7af6e06c9d1ff7eea6f9a5ecc2ef59119e3f1d94941480f955684a87b575983a801daacc9c1fd8578ffedce9b0cbc5f3a0b42e6251b42cd07dc6735cd71e2375418bdab6eb3df22fa90e05533eb868fd9aee0c716c1347514636f5a5cf190e542f15d4d408faa2d35857454337273dbb441214439b8a60de8a511bbdc35d28e1382be43d62c3dd8fd5af2932cfcd08c8cf55fccc0767164ded21e6444b842d315a6362062a86a32d4df6bd79358fa10209c126fc5d40daca8905e5b80be06920c140e237b7f07a6525b02df93958dcd498355f75cb7773b5f597329f08d75f7af5d7849a5067c6395c3be0f16c0f83b3fd6802f70a679b69880b501673c13c520a211af80f09706a5ce51795b7e7c37726222399e35b1754f578836380ea228386be05cd869654ecaccf5b111fab60f277e771b8c8fb514b728c5c62113733cf45911f53d8cc29e3b4166a488fe7a41d34366019d5fffa2c844ac125d4f56971701a2cbd733155f8c947ed7e9b488a924b5c8ab6e1a08d1131d8281df56d1b4af0471270e6c0fafc2b476cca55b978d044f3c92a748f9b507d7a6b8b210acea3520795eba147fb37785185d4c8e047d489cab41c9b9795e26e5f859c3be01b3c37672056b99bb90b79877c6a94b7245c39873daf0dcf53ba32d9a0dc17c8aae643a8f3871f6e186fb4ad20b31527be85a3456f0172b80c6b91687b479c3e769ac17c5b5919674ff4060bdada8b8929ade5e089a07001553990355fb30c240cb2d21caafd667557611a35290d2a75b5a7c9986a964b5e6ebcf8a09808ff750a8e71a22925b5891dface7b4b2ac1f71d1e74961f12650e69d4573b8f113bf6025db418a44a31235f3b4b2c850fc4d1aa2796529ad10c26ec966c8b93136e379158358a9b420ca8a53995d9e27f51b48df997bcb00c6de359ccd0ec1c2cc50fe4c9bd0612e18da9d88aa4675b75392829ca18314a903920ea117355fb667f39962fcf76199377f1960434b43048f20f8b3d9e0ff3a86487ccf98abe3dd1db81e7d0338e2ae1738d70da4da705fd44602245e46af083000429e1e64a35e7c9083c145e0ed0b30ce371e72e187de9020087526319ced657ea7276e3d1008085fbc4703252116fc93fcb86f88fb529e54f26bcb8b7a4c8ecd9920e96d7820baf43987d1bd18ccf730d966d027bc36f54910b9f0164611e4ec60271c30a7ab6ebe9d6199f9aec5a2a0dd2473ef49d59c60612baf409e234ba3b8c2f6ef2d7a8803c349645600f7bb857191a77b592d273f949a9d426b031f41a12bc35da300c6584e795198dd5467a4014f902be880f7ecee80cdc7f4b42b16684221fe2ce1d5f3fe7784465a7307afdbeb0d07e85613c81c71d04fac9186962873d1bded4e665a74d8bc51992981ddac1047fad7b79ad1a6572ebc4c92ff1c88c3ad187f66b787f1d9a22b9a22c8025b0563d7030c4a06906b59a8285c0957ba9d71bea9b07cd055b02d615be6514ed232ef9cef0d3372a9a094d76b8b7683449da65cff63661b5b0001f5d9137c0fbe83eff4723deba3e2844579f5aacc2b5becb3320c8b95bb826479dc23790667ad3015e6002088e77420903b08ff8a06cd7b5a440d1eff605c418d0048c6a066bdc1f67bac799dde49298a8fefde8778cd1a1a885314d0c0f03c9073f918e71227da94530e9289c853cd99b7c542755631013c68207a7a8f78bc8006f45d3a757714c833481da876a3424fac56b4baca2bdad1a50841bdeb9747a1e242206f0422f89780b7d498683982e464e7e693d845421e20ea398b2b5a540f755089730592c32bb69529de79a9209af534a88611063bdb2d6617471e32c5bed13b1967221ee0422a573dbcd83826d0892626b5cfb29ca6b192a27eaa285632fa6a6b99bfa22159784a2aca6d82625f336a0087277b54bc760c38de25da5fd7a23d232f644d38355c4922a49fe89509d5fedc69986527d0af1b48c1e7bc4d5fab8b7e089705b7218af67d2b79f6001cf2cf2331b4dab249b416a8db21f13e97e1e96b6b86e52cc88405958ab7bd3cf795951b0e6128d001a53e78f928684f9920a96a624376e3d95c5166c6be756a6d076d10219284c2e39b3abcd2203ac9751e97a6a84808c8fd9c3c1d3a41e988adf136e0d657115e307f852d039a4ca3f80966220747908729b0981921d3ae91c6367e90e66c51b395a4673ce8eb78fd1d877c195811f8dca03d4cb4b5c9354e1e27749701947e38500a8d0182722a151caecc4799e5082ee30ae1b91c5c3f121852532d30656fefbbe33fbd27bd45dae4e72571e9eae3be5e53f2b83cfb0b54080d88c3c9b49d9152f549ae862c70bb9b03fccaa74709f14e0a279b226c7b419cda89fedbfee0b2d910272dcb5e60ee8632bce55f525100a9075516ec994bdea760bb302e24325f8b0b40a365d422041bda61fdbf1bfa58bbbd73758601a8b56498965927384f2a35d4795c31569167a1414e990827f17bb7b7827b5d6c596eea120db448a7547db846250e4a94d186ca234212d395446bb832732842bb258e4ddc96bf15f55f98a74dc7cdc821d1903ecf2dda2e3fc12bc4d943ffd91ffbee0066b359fd77b5840e81c71ca464355c17f7d5ae54fa30f5894c4c184c43e532c25db794d1bb3bcc3a11832d80c7e5bf77f5b64fa4e26ac03ea30aa361dac76ba4e323f2158ed41bfde84bc8c9b76f8de458650f14f0dcdadd7b08ecb5d2c02c7c701175859ffdef9a23a4dfb0dcac9f891112ff85a50a29411ce48605bd55dec4bc5a5495424e1b3b0dc141b0a9cce5e33d6ed77f4692d7a6e81d250abe1d7bea121a3a352bf954c3b034a748093404c6dab949b8ae36f5a552111a2320107bc87433166f15f58aa59d0272761e2aacb7b04a064b4decf3849c0754356268bbec9a7c06f9f102ff75d930cd3d7825b791acd4e9dccfa26ef5331d9d351ea40bb6741ee84854a86bd39ac6745823185d524e4f07cdbb147e0f418203dc21ddf68ccc1a6b206fcd70003596f6341f3d24e858d0607b95b3a48cac3a4280eefea325840c90647480f8f19fc444c62ef402ba6062bb7d93e1b6b67dc72d3e2c6b4f0af5f8ec622f112e38b3edd95404f28433bf7b170b776c8e8e7cc60000bf78553a195359b730fcdc3776cfac2cf78e5b75739ae5ac8f4235d7f38924bf1d399c9a5900bb3f1ef3304e39e1c6decd8ce8493635525136703794f5ff9fe70da168bdc60d5a7517f07b271ed2b96ab668e192ed2ec5b9371741d88dafc8ae1013d5216fce5464065f90d0a3090d2f498f92fc4633f42defab3a22b3de8f140971f276fca1b809836308bbd55c2f714f0f485ed37197b4db8c34606f44493bafbf61866db3582d6be9b038b45d93b9f6e0e92617affae2241a41477147663d4c44f36a7b8bf6736e02beac0fdf75c35366e020f1471d7e9f5f8a4feb2bec9dc7f893252d473815ad656dcf7ca9d70f4042c3c1708551f60c8c708df4d088f67cba927e76a0a05e8bddd955a868278c2c5df0dae85e30f1e6f99f1c4f4f07f80e8e86f8726ef4b8c7edaf15d45227b45079435331054c092725d185b6a8e263ea92ca293e6e032202c86bea988ec012850f4c204d0d61fad87fd9f3b906c67573b24e145c084e516fa5d2700ac25e0a546d1bbf2a7378d76ab35c40836e0bd48267fe781ea2ca1a660dd3aa394f14c67f168f32d413190a2620ad7cd4ed64c989e52cdfe99936cd76e62d8c4a6026ecac84bb315248fc018e2235988d0d3fbf314a5920bcc1d858bdc6aacd90362689197c719211212881d5bd7278a403f3581687e55b7cad51bf2ae9005a515e2da810520fb89e91327ab0178b21cac8ec1a7fcc097ac5454ade0b8c876eefac5a860689c49c8ff8a9584fcce29b35db187fd4ef4c2fae62fec5c175f2961b37c9b7e81b55c713543fd475b44a771e2ec53537b7528c7ab95335835749245e4a70da6445a052fa9ecc0a3f33f2a96bbe0c76beadae911a7f7ea7a727008bc548e76786337bd5d60055a76b3abe5869e19ce994c4bbeb812f044b0021428820ae64fbcc74f25461eb38ce6afae9d5791f31099fa39a2ce6352e3b5ac02a1167aa40a51035160bd46cb051c664fb30279bf8de17e2775049a00ab1f7e978ef157ed9220b9ef5718f783a2048a60890bf3c88ca42deb63aba4fe665837c99f565762cd6f1afdd9196946fbd8c942ce9bd780ba07d8c0930fb0c9e0bef5a61d274b98318fb2365020a7fd15a03965bdc69c08392b2abb139b513c06ad60b600bfc654880a92c6ad43839e6fcef85d2c1f45f873b7edbfa84146b26cebee5b19cb49d4a61d46fe8b97c1eb23ecec79c4e00f56ea20dd21f46330f7a2aec28d866bd2dcc065a83d25ff63cf541dcb716621b21ea09b85cddf5bc6b45a9b6e0757decf70bd6238796019a41898538a5ae79667ca78e062d665ccb0219ee54ea4d44392dac6857779531d1e2c4fbeb0dc5748190f0cf87aa6798d4e1829265f76c35f2120201babda7801a8ca446c1125079da9a0d2813a1e104617a4fefb941b49b7049cca0a07eb212b60a4e61a33aa561f5531a59704aae786948092be230ccd677f4645cc2e06eb227ec2f3449b598a300921bf9d3301e35f2279fc26051884ae92e0231fa9a908d00708592ef5e293ff320e00f9cccf3206a71fa449059d2790b7da1961b0e96164135ec2564c9270cafe5ad294c08f57c8913eaeac78b9fff0240db478b7b931d4e6c4a516b01ee67f8c946b61e80e8ab1b88ae8c4d7229d22c7163a10f099fecf2618d5096a4d426d2455ad41250116df45555dc6b6ebe1e93f6ce2051956b45d01280099f1b6bdf9265f4b3012357033946870d2df6a0d3c6e93b0a4d072f74f4dc3a25daeb1fcfec05edeb233d0179cec35076dacd77ff030da3b226e96d6cda9e6f22c9e8349b7ab585f5a01a65b9dcced7c724600c6d23acfa486960552fa52a441f0acaf4b5e0b5a45598fb23d4182ecb1489db6d5f2ff3fb0058e686c6ebc7909e0e77937df5355e6a571fa43186964530f09bf0285429da6baee08615198794453502c14d3c137b03a75f7c12b166664385852c02a9bfe72a3c50ff36294439650932f62bd1f1eff52852f38d8e70921b19e3e4b9b099221dedde25fe4add526efc3b52a01c8a9010dd0b02e47ea7bba831b5f4f1b80c2a31c5e51a5ea0f58fa42e5bfbe54e92f2a3c0ba115ad2fb147d4d9292b8f437d1d64a2d8856277a795c7c0d1b33fbf424f3c658161cc233ef9299188df7f35b67083b90bac03cef27c9fc639dcae4d6c42f66dd1d5a1b4c044d913fa8b7ba2c8da751dc92e4520735fbb1d95fd0494887165fd42ac0c63f6e88afb0a013f5e8d37401ee9316523dc135da788386e0e05a04b99ca1cabc537911b4a2f1465180a09a5be6caf84ff0dc3121745ca2b8297173be94a965a8ea164240b0db7416eaeb421c912a7da3c93abd261799a617536cb8c0b2ad0c155cb5d5e6b91bf4a5c808167347ca815f8a60f2ef6a1cf4d737c5694c9c0858545c175b590eb6f1d857fb82c469289eee59b4b017ae027c672cefb92dcc717564b6a73e673af6cd1d85a9fd62597c5a206ec31e2dfba68f3249bceec53563e53b202f9094e2882dca42aad3710ab74e461e0678a45885e96f82fec9ee6dbddc89ea0a6cad54e9b76ada9e7f19429b2274947e9b5c39557319862afaa92c86f8dbcd7797c81c005dbcadcf653a0a0462112d748e83c000abfceee1ce2cee9fe3b8f7cebf502e955508537e43ecae7604df09198438f967ae2918455573fd7df87c41283192efe4303ba7127beaeb5ff7d85f765c70812b5d3414830494de14433f07091b2bbe87f3e0f15eaec23387b2889450d511d76b7c19208bdfe4d8ccea07053e3b591fe71c1220b8c56b023db0e15582a56813c8a4c55029876909433e679e3e1cfa77d0248b4c37aec08c35caede43130d5fb21547d756a08627b1fd5e9e99f265166200ea300dcba52ac6739bd944efcd5b501c95e1c265d1c6afecc54620d35bba37c0f31112f73923ba73fb7fc03720bc8eb05261b9dc0c7a11cb42819c66290b30ac5f8a3bc512a5fa125f86cdc9bb11d85e5807216bd7f1a9a3d30103ff82327ad0db4fad551e1c08912e7254c9e1b58f53f259b88698696168eb406358272e39f62db25494184a7989440a16cf7fb2fbba73346b44e2bd780cd4768635968b4f7725bcd0ee162f6114a3bb242fde21f4b3c2c95cfe16036c8bee484f3fd366b7143c58526dfbb668d4905b99998ac40f95a0cc7061697d92963bac3c40b2d90b3464da78f7510058dd67462c8a7db13b448a6df5d30f3590af243e45630daeab41b38d2f94265802e90ac9ae32ec2908396af741ed0012da38b06bf70f9aa1fff29c849ad5755491b6c3ea4d79637de91c3aef4b9533156f04a752d6beb7b9b6a11921476ad96b41fca264eeeb4f327def25e1f5b449f97228ec59be6c032bcafc2aaf40ee478bd8f3502a19fee1cb1a0da47298b93f7ac8a889613522c4b2f029865a45d6cbec69fecddb5420dbf2dc65c7f90b6d9c6c370c29b74d72b97cf743457eb46731b14cfa4e37325626c99a9b7614788a7733983438e31226dd10525e235a6c4c6d6f81925e5ba4a90a8c2191852bdd8e0eb4c1888af205a7b64e84434ea07d0899e3335314e12e55c01156d296261506684e85eb835a54eebb7017d3c2158adc1c1891939657753578e3e53b0f4545d885ee9a695185e86331a818f87b6e0a2f7d1198a331f5150e620b05a32def018d8943d8a9b4582b9eb2190495871ab7296db8d133e25c78798f1674d3504e20f84e495573bdc39672b91fa021b8ea014a27f64ad7f86f4cd98de45931121d227dfddeda6750c610be0f4a7031abfa48674b962fe49fc135851d0bbdfeaa908a645dfeb8eee7dbaea6dcfa8170fd25946afb0c018c891114c000be2c3fbcc55a132c86d9a50f5da63e523c1a56e513dd385b4cc4b7b7b3cf7397f2c4f56fead9be83b962f52fb8694667889108da7ac9a2cd2b75873fd99ea560ad9e8ed80f81eb689e18b5aee8f5945c6af881d695ecb2ad7b22a805d8a8554f44cf0cd9d951d0bccd572a2486cd6f8b670c14ca723257ff7c012cc8a468624de2fbaa6b7a9830f7982d37fc37cfc794b142c568a4c9b67ec072a5b7d618f2fda41b64ec67eb00db277f6e28ea4bc83c44353e5f7178d789fa5974f3d4abad2ad07de9cfc77b1a27f7959a96cecfc7ed08d290550559285c4b3d677d14fc6d2c04cab04dfbfaa96b3977ba48677f8744c4c2c67ffca736df20bcf4c58437ef2a3b896b6cb96536428d913ec0805dd997fea277d8b554a55d6be764de191c602bf1a077896b28b460b849b08ed27d323f6628c3f192b9e6c4de77f240be0ac6584c0d7cab370d2691fa871c20077ffcb86d2d32b0c40e74371516cf32eff0002379cf9c0502a435ec6ce552d55d00627a32d0b6e2a4fc987a87df6581ace2cd79155377dcad58b902fb2f35f563732029f5ee61c237bcf8a68eccaf5d98af7ff2c96b67870df96551f400d3f7fe77e5c99bd22f435d3a120e884c4c71b6e1c9e41ebcc663f4ea51578dfb8a2a4a8f2991d247ff814d83a5682906e4db1932226838f619b0ab7ea2e7b8f16131cc4a51e81f9d38824fa2f4d2ea38c68e533bb91b958fe0705892abb778bc69aec7e649d2337b014986e3b98a5f1c29d43f9a3ea9980f4f8a4317928ffc9e8f4b4d952eab1faad261b05609dd0bb6e71ee80624911dfb2e5990b0b0e1413722914123ddffc0f37ebb1bdce8e4da18b1ecda253d48860683fde17ec9a979b31c031a2f6a057027260913f5c095e9a87c35969700deaecaaf04ada74fc8d664cd482fbf84b049bdbd340d286be06989294cad991d683d61128f0870f5e7f3f205337e757c406d6e02b966b306053f869b6e6c211cbad32d3d61f9984d1c76bff9feefbfab0427051690590ffbd4d96920192a4e0000464e45b500f9a5ffc91d8bdd359058c27297c30070605f1b2941f83ea96e70fcab1eb9b6626d1eb1ca657afa82b36d5add1c70bd831877fa6862c312be4785ecfd2119af9aa07157fa66efb01e94fa72838e793bf44dbcf322e0e50999fee050a72f8e7b7a77ce4fa5d66fc6ef17bb0016aa5150b7363fe624f69cb287e7df59221e42e8bc1c384df3400bd77b4a48e8bad595a427fdea22be2b9b7eab6cdb0de4f1eee391c9a0971a9a6d1048256bdbb0be123802ec62d90aac0e135f13af8ce950fe197679879dbb3354c38233cf65d68b8e16d2b16b0f2dca54d5521eb287028b7a2b7d63e20a010a6bc57743ef7c7502944f194621ecff4a88e3477122bb53f0c974663bfd52412ceaa6df0b28a142aa32f951de70ea3bc9f447e7e138210a47fd863ed35470d51b0343307890f52305c6e702e7c9e5d3e984fedcb0c9e3d55115ecc8613d5d54b441d596ddc58a9d098f9475111fe8598569d0ee88dd375e755ce94a826ffd5433cb844167f9617ceb47311b4979890651b46e52cf64bc013622300d10ca87c6d3eb8689229d2ad4289c89a7a46bdabd143d92307b6a017395780d42fdd3971619071db9df76e22f71db0f6f05fa73ced52d3d358b0138770c7b0a7bf8d3ef1cb5037444f62efca5f2528889c6ffd941e909e5dad5b0596f19cf43380a6f8c0c52539e9563f56c019643b9ed76d918dfa071f412b9d029d08dc690b427e35a1123f8d1df0d0581a478b7f13a46e07efa88ae6b8a310da726a51ec2cb5649de23a09c433f0e08d7f8bede4088b9657d2bab08469c65dc0ff8c42701f4d8e0f697d1684e6cb17de0df71539b94a8a8277c0179d7780ff848415e4e68db10908f942a0596ff740dbf239bba092511cf74d4eff6fbbd6234a2d1caef1d140f69bcec8c24970c7e4a8206c307424e9a272c6cf7135d8016f162c790f1dd1375685d8ec79f4016953beec68f543bf9c5af8b9d7d6ea2bcfe8b64c82021c826cb046b063dd40a8f78801969abdecbfe3820f434d216e5be3084b8c7b2484e619954910dd90aa4ad77f2f831f006dfbcfa489fc18ca877200681954ad0898d52069b433a6430a77eb69da58e5ab55ae5367f9fad7b66f58e99575e510a4ee79355bced41d1e7a8ee7f239868fd73964f3ce8a18fe8ca356a6611c2a39c8b4d160bda981f1aa3c36f71405ea032ea82309ca06ffc90a65a75376e807c559491ff3b28dee23f5b5d33da9406feec0ac911fa719f861d35ca9bf027f6bcb422654176c29fa63697b9a04bc1f500b6f9c9cbd393c317649f845223da8eef6535447d67491747eff0630e947a4bf704735370948b7ab06abc56cfafa348153a2aaf83451813c4e0de88aae4bb114f2e72ae97059af6ca2b66ea043c786ac4f7a780db0ffba6434c7dceaf8b550f9c821257a01e446e1825fd808a5ff296b74b3d2b1c353ea40d7350b6c4bfa545ca1464f8d75a0d7b7d6435c4ec813559866798f9b1f9132d3d9c920768503e3f4b57e5ac9afe54265cadd447d51086cd19932b7cd8be00b1fd518c2f5acce72522d827411a07f2a1d18273675fb0a212ff593e303f118789184c1b4dc23b2a1198fc82ae3061dd5a88c071773ae4db87e10ccefacf485ee7a8429d3bfc01c7a403f844db9ece89f00676d21f88c2a5701c3aa34673378330e7478d3265deacaa5a7a8656b67b713002515e76b86996318682e593c5d15cdcc3f6824113c8475f161e57e2484e5b275e87167394efb49cebea2d2afa0e6ccfddd4c4b6766cd89bfd2241f3752a468ab0b83913a9135e35157d95711446b6353cba78a04dd8dbc9b9c60df75431974e69d7ce460f6da09d6b57d66c58cf06012c5d0e48ade7fcc382739f3377c70978da8f0b45faf73d2716519b873db03344b1aca62b39cb13718ee220a3ec5b30d0ea641d6909069b396771c3e09cdc366f820402fdee187529f7323016e7691af51ba93d7f78fbf0df6ba3b1e581c8da7e88deea8bd99aa715b2ce3c8c7a4468d27693bb0e18e4fc20603435c7925c292f9e999d71f4943024bd5197bed38223bda40e08cc81053e46ee7e1486e88954bdd605ee5b05e44f752665e68cb8c3557791e59ae442924423f081446ece2a1fba101b5f5e96501f018515525682e97c190f0b9c49c418392fbd066629df818f6ff492aa334ba6b04205b4f70d89409b3400ebd38987cb58ae4cbad994790f5bed1fa245f051e5ada1435f41851a2c669cabe24c127426df074d47795c8a34cbcd4e1043e61bc08f9703641f9d89f5e05fcd4ec83247715c8b00d579203ecfdf53a0b498e9775314d45c637c3659ded102ca3eb10ab0f3e77373965c1b2974d57803feb6e145018bf7079d433201c4f369f61fb3fa5c4e2cf51cb23c09ebb5699135fa7790286083fa2764fcf556f1a7647c5840204bc3a8519bcd572f14f03f89d7783e1e5f482a9dcfb4e80dde8b805130671b1f71aaf581100635d65873ae70940fd1bcb2fef4aea2d41f8e917ec013f9a971d05b0e85609facd9d096a9387cdd690c40aec1837f9603d93002ac6385dd20f9791829c41a8cb64fe869d250fae279d8f96b943e9905622508c4f4157d712b16fde80f4ec68b28b0cb05601ec0d5ff1ea0052386d1284cc460c9f859bc0929e647a0657351fc405a2dbaab8eb95d763bed869133ff39d9097e5658f86cd469b26f92d10c3c3cdb0ac80b541851e4849da5b19502f81f0cc666a9785d036a2cae076793313252b4c4a6f1e71f93a66a810734c1cc5a310c4a6a560550a5fa48ad6f41000cf0fd8f32811ef83dd184f38b9bca1ea6ab1b336131bbdaab74056532e97d9335a7b8e19dcaf47b6bce6e032da0dc2544539758bd468dd99f652111fbe219a02aaa87c724bfe86e32e07cab719f80b334e48c319ea5ac7ce1aec5c7ba925a35f3ec6163fc81f4fc2c0700d62d036a5e326f8abca24d1375b41cb51403d568a00f87fe7e83d44c2217e155a0fec957d067f2ebe5142aaffdcd3ac0fec7e82d2b9c590d5a91c9459022d9a4d6d30be1ec7955a57dd3a94ca0bd087c21527f1617f43db5079f2da72956a8e32921a9eceb2a23e1d5c211c0fe23a117390e5434e724cfa9e2cba17bdca7aa69a3a6834811d760f9f82575596e427dda18bf9ca86885d39e4b7c8305c0506189c9e27e429f0df831f92cf1fe277936cdf41c09bef935d231d1e96a691a0709ebfc6fec544c81b29e183b4351f895724a3aed7d9cf620b55907938f085276a8f6e144ac596e828fa84ac32e0829cc3370fafeb49a546764ef9b82b1add3f9225335451ee6ee9360f244c74f7a0ca80e9d01361ed250af89635ecf512f2a00bef59235c5a7854c1c0861c3e04c6d1916bc74d7486f609fe5c351856ea479d15abfc3880efb7870a5009f2741534ce354228ee45586a12a37a9997e798bd0ac26618fb5fff65e11b0fd460192fe4377cd5215d4ed0f2539b213b3eddaac2e70adde00756cf3a42851b49d05cd2d9d80c4505d2135680639d7a49d62fecccc2ef0529b37fee583ddefc71474b958dd03d76f492dbfb67fb053ceef9d5d81071971a661efa8cdc7605d9fc0435d07ffde54052780743504c7e81fd86445ef5e354716c382c9bf650891f0275005487898306a43d6acb7a76ee06581b40a9a6bb5f4be1c55e03774f06b661f2f3000ea498031e392240a38ff87f04af3229836e482ec33739af6039d7623abe880b2b987ecc53b35ca6bd13413263e0ae646d3cdec694eb92a234b16932f9b2a8731520624069de5c5dd080aab53ab45faf63445775fbcd689da6af1b45376b54de17551d3cb28a86e89eb1ddd58cff87d637c527155917cdae46bf5e22b4ad0dca77afab3feeda36b374475278a6c89f641af23ce98895df0b6122c39894668a938bec89d9bf85224a1fce8f76ec902d278781f392eac98e2e59e471a049d0e0cecce3d5cd6b0d99e0fa9fda0352013f63d57e38b7d7788ebfcbccedae3b0480974b5216113dbbb8815d40b1203e970a321a6de65a1ca2b896f7d71d6084ac2a6172c70ba5354757f19c4b7dce76c9313b89f758249393d7f0f2cd80baa66b2cee1a26e5a85a080bae292014bd4463b39a89bb7f841d502656c1f9d3d923b9681e4f72fcd8bdefe5af34dc6a2551100516702d6be5e3beebec4e5b3acd53da8410d9e10e9fa641f50884d7d8d0859cc87aa03f7b4c1f8bc6ddcbe14f4315d55b98441df66f505b298f3f45d00e96514be001af653b2504cd59a89ee5adc3b72dd6709c8a2223901598217272f5595151397eeb93c318e982f240bcc012c49baf0f4a390da2ee3215207cab76341f3c2cf8b45c8ef8c825fa8b505d7883de5ecbd4307d7ce37e875e113911d16d5162adb4836f814c5b68a79764ad70dff8e8af81c8392dfc92a9980290e70e8c3c40718b602111bfa5bd846936fbc0f4d39d7aa9996525b91f26322df3b230632cbfecb89533d595da674a1b2568439c8bc6b92e14fe438a0934da36eb3d2517f5aabfe00c0e7449a9e903d660159aa3a30ac77cdc360fd7efac4b415c0859c9b01ca55a06cdd9f198612f3b7dd45573cd1d6e4c042769e9bbe27da474283d911cffe6c3f05a9bf100c7cde189823ae66f510e2e86349f01247d97c59f868829dc87def01a35abd70bf3a2fd7c003aa9711a157732f8426154c9dce66d294a5148e7f3b061c5702b4de2daf52e82d3b941fb5045bb35a9bb521ca5ee2bf41beed5bc72ba992899782f672955cc8e580272b8b0b034b5e850f2a07540de32010b7aa859e83e16983cc13896760b5f3725833bcf97e685804d229d6183660917e050e2277328d26f206879e04700ad8b38ccba9fa7a0b95510f3e367be6d00e5e767fedc23dd93e60f095fccbf013c2f81164f228808d774d0ddcdbf136f3cf3c59833953b5621cce64645ce60fc71fe2f8fd618b917942a4be91ba4d26a29eaf98e317b8b0a84dccc9d22681c157c8fce3a70fb389d40918425b6a747176b285135c3746f9a1acc3e9c9e61db8db5c2e4171009255fbbaf1d0f34024518518e3935a48f94d56bf769edca13f4dacac8b9e533ce5d6d6adf6936dff2773fb4d9813a345482fc91718c9f79d964b986e8f56a9a4dfccdf3396de0bc6b23dddc50589119cd73591f154a32438337c80e1f810c4ab59f2f09a6d1b30d37652119ac01173bcbeae5146181010bfd03d850791c0e4687265c62616d61b2dd307777a8a15b6212e3435cee59739f8f063a706fbcf8ab9df04181b62e55c01531caf6d5e5cf870d622c82ecda0c6020ffbc2ecfe16efa6e501dfc859719f8740aa41c6f1bac0596eef783c2316dec8b257b5f110961d0c72067235722c32912183d90e8b2644d8ef0b726f53dccee15c2cb8444e117fe07744234bcb996775180b304319c52f7d494ad175d62dcd6586bdb55158934a83baa32383935ef88c7ade4cbed1204c3261b52df83c0560e81499d6152b45fca2d1800318f7ef8c018d1aa104d834fdea51b427967db92843d7d7a978cb4101a42f2d423d1fc81e76c80e5cc1c6fc739fa24824cf1955b690369285c48b9e049fa879597d1952e6258f2cf4bfb39ea5ee494d1675d2cf17f4a34c9f697d06f8a49e1cbb224e2e1b2812fc81b73ca0fc33023ba1eaf6f8baabe7554c077ead648261a39f97fd1d5b20c382ad4e025a7a202099b34ba6f7aa87aba6b59ae00cc353f35fcb249c8cac1502921e8d6f23dbd44ab6159927833bfe43c4247dd07f534f7ebbbc824068b2835e970ded2b6fc1cd370da90af6804c542785f9e02781e1990dbe0b44074948b145a43063f7674b81d6d4558b0ebb6ddeb6da3f39192940df63b2e13f5b94ef55752e292e908c3de5e8a7943a738730b93200c2763678146ccff879808c2f67fda7cc6254a2dc2456cef838d922a2c825ce6c5fc34e6bda8625c811f3ed9d21178ca245e41c88167dca2893fa23419e9129f81bbbd3cb470453393062aca7d9fda077134859d32836e53e1e0d33342d888f39af58b790b5cf0c4c7bada5d20e0c9770a421c07ce951b5be103a8a79bebc34ec0357c5c0f712eecaa1053ba92b35bc1cfb634e893b640e6c4be1051325bcbfddd52abddb56d188f76f015a4f34aeb43d64b4f2b1819052ac38a337081ed66ff7ba648b510bb6503f357a607174131f061138637b36b8064b832cd84015b316b83339d811fdb47a74d7584f4d9d8508c5a61e3fd47c6a52beccfbca41e5842f95460e48395c07076ea4455c58dd460fb7d6afb552af6928cb8117299fd2e1d83de4317bce0c078cf905b8efbf7bb9aa278bc022fd9acc06b2a83e00a7b5ebe2d4ba08765f61c73bfdb12bbfd043fd637600f63baf3e62afccdc13c03bb72bf86babdc79cb51c9ccdb4d6140ec0c818d306e8a67ec06fb5c7381caf30bae5c6e0ae79198018bd8e507baa3fb79c917b31da582fdb78496fbccf094fbf8a8614930d6e3afff7800dbdd658716e147528b5ffcfa8524ac2b33f113da53397c59ee11c813eda424a7fe5d1c4933b0c000de13bbd1b7bd5006f06a1a329527bb1cf2a9ee1e8b95e822383840af44eb16cdf22e3221fbee3a9f6ef7fb734a7af1981f8cb1e475b9f54c050ede175147180e901abe3187977eb9a1570f66fff4997bfecf1f2d29f96fc37e7534f4ea350e54060509978e929b14c5e752ccf965612fac89e1b5520f66bca0ba877a656b374ae770cf677ea0fbef50f65d72a31f8c8b600445df86562d34ff26b36b8a70d3456cf5b7acf9e5f71addc13d8b7f0e2dd0f030aada2c373636a309a61272f6b7f0a41ec72e9c4fcef8faef89447f7c0debba019e28e2c463593bfe49a052f33aa97ac7f1fe4520e8e47fe0ed00d3c528e509427cac5705b34de704b750fa1f4c639315d7ad36d63915f93ddeadb96a274099853e4c93a41ebccb100792355ff1de105251744c2f51a2416f08481c715c00c732669598e0b4fbf92a15e50e21aabd8b3739fb4bd25f5cf19980f097543b7d77a17a2b226a33b45d1c96a7da8ce20e92e15c396655b459d366720e06007029910d483e7c38231a0dd2649ba24d13122ba518ad4c1b248dc4c5d10695f0f5c77a3cc148a4c447628968bf029fbbd083a5854848d7b52e8cf3d982a79b062306d1c3c27c417da1c8e6e416a89a012a1ba1768e90be20081513654189e67767f357db99aaa908983595bdda944dcd8714c074b0cb013e68b47e917accbbfc101a517eb8ba168f6b66c9ccf63dd098fd3dc08511ee24301059dea1cd3634f85d636c90bcaff82ffd1d26d084ffadad4bdf3adf806ba21adfca319d20a308ac216322b87b2eac3b47a1b0ddec930a30b5e68e99f6e5c4cb6de2f6433c380570ad63363139e6a18a8dbd5bffa13a363f499a4ce739b96b3ee70d292a3035219a321707e0eb57279460220b2e992b8344ee7e18e0552d0bcf5e56e6443c3c384341503aeb094f52de3806661dfae021faeb7987c83f7261c178b7e576b70fc9ed839d218c2491c1f67a5a70c2a930efccff907464f54c2e1ed3ab5ff2756bf689ef9e865afb189286a3533e8c130647c78beb08f5668961be16873ac1709a722a4c62820bcb07fb95e2b9de227c8dc1bed4d91dbb9c678edd4121a5c15a184fa90737d4462fa7037b2504971cd3df0968de2926a06234030886f6eb867a0eb55ff6471674254ea99a0a3564fa43050e79dff629fb021d2f2bd666ce2a266c9f7bf0e01479b8fb3f15475d6114e333696856bebea1eb1a42c107835cedcfe1e6319f787eea8349d41643f93183aa97017a2dee9c322debea795682976845af3c3bfcef97a964d567b69b7f42dc135b304731876bb89629462a4919ea8adad562d70d2430e9b8d031c546f4e623915bb6a4f95a78c83665b6d3f9db1768a5702e2c38a378aaf5cba6efd92592b11505a6041b1382222f3f77a6310cb1fd223d205335777e0eb30954799feffe23d157e0952b161f892a511cbfada18366813a6d218e0803e0a4d70ff1bb3a00564eb708423e1be32656cbf97b51889379b7d304e17af41ae63d3b7e39fa47af843262dbf8478bbf67166c6654f5daa126984aa7397e84539f4f83f5e1a25e7028fc63f1fcf883be7b62192d1ff4ed4febfc1b6883c315e449474abec1dbee53d9f20350fac32a6b3764e8e3eab368edaa6ff4cb55af68fb58541dad8dc6606b620703b4f4d992a3ce350733115edcdd1dd2a7ad317cce76adfcaf31564e6c7c13e089b1101faa1b2250f4fb4352781e13de82b1936d60739944a870d223b89eeab2711b958dc81ac4cab1f21116e1c393b5678e592ffe9ff5cac1569c9a727c449edb0511909e4e85495e3fb502876434ef196f229e543773fdc5410e5157068d9f76502ff7af4b2cb4c1fe522738391258776af0e2fd44c514e83cf4a0c3e80ec12ea38ef8b9306d291dbbd565ddc11b3cad32106d58e13d50026c3302308e7e5aac4958d319bd4e23ad42cc62a7c3d15073819337ac5dfacc5e645389492fc4254ac205f3cb7316229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc83c7c344d6d5b79b3974557ab74443e6819c5ee38a767b77609b13d8858f87e31238195854fc2a12bfe23e24fab25afe6b78a87adf24ea1eff4fd7927d6078e6bc79a483bf72cb0d6e7a4381186da24f2f67f0157e8fa4e123765c44507e21e887b1ae46071a6fb8c3ac33129dec890b5ed483b30c0ed9804350be1d0ca7d916ae84dd18db99795d99fde74669da657837d4e08b8d52d0b35f4d5bf6c6a989dc48f016b04d4b9f10c52c765521574e3558782c5bc70956de1b3f1d2842e18750551a4b8585a4f14b091bc6738a7833f9d5941c84c07d92067f970159f8e211e7476109a7c0581b0ef15c2c4eac8d24ff1e73063117eb6e19a2563c9f857ee2ffa41e77d5d3c6b56811f798e6c5ac6bdd486605ae20cbe0e4423234dcd1cd6496b9d7b64156e6f70945c2cda54a0d14ca3570545ede98637656ea2e1ecd6ca91ac51a4b8585a4f14b091bc6738a7833f9d5941c84c07d92067f970159f8e211e74a0700ce2858dccd2bace0183aa1e2c0deee6d7c25c95696cd89a2ec7850a9582f38ca427efa8cfdca3e8cee74303d0467c03634adfc0e3f3b816cfc935eee7162496d6aa3d5128f001a0f66003f7efb7f08642bd5605da06f2aed7f148104ff3025a69cb1755071fbb93014013043229be87a15aac12bf2463dd0f4afacabd2fae4556064bcb7d0cb56900e9a6d7d7144d41a1fc1d6b58a0862f69e852882aee64e8118dbdf54ca0f7a5c90a7241d62ba43aee738dd3375dc43ac54003279e2872f3f9ce61906e22636b7a3c6a3d03d3d003688f1660de8bf707e851a0ff35fa0134ff13915af7911e217df8f158b6d51f16aa58a2bf30e3ea1327eb0eb0ca96c1d9ace1006afa7d4f61f8beda47c6767dbfac83301ef35253357e4d31074db648e6454c6ad75cf722cd50c61a77e1f87b574e3f3a1e1a52a7ea98baded657532f69bc22a77ee348344b63fa9e91d18e910f2a373d77a0737dec0775ebe75b6b3bcac538d01e4e2d00cec614355b5b4d0721b79d3ffc7e6110eada25350ff7f3c6b6f578c03bea021e5b661c9391fa43d896ac1545245fcc4c600752b868d065021e2bba9b88fcb9454625d8ec6e679cc070cd71e0ecc495b63143c7fc87b8521aeb56c64b80de19581b01ca7de3c86463e0645af7652a0806aa9135a93377be81399993bf40907e40c71ea13603078a7b3f3131b0202de6cd05f9617f09d94d048316b384f16885e29e1194853334b6f38851c85974bc8c741a5f0f4a7dc5fe4f61a8d4e6e5753f5414eac408e6ffc6883802267ead5c2da23f61f5c630dae7d642f274977a1e503c9c7364ffdd20af312d8a324d8a787dc747bee680e74ae699bc05c4cb4f6ed5c7d367a513dc3b65867c1e43aeb3a05e5dd7da704f5f387e7d91bad4c9357c69e64db0cd3e8b32eb084e552ad08ec1091c7354fb9b93bc92b70a297c9a7dac96decc4c57aeec189d50df0e79dd67ce2b94484c6a378069cf7e52eea18de2b9fecfd778181de74e0ff51f8c4983b1350a0161cb9b01edefdd267783b20b9da36e55588d28456a8684f354cf12b1f597d1fe471398a72bbc9a2e13df6798a6cc58e84141a56c0a4459c89a659ddbac83202a1fc372b1c71a5afdead04fd8301dc9b65aa11d858bef32bc3e8355e0e96c5e8d5c549455ad822c25112016bb8675f08a14483a36de36411620eba5abd89885b1ec41d3beba0a080715dcba9e24f7ab4c74d2d420b01f3c3da11215db5c61f8ae6f69e7c6d0f63e406e036aa799125bf84790ff3b2fe9f511d48f01c37865431d2fe6cfbca19747e2baa3ad1a597180d7782970a85ffdd5b3d30bb054974c4d195898a67f066d36cf18e0eaaa2d99378ea2b7e03f0f07e14bde1076971357fe33d5ff7a71ef3db3465a69fe30fe566a03e8f16b2b6826da7b5574bc86434a1bad8f6814801f5992000d00c58a3a4e3b4e26da903545563649ea3c240ca10694d27865628cb5931531244cb9e64ef65b0b353295b85b38fc3d60b4082e2e152d52525fe0a3b7b9bfb713fc7ef20ad8f74e92626b8688ac63044e501966e8898780189bf56fd8e752baf2df7d61c45535b9f560b437dca577c16f329593607f1c425c7ec7f83faae8d23b13a00b5956aa7b5642a07baaa822efa7d86183089a9b64d0f638ac6120f73706295c8d0ae7c96ceaa809e44c25d7f32a8f07451cd1a333bc0f52e09b64144496daecfacd478e23a08e713746bbf07b13317dfc3a792458dc0c726f09a1032efc6059a88521d2bdee3e05c0ea9c1593cae3b1eb2ca0d1e18230e90524405e449bb4a24362ad7fc7e550011569f4e921aa4a3946e0ed7fd2674e42ac816e8e02fd7b5d2dfbb135e33d6cc7e1ad526f7e0b4e5e4c0ba60072f7fb58d64a05bf25147aa7ebcc4dbd45a307b00d2d499f5f8b53779ec058dc23ab76e1d022f9ecb71e888d2736110a0230719a5e8dad4944b01fd09bb3e86212d9dffe2e06f078a2cdb6785b5712608a2369bfe3fc6a33df78c222836750a383ee9875305b17607a6b37bc6dd5c838a87a3a7d5c5add7e820a08aa0c79841b94c1d05f71726a6f28deda3de8aa3c11df0a75817675e74daae3d2a4a56bfb8920d7a8f6612f3730ca99e79b91c4c081248979a3c84dd83d4dd133aeb61859ae68440b865502c18d366e3b6f6dfabdbe526a0445ebdfc3102d2cb630b76aef86b9b335b1f9e219bf589e4668b46a4525187d4a147b708e5ac4edce7c6e74839ca93232e8bb4639b6bbe24031cf5839c2d8db89324ca0ecbc970c9c16688b757ccd6e07f8238e4cf142062c01cbbaea857910496403ba265f4c4e56caf953a8f775a067fa615d72dc8841f82ce13087bdb9d09b8e78a60a4026c3f4c38be4c0f93d446f28b8e7fc8d042051f7b42ba93ba1b43c24daf7b4c41d3368ac66cffdb25b1e02208a138ab018803041a4ff4a5c53b4d56aeacebab0c72c890fac6580352d665a3b038c1d7d16bb40509abaeb0099a8eea7a7cc76a8316e30520a73db896f55f9b9124ba862dede20765af8419d49af397810ab39f343e6e0cfb39026b44274012479b0688338bf04a6bb7458bae4e2490c2e5be632ed489d27a55089eae7cf6aaf058244c88f45229d4064694cf6e9122c38846831900b7e91f390cf572f5bccc6093121fd12e600960ac10058145b9ef2f9dab434b5ea2e6c5e88ff61c4cea01a8a1b559260f35c663c1f55271524dfc57e2580dde3898c46592c67fa0073c36d9b1c30a8364cc22bc808b4d46f3079639c7d5c80017085bb9bd2a6c0d14219debe026dd409406436c00ca9a32cb7cdd82fc0772aed54498842c3a82b810183491e1904b8d0a130450d2ef94dd27106e3a0194db13df83060ecff3d9fa89f59afed4c339517b835b9abf75de84b3955fe263896be1a4ee71851c13fbd7763131f25e067aebd4c3c098ec1271ae9d02178e6da6f0797d4e577675dfa273482dad607b65c642778396c5dd188f044a67a1af84c0930067ff5eaf3d8ae9ac6686d98f7a710e3fb1c11989c8698fee483ce7921bf6c8f4dc65cd4d7f263ab97ec2db4ec23e2beac6e60beb127abbcb1aa2f8f7d2a7082b459b5b7f417945c5773053a3b9431af7b65c1352a0e1c877892b55ede37fa60e3ee5364e38d72c9fd4c46482942d7c96d89ec7df7526debd5be1788556afd6ba90fa8a2be81c7427aaed57fc3f3880b5e033d6535fc3d424878bdafe080a30268232efe60a14781880d3b742185235608859bd5fa8bd21bc85e6c4344dd09ae87907b201fb5e3f8858cf9e84da1d838c59f7465ebf0170108eead2aacf4bddac4d2f0d154461c3cf5bd7e45e86597a06d64e633a486ab52434d3186c1e2084e3b7feaae252b6c2552faba47b40cc26d22bd5657d13a1c45597ed906249a788d9958dae6542f9e315469c8b5b6d4966c3e321e08d5eb49007b101cf594ddd42b09ea993049655acb68024ed5e7dfb2ae7a6feb67b83de7a00b83076172d209ff39ef5f5d6deacae2482bfca4cb4c7b4bd1a5fcc336f9ec6fb364c915fb109b8dd347b43d22880afd1d4b5b1a780138fc0fce965e53d920ef65efb8c601971d0d4c29f2e49d252c3f8d7a44c22c93692eba0c92703b1c6cbdbba1291dee592885d715eaa8e9209e819f3703868d523832b9bcd80edd4db1228fe4a57a3b99e57f0aac36717c134ac465292f9e534a15502c62dd5986af44c3639653b1128b475e2f97a5c5aeaf55adb0134b1e892ba4eff5a62212a4deec4cde047b1a485e84e06b6d6830ba0826d70fab3a78ef4426721611c3f63f03736f3a4a790a3b043e49c4439e316804ebd2d9e8867ca5a4026308b3423e447da064c8fb2b6afcfba55018a452d85c00aee08bb5c9fd4313e55c49371912d834affc9e17d2de36e06b2da8b44a998142905b866fcb3e8c50b54c17d577ca2e0eac17d4f58735620bd6c953d35b94073e11324377cd6e4e2058435a7cde388fdecf1afdb54504a7455e8224c0289b8eced37aa22d40f42324e79ed584ef63bf3fdbbaeb6f23b595ede4b4c17d6a03e49bccb6f05e55801a8bb555dd55607ab9eb279b03c1e6adb233faecd0d97a5ca8dfe71825bc34133d5f3b0950ac1a0e46af6579febeef0c90aa50b440508d5ed3b836ee4019e4ec398050e136216de06decfa0311e37ae6caef1b88b9a231a6895e47c3ef24845b504473d456f92f7f2529939e9674aefefab9d823e5b0328dd11c51502b5253b74bf4529c5a1480dc7895c7db8b2d59ea68d96fb762b702c8356f46df2192921343604c73644e12bb56ce3e1a7c78c84b733e16616a022d578b4dfbb3a7bf55a228501c9bdff0a48cc96aa1b9439e736bfb69dd6c422a681dba697b3095a179090e9354694587fd35324bdfd74a7aa285927fb17cd60fbdc4847c97e06f24681d74480625552cfc4d3200c025c0fc16a0be5b57d55f8580d428e0e1c3eea3a67c88eff12ac93788333279c159261e9f36ee8d460bb8e6163d6a0e1d5c0f582b654d807e7cb1ab462bd3ef262cbd29762fc68398c4c39a4f40e8fde00e0011ee04b373b6a4e6d21c0cf682780959f6e634d83fdae0ab3b94a550d6546924c2b9552687ed38b44cedfac6b375f71fbe4fef8ca9b4f7b1933eb28b85afe78b068c53e533b800baeff65abd1fd263588d3f00be0d1031e392da29a45196da7e1d5c25069b581a7e0c0f99c5e44a5eeaeaa0fc92e1f0b7bb3f0a04f81880603ba701d07ff19d614482519fc2e5d5558ea10a888cd5b4194edb55fa10530601708c87e54a354bd8e15ebacb6cd8b1af53c049c1f44453c0064b83527a73026de26be6ee1d312885bb65fe7ce8ea08ac115d7a577918b4397e8cf210e3a89d4daaaff827e13c9bccb7e0ac2b5fbef2cdb9c1efb42a67e0029e2fc6c6658e56a67b971d24fff70ef3ada2bf90b18712061c0ce472da640a89b25f5e1f1a41c4af84e27019399b26faa5d0e9ce9df566bf74eb3b0c1fe80d58d9e61605afd93923c99cc77a45b3b0b0001fb02a45d17807fd8a2bbf22a1eff8a4fe45d7eccee528d72e7f6ef44dbfe573f3f98419c08d441adcafc29f47fcc38af1732b57ba5d0fb48395a9592ad405d81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a9c6afa5478ba3ad62ba3c3a1e2858cb99889c261aff95ee2cfe3bf9ead7a9e25203361680d39fa2285f46bd3e010dc624857e90ebf70ca9c017459566acda5ddd5a1c61abecba9a8d3bb84a067696f380bd05033ce96fffc1c9110c7b54ae5924c79a635a4a55ac9c1d8f0cf5943351d325dfab732db1490e82eaa740e494266fcb756bec6e5b47c37f6ded59ed4f3d1b0fac18704e3cf7bb514851fb8ad8bb095972452fe269461f8a7045ef8c66492776b4e6152db364f8dc28a3bac073579315e7ed39db0b157704d7d159d4fbdc7ca814c359a72d08ca348d237a6709c925cc2317ecdd40145363c5eb6bb6f923a8af536b4c5a1bf6f08f88714969df3d18174fbc314f23bdb444a26e6323c6b45830c48ab8ba975d6a26f8f06e51baa94e2190dc8d0abd61c690f646789225dc043627eb5dddf207b981d871b60ce6a3bd161150485d80b8e924e184430e24cf922d09bf8d232467114ac03b9c60aaecdb090b546b4e895417394bdc7f81837d666225214eae20834c82c00b6a28afb95ce7a46d47cb1476d9f12411385d6991136c5055d456110ee52a028c3482d0a814229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc8f221c185638ec65fbf56044befe6a10b5582a16fba50b2ba2e0ed13729b7d7930d6d75a6322ea1b583373866b8db8c1560e8c855b184f5fa0c09afbda1ebb445d5529cd44d1a222002e62130b1c9638cabc3cb22f122bb771d0a3ff9fb691a1e3c11511fd01ca18b8484be56729ddf03a3146458d88ce5a7aad7da143ebb1d50dee7fbbf29fc4112a3505fc1a28433e775a97e96dfed9ed7748b1fb42664e9b1150a68b570ca398a018118bad5d8496e67637f8882fd7ec1dbf141ed60ec9a49348af0336407082542602b63e87255d39f5f4fa9b6eb1e4cf64d4f69f946393d18b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895c37cdefb3e2e28ba0a1aab4eb829a2eb3666d56541b82823690fb50e47989cca333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81c08e7d35d2c933b46351d73e9152b5d510811430520c84532413af8e4fb5bb575918c0041edb242fbffa6790dd0db1ce6e7f378cdf94d5df73f1dc7f44fb36795fe2d563897f9bdc7a455b9783842c9291505cc2f0d9c983d68aecbec5ca1c83627a928ae71f26c18f46bc51033a6e4fe1b905855669ce70d448f6ee3d2fa87f709bb84505f407dcc040beeb63122ed0e7d04762cdd8c5fc784ee7a2c9c10bd1254a6456b8a23540fe2a06b0443586577759dfe84bd3ea37d991357bf0ca48884f330d85fc21aed34dcdb0b80bf57865e16b1ff6861f965654e5b42590d1bd69539d6cd1c6b6660e9cf1bd9c4c9d2ef0e8df90bc6d8fa7e2850516638a0b2497ed81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a977fb4696cb9705bfbf302636fb9e9dc8f803ce0321c88400b77776f1e153805eba7b3a6ceb27c380f1255f5e7791161f20fbc7ca081da632e2fcf976d23567950494c7c35ad1898d99da212b0db7d20f0368dffb14c0dae5008bdc03e7f097fd3c11511fd01ca18b8484be56729ddf03a3146458d88ce5a7aad7da143ebb1d50dee7fbbf29fc4112a3505fc1a28433e775a97e96dfed9ed7748b1fb42664e9b1861bf4b64df6ad166e4f78cb1a684a5bd1840ddb5f24ea2c462bbafcee34cc9e1526da2ef1f2a9b35962dc7962d203939153ec90facee52d3ce30c17673cf801348af0336407082542602b63e87255d39f5f4fa9b6eb1e4cf64d4f69f946393d18b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895c37cdefb3e2e28ba0a1aab4eb829a2eb3666d56541b82823690fb50e47989cca333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81c08e7d35d2c933b46351d73e9152b5d510811430520c84532413af8e4fb5bb575918c0041edb242fbffa6790dd0db1ce6e7f378cdf94d5df73f1dc7f44fb36795fe2d563897f9bdc7a455b9783842c9291505cc2f0d9c983d68aecbec5ca1c83627a928ae71f26c18f46bc51033a6e4fe1b905855669ce70d448f6ee3d2fa87f709bb84505f407dcc040beeb63122ed0e7d04762cdd8c5fc784ee7a2c9c10bd1254a6456b8a23540fe2a06b0443586577759dfe84bd3ea37d991357bf0ca48884f330d85fc21aed34dcdb0b80bf57865e16b1ff6861f965654e5b42590d1bd69539d6cd1c6b6660e9cf1bd9c4c9d2ef0e8df90bc6d8fa7e2850516638a0b2497ed81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a977fb4696cb9705bfbf302636fb9e9dc8f803ce0321c88400b77776f1e153805eece8640fc5b7e23518028f4b8e5214fde69608d6037f0686ccbcba45d20d1e0a6a542370efbb5bbc222fb93bd21b86731b30bc72c73bb959be39d5f2164f69b0246bcee85cb347ebe6ab2c4251d9f55229746263bb8a32d5e0eb10b32032238a3a760fe1c0a529be1d15448bd12ae87624a49d43c07143e5320b21eedc5118dc863a889e3228c42cfb10613f054855df234af2f81b072e4a5dd2da2fc34037410e9620093b4c76f0e669481e53c7511c22780a0e0ed1fee278ade2cb60952ff397b2767d3b07555e963f62f29f1ead4f3c877b06e6858f88ab1569176e63756a26fc59bd30732caa406137a1c613ffce7c2ff3bcb2e49d9b275b5e0bbad88a39b459b988cf85e4ddc3d8f68432f0b4c6435a2e1f73b577d832ae8ddced99ad0a3843b10b0a991b849c8ba480e97ad46154002f976a690e47f548f63b40aa9b8d27e45af327f86e41d2779681f6c59178d176fd10d274075f751bb95f0a22214a80e4b315ba46544df8f4d4bc4e8dc24953a349d8badaa04e3b2c5a9528a9ff47b44fb88416f4ce8d9f80a5c2ad0c50013533eae05e4bfd23ca82abfa82d65e5482975b93dad25dcdad51c24dfde447748e0edf426cdf06f96900e3cf136a358ea9f792d0097fcef37dcfdb0c7d7bf27b1b21de2a4b47e46de0cb35a5cb85037c8c9f956b984d32474e4e386a6dec7bdfc2d00e63c7526069a8c775df5812ec149a4cec955d514c49f80a42308d3ead61026cc436ff12cba4c2262b7e9dbabe85142a75f25ab93ec122147ad288796ee1e7065b019adef5fce9e7527568035539ba0b4cdc310e08ac057633dbdd27d10fc2cd9ffe94caff79078318f2ad49debf8f0b7701c44ba08dadcd4012cbd705f6f9f610d9052baff604e0beade50d63b3ea0b2df3c6b5de068bf6dd445d66260ea7e57ddcd9d250fb67c192a6c028864d750949d077766eb566e9c320633b0f25c6afb381eacf9179a39ab62ea8b9e33b879e8f3bb46fc43a9f45c0e42c2a2dfe171628fa942b463fa14886cd297c639f472c9ef4d6997f1dd5b62967eeaa6df79eaf6ea2bb3555119b1fd80271b4306469dbdc8c57f12bd60310ad4c0a751f0da9ed13b19170f5c9ce15bb4dfda9fb08c5b12374232611efdd62cbd08847405f3b65f03ada1a79fa559b4cd15917513184519d0a54a3c8c1c43d2e943ac6ce367f84427d516a039216637c53df8bb97cbd8a145da967ba70b044e323e3d6774dd345591c65df718fee5779050f5356e464879ddcace14505c94183966e1022011b443a92ceff70770a63fd7d4fe6b861a67cac2488a9b327ae0cbb937093ab90a86b9940b0837f21c466f5ea51c36ee0a42a76deb1a276994b0bd1b7d9a6deeceabfa1ab5d69b47100e06e3597bba918ebaf73a1aff31858d319641636c6a650916c89ee07045b43ed3d04cb1024cddedfd458db37c2f67e255ce53f6ccdf3be9f1b6f0c27786d3743bf80c26afe4230bb6fe7e186c1d9ffd17f5a995009848cc4b9670f57ed532e2910432b1d1f7e61c821069f75455b92737f8b42c9811dfb5bf6e333ebf7f52194f65f02840707e8366c5dfc4cf55e6b10e027ac0273d486323fd0a509a0b7719ac3655e69a61e6ec5648c2b9c6410294f39c0aa903ce4516782592c52647b84171614322bd186a45d0c9158d88491ec466606e7f87ce6578981178e1886a3953512e8e2c95a599ca66dce3cec15e31ca39ddc9465daf301624bccf7e097b840c587f669ef7675e095d78ac015bd90bc1e4328621bbea6ea3da56b265903835f534f04dae4cdcbc84ae6fbb5ef4637190366588db9182e0d842b78018d92c252cb57b4d2b2f07ae0f90b4b604acfc4439a2d6fa15fb728c96b89b8537247963dac0f599200a95af903caea4f39599bf83e8d3fdf85171860381d07acc0559b57becd2752763b49731537d75bce757e9cf641a191a697f26d233a401f16bf1c99776102e4f9a562c21537d75bce757e9cf641a191a697f26d233a401f16bf1c99776102e4f9a562c2b20721a02d122574c4a2aad44b41ea30b6f1926b62d1d162f6c9316e36f0132909bd7f03f25838db605a6254d3174cd50682ee81f53578c948ccdfbccff82b579e618e36725cf7c081c6127da035140aa2c32f4d2211be46a103135f8e6829f3c5a6e1c797c35482f433c72e3a6e5c843b2b4b44b39beb1a4601927151579275c5a6e1c797c35482f433c72e3a6e5c843b2b4b44b39beb1a460192715157927561cda513a51e3bf9f8553ea05a14ac852bb8a3f7622d9b013408ce46c8974f4ecaca2ae2b43a7b8634a4f5590e21fb0ed44bb00e7172b55b24edc58fc96114db5c9b2fb8312c0bee5d96b760edb38532371444c16af653205b568d590c6daf2ebc105baa1ca4ece0b0221aaae92df85b40b22865168f4a625e151a962b272f29add8f1dbac5bc236c2d827bb900affb6d349fce6e1f18b93d30d0760f96932803d59a717c4cd09dd47739b9668ee3b1f02763e341ca44d16580075f637ba433a411338b4bdff145c09bf639327fc831005a34dd200446b320420dba738a9df9bd2953109a65c92170da16c3b814f71090c6b3eb37b09e02b0f13b9ce2ad0198e6aed77aa472702a9d329fd3856c3588bf74f9c19fc997b67a7d638dc41257b9ce224a880b1eafaeab5556fe926b2db99d66f91f3f1fd4e43d2ffeaffb75ee72e5d9368d2f55e2635000539feac783385c33ce6b2367204fd2cf1b6c298d84a4afb416d9395d1baf2c4d788e73b8b5d81bb5afe209151f90cfaf90664e2de3aa6c5a6e1c797c35482f433c72e3a6e5c843b2b4b44b39beb1a4601927151579275c9f53f54acbae85f8157702d3c6c83b8decaf5325cdb051934da04ffe74370e94688cc9c3cf144ae7e06921afae3b8f26263c0680c05f73cf10e1964b70e63a30646d540d5b2ae8b37a7a51cce77e71ce832d4bb5b4cd581db1a5024fccc6561348af0336407082542602b63e87255d39f5f4fa9b6eb1e4cf64d4f69f946393d18b9d7a93f85ab5e78dadcd0dc4b2f3842a975e3bd06fb7afbef6f4769cbf895c37cdefb3e2e28ba0a1aab4eb829a2eb3666d56541b82823690fb50e47989cca333ddb09f7e66c31e32801b62c78174c5a0b5255f93c02f99fed45c21d79e81c08e7d35d2c933b46351d73e9152b5d510811430520c84532413af8e4fb5bb575918c0041edb242fbffa6790dd0db1ce6e7f378cdf94d5df73f1dc7f44fb36795fe2d563897f9bdc7a455b9783842c9291505cc2f0d9c983d68aecbec5ca1c83627a928ae71f26c18f46bc51033a6e4fe1b905855669ce70d448f6ee3d2fa87f709bb84505f407dcc040beeb63122ed0e7d04762cdd8c5fc784ee7a2c9c10bd1254a6456b8a23540fe2a06b0443586577759dfe84bd3ea37d991357bf0ca48884f330d85fc21aed34dcdb0b80bf57865e16b1ff6861f965654e5b42590d1bd69539d6cd1c6b6660e9cf1bd9c4c9d2ef0e8df90bc6d8fa7e2850516638a0b2497ed81c083bd5626ce5d4ef3e976e44e1cfdb8cf940db99d70b38acd718aa199b88c283c276b4c73f5a7c2230867953b54ca412fbc497fab4c21bce2945a001b7a9c954a34482dfc9cdf0ecd00581411d686ded8b6d81c27708e80510a04fd695fd0bf451b08c33637d181e4c71dbacd3a2b29fcf668262af44ddccc9b029a7e3a3e4ba711ff3f81737e915ab0d2e73a6d419ffe3890b5cc3d3f482e1d857098a0871d0b417810065042d76ae4b3ce47578a4c26d37e8fb05bb26ef9fd7e379a78a2f8671a45edc621f29de0be3ecd3f08a76c9a64b41d2fe2930cc83580914cf62b2dc35458bb5ef5d7d61cefec07d75569d3522123077b8dc64a18680c315f680dff99d998afbc017c3ca10a979a1b9e7a72cd3e3b72fe7d5ab31940d6426c44c75f57a31bbbd611021a0f1563438a7604d855b67339d2e5805cb824416fc72d1e2666ade787dd924a30e19e3ba2271e7cb802a134191e57c162633e7ccd52bcb428be30f91470408fdfa2ccba53460d5ef09f67149036c8aff89778dccea746c047dd532c580a57710ab6dae432582aed0bd93e7e405e59d1524d7393efff30081e629d06596ee1d9946935becf0597d170f17ffa331bd23e371d89770940b01df085e22830d5f91f0a962bdc56beeb0dc1849615e0d153bd282b25efee612c83ef259121f8dc87719b4b616fa74aafaa12d90df3d5ab7bad22c043dfc5d96fb5bb2b655b05593e4a6bfee66143cb04b59782f1ed7c10ecbecfa205d0a823fa5b501ec9c64f85e114f54dd0b89147d664375c4c50ab908873bfcd8be60e7af2d229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc8d84765ca326c6dee60fdd12ff651dfebc8fef28fd2740628389990f693cc9eea4a512b224ad4bc40e16c28c9cce8f687375f9a2450b26dd4a90670759403e2116e8e74697f6c3afd739a513e49ba8150f5fc0222d15c3b7ec9047cdc196c1ce50304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca14e814c610e977d68ea174d54e4a28c8579352010af7857008f0cc87122e937065faa36ce6ed9bb249670070a68df63813a4db04bd8081d32a5e5647c71c883f7e77150d4f75740e068debaa66be6c3e8b6c1cf6b0cdeeef8b4691cdc1e7aa7132beca3d3db667fcb9176ec3842eea2f8eb0ed417c390789a43575512752c71b3bb611bae02e27e85f6788e905378315d5e1d3fc42542a429339ae764b2262deec4de2f50b5fd598235f78abae088ecd3a9c078b9b565c2af32238465b2c810c5b54db14f0c2a5ebadac987485994333794ffaabe00aa63d5e17e711edfa9e7c2b6e3b322c8451d433c6b3ea20f54871b1a1e9a11c838e382f3d0ff6b54d5cf684496daecfacd478e23a08e713746bbf07b13317dfc3a792458dc0c726f09a1032efc6059a88521d2bdee3e05c0ea9c1593cae3b1eb2ca0d1e18230e90524405edceeaa0ed38ef4ec1aef20910ff5af8bdec67a19c18d6bb060fe54bb8be4d6b3fb575b7e84698175db00ee04b437e310d7f13bfbbeaf82e36726b3293f8efba09c356ce51960b7a167988433c70db872c67b5234e8f09b5c532bf5fae7abc53357dad1e250af8e8c1e0b212c860443b9608b4bff56120397c792884e0d066c5bf08e5d21ce669892681b694595a213c114e4f9a8ffdda0eea72c01efacaeb9d2ce4184b362eaaa1f54a29f04fa77aa6d55c3ad6112d9fed52a2f8fa1337e8b5ce31402fa3525187d9edd13881f8fcd661b9f8f1661794e8592d6923a7f31b8c07a1a0965bf1b35e47800963679d43f06c8306ffcb036fe1edf0315a08ac84aea63c6d72474577360f0a8de591b2af2b6bd289e7c6d5d38ec82296cdd2ee03c31e92f89b1ef8673786c54ba44f7b91c501ea7835b9d59288339f98ad7ad5b5a51a156620e96f42f4aef6f9a88ea0ad14e59bcd7beb82b8227519e404e212960bf384cea77c3e6a3264b7e9291de1c0dbf1a3a2243bc440439fb0804972a78a56a77dc9fddcd1f141efdd5b7aa991fac7f60e7df5d14119386f7bde7c154c475e5c5d2ef6b6b7feb7be0bf4f1fb4c26380876e2411f8e3a2e6678c12a157386942878c7ed9a8250e8ea08bb5fb953ff0adedde23ad1edd191b1f51dcfc7d25a04d4543a60610e61faa613ef1d50b8beedf68b3238234fe90d1088016b6ec996bfaf4c8e9b2f077200b32ff35ca9ecfd757c4a58ec790f7b2ee02b483fa2b91270596b3c5f7e33d37ea7e114789b092b96a61b50d71a4c88938893ea5433190b36a480740272d328ab6067bf13a86bafd0088c3508aa2394bb48adbe71deda65a286f013767324ad94ab3adb05f8d6d708b4f4f200107ba4b22b6ac5d46c679e4a58e3731002d59ef1eccd2fcb1e44f3541e7899eeee278c276e119342ca250c81e445bfd7e644574bb0c68e8bdc63bae92fd7e2cccbd8d9cdf464a7f45c1c357afd84765ca326c6dee60fdd12ff651dfebc8fef28fd2740628389990f693cc9eea0304e2b90ae7f6d346f62e6123bbe1c295457caed34fda17532819212061eca14e814c610e977d68ea174d54e4a28c8579352010af7857008f0cc87122e937062c62bc15df391167d1e4d8c335f362cc3a35ae57082392b870779e32ebb56ac9b8dee74a216a7b9ad62d3f07b96d823aab6e7c969f7f4e46ed1463d9a11632109b5c0ee9a412c03b2e246c7f06fee47a2ca2a2125f514225a0bad5cc6cfd94ac97a296a414ed8e04f385508a59cc35f7041a396460d95b028aaeaac1e896b23f2772f2386e3b2943c73daf145d17eb61870d3433da5d78e2e721838095c1b03ceb2ea6cbf2d6dd57a6c5b2c89e1f84f8e9dbb39169eaef851ce01a050e900227be5d6faba205aef41282ce390e6a46d22a66320ef174ff3d8b553dc0311370b2cd79ac29ea5841a233050d614293d04b7f3345b8bf30fc287549cbc5513ec685b7a404c30f4128aa69ef59802a6ef81c25811c9db35ade4e9a5277a193a144d5229110379549004941d48e39c29202e1e6a2b20a6a9f4310591d87dc22d5fcc86ee3831bbbee048c6188613a744383da62bffa0d228577c834cbb9f66efae665a31c214891f6be164ea88b208c740b742f3f2d6143c8fa22d3d73ec97e652c851f5de231056504911bf3e26587ade4ea7983b7f6a2db811f71c64453b105cbc482dcf0174c6e1f4152aa22abfb05801f77b7eae47b383cc198f5cb0dda1a4d9f91d44acea924a689e6ee9eb4bf8bcff8ff1456467513247d95b706a22b6342573f21e9a784490521e5bc48d0a75d0abfaad59fe4e26f5718a0c87c96742cebbfc40a0897aceedf0b56e96d7f503d54f83176b836504e0233d3314affc0978b08fc9625b9cb11159394912b524df5b4238f08c945e170e86726cda0f372ed7b14b1f45cac59bbc8a7669d96e8398060d6fe6d2b7187de75b1de17a17e20cbd78348cf8b02516769013b10aab79c51d60368657c103a5dd092c38cb386e300999086f37399cacaec84f355d2eecf82e6d9f890838486c5ee9520803ce484927bb6959b36600e16a916c6be82048787af1f527d6ca9193f98e94fb6c0ee9012437f5c84b86e40ba8ef285b379eecaee9cedd95ae51f2aea18ff6aac678aa8a31e75d0104ba5b6de7bc8c03ddaea3b080cc15438d9aaa1fc7445ad250995d2902b1aee509e2bf706b24aaea6ba1177805ac84797566f22b2c9c1186c86620c3e96b9bf70b920f2dff65ed1b393710448766a421bc8dc66374e5b3c24f77d5e18b6622cad19924c0c90ced6a898ca765d72ab2231fadecc29edc445ef71d97ed46e011476373c2c406319a1f75641dde6aabcae72deea8ff6fdcf1984394d6699cf36c4dff56a27b1e60d4cd245ee396a685da89e06d828b2ad77b7b441cb068c39547b7ac7c2251110f9984236b3684fe10533950cbf318e79fe35b5e8d0e496a7081da9eec880c32688c261015b0d03c73fa91451ef59dc1802431a75415fcbd991c3a85a8a8bde32aeeb9b4f53c1cff827cf406234d89f28859b478492e69300b0524f2644835d9bb61d5b762144452ef9e60ad86839375f31b9dc8cb052a97a7ebbe2383f4982d07a5215c00d0aefc482ce10c59d7766abb25c44a1e710ade5c3aafbe1e08b9f278f51aa607754f2893efe8d96ab7fe2718c79d31f88f1f49af1b885232e424eebb5280d67e43f3d0c944e020e0a82e23d66785d434ac5902cc4b7c994e1b17a64e3a93ecd2dca7b3ecd80fc2468ef547070d5ed5318f4c3401e0ccfc03f376c29767b19d85e8ca850a2b59fd509c6caf714d3be3faf292432572609068e03d12964c1137446b54131cea49f871410a58c94a814105dc2dc08666bc31ed8a5294828ed5d52e61324a84bfeb22e15238de89b4fb7e7affa59b24eae2e679c1f8c77ff3c42f31617ddbaed83db2dbac08ba76b36569e83edbe34508bbe56d87fd25d45e1cae152cd3dc0412c19be3e76881c40d11f42cfed8ef6014b327bf6dc944328decb6926bb8ae0d7742e70eb90de6c823cb91b7675c56b224e9f35e0b8d522207738851b5ea0de60e2ca3e8edafcf8071503f22f93245d722b13906a7a09cc293bdc0c212e8218ba6504134ec4391d5f48974365efbda7c034619b75e8d8a3d8fc7ee5d54c09d4ac0a4c5c5bf28ac06cb0c6e5d9040b604600e73e899091e00a78c63f77932be7ee064bd084f7672e63ebd78e007d61bd0e708016430297949086b034df64a820830cb46ea14f32adc682e47c45521d1c7450c61533f6f2ea9b16d03ec98fc10792a4e89731dab42824e9aedc7119bb5902a435b76f1abc7ef41e6265b92fe86bd336641a4d470f0cbd9f39a82f5e071f5bc8446aa3346d3d885dd286b93633d4defe176e3bdfa9d577519324b76ac1fe630791626b8ef4dd9898efa917e01007eea015756de456b8801d25692ca9f3de1066a59d175af228ff7c441fa389755541d9c6987ef79981943ab2dc8028e02ed7bb6c859365720537dd34301e86dcce016b9d5deebccc2769d7cb4643d44b4de960f4c2047d57606854e89edb725e27be5e2b8c2aed6277d57175edd73681170f988257ef40be1deeeab14d9a1dfd5952408271f12993d9f7590ffe4417319e7a697f1d97e9a46e54a0a13ad0954aa1079fa0ab11ea20fad9e88a9eaa10816741988257ef40be1deeeab14d9a1dfd5952408271f12993d9f7590ffe4417319e7a312b57d040758637f316a5676e39ef6e184ca47dfbd596037bfe2a375cc981b9802a5224ded42a66c9f872c10c150491141195255b4b67d36cf214433b855e21c9b1c328e83218a4dae8b7972c0232233ec445842698440d0a38dac2b7d4f6492d885251aa961a7f4936121943fb216df34da32daa2603c7f5aad4a89fb90a0cef896727c480d8e25fdf80ce70aa2de0eba47ee04d233996e7707dd175edca63222d1cddd9b19563cda0ea979ebe8f59e7068951c438b22a5f40f1bf50507a3ce768ad7e23b10b1d8f9b6b1ee0eea0004140d13f651873fd04dc7ebf12ded6d0f74a9fd69fb2c4e8c9d221322f8592672d3206b0d4643651b8d2484ad230d51be091778e7c137487136ad167108981c7ccfc953efab7004e2f67cb1d25cca1f10f2932acfe746ba1151340e76d32e8bbc20b41fb02b06fe69e97b469077518152a54df57407f2d14dd49a43b31a163db6d7e49de99a2f33ae523d7e4f366018a15a4ab35e4f5d00071c162066268fb30fe7e6168bc89319f1c92eebb8e3f4435d09ff9a749968676e78c4ef7492df530ac4caea839d4831540fe6817376f7e8b517dc5019c6784dd41186c8a928f7cda03f341d5a61cd9e41c4992e6e10331bac86c1bbc68d1581872831ba608d6757004eb376f1e130275af98dd9ea2c6445bcc8907c9d1bc161b75c421ff170b46f94ae8c55684f1e6b7acc6f217bf638afc862d3606eb13c8242a63a2bbe184f3d61ac4a78ab9ece23a82ceaa64bce0ed8d8378172e1f739ff9f96414c59bcf5002bf9e9171dd611a2e2c2b3a5b2864e1b8e1f769ba675503b6ce89d7574810d409da29b7924600e9cd3716b55e8dfa84462f53005a11f02d8072d72fae39c11ba29e09b7b4e632ac7fb7a3fbd75bf290c6e408505808479bc86b80ef151ba76f29f4188d4b2819d9069b5cb2a17cb25dfb599388a3e2b97c118d7957c08b4db654b8129f122408b1347ed5b88bf8ddae66f371b25fd2e3fcf4a56d85215ae5842f0ff02299e846d4efb9adf94ef41e58887aa3a73b7b6fdc02c8fa34e879dfee490a912bb9cf6d1824b6fe02424e057b4afdaf43219f027441a6b782ddafdf6fa5de08772fb27cc3211a65493bf5bf6d4bd0a3543f2729b2dd88511c45f14ff3e04b069c2d69fd71484af32a39f6b15c4959ebf74920a0376b78daf65670f0e7fbe2a96955dc24a0d8203fe7e03f09a40fd80c7ce0b8460f23573b1e39243d099903ad45872c00e79711f7e21a8e04b09722a624bcecfecfbbee2f63ea1f82ca9c67ecf40fc6af31b578a4db32a45715fccf471224e254764d8f2749882069cbfac6c2a9e1aee7082601a89eb6119a7a7b42b42597e474bcaaf2549223fc326cf224a88c53cb5d6bc6f1658870c6e8aadd9dab5c1e988c659f46c5f35e1e52abc7c7c1fb5a962f7d374a6bfdd240197b37b1847b5712968192cff7cf40fb93811a40e9cf3e073f46b6a88f1f56c0f18f336b53061bb862200ac1bf907f271f4532726da7ee36e09ba10aa12eddbb5a86a09ad158be09e770391ca5a3b9244d1740659f5b58d8f2cc9a99c60689246c589720522457c0a10a94accdb702e6c1f5bccbcda3db8ecf2d4a9a438bd805a5049df521f86819d22f4e2c5666e67e0c5a53482e543cebe9dcfb341ddd57ed2afd3268d7949c06ead3fa22c83744ac8f0d5873bf938e606e7f51994b0812bc4b0ad4813cd02a94205084353b082f4929a0342fa37e5baa85d3bf532bf1badd6e843bafe6c66d65e03edfe2c2e17ebc05f2f679de8dee9bb6ec593be76ea7731ec8cdd9ef7c9f2c68160a2c2516652c916b55230eb2eeae9addf41d172b9581d2e4f4bb6113b3955f808a4e1cc374e13c31fb656276cb95b6158424466b9e439fcb5edc0af7709b2391d0e530e70e37928e43fc264ef0d00204f389f86a6bb3f5cb351d700e26a75ef6c4e4ca2e7405e94bd04d32d26321fd06a73e1018936ea67b6bffffec142a25aedf783a481c292eaede5c8461d158b0648f4c0a2637550ee4c60e2424506a1f6552cde017cc616d956ec740a06b5810549b572dc8d364917b698c4cfae36f9d84956e1168f01059fa8a48a69b1045efb82dc404ebe7e6684c2835886977dd0446f23e3511cb8b066d53635161d2aae8f7bbeabbd86ccc4732856f8949c9cd5286f7f0985a84456e23e63bb96926733bd8bf7cc953563dd1ae19cf99820f624f2a67e8bfa4267dc29138ff1747797a87d69a1b069dc484f021d9f288e18ccefc98f60ad54e9f43a234432ca95a45586a90b78aa6da735aafff847ef0627d31be77ec59d45a2e8ed7ae8fcfd9addd17f42adb6d51d68096a3e9c9923851c1e138e27f2495e22b4a20004171b3242cdd0cb52e05c72b99d53d0def0bc7132b83ff7fd719ceebe1ed0309d33325bf9a33a4efef2ae278c1ca468eb316393867de45eaac8e87ad4552180d91a849b3546e461a9045b81786735f3cf88b4ed8f86c0b9408222f8341570b1b67ff90c32102b7756ebce5c6dc5b46bad8a0b556f9698062f233309fec417ae7084849fb20ae46b92fa9465a78d00066705e6f2852ee70f2a3d9b73f5140ff88053b0243e2a472d4c5325119370e2d7f54ec47e6a4f228904f2b48ed062282f35ff9f99fc1b26e11afca4e05e1233642b97613ac8bf0f845f3789d817b21cc692770c9215a058b35e6c28282c342fa4e5fc3945db15c3e18d78110a885ba1eb0d2f0eb2471ff5d5ffc2e1f7e1c216e4e24cc25914efe93df5b48fbb317234d553d9fdbcd0603a07e72d07083ae5bdfeeeed2531cf0cb139640a0764cbb53a390164c5db37e0e45a6e29abe0dc84ac667cbd3c446203e2e1dcd8d76afc30ee6d102a625c40c4ff7c56ffae16eac314707067a04a35f4f5ff8e3e071aed170b0a24cd9950c47e87bd9e0389798a9828e7ddd41a1dfeba32871139044e9207b471a2c6de4f80d4372a628bc87468e0b23fa84e79ecd4a4c260b5f65f47491128d09c63a24a07b28f7779e1bd89e3ef41d60b5491a72e281d5298022ffce00f51c1d85f9c610453cfd206a79793bb024f576d65ea068cf7875c8f06ffaef4c99b9cc776b7530f514b2a211abf14b2376c0f081b617d2aa3b0ba5b1f89efc4a74cf431e6973a43b9160653551484af2a1d7e97f5e4c1c6172d361d436675935f3631e85f34267a34cbb00dcdeb532e792d2247b49f00594ce238abbf448c8b2519518fd976e4520bd06595738754eae10992f188efd459b04a55ac8ea7b6b3a0ca1dc8ed6461f50fdb6e5af94b17be24948affa59f6de08b3a33818371422af48e37aa78f7495162cb98286dde35cace16dfb5f8ed697f45a801bea07a2c56eb575cb4710987c71535edc63cf80a4e0a4a757359110e0df9361e2667affa886316281b70c29c1e6c859aa3be2c8f666bf422a6fa13058b1f24067738d029796f3cc2df5311e29e5a4a0c0aa759215016c44e9b74a24410ae3cdbf9fd0fd5c9a3ab67db5303c08dc76035cb5a98b1aceb6062b3b9186c48adffc6ae8a41d9224d3e97df3c4f4921c5876223663ca89a497bec57294f43b2adbf5fbefcc77d81b5c29218374ca20cff84c8ee598f7ebbc79633446ee7607d261c5b29376daa4c70eccb89bbb07a70952d7f735680ddee5583d180c0d5955f8a69186ebda6ea8e8543992d24e3ac42f14f1c0cafe1c16674444c7e4aa22fa429d192fdc3edf5a51badb1b5fa53106ec4d30be9fd56909a16da6d0e182cd44cf3f9226d5f58da294fa106060b2e07daf6c1ef60448cdc5b1f0a5d8a1f7278a87516a54dd2e84736f4ce091e26a0f134dc167927fd5c07397484bb2542486b52333cd4aed4887f619e30baaddfde44a6722b5208f5f41f49b7cc301223e37662ddcf75fc04b84ca5f8ba41e38a9309e5f645e38d279a9502784bbd051b605294b65306ed6581d57662df16779609e56d97fda4474034e34825eff49a099623f5e7287866e31b30416fe1e92c610b1258e91ba5280adef098b9ee18ae48f79ad79b6bea5f543c6da49a35c5756d5636d8c7e4234866342758a7ac0291e168a408e06f94ab8a11278242cb205603de2767b9d0215eb59bcc30678ea03ae73aa22211ec113491f9d3516aa1c826a3a0e88acaeff081cb651c0500de21bff1e5e8dd9673f635016035553b29b585b1638df58bc06bb6151b0ecb2612d18e2bf0ced6f2f0b903fa35adda29a2a0d91f6b874d19b668fd59956ac5cd73cf4114f4c163e3793ad87bd05c6c4a73e2afca08faeb8d720b1169d3196ae68f80ec3ec7b1c879cf771fbbc52ef6a2180be960f1b75a20700ade5a7d33e2fcfd58c7e934f0965947d0ac08a9289382bac6643b5d3eeb1cea3fc8cdfbe48c494e8e98a0ba372244ab16ed66f377194b12ec1f73d99c91b8c3f0bf9f8745b07c270eaa46c54f211e1ee757f6211d4aaca0f0cc04cfe198cb7b00a2523b3a351e7c58cd8a0eac41d52d6c004427c7b0093f1384c9eb735676b22686727e435ded72b3f4b895bfe92f799475777d339422b9b966f3ab8ca8b1a10307f2d0ee6e6ee22ca4ddc0fcb39cf6dd8cb26f762e5106571ab798dfc7082e34588cc6b54f7ee5db606829d5ebba44d80b1616f92634e5065bce32aa671d7541aa8ee5076a58bf034cedaacbd494f1cc1bdc3a2842fcdb2b5af9b4ebab9392b78b740c002ba2bb0c07539db35179c3de32a1bd882391066e46454e6d762e9d84c2b946c19ca793f516ecaffe85862163ed3d7b03b8756c7fa5475772d93ab57aa7fe231348ce0100f84183c567eac0ca7691892a2d60e3fe9ddf02c767f29b043e29714399f87a1dbd9953dcad03911bea55c7139aa867dbd8e83370fc27110cc6186f804cbc11a097fd56944a2fd538b7c4734d792af9f51e030755f99e96ec98890eedfb15d1a1856c94a0f74c1b1576147b4538fa1b615efac06f5d8d9d1813428c1093b3d1c43b7b3ced99a7fb50602abf5e9f9be73d3c3890033c0fb586309fe1195ed880603d27968e81b84d071908d26ac4c86f9a35d921eeafa1418eb596c3ba75be675d3f2e8d3fe662f1091de0f690f7efea9802b4d6beda0d585a275fb4db855b6ea62ea2bd730b6cbbcc8533a56d28dc575ddca381c1972976e4a71a578cd77c72db9cce7d7195dd1e74fb8c90ca01db700256a1838e6d4719f276d35e0e7598f0687abf9d70d45c86d7156a0ebccdca24c737f5c13afa39e5f0b7dd8ce8cf59e7b9b0dcd35121b06251bcba1deaaccd74d2ef1b6911ab1406e516679a8e0038dcc7c14671af3dc5a5c32c84789320fbd4b3029ee0c56aeb816a764f5019495c525f958c65e904d472cd46d39b21c2b9ba940f7fcd4d67b7f70afcb465ea3ca8bf36350a1eaf9524e30d31475d4ae740f288070798810fd3d2182cf3fa5d6d5182ff36d81bc9ecdf8b1e9311b2d6cfae5e10915b60f9857f542a803dac1acb1737794096a658b2ac1e72c44d0acd75052dc4bb3cf64768502899774507a61043327d699cd5d20bd8fe08756a56e97ab436050e1f9617d1c4b3a19114507546354cb772e81945e9c3cf44fd181f662220ba479330569f62080a18d4a59f21c67d035c41c47256d4dd0c329df211093d8675ac0e31934c0e7c142661b019d16a9cf7eae309f899a9b1d69bf1cb4ac893a2d22d1e0f9d1491ecb7fb95a3008f10b0cd44599552b21468f38ecf77a7f2f36e7cdb292834085c4ae9b4648d68a600dd2144ee3eff14a44f5d70e5a3a084ec9417d03917862fa4b7dd31117a20b6895c330e7f9dbef1747a3f341f0902d12710af2d173177eeee91eaed7fd30fea5f322661f00227e77b59560af93f3504311e357f4bda66236ce79ec8e6ef601acab2bbe79dc60578af6de5af4bed1e7ec92e17f29fbcb5d56cbdda813d252b9c16ac24b257d26e8f6df82729f749411b348a65deeed32fc5ef70ad2b99fe26d929d03523afea9a7c4b21fdf0214d81b97f6d9a9fe95c9237fd176aed48518f75ad7c3551a9fa01012ede388231af130d3ab00758a480b8e784d61d3d2b044e36e2ecb5dcbddedf8f1e46c334cc89a3697c12d2ea4e646db14079d48221979eefb1289b921b7aeeeb741c25123795988acebdccee3ad22d257379550152f99481879fcb2162c1f73b923f8250c114d97df69a9a6ee9622bc34a7f1cf637bf1e73391e80298e8eeab28be7e7065b687e3f75e5330cef97e232482abe1e16e3bf1d94aa9d7588b4b58983608c6b12055a3248de98f7d3768f40fb24511718fc71871127487a11244fca5d28bd309b90b1ece6288a4ab0f6c9f5b7bc45d2f6df2810240ed99347ecfeb1623fbb9cff64510cc7f509e12154f1a5ad4312cc1dcb17c13dba045f749327f2305866644c6c1ac64c7b42f8b50dafbde5bcfc783ba1277c034dad17b6fb5168f2c1ba7588c8b8d769577a92de4062287effbce5d387a5bc197f026d3fe3434003c682359c051f3c7447c8eea5d1c03cb366d5534c36602432e082b9ff2a34e5fc9c6444d373ded53901797452be940484a1babb63f338c7fcfcea8b677e272f115f34d003dc2ad54ac26ab6f2c2bf00fd36a90e0ed03adee14c9066821e21edda0fa27b2163385059a6b9e0d7e8542976dd2f1dfa273d2cd0551ff1f416e721f1a72e5143e5817cbd83af15dba79c20fca5065c68220e04d5b0e8c361c3f72313f50c2c06d6224162cbb052987da94c4be34dbaacd243d796693a71a6e8aee375c496fb88ddfe8e89e6b965ccc2b108641ee04f0fa77d946a6816751e662298e225ea4152f161841c0915326c4116afe1200f07259b872693f344a3a6b05329de74b9865cb69836113af7196919563e9b29d966e6fcfd444b7dca0c920658f562e9acf2fcba28a34ace43e9950d5222e5985f25121e9f606107d1223054db8c702140a4c9e9152b3c1242ea28bc287f1799c113091a4160aa582a57f3e3e59ccfae49b8d9f6e8d1cae699b56ee49d31621b502db242d0e21ed5e012c27d3a0ca710f2fc1e89d6d8dffd66213be6057ff4fbae45869875094aa9be812c503e20862337f9e10c08d4c11eb9cbb1c6404ba94ee6cf155992930ef68291441fd1ffa8e968e51aa3d823ddb7b7ae77d657652fd1b3a8392ce4bb2782b2d32211829af1227196d6ea1e9e7bff1deab365cbcfb34607bf61f60fb8f1a1e8dcbf3fc8ef435ef4729fb6647576257a6884e4167e3ccaf2a22081d7d3729ec7a6cc01e271a86bcfda8af2f646eb47584b4e8421cf276021cbed7b013ae69d0bb029b0faeda5aeef354dd7e2a92c6e4d5b6312304a3cb62440260faef03b79ff4fee5768eb1cf1affda42ae41a29be87e3d7137fb8c904c7b35b3360f7d6df09b2501b8a6a69f6337dca6d2934131ed3d7ae6730bce7da75b4f7ba99ecb415859f99992e2e5d05b9e0e250f88b4c60e9d7138a88cc9ddba68847c0aa27c2244d91352587a060b11b5ea6d719442ec50302f81831cdc80fc22fd0eaf740e4a2d1035da202e545f69f75f14d15ea22a1272b0ec37db91fad014ff05d8b62b401b7ef8396ee601605ee0bfbc2e1dd868b633f6787523568efbe26c0cb4f029dc0aa0336079c97e6755e37ee83ef9b6d5bf43de591620044befb7fec305c004074b1d7de0fc444ebd2938094768668a904acb2ec4c1589365eb48fea951c2ce14fb6c0d069797fdc31c2c805bfbe1e34996c661d5b0c3a53c96d3c063b21cb5b3d9e18a39a648a71eaad3f7feca1782b8330a0db0dbcf7d161147fdc07ce16f16a96b81e61d65441195b62e0a59de1e8ff67891ab6a68396e2755a6e9b3605d3845c1e4ecce7a259e595a91901cc74b1c4bf08273ea5e1b78423759f98fea9b43c331e286fa90e3c8474ae1eff87f038eec8a6a0e20be193cab194300cd477d5f0826c7085281195b88b5a6a137e2356211045aeee7113cb789967053193d1456ed423788b4a1e2fe65c40e7711d2d577b892e63059d20253119c2b13aa82f892bcf3831332ac1055ad5c69f159732df95982d219eedfadfa10b61ca54291c7d639ce1d3d5b498d542b632c0398618f8b66b2528c127fa7ec4efea381e56c5bf1c5df179a105b97adc9a7514fef4bff7600bc9f662377462eb413da8f502c1b9f4a7abd72ec636c35604ed9ee30597fb2b57c5200ee6f6ef4aa6586d8fd6e5cf8cee24fadaa744f186452f06be8046e8fd469e1c7719f7b839e1ef25ea29230a50f0c13193a6d27355c67e79b01434fa966bbd48f847ff4922590a0149496e928d5176a91ba1989a86d35e574004f6829b11f6ab8a319028e986fa700ce05a606956b492503c639dc1b3a485a2ec34f27569f175bb6aabf384ce91f0c82cafb7dc54f5d8ed65089e833ba112ba3980d1345b053e955e92d7cd136045986a626ca8e8e2702175c660c637d69a2ec11913bff7cd8a4627cccf9d890530dab1bc473adbf9be6413a84951830c9b846d4ca36086c14f705acc0e1f4053abaef028670cb6b2a7dfae0dfb9fd62d2ffec1818b91e5e9a10fcd38789739f4572f8beb7d4705c89206b475a8afca0b8bbfd54c458e22ba58dbc4f642b465841188f83ba394f61571989e7bf6b6409209a407c502e11c6c3b7afec3a795d37c8661dfea8281436e44848ad231d8c3919880999990dfee13ca05b46cf76eb243d63a61437feb1754033eee189fd67157f2f08769570b9a3236898c15c98e7dbeb63d18ab387db32c21ce77c634522c0f9740d237be1932d84df3acaa68c0eba1994a5ae99c669435811a2a5dfb77c60a6a776e566fc0dc43f0d35208030ca73df29f3186006fd898b472b5fad48cf6de37e88702269ef16664598ecdb3ce0412bbbc573f3470cb3336fa04bb608a297daa7822ff5cddf58debf2ba4c6d0d191cc6831e55dafe688c4152df016aee3b87462026a361f9726175c81b5db601cce632c2900e76410cffd9f128f7422d7b5276531e886538b52ac9cb024d73a6d5b27adb1f9908f40e33ec5cf962ef89494ed71afc439175493a8324b0316c5be06b425e5a4181a9381711e5a7a3c0d5bbbffb493278170024986dfc80c5e7db7074b128c4c8a8b2a774a0a1bb6a999fe6bccf3b49d917219d55b70bb78c652d3714e843646b9903c80716914925e5c40439d6a37f2eb28a3253ba24e0d5cd2ca0c0af767adafad865970359b1b06929c38541b6c21ec0f783a302b4d688ba766b7bd46e610e79e293185dba0fc778f645f541af00b76be94cca431da17cecc388948f532473e6d562331653cd8eed94546c6d86ded269a3019a53d3d8859a3ba1a484a181924f27025ab3d9c6ba19e10d1ba868523a8b008b85f6fb857e71bf7cc59b536df3a2bf75c1c92e0b19343b78b0f909155bffbf5777aa7d4ed0168a9fe6d58e9372a411328d2df4665554939b3c66bb8a9b5f776345d9a2965fbcb1831e3761e4f6c644df2b3f6047288acd268d659170ed66de747244f20ea4f507e7a53c042a7b2c385c6316eb81543c1b3bec46f8bf895439eb702f37112d42c1c4b19a6f26b223c0328fcafea224d32222627749ff02c65fe2ed388eed9040dab6a737b4c03cafbc461e64e26cbb7ccf67b8a963b7722fa4f59fbf3f57e9a45b161d9a44d3bdb6ce0f58b46ea3d5816158353c8ae679dca79cfea1faa4a52ca4b274c60ab858210e2973a8f0eface4b2fa362cb462a6f2ad8fc924afe62c1324d3a3662f73e76a574190152ca4822a74323e0d10871e293505fd99c79dcf901e32b87728faf4c2d00f60cdf303b02598d64b235c14554decd90ef07a1e60796aa2abf21e65c970c2c8cee064870a9b779fd754d12371963880e9c8b134cc592fd1bed4ef093842e0e2c1732da320b261090ca821e3a86ebb79c02ce3feb044e1ed730523ef2d2b72fbd09aaf64f8604c781a242e034332fc0dbbfa11192ac1e953699de1f8ec921274cbe19b03ea1fed0a13f32567044432d9ad26804793ca44f96d6554cddd0456b5767fdd3b98ed4b050d46d736f94162f2d38d234c17053318c1e1caeec21b0a829fc4950f88d2bd038a30ed1b3145fe8c64243576baf98ddd5829be8c8df624805ddf46de89e1c1a64b07bdf84f6296dcb60c4c9d6aff8d8564204092833f9cb17dc0b313dc13079b1670e758f6bae4680c67168d16f091124bfc4dffff2393f4c9d99f5fb733edde38b8d11111bdd427bf8ffb2ab04442f55bfc4443a91ad4751546d64b2626851a0961192b3c4c9077a5b8d927d65fcf0a8037e00b9f50b8ec713a7a83a882c2b5c8845e6bc8a7510204672882b630fec5597d4cac9c1b986a4ebb162732bdf9d80fa37f118e9c98543f25a8fd6d642b9eb5c93d9bd1cba506f07ce73b0dda2ce521d2a5bd18e397da77d54cdb74cabb73c02896b6dbbe449a8029f434e27ad5835d009c72df8163dc36b8c9b4268209dc820a5c56c5ddf631556c1b25003f36ef49255936f3fc2c678050ebf496c04b508b1fda45620e32e399e2b565b29812ddf44962d5f887fe1ed96eb76767c0a68686ae4b0938b1fa8aaf8875b7c508d5772541e92a74e721231b295b4ffcf5381e10345c87869c7088b6287cb1d0db3bb82753cdbf8f4942f4e26370df25eeb9abdf8f874c6386f304ff000a3e0046f80e8fc2a0ed246b4a004bb4c0f1615c826533d250a15017274c0e61cb6a1ec88fd47e1b62ca6f0391a33efb2d2e6d0b40e9755c1d3358a503fb3dbf0f40866f513017d84f4844550ac589416ce2c15efa6f1ded83e4bd902ad7e953ba3fc7503df853d921413c8d504691573d57757aa41fac61b265a3d04831e38ec6a74183e632b79ad44f2cb4704c43962522abc3545baf85bad2fe4cfce8031ca12bc5df635dd18fb6da5b68fe8e52a7b817d6e903cbf5322b321ad18291357a20a02c0c48c6f9cc39f910463cf1d26dcd685890fe68f1f179a287d292fab0870efb45916c3f8966925506f089d462b8076409acc9d9e233a07bdb5ed757424620834b35f6d2c0df19a6edebf4e74e42a263e614de585dcbcf915131dccacb402f3f9e8287e982d79094dfd7a4380e3de502c8f2f748135c0f9872191dbc29afe1351610ebdc0c998adefd5cdcb3586efd2930611a7e7cd99530f2096ffe3f3eb6f504e5c4e4e2268723a41a31088bde374a1c0f6a2b542e904fdde007f8b616796c0e745c3e7067cb2294ace5ae7ecddf319e3deeb59c39859b4279668a3006810a07501c00331fdb7b85206bf48131ffc14a40bb3ba774f88cc1e7182180c569de3d478fbee8bf056bd25d8624a803aa05f1ecf85c7b6817db67bd892d9bb83b6e0f4df2176e3f5bcacfe38fa8df14e0d97c51c38bb77bd893b798569e80a61f75e12d2124a7a49285e26a921e2aa3d6de155a49c2c560ea420db5ae7342119ea7f680acf8c7d835e207c1149bc546c170ee777df497799e516d79e519c2d5c92b0173e6d59393cf57dc1d4e93e07294b3fddcc9417cef936cf53a65764f76ef346ab0a4c253d45b90374e2c3e122b3d3d97417d99ce0f312357d126c6d99186dc982f93e70249c9b380e13f7f10943f39c1bff6f4911f366879c8941c2416973eccd755b324f2c07a6f6ef79ef49fa0e3e8e4f19e307dff46295a936a64ffb35b4977e208b763a68d5ce56b3aa1b0708386c9a729c14224c441684eaeccbb2c528d3c14e455a777e9f535fa7fec3c2b0d4e29f4e210b17e13f4ce77b290c90d192bdfc9294997008d6caba15ec9430eff4a599d3ae748f6be2d735414115315c4be94c5a97a9a88d8ba729fbb81ba730993bc6bcfa3d04e085469e1e933ebcc79794be4e40a82e3df01f4bd93e6504acf8f7370f3823c07a762542983949e13f0ed199daecb46041ffdb9a61c516e8c426a9ab1bdbcce1aeaf5e8f6c65d60839c6b3e7fa5511e0a5ccad3131302e6e39f968ee6d28a8a65a8ec134b7583ce18dd1dda0590670ad45c2e2d4f85916ff66a0726a2e826ae19fa111e6f3c5140daf7a4e39d9ce39c8c62110d232bd63ca484c44ab92e232b3d16c41cc1732ba6e21ed3b9f3468212da8a09d95e21cd05acd8787730a832ecdd5d395eff707896d02ff77a40fe880859414aabc20903c5d12789a19135571d7f58b69a67bea754da8e53351c559bf702d8b617e1bb180021cac81f21521f7ef0c2d05e9de60080384bca2872fd49fdca1723587ca303d06d6bed17afb7efe470b4b27614e05150c47fd5f3c39fab4eb14db7217ba839d7d1e47c52e62bebb1c28f9530c00eaa9284527a02f02210946162199e3cb687782665ab6a7e77262ec2e3273a27481cf807f3993cd47cd6a8d098650e0067c84cc6ca1f464346ef19ce12caf57cc5b71209f3ef4d5b92b24646aa7504ca023df4218a52791d75415df4f00743131dfc659eefdd00a407ffcff89d632c53bfddf26310e19e19ec9d64ab6f53456418b19d89f3ef4d5b92b24646aa7504ca023df4218a52791d75415df4f00743131dfc659e8d29d182c63596ce08cd32af477080c6b606116c302033eee32c0412ba13b97df892c077ff922519d7108fb5aa3e106c7aedd7fe2fc33cc16730933c544d4c7be9f63c59175fea1cd53942454eaefee06f4de4d2b83b8fc390e4b8d8fe6ea575ad351e35c72fedd1e16ce8c5965b20426d182e021997def9badd998060ab8c33cf0d5650da071dab8d20001bfab393dac076169731a724ce367e00419d7e0c09f3ef4d5b92b24646aa7504ca023df4218a52791d75415df4f00743131dfc6591d4e88611f03230ba16325ab320da3b9bc9637094d3dad6e3e0a5e8d18bf9403d5c621cc3c7c4b76344900aa3c1bb2c5d92bf869cbd47fbc39dd9f74690bd39e9f3ef4d5b92b24646aa7504ca023df4218a52791d75415df4f00743131dfc6596b03f344ef351cf4bcbbb25407742884a2218132ebcb5a97462273db0c6d935e898e6b7d0347c5a2159fb2702a00d8dcee81566ea0c178b4c97fd5902c653186f7bd708be0297c269a5f33c08ffe5b3e474daa9ba6b5006cabfad8bfa8f2bb36152471d75394f323b6c1e06f2ec18e8de06d5ed272f558dde9475e881ae8199bf83ba067648874cc4bba0543fcca282f60871998df4d9ffae39c48fa664969eeb2bf5b966fe5b97bda3ff7073569632e40c136a026fbf0db689ef69bd1835c85105e09acc50678e3356ae91d78df0ef482214423634de38c788e1da8eb1028baeadf3639ec9e84c12f493ead7cbad88d6e823b3a8f29d9fed9b9dea5bb8a1384a9ca2e6fb59f2964b478383e2efa89be15ac22abe6bf36e81375798dcbf8d54125093e3e75b2451591d69b571ca86d5221df8f3211575b1c3f99df0cb11d18e4827fff9619e4ed9ac13aa8f2c5d38a411b582c801faf4e3c2b416517b79feab790757c5c15aeefafef11aeb56458eeac111900b34c139545c04a0b0ef63aa57937caf75bda2cf692960924d6a9e12479efb9175a2cbe1825cf485f3fcaa78699b51269b5bd3e00115333b42ae28f2f7923135c6c4baeaea9a22a0a1e29eb5d40d39eaad9e82b0ef3fbb18426cea16eac15102b84a40267a468fc7ed50c4e4d5c2ce5fe3f656fc1b84b27eb1a354d4ed92332748e7b2d57e42f3b0fcf1fcbf2d6afd140ede1bcc6385d2466c587aef447793f157fb03151590dceb1becc6dc73a9f4841c0cff0b23b187211334b4a636d0a1109d877c65b2f934e605705518227798f2a0e701aae82cc077a33a0ff9697414fb3725c8369a273a288960a1b95497a2c8a9250e61122a5399f0e829a8ce91d3c390e7b3a479e2d81e72d83d9e70dc36801aeecf9a4a68c45788857a722a71ae33a49d0f08fad81e04628b3e1ea4270ec0177ef34eca4bae73fdfa5def498f09c1800d8320562819e95f26f3e7a21a26194b70384020173963ad702f4ea430e4d5f5b8212aa073b307682856db080ca4d09ce520ba6cae1fc7db9d36ada2082f599b74f9a6c6c57673d8bd496673d2271b0a21b32c1d3ceafb5424a3e0aec5d19e1d65db2a840018edd5aa4fd17e94135a5ca25cd0f556842e3efbb375c620f71a9e7319eca2889a7407166e25138c9116deefc860703f4197d59a738afaf36f13326832a41b6f69c538b974c1efa5f5176bbd382716bd8fdd69ef7d48ae71e3844f78761ce39d590358189a94f0e6fd5be7a6595706158e7498342b4cd857c53a5fb6a9c1d4ccc78a16fe09016e50697e3e9a765b8447ce3c60d2c6c2873af30b9dfc084865b307c5832cf2454551c5dc2a2d8674aa245db1a5fa60b41537ae96b563d9a2a8e1adebeb5de61b7ebbb89297dcdd18bb57732b59a535765554b8e0654dd23301636635102962320b89018c630795dab46552b5977da1e92a4e158b2751b1e148bf919ddc36d1ac3314faf5ca2045bbdda9ac33778064b0475d826af72939a14ca0173da076b9948f3537d249ab46034726eff51d20ece3453df4edc2ffcdbe11d2948694055106b35f7b854f71624bb9579d5637d0436d46795f71814d44d908fdc5df28d6c476498ef816ea0ee0eefbda324af3d17111f005e9c337f1da53b7f2b098ef45a63c237938f7bd0b54df3ac20a39621c6a6f9f23df28575920e9cf53b3089a47009a3abf4103ed2a248b61d4d284fc9b3014519f925bcc1d5c35695a2f2c6e75d38c5ed6855deb4a3ed3d751f249b2839fdac4cec354df51404fcd9de1153e363686eabb59f72a13ffdb81f8506cebf747b69b277e99949af3abaf7c2d4d274ee592b2c3b10a98cc08ecf2ff119003900945ba03a67314745ea1caabd2fc8bf98bc7e7b38aea22a8d2a9b7889c57abe39f65dbfb07e1b71343022711601c7e3246a3bf7a139709e430b5c96ec4c9a2519e798f3efe88336152183c4718209fee01ef957b4ee8f24ef7acafca09ba156c280d8d7c4a6c8e40775ef7877bc9d3ac09a42f50ddf41ab7e62885480a96563751854786c904fb27c9303715140973a6b5ba02cb39c1c39ceb3ba0b9967e293dd70a9c3070a5370bcd563a2694ca793b513c90ff2f39f15d8a6e183ab9fd4493269209b65db2786cde3fb3d36fdf4a892152c8b21f3cf63e9beb18d861c5b00d778a8c3cfc5689453e5cc570d743dd0a271ab3d701414e669e887c53050580cac8ea3acee8703c84608332295557b8a2a93dfc2fcb320abdc8cabb19cd2107ac6f737273f35e0f2947410298de087cfb5f65e071f3dfbbc375e17d79e66d0357892b2bd5f25a328ee87960406a004d80bd065aafcde4d596d3b20268e233424086bd0404a7392376f0f31573434666e5a359b4d712e388c32c67061c2f858a620a09f359aeac6457f54dafc59db3a7eaf2721f999d24e6621395552867c52bd3373bf31d055d476cc0160960baafc5fb68f71d6ee2d4a565f55d86568111271bb644923cca60499f5cab0650ce29d0020cc900fdfa6cca67649b425643b830543fdef1adb4bdcbe872fb46adc0c89d9bd6435769e115c81205b578cb8c566afb831090297a3bd9247f74d947b19c74fc42743114443be48d1faeda22425b7a9a66e476aee3d601b922fde40f06698a15da2f62d94ed14476a82eebc1923421829fc53a5e3fdb78fb828ba91b0498f3f7a4dcef07f3521d3e4e3ced8de4eb1232dd066521155de3a6293be9681e89eb0db9df85a38c4dd6d78eb5e55cc1a7503324ad9e3f724d8351cdc15f9d9d107740d518320f25273e0e00f6502dd044fc48cef7df053035978bad0d239493898a869956546a336f14bb6b3564e8f4de636d9830f2d6c149784eb115552cac16cb2d5633c0321a2f29557e2b25fd34db0032f73502f90857f483e975ccd91122a24914fbb6601a4a446571d14eda938a823be09d0ec96a9cadcf46d3a93332bd19c32daf1f729cb65f0f342b4941b027ee675282da5a6d65d7f352c2ee457a626936647b60c8e0a662a128e7779657698b005fa53852b5ca9cd0c038337235aacb51e77f175d0872ab6f1b8bc4468246d4ec8854aa88928ef10a0dd65cd2695200cf1a5e31cc9c672186dd63db41b7bcdafd34b32fcdade024220b17d69f0a7b844b217e7a2c36e1c22f208558a61d31d1432acb1a556ea5309de3dc2d0b462338df2ebb1dbef4036b7fb89b25d6bfee90d82308824cc0a08aa368c2f1c6795a7152787831e65feb0b5fe4d4a83bb44c1189c98077f07e9b3c4023d69e352175c4dba015bb15f6d13217a0f3969349b3a4a7204f7ebcd2c52973e7c866d19cfe37126cd0205479c3da0c1dcfc5d2b73121be1b26d72edb1c120d00ff2c2a91f2ef0328187e0a7af3c127f2c53f1ecdce0722d67e6252771423cb1a67d53db02daf8bed9d4546612803823a47f124ccb460d7cd6a6b0245ae7304c2d5608569da6b11404865eac25bdd8eed08cff810df0c269703126cd36e6267657886a0747b1e1c01881dd03590aae5d89c9336643ccefe3a77575ddc490e2ed692e21aaf53e954bedcdab3047708803a7776c73e42aa3c3cfa49eff3a44f8ac739429e358b60beabf255c0b01790ba79b93ef5e42ed028b005d186d0de4c77e6232f95c73959ccbb9025b6c294a3ae85aabfc3293cd9902309502616c65bad821689f878b73a1249d8653ac97d6c2238e27f30afe36f2e84217f871b8764700647a8bc58d82e3e16a1a3a7359ded97ce2efb131bc94f250e6c88126d617a0e76e5157ca4a130d021ae052512d36e9a5dd9cbc31c14c12009d88b605e6cd1f1ec83eca1a7d7311c4a411b750d1beb586a72305e8b68ad77a29eab5b88f06253da9d51bbafd3f0686583a4e5a28742598e19a77dbdb5c795df7f6d434c4bd2ea880d5ac95771a1e70aaa257e5e65c184b76e7ce80404fec5ee26707cc166ca5fa307112d3fc23b42bdd84a6c6ed15c5e24f5a84b57b3832090ebed8d71fef88a4e076e190073fd6bb4a8de64d784130e8ee62d5b61cfadb9c01aa136ba0974b632f6ad25d0f8446cc21424aa41a8af79d580c754803cacfd49b9278d21493ed0664f961b574b49a4b1bbd11aafdddb092d78b7d72a6337160bd47484960c800600f63619c92ef8fc11e735045b38a148821bf723bd49e02434247b8153f14793617d00aaadea9ce5db96448c65d58e37a44a3cb2f81402bba0b8569729b0cc3cdbbba0b15c1ba43e987acf4759a961eeffdf93bc78728b0973600c48639f124ee8e6d8f6182fd9f1c1a16f6c5c98658563f1228e6cda17f94afaf838b556167f3c819206340a243bb1878a6e60f366fed55bcaff31edaccf8f9161ba69d1789608ec3b81de11764aa85429754aa5d8c93deab13292454bfa0b7ce267fb7afb1891f356fa834b863ccc6f1bf6620f0c466ec5159ec416d0fb114d6836654491cf62d9a43b594cd4698a0b9013a6b60370e7910170119ff8d87d720367a734d3145a2e279baa05e4eccdaa9d73fe4fa57d0247d86f4deff36b622ab7e2f8a3db1bb00402c526b3a4bd0e62ae275bd4c8bdbc7c1d52d2720e8643ada4c3313d1f47188df03505fa72e7c0a67bac03b857e7383b930d87d63257c09f2d362898eb6c16e8cab22b47943e1ce9a7fbd7796d3bbced332478707afac773d17ed6e5963ce8c8faeebd735b5e2b67d241a012803ef78f0ca84efbbdfcdffa13fe641b28a0cb448d5511f4126f5977e975a6385884be513a696990e2d7060441cda76c6ed419f0204b8d0cbd88dc7c1c2aa7f7c2e61e5dd01bc33c93308cbf39cc281a324df2e00e4b3cdd9793dd0e2311a067503fe0b36931d274ac007d6c34f340090a715cd6b4281a0e609b24aba4dad91776aea5886625000ef41eee0485a1ab087b5b42e49c18e4fdf5857d88874ab3f1f082e545e48540a78ced1fff91d8fadeb1cf65b091fb33d9ea6cf8192aa8a2f690d9260b98fade6aa7c9f0496ed95f1409e1fc614e9005a75ccb124a300c92545c5b4730d520c4337072dae71bb064095bdde0d8bf3eb5f47373c0928a69187d30a0b9b7344f22ca9011dba461bc443762094f134fdbb753e976ab51cda7201a66b2da084762c9117b2dade452c6863380c9c97bea4d99e425db94e45c36218b5d18604f1b71c3e98dcc7c4093c1be87ede1d8265bb5671ff41a968bcb268ab88de01eee0c4619949ec4a42150a364215a94feb128097d255c0282a68636927d315682e0d8144b2c6cf4ea436fc0d0443634222c231e166ec8c51c93bf75d989ca3514db3568b29315e8576bb8e819a9ca5e233e26413823f80243a2837d4672d8155a47fd07941ac024a443164592b86425ad406970e74d276b3aa5fa9481f90bd4778cf5ca948c440a17b0f05f23d2c50de842be370e795e07bb53dc314d50869dc81ecff667a5a0206c8b09c30387776cf59cf52c15eda7cf8cdf1a1b764ba584d34e1edc1ddc6d0f7b2f26b05c475f9a777b48eba575cac1b287c7b581af793c4ed823b2ae5db9653ead66417e0f01c95bea1ec776d0901121a6ad79fe529f3d1c79824a4165cd1fa5d4873e13d4755508dfd1fbc1345f20ba8b10e5bdc6cde2f7618000df5182a55b5103cf6fa05c11a5be68e642d3975985820f5dd8fe7225a32a205e1729f821a9cf4648644bb08ab5accdbdd5edc11b02befe3b49fad23c790c51a432191e8183843a474336e5efae94996e26550bcdd84eacdd202ef32b677aabdf2804e1aa75a569a07ce1cd1ae418334ddd8345d29bc47135165f7f5813e1f0dc1bb73180f669540b77620b353bf0c9964973203c0835103badc42df0d7b2361d888620f62bc1177a52428bd37158b591410a46a76ae9efb239bf93e757251baa90d4fa08268ca4a25b0b55aea490ff091b1955d14fd9a1b229815cdeb02475559074dfcc6597e6e40633e81ecd628e804bd01e02463ca6dec9f1ec81c9b337b92c941c6e61bdebc456d73c330131e8878f3d6f730e61d97cf4c4b39e796b30a9833f59f355522d5b127ac4cca933e0d73a291c5dd1194570c43d52ebe700703c8cb5e0e8999b7f7660d6b32963c6143d73375f3bffa234086e43a2243bcad472769082dadd9696ad97e473cb85dad15dde93f82448dfd5a07fce5444ee9f1fbd4cfb639874d3dbdd86c8178c62f78b94479ee6901e30b7d3c00def4171216f8f7cb14bd19cc89db267efa02eb12bff8c6e6af186079ba03e1258e0c06f866dc13d9ecfc9536db4f3fe5ab9f4aef1ae8331f454b1997b374926fbf9d60d2470155bd6c2fd7b6eed6b8902847014f119477941a2afd02b1a7cd6facb1459ccb2ea6d20a27ef1fed1fe3f9130798be88ef5b823afb1ed3c049d2ea507321e8daa52a14485fda1c70dd7eb6983060f0ce008e9078570cad691e7f32363d98b2bc7f045897faaad8e362823d3fa729c667139702617e7d9650a1a9a70b539543f1e9f5ed2f77491ae57cf075ede4b5ceccb05833cf7cc5af9c5ea0fb38824ad5fdeb096e1b8d755330ad98e9956fefb1de3b2c4419968817723601bb4ee1554295434b34a3510a0f3a7001ddbc136a8145d7465fc26d0f4829352a9611d17c37b4973a4625769b7802d4e1aa801973e793caa28805d4bc9d79d084680509998a571d2ef9af156ec64d790e0fa37ae4a6cb10f31033a7a5570199edfc50447b33770ed7abbc30a2c9149ccb97eec0932c346e8183c76242d0cc96266b75e5f53cf190683e322da0687e0af43c79c9501b25c5b6800d4a4a9dce8fa8ad5c3af7d98f38cda3fbbd17edd760c83b6a6cebef2f5496eaeefbbf479ef6ec61cc3b54c8870c372e1c42c0b040156f6637d2f4fb7088f0325da2a4183264c0b8ba4b9c15f8575e94331b98c8a9c93a84dd8022c5cb263d060419fc2a9f3056df5d529eedb62721316999d0083a7b4a7da3c0a9b9d9b5f0548539b950b195ff71e53b2df49b9fde6fe90ce05cba77a0a0099285688eaeebfa8f92c49a935baa0252b35f4995f72311f7534f99631f91f7247e01f43b8f3c6d263b4eca54416e16b1dbf808bca11b805926256df762786fd67d82133552cfec01a5f458e4a5c788d07075c7a22ec7ed6029ebfab7c47300298c8d3800232fbc23389ccc4296211bead6c9399726391991a5ed24af6348a06d93bf0f64eaa297bfc61b043d6415c6e1a89f86074609d12f505575640dc0cd8751605744483a0fd94b985dcd503719d0ff6e7abec169b891738731256be6719211fe6de38821b4e417455fe7fdcbd65e5e85fb21466471f3dbc99f2e3cb029a39addd19307627698be7f07ec5239c504f67defb3344c2713dbe0abcf6834deb6cfb35fbdf2294f80a143cbcd4aa25843783be8fffd50c1e64b6d17accdefa0037f99b1287374b3850d5594fa28214661e41128faf73dad3ddcf3eb5c7e3400f360d9dad4c12593b5281f221b1d3a35d6b27bc792d771ed6a8e7610865f07b984d385ee1f44e5d0f2b72377998f7cbe1a4ccc44508b8aada5804b026888bbc1366d260cd9fc42892369fd8f89ab6fae3c231f8ecb2d962c47565807e83bbffe9a4841fed625ff9cff43d42123002f6a2d1603d0c55da0677b7e739d5c51d629f0ffcbd18e9d8e8fb5b1c7ff6220413d0288de6e89446462c45100e5210583c0dd020b141ec2c5e125e4d6eb40f8a3ec7830b04a9c68fa865f1482b7fbb9e6cbae76a6df4253a0c9b7d9c3921eaee62c53f2b427f18c1e914fb22e4dea5e41dc1d3baa4ee7a1d11fd43ae214ec6b42da4ae6d5f2d41790760586f5df3f8240d866b69848200985082184a34b767d4a8ae7ea1556c6982a761fc7153f2f31e1af129da4cc37f32fb874393ef4917ff5c7e5de7404175bbb8506297b3b623ecf3b2afde21a7064c6ed119688fecb2373453fdfe4bfd849ceba32708e816f5eb0958762ca515c28594f59e7807c96fe9d00e16983da78d91bd51b4773c149fca5160f44795bbd9243515a346a07990944162d934b1dc39f8859648c5ee213e1b363f0502b484340bc09d04bb3dec29c9eb8ea7fcca2d22f4446cf86a77b9d18c80dc2b24c3edf8db75c853afdf23fd26574aa7cf9f3ac1b1d6d6fc3f07456fd9a24c41dd01fe3414ae2399d9139c5ce6282251cd54de06d4a2c141819f601043522d2f3405f7aeffe295df078c51abc78417b7d2b15b36451ac4dbe6f9887bfdbf2a68b6725dca28980aa36186a47a966a5d5b603e26121cb285cfe1182d8d468c7ca5b77e4de61055eafecc9140e7e34214dd2d8c8ff98abdb197a3f59e8c0e88c11f8e16624c28049c4514818599f8c7be12e1b545dd52c837152bd5e5633314d6db5eb310c12fb443c75c410f1812c810f01c0e6c61837b8527433645e50b8721dcc9a5b31b255b80ebde1095e4d31121b8454a81283563fb2f65816fdfd54f99e1055988f0354618015c18aac2eb04836df18de986865ba2b3710bbf7eb962ee0776ab41dc73b0e9804b2c7123fe3a21138b358f50816a7b21fac07c74c08f34e70096f0a69dee6698bd905ec922191d362ac0e27a0f7d92e06a45f6023f71e5ea0e3c7d687d128e23cab3831cc7e80f513708a6a620dc53f27c6a6e83de9c12bf6049c45794c043ccd39a1c2a1cebb9dca169a68b91fdde6bf4a21abcfd64ad835b27b2a54f49f11e7b1a6051b8f31e3b8ca3c4aa2336102b4d50da098457555181e9e1aa7c185fea92f0e490db0ff3d5670aa925713c10d571e56ab9e92c568e8bae84e9f4013b05d4274f9a1f9fd1204d00eb8e93687aa54eebdad1d8d9a68d937732733f5e8f376186f583455eac2e754b802c75a0a1a3731178f1e0d964e930580d119d16823535cc0d9b29092e75df90015560ec1a1e16453979160afb2bf5c6228aa398c77b2222617982b0098785286e0fb3eab71013d0c446db1ca7f6af9f317f5f95eb962f8e411b923244509db681b1083ee3edd7752236a49f592add9579f7a941ff94177c7d337804e41999ed51acb12ecbe9c958a47febf81ffc3beda75712c1a8d5adff814d0868db6d54aa5e34393baa4ad0491cacab3456294fc06eba87f88d8c2d4ec460d9ec003b04cb0434c6cb9a3dffdc1d59d1674c6e202b926aa233525302a419d43dd22fce9beaab149dcbcb34c91da17d01e4747f2b6c7b69ab600c4b8d711f17aa1022e2d19000293e254137a6210c080de917b0194e9eac7366069c4ec50e01f9a3bc096d2ba73f0f411d3b09c58deb17834d1c09b005877a8b89e0856802014e1294a1d5b36d0cb81198329ac5f9e342b63ec4239dc69c0477a683736af9e720932c284661e9be948ad6f258c88eadb9fb9ba9f11f8353bd127ad3339100dc0caf217c7d0f0cb310c89106db8e42eaa22897e827481b609fd52ff5022de9d48236f0a4736d15e021c55722453219a737df79d05f04f502058d836d057fb1589dca8f9a0e6c8a052b21a4e8f7468498d2126680b38781f1e2f0ff0b977b04ce81de152f2d30c75ef3dd863b69abb2905e876d7cc1c951a99f8f24f663288b97317540c966dc743b3c306a6cdb93f148352071b37fedf98c4c90a8bca58db722f4c497ad6fe12e02403bc68c8c8e476fae1b66705a46152d40f568e36184080646606ef34e58837d80b841637736db1b851dbd6620dc03ef64e3d32afe35d83ef440a6e58988db9df75c8f057b291d96d99af6923fd9894f178fbaf31475a43bea5d67ca1d24b7b2e9165eae25266188ca366e2ac9fd6bc493b7d15486162826d4310405f4d647eeb919d4fbb7dfc0fc505a2f10d8988f23f6a92eda3adecdd92d3d5834172260e53492b354d9f7d75eb72c82d07ae1225e0d4fa5d233a4ebe964f4b6549e0188746d7edc387726c2c62c2f34826dcda99595e714ef78cdb12341fae1da4150b5bbd5b417ff9588e167d5d03a0f1377a673df157bfba6cce29e8aeb67e8082dcaa14d04e7846931e3563e43b7e83888614bdc45bdd2d5420ac6d82abd1e9f247235e5bf7a8affe09a6376128c8bdf9f4b966957a4fd7ed5af0d4cdab60d6be06649f48c4a2b8579ba3e81472dccc120e2a5dd4d796fa2f5ae712bb93421e6cf8b4beb6d52dc88c0a6d2b74450a3cbbaee9479c1ef0dff9fd1738b34fcda5561d784208deccdbbf62348d862ae674c32a7317e6358f28d57fda202f3f8f9de24fa147bbd22d24f8185d26fd0d93026bb69829155577c262eb2f482d7e1212f60ac6930e1fdd7302be128eb3ae0753eae38bfd23718289e2579902254112b23eb9311d0308cb0ea636118e0c16a3bfc3e039a5801a133323dedd533c7d7d2ad8701883a20ea6aa231e19ea1d4dc8e12671fabe23ddec2f078f41ed73cb0558117f461002d798c339859c38898ab0bdabff67a68ac0082868d75d9b2f6a8e2b896659c2f7c4d9a522c6f0ec37c3caa7b5c3f1c431c5654574853455632a9823c15e4c48d7af0920ee480df7b013ef92cbcf27013b2fa4bb640fa1c2989f98c98d84d2e4d1528dc464b649ab234f40ea460305d2934e7d7c96692ee3e424a3d96c558f078d65bf1f469e33b22c204c5c00597e8264dc57fc9caed719c0d1aa039262145c8312326c2b19481173565c79b594ad9ed1f6dfa2634c26e997f66e525e2fd665e5e342a3556038df28190368f2eb66f8805711d6121171501c6f01983c2e6399da62ea78f4a573568f3cb50eb975c3ebf826fb060045e46428bf749a0ed717ef2c69782dd1e74f91509412ebc1d0bd88349bb3284e6b0898b3b70759429f2b5fa8d09eb6a6e3e18b7f9203844d24e98f3f5dffb98d5a3b01a83d7c13ecbc2103eec82f148edd1b5ad907a3c7a43825734a204a97c4945cc4ce632bf1273a0f0a50b723890f0a5e8d15101ce730df6697b89cb33b8765efb39998ceed1f68bfb48a46af3743787f1f168715d72545310761a3a3473757dac99b78a294009e6591830e65ee034967c42a35fa00e73bf349d56337f651d80c5ab48d93a7b5668aabf2ebebaa48c607d372eac76392e28a01a014735dc71ac6c3a8e53351c559bf702d8b617e1bb180021cac81f21521f7ef0c2d05e9de6008032614c11dc387e2ff5a4705a557fb50b7fabe214ed5a226be7c87c636d23e82a1c096e727fe6be6b304f3e5dae35357e80df5d42d52847ac78d2552aff79bfdfacb03a10b65e0be087b6e1c295ba246f7406e8507d3f7e48756af163e389b177043881389896ab7693b28cb59a28627846cd1b8eff6dab2370d251425e84e1aa6e4795c1264abc9c88e5aa1875b95fffae15026b44895380b30b0fe6fb212c530da78aeba2ad6a67286ba19d350bb79a322e61392ce6c979b42babc68937bc21b9c24109e041ba5d57e4b1c4da1fd362acda2d3b487922922647cff013a803faa17acf7c478fc255fbc005f2040219c8a08e1b8f4b6ccdfafc92f175044cc381457a8f39c7e566f7f40fcfe323984a74fa1e15f06d16d2364bda34103f9f014270520bb557e6dbe7e463ee26cfc15d93104d56e16d23d00c8cecf928984252e29086e7da64c3d0dd51ac5747aa08f6203469ec9fac39c4407782bd5c461eb04970872a22b0e4cc8dad4cfde3a66f1d9d751df63d40ff109924d3e3b5ef3cf40ee68353be40c2ace406e493980ca8a03c85977a0c9fde20ed16a178a91b66c4c9d000fbad45434cb2b19e7b574fb0a2dd92663819a3e2281eb38792fc1013f348ff5eaa9e0e773603c0deab12a3376ec17b7a27a7bcde76409e57f6fe26eb0ab4aa68d94f1dceab3614bfbb6d5cfe9bc579fd8ac195b7471e25b6961d9694bb5fae70b03e205173f29e6fde3c156141022f6f5dd0fa471a533a79647c068c843c55778a9b068fc32f337c89005997a5c166eea391c19747c41798d736e5ccce43b94712caa66a2baddb05ff86fe366d25a5fbc89e97384ed0af9d8a5ca89d70475c61599fc5c7f508f874af2d026ac68c52c3f7c402038e678aced993045069abdd55a88c9754f19111526b19276309ad348ed5127424d681eaabc67402e64f6421907d31e804add6d5920277f926099cce2025ed9381b4b963b544bdc6e4aa78cd99303a404cf042ff70bcc301afb4d96f2b482f184cef61d7a8ba7fd105d77fa4d53508f967369c31c6e10236d19ed2a33ae5c2492151f9a49a08394eb395906555285cac56e70d7ae628dbd16213fba8b6d0519adbe92045fe7b2bc274585e1d896e5a268de4ad916c0eaaaed091c058e16b82adc520760f8605b6e23a2b4f44d53508f967369c31c6e10236d19ed2a33ae5c2492151f9a49a08394eb3959064645232aef819ca98418d2756ad761b071fa32830e2361c5aaffe2d10868cfa6b5bb6e04250b7c7de540ba85889953cc59600a67f50ec43d6ccf6ee20e3381d86ff178575897d9d44eb5264a02d6483620daaac40fbc101430d54c597d2a718b1907d31e804add6d5920277f926099cce2025ed9381b4b963b544bdc6e4aa78cbeeb84a5f4748378f062dbd51a8f635f31728377c9739f4327910c7b7639697c2420a70ca5a346554630b5a3f8d6b148592b55f06d08b55a85ec4ba0919a00c4193d7495f226e23d14d784b078cabea43363c6627e108590911aa13c028fd9cd999cc61e18474855f36de3d193da40488fcafe637624788827c775b354f665fea68d94f1dceab3614bfbb6d5cfe9bc579fd8ac195b7471e25b6961d9694bb5fab03e65a64efb761c59427d18f294d808ad8de560084b1b2167c1cb413d2800b15e067ff6de1044d37ce8d06ae2335c3b45ddc750bb19bd14e2919caa8d0cec524d53508f967369c31c6e10236d19ed2a33ae5c2492151f9a49a08394eb395906651c47138accc90450aef86f65104569e1f0e1bad856ba43c4d34fe20c6a646a137f976cbeda15e8880c8fb5b3da930195dc8abfc096a198384aa2883074a1e5392bade0e59c3aa6a84ca94a357f4db245d852e43adc10c29171b6585a3fa879dcf067b9da25c17463a2726b235ad77b89efd47d6210397febdd118135d49ca56cde06ab495638024c01bc4213506e4364ea96d1e3259556eeadb5edf1c5b94c32a888ff8a2a0a741a7e827081451ddced8cc188a222b4e3b895fd2e176ee44d07ebfae1d5662f891a272655d8c567ad26dce8d121ad795d6c1b0174e7fa17f987787864448dafd636829c962cf42087366a01522c286a725c49ade16096b67a4f352faa460cba923ecd1ec0e099dda5ed34ba675a9a8910077ce855c2a7d2de6d5939209cffd07a6ec2c4c1f8f22609f5e81b8ed11ba27b494a4eda465ccda219c5c667e5070c22a23dbf4b8cccc84ca1ddad472f079ec26b9aa7a7ded08e202a0b17f6ed33a0764700202c88cc22df730bbdae47d5e77153eacd5375f58b1977fa7855e99ed9cfcec216c8633e52940f4cdba978c923801dcf618d5691398ee594631c7479caaeab796cdbfa749ca3571f8cc79a8553f1ef39d3bbb938fd7be594631c7479caaeab796cdbfa749ca3571f8cc79a8553f1ef39d3bbb938fd7b32fed301d5cd61dda18705eb90db4299858f7141d3143fbacd6dcb0dbb31d63e96bd1e7aff48071101f81016ff9d63415f96cf9bf7f53fe8a07d7ea0a6575783dda16c2d7beb5cf814824ff208915b87777bd2707835dd7de202f499edd5a19b530f39a91470c539b692183709396ac6a873f3ac10dcad84420255b7d0f8954f6475f7c7893152a0941168c5c309587ab62192868f6721ed1397922234c8b5e379a0cee6a8038ba6ee3c8d66c07222f1a68ee2cc9a0c2f8825db0cbea2d57b6d8bf0de7dd3afe63e550c9996f7d0ceca89ca67e09fffca1c5bbea5d356a9baeba5c3b33785e4c77272963aac2cabe1c727cfc095ac98e30a1b47aef98a2ddce0406166fe72041ef2b88ed6aa4956570062ce889989cbb0fa911de12826565320a829a69ba93ccdab5d4169b24cad582f62ba9f85c9c3b5e9c9bc42398587053526be296b45e540d9b939043e756c0d3ae2b7dd22dde5fab63787d05b44ebbb16e47f358ea6ea0147a0e255e18530ea8333fc0b4dc5d907dd51f37c6750425f96892d0981824d753f67b83253ac418053fff9ed0696c6b08765ba862f349f51e32c4f8b74728dda8b764ced4369858b8e52b6e76d3f5684c6666d454d571ede8b0af5e6130adcaba0e8217ae3f3c7ce72a26d1cb55c0a3ff684e1fec78cc405e738ff7b52e33e4ab6ca1af78be2b16b946309d74eb340db7da595c14924a25955f78ea7dcb2cd7dbf8ad01ad1ba08d84a15393ea39df471d96d12ed1d3a1a870ece49a4298386d1a0ff4a7f6a87973fbc8e5c40420ee21cce9db30ef3e4e514b4b0dffb720530a866b4f35c5d4eac0797f077576e77d4df73df453746040fcb44425ff5df35ea89c3ba3976737de47fde726ee1d66427360bec9559bf354df2bba1ebc386205315a7b06d920d1f593e30997b09fc0f8ba6ad9c288698f97aa7b902ef901e3e93f92630602bc42610d6ae18cfc2df4e8b08e240ce36b181c4fdfd5b5de0751ceb664ce3889d515623e653222186f499382b91d13a156f1594e601a289e82e0798f564f9e44a0660e6284d79b7b9b057b4356c75502917ab91dac0c304fea64293ddb7e9ca839fad5346cb2ea7e72779acb59a5926d2ae1f479037f11dc420f4eb4f72f9ca3cea4f37bf3ea05e59b3b1631b02f160cc183c4198794ec3f14e45362cea38aa3fbaeb63d1696101fbbc6b325f8db7f70e54e0a6890e7dc9b3c16ef9c3fbe01687184285ccffb9011c044bb55d578d166beb2263393245e3e12bfa32e450b356224f00872e84c6ae478e534932fb0721f24e3a72a4797e4c08435dcb19d6b584e16c4263d0ade599b6dd5ec6eae13999437be9ce37c24acb8c54aa7b46b5c5ed8b21b6b861df2e70a9d83d0032fdf23e20a6dc6d63bb713c2703729f293f42370ab760a811417ca2280490155de4b6bbdff46b920aee7649953f71906c659ecb67959a484e55e55aa7dbc27078bec22af0b420d8d78bbe3816ed94c1bf1e98bbd038718fe9e11b69f51b1990fc26588941931f8b9c79a1e0ac50d52ce1955c9a7aa9c895bcd1f5bfc66aa52bbf7b2a560e95a22ac76723ecf062c3f6d07f7c3215a921fad3a9df7bdb1e9a468c7ed44f3bea543098c843848a500aa7d4002966b53215d71dad015fdcc2205129607aa3c5718eac2449b51875e36907c8ba3e830112d1599887a8597ff1c60c32aa37c024f7d9ddc5c1b4f20afce8cffe0d3bf7af68a295db29137957bc91388245c0a65e089192db9e1689a331bb3f1ccbfbb4e40e0dcb3a68679ffca6b6590076f6f1a1886f1e415acad03750fe55bf85f901010b32db2fe41ecfa1c6ee5e236bb718c2db6986200008cc3f53c6d92dc47eadd9711ffbe5e04de57b148204ee0b9fa6e4aeef26342d5582920df5bb41c3aff8450406955443df799597d9d5436fe4cda080cf3fc0973d5ac00f83f2dd6610e79fbfe864e307581d9a5794a4d6c3c1c2e2fef83ef44d49f4a6f7ee3fae89bd422ba294f9dd2440d59dc76055fbecc1d971c962ac3bd840871c04a56939a8de66d3a6cecdc57e5bb3c92b92772761c42e85b4f09f194a9e4e274e1c54fea7228f41a66299ff62ac0295d183f0de9a0ec9c1513730a24dc73ef801cae26c443b59b4065fc2aab2b64acbaaed734a248857137ae754518f70d71c9f1c6262f82445af0d82c6480c7c9dc2b0120f7f5cc0f756fcca16f9e09f954af4610422a74cda6fe59688f015429a66dcb8771b48f766b1f2a05fd59ae5b2fe14a9ac12570066dc429c37a4ca5256d2b63e722d628d9872b2ea75d633a5aded7a1851b57cb79cf91c6074137a38a8b8d70a3e8e89f77f804309abf540063b57054e6cf36913b5356958ca7e83cd57f51bce6a928a2053efd80a167b5656c51073183c443dbeb57820ccd055fd674cac258d3315bd6595f75897ed6ab31432bf64700a66eb6bc6577a83edd277bc517504c3b89fca9e58de7d9ffa848e1d416d088031bfb59a8ddb154064824d1d6dc86373705b287654144fd4701bf2aa4f672dc0c5106e925540b5f5eb0ad78336354bab57cc18764f9b18a2092d41b2c410a56cf1a77b6d99e26606b7be083c15f46366b9b70764765b3e7e6ba31030d1b7eeec3715687cd6e0eaf307413e2076305e2752b7d25d291c8d45f92f154d70dc802f7f624b63a716e6d4014f813c658281e6e2bf023d4407cb84aacd5c4adaa982eab124d5f0150378d99ae193cb0ab2c6c3676e3f96bbefd30d752ca66bf3c92820d71706da5bceffd85cc5c2b783f13790b4a3c2305d363d108ae6843df4fb4dea88cb3d679b445703214e26dc48c8ca279c1b678376e7b0f028e0701440b74336cbfacbbd2680700fe21259dcdff89d1fe529e7c64d949020ff00c6b1daea6ee9be4a9333f98c108282eba397cfbc7b262a685644d3dba44abf52da05cace61aab963c397d4d43ca0fc1247bef689e776a3a9bebf693c27e757404cd783fc013562eb56f99194f649b86896a97639088fd1d678ecf4ceb79abd2a6924b372b3a06e28172b114e00700b9e8f99ed6c6dff4858bdd7f4b5787af11d447002ae908c12c29682840897913ef0946e416c061d5be8e11378eb88be3f3b2dd0e33afc828c358cdb1a76f98e05d4e5149259a10592a8eed8451ac9e197ef61a0e6995a2c6dee3f877587451e52a23f664d3d1915693239abc11bbb1ca0a7c761c0a858107e988ae695666a73f8dadca547c50b61b4bdb00ea4184d06f98057c8d95abf0f2d061dc1daad3cc0a71b3d963957480ba936970816e90dfddb7e300a112d2346b15590b9bac5a73281ed024df40ad52a918bdf13209a68485c7913124474ec4e4eaafbd6ef6e6ee954e414aac3f280c4d7a5be93d9dc1bbd8c373d8ca4b490350c6de8940efa8e26dacbacdb133a6bc5b041805223986a4cef55c060f707c20f4d46ae4d85b4efe16f7a24da3d1d91ebd71f581f23a4dbefefd75632212b15024eb940558ebe088c31da24df77fc88084c22ebd3dc5f8b8f54b82653c0fcc200ad0ef6e121655f35ce3c5232dd5c4dcc4a0d9df311da0ad0cb6595c7ef4cf960ba45ce4e8e347cbdc6526d1b0aff46c6e1b45540ec0589247c97e5c10a4226737347a6e99163e2e1f57e3e1d2d1a8e63221c5c294e00bcd79fc96c5d6361dff5dc3d2801c8dd88b2899952281648f11aab116214d0ea78d9a15ff8459bf52ef7cac9e8800fd74b1183a337f5c999f5549d6c6a389b938eef4ba2da8817578c50530b22ac949478ffe8350df4116e2ae2c8688bf75ac2903519ccde5166df8b68c3ec89c4961a709e457516c7d8bdcadaf30a1e63fc73369215e4b9757a834abdd3eb7d56a6832f085a482435d3250b0e6bb2704fc58d85a7cc963db43ead873c3af071f6c1e332defe5ed2d13402c1d60327d1aa56180954868fe517db26d8a51ffc36e4deaf96e484a65ff8d2f153c4ed7901ce276de4a9368f77bfb5eadc1eec8dd14db43f54cf336cb8c03cbca2390286e74f3a4b616091c04c88068ced0ab9f4f984c75794855b146f12c1216ae402d9af951e39804ef36776518e32cd49d467941dc70d737828434a76b08b336defe656b1659bb4249f3f0f0f64a62932f4358a5dc19e8329d430482087fedcabc0986d7ba7f4b7cf4b44fea33fe2a827c22c644d769090886c23d4f3893404cdaddea221b26147595efb45cdc2fbc59115cab26516423b1187f3c57b0860f0a537eb13a7e6b0bc2c353dd74661245558f55c05e9c931275cd56b5467285dcde9d30b58478c8a98f30b1f1ddca92116ee47d255e0990638f380b7ae046b26f234d07ad5cd11914fe0280475b08bf61dfe3d8217bbad969d0c43b8d0e7ef4800f77250feb9315a16063c8f6fdd028cb9bfce1b32f6cfad417af8c196d06a9627efef76b61ae44d79dc8afda46c0176ced8afe552dcf13bd457fe4c9a6e0c1f8993ae807f452e56c8ea9c06fb1f5267dd2be3120bc45a5b830e6403e06ed2c36ba70496ad4f84c2c82675818f5ade977d0efd2c99e02718886664e59b33afaf3b2f0e654f27e054199394df981bec3c6790ef17b34926f628f8b61bda3c275801e0a23c90549746e392bd8e36929e6b2b33f140b762d5bb637e94889fd92a0974589f1c6ccaffa5d48272b25d4654b0654be182909fdcd825a36eee0d717462ca2a519e82bf0d669626515310e9a013318fa3c7d741a70b419dca4f0239a66fd3a1f32f20dfa3807526ec35ad2ca40f036eb473d897c9c9286abfb95e21131e723287f1b35b25c565ca81cf47a37d9e614ceb9c9136a5241e9d8ec0509604c723f00b8ae8fc4e620598a61acdfa2123a124d0e5e9d321ee58514f6a1dc8dab329091149a360078f5aef1c2ff8cced3e9f6d8c15c10ea98c70cb8bc5cd16d88bacc4d616bc99b5d9c98bd3660ac74a88777381b0498db015d595ae3bf262b75657702ebff173d38e2d8184392725e0aa64f01431d8f919d0a5456213ac26bb20a956687c80fa39d9e0d6a38c58782211cb54fa58db10c2b1bbc3c5e07eb7c5ad66a30251a88d7a7a1484c99cf3cfcb9d464945a35b93e208020e5f0c972b8b0094768781ee5e27b51c492f58373ffae5656e4f7648fa9f39e05e833e159f255015ea1f32682efd4e39ff6e630c2c6c39d13bc92003dca67899b9a8caaa16ca786e90ac41882b365f4b9f25064498b10c5827aa9e3a3753a87990fba0fb079ef75087fc91c819f618bc7af4f8c39e76b2b4fd95558d46f872df47f726788441528792facb380f71e5d12d080203f52e58cd31d6ae6459b2cfccf9436aa2937cfd617cb8fecf4d8692f2ead88bfdc2bff529f035cb23cf99c48d31dc43409d69c93af86d8a890c7ea4d680e9e8cb12b954232a68fcbdd297425f3a1c463bf69a57bfae608821b5ec41fda85986e990f8c8943155273c7e781ef3e3f6679391a093f681a76370dbd2aec9a40bee89dfbddc88dc7d7e1bbf06f874950557703b84e229e38702371156821192ba7370d9872a3612f0714e445b26de7a3e1af4156d28a21a0d871dac48fc9d6e4ed29b077f982497eecfaf3d8870287d6ed87038a181822dd95f6a9d1b511e10be688eba9eb7d1bc6d668d24527f1db98214c9515433f037ef578b62e28aa0b28e61f07b90a8f78c05e4e6a6eec74768f1715da2b9cacf53ddeed57f5a0368266545c69fa6364f10d5d8516bfa3bc85fbe3a149e531894b472cc323eead65160149f47083e8cf0df0888d599a7efb7866b2a1da5edd292f4d5a6e8e0ae098f057d9ed2eb00c670085ea4cd544157e71e221ff74819ad2ea4c3057cb6f6fd77dca89c2b2a05aa1f07448a34adb9472952e58fa57867d24bbecad1efe597b84425114c7c59505a59fa73d1038d9fd5a204873f50f59ea69a32cd0f761a95a2ad059bba2d2e274744a1c4f4a20f95c2abe7815a0a0f5ccd5c2b08d9fdf504bd444d9a77a3ffe53ed5312e167d76574ab8681da54ee57dd51bbdbfacbb94fb404d21fbb18954c7fce86328fda978e7daf416cf688468935ae4981689d9f8fde2fc8786a657a42fbed38280567a93bf2aae0e65b2a26dfd0fe5dfc8b826194b7a5beffa9a5035340fb4e362102022f8222acaf2ad708cd84c76b352df0a11de3e2a2a40c548e661845c3cfdf080aff8cc0aa83ddb510e7843db7b678a3bdef66b08f74d29291caed659b2611923f75d5b01e45b37041a5cda57209df76f9acdb8d4fc3ef0964cb7f7609db990e35d4a76360b93bfb6263a92f98b0656adbd039602a655a4f543e0a62209c0391b033acebf85617395efe6b0d4355f7124dbb2b88b1392415767cb5d0ec70edfa333ef365f986467accd72a6c53016dc8b9c924c914b78e154047a0ce94c23bfd46c27736f4f49ce9ef1c6a19d300d7e3eaa60fc19a5edacf72975f1e927928899573746217307fd87e59d4e70f4b5af67449c99f4946e6b3d930f1dd00ce01a20b07fa7ea4f81e8d423919262ff4c0599e65a440db93a69ed33c269dd612e4ea53dd0de3f7add6caff2428839d7e35561a44e37ffdadf78f832b6217c88308b8a5efb2f6e29ff7cb19e3d438786f66e4b6842511167a6f0d15a273459bf55b26fe7ad236b0f39c91c546338ff5ff404595445cb16ce11a0a20b90e30570c935215799bc51134c48f5c38c2206c9a8ca21a950b128fcfe081eb2fd30eafbde36258a803a22a0567fe9427f60832a92b9437b0081f91ddab5f2658e9c3aa7ff40c44a02a0be8a0cbd7da6c163599a274dc47fa353259f847d03fd7022ca8be70394e41b4f12fabeaacb8816f416d820fd039274f100d4e2b7500d9f5cd41ab51fb7fc3551cf944b02d43d607ba49cb6a51be3f429e0e8ac0834423db6e5c2ecac19a59835f36ee61e38394ea8c6441317bf8517b4e80edd361b1e08c194caca4d2cf02f0980984a81563d849f847921865aa25df90d4eda4d1c3dbbd09fec3f8f049d60c2d1782e664bc5e8f1e237aa3aa3707206b4e34d9b7b3b0abb09d8539e7016553df892aa7c7448e01429fab5ca49c951f2de14ca7499c63c858a02e55cedca400d3ce376d916442360a301ad30581854d3a2b6c8e6c4f66b161631d1d04c1cc033678ef40b17a7d618f500b98f04ef69af7e9832dd3f2c57d53b5451bec4f39f1f46c521262ad726962e919ade7e2860aadf62fbb550c71fd0c7a57f2df5d66b27141b2eb6161eaa99f1207b028e0112deb070897a3b9bd954f0a1e47a085effa62f635c363eec2f0828a31056c5ca51a7456c425ad666c0c500e305f5293c0e55eef46251407dfcb3ca5c00d0a514c1633209eb45b1b13785e670f034f041df671d88aec6ce467892d6a800c44eba7a4c4ee0ff190890e904d0853b803a7e263e812bf688dbbfffb583e3b21bb2934b539e45e4be6494c112834455f13c7c39fa9af24c7f805a26748890ffad550f93298c83f401888f9cbeb90a71822debc3597aab32b94ca2c43d3d3e2e4c52ac36e5d37fa7c34ecb55416c1efaa96105260b2972b9433dbbe53252cfe27f14070dee8b3a7ff2b9e71902501a5136105b05feae69c024385ff055331e4f184b590b553104cb9586e6e4a0f1950018e771f9d915acc9fc7c2309c6a5e603251198709d1ebcf763032c85313734f262fecdbb228694b23f8d1bd81f88aa3f9ef16046ac6e20aa518f0fcec45f83b71d4a152a45e09782b8c34e24d3a14ed915fe77bc17865a1f5b7f263be7b85d56901b25e5f6e27ec6e267d5f79f9d198d3c98d18f29bbc379708a35e0365cd0ef9f25c827347562740d9e6a83ba12b08ab450b57e50021399b221e2c74c557f3b2c880739d0a574d091729da6bc1544069ea894dbd19e73b166d41c72575d0610da966f5dc2f8a630674fdc8d525064e774381e6a1daa396011d27b1323d9e2999ced77bd914d276b0a1e8ef7bf9ef47aaae5332121753b20a803ee696aa8a442249796fcabb4917d511e9136667a1a5d10efb1917fda549b09aa195cd7f1ce384162fe026e26e3ee20314d38a87c88ebfe902908f5ab291256c75645fe89fa7412697a74244d6e009fef4c79cef91f37cb9cc635b8e512e56894764bd25ba829ec6dbe6765ba7c1897e4cc98e73bec6ea9a2fcc7ed56e8a2382f4146313f3015e6dcea8203442473a56c9fcb4a82f56296d09bfab716652fc6183c276f783218b865e93fdf64ea27162de5186e66ed25a7c0bcab53c2b81ae1d59a03f8cac3b097673806c5ce377b5b75da6a3b692b9caac389cca5d61800c85201b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf24178027db43422ef726b9bd7b3157f171c73251a7f1ea66d09c165021d9f8e9871b01b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf24171d1fbab3241e31d1d138d58a304bfee4e57d8b81c8ea6150ebcad27440d427e2941935d2e7d6fc093db8ccc3e6544333a2e1db537f04b2f9159a886c4b60340ece2fef03e0c1f5809800abb23cfe462a993101d34d210635151150f587493573f20ed3cc3e3e8e7bad14207ffbc80595520a3db352a414213d2ed8b4137642591f09cfb49b15c89811b791953d19ec09dae585e785e941a905d07055a487d29c4e3d8f5b22420aa396a155302b249d5b4205a63469e9cfaf1d4746fa40c68b2f20be47f940aa15bce08fd2cd8969d3104813d59bbe8094007886d9dec28345a54e922088b6f5e1e22780f695c059cb730a4f6f4c6def756ac482e3418527e216f451976896ffe1dea61137fce222e3fa2b562e0812adef3a1f2e6387c3e286f92abcfc1e1283b0a785129ef8957b14c31dfd77a41dec98fb1a372611096fdfd57f30fe11c3be38e7588d580c69bc5c1a9693b1517d2593f0db81cd3ce688efb906f33bff58ba78dba246b57dfe7c2235460f045beabbfa2bfbd7ab67ccb45563abc9a30a437d7fc03839e1881ac7ce503edde0581abdada8f919796a74f311e5a7063a4565cdc7e12d123d251c74fe7a054adcfff6a231550e9bf9c9d0b3fdf83309e113d4872f41f31ed05279fe5cdd18c3dc3c2bc78fe9b5340696dd1b7f5b5a75e7c91312f2f3f8ada809558da3415bb761b73b6277b92757a5881ee9123c524b47f58e85692a2d8bf044e7629ede8bebbb83d7d35edff30dba1865edbb4959106167ddafa0f6103b1aa983bcee01a42297b5ea2113e5b3e7e61f73661953dca1642260b1492b34d5327355467069ba2c334c26a342c9a775a9534dba721f58603d44d046fef3f6206cb543e3db108e201632218476b699a78b37b370ab1eeed4a2796e3103f347ebb4d86fd6ab7c7f18dd19389f452a06357109bad6555cbd0491e76e39b5e06c03b10beee53708da24be641300193f036947d980214f8f0396d726d3645ae9cdd6d0f96f7de8b6e5b55509d411d85ad0b3cce38301d7d36b0719560ded88ae1a485df10aa337c449ddf9bf39332b4201d384f67699cc1484c297bdb98c34937d5570226573177d002c46c7d4552639b53d0d1cae6141ee0204e6087891b451b66ccc90817c411ac37c46b735958cd0111d8f4e80fedc51209909c772446d820709d4e2ecc3ca2eae5617e50112089fb38cee01242f9c30b27a082996d30081ff12aacf96dfde31e00eacc4e941be404cb1c6714e1c20fffd13e763e88d4e47f9201f003a05e5554fd2e0216c2c71e8428acedf5953b66aafe5d568cc23d3cd779583e8eb1300a3718d600485787fb07c5c833531bdd78052a3ef1c088dad6cc608bdd5fee4a2bcdfcf759bef7bbda1a9e58045a2b02b30bb1bb17db8c31677c924a83c989dcbba76dc6da19948cc7a72a0809870f66e2599373ca029a298817c9aff4b35d255520b74721883b2dd0b3c89a2f3161a0cba1c944440a1103252de9bbaf81731c63447f572bd38710730b80f53687a021a12e7c2256020cd7428142b04a3f90599966e868d3becc076f655a79c088d3047ec66ed8820de0087027c1bc560d60dd625328a99d8fe93489fe1326238b3fa2a57e99b65456086acc4f83a75f805191b2da522504b21290195440e6ce0d063ffa987b02d2a525727c6dcd15d64dd1b657a8d68d80dc29e803f17ce69c1e74a737a2ee2bf0d39b57113b83656911aadc0e12b628f2a61bfd28ad71d76acaaf1197272cd1b28046a0deb5890a759233b1d43a9101ea7ed01505da2e81e1058566199f9ec7dffe016d2f1e0561b375bfa2d0cca7b48bc82e586b89da1fbf73bf50ad38a74f9f7c732f633525fd09e5d4d6fcc37ebba735c071aa6daf9a4343ecb9ae30e100ef781838012973e76ab7b537c150dee84c59a56e8ffc961495fa83dd57db39401cbd6198bf89105521793d50fd9177f74e6e2b71cad468a80425c4116b067344d248fc9997d826417087e159986a54644319a830ff9ad057e7b80cffbb3afa8ba24bb47ac108022de67d7aa4fd0e1edf63a7064eb6de2fd7d2642846321d2149c07023dd38c4dfb849eed4e8897ab81739d7ff5a631f01b80b1578617cd18707bba368638b2d3489153c4c4b8e5f3e5c87ee008cec05ad0971716dd4ae1cbd65b24ac99adc735a7de6483ac01df4872be1deafb93e1d2bfbf166da06fd6b2b4a67f7e50340e9ce9f617a6ea779bc19f021e0d3c59d68035096b6a892b2134e5cca4f4594a0b45e5b2b2bab45c99750783f439799a653d821e5b9edcce7ff0db00f081623f35c4b482d750f573a086ba2838c8451f030ae7bcabf2b9bb18365cdac426acb721b5268a248a17527a39f7762a508a4877119be34e834042f76653d572ed7640582b2b2d07cc3ece1ba818b26a4d40c0aaa9d5de9f01c5545fa4c4b11234f0074910d82a8a3def97747a821badaee0549236ceeb807a97880dc4500fcce8ad8745a0dd81354aeafc208ed5c69f3d9d3ef5134b8265e91d1206e735cb485bc9f13f9f8ab073997d78a1c7cc89ad1e831b3abc6b059553c37f8cdb4cc11bfe10daf2dacbd926e5b663c8f4453233cccc1475fe1cd4b628958572af5bc75ce579df1994cce556528e22d41ce0114185dac7a6b87f0c08f4b0120b0e358b4cc08409f3d2c73bdceef665d1db284d6b6808c64a6ce31f9b8e02b6b85675f013e0ef37e6b1e084fe6a3f2a8abafd671943541a8baf10cd9920659bbecc1845b0f13d05ce66e466d5e97a2442bc951f10c3c1be0c01ff532b30503247b2fc014c5e460af74f5cbc2fcf47649a6710ab837196595db3e7bbdad6f1c144428da52a43bc4156793dbf570489acb6730e1047452f26cdd83187b5f8accc3313ec2df080c2c04bdb728b3d3bb76bdde9a38674c4de073a3bfcb67074c676960e8ba55bcfb8909443f1a74883d78f7257c58f32069c9ba14b6e3c252af1471c0c85720c5bd01e53fbabb1b01670722d27effcdb57d61a06e3d566c1b02069c4111c6c190fe6a8988fa2415e6083dc7984ca647661b1c6ac6183a307d9a30ebf38edc881cd2a2b9fce89f5ccd6daade388dfa01dcc2718da5ef0e5de03004db627f8b29822a35f4c8f6aba8ef6d1949569e3eb0250028b30a0ed139ab24e5b9006671bfccef1f5981a82f660ccbe49c332d2d82d2e693109aadc6e168b3c76097d7c1d09cca8b13d7a38da4d11130adfaee0ff7666601e664329fcdad11d7f753962fc2dd2162892b3734ab054858e0da6e4d74f233152eb67e4a8bd6b8845d9a62c38843d213d3e53ff0cb2ebdedda4cb8c6bb0b297b016cf8de988d87ff2a33f4a87052f50a1d6050b69ce76c36917cb9fb523d4923f4b93c7b735344e0b139247499fba025c7edb01e392cd61a593f775ad63398df3ff0bd5766fc7586b05a412a5970c69aa4b5a26d2e3130121fb79f5c68a857d75f9cf848cad2738e665226625672cdec5c1b41a3f32fe080e13b4fc3bb39ace1e2f3a471e3283873acbf4b765d7f49e2de5d4c19f334363266c0645aed181a0b1af4880212b4bc05d6fa47efda4c2903f6a1f6f6b43b130d7b1807cd67975f6430bb2aa43e88f41c5daa64f98bc9996f3728753bb9e35ae2bd95c73ee26628af67da972de17481d28326eef61ab42251b4df12de8a9dc21cd62d8e826f0b6b88d62ec9359d70429768ea1f2fa5bc9d1fb9cb8f78065a3e150e2077620d9ba8fc9a639021f4a176cf5df33423f4ed5399a2e0c722f67004edc4bf2f5da339f36a2995258a648a560100e5b335093ff179593f1ed894af02da07382e7c2c2582b9526383577034a9d6a69bacad927a8b2a07649c9222b73118d95135cdb59416d636fb0c334a1516be7bed5705ada7c89e4b74b88fb6e4e35e8b3842fe007a3677382b44990a81031b56b8edd541356d61b3bf99207a0131a6d9968201cbc97e6ea1babf8ac771518804f76db9b1e44ad8ddd2b89089f15879d91ddb8fb04ad013938606090e4f6e2e98f15f35fa8bb68a88ada3acb488ce5a51d19059d064daef4389181d2d2459e2154c0e31d1f87d00263e29cf10e3e9a88416bec962b108dfc325c39586b0dba1b3e7b7c1ad82f5a292a222be47feb3731d0228bd112cd1b3fd15a754954cfeb58f349c0b639ae9d2d3e22a4350b1c82f26617eab529ff1a2c214026ee9e3d68d6bda0489a4c082f9e0b094382f72a7d61d15f0b3930fd5529843e37f6d168da02bff9e22286dab9c0fe1cf805739811496f375399ca83c47d02cb62e21acaa427968afd7a474aa3e62a97166950dab9073876c613ea4a8c294fed64208d246f2950e51eb2208cb125b4c528125ad5b5c829c2ed55c98320e2e951c02a3c1d44b65671236c356b17f877a527526a4a8d07ec3bc8c58654030816bb41e28a92742cf3b9ea9c080963517711ad2ffc10a8d9ae4b52465276730e5f5a7880953125653743e6dee4decb519cc0ef3e8da2bbe2f5a3b2ce1d580bb8a2922e70a730d75054f469a2ac6d99fb94aa5a6e36dc9bfb4b8ecb38f5555dcc8ca9d33678dadb2b6be59d5117ce9afbb90be2a1adde11de493d4e5db636d181b18b85b92ea429e0d5ee9f899a523b0df0f5b1dd78c99483593a31d3d3e87002ed88146ab4383d2589fac5e77a2c2cd02e82ec5849ac3253f654316b53e4e7279715742699553e04e03e54752c0601cd3f37e20f40ff5eddc39b4ab8b1929eab33ebfcec9576774dc76298f603489fbadf23ee3e3440ddf71accac86d26bf4bf9eebbcbc8d4643a713537b9f74bdfbeebc529080648fa775109ee7a66e2c776de693c0ffbe5c75e80920127e69195892777a5f6287f47d1fc5f6bfd48e0039589a666bca57dc46bb56ff025a8a52a2e15ec9a37145235be0aafaf29c30c89c50c1b2f8f2dddd6f9f82de9e261ab33e27b5273af34b9d746a6e1d403a9e1e5b2674f4c29018e57643d5ea367935691d49a716b01253fc28217640ea7a94543e3b18752fc692df6ecbf6cd2ce3483d58b72184ad7eb3cdc3bab637b15c67ccf5cb8e6c997b3f625741dfb1fb70973debc1fe46fe16b8ef9d44fd6157812bdd46c7dd00d6888a45dc1914b7b8790db8725c69c323b3da2e17fd3f45c8e74a2baa1c2e922c437447de5b7899b7dd2584c834358e3f898d03397c995dbd89f2e311139519389c9f86d1d552dc69edec4b88df02316445feae593b1b7d6897f6ba338b4de2adf5bd132fbe8870cc93211bfb78130deab2b47c2550a28868f85b9b4c2a5f8d44fe17e07cb8e602cb0dc3fd667d66bd1bad0a9cee6b67476b1f137c5b07229e8f18bc01fbc38ac879333d7ac836e7609eed103e7cdd59ada88a27799dce9b0716cbd3e78c51d264916ba06641d910327b9658bbfd4b6c42228f1fb352ab495bee0f80ce9a1b37b217095f03b6d6556d5fd16bdb5f9ff3116a88a9a0e055e036a6ae7cebae39218014aa1504fff5008acef7954b097160bb9b38faf52e629701550577689ee5e57866df524e92ae76c050840e77470f4ad8b6570bfbe9118a030e3f543ef19e0b978a30b29c34d00e05e9925ae9d0138cd8c8ac5f8824b3c101422c8e357f2486d5475749cbd421aca5173909c6dd1137f02432654874679c1ca4583ac931773ec620891c2cf0dd789e27246d5956f145d779040b2a91e75bd7e3a5853b2642458914a1bf323f53c9a4234ebbbf8250e78ddef9397dfd18a1f739d67545bc4d57570fc388330915dd83bdbd80a0a58e45be7861adc212bd71a48ffcc29dfc03f730700d57327e64a0fec256bdcf0f3e2005b92a7edf9fe3f1e1f7bc4738c95a0306bf047bfc55b39bbccfcf965a3db01a0574036d22166e5c4d869f9f25c95026e0655b29cc6dfadfb4f4d21484cf38e30180f6ca95cd68ced82b05d3b144c488d2b7ecdd09d18376ee049c6c8994a91b7387112e8265c1b5ee046a012b883435b4bfa2ec06198d3e2cfba07cfe3da60ee9ef8e0f3b0a9b2549a1ff80d6eceabd938d33d274fa691dccb74261f9d49e5d14eb147c393ee297f6b033e9332260207cff89ad2ec6e3a0e214e304bf91eee8c3587255c7db002b19cab9495fec5a37c0a59c419aaad7a66b011b11e8ec7a4eae0227e0cca35ba6e7bcaf8cd4ade8e48afe6f1f1163215734b915c026cdff60240215d3a8403954b949e80de296c20ca19d61de687ffc6e78f8571675ccc20e5f9aad6c2485243c0bfc0da03545cb7850b426d47cc3e1ce84096790f75af9abd3a0e16a4ab5c09c0510e502c2d0547a1fe499ba641f76fb46772ce9a65e2ae3dba1a5aefb8ece220bdd6f89b3a02a67d910c2083a839d1ddf663317523fd36c48a448591718681f487cfb28aef83dfdcd8230045a8edb7730562a14ed717250300096b2087558c279de640b7b7005ec5f77887b47cbb399b3317fea2a5028f4c890672af3ea488a7bdd825dc5d9a4d7189e47bd70bb0d74c74c0c698c79ac698ef187c16265128687310ed04ef3c41b0fb580038374e9fb34edf6d3707a68d4093e99bf4800b808e13cf5071667b411a53df1af6f99b28f15724599533596c2fb40af672983ee302578bcf2a61f721d39beff31f696e5c748f3bcad4053e84842f24bf9f3a7ab87cfcdcf19b338f8f6e5d1f40999225f033957908628f5b03305e48cfe7dcad4c6214a9e290a663f6d844bd741b75f3e4ab46c239f6a2a4f221109cfc38f8cd61ecf1f0b0863e00215d4ec36c99cf2231a5672efb84c834d3dc6974d5033df797ef453dd373362166ca19d61de687ffc6e78f8571675ccc20e5f9aad6c2485243c0bfc0da03545cb7850b426d47cc3e1ce84096790f75af9abd3a0e16a4ab5c09c0510e502c2d0547a1fe499ba641f76fb46772ce9a65e2ae3dba1a5aefb8ece220bdd6f89b3a02a67d910c2083a839d1ddf663317523fd36c48a448591718681f487cfb28aef83dfdcd8230045a8edb7730562a14ed717250300096b2087558c279de640b7b7005ec42d0a2931082f7ba6964fe4011a8734b5ab6981f28a1739a0e88c568d954c91e5f1e0e75b6e03aa7547e8506b752d1d7e0325d123044a6af5d63cc4f869f2e080b9381762cad6ebea219d0caf0a05f56d071bf3222df9088963a12a9c000a8da8c06dc83c13f774a7e0ddaac3480e8dc205e52be20c759299040be88894b5e216f2d6682fab640727d18894418f28bf4d47815edf55b9af5067cf4dfac14ab9b5d1d85495b747084b96edf89ee296fc1e645c98cc1ef7a5ed524e18bddaf99553c7caeccd5e3c34ff1cf9b984c6c9e158fcf39f18ec34c9eb1cb46cf8cc294c3885837e089cf14f3556e37f31115123a3d3b5c0730b509c5e819df92fd1842fc2b18910f8bc7a21713909515c51af5751614f54012ff241e4e30f1b824b396f7d8efcda2f50a63d0d162165125eb58811e55e396493fba8868b4020bfda57714b9105d71ea2ed5b9d9146a91074f34842c9e24745a823d27c35e68221fd49e7f76f2527ce78d5a862063a8e414819ff767ea44fd1fc6a24b8d328e002552c4d0a806a55f7ce7df5d2151434deaaace9af62ab0b830f89b77bafc8a71a9c27d470a3f1b0ee051e4efe8e264fd35df7ee984412b13aff1ea320a02cdc4bebb621dd588e3c1beade1851baf831084f29ed76ba8df73253fdb6b7754746f6a47c6becfcba0083edba274437d99441673ed5ef46e83c6893b0b8326076b66d471a3601ef80bfa2ad5c6d0213d57e60fc7cb2f231a2e8aa1a1b29abb326886d971696930037205f898b69abeedf579c822c829b9f772507861e2365c52a4c19837eb930dc738c6cdb75634ac1c5ca9c69d3002e71c7106dc74a12827b73d535ef3860446c4a459f5b026c2c587544456a954730429dbb05935c2046f3c531a3de3bcf1ad03f4543f78b8a8f80dea17d81caa4ec5fd7be49f6dd41341cf0c5ecb3ffcf4bf71b23069139f66f568a645514ac236cba056f07eee043f3b0d51782a2db04f6be99609459df56002ca8e91b88456d717cc4182a64279aafc448d7f4889ad78f982eb555906809adcca6adf5ebfb9613d830046d4c7b6688b5359bc8812275afd0276b141c2f27d74d0c23d5a808c4779ad9e5aa6d08fc52cfd72f25121158246a6a1d7f9dc0572accdf6123821d87a05d9ce3645549daac232dcb2f82642fe6be31cd8ee39c7d6343f5dc14438f56278ca7ec2292a3941b7b48ea79b9bd96940c169de552853c939e2d387f8c88d62888f028ca89bde0043b776d06c50f3c560d17210e4473313e78a7c014aa29db3053bad1360d61723ec12442f2e663348d29b414d23e9428a28f33bb60d33d732ceb0f30d325314c968b615ad874501aecc457899960316e99d4aa7d6a76801d2c4fa34e66f9e8d8ea14e6d9b773bfb019e2ad21f1f373abad702b4c8ab9124a6a028aa7135c5f87cb68f30f778c8b7382c1362db6ec62e1a1167b818dc9ffd0beb0ce9fb4da549b9e9e17d1f4f8b5bfed9b92a9fe31297b94c93b0376dc0963cb412d3ba8261e2b461534975c7ba940bffd8cee4a623adb4ca62d02621052b0c6896d5a5dd0e46f32b5dbc3bec2285ff7f71aec0d26810acecdede9721362456eb470b8a62bc253d859013d077fae2239d8775511c09cdc9c73b4ea55c408bde3084f86e7bdbf4b0286814c08c9b631be9a88722727513be30b6b87931d35a268565d617559c735822cfba3ad50f32df1624f6d35a40557b744c40a173794238885dca57ca2a116ec2506452ccfdcccdcdf8cec5e58ecbadcc519a85dc7dee6716574e3eae0ab141480c6c7e2e8e52e679465e9f344290b58c663e9d2a48eeae60c589ff169768bbdedd3e6c7dce1b001178584c2f4882cc1d884fe3f18d0d68065e543628c878e1b1009b2d765b8d1cd7a7e9b189cd2131557bb2fe279425fb4fed18415bb256341aea7a250fb9ce7aba732715a39a4fe4792cb557c70ef84350d274a6d79a748d31cb31132f37acbf0a2c557dfe7b135d86841027a9d290b772dd776460b86406dca66c709ca7b461111efa2e4eed3953d78256d1e44d9859c54dc887d3a3d19a530a31719dd9c29cc1482693806849ea3ea3dc169d96d2a5cb68640d9811013b458c72f9f5867146ea9aa4f847cf3c50af96b8c4953efa3d4e93f6320432acdb65da6959484c28d2bbaa69d231465614334d3dfe472fdd18b35cc3757d219a14e0a0c954d92c9ffb3111dcd1c1d1684fd9d63d98da6cae59ccca009ccf7271f2f35055cae95ec71a7f4a7662faf8bd47d803d00578052db3401763438ed2e3c259e6c268049239a5c271aa0cc9b9d6ce996296f2eedb014e0eeabb46a61318d6a9d6270731695a1677a12f7d6c71f13e01e21f8a9e12168603ac73eb4f19532d1e17bb9da7e4d9afcbb7348471df8b15ea56b42e628b45155c76a7a846627880fa5c486b21347a4ef7eba40ef5c57e00e478c3c69817928917874086420ee3f2b42a777625eed05a32628777db3d70b8dbdfa1ed0c33fa409f413e5b577afb7f823cd690481aa0f8060cedc56e7f4d2f532b751af218557dc07ac3b3407c544a7afa936d98169e3620e5ef2b4a223c6cc887eda137615e939c463bd7e39e1a76a5b759015941fab5ad0313d8ad7e39e0633a6adc3ba365e76c738209eb64aa894f982a2f7345400061aacb072f83ccbf275b4bd2d273849554c99deb586aa3a7205c000ed5164124dfe2a6215acbcee40b37e796a0cd8ad5c185d239eb63fdb497c732393f994bf1ea2d795daaf5f891ca186ca054452a9afaa8c1e62733f06a0b3c1e458c3c87e9b3a8963e3bbf7b317ebc052c6165b58c8ce9e21041820a3feaf6e11ba854355bf1ed2d90af988a699c53e81c2fd7b95cca7a605b5e14bfad1683a56e3701d72dd7f84e96c6291e06b02a625ebb5fc48c8c36cc589c13a2557084e7cc267aa9eba99608fe003d3a9aec96b2cbee58668fee9fda50421f3ecc52b2669b8adea18562654ceb08629f80456819668dc2fe434707077f8f004f8295bcdc29f7a38b7c2ad55f6dc32b185a99003209b9006389d485b91523251ecae29e5e3d3d238d7b8e672bd847498bb91072a22725d0588c4bea6a77aea7e1bccdef467ce2cc210eef49db2f96aef80baf5d725dd9774a89ea27cb69d81c2bc7792e6999be2a94da5319d4ffa9ad1df3d936c7d6a282beba76333ae8edb7bd3d40ffa232f6362e6ac1a4b46e97d763d58dc2c4261936a3e8eb8d9551373f4b382e62a28fd5c425a67bdd7b22a08e232743d10e2b4c00ea94fa079af3e7c2e259dff9c1297d38bc74065e17c80825dc892993024c3ddc1c6bddbd89fb2abefb6bcd33a2af7004e72c5b7332c64e215147d61a10fc878ecd32d44eb6bf94dee15e1e4612ba4e37bf8277523c9a4f99bf023a2b3334439b41608b136d44f83d5c36f4ed2c7873497ee401c5406b26befefb0aeb7f66b28b93eaa6c0e8272e4d6a6d8b2cf94e96f583ff7faad6d71f0742ebe2fbc618f03c7173a198f4a971ff2aa88148b401a712c856d416b178530303ff8b7406a3120cdce0980eb2dfe32eb0cdac3ae2394c078ddc81e611f01ffad0d9913ecfb1926fb855d8266835642a25db3bd7cb161b97860302feea23da8721b9f1fd8166364f6dc529457efbc4ddc4588d3e671530332c8dcd56350f0cb0515514b4669ba12c199adb1ab0960fe9adb438d226532bebf39f191dcae62d9a2f07be5b35d8223629ee36250c15d75cdedf01f58ba2b0fa67654f97274c3a127bfbee569e533da0b08ecbd17ca3a4b2cfced9363f91e9686749c04239a9da9fc7221c32e128f3c09f1428d162d255ec314b805da598d34744aaf4c11c14f906d0b7aa4bb9da0e87d457bec4f7d4645b9d9669f36e3e1b3d322f27e5a9bd3f3f9aae45468875e6627e14db6061933669c186c03c311ab0936afcb01fd43dc165aaca5792c2c2d44479b869cf1df4a4a873ec4be3a5ee52f5045979139c6dfb4f6096471530230bc5d926424e96103eaf1dbfdd8939d86791fd1720af87a57f6cc1cdc4524bc6f0b3313a57e4d2d8c3c69c12ad00037847cccad09753e7141a6943cdb9414356710b34c04f637ae2aedc11c18960c163e089d6405ee34804c69777d7e042243f00c2863dcd02ed67cf07220e86eca8350a58fd8dc5ce8a40b3c36bf59894d21dc7bf4d9aeb4ee9a9c8b3c575a004afafff478b4cb0f0ab33ff89f9333b81b42c904aa866b3e0f03fe5119282cc7492ff5df05e1a1a66141cc1cc9dde68f700b7fda458095149fd94458c990b2bbc3d11dfba65b0bfab52c50ede70610e0349e97e1a20dbd6bf901832c603ef61a65922b7f0d8b15ee84dadfec622d5e75ba0409ae73bbbdf7cf17c0575c17b3f878436ff0fcc7f7ddd261ad667432ffbd0a124feedff2131afb31106948a6ffe521d002dca63dfff6a89a2e9debd18f2888077fe7feccefd2c548c65fabb3e79128dc6e929904304a8aa466e89ae75707d4f1b56b1a27b001798b1fdc6b308c113a94beb1eb20489e1773d320d260e23269394fda5aef3fea657771837fe5c119de12697a48b726985fcaa8007782b9bc428cf749eb96c7bdbe613814c7c926a081f9c50d1adf8ac14827953b020bf5acc1347414536f52497457f8ef0974044862b8c7c0241ff0f636b2c493c9e9821f213cfcf5209225e88ae627e081902395c7b62c21864b85cace70184c826b8290e6bc8db0b7e76424352a243d97e36640626f60b1412063ad196e88af3192b0c345809372d38854b41f1c4f83cbf7181d7b4dc424ead17c8fa2fbf3d387dccd1f61bb7c2708a12bd280a04387a409e9c03c08ac3f1b9ea67749ce868b722c0e8b554301d921ab4de44b75a09002e2b5e0482bbf9b282e8c3fedd9004ddf150fa2e77b448e872b2328c34a01cdffb80fe4483aa91be10efaeb0d158f8c2294ecc5f6af87eed3cc9ccaeacf7be08c44d34bcb08fccd61bafc2e13c89c99efa60484c3d59ccd077d1ddfe0ad6b131429c546eb288b40017313a395132151c9eb6fe3f65f82e9c65e3deb2f0d594116046446e2b588e451d3abe28f5acab0b706873187dc1bb5a95305e6992908c7a540563570848b6db0006ed07409dc415d87309f755e33f38685f2c65782cd1873f0bf8513f8e234e82ced34ae795472a00633f86f876aeefb4410f38c78de6932e82f820437ecf287319cd2358c886a9275a86bef748f758348eeca0828e41e27dc01eb841dbad76f9ed6c5a7165e74c4494d173d20cf84f39371ecb562f03f74ed2c6b644b0c65656d2eb736a502e9de66a79e089c301a9ed08be7e9a657bd7f410919e59d02ae4e31391a160d8cc918c4e569840097c142cd57024ea789c44a2fe66cfe027806fbcb64d758939bd7583f90246f54b43a795e8faa0525b680f97eaabf11b1d345511213dc22b62f623df23135285a903eb1ad4503e823f59e17f60593f2c8c02e75b3fbd05afd6821bb550810b077f5e0a24a8852ddc20f9e7d25574f143bb4e205e6853a37118d2ea61a484066e49ee2e8da29db991cce7711715a617559938a0d2058b11a4bf465a0368074bb3dcc48dde407e80c8015ef26070af9753c15be1e58e161d39c5a9450a2475600ed4490f85d713a80df91920897df6aa3b36ab2cd1f005bbe706387d1ebaed0947db791dc1805eb40d4dfa08a68661134ef2a02ac2d9613579baf83a334556af6b155609e5c69cab6887d2b7d3ca7e79add294a69732cc9de7cdde0da1e1406b1b7b8f00ab7a03ac6e8946e75642ecbe5d1177a24eb2c0af272434e8e24878fdde6e42f21572fbc3e7195f0cde39ba12f92a1350d7b98ecb333e23944b25312eaf309291598f241cc47c7814b9dac995d30e08fc84c7796f638ce3c10c1043bc31c8bf9d3e2800fd6a8c3c084eefdc45fe00a54dc12557b0636d0d8b58553d5010a81edb83a244ce4dd0b22d4e11d7c17607e851ff9e087180ae9c60b794338deb1622bedb85b3f43ebd2c923f245663ca5a0a0342a4e180dd81a5b0c9f92848146e32d612b7d58acc13a107923a665a3bef7afc87c35498479307da5fe9299b53d9485e7445d00568c99f24a37b99fdce769f60705fed113e8682ecd5094aca1fab1333abb41851326b443dbfbfb379e5f97baf8dddf86aa7039dff17781d8eb6e833f4de5f88dde8e97a3eb93905014f1080bbb9e6aba2caa5e95dfb9b97d9f616b0ef00c190e01ca708ab51c7819d4e86db8490c025d551df7c34ae5f5902ade0fe870aa5aef821e83c36a1df846b49919ce1d25080dd85172e2a7f52222b25b8acace675b7f46059244d5aa4bee977777713654dea0b2df3c6b5de068bf6dd445d66260ea7e57ddcd9d250fb67c192a6c028864d8acd8d801bf0e78f2273d0939f519b734a17326668dc35e8fa1f86a47cdaf86de45b42e4de7b53af7e03baf054e00fae1fbb2643496b195c2b855582b11dc28a8b56d3853fad535196f28e95b40fe51c61906947562613a7cd0411492c9a439cfdfece840bd6ae48532b56c415e251888a915be72fa26a18fa064f598ab159fd3105ccae3cbd2c28ab2ca81cbabed8cbd2595d3a800a2feb0511cf6f866153e5e7f34fed31c28f16f0f4033098eb5ecd2bb327631e6ccb8b3a85dd205f22575c63700d3f93ded7163b0b1ff641fb678312116e8893a600ca59a27b2de4113cedf6f50659d193dda5f6a1ba5146a060028b7ba2e1bc5520a2edefd0a9d85b06e746ecb944baa71ae9fe3e417e6bdea832b5a22f7b54a4ec19318aad350b98ea7fcc3bb6354c75fd4892a130cbace85adc8e64c7a9a943a1613121dda59a66a137dbc444c93ef21b6d7fabb30c3fc813926f95165f021ea9222cd501be06d83638d4d19f30184d347714743044691c16c10aa8b497d29c9a8dfecfe58b488843dc6d737f576740236bb381b309e5f67913b1dcc9afec80201c687fbbb98bff0b4fbd039ff6dc409a6e1e397bf17fcdfcaa6d504c03252be834483bc00c528b7fefdf5d49c9a7c57ecb47d2c4ca94bcb8272ebc60cc75fb081e637975f33c71f6f6675ad53963755c4a6e7d33b97360061ac0a0f06c65584fe410f457ec9ec224ba01b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf2417ae4c9a6c54b672633bfac0a18d981ecc7dddd2771b7bccd12b71507f0c43836401b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf24172831d8a10a4bc6ca664181cf5d9000e6d0aa24bce7d469f5cf1d16e1a10b52e401b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf2417621f9297bf82fc889d50db8c04dc8fa50f494eadc6d0bce8dfa3e711f697d0a601b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf2417ee9c886a52b021dfc93ea45babbc6b1fd2d65484b093256f7e1d79f6ab695fbf01b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf2417ac59e76863864f7cfe3c73b43b2e9c8221d102dbac5a6ec1a706ad1b6006f88d01b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf2417e1d1c11d60abae429061dcb8267ce138bb64e174fbcb54886f18cad894941be601b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf241722d9936dcdfcf9092edf92e46b0e20e44b6d22c34fa423f1768c6845be52b0a401b876db97c11e25b95c5d0ce907b1f70e5574ed26c6acff8287a7e37daf24171f75e58da539b5495ecb612884594c0142d01f84f64c9f437beb62e302f97178cbc06c6ef0758c105d0f23aa364f2bbb935b19cdfaeaa7600e9276f28922d94e35b80bd9edf3aa94c1d619465d36cc0326ef3c5abdc32f1e168eabde131671de5db1fa6d8e479ae0861af91d05a2c6b92114f68ded86123c18f1c9c8db9c7c08cb9b9927891cad737f2a281e8a2cab4c689d9fe39868e69066dc2e490cb16fcd45cc39bedc0ebf5630cc1ad90c1dd5461a97fbe2b3eea5ddf216f82691ad4b5daba5b14807398f22874f37eb58265adda86ef52cf7e5d1f29dea1f6cf30c5586279e59deee982bfb41fb5923767363c41efc9ea7270a3bd68205c95a2b79d526f97dac10d5e8e53e34594bca5da3d0842d3fe6d20a2ad1965c5f8045f88d501d012fe67d690b143e24c96a9022b3fde18701e8f76ca7c647ff02ec3687c0344f762e7e1d592bd3e707b279bbb1ba01c0081d97e874dd90935c92a9a282b65d2ea4ca25cb385364b331f4ac655ae60bd1b9470bd7192fb3469bd94f3faf63ff85a019f14d49bcb1c3280dd7bbd4080fe1a03823e3e4685a65fc181b41c20c1fe734bef1e3e0cce5482428612b5886902aa26cc171d2309e2aa871679978b3f11d3fe689d1541fbb08b2894d80d5ab65f4c93c14e58b5cbc9c2cee403515d23d725452a29eca7072f93158c763185f20776369ba3289372a52885f8b48096af5f25e45f069571c02a9b1748bf9f4a0c567ef7fe29e2a8e48c4c14c1749ad158770152f3ea66e578bded10b2c4d45d0859e272816953c7a06990dcc2f6e62e1e16057d6938d4713b9a09bc26a70a5e5c55d36c4f3e3504a06b132ff8395bfd3d5d93062a0eb264348be907a40256b7e80691dac7ff492cb2b81b6be1ed8c8223520f7e54a6b290fbd2d54feeb78ee7666d089ef90b223e37d53f37fb9a167337d19b44ae3cf0f79131ee6aa45ae744293b899d74ad83bd382c61d012b80eaef656ae2e3ef5d37e52556f6b0e9f4103b60fa72507e6ad9ba429d84752fe6e843dab3e2462cf26a406c1baf6b64807280dc534cf092dfda8097075691e22463c443140053ccc13169483f463438af66ec8d96883d69200c1f91147dff13ac2110ca151f109485d94670691530afd5920054d315d052f3fe384830734a7278ce4ad9964955d6cf5f05c2b3f13f85ed9693917f38adcec8f3cb7bac99434dc1b8e6356be3e5bc4b79b0107ca915fbed511e4d481f1d7eb931bef1433e51a288f088166f8d2e1f4b6478edc14b02d78be04c2375ffc672b0939ba99a7535453302dab2ecc2175fff96ba641becf8e8fbd21f7abfb20b0fccbed9d46934a36a46d288bb3d491365889c6cc963a1309e1579f9a2035f876cd1399132e56f4a30e3f414573821efdd7d9bca78995cd003f3bb97e765d214f4906a231a6424e9942b12ea31360b9987b8d23399a9b93270aad9bccae89ccf747826b178139adafaf6c3cdc43e61282f3a8d6aa8e77c7427efd072746f48eaf965fb469d6cc8b50458f1eb1a0f86e80ebfc781bf9b8a8f164b6f4eacac6efa8f60f8c150fafc21730d54d9a77753843bcd38807cfa52231fbeca3f0459a12131267cc0677145b757e4ba1e71e07b5a504b4935a77a7bd2c3282023d569950b757a14f73b08604d53f0ed059ce7855e60dd15cebe915d5a9af67d356e5289b9b91f20558dc3b8b3e8767e20fd557673584b2c089089d2d9695d2c03940284670e40b1636cee1daeba0adbe74cd23fca3029f3fc3feb2634cc054bbe9ec817211e48ac0f269a2b61a7eed88ef3798a087c2b95a17e178746fc6ede1486f2eb561065eaf05c9fc025e09a11e1b89ad4e72a39f30d08359c2384f4431841f5bafe266f6d2078a23d0ed51ef137e9a1e8aa262737dcf166bff4a312dcb9c77947a78cd4434dca25a170551cbc7994d49da1789f50aa129984ab6f8cc1904d8b84252859f4b55f53579f86b28f881c5f746617099162b4b47f717e323f2cda1c7c92beafe34dfb69121e4644ddd011d119b0a1b2698aba9b624858bdf628b817160c2fe60175038d0d6fdba8a9dae8e44276a1494bbb44a3d9103aaeff4d1a5f8b78093117556798063c7575255f07433d55466ddba6d23b4c76ca9c201ec894b79f80f2a8eb4407452fc18484d3d434cf24432c7f1669dc7edcb11c28bc1374bcd58c3eb2289c9ac7f4c535dc89fe92a5adf8c1ea888719648bc05c2820dcf66b3d69554af2269ee2b2d2ee65369a18adf3b2a4f34de0db0e3fbb1e4317eb435eb5a6c5c8b07287b88bda3822b23bdb3e764f38213676e3e0d8e7c26a2dba24533a16e5614df0079bc1d1d48c7f0f2279d7be832e91ef529e3f649e3dd6cd5b33e11cc299340cd5433150e1610746c346bc271709c66d9c4c937d4267b97200f0b7bda4ec7d836209d3f21dbba4403fba26b3e8e4421bfa338fc7b60fe62fbb175939f72ccfa1a55c0a431469ea509d4210b6a8cf0718dadb8a08abee2aff1f4d8a3e6e8eb0eb2c1e2b94a4d0522f1dc8f7f951fc0aeab3e6b336c5a95263b219ddb9549f907f840736ae9f7e5f6bd4f6c9ba72e9dd648c102c4afff95de955003349acf2b86e76dc55807a96103439eb4f1aba1c457e1661d456f2d0d84490df5860112f789f28a39b7573dd8a0db0060299c4a88d4b928331dd2654a54958146c0a32dc62e5af29078831a1ea35d3c1a874d6e63c12d38b31e018576a48109977cd879d7b2b31515e01af779b7e2c24f59932d3b28b409074b7de1f633642c785a132d96ebe3d4d697b8c771a0090aa2379862be37324bcb230f8a1ba7aa759bbddc9d16d9326408dd6683390ac5f9fb1d71244a3f235458269b64616816e87661701a760293a90232d362fdb89ac34c7fcd7c3ebe1c7291fdefda78e263cf4054daa4aa87e1b0b529d26809d75b9884669d34bca5901e242759a2b4163081df12bc5a2b4720aab85876100ca639fc764f50ee161b4b050c678f1a07ad339922729c372cea978f418194cd190eca402bf27937ec5f3419c50e5f058a11967330db407c5e5247d8a750fab364f66728e5c8f8f53ee43ed259421b2b83b6c52b69d18844a627c63df5d964af100651d0c5873b9843fcb84efb15e04927b3f2384bed86bd0234a6efab42b428a207588579239c06d418a5cf5f1350bfa377661efce00eb7b9b6d525d0fa73b233637854e3625aab140b23746968f311da0f1c2c9230836d3d9daecd0431b0b6067f85d0f2b01fd7adf3ecc690ce7d0c67aba579d670b7ba0f34d6086a749a62a506f8a4f6660f7545259a350b589dfd72226747fb183890ac17fe9e7f5092a798a269995e9b412d3fb3c287a70f687f2eb09c7328ea703fef3ccbacb6ab400a05730f5de13ac79c026783c18f59ef832b18a3777fbe684c7c1006b9821c4fba76495940faf89b7f437f21530fa5b21eb79304d099fed7d799eb2cf97083eb9c315f99404827c23673ab20983e3550393d168406831b153210f9aa088d63cee539a449580ad6da9c2a7c55b54af3137d0e712182b8cfedd2067498813b900b18ddedaa49fb524c0ff3a0e480254b865769750f7bb58239421530f862363f20a0a671879c350c0b4e9df907127a114847d88e834530305904c6d1d1c83e5fcdf34ddc2998fdd72bcb4b747a2aed2abc2771155d4e1309493545b8c3c959c15e24a7f8af99206c0b3fb54e308eacb9bda150b03ea828151a3d04764584e1cae7011df1434e4f8e95fc9fadd6bcc5526900c16f37227526ad4d08c2e120cc10513a1f50857eada6f130a120d9501138d62c2755ac1c82816cbcae7ca980cdeb3de8fa8e5b26a78e4ab6d1a532273448792cd2d533e3913b3e88b613441e249cfc7ab8e1ef62f5a94521af2bb48cb651be33f02fba7ebb725037341d5f0cc778493dfd0e3ca3fa1e2fa41171962af323df1a634947b3a70cfb0f824d69757db52931fad21a18e7e4f87e74233c197ecdd8e0cfea4be5b959d37671a94acd5a05a9f1094d86618f3c97a525111b42bc8aa7ebcaaaab18eec7e221a9c0747f2f190f261887a02e2ad064efe0a63b417e637b508354903a82be918fa58112f9c6cbf9cfef0c96c06763f4bb92c6bf9eedfb0c88e3c7c54c633e67f5ab4d6489a32048529602821bd9266b47a0309494e5ad061e06b816fe19d231d3d195568e763ee2ce077d71fdc964f345646b610b1abab23a1b6810c14184eab1da6953d111aedc350d2b1f6e2f2c7736bd1e7906a0fd1ebe43eee4a27c13c87931703b93e3cf670b84836fa374d839e4c95997d517e1947c922c219374216549a5be338494955d5580e1426db400f11ae26577971ad3122ae5d0fa4fa638632c02ebb097253c7dfd022e7d97d462c383cc21ee9255dd1140600ba1c59ce0e65ce7b0421317887e9d50dad3b84aa78c3e578358024151173e04310b367b21698de5a37da61d12518df3a6f4a6710e0d9a4f4c2bab62fe151a78c90ec51ee8df799e9dd1f758f7890607f450774a2cdfd21add3c5f8e3098130ac2aae8d256b3856ca557adaa2927e87e46019d41cff6108fa6f82e09447e8f9c4989123cc97a53ef3d24b1ea7c7f307a0092139fcacc386c2768b6e325efad0721f9402255d9769bbffdf539d06b8895a3f5ff54b7ddaeae0b8f4186de7c3d7df3de201cb66bfc86be10365b0dfdd82e9583b3ebbfa84d8894fa37666b7b48b7c770958db501d8f9679d0ebed43177aa2829ea10d79d0c7401550c1d95879329d70daf768f8dd6b8acaeb37a3b5048d0231c6830b508573fc89c025caca789974322db8c9aa44d1d4e648dfb72f1982e242da80a82539dfc6af1dd9df47beb8de7824bf1bb6c313e8a6e25a8b858159d26828fba5bb75ea46d1bdd017316aaba37fdc11682bd5a2d6701f678b70b0fc72512f564031b962f5752b85369c5147b5683a8bf07588b7f8fc6e542b2651c7d244196b56e8920c94b5d761ed355a7ecbaa8b177eca0a2d8635401e1494ffb048b01c5bd5834d7498bf115737bbc5a10a489689f425da9ef45c01e9f6886567c295ec6f08a335e87e909afa70abff29e2190318c624d886b386ec7f6065bb516b41fda7f989ea2bfdcc03e436921e354793a23abe49241e651bf0400d5ce85499909399f2eb84cd5c22ae615e5cbd65411655a850d982f1a98699e94a4f7e7bc0b6f948c528d328ec55dc8f2f019988842da6e5432aaf97abb01a59461e5f8977773b15bec7aeb5ee9dc5c937b9076e95b408074617735ab0e843db924ae6e4d063a25b59dc22069d88802a4ca4b1f5fbe63edc102c90d283bfa17e138e6506a55aa37a5ac2932d839221d9e3596fb24dea13166bcc542e1ad623fa64903decc037b068e9aa3b00f37ff9a8011575124d1045633390177d7985c1abcabbf255c0b1d1a1831b6fd51ab6e9cd59fdab4e8b95e8983f86976415b6a8974764b8df31566bab69722bb0bbe5df5fa1840820564668948638071b821b0c08fd38f7e562d4365dd90c7d759094d01243f07b81a6e8ff8a904ec250fdf2c0167a4c3c29faf4eacbea7f07442994fb1659289695059d9d05f560326281280d9d040d5c712e8175b5e46ca26d6eb3c4b11c6bffe72a38c27b7c49da18805686e279197bb80760bcd0fbacd13ef74e4a11469ca31d2133fd22822d862034676ba3a269be9450815ea1344bdb48abb4eba00b0b69693940bbd97092d49b81a4f88177f1314819b21277040fa27ac1d94b3046957b10c3ffae4389622ed728a5e46a0b152e94b47dfbf5dbec7d89b8d3101f644afd81578032eba31d8cc1ca85adefe6c7768f019104fe8c21033f25ee633c72e5aadb05a57f550f2a789fd73a6273a24540b1965ec5ed5012525169e5f4a2984750746f1d59241028a99ab907564b981e0fc670a6ad85d369ab484ecfecc0a461d85ca309e910f9ea0548d7bf9308256455ad74131804d26d51127f6313c60a7e85af9f2b3641db542f5e6bdf5065aad1999d278bfce9611c700a2102d07a98939962998a2aaa20dc1549b91990414106f153d27c39326b4e9c2e95172a55552e4b30da217ea7b408f2352ea609a44458c6e83f1a5cf1c8a7bbbbeaa9d36c52a55cfadbd7a6dc146f2bbc9d1d98fd74887eecb2b1f94daa54d5b5379b831115eea4e3fed6cfd93468baece30a255d40d169e064e03c21f6cbfaea2faf8265d83b6cc02435eb315709e06e570952c5bc0bbbfb9b44f862d5c6b04022bb6330b8dab4dcec5470d0effaf3c3a1942f801bfdcbb0228c90c9d5e2c2afecf7baa38dd1e485f6af4000921c5b0d18b9947e7726216844d48a10efae7a65c9c87ad1dce2e8492a0a3a2d224d5de0d960fdecf0c24289b9dedd850a1cdfbd112e580649eba02051ce6b19e0a8fd405937a9fec3aa7f11c5ececc3bc3d0830c11ea348b89d88cdd3d23400d594fc71e1354b2d3158789fea5de81089ae273b23d86c1feac584ba37f9381c3347c8e0ec755140263b3da144b4550fcad105699ad3b7c91d29430c33f2dd83d955c21527ae979f80b1b8a208683cd939c8299362f6d35d3c5e7d0035d6aec1c15dffec07e6cd5af3ab19d3f410c1fcd0beb5c5391a24d17234373e522bb4f626b9161b6980f378fee49fc6d2a1143dc6c110343b6626c24f885a514d066907c3b50920ec7a8600121dcfb577bcca04517c2b27454d8b682c1984aaea7ad670ee7c4a7b91ed8bcda9fb99154f64f78611300f812178ccafb4add5d4365e5f3df650de389cd4407b2ec8521663e823664926d65845288a5defed3519617a43ca27ffb2944bdae4c8420da600fea8532ff650aad110dbd990a13daf91e595defb5e85b2bf3408df3978487c8cf5cbd728bc35a60aec94ec7f86f51716cbfc6d872f667530f7f41232f7e7c912956fa2dde2a7d2eb1a3a767113d32bdea870e6fe32618e199285a5466ef2f672a1dbb85e26ed7b49240e276a4ec726fe4b897554143a70b3049b84fa4637caebfd18218c3614c8f86129dfbf7a4e792fa013a204e787ba2f055122a5fc70f1a9182cfec5a6e1c797c35482f433c72e3a6e5c843b2b4b44b39beb1a4601927151579275b2711dc71c42e6de626adf11bed2acf32180dbf54fe87bf0751095a469cb1653f0ada5ab46baab5751c8d9cfafbc75dd742299898ed0114400a89d16b485a89e44e5d6cb40a7488ac39144956fc91f6b7027f4a9e2b7ef0c02b790a7e713a34696e502dac51556d2d5198e9e7d070629feb77d9f6c6ec9c70d4c448a47a6efceb3dda156e3b8b1390cf315cda546d5d13e5ffbf5a00172a496c81b4c286511ae920a42cbe9d12de51eae0cbd2515b8d89ea2842437a28240ba5a6799f49d2fcd1201ef7d9924c4d7878a045a3100273c268d6b448f3fd82644c5f3688a292f63a7876ef55486cf063eb37cf9b0a3838beb61a3a23664f1ac50cc9609db4986e0d8992d2d45ec306870a185930b272ac97afd00618a31c6dab22fbee8bc3e3fcbc31775843b8978591ce605dcd7935cad7b287bdb2ef34f412b1156b0c322b51d264d070710eff5b25638a8162be29b44a12f1b32435ccc18a5905b7faffd8f83b3a29a37206338e0867e1e46ddcec8aab62ed94ee05f370e2d4e5c31f0a53af520c9e3cdb9da83b114f419ac5413066851f7107156f3d462b3985b1adaca557f9c5d6f9b63d32401f41023e0dcd5306704606eb62d71202ee474eb93649d174730b4e5e03ff99673d9a5852f3caf8f4726a1584d49b01c3258246f9b63f9b19be0a25ea3fdaa5fe35c76641d3ad50fe9fd1f2861024948ab8f49ef3b4717297e848730721c01509912ea3156b3e6ff43835b1f7571eab85466cbea27029dd031d777b18e56b483d5343c8e5a5f8beb9ffdaf3cb0b95e9ecd26c460bd797aefbc57a8ad46200f9d092618bcf4c7b0f37127b186c03399b0f167e1406817f43a256225be974ce59d612f68d38b737d1b6907c0f9da75826bd0fdc416e29d8615e7d34216f93c5c714f89222bd2d5961f3a6fd78605a03d6e9634a9e2ca8317da2950fbb46f7d8182dd5e69d77341711da17c676930d3746c75794bb089a0452cd4590c0b00570aa3defb174330db0cc09af10fd29ad7ad25573a876fcdae42365dcedececf10ffc5b83c751f15f29e4d7440fcd6871c1954141284597f1b468b00c16855051e290beaa7f55e9bbbaf747cb624258da4457c1648c806fb5474722c3a8f1fb46e30d1373b6d29b363c389e989dada977ac25517670bb84dc319efa8701e72280a40549a9ac9d4f56d054ea09cbf8b4d7bf03f71ca6a4daeba6ced1469e717306d944110833f9cfdecb5368030aba363ecd2e95ca063afa437859884a8916f36c07512e2028d31dbf4f911bbbc4252c33680dae6a79c89df513b90948dd1ab338ad79fa9092861a905639027c758e872de2bbef0954e8d2fae845188059ea465ca2ce17e3a7c543caf3b053990eff9604c73d3440cad486aa67a369b4ba48ef2695fdf3cbb1d298184c64bf08553237642cd003a2030e3228ff2eb9673f86fff0e1bdea25e70bb3f81b495fab7fc535dfea4e598ac93a208490b3d27ecde1ac2ead788ef3f5797e55b780ff06fca173e0da695827ad169f0a2b8755a9e43660e6cdb22071e431ad940b6706aa0c7cacadcfc3ca0c3a8a9c1ba00b3c1a4ca58f99dd32ce2d6923d751536655499b804dde3be48bbd5ee620ade6a00243ed3cb48a498d6c781a28ee8a5a246c324fa890dde61706fc65a5ef46aaef0f5a6215a29c7cb9bb992e6a3ef7ca587f9293b9b8e257bcd4a33b854fe2afd2bc58610f95bfacd329297facc4039e36343005a50be974979173b71964ab0a2de4083219ed6b69c84e2259ac3d5ad5531d9c842c72cab8f94b3f49d5b8f7d1b4e2306fc5f62d0f31f63d65fd283ab64d57066297fbdd93bf60730dc95d85bf59191d637f5a9b69c7e6ad1abb393a301a9a4dc7e64b073cee2069daeac61777e47cd710ab1b6d78370d6b4aed04ce09134bd72f166a0ebe514fb7b03a352faed6a7d09c72f2b7103cdd141e037c86a98327ebc1b207d9f32e794b45b9f991de1f7e1d2b40c9597ef9e96146cbaa16111b807c0a21647154c0e8a3e9fa1efa9053e3050a0aa39cd2b53d3d40534b160bbaa980ca21ab2d50cb403743c6b8e4071207684b1771f4ad190c96b560702fb26a83b07879f956a23fb6c68b40d7ceefdeecc959d7fd9025a69ef9c6b557dc076a017f3d2d9ed5283cdfa7a0de495b3d5a3232740931e46f48186353ecce3287b2be852687e342c928ea3e06510d576d34734c5ef627bfc0dac0122ac1be3a88954b4fc611b127efa053b8028e70ba791c78d998cd55a95bd66b3983e50e857c1e97c0f7dd2479ab761b499ea384e930df49dc87795303721f4c4cbb9313ffc4c599230a816eb0e361da4ec31f7987338985575334a0fe5f030e0f6d74fbc0d177ec3003deecaeff0051d790c99917b7c3463c33e6f8c76066ef8057c28beaf9318a338a6b73a3aa501ad58715a3a49c78a746a0e9b04bb85da730981a66daa3977371760941aaba029b37a380e9c8b8600f151bdb161a31f0b83e067cbddb07e792ca5db1784a542dd059cbf31cdaad4c4a2b2e1d1ac8b2d49582068a1351242120a9366938f4fccecc2e99256b442f40b7ee45e6ec8a049579577615fe76b83d501aebc53f068705f05371519cc220b9a30f034a947804f8aa2dce4585486c1352ca0011cffab5e90ec995a79a9f5472533a17a840c19c0d7e79f54f2ccc346883268a342314fa9d85b4c1058d527ceb418a1857a32f329c7cb397238baf55bb0fb60a57e90ea9949268feac81a8f8944770a912ec600cae39305837f175046da4b1484654b5c11fdb714a0507fbd9c686162b2822399b468d651b4a59a2a260bc15df54ef97490a29e7cb52fa624b127dde5c4c74c3613c6f5035c46384f1fcac79db77c9120c124c91d2bfe36da098bf7f6e12a9c217b3039f0b1b3c2a29d971ce1da0bcb8ba6daecee8620d56eb43a66e090a57a31fc618427e09e0b0e6fa62f9954552f46d60b27a76add03a1d02d2af6aad4d7b20b1b4c9984d5328c1579de5c512057fd1745c4e23c980e7efea69a997a2879a1e61bde0b87c1f04c3ae6c28fbe37c2c926af7672dff226ee3a29da34b087827ba2dac97434f1623ac23377c7596fb414e459902adc716c9f950a8157ca4fb24c4218499d42a54cc56eadb367a2afc34210a0df8b960d4a8ad8fa1cf4f0a031278c723a1ad234f90a5ca9ad3f0854ab40d07bf540e9aa426f8bd40bbf9bc5697bf137a6351834562af43374b25e11f6613fdf745b32b778b53ec54e3d76c28a1778114b7a851fa03007ada248f3524be1d0463668e8ad379ccc950a4d86c4f768dc19165a85c09626c72599842269e0344ae2263fa63b63233883b998f829382cef12f40b2660d9fb7cd4ed340b78052c308a65f195db217cecff80eae9700116c1bc142314a983a7f4cea8694e23304504d1ede847a69232cb0b1ad300ab4b3e359c78b74da4f522635e430ca03bce2e6848b19aebaf6a8f9f7969de9e04911d5c7077a3fec73de23b81c8c03e538735241f1322e3ecbc96429408rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootCGAL-5.6.2-1.el8.src.rpmCGAL-demos-source@    /bin/shCGAL-develrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)5.6.2-1.el83.0.4-14.6.0-14.0-15.2-14.14.3g @faf@e@eXed@eedíd@dcc@cF@b@bVb&b=a@a@aMa@a@` @`E``r`Q@`__ _i_Wr@_ @_ @__^f/^U @^0"@^.]X]]?]?]?]?]8H@\@\e\\R@\I[@[}P@[}P@[GBZZH@ZH@ZH@Zz@Ze@Laurent Rineau - 5.6.2-1Miroslav Suchý - 5.6.1-3Fedora Release Engineering - 5.6.1-2Fedora Release Monitoring - 5.6.1-1Fedora Release Engineering - 5.6-5Fedora Release Engineering - 5.6-4Jonathan Wakely - 5.6-3Fedora Release Engineering - 5.6-2Laurent Rineau - 5.6-1Fedora Release Engineering - 5.6-0.2.beta1Laurent Rineau - 5.6-0.1.beta1Laurent Rineau - 5.5.2-2Fedora Release Engineering - 5.5.1-2Fedora Release Monitoring - 5.5.1-1Fedora Release Engineering - 5.5-2Fedora Release Monitoring - 5.5-1Laurent Rineau - 5.5-0.1.beta1Laurent Rineau - 5.4.1Fedora Release Monitoring - 5.4-1Fedora Release Engineering - 5.4-0.2.beta1Laurent Rineau - 5.4-0.1.beta1Laurent Rineau - 5.3.1-1Paul Wouters - 5.3-3Fedora Release Engineering - 5.3-2Laurent Rineau - 5.3-1Laurent Rineau - 5.3-0.1.beta1Laurent Rineau - 5.2.2-1Laurent Rineau - 5.2.1-1Fedora Release Engineering - 5.2-2Laurent Rineau - 5.2-1Laurent Rineau - 5.2-0.1.beta1Laurent Rineau - 5.1.1-1Laurent Rineau - 5.1-1Laurent Rineau - 5.1-0.2.beta2Laurent Rineau - 5.1-0.1-beta2Laurent Rineau - 5.0.2-4Fedora Release Engineering - 5.0.2-3Laurent Rineau - 5.0.2-2Laurent Rineau - 5.0.2-1Fedora Release Engineering - 5.0.1-2Laurent Rineau - 5.0.1-1Laurent Rineau - 5.0-1Laurent Rineau - 5.0-0.4.beta2Laurent Rineau - 5.0-0.3.beta1Laurent Rineau - 5.0-0.2.beta1Laurent Rineau - 5.0-0.1.beta1Laurent Rineau - 4.14.1-1Fedora Release Engineering - 4.14-2Laurent Rineau - 4.14-1Laurent Rineau - 4.14-0.3beta3Laurent Rineau - 4.14-0.1beta2Fedora Release Engineering - 4.13-3Jonathan Wakely - 4.13-2Laurent Rineau - 4.13-1Laurent Rineau - 4.13-0.2.beta1Laurent Rineau - 4.13-0.1.beta1Fedora Release Engineering - 4.12-2Laurent Rineau - 4.12-1Laurent Rineau - 4.12-0.2beta2Laurent Rineau - 4.11.1-2Laurent Rineau - 4.11.1-1Fedora Release Engineering - 4.11-3Jonathan Wakely - 4.11-2- New upstream release 5.6.2- convert license to SPDX- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild- Update to 5.6.1 (#2269356)- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- Rebuilt for Boost 1.83- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild- New upstream release- Update to 5.5.2 (#2174148) - CGAL-demos-source is now noarch- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild- Update to 5.5.1 (#2134129)- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild- Update to 5.5 (#2107703)- New upstream beta release- New upstream release - Updates for new CMake RPM macros- Update to 5.4 (#2048685)- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild- New upstream release- New upstream release - Remove patch `CGAL-5.3-armv7.patch` (integrated upstream)- Resolves: rhbz#1967742 SFCGAL does not compile on ARM due to bug in CGAL- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild- New upstream release- New upstream release- New upstream release- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild- New upstream release- New upstream release- New upstream release- New upstream release- Install CMake files in `/usr/share/cmake/CGAL/`. - Add a `%check` section.- New upstream release 5.1-beta2- Fix for Fedora 33- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild- Fix Bug 1811647: %{?_isa} qualifier unnecessary / broken for BuildRequires https://bugzilla.redhat.com/show_bug.cgi?id=1811647- New upstream release - Remove the Source10 (replaced by a heredoc)- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild- New upstream release- New upstream release- New upstream beta release, 5.0-beta2 - Re-add the dependency to zlib with `Recommends:` - Add a sub-package CGAL-qt5-devel, that requires Qt5 devel packages- CGAL-devel is now noarch- Remove the CGAL main package - Add Provides: CGAL-static- New upstream beta release, header-only - Remove the dependency on Qt5 and Zlib- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild- New upstream release- New upstream release- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild- Rebuilt for Boost 1.69- New upstream version - Add `CGAL_DO_NOT_WARN_ABOUT_CMAKE_BUILD_TYPE` in the CMake configuration, to suppress a warning.- add weak dependency to eigen3-devel- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild- New upstream version- New upstream release- Restore the SPEC file changelog- New upstream release- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild- Rebuilt for Boost 1.66  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                            ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~                           ! " # $ % & ' ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~  5.6.2-1.el8  !!!!""""""""######$%%&&&'''''((((((((((((((((())))*****************)++++,,,,,++++----------++++++++...........////////////////.0122333333333333435655537777777777777777777777777338899999::::::::::::::::9;<======<>>>>>>>>>>>>>>?@???>AAAAAAAA>BBBBBBBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDEEEEEDFFFDGGGGGDHHHHHHHHHHHDIIDJJJDKKKDLLLLLLLLLLLLLLLLLLDMMMDNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOPPNNNDQQQQQQQQQDRRRRRRRRRRRRRRRRRRRRRRRDSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSDTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTDUUDVVVVVVVVVVVVVVVVVVVDWWWWWWDXXXDYYYYYYYYCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCZZZZZC[\\\]\\\\\\\\\[[[[[[[C^^_``````_aaaaa_CCCbbbbbbbbbbbbbbccccccccccccccccccccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbCdeeeeeeeeeeeeedCCCffffffggfhhfijkklllllllllllmmlnnnnnnoooooooooooooonpqnrrrrrrssssssssssssssrturvvvvvvwwwxxxxxxyyyyyyz{{|||||||||||||||||||||}}}}}}}}}}}}}}}}}}}}}}}|~~~~~~~~~~~~~~|                                            !!"!!!!!!##########$$$$$$$$$%%%%%$$$$$$$$$$$$$$$$$$$$$&&&&&&&&&&&&&&&&&&&&&&''''''((())**********)))++++++++demoAABB_treeAABB_demo.cppAABB_demo.pdfAABB_demo.qrcCMakeLists.txtColor_ramp.hMainWindow.cppMainWindow.hMainWindow.uiRefiner.hScene.cppScene.hViewer.cppViewer.hbenchmarks.cppresourcesabout.htmlcgal_logo.xpmtypes.hAlpha_shapes_2Alpha_shapes_2.cppAlpha_shapes_2.qrcAlpha_shapes_2.uiCMakeLists.txtabout_Alpha_shapes_2.htmlAlpha_shapes_3Alpha_shape_3.cppAlpha_shape_3.qrcCMakeLists.txtMainWindow.cppMainWindow.hMainWindow.uiViewer.cppViewer.habout_Alpha_shapes_3.htmltypedefs.hApollonius_graph_2Apollonius_graph_2.cppApollonius_graph_2.qrcApollonius_graph_2.uiCMakeLists.txtabout_Apollonius_graph_2.htmlArrangement_on_surface_2AlgebraicCurveInputDialog.cppAlgebraicCurveInputDialog.hAlgebraicCurveInputDialog.uiAlgebraicCurveParser.cppAlgebraicCurveParser.hArrTraitsAdaptor.hArrangementDemoGraphicsView.cppArrangementDemoGraphicsView.hArrangementDemoPropertiesDialog.cppArrangementDemoPropertiesDialog.hArrangementDemoPropertiesDialog.uiArrangementDemoTab.cppArrangementDemoTab.hArrangementDemoWindow.cppArrangementDemoWindow.hArrangementDemoWindow.uiArrangementGraphicsItem.cppArrangementGraphicsItem.hArrangementGraphicsItemTyped.hArrangementIO.cppArrangementIO.hArrangementPainterOstream.cppArrangementPainterOstream.hArrangementTypes.hArrangementTypesUtils.hArrangement_on_surface_2.qrcCMakeLists.txtCallback.cppCallback.hColorItemEditor.cppColorItemEditor.hConic_reader.hCurveGraphicsItem.cppCurveGraphicsItem.hCurveInputMethods.cppCurveInputMethods.hDeleteCurveCallback.cppDeleteCurveCallback.hEnvelopeCallback.cppEnvelopeCallback.hFillFaceCallback.cppFillFaceCallback.hFloodFill.cppFloodFill.hForwardDeclarations.hGraphicsSceneMixin.cppGraphicsSceneMixin.hGraphicsViewCurveInput.cppGraphicsViewCurveInput.hGraphicsViewCurveInputTyped.hGridGraphicsItem.cppGridGraphicsItem.hMergeEdgeCallback.cppMergeEdgeCallback.hNewTabDialog.cppNewTabDialog.hNewTabDialog.uiOverlayDialog.cppOverlayDialog.hOverlayDialog.uiPointLocationCallback.cppPointLocationCallback.hPointSnapper.cppPointSnapper.hPointsGraphicsItem.cppPointsGraphicsItem.hPropertyValueDelegate.cppPropertyValueDelegate.hQtMetaTypes.hRationalCurveInputDialog.cppRationalCurveInputDialog.hRationalCurveInputDialog.uiRationalTypes.hSplitEdgeCallback.cppSplitEdgeCallback.hUtilsConstructBoundingBox.cppConstructBoundingBox.hConstructSegment.cppConstructSegment.hEnvelopeFunctions.cppEnvelopeFunctions.hIntersectCurves.cppIntersectCurves.hPointLocationFunctions.cppPointLocationFunctions.hSplitAndMerge.cppSplitAndMerge.hUtils.cppUtils.hVerticalRayGraphicsItem.cppVerticalRayGraphicsItem.hVerticalRayShootCallback.cppVerticalRayShootCallback.harrangement_2.cppdataalgebraicalg_circle.arrcircle.arrcubic.arrellipse.arrerdos_lemiscate.arrhyperbola.arrinfinitesimal.arrtrifolium.arrconicbig_circ_arcs.arrbig_circ_arcs.datcircles_21.datpolylineps_circs.datrandom_polylines_10_20.datsines.datsegmentfork0505_mc.seg.rand.datnon_degenerate_100_x.datonebig_100.datonebig_100_x.datonebig_250_x.datpolygon_100.datrandom_segments_100.datrandom_segments_100_x.datrandom_segments_500_x.dattilt_grid_200.datworld.seg.cut.rand.dathelpabout.htmlindex.htmlresourcesabout.htmliconsarrow_down.xpmarrow_up.xpmblue_icon.xpmcolors.xpmconic.xpmconic_3points.xpmconic_5points.xpmconic_circle.xpmconic_ellipse.xpmconic_line.xpmconic_ray.xpmconic_segment.xpmconic_types.xpmdelete.bmpdelete.xpmdraw.xpmequation.xpmfill.xpmgreen_icon.xpmgrid.xpmhand.xpminsert.bmpinsert.xpmlower_env_xpm.bmplower_env_xpm.xpmmerge.bmpmerge.xpmnone.xpmpink_icon.xpmpo.xpmpointlocation.bmppointlocation.xpmpoints.xpmpolyline.xpmray_shooting.xpmray_shooting2.xpmrayshoot.bmprayshoot.xpmrayshoot_down.xpmrayshoot_up.xpmred_icon.xpmsnap.xpmsnap_to_grid.xpmsnapgrid.bmpsnapgrid.xpmsnapvertex.bmpsnapvertex.xpmsplit.bmpsplit.xpmupper_env_xpm.bmpupper_env_xpm.xpmvoronoi.xpmyellow_icon.xpmzoomin.bmpzoomin.xpmzoomout.bmpzoomout.xpmzoomreset.xpmtestsTestAlgebraic.cppTestRayPL.cppBounding_volumesBounding_volumes.cppBounding_volumes.qrcBounding_volumes.uiCMakeLists.txtEllipse.habout_Bounding_volumes.htmliconsconvex_hull.pngmin_circle.pdfmin_circle.pngmin_ellipse.pngmin_parallelogram.pngmin_quadrilateral.pngp_center.pngCGAL_ipeletsCMakeLists.txtalpha_shapes.cpparrangement.cppbbox_restriction.cppcircle_pencils.cppcone_spanners.cppdiagrams.cppdistance.cppgenerator.cpphilbert_sort.cpphull.cpphyperbolic.cppincludeCGAL_ipeletsk_delaunay.hpencils.hlualibCGAL_alpha_shapes.lualibCGAL_arrangement.lualibCGAL_bbox_restriction.lualibCGAL_circle_pencils.lualibCGAL_cone_spanners.lualibCGAL_diagrams.lualibCGAL_distance.lualibCGAL_generator.lualibCGAL_hilbert_sort.lualibCGAL_hull.lualibCGAL_hyperbolic.lualibCGAL_mesh_2.lualibCGAL_minkowski.lualibCGAL_mst.lualibCGAL_multi_delaunay.lualibCGAL_multi_regular.lualibCGAL_partition.lualibCGAL_pca.lualibCGAL_simple_triangulation.lualibCGAL_skeleton.lualibCGAL_svdlinf.lualibCGAL_triangulation.luamesh_2.cppminkowski.cppmst.cppmulti_delaunay.cppmulti_regular.cpppartition.cpppca.cppsimple_triangulation.cppskeleton.cppsvdlinf.cpptriangulation.cppCMakeLists.txtCircular_kernel_2ArcsGraphicsItem.hCMakeLists.txtCircular_kernel_2.cppCircular_kernel_2.qrcCircular_kernel_2.uiabout_Circular_kernel_2.htmlarcs.arcdatacircle_grid.cgalcircles_21.cgalCircular_kernel_3CMakeLists.txtCircular_kernel_3.cppViewer.cppViewer.hGeneratorCMakeLists.txtGenerator_2.cppGenerator_2.qrcGenerator_2.uiabout_Generator_2.htmlGraphicsViewCMakeLists.txtmin.cppHyperbolic_triangulation_2CMakeLists.txtHDT2.cppHDT2.uiincludeinternalQtHyperbolicPainterOstream.hHyperbolicPainterOstreamCK.hHyperbolicVoronoiGraphicsItem.hTriangulationCircumcircle.hTriangulationConflictZone.hTriangulationGraphicsItem.hTriangulationGraphicsItemWithColorInfo.hTriangulationMovingPoint.hTriangulationPointInputAndConflictZone.hTriangulationRemoveVertex.hresourcesDelaunay_triangulation_2.qrcabout_CGAL.htmlabout_Hyperbolic_Delaunay_triangulation_2.htmliconscircumcenter.pdfcircumcenter.pngconflict_zone.pdfconflict_zone.pngmoving_point.pdfmoving_point.pngtriangulation.pdftriangulation.pngL1_Voronoi_diagram_2CMakeLists.txtL1_voronoi_diagram_2.cppL1_voronoi_diagram_2.qrcL1_voronoi_diagram_2.uiabout_L1_voronoi_diagram_2.htmlincludeCGALL1_voronoi_traits_2.hQtArrangementGraphicsItem.hArrangementPointInput.hSetGraphicsItem.hLargest_empty_rect_2CMakeLists.txtLargest_empty_rectangle_2.cppLargest_empty_rectangle_2.qrcLargest_empty_rectangle_2.uiabout_Largest_empty_rectangle_2.htmlLinear_cell_complexCMakeLists.txtCreateMenger.uiCreateMesh.uiCreateSierpinskiCarpet.uiCreateSierpinskiTriangle.uiLinear_cell_complex_3.qrcLinear_cell_complex_3_demo.cppLinear_cell_complex_3_subdivision.cppLinear_cell_complex_pqq_subdivision.cppMainWindow.cppMainWindow.hMainWindow.uiViewer.cppViewer.habout_Linear_cell_complex_3.htmlimport_moka.htypedefs.hMesh_2CMakeLists.txtREADME.txtconform.cppdatabutterfly.edgclusters.edgclusters.polyclusters2.edgfish.edgfish.polyimg1.edgimg2.edgimg3.edgimg4.edgimg5.edgimg6.edgimg7.edgimg8.edglettre_A.edglettre_A_2.edgtrivial.polymesh.cppOptimal_transportation_reconstruction_2CMakeLists.txtOtr2_demo.cppOtr2_kerneled.hdatablob00.xymaple_leaf_embroidery.bmpround_rect00.xyskyline_noisy00.xystair-noise00.xydialog_options.hglviewer.cppglviewer.hiconsVoronoi_diagram_2.pngfileNew.pngfileOpen.pngfileSave.pngfit-page-32.pnginputPoint.pngsnapshot.pngtriangulation.pnguntil.pngvertex.pngoptions.uipwsrec.qrcpwsrec.uirender.cppscene.cppscene.hwindow.cppwindow.hPeriodic_2_triangulation_2CMakeLists.txtPeriodic_2_Delaunay_triangulation_2.cppPeriodic_2_triangulation_2.qrcPeriodic_2_triangulation_2.uiTriangulationCircumcircle.hTriangulationConflictZone.hTriangulationMovingPoint.hTriangulationPointInputAndConflictZone.hTriangulationRemoveVertex.habout_Periodic_2_triangulation_2.htmliconscircumcenter.pdfcircumcenter.pngconflict_zone.pdfconflict_zone.pngconstrained_triangulation.pdfconstrained_triangulation.pngconstrained_triangulation_show_constraints.pdfconstrained_triangulation_show_constraints.pngconstrained_triangulation_show_in_domain.pdfconstrained_triangulation_show_in_domain.pngfit-page-32.pnginputPoint.pngmoving_point.pdfmoving_point.pngtriangulation.pdftriangulation.pngincludeCGALQtPeriodicTriangulationGraphicsItem.hPeriodicVoronoiGraphicsItem.hPeriodic_3_triangulation_3CMakeLists.txtMainWindow.hMainWindow.uiPeriodic_3_triangulation_3.qhcpPeriodic_3_triangulation_3.qhpPeriodic_3_triangulation_3.qrcScene.cppScene.hScene_utils.hViewer.cppViewer.hdatapointsdocumentationimagesmainwindow.pngindex.htmlintroduction.htmlmenu.htmliconsball.pngcamera.pngclipping.pngclippingOff.pngconflict.pngcover1.pngcover27.pngfileOpen.pnginit0.pnginit1.pnginitGrid.pnginitRand.pnginitRandPlanar.pnginputPointBall.pnginputPointRandom.pnglicense.txtlocate.pngmultiple.pngmultipleOff.pngpause.pngplanar.pngplay.pngtwoColorClipping.pngwireframe.pngwireframeOff.pngperiodic_3_triangulation_3_demo.cppresourcesabout.htmlabout_CGAL.htmlPeriodic_4_hyperbolic_triangulation_2CMakeLists.txtMain_resources.qrcP4HDT2.cppP4HDT2.uiiconsCGAL.qrcVoronoi_diagram_2.pngabout_CGAL.htmlabout_P4HD_Triangulation_2.htmlbgd.pngcgal_logo.xpmcircumcenter.pngconflict_zone.pngfileNew.pngfileOpen.pngfileSave.pngfit-page-32.pnginputPoint.pngoctagon.pngplay.pngtriangulation.pngincludeinternalQtHyperbolicPainterOstream.hTriangulationCircumcircle.hTriangulationConflictZone.hTriangulationGraphicsItem.hTriangulationPointInput.hVoronoiGraphicsItem.hhyperbolic_free_motion_animation.hPeriodic_Lloyd_3CMakeLists.txtMainWindow.cppMainWindow.hMainWindow.uiPeriodic_Lloyd_3.cppPeriodic_Lloyd_3.qhcpPeriodic_Lloyd_3.qhpPeriodic_Lloyd_3.qrcScene.hViewer.cppViewer.habout_CGAL.htmlabout_Periodic_Lloyd_3.htmldocumentationimagesmainwindow.pngindex.htmlintroduction.htmlmenu.htmliconscp8.pngfileNew.pngfileOpen.pngfileSave.pngpause.pngplanar.pngplay.pngstep.pngtypedefs.hPolygonCMakeLists.txtPolygon_2.cppPolygon_2.qrcPolygon_2.uiabout_Polygon_2.htmlunweighted_polygon.polyweighted_polygon.wslPolyhedronC2t3_type.hC3t3_type.hCGAL_double_edit.cppCGAL_double_edit.hCGAL_polyhedron_demoConfig.cmake.inCMakeLists.txtCallback_signaler.cppCallback_signaler.hClassification.cppColor_map.hColor_ramp.cppColor_ramp.hDetails.uiEdge_container.cppFileLoaderDialog.uiFile_loader_dialog.hImage_type.hImage_type_fwd.hKernel_type.hLightingDialog.uiMainWindow.cppMainWindow.hMainWindow.uiMainWindow_config.hMainpage.mdMesh_3.cppMessages_interface.hNef_type.hNef_type_fwd.hOne_ring_iterators.hPMP.cppPluginsAABB_treeCMakeLists.txtCut_plugin.cppDo_trees_intersect_plugin.cppScene_movable_sm_item.cppScene_movable_sm_item.hAlpha_wrap_3Alpha_wrap_3_plugin.cppCMakeLists.txtalpha_wrap_3_dialog.uiCamera_positionCMakeLists.txtCamera_positions_list.cppCamera_positions_list.hCamera_positions_list.uiCamera_positions_plugin.cppClassificationCMakeLists.txtClassification_advanced_widget.uiClassification_plugin.cppClassification_widget.uiCluster_classification.cppCluster_classification.hItem_classification_base.hPoint_set_item_classification.cppPoint_set_item_classification.hSurface_mesh_item_classification.cppSurface_mesh_item_classification.hConvex_decompositionCMakeLists.txtNef_plugin.cppConvex_hullCMakeLists.txtConvex_hull_plugin.cppKernel_plugin.cppDisplayCMakeLists.txtDisplay_property.uiDisplay_property_plugin.cppIO3mf_io_plugin.cppCMakeLists.txtFunction_dialog.uiGOCAD_io_plugin.cppImplicit_function_io_plugin.cppLAS_io_plugin.cppNef_io_plugin.cppOFF_io_plugin.cppOFF_to_nef_io_plugin.cppPLY_io_plugin.cppPolylines_io_plugin.cppSTL_io_plugin.cppSurf_io_plugin.cppVTK_io_plugin.cppWKT_io_plugin.cppXYZ_io_plugin.cpplcc_io_plugin.cpptriangulation_3_io_plugin.cppMesh_2CMakeLists.txtMesh_2_plugin.cppmesh_2_dialog.uiMesh_3C3t3_io_plugin.cppC3t3_rib_exporter_plugin.cppCMakeLists.txtFacet_extra_criterion.hImage_res_dialog.uiIo_image_plugin.cppIo_implicit_function_plugin.cppLocal_optimizers_dialog.uiMesh_3_plugin.cppMesh_3_plugin_cgal_code.cppMesh_3_plugin_cgal_code.hMesh_function.hMeshing_dialog.uiMeshing_thread.cppMeshing_thread.hOptimization_plugin.cppOptimization_plugin_cgal_code.cppOptimizer_thread.cppOptimizer_thread.hRaw_image_dialog.cppRaw_image_dialog.hRib_dialog.uiSmoother_dialog.uiTetrahedra_filter_widget.uiTetrahedra_filtering_plugin.cppVolume_plane.hVolume_plane_interface.hVolume_plane_intersection.cppVolume_plane_intersection.hVolume_plane_thread.hconfig_mesh_3.hincludegslgsl_assertpointersraw_image.uisplit_polylines.cppsplit_polylines.hOperations_on_polyhedraAnimate_mesh_plugin.cppAnimate_widget.uiCMakeLists.txtClip_polyhedron_plugin.cppClip_polyhedron_plugin.uiDiff_between_meshes_plugin.cppPartitionDialog.uiPartition_graph_plugin.cppPoint_set_from_vertices_plugin.cppPCAAffine_transform_plugin.cppBasic_generator_plugin.cppBasic_generator_widget.uiCMakeLists.txtClipping_box_plugin.cppClipping_box_widget.uiCreate_bbox_mesh_plugin.cppCreate_obb_mesh_plugin.cppEdit_box_plugin.cppMeshOnGrid_dialog.uiPca_plugin.cppScene_aff_transformed_item.cppScene_aff_transformed_item.hScene_aff_transformed_point_set_item.cppScene_aff_transformed_point_set_item.hScene_aff_transformed_polygon_soup_item.cppScene_aff_transformed_polygon_soup_item.hScene_aff_transformed_surface_mesh_item.cppScene_aff_transformed_surface_mesh_item.hScene_edit_box_item.cppScene_edit_box_item.hScene_edit_box_item_config.hTransformation_widget.uiPMPCMakeLists.txtCorefinement_plugin.cppDegenerated_faces_plugin.cppDetect_sharp_edges_plugin.cppDistance_plugin.cppEngrave_dock_widget.uiEngrave_text_plugin.cppExtrude_plugin.cppFairing_plugin.cppFairing_widget.uiHole_filling_plugin.cppHole_filling_widget.uiInside_out_plugin.cppIsotropic_remeshing_dialog.uiIsotropic_remeshing_plugin.cppJet_fitting_plugin.cppJoin_and_split_polyhedra_plugin.cppMean_curvature_flow_skeleton_plugin.cppMean_curvature_flow_skeleton_plugin.uiOrient_soup_plugin.cppPoint_inside_polyhedron_plugin.cppPoint_inside_polyhedron_widget.uiPolyhedron_slicer_plugin.cppPolyhedron_slicer_widget.uiPolyhedron_stitching_plugin.cppRandom_perturbation_dialog.uiRandom_perturbation_plugin.cppRemesh_planar_patches_dialog.uiRemesh_planar_patches_plugin.cppRemoveNeedlesDialog.uiRepair_polyhedron_plugin.cppRepair_soup.uiScene_facegraph_item_k_ring_selection.cppScene_facegraph_item_k_ring_selection.hScene_facegraph_item_k_ring_selection_config.hScene_mcf_item.cppScene_mcf_item.hSelection_plugin.cppSelection_widget.uiSelfSnapDialog.uiSmoothing_plugin.cppSmoothing_plugin.uiSmoothing_tangential_relaxation.uiSurface_intersection_plugin.cppTriangulate_facets_plugin.cppPoint_setAlpha_shape_plugin.cppAlpha_shape_widget.uiCMakeLists.txtFeatures_detection_plugin.cppFeatures_detection_plugin.uiMerge_point_sets_plugin.cppPoint_set_average_spacing_plugin.cppPoint_set_bilateral_smoothing_plugin.cppPoint_set_bilateral_smoothing_plugin.uiPoint_set_clustering_plugin.cppPoint_set_interference_plugin.cppPoint_set_normal_estimation_plugin.cppPoint_set_normal_estimation_plugin.uiPoint_set_outliers_removal_plugin.cppPoint_set_outliers_removal_plugin.uiPoint_set_selection_plugin.cppPoint_set_selection_widget.uiPoint_set_shape_detection_plugin.cppPoint_set_shape_detection_plugin.uiPoint_set_simplification_plugin.cppPoint_set_simplification_plugin.uiPoint_set_smoothing_plugin.cppPoint_set_to_mesh_distance_plugin.cppPoint_set_to_mesh_distance_widget.uiPoint_set_upsampling_plugin.cppPoint_set_upsampling_plugin.uiPoint_set_wlop_plugin.cppPoint_set_wlop_plugin.uiRegister_point_sets_plugin.cppRegister_point_sets_plugin.uiSurface_reconstruction_advancing_front_impl.cppSurface_reconstruction_plugin.cppSurface_reconstruction_plugin.uiSurface_reconstruction_poisson_impl.cppSurface_reconstruction_polygonal_impl.cppSurface_reconstruction_scale_space_impl.cppSubdivision_methodsCMakeLists.txtSubdivision_methods_plugin.cppSurface_meshCMakeLists.txtMesh_segmentation_plugin.cppMesh_segmentation_widget.uiMesh_simplification_dialog.uiMesh_simplification_plugin.cppOTE_dialog.uiOffset_meshing_plugin.cppParameterization_plugin.cppParameterization_widget.uiRemeshing_dialog.uiScene_polyhedron_shortest_path_item.cppScene_polyhedron_shortest_path_item.hShortest_path_plugin.cppShortest_path_widget.uiSurface_mesh_approximation_dockwidget.uiSurface_mesh_approximation_plugin.cppUVProjector.hVSA_wrapper.cppVSA_wrapper.hSurface_mesh_deformationCMakeLists.txtDeform_mesh.uiEdit_polyhedron_plugin.cppScene_edit_polyhedron_item.cppScene_edit_polyhedron_item.hScene_edit_polyhedron_item_config.hTetrahedral_remeshingCMakeLists.txtTetrahedral_remeshing_dialog.uiTetrahedral_remeshing_plugin.cppThree_examplesBasic_dialog.uiBasic_dock_widget.uiBasic_item_plugin.cppBasic_plugin.cppCMakeLists.txtDock_widget_plugin.cppExample_plugin.cppGroup_item_plugin.cppPoint_container.cppPoint_dialog_config.hPolyhedron_3.cppPolyhedron_3.qrcPolyhedron_demo.cppPolyhedron_demo.hPolyhedron_demo_config.hPolyhedron_demo_detect_sharp_edges.hPolyhedron_demo_plugin_helper.cppPreferences.uiPrimitive_container.cppSMesh_type.hSSH_dialog.uiScene.cppScene.hScene_basic_objects_config.hScene_c3t3_item.cppScene_c3t3_item.hScene_c3t3_item_config.hScene_config.hScene_find_items.hScene_group_item.cppScene_image_item.cppScene_image_item.hScene_image_item_config.hScene_implicit_function_item.cppScene_implicit_function_item.hScene_implicit_function_item_config.hScene_item.cppScene_item_rendering_helper.cppScene_lcc_item.cppScene_lcc_item.hScene_nef_polyhedron_item.cppScene_nef_polyhedron_item.hScene_nef_polyhedron_item_config.hScene_plane_item.cppScene_plane_item.hScene_points_with_normal_item.cppScene_points_with_normal_item.hScene_points_with_normal_item_config.hScene_polygon_soup_item.cppScene_polygon_soup_item.hScene_polygon_soup_item_config.hScene_polyhedron_item_decorator.cppScene_polyhedron_item_decorator.hScene_polyhedron_item_decorator_config.hScene_polyhedron_selection_item.cppScene_polyhedron_selection_item.hScene_polyhedron_selection_item_config.hScene_polyhedron_shortest_path_item_config.hScene_polylines_item.cppScene_polylines_item.hScene_polylines_item_config.hScene_spheres_item.cppScene_spheres_item.hScene_surface_mesh_item.cppScene_surface_mesh_item.hScene_surface_mesh_item_config.hScene_tetrahedra_item.cppScene_tetrahedra_item.hScene_textured_polyhedron_item.cppScene_textured_surface_mesh_item.cppScene_textured_surface_mesh_item.hScene_triangulation_3_item.cppScene_triangulation_3_item.hScene_triangulation_3_item_config.hSelection_visualizer.hServer_ws.cppServer_ws.hShow_point_dialog.cppShow_point_dialog.hShow_point_dialog.uiStatistics_on_item_dialog.uiSubViewer.uiT3_type.hTextRenderer.cppThree.cppTravel_isolated_components.hTriangle_container.cppUseCGAL_polyhedron_demo.cmakeUse_ssh.cppViewer.cppViewer.hconcurrent_mesher_config.cfgconfig.hcreate_sphere.himplicit_functionsCMakeLists.txtImplicit_function_interface.hKlein_implicit_function.cppSphere_implicit_function.cppTanglecube_implicit_function.cppincludeCGALDualizer.hFacet_with_id_pmap.hIOread_surf_trianglemesh.hMake_bar.hMake_quad_soup.hMake_triangle_soup.hPolyhedron_kernel.hTextured_polyhedron_builder.hUse_ssh.hstatistics_helpers.htextured_polyhedron.htranslate.hPoint_set_3.hProgress_bar_callback.hQMultipleInputDialog.hQt_progress_bar_callback.hUI_point_3.hid_printing.hrun_with_qprogressdialog.hjavascriptlib.jstestsbadcatch_and_retrow_cpp_exception.jsinclude_missing_file.jssyntax_error.jsthrow_error.jsuncaught_cpp_exception.jsuncaught_cpp_exception_in_an_include.jsgoodcatch_missing_file.jscaught_cpp_exception_in_an_include.jscpp_exception.jscpp_exception_from_a_function.jscpp_exception_in_an_include.jsrun-tests.shpolyhedron_demo_macros.cmakeproperties.hresourcesabout.htmladd_facet1.pngadd_facet2.pngback.pngboolean-diff.pngboolean-intersection.pngboolean-union.pngbot.pngcgal_logo.xpmcheck-off.pngcheck-off.svgcheck-on.pngcheck.svgcompatibility_shadersheat_intensity_shader.fragheat_intensity_shader.vertshader_c3t3.fragshader_c3t3.vertshader_c3t3_edges.fragshader_c3t3_edges.vertshader_c3t3_spheres.fragshader_c3t3_spheres.vertshader_dark_spheres.vertshader_instanced.vertshader_no_light_no_selection.fragshader_old_flat.fragshader_plane_two_faces.fragshader_spheres.vertshader_with_light.fragshader_with_light.vertshader_with_texture.fragshader_with_texture.vertshader_with_textured_edges.fragshader_with_textured_edges.vertshader_without_light.fragshader_without_light.vertconvex-hull.pngdown.pngeditcopy.pngeuler_center.pngeuler_facet.pngeuler_vertex.pngexit.pngfront.pnggeneral_collapse.pnggrid.pngheat_intensity_shader.fragheat_intensity_shader.verthelp_button.pnghexahedron.pngicosphere.pngkernel.pngleft.pngleft_arrow.pngmenu.pngminus.pngno_interpolation_shader.fragno_interpolation_shader.geomno_interpolation_shader.vertpause.jpegplay.jpegplus.pngprism-open.pngprism.pngpss_box.pngpss_diff.pngpss_freeform.pngpss_inter.pngpss_new.pngpss_rectangle.pngpss_region.pngpss_union.pngpyramid-open.pngpyramid.pngreset.jpgright.pngright_arrow.pngrotate_around_cursor.pngshader_c3t3.fragshader_c3t3.vertshader_c3t3_edges.fragshader_c3t3_edges.vertshader_c3t3_spheres.fragshader_c3t3_spheres.vertshader_dark_spheres.vertshader_flat.fragshader_flat.geomshader_flat.vertshader_instanced.vertshader_no_light_no_selection.fragshader_old_flat.fragshader_plane_two_faces.fragshader_spheres.vertshader_tet_filter.fragshader_tet_filter.vertshader_with_light.fragshader_with_light.vertshader_with_texture.fragshader_with_texture.vertshader_with_textured_edges.fragshader_with_textured_edges.vertshader_without_light.fragshader_without_light.vertsimplification.pngsolid_wireframe_shader.fragsolid_wireframe_shader.geomsolid_wireframe_shader.verttetrahedron.pngtop.pngup.pngtestingdatacamera.camera.txtmini.surfoni.laspoly.polylines.txtsphere.inrsphere.inr.gzsphere.meshsphere.nef3sphere.selection.txtsphere.tssphere.vtksphere.vtpsphere.vtutest_demo.jstexture.cpptexture.htriangulate_primitive.hPolyline_simplification_2CMakeLists.txtPolyline_simplification_2.cppPolyline_simplification_2.qrcPolyline_simplification_2.uiabout_Polyline_simplification_2.htmldatabee.wktnorway.wkticonstriangulation.pdftriangulation.pngincludeCGALQtPolyline_simplification_2_graphics_item.hTriangulationArrangementGraphicsItem.hPrincipal_component_analysisCMakeLists.txtMainWindow.cppMainWindow.hMainWindow.uiPCA_demo.cppPCA_demo.qrcScene.cppScene.hViewer.cppViewer.hresourcesabout.htmlcgal_logo.xpmtypes.hSegment_Delaunay_graph_2CMakeLists.txtSegment_voronoi_2.cppSegment_voronoi_2.qrcSegment_voronoi_2.uiabout_Segment_voronoi_2.htmliconscircumcenter.pdfcircumcenter.pngconflict_zone.pdfconflict_zone.pngconstrained_triangulation.pdfconstrained_triangulation.pngconstrained_triangulation_show_constraints.pdfconstrained_triangulation_show_constraints.pngconstrained_triangulation_show_in_domain.pdfconstrained_triangulation_show_in_domain.pngmoving_point.pdfmoving_point.pngtriangulation.pdftriangulation.pngincludeCGALConstraints_loader.hsvd-typedefs.hSegment_Delaunay_graph_Linf_2CMakeLists.txtSegment_voronoi_2.qrcSegment_voronoi_2.uiSegment_voronoi_linf_2.cppabout_Segment_voronoi_2.htmliconscircumcenter.pdfcircumcenter.pngconflict_zone.pdfconflict_zone.pngconstrained_triangulation.pdfconstrained_triangulation.pngconstrained_triangulation_show_constraints.pdfconstrained_triangulation_show_constraints.pngconstrained_triangulation_show_in_domain.pdfconstrained_triangulation_show_in_domain.pngmoving_point.pdfmoving_point.pngtriangulation.pdftriangulation.pngincludeCGALConstraints_loader.hsvd-typedefs.hSnap_rounding_2CMakeLists.txtSnap_rounding_2.cppSnap_rounding_2.qrcSnap_rounding_2.uiabout_Snap_rounding_2.htmliconsgrid.pngsnapped.pngunsnapped.pngSpatial_searching_2CMakeLists.txtNearestNeighbor.hSpatial_searching_2.cppSpatial_searching_2.qrcSpatial_searching_2.uiabout_Spatial_searching_2.htmlStream_lines_2CMakeLists.txtStream_lines_2.cppStream_lines_2.qrcStream_lines_2.uiabout_Stream_lines_2.htmldatavnoise.vec.cinSurface_mesh_deformationCMakeLists.txtdeform_mesh_for_botsch08_format.cppTriangulation_2CMakeLists.txtConstrained_Delaunay_triangulation_2.cppConstrained_Delaunay_triangulation_2.qrcConstrained_Delaunay_triangulation_2.uiDelaunayMeshInsertSeeds.hDelaunay_triangulation_2.cppDelaunay_triangulation_2.qrcDelaunay_triangulation_2.uiRegularTriangulationRemoveVertex.hRegular_triangulation_2.cppRegular_triangulation_2.qrcRegular_triangulation_2.uiTriangulationCircumcircle.hTriangulationConflictZone.hTriangulationMovingPoint.hTriangulationPointInputAndConflictZone.hTriangulationRemoveVertex.habout_Constrained_Delaunay_triangulation_2.htmlabout_Delaunay_triangulation_2.htmlabout_Regular_triangulation_2.htmldatabutterflybutterfly.edgclusters.edgclusters.polyclusters2.edgfishfish.edgfish.polyimg1.edgimg2.edgimg3.edgimg4.edgimg5.edgimg6.edgimg7.edgimg8.edglettre_A.edglettre_A_2.edgnorway.edgpoissontrtriangulation.cgaltrivial.polyiconscircumcenter.pdfcircumcenter.pngconflict_zone.pdfconflict_zone.pngconstrained_triangulation.pdfconstrained_triangulation.pngconstrained_triangulation_show_constraints.pdfconstrained_triangulation_show_constraints.pngconstrained_triangulation_show_in_domain.pdfconstrained_triangulation_show_in_domain.pngmoving_point.pdfmoving_point.pngtriangulation.pdftriangulation.pngincludeCGALLipschitz_sizing_field_criteria_2.hTriangulation_3CMakeLists.txtMainWindow.cppMainWindow.hMainWindow.uiPreferenceDlg.cppPreferenceDlg.hScene.cppScene.hT3_demo.cppT3_demo.qrcViewer.cppViewer.hdocumentationabout.htmlabout_CGAL.htmliconsabout_CGAL.htmlcgal_logo.xpmclear.jpegcoordinates.jpegempty_sphere.jpegfileOpen.pngfileSave.pngflat.pnggrid.jpeginsert.jpeginsert_point.jpgmove_1.jpegnearest_nb.pngnormal_view.jpegpause.jpegplay.jpegpointRandom.pngpreferences.jpegquit.jpegselect_hand.jpegshow_delaunay.jpegshow_facet.jpegshow_point.jpegshow_voronoi.jpegstereo.pngstop.jpegtypedefs.hTriangulation_on_sphere_2CMakeLists.txtMainwindow.uiViewer.cppViewer.hcreate_sphere.hmain.cppiconsDelaunay_triangulation_2.pngFile.qrcInput.qrcTriangulation_2.qrcVoronoi_diagram_2.pngfileNew.pngfileOpen.pngfileSave.pngfit-page-32.pnginputPoint.pnginputPoint.svginputPolyline.pnglicense.txtzoom-best-fit.pngzoom-best-fit.svgresourcesCGAL.qrcabout_CGAL.htmlcgal_logo.xpmcgal_logo_ipe_2013.pngexamplesAABB_treeAABB_cached_bbox_example.cppAABB_custom_example.cppAABB_custom_indexed_triangle_set_array_example.cppAABB_custom_indexed_triangle_set_example.cppAABB_custom_triangle_soup_example.cppAABB_face_graph_triangle_example.cppAABB_halfedge_graph_edge_example.cppAABB_insertion_example.cppAABB_polyhedron_edge_example.cppAABB_polyhedron_facet_distance_example.cppAABB_polyhedron_facet_intersection_example.cppAABB_ray_shooting_example.cppAABB_segment_3_example.cppAABB_triangle_3_example.cppCMakeLists.txtAdvancing_front_surface_reconstructionCMakeLists.txtboundaries.cppreconstruction_class.cppreconstruction_fct.cppreconstruction_structured.cppreconstruction_surface_mesh.cppAlgebraic_foundationsCMakeLists.txtalgebraic_structure_dispatch.cppfraction_traits.cppimplicit_interoperable_dispatch.cppintegralize.cppinteroperable.cppAlgebraic_kernel_dCMakeLists.txtCompare_1.cppConstruct_algebraic_real_1.cppIsolate_1.cppSign_at_1.cppSolve_1.cppAlpha_shapes_2CMakeLists.txtREADMEdatafinfin3fin_weightedex_alpha_projection_traits.cppex_alpha_shapes_2.cppex_periodic_alpha_shapes_2.cppex_weighted_alpha_shapes_2.cppAlpha_shapes_3CMakeLists.txtREADMEdatabunny_1000bunny_5000finex_alpha_shapes_3.cppex_alpha_shapes_exact_alpha.cppex_alpha_shapes_with_fast_location_3.cppex_fixed_weighted_alpha_shapes_3.cppex_periodic_alpha_shapes_3.cppex_weighted_alpha_shapes_3.cppex_weighted_periodic_alpha_shapes_3.cppvisible_alpha_shape_facets_to_OFF.cppAlpha_wrap_3CMakeLists.txtmixed_inputs_wrap.cpppoint_set_wrap.cpptriangle_mesh_wrap.cpptriangle_soup_wrap.cppwrap_from_cavity.cppApollonius_graph_2CMakeLists.txtREADMEag2_exact_traits.cppag2_exact_traits_sqrt.cppag2_filtered_traits_no_hidden.cppag2_hierarchy.cppdatahierarchy.cinsites.cinApproximate_min_ellipsoid_dCMakeLists.txtellipsoid.cppellipsoid_for_maple.cppArrangement_on_surface_2Bezier.datBezier_curves.cppBezier_polycurve.datCMakeLists.txtEdge_length.hEurope.datExtended_face_property_map.hOverlay_color_traits.haggregated_insertion.cppalgebraic_curves.cppalgebraic_segments.cpparr_Bezier.harr_circular.harr_conics.harr_exact_construction_segments.harr_geodesic_on_sphere.harr_inexact_construction_segments.harr_linear.harr_polylines.harr_print.harr_rat_functions.hbatched_point_location.cppbgl_dual_adapter.cppbgl_primal_adapter.cppbounded_vertical_decomposition.cppcircles.cppcircular_arcs.cppcircular_line_arcs.cppcoll_points.datconic_multiplicities.cppconics.cppconsolidated_curve_data.cppcurve_history.cppdcel_extension.cppdcel_extension_io.cppdraw_arr.cppdual_lines.cppdual_with_data.cppedge_insertion.cppedge_manipulation.cppedge_manipulation_curve_history.cppellipses.cppface_extension.cppface_extension_overlay.cppfan_grids.datgeneric_curve_data.cppglobal_insertion.cppglobal_removal.cpphyperbolas.cppincremental_insertion.cppinteger_type.hio.cppio_curve_history.cppio_unbounded.cppis_in_x_range.hisolated_vertices.cpplinear_conics.cppobserver.cppoverlay.cppoverlay_color.cppoverlay_unbounded.cppparabolas.cpppoint_location.cpppoint_location_utils.hpoints.datpolycurve_bezier.cpppolycurve_circular_arc.cpppolycurve_conic.cpppolycurve_geodesic.cpppolycurves_basic.cpppolylines.cpppredefined_kernel.cpppredefined_kernel_non_intersecting.cpprational_functions.cpprational_functions_rational_coefficients.cppread_objects.hsgm_point_location.cppspecial_edge_insertion.cppspherical_degenerate_insert1.cppspherical_degenerate_insert2.cppspherical_degenerate_sweep.cppspherical_insert.cppspherical_is_in_x_range.hspherical_overlay.cppspherical_overlay.jpgspherical_overlay.wrltracing_counting.cppunb_planar_vertical_decomposition.cppunbounded_non_intersecting.cppunbounded_rational_functions.cppvertical_ray_shooting.cppBGL_LCCCMakeLists.txtcopy_lcc.cppdistance_lcc.cppincident_vertices_lcc.cppkruskal_lcc.cppnormals_lcc.cpprange_lcc.cpptransform_iterator_lcc.cppBGL_OpenMeshCMakeLists.txtTriMesh.cppBGL_arrangement_2CMakeLists.txtarr_print.harr_rational_nt.harrangement_dual.cppprimal.cppBGL_graphcutCMakeLists.txtalpha_expansion_example.cppface_selection_borders_regularization_example.cppBGL_polyhedron_3CMakeLists.txtcopy_polyhedron.cppdistance.cppincident_vertices.cppkruskal.cppkruskal_with_stored_id.cppnormals.cpppolyhedron_partition.cpprange.cpptransform_iterator.cppBGL_surface_meshCMakeLists.txtconnected_components.cppdataflatten.selection.txthole.selection.txttwo_connected_components.selection.txtgwdwg.cppprim.cppseam_mesh.cppsurface_mesh_dual.cppsurface_mesh_partition.cppwrite_inp.cppBGL_triangulation_2CMakeLists.txtdatapoints.xyweighted_points.xywdijkstra.cppdijkstra_with_internal_properties.cppemst.cppemst_cdt_plus_hierarchy.cppemst_regular.cppface_graph.cppBarycentric_coordinates_2CMakeLists.txtaffine_coordinates.cppdeprecated_coordinates.cppdiscrete_harmonic_coordinates.cppharmonic_coordinates.cppmean_value_coordinates.cppsegment_coordinates.cppshape_deformation.cppterrain_height_modeling.cpptriangle_coordinates.cppwachspress_coordinates.cppBoolean_set_operations_2CMakeLists.txtREADMEamer_a.bpsamer_b.bpsamer_c.bpsamer_d.bpsamer_e.bpsamer_f.bpsamer_g.bpsamer_h.bpsamer_i.bpsamer_j.bpsamer_k.bpsbezier_traits_adapter.cppbezier_traits_adapter2.cppbso_rational_nt.hchar_g.bpschar_g.datchar_m.bpschar_m.datcircle_segment.cppconic_traits_adapter.cppconnect_polygon.cppdo_intersect.cppdraw_polygon_set.cppdxf_union.cppinput_0.bpsinput_1.bpsoriented_side.cpppgn_holes.datprint_utils.hsequence.cppset_union.cppsimple_join_intersect.cppsymmetric_difference.cpptest.dxfBox_intersection_dCMakeLists.txtbox_d_do_intersect_polylines.cppbox_grid.cppcustom_box_grid.cppminimal.cppminimal_self.cppprogress.cppproximity_custom_box_traits.cpptriangle_self_intersect.cpptriangle_self_intersect_pointers.cppCGALimageIOCMakeLists.txtconvert_raw_image_to_inr.cppextract_a_sub_image.cppslice_image.cpptest_imageio.cppCMakeLists.txtCircular_kernel_2CMakeLists.txtfunctor_has_on_2.cppintersecting_arcs.cppCircular_kernel_3CMakeLists.txtfunctor_compare_theta_3.cppfunctor_has_on_3.cppintersecting_spheres.cppCirculatorCMakeLists.txtcirculator_prog1.cppcirculator_prog2.cppcirculator_prog3.cppClassificationCMakeLists.txtdatab9_clusters_config.binb9_mesh_config.binexample_classification.cppexample_cluster_classification.cppexample_deprecated_conversion.cppexample_ethz_random_forest.cppexample_feature.cppexample_generation_and_training.cppexample_mesh_classification.cppexample_opencv_random_forest.cppgis_tutorial_example.cppincludeColor_ramp.hCombinatorial_mapCMakeLists.txtmap_3_dynamic_onmerge.cppmap_3_foreach.cppmap_3_index.cppmap_3_marks.cppmap_3_operations.cppmap_3_simple_example.cppmap_3_with_colored_facets.cppmap_4_simple_example.cppCone_spanners_2CMakeLists.txtREADMEcompute_cones.cppdatan20.cinn9.cindijkstra_theta.cpptheta_io.cppConvex_decomposition_3CMakeLists.txtlist_of_convex_parts.cinlist_of_convex_parts.cppConvex_hull_2CMakeLists.txtarray_convex_hull_2.cppch_delaunay_2.cppch_from_cin_to_cout.cinch_from_cin_to_cout.cppch_graham_anderson.cinch_graham_anderson.cppch_timing.cppconvex_hull_indices_2.cppconvex_hull_yz.cinconvex_hull_yz.cppfilesCD500includeCGALch_timing_2.hch_timing_2_impl.hiostream_convex_hull_2.ciniostream_convex_hull_2.cppvector_convex_hull_2.cppConvex_hull_3CMakeLists.txtdynamic_hull_3.cppdynamic_hull_LCC_3.cppdynamic_hull_OM_3.cppdynamic_hull_SM_3.cppextreme_indices_3.cppextreme_points_3_sm.cppgraph_hull_3.cpphalfspace_intersection_3.cpplloyd_algorithm.cppquickhull_3.cppquickhull_OM_3.cppquickhull_any_dim_3.cppquickhull_indexed_triangle_set_3.cppCoreCMakeLists.txtdelaunay.cppEnvelope_2CMakeLists.txtch_points.datconvex_hull_2.cppenvelope_circles.cppenvelope_segments.cppEnvelope_3CMakeLists.txtenvelope_planes.cppenvelope_spheres.cppenvelope_triangles.cppspheres.datFiltered_kernelCMakeLists.txtCartesian_I.hFiltered_predicate.cppGeneralized_mapCMakeLists.txtcomparison_gmap_cmap.cppgmap_2_moebius.cppgmap_3_dynamic_onmerge.cppgmap_3_index.cppgmap_3_marks.cppgmap_3_operations.cppgmap_3_simple_example.cppgmap_3_with_colored_facets.cppgmap_4_simple_example.cppGeneratorCMakeLists.txtREADMEball_d.cppcombination_enumerator.cppcube_d.cppgrid_d.cppname_pairs.cpprandom_convex_hull_2.cpprandom_convex_set.cpprandom_degenerate_point_set.cpprandom_grid.cpprandom_points_in_tetrahedral_mesh_3.cpprandom_points_in_triangles_2.cpprandom_points_in_triangles_3.cpprandom_points_on_tetrahedral_mesh_3.cpprandom_points_on_triangle_mesh_2.cpprandom_points_on_triangle_mesh_3.cpprandom_points_tetrahedron_and_triangle_3.cpprandom_points_triangle_2.cpprandom_polygon.cpprandom_polygon2.cpprandom_segments1.cpprandom_segments2.cppsphere_d.cppHalfedgeDSCMakeLists.txthds_prog_color.cpphds_prog_compact.cpphds_prog_compact2.cpphds_prog_default.cpphds_prog_edge_iterator.cpphds_prog_graph.cpphds_prog_graph2.cpphds_prog_halfedge_iterator.cpphds_prog_vector.cppHeat_method_3CMakeLists.txtheat_method.cppheat_method_polyhedron.cppheat_method_surface_mesh.cppheat_method_surface_mesh_direct.cppHyperbolic_triangulation_2CMakeLists.txtht2_example.cppht2_example_color.cppInscribed_areasCMakeLists.txtextremal_polygon_2_area.cppextremal_polygon_2_perimeter.cpplargest_empty_rectangle.cppInterpolationCMakeLists.txtREADMEdatapoints3interpolation_2.cppinterpolation_vertex_with_info_2.cpplinear_interpolation_2.cpplinear_interpolation_of_vector_3.cppnn_coordinates_2.cppnn_coordinates_3.cppnn_coordinates_with_info_2.cpprn_coordinates_2.cppsibson_interpolation_2.cppsibson_interpolation_rn_2.cppsibson_interpolation_rn_vertex_with_info_2.cppsibson_interpolation_vertex_with_info_2.cppsurface_neighbor_coordinates_3.cppInterval_skip_listCMakeLists.txtintervals.cppisl_terrain.cppterrain.ptsJet_fitting_3CMakeLists.txtMesh_estimation.cppPolyhedralSurf.hPolyhedralSurf_operations.hPolyhedralSurf_rings.hREADMESingle_estimation.cppdatain_points_d4.txtin_points_file.txtpoly2x^2+y^2-0.062500-offKernel_23CMakeLists.txtMyConstruct_bbox_2.hMyConstruct_coord_iterator.hMyConstruct_point_2.hMyKernel.cppMyKernel.hMyPointC2.hMyPointC2_iostream.hMySegmentC2.hcartesian_converter.cppexact.cppintersection_get.cppintersection_visitor.cppintersections.cpppoints_and_segment.cppsurprising.cppLinear_cell_complexCMakeLists.txtREADME.txtbasic_viewer.hdatagraph.txtpoints_2points_3small_points_2small_points_3draw_linear_cell_complex.cppgmap_linear_cell_complex_3.cpplinear_cell_complex_3.cpplinear_cell_complex_3_attributes_management.cpplinear_cell_complex_3_incremental_builder.cpplinear_cell_complex_3_operations.cpplinear_cell_complex_3_with_colored_vertices.cpplinear_cell_complex_3_with_mypoint.cpplinear_cell_complex_4.cppplane_graph_to_lcc_2.cppvoronoi_2.cppvoronoi_3.cppMatrix_searchCMakeLists.txtsorted_matrix_search.cppMesh_2CMakeLists.txtconforming.cppmesh_class.cppmesh_global.cppmesh_marked_domain.cppmesh_optimization.cppmesh_with_seeds.cppMesh_3CMakeLists.txtdatahybrid_example.polylines.txtdebug.himplicit_functions.cppimplicit_functions.hmesh_3D_gray_image.cppmesh_3D_gray_image_multiple_values.cppmesh_3D_gray_image_with_custom_initialization.cppmesh_3D_gray_vtk_image.cppmesh_3D_image.cppmesh_3D_image_variable_size.cppmesh_3D_image_with_custom_initialization.cppmesh_3D_image_with_detection_of_features.cppmesh_3D_image_with_features.cppmesh_3D_image_with_input_features.cppmesh_3D_weighted_image.cppmesh_3D_weighted_image_with_detection_of_features.cppmesh_cubes_intersection.cppmesh_cubes_intersection_with_features.cppmesh_hybrid_mesh_domain.cppmesh_implicit_domains.cppmesh_implicit_domains_2.cppmesh_implicit_ellipsoid.cppmesh_implicit_sphere.cppmesh_implicit_sphere_variable_size.cppmesh_optimization_example.cppmesh_optimization_lloyd_example.cppmesh_polyhedral_complex.cppmesh_polyhedral_complex_sm.cppmesh_polyhedral_domain.cppmesh_polyhedral_domain_sm.cppmesh_polyhedral_domain_with_features.cppmesh_polyhedral_domain_with_features_sizing.cppmesh_polyhedral_domain_with_features_sm.cppmesh_polyhedral_domain_with_lipschitz_sizing.cppmesh_polyhedral_domain_with_surface_inside.cppmesh_two_implicit_spheres_with_balls.cpprandom_labeled_image.hread_polylines.hremesh_polyhedral_surface.cppremesh_polyhedral_surface_sm.cppMin_annulus_dCMakeLists.txtmin_annulus_d.cppmin_annulus_d_fast_exact.cppMin_circle_2CMakeLists.txtmin_circle_2.cppmin_circle_homogeneous_2.cppMin_ellipse_2CMakeLists.txtmin_ellipse_2.cppMin_quadrilateral_2CMakeLists.txtminimum_enclosing_parallelogram_2.cppminimum_enclosing_rectangle_2.cppminimum_enclosing_strip_2.cppMin_sphere_dCMakeLists.txtmin_sphere_3.cppmin_sphere_homogeneous_3.cppMin_sphere_of_spheres_dCMakeLists.txtbenchmark.cppmin_sphere_of_spheres_d_2.cppmin_sphere_of_spheres_d_3.cppmin_sphere_of_spheres_d_d.cppMinkowski_sum_2CMakeLists.txtapprox_inset.cppapprox_offset.cpparr_conics.hbops_circular.hbops_linear.hexact_inset.cppexact_offset.cppholes.datms_rational_nt.hpgn_print.hprint_utils.hrooms_star.datspiked.datsum_by_decomposition.cppsum_of_holes.cppsum_triangle_square.cppsum_with_holes.cpptight.datMinkowski_sum_3CMakeLists.txtcube.nef3cube_offset.cincube_offset.cppglide.cinglide.cppModular_arithmeticCMakeLists.txtmodular_filter.cppNef_2CMakeLists.txtnef_2_construction.cppnef_2_exploration.cppnef_2_intersection.cppnef_2_polylines.cppNef_3CMakeLists.txtcomparison.cppcomplex_construction.cincomplex_construction.cppdraw_nef_3.cppexploration_SM.cinexploration_SM.cppextended_kernel.cinextended_kernel.cpphandling_double_coordinates.cinhandling_double_coordinates.cppinterface_polyhedron.cininterface_polyhedron.cppnefIO.cinnefIO.cppnef_3_construction.cppnef_3_point_location.cinnef_3_point_location.cppnef_3_simple.cppnef_3_to_surface_mesh.cppoffIO.cinoffIO.cpppoint_set_operations.cpppolyline_construction.cppset_operations.cppshell_exploration.cinshell_exploration.cppsurface_mesh_to_nef.cpptopological_operations.cintopological_operations.cpptransformation.cppNef_S2CMakeLists.txtincludeCGALNef_S2create_random_Nef_S2.hnef_s2_construction.cppnef_s2_exploration.cppnef_s2_point_location.cppnef_s2_simple.cppOptimal_bounding_boxCMakeLists.txtobb_example.cppobb_with_point_maps_example.cpprotated_aabb_tree_example.cppOptimal_transportation_reconstruction_2CMakeLists.txtdatastair-noise00.xystair.xystair.xymotr2_indexed_output_example.cppotr2_list_output_example.cppotr2_mass_example.cppotr2_simplest_example.cppotr2_simplest_example_with_tolerance.cppOrthtreeCMakeLists.txtoctree_build_from_point_set.cppoctree_build_from_point_vector.cppoctree_build_with_custom_split.cppoctree_find_nearest_neighbor.cppoctree_grade.cppoctree_traversal_custom.cppoctree_traversal_manual.cppoctree_traversal_preorder.cpporthtree_build.cppquadtree_build_from_point_vector.cppPartition_2CMakeLists.txtREADMEapprox_convex_partition_2.cppgreene_approx_convex_partition_2.cppoptimal_convex_partition_2.cppy_monotone_partition_2.cppy_monotone_partition_indices_2.cppPeriodic_2_triangulation_2CMakeLists.txtdatadata1.dt.cintriangulation_prog1.cindraw_periodic_2_triangulation_2.cppp2t2_adding_handles.cppp2t2_colored_vertices.cppp2t2_covering.cppp2t2_find_conflicts.cppp2t2_geometric_access.cppp2t2_hierarchy.cppp2t2_info_insert_with_pair_iterator_2.cppp2t2_info_insert_with_transform_iterator_2.cppp2t2_info_insert_with_zip_iterator_2.cppp2t2_large_point_set.cppp2t2_simple_example.cppPeriodic_3_mesh_3CMakeLists.txtmesh_implicit_multi_domain.cppmesh_implicit_shape.cppmesh_implicit_shape_with_features.cppmesh_implicit_shape_with_optimizers.cppmesh_implicit_shape_with_subdomains.cppmesh_periodic_polyhedral_domain.cppPeriodic_3_triangulation_3CMakeLists.txtREADMEcolored_vertices.cppcovering.cppfind_conflicts.cppgeometric_access.cpplarge_point_set.cppp3rt3_hidden_points.cppp3rt3_insert_only.cppp3rt3_insert_point_with_bad_weight.cppp3rt3_insert_remove.cppperiodic_adding_handles.cppsimple_example.cppsimple_regular_example.cppPeriodic_4_hyperbolic_triangulation_2CMakeLists.txtp4ht2_example_insertion.cppPoint_set_2CMakeLists.txtnearest_neighbor.cpprange_search.cppPoint_set_3CMakeLists.txtdraw_point_set_3.cpppoint_set.cpppoint_set_advanced.cpppoint_set_algo.cpppoint_set_property.cpppoint_set_read_ply.cpppoint_set_read_xyz.cppPoint_set_processing_3CMakeLists.txtaverage_spacing_example.cppbilateral_smooth_point_set_example.cppcallback_example.cppclustering_example.cppdatapig_points.lasurban.lasedge_aware_upsample_point_set_example.cppedges_example.cppgrid_simplification_example.cppgrid_simplify_indices.cpphierarchy_simplification_example.cppjet_smoothing_example.cppnormal_estimation.cppnormals_example.cpporient_scanlines_example.cppproperty_map.cpprandom_simplification_example.cppread_las_example.cppread_ply_points_with_colors_example.cppread_write_xyz_point_set_example.cppregistration_with_OpenGR.cppregistration_with_opengr_pointmatcher_pipeline.cppregistration_with_pointmatcher.cppremove_outliers_example.cppscale_estimation_2d_example.cppscale_estimation_example.cppstructuring_example.cppwlop_simplify_and_regularize_point_set_example.cppwrite_las_example.cppwrite_ply_points_example.cppPoisson_surface_reconstruction_3CMakeLists.txtpoisson_reconstruction.cpppoisson_reconstruction_example.cpppoisson_reconstruction_function.cpptutorial_example.cppPolygonCMakeLists.txtExample.cppPolygon.cppdraw_polygon.cppdraw_polygon_with_holes.cpppolygon_algorithms.cppprojected_polygon.cppranges.cppPolygon_mesh_processingCMakeLists.txtcc_compatible_orientations.cppcompute_normals_example.cppcompute_normals_example_OM.cppcompute_normals_example_Polyhedron.cppconnected_components_example.cppcorefinement_LCC.cppcorefinement_OM_union.cppcorefinement_SM.cppcorefinement_consecutive_bool_op.cppcorefinement_difference_remeshed.cppcorefinement_mesh_union.cppcorefinement_mesh_union_and_intersection.cppcorefinement_mesh_union_progress.cppcorefinement_mesh_union_with_attributes.cppcorefinement_parallel_union_meshes.cppcorefinement_polyhedron_union.cppdelaunay_remeshing_example.cppdetect_features_example.cppextrude.cppface_filtered_graph_example.cpphausdorff_bounded_error_distance_example.cpphausdorff_distance_remeshing_example.cpphole_filling_example.cpphole_filling_example_LCC.cpphole_filling_example_OM.cpphole_filling_example_SM.cpphole_filling_visitor_example.cppisotropic_remeshing_example.cppisotropic_remeshing_of_patch_example.cpplocate_example.cppmanifoldness_repair_example.cppmatch_faces.cppmesh_slicer_example.cppmesh_smoothing_example.cpporient_polygon_soup_example.cpporientation_pipeline_example.cpppoint_inside_example.cpppoint_inside_example_OM.cpppolyhedral_envelope.cpppolyhedral_envelope_mesh_containment.cpppolyhedral_envelope_of_triangle_soup.cpprandom_perturbation_SM_example.cpprefine_fair_example.cppremesh_almost_planar_patches.cppremesh_planar_patches.cpprepair_polygon_soup_example.cppself_intersections_example.cppshape_smoothing_example.cppstitch_borders_example.cppstitch_borders_example_OM.cppsurface_mesh_intersection.cpptangential_relaxation_example.cpptriangulate_faces_example.cpptriangulate_faces_example_OM.cpptriangulate_faces_split_visitor_example.cpptriangulate_polyline_example.cppvolume_connected_components.cppPolygonal_surface_reconstructionCMakeLists.txtpolyfit_example_model_complexity_control.cpppolyfit_example_user_provided_planes.cpppolyfit_example_with_region_growing.cpppolyfit_example_without_input_planes.cppPolyhedronCMakeLists.txtdraw_polyhedron.cpppoly_derivation.cpppolyhedron2vrml.cinpolyhedron2vrml.cpppolyhedron_copy.cinpolyhedron_copy.cpppolyhedron_prog_color.cpppolyhedron_prog_cube.cpppolyhedron_prog_cut_cube.cpppolyhedron_prog_incr_builder.cpppolyhedron_prog_normals.cpppolyhedron_prog_off.cpppolyhedron_prog_planes.cpppolyhedron_prog_simple.cpppolyhedron_prog_subdiv.cpppolyhedron_prog_subdiv_with_boundary.cpppolyhedron_prog_tetra.cpppolyhedron_prog_traits.cpppolyhedron_prog_vector.cpppolyhedron_prog_vertex_color.cpppolyhedron_prog_vertex_normal.cpppolyhedron_self_intersection.cppPolyline_simplification_2CMakeLists.txtdatapolygon.wktpolyline.wktpoints_and_vertices.cppsimplify.cppsimplify_overlapping_polylines.cppsimplify_polygon.cppsimplify_polyline.cppsimplify_terrain.cinsimplify_terrain.cppPolynomialCMakeLists.txtcoefficient_access.cppconstruction.cppdegree.cppgcd_up_to_constant_factor.cppsubresultants.cppsubstitute.cppswap_move.cppPolytope_distance_dCMakeLists.txtall_furthest_neighbors_2.cpppolytope_distance_d.cpppolytope_distance_d_fast_exact.cppwidth_simplex.cppPrincipal_component_analysisCMakeLists.txtbarycenter.cppbounding_box.cppcentroid.cpplinear_least_squares_fitting_points_2.cpplinear_least_squares_fitting_triangles_3.cppProfiling_toolsCMakeLists.txtProfile_counter.cppProfile_histogram_counter.cppProfile_timer.cppProperty_mapCMakeLists.txtcustom_property_map.cppdynamic_properties.cppQP_solverCMakeLists.txtconvex_hull_containment.cppconvex_hull_containment2.cppconvex_hull_containment_benchmarks.cppcycling.cppcycling.mpsdouble_qp_solver.cindouble_qp_solver.datafirst_lp.cppfirst_lp.mpsfirst_lp_from_iterators.cppfirst_lp_from_mps.cppfirst_nonnegative_lp.cppfirst_nonnegative_lp.mpsfirst_nonnegative_lp_from_iterators.cppfirst_nonnegative_lp_from_mps.cppfirst_nonnegative_qp.cppfirst_nonnegative_qp.mpsfirst_nonnegative_qp_from_iterators.cppfirst_nonnegative_qp_from_mps.cppfirst_qp.cppfirst_qp.mpsfirst_qp_basic_constraints.cppfirst_qp_from_iterators.cppfirst_qp_from_mps.cppimportant_variables.cppinfeasibility_certificate.cppinteger_qp_solver.cininteger_qp_solver.datainvert_matrix.cppoptimality_certificate.cppprint_first_lp.cppprint_first_nonnegative_lp.cppprint_first_nonnegative_qp.cppprint_first_qp.cpprational_qp_solver.cinrational_qp_solver.datasolve_convex_hull_containment_lp.hsolve_convex_hull_containment_lp2.hsolve_convex_hull_containment_lp3.hunboundedness_certificate.cppRangeSegmentTreesCMakeLists.txtincludeTree_Traits.hrange_tree_1.cpprange_tree_2.cpprange_tree_3.cpprange_tree_4.cpprange_tree_map_2.cpprange_tree_set_2.cppsegment_tree_1.cppsegment_tree_2.cppsegment_tree_3.cppsegment_tree_4.cppsegment_tree_map_2.cppsegment_tree_set_2.cppsegment_tree_set_3.cppsoftware_design_rgs.cppRectangular_p_center_2CMakeLists.txtrectangular_p_center_2.cppRidges_3CMakeLists.txtCompute_Ridges_Umbilics.cppPolyhedralSurf.hPolyhedralSurf_rings.hREADMERidges_Umbilics_LCC.cppRidges_Umbilics_SM.cppcompute_normals.hSMDS_3CMakeLists.txtc3t3_example.cpptetrahedron_soup_to_c3t3_example.cppSTL_ExtensionCMakeLists.txtDefault.cppDispatch_output_iterator.cppin_place_list_prog.cppmin_element_if_example.cppmin_max_element_example.cppunordered_map.cppScale_space_reconstruction_3CMakeLists.txtscale_space.cppscale_space_advancing_front.cppscale_space_incremental.cppscale_space_manifold.cppscale_space_sm.cppSegment_Delaunay_graph_2CMakeLists.txtdatasites.cinsites2.cinsitesx.cinsitesxx.cinsitesxx.rb.cinsdg-count-sites.cppsdg-fast-sp-polygon.cppsdg-fast-sp.cppsdg-filtered-traits.cppsdg-info-set.cppsdg-red-blue-info.cppsdg-voronoi-edges.cppSegment_Delaunay_graph_Linf_2CMakeLists.txtdatasites.cinsites2.cinsitesx.cinsitesxx.cinsitesxx.rb.cinprint-sdg-linf.cppsdg-count-sites-linf.cppsdg-fast-sp-linf.cppsdg-fast-sp-polygon-linf.cppsdg-filtered-traits-linf.cppsdg-info-set-linf.cppsdg-red-blue-info-linf.cppsdg-voronoi-edges-exact-linf.cppsdg-voronoi-edges-linf.cppSet_movable_separability_2CMakeLists.txtis_pullout_direction_single_mold_trans_cast.cpppolygon.datpullout_directions_single_mold_trans_cast.cppstar.dattop_edges_single_mold_trans_cast.cpptrapezoid.dattriangle.datShape_detectionCMakeLists.txtefficient_RANSAC_basic.cppefficient_RANSAC_with_callback.cppefficient_RANSAC_with_custom_shape.cppefficient_RANSAC_with_parameters.cppefficient_RANSAC_with_point_access.cppincludeefficient_RANSAC_with_custom_shape.hutils.hregion_growing_circles_on_point_set_2.cppregion_growing_cylinders_on_point_set_3.cppregion_growing_lines_on_point_set_2.cppregion_growing_lines_on_segment_set.cppregion_growing_planes_on_point_set_3.cppregion_growing_planes_on_polygon_mesh.cppregion_growing_spheres_on_point_set_3.cppregion_growing_with_custom_classes.cppShape_regularizationCMakeLists.txtdatacontour.polylinesreal_data_2.xyziincludeSaver.hutils.hregularize_100_segments_angles.cppregularize_100_segments_offsets.cppregularize_15_segments.cppregularize_closed_contour.cppregularize_contour.cppregularize_framework.cppregularize_open_contour.cppregularize_planes.cppregularize_real_data_2.cppregularize_simple.cppSkin_surface_3CMakeLists.txtdata1IYE.pdb1mvm.pdb1t7i.pdb4lfq.pdbcaffeine.cinmolecule_tunnel.cinincludeextract_balls_from_pdb.hskin_surface_pdb_reader.cppskin_surface_retrieve_defining_weighted_points.cppskin_surface_simple.cppskin_surface_subdiv.cppskin_surface_subdiv_with_normals.cppskin_surface_writer.hunion_of_balls_simple.cppunion_of_balls_subdiv.cppSnap_rounding_2CMakeLists.txtdatasnap_rounding_datasnap_rounding.cppsnap_rounding_data.cppsnap_rounding_to_integer.cppSolver_interfaceCMakeLists.txtdiagonalize_matrix.cppmixed_integer_program.cpposqp_quadratic_program.cppsingular_value_decomposition.cppsparse_solvers.cppSpatial_searchingCMakeLists.txtDistance.hPoint.hcircular_query.cppdistance_browsing.cppfuzzy_range_query.cppgeneral_neighbor_searching.cppiso_rectangle_2_query.cppiso_rectangle_2_query_projection.cppnearest_neighbor_searching.cppparallel_kdtree.cppsearching_polyhedron_vertices.cppsearching_polyhedron_vertices_with_fuzzy_sphere.cppsearching_sphere_orthogonally.cppsearching_surface_mesh_vertices.cppsearching_with_circular_query.cppsearching_with_point_with_info.cppsearching_with_point_with_info_inplace.cppsearching_with_point_with_info_pmap.cppsplitter_worst_cases.cppuser_defined_point_and_distance.cppusing_fair_splitting_rule.cppweighted_Minkowski_distance.cppSpatial_sortingCMakeLists.txtexample_delaunay_2.cpphilbert.cpphilbert_policies.cpphilbert_sort_on_sphere.cppmyPoint.cppparallel_spatial_sort_3.cppsmall_example_delaunay_2.cppsort_indices.cppsp_sort_using_property_map_2.cppsp_sort_using_property_map_3.cppsp_sort_using_property_map_d.cppspatial_sort_on_sphere.cppStraight_skeleton_2CMakeLists.txtCreate_offset_polygons_2.cppCreate_saop_from_polygon_with_holes_2.cppCreate_skeleton_and_offset_polygons_2.cppCreate_skeleton_and_offset_polygons_with_holes_2.cppCreate_straight_skeleton_2.cppCreate_straight_skeleton_from_polygon_with_holes_2.cppLow_level_API.cppShow_offset_polygon.cppShow_straight_skeleton.cppdatarectangle_with_hole.datrectangle_with_hole_weights.datserpent.datserpent_angles.datdraw_straight_skeleton_2.cppdump_to_eps.hexterior_offset_of_multiple_polygons_with_holes.cppextrude_skeleton.cppincludeCGALinput_helpers.hinput_file_example.txtinput_file_format.txtsample_1.datsample_2.datsample_3.datsample_4.datStream_lines_2CMakeLists.txtdatadatap.tri.cindatav.tri.cinirregular_data.tri.cinvnoise.vec.cinstl_regular_field.cppstl_triangular_field.cppStream_supportCMakeLists.txtLinestring_WKT.cppPoint_WKT.cppPolygon_WKT.cppdatacloud.pollinestring.wktmultilinestring.wktmultiple.wktmultipoint.wktmultipolygon.wktpoints.wktpolygons.wktiv2off.ciniv2off.cppoff2iv.cinoff2iv.cppoff2off.cinoff2off.cppoff2stl.cinoff2stl.cppoff2vrml.cinoff2vrml.cppoff2wav.cinoff2wav.cppoff_bbox.cinoff_bbox.cppoff_glue.cinoff_glue.cppoff_transform.cinoff_transform.cppread_WKT.cppread_xml.cppSubdivision_method_3CMakeLists.txtCatmullClark_subdivision.cppCustomized_subdivision.cppDooSabin_subdivision.cppLinear_subdivision.cppLoop_subdivision.cppSqrt3_subdivision.cppSurface_meshCMakeLists.txtcheck_orientation.cppdraw_surface_mesh.cppdraw_surface_mesh_small_faces.hsm_aabbtree.cppsm_bgl.cppsm_circulators.cppsm_derivation.cppsm_do_intersect.cppsm_draw_small_faces.cppsm_iterators.cppsm_join.cppsm_kruskal.cppsm_memory.cppsm_points.cppsm_properties.cppSurface_mesh_approximationCMakeLists.txtvsa_approximation_2_example.cppvsa_approximation_example.cppvsa_class_interface_example.cppvsa_isotropic_metric_example.cppvsa_segmentation_example.cppvsa_simple_approximation_example.cppSurface_mesh_deformationCMakeLists.txtall_roi_assign_example.cppall_roi_assign_example_Surface_mesh.cppall_roi_assign_example_custom_polyhedron.cppall_roi_assign_example_with_OpenMesh.cppcustom_weight_for_edges_example.cppdatacactus.defcactus.seldeform_mesh_for_botsch08_format_sre_arap.cppdeform_polyhedron_with_custom_pmap_example.cppk_ring_roi_translate_rotate_Surface_mesh.cppk_ring_roi_translate_rotate_example.cppSurface_mesh_parameterizationARAP_parameterization.cppCMakeLists.txtdatabear.selection.txtblob.selection.txtcheck_64x64.bmplion.selection.txtlion2.selection.txtlion3.selection.txtlion4.selection.txtparameterization.mtlsquare_corners.selection.txtdiscrete_authalic.cppiterative_authalic_parameterizer.cpplscm.cpporbifold.cppseam_Polyhedron_3.cppsimple_parameterization.cppsquare_border_parameterizer.cppSurface_mesh_segmentationCMakeLists.txtextract_segmentation_into_mesh_example.cppsdf_values_example.cppsegmentation_from_sdf_values_LCC_example.cppsegmentation_from_sdf_values_OpenMesh_example.cppsegmentation_from_sdf_values_SM_example.cppsegmentation_from_sdf_values_example.cppsegmentation_via_sdf_values_example.cppsegmentation_with_facet_ids_example.cppSurface_mesh_shortest_pathCMakeLists.txtshortest_path_sequence.cppshortest_path_with_locate.cppshortest_paths.cppshortest_paths_OpenMesh.cppshortest_paths_multiple_sources.cppshortest_paths_no_id.cppshortest_paths_with_id.cppSurface_mesh_simplificationCMakeLists.txtcollapse_small_edges_in_parallel.cppedge_collapse_OpenMesh.cppedge_collapse_all_short_edges.cppedge_collapse_bounded_normal_change.cppedge_collapse_constrain_sharp_edges.cppedge_collapse_constrained_border_polyhedron.cppedge_collapse_constrained_border_surface_mesh.cppedge_collapse_enriched_polyhedron.cppedge_collapse_envelope.cppedge_collapse_garland_heckbert.cppedge_collapse_linear_cell_complex.cppedge_collapse_polyhedron.cppedge_collapse_surface_mesh.cppedge_collapse_visitor_surface_mesh.cppSurface_mesh_skeletonizationCMakeLists.txtMCF_Skeleton_LCC_example.cppMCF_Skeleton_example.cppMCF_Skeleton_om_example.cppMCF_Skeleton_sm_example.cppsegmentation_example.cppsimple_mcfskel_LCC_example.cppsimple_mcfskel_example.cppsimple_mcfskel_sm_example.cppSurface_mesh_topologyCMakeLists.txtdraw_facewidth.hedgewidth_lcc.cppedgewidth_surface_mesh.cppfacewidth.cppmap_2_constructor.cppopen_path_homotopy.cpppath_homotopy.cpppath_homotopy_double_torus.cpppath_homotopy_torus.cpppath_homotopy_with_sm_and_polyhedron.cpppath_homotopy_with_symbols.cpppath_homotopy_with_symbols_2.cpppath_simplicity_double_torus.cpppath_simplicity_double_torus_2.cppshortest_noncontractible_cycle.cppshortest_noncontractible_cycle_2.cppunsew_edgewidth_repeatedly.cppSurface_mesherCMakeLists.txtmesh_a_3d_gray_image.cppmesh_an_implicit_function.cppSurface_sweep_2CMakeLists.txtplane_sweep.cppTDS_3CMakeLists.txtlinking_2d_and_3d.cpptds.cppTetrahedral_remeshingCMakeLists.txtdatasphere.meshmesh_and_remesh_polyhedral_domain_with_features.cpptetrahedral_remeshing_example.cpptetrahedral_remeshing_from_mesh.cpptetrahedral_remeshing_generate_input.htetrahedral_remeshing_of_one_subdomain.cpptetrahedral_remeshing_with_features.cppTriangulationCMakeLists.txtbarycentric_subdivision.cppconvex_hull.cppdelaunay_triangulation.cppregular_triangulation.cpptriangulation.cpptriangulation1.cpptriangulation2.cpptriangulation_data_structure_dynamic.cpptriangulation_data_structure_static.cppTriangulation_2CMakeLists.txtREADMEadding_handles.cppcolored_face.cppconstrained.cppconstrained_hierarchy_plus.cppconstrained_plus.cppcopy_triangulation_2.cppdataconstrained.cinregular.cinterrain.cintriangulation_prog1.cinvoronoi.cindraw_triangulation_2.cppfor_loop_2.cpphierarchy.cppinfo_insert_with_pair_iterator_2.cppinfo_insert_with_pair_iterator_regular_2.cppinfo_insert_with_transform_iterator_2.cppinfo_insert_with_zip_iterator_2.cpplow_dimensional.cpppolygon_triangulation.cpppolylines_triangulation.cppprint_cropped_voronoi.cppregular.cppsegment_soup_to_polylines.cppstar_conflict_zone.cppterr_trian.cinterr_trian.cppterrain.cppterrain_with_info.cpptriangulation_prog1.cpptriangulation_projection_traits.cppvoronoi.cppTriangulation_3CMakeLists.txtREADMEadding_handles_3.cppcolor.cppcopy_triangulation_3.cppdraw_triangulation_3.cppfast_location_3.cppfind_conflicts_3.cppfor_loop.cppinfo_insert_with_pair_iterator.cppinfo_insert_with_pair_iterator_regular.cppinfo_insert_with_transform_iterator.cppinfo_insert_with_zip_iterator.cppparallel_insertion_and_removal_in_regular_3.cppparallel_insertion_in_delaunay_3.cppregular_3.cppregular_with_info_3.cppsegment_cell_traverser_3.cppsegment_simplex_traverser_3.cppsequential_parallel.cppsimple_triangulation_3.cppsimplex.cppTriangulation_on_sphere_2CMakeLists.txttriang_on_sphere.cpptriang_on_sphere_exact.cpptriang_on_sphere_geo.cpptriang_on_sphere_proj.cpptriang_on_sphere_range.cppVisibility_2CMakeLists.txtgeneral_polygon_example.cppsimple_polygon_visibility_2.cppVoronoi_diagram_2CMakeLists.txtdata1D.ag.cindata1.ag.cindata1.dt.cindata1.svd.cindata2.ag.cindata3.ag.cindata4.dt.cindegenerate.ag.cinqueries1.dt.cinqueries1.svd.cindraw_voronoi_diagram_2.cppvd_2_point_location.cppvd_2_point_location_sdg_linf.cppWeightsCMakeLists.txtconvergence.cppcoordinates_multiple_queries.cppcoordinates_one_query.cppcustom_traits.cppprojection_traits.cppweighted_laplacian.cppweights.cpp/usr/share/CGAL//usr/share/CGAL/demo//usr/share/CGAL/demo/AABB_tree//usr/share/CGAL/demo/AABB_tree/resources//usr/share/CGAL/demo/Alpha_shapes_2//usr/share/CGAL/demo/Alpha_shapes_3//usr/share/CGAL/demo/Apollonius_graph_2//usr/share/CGAL/demo/Arrangement_on_surface_2//usr/share/CGAL/demo/Arrangement_on_surface_2/Utils//usr/share/CGAL/demo/Arrangement_on_surface_2/data//usr/share/CGAL/demo/Arrangement_on_surface_2/data/algebraic//usr/share/CGAL/demo/Arrangement_on_surface_2/data/conic//usr/share/CGAL/demo/Arrangement_on_surface_2/data/polyline//usr/share/CGAL/demo/Arrangement_on_surface_2/data/segment//usr/share/CGAL/demo/Arrangement_on_surface_2/help//usr/share/CGAL/demo/Arrangement_on_surface_2/resources//usr/share/CGAL/demo/Arrangement_on_surface_2/resources/icons//usr/share/CGAL/demo/Arrangement_on_surface_2/tests//usr/share/CGAL/demo/Bounding_volumes//usr/share/CGAL/demo/Bounding_volumes/icons//usr/share/CGAL/demo/CGAL_ipelets//usr/share/CGAL/demo/CGAL_ipelets/include//usr/share/CGAL/demo/CGAL_ipelets/include/CGAL_ipelets//usr/share/CGAL/demo/CGAL_ipelets/lua//usr/share/CGAL/demo/Circular_kernel_2//usr/share/CGAL/demo/Circular_kernel_2/data//usr/share/CGAL/demo/Circular_kernel_3//usr/share/CGAL/demo/Generator//usr/share/CGAL/demo/GraphicsView//usr/share/CGAL/demo/Hyperbolic_triangulation_2//usr/share/CGAL/demo/Hyperbolic_triangulation_2/include//usr/share/CGAL/demo/Hyperbolic_triangulation_2/include/internal//usr/share/CGAL/demo/Hyperbolic_triangulation_2/include/internal/Qt//usr/share/CGAL/demo/Hyperbolic_triangulation_2/resources//usr/share/CGAL/demo/Hyperbolic_triangulation_2/resources/icons//usr/share/CGAL/demo/L1_Voronoi_diagram_2//usr/share/CGAL/demo/L1_Voronoi_diagram_2/include//usr/share/CGAL/demo/L1_Voronoi_diagram_2/include/CGAL//usr/share/CGAL/demo/L1_Voronoi_diagram_2/include/CGAL/Qt//usr/share/CGAL/demo/Largest_empty_rect_2//usr/share/CGAL/demo/Linear_cell_complex//usr/share/CGAL/demo/Mesh_2//usr/share/CGAL/demo/Mesh_2/data//usr/share/CGAL/demo/Optimal_transportation_reconstruction_2//usr/share/CGAL/demo/Optimal_transportation_reconstruction_2/data//usr/share/CGAL/demo/Optimal_transportation_reconstruction_2/icons//usr/share/CGAL/demo/Periodic_2_triangulation_2//usr/share/CGAL/demo/Periodic_2_triangulation_2/icons//usr/share/CGAL/demo/Periodic_2_triangulation_2/include//usr/share/CGAL/demo/Periodic_2_triangulation_2/include/CGAL//usr/share/CGAL/demo/Periodic_2_triangulation_2/include/CGAL/Qt//usr/share/CGAL/demo/Periodic_3_triangulation_3//usr/share/CGAL/demo/Periodic_3_triangulation_3/data//usr/share/CGAL/demo/Periodic_3_triangulation_3/documentation//usr/share/CGAL/demo/Periodic_3_triangulation_3/documentation/images//usr/share/CGAL/demo/Periodic_3_triangulation_3/icons//usr/share/CGAL/demo/Periodic_3_triangulation_3/resources//usr/share/CGAL/demo/Periodic_4_hyperbolic_triangulation_2//usr/share/CGAL/demo/Periodic_4_hyperbolic_triangulation_2/icons//usr/share/CGAL/demo/Periodic_4_hyperbolic_triangulation_2/include//usr/share/CGAL/demo/Periodic_4_hyperbolic_triangulation_2/include/internal//usr/share/CGAL/demo/Periodic_4_hyperbolic_triangulation_2/include/internal/Qt//usr/share/CGAL/demo/Periodic_Lloyd_3//usr/share/CGAL/demo/Periodic_Lloyd_3/documentation//usr/share/CGAL/demo/Periodic_Lloyd_3/documentation/images//usr/share/CGAL/demo/Periodic_Lloyd_3/icons//usr/share/CGAL/demo/Polygon//usr/share/CGAL/demo/Polyhedron//usr/share/CGAL/demo/Polyhedron/Plugins//usr/share/CGAL/demo/Polyhedron/Plugins/AABB_tree//usr/share/CGAL/demo/Polyhedron/Plugins/Alpha_wrap_3//usr/share/CGAL/demo/Polyhedron/Plugins/Camera_position//usr/share/CGAL/demo/Polyhedron/Plugins/Classification//usr/share/CGAL/demo/Polyhedron/Plugins/Convex_decomposition//usr/share/CGAL/demo/Polyhedron/Plugins/Convex_hull//usr/share/CGAL/demo/Polyhedron/Plugins/Display//usr/share/CGAL/demo/Polyhedron/Plugins/IO//usr/share/CGAL/demo/Polyhedron/Plugins/Mesh_2//usr/share/CGAL/demo/Polyhedron/Plugins/Mesh_3//usr/share/CGAL/demo/Polyhedron/Plugins/Mesh_3/include//usr/share/CGAL/demo/Polyhedron/Plugins/Mesh_3/include/gsl//usr/share/CGAL/demo/Polyhedron/Plugins/Operations_on_polyhedra//usr/share/CGAL/demo/Polyhedron/Plugins/PCA//usr/share/CGAL/demo/Polyhedron/Plugins/PMP//usr/share/CGAL/demo/Polyhedron/Plugins/Point_set//usr/share/CGAL/demo/Polyhedron/Plugins/Subdivision_methods//usr/share/CGAL/demo/Polyhedron/Plugins/Surface_mesh//usr/share/CGAL/demo/Polyhedron/Plugins/Surface_mesh_deformation//usr/share/CGAL/demo/Polyhedron/Plugins/Tetrahedral_remeshing//usr/share/CGAL/demo/Polyhedron/Plugins/Three_examples//usr/share/CGAL/demo/Polyhedron/implicit_functions//usr/share/CGAL/demo/Polyhedron/include//usr/share/CGAL/demo/Polyhedron/include/CGAL//usr/share/CGAL/demo/Polyhedron/include/CGAL/IO//usr/share/CGAL/demo/Polyhedron/javascript//usr/share/CGAL/demo/Polyhedron/javascript/tests//usr/share/CGAL/demo/Polyhedron/javascript/tests/bad//usr/share/CGAL/demo/Polyhedron/javascript/tests/good//usr/share/CGAL/demo/Polyhedron/resources//usr/share/CGAL/demo/Polyhedron/resources/compatibility_shaders//usr/share/CGAL/demo/Polyhedron/testing//usr/share/CGAL/demo/Polyhedron/testing/data//usr/share/CGAL/demo/Polyline_simplification_2//usr/share/CGAL/demo/Polyline_simplification_2/data//usr/share/CGAL/demo/Polyline_simplification_2/icons//usr/share/CGAL/demo/Polyline_simplification_2/include//usr/share/CGAL/demo/Polyline_simplification_2/include/CGAL//usr/share/CGAL/demo/Polyline_simplification_2/include/CGAL/Qt//usr/share/CGAL/demo/Principal_component_analysis//usr/share/CGAL/demo/Principal_component_analysis/resources//usr/share/CGAL/demo/Segment_Delaunay_graph_2//usr/share/CGAL/demo/Segment_Delaunay_graph_2/icons//usr/share/CGAL/demo/Segment_Delaunay_graph_2/include//usr/share/CGAL/demo/Segment_Delaunay_graph_2/include/CGAL//usr/share/CGAL/demo/Segment_Delaunay_graph_Linf_2//usr/share/CGAL/demo/Segment_Delaunay_graph_Linf_2/icons//usr/share/CGAL/demo/Segment_Delaunay_graph_Linf_2/include//usr/share/CGAL/demo/Segment_Delaunay_graph_Linf_2/include/CGAL//usr/share/CGAL/demo/Snap_rounding_2//usr/share/CGAL/demo/Snap_rounding_2/icons//usr/share/CGAL/demo/Spatial_searching_2//usr/share/CGAL/demo/Stream_lines_2//usr/share/CGAL/demo/Stream_lines_2/data//usr/share/CGAL/demo/Surface_mesh_deformation//usr/share/CGAL/demo/Triangulation_2//usr/share/CGAL/demo/Triangulation_2/data//usr/share/CGAL/demo/Triangulation_2/icons//usr/share/CGAL/demo/Triangulation_2/include//usr/share/CGAL/demo/Triangulation_2/include/CGAL//usr/share/CGAL/demo/Triangulation_3//usr/share/CGAL/demo/Triangulation_3/documentation//usr/share/CGAL/demo/Triangulation_3/icons//usr/share/CGAL/demo/Triangulation_on_sphere_2//usr/share/CGAL/demo/icons//usr/share/CGAL/demo/resources//usr/share/CGAL/examples//usr/share/CGAL/examples/AABB_tree//usr/share/CGAL/examples/Advancing_front_surface_reconstruction//usr/share/CGAL/examples/Algebraic_foundations//usr/share/CGAL/examples/Algebraic_kernel_d//usr/share/CGAL/examples/Alpha_shapes_2//usr/share/CGAL/examples/Alpha_shapes_2/data//usr/share/CGAL/examples/Alpha_shapes_3//usr/share/CGAL/examples/Alpha_shapes_3/data//usr/share/CGAL/examples/Alpha_wrap_3//usr/share/CGAL/examples/Apollonius_graph_2//usr/share/CGAL/examples/Apollonius_graph_2/data//usr/share/CGAL/examples/Approximate_min_ellipsoid_d//usr/share/CGAL/examples/Arrangement_on_surface_2//usr/share/CGAL/examples/BGL_LCC//usr/share/CGAL/examples/BGL_OpenMesh//usr/share/CGAL/examples/BGL_arrangement_2//usr/share/CGAL/examples/BGL_graphcut//usr/share/CGAL/examples/BGL_polyhedron_3//usr/share/CGAL/examples/BGL_surface_mesh//usr/share/CGAL/examples/BGL_surface_mesh/data//usr/share/CGAL/examples/BGL_triangulation_2//usr/share/CGAL/examples/BGL_triangulation_2/data//usr/share/CGAL/examples/Barycentric_coordinates_2//usr/share/CGAL/examples/Boolean_set_operations_2//usr/share/CGAL/examples/Box_intersection_d//usr/share/CGAL/examples/CGALimageIO//usr/share/CGAL/examples/Circular_kernel_2//usr/share/CGAL/examples/Circular_kernel_3//usr/share/CGAL/examples/Circulator//usr/share/CGAL/examples/Classification//usr/share/CGAL/examples/Classification/data//usr/share/CGAL/examples/Classification/include//usr/share/CGAL/examples/Combinatorial_map//usr/share/CGAL/examples/Cone_spanners_2//usr/share/CGAL/examples/Cone_spanners_2/data//usr/share/CGAL/examples/Convex_decomposition_3//usr/share/CGAL/examples/Convex_hull_2//usr/share/CGAL/examples/Convex_hull_2/files//usr/share/CGAL/examples/Convex_hull_2/include//usr/share/CGAL/examples/Convex_hull_2/include/CGAL//usr/share/CGAL/examples/Convex_hull_3//usr/share/CGAL/examples/Core//usr/share/CGAL/examples/Envelope_2//usr/share/CGAL/examples/Envelope_3//usr/share/CGAL/examples/Filtered_kernel//usr/share/CGAL/examples/Generalized_map//usr/share/CGAL/examples/Generator//usr/share/CGAL/examples/HalfedgeDS//usr/share/CGAL/examples/Heat_method_3//usr/share/CGAL/examples/Hyperbolic_triangulation_2//usr/share/CGAL/examples/Inscribed_areas//usr/share/CGAL/examples/Interpolation//usr/share/CGAL/examples/Interpolation/data//usr/share/CGAL/examples/Interval_skip_list//usr/share/CGAL/examples/Jet_fitting_3//usr/share/CGAL/examples/Jet_fitting_3/data//usr/share/CGAL/examples/Kernel_23//usr/share/CGAL/examples/Linear_cell_complex//usr/share/CGAL/examples/Linear_cell_complex/data//usr/share/CGAL/examples/Matrix_search//usr/share/CGAL/examples/Mesh_2//usr/share/CGAL/examples/Mesh_3//usr/share/CGAL/examples/Mesh_3/data//usr/share/CGAL/examples/Min_annulus_d//usr/share/CGAL/examples/Min_circle_2//usr/share/CGAL/examples/Min_ellipse_2//usr/share/CGAL/examples/Min_quadrilateral_2//usr/share/CGAL/examples/Min_sphere_d//usr/share/CGAL/examples/Min_sphere_of_spheres_d//usr/share/CGAL/examples/Minkowski_sum_2//usr/share/CGAL/examples/Minkowski_sum_3//usr/share/CGAL/examples/Modular_arithmetic//usr/share/CGAL/examples/Nef_2//usr/share/CGAL/examples/Nef_3//usr/share/CGAL/examples/Nef_S2//usr/share/CGAL/examples/Nef_S2/include//usr/share/CGAL/examples/Nef_S2/include/CGAL//usr/share/CGAL/examples/Nef_S2/include/CGAL/Nef_S2//usr/share/CGAL/examples/Optimal_bounding_box//usr/share/CGAL/examples/Optimal_transportation_reconstruction_2//usr/share/CGAL/examples/Optimal_transportation_reconstruction_2/data//usr/share/CGAL/examples/Orthtree//usr/share/CGAL/examples/Partition_2//usr/share/CGAL/examples/Periodic_2_triangulation_2//usr/share/CGAL/examples/Periodic_2_triangulation_2/data//usr/share/CGAL/examples/Periodic_3_mesh_3//usr/share/CGAL/examples/Periodic_3_triangulation_3//usr/share/CGAL/examples/Periodic_4_hyperbolic_triangulation_2//usr/share/CGAL/examples/Point_set_2//usr/share/CGAL/examples/Point_set_3//usr/share/CGAL/examples/Point_set_processing_3//usr/share/CGAL/examples/Point_set_processing_3/data//usr/share/CGAL/examples/Poisson_surface_reconstruction_3//usr/share/CGAL/examples/Polygon//usr/share/CGAL/examples/Polygon_mesh_processing//usr/share/CGAL/examples/Polygonal_surface_reconstruction//usr/share/CGAL/examples/Polyhedron//usr/share/CGAL/examples/Polyline_simplification_2//usr/share/CGAL/examples/Polyline_simplification_2/data//usr/share/CGAL/examples/Polynomial//usr/share/CGAL/examples/Polytope_distance_d//usr/share/CGAL/examples/Principal_component_analysis//usr/share/CGAL/examples/Profiling_tools//usr/share/CGAL/examples/Property_map//usr/share/CGAL/examples/QP_solver//usr/share/CGAL/examples/RangeSegmentTrees//usr/share/CGAL/examples/RangeSegmentTrees/include//usr/share/CGAL/examples/Rectangular_p_center_2//usr/share/CGAL/examples/Ridges_3//usr/share/CGAL/examples/SMDS_3//usr/share/CGAL/examples/STL_Extension//usr/share/CGAL/examples/Scale_space_reconstruction_3//usr/share/CGAL/examples/Segment_Delaunay_graph_2//usr/share/CGAL/examples/Segment_Delaunay_graph_2/data//usr/share/CGAL/examples/Segment_Delaunay_graph_Linf_2//usr/share/CGAL/examples/Segment_Delaunay_graph_Linf_2/data//usr/share/CGAL/examples/Set_movable_separability_2//usr/share/CGAL/examples/Shape_detection//usr/share/CGAL/examples/Shape_detection/include//usr/share/CGAL/examples/Shape_regularization//usr/share/CGAL/examples/Shape_regularization/data//usr/share/CGAL/examples/Shape_regularization/include//usr/share/CGAL/examples/Skin_surface_3//usr/share/CGAL/examples/Skin_surface_3/data//usr/share/CGAL/examples/Skin_surface_3/include//usr/share/CGAL/examples/Snap_rounding_2//usr/share/CGAL/examples/Snap_rounding_2/data//usr/share/CGAL/examples/Solver_interface//usr/share/CGAL/examples/Spatial_searching//usr/share/CGAL/examples/Spatial_sorting//usr/share/CGAL/examples/Straight_skeleton_2//usr/share/CGAL/examples/Straight_skeleton_2/data//usr/share/CGAL/examples/Straight_skeleton_2/include//usr/share/CGAL/examples/Straight_skeleton_2/include/CGAL//usr/share/CGAL/examples/Stream_lines_2//usr/share/CGAL/examples/Stream_lines_2/data//usr/share/CGAL/examples/Stream_support//usr/share/CGAL/examples/Stream_support/data//usr/share/CGAL/examples/Subdivision_method_3//usr/share/CGAL/examples/Surface_mesh//usr/share/CGAL/examples/Surface_mesh_approximation//usr/share/CGAL/examples/Surface_mesh_deformation//usr/share/CGAL/examples/Surface_mesh_deformation/data//usr/share/CGAL/examples/Surface_mesh_parameterization//usr/share/CGAL/examples/Surface_mesh_parameterization/data//usr/share/CGAL/examples/Surface_mesh_segmentation//usr/share/CGAL/examples/Surface_mesh_shortest_path//usr/share/CGAL/examples/Surface_mesh_simplification//usr/share/CGAL/examples/Surface_mesh_skeletonization//usr/share/CGAL/examples/Surface_mesh_topology//usr/share/CGAL/examples/Surface_mesher//usr/share/CGAL/examples/Surface_sweep_2//usr/share/CGAL/examples/TDS_3//usr/share/CGAL/examples/Tetrahedral_remeshing//usr/share/CGAL/examples/Tetrahedral_remeshing/data//usr/share/CGAL/examples/Triangulation//usr/share/CGAL/examples/Triangulation_2//usr/share/CGAL/examples/Triangulation_2/data//usr/share/CGAL/examples/Triangulation_3//usr/share/CGAL/examples/Triangulation_on_sphere_2//usr/share/CGAL/examples/Visibility_2//usr/share/CGAL/examples/Voronoi_diagram_2//usr/share/CGAL/examples/Voronoi_diagram_2/data//usr/share/CGAL/examples/Weights/-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protectiondrpmxz2aarch64-redhat-linux-gnu                     !   "#$%%%&'&%())*+,%--..//0%1  23 45677896--:;<=>?@-A&BC&DEF G  E HHHH 3  directoryC source, ASCII textASCII textC++ source, ASCII textHTML document, ASCII textX pixmap image, ASCII textXML 1.0 document, ASCII textXML 1.0 document, ASCII text, with very long linesASCII text, with very long linesASCII text, with CRLF, CR line terminatorsPNG image data, 147 x 147, 8-bit/color RGBA, non-interlacedPNG image data, 147 x 147, 8-bit/color RGB, non-interlacedC++ source, UTF-8 Unicode textPNG image data, 56 x 53, 16-bit/color RGBA, non-interlacedPNG image data, 128 x 128, 8-bit/color RGBA, non-interlacedC source, UTF-8 Unicode textPNG image data, 84 x 83, 16-bit/color RGBA, non-interlacedPNG image data, 24 x 24, 8-bit/color RGBA, non-interlacedPNG image data, 32 x 32, 8-bit/color RGBA, non-interlacedPNG image data, 75 x 75, 8-bit/color RGBA, non-interlacedPNG image data, 64 x 64, 8-bit/color RGB, non-interlacedPNG image data, 32 x 32, 8-bit/color RGB, non-interlacedPNG image data, 129 x 128, 8-bit/color RGBA, non-interlacedPNG image data, 374 x 300, 8-bit/color RGB, non-interlacedPNG image data, 200 x 200, 8-bit/color RGBA, non-interlacedPNG image data, 256 x 256, 8-bit/color RGBA, non-interlacedPNG image data, 512 x 512, 8-bit/color RGBA, non-interlacedPNG image data, 150 x 150, 8-bit/color RGBA, non-interlacedPNG image data, 958 x 973, 8-bit/color RGB, non-interlacedPNG image data, 450 x 377, 8-bit/color RGB, non-interlacedXML 1.0 document, UTF-8 Unicode textXML 1.0 document, UTF-8 Unicode text, with very long linesC source, UTF-8 Unicode (with BOM) textPOSIX shell script, ASCII text executablePNG image data, 411 x 225, 8-bit grayscale, non-interlacedPNG image data, 410 x 225, 8-bit grayscale, non-interlacedPNG image data, 64 x 32, 8-bit/color RGBA, non-interlacedSVG Scalable Vector Graphics imagePNG image data, 30 x 26, 8-bit/color RGBA, non-interlacedPNG image data, 416 x 213, 4-bit colormap, non-interlacedPNG image data, 492 x 271, 8-bit grayscale, non-interlacedPNG image data, 490 x 270, 8-bit/color RGBA, non-interlacedPNG image data, 200 x 202, 8-bit/color RGBA, non-interlacedPNG image data, 200 x 218, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 150x150, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 130x130, frames 3PNG image data, 200 x 192, 8-bit/color RGBA, non-interlacedPNG image data, 200 x 130, 8-bit/color RGBA, non-interlacedJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, Exif Standard: [TIFF image data, little-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], progressive, precision 8, 130x130, frames 1PNG image data, 200 x 194, 8-bit/color RGBA, non-interlacedPNG image data, 31 x 35, 8-bit/color RGBA, non-interlacedASCII text, with very long lines, with no line terminatorsJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 91x91, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 225x225, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 32x32, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 150x150, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 322x258, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 150x150, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 135x46, frames 3PNG image data, 580 x 644, 8-bit/color RGB, non-interlacedJPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 48x48, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 150x150, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 132x196, frames 3JPEG image data, JFIF standard 1.01, resolution (DPI), density 150x150, segment length 16, Exif Standard: [TIFF image data, big-endian, direntries=4, xresolution=62, yresolution=70, resolutionunit=2], baseline, precision 8, 194x194, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 167x167, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 102x102, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 8x8, frames 3JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 64x64, frames 3PNG image data, 72 x 71, 16-bit/color RGBA, non-interlacedPNG image data, 75 x 60, 16-bit/color RGBA, non-interlacedPNG image data, 96 x 96, 8-bit/color RGBA, non-interlacedPNG image data, 531 x 138, 8-bit/color RGBA, non-interlacedASCII text, with no line terminatorsJPEG image data, JFIF standard 1.01, resolution (DPI), density 72x72, segment length 16, baseline, precision 8, 512x512, frames 3UTF-8 Unicode textAlgol 68 source, ASCII textRhttps://bugz.fedoraproject.org/CGALutf-8745b99e6a32fc1dc4829bb9f7958a53d00f6f0a52e1e1087377e6db303e4273b?07zXZ !#,\?]"k%mu^5@Nsɵ^,qj-w&3By4 *r>8rI[l^[\WЗ /%AcEJ̃i@"psbBr8+ew_ߝJ'VWȨP`>lU[#B[9zzgϧ[F}@IoW]FY1J?m~ܟG$11X>]@*cV*[&S2% ¯t@K11ù%,vD%9+ 31 ?s2KMZT8q>ÄMs:^ &|k$%{+ECJZ>*Ǟ#Tݧ\CkY0ƍ\*=IN@^Yv*z68% \%=~?IQhÖ!32M)-A~x<ݡŨC艡L>[j=`(["x8xeA#W0rW*Ft@3\,LJSfdF?NX륅j e-o#rA*Y1]ògZxUvD -_)l7Vrkt1g JwK9.Q&0zӴ ɨN/.DFֱ3m;Dpl1r뒆}/ $.l\EG=7FC7U͚; s`?/"衬J^\ 8r-/_PzůcMVR_yBBؿРc+"4a֑-Y'oL A:,C{a>/#y qiKNgvݨJ\1cQBFک$b(`Y(I䭇w$)J^G!:9Ϊ_pSt(7&s>[YZVo Ay0-)Kv;4\WHEHnRs_QuYc2wu5`-G%-P|^Pn%m\Y2 ~':s͟Z!T\SftmD="I@ )v 6"._ϥk%r~Bv$ DJWqnwT:+LuR?j(E|d+` zL{CZ}<"UKΣ?J\NU)Ksyި(o*6AEQuaL/#ށBs1r彽rqf7ӻ~sh |ףX;{|c86뼒d b'Vp ËU%$(9ѓchpF:ϔ.3i&O<8;I쿓=k/~dzv)~j}g~U~ n#j8ZL;J:%؈ʦ0yREf(uLwJv"t+{ ":f84.Ӈ~IƀLz_}@6sHKڮ˽㨯M8J#B]X72X#N {;rR^YfEFDc6J2}T [7֎߇ߟg^{ަoT2;-8MKK7=6pi/{(XIlF\?Ւ uhE%(uהUפNA:١nc`ȼbobXb}l4a,UGq7dSwHm4/qW4l,ulRl97qF}=Kށ:FcF -X|S@XL݀MԻʨlIIgZPGg+f.?CX \E1d1DaLYg[=z Ih5h2\*qc g:K1RRӾưy@C{`!SIΩ^Q [p*nVXqrñA׹!ȖLD)J_Dy :}9%TQ鐆f5`]Z)\ʋ~r[G3 iZK)hBn,J(<'skc-f 1/uHFﴻ+6Jb"n 5w>pXq⻂C >\Ce2wQKmjӏ}^d T-5Ԝ|z47/[KԾeӟ 1/i vD^Qbf=;;eq^A5sn㇜B;Dq,X{.wYm2T6GԱ!T*,#XYHvbI|}.0?d.gwD7rt:76'DN4}rdNpA+  {ʥda TŒEQ¤0H6V%ڋ5]7-Y=-7zx3F5 U`#=.D}^PxՑ%|ڄv:T0% g(D7N;3||CR[)_wf tP ykɨ~#I""`P<4A d5{ hN(=fT wxBr\ FMps)eCziEypT^KҊg^D6ы | U! dނZ2g>2y[hqb  f|UłP%r5M}3>Y_GaN@,nw?i@= :9)xM`V0=Ǣt;7ka_u" .b\0-CXCV1AsTng` G #lx ӥn%BW4cgY&G__Md$dJH,b~qVzf '3ju5-|Z`x&OSw- ^._ doEZkLv"7C>$#!0ycQ]3SO4)NۊnHc ؆7/vm:f)م1L}U69P~ee_pC}7wNMR9t#PORо\;g"<9xl6j.ۣI+keitC)7\vd #cA + ,s#K%-PA%WV/ 2Qwȝb_-vт=q|4j#n~4;ɒ`,kQGFpQaWe펠L/Ҳݰi%Jx v":k2p=Ư>+"K3_({?-5wrV~?<롥IOAѵ @?zlLs͵y^˜=ԫ:eq-*v;IF~$`c5> enEot$ o^Y uof$CL}}Xg,OK ,7P8= ~}ݗl╲]+ZYH}1ҟ64ΌJT MkL嗆RAלGq$HM6tvO I[cӌ7yOFv)+Tx-c 4MkRǴqQߜd<3n:qG&E&}(g`Ҵ{ips4P=q'XI"@JFNԬ2^&I22p ^uRblTƑݣ'o Q>kYO ]7n^tG5HO=D\R 7#9wtk0!DCe/i,`V‚ןi޲$wp{Z:`'b@BaE[c NFٸ:|X1ݲVy "7 ?-ꂛԁ}V"2 a!@;*ݘ%Pq}LW79Eמ(`D:en_{vK1LXː8\\UĜ`B%*ȼv5ktk%4œwpPhnZ?d){'o&0HAj1};3G ]g_q omLYnbjOKڠߋj?U@ 0=̌c#Lh"B-~bⰸww*V}_GI^_&iIŃUMj)ry__I&:(s :zW߁וzԡ *!YkaĒ':.A݉GAǣ(Ԗ4@?arbI%vf6O?ƶk\B .s 7$MuM]nת2rS;XsI-Fb^]]el N5&FG+e}6|:vTc89Sy$ݩ(^pOe0QT蚵scU y"ŪyTE1.mtx.5W4Q,3j{(N(U72ʗ9=]W~!KQ~!H*4hlF k|RsҮȬJL>&"yRst'&$tbOz~ %iSRzC]m)~B<̟է@=э*Z iJ7}h0U7 \ 7tj/ j6֊f^(wkfbpى@2:.a'[DR9lj?=[– I4 Xscζa~yύ:M7:x{0&x!>*uWLi+4S{yo|' cWZ89b$'F ڨ NɩAOcWFn*A{|J67zN*=3^ Zzԃ'Qrր|7PnǬJ4=%\l>8bNfE1gW!3"-^$ ԰7,[P.}oӺ nab GqųǏ\P Aquk%'+H.Z'B gta'fx!O`=}n #UU, . N=kb8Ew{Gnv"eMR&@@` 39|}?% -d/^ߗ qwX_b#Zbq.K턤{b~G*["CD j}CFs8S4D4Ŋr ^{M (͝%_CR б*&.8ƚx"Q*MFKq8nV84):HslqVz ,s0 G& "ՋQt!-JEubc:?O>b8(|H{[W3,+uy2<ЪNg۬}{Akl|VwEf \]x }eA1[W{\HSd/vP u3rzj< 3GgYIhAP{|; φ,9WG A >=m%Ogk` ~/Xzimܠڠt f,&g&o hCOf, _qH]ߍ&a= CKL9-D@}%kF2`!3U.G??{I x jt ' /au9~ϕY{͕*_8.BiD>p(r7 ɵeif9~bVJWlKE6I8.?AN{.Z>Larm2C)*B]uJ@ ;ὰՑ?|} b=^ {@r_.5#@# t1D≆B8c $ciz>yEP F]h-m7m?BYP MqA ~$w.|%p|]i' MB1>*z[(Np<uGS ,snr7~S5",Z$۾Z5-\.@j:.޵sc}aKtS MxjzU t+҆ipa|b{X[ţtIz YhC?uhޝJ1% a2&pd^4y+Fȏa<PxjL$ԖR.^[(n>CmѧsnvdQLmҦbMDJZfnd7m|d|lH]eqfb{}۹M;׬3-+˻8kϼE̸/~>U]@PeB~Y]&< #R(4g6Y@2߶RBk"g)(c̣y3K~tXr]1ƒa";?hZTľQOaiݍ9ՃE/^'Q6je؇DU3$rx+SW? C_$Ud +f<'DqKOmc&K%#Ri&d0=*z=mP?)$XfN崪&B1q$_Q aZ*lvH{vW`'Rι~j'Q,N{v5*ft CTT4kZ%! ¼W m (T!Q}t~痝iU*'-tA(h*:ь/H;2g+_4L%Ǩ3OmP:2(ݎ׊/Ҁ1ЃY4$ߩS U6tK6a⑝oVʷ^,4Vj [-[J GYvp,raF30x)9E* 40-,ʔj_]yxbZ˽}D-R̃NT<_b܂sN,E슫Wfb *Ʃ[)m Kscy,Q>|}*ytpC,tBUx * 8#2aC(X>;"us0~)T˖24&:h)Pv61ìU [^{.=;w̙\؄U!xeewḤ̉r8H5'tDه\ cGfTc}a"<$^7%ax&"|cڃH%O)OBFȍr!<]MoE{ YTt bw-B9@ {4/|dlUxoF0D&4eFDZN'T_y)G]֜.EG4dT+7ao%ly@ͽ|/D0Jx7nl3'd kV1"=: 0D_pu 6.=9t2t6ƾC{0a`\Rx{)/`DM9,Hص6*⻇+ ЏOvG\1|; X/]:o.pJ CQΨ'%MMNsf-ìU22qPkv7lPЙO]CI -@!tIGn̯07EU>d\ BLEl@xpRrsNwBtI4᷈ܠWND@|f~s ꓭYnߏ%S'6'{ϽN{ \|9A_9mH#NpGiWO(AuFV{Xth/xu|%n R' 5^yf/nf /q, 0*#h)`L;-vBpw~4j_+-k`==jE' 닓?KqՌ&▁xj_`hwrdB^h6 ; ʾSΩ8+ :*?`Oj33Lf(&~A0&ƑhԪ5Bɣ(龄 1w{5, i w6}4Cm)XB0f{BL|Iu ҏ̳qj=X#mZBԼD8]DL +M9ޓ0K<צX|$%2"8CheAD.(WJnsZ/;US;8SDU, {4e۪KV{U\0c_u0O%$ѝXv6WooԞEW4BQێ8 NTfg*GaʼnQXpQ Թ n>+42C 6 3x1O%Lux!6dwutN|ňL! d#=#8 wC#_-́})S}Z18ڕ_| i$ MnkΆ+eBW|b̕b\"_P6?ev^ycfb)Zb뉼Z}cIi'blG51nMBL$ɓ7@}h}'cʂ`!{hIN|1{$+GcZ"olN`FeKS#Z*is_W`,MyR0<<\ܨ3kx+ƳUJ%6/JP@㼧ISծ)p9Տm\`щRa4׭'PS(5jՏ|k^#JRđ&<TY0YvCM^B e'U#9XM(4VHvTӘi<S"=6> ݣk?!ɷV/Birމ\e`#JQa ǮPՁs0:0a_\7LB%#*fes=SZ |fmcgyrS 0|!g:C: `xSrT(3,Z=w˚I$uCKǁnʕimZ%v/(ޠ#vt  C@l梬vHq *W:e*uCV Ŏ߈*煩{xD ]&-/9kVBJIB? (9[*S4ɮ2̕y3Č4ĉC ݛ 5l(i`.Zuvpkr=)T}oiROW*V&[)j*d(۾cqu8fS M-*g'R)c0qu4QC%ꟿ8d6`7Ic6ho` `/Ĩr HυHGsгQs4`alkK\ 0fː(S YZ