\\324P\\007\\221\\374x\\263\\363t\\270\\246\\003\\224nO\\265|\\361?S\\222q_R\\374^\\264\\373G\\205\\256\\011\\031\\333\\363W\\313\\323\\203\\201\\214\\365\\255#\\261\\233\\334\\242\\334\\034\\212@\\274g\\245L@\\3115\\023p8=)\\214f{\\321\\333#\\024\\270\\364\\247m\\332\\006i\\200\\325<\\021K\\307J6\\234\\023\\351M~\\200\\232\\0006`\\347\\245XA\\230\\317\\031\\250\\027\\234\\347\\221V\\0066\\373{P2\\273\\365>\\224\\303Oq\\317<\\216\\325\\033\\034\\365\\3434\\012\\302\\036\\234\\3644\\336\\007Jy\\340t\\006\\230F)\\014P9\\311\\241\\217\\035\\250\\015\\371\\323\\010'\\265\\000!\\317zBi\\304\\365\\3157\\030\\346\\200\\024\\017\\304\\322w\\355HI\\000\\364\\245\\036\\242\\220\\300\\021\\212N\\005\\007\\323\\275-\\000&}i\\247\\255/\\362\\244\\306i\\240\\034\\244\\012w\\2457\\024r9\\241\\200\\246\\203\\236\\364g\\035h\\315!X_S\\323\\332\\224\\034\\364\\246s\\217@iN\\007Jc\\034{\\365\\244\\357\\315\\013\\356:\\322\\365\\357\\212B\\003\\355J=\\315\\000\\201\\324\\032S\\3523@\\006\\001\\250\\373R\\034\\344\\347\\25590A\\246\\002\\021\\221J23J8\\346\\217\\322\\220\\013\\327\\245&3\\315\\003\\361\\245'\\352)\\215\\017\\035\\311\\024\\243\\217qH\\015/\\320g4!1\\254\\0104\\034q\\31147\\034R}s\\371SbC\\\\\\361\\337\\025\\033\\023Oa\\223H\\000\\035zT\\214\\214\\344\\236M \\036\\224\\346\\034\\373R\\021\\201@\\304\\315J\\207\\277Z\\203\\371\\324\\250G\\377\\000Z\\204\\005\\304\\351\\214\\016i\\030\\355\\352?\\032\\215\\010\\247\\267 g4\\304Fy9\\244n}\\275)z\\321\\2168\\246!\\000#\\203\\310\\247m\\351\\317\\024(&\\234N=\\305!\\210\\006;\\323\\275\\363FN3\\232h\\344\\377\\000\\205\\002$\\373\\303\\265'A\\216\\364\\240\\036\\3314\\273r9\\355L\\006\\344\\375i\\2079\\346\\234\\313\\311\\035;\\365\\243\\031\\034\\322\\013\\015<\\216x4\\244c\\201\\336\\223\\247\\02418\\034\\021L.4g\\265;\\237\\302\\205\\347\\237ZQ\\307\\035\\351\\014`\\347\\214c\\212\\024u\\347\\024\\270\\344\\342\\224}\\334\\320&&29\\353FpOJ\\010\\367\\245Q\\221\\310\\240\\000\\034\\017z\\\\d\\344\\216)\\010\\305=\\010\\3074\\014i>\\264\\200\\340\\367\\245q\\223\\220i@\\300\\315\\002\\032GA\\305\\003\\214f\\2001\\332\\2278\\353Hc_\\250\\240c\\332\\227\\223\\311\\346\\231\\316i\\200\\360\\276\\230\\244'\\024d\\216=(\\372P\\002\\023FF1\\374\\251\\247#\\275!\\007\\250\\350h\\000\\035y\\244 g=\\251\\331 R6v\\214\\364\\240w\\020\\267\\003\\232P{P\\243\\217JQ\\326\\220\\205\\002\\232y\\372\\323\\263\\216\\206\\221\\2069\\306h\\000\\003\\003\\030\\245^\\275\\205"\\003\\216iq\\311\\240`NM#\\000y\\035)03\\234\\323\\300\\317"\\201\\021\\225\\2459\\000\\036\\306\\203\\324R\\375i\\200\\020\\007&\\223\\203\\355GzR\\270\\035F(\\000\\003\\266q@\\300=h\\035(\\3174\\000w\\024\\34023\\336\\220\\365\\031\\3114\\0264\\000\\215\\337\\2555x94\\354\\216(\\300\\306@\\240\\003?\\205\\0123\\353\\212h\\367\\351N8\\000t\\317\\245 \\023\\034zQ\\332\\235\\267\\217zLz\\212\\000;qJ\\0069\\240\\360px\\240\\236\\334\\342\\200\\024\\034})A\\311\\372\\322)\\307\\275(\\240.?\\333\\232r\\201\\337\\212b\\222O\\251\\247\\3764\\01494G\\301\\316)F9\\030\\245\\333\\203\\232\\004;\\031\\007\\326\\233\\267\\247&\\234\\270\\035\\363N\\003=\\352\\256"klq\\236\\265\\353\\337\\001\\364\\361q\\255KrW>_C\\350\\177\\311\\257 \\205Ia\\216+\\350\\357\\201V\\006\\035.K\\202\\240o\\003\\220:\\322o@=ex\\036\\364\\341\\322\\223\\360\\245\\305fX\\032\\001\\367\\243\\024\\230\\346\\200\\037\\232))sH\\002\\227\\2654\\373R\\323\\000\\242\\220\\232Z@\\007\\255&(\\357J(\\001\\016isA\\244\\240.)\\031\\240\\032(\\305\\000\\007\\236\\264\\271\\315%!\\240\\005\\243\\036\\224R\\320\\002c\\024\\224\\244\\320(\\000\\355H)\\306\\220R\\000\\242\\212(\\001A\\240\\376\\264\\322y\\242\\230\\012:Q\\322\\200)h\\000\\315-\\024f\\200\\012O\\302\\2234\\242\\200\\003FisI@\\0069\\240u\\243\\031\\247P\\001HG\\275\\035\\350\\315\\000%(\\245\\242\\200\\012CI\\232q\\244\\002R\\322f\\224\\323\\0011\\315- \\245\\246\\002P(\\357Fh\\001M \\243\\256h\\035h\\000\\305\\0314\\264\\207\\255 \\022\\224\\012A\\315-0\\016\\364c4c\\024\\242\\220\\010h\\0245\\024\\000ph\\305\\000PN(\\000\\351\\315&y\\245\\3104S\\000\\006\\2121E\\000(\\243\\024\\012Q@\\202\\212(9\\355@\\307R{\\320(4\\000\\240\\323\\273\\323E:\\200$\\355Un\\011\\355\\232\\235['\\024\\347\\2140\\251\\0322$\\225\\226\\253\\265\\331\\006\\264\\244\\267\\014zT-b\\247\\232\\2332\\256S\\027\\247\\336\\224^\\222j\\310\\261Z_\\260-\\0111]\\025\\305\\341\\357N\\027\\231\\251\\215\\200\\245\\026 t\\247\\250\\\\\\215ni\\353uJ,\\2058Y\\201\\336\\215D\\002\\340\\032Q6h\\373.)\\302\\337\\006\\230\\016\\363i|\\312\\004\\006\\217$\\342\\200*\\334>eZ\\327\\266\\377\\000V*\\210\\266\\313\\203Z1\\256\\325\\002\\232\\023\\036);\\322\\321T \\2444f\\212\\000A\\322\\230\\377\\000t\\323\\317Jd\\237v\\220\\312\\243\\357\\032x5\\030\\0371\\247\\342\\220\\020^\\177\\2525\\217\\246\\214\\336\\037\\255k\\337q\\021\\254\\2350f\\344\\372\\346\\230\\316\\201)\\324\\325\\240\\323$\\\\Q@\\242\\200\\027\\265\\002\\200h4\\000g\\232)(\\024\\000\\032LPh\\351L\\006\\277\\3355\\312\\352?\\361\\362\\346\\272\\231:\\032\\345/\\371\\271zC\\350Ss\\364\\244\\352=(\\223\\2450\\036($S\\317\\2456\\203\\3274\\300s@\\033\\336\\036\\307\\223!\\035\\011\\247\\334\\362\\355\\365\\244\\360\\370\\305\\243}M\\027\\007\\347o\\255&4Ak\\315\\352\\347\\320\\326\\312VM\\250\\037k\\374+]\\007\\024\\320\\017\\024P(4\\000\\206\\230i\\355Q\\236\\264\\000\\306\\353L4\\366\\366\\351Q\\3474\\206\\\\\\242\\2238\\2434\\300Bph4\\264\\224\\200QI\\214\\321A\\342\\200\\027\\024\\230\\245\\024\\231\\346\\201\\011\\365\\243\\363\\245\\242\\230\\005\\002\\214\\322~4\\200Z)\\017J3@\\356-\\024\\032J\\000Q\\315- 4\\023@\\013I\\216hZ\\015\\027\\000\\3074\\246\\223\\232;s@\\202\\224\\234Ru\\245\\240\\002\\220sKI\\336\\200\\026\\212JR}h\\001\\017\\\\R\\322w\\242\\200\\014R\\212\\005%\\000\\024\\016(\\351\\365\\244\\315\\003\\003N\\024\\332\\\\\\320 '\\024\\036\\231\\243\\255\\002\\200\\016\\264\\275\\251\\015\\031\\342\\201\\3341E\\002\\216\\242\\220\\\\;\\321F(\\246 4\\012ZA\\326\\200\\027\\255 \\342\\203\\322\\223\\240\\240b\\223I\\232^\\264\\224\\000\\242\\203E\\035\\251\\010\\005(\\244\\240\\014P1h\\024\\032)\\200\\207\\2123F3\\326\\216\\364\\000\\012\\015-'z\\004\\024\\264\\202\\226\\200\\022\\224\\2322)\\0174\\016\\341\\337\\332\\223\\0304\\270\\245\\342\\200\\033\\336\\234i\\010\\245\\035(\\020\\206\\216\\324\\275\\350\\240\\004\\245\\244\\2454\\000\\224\\264\\224\\012\\006\\000z\\320O\\255/ji\\240\\005\\305\\024Ru\\240\\005\\2434\\003Jh\\006s\\2767\\264\\373g\\207\\356\\342# \\241\\315|\\215{\\037\\225<\\210s\\362\\261\\025\\366\\206\\242\\202KY\\020\\214\\2020E|\\205\\343;_\\261x\\206\\372\\002\\270)!\\252\\211\\017s\\236\\220\\372\\016)\\2168\\357\\353Rn\\371\\260A\\244f\\371v\\325\\001\\010\\347\\333\\372R\\237q\\221N<\\2003L\\246\\002\\343\\271\\305&\\011=\\351r:P\\254\\001\\003<P\\002d-L\\247+\\315B\\303'<\\324\\2508\\300\\351@\\020\\312\\335\\261Q\\277A\\327\\212\\232Q\\203\\3105\\023\\017~}M \\270\\300x\\367\\244\\347\\035y\\240\\214\\034R\\01684\\014C\\322\\200zb\\234\\303&\\223\\356\\372b\\220\\306\\260\\366\\243\\007\\006\\216\\207\\336\\206n\\264\\000\\332;R\\216M\\035zu\\240@\\005/SFs\\311\\244S@\\305\\343\\361\\244\\002\\227<\\347$Rg\\024\\000\\230\\307Z\\\\\\014PO\\255 \\316zP\\003\\2773@\\024\\235\\017\\177\\302\\227>\\364\\000\\203\\2574\\270\\311\\352)V\\216\\007\\322\\200\\027\\034\\0128\\350\\015!\\365\\346\\214\\365\\357@\\007\\\\Pzz\\322u\\240\\267\\250\\344P \\306iG\\004\\016\\224\\252\\334\\001Hz\\323\\001G\\365\\246\\220{R\\3654\\356\\237\\225\\002\\031\\337&\\244^\\236\\364\\3029\\245\\031RE\\003\\036\\006\\016i\\340\\003\\323\\353\\232`==)\\370\\340r(\\002&#\\236\\306\\216\\274\\214\\323\\334q\\320\\324~\\336\\264\\000c\\212\\214\\366\\247\\220zSJ\\32044\\363\\2369\\246\\221\\353K\\310>\\264g\\217J@2\\227\\360\\2454\\321@\\023\\306\\304c\\265N\\034\\001\\357U\\025\\260GZ\\225[\\035)\\240%<\\322\\036\\017\\024\\017\\313\\212\\017\\177\\347TH\\3459\\364\\245\\331\\371\\3209\\247(8\\316(\\013\\215\\332zc\\255(\\\\sJ\\016\\017\\275\\000\\372`\\322\\001\\311\\200\\335\\376\\224HN~\\264\\002\\270\\3644\\326\\034\\367\\347\\245\\000!>\\243\\024\\334\\014{\\323\\217#\\276h\\013\\307ZC\\021\\227\\256i\\273FjA\\337<\\320\\300c\\236i\\210`\\024\\275I\\240\\203\\237\\347MnG\\004\\322\\001\\030\\177\\265GA\\301\\342\\215\\244\\217\\245\\030\\307Z\\000:\\347\\255\\004\\366\\347\\212^;Q\\234\\2369\\024\\014\\006\\007\\275.;\\322\\221\\300\\307\\024\\322v\\216\\005\\000/ \\014\\236)\\011>\\3705\\031<\\367\\2434\\200x\\375}\\351p1\\3374\\200\\376t\\023@\\304`s\\300<P\\006\\0074\\026\\350)\\011\\343\\326\\230\\203\\255\\007\\216\\324\\211\\334\\322\\347&\\220\\001\\003\\217\\326\\224\\234\\014c4\\177\\017\\326\\223\\257\\\\\\346\\235\\300`\\346\\224u\\367\\240\\374\\276\\302\\202rs\\315 \\024/\\257"\\234Tw\\306)\\273\\261\\221Fs\\326\\200\\027n{Ss\\203\\316iA\\372\\322d1\\342\\230\\017\\317\\035)\\246\\224\\036\\302\\203\\364\\346\\201\\215\\307\\031\\355@=\\251\\304\\034c\\265 \\374h\\020c\\247Z1\\311\\247\\0169\\243<\\232\\000@3\\315\\004t\\243\\277\\326\\214\\343\\216\\364\\\\a\\215\\270\\346\\220\\216\\224s\\2128\\344\\365\\240C\\210\\371F9\\246\\340\\032A\\317\\035h\\3068\\024\\016\\302\\250\\357\\327\\024\\204\\032U\\353\\353K\\357\\317\\275 \\030\\274c\\327\\371R\\3474c'\\257\\024\\273q\\327\\212b\\024g<Rv\\366\\245\\317\\003"\\233\\307\\377\\000\\252\\200\\027?\\216i\\271\\036\\235)G&\\2023\\323\\024\\200Ps\\332\\224`s\\315&08\\247\\017\\326\\200\\034994\\360x\\376\\225\\030'\\361\\247\\014\\343\\351@\\017l\\001\\234P\\030\\364\\346\\220\\223\\212S\\217\\304\\323\\260\\006rx\\351\\232pl\\034\\016)\\244`\\016\\010\\251\\024\\017\\275E\\204Z\\263C$\\212\\203\\222q_\\\\\\3748\\261\\026^\\032\\266P\\240\\002\\240\\214W\\312\\336\\030\\203\\317\\326\\355\\020\\202Aq\\300\\257\\2614(\\204\\032]\\274``\\004\\024\\244\\364\\005\\271\\240)s\\212\\001\\243\\036\\265\\231AKIHM\\0008u\\315\\036\\224g\\024\\016\\224\\014(\\243<\\321@\\202\\224SGZu\\000!\\034P)i\\007SHb\\217z\\010\\242\\223\\245;\\200R\\347\\232@)q\\315\\027\\004&ii){S\\001(\\243\\255.8\\244\\010;Q\\332\\201\\357E\\000\\024\\264\\206\\212@\\035(\\245\\315 \\353L\\000\\322\\012u7\\257J`<RR\\012F\\244\\003\\250\\244^\\224\\023\\333\\024\\000\\274PqH(\\305\\000\\006\\212Z3L\\005\\006\\227\\2553\\275;4\\200(\\242\\203@\\011\\232QH(\\350h\\001x\\242\\223>\\364\\264\\000c\\024\\023\\2123A\\034P\\001A\\240t\\243\\362\\240\\003\\024\\036:QA\\240\\000\\012SI\\355A\\240\\004\\245\\374i\\0074\\352\\000N\\224\\023\\2123HG\\2450\\027\\255\\035(QKH\\003\\024P)\\015 \\027\\255'ZZ(\\0011A\\346\\212;U\\000f\\212\\015\\000P\\002\\361\\216\\264g\\322\\201K\\300\\240\\000Q\\234P(\\240B\\346\\212AJx\\240\\003\\2758\\364\\246\\212\\177j\\006F\\237~\\254\\223\\362\\324(\\000j\\225\\317\\024\\001\\023\\036i3Ls\\212\\213\\315\\311\\305 ,d\\032L\\323A\\342\\237L\\000\\032vsL\\002\\201H\\007dS\\2523\\301\\346\\2274\\000\\342E\\003\\232m(\\246\\003\\201\\346\\227"\\243\\3174\\365\\351H\\007\\247Z\\234t\\250\\022\\247S\\3050\\003Hi{\\322S\\020\\224R\\223H\\015\\000\\006\\231'Jq\\250\\3468SHd)\\326\\237\\326\\243\\214\\324\\224\\200\\245\\250\\361\\011\\254\\275 f\\345\\3753ZZ\\241\\375\\321\\254\\375\\027\\231\\030\\373\\321\\324ocyzR\\322/JP*\\211\\026\\220R\\322P\\001\\322\\223$\\323\\251\\000\\240\\005\\244\\245\\244\\315\\010\\002\\220\\321GJ`2O\\272~\\225\\311^\\037\\337=u\\223}\\326\\256B\\357\\231\\333\\353Hd\\007\\232a\\372S\\317\\002\\243bzPK\\033\\311\\035(\\003\\2360)\\343\\245Fx'\\322\\201\\035\\016\\2046\\3317\\324\\324s\\037\\235\\276\\2656\\217\\377\\000 \\374\\373\\232\\202^\\246\\223)\\005\\227\\374}\\037\\245k%eX\\017\\364\\207\\255T\\246\\200}\\024Q@\\015&\\243a\\232\\224\\323\\032\\200"4\\303On\\225\\0314\\206[\\036\\364\\242\\220g<\\322\\320\\002w\\2434\\023\\351@\\346\\200\\024\\032))~\\264\\000t\\244\\3074u\\240P \\024\\0323@\\3151\\207jh\\247\\032A@\\202\\224\\012\\007^ih\\001\\270\\315-\\024\\032@\\002\\214Q\\212A@\\005.h\\243\\255\\000\\031\\245\\024\\230\\245\\024\\000w\\305\\006\\220u\\2454\\000\\202\\212Z\\015\\003\\022\\223\\034\\322\\322\\320!1E\\003\\255\\024\\000\\231\\346\\227\\255'ZZ\\000SM\\305(\\315\\004P\\002R\\366\\243\\035\\3504\\000\\271\\244\\243\\024\\264\\000\\332;\\323\\215'z\\000Z3H("\\220\\005';\\251{P?Z`\\024\\235\\351sE \\003\\315'jZ(\\270\\000\\024t\\240QLw\\012=\\250\\353F(\\020P\\0174b\\216\\364\\015\\013IE\\035\\250\\000\\004Pi\\270\\247\\012\\004(\\340RR\\034\\320\\007\\255\\000:\\212)(\\001\\017Zu6\\214\\320;\\013\\232J==\\351h\\000\\245\\242\\212\\004\\007\\245%-&)\\000P:QF;\\320\\001\\322\\212\\017\\265-0\\012:Rt\\2434\\0143@\\024\\207\\371\\322\\320\\002\\023\\232^i\\253\\326\\236\\005\\002"\\230nF\\035\\310\\257\\226\\3760Y\\233o\\025\\334\\266\\323\\373\\323\\277>\\275+\\352g\\034\\032\\371\\373\\343\\345\\246\\335N\\322\\343\\237\\230\\024\\247\\035\\311g\\215\\270\\012~\\264\\3028\\317CRH\\27761\\315B\\312@\\344\\234\\012\\320B\\022GZL\\022rri[\\221\\223B\\034g\\234\\012@\\001OjR8\\315(\\347\\250\\2469 \\237\\360\\2461[\\234\\323\\340\\347\\257CQ\\251\\312\\361\\305>\\034\\214\\347\\232L\\004\\220e\\273\\3765\\036\\016\\356jyz\\347\\035j\\003\\323\\007\\212\\000\\215\\200\\316i\\271\\365\\247\\364\\246\\272\\001\\214rh\\030\\204\\343\\361\\246\\322\\364\\353M=i\\000\\177Z\\017ZU>\\264v4\\000\\203\\217~h8\\003\\247Z\\017<\\203G>\\264\\000R\\177::u\\243\\216\\274\\012\\000C\\371\\232\\\\\\344\\321\\216{\\0120\\011\\240\\004\\372\\323\\207\\267\\024zf\\202\\010>\\324\\014C\\327\\216\\264t\\245\\343\\232C\\336\\200\\034\\244Q\\214\\234\\016\\224\\321@lv\\240B\\223\\305\\003\\241\\244$\\034v\\006\\227\\255\\000 \\244<\\234S\\210\\346\\2001\\311\\246\\003I#\\265*\\363\\326\\236\\270'\\271\\024\\200d\\361\\305\\000;\\013\\333\\232R\\001=\\351\\200zS\\324\\347\\251\\301\\241\\200\\203\\203\\3239\\247\\225\\374\\251\\033\\2554\\347\\324\\342\\200\\036:\\361\\332\\235\\326\\230\\033\\377\\000\\327NV8\\343\\255\\000+\\016>\\225\\021\\007\\255=\\375{\\232i\\351@\\014c\\330Rs\\332\\225\\272\\361\\3057'\\265\\000#})\\207\\030\\251\\011\\301\\346\\243=}\\251\\014C\\323\\232h\\024\\343\\315!\\353@\\006\\177:z7~\\365\\035*\\236h\\002\\330!\\201?\\326\\205\\035=j\\000\\374\\372S\\303\\347\\271\\3150\\261/9\\251T\\235\\274\\340\\212\\257\\277\\003\\031\\245\\363\\005\\027\\025\\211\\213\\016\\330\\2400\\307\\271\\250w\\214`\\320\\254\\017\\007\\031\\240D\\240d\\344f\\224\\220MD\\037\\223\\316(\\317\\347@\\354L\\271?\\347\\255#\\223\\332\\242W\\353\\351J$\\353\\326\\200$\\310\\374iPg\\255D\\\\S\\204\\231\\240\\007d}\\0151\\271\\351\\301\\247)\\317\\006\\201\\214P!\\204\\034\\217\\361\\245\\015N\\013\\203\\216\\364\\204\\014\\216\\231\\240\\003\\007#\\236\\264\\245{\\212o"\\202y\\352h\\030\\245\\270\\002\\230\\375z\\363N<u\\3155\\211\\343\\322\\200\\032x\\367\\244\\357\\221Cu\\3174\\016}\\251\\000\\271\\306(\\317sM9\\007\\240\\006\\2340\\007=\\015\\000\\003\\245(\\301\\365\\244\\310\\317jB?\\273L\\005\\311\\315\\004\\340Rn\\301\\347\\232:\\320\\000\\016h\\030\\3161@8\\351Jx\\244\\000\\374\\361\\324Szt\\346\\216\\375i{\\342\\200\\020\\344\\361J1\\310'\\232P=(\\307<\\361@\\010{pE\\003\\353\\2129\\0074\\275\\363\\334\\323\\000\\030\\365\\245<\\363\\232Q\\201\\326\\221\\2168\\315 \\005\\030\\353\\317\\275'V\\366\\024d\\221@\\350zS\\001\\374t\\351Hx\\366\\244\\307\\343K\\236\\236\\242\\220\\001\\030=zR\\034\\036\\206\\221\\272\\232\\000\\364\\305\\001q\\030\\340\\320s\\327\\326\\216\\247\\216)q@\\015\\007\\337\\2558\\232\\000\\031\\351\\212\\010\\364\\034P1}i\\017\\363\\243\\203\\317J\\011\\347\\245\\002\\005\\317z\\016G\\024\\3209\\357Nls\\351@\\015\\003=iH\\374):t\\340R\\203\\353E\\306'^\\364\\354\\343\\351G\\035\\272Ru\\024\\300Q\\323\\236\\224g8\\343\\245\\036\\306\\201\\307\\322\\201\\017\\034u\\031\\247\\347#\\246i\\207\\346$\\324\\211\\367M \\025@'\\234\\346\\220\\232^\\334Sz\\237\\255;\\200s\\236y54@\\344pqQ\\201\\200*xF\\007\\324\\321p;\\177\\205\\266f\\343\\304\\320p\\010S\\223_W\\332\\256\\310Q}\\000\\025\\363\\327\\301\\035<I\\253\\231H\\351\\201\\371s\\376\\025\\364J\\014\\012\\2111!\\302\\203\\305\\003\\212\\015J,;R\\001K@\\246\\002\\322R\\321\\326\\220\\000\\240\\322t4\\274P\\001H)h\\240Bg\\232_\\302\\214Q\\322\\201\\200\\353KI\\326\\224Q`\\020w\\024\\352n0isH@z\\321\\333\\326\\220\\034\\322\\323\\030\\200\\365\\245\\035(\\245\\355@\\010iqH\\015\\004\\322\\0013\\315-%\\025@-&9\\247\\016\\224\\032\\000J\\005\\007\\245(\\244\\300\\0154\\322\\223Hi\\000\\003N\\340\\324c\\212p<\\323\\001\\300b\\2123G\\275\\000!\\245\\315!<\\322zS\\001\\304\\363\\305\\004f\\223\\002\\2274\\000\\001Gj3\\315/_Z@%\\024P(\\001i=\\263E\\024\\300)\\324\\336\\364\\271\\244\\002\\216\\264\\235\\351\\005(\\244\\002\\032Pr)\\015\\030\\246\\002\\367\\240\\232\\026\\203H\\004\\006\\2278\\244\\035hj`-\\031\\244\\007\\232Z\\000\\005/\\363\\244\\351HM\\014\\007\\016\\224\\316\\255\\336\\235F1@\\000\\315\\024Q@\\012\\005%\\031\\245\\240\\004S\\232\\\\\\322sI\\336\\200\\035@\\024\\242\\223\\2650\\001Jx\\244\\031\\245=(\\020\\242\\220\\344\\320\\005-\\003\\005\\247R\\012\\011\\342\\200\\005\\373\\3253\\360\\265\\014\\177z\\247\\177\\273H\\012W\\007\\012MR\\205\\217\\231W.xST\\241\\373\\364\\300\\320Jx\\342\\232\\235\\005-\\000-(\\246\\232Q@\\001\\346\\201A8\\242\\200\\012u \\346\\202h\\000>\\264\\252x\\244\\316i@\\240\\011c\\353S\\366\\250#\\353S\\216E\\010B\\012ZN\\224\\037j`!4\\202\\202(\\307\\024\\000\\231\\250\\346\\373\\246\\245\\250\\247\\373\\264\\015\\020\\245?\\275G\\0375&1R\\006v\\253\\304G\\326\\251\\350\\235Z\\255j\\337\\352\\215A\\242\\377\\000\\021\\241n\\014\\332ZSH\\243\\275\\007\\232\\241\\012(4\\200R\\320\\000:QE\\024\\000g\\2121\\232\\015\\031\\305\\000\\024\\231\\242\\220\\320\\004w\\007\\021\\267\\322\\271\\011\\317\\357[\\353]e\\321\\304/\\364\\256Fc\\231\\016}i\\003\\330\\211\\310\\3154\\323\\236\\230>\\264\\311\\023\\2651\\272\\363On\\243\\024\\323\\317\\275\\000\\216\\227J\\030\\323EV\\227\\251\\253V\\037.\\232\\240zUIO\\341I\\224\\207\\351\\343\\367\\316}kMk;O\\031.}\\353IG\\024\\320\\207\\216\\224\\224\\012S@\\306\\223L4\\363Lj\\000\\215\\251\\206\\234\\306\\230x\\024\\230\\313\\224\\275\\251('\\212\\004\\006\\201E\\024\\014C\\326\\212\\015\\035(\\020c\\322\\200(\\315\\031\\240\\003\\024b\\201\\327\\255\\035\\350\\030\\224\\243\\245!\\2434\\304\\035\\351h\\245\\240\\004\\372Rb\\235Hz{R\\000\\244\\317\\255\\002\\212\\000)s\\305\\024P\\300Z)\\005.h\\001:R\\365\\2444t\\240\\005\\243\\255\\024P\\001E\\024\\224\\000f\\220\\363A\\346\\224\\012\\000\\000\\305\\024f\\226\\200\\022\\212ZBh\\001sI\\371R\\012\\\\qH\\002\\212AK\\355@\\005\\003\\223E%1\\216\\244"\\212\\001\\240B\\012\\\\sE\\031\\364\\2440\\333K\\332\\212N\\224\\000\\034\\321\\326\\216\\264\\012\\000ZLP)i\\210AA\\240\\234R\\032@/Z\\005'LR\\214f\\230\\300\\2121KI\\315\\002\\012(\\353K\\212\\000J^\\264\\235s@\\240\\002\\212Ri(\\000\\353GJ\\\\sA\\240a\\221Hh\\305\\003\\336\\201\\010\\005)\\245\\315\\024\\000\\224QGni\\014:\\321\\322\\220Q@\\016\\244\\315\\024\\224\\010SGzAKLaK\\322\\233K@\\001\\353\\232(\\006\\212\\004!5\\343\\377\\000\\037,\\004\\272\\\\\\027\\003\\254n\\177Z\\366\\003\\\\\\027\\305\\353?\\265xR\\344\\343%\\006\\357\\312\\204\\365\\024\\266>Z\\230\\215\\307\\031\\367\\250\\230g\\351V.\\027\\005\\271\\3175X\\234\\366\\300\\255S$k\\014\\372R\\005\\340\\372\\320\\017<\\320Oo\\324P\\300r\\372ri\\255\\214\\034\\3654\\250\\011<\\323\\235x9\\353HdK\\201O\\214\\363\\307Jg\\324\\323\\224\\200\\324\\000\\371\\271\\036\\225\\\\\\234\\361\\374\\352\\303\\375\\336\\247\\212\\257\\337\\245\\0007\\0074\\020\\177\\012F8\\246\\026=\\315 \\034\\335i\\247\\365\\367\\244\\317\\007\\2504\\354\\034P1\\274\\001\\323\\006\\202\\177\\012B3H9\\240\\005\\243\\327\\265\\004\\366\\351@\\342\\200\\260\\323\\3179\\024\\341\\333\\245\\007\\024\\023\\212\\000C\\223\\322\\2001\\355@9\\245\\307\\024\\000\\234\\372\\363I\\273\\031\\024\\247\\326\\223\\0314\\306(\\347\\255)\\024\\2358\\240\\363\\322\\220\\007\\007\\326\\221\\251I\\035\\251\\030z\\320!sJ\\275qM\\000\\355\\247(=\\350\\001\\314}:\\322\\023\\365\\245\\340\\034\\323[\\324\\362i\\214U\\372\\365\\245\\357\\357M^\\017\\024\\376:\\363@\\205\\307\\257Z?\\235 \\311\\306qN=\\351\\000\\231\\315\\000g\\223G^\\224\\023\\200)\\211\\211\\214\\236i\\303\\247JE\\307zR3@\\016'<\\177:k\\001\\201\\353JE/\\000s\\326\\201\\214\\307\\025\\0361R\\236\\225\\031\\342\\220\\014e\\317\\2657\\247&\\235\\327\\3374\\204\\372\\364\\240c\\032\\232\\264\\363\\371\\323O\\345@\\001\\305'j\\011\\353@4\\000f\\236\\033\\000\\347\\212e\\031\\342\\200\\035\\273\\236iwf\\232\\015&h\\001\\304\\320\\016~\\264\\203\\251\\2438\\024\\000\\354\\2362h\\334s\\334\\322u\\245\\007\\255\\000;w\\245.\\343\\3154\\034S\\370\\3074\\000\\302Oc\\221N\\004\\017ji\\024u\\351E\\300\\231\\\\\\221\\232pq\\273\\374i\\251A^sLD\\212\\307\\003\\255\\000\\363\\353@\\351J\\023\\216\\374P\\000H\\031\\3434\\213\\3637\\2651\\370<\\367\\240\\372\\216\\264\\001!\\030\\340\\323x\\035\\3517d\\363\\316h\\364\\344\\201E\\302\\302`\\012i\\343\\245Hy\\030\\244\\310\\307\\275\\002#\\353\\326\\227o\\255*\\372\\364\\247u\\353\\315!\\214\\034u\\305\\005\\205=\\227\\234\\342\\232@\\240\\006\\360@\\305;\\332\\201\\214q\\336\\220{q@\\305\\024\\207#\\251\\342\\220\\034\\032vx\\346\\201\\006\\011\\366\\245==\\251GJL\\023\\336\\200\\032)\\370\\340Szt\\245\\334?\\032\\00022s\\315(\\306\\017zi\\004\\236)}\\263@\\011\\234\\232\\017o\\347@\\030\\247c=(\\023\\001\\300\\340\\322\\205\\340R\\22000i\\007<s@\\304\\301\\355\\326\\232=\\371\\251O\\000\\365\\315FO?J\\000N\\2478\\374\\351\\006s\\354ip\\001\\033\\211\\241\\271\\034`\\012\\000R@\\003\\326\\223\\261\\353G\\360\\320\\243\\277Q@\\010\\001\\353Gz\\\\c\\247\\345J:\\367\\240a\\370\\323?Zy\\366\\306)\\231\\301\\034\\361@\\205\\332s\\357F2\\177\\245*\\361\\223\\357A<\\323\\000\\351\\307jA\\307zr\\216\\346\\232\\303\\255 \\035\\307\\247\\024\\207\\257jE\\247\\0003\\317z\\000oN:S\\201\\343\\232i\\344\\361O\\012OJ\\000`$\\325\\210\\372c\\265A\\364\\251\\021\\273P\\004\\247\\247N\\224\\316\\335)A'\\004\\0328\\003\\2714\\000\\243\\035*\\305\\266\\013\\201\\352j\\252\\202\\315\\307z\\320\\260\\210\\264\\312\\243\\004\\373\\323Bl\\372\\013\\340U\\246\\333)f`2O\\006\\275\\204s\\\\'\\302k1m\\341\\350\\370\\301`\\016}k\\274\\003\\265g-\\307\\035\\207\\003\\332\\216\\264\\230\\245\\244PRR\\212CL\\004\\3174\\356\\324\\202\\216\\264\\000R\\320\\005\\006\\220\\005 \\353Fh\\240\\005\\315-%\\035\\350\\000\\024t\\244\\244o\\312\\230\\016\\242\\2054g\\232B\\001A\\245\\357I@\\000\\2454\\036\\224\\235\\251\\014QA\\024\\003\\2323L\\004\\245\\305&}\\250\\246\\002\\322R\\320i\\000u\\243\\245&9\\245\\3174\\003\\012(\\315\\003\\255 B\\021A\\030\\2454b\\200#$\\212Un)Yj<\\340\\342\\230\\022\\216\\242\\235Q)\\251\\001\\240\\0054\\320)\\331\\246\\3644\\300u\\024\\003A\\244\\000h\\024u\\242\\220\\011J)\\015\\024\\300\\0114\\341\\311\\246\\322\\212\\000Z)(=(\\001M!\\245\\0359\\245\\240\\006\\212S\\365\\243\\245'Z\\000\\005)\\024Q\\324P\\002\\012\\001\\346\\226\\216\\364\\300\\0174\\207\\212S\\307z8\\244\\002sFii(\\270\\005-\\030\\244"\\200\\016\\242\\235\\332\\220t\\242\\200\\024\\232A\\202(\\244\\305\\0008w\\2434\\200\\322\\320\\000(4f\\224\\323\\020\\012Ri\\000\\245\\240\\020R\\032\\005)4\\206,C\\346\\251\\2448\\025\\014m\\206\\305K'"\\201\\225f]\\352E@\\220\\341\\276\\225a\\216)\\201\\301<\\032bd\\2120)i\\005-\\000.(\\024\\231\\245^\\015 \\024\\216i\\010\\245\\242\\200\\020\\014R\\360E\\024\\016\\224\\000\\017\\2458R\\003A\\353L\\011c\\253\\003\\245W\\212\\246'\\212\\004\\035\\3504-\\004~T\\300i\\244\\024\\264P\\001P\\\\}\\312\\234\\324\\023\\364\\244\\306\\210\\343\\024\\362i\\251\\322\\226\\220\\031z\\301\\375\\321\\250\\364A\\373\\263N\\326x\\214\\322h\\237\\352\\271\\241n\\014\\327ZZ\\026\\224\\232\\241\\005\\024\\224\\206\\200\\035A\\242\\212\\000\\005!\\024\\277Z(\\001\\264\\023K\\212\\015\\000V\\274\\377\\000P\\377\\000J\\344\\346\\373\\347\\353]]\\361\\305\\273\\375+\\223\\227\\2274\\201\\354BH\\244\\307\\245+w\\353L_\\316\\230\\254\\007\\236*21\\353R\\237J\\214\\360\\177J\\000\\352-F4\\344\\372U#\\326\\257\\303\\306\\236\\237J\\316|\\346\\220\\321kO\\373\\255\\365\\255\\005\\315P\\323\\376\\351\\372\\326\\202\\364\\246$-\\035iz\\323zq@\\304ja\\247\\236\\224\\306\\240\\010\\210\\346\\220\\214\\323\\217Ji\\367\\251c-\\321GjLsT \\245\\006\\221\\207\\024\\202\\200\\024\\320i\\015;\\265!\\211\\212(\\352)9\\240\\005\\305.)\\005\\024\\000\\247\\024\\234QHz\\320\\002\\3209\\244\\002\\227\\2451\\006ii\\275\\350\\031\\244\\003\\2511K\\332\\232h\\001h\\242\\220\\365\\246\\002\\322\\323E)\\375i\\000\\016x\\240\\216x\\240R\\367\\240\\002\\217\\245\\024P1:QG\\322\\217z@\\002\\202qE\\024\\304\\035h4u\\315-\\003\\012LRR\\346\\200\\016\\224\\017J\\015\\002\\201\\006(>\\224\\037j\\0074\\000\\2074\\016ih\\024\\014\\015\\003\\201A\\351I\\236h\\001z\\321FqJzP\\000x\\244\\024R\\320\\002R\\232JS@\\204\\006\\2234\\270\\240P\\001\\332\\214Rr\\015.i\\014(\\2434\\235h\\020\\244\\3209\\024\\231\\245\\376\\264\\000QFi\\001\\240b\\321\\232\\006=)\\0150\\024\\214\\363I\\3644t\\244\\316h\\001\\324\\204\\363J\\005.)\\\\CE/\\324R\\367\\243\\255\\003\\022\\226\\223\\034Q@\\001\\024\\207\\232S@\\3051\\007jA\\326\\224\\323GZ\\000vE\\024\\012:\\322\\030\\264\\224\\264\\323@\\012OJ3IGJ\\000Oj^\\224Q@\\230\\016z\\326/\\213m\\026\\363C\\273\\205\\206CF\\303\\364\\255\\257\\255A|\\273\\355\\244\\004d`\\323\\003\\342\\273\\330\\331.%V\\004\\020\\307#\\361\\252\\204\\002q\\351]\\037\\216-~\\307\\342k\\370\\210\\300\\0221\\3068\\000\\232\\346X\\363\\307\\025h\\2045\\311\\037L\\372P\\006pOCJr@\\311\\2448\\317\\034\\323\\001FGqOc\\307\\024\\212\\001\\355A\\007\\352=)\\214kq\\323\\006\\222<g\\004\\363C\\002ON)\\0009\\035\\251\\001+\\220W\\036\\276\\325_\\034\\373U\\226\\307\\227\\3168\\252\\317\\216\\237\\255\\000F{\\214\\323\\017\\277\\362\\251\\030\\343\\353L`1\\223Hb\\036)\\2719\\002\\203\\315(\\003\\271\\024\\000\\275)\\017\\036\\371\\243=\\315.3\\203@\\304\\3509\\346\\201\\310\\342\\221\\272\\322\\364\\034\\212\\000B1L5!\\365\\354i\\274\\036\\324\\000\\016\\264\\343\\322\\232x\\245\\311\\305\\000'\\177JV\\307joz\\016q\\326\\201\\013\\356)\\017\\255\\000\\022is\\201\\212\\0067\\251\\244\\3478\\247t\\244#\\236\\015\\000;\\216\\264\\241\\200\\030\\353M\\007\\216h=s@\\017\\0074\\000?\\306\\232\\016F\\007\\024\\277\\236M\\002\\027\\024\\243\\257|R\\016\\335\\350\\035\\350\\020\\374c\\234R\\026\\317\\255'^)B\\212\\0069A\\3014\\326\\344\\367\\245\\015\\201J\\006\\017<\\216\\364\\010\\007\\335\\3063@\\310\\374ir?\\012h\\344\\372\\212\\000Ry\\035\\205!9\\347\\034\\372S\\217`\\0154\\343\\276)\\200\\201\\272\\342\\202y\\344s@\\306}\\350l\\003\\232C\\030\\330\\003\\216*22A\\025)\\033\\272Tx\\346\\200\\030}(\\367=\\0158\\212C\\200(\\030\\336H\\243\\245\\031\\307ZO^h\\001M!\\353Fh\\315\\000\\035h\\002\\200(\\311\\240\\0038\\2439\\244\\035\\351h\\000\\002\\224\\232L\\364\\243\\361\\240\\005\\007\\221R\\006\\006\\242\\025"\\034zP\\002\\343>\\346\\214c\\232q\\301\\036\\224\\203\\232\\000\\001\\357\\371T\\200\\344\\344\\346\\230\\275x\\315K\\214\\364\\351@\\211#\\357\\3334\\366`\\0063M\\003\\002\\230\\347\\024\\000\\327\\364\\352E3>\\370\\245\\311\\307Zi\\353\\324\\232\\000^s\\232wQ\\355H:s\\322\\223\\241\\353\\305\\003\\027w\\\\\\366\\245\\007'4\\207\\236iB\\346\\201\\010rG\\245*\\360=\\272\\321\\317s\\322\\202?*\\000x\\345M3#w\\255\\000\\340`\\323\\266\\347\\265\\0004\\360x\\342\\233\\216r9\\024\\362;\\036\\264\\334s\\212\\000\\010\\024\\336\\207\\0034\\3421\\322\\201\\337\\232\\0003\\315\\004\\346\\227\\034\\362i1\\371\\320\\002\\344\\021\\317\\006\\223\\037\\225/\\267Jo\\247\\006\\201\\013\\223B\\344S{\\323\\272\\320\\010]\\330>\\242\\223>\\224\\204\\344{\\322\\250\\024\\014p4u\\344\\322\\361\\217zM\\337\\225\\000\\035\\210\\240\\016\\375\\250\\316s\\3014\\231\\346\\200\\024\\236\\264\\200\\362\\005\\036\\335i6\\236\\302\\201\\203\\260\\035(F\\357H\\303\\007\\232Q\\201\\305\\002\\002\\011<\\361M\\316:\\344\\323\\307Zc\\014\\347\\024\\000\\275M8\\200@\\355\\212E^(\\355@\\011\\310<\\322\\202?\\032N\\242\\227\\201\\365\\240\\000\\266)A\\004S\\033\\332\\205\\346\\200\\034\\006:R\\343\\265\\035\\275\\3519\\034\\365\\024\\000\\340\\270\\316z\\321\\234\\376\\024\\314\\346\\225y\\240\\004\\356\\005H\\253\\336\\232\\203$\\323\\307N(\\001\\300\\023\\217jQ\\372\\322+`\\201O<\\344\\320\\002)\\000\\216\\265\\257\\241\\306\\322]D\\023\\251a\\374\\353,\\016}k\\251\\360E\\231\\237Y\\266_V\\004\\376uD3\\352\\177\\006A\\344hV\\313\\214\\035\\240\\326\\377\\0005KI\\210C\\247\\300\\237\\335QWk\\026Z\\014\\322\\322b\\224\\322\\030\\242\\220\\3208\\244\\367\\2460\\311\\024\\240\\320i1\\305\\000;\\275&))A\\365\\240\\004\\3074sJM\\013\\315\\000/J)\\011\\305(\\240\\004"\\226\\220\\321@\\013Hx\\245\\240\\320\\001\\326\\223\\221\\315.h\\317\\034\\320\\002f\\224\\212\\005.)\\000\\203\\2123A\\243\\024\\300)i\\264\\242\\200\\002s\\305\\002\\212\\005\\000\\030\\245\\242\\201\\326\\200\\0029\\240QA4\\200(\\351M\\024\\240\\323\\020\\264\\306Jx\\245=i\\014\\204\\214S\\201\\367\\247\\021M+\\212`8s@\\374i\\252y\\247\\216h\\000\\315\\004\\321\\216{\\320h\\001h\\244\\245\\244\\002R\\321\\214\\321\\212`\\030\\242\\223&\\200h\\020S\\251\\2714/\\\\\\323\\030\\352J\\017\\034\\321\\232\\220\\012)i:P\\001\\364\\240\\034\\322\\212Ls@\\000\\353A\\245\\244=)\\210\\007Z\\\\\\322-\\031\\346\\220\\305"\\222\\2279\\244\\240\\002\\225h\\024\\264\\000\\322iE\\004sA\\240\\0034\\016i\\246\\224\\014S\\001z\\032SI\\216y\\240\\365\\024\\000\\274f\\214\\320=\\350\\357L\\007Pi\\015\\024\\010\\005)\\024\\012Rx\\240cS\\357T\\315\\367j\\004?=L\\335)\\001V~\\234qU\\342\\316sR\\335>\\321\\232\\212\\335\\303\\232`[Ju5i\\353\\357\\326\\200\\014Q\\355A8\\244\\240\\005\\315(4\\206\\212\\000u\\024\\336\\224\\016M \\024\\232QF\\001\\245\\300\\240\\011a\\025)\\250\\242\\2513LB\\366\\242\\212\\0050\\032z\\320)Z\\220R\\000\\352*\\011\\372T\\375\\252\\274\\347\\245!\\241\\221\\364\\247\\234SS\\2458\\322\\003\\033X$\\202=jM\\034b\\034\\324Z\\321\\342\\247\\322F!\\024\\3203H\\032\\\\R\\001Ji\\210)i\\005\\031\\246\\001\\232\\\\\\322Q@\\013A\\240R\\032\\000(&\\212CC\\032)jG\\026\\355\\364\\256U\\211\\334k\\252\\325\\016-\\233\\351\\\\\\243\\343q\\244&F\\375\\351\\005+\\340\\346\\232(\\020\\023\\355LnH\\365\\315;?\\205'q\\365\\240\\016\\241x\\260A\\355T\\037\\336\\264\\037\\213D\\307\\240\\254\\347\\240e\\273\\001\\210\\377\\000\\032\\276\\265F\\307\\375]_^\\224\\3048R\\021K\\320R\\036\\231\\240cZ\\230\\335)\\315\\3150\\236(\\001\\207\\201L\\315<\\323\\032\\244e\\312(\\357E1\\011\\301\\240\\340Q\\214\\032(\\000\\024Q\\216);\\323\\000\\024\\264\\206\\217\\255\\003\\000iI\\244\\013A\\007\\275 \\024QH\\276\\224\\270\\346\\201\\005\\007\\255&qE0\\003@\\247c\\212AH\\005\\2444R\\232\\000JR(\\246\\367\\240\\005\\002\\203A\\240\\014\\320\\002\\212)\\001\\240\\372\\320\\002\\342\\202y\\242\\212\\000(\\240Q@\\001\\246\\323\\261H(\\260\\013E!\\243\\251\\240\\000zR\\232N\\2074f\\200\\026\\233\\216h\\357K@\\005(\\364\\244\\372Q@\\304#\\232\\015.i(\\020\\012P9\\240{\\322\\347\\024\\000\\323A\\004\\212\\\\\\346\\201\\212\\006"\\346\\235I\\305.h\\020\\207\\212\\015\\002\\226\\200\\012CA4f\\200\\0234\\016iO4\\016(\\030sF(\\351Fh\\0010)O\\275-4\\236q@\\005.(\\034\\322\\212\\000N\\364\\204\\322\\320y\\024\\000v\\240t\\364\\243\\265\\002\\201\\006h4b\\212C\\260\\224R\\321\\374\\351\\211\\013\\332\\222\\212(\\000\\305\\024Q@\\005\\035\\351;\\322\\320\\000}\\250\\244\\245\\240\\002\\223\\255.(\\305 \\001Gz;\\322g\\232`)\\024v\\245\\353Hx\\244\\002S%\\033\\220\\212\\177\\275!\\246\\007\\314_\\033\\264\\277\\262x\\237\\317Pq8\\311>\\342\\274\\322@s\\327\\212\\372\\007\\343\\366\\234\\036\\312\\332\\351I\\014\\256A\\372b\\274\\002c\\363u\\252\\216\\304=\\006\\0059\\355F\\336qOS\\300\\241\\261\\327\\265Z\\001\\024m<\\347\\024\\343\\350i\\201\\263\\326\\227\\202}\\251\\2007^\\235)\\210r\\307\\245\\005y\\317jk\\021\\234pi\\014\\233!\\220\\377\\000\\205W\\223#5a8^M@\\303q\\305 !8<\\232a>\\265!S\\357L\\332:\\346\\220\\0014\\334\\363\\332\\202:\\177Z\\017\\326\\201\\2079\\245\\3161\\236h\\3434\\234b\\200A\\322\\202=(\\315'C\\311\\342\\201\\2078\\243\\030\\305;\\365\\244\\004g\\324P\\001\\234\\323NA\\2470\\351\\334Rc\\332\\200\\017\\240\\346\\220\\361KA\\351\\236\\364\\010=\\306(\\372\\323GZq\\034P\\010o9\\353N\\024\\230\\245\\374\\271\\240c\\033#\\255?<v\\240\\214\\2321\\216\\264\\011\\207|\\321\\216\\000\\346\\224\\012\\017^(\\001\\353\\323\\232B3\\351I\\270c\\332\\224\\036\\231\\246\\003\\327\\265\\007\\007\\374)?\\235&{R\\001\\343\\035:Rq\\217A\\232C\\300\\036\\264\\243\\362\\240HLzR\\201\\336\\220}\\356iI\\357\\315\\003\\020\\361\\3238\\244\\034\\347\\255.r}\\351\\275)\\200\\354`\\344\\012F\\374\\250\\310#\\336\\232\\302\\220\\002\\201\\214w\\246\\036\\276\\264\\277\\326\\221\\250\\030\\303\\372Sz\\323\\317\\245 \\351@\\015\\035\\017z\\010\\245\\243\\024\\000\\334QC\\003\\353G"\\200\\002}\\350\\351F?:(\\000\\244\\245\\315"\\217Z\\0001KE&h\\000\\247\\240\\311\\246\\201\\232\\2258=(\\001\\304`sM=1\\315Hzs\\315DN\\017Z\\004H\\203\\265XL/\\326\\253'\\241\\253\\011\\203\\201\\232,"F\\347\\350*\\011[=*v<\\014\\232\\201\\271\\340\\032\\0061}\\372\\322\\343'\\271\\246\\367\\247\\256q\\307J\\001\\200\\367\\244\\003\\234~\\224\\360\\244\\363\\307\\341J\\027\\246i\\212\\343\\011\\353\\305(a\\264S\\266\\214P\\023\\234\\212\\0065NONiX}\\005\\030\\303S\\375\\350\\021\\036\\0168\\247\\216;\\321\\217J~3\\375i\\014\\215\\307~\\224\\302=jF9\\2462\\347\\245\\002\\032Nx\\347\\232:t\\244\\003\\034w\\240\\360\\240P1\\300\\343\\353I\\324\\236h\\007\\212?*\\000BiG=\\350'\\202\\015!>\\364\\000\\021\\214\\322\\201\\214S2sN\\007\\035z\\320\\003\\210\\347\\265(\\351\\232`<\\363\\220i\\303\\323\\275\\000)4\\334\\344\\322\\364\\364\\3154\\214\\342\\200\\0341\\351\\315!\\3104\\270\\300\\344\\212A\\214\\364\\315\\000\\004\\216)w\\374\\243\\326\\232\\313@\\3664\\000g\\216M\\031\\372\\003G=\\371\\244\\353\\236\\342\\200\\027$\\364\\240\\361\\212\\007Pho\\322\\200\\025M)\\344\\344\\323{\\3201\\232\\002\\302\\217JR;\\361L\\353N\\311\\343\\322\\200\\020\\214\\322\\364\\374i3\\336\\200{\\320\\002\\343\\237\\255\\031\\311\\245?\\210\\246\\363@\\305\\333\\306s@\\347\\024\\240\\320p{\\340\\320\\002\\203\\330R\\205\\244\\003=)C{\\346\\201\\016\\003'\\351\\326\\234\\270\\310\\024\\314w5"}\\341\\336\\230\\022\\247_Rk\\320\\276\\022\\333\\211\\265\\350K\\016\\206\\274\\372<\\226\\351\\316k\\327\\376\\005\\331y\\272\\263H\\303\\201M\\354OS\\350\\210\\027lJ=\\005KM^\\006)\\335\\353\\022\\302\\216\\324\\264R\\030\\016\\224\\023@\\346\\216\\364\\000P(4P\\001A\\344qH\\177Z\\005\\000-\\031\\305'4S\\001x\\245\\372S>\\264\\240\\320\\003\\273\\321IA\\240\\005\\243\\024\\224\\036zP\\001\\305&y\\244\\353K\\214\\012`<PN)\\001\\240\\363H\\0034b\\223\\024\\243\\2474\\200\\017\\024-\\006\\212\\0003Fi\\010\\245\\003\\212\\240\\000iO4\\230\\346\\227\\024\\200Ni{Rf\\201HAK\\336\\223\\245/Zc\\003E\\024w\\244\\001\\322\\212u7\\275\\0002\\224\\032V\\024\\230\\316i\\200\\354\\321\\232gJvx\\240\\005\\372QIN\\244\\002n\\245\\006\\223\\265(\\365\\246\\001\\232L\\322\\212N\\224\\200\\\\\\212QL\\245\\351L\\005'\\232N\\364\\247\\255% \\035HM\\035\\250\\240\\005\\024\\207\\255-!\\246\\002RR\\257Z\\\\Qp\\016\\224\\0120)@\\346\\200\\020\\322u\\351N4\\012@\\024QG\\326\\230\\011\\212\\\\\\346\\212(\\020\\231\\245\\244\\024\\352c\\0234QJx\\244\\0008\\240\\322R\\201@\\000\\353K\\232\\005\\024\\304\\0314\\275\\250\\034\\322\\221\\305\\003CS\\357S\\344\\007\\024\\330\\276\\365I'Oz@e\\352'\\011Qi\\347&\\247\\276]\\303\\025\\035\\234{(\\006_\\035)s\\315\\013\\310\\245\\024\\000\\032QA\\244\\024\\000\\246\\216\\324Q\\232`\\024\\242\\232)h\\001\\313A4\\203\\336\\227\\255 %\\213\\265M\\305E\\025KLA\\332\\220\\032:\\320i\\200\\206\\222\\227\\024\\321\\326\\225\\200v8\\252\\263\\365\\025h\\364\\252\\267\\035hcCS\\245?9\\024\\324\\031\\024\\270\\305H\\030\\272\\311\\034s\\336\\255\\351c\\367\\002\\250\\353<\\267\\322\\2644\\276-\\326\\232\\334\\031xt\\2454RS\\020\\264\\021E\\024\\300C\\221KIK@\\005\\024\\224\\264\\300\\0154\\323\\215!\\251\\003;V?\\350\\314s\\\\\\271\\356+\\246\\326\\016-Ms'\\251\\241\\003#9\\357HG\\345Jy$\\322\\036\\001\\246H\\306\\031\\241\\006dQ\\236\\246\\202rjH@\\363\\223\\216\\364\\206t\\363\\014Z\\250\\364\\002\\263$\\357ZW\\034@\\242\\263\\245\\350h)\\027lG\\356V\\256\\255S\\2618\\201j\\352\\016*\\204/ZC\\322\\224u\\240\\322\\001\\206\\230\\324\\346\\246\\260\\244\\300cTL}*CLaHe\\262is\\353Gz\\0175B\\003H\\015(\\243\\245 \\020\\232QGj\\001\\315\\000\\024R\\036\\264\\264\\016\\342\\012S\\322\\212B(\\013\\200\\342\\226\\223\\257J_Jb\\023\\255\\000R\\343\\362\\245\\315 \\001E!\\244_J\\000u!4\\270\\342\\216\\224\\000v\\244\\245\\315&h\\032\\026\\201I\\203GJ\\000\\\\QE\\024\\000PM!\\2434\\000f\\226\\223\\024\\275\\250\\020Q\\212:Q@\\010h\\035\\351\\015\\000P\\002\\232AN\\351I\\315\\000\\006\\201FE\\006\\213\\200\\036\\015\\024w\\243\\275\\003\\026\\220R\\321@\\011F\\005\\006\\226\\201\\011\\364\\244\\002\\214\\032\\005\\003\\014b\\224sJ=h4\\200)(\\3174\\034\\032`\\202\\214P8\\2434\\000\\032N\\264\\264\\236\\324\\000P8\\245\\243\\024\\0103E\\030\\246\\367\\366\\240c\\205)\\244\\351Fh\\006\\035}(\\240\\032;\\322\\000\\343\\024\\200\\363K\\305-1!{Sh4\\230\\346\\201\\212i\\005/zC@\\203\\275\\004Q\\232\\\\\\322\\013\\011@\\316)O4sL\\004\\351K@\\030\\241\\217\\034P0\\243\\024\\200\\366\\247P\\002Rf\\224\\363I@\\200\\321\\305)\\244\\024\\000t\\024\\207\\255)\\242\\220\\013Hz\\032L\\363Jh\\003\\210\\370\\255b\\227~\\026\\272,\\240\\224]\\302\\276S\\234m\\220\\2021\\203_g\\370\\206\\330]iW\\021\\343;\\220\\216k\\343\\375j\\327\\354\\367\\3271\\020F\\311\\012\\376F\\264\\211-jed\\360\\001\\245#=iX{\\032fy=j\\200w\\030\\307zS\\337\\332\\232:\\360)H?\\217z\\004!\\364\\346\\230F\\015.G sG|\\364\\240\\011P\\344c\\371\\324R\\021\\216\\377\\000Z\\225@e\\343\\255C"\\363\\203\\237\\306\\200!$\\201\\221Q\\363\\237J\\221\\275\\005E\\237J\\222\\203\\353@\\353\\317\\024u\\347\\240\\244\\316\\017Z\\000F\\030<p)\\312p)8=i\\016\\007\\255\\000/\\257\\006\\203\\371RR\\366\\036\\264\\014BG\\322\\221H\\307\\245)\\240\\001\\334\\320\\001\\214})N:\\322\\216)\\275O\\265\\000.0)\\016qFN=\\350\\3161@\\200-+\\016\\303<\\322\\014\\343\\024\\341\\200(\\001\\276\\336\\224\\255\\216\\302\\227\\214\\322t\\024\\014A\\307\\257\\024u\\024\\204\\234\\3474\\037N\\364\\010\\011\\353J>\\367\\2654\\012v{q@\\012\\303\\237zP\\274c\\245 \\245\\004\\323\\001G\\347\\217ZB8\\243=\\263I\\236qH\\005\\\\\\232Q\\2209\\240\\021\\351K\\234\\361\\315\\000\\013\\307\\247\\326\\227=3M\\007\\327\\245\\031\\031\\247a\\201?\\335\\244\\317\\035\\315)\\037Zn9\\244H\\345\\353\\315\\0161\\336\\200q\\365\\241\\216\\177\\032\\0067\\261\\246\\237CJ\\304\\347\\332\\224\\216\\236\\264\\000\\316\\3074\\214z\\320M7>\\330\\240b\\036\\276\\324\\264\\204f\\226\\200\\032y\\2444\\354b\\203@\\011\\216\\231\\2434g\\265&(\\001\\307\\332\\223\\241\\353Fh\\315\\000&\\177*p\\375i\\0061N^h\\002DL\\216\\0174\\345\\030&\\2261\\311\\317\\006\\236\\303$\\232b\\032\\307\\217\\361\\250\\010\\347\\234\\346\\2547J\\204\\342\\200\\0048<\\346\\247\\217=\\352\\260\\316jt8\\000\\365\\240\\011\\344\\373\\265\\013\\016\\001\\3479\\247\\343+\\352(\\000\\003\\237j`0/?Jx\\340\\201\\315 \\374)T}I\\244&9N=\\2055\\3629\\365\\247\\214\\014\\014\\012ks\\300\\024\\311\\021NO\\370\\323\\372g\\266i\\240\\016\\235\\015\\035\\361\\232C\\024\\214~4\\200\\216\\235\\251zph#\\221\\305\\003\\035\\374#\\216\\264\\320\\304\\236G\\002\\200pph#\\362\\372\\322\\030\\327=:SI'\\332\\234\\334g8\\346\\233\\365\\240\\006\\320\\307\\363\\247\\355\\346\\233\\305\\0000\\003\\327\\265;\\034\\372Pr\\017\\024\\0221@\\010\\334v4\\023\\353N4\\235\\371\\346\\200\\022\\220\\376\\264\\270\\3474\\275zP\\003sJI\\342\\214p}\\2510s@\\013\\371\\322\\203\\212E\\000\\232\\\\c\\257Z\\007a\\030\\223\\351H)_\\201\\333\\006\\214dt\\305\\002\\024\\361\\324\\322\\012\\011\\367\\353KL\\004\\007\\326\\220\\216\\364\\3428\\240\\372\\212@!\\340Rg=iq\\237\\245\\030\\246\\002\\017\\363\\212S\\372\\321\\237ZQ\\326\\220\\304\\007\\035i\\331\\342\\223\\037\\215\\000c\\330P+\\000\\031\\240\\216z~T\\023\\307\\370RP\\003\\200\\3174\\204m<R\\251 \\365\\241\\211'9\\240\\004\\034sI\\310\\315;\\2409\\246\\365<P\\003\\227\\247\\024\\240\\372\\367\\366\\246\\363O\\003p\\340P!W\\257$\\212\\225\\016\\323\\333\\024\\305\\340\\324\\261\\256\\340;\\323\\002\\305\\262\\206l\\267Oj\\372\\017\\3406\\237\\345\\331\\315r\\312y\\351\\370\\327\\200\\332#\\031Tz\\361_V|*\\323\\315\\217\\205mC\\256\\035\\3241\\037\\205)=\\004\\216\\320u\\247P(5\\221\\240\\240\\361I\\234\\232\\000\\343\\336\\226\\200\\012J\\011\\240S\\020R\\322R\\232\\006\\024\\002)\\015 \\240\\007g\\275%\\024\\235)\\200\\247\\232)1\\232v)0\\001@\\244\\024\\240\\320\\002\\236\\224\\224\\023@\\244\\000E\\024Q\\322\\230\\200\\320:R\\237j@=\\351\\0149\\2434b\\203@\\012:Px\\243\\265\\006\\230\\012(\\244\\305\\024\\000\\275h\\315&py\\242\\220\\010y4\\271\\342\\212_\\306\\200\\014\\2129\\240Rn\\246\\002\\321@\\346\\203\\322\\200\\012)>\\264\\264\\200(\\340QI\\364\\246\\000\\324\\332p\\351A\\002\\200\\000x\\245\\353I\\216(\\007\\024\\200\\\\P3KIL\\000\\0121\\232\\\\\\321@\\205\\305!\\243\\024\\204R\\030f\\222\\224sJ(\\001\\0074\\247\\201A\\315&}h\\000\\245\\035\\351\\007JZ`'\\275(4\\275\\251;\\320\\002\\321E4\\217z\\000Z\\017J;Q\\232`\\002\\214\\321KH@\\000\\305\\037J)\\001\\240\\020\\240P\\324f\\223\\2651\\202\\323\\251\\253JH\\240\\005\\024\\264\\224\\264\\010ZBi{SM \\034)OJL\\342\\234:P1"\\353O\\226\\221G4\\223\\036)\\201B\\364\\340S-\\033q\\247]\\000G4[\\000\\015\\000\\\\^\\224\\247\\006\\220R\\343\\232\\000L\\322\\322\\032Q@\\012zqIK\\326\\212\\000\\007JQI\\351J(\\0008\\357J)1\\336\\224qH\\011\\243\\251\\011\\305G\\025Jz\\323\\020Rf\\227\\2674\\323L\\0054\\321\\336\\202sH(\\030\\244\\361U\\247\\345\\252\\315W\\237\\357\\322`"\\232\\033\\245 \\245n\\224\\200\\300\\325\\317\\357:w\\255=8~\\341k/U9\\230}kZ\\304~\\345~\\224 e\\316\\324\\003IKLAFi\\015\\035)\\200\\264R\\023I\\232\\000q\\242\\201A\\240\\006\\236h"\\235M4\\001\\227\\255\\021\\366s\\\\\\333\\032\\350\\265\\323\\373\\212\\347\\0174\\201\\214oji\\3659\\245=y\\244>\\224\\304 \\344q\\214\\324\\226\\303\\375"1\\376\\3253\\030\\251,\\271\\274\\207\\375\\341@\\035\\035\\347\\021-f\\311\\367XV\\225\\361\\312/\\265fI\\320\\375)\\014\\323\\264\\037\\271O\\245Y\\025^\\333\\210\\227\\351V\\2051\\013\\332\\222\\227\\26578\\240b\\032\\215\\272\\324\\206\\24340\\030x\\2469\\340\\323\\3175\\033\\360*F\\\\\\247R\\012)\\2101\\305'zZJ\\006\\030\\247t\\244\\305 \\353L\\002\\226\\214QH@)\\015\\024\\264\\000\\203\\201KI\\232\\032\\200\\027\\255\\000\\322t\\242\\201\\213\\332\\220u\\342\\200s@\\034\\320!\\331\\244&\\227\\024\\204\\320\\000(\\037J;P:\\320\\001\\336\\214\\320hZ\\000?\\225\\030\\245\\244\\353@\\\\\\000\\243\\371R\\375h\\240\\004\\353Jz\\212)\\0074\\000\\242\\214\\320zRP\\002\\322\\177:\\005'9\\240\\007d\\321\\232CK@\\015\\307=\\251i)M\\000\\024Q\\232N\\375h\\030\\244~\\264P(\\024\\010_\\316\\222\\226\\212\\000J(\\2439\\240\\005\\024RQ\\232@\\035\\3504\\023HM\\003B\\344\\012>\\224\\204f\\224\\016)\\200Q\\214\\032\\017ZJ\\004)\\242\\212J\\000\\\\\\320\\005%(<P\\001@\\243\\255\\000\\3200\\305\\035\\251i\\011\\240\\004\\305)\\366\\240\\032(\\022\\023\\232(>\\364P1h"\\223"\\203\\300\\240@)GJA\\332\\235H\\000R\\023Gj1L\\0034\\224\\001K\\212\\002\\342b\\224QA\\240b\\032>\\264\\003\\315)\\240\\004\\245\\357IK@\\010i@\\241\\210\\002\\2239\\244\\002\\322u4R\\367\\240\\010nWtL\\247\\241\\025\\362\\247\\305\\013\\026\\263\\361E\\340\\013\\205f\\334>\\206\\276\\257~F+\\347o\\216vf\\015f\\031\\360v\\272\\221\\232\\250\\262Y\\344lqL\\352:T\\316\\27774\\316\\243\\003\\202+A\\021\\257\\015\\337\\024\\374\\035\\2714\\017\\257jRA\\343\\275 ##\\034\\216\\224\\247\\220\\011\\301\\030\\246\\266wu\\317\\364\\240\\221\\200:P\\004\\2216\\007\\037\\245$\\330\\007<\\347\\255,@o\\347#\\216\\324\\313\\203\\221\\351\\332\\200+1\\347'\\203L\\003\\271\\247\\036\\274\\366\\246\\036\\224\\206\\004g\\324S\\017^\\364\\357\\255!\\353\\355@\\306\\363J:\\367\\245\\305\\035\\205\\002\\025}iO\\326\\214q\\305'^\\264\\014J\\0009\\240\\036\\302\\224\\021\\307\\245\\002\\027 \\212j\\212w\\322\\232\\344g\\275\\000(\\030\\353\\212L\\216\\224\\204\\344{P\\007\\024\\300^\\202\\200z\\342\\223\\223@\\310\\372R\\004/\\257\\255\\031\\315 \\365\\245\\317\\250\\240bdQ\\217zN:\\322\\216h\\001{g\\255'\\322\\201\\367\\273\\323\\210\\3434\\000\\203\\362\\245n\\243\\275'C\\221E\\002\\027\\201\\327\\250\\244\\3522sIK\\216\\375\\350\\001\\300\\012\\000\\307JU\\351\\326\\201\\311\\353\\322\\201\\206;Q\\332\\206\\031\\351\\322\\201\\332\\230\\230\\336\\374\\323\\217\\006\\220\\236\\247\\034Q\\365\\315 \\000\\0162sJ~\\224\\200\\340g\\004\\321\\327\\351@\\010FzR\\023\\332\\235\\214Rc\\247\\031\\315\\0000\\3764\\336\\264\\366\\340zS1\\311\\346\\201\\215#\\007\\232Pr('\\236\\364\\207\\245\\000\\007\\255\\035h#\\232\\017\\024\\000\\224QG|P\\002w\\243\\337\\255.);\\346\\200\\034*T\\000S\\024S\\300\\240L\\221i\\343\\203\\317CM\\217\\362\\247\\261\\307\\024\\356!\\262\\036\\017\\275B}sR\\261\\250\\261\\232.0\\030\\317\\246jP\\011\\351Q\\2462\\007\\0252\\017Z.\\002\\201\\205\\346\\220.i\\344\\344\\236\\246\\220\\275\\000\\000c\\326\\235@ \\372\\376t\\230$\\363\\306(\\001\\335{\\212\\016\\005!\\031$zQ\\301\\343&\\201\\010:`w\\240\\015\\247\\232PBu\\344SN\\011\\030\\315\\002\\034y9"\\202\\274zR\\251\\000\\014\\323\\031\\207n\\224\\014P@9\\305(>\\342\\243\\344u46GJ\\006\\004\\374\\3304\\204`SU\\211\\357N=M \\023$\\016\\264\\200\\372\\323\\217<~t\\3229\\240\\003\\276O4u#\\212\\007\\024\\204s\\232\\000V\\357\\216\\264\\234\\320x\\243<q@\\012\\001a\\351IFqH}Oz\\000S\\311\\353@\\340\\343\\275\\003\\203\\317\\024\\207\\332\\200\\027\\216\\324\\023\\352i\\231#\\216E<\\216(\\013\\206x\\366\\243\\356\\373\\322.:\\232S\\337\\002\\200\\031\\334\\323\\207OJ\\000\\307\\343A\\367\\024\\300E\\316i\\314s\\322\\201\\201\\326\\227\\275 \\033\\234R\\251\\317\\267\\265!\\300\\245^h\\020\\274g\\351K\\323\\257z\\002\\234g\\203A#\\035\\350(L\\217zN\\376\\324\\245y\\317\\363\\245'\\003\\267\\322\\200\\020\\364\\315\\030\\246\\347\\236i\\375\\007\\024\\010h\\317o\\377\\000U;\\217\\255&9\\245n(\\001\\016Ny\\245P3\\310<\\322\\240\\374M!\\307\\255\\000?\\201\\326\\220\\037N\\224g\\216)@\\317\\276h\\001\\3123\\322\\254B2\\007\\256j\\005\\364\\253P\\001\\236z\\323&\\346\\357\\205,\\232\\373Y\\266\\267A\\226w\\025\\365\\356\\225n\\266\\2660B\\234\\004@+\\347/\\203\\272x\\270\\361\\034r\\343\\204\\035k\\351\\210\\300\\000\\012\\211\\215\\017'\\024u\\243\\255/\\025\\005\\207j\\005\\000z\\321@\\001\\024\\202\\226\\200)\\200Q\\305\\024\\224\\000\\270\\243\\030\\024\\200S\\261H\\006\\223K\\212\\010\\2434\\300\\\\R\\323E\\024\\000\\354\\322\\032);\\320\\000iiq\\305 \\244\\027\\024R\\023\\315-!4\\304\\003\\365\\240\\365\\244\\024P1s\\315\\037\\235 \\024\\244\\323\\000\\346\\212\\005\\035h\\000\\242\\227\\037\\235 \\353HB\\322\\322b\\216(\\030\\224\\352N\\264R\\000<}):\\322\\373Rb\\230\\016\\024Rg\\006\\202i\\000\\264\\012L\\346\\214\\363@\\007ZZ)\\007Z`(\\243\\035\\3504P!\\017\\326\\220\\012u%!\\212(\\374\\350\\242\\230\\200{Q\\212;Q\\365\\240a\\332\\214\\322\\343\\212LP\\002\\006\\346\\224\\034\\322b\\227\\212\\000ZB(\\3174\\271\\374\\350\\000\\024\\032;\\320Fh\\000\\006\\203H)\\0174\\000\\340h\\315\\002\\212`-%\\002\\216\\224\\200)i\\264\\2640\\026\\216\\264\\003\\232\\017\\024\\010\\005\\006\\212:\\320\\001\\2121@\\024\\264\\306\\003\\336\\226\\222\\212\\004/j(\\242\\220\\005H\\275*:X\\333\\006\\230\\023\\250\\250\\246\\251\\301\\342\\253O\\326\\201\\231\\227\\314A\\030\\251,\\316T\\032\\206\\371I`Gj\\232\\314a@\\240\\013\\242\\224\\322/"\\224\\320\\001@\\244\\245\\244\\014Rh\\0074\\204\\322\\216\\224\\300(\\351E\\024\\206.i{\\322\\012Q\\326\\201\\023G\\322\\244\\315G\\035K\\322\\232\\006%'Jwjm1\\010h\\305\\004\\363G\\343@\\011\\232\\2557\\337\\253$`UY\\217\\317I\\215\\012:\\012V8ZA\\332\\207\\350i\\001\\316\\352G7C\\236\\365\\263e\\304+X\\327\\3477K\\365\\255\\273A\\373\\245\\315\\010\\031d\\032\\\\\\323zR\\212\\241\\012h\\355HN:\\321\\234\\320\\002\\021J(4\\003@\\005.h"\\232h\\001i\\255N\\2444\\001\\215\\256\\237\\335\\012\\347\\217\\000\\365\\255\\375w\\356\\201X\\007\\223@\\306\\216x<SI\\247\\036=\\351\\204\\347\\361\\240\\221y56\\2343\\177\\017\\373\\325\\017E\\253\\032P\\037n\\214\\320\\006\\365\\367\\000Vs\\364\\255\\013\\376H\\252\\017\\317\\347H\\243R\\337\\375Z\\375*u\\250!?(\\372T\\342\\231(q\\246\\322\\346\\220\\372P1\\0175\\033qO\\306\\007Zk\\016(`DO\\245E'CR\\367\\250\\246\\037/\\025#\\261\\177\\245%)\\244\\246&\\002\\214\\340\\321F3@\\307b\\223\\240\\2438\\2444\\000\\247\\221\\357@\\244\\357E\\000-\\024\\231\\243\\024\\011\\000\\243<P(\\240`y4Q\\212\\005\\002\\003\\305(\\243\\251\\244\\240\\005\\372Q\\212C\\365\\245\\315\\003\\0123I\\311\\243\\024\\010^\\264\\270\\342\\222\\201\\315\\000%;\\245%\\035\\250\\001I\\244\\353E"\\223\\320\\3201M\\002\\226\\223\\276h\\020\\206\\227\\265-\\031\\346\\200\\012CKE\\000%\\024g\\232Z\\0001\\307jJZJ\\000JQE\\000\\320\\000=\\351h RP0\\240{P(\\350)\\010\\017\\245.1I\\2323Lb\\223I\\301\\365\\244\\002\\212\\004)\\024\\224\\352J\\006\\007\\245\\003\\245!\\240\\032\\000v)(\\243\\255\\002\\003\\232Jq\\2444\\000\\264Rw\\240\\232\\000\\005\\006\\223\\322\\212\\006\\024PE\\037\\235\\000- 4\\264P 4\\200R\\232L\\342\\201\\334\\\\Q\\212:Q\\221@\\203\\212L\\321\\336\\226\\200\\027\\265%\\007\\031\\243"\\220\\302\\226\\233Fy\\246!O\\024QI@\\005/jNs@\\342\\201\\205\\004w\\242\\203@\\007\\031\\243\\201@\\024\\032\\004- \\031\\245\\242\\201\\334B+\\307\\276=\\351\\346m*\\033\\205\\310\\362\\337\\223^\\303\\\\_\\305+\\017\\266\\370Z\\355B\\222B\\356\\343\\332\\205\\271-\\037)\\3100q\\216j\\002p}3V\\346V\\363X0\\301\\025]\\306z\\365\\025\\251#W\\257joV\\353R\\034\\216\\202\\230{\\364\\024\\200B2i\\241\\177\\012w^M78'\\236(\\030\\243\\357g\\222M6pr\\011\\352i\\312y\\246\\315\\222=(\\002\\007\\0038\\305D\\334\\034T\\255Q0\\344\\364\\305!\\211A\\036\\364\\207\\333\\245(\\307\\031\\240a\\336\\220\\366\\003\\002\\235\\320R\\022\\015\\000\\031\\317\\326\\216\\231\\244\\316(\\316zd\\320!G<\\3227\\341Fi\\275O\\265\\000;\\352\\010\\246\\365\\353\\322\\224\\236i\\007Nh\\000\\364\\243\\007\\275.)H\\307c\\212\\006 <\\012_\\316\\233\\236\\264\\032\\000Q\\333\\035\\350=q\\316(^94\\204\\361\\365\\240\\0058\\372\\322w\\240q\\212R8\\035(\\020c\\232q9\\034\\346\\232;sK\\234\\375E\\003\\0234\\243\\216\\275)z\\212oA@\\013\\307\\326\\235\\214\\364\\306i1\\214\\221\\322\\224t\\317\\024\\000\\016)\\337w\\277Zi?\\225&M\\001q\\331\\307_\\312\\233\\232\\017#\\216\\264\\237N\\264\\010\\177\\362\\247t\\353\\326\\232\\264\\204\\372\\032`\\003\\223\\305(\\034SNs\\3058t\\3118\\240\\000\\364&\\2309?\\312\\236H\\307=i\\235\\005 \\006\\340\\223\\326\\230y\\347\\2458\\323\\011\\031\\240a\\217zN\\264\\032L\\320\\000h\\310\\364\\241\\272f\\223\\265\\000/jh\\242\\226\\200\\014\\364\\247 \\311\\246}i\\350(\\002Lb\\2341\\353Gj\\000\\311\\240C\\307\\373=M)RA\\366\\244\\034u\\037\\235?<u\\240D-\\236\\374\\322c\\003\\255:F\\347\\030\\246\\036\\017\\322\\201\\212\\207\\361"\\247E\\311\\353\\315B\\276\\275jx\\316;\\214\\232hc\\212\\361\\232i\\306}\\005<\\261\\333\\200x4\\303\\232\\004"\\203\\222\\000\\2471\\357\\203H\\016z\\346\\216\\016:\\320!\\333\\263\\353\\365\\246\\223\\221\\326\\224\\015\\244R\\212\\000E\\030\\307z\\005/=\\210&\\2238\\240\\001\\217\\240\\031\\250\\373\\361\\353N=};\\3209\\317J\\000\\030\\363\\310\\344\\372S\\011=)\\314y\\3055\\272q\\326\\200\\032x\\034\\320X\\365\\245#\\035\\351q\\337\\024\\2561\\027\\214\\223I\\235\\324\\342@'\\270\\244\\034f\\200\\016\\224\\326'4\\244\\234\\322\\032\\000?\\316(=M\\007\\353G\\364\\240\\0038\\240w\\036\\264c#4s\\332\\200\\027\\261\\244\\003&\\2343\\370\\322-\\003\\014\\000)=\\351\\335\\377\\000\\255\\030\\035\\350\\020\\334q@\\353\\354i\\314pi\\264\\000\\356\\264\\326_\\314R\\367\\306hnh\\000^\\264\\247\\2555O4\\354\\362q\\307\\326\\200\\020\\367\\246\\203\\212q\\353\\355I\\203\\336\\230\\017\\015\\236\\234SOP)\\303\\267\\007\\212\\010\\347\\024\\200@M\\006\\216\\334sM?\\215\\000\\030\\310\\315;\\034R\\177J^{P\\002t\\2439\\024r\\033\\232^\\242\\230\\012\\016(\\007\\326\\220\\016\\347\\241\\247b\\220\\012?*\\007Q@\\035\\2004\\252\\016p:\\372\\320\\004\\261sWb\\033\\260\\000\\252\\260(\\334\\015i[\\355\\003\\247\\315L\\223\\327\\376\\005\\303\\233\\207b:7S^\\364\\243\\002\\274_\\340D#\\310w\\357\\311\\375k\\332T\\326r\\334\\2448Pi(\\353H\\244\\031\\342\\224\\034\\365\\246\\366\\247\\003\\305\\000\\035\\350\\245\\342\\233@\\012q@\\244\\352h\\240\\0054g\\034Swb\\227>\\264\\300^\\324RR\\322\\013\\215\\3174\\264\\264\\032\\004\\024\\243\\232J;\\3201O\\024\\202\\216\\242\\201\\305\\002\\012QIJ(\\000\\2434Q\\212\\006-4\\320iG=\\350\\000\\315\\024b\\201LA\\232(4R\\001h\\244\\240P\\002\\321KM4\\206/z)(\\035(\\001h\\244\\245\\357\\212b\\014P)M \\024\\000\\270\\031\\353E'JBi\\014SIK\\2121\\212b\\260Q\\2121J(\\030QE\\024\\304\\002\\216\\264b\\216\\224\\206\\000\\366\\240P(4\\200)1J)I\\3050\\023\\024\\203\\256)A\\244\\306M\\000\\031\\245\\315\\030\\240\\012\\000BiV\\222\\235\\332\\200\\022\\224u\\242\\222\\200\\027\\275\\035\\351\\0074\\264\\000\\204\\322\\375i1K\\212\\004\\024w\\346\\214\\364\\243\\024\\0143K\\322\\233\\212\\\\\\320!\\335\\251\\007\\024\\016(\\357L\\005\\024R\\016)h\\000\\245\\244\\2434\\000\\264\\017\\275I\\232QH\\013\\012x\\250\\245\\306i\\312\\330\\025\\024\\214\\011\\242\\343!x\\303u\\024\\210\\233jR\\302\\220\\021E\\300p4\\264\\314\\212PE \\024\\212QI\\270Q\\232`(\\024\\037JL\\322\\203\\232.\\002\\322\\375i21@ \\322\\001E(\\246\\012p4\\320\\026#\\351R\\023Q\\305\\322\\237M\\010(\\242\\212\\000f9\\245\\240\\321\\332\\200\\022\\252J?yV\\210\\252\\316~zLc\\200\\357M\\223\\356\\232x\\351L\\227\\356\\232\\000\\347.\\2017\\243\\353[\\366\\377\\000\\352\\324V\\005\\311\\377\\000N^\\274\\032\\350 \\373\\242\\210\\203\\334\\224\\234b\\224\\036)\\010\\245\\003\\212\\241\\011\\214\\365\\245\\305-\\034P\\002QE\\006\\200\\027\\265\\035\\251\\264P\\001\\320\\320\\307\\212\\015#P3\\017_?w\\025\\202\\336\\325\\267\\256s \\254V\\034\\365\\244\\201\\214?\\245!\\034zR\\234\\032Bx\\346\\231"\\016\\234\\325\\275 \\037\\267\\240\\372\\325<\\212\\320\\321\\2007\\200\\217J\\000\\324\\277?0\\252'\\357~5z\\373\\227\\252'\\357\\247\\324R(\\326\\207\\356\\212\\260*\\030\\307\\002\\245\\006\\230\\207b\\232M-0\\365\\240\\0034\\306\\364\\247\\324m\\326\\223\\030\\323P\\314~SR\\223P\\315\\367M 4\\015\\024QLBw\\245\\242\\222\\200\\026\\212L\\346\\200h\\001i(4\\012\\0001\\203@\\240\\321\\322\\200\\012)h\\315\\000\\024\\231\\245\\242\\200\\012L\\321@\\353@\\001\\240b\\221\\250\\024\\3068\\032))i\\010C@\\245\\305\\024\\000u\\242\\212J\\000Z)0i@\\240\\002\\201E\\000P\\001@\\024f\\200i\\200\\023E0\\236i\\300f\\220\\300qJy\\240\\321\\234P\\001\\322\\212:\\321\\212@\\006\\221y4\\246\\201\\353LB\\232\\011\\307z\\015!\\240\\0034\\275i(\\240\\002\\214sK\\332\\222\\201\\241{Rb\\216\\224\\264\\010C@<QF(\\030c4\\235\\015-\\024\\000\\231\\247f\\214\\012i\\024\\010Z(\\024P\\001GZ;Q\\214P\\001\\332\\212)(\\000\\242\\227\\245\\035\\250\\030b\\226\\222\\227\\245\\002\\022\\220\\212\\013R\\375h\\000\\035(\\244?- \\346\\201\\213KH:\\322\\232\\0001Hi{R`\\320 \\366\\243\\353K\\212J\\000Z))h\\000\\024\\231\\242\\226\\200\\012(\\244\\240\\000\\037J3F)q@\\011E.(\\3074\\014CT5\\233qs\\247O\\023te#\\364\\253\\370\\246J7!\\036\\264\\204\\321\\361\\276\\275jmuk\\270pB\\254\\204\\017\\245d>=\\370\\351]\\367\\305\\313\\021g\\342\\231\\360\\245VO\\230W\\006\\330\\003\\277\\025\\252z\\020\\210\\217'\\236\\246\\232\\303'\\216\\230\\245''\\265#\\034\\221\\232h\\006\\223\\201\\306i\\256\\207\\212qa\\3074\\247\\236r(\\0020N}\\007jt\\207\\353J0X\\021K \\340\\344\\3202\\263\\367\\250\\233 \\343\\214S\\337\\031\\246\\234{\\202jF\\2048\\355\\332\\232x\\353JO~i\\274\\234\\236\\324\\0149\\243\\247\\326\\202rh<\\212\\000C\\223@\\351F>\\224\\001\\357@\\201\\275\\216qH\\007=\\2158\\364\\244\\0359\\240bc\\024\\276\\235\\251z\\236\\324\\231\\3439\\240\\000\\2223\\353Fs\\353I\\234\\232Ps\\332\\200\\024{P}\\250\\007\\030\\342\\232M\\000\\031\\374)Tz\\342\\223<\\366\\245\\002\\201\\013\\212o9\\247\\036\\005\\035}h\\030\\036\\203\\326\\220\\037\\363\\351J\\001\\243\\372P\\001\\374\\351x\\343=\\251\\271\\367\\245\\007\\203\\353@\\013\\326\\203\\222{SA\\006\\221\\217\\322\\200\\036\\331\\307jU\\306\\006i\\213\\311\\315?\\323\\332\\230\\203\\035=)1\\316@\\247v\\244&\\220\\010s\\214\\012N\\206\\226\\200zq@\\013\\327\\270\\240\\223\\353\\201@\\342\\206\\311\\343\\214\\320\\001\\334\\032i\\344\\321\\316=\\251X\\036\\247\\037J\\000i\\351\\326\\231\\324\\377\\000Jvp:\\323q\\353@\\301\\2068\\31574\\354\\022\\017Ji\\030\\240\\004?\\245\\030\\3434\\264\\207\\212\\000\\010\\305%\\024\\356>\\264\\000\\203\\035\\351\\353\\307Jh\\034\\323\\311\\355\\326\\200\\027\\357\\177\\365\\351\\340\\340T`\\376t\\354~F\\201\\022\\223\\371\\321\\236:\\324c\\337\\223@84\\300v>\\231\\244\\353GR9\\247\\014s\\232@"\\212\\2365\\347=\\005C\\323\\201\\315H\\235)\\200\\363\\330R\\361\\203I\\310\\347\\265!9\\364\\305\\002\\015\\270\\035\\015\\005p;\\346\\235\\307LR7\\2674\\010\\027\\203\\327\\201JNzf\\232\\243\\324\\032x\\373\\274\\320\\004d\\363\\203J{q\\203N s\\307\\006\\223\\257\\326\\201\\214'\\326\\227"\\203\\2001I\\323\\031"\\200\\032\\335h\\307\\034\\365\\245a\\337\\250\\246g\\232@<qHpNF@\\245>\\375i\\255\\317\\245\\003\\003\\372Ss\\223N\\307\\313\\326\\231\\212\\0003\\223\\310\\300\\240\\2168\\245\\034sA\\351@\\010\\007\\251\\247\\034~\\024\\336{\\365\\240\\265\\000 \\3434\\240\\343\\2774\\322~\\264\\3403\\327\\2450\\027v}\\251A\\300\\244=h\\035F\\1771H\\000\\234\\375iG\\326\\224rzQ\\217n}\\250\\001\\243\\216\\015/\\260\\305\\00394\\001\\305\\000!\\034\\361\\212PF:\\321\\214\\237jg\\322\\201\\216\\035y\\247w\\246/4\\341\\317\\255\\002\\0021M9\\3654\\342s\\326\\223\\365\\024\\356\\003\\225s\\221H\\017#\\265\\007\\221@\\372\\322\\001[\\333\\212i\\247p\\0054\\214\\236\\324\\000u\\343\\024\\342x\\034~\\264\\321\\305)\\354:\\320\\000\\006y4\\237ZQ\\237\\361\\2448\\317\\255\\000<\\034\\375(\\007\\214S\\027\\034\\361N\\024\\000\\0168\\247\\016)\\000\\301#\\203J\\243\\236h\\002\\314Cq\\033j\\352\\022\\000>\\234Uke\\343\\22285lr\\25289\\246I\\364\\037\\300\\233r\\272?\\232G\\004\\037\\347^\\264\\225\\301|\\037\\265\\026\\376\\026\\2678\\000\\221\\315w\\313Y\\262\\320\\264\\204\\321HFi\\000dR\\322t\\2434\\000\\264\\023E-\\003\\001IFiM0`\\007\\024\\204\\322\\321\\216h\\020\\224R\\321\\365\\240\\003\\265%\\035ih\\030\\224\\264f\\216\\364\\000Ph\\242\\220\\000\\240\\322f\\235\\332\\200\\022\\224\\034SsK\\315\\000)4Ru\\245\\351@\\006M\\024\\231\\035\\350\\240\\005\\243\\024\\016ih\\000\\240Q@\\342\\220\\007\\353E&h4\\300\\017ZZN\\334\\364\\240\\344P\\002\\320)\\007\\275\\024\\000\\275\\351G\\024\\203\\212\\015\\000#\\032@\\005.3F)\\000g\\024g\\232?\\225\\025@8\\322Q\\332\\224t\\244!\\015\\035\\2504-\\003\\003J(\\244\\024\\000\\264\\243\\326\\220\\2323H\\005\\315!\\240Q@\\011\\217J;\\322\\201\\305\\024\\300(\\240QE\\200Jp<SiF\\005 \\026\\217jC@\\240\\005\\244\\240\\375i=\\250\\001\\300\\321\\234RQL\\005\\353A\\240t\\240\\364\\240\\000R\\036\\264\\242\\212\\004-\\002\\212QL\\002\\212(\\240\\002\\212\\015\\035\\250\\000\\357K\\212nh'4\\200Rx\\246\\025$\\361N\\351S \\024\\354\\005vCP\\222E_\\220\\014U)@\\004\\322c!2\\374\\337\\215H\\034\\343\\255S?\\353\\015Y^\\224\\206;\\177zw\\231\\212\\214\\376T\\302(\\0217\\233K\\346\\201\\336\\252\\266i\\204\\232\\000\\270e\\007\\2758L=k<\\271\\025Z\\346\\340\\307\\031#\\265&\\3544\\215\\2210\\317Zz\\310\\011\\256~\\312\\354\\312z\\346\\264\\343bH\\241;\\215\\2330\\266@\\251\\215V\\266\\037(\\253"\\255\\022\\0314\\032)\\015\\002\\023\\255&(4S\\000=*\\253\\177\\254\\253-\\322\\253\\037\\277I\\214r\\323'?!\\251*+\\203\\210\\315!\\234\\354\\2437\\337\\215t0\\375\\301\\\\\\360\\346\\370}k\\242\\213\\356\\212\\020\\231(\\351E \\353Jj\\204-4\\362h\\245\\240\\002\\212)3@\\000\\240\\232("\\201\\2055\\215-#\\012\\004s\\332\\341\\375\\350\\025\\216\\306\\265u\\276g5\\225\\2169\\244\\201\\214\\306i\\0158sLozd\\2068\\342\\264t2M\\351\\366Z\\316>\\325\\243\\240|\\327o\\354\\264\\200\\321\\276\\377\\000[\\236\\325L\\014\\310\\277Z\\267y\\314\\206\\252'\\372\\324\\036\\364\\026lG\\322\\245\\025\\024u0\\246!z\\323\\033\\332\\237M4\\000\\303Q\\265Hi\\215@\\014#\\275App\\246\\247n\\225^\\177\\272jFiRR\\372\\322\\016j\\204\\024\\032(\\034\\322\\260\\005&iM%\\003\\026\\222\\224r)\\010\\246!h\\242\\224R\\000\\240\\212A\\326\\226\\200\\012JZC\\322\\200\\012:QA\\240aGJ\\007J1\\332\\230\\007J(\\003\\326\\216\\364\\204-\\024Q\\332\\200\\001\\203F(\\003\\232\\015\\000\\035\\3504RP\\002\\320(\\240u\\240\\005"\\220\\214\\0123\\357E\\0006\\234\\005!\\024\\242\\200\\016\\364\\244f\\220\\364\\315(\\240czR\\322f\\216\\364\\010Z)i\\010\\240\\002\\212(\\240aKIGsH\\005\\244\\357KI\\322\\230\\2054\\200\\321\\2323@\\0074\\014\\321Fh\\035\\300QF)(\\001\\302\\222\\226\\214\\320 \\024\\032)\\011\\305\\000!\\245\\355A\\342\\214\\320\\002\\021F(\\024\\264\\000\\224\\012\\015\\035\\215 \\027\\265&iE\\003\\024\\306%\\002\\226\\203\\355@\\001\\244\\024\\264P\\027\\014\\321M>\\224\\243\\245\\002\\024R\\323E-\\003\\014\\321@\\242\\201\\010G4\\242\\220\\321\\336\\200\\012(\\243\\232\\006\\030\\243\\332\\226\\216\\324\\010)\\011\\305\\024\\012\\000ZL\\321A\\024\\000})\\033\\245/JCHg\\200\\374|\\265\\362\\365\\033i\\3008u \\375k\\307\\245\\033r3\\232\\372\\013\\343\\315\\230\\223K\\202}\\273\\2666\\001\\364\\315|\\375*\\343\\257&\\264Fv\\324\\255\\337\\241\\372\\322\\036x4\\376\\234\\016\\324\\322@\\034S\\001\\205y\\307j\\\\\\340\\016)7\\0169\\244\\007\\327\\240\\240c\\324\\204\\364\\315+\\034\\214\\223\\307\\322\\233\\203\\234\\014S\\227\\216\\017\\024\\001U\\316s\\201Q\\347\\000\\236\\365$\\200\\3569\\3075\\021\\000\\003\\315\\003\\020\\364\\353\\322\\2238\\036\\224s\\232Rr:qHcH\\317Z\\\\\\373\\321\\212L~t\\000\\271\\343\\371\\322\\344t\\246\\020=\\350\\317'\\212\\000\\032\\200{\\032_\\303\\232;\\320 \\353\\370R\\023\\363sF?\\012C\\216\\270\\240c\\2704c\\320S\\000\\247\\202\\0068\\240\\004\\240u\\240\\237JNh\\001OoZ\\003z\\363I\\337\\275\\007\\216{\\320$/^iy\\024\\201\\272\\320\\010\\240c\\203u\\315\\004\\346\\233\\327\\255/j\\000\\010\\307\\266h\\347\\030\\342\\202y\\342\\214\\342\\200\\023\\034\\364\\342\\224\\3434q\\326\\216\\336\\224\\010A\\307biW\\357\\017\\345G\\257jQ\\310\\367\\246\\003\\263\\355H~Z:})\\255\\317\\035M \\0360i0\\006\\017\\024\\203#\\332\\227\\266)\\200\\274w\\315\\003\\000\\322g\\360\\247s\\216E\\0007'4\\254x\\372\\322r)[\\221@\\015\\315F\\334t\\357O\\316\\005&\\332C\\0303\\236\\015!\\317Zq\\030>\\324\\207\\257\\265\\0006\\222\\237\\365\\244\\376T\\000\\231\\247}hQN+\\212\\000U\\031\\366\\240\\216z\\323\\3438\\036\\324\\217\\2023\\336\\201\\\\gZ\\001\\343\\275\\007\\221@\\353@\\016\\037\\2258\\3434\\213\\216\\374R\\3478\\351\\370S\\001\\011\\350)W\\257'\\024\\322;\\2123\\371\\322\\035\\307\\367\\376u2\\2369\\343\\332\\243\\\\m\\315<\\340t8\\246!s\\3074n\\344t4\\336A\\344\\322\\343\\351@\\207u\\357R\\355\\340m\\250G<\\023FH<~\\024\\300{\\001H\\010\\367\\244b\\010\\367\\243\\371\\322\\001[\\221\\364\\244\\030\\007\\236\\246\\203\\362\\217JA\\311\\240B\\270\\316x\\2461\\300\\034T\\337tsP\\260\\347\\255\\003\\033\\234\\016\\364(\\365\\245\\307\\255\\013\\307L\\320\\306)\\340s\\322\\203\\222;R7=M&;d\\322\\001\\000\\311\\3434\\2079\\247\\016\\001\\300\\3055\\2169\\246\\002g\\234\\3664\\255\\201\\216A>\\324\\321Jy\\366\\240\\003?\\2557\\0314\\275i\\330\\003\\0074\\000\\234c\\024\\234\\203J\\303\\223\\351N\\037\\245\\000'S\\203\\371\\321\\323\\361\\240c\\361\\244a\\317\\024\\000\\002W4\\345\\351\\336\\232\\001\\342\\225\\206;\\361H\\005\\030\\344\\344\\365\\244\\317&\\220c\\350iq\\326\\201\\334\\\\\\342\\233\\327\\236\\224\\3409\\353A\\003\\034w\\240\\0044\\203"\\227\\036\\277\\205\\024\\010C\\327\\265;\\214z\\375( \\020)\\017\\265\\000(\\317\\322\\223\\2418\\240\\232U\\346\\200\\0323O\\301#\\232LR\\206\\343\\030\\240\\000\\017\\312\\222\\220\\223\\234\\320:s\\336\\200\\014\\363\\232B9\\247t\\351H\\276\\203\\232\\000U\\343\\360\\245^wc\\212i\\031=iT\\343\\212\\000S\\221\\212\\222>\\275?:h=zf\\237\\031\\007\\332\\200,\\307\\316:\\326\\236\\236\\246I\\242P\\243\\357\\001\\212\\315\\204\\363\\315t\\036\\024\\205'\\326\\355b\\034\\374\\340\\232h\\226}M\\340kO\\261\\370r\\316>>\\340?\\230\\256\\210p*\\216\\222\\202+\\010\\020\\014\\000\\240U\\352\\317\\251k`\\007\\232ZJ\\\\\\322\\030\\021H8\\024\\264\\016s@\\000\\353KI\\212(\\020\\016h\\305\\024\\012\\006\\000\\342\\206\\242\\201@\\000\\006\\214Q\\232\\005\\000\\002\\224\\323i\\302\\200\\022\\227\\275\\031\\242\\200\\020\\237J\\006iqI@\\205\\305!\\245\\024\\021@\\015\\003\\024\\341E\\035(\\030t4\\264\\231\\240\\232\\000\\000\\3474\\244qM\\315;4\\000f\\200i\\015-\\000/ZN\\224f\\223\\031\\242\\300(\\245\\355M\\007\\232u\\026\\001\\015-&\\005/\\343@1\\015(\\244&\\222\\220\\016\\244\\245\\024u\\246\\000)3GAF(\\001zQ\\357I\\315(\\353\\3154\\001\\234R\\016M/zZ@!\\240Q\\324\\320i\\000f\\224\\322\\001\\221J(\\001\\275\\350\\024\\264S\\001G\\322\\216\\224\\012)\\000\\271\\246\\236ii\\017\\024\\320\\000\\351K\\326\\220t\\245\\240\\003\\212\\007ZJ\\\\\\322\\001z\\322R\\361IL\\002\\224\\012nh\\006\\213\\010v)(\\315)\\240aKHO\\024\\235\\250\\001h4\\2034\\270\\246 \\024\\264\\001E\\000\\004\\023@\\351E'\\322\\201\\216\\244\\317jZ@s@\\013@\\242\\214\\320 \\357R\\240\\250sS'AB\\001_\\201T\\245\\350j\\334\\235\\015T~\\206\\2062\\210\\037\\274\\317\\275Z\\034\\001\\326\\253\\214\\357\\253\\003\\245+\\000\\230\\342\\220\\323\\351\\000\\240\\010\\366\\346\\220\\245KI\\212,"\\263\\247\\245gj*|\\226\\025\\260V\\263\\2654\\375\\331\\250\\222\\320\\244\\312\\032:s\\354+z\\005\\005\\205ei\\211\\351[V\\351\\310\\242\\013A6i\\3000\\242\\245\\250\\243\\351R`\\326\\226\\020\\352CGjC\\310\\2461(\\243\\275/ZB\\032\\335*\\256~j\\262\\375\\015V\\037z\\220\\311\\005Cr\\177v\\337J\\233\\265V\\273o\\335\\232\\001\\030Q\\034\\337~5\\320\\307\\367\\005s\\326\\3037\\265\\321F8\\002\\232\\007\\270\\374\\361\\315\\000\\346\\214P\\0051\\013I\\232ZC@\\001\\242\\212\\005\\000\\030\\243\\024\\032J\\000)\\030\\323\\251\\216h\\031\\315kM\\233\\232\\313j\\322\\325\\371\\2725\\234z\\372P\\211cwc\\035*7$\\375)\\304PH\\240B\\014\\343\\006\\265<<?{!\\357\\214Vfx\\255\\177\\017\\2144\\204w\\240e\\213\\263\\373\\323\\353U\\242\\037\\277\\\\\\372\\325\\213\\257\\365\\255P\\303\\203p\\243\\275"\\215T\\251GJ\\206:\\231i\\222\\034\\322\\032V\\351M\\305\\003\\020\\323\\030u\\247\\232\\211\\315 \\020\\325k\\257\\273\\305Nj\\265\\317\\335\\346\\220\\315B(\\2454\\332hB\\346\\201E'\\031\\240\\005\\240\\321\\232i<\\323\\001\\324QE\\000!\\245\\355E% \\035E7\\371\\321\\212\\000u%\\002\\212\\000SM\\034\\363A\\346\\224\\012\\006\\024Pi1\\357@\\207QIH\\264\\000\\264\\036h\\245\\305\\000\\035(4\\233\\271\\2454\\000\\202\\203E-\\000\\002\\212;R\\003@\\001\\243\\265-\\024\\000\\224\\340))(\\000\\357N\\024\\230\\315\\024\\0140\\011\\244<Q\\234R\\365\\240\\000Pi)h\\000\\007\\353HE.h4\\000Ph\\007\\212\\010\\346\\201\\000\\244jq8\\024R\\001\\243\\221K\\212ZL\\320\\002b\\224\\322t\\245\\353L\\004\\245\\305\\002\\226\\200\\020\\012\\015\\006\\201@\\013I\\336\\227\\024\\3200h\\032\\024\\321E\\024\\0100E\\006\\202M\\031\\244\\001\\326\\224\\364\\244\\240\\323\\030\\224R\\342\\202(\\004\\003\\245\\024w\\240\\322\\001)h\\024\\023\\332\\230\\204\\245\\242\\220u\\240\\005>\\224\\206\\224\\322P0\\245\\242\\212\\004%-\\035\\375\\350\\002\\220\\006(\\245\\244\\240\\004\\316(<\\320E\\024\\300\\007J\\015\\024\\275\\250\\001\\271\\245\\006\\214Q@\\005\\006\\226\\222\\2008/\\214\\026\\177i\\360\\225\\323\\014\\346<?\\344y\\257\\230%\\217\\234\\347\\212\\373\\007\\3066k{\\240]\\302\\371!\\243?\\312\\276E\\277C\\024\\256\\205J\\354$\\021\\370\\325\\300\\231hg\\3103\\320\\324\\177\\305\\203\\315M!\\300\\004u\\250X\\373\\363T!\\257\\216\\236\\324\\301\\307\\024\\3421\\234\\367\\246\\344\\016\\204P\\003\\325\\273\\036i\\353\\214T\\000\\200qR\\241\\317bi\\001\\024\\303\\232\\254\\344\\373U\\211\\306\\017\\031\\025Y\\271\\372\\3200\\316s@\\306)\\0174g\\326\\220\\320\\275r)\\270\\305\\003\\217\\245\\004\\367\\034P1r0i\\243\\256h8\\374iW\\036\\324\\000\\234\\367\\355@\\344zS\\210\\006\\232zv\\240A\\237z\\0074\\242\\203\\301\\240bc\\275\\007\\247\\275-7\\234\\346\\201\\000\\353\\300\\240\\220)\\330\\366\\2448\\305\\003\\012^\\335)\\000\\364\\247\\0221@\\011\\216=)\\247\\217\\245;\\265\\004P\\000?\\012:\\323zS\\205\\002\\025A\\317QC\\020M\\031\\346\\221\\216~\\264\\0143\\317Z:\\372R\\001N\\366\\240B\\036z\\323\\224\\340Ru<\\320A=\\370\\240c\\211\\317\\245 \\347\\256\\005\\000Q\\333\\035\\350\\020\\036\\005\\003\\201\\353HN:\\344\\321\\324S\\001F:\\323\\211\\342\\230iFH\\244\\000O\\322\\214w\\346\\2028\\244?Z`/\\006\\220\\2361J:SO_\\245\\0004\\236\\264\\207\\245/_CH\\335)\\000\\323Fx\\305;\\2557\\024\\014\\221\\016\\015X*\\0175QN*x\\234\\221\\203\\322\\232\\023\\034G>\\224\\2141S+\\014\\340\\363\\232VL\\214\\320"\\247'\\326\\227\\034v\\251\\204|\\361\\336\\221\\227\\260\\342\\201\\220\\212P\\177\\012w\\226W\\223I\\217\\255\\000(\\307\\2454\\214\\236)~\\264\\230\\347\\212\\020\\022\\016\\234`S\\211\\300\\306:\\324@\\202z\\324\\200s\\236\\224\\000\\271\\332)A\\3161\\3054\\362)\\240\\340R\\002C\\327\\212\\016q\\214\\346\\232\\275:\\320O\\031\\374)\\200\\340\\331\\316{\\321\\273\\346\\366\\250\\377\\000Zr\\364\\240V%-\\333\\212j\\260\\037\\326\\243\\335\\316F)\\013z`P\\026&'\\345\\357Hzs\\370\\323\\001\\364\\247\\000M\\003\\003\\317\\024\\247\\245\\035\\011'4\\036\\231\\346\\201\\014n\\007=i\\001\\347\\255)\\344\\363H\\275y\\351@\\012\\335s\\232a8\\247\\023\\323\\326\\221\\207\\024\\2064{\\346\\224\\361H\\274})I\\344\\361@\\006=)OC\\351@9\\342\\202Fz\\032\\0003\\236\\270\\315'N\\270\\240q\\332\\220\\202h\\001\\335\\351z\\216\\224\\325\\3434\\021\\217\\245\\003\\024\\364\\246\\375\\343N>\\274\\342\\223\\236\\242\\201\\013\\214w\\245\\317J\\\\\\014S\\017\\326\\230\\012N:\\322\\023I\\337\\232^\\244\\320\\002\\216\\224\\270\\357\\322\\220\\017\\245\\004\\362A\\24413\\203\\357N\\310<\\346\\232?*?#@\\207\\023\\236:SW<\\342\\216\\207\\214Q\\203\\232\\000vi:\\036(#\\247\\255\\012=E\\000\\036\\234Q\\300\\003&\\227\\200}\\251\\0174\\300\\010\\343\\336\\234\\2434\\321\\370\\322\\377\\000:\\000RE7u+d\\212N}h\\001\\300T\\252\\002\\257Z\\215}\\361O_N\\324\\200\\236\\022Kq\\236+\\267\\370ko\\347\\370\\226\\334`\\034r\\015q\\021|\\244\\017z\\364\\237\\204qn\\327\\3438\\344b\\232\\023>\\234\\264\\\\@\\203\\332\\254\\012\\206\\016"P*QY\\026\\205\\244\\035)i:\\321p\\003\\355J\\006>\\264\\202\\226\\200\\003E&iE\\000\\204\\344P\\005)\\031\\243\\245\\000(\\024\\230\\242\\212@\\006\\221z\\322\\347\\234Q@\\005\\002\\202h\\036\\264\\356\\002\\234Q\\232i\\245\\007\\024\\304/\\326\\220\\321\\236h\\352(\\030\\243\\255)\\246\\3644\\240\\322\\260XB})h\\346\\227\\255\\002\\033\\212)M&(\\030\\270\\243\\265\\003\\201Fh\\000\\242\\226\\223\\024\\000R\\323E-\\000\\004Q\\234R\\321\\216(\\001\\011\\243&\\226\\212@!\\342\\212L\\344\\323\\2050\\000=h\\315\\024\\224\\000\\244\\320(\\307\\030\\242\\200\\000i{R\\001K@\\011\\320R\\347\\002\\212(\\001\\007Zq\\244\\2434\\200(\\242\\205\\240\\030\\0321K\\212O\\2451\\013\\322\\223\\024g\\2323@\\300\\014\\032\\015(\\2444\\000\\003KH\\007\\347E\\000-(\\034SsJ\\015 \\020\\346\\201\\357N\\315%0\\012J\\015\\024\\300\\005/jZ?\\032@&(\\240\\232\\015\\000(\\245\\246\\201KLB\\346\\203I\\336\\227\\212@%.)1J:S\\001{\\321I\\2323@\\005\\006\\226\\220\\365\\240\\004^\\265a:Uo\\342\\253)\\322\\230\\011'J\\247/J\\265/J\\251/CI\\215\\025\\0072b\\254\\216\\225Z?\\275VS\\245 \\024\\016y\\243\\255.)\\0150\\022\\212u\\030\\366\\240Cq\\305P\\324\\306c\\255\\034dV~\\243\\215\\203\\336\\246[\\015\\011\\246\\307\\362V\\264+\\203Tt\\261\\230\\305iF0hKA\\026\\223\\245:\\232\\234\\012w5H\\002\\220\\366\\245\\2444\\306'Z3E.)\\010c\\3645UO\\315V\\244\\373\\246\\253\\001\\363R\\030\\374Uk\\337\\365MV\\273U[\\323\\373\\246\\240f\\035\\220&\\360\\232\\350\\227\\245`\\351\\374\\335\\021\\357[\\351\\322\\232\\023\\034)qI\\332\\203LB\\320y\\244\\024f\\200\\022\\222\\235Hh\\001O8\\244\\2434P\\001M~\\231\\247f\\230\\374\\203Hg/\\253\\034\\335\\036*\\203~\\265wQ\\377\\000\\217\\227\\351\\301\\252\\015\\326\\232\\330LF\\347\\214\\323q\\337\\255('\\362\\244'\\232\\011\\006\\351[\\036\\036?,\\247\\035\\353\\034\\364\\255\\257\\017\\017\\334\\312}M\\003D\\227\\034\\273}j\\033q\\376\\224\\247\\320T\\227\\007\\347o\\2552\\317\\233\\254v\\002\\244\\246j\\240\\365\\251ED\\231\\251@\\252\\270\\200\\364\\246\\223N<\\323\\010\\240\\006\\223Ln\\274\\323\\310\\246\\265&\\003Z\\251\\335\\364\\253d\\212\\251w\\323\\025#5\\273Si\\306\\233T\\002\\3434\\235(4S\\020\\240PE'j(\\001h\\007\\265%\\000\\363@\\305\\355GZ\\015'zB\\003J\\264Q@\\007zL\\363JM \\240\\005\\2434Rw\\240b\\365\\244\\376T\\275\\351(\\020\\264Q\\324Rf\\200\\026\\214\\320\\015\\024\\015\\006)G\\024\\012?:\\000CA\\2434\\264\\010\\005\\007\\024\\224u\\240\\005\\242\\212(\\0004\\001E\\000\\320\\001\\232JZ(\\030\\204s\\232^\\324\\235\\351{\\363H\\004\\247qM<\\321@\\013Hy\\245\\352)\\017J\\004\\024\\037j\\007J1L\\002\\226\\223\\353A\\240\\000Q\\327\\245\\024\\264\\014):QE\\002\\024z\\322\\323@\\245\\240\\002\\216\\224\\032:P\\001\\234P(4\\224\\014v8\\244\\244\\245\\240AGJJZ\\000JQK\\216)\\007\\024\\014\\011\\244\\316iq\\232L\\012\\000_Z(\\240\\232\\000(\\244\\245\\307\\024\\000\\032)1\\2123\\212\\004.);\\320\\017\\255-\\003\\022\\212)h\\020\\224\\264\\224\\242\\201\\205!\\240\\236(\\004\\322\\020\\264R\\003A\\246\\001G\\341A\\034R\\012\\000u!\\245\\2444\\000\\016\\224\\264\\206\\212\\000\\202\\361\\004\\266\\356\\215\\320\\212\\371/\\307v_a\\361%\\344'\\263\\347\\363\\346\\276\\271q\\2255\\363\\207\\307-<[x\\2069S#\\315\\\\\\223\\356)\\305\\331\\223#\\312\\344\\340\\377\\000Ja\\035\\372\\324\\316\\270\\352j\\027\\343\\214\\360j\\304\\206\\026\\004c\\2554\\344v\\025&\\024t\\346\\243\\317oJ\\000`\\004\\237\\306\\255D@\\025_\\2408=\\352XA\\301\\310\\342\\200"\\271<\\377\\000Z\\254@\\253S.y\\356*\\273\\016\\370\\240c1\\364\\246\\3435'Q\\300\\246\\223\\201\\214R\\030\\337jA\\353J\\006x\\245\\007\\377\\000\\327@\\3044m\\342\\203\\317SI\\317\\275\\000\\031\\346\\217\\\\Q\\353\\336\\216\\276\\324\\000\\277Z:\\376\\024\\323\\237z\\000\\343\\275\\002\\034FzP1\\236q@\\343\\257ZC\\315\\003\\002i\\030\\322\\236\\206\\214P\\001\\234Q\\337\\255%/j\\004-&{\\012?\\032A\\315\\000(\\024\\253\\322\\2161\\357\\2329\\317\\024\\014\\\\q\\212^;\\376\\024\\203\\236\\264\\271\\240\\004\\333\\232N\\177\\032\\220t\\246\\234\\032\\000n(\\006\\237\\214\\340R\\021\\364\\342\\200\\02398\\245\\366\\024qC\\016\\376\\264\\302\\343\\030R\\214R\\205\\340\\346\\200(\\020{\\321\\310\\305)\\351\\300\\240q\\365\\2441s\\307?\\245'\\345K\\3334\\301\\327\\232\\000r\\214\\236\\324\\204qGR{\\032F\\030\\351@\\010\\334\\036)\\207\\203N#4\\235\\350\\001\\2719\\244\\305)\\342\\223?\\235\\000\\000\\361\\212\\222:\\214z\\323\\323\\2504\\001d\\0363F\\342O\\024\\321\\355O8\\002\\201\\016\\007\\245(\\301\\344\\375i\\231\\307^h\\317\\036\\325@=\\266\\260\\347\\024\\325Z\\\\g\\275(\\0309\\240\\2223\\037\\353I\\267\\0253t\\353H0x\\2442\\0026\\347\\326\\205\\350{\\324\\276^O\\322\\232\\251\\203@\\\\i\\007\\275!\\031\\251\\000\\346\\206Q\\223\\330P2.G\\326\\234O\\004\\032]\\247=(+\\307\\003\\024\\200\\214{\\361N\\316}i1\\217\\255\\003\\257zw\\001s\\315\\000c\\2222h$\\003\\327\\232p\\347\\336\\220\\016\\003\\024\\003\\317\\034SI\\36441\\356:P\\003\\307\\314\\334\\323\\212\\362qLQ\\220;\\014f\\234\\247\\216s\\370\\323\\001\\270\\347m#\\343\\261\\241\\363\\236\\324\\306'\\034\\036i\\000\\254r8\\316i\\244\\364\\244\\034\\014sFq\\357@\\007\\362\\240\\376T\\016\\275M)\\342\\200\\020|\\276\\264\\270\\317\\275&{\\323\\201\\307\\320P\\002})\\2709\\247\\372\\323E\\003\\027\\265!\\037\\225\\007\\267CK\\264\\232\\004\\000\\364\\245\\030\\372\\032oJP3@\\013\\237\\316\\220\\236\\270\\240\\212P=h\\000>\\230\\305\\0304\\270\\035\\350\\374\\363@\\013\\236\\270\\246\\237\\316\\232N=\\251\\312\\334P\\002\\201\\201\\322\\232x\\247\\014P\\330\\344\\320\\003\\0063\\356i\\331\\3054\\012z\\2169\\246\\000O\\036\\264\\243\\2454\\372\\364\\243'\\265\\003\\014{R\\366\\317\\351I\\237c\\2122?\\032B\\005<PrI\\240rrE(\\353@\\012\\243\\035i\\016T\\347\\232p8<\\3220\\310\\353\\315\\000\\003\\223\\221S&=9\\025\\012\\214\\036\\2254c#\\351@\\022&w\\017A^\\247\\360i@\\325\\274\\306\\352\\010\\025\\345\\321\\216k\\322>\\024\\\\yZ\\216\\334\\374\\273\\203P#\\351\\370O\\310\\277J\\222\\240\\263}\\360F\\336\\24351"\\262-\\013Fq@\\346\\227\\265\\000%\\004s@4f\\200\\014R\\322f\\226\\200\\003CQ\\336\\212` \\367\\245\\244=(\\006\\220\\007zq\\246\\203\\315-\\000\\007\\255(\\244\\342\\212b\\012\\\\RRd\\203@\\013\\216h\\034P(\\240a\\234\\321@\\244<P\\003\\272\\321\\322\\200i\\0174\\010\\015.h\\307\\024f\\220\\303\\250\\245\\242\\212\\000L\\320h"\\212`\\030\\342\\214qHN)z\\367\\240\\000\\0323IJ\\007\\255\\000\\031\\245\\300\\244"\\212\\030\\005-78\\245\\240\\003\\275/jC\\305\\003\\245\\000(\\242\\214\\322\\001\\315\\000\\031\\245\\355F\\000\\240\\320\\000\\015.x\\244\\024\\037\\255\\000.iqM\\037\\255-\\000\\024\\200\\321F(\\001\\304\\322\\012\\007\\034RP \\357I\\311>\\324\\352>\\224\\306\\013\\305.)\\005- \\012)\\247\\255\\035i\\000\\274\\032)1@\\030\\353M\\000\\354t\\243\\255'Z;\\367\\240\\003\\003<R\\216\\264\\321\\311\\2454\\000\\356\\224\\204\\322g4\\264\\000v\\243\\024QLB\\3474QE\\000\\007\\245 4\\244\\322c\\024\\206-8SzR\\212`/J)(4\\010ZC@\\351A\\240\\004\\037xU\\204\\344T\\013\\326\\254 \\342\\200\\033 \\340\\3259z\\032\\271/\\3355J^\\364\\014\\254\\203\\346\\253#\\245W\\217\\357U\\201@\\202\\212Z;P\\002t\\245\\353Hx\\245^h\\000\\355Y\\272\\247\\334\\037Z\\323=+3R\\035\\005&4]\\322\\307\\356\\205h\\250\\301\\252:X\\375\\320\\255\\0009\\246\\220\\211@\\342\\226\\220R\\320\\001HGJZN\\224\\014h\\310\\245\\353I\\336\\227\\245\\002\\031'\\000\\325u\\353S\\313\\322\\240Q\\315&2J\\247\\177\\237,\\325\\254\\325K\\363\\373\\226\\2444ei\\247\\375%\\270\\255\\364\\351X:P\\314\\306\\267\\222\\234v\\023\\034h<\\012BqGZ\\241\\000\\240\\320(&\\200\\014\\346\\212Ju\\003\\020\\322g\\212wZm\\002\\016\\264\\327\\341M;\\025\\034\\277q\\251\\015\\034\\265\\371\\315\\303\\375j\\213\\365\\346\\256^\\034\\316\\377\\000Z\\251\\3014\\304\\306\\237aM\\310\\357O8=:Td~4\\022\\004\\373V\\356\\201\\305\\243\\237sX8\\317\\326\\272\\015\\014b\\304\\237S@\\321\\034\\307\\347o\\255-\\230\\036y>\\324\\331ybM:\\310\\346f\\366\\244\\206\\31545-D\\202\\244\\316)\\200\\254i\\015\\031\\246\\346\\200\\020\\323\\015<\\324M\\232Lv\\030z\\361Un\\217\\025`\\232\\255q\\311\\244\\006\\275!\\342\\226\\217\\306\\235\\304%\\035\\250'\\232QE\\300J\\001\\242\\212\\000^\\324\\204Q\\212(\\000\\024\\016i)E\\003\\024Pi(\\240BS\\205%\\004\\320\\002\\267\\024\\016i\\015(\\240w\\020\\232(\\024\\023L\\005\\244\\357@\\245\\343\\024\\010(\\034\\320M"\\322\\001G\\024R\\036\\264\\242\\201\\205\\031\\364\\240\\322\\000s@\\207w\\244\\243\\265\\002\\201\\201\\342\\203G^\\224\\012\\004- \\342\\226\\222\\200\\014\\320\\007<\\321K\\232\\0001I\\212\\0174\\231\\240\\005\\242\\226\\222\\200\\024\\032CE.)\\000\\224Q\\336\\212`\\024\\270\\244\\24340\\012:\\321\\332\\226\\200\\003E!\\245\\240\\002\\2234\\277\\316\\212\\000O\\306\\212ZOj.\\002\\212;\\373Ss\\203K@\\011\\337\\212^h\\305\\024\\000\\200\\232p\\240\\322\\212@\\024\\332ZLS\\001s\\3057\\275/J\\015\\003\\0123E\\024\\012\\342\\321I\\232\\007J\\000(\\357KE\\000%\\030\\245\\034\\321\\232C\\016\\324\\207\\212\\\\\\361I@\\200\\364\\240R\\232h\\316h\\001\\324\\230\\245\\243\\2651\\210:\\342\\224\\322\\016\\264\\032\\0003F(\\006\\212B\\014\\366\\242\\201\\326\\214S\\030\\246\\220\\032\\007Z\\007\\024\\000\\032\\362?\\217Zq\\227H\\267\\272H\\3011\\276\\013c\\234\\032\\365\\303\\322\\271\\257\\037Y\\013\\357\\014\\336\\304\\312\\0331\\236?\\255\\013rY\\362\\024\\215\\226\\306zTr\\015\\335sV.\\243\\362\\346u\\310\\312\\2228\\252\\340\\2000I\\315jJdR\\014t\\351Q\\2363\\212\\221\\306y\\025\\0369#\\2474\\014T#\\241\\004\\323\\224\\374\\306\\231\\320\\340\\223ONH\\240\\007I\\300\\306A\\252\\262q\\306j\\314\\271Q\\232\\246\\371'=h\\004&q\\307"\\232N~\\242\\202hc\\223R0\\355I\\236x\\374\\251T\\203Mn\\010\\346\\200\\034{Rf\\223\\336\\2161@\\307qE"\\236\\334\\320\\302\\200\\035\\327\\336\\223\\326\\200q\\324\\363Fh\\000\\030\\352i(\\353\\236\\324{\\320!ON\\224\\203 R\\365\\243>\\275h\\001\\011\\343\\320\\321\\317SF3G\\362\\240`=3\\305\\035~\\264t=\\210\\243\\361\\346\\200\\000i\\331\\347\\236\\224\\3202sJF\\000\\367\\346\\230\\205\\3561\\336\\214zR/\\260\\247\\001\\236?:C\\014\\223\\370\\3208\\353\\221Cc\\2674\\204\\364"\\200\\035\\3649\\244&\\214\\343\\270\\244\\004g\\223@\\203$\\372\\322\\202:w\\243 \\322\\021\\351\\322\\230\\016\\030\\024\\230\\031\\343 \\322\\012C\\351\\236\\224\\200\\177\\004\\342\\233\\234\\237zL\\342\\236\\244P11N\\307\\313\\324S\\011\\364\\245\\317\\024\\0108\\356h'9\\342\\201\\305\\014A>\\364\\000\\314\\377\\000\\221M'\\212q\\2444\\014olsM"\\224\\217\\322\\217\\353@\\007A\\322\\200y\\243\\212m\\000Z\\211\\270\\307\\034\\324\\231\\301\\301\\353\\351U\\221\\261S\\241\\356sLC\\230c\\003\\265\\030\\301\\310?\\205+c=\\351\\001\\354(\\021$y\\3664\\243\\203\\307zoq\\3234\\252rFi\\200\\346\\306\\321\\232n0=iGNO\\024\\023\\330\\032\\004"\\344t\\240\\220\\011\\367\\245\\035\\307Jc\\003\\237zC\\260\\207\\256is\\220\\0057v;\\323s\\201\\357@\\022b\\232G=\\351A\\310\\246\\226\\003 u\\2440\\331\\236\\364\\204\\012R\\334\\232L\\201\\212\\004.\\3363\\322\\230r:g\\025"\\267\\034\\366\\246\\223\\223\\216\\224\\000\\2304\\021\\351OS\\201\\212P\\001\\350i\\200\\212*t\\030\\344\\340\\324*p\\335\\252B\\335\\177*C#\\224\\374\\334b\\243\\372\\323\\311\\311\\246\\234P\\0030y\\243i\\306OJq\\366\\245\\355\\326\\200\\030)8<T\\204\\200:g4\\3201\\357@\\010\\024\\367\\2459\\003\\035\\251\\331\\374h\\367\\246\\003\\005\\031\\377\\000\\365S\\217JC\\326\\220\\011\\324S\\261\\307\\245*\\342\\223w\\265\\000&(_N\\224}is\\203\\327\\212\\000N\\005 =\\273P\\334\\375i;\\367\\240\\007\\3474\\231\\364\\243\\360\\244\\003\\275\\000\\007\\024\\203\\362\\024\\037\\326\\234\\007\\034\\320\\002\\0368\\355KI\\323\\265\\033\\272\\320\\001\\357\\326\\227<{f\\214\\234v\\024\\230\\317\\326\\230\\013\\332\\216;\\014R\\234c\\212N\\277ZC\\014\\347\\245\\033}i\\0109\\343\\212p\\030\\035\\205\\002\\023\\247\\024d\\017Jq\\024\\334d\\320\\003\\263\\317\\364\\243\\271\\243\\024\\016\\237\\316\\200\\024\\000M=s\\237\\\\R\\001\\307\\000b\\225\\006:u\\240\\013\\013\\3239\\031\\305v\\037\\017\\2461\\353P\\000x=k\\215\\204\\223\\201\\327\\212\\350<5p\\326\\372\\245\\271^\\273\\261\\371\\320#\\353\\355\\022M\\372t-\\376\\315^\\307z\\307\\360\\263\\371\\232L'\\330V\\310\\351Y\\262\\304\\357Ji1\\315)\\374i\\005\\304\\024\\246\\201A\\246\\001@4Q\\236h\\001i3HE\\006\\220\\013\\234\\320E\\012=iN(\\001\\2529\\245&\\227\\024\\224\\000\\003KM"\\227\\234S\\013\\016\\244=(\\355F9\\240\\004\\024\\264P)\\000\\235\\375\\250\\306i{\\3208\\240\\005\\305\\024\\231\\244=h\\020\\354\\322P(\\246\\002\\212\\011\\244^\\274\\322\\232\\000L\\322\\320(\\357Hb\\032:\\012\\010\\346\\2009\\246\\002\\212('\\035(\\240\\002\\212\\006h\\035h\\260\\001\\024\\012QIL\\0044\\012\\015(\\351@\\013\\336\\214\\322piqR\\002g4QE0\\024\\032>\\264\\001\\370\\320x\\240\\002\\212Bh\\007\\217z\\000\\015(\\346\\223\\255-\\000)\\351IGZ:Qq\\005\\035(\\024\\264\\0143G4\\202\\212aqh\\024QH\\005\\024P\\015\\035\\351\\000t\\244\\367\\245\\353I\\336\\230\\012)1J(\\355@\\011J\\005!\\245\\024\\010(\\242\\212\\000:\\322\\217zJZ\\000N\\376\\324\\276\\324\\230\\315:\\230\\300QFh\\240\\003\\255\\035\\361@\\024\\001@\\202\\216\\264\\270\\244<P\\002\\247Z\\235zUx\\372\\325\\205\\351@\\014\\227\\221U%\\035j\\334\\235*\\244\\247\\203@\\310#\\034\\324\\340T1\\375\\352\\230P \\353J(\\024\\032\\000Lf\\224\\014QK@\\003\\016+/P\\352\\277Z\\324=+.\\377\\000\\375b\\322`ii\\243\\367"\\264\\005R\\323\\177\\324\\212\\274)\\255\\200Q\\322\\224RPi\\200\\246\\220\\364\\245\\355I\\232@&)M\\024\\224\\000\\311zUt\\352jy\\272T)Hc\\361\\201Tu/\\365F\\257U\\015P\\342#C\\032(\\350\\33021\\3645\\266\\275+\\023E\\352~\\265\\270\\275([\\011\\206){R\\342\\233\\320\\323\\020w\\243\\024QL\\002\\201KI@\\005!\\245\\2444\\000g\\322\\243\\227\\3561\\366\\251*+\\203\\373\\246\\372P3\\224\\273\\377\\000Z\\337Z\\250\\303\\323\\025f\\344\\346G\\372\\325n\\335h\\023\\020qM'\\2559\\251\\277SA"q\\364\\372\\327C\\243q\\247s\\326\\271\\327\\256\\223M\\343L\\\\zP4U\\224\\344\\323\\3549\\225\\210\\250\\337\\255M\\247\\214;\\032Hl\\322AO"\\230\\275)\\342\\230\\010\\264\\207\\255;\\024\\323@\\010j6\\247\\237j\\210\\346\\220\\304aT\\356G\\315W\\033\\212\\245p~z@lf\\222\\2121\\3150\\020\\221J\\0178\\242\\201\\305\\000\\006\\212\\015&h\\020\\264QE\\000\\024\\016)i1@\\3034u\\240{\\322P!ip))h\\032\\020\\322\\321I@\\230\\264b\\2123\\232\\0003\\305%\\031\\244&\\213\\214R)E\\003\\245\\024\\010B9\\244\\357\\305;\\265'J\\006\\002\\212\\000\\367\\245\\240AE\\024\\215@\\303\\245;\\024Rg4\\\\\\004\\3058\\322f\\203@\\204&\\224\\032)1@\\307u\\240\\216)\\000\\240\\234P!)i\\017jU\\240\\003\\255\\024P\\015\\000\\024R\\322P\\002\\321I\\236ih\\000\\242\\212(\\000\\357\\232S\\300\\246\\212\\011\\240\\000u\\2454\\224\\271\\240bQ\\212SI\\221\\212\\004/\\024v\\244\\315\\037\\215\\000\\035\\3513K\\336\\203@\\305\\034\\212);\\322\\375i\\010\\0074\\0323E\\003BR\\321E1\\010\\275\\351h\\353A\\244\\002w\\243\\351A\\245\\3150\\022\\217\\255/zJ@\\035(\\242\\226\\200\\023\\332\\226\\232\\016i\\324\\300\\0056\\226\\227\\245\\000 \\245\\353IE\\000\\024\\032Z\\015 \\022\\212\\005/z`%\\031\\240\\212(\\000\\035h"\\203E\\003\\000*\\275\\354Bky#a\\303)\\006\\254S\\\\d\\021@\\231\\362\\007\\217t\\257\\354\\277\\024^\\333\\200B\\007\\312\\347\\322\\271\\227\\034\\343\\275z\\337\\307\\275;\\354\\332\\345\\275\\332\\217\\226U \\376\\025\\344\\2626\\011 q\\326\\264\\350f\\204#$v\\025\\013u5#d\\250#\\241\\250\\373\\223Ab\\036\\007Pi\\310y\\250\\362wg\\232\\222/jb$\\227\\230\\372\\034f\\251\\261\\353\\232\\267(\\312\\221T\\234s\\357@\\015nA\\300\\346\\231\\327\\212v\\016)\\264\\206\\205\\244'\\3619\\243\\247z\\\\c\\223Hbc\\003\\353J\\006z\\322\\023\\212;\\003@\\012\\324\\323\\2327PNh\\001s\\305\\031\\245\\003\\217jA\\307\\031\\240\\0034\\275\\273Q\\200\\007@h\\3174\\000\\243\\201I\\306h\\037xR\\340\\016\\264\\000\\234\\322\\037lS\\272\\322\\017p(\\001)@\\342\\233\\236\\324\\264\\000\\356\\234\\321\\333\\257Z\\011\\357H9\\372\\320\\003\\261\\216\\204R\\037j\\030\\036\\374\\320=\\3074\\010NE\\036\\234R\\221\\236zQ\\214\\320\\003q\\371R\\216\\264\\354`Sq\\223@\\012z\\320h\\315\\005\\260:sL\\004\\031\\317\\2758\\201L\\007\\036\\264\\345\\311\\357H\\003\\3654\\274\\014\\377\\000*i\\340\\322\\365\\240a\\234\\234Q\\232N\\364\\356\\246\\201\\006s\\236(^O8"\\233\\216M\\007 \\363\\305\\000\\007\\2750\\236qO<\\212a\\306}h\\001\\0054\\217|\\323\\230\\346\\220r(\\030\\237J;\\321\\336\\220\\320\\003\\207Z\\236/~\\225[\\275O\\021\\240\\011\\2174\\001\\351\\232\\\\w\\343\\024\\234t\\357\\212d\\217\\306y\\031\\305I\\330\\016\\007\\341Q\\241\\3068#4\\372\\020\\012?\\000(\\306}p)\\011'$P\\033\\003\\0079\\252\\020\\256z\\364\\006\\242\\220\\2360\\177\\032\\031\\210nsM&\\244cq\\3174t\\244\\317\\007\\322\\202}(\\030\\377\\000q\\237\\255!\\031\\357L\\014G\\007\\365\\245\\311\\365\\340\\322\\001\\013Q\\236;\\321\\203\\236h\\000\\372\\376\\024\\000\\2478\\024\\203\\334S\\261\\3179\\315!Q\\236h\\0012GJR\\344\\017\\255\\033x\\243\\031=8\\024\\300p9\\344\\232S'\\036\\224\\317\\345L=q\\232@HM #\\327\\212a<t\\374h\\317By\\246\\003\\230\\344\\367\\305\\004\\367\\246\\023\\232\\025\\216}\\350`I\\372Rv\\342\\220R\\0363\\353H\\007dc\\201\\305!&\\203\\201G\\177\\245\\000/Q\\305"\\373\\3474\\231$\\360Fh\\301?Z\\000vx\\030\\243\\030\\347\\275\\003\\245/\\365\\353@\\0063\\336\\223\\0078\\245\\000\\201\\220i;\\344\\340\\3201J\\375)\\270\\301\\346\\234\\017AF\\001\\353\\322\\200\\032\\0174\\345\\356)1\\236\\324n\\347\\257Z\\004)\\000\\036GZO^\\271\\245\\355\\307Jh'\\322\\230\\010\\016O\\265\\0141O\\030 \\342\\220\\363\\326\\200\\014\\202?\\2558`SB\\342\\224f\\220\\001\\372\\236hQ\\317\\245&)\\313\\327\\034P\\003\\217\\034\\216\\324\\334\\364=\\373\\320}\\361\\212O\\312\\201\\212\\007~\\224\\036\\275\\263\\2329\\366\\024\\0221\\322\\201\\013\\311\\243\\003 z\\322S\\227\\323\\212\\000\\177C\\311\\346\\225G\\267\\006\\201\\3161\\212_\\323\\024\\300\\236\\025\\301\\036\\365\\243\\246H\\253\\250\\332\\3479\\336+>,\\205$\\363\\212\\226\\332L_[\\234\\377\\000\\030\\376t\\010\\373\\003\\300\\322o\\321b$\\363\\212\\350\\372\\327\\037\\360\\346o7E\\217\\270\\305v\\002\\262{\\215\\013\\322\\201\\315!<\\322\\3201;\\322\\346\\220\\364\\243\\024\\014\\017J\\005\\031\\242\\230\\013I\\324\\322\\216\\224f\\220\\0074g\\2123@\\244\\001\\232SIA\\351L\\004\\240\\232QI@\\006i\\324\\320)\\337\\215\\000\\004\\361E%\\031\\242\\302\\024\\365\\242\\233\\232P(\\260\\013\\212(\\353E\\026\\030QH9\\245\\024\\000P(\\244\\244\\003\\270\\024\\231\\315%/J`.ii\\264\\242\\220\\203\\024Rg\\2323\\221L\\007u\\244\\351GQM\\3151\\216\\006\\216\\324\\200sK\\236)\\000qG\\265 \\242\\200\\026\\224\\232oz\\0174\\000R\\203\\353Gj\\005\\000:\\216)\\264t\\353H\\003\\275;\\036\\324\\312vy\\246\\002\\322PO\\245\\031\\240\\005\\242\\216\\264\\3229\\315 \\024u\\245&\\223\\214\\322\\036\\274S\\001\\324RP\\306\\200\\012)2)E \\003J8\\024\\003\\315)4\\300;\\322w\\244&\\235@\\010i{Rw\\245\\244\\000(\\244\\315-P\\200rh\\244\\245\\244;\\011\\214S\\200\\240QLB\\366\\342\\2234f\\212\\000(\\243\\024P\\002\\347\\234Q\\236)3K@\\006i\\247\\232u4\\320\\003\\243\\353V\\027\\245W\\217\\255N\\275(@2^\\225R_\\273V\\245\\252\\323t\\240\\010\\242\\353ST1\\216ja@\\005/ZC@\\346\\200\\016\\206\\227\\030\\242\\227\\265\\000!\\351YW\\334\\312=\\253T\\326U\\347\\374|\\000:T\\261\\232\\366\\003\\020\\212\\272*\\255\\230\\375\\322\\375*\\320\\252B\\026\\212Z(\\270\\007jN\\364\\032J\\000Z1E\\024\\001\\024\\337v\\240J\\232~\\225\\022t\\2441\\375\\2537U?\\2725\\243\\232\\313\\325\\216c"\\2064A\\242\\016\\271\\255\\245\\254}\\030|\\204\\326\\302\\364\\241\\022:\\223\\255\\035\\350\\252\\000\\240u\\240\\321@\\005\\035\\350\\240\\364\\240\\002\\220\\321Fy\\240\\000\\324\\027'\\367M\\364\\251\\352\\275\\331\\304M\\364\\240\\016Js\\363\\266}j\\022jY\\206d'\\336\\242\\357\\232Bb\\032gS\\315<\\212n)\\200\\331\\007\\245t\\266?.\\230\\203\\325k\\2328\\351]-\\277\\032r\\016\\237-&\\010\\244\\347\\255X\\323\\371\\007\\353U\\233\\2575gO\\350\\337Z\\020\\331\\242)\\364\\305\\247\\016\\264\\330\\013\\232a\\247\\366\\246\\223@\\0144\\303O5\\031\\034\\322\\001\\032\\250\\334\\362\\370\\253\\254x\\346\\251Ns%!\\233&\\232O\\255-!\\024\\300(\\364\\240R\\320\\001F\\005%\\024\\000\\242\\226\\232(4\\010Z)\\005\\034\\346\\200\\024\\232=\\350\\240P\\001E'zZ\\000(\\024RP\\002\\232LR\\321@\\303\\024\\032_\\25574\\010Z^\\324\\322ih\\001i(\\2434\\000R\\322PM\\000\\006\\224{\\322g&\\224\\234P\\000i\\000\\245\\364\\245\\240cih4P!)h\\353A\\240aA\\031\\2444\\274\\320 "\\220\\012\\\\\\376\\024P\\002\\201M\\357N\\244\\240\\003\\024b\\201\\355A\\342\\200\\000(\\002\\220R\\320\\001E\\002\\226\\200\\020sGz:\\321H\\003\\275\\003\\255\\002\\212\\000^\\264\\230\\245\\244&\\201\\207J3\\364\\244\\315\\024\\000\\264\\036(\\242\\230\\010)h\\024\\271\\240BQA\\344R\\366\\240\\004\\242\\216\\364P0\\2434u\\243\\322\\201\\012))i;P\\0009\\240\\3208\\245\\315\\003\\020qFh=(\\240@:\\322\\323V\\226\\200\\024\\322u\\024u\\242\\200\\023\\030\\243>\\224R\\216\\224\\014;\\322\\321I\\201H,&)\\324\\204\\320\\0151\\013Mj\\\\\\320h\\001\\005.)3\\351J(\\001i\\255K\\336\\221\\271\\240\\017#\\370\\367e\\347h\\220\\317\\377\\000<\\334\\016\\007<\\327\\316\\322\\257?\\375j\\372\\257\\342\\355\\247\\332<#w\\216Y0\\303\\360\\257\\226nW\\007\\330\\232\\322;\\031\\337R\\257\\003\\377\\000\\257M|\\021\\357C\\267#\\002\\232A\\3052\\2060\\301\\364\\247!\\313\\014\\323:\\376\\035i\\303\\2574\\200\\264\\330 \\363\\370UI\\007~j\\312t\\365\\250%\\351\\305\\002 '\\030\\246\\236\\236\\224\\376\\207\\256\\015F\\334\\232E\\015&\\227u\\030\\342\\223"\\200\\270\\274b\\220\\361@\\317CC`}h\\000\\034\\216h\\034Rw\\353\\305;\\353@\\013\\337\\374)\\275O\\031\\305.p)>\\224\\014\\\\c\\212\\033#\\351I\\234}iA\\365\\240B\\257\\255+t\\353Fq\\365\\244\\3174\\0143\\317L\\322\\236G\\275\\007\\030\\344R{\\320!;w\\244\\317ZS\\22084\\237Z\\000U\\346\\236\\247\\004\\323G\\007\\353J\\001\\353@\\305\\316s\\351A\\351\\350(\\306G\\024\\236\\306\\201\\012I\\347\\034RR\\200H\\311\\353Cz\\320\\002\\014\\347\\236\\264\\274s\\357M\\316E;<z\\320\\003I\\347\\002\\214\\344\\342\\214Q\\214\\373P\\002\\001\\203\\351N\\375=\\250\\315\\035=\\350\\001\\235\\015<t\\366\\244c\\311\\364\\240\\016h\\030\\207\\364\\245&\\224\\361\\326\\200\\006(\\000S\\3074\\034\\236\\264\\230#\\257JS@\\015<\\036\\264\\336\\277\\207j}4\\365\\342\\200\\023\\034\\364\\246\\223\\212S\\232i\\240\\005\\246\\232Z:P\\002w\\251\\241\\373\\335x\\250\\205K\\021\\346\\200'=\\250\\353Glv\\244\\004\\003L\\222E\\341FiA\\300\\244O\\322\\2361\\273\\217\\306\\204&(\\357\\334\\032B9\\376\\264\\342}0)\\277Zw\\001\\2168\\353\\232\\211\\252R3\\365\\250\\337\\332\\220\\306\\021\\317\\\\\\322\\216y\\245\\306@\\244'\\232\\000P\\271\\031\\305\\0353\\351H\\033=\\310\\243?ZC\\034\\2777\\266=\\251\\030\\340\\214v\\245S\\301\\244\\307\\257S@\\000\\311\\306z\\323\\224c\\323\\024\\320}\\0058\\267\\313\\350h\\001O+\\3009\\246\\037\\326\\2246\\007^\\264\\214s@\\013\\300\\246\\036\\017\\326\\220\\363J\\007\\255\\000\\007\\236\\340\\323H\\024\\341\\326\\224\\217B)\\201\\026\\334\\032_\\306\\244#\\2557\\031\\374)\\000\\213\\212_\\3079\\244\\003$S\\377\\000\\2074\\000\\325\\347\\371\\321\\214\\012\\007\\004sF2q@\\011\\234\\365\\353N\\\\}h\\333\\216\\264\\342s\\377\\000\\326\\246\\002\\236\\275\\250\\307\\341@#\\351\\232\\031\\263H\\004\\352Fi\\0163\\355G\\326\\220\\2163\\315\\003\\003\\320R\\216\\2309\\246\\257'\\232\\\\{\\320\\002d\\232Q\\327'\\364\\243\\034\\364\\240\\361\\323\\232\\004\\033\\200<\\346\\214s\\305 \\364\\315)\\030\\024\\000\\274\\016)1\\370R\\003\\222)\\304\\201@\\010\\001\\305/J;\\361\\322\\215\\334zP\\002\\017\\322\\227\\247JBi\\303${P\\000Ni={\\320x\\351@\\035\\377\\000\\225\\000:\\2001\\326\\223894\\277\\326\\200\\020\\2029\\244\\306\\016is\\317ZU9\\306rh\\001\\312\\330\\347\\236jA\\363\\016:\\324\\177)\\343\\201\\212\\222!\\317=)\\210\\260\\207\\344\\3475\\024/\\376\\227\\031\\354\\030S\\346;c<\\363Ua\\030\\225rx\\315\\000\\217\\255\\276\\025H\\033F\\210\\016\\233Ew\\313^e\\360~m\\372\\\\c\\375\\201^\\231\\232\\315\\356R\\027\\024\\224\\240\\372\\322f\\201\\212h\\245\\367\\246\\322\\001q\\236\\224\\270\\3474\\321\\305:\\200\\003H)\\001\\307\\024\\242\\200\\017\\312\\216\\375h4\\230\\306)\\200\\275\\015\\031\\346\\203@4\\200\\005)\\351IJE\\000\\031\\342\\203E\\024\\005\\300t4QM\\311\\246!\\300d\\322\\347\\232@y\\315\\024\\200ZCA\\244\\240\\005\\007\\326\\212\\015%\\003\\034:\\321H)h\\001\\015\\003\\2474\\037JP(\\000\\245\\024\\021I\\322\\200\\003@\\243\\255 \\240\\005<R\\322u\\242\\200\\026\\223\\275-\\024\\000t\\240\\034Pi\\012\\320\\002\\3474P\\005\\034\\320\\001\\301\\240Rb\\201\\357@\\016\\024\\206\\212)\\000Rb\\2274qL\\000\\0121@4\\244\\323\\013\\200\\242\\221M.}i\\000t\\242\\226\\233B\\000\\316h\\240piM0\\001\\212\\015&qE+\\000\\341Hy\\243\\036\\364\\264\\200B)E!\\245\\3150\\026\\214\\323I\\240R\\001h\\243\\245-0\\0234R\\342\\214\\323\\001)E!\\366\\353J\\016h\\020S\\2513\\317\\024\\032\\000)i\\270\\245\\315\\003\\014R\\203A\\244\\305\\002\\026\\220\\321\\336\\203@\\016\\214sSv\\250c\\353S\\201\\305\\000E-V\\227\\356\\363Ve\\306*\\254\\275(\\001\\261\\324\\235*4\\251)\\014>\\264R\\320\\0051\\010h\\007\\265-\\003\\336\\200\\006\\351YW_\\361\\362\\242\\265[\\245dLsy\\217J\\2263v\\323\\210\\226\\254\\346\\240\\265\\037\\273\\025>*\\220\\205\\315\\035\\3511\\212`o\\232\\200%\\024\\323J)\\015\\000(\\346\\223\\245\\000RP\\004S\\364\\250\\323\\221RN@\\025\\032t\\244P\\244\\326N\\261\\367k\\\\\\364\\254mh\\374\\2640C\\364_\\365?\\215k\\012\\312\\321\\207\\3728\\255^\\324!\\013\\3056\\224\\320E0\\012\\017J1E0bQ\\212P)3@\\205\\307\\024\\224Q@\\007z\\251~q\\003\\375*\\326j\\246\\243\\305\\273\\237jC9Y>\\371\\307\\255D\\303\\275H\\307$\\365\\246S$a\\316x\\2444\\255\\353M\\3174\\001\\031$\\221\\365\\256\\250\\014X'\\322\\271p?x=\\353\\251~-\\027\\351C\\004g9\\301\\253\\226?\\352\\363\\357T\\344\\353WlF"\\025(\\246]S\\305<S\\026\\237\\322\\250@i\\206\\234i\\207\\255 \\032\\336\\264\\3064\\366\\246\\034R\\030\\306\\344U\\031\\277\\326\\221W\\233\\201Td9\\222\\220\\0334w\\245\\024\\225@\\036\\324\\242\\232iFh\\001x\\024\\204\\347\\351A\\242\\200\\270\\036(<\\322w\\366\\245\\3074\\0103GZ(\\003\\024\\000\\0321K@\\240\\004\\357Fii;\\3201h\\002\\2234\\243\\336\\201\\013\\322\\222\\212(\\000\\315\\024R\\034\\3201{\\320i\\000\\247q@\\204\\240QE\\000\\030\\243\\024Q@\\000\\343\\212Jq\\344Q\\212\\000\\007JS\\355I\\232\\010\\342\\200\\023\\255-'j\\005\\000(\\315%-\\006\\200\\026\\212JJ\\000\\015(\\244\\035ih\\000\\355@<R\\032P0(\\001:P3E\\024\\000\\270\\243\\372P9\\243\\245\\003\\016\\224\\264\\207\\232\\007\\265\\002\\026\\220\\232\\011\\346\\214q@\\354\\031\\315\\002\\214P)\\000\\264Sz\\232SL@i(\\316\\005(\\346\\200\\022\\226\\226\\223\\212\\007p\\350(\\024\\206\\200s\\305\\002\\024\\320\\015!\\353J\\006(\\030\\235\\250\\355KG\\024\\000\\231\\245\\315\\024\\230\\240B\\361F(\\006\\2234\\0141\\305\\031\\242\\214f\\200\\027\\265- \\004Q\\236h\\001\\017Z^\\324\\032(\\020f\\216\\264b\\216\\364\\000\\0123J8\\246\\221@\\012(\\243\\006\\212\\006&ii(\\036\\364\\010)\\302\\223\\034Ph\\000\\305\\003\\212\\005\\007\\255\\000\\031\\315\\036\\224c\\024P\\0067\\212mE\\336\\213w\\021\\000\\356\\214\\327\\310Z\\264^\\\\\\356\\234\\374\\254G\\353_g\\335\\246\\370$_U5\\362G\\304\\013#c\\342\\213\\350H\\332<\\302G\\2475q"[\\334\\344\\335x\\346\\243\\306W\\034\\324\\222/<q\\212\\217\\250\\301\\353L\\010\\310\\303w\\240\\2029\\317z\\011\\365#\\037\\316\\234\\0109\\024\\014\\236\\021\\230\\201\\315A7\\004\\217J\\236\\021\\333\\201Q\\\\\\203\\273\\247\\024\\001X\\2362i\\247\\216\\375i\\347\\212cc\\320sHcX\\362y\\246\\237jv1\\236z\\321\\317N\\324\\000\\321\\327\\255)\\004\\320F\\0074\\277Z\\0060u\\372\\323\\376\\264\\207\\276)\\016h\\001z\\237SJ\\016:Rb\\2274\\000w\\245\\343\\362\\246\\214}i\\307\\360\\240B`{\\342\\222\\235\\200:u\\240\\373\\3200\\007>\\337ZB=(\\351\\365\\240\\016\\271\\240\\003\\004\\321\\351\\236(\\3074\\270\\364\\240, 8<\\364\\245\\316qH\\302\\201\\365\\240B\\346\\224r}\\275\\251:\\365\\024\\277J\\006/NzRq\\272\\232)\\331\\317Z\\004\\300u4\\036\\017\\265\\004s\\301\\244\\240\\007v\\354E&@<R\\036pG\\000\\322`\\323\\001\\307\\223\\351I\\234P8\\301\\244\\244\\001\\365\\351K\\234qA9\\035\\270\\244\\355\\332\\200\\0279\\024u\\351M\\035{S\\224g\\276(\\030\\023\\332\\224\\034})\\246\\227\\266h\\000\\347\\030\\355HG&\\202r8\\240t"\\200\\032qL\\251\\017_zi\\240\\006t\\245<\\322R\\364\\240\\002\\234\\207\\015\\326\\232z\\320\\017"\\200.\\2021\\236h\\007\\361\\246\\241\\033}\\351\\335O\\024\\311\\034\\264\\361\\327\\324\\322F\\2719\\340S\\300\\356x\\246\\002\\021\\216}i\\271\\317=\\273T\\204\\214s\\324TLA=\\000\\244 \\310\\3051\\371\\344\\012x\\004\\001\\351K\\215\\334v\\240d9\\030\\351HOJ\\220\\256\\006qC/\\030\\305\\002\\030\\253\\334\\216(\\177A\\234S\\225H\\034\\347\\036\\224\\204rz\\232C\\032x\\031\\031\\305 \\357O\\305\\030\\311\\364\\024\\005\\306f\\217\\3075&\\334\\364\\374\\375)\\030q\\355M\\014g\\024\\230$\\364\\251\\002\\367\\355HW\\216\\364\\012\\343;\\363J\\307\\260\\351K\\217\\312\\221\\2750(\\001\\006O\\024\\240\\342\\220\\36001H\\006:\\3201\\335z\\323zw\\247c\\277J\\\\t\\315 \\0308>\\224\\023\\216\\346\\216\\370=)}\\373S\\001\\0074\\252)\\240\\372\\324\\200\\214P\\001\\221K\\201\\212ny\\240\\223H\\007\\003\\307?\\2354\\021\\232a'4\\2319\\031\\240\\011\\011\\035\\263I\\317N\\200\\322\\003\\232h#>\\264\\014v\\177:\\\\\\364\\244'\\216\\242\\220\\037\\312\\200\\035\\273\\006\\216\\274\\323?\\255(9\\0304\\000\\244\\322\\003HOLqB\\237\\251\\240\\007\\003\\351A\\364\\305\\036\\334s@\\343\\353@\\007n\\364v4\\237\\305N\\307\\035h\\001\\000\\317\\322\\234\\307\\004\\342\\212Bwf\\201\\011\\237CJ\\204\\346\\205\\035}~\\224\\363\\216\\303\\006\\230\\001\\347\\265!nqI\\323\\236i\\256y\\244\\003\\216s\\355A?Z`>\\275\\251\\303\\234\\014f\\230\\012\\243\\234\\325\\270H\\352\\304Ud\\355R\\226\\001})\\005\\206\\334I\\226\\307jb7L\\034sQ\\261\\347\\332\\234\\200\\361\\317J`\\217\\246\\376\\007\\261m*\\014\\377\\000r\\275o\\025\\343\\277\\003_:t^\\201q^\\3049\\254\\330D\\006ih\\243\\212E\\012:Rc\\024\\242\\224\\232\\000e/4\\276\\364P\\001\\212\\015/J\\015\\000 \\245\\246R\\323\\001h\\305\\024\\231\\346\\200\\026\\226\\222\\201\\315!\\000<\\322\\236\\224\\202\\227\\265\\000\\003\\024b\\220Q\\236h\\030\\240QA4P\\014(4\\224\\264\\204!\\243\\240\\245\\353ILb\\361E!\\034R\\320\\001KH8\\245=)\\000\\032Zh\\346\\202\\015\\000\\002\\224\\214\\320(\\246\\001E!8\\243\\2550B\\320)\\007ZZ@/\\024\\231\\243\\361\\244\\305\\0008\\322f\\203I\\322\\200\\035I\\324\\321\\212\\005\\002b\\201\\216\\364\\203\\2574\\264\\021\\315!\\241qHz\\321I\\324\\323\\020R\\366\\242\\212\\000N\\331\\024\\341@\\351I\\216s@\\305\\355I\\212\\015\\024\\005\\302\\214\\0323\\214Q\\234S\\000\\002\\227\\201Fy\\2444\\200\\\\\\321\\214\\232LR\\322\\001i\\007Z^\\264P\\002\\021KE\\035i\\200b\\216h\\316(\\315\\000(\\344\\322\\221I\\232(@\\006\\223\\245/\\275\\006\\230\\200\\012ZAGj\\000Z\\005&ih\\030\\264\\224R\\320!)\\015\\006\\214f\\200\\037\\025N\\017\\025\\014B\\246\\246\\004Sp*\\244\\325nZ\\251'&\\220\\304Nj@1L\\214zS\\361@\\012)qH8\\245\\240B\\021A\\243\\275-0\\032\\375+ \\217\\364\\336k]\\272VN\\177\\323\\177\\032\\226\\007Am\\376\\254T\\365\\015\\277\\334\\025-0\\016\\324\\314a\\252N\\324\\316\\364\\000\\361\\322\\222\\216\\202\\216\\364\\000\\264\\326\\247v\\250\\332\\200!\\233\\232E\\340Q7\\265*t\\024\\206\\025\\213\\254\\2368\\255\\243\\3235\\205\\2546\\010\\241\\215\\026\\364\\177\\365\\000V\\230\\351Y\\272P\\375\\312\\326\\217jh\\221OJ(\\0074\\032\\000CE-\\006\\200\\023\\275'zZAL\\005\\240\\364\\240\\322u\\240\\002\\251j\\247\\375\\031\\252\\355P\\325N-\\215!\\234\\273}\\343\\3154\\323\\233\\251\\246\\020sL\\221\\255\\327\\024\\235\\005\\004\\034\\344R\\347\\245\\0001y\\221z\\3475\\324\\317\\377\\000\\036\\213\\364\\256X\\014\\317\\026?\\274+\\250\\271\\342\\005\\036\\324\\230#5\\352\\365\\227\\372\\221Td\\344\\325\\373?\\365B\\222)\\227\\023\\2458\\363H\\275)j\\204 \\030\\2444\\343\\322\\231\\234\\322\\001\\255\\322\\2435!\\342\\243\\305\\014c\\037\\241\\252,>z\\273/J\\242Nd\\251\\003r\\233\\316i\\330\\244\\357T\\001JOjCE\\000%)\\351A\\244\\240B\\203A\\244\\245\\242\\300\\0034\\036\\224f\\2234\\016\\341\\355\\332\\224\\177:BiE\\000!\\2454PM\\000\\035\\350\\240Q\\232\\004(\\024u\\244\\315\\002\\201\\3343\\212^\\324\\206\\214\\366\\240\\005\\003\\212;\\322\\012\\007Z\\004)\\240\\012\\005\\024\\000R\\032;\\321\\332\\200\\024qA\\244\\317\\255-!\\2004\\240\\361IGJ\\000:\\012(\\353KL@>\\224\\0323A\\240\\004\\372\\322\\212CA\\240\\000\\322\\032QH(\\000\\024\\356\\324\\202\\227\\212\\0001A\\243\\255\\024\\000\\001A\\243\\024\\023H\\003\\265 4\\246\\212`%\\031\\243\\332\\200(\\030\\242\\212)=\\250\\020P(\\245\\240`y\\243\\245\\031\\244=h\\020\\246\\222\\224R\\032@\\007\\265(\\300\\244\\247P13\\353KHE%1\\005.)3K\\221@\\3034g\\212)=\\250\\001;\\346\\235\\300\\346\\220Q\\202h\\020\\271\\244\\245\\350(\\240b\\023I\\315;\\024P\\300JZ(\\240@\\015%:\\222\\201\\211K\\2323I\\324\\320!sE\\033E\\031\\240\\000\\322R\\346\\220\\3201E\\035\\351(\\240\\005&\\203\\371R\\001\\315-\\002\\003@\\242\\222\\200\\022A\\225"\\276o\\370\\351\\247\\213m|\\\\t\\363Tq\\212\\372D\\216+\\307>?\\351\\336n\\235mp\\007\\372\\266\\307\\024\\342\\365&H\\371\\356N\\370\\250pH\\251\\256\\006\\327#\\236j7#\\025lH\\200\\2568\\357B\\360zS\\360\\017\\326\\223\\374\\361H\\242x\\216\\357\\317\\232t\\374\\266O>\\365\\024\\004\\3578\\357\\351R\\3160\\243\\353LEI\\027\\007\\336\\241\\307\\255LH\\250\\230\\347\\275!\\211\\324b\\220u\\243\\265'A\\305\\003\\0069\\367\\2444\\016zQ\\237Z\\000Q\\323\\326\\2009\\246g\\007\\212\\220\\021\\216h\\001\\271\\311\\245\\030\\353A\\353\\374\\351;\\237J\\0009\\372\\322\\216E\\000\\363E\\002\\020\\237C@>\\371\\243\\257Z\\027\\212\\006(\\035r(=h'\\223\\353@\\344\\347\\232\\004\\300\\3208\\245\\244<\\232\\006\\037ZQ\\322\\205\\307\\245\\037Z\\000\\007\\007$\\3654\\246\\233\\337\\236\\224\\354\\217z\\000JP\\001\\024\\275zSwc8\\305\\000\\035\\270\\243\\034z\\212\\\\\\364\\244\\355\\221\\212\\000\\\\\\036\\364\\020\\0054\\232P\\011\\240L\\010\\364\\246\\367\\305;\\035\\215 \\036\\324\\000b\\212S\\327\\212C@\\005(\\357\\357H}\\351E\\003\\020\\360=(\\347\\212S\\357Fs\\305\\000\\030\\375i\\2546\\361\\332\\224\\347\\351\\232F\\344\\343\\024\\000\\204b\\232}\\351\\335\\361HzP\\003qIN\\034\\321\\217j\\000J\\005\\006\\2008\\240\\011\\342\\311\\251\\252\\274G\\221\\365\\251\\317'\\203@\\211P\\344`b\\245\\307\\036\\365\\022\\016\\207\\360\\251\\025\\276n\\0118\\365\\246!\\215\\371\\324x\\3479\\346\\254H\\006*\\271\\347\\031\\342\\200\\0349\\340\\3474\\360x\\353\\232H\\307#\\232Wn\\302\\200#b{\\361\\364\\240\\034\\375)\\303\\030 \\362M!\\03584\\000\\322\\3708<\\323\\361\\236\\231\\246\\025\\347\\330S\\207\\034\\234\\3201\\030S\\016sOf\\316i\\240\\363\\357E\\204\\003\\2558.O\\326\\216\\016\\005.q\\300\\244\\002t\\240\\340\\347\\265\\014sH\\006\\007\\322\\230\\014'=\\370\\246\\375)X\\372qL\\006\\220\\354\\004\\361\\353K\\270b\\221\\200\\246g\\2604\\005\\207\\356\\245\\335\\300\\250\\376\\246\\214\\3202M\\303<\\342\\224\\220G=\\352\\025\\346\\224\\347\\234P\\026\\027\\332\\234\\033\\214S}\\263Fq@\\013\\236h-\\332\\223\\277z8\\374\\250\\000\\347\\361\\244?\\245\\004\\343\\353I\\232\\000^\\335\\363K\\214u\\244\\355@\\355@\\013\\2161I\\232Rx\\367\\244S\\212\\000vx\\367\\244\\352sI\\203\\332\\227<\\372\\320\\001\\356h\\375ih\\007\\326\\200\\000z\\322\\214\\323\\177:Ph\\020\\034\\346\\234\\016zR{\\320\\016(\\030\\354z\\216i:u\\306iC\\003\\326\\225\\217\\343@\\204,\\017N)\\240\\232\\007\\265'\\003\\266h\\001\\331$ri=\\250\\030\\357\\212\\002\\373P\\026\\033\\236i\\300b\\221\\207\\315O\\035(\\030\\344\\031\\306z\\322\\314p1\\332\\221zf\\243\\221\\3114\\000\\321\\351\\315H\\207\\221\\327\\036\\225\\0361\\315=\\017<\\346\\201\\037F\\374\\011q\\375\\237\\020\\366\\257j^\\202\\274/\\340+\\037\\263D>\\265\\356k\\320TKq\\241\\335(\\357E)\\251\\030\\246\\232M\\000\\321L\\000\\236=\\015\\003\\245\\007\\265\\002\\200\\026\\202i\\0154\\236\\264\\200\\\\\\362h\\024\\314\\346\\236\\246\\230\\013\\212\\005\\031\\2434\\300S\\322\\212N;\\321\\234\\320\\001\\232QM\\305(\\244\\002\\236\\224\\0121KL\\0044\\242\\2123\\332\\220\\006(>\\224R\\032@-\\024\\203\\250\\247\\012\\000J\\001\\240\\322t\\240\\005\\3074\\247\\024\\301\\232u0\\003\\305 \\353KE\\002\\016\\324u\\240\\376Tc\\232\\006&y\\245\\030\\240\\342\\220P\\003\\217\\024R\\012:S\\0004\\240\\214\\321Hz\\322\\001h\\305 \\245\\244\\001\\232;\\321G\\343L\\003<\\322\\366\\246\\236\\264\\264\\000Q\\236h\\242\\2301E\\0034\\032)\\000\\032\\005\\024w\\240\\002\\203@\\346\\203@\\011KH84\\264\\300Z\\0174\\207\\247\\024v\\244!{SE;\\2654u\\240c\\207\\002\\2121I\\236\\324\\000\\275\\351zSy\\245\\246\\000E\\000PiGJ@\\007\\2123A\\244\\240\\005\\024\\264\\200R\\232a`\\034R\\322\\012(\\020u4\\264\\206\\227\\275\\003\\026\\222\\226\\232h\\020\\247\\255\\006\\2234P\\004\\261\\342\\246\\025\\014U.p(\\002\\031\\252\\253\\212\\265/\\322\\252\\312M\\014c\\243\\351O\\315G\\037CO\\240A\\326\\223\\232Z\\0074\\000\\242\\203HN(\\0074\\000\\3318\\006\\262\\243\\031\\273\\367\\315j\\311\\367Me\\3003y\\370\\324\\260:\\030\\007\\310*@)\\221}\\301\\364\\247\\325\\000\\244qM\\003\\232SGz\\006-7\\275.i(\\020\\271\\246\\036\\264\\352LP\\005y\\372\\320(\\227\\357R\\216\\224\\206!\\342\\260u\\237\\275\\216\\331\\255\\366\\034V\\006\\257\\376\\264}i1\\243CL\\037\\270Z\\277\\365\\252z\\177\\372\\245\\253g\\232\\244H\\242\\212LS\\251\\200\\206\\212(\\240\\002\\212)(\\001M&)h4\\000\\207\\232\\315\\325\\316-\\215h\\232\\314\\326O\\356\\015!\\234\\333\\021\\232C\\326\\206\\372\\320=\\250$k\\364\\024\\321\\376}\\251\\316@\\246\\203\\371\\320\\001n\\204\\335E\\334n\\256\\232\\373\\210\\226\\271\\373\\034\\033\\270\\207|\\326\\365\\361\\312\\001C\\004f\\271\\306kF\\323\\375R\\375+:N\\342\\264\\355\\177\\325\\250\\366\\241\\015\\226\\326\\227\\2654S\\251\\200\\206\\233\\332\\234i\\246\\200\\030\\306\\232q\\212sTu,c\\037\\2255@\\360\\346\\257\\271\\340\\342\\250\\036\\\\\\320\\200\\334&\\212R)\\007\\002\\230\\011\\232ZoSK\\214\\372\\320\\002\\322Q\\214Q@\\006h&\\214R\\012b\\026\\227\\212JQH,\\035h\\243\\322\\220\\320\\002\\367\\240\\320\\016ih\\030\\235(\\030\\2444\\264\\000\\264\\332\\011\\2439\\351@\\204\\357N\\305 \\024\\356\\324\\002\\020t\\240\\321Fh\\000\\024Q@\\240\\004\\247Rw\\245\\024\\000QGAI@\\305\\305\\006\\222\\224\\012B\\023\\275)\\243\\275%1\\213E\\007\\246)\\000\\240B\\366\\242\\212L\\363@\\013@\\242\\225x\\240\\004\\3074b\\203\\326\\212\\0003\\212(\\306z\\322\\375)\\000\\032\\017J1GC@\\011\\232("\\223\\2751\\200\\245&\\223\\031\\243\\007\\332\\200\\024R\\232N\\224u\\240AA\\346\\216\\264\\021\\357@\\300qKHh\\006\\201\\005\\003\\245\\006\\220zP4(4\\271\\242\\220\\320\\001\\221\\357K\\326\\220\\362)A\\244 \\305 \\024\\264g\\024\\014))sHx\\240\\005\\242\\220\\320\\016E1\\0014-.(\\240\\004=iA\\003\\255'\\350h\\305\\003\\0279\\240\\321\\212@9\\240\\000\\032Q\\357Hh\\034u\\240B\\322t\\346\\203K\\236(\\030\\231\\2454\\235\\350\\353@!E\\034Q\\332\\216\\264\\2001E\\031\\305\\031\\342\\200\\002y\\305\\004\\322c&\\212`\\003\\247404\\012)\\010\\007J\\342\\276,i\\377\\000n\\360\\215\\330U\\314\\2107\\257\\341]\\2668\\254\\355r\\334\\\\\\351w\\021\\036C!\\037\\2454\\017c\\342\\353\\304!\\266\\236\\240\\3253\\307^\\017\\245m\\370\\212\\333\\354\\272\\245\\314$\\021\\261\\330\\017\\317\\212\\304`A\\255:\\0204\\201\\306i\\017L\\012R0sA#\\360\\240\\241\\3216\\033\\327\\265O9\\014\\235x\\250!\\034\\366\\305J\\347\\345\\030\\301>\\224\\001Y\\261P\\236\\274\\364\\251\\030\\234\\324d\\363\\305 \\0023\\336\\233\\217\\302\\220\\237l\\012Ps@\\304\\305\\004g=\\250\\\\\\363A\\342\\200\\033\\203\\232Pr1\\336\\201JG~\\324\\000\\203\\247\\275&y\\367\\247\\016\\005\\034f\\200\\020\\016qK\\320\\212\\010\\307\\\\R\\037Z\\000\\010\\244\\030\\240\\236)TP\\003\\2078\\034\\320\\007\\035\\015.q\\3279\\244\\316h\\001A\\035\\372\\322\\021I\\306y\\245'\\260\\240Bz\\216M(\\003\\003\\236i\\275\\370\\355O\\355\\351Lbc?J\\012\\342\\224R\\373\\322\\001\\243\\203\\2326\\373\\003JNzt\\245\\003\\277\\030\\240\\004Q\\234\\347\\214R{\\032\\017Z:\\320!\\010\\347\\212r\\234\\012Lu\\244`{\\323\\260\\305'\\236\\370\\244\\315\\003\\324\\322\\236A\\346\\220\\200t\\342\\214qI\\216\\224\\247\\030"\\201\\207QH84\\336\\247\\322\\234x\\357\\322\\235\\200S\\214\\012E#4\\231\\353\\232N\\375\\251\\005\\307\\232i#\\351K\\332\\222\\200\\023\\353H\\324\\242\\221\\250\\001\\007\\035\\250\\3174\\277\\2057\\257\\322\\200\\023\\265.9\\240\\034zPE\\000I\\037'\\212\\234r*\\274}j\\312\\212b\\037\\202\\006)\\310\\017|\\322\\034\\376\\024\\345n8\\246 v\\332\\0005\\037_Zs\\235\\304\\373\\322\\201\\323\\216(\\001T\\320G94\\270\\343"\\227\\037\\235 \\0320Oz\\033\\036\\230\\240q\\327\\212\\010\\0358\\315\\000 \\301\\365\\241\\271\\317Z\\017\\036\\224\\207\\035\\250\\013\\215n:\\346\\227#\\000u\\240\\002G$\\3230}\\350\\001\\300u\\375i@\\347\\320\\032E\\036\\203'\\326\\235\\310\\024Xc}\\217ZL\\2363K\\237\\256i\\010\\3478\\240\\004ny4\\302;\\012sri\\275\\373\\012\\000i\\375)1\\333\\025!\\306y\\357Me\\317\\265\\026\\001\\270\\355\\332\\232\\312O\\256*B\\247\\034Rc\\361\\024\\014gCJz{\\323\\261\\217J1\\223\\216i\\000\\320{R5+\\003@\\035\\216(\\001\\240\\343\\326\\227\\350h\\333\\324\\372R\\343>\\231\\240\\000\\200i:\\037z\\\\c\\234\\321\\214\\320\\002z\\3474\\271\\317\\024\\177Z(\\000\\310\\002\\231\\236i\\3542)\\241y\\031\\240\\007\\003\\201\\323\\351I\\337\\332\\235\\267\\036\\231\\247\\014b\\200\\032}\\2511\\223N\\0039\\240\\014\\236h\\001\\007\\245.1\\317zS\\323\\237\\326\\232@=h\\000\\311\\247\\216\\234\\346\\230\\0174\\271\\365\\315\\000\\006\\223\\330\\322\\361M\\352Oj\\000Q\\327\\024\\247\\351M\\351\\355Fr0(\\001\\300\\214\\014\\342\\233\\311\\343\\322\\214\\346\\224u\\036\\364\\000\\270\\247\\0161M\\013\\203\\357O\\3063\\234P\\002;c\\201Qu\\245s\\237\\2554\\032\\000r\\366\\251\\023\\353Q\\001\\315<pq\\351@\\037A\\374\\006 ZFy\\3105\\356\\203\\265xW\\300c\\373\\204S\\327?\\322\\275\\320\\036*$!\\364R\\003\\353Fi\\024\\205\\244\\2434P\\002\\322QHzS\\000'4\\205hQ\\315:\\220\\206\\205\\305(\\024\\264\\2319\\240\\007~4b\\214\\320(\\030\\270\\315\\035\\3519\\315\\015@\\012\\017Z:R\\003K\\332\\200\\014\\321HE\\002\\200\\024\\012(&\\233\\232\\005q\\324\\200w\\240R\\212\\030\\001\\024\\003Fy\\242\\220\\3034\\264b\\212\\000)84\\270\\311\\243\\024\\000Q\\236)3\\203N\\353L\\0049"\\212\\015%\\000-\\030\\301\\240R\\320\\002\\023GZ:\\322s\\357E\\300P(\\353KA\\240\\004\\024\\356\\242\\233\\322\\2274\\200NA\\245\\243\\275\\004\\320\\003@\\346\\227\\245\\031\\245\\246\\002\\012\\017Z\\005-0\\0123E%\\000)\\244\\024\\012Q@\\012(\\355HM(\\346\\220\\000\\024c\\2323Fh\\001h\\246\\212;\\320!OJA\\326\\227\\353@\\024\\306.qA\\365\\242\\212\\000)0ih\\244\\002\\343\\212A\\372R\\365\\244\\240\\005\\244'\\024\\003A\\352)\\200\\240w\\242\\224Q@\\\\N\\015)\\342\\223\\024\\270\\240\\004\\311\\245SI\\212p\\342\\201\\005\\030\\315\\024P\\002R\\023\\223N\\246\\346\\230\\023E\\315MP\\305\\212\\223\\326\\200!\\223\\255V\\220\\363Vd\\252\\262u\\2441\\311\\367}\\351\\342\\232\\235)I\\244!G4\\264\\224\\003L\\000\\212\\\\Q\\332\\212\\000\\212~\\005f\\331\\234\\335g\\336\\264\\347\\301SY\\266#7\\007\\353R\\367\\031\\321E\\367E:\\232\\237tS\\252\\204(\\244\\242\\201@\\300\\365\\305%\\015H=\\350\\013\\013Ji;\\320M\\000V\\233\\033\\305*\\364\\246L>zx\\351H\\004n\\225\\317\\352\\237\\353\\224\\373\\326\\373\\364\\256{R\\346\\340\\017zL\\245\\261\\257b?r\\265lU{!\\373\\245\\2535D\\0014\\003@\\346\\214S\\000\\351E\\024R\\000\\355E\\030\\242\\200\\022\\216(\\242\\230\\010k'[?\\270\\025\\254zV6\\274\\177t\\005!\\243\\000\\221\\232B1M#o\\343J\\015\\004\\221Hx\\346\\2049\\036\\224\\331\\272S\\220|\\264\\300\\261\\247s{\\037\\261\\255\\333\\377\\000\\272+\\017J\\377\\000\\217\\370\\353sP<\\201\\355H\\021\\236\\335kR\\337\\205_\\245e\\267_\\306\\265a\\030E\\372P6XS\\305:\\232\\234S\\251\\200\\323M\\247\\032ks\\322\\200\\032x\\250\\373T\\206\\243&\\223\\031\\034\\237t\\363T\\177\\216\\256J~S\\212\\246\\275M 7sI\\237\\312\\216\\324\\235)\\200\\274R\\346\\231\\212^h\\001h4Q@\\\\))i\\010=\\250\\000\\2434\\264\\336\\376\\324\\300Ph\\355K\\332\\220\\012B\\020\\014\\032p\\242\\216\\202\\200\\020\\212ZN\\264P1qI\\200)sI\\214\\320\\002\\2123@\\024P \\240\\012(\\315\\003\\026\\222\\216\\374\\3203@0=i:\\320)h\\020\\016\\224b\\201J{\\342\\201\\211Fh\\024\\247\\024\\000R\\016\\264\\240SOZ\\000u\\007\\212J\\\\P\\000\\015\\024\\204R\\212\\004.(4\\224\\023@\\3034\\003I\\326\\224\\014P \\024\\264\\224P\\000h\\305-%\\000\\024\\224\\352N\\324\\014\\005\\024Q\\370\\320\\027\\023\\255.(\\242\\201\\007N\\224u\\242\\2238\\240\\005\\306:\\321\\305\\031\\240\\214\\320\\0009\\240qI\\322\\224{P\\002\\321\\337\\035i\\011\\300\\346\\201\\311\\2441ii\\264S\\001i\\255K\\322\\212\\001\\0008\\245\\246\\3764\\264\\000\\270\\315\\024f\\233\\234\\361@\\205\\243\\232QE\\000\\024\\235\\351)h\\030\\264\\012@}y\\245\\024\\000\\036M%)\\244\\353@\\205\\024u\\242\\222\\200\\023\\234\\322\\203K\\212)\\014JPi:PzQa\\012:\\320zqH:\\321\\212\\006\\002\\224\\012@ii\\210N\\364\\016h\\317z\\\\\\322\\030\\224\\311\\2242\\020z\\021R\\036\\264\\215@\\217\\224\\276-\\351\\346\\313\\305\\327\\200\\200\\026B]p;\\032\\340_\\223\\3075\\356\\037\\264\\016\\226R\\362\\326\\365T\\200\\371BG\\255x\\214\\237x\\342\\265[\\031\\365"\\357\\327\\212kS\\333\\031\\246c\\332\\202\\301\\016=\\252\\340\\\\\\246G5Y0H\\035*\\324G\\345 \\343\\326\\204&T\\235B\\234Ub\\000\\347\\322\\255\\3163U\\033\\237\\2451\\2144\\207\\217jwoSM\\034\\365\\353R\\002\\023\\212S\\323\\275\\007\\255.(\\030\\235\\005(9\\036\\324\\037\\255 \\240\\0039\\2438\\244\\316)\\335h\\0013\\337\\002\\224~\\276\\224\\230\\342\\224P\\0020\\003\\240\\245\\007\\322\\220\\232U\\300\\240\\0049\\317^h\\035i\\324\\230"\\200\\023\\004\\236)ON:\\322g\\237j]\\334P\\000\\007\\313\\357J\\007\\255&h\\037Z\\000y\\351\\305'J\\007'\\2654\\342\\200\\001\\311\\315\\034\\322\\201\\315\\030\\347\\232\\004)\\0377=)\\017\\034\\363K\\357I\\301\\024\\300\\001\\3434\\247\\2504\\336\\331\\035(\\317_zC\\024\\201\\370P:R}h\\007\\003\\267\\326\\201\\013\\264\\375(8\\307j]\\334u4\\322}q@1A\\347\\351HNi\\001\\301\\247v\\365\\246\\002\\0126\\347\\322\\235\\3274\\321\\357H`8\\372Q\\2163I\\222:Q\\237N(\\0013\\315\\003\\236\\264\\016h\\376T\\300\\010\\030\\343\\363\\246\\221\\364\\245\\315!\\244\\002\\017z3\\315)\\346\\222\\200\\034\\206\\254\\306Nj\\252\\216j\\322\\017^\\264\\320\\231 #\\360=jL\\250\\350*5\\024\\354\\022q\\336\\201\\015\\376.sO\\030=:Q\\301oJz\\355\\035zP\\001\\333\\236)}8\\3055\\230\\037\\245.wt\\377\\000\\365S\\020\\204s\\234sM9\\366\\247n\\3063\\232C\\333\\322\\220\\306{P=\\350l\\016x\\244L\\344\\366\\367\\240\\0077^z\\323W\\223\\364\\251\\016\\017|\\034u\\246\\343h<R\\000\\350O\\031\\244b@\\347\\245&py\\024\\342x\\3051\\221\\277\\255\\0038\\343\\214\\322\\205\\311\\2477N\\224\\000\\321\\203\\315\\030\\002\\216\\3351M'\\363\\244\\000q\\326\\223\\036\\375i\\335\\007#\\232i\\353N\\340 \\347\\266qJ(\\307\\247zi\\340\\361\\320\\320\\000qF9\\342\\227\\214\\023\\212A\\214\\373R\\013\\212@\\307Ni\\273M8\\365\\243\\024\\014n\\323\\336\\214S\\370'\\036\\276\\224\\020(\\021\\036(\\307\\351N\\036\\370\\353J}\\005\\003\\030\\007\\031\\305\\024})9\\240W\\027\\003\\024qHO\\177JQ\\370t\\240`\\334w\\024dR\\023M=h\\020\\360i\\246\\214\\342\\201\\311\\240b\\344\\3474{\\212\\017\\2574\\204\\234s@\\013\\336\\220\\203\\3074\\200\\344\\320O\\257Z\\000^\\3434g\\024\\234\\367\\240\\343\\336\\200\\024\\214\\367\\244\\035}i\\340\\373R\\016\\275\\350\\001E(\\034\\346\\224\\012r\\217^(\\020\\213\\327\\232l\\215\\330qR\\226\\000c\\003"\\253\\271\\344\\3201:\\216\\364\\231\\244\\335\\3158~T\\000\\253\\351R',*0jD\\030>\\237J\\000\\367\\377\\000\\200\\3431\\253w\\311\\025\\356\\312+\\302\\376\\004\\214[E\\216~bk\\335\\023\\240\\250{\\211\\013E\\024\\001AA\\201J\\006\\005 \\024\\246\\220\\011\\316h4\\240QH\\000Q\\320P(<\\323\\001\\005\\004R\\342\\223\\265 \\020\\034S\\2057\\245.i\\200R\\342\\220S\\275\\251\\000\\202\\226\\220\\214Q\\232\\000ZJ^\\264P\\002g\\2321E/\\024\\304 \\353@\\240Q\\212\\006.(4R\\320\\002\\032Q\\305'\\024\\246\\213\\000\\206\\214\\320y\\244\\244\\002\\342\\201\\305\\024\\264\\300\\011\\244\\353\\212Z(\\0011JzRf\\224\\032\\000\\005\\030\\242\\2274\\200AK\\336\\222\\202i\\200\\032Q\\322\\220\\322Q`\\270\\271\\240\\320\\005\\004d\\320\\001\\217J(\\006\\226\\200\\023\\332\\200h\\317<\\321L\\0058\\353A\\024\\206\\227\\265\\000 \\024\\242\\2121\\315\\000!\\034\\323\\207JJ_J@'zZN\\264R\\001\\324\\332R))\\200\\240\\361F})\\007Z\\\\S\\001E!\\366\\2434\\224\\200Q\\234Q\\315/J\\015\\000\\002\\224\\322f\\222\\204\\001\\234\\023KI\\326\\227\\2650\\024QH\\005.3HB\\320i(\\0074\\300^\\364\\036(\\2434\\000R\\232AE\\000 \\245\\357E\\003\\255\\000K\\030\\025 5\\032v\\251\\017\\002\\230\\025\\345\\025]\\3075fCU\\234\\374\\324\\200|})H\\241zPh\\000\\315\\002\\212(\\001\\324P(\\240\\010n?\\325\\261\\252\\032w\\372\\342}\\352\\365\\327\\021\\261\\366\\252z`\\375\\355.\\2437\\323\\240\\2454\\213\\300\\247\\032\\241\\000\\243\\351I\\232QI\\214\\015&(jJ\\000ZC\\322\\201Ct\\240\\012\\322\\237\\236\\234:Tr}\\372\\221i\\000\\331>\\351\\256wP9\\272_\\255t2\\234)\\256r\\347\\346\\273\\037Z@oZq\\022\\347\\322\\254T\\026\\374 \\251\\352\\300A\\326\\227\\275\\031\\243<R\\020\\032A@\\245\\351L\\002\\220\\322\\365\\246\\232@-\\024\\200\\322\\323\\001\\015bk\\337v\\266\\215bk\\275\\000\\2443\\011\\206zS{R\\372\\372\\323OZd\\215#\\216i\\001\\300\\355\\315=\\271\\2467\\035)\\001kF\\031\\276Z\\331\\276\\373\\365\\217\\240\\214\\337\\037L\\023Z\\327\\2472q\\212\\030\\321L\\214\\270\\372\\326\\274]\\005d\\017\\2761\\353Z\\321g\\212\\020\\023\\212ZAKL\\004je<\\323\\017z\\000k\\034\\012gQN>\\224\\336\\324\\230\\310e\\373\\274\\325E\\306\\352\\263?CU\\207Z@m\\232L\\322\\320qL\\004&\\200h\\240\\032,\\002\\2323E%\\002\\02394\\246\\222\\227\\255\\003\\001E\\031\\242\\213\\210\\\\\\321M\\305;\\322\\200\\022\\226\\212(\\030q\\326\\223\\035\\351\\007^i{P\\000y\\245\\246\\257<R\\232\\004\\030\\240\\322\\203GZ\\000\\024R\\232J3\\3051\\200\\245\\244\\243<R\\001)OJAN\\342\\200\\033\\357J\\276\\364\\277\\312\\212\\001\\210E.(\\244\\024\\010\\011\\242\\220\\322\\212\\000\\015/j1GJ\\006\\031\\310\\242\\226\\220\\320!3\\305\\031\\242\\212\\0001KE\\024\\000u\\240P(\\240\\005\\244\\243\\275- \\022\\216\\324u4S\\000\\244\\305:\\2234\\000\\016\\005\\031\\244\\245\\240\\000\\320(\\243\\034\\320;\\205%.(\\240@z\\321E \\353L\\005\\372\\321\\212:QH\\002\\226\\222\\2234\\000\\246\\223\\275-\\024\\000\\240R\\032(\\357@\\012)):R\\3201E\\024})\\005\\002\\024Pi\\240\\322\\320\\002\\034\\343\\212U\\245\\355I\\212\\000S@\\346\\220\\232Q@\\001\\351IFih\\001(4g\\232\\015\\003\\026\\2234\\016\\264\\2309\\240B\\217\\326\\226\\216\\224f\\201\\334O\\316\\227\\034Rf\\220\\036h\\020t\\353J9\\240\\365\\245\\351@\\013M"\\2234\\244\\342\\2008/\\214\\032O\\366\\227\\204\\356\\030\\015\\315\\010\\363=\\370\\353\\212\\371^t\\332\\355\\220A\\364\\257\\266\\265\\033u\\272\\262\\232\\027\\000\\253\\251S\\232\\370\\377\\000\\306\\272Siz\\365\\345\\253\\003\\265$!~\\225Qd=\\316u\\271\\366\\246\\261\\343\\232sq\\333\\360\\246\\236\\0061T1\\001>\\325f\\337\\346R?\\001UA8\\355V q\\350)\\240\\031q\\303z\\216\\225Y\\270\\347\\002\\256\\316*\\233\\234t\\244\\301\\021\\216M \\3004\\246\\223\\247\\241\\024\\206&9\\372PN\\017"\\212\\033\\234\\3201:\\320:\\363I\\315\\003\\324\\320\\002\\236h\\301\\024t\\245\\0074\\000{\\322\\036\\264\\034g"\\201\\315\\000\\035\\350\\374ix\\307\\2657\\3334\\000\\271\\035\\272\\321\\370\\360h\\301\\024\\237\\327\\275\\000;\\0314\\230\\366\\245S\\327<\\322\\320\\002\\036\\224t\\340\\320:\\322\\355\\3174\\000\\001A9\\377\\000\\032@x\\301\\024\\271\\240\\006\\257-O<g4\\234c\\336\\220\\237Jb\\035\\333\\257\\024\\230\\305 \\351K\\237ZC\\032A\\315/|u\\245#\\035\\251\\007\\024\\000\\244qHE\\037N\\224\\235z\\016h\\025\\204\\037\\312\\203\\301\\366\\243\\277\\326\\224\\214\\217\\2551\\206s\\326\\201\\370\\342\\223\\0038\\024\\271\\365\\031\\244\\002\\203\\353\\326\\223\\276iG\\345H3\\365\\240\\000\\320\\007Z;sGj\\000N\\375\\350'\\326\\217\\326\\202?*\\000N\\277ZCJON\\264\\323@\\0004\\021IK\\311\\024\\000\\252pFzU\\245<f\\252\\257\\245Z\\210\\215\\2704\\300\\221O\\255.x\\343\\212A\\317c\\355I\\234\\220\\015\\002\\034\\244t\\346\\244\\003=MF\\243\\237CR.:\\023\\234\\373SB\\270\\2140\\016\\177*N\\207\\025#\\014\\363M\\333\\320\\3474\\3040\\234\\2347\\351G=\\351\\333rsK\\201\\324\\320\\201\\214+\\223@\\343\\201J\\000\\317\\024\\255\\327\\00340B}\\352O\\272\\330=}\\252A\\201\\222pN*#\\352jF)\\354=\\3513\\307j\\001\\354i\\010\\317\\002\\200\\024t\\244l`\\223\\311\\024~B\\232F\\356\\207\\362\\240`9\\006\\200\\0069<\\320V\\201\\326\\201\\010\\331\\352i\\275M?\\217\\306\\2028\\364\\244\\003{\\372{\\322\\236{\\212\\007\\3234P41\\262(Q\\223O\\331\\221@\\036\\231\\035\\250\\001\\000\\350q\\232O~\\236\\324\\255\\333\\031\\244\\376t\\000\\270\\317\\034P{\\203\\203I\\234t4\\207\\223\\317z\\0064\\2329\\307\\265.;\\012i\\340\\034P &\\216\\275:\\322\\020NiGJ\\000P2ri\\011\\244\\301\\240\\212\\000\\\\\\344SH\\245\\351\\353FA\\367\\240`\\007\\034Q\\202:\\232\\007\\007\\322\\216\\377\\000J\\0003\\3234{P\\177#I\\232\\000L\\016\\324\\270\\317\\345E\\031\\372P\\002\\366\\305\\000q\\317z\\000\\310\\245\\372\\320\\002\\216=\\315(\\006\\205\\030<\\323\\270\\367\\240C\\325x\\317j\\010\\371x\\30506x\\357F\\356)\\330\\006\\267Z\\214\\203Os\\232\\214\\362)\\000\\200S\\251\\243\\336\\235\\332\\201\\206:b\\236\\231\\246\\251\\365&\\236\\235@\\024\\001\\364\\027\\300V\\377\\000E\\217<b\\275\\321zW\\206|\\011L[\\305\\317\\\\\\327\\271\\212\\211n$;4P(\\307\\024\\206\\034v\\240zQ\\200\\015#u\\240c\\211\\342\\233\\336\\223\\2774\\341\\212\\000Lw\\245\\024\\235\\375\\251h\\020R\\032_\\255\\035i\\014Lf\\212SI\\232`\\030\\245\\2434P\\001F(\\242\\220\\000\\243\\275\\024\\001@\\012)1\\212ZL\\323\\000\\245\\244\\245\\0074\\200L\\363K\\326\\220\\321@\\013\\336\\212CB\\323\\000\\240\\321GjB\\000i\\337Jh\\353J(\\030zPzR\\361HGj\\000N\\264\\274\\214\\321\\212\\032\\230\\007>\\264f\\220R\\212\\000ZC\\315)\\244\\246 \\351@9\\2444\\240R\\000'\\024\\242\\223\\031\\245\\240b\\323I\\372\\322\\364\\246\\201\\315\\000(\\245\\242\\220\\320\\002\\365\\245\\246\\322\\343\\236\\364\\000\\242\\216\\364\\234\\321\\223@\\012qF{QHE \\026\\216\\364(\\242\\230\\005\\007\\322\\212\\015\\000\\030\\240\\232QM=h\\001\\302\\214\\320);\\363C\\001G\\322\\226\\216\\224\\206\\220\\205\\2444f\\212c\\000y\\2454Q\\212\\004\\000\\321\\236h\\240S\\001h\\024\\032N(\\030\\271\\346\\227#4\\230\\346\\224\\221@\\203\\255\\024P\\005\\000\\024\\016\\264\\032@y\\240\\011\\322\\236i\\261\\364\\245jc+\\311\\326\\240o\\275S\\311P7,i\\010z\\232u5iM\\000\\036\\364P\\006)q\\315\\000\\004\\322\\322\\036)I\\342\\200 \\273?\\2725WK\\037\\2755=\\341\\375\\323TZG\\336\\346\\223\\334\\031\\270\\275)i\\007J^\\242\\250`h\\024Q\\336\\220\\001\\246\\323\\251\\274\\012\\020\\205\\246\\232:\\322\\023\\305\\014ew\\345\\275\\351\\343\\245F~\\375<t\\244\\200d\\277t\\327;)\\377\\000MQ\\357]\\024\\347\\010k\\233<\\337\\217\\255\\014gE\\007\\334\\025)\\025\\024<(\\372T\\240\\325\\022\\004R\\322f\\202M\\000)\\244\\244\\353K\\234P\\002\\323M-%\\000\\024\\264\\204\\361H9\\240\\000\\326\\016\\274\\330`+y\\272W;\\257`\\270\\315!\\231\\004\\361\\305&}i\\334\\032a\\034S$\\0151\\215;\\025\\034\\203\\214\\320\\005\\377\\000\\017\\217\\364\\307 q\\266\\264\\257\\033\\367\\306\\263\\2749\\223s!>\\225~\\363\\375i\\244\\301\\020\\250\\314\\253\\365\\255h\\207\\025\\221\\027\\372\\325\\372\\326\\264}(C%\\006\\227\\223H)A\\246\\002t\\246\\232y\\2465\\0001\\272\\324t\\366$Tg\\336\\245\\214\\212\\177\\273UT\\347\\353V\\256\\017\\310j\\242\\360h\\003p\\376T\\207\\217z\\024\\347\\212CT!\\331\\244\\351A\\024P\\002\\346\\220P\\264\\246\\220\\010}\\251G\\024\\334\\322\\323\\030\\247\\332\\201E!4\\204.h\\240Rf\\200\\035E&is@\\010h\\353\\322\\2123@\\300v\\245\\374h\\244\\240B\\321I\\232(\\001i;P(<P\\002\\016\\276\\324\\352N\\364\\242\\201\\211\\212ZC\\326\\226\\201\\005\\002\\222\\212\\000u!\\244\\315-\\000\\024PE\\024\\000\\271\\244\\317\\024\\270\\315%\\003\\270\\012ZL\\320(\\020\\246\\233\\232Z\\015\\000(\\242\\220sK\\365\\240`(\\243\\241\\242\\201\\005.x\\2444\\016\\224\\000\\224\\032:\\032Z\\000N\\324\\016\\264\\264{P\\200?\\032(\\240\\3201E%\\003\\245\\024\\0103E\\030\\242\\200\\020\\012Z>\\264P\\002\\232m\\004\\322P;\\013\\307\\275-\\030\\242\\201\\001\\031\\240R\\036i\\324\\000\\235\\3504\\224\\264\\000v\\242\\220\\365\\245\\240b\\012Z(\\240@E\\031\\244\\315/j\\006\\036\\324R\\001K\\336\\200a\\336\\214\\321\\336\\216\\324\\010SM4\\264\\200\\346\\200\\027\\024Ph\\351@\\300\\320(\\0074\\032\\004\\006\\201\\357KHh\\000\\243\\024Q\\336\\200\\016\\202\\227>\\264u\\244\\240\\004\\024\\246\\214b\\212\\000k\\016\\015|\\351\\361\\343J\\3736\\274\\227j8\\235A\\340zq_F\\032\\363/\\216:H\\274\\360\\332\\335\\242\\026{f\\317\\313\\350x?\\322\\234^\\244\\313\\271\\363\\024\\337x\\216sQc\\203\\305\\\\\\272\\213i'\\232\\251 =y\\255Eq8\\340b\\247\\200\\017\\306\\252\\260=\\372\\325\\213rA\\006\\225\\306K"\\376\\265RQ\\311\\365\\255\\011@\\362\\263\\324\\232\\242\\343\\2569\\244\\301\\025\\332\\231\\223\\232\\224\\377\\000\\221Q\\021\\216\\264\\206+z\\322\\001\\336\\220\\236\\324d\\3201N\\011\\024\\230\\374)\\007\\2774\\244\\221@\\011\\337\\255;\\037\\2257\\024\\343@\\011\\217\\304Q\\203K\\332\\200\\324\\000\\230\\245\\351\\364\\244'\\232@py\\240\\005\\007\\353\\232\\017Z\\001\\342\\223<\\320\\002\\344\\032p\\357M\\306zR\\203\\365\\240\\005\\3174\\237N)\\033\\255*~\\224\\000`w\\244\\364\\353JO\\326\\214{\\320\\000i\\007\\351F\\017z^1\\323\\2550\\014d\\321\\214\\032\\010\\350{R\\346\\220\\206\\206\\346\\224\\363@\\024w\\300\\240\\020t\\024\\235\\011\\240\\363\\336\\203\\322\\201\\215\\316z\\365\\247\\216\\236\\324\\335\\277\\235(\\374i\\200w\\305\\035\\371\\024\\017\\177Z\\017N\\224\\2009\\357@\\024\\017J\\\\\\340\\372b\\200\\006\\364\\244\\0350h<\\322t\\240\\001\\2513\\370Q\\371\\320h\\020\\207\\257Z?\\235/^\\224\\237\\326\\201\\210W'\\212:S\\301\\307\\322\\230y\\246\\002\\250\\357V"9\\351U\\352x1\\336\\204\\004\\343\\217\\255\\004\\023\\364\\245\\344\\216)\\331\\030\\317J\\011\\005S\\334\\362=i\\330\\3434\\325<\\016y\\247\\203LV\\000\\331\\300\\364\\245\\35089\\246\\260\\306qI\\334s\\212\\0068\\017\\\\\\320G_\\353M'\\000\\012w\\004c\\275\\000"\\361\\336\\233\\374Y\\353K\\216x\\342\\224S\\001\\214\\336\\234f\\220\\344\\365\\245nI\\244'\\240\\315!\\010\\0174\\361\\214{\\323=\\250\\000\\203@!X\\372\\232`=\\317\\024\\342;\\323N1H\\241@\\316=(4\\320iA\\365\\346\\200\\024\\017ZF\\366\\243>\\203"\\220\\340r:\\320\\265\\020\\003\\216\\275i\\331\\310\\246\\225`p\\300\\203\\301\\374\\351\\330\\343\\220sM\\253\\000\\200zR\\036zP\\331\\000\\021\\337\\322\\233\\273\\217Z\\221\\216\\034g\\245 #\\037Ja8\\034v\\240w\\365\\240\\005\\317<\\322\\036z\\3220\\374\\351\\235\\017Z\\000\\2238=qI\\333\\241\\244''\\212^\\335h\\260\\011\\236i\\331\\250\\351\\313@\\012x\\244#<\\320~\\274P(\\030\\203\\236\\264\\274f\\214\\014\\320x\\036\\342\\200\\020\\221\\322\\2323\\223N\\357\\352(\\036\\330\\240\\000\\363M\\350i\\3128\\351K\\216}E\\000'\\003\\265\\001{\\323\\217\\240\\240t\\301\\376T\\010P8\\310\\353I\\316i\\330\\305\\035}8\\246!GO\\2557?7zU<S\\016\\013q\\201E\\202\\344\\230\\007\\237\\347H\\374\\364\\240\\034\\016\\324\\322Nq@\\304 g\\322\\232\\177Jq\\024\\334\\322\\000\\306h?\\225'\\362\\243\\353\\232\\006?\\247\\322\\237\\030\\313\\016\\265\\030'8=)\\361\\365\\036\\324\\320\\037C|\\013\\346\\336.O\\312\\010\\257p^\\225\\342_\\002\\210\\373\\034dz\\327\\266\\251\\254\\336\\340\\200\\236i\\335\\251\\275ii\\0143\\315\\004\\003@\\365\\240P\\000x\\245\\024Q\\232\\000oCN\\316{\\361M\\317\\256i{P\\000Nh\\240\\014P\\016i\\200\\230\\346\\227\\212\\015&)\\000\\264sIJ(\\020P\\015\\004f\\201\\322\\200\\024\\321I\\2321\\216i\\214\\017\\024\\277\\225%\\035=)\\000\\264\\001J\\005!\\244\\000h\\024\\000(\\240\\002\\205\\034sHM(4\\300Z(\\024\\204P\\000:\\322\\342\\220R\\322\\000\\245\\353M\\353GJ\\000^\\3645\\024\\036\\264\\300E\\351K\\336\\212CL\\007RsI\\232u!\\006(<QHs\\232C\\027\\265\\024\\235)9\\315\\0008u\\243\\024Rf\\235\\300QA\\024\\016\\224\\032\\000N\\224\\264\\235\\351zR\\001M&}\\250\\353J(\\000\\315\\024\\323\\305\\000\\323\\001zP(\\036\\264P\\002\\363\\353E \\245\\240\\004\\007\\351K\\201@\\024\\202\\200\\270\\354\\321E%\\002\\027<R\\016iz\\320\\006\\005\\000!\\024\\242\\212(\\030t\\245\\244\\034\\323\\215\\002\\022\\201IFp)\\200\\246\\201\\326\\223\\232Q\\322\\201\\213E\\030\\315\\024\\000\\242\\203@\\240\\320 \\244\\035h4\\320y\\240\\013I\\322\\225\\271\\024\\330\\317\\024\\346\\340P4W\\220\\325b~j\\261&\\015W\\307\\315@\\022\\247JS@\\034Q@\\2034\\271\\244\\242\\200\\024\\321\\212(\\240\\012\\327\\234D\\324\\315(rio\\377\\000\\324\\232M\\034|\\242\\227Pf\\320\\351KH\\275(\\252\\001G4\\012\\007\\024R\\001\\015!\\024\\275)\\015\\000 \\351H\\375)})\\032\\220\\312\\337\\305O\\355L\\007\\346\\247\\214\\322\\002;\\217\\365f\\271\\325\\347R\\343\\326\\272\\013\\223\\210\\215s\\366\\337\\362\\0204=\\307\\320\\350\\242\\037(\\251\\005G\\037\\335\\025 \\252$)\\010\\315-\\024\\300)\\017&\\212(\\001i(=);\\320\\000)h\\242\\200\\032\\375+\\235\\3279\\230{WB\\365\\316\\353\\004\\031\\3104\\014\\311\\351J\\324\\255\\320\\323s\\221\\216\\364\\020\\306=1\\271Z\\220\\362y\\250\\337>\\202\\230\\032\\236\\034Q\\272V\\366\\253w\\177\\353\\015A\\341\\261\\373\\267&\\245\\271\\346V\\346\\245\\224\\206[\\3630\\255T\\030\\254\\253nn\\006=+Y(@H\\242\\214`R\\012\\\\\\323\\001\\2704\\204f\\225\\21574\\014a\\353M4\\255\\326\\232j@\\257u\\320Uq\\305Ou\\367j\\274}(\\003p\\200)1A4\\231\\246!\\306\\220QGJ`\\007\\212L\\322\\342\\212@'ZZJ_J`\\000\\363A\\242\\224u\\240\\006\\201\\212R)M \\244;\\200\\245\\2444\\264\\010C@\\353E\\024\\000\\242\\2274\\200\\321@\\302\\201I\\212Z\\000\\0074\\247\\245 \\245\\240BR\\217jJ^\\324\\000QGj(\\000\\2458\\246\\232S@\\011\\212QE\\024\\000\\275\\251\\242\\224\\232J\\000Z;\\322g\\024\\264\\000\\230\\346\\203KA\\240\\004Z^\\264\\001\\315- \\001E\\035))\\214\\011\\244\\353F(\\024\\010p\\240\\340Q\\212(\\001:\\321\\237jQI@\\3054\\332Z\\001\\240A\\332\\2279\\243\\212LP\\002\\321Fh\\240\\002\\233\\336\\234:\\322b\\200\\024Q\\332\\220\\032S\\322\\220\\302\\217z@y\\245\\240\\0034b\\222\\202x\\240C\\251\\015\\000\\321@\\007zN\\264\\246\\201L\\002\\212(\\240\\000QF)h\\001\\247\\232Z(\\240\\003\\245\\024Q\\212\\000:QGJny\\342\\200\\027\\024\\032)s@\\013\\357IE\\024\\014LR\\2123I@\\012h\\353HM\\002\\200\\014sJzQI\\234\\212\\004\\003\\255/zA\\305)\\240\\005\\242\\220PO\\024\\000\\036\\225\\221\\342[\\001\\250\\350\\267v\\207?\\274B\\006+XSd\\031\\006\\220\\231\\361v\\271j\\326\\227\\363\\302\\300\\374\\216G\\353Y\\016\\016Mzg\\306m i\\276&\\226e@\\261\\\\\\035\\313\\375k\\315\\345\\3078\\255S\\320\\204U'\\236sR\\247P\\006E1\\305:\\022C\\222:c\\275\\005\\026\\330\\037$g\\203T\\244\\007=j\\363.c\\036\\334UG\\\\\\234P\\005R9&\\233\\370\\363R\\260\\316j\\006\\310<v\\2441H\\317&\\233\\336\\200x\\315\\006\\201\\207\\343F\\007<qKGZ\\000;dt\\244\\315\\031>\\274SE\\000?\\214{\\323{\\366\\245\\372Q\\216{P\\000)\\010\\340\\032S\\300\\243\\214\\016h\\000\\3074\\021\\315(\\024\\204`\\365\\240\\000b\\214p)3\\330R\\365\\240\\005\\366\\245\\036\\234Rt\\245\\030\\240\\004<{\\322d\\372\\320i?\\032\\0000{\\232Q\\322\\227=\\270\\245\\030=\\361@\\0102>\\224w$\\322\\234\\203Hs\\307Z\\000_\\255\\034Ru\\346\\216\\3640\\020\\343\\255\\003\\324\\347\\024\\270\\024c\\353@\\204'\\2121\\370S\\210\\343\\203\\3150\\016\\344\\3764\\000\\243\\275\\034RR\\320\\002\\347\\322\\220\\372\\320x\\240\\2368\\240\\004\\240{\\232\\001 \\322\\355\\356h\\030\\200R\\037zvi8\\307\\265\\000&)\\264\\362)(\\001\\017\\034R\\201A\\353J8\\353@\\006=\\351\\321\\234\\032o\\351NA\\310\\347\\2554\\005\\2602\\240\\203\\214R\\266;R\\305\\367pi\\030\\200p\\0052EN\\231lS\\230\\177v\\232\\006GZzq\\337\\212,+\\211\\221\\353\\315 '\\320PTQ\\354)\\200\\200\\346\\244\\003\\030\\317\\002\\230\\006=qR\\002\\010\\343\\265!\\215\\352?\\032k\\266=\\276\\224\\243"\\232\\3353\\216\\275\\251\\014BA\\003\\353F0)\\006\\001\\306y\\244\\316x\\246!W\\201\\316iw\\000)8\\367\\305\\0123\\311\\244\\002u\\353F1\\355O\\352>\\264\\306\\031\\036\\246\\213\\214o\\250\\353\\315<\\000}\\217\\326\\232W\\2674\\230+\\315\\0008\\256)\\010\\317NiA\\353\\236M7\\234\\320\\204\\03599\\3157q9\\357\\365\\245\\340\\212P\\243\\217Zw\\001\\246\\232EH\\314\\240Tl\\337\\316\\244cH\\357GJRA\\351HE\\003\\025\\271\\244#\\361\\024\\002{\\321\\214\\034P\\003q\\372P\\271\\247\\217\\177\\312\\220\\234t\\240\\004\\003-\\305.qJ\\016A\\340SM\\002\\016z\\366\\243'\\030\\240\\0147\\255\\015\\323\\214P1\\275\\3714\\354\\376t\\200d{\\320H\\240\\004\\240\\012\\\\z\\364\\243\\004s\\332\\201\\012\\006G\\245*\\373\\320)q\\236\\364\\014N\\364\\3608>\\224\\021\\3068\\315)\\351\\234S\\020\\200\\322\\021\\223\\323\\024\\321\\364\\247\\016i\\012\\302w\\244\\003=x\\024\\264t\\035\\361@\\304\\007<\\0321\\337\\212\\006\\016I\\355G^\\230\\3050\\020\\236)\\247\\250\\245\\031\\315!\\311\\240\\000\\016}\\350&\\227\\247\\030\\240{\\322\\030\\243\\360\\247\\240\\311\\034\\346\\243\\307<T\\261u\\003\\363\\246\\204\\317\\242\\276\\005/\\372\\004D\\3659\\351^\\324\\243\\212\\361\\277\\201\\303\\376%\\260}+\\330\\324\\324Ij\\010u%/z*F\\030\\342\\226\\222\\201@\\012E7\\024\\354\\212C@\\305\\024\\230\\240R\\360(\\0004\\224\\271\\243\\212\\000(<\\322\\016\\264\\246\\230\\011\\212(\\315\\006\\220\\205\\024\\207\\332\\223<\\322\\223La\\216\\375\\251I\\240\\212OzB\\024\\012CE\\030\\365\\241\\214\\\\\\361E\\000\\012\\017\\024\\200(\\353M\\3174\\356h\\000\\374\\2511\\310\\240u\\247S\\000\\315&iqI\\212\\000\\001\\240\\216h\\242\\201\\007N\\224Px\\244\\034\\3201\\302\\220\\361K\\214R\\032\\000QA\\244\\024\\352\\030\\011I\\232SE\\002\\020\\037\\255(\\244\\351J(\\030\\032N\\202\\227"\\226\\200\\033\\237\\255.3HG4\\352@\\002\\203I\\315\\030\\240\\005\\244"\\224zQ@\\005\\024\\206\\226\\230\\011\\212\\\\QHM0b\\321H)zR\\260\\203\\245-!\\240\\012,1h\\024\\032\\005\\000'4d\\322\\366\\2434\\300JQ@\\240\\365\\240\\002\\226\\233\\326\\235@\\005\\035i\\015-!\\005\\007\\024\\012Q\\315\\003\\022\\224\\032)\\007\\024\\010Riz\\320h\\002\\200\\026\\220\\320N(\\357L\\002\\220rii\\243\\357P\\005\\210\\270\\247?JjS\\233\\2450*\\277Z\\210\\037\\232\\245\\223\\232\\204u\\342\\220\\311\\207J)\\007Nh\\365\\240C\\251)E\\006\\200\\023\\232^\\331\\244\\024P\\005;\\366\\304F\\244\\321\\307\\313Pjg\\367ugH\\373\\202\\247\\2503V\\212\\007J2*\\3001\\212\\005\\035\\251\\005 \\003Fx\\240\\321@\\0051\\317\\006\\237Q\\277\\000\\322\\031]z\\323\\3051~\\365<P\\0047g\\367f\\260\\355\\0007\\254kn\\354\\376\\350\\375+\\017O\\033\\257\\011\\367\\245\\324}\\016\\205z\\012u5zS\\252\\211\\016\\324b\\212;\\323\\000\\305-\\024\\203\\255\\000)\\342\\232i\\306\\223\\212@\\030\\342\\217Z\\011\\2434\\300c\\236+\\232\\325\\277\\343\\344\\327H\\375+\\231\\325\\033\\375!\\250\\031\\237'\\363\\246c\\336\\244\\343\\275!\\374(%\\221\\346\\221\\275\\351\\307\\237ja\\034b\\2006\\264\\001\\373\\207>\\364\\267?}\\276\\264\\355\\013\\345\\265\\177\\2552r\\014\\215\\365\\244\\306\\204\\263\\377\\000_\\323\\265j\\247j\\312\\262?\\351\\006\\265\\227\\221M0c\\351)h4\\000\\206\\230\\306\\235\\3155\\272P\\003\\0155\\251\\307\\2450\\232\\221\\225\\356G\\255@\\274\\012\\232\\350\\361P)\\355H\\015\\263J\\005\\024\\244\\325\\010CH}\\2504f\\230\\005/\\024\\224qH\\005\\242\\222\\226\\200\\014\\002h\\372RP(\\000=(\\034\\321\\337\\332\\226\\200\\012\\005!\\243<P\\001\\214\\032\\015\\000\\361H:\\320\\002\\322\\212\\005\\035\\350\\0004R\\032Z\\000\\000\\243\\275\\031\\240\\320\\000h\\317\\255!\\242\\200\\035\\232)(\\240\\003\\245\\034\\346\\216\\364\\264\\000\\224\\264Q@\\001\\243\\034Q\\332\\212\\000@('\\024\\264b\\200\\0234\\242\\222\\201@\\016\\244<\\372\\321E \\020\\322\\346\\216\\224\\204f\\230\\013I\\320\\322\\321@\\302\\216\\324w\\242\\201\\011K\\234\\322R\\342\\200\\012AKE\\000\\024\\264\\224f\\200\\027\\212)\\007\\037J^\\364\\000\\231\\242\\203I\\320\\320\\002\\320iE!\\240`('\\232J\\005\\002\\026\\200(\\240\\032\\000=\\215-\\024f\\200\\003E\\003\\232(\\0004\\012(\\024\\000\\271\\246\\322\\321@\\005\\035(\\243\\275\\000\\024\\264\\332Z\\000(\\024\\235\\351z\\320\\001HG4\\264P\\001E\\024t\\240bw\\240\\322\\321@\\204\\306)h4\\012\\006\\024Q@4\\010:\\032\\015\\024\\224\\000\\275\\251\\007Z\\005\\030\\305\\000\\024\\244f\\2234\\003H\\017$\\370\\367\\243\\233\\255\\032\\013\\330\\320n\\201\\260H\\364?\\344\\327\\316\\323|\\244r1_c\\370\\323N]O\\303\\327\\266\\314\\273\\267FH\\037J\\370\\367P\\266{y\\345\\205\\262\\035\\030\\202=1ZE\\231\\275\\312o\\206\\344t\\246\\247\\312sK\\332\\223\\215\\337\\215P\\356[F&>\\330\\250\\230\\0022EM\\037+\\306*)\\201\\035\\350\\013\\225\\245\\034\\036\\225\\003\\2575<\\207<T\\017\\327\\275&P\\3228\\007\\212A\\317\\024\\354\\347\\247JoN\\364\\206!\\344\\320\\016(oj;P\\001\\332\\220t\\245#\\276i(\\001~\\224\\231\\310\\364\\245\\036\\371\\244'\\332\\200\\016\\276\\224t4\\177J\\001\\374\\250\\001\\011\\374\\251z\\365\\245>\\364\\203\\246y4\\000\\270\\357@\\353@<{\\320\\016:\\362h\\000\\301'\\245/\\265\\006\\223\\234\\346\\200\\024\\014\\375h4/\\037\\215\\030\\366\\240\\001\\205\\000\\376\\034Rs@\\240\\007\\003\\232J;\\361G\\351@\\205\\030\\365\\344Q\\337\\212?\\0320GZ\\006!\\244\\015\\3158\\036\\243\\260\\246\\203\\310\\365\\240C\\272\\373S\\033\\223J\\017J_~\\364\\300h\\245a\\236\\224\\001\\317\\024\\240\\343\\004\\322\\001\\244\\021E.;\\3664\\270\\346\\200\\023\\030<\\346\\227\\353\\232B1\\327\\212Bq\\353@\\305 \\361\\212A\\352(\\317\\024g\\265\\000'l\\322S\\217~\\324\\203\\257\\031\\240B\\252\\232s\\373u\\240\\235\\243\\247Zi4\\0142I\\300\\247\\247\\004f\\243\\035\\310\\247\\251\\335M\\001m[#\\013Fy\\316j8\\200\\306\\015J\\000\\003\\332\\250\\206\\031\\350y\\247\\017sL\\316\\011\\247(\\374\\251\\005\\207qI\\324\\322\\266q\\324\\032nA\\364"\\204\\002\\251\\365\\365\\247t\\346\\223\\252\\177AM=\\351\\201!\\301\\034qQ\\223\\216\\364\\370\\306pNz\\3227\\007\\221\\305!\\2217\\024\\3409\\244'\\234\\003\\201@\\353\\315\\0008\\257\\034S@\\240\\016rirA\\244\\002\\023\\201\\305 \\035i\\303\\361\\245'\\034\\347\\212\\000h\\340PXt\\245#$\\032ozc\\270\\323\\326\\234px\\2444\\203\\007\\216\\324\\010=\\273\\012Bx\\247t\\372Sq\\223\\232@0\\234\\216i\\204\\014\\034T\\216;\\364\\250\\311\\342\\201\\202py\\245$\\267\\320S\\007\\363\\247g\\214P\\002\\236\\231\\305 ?\\2354\\3658\\240\\014\\320\\003\\313qI\\324\\322\\360\\005\\003\\212\\000\\012\\340\\321\\327\\2323\\355\\305\\004\\372R\\000\\306y\\244=}\\250\\351F\\011\\240b\\364\\317Zn3\\365\\245\\316(<\\340\\320\\002\\001\\3174\\356O\\024\\231\\364\\024\\345\\037\\2151\\012?Zw\\327\\212T\\305#c\\261\\357@\\010Ny\\246\\372\\372P\\335\\005&;v\\244\\003G\\\\\\323\\370\\374)\\024c\\255.3\\323\\261\\246\\000Nq\\332\\2064\\021\\327\\232J@\\003\\221K\\234\\017Z@FNE#\\036qL\\003#\\240\\243\\2657\\276i\\304\\223\\322\\220\\011\\324\\320{R\\001\\315.8\\353@\\307\\017Zz\\032gN?Z\\222$\\313\\001\\327\\232b>\\224\\370\\036\\270\\323 '\\272f\\275yk\\312\\276\\014G\\267J\\203=vc\\364\\257V\\025\\022\\334\\020\\264g4Rc\\0256\\030\\342)(\\315\\035\\350\\0011K\\322\\201\\3274\\032\\006'z^\\324\\206\\224sL\\000{\\321\\336\\212)\\000\\200Q\\216\\364\\264\\207\\265\\000- \\024R\\236\\224X,&(\\351@<Q\\234\\323\\001\\304\\322f\\202M\\034R\\0013N\\244\\305\\006\\200\\000h\\240u\\315\\024\\000\\240b\\201@4P\\000:\\321H3Fh\\260\\016\\007\\212)\\277J3@\\012x4\\202\\227\\265\\003\\255\\000\\007\\223\\315(\\340SM\\000\\346\\230\\016\\2444\\023I\\234\\322\\000\\357N\\246\\216\\264\\242\\230\\256\\031\\305\\031\\243\\024w\\244\\002\\036iGNM;\\024\\204P1\\000\\245\\035i:P\\0174\\000\\271\\240\\237JCK\\355H\\000\\036)z\\322`\\012)\\200Q\\327\\332\\214Q\\212@\\024Q\\221\\336\\212\\240\\012QE%\\000\\024\\271\\2444\\243\\245\\000\\024g\\024\\2304\\242\\201\\006x\\240QGAH\\003\\251\\300\\245\\350)\\007Z\\0151\\210\\0174\\343M\\002\\237\\236(\\001;QE\\024\\010\\005)\\344Rw\\245\\024\\000\\200S\\207\\024\\334\\323\\250\\000\\244\\305\\035)h\\000\\315\\002\\212(\\000\\242\\212Q@\\011\\232j\\375\\354\\322\\221H\\275h\\002\\312t\\241\\372\\032\\022\\207\\240\\012\\317Q \\347\\232\\226C\\200j\\030\\3178\\240d\\364RQ@\\205\\353A4\\003\\305'z\\000Z(\\241\\272P\\006~\\242~J\\271\\245p\\225\\237\\251\\036\\000\\255\\035+>Vi-\\301\\232=\\2504\\012\\015P\\000\\240g4\\242\\201@\\001\\244\\2454\\234R\\030\\207\\212\\216S\\362\\232\\220\\324R}\\323H\\012\\361\\362y\\251{Ti\\324\\324\\246\\200*^\\234B\\337J\\310\\323\\016n\\211\\255k\\363\\210[\\351Y\\032H-3{\\032:\\201\\320/Ju5:S\\217\\322\\250A\\326\\226\\231\\272\\235\\232\\0008\\024\\012;\\321@\\013I\\212\\015%\\000\\024\\023A\\244\\240\\006\\311\\367k\\226\\324\\271\\271n\\275k\\250\\223\\2045\\312\\336\\237\\364\\206>\\370\\241\\214\\252s\\355L\\351\\3158\\234\\363Mc\\237L\\322$\\017\\255B\\335jP}j9\\016\\001\\246\\0277\\364n,\\317\\324\\324R\\365'\\336\\247\\322?\\344\\036\\246\\253\\313\\324\\322cCt\\376o$\\364\\300\\255\\204\\342\\262t\\356n$5\\254\\264 d\\213A\\240t\\242\\230\\015&\\230\\334\\324\\207\\024\\303\\305 #>\\364\\323N'\\006\\232zRc*\\335\\014\\214f\\242N\\225-\\3019\\250\\305 6\\263A\\244#\\232Z\\241\\011\\332\\223\\024\\352J`&h\\353KI@\\302\\216\\364}h\\357HAK\\232Bh\\035h\\001h4\\032\\006{\\3200\\242\\2234\\275\\250\\006\\024\\016\\264\\224f\\201\\012z\\342\\203\\326\\2123@\\013\\212JZJ\\000^\\224\\224\\264P6&:R\\234QHh\\020\\264\\264\\202\\216\\324\\206\\203\\275\\006\\214\\321@\\010\\246\\235\\326\\222\\214\\323\\020w\\245\\315&ih\\001\\007Z;\\321\\3334\\240\\346\\200\\001E\\031\\244\\024\\000\\271\\240R\\037j:P\\001\\232ZAGz\\000ZZ@)i\\014N\\331\\242\\201\\322\\212b\\024\\322\\0123\\315\\002\\200\\023\\275(\\244\\357K\\236(\\000\\240\\212A\\357K\\232\\0001\\212L\\363KI\\203@\\016\\244"\\214\\343\\255\\031\\342\\200\\020qGjZN\\364\\000\\244Q\\216h\\243\\024\\000f\\212)h\\0013E\\024\\264\\000\\224\\271\\242\\222\\200\\026\\222\\212(\\001E\\024\\224P\\002\\212\\015&ih\\001;\\322\\366\\242\\222\\200\\035M&\\226\\222\\200\\001K\\212C\\351Fh\\000\\317j^\\324\\224\\231\\240\\007PE\\002\\220\\236\\224\\000\\244Rt\\245\\240\\320\\000)\\0163KI\\336\\200\\001KI\\320Q\\332\\200\\014\\321@\\351K\\323\\255 \\020\\017z\\017Z\\\\\\322f\\230\\021\\312\\003!S\\334W\\311\\337\\0254\\277\\354\\237\\027\\336\\302\\250\\313\\023\\235\\350Opk\\353C\\315xo\\355\\011\\244\\006[=EC`\\023\\033\\220=z\\177*qz\\223#\\301\\311\\000\\365\\315 \\345\\263\\327&\\235/\\312\\306\\204\\000/\\251\\353Z\\011\\026\\355\\371?\\341Q\\\\\\365\\350sO\\265a\\273\\324\\323n\\362X\\232\\000\\244\\353\\327\\371Tl2\\007\\255N\\300\\200\\010\\342\\242aH\\242\\034g\\265\\006\\234O\\3714\\323\\202y\\342\\220\\306\\366\\244\\317\\2458\\340t\\244'"\\200\\016\\246\\2026\\212A\\372\\322\\375h\\000\\006\\223\\371\\320\\007Z3@\\012\\005\\024\\235:\\322\\217\\255\\000&8\\342\\227\\034\\365\\374\\251\\011\\355K\\326\\200\\017j^\\275i\\277\\322\\215\\336\\264\\000\\354\\037ZC\\327\\232Q\\323\\236\\264\\334\\363\\214\\320\\001\\336\\224\\363\\317j\\\\qHh\\000\\037\\255-\\002\\221\\215\\000\\004\\343\\336\\214\\216\\224\\235E\\003\\257Z\\004;8\\0359\\243 \\342\\217\\324\\323zf\\230\\307\\014\\3644\\231\\317\\326\\224\\036\\364\\323\\307c@\\000\\000\\232v)\\240\\203@&\\200\\024\\016F1Hz\\360E;<\\016\\264\\236\\330\\244\\000\\001\\357J\\016>\\264q\\201H{\\034\\320\\000}\\3511\\232:\\363A\\351@\\011\\375h=iE\\004\\012\\000\\010\\310\\240P\\017J(\\0004\\230\\317\\245!\\244\\315\\000/\\024\\365\\366\\351I@\\366\\241\\001b\\023\\363g\\232\\225\\217\\\\v\\252\\361\\036@\\346\\255\\341q\\316)\\211\\214\\034\\366\\251\\023\\251\\316)\\203\\003\\241\\247d{\\346\\232\\020JGn\\224*\\202\\007QJ\\243 \\223\\203A\\310n8\\024\\010\\001\\355Hz\\214\\3434\\020\\007\\277\\322\\2059<\\364\\355H\\007\\002Gp)\\216\\331\\352r~\\225,\\204\\000:\\324'\\236)\\200\\014g\\236i\\307\\0314\\207\\345\\342\\232FNh\\001\\313\\301\\347\\232Y\\007\\2461B\\000>\\264\\244\\347 \\32021\\357\\315\\007\\257\\275'\\345F\\0069\\244\\002\\216\\234\\322c9&\\205\\352\\016\\177:\\0339\\343\\031\\240\\003\\007\\360\\246`\\002)\\3318\\3057\\006\\200\\034O\\036\\324\\300q\\322\\236~\\356\\006*#\\236\\202\\201\\203\\267l\\375i\\235E(\\030>\\242\\234\\007\\345@\\014\\003<\\232\\\\\\012q#\\003\\371SO\\257J.\\002\\016\\276\\324`\\017\\255*\\376\\224z\\364"\\220\\001\\244\\365#\\245\\007\\236h\\357\\322\\200\\023\\365\\245>\\264\\275\\251\\247\\245\\0008\\021\\221\\322\\224\\365>\\264\\325\\374\\251q\\306q@\\305\\003\\257\\275&(\\353\\320\\322\\221\\217\\\\\\320\\002'QR\\005\\364\\024\\325\\353\\236\\325 \\351\\337\\353LC\\011\\332q\\3154\\365\\366\\240\\223\\234\\014\\320\\017j.\\000=M\\004\\342\\217Zo\\241\\244\\002\\221H\\244\\322\\347=i;\\320\\003\\316s\\212ku\\245\\246\\376t\\014A\\3274\\244g\\232o9\\247\\032\\004\\030\\3063\\310\\240\\201\\332\\216{\\322\\216x\\246\\003y\\247(\\317^\\264c=)\\303\\203\\315!\\210\\302\\247\\200a\\223=\\332\\241\\035\\216*{l\\264\\251\\216\\273\\2054I\\365'\\302\\010\\202\\351\\261\\236\\230A^\\222=\\253\\317\\376\\023!]\\0363\\317(+\\320ED\\267\\032\\330Jq\\244\\007\\232>\\264\\206-\\030\\365\\240\\361@\\244\\001\\355@\\243\\276h4\\014):R\\364\\244'4\\304)\\367\\245\\024\\323J3I\\200R\\032Z(\\001\\000\\240\\323\\2513L\\004\\350\\005\\030\\305'zq\\351@\\304\\366\\240\\012)A\\244\\001\\2323F3F\\005\\000\\006\\216\\264\\234\\223\\315-0\\016\\224\\247\\232L\\321H\\002\\216\\324c=)3@\\016\\024R\\012Z\\000^\\324\\202\\2234\\264\\200(\\300\\024\\203\\212\\0174\\3008=h\\024b\\202i\\200\\275h\\243\\265&h\\001\\335\\250\\3104\\204\\361F8\\244\\002\\2123\\315%\\030\\240\\0034\\016\\264b\\212\\002\\342\\223\\315\\002\\2239\\240\\361@\\012i\\011\\245\\353F(\\000\\006\\220\\236\\324\\244\\342\\223\\024\\000\\230\\247\\365\\246\\365\\245\\007\\030\\246\\002\\322f\\216\\264b\\201\\010y\\245\\024b\\222\\220\\305'\\024\\001Hii\\210Rh4\\224\\264\\014;R\\032Z)\\010\\005.)\\005\\002\\230\\013\\332\\212CJ:P\\001@\\245\\024\\021@\\000\\242\\223\\245/OZW\\013\\005(\\342\\220\\361Fh\\001h\\244\\035(<\\323\\013\\216\\246\\223\\212;Q\\332\\204\\001Bu\\242\\225:\\361@\\026\\005#\\322\\216\\0055\\350\\002\\274\\235\\015B\\2345K7J\\206.\\274\\3202\\307jLsGJ\\001\\240\\000\\361E\\007\\2321@0\\024\\032\\006Gz\\011\\240Fn\\241\\313-ii\\243\\021\\212\\315\\276\\346E\\255K\\017\\365b\\245n\\014\\273\\332\\220u\\243\\275(\\253\\000\\247\\001M4\\271\\300\\2441\\247\\255\\006\\224\\322P!\\015G/\\3355%E7\\335\\2442\\024\\247\\323P\\323\\207 \\322\\002\\236\\243\\304G\\351Y\\232?\\372\\306\\372\\326\\206\\246\\177pj\\206\\212\\2773g\\035i\\203\\330\\335\\035)E \\351N\\3051\\011J\\005&)i\\200\\204\\322\\322\\016h\\024\\000\\032(\\357E\\000\\035\\250\\242\\203@\\310\\245\\373\\246\\271[\\337\\365\\255\\365\\256\\246\\177\\270\\325\\311\\3356e|\\372\\322\\002\\003\\327\\212\\215\\273qO8\\342\\232E\\004\\212\\000\\357QK\\202\\017\\245HG\\004sQ\\025\\034\\320#\\243\\322\\370\\323\\224\\216\\230\\252\\262u5r\\314m\\323\\220\\177\\263T\\234\\343\\245&Z\\330v\\230s4\\247\\320\\326\\272V>\\216w<\\307\\375\\272\\326\\\\\\323B%\\024\\032h\\2454\\300ny\\246\\232y\\246\\032@1\\251\\204\\323\\230\\363M4\\206S\\270o\\232\\232\\017\\024\\263\\375\\352`\\351HF\\355&ii*\\206\\024\\231\\346\\226\\233\\336\\200\\024\\320(\\242\\230\\005\\002\\202qE\\000\\024\\234\\323\\263HH\\244\\002\\346\\203\\322\\232)I\\240\\004\\024\\343M\\034\\323\\207\\024\\000\\334sK\\212^(\\244+\\011\\332\\214\\322\\342\\212`\\031\\240\\232LR\\343\\212\\006\\002\\214R\\366\\246\\346\\201\\016\\240\\212ACP0\\0074\\264\\332wj\\000\\000\\024R\\021K@\\200\\232@sF3J@\\024\\000\\012\\011\\244\\317\\024\\003\\232\\000p\\244\\350h\\355I\\315\\000:\\2161H\\016h\\305\\000%(\\243\\245)\\340\\320\\001\\336\\203H\\0174\\247\\236\\224\\016\\301\\2323H}\\272\\320\\264\\010Z\\017J(\\353@\\015\\351N\\372RQ\\336\\220\\012h\\024g\\212\\026\\230\\300\\212\\0174w\\244\\346\\201\\012\\0174\\032AK@\\304\\352ii\\0058\\320!(\\305\\006\\201@\\001\\351H)\\307\\030\\246\\364\\240\\005\\243\\265\\024\\032C\\017z\\005-!\\246\\002\\023J\\277ZA\\315\\002\\201\\012\\307\\232Q\\315%\\037\\215\\003\\003@\\024R\\366\\240\\003\\212\\007ZC@\\240B\\322\\023Ji\\270\\346\\200\\026\\227\\024\\230\\364\\242\\200\\014sK@\\244\\315\\000\\024c\\275\\000Q\\232\\000\\\\\\361M<\\322\\216h\\305\\000\\000\\032(\\024\\242\\200\\020\\322\\016\\224\\352J\\000(\\355E/j\\006\\000\\320s\\212@ii\\010@1E!\\366\\245\\035)\\200\\036\\225\\306\\374O\\323\\216\\243\\341+\\304H\\367\\310\\253\\271\\177\\012\\354\\215Au\\012M\\004\\261\\3102\\256\\244\\021I\\011\\253\\243\\341\\373\\330\\3329J\\220A\\007\\004T*\\304\\002+\\252\\361\\376\\224t\\237\\021]\\333\\177\\012\\271#=\\301\\256]\\220n'\\003\\025\\251\\010\\226\\334\\341\\216j[\\212\\212\\014\\023\\316*\\305\\302\\022\\240\\3202\\214\\207\\247\\\\T\\022\\0361V\\\\\\014{\\325w\\035\\271\\240d'"\\223\\337\\245?\\267lSi\\015\\015>\\264\\207\\250\\002\\234N{\\322\\036\\307\\276(\\030\\231\\364\\316h\\357GZ:\\217Z\\000;z\\012CJh\\305\\000%8q\\337\\255'\\347\\315\\031\\364\\240\\005<u\\244\\353A\\243\\006\\200\\014\\034Q\\217Z)=\\350\\001\\304\\340c4\\321\\223K\\353H>\\235(\\001s\\357K\\324w\\244"\\224\\022h\\001\\264\\342:g4b\\216x\\315\\000\\000\\017\\306\\223\\271\\245\\376Tf\\233\\020\\271\\300\\2444\\274b\\220\\232C\\027\\245'\\003\\257J>\\264\\034\\023L\\006\\3434c4\\354q\\216){}(\\001\\200\\362)\\340\\344t\\3050\\014\\223O\\007\\216qH\\004\\357\\234\\320y4\\204P\\010\\315\\000)\\003\\265%\\015\\355I\\337\\223@\\017\\352x\\2461\\245\\335\\315!4\\000q\\2123\\212N\\202\\216\\242\\200\\003\\315\\000~\\024\\224\\345\\031\\240\\000~\\224\\343\\307zU\\240\\214P\\003\\243'5h1\\355T\\220\\340\\361V\\343\\373\\275\\263TK\\024\\251\\000\\0323\\2222?\\032\\016z\\232B\\006h\\002E\\301\\006\\234H\\355M\\217\\256:S\\3311\\364\\240,4\\214q\\357\\326\\231\\337\\332\\244\\003\\007\\221JzP\\205a\\203\\221I\\307\\367\\2158\\014\\221\\357M={\\342\\230 `I\\3434\\203\\035\\0168\\247\\2023\\316h\\300\\004f\\220\\3038\\317Jk\\344\\216\\237J\\001\\317\\265+p\\015 #>\\264u4\\363\\302\\234\\365\\246\\027\\344\\342\\200\\024\\361\\327\\255\\000\\347\\255!\\3074\\314\\022}i\\\\\\007\\032h\\035NE\\030\\347\\247\\024)\\351\\273\\214S\\0301\\301\\030$})\\224\\376\\2074\\207\\223\\212\\000o\\006\\234\\270\\307qF1\\315\\007\\351J\\3404\\216h=\\351}\\330Rc'\\246(\\030\\300y\\245\\245#\\363\\241\\207\\003\\245\\002\\020\\2163\\232O\\345J\\007\\034\\232\\017=x\\024\\000\\230\\245\\245\\007\\362\\240\\364\\353\\327\\332\\200\\032\\303\\212\\007j^\\202\\224\\014\\217\\2450\\023\\035\\363\\212w8\\366\\2444\\014\\221@\\016Q\\202{\\320y\\316\\015 \\007\\360\\247\\236\\005\\0000\\361H\\000\\365"\\201\\371R\\347=)\\000\\314\\340\\362h\\315\\007\\212A@\\013\\306(\\037\\255/\\030\\315 \\366\\353@\\013\\374\\350\\316:\\322\\202\\0054\\365\\351@\\013\\267&\\234\\027\\266)\\001\\251\\027\\265\\0001\\206\\001\\006\\233\\267\\002\\246 c\\220*"x\\246\\000;\\372{\\323\\272\\366\\246\\343\\216\\264\\240q\\216\\264\\2068\\014\\034t\\253\\332LE\\357\\340\\003\\237\\234\\177:\\243\\267\\232\\350\\274!n'\\326m\\320\\340\\362\\016)\\242Y\\365\\037\\303\\273\\177+GC\\214g\\002\\272\\321\\223X\\336\\027\\213\\311\\322\\241\\\\c\\214\\326\\320\\254\\236\\345 \\357A\\024\\202\\234(\\030Q\\212J)\\010Z;\\322g\\024f\\232\\001i(\\244\\3151\\212y\\245\\244\\245\\024\\204\\024Rg\\237JQ@\\011\\336\\202(=iO"\\200\\260\\234\\012;\\321\\214\\320\\005\\003\\026\\212JZ`&qN\\246\\343\\326\\226\\220\\006(\\376t\\003JM\\000%\\035\\250\\353I\\336\\200\\024\\032\\017&\\223\\2774\\271\\305\\000\\006\\212BI\\245\\002\\220\\001\\245\\315!\\244\\246\\002\\232)\\015(\\351@\\013\\332\\223\\031\\242\\220\\320\\003\\205\\030\\317JJZ\\000\\0074g\\024p\\015!\\240\\000u\\240\\232\\005\\024\\300Ph&\\216(\\002\\225\\300Bq\\322\\223\\232v(\\240\\002\\224\\321\\332\\223\\255\\000\\035i{b\\222\\226\\200\\033\\337\\024\\354Rw\\245\\242\\3404\\036i\\331\\317\\024\\234Q@\\016\\006\\203M&\\226\\220\\001\\305-74\\352b\\022\\227\\265 \\2434\\306\\003\\255\\035\\350\\024\\243\\232\\000\\015\\002\\203I\\315\\000-\\024\\336\\364\\341\\322\\220\\013\\2323Hh\\306(\\001ii\\271\\305\\000\\346\\200\\035\\212\\000\\244\\024\\014\\346\\201\\016\\242\\222\\226\\230\\010y\\240QK@\\010M,}i\\015,G\\232\\000\\234f\\221\\351E1\\350\\002\\011O\\006\\242N\\015I/CLNh\\002JQ\\323\\245%\\004\\342\\213\\000\\264Rf\\216\\264\\000\\264\\036\\005-5\\272P\\006u\\347\\372\\321Z\\266#\\021\\012\\311\\2729\\234V\\305\\227\\372\\241I\\001`\\034\\322\\346\\200(\\252\\001h\\244\\245\\244\\000i3KI\\305\\000!\\250\\246\\373\\244T\\325\\004\\375)\\014\\210u\\247\\347\\212bS\\351\\001\\235\\253\\177\\251=\\252\\266\\21695>\\254\\177vj\\035\\027\\230\\363\\336\\230\\336\\306\\300\\351N\\3154t\\245\\246H~4\\032\\015\\035\\251\\200\\017\\302\\212N\\202\\224f\\200\\027\\024\\334\\372R\\223F(\\000\\242\\220\\320i\\201\\014\\347\\021\\265rW<\\310\\325\\325\\335\\034D\\377\\000J\\344\\2459v>\\364\\206\\310H\\301\\315.i[\\2455z\\232\\011\\014\\376\\024\\306\\030\\251\\017\\275F\\334\\221\\237Z@t\\221q`\\237\\356\\212\\316\\224\\365\\255%\\342\\311\\006?\\204Vd\\244\\340\\346\\221Hv\\210q\\347\\037W5\\264\\234\\216k\\037D\\037\\271s\\376\\321\\255\\204\\252\\021%\\006\\2238\\2439\\240\\006\\232csO4\\306\\240\\010\\3154\\346\\234M4\\232\\221\\224\\347\\373\\324\\213\\322\\226c\\363\\322g\\201\\212\\001\\233Y\\240\\322qK@\\011\\322\\220\\234R\\236\\264\\224\\3003J\\016M!\\024t=i\\200f\\226\\214f\\2234\\200R:Rw\\247\\036\\224\\224\\000R\\021K\\223\\237jO\\316\\230\\012(4\\200\\322\\322\\001\\027\\223K\\336\\201Fi\\000\\264\\200\\376t\\023\\332\\212\\020\\012i\\0114Q\\232`/\\241\\243\\360\\243\\250\\242\\201\\0063HiE\\006\\201\\2004\\023E\\024\\000pii\\000\\243<\\320!A\\342\\212CK@\\304"\\220S\\261F(\\020w\\245\\246\\321\\315!\\213E\\030\\346\\203@\\2034\\036\\224\\012\\0151\\210:\\323\\273RPh\\000\\243\\351KH(\\000\\2434PE\\002\\001\\315\\024\\016)h\\0019\\240\\032ZC@\\005-\\024\\224\\200^\\224\\235\\351I\\306)\\0051\\2004\\264\\202\\203@\\2034Q\\216iG\\024\\000\\237Z^\\324f\\223\\353@\\013Fi\\001\\310\\240\\001@\\013\\332\\222\\226\\200(\\000\\024\\224\\240R\\365\\240\\004\\034\\322t\\245\\351E\\003\\001Fh\\242\\200\\000rh\\006\\212(\\006\\006\\217\\255\\024R\\020\\012C\\353KI\\315\\000(\\240\\322\\216\\005!\\246\\002\\322QE\\000-%\\024P\\000(\\240\\214\\320\\005\\000(\\243\\255%\\002\\200\\027\\351G\\000R5'Q@\\303\\275(\\244\\034R\\320\\002\\342\\222\\200i(\\001G#\\024\\215\\322\\200(4\\204xW\\307\\375\\003kC\\252\\304\\207\\0146I\\217^\\306\\2744\\214\\016k\\354\\217\\032\\350\\261\\353\\236\\037\\272\\263\\225A\\334\\204\\257\\037\\304:W\\310\\232\\255\\234\\226w\\222\\301:\\355\\221\\030\\251\\003\\324V\\221\\324\\317fS\\204\\200\\336\\202\\255\\311\\312\\347\\223\\351Uc\\0377\\326\\255\\001\\230\\2175Ce\\027\\311b\\005B\\370\\004\\201\\232\\263"\\202s\\320\\232\\255"\\365\\346\\220\\321\\023\\034\\3231\\201\\232\\224\\256y\\025\\033\\014\\037jE\\014\\241G\\257Z^\\264\\207\\255\\000\\007\\216\\364\\320y\\245\\305!\\240\\000sN\\003\\212@9\\245\\240\\004l\\346\\223?\\235\\007\\255\\002\\200\\014qJ\\015/ni\\270\\301\\346\\200\\034~\\264\\206\\200\\017\\255\\031\\240\\003\\360\\243\\267\\024\\247\\030\\300\\244\\007\\236h\\0004t\\245\\3157\\257~(\\001\\300\\367\\342\\203\\203H:R\\347\\374(\\000\\350)>\\264\\275\\372R\\034\\363\\326\\232\\001\\011\\346\\227\\024\\234~4\\340z\\216\\364\\000\\200qH3\\223N\\316G\\275 \\317\\240\\242\\340\\004\\361\\315.~\\264\\230\\315\\036\\334\\321p\\017\\351K\\236\\202\\214\\015\\274\\322t\\244\\002\\216)\\033\\035h\\315\\004p(\\0019\\243\\265\\007\\216\\271\\2434\\000\\237\\225\\024\\244f\\200(\\001\\275\\372P=\\261Jy<qJ\\001\\024\\000(\\024\\340;\\373\\321\\234\\032\\016\\0161@\\012\\015#\\203\\3158\\001\\217\\351H\\304\\363\\212`5\\000\\007\\336\\257G\\322\\250\\203\\363f\\256B\\333\\2704\\356!\\316\\336\\274R+\\014\\036\\224\\3621\\214\\363Q\\260\\307\\343HC\\307\\031\\375*U`z\\364\\250\\324\\034sJ1\\270\\001\\212\\000q#4\\016s\\232s&?\\032\\214\\221\\222)\\210\\011\\003\\240\\316}\\351\\010\\310\\342\\214\\014\\363\\336\\222\\201\\216\\003\\007\\031\\3054\\202O\\030\\306i\\330\\311\\365\\246\\214\\203\\216(\\020\\034\\016\\224\\3269"\\244\\301#\\232n9\\351\\326\\201\\200\\007i\\342\\233\\264/\\275+\\034p\\0014\\323\\315 \\027\\256sL\\352\\303h\\245<\\016{\\321\\23622(\\030\\3268\\035\\351\\252\\303'4\\356;\\367\\244\\300\\317^(\\001q\\236\\370\\244\\036\\274\\232Q\\220qC\\021\\216\\364\\000\\271\\356)\\214q\\234\\036h\\034\\3644\\037\\312\\220\\000\\0352('\\245(\\301\\365\\246\\034g\\276h\\001K\\016;R\\214\\021\\326\\232\\026\\227\\237l\\323\\000#&\\227\\035\\210\\243\\236\\243\\255\\003\\221\\364\\244\\003q\\212w\\324f\\216\\242\\232\\304t\\024\\0141\\317\\265.s\\376\\024\\337LS\\207\\255\\002\\002\\011<R}iGjC\\327\\2574\\000\\345'\\326\\203\\367q\\3154\\034R\\223\\353@\\010=\\015\\0121\\376\\024\\342):\\012\\000i\\034\\364\\342\\220c<\\322\\236\\224\\356(\\001\\010\\3174\\235\\217z\\220\\021\\212k\\037~h\\001\\276\\324\\2523@\\034\\366\\024\\253\\212\\000B;\\216\\364\\271 \\363\\322\\202\\012\\365\\357@\\035\\275h\\001I\\355\\300\\024\\252\\240\\236N*<sNR{P\\003\\310\\031\\244\\305.F=h\\353\\214P\\002\\247\\344k\\263\\370q\\007\\233\\257\\304G;y\\256=\\024\\347\\336\\275G\\340\\266\\227\\366\\315\\\\\\312\\300\\2008\\317\\353V\\266%\\263\\350\\375\\0356XB?\\331\\025{\\025\\024\\010\\0225Q\\320\\012\\222\\260e\\240\\240R\\373R\\366\\240b\\016\\264\\246\\223\\275/\\326\\200\\020\\014\\322Px\\240P\\002\\361GZ3\\232\\000\\246\\002\\032Q\\315!\\024\\264\\200\\010\\346\\224\\360))z\\320\\3047\\275:\\223\\245(4\\206\\031\\351E\\024\\001L\\003\\3274\\203\\371R\\232L\\320\\002\\346\\212m;\\031\\353C\\006 \\245\\355H\\015)\\241\\000\\235)G4\\230\\245\\3438\\240\\000\\372\\322zR\\236\\224\\2308\\240\\005\\024\\016\\364v\\244\\240\\005\\246\\367\\245\\315\\024\\300QIA\\351I\\203@\\017\\246\\365\\245\\355E \\022\\2274PzP\\001\\214\\212N\\364\\341\\322\\223\\275\\000(\\034R\\012\\011\\243\\034P\\002\\366\\243\\245"\\322\\364\\244\\001\\2323\\232oSJ8\\246\\002\\323sN\\244\\002\\230\\013\\212BqKGz@%-\\006\\212@\\031\\342\\224QH(\\000\\245\\243\\265%\\002\\001\\305\\035h\\006\\201T\\000)@\\2444rE\\003\\024{Q\\232@)\\324\\000\\036~\\264\\323@\\342\\227\\034P\\000\\015\\035\\251i\\0074\\000\\012ZB3@\\315\\000--\\024\\264\\000f\\214\\323{\\323\\200\\240\\002\\216\\264\\034R\\032\\000ZZ\\010\\244&\\201\\003\\036)"#u\\006\\210\\2074\\001dt\\246I\\320\\323\\307J\\216J`V\\233\\356\\323c\\024\\371zS#\\353Hd\\271\\2444\\275i\\015\\002\\034x\\244\\007\\232N\\324\\012\\000u4\\364\\342\\235\\332\\232i\\201\\231q\\377\\000\\037B\\266\\354\\377\\000\\325\\212\\304\\233\\233\\257\\306\\267-F#\\002\\245\\0019\\244\\007\\232Za\\353L\\011(\\244\\006\\224P0\\355M"\\234i\\246\\201\\000\\025\\004\\3751S\\023P\\334\\034\\212Ldq\\212\\222\\243Jq\\315 2\\265\\206\\375\\331\\024\\335\\030~\\350\\375h\\326\\007\\310i\\3320\\375\\315\\013q\\263R\\235\\232AKTHR\\020h4f\\200\\026\\212N\\264\\012`)<\\321IK@\\005!\\351E\\007\\232.\\005k\\302<\\207\\372W%)\\371\\233\\353]]\\377\\000\\026\\357\\364\\256RA\\311\\372\\322\\033\\031\\320r)\\270 \\347<S\\261\\232C\\357L\\220\\355\\3274\\301\\313\\201\\353N\\351H\\237\\353Pz\\265!\\235\\034\\234Z(\\366\\025\\233(\\306kJ\\347\\345\\266_j\\313\\231\\276V>\\306\\220\\3216\\211\\377\\000\\036\\275\\276\\361\\351Z\\350x\\254\\235\\014\\177\\241.;\\326\\262\\325-\\204;\\275)\\243\\275%\\003\\020\\323\\015<\\323\\033\\232@D\\302\\232E<\\376\\224\\307\\365\\240\\012ss%(\\246I\\304\\234\\323\\263\\305!\\033$P8\\024\\246\\222\\230\\304\\357KA\\243\\265\\000%\\035qKF(\\013\\207\\343IJ)\\010&\\200\\024\\321\\305&8\\245\\240\\003\\255%\\036\\324\\036(\\020\\270\\244'\\024R\\320;\\205\\003\\336\\201\\305\\037\\215\\002\\0234\\247\\245!\\353K@\\303\\024b\\216\\324-\\000\\000s\\232Z)h\\020\\323@4\\032\\005\\003\\003\\353K\\3334R\\320!\\005\\002\\220u\\247P\\001\\332\\223<\\320i(\\001\\302\\226\\232\\015\\031\\240\\005\\244\\243\\024w\\240\\005\\315\\000\\321J(\\001\\015\\024\\204sK\\323\\255\\000\\024\\230\\311\\245\\343\\322\\202h\\0004RR\\320\\001KH)i\\000\\204QA4\\242\\230\\011A\\2438\\242\\200\\026\\201HM 9\\240\\007b\\212N\\364g4\\000\\264\\204R\\346\\212\\000N){R{\\321@\\300qA4c\\006\\203@0\\355Fh\\244\\035h\\020\\247\\332\\205\\245=)\\242\\200\\037HM&h\\240\\005\\244\\372R\\321\\212\\000AK\\212(4\\000Q\\364\\244\\006\\214\\320\\001KI\\326\\2274\\000Q\\237Z)\\000\\342\\220\\013GZ\\015'J\\000Q\\326\\226\\222\\214S\\000\\242\\222\\227\\024\\000Q\\232(\\342\\200\\014\\361E%(\\240\\002\\200=\\3504R\\0011KGj1\\351@\\300sHx\\243\\245\\007\\336\\230\\012(\\242\\222\\201\\010\\343+\\212\\371\\257\\343\\216\\201\\366\\017\\021\\213\\270S\\020\\\\\\015\\334\\016\\215_J\\260\\364\\256\\007\\342\\376\\206\\272\\277\\205\\246|\\0376\\330\\371\\213\\216\\270\\357\\375(L\\231\\037,)\\303b\\257"\\226\\200\\344Ui#\\330\\315\\234d\\034\\032\\275\\013\\203\\036=\\253@Z\\231\\263\\251\\004zUg_\\322\\257\\334\\014\\223\\351\\332\\251\\3106\\222h\\270\\354W>\\224\\306\\357R?\\250\\250\\333\\232C\\030y\\024\\2358\\247\\237^\\224\\336\\012\\3764\\000b\\220\\361FqFh\\000\\030\\305\\007\\337\\255%!>\\274\\320\\001\\336\\227\\250\\364\\240t\\243<\\361@\\012\\243\\336\\220\\251\\353\\326\\227<\\037z\\011\\240\\004\\357I\\364\\245\\350:\\322f\\200\\027\\255 \\245\\037ZQ\\323\\221\\315\\000'^)3N=i\\244q\\232\\000Q\\212\\017\\326\\201G\\177j\\000^\\242\\233\\336\\226\\201\\327\\232\\00084\\270\\030\\342\\223>\\370\\241\\216\\016i\\200u\\366\\245^)3G\\343H\\007S{\\373R\\376\\024`\\032\\000)\\246\\225\\272\\342\\214\\3753\\355@\\010\\007\\255)\\353\\353A\\366\\240\\016(\\001?Z\\017\\034\\234\\320h\\344\\320\\002w\\245\\374\\351i;\\320\\001J8<\\322\\216:\\321\\371P\\000\\015*\\216i\\240s\\212\\221F\\015\\000)\\\\~\\025\\033\\032\\225\\272\\001\\322\\242\\343\\270\\240@\\274\\021Va'i\\305V$q\\300\\315Y\\204`v\\246\\201\\222e\\202\\363\\371R\\036\\274\\323\\233\\234z\\012A\\215\\324\\30486\\007CJ\\271\\355\\337\\276)\\207\\035\\361\\212r\\237\\316\\200$\\035\\010\\316MG\\311lt\\376\\264\\344\\372S\\310\\037\\215;\\210\\217\\003\\232L\\343\\241\\2476r\\006x\\240\\214\\3439\\305!\\200\\034c9\\246\\026\\311\\344\\021\\351J\\335=\\2504\\000\\233\\363\\301<\\012\\030\\347\\323\\232\\027\\374\\361JH\\007\\336\\220\\015^\\231\\357A\\306(\\355\\223\\336\\216\\324\\001\\021\\344\\2168\\240\\214\\037ZQ\\301\\245\\340\\3202,\\343\\334S\\307\\024\\025\\244\\034\\347\\322\\200\\024\\237A\\370\\322s\\365\\245'\\013\\217z\\027\\271\\240\\006\\223\\315\\004d\\323\\272d\\322\\034\\232@!\\310\\342\\232G\\315\\305?\\031=9\\246\\361\\370\\32013\\236(S\\203F9\\357\\232P\\275\\0151\\013\\221\\370R\\177J8\\036\\274\\321\\216\\236\\224\\200\\024\\376T\\032o \\321\\232\\000ZL\\322\\203\\221\\212\\010\\012s@\\013\\327<\\201\\212i\\034\\375\\341G\\327\\255.r>\\264\\000\\234z\\3202q\\355E\\013\\3050\\003\\236\\375)\\303\\346\\246\\236\\274\\322\\364\\351H\\005\\300\\374i\\007S\\336\\2279\\353M\\376t\\000\\271\\306h\\316h=>\\224\\207\\2450\\027\\334\\322\\372\\323y\\367\\305\\037\\215 C\\211'\\245!n\\235h\\007\\216qI\\200M\\003\\002E91\\216i\\245}\\362ih\\002A\\217\\302\\225Ny\\355Q\\356\\317\\035\\252T^8\\353@\\211\\340\\033\\334\\000:\\327\\322\\337\\006t#c\\244\\244\\316\\205r;\\365&\\274/\\301\\032Q\\324u\\210\\242\\300 \\020\\177Z\\372\\313\\303\\326\\253i\\246C\\022\\2000\\242\\211;+\\012\\332\\232k\\371S\\251\\000\\245\\315fPQE\\002\\201\\2069\\2454\\206\\214\\322\\000\\243\\371R\\036M\\002\\230\\007CK\\232N\\364\\264\\000\\234\\321N\\244\\242\\342\\020Q\\236ii1\\315\\000\\007\\232Q\\305\\003\\212(\\030\\264\\200\\322w\\244\\351B\\001s\\317^i{\\322R\\032b\\035\\2121J(=)\\014J^\\224\\202\\226\\213\\200\\204\\322u\\245\\245\\024\\000g\\024r}(4\\231\\240\\005\\355I\\212^\\224P\\001\\216h\\305\\024\\200\\361@\\013\\212L\\232u&9\\242\\340\\006\\220u\\245=h\\357@\\005\\006\\212By\\240\\005Z84b\\212\\0003\\332\\203\\322\\214Q@\\007\\363\\2434Rw\\240\\007\\012i4\\352C\\212\\000(\\305.E&x\\240\\005\\243\\275%\\004\\322\\013\\212\\010\\240\\322QL\\001M)4R\\032\\0003K\\322\\220\\361Fs@\\205\\024\\023\\315\\000{\\322\\365\\2460\\002\\214\\342\\220\\234p(\\024\\000f\\224u\\243\\024\\224\\000\\275\\351i\\001\\315\\024\\005\\202\\226\\223\\265\\000P\\002\\360(\\315&9\\243\\024\\000\\003\\236\\264\\240\\321\\2128\\240\\002\\234)\\224\\341@\\010G4\\340)1K@\\010M(\\351\\315\\024\\032\\0044\\323\\342\\024\\323\\305>*\\006N*)i\\340Tru\\240EyO\\034RGD\\334\\012H\\350\\002^\\224\\235M\\007\\245%\\000--&h\\037\\215\\000/zF\\340\\032Pi\\255\\310\\240\\014\\306\\346\\356\\267\\255\\376\\340\\2544\\031\\2725\\275\\010\\371\\005LX\\331'jn;\\323\\263I\\374\\252\\200\\005(\\2434\\206\\200\\024\\322f\\226\\222\\200\\023\\025\\004\\3659\\252\\363\\236E&1\\251\\234S\\351\\251\\322\\224\\223H\\014md\\340T\\372H\\304\\013U\\365\\243\\305Z\\322\\306 _\\245\\013p{\\027\\350\\364\\240t\\245\\342\\250\\221i(\\243\\034\\320\\000)i)i\\200\\036\\224\\235\\250\\316h\\342\\200\\012Bx\\242\\203\\322\\200)\\352'\\375\\031\\353\\227\\177\\274k\\245\\324\\316-\\315sn9\\2442>\\224\\207\\236\\224c4\\016G4\\\\\\221\\214F9\\353Ko\\314\\261\\216\\371\\241\\206zt\\245\\264\\342\\352!\\376\\325\\003:\\013\\317\\365*+.\\343\\002&\\343\\265j^\\237\\220\\012\\307\\2768\\265\\224\\377\\000\\262jYH\\275\\241\\214X\\307Z\\202\\263tq\\213(\\177\\335\\025\\245VH\\361I\\322\\201Hz\\320\\002\\032kR\\237jc\\032C\\032\\335i\\215\\322\\224\\3227\\3354\\230\\024%\\377\\000XE8\\036)\\262\\014\\275:\\201\\033g\\322\\232iM!\\246\\002\\216\\224\\032AA\\240\\0038\\2439\\246\\340\\232Q@\\016\\244<R\\321@\\303\\255\\024Ru\\240\\003\\201E%.(\\000\\245\\024\\224\\242\\201\\011\\315-\\024P\\002w\\245\\355I\\323\\2322h\\001E\\000\\322\\012R\\005\\003\\012\\015!\\245\\024\\010(\\315\\006\\223\\024\\014SE(\\243\\024\\010N\\224\\264\\032Z\\000L\\321E\\024\\000\\235\\351s\\355E\\030\\244\\001\\236\\324Rt\\247S\\000\\351I\\232(\\2441sI\\326\\212Zb\\016\\324\\202\\226\\2234\\000\\246\\220\\032Q@\\244\\002\\321\\326\\222\\214\\3200\\357A4\\235O4S\\020\\264\\206\\216\\375ih\\000\\243\\034\\321E\\000\\030\\347\\212:Q\\232:\\322\\001)s@\\343\\212)\\2143IKF=h\\000\\245\\353M\\355J(\\020\\264\\012J(\\035\\200\\363@\\024\\264\\012\\004 \\030\\2454RP\\002\\322f\\203\\322\\201\\310\\240a\\327\\024f\\212(\\004)\\244\\034\\232ZJ\\001\\213H(\\240P!i\\001\\245\\307\\030\\244\\305\\003\\017\\255\\035{\\322\\221H(\\000\\376TdqKI@0\\243\\275-\\024\\000\\224\\264\\337\\306\\234(\\020\\235\\351i(\\024\\200ZA\\315.i\\007Z\\006\\006\\224RR\\323\\000\\357E'\\362\\2434\\000\\270\\315\\030\\305\\031\\244\\315\\000.}j\\246\\245l.l\\346\\205\\307\\312\\350T\\376Uj\\221\\271\\024\\204\\317\\216\\374[\\246I\\245\\353\\367\\226\\262.6\\271\\301\\365\\035\\2536.\\230\\3168\\357^\\277\\361\\353@x\\257!\\325\\241Bc\\227\\344\\223\\035\\210\\351^<\\237)\\351\\371\\326\\213TB\\320d\\242\\251K\\327\\326\\257LOl\\363\\332\\251\\310\\204f\\213\\025r\\261\\344sQ\\340\\347\\212\\231\\207\\025\\0119\\366\\240\\021\\033Q\\202iH\\347\\336\\217Z\\0065\\275);\\322\\261\\317\\341I\\214w\\240\\005$\\372Rr)G#\\232\\015\\000!\\3644\\234\\212\\\\z\\322\\342\\200\\033I\\365\\315?\\034\\323M\\000/\\326\\223\\363\\245\\037ZC\\305\\000&iE\\034\\023\\234\\322\\343\\277Z\\0003\\217\\255%\\035\\251p\\010\\240\\004\\006\\227\\245\\0123C`\\036(\\0004g\\336\\214\\347\\275.6\\365\\0034\\000\\235\\350\\034\\363A\\372\\321\\324\\320\\001\\212(\\316:\\361E\\000\\024~t\\016z\\363K\\216\\324\\000\\323J\\0074c\\363\\240P\\000\\334R)\\364\\247\\366\\342\\2308\\372\\320\\000F9\\243\\2758\\216qF;P\\002v\\243\\002\\217\\255/N;P\\002d\\321\\2323I\\327\\3334\\000\\345\\031\\366\\251\\005F\\244\\012\\221\\010\\344\\320\\027\\020\\365\\301\\246\\036\\264\\363\\301\\310\\246\\023\\236\\324\\010\\000\\351\\315X\\201\\205U'\\236jhO\\326\\232\\031o\\214\\012n\\332\\024\\364\\310\\247\\036\\335\\352\\211\\023\\003\\247\\024/'4\\214?*U>\\270\\374\\251\\001 \\300\\007\\257\\024\\243$\\367\\024\\334\\214g\\234\\217\\326\\225\\016F{P1\\034d\\322\\003\\201\\2023O'\\247jF\\031\\030\\364\\353@\\2567\\216\\343\\255!\\340\\234\\342\\224\\000\\011\\357Hy<f\\200\\030\\304\\212P\\247\\034\\223K\\317\\326\\2058\\244\\027\\023n?\\032F\\340qK\\311'4\\214=zP1\\231\\374\\351\\255\\236x \\012wZ;\\363\\332\\220\\006}sM$\\232\\223\\217N\\264\\326>\\202\\230\\010\\300\\034\\340Q\\215\\275i\\275\\0158\\223\\371\\320!\\017lR\\022E;\\257N\\276\\264\\231\\000\\220E\\003\\032O\\034\\3434\\275x\\3074u'\\031\\305\\001r)\\000\\234\\376T\\341\\216\\224q\\212\\033\\365\\305\\0007\\371R{u\\024\\023\\332\\220\\364\\364\\2460\\340\\322\\342\\233\\203\\323\\031\\247v\\357H\\003\\365\\241\\271\\374h\\317\\255&2y\\240B\\023\\370\\323\\272\\320\\024~T\\230\\347\\024\\000v\\367\\240\\016h\\306)\\303\\236\\264\\014o\\035\\250=x\\241\\270&\\2238\\307Z\\000r\\234\\177Zi\\373\\335\\350\\024\\207\\250\\240\\007\\361\\326\\220a\\206:Q\\221\\216sM\\002\\230\\207\\023\\371\\322\\017z>\\230\\244lR\\030\\276\\364\\023\\317\\024\\236\\324\\243\\212\\000\\016A\\364\\245\\0034}3R\\0001\\317Z\\004\\012\\270\\253P\\256>\\265\\022\\212\\261\\017\\314\\300z\\234g\\322\\230\\217R\\3703\\246\\213\\215C\\355\\014\\011 \\200\\276\\207\\324\\327\\321\\360(T\\003\\260\\257'\\370)\\245\\033}5eu9\\352\\017\\326\\275m\\006\\005D\\267\\010\\212)q\\212(\\251,;RP\\005\\024\\300Z)1\\212S\\315 \\023\\031\\245\\002\\201\\300\\240\\234P\\001\\332\\222\\220s\\315.M\\000\\031\\245\\036\\364\\001F\\015!X(\\244\\307\\024\\270\\342\\201\\210O\\024\\003@\\346\\227\\024\\000\\231\\242\\224Pp\\0151\\011E\\024\\275\\250\\000\\007\\255&Nh\\024\\275i\\014^\\015 \\353E\\031\\343\\275\\000-\\024\\202\\203@\\0129\\242\\223\\240\\244\\317\\\\\\323\\001s\\330\\322\\366\\246\\347&\\235\\212\\000O\\316\\233\\337\\212q\\240u\\244\\002\\364\\246\\203\\3158\\323q@\\016\\246\\223\\315/\\2658\\016\\364\\000\\206\\220Ph\\246\\200QE6\\227\\232\\000\\017Z\\005\\002\\203\\315\\000\\000s\\232\\017Z\\001\\342\\216\\246\\230\\013E\\031\\244\\245`\\024RQ\\336\\226\\200\\023<R\\216i\\015(#\\361\\244\\001\\337\\332\\223=iO\\024\\202\\230\\016\\035(\\240{\\322R\\001h\\3074d\\322w\\246\\001\\336\\214\\363JE \\024\\000\\270\\245\\30574u\\240\\005\\242\\214\\321\\327\\2450\\024R\\323E.i0\\003\\333\\024\\264\\206\\201\\315\\002\\026\\203\\310\\244\\242\\201\\2004\\244\\322\\012\\\\S\\013\\2129\\2434\\012\\015\\002\\000h\\353\\322\\201\\322\\220\\034P1\\324Q\\2323\\305\\002\\032zS\\342\\250\\330\\342\\245\\213\\221@\\023v\\305C%L*\\031(\\002\\264\\307\\245,X\\305$\\243=)"\\342\\200%\\240\\322R\\232\\000Q\\357E&ih\\000\\246Hp\\015>\\243\\223\\356\\232@g\\301\\315\\331\\372\\326\\364<(\\254;a\\376\\224O\\275n\\307\\367E(\\214\\220RQ@\\252\\020\\275\\250\\242\\220\\364\\240`zR`\\322\\347\\212\\005\\0006\\253N>aVMW\\233\\357Rc\\005\\340b\\224\\364\\244^E\\015\\322\\201\\030\\232\\301\\033\\307\\275]\\323\\277\\324-g\\352\\307\\367\\203\\353ZV\\003\\020\\255\\010l\\272(\\3056\\235L\\220=sA\\242\\223\\251\\240\\005\\024SF3N\\240\\000\\212C\\326\\226\\222\\200\\017\\255\\007\\245\\024\\206\\230#?V?\\270\\256y\\372\\326\\376\\257\\376\\240\\327>\\307\\265IL\\214\\016h\\365\\305/"\\223\\034\\323 kS\\354\\206ob\\036\\365\\023\\236\\017\\250\\253:b\\346\\365;\\3203b\\373\\200\\005b\\352'\\375\\022^\\300)\\255\\213\\363\\310\\254MP\\342\\312Oq\\212\\233\\014\\331\\322\\300\\026p\\217\\366E_^j\\226\\234\\270\\265\\204\\177\\262*\\352\\361V!\\303\\2454\\323\\251\\033\\245\\0004\\212cb\\237Lj@Fi\\216~Z\\220\\324r}\\332C)\\036\\\\\\323\\273Ss\\363\\032^\\324\\010\\334"\\232y\\2434qLa\\364\\2434RP!iGJi\\245\\031\\305\\003\\012Q\\201M\\034R\\346\\200\\003\\327\\332\\201@\\242\\200\\270\\240sHH\\240\\032\\017&\\200\\001K\\326\\223\\245'z\\000q\\351\\3157\\2758\\322c\\212\\004/jL\\363FqJq@\\010)h\\355E\\000\\030\\2434\\012C\\324P1h\\316(&\\232h\\001\\335iE4\\016\\364\\352\\002\\300zR\\003\\232ZJ\\004)\\340R\\003\\236)M&(\\030Q\\232(\\240@O4\\242\\220\\363@\\351Hc\\263Hi6\\363K\\315\\000\\002\\203I\\353@\\024\\301\\212\\015\\004f\\212Z\\004%\\006\\212N\\264\\200vi1Hi~\\264\\300F\\342\\224f\\212(\\001\\012\\365\\243\\024\\343I\\336\\200\\001Fy\\245\\244\\357\\322\\200\\027\\265%\\035\\251h\\001:\\212QHN(\\3174\\014Z3H)h\\004!\\342\\224Py\\240P\\000h\\024\\036\\224\\231\\305\\001qM\\003#\\336\\214\\321@\\005\\024\\014R\\320\\003z\\323\\205%\\006\\200\\014\\363KE&i\\000\\021I\\336\\235\\333\\245 \\240\\005\\355H:PiE0\\0234\\023A\\2434\\005\\305\\317\\024\\204Ph\\315\\000-%\\0314\\012\\004\\030\\245\\240\\322P\\000h\\366\\242\\226\\200\\012):PM\\003\\001\\326\\216\\364\\012J\\000:\\322\\236x\\245\\343\\024P\\002\\012^))\\017J\\000v)\\007\\024-\\035\\350\\000\\315\\002\\222\\203\\322\\220\\030>4\\322\\023Z\\320.\\255\\010\\371\\212\\222\\207\\035\\010\\257\\224om\\336\\336\\362kyT\\244\\221\\261R\\030{\\327\\331L+\\347\\337\\215z\\012\\331k\\213}\\004eR\\353\\357\\221\\323p\\253\\2133\\222\\352yu\\300\\300\\317\\034U\\011G\\257Z\\323\\271\\217\\003 f\\250I\\334b\\250h\\246\\340\\342\\2409\\006\\255J:\\342\\240v\\355Hdg=\\361M\\343\\245\\031\\244\\177\\351@\\300\\375)\\000\\310\\245\\024\\207\\332\\200\\001\\370Px\\244\\350i\\015\\000/S\\305\\007\\353I\\236\\275(\\240\\005\\0078\\240\\322v\\364\\240\\200\\005\\000\\000\\346\\226\\223<R\\201@\\0069\\305\\034~4\\275\\370\\3157>\\264\\000\\270\\365\\243\\247J_zLg\\247Z\\000Px\\353MnO\\024\\243\\212LP\\001K\\311\\244\\315(\\351\\305\\000\\000\\036\\324\\240\\321\\323\\265\\035h\\0008\\365\\372Rg'\\232\\010\\245\\355\\300\\246\\002\\217Ni\\017\\024\\2034\\017z\\000(\\366\\243\\364\\242\\220\\006y\\240Pi@\\307\\326\\200\\023\\275'\\277J^\\243\\322\\201@\\007\\006\\227\\255'\\322\\201\\216\\324\\000\\243\\216(`G^(4\\235i\\200\\202\\245Lv\\342\\231\\216\\364\\345\\355\\315\\002\\036\\340\\016\\365\\021\\357\\212yo\\312\\230O\\345H\\020\\230\\311\\251"\\031=M0s\\355RG\\301\\241\\014\\261\\235\\240S\\227\\236\\364\\336\\303\\275\\003\\245Q\\014y;x\\243\\363\\241x\\306i\\016\\006(\\013\\210H\\340s\\212\\2262\\002\\373\\323\\027\\234\\372\\323\\360\\000\\354\\015\\003\\000\\016}\\251~\\271\\315&H\\353\\216(\\335\\307\\031\\240CH\\316)\\230;\\252_\\2740)\\216\\000>\\224\\200B\\177\\310\\246\\201\\310<\\232\\017Q\\333\\351K\\310\\031\\346\\201\\201\\343\\332\\230\\307'\\374iO\\035{\\322{\\034q@\\304#\\277 R\\201\\306s\\336\\203\\305\\030\\311\\372\\320\\002\\221\\273\\212B\\005&y\\3474n\\367\\240\\004\\307l\\212L`\\366\\247\\201\\220(\\353\\221\\326\\200\\030W\\216\\015'\\037\\215?\\352sM \\251\\354(\\001w\\001\\337\\255 \\317\\326\\214d\\366\\240\\372g\\036\\2641\\330C\\311\\342\\214q\\357I\\234\\032>\\264\\204!\\024\\235zR\\375h\\364\\240\\001\\272\\365\\245\\374\\351\\247\\362\\240\\022=H\\240\\005\\3078\\357@\\024\\205\\275)y\\372P\\002\\362(\\350i\\2714}:\\320\\002\\237\\326\\216\\374\\012\\016:\\236\\264\\200\\363\\307Z\\006\\0079\\243\\035M)>\\246\\231\\327\\275\\000)\\351H\\177*CG\\347@\\016=)3\\316)?\\225)<q\\322\\200\\260\\247>\\324})\\001\\311\\346\\227\\265\\000\\030\\031\\301\\245\\355\\323\\024}iB\\344\\320 \\003\\232\\2325\\356i\\250\\271<\\324\\2129\\240\\0111\\301\\343\\030\\350kKC\\2657\\272\\215\\274\\0039f\\347\\212\\315\\007<s\\376\\025\\350\\277\\010tS}\\254\\011\\330p\\204(\\374\\350\\003\\350/\\005i\\303O\\321 \\214\\014\\014\\002=q]\\027APZG\\345B\\210:(\\002\\247\\254\\333\\270\\320\\264\\203\\255\\024b\\220\\305\\242\\222\\226\\230\\010M\\031\\245\\2444\\200Q\\322\\220\\373\\322\\366\\244#4\\000R\\212J;f\\230\\000\\245\\357I@\\240\\000\\032S\\322\\220\\363J(\\0011\\212)M\\000\\320\\002t4\\246\\222\\220P\\003\\205&(\\245\\240\\004\\024\\270\\240PM \\002)\\246\\234\\015\\024\\000\\2034\\242\\223<R\\323\\260\\2044R\\321\\212C\\014P\\015\\024\\032`!\\245\\002\\233\\336\\235\\237J@\\004\\346\\2234f\\226\\230\\011\\316i\\331\\342\\222\\212\\000i\\315/\\2658\\342\\220u\\240\\003\\024\\204\\320\\324\\012`(\\245\\246\\367\\245\\035i\\000\\274Q\\232CFh\\001h\\244\\315 4\\000g\\024R\\221J\\007\\024\\000~4\\001\\336\\223\\030\\247\\012@#R-)\\244\\351L\\005<\\320\\005&h\\315\\026\\001\\324SsJi\\200\\023KM\\024\\247\\336\\220\\013I\\232(\\246\\001\\322\\224SOZQ\\322\\220\\013\\337\\024R\\322b\\201\\000\\024\\240RR\\212\\006\\035\\3504b\\227\\245\\026\\0013F(\\305\\030\\246 \\346\\235\\326\\223\\275-\\000\\035(\\242\\226\\200\\023\\024P\\177*=\\250\\001\\247\\336\\246\\217\\245Bjh\\372S\\002Bj\\031\\015K\\212\\206N\\264\\200\\202C\\310\\245\\217\\245G)\\301\\247\\307\\322\\200$\\024\\206\\226\\220\\3201isM\\353@\\240B\\223L\\223\\2055%G1\\302\\032\\001\\024l\\371\\230\\375kv>\\225\\211b\\007\\234q\\334\\326\\332t\\245\\020\\352<\\322w\\240\\321\\236*\\200)i\\005- \\003IK\\232J\\006\\004\\361U&?5Z5VS\\373\\312L\\005N\\224\\247\\245\\013C\\364\\342\\20005S\\231W\\334\\326\\245\\217\\372\\225\\031\\355Y\\032\\2477\\012=\\353b\\314~\\354P\\206\\313=)h\\240U\\022\\035\\350\\024P\\010\\374h\\000#\\322\\226\\2123@\\011K\\322\\214\\322P\\001Hx\\245\\246\\267z\\006\\214\\315e\\261\\030\\254\\006\\034\\361[\\232\\301\\371@\\254S\\301\\351R\\014gjA\\223\\327\\212y\\031\\244j\\004By\\365\\253ZO7\\212Oj\\254\\365wH]\\327\\000\\373S\\002\\366\\240r\\302\\261u\\237\\370\\362#\\375\\240?Z\\332\\2778aXZ\\303f\\335\\000\\357"\\377\\000:HgAd1\\004\\177\\356\\212\\270:U[^"A\\350\\005ZZ\\241\\016\\366\\244=(\\240\\320\\003I\\250\\311\\247\\232cR\\030\\322Nj98\\006\\244'\\025\\024\\247*jX\\312_\\304jN\\325\\032\\236M?\\2774\\010\\332\\355I\\212QG\\326\\230\\011Hh\\007\\232Z\\000JPh\\375)1@\\013\\212;P>\\264\\230\\246\\002\\217Z1I\\232S\\315\\002\\022\\214\\322\\320\\007z\\006-'\\345A\\2449\\315\\000:\\216\\264\\203\\2328\\244\\000E\\035\\351i\\275M0\\027#\\034\\321I\\337\\024\\247\\212\\000QGzAJ(\\020f\\212N\\364\\246\\201\\207\\343@>\\264RP\\002\\217z\\\\\\032h\\247g\\212\\004 8\\245\\3154\\322\\364\\240\\002\\203@<\\322\\232C\\032\\275ih\\351I\\336\\200\\014\\373\\323\\263I\\214\\322\\212`\\024\\202\\216\\224\\012\\000Z3K\\322\\2234\\200CJ\\274R\\032\\007Z\\0048\\216(\\355HzSs\\315\\003\\034:\\320(\\355FsL\\004\\353K\\322\\216\\224\\231\\244\\000h\\317\\024R\\323\\020\\202\\212ZNh\\001h\\024\\016\\224P1\\015-\\002\\212B\\027\\275\\024\\207\\212)\\214\\005\\030\\245\\242\\201\\011KIE \\012\\\\\\322t\\242\\230\\303\\371\\322\\323@\\346\\224P\\002\\321\\214\\365\\244\\317\\245\\024\\201\\012h\\030\\244=iGN(\\006\\035\\351{SO\\\\R\\320!i\\244sJ(4\\000\\023I\\326\\203\\326\\200y\\2461h\\351A\\024v\\240A\\332\\212C\\300\\242\\200\\012Q\\322\\200(4\\000f\\2121I@\\016ZC\\326\\201A\\244;\\206(\\305\\024\\021\\221@\\011\\337\\024\\246\\203A\\240\\004\\351K\\326\\212)\\200\\264\\204QH\\015\\000)\\031\\025\\301|\\\\\\323E\\347\\206\\336@\\273\\232\\023\\221\\305w\\265\\233\\257Z\\013\\335.\\352\\006\\031\\017\\031\\037\\245\\010M\\037"\\335\\216\\030\\0222+%\\310\\025\\321k\\026\\315ku4/\\235\\350\\345O\\036\\365\\317\\310\\274\\221\\307Z\\324\\204\\312\\362\\014\\365\\346\\2530\\344\\201\\221V[\\214\\217Z\\205\\327$\\372\\012\\222\\212\\347\\351\\232M\\264\\346\\003=\\015'N\\364\\000\\303\\376sK\\216sA\\007\\255\\024\\014Lt\\240\\343\\277ZC\\234\\361\\2323\\315\\000\\030\\035))\\375\\0057\\245\\000\\035(\\353HO>\\224\\003@\\0061G\\322\\220\\366\\024\\276\\324\\000\\017z\\\\\\001\\370\\320\\007s\\332\\220\\320\\002\\221\\315(\\305&i(\\001\\306\\233\\326\\216\\302\\2341@\\015=)W\\247\\256(\\376Tt\\366\\240\\000\\365\\245\\035)\\247\\255(\\342\\200\\024\\322t\\346\\227\\277r)\\247\\251>\\224\\000\\275\\273\\346\\203@\\375h\\355@\\007\\275-&\\177\\012\\030\\344u\\240\\003\\024\\242\\232:R\\320\\002\\234t\\244\\376Tc\\232P0h\\001\\007\\346(\\310\\307\\245)>\\324\\230\\347\\232\\000\\\\\\347\\255'~:Q\\320\\322\\221\\324\\372\\320\\001\\234s\\336\\244Q\\236j.\\370\\251\\242\\366\\240\\006\\260\\002\\243\\036\\374\\324\\314\\007\\326\\243+\\323\\024\\000\\323\\234\\361RC\\374\\251\\203\\241\\353O\\215\\206}(\\002\\320\\031\\034\\376T\\344R\\033\\232bs\\313qO\\317\\241"\\250\\221\\354\\001\\031\\035\\352>>\\246\\235\\222z\\036(U\\007\\257J\\000j\\015\\274\\324\\331\\004`\\346\\242#\\324\\340R\\206\\343\\2574\\001'\\177cHA\\374(<\\343\\255;?.(\\021\\031\\353\\222)\\016\\030rqR\\361\\355M'\\202Tq\\364\\240d%@\\352hV\\317\\024\\3479\\3434\\3009\\346\\220\\301\\210\\3155\\206:\\323\\261\\317\\326\\221\\206\\015!13\\307\\034\\323\\226\\233\\327\\257ZP\\016i\\214\\010\\366\\246\\036\\271\\000S\\375\\275i\\271\\301\\301\\310\\240\\004\\311\\240{R\\260\\317zh>\\264\\000\\375\\274\\366\\246\\022\\003\\034\\323\\262i\\240\\363\\326\\200\\002=9\\246\\203\\370S\\233\\364\\246\\361H\\005>\\231\\006\\230O\\251\\315;\\2404\\322\\016zph\\030\\023\\353A88\\353I\\320\\364\\245\\0034\\0103\\371\\321\\332\\212v21\\336\\201\\214\\342\\224r9\\245\\003\\2321\\212\\005`\\343\\277\\341I\\337\\322\\214\\322\\222\\017J`4\\344\\036\\271\\243\\266i\\307\\2653 u\\353H`\\335qH\\334\\017JRrz\\321\\307\\245\\000'_AH\\177Zv=i(\\000\\007<Q\\316)v\\2121\\323\\322\\200\\005\\347\\2474\\3409\\244\\013\\217Z\\220\\016=\\250\\000\\035{S\\261\\306\\0054\\376\\264\\365$\\017~\\224\\000\\252\\010<\\364\\243\\253qJ\\247\\003\\234\\346\\220p~\\264\\011\\223\\304\\247\\236\\344\\327\\322?\\005\\364\\037\\260\\351\\202\\342E\\3030\\007\\247s\\326\\2747\\300\\372L\\272\\266\\265\\004Q\\246\\345\\014\\013g\\245}m\\241\\330\\255\\226\\235\\014 cj\\214\\322\\227bwf\\212S\\211\\024\\001\\212kT"\\307\\016\\224\\003@\\242\\201\\212(\\245\\317\\024\\334\\322\\001h\\242\\203@\\011A\\351E\\036\\324\\304%\\035\\005)\\024\\032\\006 <S\\251\\200d\\323\\251\\200q\\232Zm\\034\\320\\001GzQ\\322\\220\\236h\\001z\\321\\212LzS\\215 \\020\\322\\212N\\246\\214\\372P\\002\\223\\212A\\326\\203\\310\\243\\364\\240\\000R\\322\\017z)\\000f\\212B\\015-0\\026\\222\\212Z\\004'z^\\264\\206\\201Ha@\\242\\214\\376t\\300(<\\321\\232:\\323\\000\\306(\\357\\326\\214\\342\\212@- \\353\\355K\\332\\201@\\001\\243\\265\\034\\232C\\305\\000\\031\\243<\\320\\275y\\245#\\336\\206\\001\\234\\212LR\\216E \\034\\320\\002\\320)1F)\\200\\246\\220\\032(\\306\\005 \\034\\015\\006\\232(\\244\\002\\212ZA\\307Z\\010\\246\\002t\\245\\346\\216\\364\\264\\\\\\004\\305/z(\\240\\002\\216\\324c4\\016(\\000\\024\\224\\264\\235\\351\\200\\240z\\322\\322\\016\\264\\246\\200\\022\\2274\\206\\224\\016(\\001\\011\\2438\\243\\024\\270\\342\\220\\012\\015.i\\243\\275\\003\\365\\246\\014S@\\372\\322\\376Tb\\225\\304\\024b\\2234\\271\\2461E&(S\\232(\\006\\002\\224\\322t\\2454\\010i\\251\\342\\351Pf\\245C\\212\\000\\224\\325y\\015X\\355U\\334rhc+I\\326\\235\\037N)\\222\\037\\232\\244A\\307\\024\\003\\036:RR\\367\\242\\200\\014\\322\\322R\\212\\000*+\\217\\270~\\225-Cs\\215\\206\\223\\002\\0158~\\360\\326\\302t\\254\\2154|\\306\\265\\307\\002\\210\\354\\003\\263J);R\\212b\\027\\232\\017\\024\\023Hy\\240`(>\\224b\\201\\323\\232\\000i\\351Ud\\377\\000YV\\333\\245T\\177\\275I\\214x\\244\\177\\272iGJG\\351@\\216\\177P9\\273\\003\\324\\326\\315\\250\\375\\322\\326-\\3577\\203\\353[v\\343\\367k\\364\\244\\201\\223\\001KH\\015-P\\200\\322Py\\245\\246\\002Pz\\321F9\\240\\002\\226\\222\\214\\320\\000)\\030S\\251\\255\\322\\20025\\177\\341\\254\\222\\005j\\352\\337xVY\\004\\324\\215\\215\\3050\\216j\\\\b\\231\\216\\375\\350\\021\\013\\2575wE?\\351D{UG\\351\\305Z\\321\\006n\\\\\\201\\316(\\002\\335\\361\\375\\341\\025\\203\\2546\\032\\325}e\\002\\266\\357?\\3271\\365\\254MT\\0035\\230\\034\\2374\\032\\006t\\366\\334\\306*\\300\\250!\\300P\\000\\253\\002\\250AIJi;P\\003H\\024\\306\\024\\343LjC\\030\\335i\\222\\375\\323R\\034TR\\375\\323R\\0055\\352i\\331\\246\\006\\3114\\361\\322\\230\\215\\252L\\322\\342\\220\\361Lbc\\236\\264\\244\\321I\\370R\\000\\347=\\351s\\305\\024\\231\\246\\027\\012\\\\\\361@\\305\\007\\245\\000 \\367\\247R\\012C\\310\\240\\007f\\222\\220p(\\317\\245\\000:\\223\\261\\244\\346\\227\\245\\000/AI\\212L\\363N'\\212B\\001\\323\\232)3K\\3151\\211\\232^\\242\\222\\226\\200\\012ZAJi\\000\\012\\015\\003\\232B(\\000\\245=)(=(\\000\\2434\\230\\247b\\200\\001A\\240Rf\\200\\026\\203\\326\\223\\035\\373\\321\\336\\200\\001\\315-%(4\\300\\001\\353A>\\224u\\242\\201\\000<Q\\232(\\342\\201\\213IK\\333\\216\\264R\\020\\207\\247\\024/\\035iE\\006\\230\\303\\203I\\212\\007J\\005\\000.(\\365\\2444u\\240\\005\\243\\275 \\024\\264\\204\\031\\305\\002\\214Q\\212\\0003\\232\\007^\\364\\231\\245\\317\\024\\300(\\240Ph\\001\\011\\245\\346\\201Fh\\001\\007Z:R\\232L\\320\\002\\320(\\3174\\032\\030\\013I\\2321J\\005 \\022\\2028\\240\\234\\237J\\005\\003\\000M\\004\\373\\321Gz\\000\\005\\024\\235\\351h\\000\\245\\035);\\321L\\030R\\257L\\032J\\015\\002\\026\\203I\\236(\\024\\206)\\346\\222\\222\\224P\\001\\374\\250\\240\\236(\\014\\017\\024\\300\\\\P\\242\\2128\\240B\\367\\242\\2238\\2439\\240\\000\\320\\005\\007\\212\\001\\315\\000\\024\\264\\323\\326\\227\\034R\\035\\202\\212\\015%\\002\\026\\212\\015\\002\\230\\005\\024f\\212\\000\\005\\024\\207\\247\\024}h\\030\\264\\311F\\345#\\261\\247\\014\\320zP\\014\\371\\257\\342\\336\\224\\326\\032\\354\\263*7\\223)\\3105\\346\\362\\364'\\217\\245}\\001\\361\\256\\320K\\245\\371\\273rQ\\272\\373W\\202\\\\\\005\\012}\\253E\\261\\227S=\\371>\\203\\255D\\304f\\247\\223\\0075]\\227\\035M"\\321\\023\\361L\\003\\377\\000\\325O\\220z\\364\\024\\303\\356h\\001\\017\\323\\255&0{Q\\327\\245\\031\\355@\\303\\003\\322\\232G=\\251O\\275\\002\\200\\0238\\354qA\\034qJzqH(\\001\\007\\245\\034Q\\300\\035\\250\\034\\372b\\200\\003\\370Q\\336\\227\\002\\220\\365\\240\\005'\\212ns\\232\\\\Rb\\200\\024s@\\034\\322\\212L\\363@\\001\\353J\\007\\035h\\353\\326\\214\\343\\220h\\000\\352:\\320x\\340\\320\\017\\345I\\234\\365\\240\\005\\353\\232L\\234\\366\\243\\232A\\326\\200\\036r\\006\\016i\\243\\365\\240\\346\\227\\212\\000S\\307zA\\320\\322g\\326\\227\\256(\\000\\034Q\\212N\\235\\351s@\\006{sGz1\\236\\224g\\002\\200\\026\\216\\242\\223\\257\\341I\\322\\200\\035\\333\\232;R\\003\\212\\010\\346\\200\\002E\\024\\236\\224\\342\\177:\\000\\000\\344\\324\\361\\214\\016\\330\\250A\\317N\\265*g\\024\\000\\022:\\323\\013g\\2559\\201\\030\\351\\232\\217\\036\\364\\000\\036\\276\\324\\344^i\\001\\351\\301\\245\\007\\353\\315\\002e\\230\\333\\216:\\323\\300<\\364\\250\\241\\347\\031\\316=\\252l\\203\\316p)\\200\\212v\\221\\232wq\\327\\351I\\303\\367\\351M\\347\\337\\024\\304+\\002z\\014z\\322\\250\\364\\240q\\237\\177z\\016@\\240C\\2108\\300\\365\\247\\002\\275\\016sH\\274\\216\\377\\000Z\\000\\347\\007\\246i\\000\\255\\327\\232B\\330\\007\\255\\004\\016\\335=\\3151\\207\\327\\212\\001\\015^O=\\005)#\\324PW#\\214Sv\\347\\261\\240\\2413\\333\\202sHs\\217~\\324m\\300\\316sA9=\\363H\\005N\\274\\321\\200}E(\\351M'\\237J`\\000g\\201L"\\244\\03584\\326<\\016\\364\\010ns\\306h8\\357\\214\\321\\354\\007jk\\036y\\353@\\007\\257\\255)\\024\\320;\\016h#\\323\\245\\014b\\037jU\\340P\\005'N\\247\\212@)4\\336\\2474\\271\\317\\245\\035{P\\000q\\333\\275 \\245\\351\\236\\324\\230\\347\\232\\000L\\340\\361N\\037\\235!\\353K\\220G\\\\\\342\\201\\2128\\346\\203\\316H4\\301\\357\\232q\\364\\240\\006\\236iFqK\\217zC\\232\\000Q\\333\\277\\255!\\306($\\232i=9\\240\\004>\\371\\240\\261\\306(\\353\\327\\265!\\346\\200\\035\\307lS{\\221J\\275\\015(\\351\\326\\201\\\\\\\\q\\3159G|\\322\\012v;\\214\\320;\\206\\177*U \\216\\005'Zx\\000\\012\\004.9\\310\\353H3\\232:\\012O\\241\\240b\\347\\346\\353O\\215K\\021\\201\\336\\243A\\222+\\251\\360.\\210\\332\\306\\267\\014%\\031\\243\\016\\011\\000g>\\324\\321-\\236\\305\\360?\\303"\\326\\320_\\334!\\022\\037Q\\336\\275\\225G\\245gh\\226+c\\247\\305\\002\\377\\000\\010\\311\\372\\232\\323\\355Y7q\\241\\011\\305(\\347\\265&ri\\335(\\030\\235(\\244\\245\\007\\203@\\303\\234\\322g\\232Ph\\3434\\000\\200\\322\\347\\245.(\\307\\377\\000\\256\\200\\003H)M \\342\\220\\001\\243\\250\\240\\320)\\200\\012:\\321\\305&(\\000\\0345)8\\244\\357Hi\\200\\354\\346\\223\\275%\\013@\\016\\364\\240\\322\\366\\244\\244\\001E \\353E \\035I\\365\\240R\\232\\000CE)\\244\\240\\003\\024\\203\\336\\235\\332\\222\\200\\022\\224\\360)\\017\\024u\\246\\002\\203@"\\203M\\024\\000\\341F:b\\214\\0323@\\013\\326\\220\\320\\006(>\\324\\\\\\003\\265(\\351H\\264\\246\\200\\014\\363Hi\\264\\277J`:\\221\\251E\\024\\000\\202\\224\\322t4\\271\\244\\003zS\\263\\221M\\306i\\302\\220\\010s\\232;R\\321\\232`\\035\\350\\242\\223\\240\\244\\002\\320i\\005-\\000&i\\335zSqJ:\\320\\000\\006)i\\011\\305\\003\\232`.i;\\322\\322R\\001A\\242\\223\\201E0\\024Q@4P\\002\\032ZN\\364\\264\\000b\\227\\332\\224R\\036\\264\\000Q\\232;R\\012\\000ZZn)i\\210u\\024\\320ii\\000\\264v\\244\\242\\200\\026\\2234\\001F)\\200\\271\\242\\216)\\017J\\000N\\365a\\007\\025\\\\u\\253\\021\\216\\224\\300q\\351U\\334\\363S\\260\\342\\253\\275\\000U\\223\\227\\251\\343\\373\\265\\013\\375\\352\\2258\\024\\2068\\234P\\016h\\245\\030\\024\\000R\\347\\322\\220sG\\265\\002\\024\\325{\\257\\365f\\254Uk\\257\\365f\\223\\030\\232gZ\\326\\035++L\\025\\252:Q\\035\\2048RQE1\\200\\346\\226\\201\\305\\004\\322\\001\\015-7\\275/j`#\\016*\\243}\\372\\266\\335*\\241\\345\\315H\\307\\216\\324\\222\\037\\226\\235\\324Tr}\\323@#\\237\\2719\\276A\\357[\\260}\\301\\364\\254\\0319\\324\\005t\\020\\375\\301DBD\\235(\\024\\032\\017J\\242B\\201@\\351H)\\200w\\245\\315\\024P\\001IKA\\315\\000!8\\244c\\221K\\212B8\\240\\014\\215K\\231j\\203\\014V\\265\\344{\\2375M\\242\\343\\245H\\331I\\201\\036\\264\\322\\016*\\341\\2174yb\\230\\214\\366C\\333\\232\\273\\242\\307\\266I\\011\\241\\220b\\254\\351\\353\\267y\\244\\005{\\317\\365\\215\\212\\304\\276\\347P\\262^9z\\331\\273'\\315j\\306\\273\\303j\\366C\\2704\\015\\235T_tT\\302\\253\\304x\\0250\\342\\251\\210\\177jk\\364\\245\\317\\024\\215\\315\\003\\030\\0155\\251\\306\\230\\303\\275&\\003\\032\\242\\233\\356\\032\\230\\324\\027\\034)\\305 +'9\\342\\234p)\\252)\\324\\001\\264M4\\322\\201A\\246\\027\\020\\032S\\315!\\024t\\240\\005\\024b\\2274\\203\\336\\201\\001\\024\\204\\322\\344Rc\\275\\003\\017J\\001\\245\\034RP\\002\\320\\006(\\316)\\001\\311\\240B\\322R\\343\\212i\\353@\\013K\\232AJ(\\030R\\346\\220\\365\\240\\012\\000\\\\b\\220\\321\\316)h\\001\\007ZR(\\240\\320\\026\\020\\036)i\\006\\015.)\\010(\\240w\\245\\240\\004\\240QILc\\261Hh=\\251E \\012LPh\\372\\323\\001M%\\002\\216\\364\\010^\\324}h\\244\\307\\255!\\206E-&\\005(\\246\\001\\232\\0174\\036\\224\\016\\264\\010;Q\\326\\2121@\\013\\332\\223\\245\\024u\\240a\\332\\223\\361\\247\\032A@\\012:R\\016M\\006\\201\\301\\240\\005\\241\\251i)\\000\\202\\224\\361HM\\031\\246\\000(4qF)\\\\\\005\\024\\036\\224g\\212L\\323\\020\\264\\204v\\245\\243\\275\\000\\003\\217\\302\\224RP(\\000\\240\\032@M\\024\\014\\017ZQHE\\002\\201\\013\\336\\2234\\352\\015\\000%\\004\\321\\212)\\014ZC\\322\\214QL@:QE\\031\\240\\000\\014R\\212BiE\\003\\270\\334\\363\\336\\200ix\\315\\006\\200\\014f\\214Q\\315\\003&\\200\\012Ni\\324\\224\\000c\\326\\224\\012\\016(\\024\\000\\021H8\\247v\\246\\016\\264\\010SB\\364\\245\\244\\240b\\365\\244\\307>\\324}h\\240\\005\\242\\2234f\\220\\205\\305 \\351K\\316)\\011\\240\\005\\240\\212L\\320M\\003\\017\\245\\007\\221\\305\\024\\020q@\\216\\007\\342\\225\\240\\270\\320\\347\\004\\343\\0039\\372\\012\\371\\232\\354pG\\3715\\365\\177\\215\\342\\022is\\2023\\362\\037\\345_+\\337&&u\\307F8\\255#\\261/s(\\257Q\\232\\212E\\343\\351\\351V$R\\271\\252\\354\\017<\\323\\031\\003\\365\\3054\\201O+\\327'\\212a\\357\\364\\241\\215\\021\\236)\\017\\024\\374SNsH\\006\\343\\324\\322\\343\\275\\004R\\232`'zLzR\\377\\000*^\\3314\\200g\\327\\006\\222\\234\\007\\007=)\\007j\\0003\\223\\326\\216\\264\\244R\\016\\264\\000\\270\\3074\\036M\\035\\015\\034\\342\\200\\020R\\234\\032A\\237N)E\\000&@4\\242\\222\\216\\324\\000Q\\364\\2458\\366\\245\\307LP\\002\\0168\\244\\3074\\247\\257\\024\\275\\270\\240\\004\\353\\332\\230\\001\\247\\223\\221\\322\\222\\200\\022\\234\\010=i>\\264\\240{\\320\\000G9\\244\\035sN>\\224\\237J\\000^\\346\\220\\212\\005%\\000(\\351\\216\\224\\230\\245'\\214\\012:\\367\\240\\003\\035\\272\\320E(\\343\\212\\016?\\032\\000h\\030\\024\\270\\3174\\247\\356\\373\\322\\216:\\214\\212\\000\\000\\305J\\271\\372T`\\346\\245A\\316{P&\\014?*\\214\\367\\030\\251\\344\\034f\\240a@\\015\\372P)i\\301rs\\212\\006Y\\266B\\354\\025\\024\\226#\\240\\357O\\225v\\234\\034\\360k\\272\\370i\\341\\366\\270[\\235F\\3421\\344\\304\\204!#\\370\\261\\375+\\217\\325c\\021j7*\\231 9\\000S\\021T\\003\\3334\\207\\251\\035h\\\\\\236(\\357\\201T\\211\\036\\027\\246q\\2121\\214\\347\\004\\237Jjg\\277"\\236H\\364\\346\\200\\033\\310\\307\\245'\\\\r\\015)\\001\\217\\034S\\266\\343\\332\\220\\006\\007C\\214\\322g\\201\\236\\005+.G\\0074\\323\\323\\232\\030\\320\\334\\236\\200`Rt&\\225\\201^\\274\\323s\\352)\\0143\\327\\337\\2657\\030\\355\\305<rp)1\\3161H\\004'\\236\\0004\\334d\\323\\330\\016x\\250\\311\\316qL\\005\\004\\216\\247\\232N\\246\\2349\\352)\\006A\\366\\364\\241\\200\\326\\036\\224c\\2558\\376T\\234\\232\\000i\\300\\366\\244\\034u\\351Oe\\310\\250\\313\\014c\\232C\\021\\275\\250\\031<\\321\\357\\232^\\237S@\\010\\005\\024\\234\\321\\327\\035h\\001N=x\\244\\036\\306\\227\\007\\0304c\\2474\\005\\204\\031&\\2020}h9\\305\\0308\\311\\351L\\002\\226\\223\\223\\322\\227\\214\\322\\001I\\365\\342\\233\\234\\217LR\\222)\\244\\200=h\\0013\\371\\323H\\307Z\\007^\\324\\354\\217@h\\001\\200\\372\\216)\\336\\274c4\\270\\036\\364\\252?J\\000\\000\\307\\030\\247(\\307Z?\\245\\030\\344\\016s@\\254/N\\230\\243<z\\032\\017\\024/=h\\030\\252\\275\\350\\352h<\\000)\\001\\3018\\342\\200\\035\\3339\\245\\343\\247ji9>\\364\\240d\\372\\320\\004\\320\\256\\346\\300\\003\\236+\\350\\337\\202\\276\\036\\216\\306\\304\\334\\276\\032g\\000\\344\\366\\257\\236,\\224\\011\\025\\233\\240<\\327\\323\\377\\000\\011nV\\343NFQ\\200c\\037\\240\\241\\354I\\350\\221\\214\\017\\245>\\220R\\326v)\\015\\357\\232w\\326\\212i\\240c\\251\\006\\177\\012Pp(\\240\\003\\024\\204R\\347\\212N\\264\\200\\001\\240\\234R\\212CL\\005\\007\\212)(\\3174\\2003Fy\\245\\3054\\320\\002\\237zZN\\264\\270\\246\\002\\012\\015\\004zQ@\\005(\\305&);\\320\\003\\273RR\\366\\246\\212\\000ZRsH\\007\\024P\\0001N\\246\\342\\227\\2450\\012))M!\\200\\245\\342\\222\\223\\3274\\010R(\\305&sN\\240\\004\\244\\2454\\204R\\001M\\031\\244\\244\\3050\\0274\\271\\305\\037Z\\015 \\020t\\245\\003\\212;qGCL\\002\\212\\0174P\\000z\\032\\000\\342\\232\\324\\240\\320\\002\\232(\\2434\\200SE#\\037J@M0\\035\\332\\232sFih\\000_z\\005\\024\\243\\232@\\035(\\034\\322u\\243\\030\\240\\005\\003\\232\\005!\\351I@\\016<\\320)\\264\\341\\3050\\026\\223<\\321\\232i\\240\\007QL\\247\\363L\\000R\\366\\244\\306(\\006\\220\\005-%\\002\\200\\034))\\017\\024\\202\\200\\037II\\232A\\311\\246\\003\\250\\240\\321@\\205\\240QFh\\001i;\\322\\320\\005\\003\\024\\021E\\024P \\035h4f\\222\\200\\001\\326\\254'J\\255\\336\\254\\247J`\\015\\320\\325y*\\303\\364\\252\\316i\\001Y\\217\\317S/J\\201\\271|\\325\\205\\350(\\001zQE%\\003\\034\\016))9\\247R\\000\\355U\\257\\016#5c<\\325[\\323\\362\\3764=\\200\\227L\\351Zu\\233\\246}\\332\\322\\024\\226\\302\\026\\2234\\264\\334sT1\\331\\243\\203E4\\216(\\001\\324\\202\\220t\\245\\240\\004c\\305U\\376<\\325\\246\\350j\\240?=&2A\\234S%\\373\\206\\244\\0359\\250\\247\\373\\206\\2009\\361\\377\\000!\\017\\306\\272\\010\\371Q\\\\\\374#~\\240z\\361]\\004c\\012)DLy4\\275\\251\\001\\242\\254A\\232\\017\\024\\016\\264\\275\\250\\001)\\302\\232;\\323\\273P\\002\\032L\\346\\203@\\240\\0034\\206\\2278\\244&\\220\\310&\\031\\025M\\227\\025}\\306A\\252\\262.\\011\\244\\005b1M"\\245#\\232B)\\211\\220\\225\\251\\355@\\001\\252<z\\324\\321\\014!4\\204\\214\\353\\222\\013\\267\\326\\261\\034\\203\\342+e\\353\\362\\023[3\\375\\366>\\265\\215\\030\\335\\342h}V#L\\246u\\221\\2168\\251EB\\231\\030\\251\\3051\\007JL\\346\\202sI\\332\\200\\032\\335j6<T\\206\\230\\324\\200o5^\\347\\356\\324\\344\\346\\240\\237\\356\\324\\262\\212\\350sN<\\364\\246\\257\\024\\340}\\351\\210\\3324\\224\\246\\222\\230\\204\\315\\003\\232(\\024\\014\\016{\\323\\251\\264\\234\\320\\002\\342\\224RsE\\026\\001i\\264\\254h\\035h\\001E'\\245\\004\\361H(\\001\\300\\346\\223\\212;Q\\232\\000(\\006\\217j=\\350\\001h\\315 \\245\\240\\002\\212\\007\\245\\006\\201\\011GJP(4\\014\\005)<\\364\\244Z\\015 \\024u\\245\\3157\\2123\\212,\\002\\321\\332\\214\\321@\\001"\\220\\032_\\255\\004\\212`\\031\\242\\212J\\000Pih\\244&\\220\\205\\243<Rf\\212\\000\\\\qH:\\322\\373Pi\\200\\204\\320(\\240\\012\\000SE\\024\\012@\\031\\346\\214\\322\\036h\\024\\000\\275h\\034Q\\365\\244\\006\\2041{\\363E\\031\\342\\233\\336\\230\\016\\315\\0314\\202\\2274\\000\\231\\3174\\275\\351:\\232(\\013\\005;<Si3H\\007c\\212:P\\015-0\\022\\226\\202)\\0074\\005\\203\\275:\\222\\220\\320+\\013GJ@(c\\332\\220\\305\\352)\\005\\002\\226\\230\\010ii\\006sN\\024\\010m.h\\306h\\305 \\020\\023KG\\322\\212\\000(4w\\242\\230\\010E(\\240\\321\\214\\012\\000(4\\264\\207\\232\\006 \\346\\226\\212^\\324\\000Ru\\240\\2323\\322\\220\\202\\216\\224\\003I\\336\\201\\213\\2328\\315\\006\\220\\032b\\024\\232\\005\\006\\220\\032\\000\\\\\\322\\322R\\023\\315\\003\\027\\265(\\024\\203\\232ZB\\0234qJzS\\177\\032\\006\\002\\227\\275\\003\\002\\212\\000ZBi\\011\\245\\024\\001\\211\\342x\\204\\232|\\203\\037\\302k\\345_\\021G\\345j3\\2566\\341\\317_\\255}k\\254.\\373G\\036\\325\\362\\317\\217c\\021\\370\\202\\345Gf\\316*\\340L\\216VC\\234s\\365\\252\\362s\\323\\030\\253E:\\347\\214\\361Ud\\030c\\234\\347\\240\\366\\253\\021\\013\\203\\332\\230q\\3379\\251X\\034r\\010\\250d\\316q\\320\\322\\030\\322E7\\216\\264\\021\\307\\322\\223\\034\\342\\220\\303\\275'\\363\\245#\\326\\233\\316=\\250\\001ON\\224\\231\\346\\227\\255.0=\\350\\001\\016\\017\\265 \\340\\322\\236\\270\\246\\343\\320\\361@\\016\\317jB)zv\\346\\220\\361\\327\\255\\000!>\\271\\243\\336\\224~f\\216\\007\\275\\000\\036\\375\\251\\271\\311\\353N\\240\\342\\200\\003\\317\\265 \\353KHG<\\320\\002\\343\\275&iz\\016\\364\\235\\263@\\012\\017\\250\\243\\265%\\000\\372P\\000GZL\\342\\234rE&8\\365\\240\\003\\255)\\350(\\3057\\241\\240\\007u\\365\\244\\000\\347\\336\\225G4\\264\\000\\207=\\015\\002\\214\\2129\\355@\\006\\001\\351\\326\\223\\361\\245^iv\\320\\003A\\245\\246\\347\\232x\\034\\012\\000A\\322\\224\\0121\\371\\322\\347\\035\\215\\000 \\251\\224\\364\\034\\324Y\\024\\365\\364\\037\\215\\000J\\307\\345\\347\\245Bz\\360z\\324\\300eOJ\\214\\250\\034\\232\\004 \\343\\212\\277\\242i\\263j\\272\\235\\275\\235\\262\\222\\362\\260\\035*\\222\\014\\265{\\217\\300\\017\\012\\357y\\365\\273\\250\\210E\\371!\\317s\\353C\\320\\033:\\311\\364\\233\\177\\016\\370K\\354\\260g+\\021\\334ORq\\3115\\363\\245\\373y\\2272\\277<\\261\\257\\244~$\\\\y\\0325\\313\\022\\007\\313\\212\\371\\251\\376f'\\324\\322\\206\\241m\\010\\263\\217j\\000={R\\267|\\340\\320\\243>\\325b\\024\\201\\223\\200qG\\360\\340\\375(c\\201\\214\\323\\227\\234\\344SB\\020p\\334\\322\\226#\\006\\234T\\002)\\273rh\\030+\\037ZF\\353\\30194\\235\\361\\320\\322c4\\200^\\030\\200sQ\\260\\364\\247\\347\\034f\\220{t\\242\\303\\270\\213\\306=iO={Q\\200>\\246\\223\\241\\305&\\003{\\323Xd\\372\\032q\\343\\236\\264\\321\\354)\\000\\275\\027\\336\\231\\277\\236\\370\\251\\012\\360})\\230\\003\\212`!\\346\\216q\\221H\\307\\216\\371\\2407\\036\\364\\200v\\341\\323\\232\\217\\034\\346\\214u\\364\\244\\340t\\240`y8\\245\\003=M4\\014\\267\\364\\245\\350\\330\\246 \\340p9\\245Q\\203\\350(\\301>\\324\\2758\\034\\322\\030g\\365\\246\\237\\322\\203\\371Q\\332\\200\\016iC\\016\\375)3\\350x\\243\\024\\000\\204\\363\\220)?:3\\201\\317JC\\376E\\000(8\\034\\346\\232Ns\\351H\\307'\\232\\001\\343\\024\\000\\336sR/4\\325\\034\\324\\301x\\002\\200\\032\\007\\035\\351p1J\\336\\364\\203\\203\\316(\\020\\274b\\223\\336\\224\\020\\016I\\353A\\353\\336\\201\\2109\\353\\323\\322\\236;b\\220\\016\\347\\265\\005q\\236\\377\\000J\\000\\011\\355\\212^\\007ZC\\217AG4\\000\\354s\\232|c.)\\221\\344\\344U\\224\\214`\\232\\004\\311\\001\\333\\3069\\315}\\017\\360N\\3406\\237\\022\\203\\3748\\375\\005|\\344I\\3348\\375k\\334>\\007]\\3424By\\334E\\017a\\036\\360:R\\216\\264\\324\\344\\012ufX\\032\\000\\243\\255 \\244\\003\\200\\242\\222\\201\\326\\200\\024Pz\\322v\\315\\000S\\001i\\005-&h\\000\\240Q\\232QH\\000\\032kPiE0\\0234\\354\\361I\\212(\\000\\352iH\\240\\232J\\000\\005\\030\\243\\275- \\003\\326\\232)sK@\\007JJC\\3159E0\\033\\217\\255(\\346\\216\\364\\177:\\000\\015\\000\\361A<R\\003\\305\\000)\\353H\\331\\355E:\\200\\032\\264\\354\\322\\003Fy\\244\\002\\346\\220R\\023\\351J(\\000\\244\\035izQ\\336\\250\\005\\244=h\\247\\012@%\\024\\036i\\015\\000\\031\\2434\\012N\\364\\000\\276\\324\\264\\224\\231\\346\\220\\016\\024Rt\\245\\024\\000u\\243\\024\\224\\264\\300m\\024\\242\\212\\000\\\\\\373\\321\\232B)\\007Z,\\003\\311\\305 \\242\\223\\245 \\012\\\\qH)\\330\\374\\250\\001\\275\\350'\\024\\264\\230\\240\\002\\227\\255!\\034\\322\\203L\\000\\012Q\\305\\000\\214Q@\\006}i\\007zZ)\\000\\202\\212ZC@\\013B\\320(\\246\\001\\212\\\\R\\002(\\024\\000\\264PzRd\\032`;4Sh\\357@\\016\\357J\\017Ji\\004\\322\\212\\000v(\\246\\365\\2438\\240,/\\255\\024\\200\\322\\346\\200\\020\\014\\265XN\\225X}\\352\\260\\207\\212\\004+\\360*\\264\\225e\\317\\025Y\\373\\320\\005c\\367\\252\\302\\037\\224Uq\\367\\252q\\300\\240v\\035E!\\245\\024\\010:\\322\\322\\001\\212S@\\006*\\235\\367@*\\340\\252w\\347\\201I\\3542\\306\\234>Z\\321\\374j\\206\\234>J\\275\\316([\\010w\\256)3H\\015(\\2461h\\244\\245\\353@\\011\\216h\\002\\2123H\\006HF\\323U\\227\\033\\263Ve\\373\\265U98\\315\\000K\\237J\\212\\340\\3423R\\212\\206\\353\\375Q\\240h\\301\\265\\346\\374\\237S]\\014}+\\237\\262\\037\\351\\315\\315t)\\322\\224v\\023\\026\\2278\\244\\375(\\252\\270\\205\\002\\214qH\\015.y\\242\\340!\\034\\322\\212N\\364\\264\\000\\206\\220\\034\\321\\232QL\\000\\373\\323O\\024\\352C@\\310\\311\\250\\244\\031\\031\\251OZn3H.TaL5+\\214\\023Q\\023@\\206\\365\\251P\\376\\354\\324$s\\351St\\214\\320\\010\\312\\234\\362~\\265\\217g\\317\\212\\217\\240\\206\\265\\245\\352k3M\\001\\274K3\\036\\321\\212Kq\\263\\251AS\\016\\225\\022t\\247\\346\\250A\\212Z)\\015\\0005\\270\\250\\315=\\351\\206\\245\\214i\\342\\253\\334\\236:\\325\\203\\322\\252\\334\\016\\330\\342\\220\\310\\205)\\342\\205\\340zR\\323$\\331\\3174\\204\\014\\322\\237j)\\214J;\\032)\\016h\\001A\\240\\320:QH\\003<\\321E\\024\\304\\030\\245\\036\\224\\037ZC\\352(\\001M'\\024rh\\3074\\0141\\221H){P\\016h\\0004\\016h8\\240t\\240\\004\\372S\\301\\342\\220{\\321@0\\353E\\024\\206\\201\\013\\236h\\315\\024v\\240\\005\\244\\024RP1s\\315)\\351L\\024\\356\\015\\000&)z\\032\\000\\305-\\000\\300sF(\\034\\012(\\020\\036\\224\\224\\242\\202;P0\\315-4\\322\\251\\240A\\216h4\\023\\315\\004\\3201;\\322\\346\\220\\032v(\\006!\\240Rf\\226\\201\\007&\\224\\016\\224\\332ZAaqIFi\\016sLv\\026\\214P9\\024\\242\\220\\005'\\326\\227\\276(\\246\\002f\\224\\321I\\324\\320\\027\\014R\\366\\244\\305(\\240A\\2121E-\\003\\023\\245.i\\247\\255/j\\000:\\321GJ(\\004\\035(\\353Hh\\034P\\003\\201\\305%\\035i\\001\\244\\002\\32094P8\\246\\001K\\216\\005!\\346\\201@\\011K\\237\\302\\214Q@\\200\\361A\\342\\212\\0174\\014(\\315'\\343J(\\020Rg4\\264R\\001h\\305\\031\\244\\006\\200\\024RQ\\332\\227\\2551\\211F(\\351IHB\\201\\315)\\342\\220\\036i3@\\305\\352qE.h4\\300;Rf\\214\\320E\\000-%.x\\244\\007\\255\\002\\016\\364\\264\\017z3\\365\\244\\026\\024\\323h\\346\\227\\275\\003\\023\\024S\\251\\204\\346\\230\\013\\212^\\324\\224\\012@U\\324\\206m_\\351_1|J@\\236%\\272\\035\\270\\257\\247\\257\\371\\266q_4|P_\\370\\251n\\001\\3438<UGr$p\\222\\365\\376\\225Q\\224\\366\\346\\256\\334/\\343U[\\216\\017J\\260\\271]\\362\\016?J\\211\\307\\347S9\\3005\\023\\036)\\014\\210\\361\\3374\\336}i\\343\\236\\264\\207\\365\\240cH\\024\\207\\223\\305+u\\244\\310>\\324\\000\\200z\\322\\223\\370Q\\212A@\\000\\243\\360\\247q\\351\\305&FzP\\002z\\321\\337"\\224\\322\\177Z\\000@ph\\240\\012\\017=3@\\001\\352;QF=i@\\374\\250\\000\\306=\\3511K\\370PO4\\000\\231\\342\\214\\340Q\\3334\\2074\\000\\277QK\\214t\\244\\024\\240\\366\\240\\004\\034\\321\\322\\214\\322\\217\\326\\200\\023\\256h\\306M)\\374\\215\\013\\364\\240\\004\\301\\024\\036)I\\244\\310\\240\\000\\363\\315.GJLc\\277Z(\\000\\3434\\342)\\007\\322\\214\\320\\001\\216h\\024u\\353GC@\\013\\236\\264g9\\243\\267\\024\\231\\305\\000(\\367\\247\\257Zg\\322\\226\\200,!\\347\\212c\\214\\234\\212X\\215JW\\247\\0074\\010\\275\\341\\255*}kY\\266\\260\\267R\\317+\\201\\307a\\334\\327\\330z\\016\\231\\026\\215\\241Ag\\002\\205X\\320\\003\\356{\\232\\362\\177\\331\\377\\000\\302~TO\\256\\335!\\016\\343l9\\364\\356k\\332\\256\\270\\205\\252$\\304\\265g\\221\\374`\\230.\\217(\\311\\0370\\351_?\\023\\311#\\035x\\257k\\370\\325;.\\237\\214\\236X\\214f\\2749[?\\215T\\006\\311\\0174\\002\\007\\036\\324\\314\\343\\271\\247(\\315X\\207\\016z\\376\\264\\340v\\236;\\322`\\256\\016sB\\345\\272\\234P\\002\\223\\357\\232^\\242\\232\\343\\035\\006OzPI\\315\\000\\007\\000g\\200)\\243\\256{\\012\\033\\216\\274\\347\\322\\223\\220h\\001Xd}j>Kz{\\032R\\3478<P\\243\\365\\357@\\016\\333\\306x\\3054\\202>\\224\\366\\000\\037SL\\007\\257\\245\\003\\030I\\306\\017z\\007\\035iI\\301\\307\\362\\240\\014\\365\\006\\220\\012\\314\\000\\365\\025\\016}\\252F\\024\\306\\340p(`!\\246\\037JQ\\357HzR\\001A\\374\\2508\\244$g\\216)O\\271\\353@\\306\\347\\006\\224t\\315\\004z\\322\\366\\306(\\025\\204\\004\\236\\224\\247\\240\\003\\255 \\000R\\036\\264\\014q\\034p)\\247\\217ZL\\234b\\2023\\310\\240\\003\\031\\351\\305!8\\353\\322\\214Ru\\315\\000.O\\324\\032C\\351A\\342\\223\\257Z\\000\\010\\3159W\\3274\\2528\\315?\\261\\307\\024\\000(\\000s@4\\277N\\204\\322}\\015\\000+\\016)\\271\\347\\332\\232\\331\\243\\006\\200\\035\\324\\377\\000*3\\353@\\024\\277\\205\\000(<\\363\\214R\\347 \\372S\\011\\355\\315(\\340s@\\013FqB\\360\\330\\251\\024\\002q\\326\\201\\016\\2062Nq\\315Zo\\224\\021\\216i#\\033W<Sf\\223\\257=(\\002\\034\\345\\275k\\325\\376\\011\\316V\\355\\224\\234\\000\\343\\212\\362D\\353\\352k\\321~\\021\\\\yz\\243/\\251\\0241\\237SD\\337(>\\265 \\346\\253\\331\\235\\320!\\366\\025>+1\\212:\\322\\361M\\367\\240f\\213\\000\\264\\235)M 4X\\000\\036}\\351A\\240PE\\000-%'jN\\224\\000\\361E4\\036\\364\\271\\240\\030f\\201E% \\026\\203E\\006\\200\\016\\264R\\012Z\\000\\015 \\316)\\306\\220\\360(\\000\\242\\233\\234\\032Q@\\013\\326\\224Rt\\240\\034\\320\\002\\321\\364\\244'\\212h\\246\\003\\210\\246\\323\\2504 \\270\\202\\203\\326\\212\\001\\365\\240\\000qJqIHh\\001x\\245\\246\\255.x\\244\\000)E \\243<\\325\\000})A\\365\\244\\315\\031\\342\\220\\012\\324\\200\\320y\\242\\200\\035\\332\\220sH)@\\240\\003\\024\\021GjN\\364\\000\\264QFq@\\010~\\264\\271\\242\\222\\220\\013\\332\\201\\322\\233\\336\\224\\363\\305P\\016\\244\\244\\245\\002\\220\\005-'Z:\\012\\000Q\\216\\224RP9\\240B\\320i\\015\\000\\346\\201\\213G|sI\\234Rg\\237j\\000Z\\\\\\322\\003I\\336\\200\\034y\\245\\246\\216ii\\000\\264\\224\\204\\321@\\005:\\2234\\026\\240\\000\\212^\\224\\235E'SL\\005\\352iq\\357H)sL\\002\\216\\264\\012Z\\000Z;\\365\\244\\311\\240\\012\\000Q\\326\\224\\322\\0123@\\200QH3A\\240\\005^\\265aj\\272\\036j\\300\\351@\\010\\347\\212\\252\\344U\\211\\017\\025^N\\206\\230\\020)\\371\\252\\300\\350*\\262u\\253\\035\\251\\000\\271\\240\\032CJ)\\000\\271\\242\\222\\226\\230\\001\\351T\\257y#\\236\\365r\\251]r\\303\\236\\364\\236\\303E\\373\\001\\362\\012\\273\\332\\252Y\\017\\335\\212\\267\\232\\004\\024RR\\032c\\035\\324R\\364\\246\\251\\245\\315&\\001\\232)\\271\\346\\226\\230\\014\\223\\356\\232\\254\\236\\325f^\\225Y:\\322\\002BzT\\027G\\367G\\332\\247\\252\\367\\277\\352\\215!\\243\\033M\\346\\355\\317\\275t\\013\\320W?\\244\\377\\000\\257o\\255o\\257AMl'\\270\\352)i3\\3151\\005\\024\\264\\206\\200\\023\\275(\\244\\351J(\\0004\\200Q\\336\\214\\323\\000\\305\\006\\212LP\\004dRS\\3154\\365\\244\\0043\\016*\\273{U\\266\\031\\025U\\206\\015\\0003\\024\\367\\377\\000T\\337Ja\\247\\311\\304'\\351C\\004d\\311\\337\\232\\314\\320\\376m~\\371\\206N\\000\\025\\246\\347\\237j\\314\\360\\316\\016\\253\\2517}\\370\\376T!\\263\\251C\\357Rc5\\024b\\246Zb\\012i\\346\\224\\232J\\000i<S\\011\\247\\037zfjX\\304=*\\264\\347\\234U\\202j\\255\\307\\007\\245 \\030\\017\\024\\250}i\\027\\245\\015\\322\\200f\\315\\024\\235\\250\\252\\004\\006\\216\\364\\264\\235\\350\\006\\004\\322\\003\\203Fh\\342\\200\\035\\326\\201\\323\\232L\\201A4\\000\\264RR\\223@\\205\\242\\233K\\326\\201\\211\\232\\007Z^\\224\\235\\351\\000\\246\\222\\227\\255\\030\\3050\\012\\005\\024P!{\\321\\232@h\\240\\005\\357Gji\\245\\034\\212\\006\\024\\271\\353M\\350)h\\000\\346\\224R\\212C\\323\\024\\000\\271\\342\\232:\\322w\\353N\\003\\024\\010(\\243\\265\\035i\\215\\000\\315/zOj:R\\001\\017\\035isH\\3074\\240R\\020Ph\\006\\202h\\030\\012^\\324\\231\\351J)\\200\\236\\264\\271\\244\\245\\242\\340%&)zQ\\221H\\002\\202(\\245\\3150\\001FM%(\\346\\200\\012\\001\\244\\366\\245\\357@\\2054\\235h\\243\\363\\240`M(\\246\\232Ph\\020t4\\271\\342\\220\\320\\005\\000\\031\\305.sHh\\006\\200\\024\\322\\012ZLf\\201\\240=i3\\212\\\\R\\234b\\200cGZvi\\007\\275)\\240A\\232JZ@9\\240\\005\\024\\224Q\\212\\006\\034\\322\\212(\\357@\\204\\317ZPh\\243\\034z\\321q\\240\\2434\\023H\\005\\000(\\243\\024g\\336\\224t\\244!\\030qH8\\355K\\234\\201GZ\\020\\013\\332\\216\\364\\336sK\\214P\\002\\322RR\\223L\\003\\024P\\017\\024u\\240\\004\\352(\\317\\024\\264b\\201\\334\\0074\\032i\\342\\227\\2674\\010^\\364b\\216\\324P0\\245\\244\\244\\240\\005\\035iI\\244\\242\\200\\024t\\244\\372R\\001Jx\\024\\000\\234\\346\\235\\322\\220\\032\\011\\346\\220\\020\\336\\015\\320\\270\\366\\257\\234\\276,E\\345\\370\\201\\230\\250\\371\\326\\276\\220\\233\\224a\\355^\\001\\361\\236\\034_\\302\\340g\\345\\247\\035\\311h\\362\\231\\233$\\214c\\232\\252\\343\\265\\\\\\237\\206\\340UY\\210\\035\\263Z\\010\\254\\343\\2505\\021\\\\\\212\\225\\207\\341Mp\\000\\035(c <\\036i\\033\\240\\357Nn\\271\\377\\000&\\230\\300\\221Hdm\\353\\315(\\2458\\377\\000\\012\\005\\000\\004\\361\\326\\233\\320\\347\\2658\\214\\216)1\\353@\\010N:\\321\\371S\\216\\016:S}=(\\001\\011\\374(\\003\\324\\322\\343"\\212\\0002zQ\\374\\275(\\353\\365\\244oLP\\002\\340b\\217\\324P\\017\\035\\3513@\\001\\346\\223\\237Z0M/lP\\002QGOZp\\240\\006\\322\\32084\\207\\256h\\001G4\\277\\2254qN\\003\\326\\200\\020\\363J>\\274\\320F(\\316(\\000\\306}\\251:u\\240\\032PA\\240\\004\\344\\375)q\\212\\016}\\351(\\000\\244\\307\\031\\245\\243\\360\\240\\003<Q\\236\\364\\001\\236\\224{w\\240\\0034qK\\212\\000\\305\\000*\\3764\\243\\2223\\300\\244\\030\\351\\222\\005;\\245\\000=\\016\\017$\\221\\355[\\376\\027\\322&\\326\\365\\213k+x\\313\\264\\2143\\201\\320w\\375+\\237S\\214W\\242\\374\\026\\325#\\323\\374ghe\\333\\211\\217\\226I\\343\\031\\247\\320L\\372{D\\323\\341\\322\\364\\273[+u\\013\\0341\\205\\030\\251\\357\\216!52\\343\\031\\025[Qm\\260\\220Md4x\\007\\306\\351\\216\\330\\027\\2631\\315x\\372\\000Nk\\323~4\\313\\276\\372\\024\\317@My\\202\\235\\247\\036\\265\\244D\\311J\\222z\\214R7\\035)\\300\\344\\014t\\244$1\\357\\305P\\204\\004\\347\\236i\\312y\\317Ni\\203\\357\\021\\330T\\200\\005\\353\\310\\366\\240\\007u\\031\\355J\\244s\\324P\\314\\033=\\207ji#\\030\\3474\\000\\362A\\004\\036\\265\\031\\030\\024\\016\\270\\240\\214\\001\\234R\\001\\235\\372R\\347\\203\\216)\\335\\350\\367\\342\\200\\032\\017|\\364\\243\\003\\006\\225\\200<\\212\\000\\356h\\030\\307\\000\\344\\367\\246\\226\\353\\324S\\233\\232\\214\\221\\352\\015\\000.}Ni\\254\\330\\030\\244f\\364\\340R74\\200N\\376\\324\\001\\326\\220\\034u\\240\\360zP\\002\\021A\\006\\214\\361\\324\\323I\\311\\301\\240c\\301\\366\\305\\000\\363M\\351J8\\240W\\025\\207\\327\\024\\316\\370\\245\\335\\216\\275):\\021@\\000\\353K\\334\\322u"\\203\\322\\201\\211\\232;f\\223\\326\\227\\031<P\\002g5 \\030\\346\\221W\\007\\265?\\214q@\\010zf\\232\\0074\\376\\364~\\024\\000/\\007\\232RA\\367\\315\\000\\347\\236)\\247\\255\\002\\023<\\322\\216Nh\\000\\016\\371\\243\\2774\\014\\0338\\243\\353\\336\\227=\\273Rw\\301\\342\\200\\012\\\\q\\232\\010\\364\\245\\0350z\\320 \\003<\\372\\366\\251\\343P\\2474\\305Z\\2238?N\\364\\001*\\2668\\250gl\\023\\317Zx\\316*)y<f\\230\\021\\347\\3275\\327\\3749\\271\\3625\\370\\362p\\030\\177Q\\\\y\\347\\3275\\273\\341\\0116kV\\330\\340\\356\\240W>\\304\\321e\\3634\\350\\217\\260\\255\\000k\\013\\3022\\2114\\210O\\265n\\257J\\311\\226\\203\\361\\245\\024\\323\\315\\002\\230\\016=)\\242\\224\\232h\\342\\220\\207\\212S\\300\\246\\346\\226\\201\\200\\3474q\\232L\\322\\203\\305\\000!\\357@\\351I\\353J(\\001M%\\006\\212\\0009\\355E-4\\361@\\012?\\012\\017ZE4\\354\\361@\\010\\015)\\301\\024\\203\\232\\017\\265 \\020\\212p\\244\\036\\364\\242\\200\\003I\\322\\224\\232h\\031\\240\\005\\353@\\243\\245\\030\\3079\\246\\001Gj(\\006\\230\\203\\201F);\\322\\216i\\014L\\322\\236x\\243\\212?\\225\\000\\002\\2023G\\343K\\236)\\000\\332)G&\\212w\\000\\244\\357A\\240S\\001E!<\\322\\323q\\223@\\016\\006\\224\\032f(\\315 \\037I\\322\\2238\\244\\335\\232.\\003\\250\\246\\203\\212vi\\010)s\\3074\\320y\\245\\357La@\\353E \\353\\315\\000:\\227\\332\\232OJ\\001\\244\\001\\336\\2274\\264\\323\\3050\\026\\203M\\357J(\\001z\\322c4P3@\\001\\353J\\005!\\316iE0\\014Rw\\2454\\235\\363J\\340(8\\245\\024\\336\\264\\243\\212\\000\\032\\201GZ3\\212\\000(\\024u\\342\\216\\224\\000\\242\\200\\274\\320(4\\000\\032\\\\\\323H\\315\\006\\230\\016\\244\\316(\\024\\270\\346\\201\\012\\017\\024\\012LR\\364\\240\\005\\242\\222\\212\\000ZL\\322\\232i\\240\\007(\\311\\251\\324T1\\236ja@\\015|Ui:\\032\\262\\375*\\254\\275\\015\\003!\\217\\255N\\265^>\\265`p(\\020\\271\\240Ru4\\264\\200QK\\326\\233E0\\006<\\325+\\257\\365\\202\\256\\265Q\\270\\346QI\\214\\323\\262\\377\\000V>\\225j\\253\\332\\017\\335\\212\\260i\\200\\264\\323\\326\\216i;\\320\\002\\322\\236(\\024\\206\\200\\014Q\\232);P\\003f?)\\252\\310y\\251\\345\\373\\246\\240J@J*\\246\\241\\304\\007\\351V\\273UM@\\376\\345\\276\\224\\230\\321\\227\\243\\017\\3379\\367\\255\\365\\254=#\\357\\236ko\\2658\\354&-\\024QT!s@\\3474\\224\\231\\305 \\027\\024w\\243<Rd\\320\\002\\375h\\244\\2454\\307`\\355HM\\024\\023@\\206\\3654\\306\\034\\323\\373\\323[\\255!\\215\\365\\250%^j|\\361Lq\\221@\\025GSD\\377\\000\\352\\215+\\014\\032.\\016 4\\230#"N\\365\\225\\341\\017\\232\\357Q\\177Y\\315jI\\316k/\\301c&\\370\\377\\000\\323v\\241\\011\\235rt\\251\\007"\\243S\\305<U\\000\\034\\323OJV\\374\\250\\355@\\306\\032\\214\\360)\\355L=jX\\015\\252\\267\\007-\\212\\266O\\025Ns\\363\\322\\001\\007J3H\\017\\024\\264\\304l\\361\\212i\\353\\212q\\2444\\306\\031\\305!<R\\346\\220t\\240Bc\\212Z;\\321\\234\\232\\006\\030\\346\\227\\275\\024f\\200a\\201E\\004\\322s@\\205\\315\\031\\240\\212\\005\\003\\014\\363K\\332\\2328\\245"\\220\\000<\\322\\363M\\357J\\016i\\203\\024\\321IF(\\020\\270\\244\\315\\006\\212\\0003\\232ZN)s@\\300\\320\\006)\\001\\245\\315\\000-4\\037z\\\\\\322\\016\\2714\\010QE\\006\\226\\200\\001\\305\\037ZCFh\\030\\017JR8\\246\\367\\315;9\\240\\004\\307\\2558Rf\\220\\032B\\027\\371\\321\\212\\007J3@\\0121M\\002\\227\\353E\\000\\035)3Hi\\007&\\230\\307\\203H:\\322S\\261@\\001\\036\\224\\012\\005\\031\\346\\200B\\322g\\024\\023\\236\\364\\326\\240\\005\\352ii\\027\\364\\247t\\240BrE\\034\\343\\275\\031\\243\\275\\003\\001\\357Gj(\\240\\000R\\363E)\\240\\006\\214\\347\\232ZL\\322\\373\\320\\001\\336\\2274\\314\\363\\355N\\240A\\355@\\242\\2008\\240\\0034c4b\\201@\\354-\\004\\322\\032\\015\\002\\026\\223?\\205\\024P\\001KH)s@\\006h\\240\\323E\\003\\035\\212(\\240P\\003{\\323\\276\\264\\231\\243\\255\\000)4\\012J^\\307\\232B\\016\\364R)\\242\\200\\027>\\324\\224qJh\\260\\011G4\\224\\275h\\001E\\024Pi\\200R\\032ZN\\246\\225\\306\\000\\320ih\\246\\002\\032^)\\010\\315(\\351HAA4b\\203L`i:\\212QG\\322\\200\\0121\\212JwjL\\030\\307\\345Mx\\257\\306\\353`\\266\\321L?\\200\\342\\275\\254\\364\\257*\\370\\317\\010m\\022V#\\241\\247\\035\\311g\\317\\356rI#5M\\363\\273'\\212\\260[oZ\\215\\3719\\316kBH\\034`b\\253\\260=\\372\\325\\226\\374sP\\313\\307\\370\\320R!\\364\\3175\\033\\036{\\322\\261?\\341M\\311?\\205!\\215\\317j_\\257jP\\007~\\224\\231\\346\\200\\022\\201\\372\\322\\222;Sq\\315\\000/S\\357A\\024m\\245\\034\\366\\240\\006\\237\\312\\214~\\024\\354\\0009\\246\\203\\237\\245\\000'~\\364\\277Z\\010\\365\\244\\351\\232\\000\\010\\241=\\372R\\375sH}\\250\\001z\\322\\037j\\\\z\\364\\2444\\000\\203\\336\\234O\\024\\204c\\350h\\343\\275\\000\\024Pi\\016h\\000\\316x\\247\\016\\0054}zR\\236\\276\\324\\000f\\223\\223\\364\\2454q@\\007j;Q\\212(\\000&\\203\\353A\\305\\037\\312\\200\\001G\\265(#\\212(\\001\\001\\300\\243\\255\\030\\301\\305.1@\\001\\355H2iI"\\203\\322\\200\\024R\\347\\2654\\032x\\240\\005Q\\264\\374\\325\\245\\242\\316m5\\010'Q\\363D\\341\\200\\372Va\\366\\3175<,A\\007=\\351\\241\\037l\\370kP]SC\\262\\274A\\201,J\\330\\374)\\332\\301\\304\\015\\364\\257>\\370\\015\\2555\\367\\207$\\263\\221\\301{b1\\317\\360\\236\\225\\336k\\247\\026\\317\\364\\254\\344\\2543\\346\\317\\2142n\\326\\000\\0078^k\\316T\\345\\253\\267\\370\\251.\\357\\021H\\274\\364\\256\\030\\375\\341\\201\\300\\253\\216\\302.'*\\010\\037ZL\\000\\0155I\\012\\0075'^EP\\231\\021\\343\\270\\315=OcA\\000\\023\\234f\\200}q\\232\\030\\017\\307z8\\372\\320\\016F\\007\\341I\\321\\270'4\\010\\\\g\\322\\2001\\311\\3474v\\353\\372R|\\3358\\315\\000\\2070\\002\\232W\\346\\355\\232p\\364\\316i\\214\\376\\324\\014B@\\372\\322\\227\\317\\035)\\000\\335\\315)\\034R\\002&\\353\\355Q9\\301\\357S7\\034Tg\\324\\363@\\021\\236\\0074\\016\\177\\032^\\277Ji8<R(\\010\\353H\\016\\015.\\177\\032C\\357@\\2058\\355M\\357G\\347KL\\0058\\307\\255!?\\225&iI\\244\\002\\037\\302\\223\\260\\351HO\\255\\037\\316\\233\\001A\\244$\\376T\\034\\236i\\312\\247\\275!\\210\\274\\232\\221V\\205Q\\327\\2459\\233=:S\\001\\033\\364\\246\\234\\321\\222O\\024u\\244\\003\\275i\\017L\\322\\023\\317\\034R\\223\\316(\\001\\247 \\323\\327\\214z\\323q\\337\\275\\003\\246h\\001{RR\\201\\353\\320\\322q\\322\\200\\027\\214\\360I\\245\\351M\\003\\237\\361\\247\\034\\017\\255\\000\\000w\\025*.pj \\011<\\203R\\034\\201\\357@\\2077\\310)\\025\\362y&\\2239\\035I4\\241H\\000\\365\\024\\001&I\\034v\\250\\344'\\372S\\307\\335\\340\\232\\210\\234\\034\\320!\\200\\3601\\371\\326\\216\\2151\\213Q\\267a\\375\\360+8\\257<U\\253\\026\\333s\\033\\023\\310`i\\214\\372\\363\\341\\374\\276f\\220\\270\\344q\\212\\352\\307J\\363\\337\\2057\\036n\\226\\203?\\302+\\320\\301\\315e\\324\\244&=h\\245\\242\\230\\005\\030\\315 \\351J;Rb\\014Pii\\275\\350\\030\\242\\223\\241\\240R\\232`&\\015/\\245\\031\\244\\240\\003\\2758\\216)\\243\\201E&\\000?J\\0174\\275\\250\\034P\\003i@\\315\\006\\214\\323\\001W\\275\\004\\322d\\3209\\244\\000:\\365\\245\\240R\\023B\\000\\037Z\\\\\\212m\\030\\240\\0034\\264t\\245\\244\\027\\003\\310\\243\\024R\\014\\323\\001@\\240PsI@\\012h\\034\\012:\\212L\\320\\001\\336\\227\\265&sE\\000 \\353N\\244\\034\\032^\\264\\200B(\\024\\275\\005\\007\\2450\\012;RR\\232@\\030\\244\\243\\353E0\\023\\2553i\\025%\\030\\244\\0031\\3058t\\247b\\220\\234P\\000(\\024\\016iM0\\016\\364\\032(\\240\\005\\355IK\\237\\312\\223\\034R\\001G\\024\\204\\365\\240sF9\\240\\0034f\\203@\\246\\001\\237Z\\001\\244#\\232\\\\P\\001\\326\\200ph\\351E\\000.E\\007\\2454\\212p\\244\\002}i{\\320E \\246!i:\\342\\214\\320h\\001\\337\\205%\\031\\244\\036\\264\\014SE&h\\240B\\320M%\\024\\000\\352QIFi\\214u\\024\\224P \\024\\264\\234\\342\\224P1i\\246\\212(\\020\\344\\373\\325?j\\201:\\324\\340\\361@\\014~\\225Vn\\024\\346\\255I\\322\\252M\\367M\\000E\\037\\336\\251\\301\\250"\\025=\\000-\\031\\242\\201@\\0129\\244&\\227\\201H\\006Nh@\\004\\325)\\217\\357\\205^n\\225\\237 \\315\\305&\\006\\305\\257\\334\\0259\\250-\\276\\340\\251\\251\\200\\014\\321E\\024\\000\\032C\\305/z\\016(\\030\\203\\336\\226\\233\\336\\2274\\001\\034\\347\\013P\\245Iq\\367MB\\206\\223\\031/Z\\243\\251\\377\\000\\2515w5\\237\\252s\\011\\244\\010\\255\\243\\014\\202}\\353ek\\037E\\030\\214\\346\\265\\305R\\023\\035\\336\\2029\\031\\242\\220\\232b\\001\\315\\007\\255\\024\\264\\014)\\017\\343E.h\\000\\244\\242\\212\\000)\\010\\243\\245\\035\\250\\013\\215\\246\\221\\232y4\\322i\\000\\320)\\033\\322\\224\\323s@\\020:\\374\\325\\025\\337\\020\\325\\226\\004\\325[\\323\\373\\234z\\322\\004d\\315\\321\\217\\265g\\370 f\\336\\351\\217\\361L\\306\\257\\\\\\361\\013\\237cU<\\022\\270\\323X\\2162\\344\\321\\035\\301\\354t\\351\\301\\305J:TI\\203R\\003T 4\\323\\310\\245'4\\332\\002\\343\\030\\342\\232}i\\315\\365\\246\\023\\305H\\306\\265T\\237\\226\\253Lr\\015T\\227;\\251\\000\\2528\\346\\203\\322\\224qHz\\323\\021\\261\\232\\0075\\021j\\003\\323\\030\\362iGJ`a@j\\000p\\357K\\212fy\\240\\265\\010\\007\\321\\326\\231\\2323@\\016\\245&\\233\\272\\200A\\346\\200C\\205-74n\\317\\326\\200\\027\\255.i\\231\\244'\\351@\\017\\315-0b\\214\\320\\003\\211\\243<R\\003\\305\\004\\212\\000PiM >\\224\\264\\000PqIH\\334\\320\\002\\212Z\\007J3@\\005!\\245\\315'z\\000\\\\\\346\\224\\032Bh\\240\\003\\371P(\\315\\002\\201\\001\\240Q@\\2441\\324\\235\\376\\264P\\005\\000(\\242\\222\\212`-%&y\\247P!\\010\\240\\012SH(\\001E\\024RP1i3E&3@\\013G\\326\\216\\224\\204\\032\\000p\\353Fi\\242\\226\\201\\0058\\012@(\\316\\015\\014\\000\\212(\\353A\\240a\\2323\\232\\\\RP\\001\\326\\227\\2554\\372\\361@\\346\\200\\024sK\\212C\\3074\\240\\320\\001Fi\\011\\367\\243\\255\\000;"\\2234\\202\\203@\\012(\\310\\244\\031\\245\\240\\002\\212\\015 =\\250\\020\\246\\212(\\240\\005\\244\\342\\214\\321\\336\\200\\016i3N\\246\\320\\001N\\351HqE\\027\\030R\\347\\212gz\\\\P!h\\2444\\001@\\013KIFh\\000\\242\\220\\232:u\\240\\005\\315\\024\\230\\245\\240\\000\\321\\212L\\363K@\\012(4Q@\\010(=h\\024\\264\\000u\\240RR\\364\\240\\002\\214\\342\\212m\\000;4u\\240t\\242\\200\\020\\360+\\315~0\\240m\\012S\\356+\\322My\\337\\305\\261\\377\\000\\022)\\317l\\003B\\334L\\371\\252\\365|\\271\\030\\017\\\\\\324x$g5j\\360nr\\304\\032\\251\\234\\364\\305j$2C\\216\\334\\324\\016\\2475a\\307\\312z\\324-\\317\\\\\\322\\031]\\200\\307#\\232\\214\\372\\343\\025<\\200g\\031\\250\\210\\364\\240\\010\\310&\\202)\\331\\002\\221\\217'\\336\\220\\306\\214g\\275;\\034qH\\274\\363A\\340g4\\000f\\212o&\\224\\012\\000\\017\\255!\\031\\351N\\310\\300\\024\\321\\307z\\0001\\237z8=\\250<R\\016\\234\\320\\002\\347\\353GlPG\\322\\220P\\001\\336\\214{\\363E.h\\001;\\321\\323\\212SI\\216h\\0013\\315\\031\\245<\\373Rt\\367\\240\\005\\307\\031\\242\\200(\\357\\305\\000\\036\\224}i\\017=i@\\374(\\001z\\012O\\353A#\\2474c\\322\\200\\020\\322\\2579\\315\\035x\\353A\\351\\305\\000(\\037\\245'\\002\\214\\372R\\216\\274\\212\\0003\\336\\202{\\032C\\350)\\333Fh\\000\\355M?ZQ\\326\\223\\024\\000\\340\\010>\\364\\243\\216\\264\\200\\032q\\317\\024\\0006;f\\237\\037\\034T}O\\326\\236\\244\\016\\0174\\320\\036\\261\\360\\033W\\373\\017\\212\\226\\331\\237\\011r\\205=\\263\\324\\177*\\367\\355y\\277\\321\\337\\323\\025\\362\\027\\206\\265\\006\\323u\\213K\\244'1H\\033\\25623_W__%\\356\\216\\2271\\034\\243\\246jf\\200\\371\\223\\342L\\236g\\210\\244$\\223\\212\\344\\301\\367\\305t>9o3\\304W'\\321\\210\\353\\357\\\\\\353\\014\\014w\\252B,\\302r=\\352n\\335\\375*\\264\\007\\203S\\347\\200y\\307J`4\\360y\\310\\3664\\016pO\\024\\247\\320\\364\\2400\\310\\3104\\011\\012\\024\\237\\245\\003;\\206s\\212N\\374S\\206\\177\\012\\001\\217# v\\244\\3341M'\\236\\2474\\235\\261\\306E\\010A\\234\\364\\351HW\\333\\024\\017|S\\207\\250\\353\\355L\\020\\321\\300\\347\\212\\011\\364\\351N#'$\\322m\\316y\\346\\220\\310\\330{\\342\\241c\\317p\\015L\\300\\221\\237\\302\\242|~&\\244c\\001\\346\\212C\\236\\224\\320H\\307\\245\\000<\\234t\\246\\216iqA\\300<\\340P\\026\\016\\231\\311\\305-\\003\\236\\270\\243\\275\\003\\032F\\017\\250\\244$f\\234O4\\245x\\3151\\014 m\\317\\024\\005>\\331\\247\\003\\3178\\247\\250\\353\\212\\002\\342\\004\\357\\212P;q\\212\\220}\\336\\007\\035\\3526\\340\\362h\\030\\034\\216\\231\\316)\\231\\367\\245c\\237aH)\\000c4\\237AK\\353K@\\006:\\322\\361\\216)\\001\\354\\324\\207\\257^(\\001M\\037\\255(=i\\016\\011\\355\\212\\0003\\307ZA\\327&\\234?\\235\\000`\\342\\200\\001\\332\\200A\\344\\212P\\000\\353F1\\353LC\\320\\014R7#\\002\\200\\331\\307ZU\\347\\216h\\000N*tS\\216q\\212\\211\\027$db\\246V\\000\\201@\\003\\014\\014\\372Ug\\353\\315\\\\a\\220j\\263\\200O<\\032\\000\\214t\\365\\251#\\312\\220s\\217Ja\\307\\322\\225\\010\\317={P3\\351\\017\\202\\327{\\364\\370Al\\226\\\\\\037\\312\\275mO\\245|\\365\\360J\\370#\\010I\\345^\\276\\205\\210\\345A\\365\\025\\022\\334\\020\\374\\342\\223454\\236*X\\307\\203\\370QL\\374\\351\\330\\300\\240\\007R\\032ny\\247\\032\\000\\006:Q\\214Q\\336\\214\\320\\002\\032(\\353GJ.\\002\\212N{\\322\\203Hh\\001E\\024\\200P\\324\\000\\275i\\010\\346\\220g\\275-0\\027\\024f\\201\\3157\\326\\220\\016\\243\\024\\275\\251\\244\\320\\002\\321I\\355A\\342\\230\\\\V\\240SM\\000\\342\\225\\204)4g\\212\\017\\255\\000\\212c\\012)i\\017\\265\\000\\006\\202)\\005\\024\\000(\\305)\\240Q\\214\\322\\001G\\275\\035\\250\\034R\\032\\000\\0019\\346\\226\\223\\034\\321\\232@\\003\\362\\245\\244\\006\\220\\214\\323\\001\\324R\\012Z\\000C@\\342\\234qI\\336\\220\\011\\236\\224\\036h Ps@\\012\\006(\\246\\203N\\355L\\006\\203\\315-!\\245\\024\\000b\\235\\236)\\017JL\\346\\220\\005/\\326\\220qHM0\\0279\\245\\024\\235(\\240\\002\\2274Q\\332\\220\\011\\327\\251\\2434\\224\\247\\024\\300\\017=)E%\\000\\376T\\000\\271\\342\\220u\\240\\342\\222\\200\\035IFh\\317\\245\\000/4\\036\\005 \\242\\213\\000\\243\\232\\011\\305\\002\\220\\365\\246\\014ZQM\\372\\322\\347\\024\\010\\007Z}4\\020h\\3174\\014S@\\244\\353N\\240A\\232:\\321K\\364\\342\\200\\000)1KFh\\001Ps\\351STQ\\324\\302\\230\\021\\312j\\244\\374-Z\\223\\245S\\237\\356\\322cC"\\353S\\212\\206*\\230P\\014QK\\234RQ@\\207\\012_\\2454f\\235@\\010\\303\\203T\\017\\372\\377\\000\\306\\2579\\342\\250\\251\\315\\3168\\251c6a\\373\\202\\244\\250\\342\\341EI\\216*\\204\\024R`\\342\\212\\006.i\\017\\024\\242\\220\\212\\000J)h\\240\\010g\\351Q'J\\222\\343\\2451:Rc\\026\\263\\365S\\210\\233\\322\\264q\\357YZ\\271\\375\\331\\036\\242\\200Cta\\362\\032\\327\\355YZ@\\304 \\326\\240\\347\\024\\311b\\322\\322R\\323\\001;QKI\\370\\322\\030\\202\\214\\321\\232\\010\\246!h\\244\\305\\030\\305\\000\\006\\201\\336\\212C@\\010E7\\030\\247\\032i4\\200C\\322\\232pi\\304S(\\013\\212:b\\250\\352'\\021\\217\\255[\\311&\\250\\352M\\200\\005!\\230\\367\\355\\213Y\\330\\366F\\376T\\337\\006\\177\\310\\032\\023\\353\\223L\\326X&\\227r\\307\\373\\206\\245\\360p\\306\\207k\\356\\264 g@\\202\\236)\\213\\305:\\250B\\342\\230i\\304\\322\\032\\000\\215\\211\\246S\\330SI\\025#\\030G\\025U\\276\\365Zn\\225I\\370\\223\\332\\220\\022\\016\\224\\323\\327\\255(\\342\\203\\212`_4zQE1\\2058QE\\002\\017\\342\\242\\212(\\001{QE\\024\\000\\224\\253E\\024\\000\\242\\220u\\242\\212\\006/\\255%\\024P!GJ=h\\242\\220\\012)(\\242\\230\\016Jwz(\\240\\002\\220\\366\\372\\321E\\000-'z(\\240\\005\\024\\207\\250\\242\\212\\000Z;\\321E\\000\\035\\351\\177\\206\\212(`-4u\\242\\212\\000^\\324\\352(\\244\\003OSB\\321E0\\027\\374iGJ(\\240\\000\\364\\246\\212(\\240B\\236\\242\\212(\\240bw\\245\\242\\212\\000\\015\\024Q@\\201h\\357E\\024\\000\\242\\212(\\240\\005\\024\\336\\364Q@\\307\\366\\246\\212(\\240\\006\\236\\224\\345\\242\\212\\000q\\244\\024Q@\\015\\247\\017\\273E\\024\\200\\027\\275\\035\\350\\242\\200\\025i\\005\\024S\\020\\247\\372\\323;\\321E\\003C\\373SOZ(\\240\\004\\357N4Q@\\202\\201\\320\\321E\\000\\024QE\\000\\007\\245\\035\\250\\242\\200\\005\\242\\212(\\030\\224QE\\002\\020v\\245\\242\\212\\000u6\\212(\\000^\\264\\246\\212(\\000\\024\\275\\250\\242\\200\\023\\265(\\242\\212\\000\\007zCE\\024\\000\\243\\255\\015E\\024\\000Q\\332\\212(\\033\\032k\\202\\370\\257\\377\\000"\\375\\307\\373\\264QB\\334\\227\\261\\363e\\337\\335?Z\\316\\037tQEl$=\\276\\352\\375j\\036\\347\\353E\\024\\230\\310\\017\\3364\\317_\\255\\024R\\002&\\353H\\335h\\242\\220\\307'Jk\\365\\242\\212l\\004\\364\\245=\\015\\024R\\001\\243\\2759~\\355\\024P\\003M(\\242\\212\\000N\\324\\236\\224Q@\\012>\\351\\240QE\\000)\\351H>\\341\\372\\321E\\000'\\360\\322/\\336\\242\\212\\000\\177\\257\\322\\221\\272\\017\\245\\024P\\000z\\012AE\\024\\000\\242\\226\\212(\\001\\253\\367\\251\\307\\245\\024P\\003{S\\250\\242\\200\\033\\336\\234~\\355\\024P\\002\\017\\351J:\\321E\\0009z\\032O\\342\\024Q@\\012\\275\\250?\\326\\212)\\201f\\333\\357'\\326\\276\\243\\321\\277\\344N\\267\\377\\000\\256tQD\\200\\371\\313\\305\\337\\362\\034\\272\\377\\000|\\326 \\373\\346\\212(@,Udu\\024Q@\\230\\037\\274)\\027\\357\\032(\\246\\002\\257o\\306\\234:\\012(\\240LosL=M\\024P\\003\\223\\250\\247\\016\\246\\212)\\202\\035\\334\\323O\\3364QH\\010\\336\\242z(\\2442\\023\\367\\250\\355E\\024\\320\\007\\245,\\235\\250\\242\\220\\304_\\273\\370\\322\\216\\277\\205\\024P\\003Oj\\227\\370G\\322\\212(\\020\\303\\332\\244N\\247\\351E\\024\\000\\377\\000\\341\\250\\244\\373\\277\\205\\024R\\031\\031\\373\\264\\341\\333\\351E\\024\\000\\251@\\351E\\024\\000\\203\\370i{\\321E\\000'j\\027\\255\\024S\\001GJzu\\242\\212@!\\373\\337\\215>n\\242\\212)\\241\\012:\\322'\\335o\\255\\024P\\003\\333\\356\\212\\007Q\\365\\242\\212\\000\\260;Uw\\373\\324QLH\\211\\251W\\250\\242\\212Hl\\365/\\203\\277\\362\\021?Q_K[\\377\\000\\252O\\245\\024TL\\021+t\\246\\232(\\251(p\\350)\\364QH\\010\\375i\\347\\245\\024S\\001(\\035\\350\\242\\230\\012)\\255E\\024\\200Q\\322\\212(\\241\\200\\264\\235\\250\\242\\200\\012(\\242\\233\\001E\\036\\264QH@zS}(\\242\\201\\212:\\322\\321E\\002\\020\\322w\\242\\212c\\024\\364\\246\\212(\\240\\007/J_\\361\\242\\212@4P;\\321E\\000(\\245\\354(\\242\\206\\001G\\255\\024P\\003GZ?\\212\\212)\\000P:\\321E4\\003\\217j\\005\\024P\\001IE\\024\\200u4\\321E0\\020u\\247QE0\\022\\201\\327\\360\\242\\212@\\024\\012(\\244\\000h\\242\\212\\000ZN\\324QL\\000v\\245=(\\242\\200\\020RQE0\\026\\223\\370M\\024T\\200/J(\\242\\232\\001}i\\224QL\\007\\321E\\024\\000\\242\\212(\\240B\\016\\364\\247\\245\\024P0J\\017\\336\\024Q@\\013\\332\\234\\275(\\242\\201\\007jQE\\024\\000\\206\\212(\\240\\007\\307\\326\\246\\354h\\242\\200"\\222\\252OE\\024\\014\\216*\\230QE\\000\\305\\355N=h\\242\\201\\012ih\\242\\220\\015n\\206\\250/\\374}QE'\\270\\315\\310\\276\\3558QES\\020\\032J(\\240b\\232N\\364Q@\\000\\351\\370\\321E\\024\\001\\005\\3051:QE!\\217\\355Y:\\317\\372\\272(\\240\\020\\355'\\376=\\353Ht\\242\\212hAK\\336\\212(\\020Q\\332\\212(\\000\\024QE0\\016\\324QE\\010\\004\\244\\365\\242\\212\\000i\\246\\366\\242\\212\\000\\0150\\367\\242\\212@ \\351Y\\332\\237QE\\024\\206`x\\203\\376A\\027?\\356\\032\\263\\341\\017\\371\\001Z\\177\\270(\\242\\204\\014\\350\\026\\235E\\025B\\016\\324\\317J(\\244\\300kt5\\031\\355E\\024\\206\\201\\272U9>\\361\\372\\321E \\024\\365\\241\\272QE0g\\377\\331
\.


--
-- Data for Name: attachments; Type: TABLE DATA; Schema: public; Owner: -
--

COPY attachments (id, expe_id, file_name, registration_timestamp, version, pers_id_registerer, exac_id, samp_id, proj_id, title, description) FROM stdin;
2	5	$processing-path-for-DATA_ACQUISITION	2008-04-21 16:01:13.627242+02	1	3	2	\N	\N	\N	\N
3	\N	exportedData(2).txt	2009-12-21 11:16:34.846408+01	1	13	3	\N	2	\N	\N
4	\N	howto-setup-new-server.rtf	2009-12-21 11:16:55.333679+01	1	13	4	\N	2	koko roko	dedede desc
5	\N	howto-setup-new-server.rtf	2009-12-21 11:17:16.419709+01	2	13	5	\N	2	xx	xxxxx
6	\N	john.jpg	2010-03-24 15:45:27.122101+01	1	2	6	\N	9	\N	\N
\.


--
-- Data for Name: authorization_group_persons; Type: TABLE DATA; Schema: public; Owner: -
--

COPY authorization_group_persons (ag_id, pers_id) FROM stdin;
\.


--
-- Data for Name: authorization_groups; Type: TABLE DATA; Schema: public; Owner: -
--

COPY authorization_groups (id, dbin_id, code, description, registration_timestamp, pers_id_registerer, modification_timestamp) FROM stdin;
\.


--
-- Data for Name: controlled_vocabularies; Type: TABLE DATA; Schema: public; Owner: -
--

COPY controlled_vocabularies (id, code, description, registration_timestamp, pers_id_registerer, is_managed_internally, is_internal_namespace, dbin_id, modification_timestamp, is_chosen_from_list, source_uri) FROM stdin;
2	STORAGE_FORMAT	The on-disk storage format of a data set	2008-06-17 16:38:31.101031+02	1	t	t	1	2009-11-27 16:02:26.451046+01	t	\N
1	PLATE_GEOMETRY	The geometry or dimensions of a plate	2008-06-17 16:38:30.723292+02	1	t	t	1	2009-11-27 16:02:26.451046+01	t	\N
3	MICROSCOPE	Microscope used in an experiment.	2009-11-29 23:55:18.978884+01	2	f	f	1	2009-11-29 23:55:19.084+01	t	\N
\.


--
-- Data for Name: controlled_vocabulary_terms; Type: TABLE DATA; Schema: public; Owner: -
--

COPY controlled_vocabulary_terms (id, code, registration_timestamp, covo_id, pers_id_registerer, label, description, ordinal) FROM stdin;
2	PROPRIETARY	2008-06-17 16:38:31.101031+02	2	1	\N	\N	1
3	BDS_DIRECTORY	2008-06-17 16:38:31.101031+02	2	1	\N	\N	2
1	384_WELLS_16X24	2008-06-17 16:38:30.723292+02	1	1	384 Wells, 16x24	\N	1
4	96_WELLS_8X12	2008-06-17 16:38:31.101031+02	1	1	96 Wells, 8x12	\N	2
5	1536_WELLS_32X48	2008-06-17 16:38:31.101031+02	1	1	1536 Wells, 32x48	\N	3
6	BD_PATHWAY_855	2009-11-29 23:55:18.978884+01	3	2	\N	\N	1
7	MD_IMAGEXPRESS_MICROLIVE	2009-11-29 23:55:18.978884+01	3	2	\N	\N	2
8	MD_IMAGEXPRESS_MICRO_2	2009-11-29 23:55:18.978884+01	3	2	\N	\N	3
\.


--
-- Data for Name: data; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data (id, registration_timestamp, dsty_id, is_placeholder, code, data_producer_code, production_timestamp, is_valid, modification_timestamp, expe_id, dast_id, is_derived, samp_id) FROM stdin;
718	2009-12-14 15:31:27.444687+01	2	f	20091214153126611-474893	\N	\N	t	2009-12-14 15:31:28.1+01	2	2	t	351
719	2009-12-14 15:31:28.957845+01	2	f	20091214153128404-474894	\N	\N	t	2009-12-14 15:31:29.245+01	2	2	t	352
720	2009-12-14 15:31:51.96449+01	2	f	20091214153151557-474895	\N	\N	t	2009-12-14 15:31:52.219+01	2	2	t	353
721	2009-12-14 15:31:53.088259+01	2	f	20091214153152595-474896	\N	\N	t	2009-12-14 15:31:53.337+01	2	2	t	354
722	2009-12-14 15:31:53.909819+01	2	f	20091214153153541-474897	\N	\N	t	2009-12-14 15:31:54.12+01	2	2	t	355
723	2009-12-14 15:31:54.712355+01	2	f	20091214153154322-474898	\N	\N	t	2009-12-14 15:31:54.909+01	2	2	t	356
724	2009-12-14 15:31:55.72945+01	2	f	20091214153155373-474899	\N	\N	t	2009-12-14 15:31:55.958+01	2	2	t	357
725	2009-12-14 15:31:56.550516+01	2	f	20091214153156164-474900	\N	\N	t	2009-12-14 15:31:56.751+01	2	2	t	358
726	2009-12-14 15:31:57.350161+01	2	f	20091214153156992-474901	\N	\N	t	2009-12-14 15:31:57.556+01	2	2	t	359
727	2009-12-14 15:31:58.123292+01	2	f	20091214153157762-474902	\N	\N	t	2009-12-14 15:31:58.336+01	2	2	t	360
728	2009-12-14 15:31:58.922144+01	2	f	20091214153158565-474903	\N	\N	t	2009-12-14 15:31:59.179+01	2	2	t	361
729	2009-12-14 15:31:59.748524+01	2	f	20091214153159375-474904	\N	\N	t	2009-12-14 15:32:00.005+01	2	2	t	362
730	2009-12-14 15:32:00.61469+01	2	f	20091214153200193-474905	\N	\N	t	2009-12-14 15:32:00.85+01	2	2	t	363
731	2009-12-14 15:32:01.382734+01	2	f	20091214153201021-474906	\N	\N	t	2009-12-14 15:32:01.568+01	2	2	t	364
732	2009-12-14 15:32:02.145474+01	2	f	20091214153201755-474907	\N	\N	t	2009-12-14 15:32:02.337+01	2	2	t	365
733	2009-12-14 15:32:02.876512+01	2	f	20091214153202497-474908	\N	\N	t	2009-12-14 15:32:03.082+01	2	2	t	366
734	2009-12-14 15:32:03.765744+01	2	f	20091214153203320-474909	\N	\N	t	2009-12-14 15:32:03.971+01	2	2	t	367
735	2009-12-14 15:32:04.55159+01	2	f	20091214153204198-474910	\N	\N	t	2009-12-14 15:32:04.761+01	2	2	t	368
736	2009-12-14 15:32:05.297888+01	2	f	20091214153204963-474911	\N	\N	t	2009-12-14 15:32:05.486+01	2	2	t	369
737	2009-12-14 15:32:06.014582+01	2	f	20091214153205677-474912	\N	\N	t	2009-12-14 15:32:06.191+01	2	2	t	370
738	2009-12-14 15:32:06.769161+01	2	f	20091214153206421-474913	\N	\N	t	2009-12-14 15:32:06.946+01	2	2	t	371
739	2009-12-14 15:32:07.5358+01	2	f	20091214153207142-474914	\N	\N	t	2009-12-14 15:32:07.703+01	2	2	t	372
740	2009-12-14 15:32:08.191536+01	2	f	20091214153207883-474915	\N	\N	t	2009-12-14 15:32:08.36+01	2	2	t	373
741	2009-12-14 15:32:08.868782+01	2	f	20091214153208524-474916	\N	\N	t	2009-12-14 15:32:09.091+01	2	2	t	374
742	2009-12-14 15:32:09.602964+01	2	f	20091214153209279-474917	\N	\N	t	2009-12-14 15:32:09.78+01	2	2	t	375
743	2009-12-14 15:32:10.26611+01	2	f	20091214153209947-474918	\N	\N	t	2009-12-14 15:32:10.438+01	2	2	t	376
744	2009-12-14 15:32:10.957359+01	2	f	20091214153210633-474919	\N	\N	t	2009-12-14 15:32:11.122+01	2	2	t	377
745	2009-12-14 15:32:11.651891+01	2	f	20091214153211286-474920	\N	\N	t	2009-12-14 15:32:11.857+01	2	2	t	378
746	2009-12-14 15:32:12.488069+01	2	f	20091214153212056-474921	\N	\N	t	2009-12-14 15:32:12.743+01	2	2	t	380
748	2009-12-14 15:32:14.245969+01	2	f	20091214153213838-474923	\N	\N	t	2009-12-14 15:32:14.489+01	2	2	t	382
749	2009-12-14 15:32:15.085246+01	2	f	20091214153214671-474924	\N	\N	t	2009-12-14 15:32:15.358+01	2	2	t	383
750	2009-12-14 15:32:15.912018+01	2	f	20091214153215539-474925	\N	\N	t	2009-12-14 15:32:16.103+01	2	2	t	384
751	2009-12-14 15:32:16.63821+01	2	f	20091214153216263-474926	\N	\N	t	2009-12-14 15:32:16.931+01	2	2	t	385
752	2009-12-14 15:32:17.648955+01	2	f	20091214153217169-474927	\N	\N	t	2009-12-14 15:32:17.978+01	2	2	t	386
753	2009-12-14 15:32:18.62849+01	2	f	20091214153218277-474928	\N	\N	t	2009-12-14 15:32:18.854+01	2	2	t	387
754	2009-12-14 15:32:19.551728+01	2	f	20091214153219079-474929	\N	\N	t	2009-12-14 15:32:19.824+01	2	2	t	389
755	2009-12-14 15:32:20.406492+01	2	f	20091214153220049-474930	\N	\N	t	2009-12-14 15:32:20.582+01	2	2	t	390
756	2009-12-14 15:32:21.184638+01	2	f	20091214153220811-474931	\N	\N	t	2009-12-14 15:32:21.383+01	2	2	t	391
757	2009-12-14 15:32:21.923363+01	2	f	20091214153221567-474932	\N	\N	t	2009-12-14 15:32:22.102+01	2	2	t	392
758	2009-12-14 15:32:22.771496+01	2	f	20091214153222326-474933	\N	\N	t	2009-12-14 15:32:23.043+01	2	2	t	393
759	2009-12-14 15:32:23.731455+01	2	f	20091214153223283-474934	\N	\N	t	2009-12-14 15:32:23.958+01	2	2	t	394
760	2009-12-14 15:32:24.576107+01	2	f	20091214153224150-474935	\N	\N	t	2009-12-14 15:32:24.802+01	2	2	t	395
761	2009-12-14 15:32:25.615726+01	2	f	20091214153225027-474936	\N	\N	t	2009-12-14 15:32:25.818+01	2	2	t	396
762	2009-12-14 15:32:26.467639+01	2	f	20091214153226051-474937	\N	\N	t	2009-12-14 15:32:26.735+01	2	2	t	397
763	2009-12-14 15:32:27.509842+01	2	f	20091214153227050-474938	\N	\N	t	2009-12-14 15:32:27.754+01	2	2	t	398
764	2009-12-14 15:32:28.499854+01	2	f	20091214153227980-474939	\N	\N	t	2009-12-14 15:32:28.724+01	2	2	t	399
765	2009-12-14 15:32:29.535289+01	2	f	20091214153229109-474940	\N	\N	t	2009-12-14 15:32:29.929+01	2	2	t	400
766	2009-12-14 15:32:30.5569+01	2	f	20091214153230191-474941	\N	\N	t	2009-12-14 15:32:30.797+01	2	2	t	401
767	2009-12-14 15:32:31.469439+01	2	f	20091214153231007-474942	\N	\N	t	2009-12-14 15:32:31.653+01	2	2	t	402
768	2009-12-14 15:32:32.181822+01	2	f	20091214153231884-474943	\N	\N	t	2009-12-14 15:32:32.369+01	2	2	t	403
769	2009-12-14 15:32:32.963413+01	2	f	20091214153232568-474944	\N	\N	t	2009-12-14 15:32:33.142+01	2	2	t	404
770	2009-12-14 15:32:33.691995+01	2	f	20091214153233325-474945	\N	\N	t	2009-12-14 15:32:33.869+01	2	2	t	405
771	2009-12-14 15:32:34.453447+01	2	f	20091214153234062-474946	\N	\N	t	2009-12-14 15:32:34.632+01	2	2	t	406
772	2009-12-14 15:32:35.226198+01	2	f	20091214153234830-474947	\N	\N	t	2009-12-14 15:32:35.408+01	2	2	t	407
773	2009-12-14 15:32:36.046442+01	2	f	20091214153235595-474948	\N	\N	t	2009-12-14 15:32:36.259+01	2	2	t	408
774	2009-12-14 15:32:37.012813+01	2	f	20091214153236532-474949	\N	\N	t	2009-12-14 15:32:37.186+01	2	2	t	409
775	2009-12-14 15:32:37.808268+01	2	f	20091214153237367-474950	\N	\N	t	2009-12-14 15:32:38.027+01	2	2	t	410
776	2009-12-14 15:32:38.756997+01	2	f	20091214153238320-474951	\N	\N	t	2009-12-14 15:32:39.039+01	2	2	t	411
777	2009-12-14 15:32:39.717796+01	2	f	20091214153239288-474952	\N	\N	t	2009-12-14 15:32:40.081+01	2	2	t	412
778	2009-12-14 15:32:40.609692+01	2	f	20091214153240275-474953	\N	\N	t	2009-12-14 15:32:40.813+01	2	2	t	413
779	2009-12-14 15:32:41.469678+01	2	f	20091214153241025-474954	\N	\N	t	2009-12-14 15:32:41.676+01	2	2	t	414
780	2009-12-14 15:32:42.281236+01	2	f	20091214153241911-474955	\N	\N	t	2009-12-14 15:32:42.511+01	2	2	t	415
781	2009-12-14 15:32:43.116515+01	2	f	20091214153242719-474956	\N	\N	t	2009-12-14 15:32:43.317+01	2	2	t	416
782	2009-12-14 15:32:43.959121+01	2	f	20091214153243505-474957	\N	\N	t	2009-12-14 15:32:44.166+01	2	2	t	417
717	2009-12-14 08:55:06.327998+01	2	f	20091214085505134-474886	\N	\N	t	2010-01-07 08:38:18.912+01	2	2	f	383
747	2009-12-14 15:32:13.344365+01	2	f	20091214153212961-474922	\N	\N	t	2010-04-21 09:01:13.462+02	2	2	t	\N
783	2009-12-14 15:32:44.769487+01	2	f	20091214153244363-474958	\N	\N	t	2009-12-14 15:32:44.933+01	2	2	t	418
784	2009-12-14 15:32:45.487606+01	2	f	20091214153245165-474959	\N	\N	t	2009-12-14 15:32:45.663+01	2	2	t	419
785	2009-12-14 15:32:46.32595+01	2	f	20091214153245820-474960	\N	\N	t	2009-12-14 15:32:46.557+01	2	2	t	420
786	2009-12-14 15:32:47.293165+01	2	f	20091214153246830-474961	\N	\N	t	2009-12-14 15:32:47.486+01	2	2	t	421
787	2009-12-14 15:32:48.150193+01	2	f	20091214153247705-474962	\N	\N	t	2009-12-14 15:32:48.331+01	2	2	t	422
788	2009-12-14 15:32:48.928706+01	2	f	20091214153248517-474963	\N	\N	t	2009-12-14 15:32:49.124+01	2	2	t	423
789	2009-12-14 15:32:49.684111+01	2	f	20091214153249361-474964	\N	\N	t	2009-12-14 15:32:49.946+01	2	2	t	424
790	2009-12-14 15:32:50.481839+01	2	f	20091214153250165-474965	\N	\N	t	2009-12-14 15:32:50.658+01	2	2	t	425
791	2009-12-14 15:32:51.273516+01	2	f	20091214153250917-474966	\N	\N	t	2009-12-14 15:32:51.472+01	2	2	t	426
792	2009-12-14 15:32:52.05452+01	2	f	20091214153251701-474967	\N	\N	t	2009-12-14 15:32:52.238+01	2	2	t	427
793	2009-12-14 15:32:52.851151+01	2	f	20091214153252496-474968	\N	\N	t	2009-12-14 15:32:53.061+01	2	2	t	428
794	2009-12-14 15:32:53.644658+01	2	f	20091214153253250-474969	\N	\N	t	2009-12-14 15:32:53.842+01	2	2	t	429
795	2009-12-14 15:32:54.591268+01	2	f	20091214153254104-474970	\N	\N	t	2009-12-14 15:32:54.832+01	2	2	t	430
796	2009-12-14 15:32:55.420141+01	2	f	20091214153255090-474971	\N	\N	t	2009-12-14 15:32:55.632+01	2	2	t	431
797	2009-12-14 15:32:56.460587+01	2	f	20091214153256060-474972	\N	\N	t	2009-12-14 15:32:56.645+01	2	2	t	432
798	2009-12-14 15:32:57.348999+01	2	f	20091214153256991-474973	\N	\N	t	2009-12-14 15:32:57.542+01	2	2	t	433
799	2009-12-14 15:32:58.154767+01	2	f	20091214153257730-474974	\N	\N	t	2009-12-14 15:32:58.337+01	2	2	t	434
800	2009-12-14 15:32:58.807885+01	2	f	20091214153258503-474975	\N	\N	t	2009-12-14 15:32:59.041+01	2	2	t	435
801	2009-12-14 15:32:59.59568+01	2	f	20091214153259288-474976	\N	\N	t	2009-12-14 15:32:59.807+01	2	2	t	436
802	2009-12-14 15:33:00.37039+01	2	f	20091214153300000-474977	\N	\N	t	2009-12-14 15:33:00.604+01	2	2	t	437
803	2009-12-14 15:33:01.146438+01	2	f	20091214153300809-474978	\N	\N	t	2009-12-14 15:33:01.33+01	2	2	t	438
804	2009-12-14 15:33:01.91799+01	2	f	20091214153301536-474979	\N	\N	t	2009-12-14 15:33:02.1+01	2	2	t	439
805	2009-12-14 15:33:02.599214+01	2	f	20091214153302271-474980	\N	\N	t	2009-12-14 15:33:02.773+01	2	2	t	440
806	2009-12-14 15:33:03.381552+01	2	f	20091214153302997-474981	\N	\N	t	2009-12-14 15:33:03.569+01	2	2	t	441
807	2009-12-14 15:33:04.126406+01	2	f	20091214153303746-474982	\N	\N	t	2009-12-14 15:33:04.344+01	2	2	t	442
808	2009-12-14 15:33:04.913976+01	2	f	20091214153304576-474983	\N	\N	t	2009-12-14 15:33:05.111+01	2	2	t	444
809	2009-12-14 15:33:05.727734+01	2	f	20091214153305314-474984	\N	\N	t	2009-12-14 15:33:05.896+01	2	2	t	445
810	2009-12-14 15:33:06.416249+01	2	f	20091214153306115-474985	\N	\N	t	2009-12-14 15:33:06.593+01	2	2	t	446
811	2009-12-14 15:33:07.152431+01	2	f	20091214153306770-474986	\N	\N	t	2009-12-14 15:33:07.331+01	2	2	t	447
812	2009-12-14 15:33:07.838313+01	2	f	20091214153307515-474987	\N	\N	t	2009-12-14 15:33:08.044+01	2	2	t	448
813	2009-12-14 15:33:08.674141+01	2	f	20091214153308245-474988	\N	\N	t	2009-12-14 15:33:08.918+01	2	2	t	449
814	2009-12-14 15:33:09.554777+01	2	f	20091214153309139-474989	\N	\N	t	2009-12-14 15:33:09.807+01	2	2	t	450
815	2009-12-14 15:33:10.441429+01	2	f	20091214153310078-474990	\N	\N	t	2009-12-14 15:33:10.698+01	2	2	t	451
816	2009-12-14 15:33:11.367865+01	2	f	20091214153310930-474991	\N	\N	t	2009-12-14 15:33:11.593+01	2	2	t	452
817	2009-12-14 15:33:12.230627+01	2	f	20091214153311817-474992	\N	\N	t	2009-12-14 15:33:12.432+01	2	2	t	453
818	2009-12-14 15:33:13.403373+01	2	f	20091214153312661-474993	\N	\N	t	2009-12-14 15:33:13.795+01	2	2	t	454
819	2009-12-14 15:33:14.77689+01	2	f	20091214153314096-474994	\N	\N	t	2009-12-14 15:33:15.062+01	2	2	t	455
820	2009-12-14 15:33:15.949837+01	2	f	20091214153315406-474995	\N	\N	t	2009-12-14 15:33:16.229+01	2	2	t	456
821	2009-12-14 15:33:16.89557+01	2	f	20091214153316486-474996	\N	\N	t	2009-12-14 15:33:17.18+01	2	2	t	457
822	2009-12-14 15:33:18.403964+01	2	f	20091214153317718-474997	\N	\N	t	2009-12-14 15:33:18.792+01	2	2	t	458
823	2009-12-14 15:33:20.094888+01	2	f	20091214153319140-474998	\N	\N	t	2009-12-14 15:33:20.475+01	2	2	t	459
824	2009-12-14 15:33:21.392002+01	2	f	20091214153320796-474999	\N	\N	t	2009-12-14 15:33:21.745+01	2	2	t	460
825	2009-12-14 15:33:22.550259+01	2	f	20091214153322048-475000	\N	\N	t	2009-12-14 15:33:22.844+01	2	2	t	461
826	2009-12-14 15:33:23.816896+01	2	f	20091214153323288-475001	\N	\N	t	2009-12-14 15:33:24.09+01	2	2	t	462
827	2009-12-14 15:33:24.765678+01	2	f	20091214153324371-475002	\N	\N	t	2009-12-14 15:33:24.96+01	2	2	t	463
828	2009-12-14 15:33:25.627228+01	2	f	20091214153325249-475003	\N	\N	t	2009-12-14 15:33:25.903+01	2	2	t	464
829	2009-12-14 15:33:27.459692+01	2	f	20091214153326168-475004	\N	\N	t	2009-12-14 15:33:27.662+01	2	2	t	465
830	2009-12-14 15:33:28.72243+01	2	f	20091214153328365-475005	\N	\N	t	2009-12-14 15:33:28.897+01	2	2	t	466
831	2009-12-14 15:33:29.488415+01	2	f	20091214153329135-475006	\N	\N	t	2009-12-14 15:33:29.742+01	2	2	t	467
832	2009-12-14 15:33:30.580636+01	2	f	20091214153330203-475007	\N	\N	t	2009-12-14 15:33:30.777+01	2	2	t	468
833	2009-12-14 15:33:31.250243+01	2	f	20091214153330945-475008	\N	\N	t	2009-12-14 15:33:31.429+01	2	2	t	469
834	2009-12-14 15:33:31.945589+01	2	f	20091214153331648-475009	\N	\N	t	2009-12-14 15:33:32.143+01	2	2	t	470
835	2009-12-14 15:33:32.622446+01	2	f	20091214153332304-475010	\N	\N	t	2009-12-14 15:33:32.783+01	2	2	t	471
836	2009-12-14 15:33:33.313229+01	2	f	20091214153332984-475011	\N	\N	t	2009-12-14 15:33:33.492+01	2	2	t	472
837	2009-12-14 15:33:34.089386+01	2	f	20091214153333705-475012	\N	\N	t	2009-12-14 15:33:34.267+01	2	2	t	473
838	2009-12-14 15:33:34.757097+01	2	f	20091214153334445-475013	\N	\N	t	2009-12-14 15:33:34.926+01	2	2	t	474
839	2009-12-14 15:33:35.518015+01	2	f	20091214153335148-475014	\N	\N	t	2009-12-14 15:33:35.674+01	2	2	t	475
840	2009-12-14 15:33:36.136985+01	2	f	20091214153335835-475015	\N	\N	t	2009-12-14 15:33:36.299+01	2	2	t	476
841	2009-12-14 15:33:36.783583+01	2	f	20091214153336487-475016	\N	\N	t	2009-12-14 15:33:36.969+01	2	2	t	477
842	2009-12-14 15:33:37.545848+01	2	f	20091214153337226-475017	\N	\N	t	2009-12-14 15:33:37.724+01	2	2	t	478
843	2009-12-14 15:33:38.393303+01	2	f	20091214153337957-475018	\N	\N	t	2009-12-14 15:33:38.695+01	2	2	t	479
844	2009-12-14 15:33:39.371704+01	2	f	20091214153338985-475019	\N	\N	t	2009-12-14 15:33:39.552+01	2	2	t	480
845	2009-12-14 15:33:40.143672+01	2	f	20091214153339750-475020	\N	\N	t	2009-12-14 15:33:40.316+01	2	2	t	481
846	2009-12-14 15:33:40.879214+01	2	f	20091214153340581-475021	\N	\N	t	2009-12-14 15:33:41.045+01	2	2	t	482
847	2009-12-14 15:33:41.569237+01	2	f	20091214153341238-475022	\N	\N	t	2009-12-14 15:33:41.743+01	2	2	t	483
848	2009-12-14 15:33:42.423815+01	2	f	20091214153341982-475023	\N	\N	t	2009-12-14 15:33:42.587+01	2	2	t	484
849	2009-12-14 15:33:43.308057+01	2	f	20091214153342869-475024	\N	\N	t	2009-12-14 15:33:43.54+01	2	2	t	485
850	2009-12-14 15:33:44.1751+01	2	f	20091214153343773-475025	\N	\N	t	2009-12-14 15:33:44.361+01	2	2	t	486
851	2009-12-14 15:33:44.894834+01	2	f	20091214153344599-475026	\N	\N	t	2009-12-14 15:33:45.115+01	2	2	t	487
852	2009-12-14 15:33:45.676394+01	2	f	20091214153345371-475027	\N	\N	t	2009-12-14 15:33:45.843+01	2	2	t	488
853	2009-12-14 15:33:46.410429+01	2	f	20091214153346016-475028	\N	\N	t	2009-12-14 15:33:46.564+01	2	2	t	489
854	2009-12-14 15:33:47.092369+01	2	f	20091214153346753-475029	\N	\N	t	2009-12-14 15:33:47.282+01	2	2	t	490
855	2009-12-14 15:33:47.830812+01	2	f	20091214153347548-475030	\N	\N	t	2009-12-14 15:33:48.027+01	2	2	t	491
856	2009-12-14 15:33:48.529836+01	2	f	20091214153348220-475031	\N	\N	t	2009-12-14 15:33:48.743+01	2	2	t	492
857	2009-12-14 15:33:49.287322+01	2	f	20091214153348972-475032	\N	\N	t	2009-12-14 15:33:49.458+01	2	2	t	493
858	2009-12-14 15:33:50.066853+01	2	f	20091214153349714-475033	\N	\N	t	2009-12-14 15:33:50.284+01	2	2	t	494
859	2009-12-14 15:33:50.846338+01	2	f	20091214153350497-475034	\N	\N	t	2009-12-14 15:33:51.042+01	2	2	t	495
860	2009-12-14 15:33:51.588972+01	2	f	20091214153351265-475035	\N	\N	t	2009-12-14 15:33:51.777+01	2	2	t	496
861	2009-12-14 15:33:52.337449+01	2	f	20091214153351950-475036	\N	\N	t	2009-12-14 15:33:52.504+01	2	2	t	497
862	2009-12-14 15:33:52.996588+01	2	f	20091214153352675-475037	\N	\N	t	2009-12-14 15:33:53.188+01	2	2	t	498
863	2009-12-14 15:33:53.719853+01	2	f	20091214153353420-475038	\N	\N	t	2009-12-14 15:33:53.901+01	2	2	t	499
864	2009-12-14 15:33:54.402306+01	2	f	20091214153354102-475039	\N	\N	t	2009-12-14 15:33:54.576+01	2	2	t	500
865	2009-12-14 15:33:55.12284+01	2	f	20091214153354818-475040	\N	\N	t	2009-12-14 15:33:55.291+01	2	2	t	501
866	2009-12-14 15:33:55.79258+01	2	f	20091214153355450-475041	\N	\N	t	2009-12-14 15:33:55.986+01	2	2	t	502
867	2009-12-14 15:33:56.54015+01	2	f	20091214153356219-475042	\N	\N	t	2009-12-14 15:33:56.729+01	2	2	t	503
868	2009-12-14 15:33:58.00718+01	2	f	20091214153356912-475043	\N	\N	t	2009-12-14 15:33:58.488+01	2	2	t	504
869	2009-12-14 15:33:59.483774+01	2	f	20091214153359166-475044	\N	\N	t	2009-12-14 15:33:59.699+01	2	2	t	505
870	2009-12-14 15:34:00.305636+01	2	f	20091214153359953-475045	\N	\N	t	2009-12-14 15:34:00.472+01	2	2	t	506
871	2009-12-14 15:34:00.999607+01	2	f	20091214153400659-475046	\N	\N	t	2009-12-14 15:34:01.249+01	2	2	t	507
872	2009-12-14 15:34:01.773055+01	2	f	20091214153401466-475047	\N	\N	t	2009-12-14 15:34:01.94+01	2	2	t	508
873	2009-12-14 15:34:02.42779+01	2	f	20091214153402112-475048	\N	\N	t	2009-12-14 15:34:02.605+01	2	2	t	509
874	2009-12-14 15:34:03.100467+01	2	f	20091214153402802-475049	\N	\N	t	2009-12-14 15:34:03.316+01	2	2	t	510
875	2009-12-14 15:34:03.860494+01	2	f	20091214153403542-475050	\N	\N	t	2009-12-14 15:34:04.025+01	2	2	t	511
876	2009-12-14 15:34:04.67771+01	2	f	20091214153404249-475051	\N	\N	t	2009-12-14 15:34:04.876+01	2	2	t	512
877	2009-12-14 15:34:05.570326+01	2	f	20091214153405159-475052	\N	\N	t	2009-12-14 15:34:05.757+01	2	2	t	513
878	2009-12-14 15:34:06.339809+01	2	f	20091214153405927-475053	\N	\N	t	2009-12-14 15:34:06.53+01	2	2	t	514
879	2009-12-14 15:34:07.138637+01	2	f	20091214153406752-475054	\N	\N	t	2009-12-14 15:34:07.313+01	2	2	t	515
880	2009-12-14 15:34:07.830149+01	2	f	20091214153407504-475055	\N	\N	t	2009-12-14 15:34:08.014+01	2	2	t	516
881	2009-12-14 15:34:08.630299+01	2	f	20091214153408243-475056	\N	\N	t	2009-12-14 15:34:08.877+01	2	2	t	517
882	2009-12-14 15:34:09.598845+01	2	f	20091214153409108-475057	\N	\N	t	2009-12-14 15:34:09.827+01	2	2	t	518
883	2009-12-14 15:34:10.622371+01	2	f	20091214153410031-475058	\N	\N	t	2009-12-14 15:34:10.996+01	2	2	t	519
884	2009-12-14 15:34:11.668584+01	2	f	20091214153411256-475059	\N	\N	t	2009-12-14 15:34:11.87+01	2	2	t	520
885	2009-12-14 15:34:12.399632+01	2	f	20091214153412056-475060	\N	\N	t	2009-12-14 15:34:12.589+01	2	2	t	521
886	2009-12-14 15:34:13.213997+01	2	f	20091214153412826-475061	\N	\N	t	2009-12-14 15:34:13.412+01	2	2	t	522
887	2009-12-14 15:34:13.908716+01	2	f	20091214153413600-475062	\N	\N	t	2009-12-14 15:34:14.104+01	2	2	t	523
888	2009-12-14 15:34:14.692518+01	2	f	20091214153414375-475063	\N	\N	t	2009-12-14 15:34:14.888+01	2	2	t	524
889	2009-12-14 15:34:15.433735+01	2	f	20091214153415092-475064	\N	\N	t	2009-12-14 15:34:15.603+01	2	2	t	525
890	2009-12-14 15:34:16.222389+01	2	f	20091214153415854-475065	\N	\N	t	2009-12-14 15:34:16.396+01	2	2	t	526
891	2009-12-14 15:34:16.87897+01	2	f	20091214153416573-475066	\N	\N	t	2009-12-14 15:34:17.048+01	2	2	t	527
892	2009-12-14 15:34:17.625074+01	2	f	20091214153417302-475067	\N	\N	t	2009-12-14 15:34:17.825+01	2	2	t	528
893	2009-12-14 15:34:18.336688+01	2	f	20091214153418009-475068	\N	\N	t	2009-12-14 15:34:18.516+01	2	2	t	529
894	2009-12-14 15:34:19.087811+01	2	f	20091214153418770-475069	\N	\N	t	2009-12-14 15:34:19.258+01	2	2	t	530
895	2009-12-14 15:34:19.755268+01	2	f	20091214153419449-475070	\N	\N	t	2009-12-14 15:34:19.924+01	2	2	t	531
896	2009-12-14 15:34:20.474431+01	2	f	20091214153420093-475071	\N	\N	t	2009-12-14 15:34:20.655+01	2	2	t	532
897	2009-12-14 15:34:21.160726+01	2	f	20091214153420834-475072	\N	\N	t	2009-12-14 15:34:21.365+01	2	2	t	533
898	2009-12-14 15:34:21.889346+01	2	f	20091214153421591-475073	\N	\N	t	2009-12-14 15:34:22.09+01	2	2	t	534
899	2009-12-14 15:34:22.641148+01	2	f	20091214153422304-475074	\N	\N	t	2009-12-14 15:34:22.836+01	2	2	t	535
900	2009-12-14 15:34:23.395902+01	2	f	20091214153423046-475075	\N	\N	t	2009-12-14 15:34:23.58+01	2	2	t	536
901	2009-12-14 15:34:24.106036+01	2	f	20091214153423786-475076	\N	\N	t	2009-12-14 15:34:24.33+01	2	2	t	537
902	2009-12-14 15:34:24.835172+01	2	f	20091214153424534-475077	\N	\N	t	2009-12-14 15:34:25.011+01	2	2	t	538
903	2009-12-14 15:34:25.600633+01	2	f	20091214153425179-475078	\N	\N	t	2009-12-14 15:34:25.77+01	2	2	t	539
904	2009-12-14 15:34:26.307423+01	2	f	20091214153425976-475079	\N	\N	t	2009-12-14 15:34:26.486+01	2	2	t	540
905	2009-12-14 15:34:26.950789+01	2	f	20091214153426659-475080	\N	\N	t	2009-12-14 15:34:27.131+01	2	2	t	541
906	2009-12-14 15:34:27.715803+01	2	f	20091214153427328-475081	\N	\N	t	2009-12-14 15:34:27.879+01	2	2	t	542
907	2009-12-14 15:34:28.369427+01	2	f	20091214153428050-475082	\N	\N	t	2009-12-14 15:34:28.536+01	2	2	t	543
908	2009-12-14 15:34:29.110652+01	2	f	20091214153428720-475083	\N	\N	t	2009-12-14 15:34:29.28+01	2	2	t	544
909	2009-12-14 15:34:29.962029+01	2	f	20091214153429594-475084	\N	\N	t	2009-12-14 15:34:30.19+01	2	2	t	545
910	2009-12-14 15:34:30.772229+01	2	f	20091214153430453-475085	\N	\N	t	2009-12-14 15:34:30.983+01	2	2	t	546
911	2009-12-14 15:34:31.78133+01	2	f	20091214153431426-475086	\N	\N	t	2009-12-14 15:34:32.045+01	2	2	t	547
912	2009-12-14 15:34:32.731906+01	2	f	20091214153432282-475087	\N	\N	t	2009-12-14 15:34:32.946+01	2	2	t	548
913	2009-12-14 15:34:33.581887+01	2	f	20091214153433136-475088	\N	\N	t	2009-12-14 15:34:33.771+01	2	2	t	550
914	2009-12-14 15:34:34.26262+01	2	f	20091214153433943-475089	\N	\N	t	2009-12-14 15:34:34.469+01	2	2	t	551
915	2009-12-14 15:34:35.087137+01	2	f	20091214153434760-475090	\N	\N	t	2009-12-14 15:34:35.301+01	2	2	t	552
916	2009-12-14 15:34:35.836626+01	2	f	20091214153435509-475091	\N	\N	t	2009-12-14 15:34:36.031+01	2	2	t	553
917	2009-12-14 15:34:36.598906+01	2	f	20091214153436277-475092	\N	\N	t	2009-12-14 15:34:36.775+01	2	2	t	554
918	2009-12-14 15:34:37.34406+01	2	f	20091214153437000-475093	\N	\N	t	2009-12-14 15:34:37.542+01	2	2	t	555
919	2009-12-14 15:34:38.442375+01	2	f	20091214153437892-475094	\N	\N	t	2009-12-14 15:34:38.659+01	2	2	t	556
920	2009-12-14 15:34:39.806305+01	2	f	20091214153439224-475095	\N	\N	t	2009-12-14 15:34:40.045+01	2	2	t	557
921	2009-12-14 15:34:40.803908+01	2	f	20091214153440277-475096	\N	\N	t	2009-12-14 15:34:41.036+01	2	2	t	558
922	2009-12-14 15:34:42.011233+01	2	f	20091214153441610-475097	\N	\N	t	2009-12-14 15:34:42.235+01	2	2	t	559
923	2009-12-14 15:34:42.918601+01	2	f	20091214153442545-475098	\N	\N	t	2009-12-14 15:34:43.15+01	2	2	t	560
929	2009-12-16 16:26:33.436862+01	1	f	20091216162632695-475113	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:26:33.622+01	2	2	f	453
930	2009-12-16 16:26:34.519224+01	1	f	20091216162633804-475114	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:26:34.724+01	2	2	f	454
931	2009-12-16 16:26:35.692235+01	1	f	20091216162634960-475115	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:26:35.907+01	2	2	f	455
932	2009-12-16 16:26:37.592177+01	1	f	20091216162636114-475116	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:26:37.817+01	2	2	f	507
934	2009-12-16 16:26:40.533632+01	1	f	20091216162639576-475118	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:26:41.277+01	2	2	f	509
935	2009-12-16 16:35:22.668687+01	1	f	20091216163521738-475119	M1	2008-03-13 11:36:22+01	t	2009-12-16 16:35:22.862+01	2	2	f	381
928	2009-12-16 16:26:32.282565+01	1	f	20091216162631314-475112	M1	2008-03-13 11:36:22+01	t	2010-01-07 16:27:18.314+01	2	2	f	383
945	2010-02-01 23:32:13.381655+01	1	f	20100201233136391-475149	\N	\N	t	2010-02-01 23:32:13.991+01	8	2	t	302182
946	2010-02-03 01:14:07.258366+01	1	f	20100203011403814-475150	M2	2008-05-25 19:38:14+02	t	2010-02-03 01:14:08.023+01	2	2	f	508
927	2009-12-16 16:26:30.909707+01	1	f	20091216162628729-475111	M1	2008-03-13 11:36:22+01	t	2010-02-10 08:44:59.409+01	2	2	f	381
947	2010-02-19 13:00:57.818739+01	1	f	20100219130015625-476313	\N	\N	t	2010-02-19 13:01:00.263+01	8	2	t	302182
948	2010-02-19 15:52:56.351062+01	6	f	20100219155247842-476315	\N	\N	t	2010-02-19 15:52:56.579+01	8	2	f	302182
949	2010-02-23 15:45:28.331589+01	6	f	20100223154428263-476316	\N	\N	t	2010-02-23 15:45:28.774+01	8	2	f	302182
950	2010-02-23 16:36:38.794343+01	1	f	20100223163445408-476320	\N	\N	t	2010-02-23 16:36:39.029+01	8	2	t	302182
951	2010-02-23 16:45:04.447965+01	1	f	20100223164456512-476321	\N	\N	t	2010-02-23 16:45:04.625+01	8	2	t	302182
952	2010-02-23 17:18:51.888399+01	1	f	20100223171845064-476322	\N	\N	t	2010-02-23 17:18:52.083+01	8	2	t	302182
953	2010-02-23 17:19:17.689474+01	6	f	20100223171856547-476323	\N	\N	t	2010-02-23 17:19:17.88+01	8	2	f	302182
954	2010-02-23 17:30:34.582605+01	6	f	20100223173018088-476324	\N	\N	t	2010-02-23 17:30:34.745+01	8	2	f	302182
\.


--
-- Data for Name: data_set_properties; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_set_properties (id, ds_id, dstpt_id, value, cvte_id, mate_prop_id, pers_id_registerer, registration_timestamp, modification_timestamp) FROM stdin;
\.


--
-- Data for Name: data_set_relationships; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_set_relationships (data_id_parent, data_id_child) FROM stdin;
927	747
\.


--
-- Data for Name: data_set_type_property_types; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_set_type_property_types (id, dsty_id, prty_id, is_mandatory, is_managed_internally, pers_id_registerer, registration_timestamp, section, ordinal) FROM stdin;
\.


--
-- Data for Name: data_set_types; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_set_types (id, code, description, dbin_id, modification_timestamp, main_ds_pattern, main_ds_path) FROM stdin;
3	UNKNOWN	Unknown	1	2009-11-27 16:02:26.451046+01	\N	\N
1	HCS_IMAGE	Data derived from analysis of HCS images	1	2009-11-27 16:02:26.451046+01	\N	\N
2	HCS_IMAGE_ANALYSIS_DATA	Data derived from analysis of HCS images	1	2009-11-27 16:02:26.451046+01	\N	\N
6	HCS_RAW_IMAGE	\N	1	2010-02-01 21:57:49.449762+01	\N	\N
\.


--
-- Data for Name: data_store_service_data_set_types; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_store_service_data_set_types (data_store_service_id, data_set_type_id) FROM stdin;
100	1
101	1
102	3
746	1
747	3
748	1
749	3
750	2
751	2
\.


--
-- Data for Name: data_store_services; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_store_services (id, key, label, kind, data_store_id) FROM stdin;
100	plate-image-reporter	Show Plate Images	QUERIES	3
101	plate-image-params-reporter	Show Plate Image Parameters	QUERIES	3
102	demo-reporter	Show Dataset Size	QUERIES	3
746	plate-image-reporter	Show Plate Images	QUERIES	2
747	demo-reporter	Show Dataset Size	QUERIES	2
748	plate-image-params-reporter	Show Plate Image Parameters	QUERIES	2
749	demo-processor	Demo Processing	PROCESSING	2
750	plate-image-analysis-graph	Show Image Analysis Graphs	QUERIES	2
751	plate-image-analysis-merger	Show Image Analysis Results	QUERIES	2
\.


--
-- Data for Name: data_stores; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_stores (id, dbin_id, code, download_url, registration_timestamp, remote_url, session_token, modification_timestamp, is_archiver_configured) FROM stdin;
1	1	STANDARD		2009-11-27 16:02:09.025646+01			2009-11-27 16:02:27.285416+01	f
3	1	xxx	http://localhost:8889	2009-12-08 17:17:48.06358+01	http://localhost:8889	091209142332877-F0C8EFCDAD7BB825824EA88612BE3DFE	2009-12-09 14:23:33.22+01	f
2	1	MY-DSS	http://localhost:8889	2009-11-30 13:19:49.3931+01	http://127.0.0.1:8889	100423150043884-D748B8BCC1E5488345598BC92F79A04E	2010-04-23 15:00:44.98+02	f
\.


--
-- Data for Name: data_types; Type: TABLE DATA; Schema: public; Owner: -
--

COPY data_types (id, code, description) FROM stdin;
1	VARCHAR	Variable length character
2	INTEGER	Integer
3	REAL	Real number, i.e. an inexact, variable-precision numeric type
4	BOOLEAN	An enumerated type with values True and False
5	TIMESTAMP	Both date and time. Format: yyyy-mm-dd hh:mm:ss
6	CONTROLLEDVOCABULARY	Controlled Vocabulary
7	MATERIAL	Reference to a material
8	HYPERLINK	Address of a web page
9	MULTILINE_VARCHAR	Long text
\.


--
-- Data for Name: database_instances; Type: TABLE DATA; Schema: public; Owner: -
--

COPY database_instances (id, code, is_original_source, registration_timestamp, uuid) FROM stdin;
1	CISD	t	2009-11-27 16:01:51.451448+01	1FB0DABA-C531-41DD-94AA-C181C523042F
\.


--
-- Data for Name: database_version_logs; Type: TABLE DATA; Schema: public; Owner: -
--

COPY database_version_logs (db_version, module_name, run_status, run_status_timestamp, module_code, run_exception) FROM stdin;
013	./sql/generic/013/schema-013.sql	SUCCESS	2008-02-28 13:03:03.214	-- D:\\\\DDL\\\\postgresql\\\\schema-013.sql\\012--\\012-- Generated for ANSI SQL92 on Fri Dec 21  17:59:34 2007 by Server Generator 10.1.2.6.18\\012------------------------------------------------------------------------------------\\012--\\012--  Post-Generation Modifications:\\012--\\012--  1. Changed domain FILE from BIT(32000) to BYTEA\\012--  2. Changed domain TECH_ID from NUMERIC(20) to BIGINT\\012--  3. Changed domain BOOLEAN_CHAR from CHAR(1) DEFAULT F to BOOLEAN DEFAULT FALSE\\012--  4. Removed the check constraint AVCON_1197023825_IS_MA_000 CHECK from the\\012--     table MATERIAL_TYPE_PROPERTY_TYPES as it is only needed in Oracle\\012--  5. Added the ON DELETE CASCADE qualifier to the foreign key MAPR_MTPT_FK of\\012--     the MATERIAL_PROPERTIES table\\012--  6. Added the Sequence, Index and Trigger sections\\012------------------------------------------------------------------------------------\\012\\012-- Creating domains\\012\\012CREATE DOMAIN BOOLEAN_CHAR AS BOOLEAN DEFAULT FALSE;\\012CREATE DOMAIN CODE AS VARCHAR(20);\\012CREATE DOMAIN COLUMN_LABEL AS VARCHAR(40);\\012CREATE DOMAIN DESCRIPTION_250 AS VARCHAR(250);\\012CREATE DOMAIN DESCRIPTION_80 AS VARCHAR(80);\\012CREATE DOMAIN DOUBLE_PRECISION_VALUE AS DOUBLE PRECISION;\\012CREATE DOMAIN FILE AS BYTEA;\\012CREATE DOMAIN FILE_NAME AS VARCHAR(100);\\012CREATE DOMAIN GENERIC_VALUE AS VARCHAR(1024);\\012CREATE DOMAIN OBJECT_NAME AS VARCHAR(50);\\012CREATE DOMAIN REAL_VALUE AS REAL;\\012CREATE DOMAIN TECH_ID AS BIGINT;\\012CREATE DOMAIN TIME_STAMP AS TIMESTAMP DEFAULT CURRENT_TIMESTAMP;\\012CREATE DOMAIN USER_ID AS VARCHAR(20);\\012\\012-- Creating tables\\012\\012CREATE TABLE DATA (ID TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,OBTY_ID TECH_ID NOT NULL,PROC_ID_ACQUIRED_BY TECH_ID NOT NULL,SAMP_ID_ACQUIRED_FROM TECH_ID,SAMP_ID_DERIVED_FROM TECH_ID);\\012CREATE TABLE DATA_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80 NOT NULL);\\012CREATE TABLE DATA_VALUES (ID TECH_ID NOT NULL,DATA_ID TECH_ID NOT NULL,SACO_ID TECH_ID NOT NULL,VALUE DOUBLE_PRECISION_VALUE NOT NULL);\\012CREATE TABLE EXPERIMENTS (ID TECH_ID NOT NULL,CODE CODE NOT NULL,EXTY_ID TECH_ID NOT NULL,MATE_ID_STUDY_OBJECT TECH_ID,PERS_ID_REGISTERER TECH_ID,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,DESCRIPTION DESCRIPTION_250,PROJ_ID TECH_ID NOT NULL);\\012CREATE TABLE EXPERIMENT_ATTACHMENTS (ID TECH_ID NOT NULL,EXPE_ID TECH_ID NOT NULL,FILE_NAME FILE_NAME NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,VALUE FILE NOT NULL,VERSION INTEGER NOT NULL,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE EXPERIMENT_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012CREATE TABLE EXTERNAL_DATA (DATA_ID TECH_ID NOT NULL,LOCATION VARCHAR(200) NOT NULL,LOTY_ID TECH_ID NOT NULL,FFTY_ID TECH_ID NOT NULL);\\012CREATE TABLE FILE_FORMAT_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012CREATE TABLE INVALIDATIONS (ID TECH_ID NOT NULL,PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,REASON DESCRIPTION_250);\\012CREATE TABLE LOCATOR_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012CREATE TABLE MATERIALS (ID TECH_ID NOT NULL,CODE CODE NOT NULL,MATY_ID TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL,MATE_ID_INHIBITOR_OF TECH_ID);\\012CREATE TABLE MATERIAL_BATCHES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,AMOUNT REAL_VALUE,MATE_ID TECH_ID NOT NULL,PROC_ID TECH_ID,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE MATERIAL_PROPERTIES (ID TECH_ID NOT NULL,MATE_ID TECH_ID NOT NULL,MTPT_ID TECH_ID NOT NULL,VALUE GENERIC_VALUE NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE MATERIAL_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012CREATE TABLE MATERIAL_TYPE_PROPERTY_TYPES (ID TECH_ID NOT NULL,MATY_ID TECH_ID NOT NULL,PRTY_ID TECH_ID NOT NULL,IS_MANDATORY BOOLEAN_CHAR NOT NULL DEFAULT 'F',REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE OBSERVABLE_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012CREATE TABLE ORGANIZATIONS (ID TECH_ID NOT NULL,CODE CODE NOT NULL);\\012CREATE TABLE PERSONS (ID TECH_ID NOT NULL,FIRST_NAME VARCHAR(30),LAST_NAME VARCHAR(30),USER_ID USER_ID,EMAIL OBJECT_NAME);\\012CREATE TABLE PROCEDURES (ID TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,EXPE_ID TECH_ID NOT NULL,PCTY_ID TECH_ID NOT NULL,PERS_ID TECH_ID);\\012CREATE TABLE PROCEDURE_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80 NOT NULL);\\012CREATE TABLE PROJECTS (ID TECH_ID NOT NULL,CODE CODE NOT NULL,ORGA_ID TECH_ID NOT NULL);\\012CREATE TABLE PROPERTY_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80 NOT NULL,LABEL COLUMN_LABEL NOT NULL,DATY_ID TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE SAMPLES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,SAMP_ID_TOP TECH_ID,SAMP_ID_GENERATED_FROM TECH_ID,SATY_ID TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID_REGISTERER TECH_ID NOT NULL,INVA_ID TECH_ID);\\012CREATE TABLE SAMPLE_COMPONENTS (ID TECH_ID NOT NULL,CODE CODE NOT NULL,SAMP_ID TECH_ID NOT NULL);\\012CREATE TABLE SAMPLE_COMPONENT_MATERIALS (ID TECH_ID NOT NULL,SACO_ID TECH_ID NOT NULL,MABA_ID TECH_ID NOT NULL);\\012CREATE TABLE SAMPLE_INPUTS (ID TECH_ID NOT NULL,SAMP_ID TECH_ID NOT NULL,PROC_ID TECH_ID NOT NULL);\\012CREATE TABLE SAMPLE_TYPES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80);\\012\\012-- Creating primary key constraints\\012\\012ALTER TABLE DATA ADD CONSTRAINT DATA_PK PRIMARY KEY(ID);\\012ALTER TABLE DATA_TYPES ADD CONSTRAINT DATY_PK PRIMARY KEY(ID);\\012ALTER TABLE DATA_VALUES ADD CONSTRAINT DAVA_PK PRIMARY KEY(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_PK PRIMARY KEY(ID);\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD CONSTRAINT EXAT_PK PRIMARY KEY(ID);\\012ALTER TABLE EXPERIMENT_TYPES ADD CONSTRAINT EXTY_PK PRIMARY KEY(ID);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_PK PRIMARY KEY(DATA_ID);\\012ALTER TABLE FILE_FORMAT_TYPES ADD CONSTRAINT FFTY_PK PRIMARY KEY(ID);\\012ALTER TABLE INVALIDATIONS ADD CONSTRAINT INVA_PK PRIMARY KEY(ID);\\012ALTER TABLE LOCATOR_TYPES ADD CONSTRAINT LOTY_PK PRIMARY KEY(ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_PK PRIMARY KEY(ID);\\012ALTER TABLE MATERIAL_BATCHES ADD CONSTRAINT MABA_PK PRIMARY KEY(ID);\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_PK PRIMARY KEY(ID);\\012ALTER TABLE MATERIAL_TYPES ADD CONSTRAINT MATY_PK PRIMARY KEY(ID);\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_PK PRIMARY KEY(ID);\\012ALTER TABLE OBSERVABLE_TYPES ADD CONSTRAINT OBTY_PK PRIMARY KEY(ID);\\012ALTER TABLE ORGANIZATIONS ADD CONSTRAINT ORGA_PK PRIMARY KEY(ID);\\012ALTER TABLE PERSONS ADD CONSTRAINT PERS_PK PRIMARY KEY(ID);\\012ALTER TABLE PROCEDURES ADD CONSTRAINT PROC_PK PRIMARY KEY(ID);\\012ALTER TABLE PROCEDURE_TYPES ADD CONSTRAINT PCTY_PK PRIMARY KEY(ID);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_PK PRIMARY KEY(ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_COMPONENTS ADD CONSTRAINT SACO_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_COMPONENT_MATERIALS ADD CONSTRAINT SCMA_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_INPUTS ADD CONSTRAINT SAIN_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_TYPES ADD CONSTRAINT SATY_PK PRIMARY KEY(ID);\\012\\012-- Creating unique constraints\\012\\012ALTER TABLE DATA_TYPES ADD CONSTRAINT DATY_BK_UK UNIQUE(CODE);\\012ALTER TABLE DATA_VALUES ADD CONSTRAINT DAVA_BK_UK UNIQUE(DATA_ID,SACO_ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_BK_UK UNIQUE(CODE,PROJ_ID);\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD CONSTRAINT EXAT_BK_UK UNIQUE(EXPE_ID,FILE_NAME,VERSION);\\012ALTER TABLE EXPERIMENT_TYPES ADD CONSTRAINT EXTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_BK_UK UNIQUE(LOCATION);\\012ALTER TABLE FILE_FORMAT_TYPES ADD CONSTRAINT FFTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE LOCATOR_TYPES ADD CONSTRAINT LOTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_BK_UK UNIQUE(CODE,MATY_ID);\\012ALTER TABLE MATERIAL_BATCHES ADD CONSTRAINT MABA_BK_UK UNIQUE(CODE,MATE_ID);\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_BK_UK UNIQUE(MATE_ID,MTPT_ID);\\012ALTER TABLE MATERIAL_TYPES ADD CONSTRAINT MATY_BK_UK UNIQUE(CODE);\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_BK_UK UNIQUE(MATY_ID,PRTY_ID);\\012ALTER TABLE OBSERVABLE_TYPES ADD CONSTRAINT OBTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE ORGANIZATIONS ADD CONSTRAINT ORGA_BK_UK UNIQUE(CODE);\\012ALTER TABLE PERSONS ADD CONSTRAINT PERS_BK_UK UNIQUE(USER_ID);\\012ALTER TABLE PROCEDURE_TYPES ADD CONSTRAINT PCTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_BK_UK UNIQUE(CODE,ORGA_ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_BK_UK UNIQUE(CODE);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_UK UNIQUE(CODE);\\012ALTER TABLE SAMPLE_COMPONENTS ADD CONSTRAINT SACO_BK_UK UNIQUE(CODE,SAMP_ID);\\012ALTER TABLE SAMPLE_COMPONENT_MATERIALS ADD CONSTRAINT SCMA_BK_UK UNIQUE(MABA_ID,SACO_ID);\\012ALTER TABLE SAMPLE_INPUTS ADD CONSTRAINT SAIN_BK_UK UNIQUE(SAMP_ID,PROC_ID);\\012ALTER TABLE SAMPLE_TYPES ADD CONSTRAINT SATY_BK_UK UNIQUE(CODE);\\012\\012-- Creating foreign key constraints\\012\\012ALTER TABLE DATA ADD CONSTRAINT DATA_OBTY_FK FOREIGN KEY (OBTY_ID) REFERENCES OBSERVABLE_TYPES(ID);\\012ALTER TABLE DATA ADD CONSTRAINT DATA_PROC_FK FOREIGN KEY (PROC_ID_ACQUIRED_BY) REFERENCES PROCEDURES(ID);\\012ALTER TABLE DATA ADD CONSTRAINT DATA_SAMP_DERIVED_FROM_FK FOREIGN KEY (SAMP_ID_DERIVED_FROM) REFERENCES SAMPLES(ID);\\012ALTER TABLE DATA ADD CONSTRAINT DATA_SAMP_FK FOREIGN KEY (SAMP_ID_ACQUIRED_FROM) REFERENCES SAMPLES(ID);\\012ALTER TABLE DATA_VALUES ADD CONSTRAINT DAVA_DATA_FK FOREIGN KEY (DATA_ID) REFERENCES DATA(ID);\\012ALTER TABLE DATA_VALUES ADD CONSTRAINT DAVA_SACO_FK FOREIGN KEY (SACO_ID) REFERENCES SAMPLE_COMPONENTS(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_EXTY_FK FOREIGN KEY (EXTY_ID) REFERENCES EXPERIMENT_TYPES(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_MATE_FK FOREIGN KEY (MATE_ID_STUDY_OBJECT) REFERENCES MATERIALS(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_PROJ_FK FOREIGN KEY (PROJ_ID) REFERENCES PROJECTS(ID);\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD CONSTRAINT EXAT_EXPE_FK FOREIGN KEY (EXPE_ID) REFERENCES EXPERIMENTS(ID);\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD CONSTRAINT EXAT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_DATA_FK FOREIGN KEY (DATA_ID) REFERENCES DATA(ID);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_FFTY_FK FOREIGN KEY (FFTY_ID) REFERENCES FILE_FORMAT_TYPES(ID);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_LOTY_FK FOREIGN KEY (LOTY_ID) REFERENCES LOCATOR_TYPES(ID);\\012ALTER TABLE INVALIDATIONS ADD CONSTRAINT INVA_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_MATE_FK FOREIGN KEY (MATE_ID_INHIBITOR_OF) REFERENCES MATERIALS(ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_MATY_FK FOREIGN KEY (MATY_ID) REFERENCES MATERIAL_TYPES(ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIAL_BATCHES ADD CONSTRAINT MABA_MATE_FK FOREIGN KEY (MATE_ID) REFERENCES MATERIALS(ID);\\012ALTER TABLE MATERIAL_BATCHES ADD CONSTRAINT MABA_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIAL_BATCHES ADD CONSTRAINT MABA_PROC_FK FOREIGN KEY (PROC_ID) REFERENCES PROCEDURES(ID);\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_MATE_FK FOREIGN KEY (MATE_ID) REFERENCES MATERIALS(ID);\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_MTPT_FK FOREIGN KEY (MTPT_ID) REFERENCES MATERIAL_TYPE_PROPERTY_TYPES(ID) ON DELETE CASCADE;\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_MATY_FK FOREIGN KEY (MATY_ID) REFERENCES MATERIAL_TYPES(ID);\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD CONSTRAINT MTPT_PRTY_FK FOREIGN KEY (PRTY_ID) REFERENCES PROPERTY_TYPES(ID);\\012ALTER TABLE PROCEDURES ADD CONSTRAINT PROC_EXPE_FK FOREIGN KEY (EXPE_ID) REFERENCES EXPERIMENTS(ID);\\012ALTER TABLE PROCEDURES ADD CONSTRAINT PROC_PCTY_FK FOREIGN KEY (PCTY_ID) REFERENCES PROCEDURE_TYPES(ID);\\012ALTER TABLE PROCEDURES ADD CONSTRAINT PROC_PERS_FK FOREIGN KEY (PERS_ID) REFERENCES PERSONS(ID);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_ORGA_FK FOREIGN KEY (ORGA_ID) REFERENCES ORGANIZATIONS(ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_DATY_FK FOREIGN KEY (DATY_ID) REFERENCES DATA_TYPES(ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_INVA_FK FOREIGN KEY (INVA_ID) REFERENCES INVALIDATIONS(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_SAMP_FK_GENERATED_FROM FOREIGN KEY (SAMP_ID_GENERATED_FROM) REFERENCES SAMPLES(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_SAMP_FK_TOP FOREIGN KEY (SAMP_ID_TOP) REFERENCES SAMPLES(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_SATY_FK FOREIGN KEY (SATY_ID) REFERENCES SAMPLE_TYPES(ID);\\012ALTER TABLE SAMPLE_COMPONENTS ADD CONSTRAINT SACO_SAMP_FK FOREIGN KEY (SAMP_ID) REFERENCES SAMPLES(ID);\\012ALTER TABLE SAMPLE_COMPONENT_MATERIALS ADD CONSTRAINT SCMA_MABA_FK FOREIGN KEY (MABA_ID) REFERENCES MATERIAL_BATCHES(ID);\\012ALTER TABLE SAMPLE_COMPONENT_MATERIALS ADD CONSTRAINT SCMA_SACO_FK FOREIGN KEY (SACO_ID) REFERENCES SAMPLE_COMPONENTS(ID);\\012ALTER TABLE SAMPLE_INPUTS ADD CONSTRAINT SAIN_PROC_FK FOREIGN KEY (PROC_ID) REFERENCES PROCEDURES(ID);\\012ALTER TABLE SAMPLE_INPUTS ADD CONSTRAINT SAIN_SAMP_FK FOREIGN KEY (SAMP_ID) REFERENCES SAMPLES(ID);\\012\\012-- Creating sequences\\012\\012CREATE SEQUENCE DATA_ID_SEQ;\\012CREATE SEQUENCE DATA_TYPE_ID_SEQ;\\012CREATE SEQUENCE DATA_VALUE_ID_SEQ;\\012CREATE SEQUENCE EXPERIMENT_ID_SEQ;\\012CREATE SEQUENCE EXPERIMENT_ATTACHMENT_ID_SEQ;\\012CREATE SEQUENCE EXPERIMENT_TYPE_ID_SEQ;\\012CREATE SEQUENCE FILE_FORMAT_TYPE_ID_SEQ;\\012CREATE SEQUENCE INVALIDATION_ID_SEQ;\\012CREATE SEQUENCE LOCATOR_TYPE_ID_SEQ;\\012CREATE SEQUENCE MATERIAL_BATCH_ID_SEQ;\\012CREATE SEQUENCE MATERIAL_ID_SEQ;\\012CREATE SEQUENCE MATERIAL_PROPERTY_ID_SEQ;\\012CREATE SEQUENCE MATERIAL_TYPE_ID_SEQ;\\012CREATE SEQUENCE MTPT_ID_SEQ;\\012CREATE SEQUENCE OBSERVABLE_TYPE_ID_SEQ;\\012CREATE SEQUENCE ORGANIZATION_ID_SEQ;\\012CREATE SEQUENCE PERSON_ID_SEQ;\\012CREATE SEQUENCE PROCEDURE_ID_SEQ;\\012CREATE SEQUENCE PROCEDURE_TYPE_ID_SEQ;\\012CREATE SEQUENCE PROJECT_ID_SEQ;\\012CREATE SEQUENCE PROPERTY_TYPE_ID_SEQ;\\012CREATE SEQUENCE SAMPLE_COMPONENT_ID_SEQ;\\012CREATE SEQUENCE SAMPLE_ID_SEQ;\\012CREATE SEQUENCE SAMPLE_INPUT_ID_SEQ;\\012CREATE SEQUENCE SAMPLE_TYPE_ID_SEQ;\\012CREATE SEQUENCE SCMA_ID_SEQ;\\012\\012-- Creating indices\\012\\012CREATE INDEX DATA_OBTY_FK_I ON DATA (OBTY_ID);\\012CREATE INDEX DATA_PROC_FK_I ON DATA (PROC_ID_ACQUIRED_BY);\\012CREATE INDEX DATA_SAMP_DERIVED_FROM_FK_I ON DATA (SAMP_ID_DERIVED_FROM);\\012CREATE INDEX DATA_SAMP_FK_I ON DATA (SAMP_ID_ACQUIRED_FROM);\\012CREATE INDEX DAVA_DATA_FK_I ON DATA_VALUES (DATA_ID);\\012CREATE INDEX DAVA_SACO_FK_I ON DATA_VALUES (SACO_ID);\\012CREATE INDEX EXDA_FFTY_FK_I ON EXTERNAL_DATA (FFTY_ID);\\012CREATE INDEX EXDA_LOTY_FK_I ON EXTERNAL_DATA (LOTY_ID);\\012CREATE INDEX EXPE_EXTY_FK_I ON EXPERIMENTS (EXTY_ID);\\012CREATE INDEX EXPE_MATE_FK_I ON EXPERIMENTS (MATE_ID_STUDY_OBJECT);\\012CREATE INDEX EXPE_PERS_FK_I ON EXPERIMENTS (PERS_ID_REGISTERER);\\012CREATE INDEX EXPE_PROJ_FK_I ON EXPERIMENTS (PROJ_ID);\\012CREATE INDEX EXAT_EXPE_FK_I ON EXPERIMENT_ATTACHMENTS (EXPE_ID);\\012CREATE INDEX EXAT_PERS_FK_I ON EXPERIMENT_ATTACHMENTS (PERS_ID_REGISTERER);\\012CREATE INDEX INVA_PERS_FK_I ON INVALIDATIONS (PERS_ID_REGISTERER);\\012CREATE INDEX MABA_MATE_FK_I ON MATERIAL_BATCHES (MATE_ID);\\012CREATE INDEX MABA_PERS_FK_I ON MATERIAL_BATCHES (PERS_ID_REGISTERER);\\012CREATE INDEX MABA_PROC_FK_I ON MATERIAL_BATCHES (PROC_ID);\\012CREATE INDEX MAPR_MATE_FK_I ON MATERIAL_PROPERTIES (MATE_ID);\\012CREATE INDEX MAPR_MTPT_FK_I ON MATERIAL_PROPERTIES (MTPT_ID);\\012CREATE INDEX MAPR_PERS_FK_I ON MATERIAL_PROPERTIES (PERS_ID_REGISTERER);\\012CREATE INDEX MATE_MATE_FK_I ON MATERIALS (MATE_ID_INHIBITOR_OF);\\012CREATE INDEX MATE_MATY_FK_I ON MATERIALS (MATY_ID);\\012CREATE INDEX MATE_PERS_FK_I ON MATERIALS (PERS_ID_REGISTERER);\\012CREATE INDEX MTPT_MATY_FK_I ON MATERIAL_TYPE_PROPERTY_TYPES (MATY_ID);\\012CREATE INDEX MTPT_PERS_FK_I ON MATERIAL_TYPE_PROPERTY_TYPES (PERS_ID_REGISTERER);\\012CREATE INDEX MTPT_PRTY_FK_I ON MATERIAL_TYPE_PROPERTY_TYPES (PRTY_ID);\\012CREATE INDEX PROC_EXPE_FK_I ON PROCEDURES (EXPE_ID);\\012CREATE INDEX PROC_PCTY_FK_I ON PROCEDURES (PCTY_ID);\\012CREATE INDEX PROC_PERS_FK_I ON PROCEDURES (PERS_ID);\\012CREATE INDEX PROJ_ORGA_FK_I ON PROJECTS (ORGA_ID);\\012CREATE INDEX PRTY_DATY_FK_I ON PROPERTY_TYPES (DATY_ID);\\012CREATE INDEX PRTY_PERS_FK_I ON PROPERTY_TYPES (PERS_ID_REGISTERER);\\012CREATE INDEX SACO_SAMP_FK_I ON SAMPLE_COMPONENTS (SAMP_ID);\\012CREATE INDEX SAIN_PROC_FK_I ON SAMPLE_INPUTS (PROC_ID);\\012CREATE INDEX SAIN_SAMP_FK_I ON SAMPLE_INPUTS (SAMP_ID);\\012CREATE INDEX SAMP_INVA_FK_I ON SAMPLES (INVA_ID);\\012CREATE INDEX SAMP_PERS_FK_I ON SAMPLES (PERS_ID_REGISTERER);\\012CREATE INDEX SAMP_SAMP_FK_I_GENERATED_FROM ON SAMPLES (SAMP_ID_GENERATED_FROM);\\012CREATE INDEX SAMP_SAMP_FK_I_TOP ON SAMPLES (SAMP_ID_TOP);\\012CREATE INDEX SAMP_SATY_FK_I ON SAMPLES (SATY_ID);\\012CREATE INDEX SCMA_MABA_FK_I ON SAMPLE_COMPONENT_MATERIALS (MABA_ID);\\012CREATE INDEX SCMA_SACO_FK_I ON SAMPLE_COMPONENT_MATERIALS (SACO_ID);\\012\\012-- Miscellaneous\\012\\012ALTER TABLE DATA ADD CONSTRAINT DATA_SAMP_ARC_CK CHECK ((SAMP_ID_ACQUIRED_FROM IS NOT NULL AND SAMP_ID_DERIVED_FROM IS NULL) OR (SAMP_ID_ACQUIRED_FROM IS NULL AND SAMP_ID_DERIVED_FROM IS NOT NULL));\\012	\N
014	./sql/postgresql/migration/migration-013-014.sql	SUCCESS	2008-06-17 16:38:30.68	----------------------------------------------------------------------------------------------\\012--  File: migration-013-014.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 013 to 014.\\012-- \\012--  Update History\\012--\\012--\\012--\\011Who\\011\\011\\011When\\011\\011What\\012--\\011---\\011\\011\\011----\\011\\011----\\012--\\011Charles Ramin-Wright\\0112008-01-29\\011Initial Version \\012--  \\012----------------------------------------------------------------------------------------------\\012\\012--=================================\\012-- New Tables and related objects\\012--=================================\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Add tables CONTROLLED_VOCABULARIES and CONTROLLED_VOCABULARY_TERMS\\012------------------------------------------------------------------------------------\\012\\012CREATE TABLE CONTROLLED_VOCABULARIES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,DESCRIPTION DESCRIPTION_80,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PERS_ID TECH_ID NOT NULL);\\012CREATE TABLE CONTROLLED_VOCABULARY_TERMS (ID TECH_ID NOT NULL,CODE OBJECT_NAME NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,COVO_ID TECH_ID NOT NULL,PERS_ID TECH_ID NOT NULL);\\012\\012\\012-- Creating primary key constraints\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_PK PRIMARY KEY(ID);\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ADD CONSTRAINT CVTE_PK PRIMARY KEY(ID);\\012\\012-- Creating unique constraints\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_BK_UK UNIQUE(CODE);\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ADD CONSTRAINT CVTE_BK_UK UNIQUE(CODE,COVO_ID);\\012\\012-- Creating foreign key constraints\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_PERS_FK FOREIGN KEY (PERS_ID) REFERENCES PERSONS(ID);\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ADD CONSTRAINT CVTE_COVO_FK FOREIGN KEY (COVO_ID) REFERENCES CONTROLLED_VOCABULARIES(ID);\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ADD CONSTRAINT CVTE_PERS_FK FOREIGN KEY (PERS_ID) REFERENCES PERSONS(ID);\\012\\012-- Creating sequences\\012\\012CREATE SEQUENCE CONTROLLED_VOCABULARY_ID_SEQ;\\012CREATE SEQUENCE CVTE_ID_SEQ;\\012\\012\\012-- Creating indexes\\012\\012CREATE INDEX COVO_PERS_FK_I ON CONTROLLED_VOCABULARIES (PERS_ID);\\012CREATE INDEX CVTE_COVO_FK_I ON CONTROLLED_VOCABULARY_TERMS (COVO_ID);\\012CREATE INDEX CVTE_PERS_FK_I ON CONTROLLED_VOCABULARY_TERMS (PERS_ID);\\012\\012\\012--====================================\\012-- Modifications of existing objects\\012--====================================\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add column INVA_ID to table EXPERIMENTS in order to allow invalidation of experiments\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE EXPERIMENTS ADD INVA_ID TECH_ID;\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_INVA_FK FOREIGN KEY (INVA_ID) REFERENCES INVALIDATIONS(ID);\\012CREATE INDEX EXPE_INVA_FK_I ON EXPERIMENTS (INVA_ID);\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Add column SAMP_ID_CONTROL_LAYOUT to table SAMPLES in order to allow \\012--            the association of a sample of type CONTROL_LAYOUT to samples\\012------------------------------------------------------------------------------------\\012\\012ALTER TABLE SAMPLES ADD SAMP_ID_CONTROL_LAYOUT TECH_ID;\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_SAMP_FK_CONTROL_LAYOUT FOREIGN KEY (SAMP_ID_CONTROL_LAYOUT) REFERENCES SAMPLES(ID);\\012CREATE INDEX SAMP_SAMP_FK_I_CONTROL_LAYOUT ON SAMPLES (SAMP_ID_CONTROL_LAYOUT);\\012\\012\\012--------------------------------------------------------------\\012--  Purpose:  Add column CVTE_ID to table MATERIAL_PROPERTIES \\012--------------------------------------------------------------\\012ALTER TABLE MATERIAL_PROPERTIES ADD CVTE_ID TECH_ID;\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_CVTE_FK FOREIGN KEY (CVTE_ID) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012CREATE INDEX MAPR_CVTE_FK_I ON MATERIAL_PROPERTIES (CVTE_ID);\\012\\012--------------------------------------------------------------\\012--  Purpose:  Change column VALUE from mandatory to optional\\012--------------------------------------------------------------\\012ALTER TABLE MATERIAL_PROPERTIES ALTER VALUE DROP NOT NULL;\\012\\012-- Creating check constraints\\012\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT VALUE_OR_CVTE_ID CHECK ((value IS NOT NULL and cvte_id IS NULL) or (value IS NULL and cvte_id IS NOT NULL));\\012\\012\\012--------------------------------------------------------------\\012--  Purpose:  Add column COVO_ID to table PROPERTY_TYPES  \\012--------------------------------------------------------------\\012ALTER TABLE PROPERTY_TYPES ADD COVO_ID TECH_ID;\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_COVO_FK FOREIGN KEY (COVO_ID) REFERENCES CONTROLLED_VOCABULARIES(ID);\\012CREATE INDEX PRTY_COVO_FK_I ON PROPERTY_TYPES (COVO_ID);\\012\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Create trigger CONTROLLED_VOCABULARY_CHECK \\012------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION CONTROLLED_VOCABULARY_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   cnt     INTEGER;\\012   v_code  CODE;\\012BEGIN\\012\\012   select code into v_code from data_types where id  = NEW.daty_id;\\012\\012   -- Check if the data is of type "CONTROLLEDVOCABULARY"\\012   if v_code = 'CONTROLLEDVOCABULARY' then\\012      if NEW.covo_id IS NULL then\\012         RAISE EXCEPTION 'Insert/Update of Property Type (Code: %) failed, as its Data Type is CONTROLLEDVOCABULARY, but it is not linked to a Controlled Vocabulary.', NEW.code;\\012      end if;\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012CREATE TRIGGER CONTROLLED_VOCABULARY_CHECK BEFORE INSERT OR UPDATE ON PROPERTY_TYPES\\012    FOR EACH ROW EXECUTE PROCEDURE CONTROLLED_VOCABULARY_CHECK();\\012\\012\\012--====================================\\012-- Deletion of existing objects\\012--====================================\\012\\012drop trigger br001_crtl_plate_chk on samples;\\012drop function br001_crtl_plate_chk();\\012\\012\\012--====================================\\012-- Add Master Data\\012--====================================\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Insert into the table DATA_TYPES\\012--\\012--            Create the data type CONTROLLEDVOCABULARY.\\012-----------------------------------------------------------------------------------\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'CONTROLLEDVOCABULARY'\\012,'Controlled Vocabulary'\\012);\\012\\012--==========================================\\012--\\012--   Data Migration\\012--\\012--==========================================\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Migrate the CONTROL_LAYOUTs from the SAMPLE_INPUTS table \\012--            to the foreign key SAMP_SAMP_FK_CONTROL_LAYOUT in the SAMPLES table\\012--\\012--            This results in having all CONTROL_LAYOUTs being directly linked \\012--            to CELL_PLATEs.            \\012-----------------------------------------------------------------------------------\\012\\012UPDATE samples cell_plate\\012   SET samp_id_control_layout = \\012          (select control_layout.samp_id\\012           from   sample_inputs control_layout inner join samples s \\012           on     control_layout.samp_id = s.id\\012           where  s.saty_id = (select id from sample_types where code = 'CONTROL_LAYOUT')\\012           and    proc_id = (\\012              select  proc_id\\012              from sample_inputs cp\\012              where cp.samp_id = cell_plate.id))\\012   WHERE saty_id = (select id from sample_types where code = 'CELL_PLATE')\\012   and   id = (select distinct (samp_id)\\012                  from   sample_inputs sain inner join samples s2 \\012                  on  sain.samp_id = cell_plate.id)\\012;\\012\\012-----------------------------------------------------------------------------------\\012--   Delete the CONTROL LAYOUTs from the SAMPLE_INPUTS table\\012-----------------------------------------------------------------------------------\\012\\012delete from sample_inputs\\012where  id in (select si.id \\012              from   sample_inputs si inner join samples s \\012              on     si.samp_id = s.id\\012              where  s.saty_id = (select id from sample_types where code = 'CONTROL_LAYOUT')\\012              )\\012;\\012\\012	\N
013	./sql/postgresql/013/function-013.sql	SUCCESS	2008-02-28 13:03:03.319	-- Creating Functions\\012\\012-- Renames the sequence OLD_NAME to NEW_NAME ensuring the NEXTVAL() will return the right value.  \\012CREATE FUNCTION RENAME_SEQUENCE(OLD_NAME VARCHAR, NEW_NAME VARCHAR) RETURNS INTEGER AS $$\\012DECLARE\\012  CURR_SEQ_VAL   INTEGER;\\012BEGIN\\012  SELECT INTO CURR_SEQ_VAL NEXTVAL(OLD_NAME);\\012  EXECUTE 'CREATE SEQUENCE ' || NEW_NAME || ' START WITH ' || CURR_SEQ_VAL;\\012  EXECUTE 'DROP SEQUENCE ' || OLD_NAME;\\012  RETURN CURR_SEQ_VAL;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012-- Creating Triggers\\012\\012CREATE OR REPLACE FUNCTION br001_crtl_plate_chk() RETURNS trigger AS $$\\012DECLARE\\012   cnt           INTEGER;\\012   v_cell_plate  CODE;\\012BEGIN\\012\\012   select code into v_cell_plate from sample_types where id  = NEW.saty_id;\\012\\012   -- Check if the sample is of type "Cell Plate"\\012   if v_cell_plate = 'CELL PLATE' then\\012\\012      -- Check that a Control Plate exists before registering the Cell Plate\\012      select count(*) into cnt from samples s, sample_types st where s.saty_id = st.id and st.code = 'CONTROL LAYOUT';\\011 \\012      IF cnt = 0 THEN\\012\\011\\011 -- Doens't make sense, so comment it out\\012         -- RAISE EXCEPTION 'A Control Plate must exist before you can register Cell Plate: %', NEW.code;\\012      END IF;\\012\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012CREATE TRIGGER br001_crtl_plate_chk BEFORE INSERT ON samples\\012    FOR EACH ROW EXECUTE PROCEDURE br001_crtl_plate_chk();\\012	\N
013	./sql/generic/013/data-013.sql	SUCCESS	2008-02-28 13:03:03.466	----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table PERSONS\\012-----------------------------------------------------------------------\\012\\012insert into persons\\012(id\\012,first_name\\012,last_name\\012,user_id\\012,email)\\012values\\012(nextval('PERSON_ID_SEQ')\\012,''\\012,'System User'\\012,'system'\\012,''\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table MATERIAL_TYPES\\012-----------------------------------------------------------------------\\012\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'VIRUS'\\012,'Virus'\\012);\\012\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'CELL_LINE'\\012,'Cell Line or Cell Culture. The growing of cells under controlled conditions.'\\012);\\012\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'GENE'\\012,'Gene'\\012);\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'OLIGO'\\012,'Oligo nucleotide'\\012);\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'CONTROL'\\012,'Control of a control layout'\\012);\\012\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'BACTERIUM'\\012,'Bacterium'\\012);\\012\\012insert into material_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('MATERIAL_TYPE_ID_SEQ')\\012,'COMPOUND'\\012,'Compound'\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial set MATERIALS of type CONTROL\\012-----------------------------------------------------------------------\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'SCRAM'\\012,(select id from material_types where code = 'CONTROL')\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'GFP'\\012,(select id from material_types where code = 'CONTROL')\\012,(select id from persons where user_id = 'system')\\012);\\012\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial set MATERIALS of type VIRUS\\012-----------------------------------------------------------------------\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'SV40'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Simian Virus 40'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'VSV'\\012,(select id from material_types where code = 'VIRUS') \\012--,'Vesicular Stomatitis Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'SFV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Semliki Forest Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'ROTAV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Rotavirus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'RRV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Rhesus Rotavirus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'HSV1'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Herpes Simplex Virus 1'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'EV1'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Echovirus 1'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'MHV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Mouse Hepatitis Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'FLU'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Influenza A virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'AD3'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Adenovirus 3'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'AD5'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Adenovirus 5'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'VV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Vaccinia Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'YFV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Yellow Fever Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'DV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Dengue Virus 1'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'HRV2'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Human respiratory virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'RV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Rhinovirus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012insert into materials\\012(  id\\012  ,code\\012  ,maty_id\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_ID_SEQ')\\012,'RSV'\\012,(select id from material_types where code = 'VIRUS')\\012--,'Respiratory Syncytial Virus'\\012,(select id from persons where user_id = 'system')\\012);\\012\\012\\012------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table DATA_TYPES\\012------------------------------------------------------------------\\012\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'VARCHAR'\\012,'Variable length character'\\012);\\012\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'INTEGER'\\012,'Integer'\\012);\\012\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'REAL'\\012,'Real number, i.e. an inexact, variable-precision numeric type'\\012);\\012\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'BOOLEAN'\\012,'An enumerated type with values True and False'\\012);\\012\\012insert into data_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('DATA_TYPE_ID_SEQ')\\012,'TIMESTAMP'\\012,'Both date and time. Format: yyyy-mm-dd hh:mm:ss'\\012);\\012\\012\\012\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table PROPERTY_TYPES\\012-----------------------------------------------------------------------\\012\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'DESCRIPTION'\\012,'A Description'\\012,'Description'\\012,(select id from data_types where code ='VARCHAR')\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'GENE_SYMBOL'\\012,'Gene Symbol, e.g. BMP15'\\012,'Gene Symbol'\\012,(select id from data_types where code ='VARCHAR')\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'NUCLEOTIDE_SEQUENCE'\\012,'A sequence of nucleotides'\\012,'Nucleotide Sequence'\\012,(select id from data_types where code ='VARCHAR')\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'REFSEQ'\\012,'NCBI Reference Sequence code, applicable to sequences of type: DNA, RNA, protein'\\012,'RefSeq'\\012,(select id from data_types where code ='VARCHAR')\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'OFFSET'\\012,'Offset from the start of the sequence'\\012,'Offset'\\012,(select id from data_types where code ='INTEGER')\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table MATERIAL_TYPE_PROPERTY_TYPES\\012------------------------------------------------------------------------------------\\012\\012   -----------------------\\012   --  Material Type VIRUS\\012   -----------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'VIRUS')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012   -----------------------\\012   --  Material Type BACTERIUM\\012   -----------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'BACTERIUM')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012   -----------------------\\012   --  Material Type COMPOUND\\012   -----------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'COMPOUND')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012   -----------------------\\012   --  Material Type GENE\\012   -----------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'GENE')\\012   ,(select id from property_types where code = 'GENE_SYMBOL')\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'GENE')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,false\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012\\012   -----------------------\\012   --  Material Type OLIGO\\012   -----------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'OLIGO')\\012   ,(select id from property_types where code = 'NUCLEOTIDE_SEQUENCE')\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'OLIGO')\\012   ,(select id from property_types where code = 'OFFSET')\\012   ,false\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'OLIGO')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,false\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012   -------------------------\\012   --  Material Type CONTROL\\012   -------------------------\\012\\012insert into material_type_property_types\\012(   id\\012   ,maty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('MTPT_ID_SEQ')\\012   ,(select id from material_types where code = 'CONTROL')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,false\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012----------------------------------------------------------------\\012--  Purpose:  Insert the mandatory DESCRIPTION for the materials \\012--            of type VIRUS into the table MATERIAL_PROPERTIES \\012----------------------------------------------------------------\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'SV40')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Simian Virus 40'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012   ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'VSV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Vesicular Stomatitis Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012   ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'SFV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Semliki Forest Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'ROTAV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Rotavirus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'RRV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Rhesus Rotavirus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'HSV1')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Herpes Simplex Virus 1'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'EV1')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Echovirus 1'\\012,(select id from persons where user_id ='system')\\012);\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'MHV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Mouse Hepatitis Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'FLU')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Influenza A virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'AD3')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Adenovirus 3'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'AD5')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Adenovirus 5'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'VV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Vaccinia Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'YFV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Yellow Fever Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'DV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Dengue Virus 1'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'HRV2')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Human respiratory virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'RV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Rhinovirus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012\\012\\012insert into material_properties\\012(  id\\012  ,mate_id\\012  ,mtpt_id\\012  ,value\\012  ,pers_id_registerer\\012  )\\012values \\012(nextval('MATERIAL_PROPERTY_ID_SEQ')\\012,(select mate.id from materials mate, material_types maty where maty.code = 'VIRUS' and mate.code = 'RSV')\\012,(select mtpt.id from material_type_property_types mtpt, material_types mt, property_types pt \\012  where   mt.id   = mtpt.maty_id \\012     and  pt.id   = mtpt.prty_id\\012     and  mt.code = 'VIRUS'\\012     and  pt.code = 'DESCRIPTION')\\012,'Respiratory Syncytial Virus'\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012\\012-------------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table EXPERIMENT_TYPES\\012--------------------------------------------------------------------------\\012\\012insert into experiment_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('EXPERIMENT_TYPE_ID_SEQ')\\012,'SIRNAHCS'\\012,'Small Interfering RNA High Content Screening'\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table PROCEDURE_TYPES\\012-----------------------------------------------------------------------\\012\\012insert into procedure_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('PROCEDURE_TYPE_ID_SEQ')\\012,'DATA_ACQUISITION'\\012,'Data Acquisition'\\012);\\012\\012insert into procedure_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('PROCEDURE_TYPE_ID_SEQ')\\012,'IMAGE_ANALYSIS'\\012,'Image Analysis'\\012);\\012\\012--------------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table OBSERVABLE_TYPES\\012--------------------------------------------------------------------------\\012\\012insert into observable_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('OBSERVABLE_TYPE_ID_SEQ')\\012,'IMAGE'\\012,'Image'\\012);\\012\\012insert into observable_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('OBSERVABLE_TYPE_ID_SEQ')\\012,'IMAGE_ANALYSIS_DATA'\\012,'Data derived from image analysis'\\012);\\012\\012-------------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table FILE_FORMAT_TYPES\\012-------------------------------------------------------------------------\\012\\012insert into file_format_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('FILE_FORMAT_TYPE_ID_SEQ')\\012,'TIFF'\\012,'TIFF File'\\012);\\012\\012insert into file_format_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('FILE_FORMAT_TYPE_ID_SEQ')\\012,'3VPROPRIETARY'\\012,'Data Analysis 3V proprietary format'\\012);\\012\\012insert into file_format_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('FILE_FORMAT_TYPE_ID_SEQ')\\012,'PLKPROPRIETARY'\\012,'Data Analysis Pelkmans group proprietary format'\\012);\\012\\012---------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table LOCATOR_TYPES\\012---------------------------------------------------------------------\\012\\012insert into locator_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('LOCATOR_TYPE_ID_SEQ')\\012,'RELATIVE_LOCATION'\\012,'Relative Location'\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table SAMPLE_TYPES\\012----------------------------------------------------------------------\\012\\012insert into sample_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'MASTER_PLATE'\\012,'Master Plate'\\012);\\012\\012insert into sample_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'DILUTION_PLATE'\\012,'Dilution Plate'\\012);\\012\\012insert into sample_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'CELL_PLATE'\\012,'Cell Plate'\\012);\\012\\012insert into sample_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'REINFECT_PLATE'\\012,'Re-infection Plate'\\012);\\012\\012insert into sample_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'CONTROL_LAYOUT'\\012,'Control layout'\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table ORGANIZATIONS\\012----------------------------------------------------------------------\\012\\012insert into organizations\\012(id\\012,code)\\012values\\012(nextval('ORGANIZATION_ID_SEQ')\\012,'DEFAULT'\\012);\\012\\012insert into organizations\\012(id\\012,code)\\012values\\012(nextval('ORGANIZATION_ID_SEQ')\\012,'3V'\\012);\\012\\012insert into organizations\\012(id\\012,code)\\012values\\012(nextval('ORGANIZATION_ID_SEQ')\\012,'IMSB'\\012);\\012\\012----------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table PROJECTS\\012----------------------------------------------------------------\\012\\012insert into projects\\012(id\\012,code\\012,orga_id)\\012values\\012(nextval('PROJECT_ID_SEQ')\\012,'DEFAULT'\\012,(select id from organizations where code = 'DEFAULT')\\012);\\012\\012	\N
015	./sql/postgresql/migration/migration-014-015.sql	SUCCESS	2008-06-17 16:38:31.048	----------------------------------------------------------------------------------------------\\012--  File: migration-014-015.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 014 to 015.\\012-- \\012--  Update History\\012--\\012--\\012--\\011Who\\011\\011\\011When\\011\\011What\\012--\\011---\\011\\011\\011----\\011\\011----\\012--\\011Charles Ramin-Wright\\0112008-02-19\\011Initial Version \\012--  \\012----------------------------------------------------------------------------------------------\\012\\012--=================================\\012-- New Tables and related objects\\012--=================================\\012\\012------------------------------------------------------------------------------------\\012--\\012--      created table 'SAMPLE_TYPE_PROPERTY_TYPES' to implement entity 'SAMPLE TYPE PROPERTY TYPE'\\012--      created table 'SAMPLE_PROPERTIES' to implement entity 'SAMPLE PROPERTY'\\012--      created table 'EXPERIMENT_TYPE_PROPERTY_TYPES' to implement entity 'EXPERIMENT TYPE PROPERTY TYPE'\\012--      created table 'EXPERIMENT_PROPERTIES' to implement entity 'EXPERIMENT PROPERTY'\\012--\\012--      created primary key 'EXPERIMENT_PROPERTIES.EXPR_PK' for table 'EXPERIMENT_PROPERTIES'\\012--      created unique key 'EXPERIMENT_PROPERTIES.EXPR_BK_UK' for table 'EXPERIMENT_PROPERTIES'\\012--\\012--      created primary key 'EXPERIMENT_TYPE_PROPERTY_TYPES.ETPT_PK' for table 'EXPERIMENT_TYPE_PROPERTY_TYPES'\\012--      created unique key 'EXPERIMENT_TYPE_PROPERTY_TYPES.ETPT_BK_UK' for table 'EXPERIMENT_TYPE_PROPERTY_TYPES'\\012--\\012--      created primary key 'SAMPLE_PROPERTIES.SAPR_PK' for table 'SAMPLE_PROPERTIES'\\012--      created unique key 'SAMPLE_PROPERTIES.SAPR_BK_UK' for table 'SAMPLE_PROPERTIES'\\012--\\012--      created primary key 'SAMPLE_TYPE_PROPERTY_TYPES.STPT_PK' for table 'SAMPLE_TYPE_PROPERTY_TYPES'\\012--      created unique key 'SAMPLE_TYPE_PROPERTY_TYPES.STPT_BK_UK' for table 'SAMPLE_TYPE_PROPERTY_TYPES'\\012------------------------------------------------------------------------------------\\012\\012-- Creating tables\\012\\012CREATE TABLE EXPERIMENT_PROPERTIES (ID TECH_ID NOT NULL,VALUE GENERIC_VALUE,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,EXPE_ID TECH_ID NOT NULL,ETPT_ID TECH_ID NOT NULL,CVTE_ID TECH_ID,PERS_ID_REGISTERER TECH_ID NOT NULL);\\012CREATE TABLE EXPERIMENT_TYPE_PROPERTY_TYPES (ID TECH_ID NOT NULL,EXTY_ID TECH_ID NOT NULL,PRTY_ID TECH_ID NOT NULL,IS_MANDATORY BOOLEAN_CHAR NOT NULL DEFAULT 'F',IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F',PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012CREATE TABLE SAMPLE_PROPERTIES (ID TECH_ID NOT NULL,SAMP_ID TECH_ID NOT NULL,STPT_ID TECH_ID NOT NULL,VALUE GENERIC_VALUE,CVTE_ID TECH_ID,PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012CREATE TABLE SAMPLE_TYPE_PROPERTY_TYPES (ID TECH_ID NOT NULL,SATY_ID TECH_ID NOT NULL,PRTY_ID TECH_ID NOT NULL,IS_MANDATORY BOOLEAN_CHAR NOT NULL DEFAULT 'F',IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F',PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012\\012-- Creating primary key constraints\\012\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_PK PRIMARY KEY(ID);\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ADD CONSTRAINT ETPT_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_PK PRIMARY KEY(ID);\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD CONSTRAINT STPT_PK PRIMARY KEY(ID);\\012\\012-- Creating unique constraints\\012\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_BK_UK UNIQUE(EXPE_ID,ETPT_ID);\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ADD CONSTRAINT ETPT_BK_UK UNIQUE(EXTY_ID,PRTY_ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_BK_UK UNIQUE(SAMP_ID,STPT_ID);\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD CONSTRAINT STPT_BK_UK UNIQUE(SATY_ID,PRTY_ID);\\012\\012-- Creating foreign key constraints\\012\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_CVTE_FK FOREIGN KEY (CVTE_ID) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_ETPT_FK FOREIGN KEY (ETPT_ID) REFERENCES EXPERIMENT_TYPE_PROPERTY_TYPES(ID) ON DELETE CASCADE;\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_EXPE_FK FOREIGN KEY (EXPE_ID) REFERENCES EXPERIMENTS(ID);\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ADD CONSTRAINT ETPT_EXTY_FK FOREIGN KEY (EXTY_ID) REFERENCES EXPERIMENT_TYPES(ID);\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ADD CONSTRAINT ETPT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ADD CONSTRAINT ETPT_PRTY_FK FOREIGN KEY (PRTY_ID) REFERENCES PROPERTY_TYPES(ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_CVTE_FK FOREIGN KEY (CVTE_ID) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_SAMP_FK FOREIGN KEY (SAMP_ID) REFERENCES SAMPLES(ID);\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_STPT_FK FOREIGN KEY (STPT_ID) REFERENCES SAMPLE_TYPE_PROPERTY_TYPES(ID) ON DELETE CASCADE;\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD CONSTRAINT STPT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD CONSTRAINT STPT_PRTY_FK FOREIGN KEY (PRTY_ID) REFERENCES PROPERTY_TYPES(ID);\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD CONSTRAINT STPT_SATY_FK FOREIGN KEY (SATY_ID) REFERENCES SAMPLE_TYPES(ID);\\012\\012-- Creating check constraints\\012\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_CK CHECK ((VALUE IS NOT NULL AND CVTE_ID IS NULL) OR (VALUE IS NULL AND CVTE_ID IS NOT NULL));\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_CK CHECK ((VALUE IS NOT NULL AND CVTE_ID IS NULL) OR (VALUE IS NULL AND CVTE_ID IS NOT NULL));\\012\\012\\012-- Creating sequences\\012\\012CREATE SEQUENCE ETPT_ID_SEQ;\\012CREATE SEQUENCE EXPERIMENT_PROPERTY_ID_SEQ;\\012CREATE SEQUENCE SAMPLE_PROPERTY_ID_SEQ;\\012CREATE SEQUENCE STPT_ID_SEQ;\\012\\012\\012-- Creating indexes\\012\\012CREATE INDEX ETPT_EXTY_FK_I ON EXPERIMENT_TYPE_PROPERTY_TYPES (EXTY_ID);\\012CREATE INDEX ETPT_PERS_FK_I ON EXPERIMENT_TYPE_PROPERTY_TYPES (PERS_ID_REGISTERER);\\012CREATE INDEX ETPT_PRTY_FK_I ON EXPERIMENT_TYPE_PROPERTY_TYPES (PRTY_ID);\\012CREATE INDEX EXPR_CVTE_FK_I ON EXPERIMENT_PROPERTIES (CVTE_ID);\\012CREATE INDEX EXPR_ETPT_FK_I ON EXPERIMENT_PROPERTIES (ETPT_ID);\\012CREATE INDEX EXPR_EXPE_FK_I ON EXPERIMENT_PROPERTIES (EXPE_ID);\\012CREATE INDEX EXPR_PERS_FK_I ON EXPERIMENT_PROPERTIES (PERS_ID_REGISTERER);\\012CREATE INDEX SAPR_CVTE_FK_I ON SAMPLE_PROPERTIES (CVTE_ID);\\012CREATE INDEX SAPR_PERS_FK_I ON SAMPLE_PROPERTIES (PERS_ID_REGISTERER);\\012CREATE INDEX SAPR_SAMP_FK_I ON SAMPLE_PROPERTIES (SAMP_ID);\\012CREATE INDEX SAPR_STPT_FK_I ON SAMPLE_PROPERTIES (STPT_ID);\\012CREATE INDEX STPT_PERS_FK_I ON SAMPLE_TYPE_PROPERTY_TYPES (PERS_ID_REGISTERER);\\012CREATE INDEX STPT_PRTY_FK_I ON SAMPLE_TYPE_PROPERTY_TYPES (PRTY_ID);\\012CREATE INDEX STPT_SATY_FK_I ON SAMPLE_TYPE_PROPERTY_TYPES (SATY_ID);\\012\\012\\012\\012--====================================\\012-- Modifications of existing objects\\012--====================================\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add column IS_MANAGED_INTERNALLY to table MATERIAL_TYPE_PROPERTY_TYPES in order \\012--- to allow internally managed material properties.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ADD IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Drop PERS_ID for PROCEDURES\\012------------------------------------------------------------------------------------\\012\\012alter table procedures drop column pers_id;\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Rename PERS_ID into PERS_ID_REGISTERER for CONTROLLED_VOCABULARIES \\012--  and CONTROLLED_VOCABULARY_TERMS\\012------------------------------------------------------------------------------------\\012\\012alter table controlled_vocabularies rename column pers_id to pers_id_registerer;\\012alter table controlled_vocabulary_terms rename column pers_id to pers_id_registerer; \\012\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Rename the check constraint from VALUE_OR_CVTE_ID to MAPR_CK of table MATERIAL_PROPERTIES\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE MATERIAL_PROPERTIES DROP CONSTRAINT VALUE_OR_CVTE_ID;\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_CK CHECK ((VALUE IS NOT NULL AND CVTE_ID IS NULL) OR (VALUE IS NULL AND CVTE_ID IS NOT NULL));\\012\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add the column IS_MANAGED_INTERNALLY to the CONTROLLED_VOCABULARIES table \\012---------------------------------------------------------------------------------------------------\\012alter table controlled_vocabularies add is_managed_internally boolean_char NOT NULL DEFAULT 'F';\\012\\012--====================================\\012-- Add Master Data\\012--====================================\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create Controlled Vocabulary PLATE_GEOMETRY\\012-----------------------------------------------------------------------------------\\012insert into controlled_vocabularies \\012       ( id\\012       , code\\012       , description\\012       , pers_id_registerer\\012       , is_managed_internally )\\012values  (nextval('CONTROLLED_VOCABULARY_ID_SEQ')\\012       , 'PLATE_GEOMETRY'\\012       , 'The geometry or dimensions of a plate'\\012       , (select id from persons where user_id ='system')\\012       , true);\\012\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create Controlled Vocabulary Terms for PLATE_GEOMETRY\\012-----------------------------------------------------------------------------------\\012insert into controlled_vocabulary_terms \\012       ( id\\012       , code\\012       , covo_id \\012       , pers_id_registerer)\\012values  (nextval('CVTE_ID_SEQ')\\012       , '384_WELLS_16X24'\\012       , (select id from controlled_vocabularies where code ='PLATE_GEOMETRY')\\012       , (select id from persons where user_id ='system'));\\012\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create property type PLATE_GEOMETRY\\012-----------------------------------------------------------------------------------\\012insert into property_types\\012(id\\012,code\\012,description\\012,label\\012,daty_id\\012,covo_id\\012,pers_id_registerer)\\012values \\012(nextval('PROPERTY_TYPE_ID_SEQ')\\012,'PLATE_GEOMETRY'\\012,'Plate Geometry'\\012,'Plate Geometry'\\012,(select id from data_types where code ='CONTROLLEDVOCABULARY')\\012,(select id from controlled_vocabularies where code ='PLATE_GEOMETRY')\\012,(select id from persons where user_id ='system')\\012);\\012\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Insert an initial data set into the table SAMPLE_TYPE_PROPERTY_TYPES\\012------------------------------------------------------------------------------------\\012\\012   ---------------------------------\\012   --  Sample Type   MASTER_PLATE\\012   --  Property Type PLATE_GEOMETRY   \\012   ---------------------------------\\012\\012insert into sample_type_property_types\\012(   id\\012   ,saty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,is_managed_internally\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('STPT_ID_SEQ')\\012   ,(select id from sample_types where code = 'MASTER_PLATE')\\012   ,(select id from property_types where code = 'PLATE_GEOMETRY')\\012   ,true\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012   ---------------------------------\\012   --  Sample Type   CONTROL_LAYOUT\\012   --  Property Type PLATE_GEOMETRY   \\012   ---------------------------------\\012\\012insert into sample_type_property_types\\012(   id\\012   ,saty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,is_managed_internally\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('STPT_ID_SEQ')\\012   ,(select id from sample_types where code = 'CONTROL_LAYOUT')\\012   ,(select id from property_types where code = 'PLATE_GEOMETRY')\\012   ,true\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012\\012--==========================================\\012--\\012--   Data Migration\\012--\\012--==========================================\\012\\012---------------------------------------------------------------------------------\\012--  As the 2 new sample_type_property_types records were defined to be mandatory,\\012--  then there must be a corresponding SAMPLE_PROPERTIES record\\012--  for each existing SAMPLES record. \\012--\\012--  Given the current knowledge of the data to be migrated, the following value\\012--  is used for each Sample Property:\\012--\\012--  Linked to the controlled vocabulary term 384_WELLS_16X24\\012--  of the controlled vocabulary PLATE_GEOMETRY.\\012---------------------------------------------------------------------------------\\012\\012insert into sample_properties\\012     ( id\\012     , samp_id\\012     , stpt_id\\012     , cvte_id\\012     , pers_id_registerer)\\012select nextval('SAMPLE_PROPERTY_ID_SEQ')\\012     , samp.id\\012     , stpt.id\\012     , cvte.id\\012     , (select id from persons where user_id ='system')\\012from sample_types saty\\012, sample_type_property_types stpt\\012, property_types prty\\012, controlled_vocabularies covo\\012, controlled_vocabulary_terms cvte\\012, samples samp\\012where saty.id = stpt.saty_id\\012and   stpt.prty_id = prty.id\\012and   prty.covo_id = covo.id \\012and   covo.id = cvte.covo_id \\012and   saty.id = samp.saty_id\\012and   (saty.code = 'MASTER_PLATE' or saty.code = 'CONTROL_LAYOUT')\\012and   prty.code = 'PLATE_GEOMETRY'\\012and   cvte.code = '384_WELLS_16X24' ;\\012	\N
016	./sql/postgresql/migration/migration-015-016.sql	SUCCESS	2008-06-17 16:38:48.88	----------------------------------------------------------------------------------------------\\012--  File: migration-015-016.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 015 to 016.\\012-- \\012--  Update History\\012--\\012--\\012--\\011Who\\011\\011\\011When\\011\\011What\\012--\\011---\\011\\011\\011----\\011\\011----\\012--\\011Bernd Rinn\\0112008-03-22\\011Initial Version \\012--  \\012----------------------------------------------------------------------------------------------\\012\\012\\012--=================================\\012-- New Domains\\012--=================================\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Change all CODE columns to LONG_CODE, then re-create DOMAIN CODE identical to LONG_CODE\\012--  and change LONG_CODE columns back to the (new) CODE \\012-----------------------------------------------------------------------------------\\012\\012-- First step: create new domain LONG_CODE\\012CREATE DOMAIN LONG_CODE AS VARCHAR(40);\\012\\012-- Second step: change all CODE to LONG_CODE\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE DATA_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE EXPERIMENT_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE FILE_FORMAT_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE LOCATOR_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE MATERIALS ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE MATERIAL_BATCHES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE MATERIAL_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE OBSERVABLE_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE ORGANIZATIONS ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE PROCEDURE_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE PROJECTS ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE SAMPLES ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE SAMPLE_COMPONENTS ALTER COLUMN CODE TYPE LONG_CODE;\\012ALTER TABLE SAMPLE_TYPES ALTER COLUMN CODE TYPE LONG_CODE;\\012\\012-- Third step: re-create CODE as VARCHAR(40)\\012DROP DOMAIN CODE;\\012CREATE DOMAIN CODE AS VARCHAR(40);\\012\\012-- Forth step: change all LONG_CODE columns back to CODE\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE DATA_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE EXPERIMENT_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE FILE_FORMAT_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE LOCATOR_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE MATERIALS ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE MATERIAL_BATCHES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE MATERIAL_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE OBSERVABLE_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE ORGANIZATIONS ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE PROCEDURE_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE PROJECTS ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE SAMPLES ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE SAMPLE_COMPONENTS ALTER COLUMN CODE TYPE CODE;\\012ALTER TABLE SAMPLE_TYPES ALTER COLUMN CODE TYPE CODE;\\012\\012-- Fifth step: drop domain LONG_CODE\\012DROP DOMAIN LONG_CODE;\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create new domain TIME_STAMP_DFL and change current users of TIME_STAMP to TIME_STAMP_DFL\\012--  This adds time zone information and allows for a clean separation between registration time stamps\\012--  which should have a default of CURRENT_TIMESTAMP and other time stamps which should not. \\012-----------------------------------------------------------------------------------\\012\\012-- First step: create new domain TIME_STAMP_DFL\\012CREATE DOMAIN TIME_STAMP_DFL AS TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT CURRENT_TIMESTAMP;\\012\\012-- Second step: change all TIME_STAMP columns to TIME_STAMP_DFL\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE CONTROLLED_VOCABULARY_TERMS ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE DATA ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE DATA ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE DATA ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE EXPERIMENT_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE EXPERIMENT_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE EXPERIMENT_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE EXPERIMENT_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE INVALIDATIONS ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE INVALIDATIONS ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE INVALIDATIONS ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE MATERIALS ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE MATERIALS ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE MATERIALS ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE MATERIAL_BATCHES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE MATERIAL_BATCHES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE MATERIAL_BATCHES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE MATERIAL_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE MATERIAL_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE MATERIAL_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE MATERIAL_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE PROCEDURES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE PROCEDURES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE PROCEDURES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE SAMPLES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE SAMPLES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE SAMPLES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE SAMPLE_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE SAMPLE_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE SAMPLE_PROPERTIES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP TYPE TIME_STAMP_DFL;\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP NOT NULL;\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ALTER COLUMN REGISTRATION_TIMESTAMP DROP DEFAULT;\\012\\012-- Third step: drop old domain TIME_STAMP\\012DROP DOMAIN TIME_STAMP;\\012\\012-- Forth step: create new domain time_stamp\\012CREATE DOMAIN TIME_STAMP AS TIMESTAMP WITH TIME ZONE;\\012\\012--=================================\\012-- New Tables and related objects\\012--=================================\\012\\012------------------------------------------------------------------------------------\\012-- table DATA_SET_RELATIONSHIPS (new)\\012------------------------------------------------------------------------------------\\012\\012-- Creating tables\\012\\012CREATE TABLE DATA_SET_RELATIONSHIPS (ID TECH_ID NOT NULL,DATA_ID_PARENT TECH_ID NOT NULL,DATA_ID_CHILD TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL);\\012\\012-- Creating primary key constraints\\012\\012ALTER TABLE DATA_SET_RELATIONSHIPS ADD CONSTRAINT DSRE_PK PRIMARY KEY(ID);\\012\\012-- Creating unique constraints\\012\\012ALTER TABLE DATA_SET_RELATIONSHIPS ADD CONSTRAINT DSRE_BK_UK UNIQUE(DATA_ID_CHILD,DATA_ID_PARENT);\\012\\012-- Creating foreign key constraints\\012\\012ALTER TABLE DATA_SET_RELATIONSHIPS ADD CONSTRAINT DSRE_DATA_FK_CHILD FOREIGN KEY (DATA_ID_CHILD) REFERENCES DATA(ID);\\012ALTER TABLE DATA_SET_RELATIONSHIPS ADD CONSTRAINT DSRE_DATA_FK_PARENT FOREIGN KEY (DATA_ID_PARENT) REFERENCES DATA(ID);\\012\\012-- Creating sequences\\012\\012CREATE SEQUENCE DATA_SET_RELATIONSHIP_ID_SEQ;\\012\\012-- Creating indexes\\012\\012CREATE INDEX DSRE_DATA_FK_I_CHILD ON DATA_SET_RELATIONSHIPS (DATA_ID_CHILD);\\012CREATE INDEX DSRE_DATA_FK_I_PARENT ON DATA_SET_RELATIONSHIPS (DATA_ID_PARENT);\\012\\012--====================================\\012-- Drop Tables and related objects\\012--====================================\\012\\012------------------------------------------------------------------------------------\\012-- table DATA_VALUES (deleted)\\012------------------------------------------------------------------------------------\\012\\012-- Delete constraints\\012\\012ALTER TABLE DATA_VALUES DROP CONSTRAINT DAVA_PK;\\012ALTER TABLE DATA_VALUES DROP CONSTRAINT DAVA_BK_UK;\\012ALTER TABLE DATA_VALUES DROP CONSTRAINT DAVA_DATA_FK;\\012ALTER TABLE DATA_VALUES DROP CONSTRAINT DAVA_SACO_FK;\\012\\012-- Delete indices\\012\\012DROP INDEX DAVA_DATA_FK_I;\\012DROP INDEX DAVA_SACO_FK_I;\\012\\012-- Delete sequences\\012\\012DROP SEQUENCE DATA_VALUE_ID_SEQ;\\012\\012-- Delete tables\\012\\012DROP TABLE DATA_VALUES;\\012\\012--====================================\\012-- Modifications of existing objects\\012--====================================\\012\\012------------------------------------------------------------------------------------\\012-- table ORGANIZATIONS (changed)\\012-- * rename to GROUPS\\012--\\012-- table DATA (changed)\\012-- * rename column PROC_ID_ACQUIRED_BY into: PROC_ID_PRODUCED_BY\\012-- * add columns:\\012-- ** IS_PLACEHOLDER BOOLEAN_CHAR\\012-- ** CODE CODE\\012-- ** DATA_PRODUCER_CODE CODE\\012-- ** PRODUCTION_TIMESTAMP TIME_STAMP\\012--\\012-- table EXTERNAL_DATA (changed)\\012-- * add column:\\012-- ** CVTE_ID_STOR_FMT TECH_ID NOT NULL\\012--\\012-- table PROPERTY_TYPES (changed)\\012-- * add column IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F'\\012-- * add unique constraint PRTY_BK_UK_LBL for column LABEL\\012--\\012-- tables EXPERIMENT_TYPE_PROPERTY_TYPES, MATERIAL_TYPE_PROPERTY_TYPES, SAMPLE_TYPE_PROPERTY_TYPES\\012-- * make the assignments of property types DESCRIPTION, NUCLEOTIDE_SEQUENCE, OFFSET and GENE_SYMBOL \\012--   to material types internally managed \\012--\\012-- table PROCEDURE_TYPES (changed)\\012-- * add column IS_DATA_ACQUISITION BOOLEAN_CHAR NOT NULL DEFAULT 'F'.\\012--\\012-- all tables\\012-- * convert all codes to upper case\\012------------------------------------------------------------------------------------\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Rename table ORGANIZATIONS to GROUPS.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE PROJECTS DROP CONSTRAINT PROJ_ORGA_FK;\\012ALTER TABLE ORGANIZATIONS DROP CONSTRAINT ORGA_BK_UK;\\012ALTER TABLE ORGANIZATIONS DROP CONSTRAINT ORGA_PK;\\012ALTER TABLE ORGANIZATIONS RENAME TO GROUPS;\\012ALTER INDEX PROJ_ORGA_FK_I RENAME TO PROJ_GROU_FK_I;\\012select RENAME_SEQUENCE('ORGANIZATION_ID_SEQ', 'GROUP_ID_SEQ');\\012ALTER TABLE PROJECTS RENAME COLUMN ORGA_ID TO GROU_ID;\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_PK PRIMARY KEY(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_BK_UK UNIQUE(CODE);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_GROU_FK FOREIGN KEY (GROU_ID) REFERENCES GROUPS(ID);\\012\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add columnd IS_PLACEHOLDER of table DATA.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE DATA ADD COLUMN IS_PLACEHOLDER BOOLEAN_CHAR NOT NULL;\\012\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add and populate column CODE of table DATA.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE DATA ADD COLUMN CODE CODE;\\012\\012CREATE OR REPLACE FUNCTION populate_data_codes() RETURNS integer AS $$\\012DECLARE\\012    rec RECORD;\\012BEGIN\\012    FOR rec IN SELECT * FROM data LOOP\\012        rec.code := to_char(rec.registration_timestamp, 'YYYYMMDDHH24MISSMS') || '-' || to_char(rec.id, 'FM99999999999999999999');\\012        update data set code=rec.code where id=rec.id;\\012    END LOOP;\\012    RETURN 1;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012SELECT populate_data_codes();\\012DROP FUNCTION populate_data_codes();\\012\\012ALTER TABLE DATA ALTER COLUMN CODE SET NOT NULL;\\012ALTER TABLE DATA ADD CONSTRAINT DATA_BK_UK UNIQUE(CODE);\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add and populate columns CVTE_ID_STOR_FMT.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE EXTERNAL_DATA ADD COLUMN CVTE_ID_STOR_FMT TECH_ID;\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_STOR_FMT_FK FOREIGN KEY (CVTE_ID_STOR_FMT) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Create trigger EXTERNAL_DATA_STORAGE_FORMAT_CHECK \\012------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION EXTERNAL_DATA_STORAGE_FORMAT_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_covo_code  CODE;\\012BEGIN\\012\\012   select code into v_covo_code from controlled_vocabularies\\012      where id = (select covo_id from controlled_vocabulary_terms where id = NEW.cvte_id_stor_fmt);\\012\\012   -- Check if the data storage format is a term of the controlled vocabulary "STORAGE_FORMAT"\\012   if v_covo_code != '.STORAGE_FORMAT' then\\012      RAISE EXCEPTION 'Insert/Update of Data (Code: %) failed, as its Storage Format is %, but is required to be STORAGE_FORMAT.', NEW.code, v_covo_code;\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER EXTERNAL_DATA_STORAGE_FORMAT_CHECK BEFORE INSERT OR UPDATE ON EXTERNAL_DATA\\012    FOR EACH ROW EXECUTE PROCEDURE EXTERNAL_DATA_STORAGE_FORMAT_CHECK();\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create Controlled Vocabulary .STORAGE_FORMAT\\012-----------------------------------------------------------------------------------\\012insert into controlled_vocabularies \\012       ( id\\012       , code\\012       , description\\012       , pers_id_registerer\\012       , is_managed_internally )\\012values  (nextval('CONTROLLED_VOCABULARY_ID_SEQ')\\012       , '.STORAGE_FORMAT'\\012       , 'The on-disk storage format of a data set'\\012       , (select id from persons where user_id ='system')\\012       , true);\\012\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Create Controlled Vocabulary Terms for STORAGE_FORMAT\\012-----------------------------------------------------------------------------------\\012insert into controlled_vocabulary_terms \\012       ( id\\012       , code\\012       , covo_id \\012       , pers_id_registerer )\\012values  (nextval('CVTE_ID_SEQ')\\012       , 'PROPRIETARY'\\012       , (select id from controlled_vocabularies where code = '.STORAGE_FORMAT')\\012       , (select id from persons where user_id ='system'));\\012\\012insert into controlled_vocabulary_terms \\012       ( id\\012       , code\\012       , covo_id \\012       , pers_id_registerer )\\012values  (nextval('CVTE_ID_SEQ')\\012       , 'BDS_DIRECTORY'\\012       , (select id from controlled_vocabularies where code = '.STORAGE_FORMAT')\\012       , (select id from persons where user_id ='system'));\\012\\012\\012--------------------------------------------------------------------------\\012--  Purpose:  Insert an entry for OBSERVABLE_TYPE UNKNOWN\\012--------------------------------------------------------------------------\\012\\012insert into observable_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('OBSERVABLE_TYPE_ID_SEQ')\\012,'UNKNOWN'\\012,'Unknown'\\012);\\012\\012----------------------------------------------------------------------\\012--  Purpose:  Insert an entry for PROCEDURE_TYPE UNKNOWN\\012-----------------------------------------------------------------------\\012\\012insert into procedure_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('PROCEDURE_TYPE_ID_SEQ')\\012,'UNKNOWN'\\012,'Unknown'\\012);\\012\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Populate external_data.cvte_id_stor_fmt with a default value.\\012---------------------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION polulate_external_data_cvte_id_stor_fmt() RETURNS integer AS $$\\012DECLARE\\012    rec RECORD;\\012    dfl_stor_fmt_code VARCHAR := 'PROPRIETARY';\\012    dfl_stor_fmt_id TECH_ID;\\012BEGIN\\012    select cvte.id into dfl_stor_fmt_id from controlled_vocabulary_terms cvte, controlled_vocabularies cv \\012        where cvte.code = dfl_stor_fmt_code and cvte.covo_id = cv.id and cv.code = '.STORAGE_FORMAT'; \\012    update external_data set cvte_id_stor_fmt = dfl_stor_fmt_id;\\012    RETURN 1;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012SELECT polulate_external_data_cvte_id_stor_fmt();\\012DROP FUNCTION polulate_external_data_cvte_id_stor_fmt();\\012\\012-- Now that the field is populated, create the not null constraint for it.\\012\\012ALTER TABLE EXTERNAL_DATA ALTER COLUMN CVTE_ID_STOR_FMT SET NOT NULL;\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add and populate columns DATA_PRODUCER_CODE and PRODUCTION_TIMESTAMP to table DATA.\\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE DATA ADD COLUMN DATA_PRODUCER_CODE CODE;\\012ALTER TABLE DATA ADD COLUMN PRODUCTION_TIMESTAMP TIME_STAMP;\\012\\012CREATE OR REPLACE FUNCTION populate_data_producer_code_and_production_timestamp() RETURNS integer AS $$\\012DECLARE\\012    rec RECORD;\\012    loty_rel_code VARCHAR := 'RELATIVE_LOCATION';\\012    loty_rel_id TECH_ID;\\012    meas_ts TIMESTAMP;\\012    ds_code CODE;\\012    meas_ts_str TEXT;\\012BEGIN\\012    select id into loty_rel_id from locator_types where code = loty_rel_code; \\012    FOR rec IN SELECT d.id, ed.location FROM data d, external_data ed where d.id = ed.data_id and ed.loty_id = loty_rel_id LOOP\\012        meas_ts_str = substring(rec.location from '^.*/([0-9]{14})_[^_]+_(.*)$');\\012        ds_code := substring(rec.location from '^.*/[0-9]{14}_([^_]+)_(.*)$');\\012        IF meas_ts_str is not null and ds_code is not null THEN\\012            meas_ts := to_timestamp(meas_ts_str, 'YYYYMMDDHH24MISS');\\012            update data set production_timestamp=meas_ts, data_producer_code=ds_code where id=rec.id;\\012        END IF;\\012    END LOOP;\\012    RETURN 1;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012SELECT populate_data_producer_code_and_production_timestamp();\\012DROP FUNCTION populate_data_producer_code_and_production_timestamp();\\012\\012-- Rename columns\\012\\012ALTER TABLE DATA RENAME COLUMN PROC_ID_ACQUIRED_BY to PROC_ID_PRODUCED_BY;\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Populate table DATA_SET_RELATIONSHIPS, by using heuristics.\\012---------------------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION abs_interval(ts1 time_stamp_dfl, ts2 time_stamp_dfl) returns interval AS $$\\012BEGIN\\012    IF ts1 < ts2 THEN\\012        RETURN ts2 - ts1;\\012    ELSE\\012        RETURN ts1 - ts2;\\012    END IF;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE OR REPLACE FUNCTION populate_data_set_relationships() RETURNS INTEGER AS $$\\012DECLARE\\012    source_id TECH_ID;\\012    rec_derived RECORD;\\012    rec_acquired RECORD;\\012    rel_location TEXT;\\012    data_set_code TEXT;\\012    data_set_code_trial TEXT;\\012    loty_rel_code TEXT := 'RELATIVE_LOCATION';\\012    loty_rel_id TECH_ID;\\012    count INTEGER := 0;\\012BEGIN\\012    select id into loty_rel_id from locator_types where code = loty_rel_code;\\012    FOR rec_derived IN select id, samp_id_derived_from, registration_timestamp from data where samp_id_derived_from is not null LOOP\\012        source_id := NULL;\\012        select location into rel_location from external_data where data_id = rec_derived.id and loty_id = loty_rel_id;\\012        IF rel_location is not null then\\012            data_set_code := substring(rel_location from '^.*/([0-9]{14}_[^_]+)_.*$');\\012            IF data_set_code is not null THEN\\012                FOR rec_acquired IN select id, samp_id_acquired_from from data where samp_id_acquired_from = rec_derived.samp_id_derived_from LOOP\\012                    select location into rel_location from external_data where data_id = rec_acquired.id and loty_id = loty_rel_id;\\012                    IF rel_location is not null THEN\\012                        data_set_code_trial := substring(rel_location from '^.*/([0-9]{14}_[^_]+)_.*$');\\012                        IF data_set_code_trial = data_set_code THEN\\012                            source_id = rec_acquired.id;\\012                            EXIT;\\012                        END IF;\\012                    END IF;\\012                END LOOP;\\012            END IF;\\012        END IF;\\012        -- If the location didn't tell us about data set relationships, try the backup strategy.\\012        IF source_id is null THEN\\012            -- Use the measured data set as source that is closest in registration timestamp.\\012            select id into source_id from data where samp_id_acquired_from = rec_derived.samp_id_derived_from \\012                and abs_interval(registration_timestamp, rec_derived.registration_timestamp) \\012                    = (select min(abs_interval(registration_timestamp, rec_derived.registration_timestamp)) \\012                        from data where samp_id_acquired_from = rec_derived.samp_id_derived_from);\\012        END IF;\\012        IF source_id is not null THEN\\012            insert into data_set_relationships (id, data_id_parent, data_id_child)\\012                values (nextval('DATA_SET_RELATIONSHIP_ID_SEQ'), source_id, rec_derived.id);\\012            count := count + 1;\\012        END IF;\\012    END LOOP;\\012    RETURN count;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012SELECT populate_data_set_relationships();\\012DROP FUNCTION populate_data_set_relationships();\\012DROP FUNCTION abs_interval(time_stamp_dfl, time_stamp_dfl);\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add column IS_MANAGED_INTERNALLY to table PROPERTY_TYPES. Internally managed \\012--  properties can not be assigned by users of openBIS, but only by the system. \\012---------------------------------------------------------------------------------------------------\\012\\012ALTER TABLE PROPERTY_TYPES ADD COLUMN IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012\\012-- Update already existing property type PLATE_GEOMETRY\\012update property_types set is_managed_internally = true, code = '.' || code where code = 'PLATE_GEOMETRY';\\012\\012-- Update already existing controlled vocabulary PLATE_GEOMETRY \\012update controlled_vocabularies set code = '.' || code where code = 'PLATE_GEOMETRY';\\012\\012---------------------------------------------------------------------------------------------------\\012--  Purpose:  Add unique constraint on column LABEL. \\012---------------------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION make_prty_labels_unique() RETURNS INTEGER AS $$\\012DECLARE\\012    prev_key TEXT := NULL;\\012    this_key TEXT;\\012    dup_count INTEGER;\\012    cnt INTEGER := 0;\\012    already_exists INTEGER;\\012    new_label TEXT;\\012    this_id TECH_ID;\\012BEGIN\\012    FOR this_id, this_key IN select id, label from property_types order by label,id LOOP\\012        IF this_key = prev_key THEN\\012            dup_count := dup_count + 1;\\012            cnt := cnt + 1;\\012        ELSE\\012            dup_count := 0;\\012        END IF;\\012        IF dup_count > 0 THEN\\012            -- Check whether the new key already exists.\\012            LOOP\\012                new_label := this_key || '(' || dup_count::text || ')';\\012                select count(*) into already_exists from property_types where label = new_label;\\012                IF already_exists = 0 THEN\\012                    EXIT;\\012                END IF;\\012                dup_count := dup_count + 1;\\012            END LOOP;\\012            update property_types set label = new_label where id = this_id;\\012        END IF;\\012        prev_key := this_key;\\012    END LOOP;\\012    RETURN cnt;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012SELECT make_prty_labels_unique();\\012DROP FUNCTION make_prty_labels_unique();\\012\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_BK_UK_LBL UNIQUE(LABEL);\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Add Controlled Vocabulary Terms to PLATE_GEOMETRY\\012-----------------------------------------------------------------------------------\\012\\012insert into controlled_vocabulary_terms \\012       ( id\\012       , code\\012       , covo_id \\012       , pers_id_registerer)\\012values  (nextval('CVTE_ID_SEQ')\\012       , '96_WELLS_8X12'\\012       , (select id from controlled_vocabularies where code = '.PLATE_GEOMETRY')\\012       , (select id from persons where user_id = 'system'));\\012\\012insert into controlled_vocabulary_terms \\012       ( id\\012       , code\\012       , covo_id \\012       , pers_id_registerer)\\012values  (nextval('CVTE_ID_SEQ')\\012       , '1536_WELLS_32X48'\\012       , (select id from controlled_vocabularies where code = '.PLATE_GEOMETRY')\\012       , (select id from persons where user_id = 'system'));\\012\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Rename Observable Types: IMAGE -> HCS_IMAGE, IMAGE_ANALYSIS_DATA -> HCS_IMAGE_ANALYSIS_DATA\\012--  and descriptions accordingly\\012-----------------------------------------------------------------------------------\\012\\012update observable_types set code = 'HCS_IMAGE', description = 'Data derived from analysis of HCS images' where code = 'IMAGE';\\012update observable_types set code = 'HCS_IMAGE_ANALYSIS_DATA', description = 'Data derived from analysis of HCS images' where code = 'IMAGE_ANALYSIS_DATA';\\012\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose: Make the assignments of property types DESCRIPTION, NUCLEOTIDE_SEQUENCE, OFFSET \\012--  and GENE_SYMBOL to material types internally managed. \\012-----------------------------------------------------------------------------------\\012\\012update material_type_property_types set is_managed_internally = true\\012    where prty_id in (select id from property_types where code = 'DESCRIPTION' \\012        or code = 'NUCLEOTIDE_SEQUENCE' or code = 'OFFSET' or code = 'GENE_SYMBOL');\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose: Add column IS_DATA_ACQUISITION BOOLEAN_CHAR NOT NULL DEFAULT 'F' to table PROCEDURE_TYPES.\\012-----------------------------------------------------------------------------------\\012\\012ALTER TABLE PROCEDURE_TYPES ADD COLUMN IS_DATA_ACQUISITION BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012\\012-- Set the new attribute for procedure type DATA_ACQUISITION\\012update procedure_types set is_data_acquisition = true where code = 'DATA_ACQUISITION';\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose: Convert all codes to upper case. \\012-----------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION column_to_uppercase_fix_duplicates(tbl TEXT, clm TEXT) RETURNS INTEGER AS $$\\012DECLARE\\012    prev_key TEXT := NULL;\\012    this_key TEXT;\\012    dup_count INTEGER;\\012    count INTEGER := 0;\\012    already_exists INTEGER;\\012    new_clm TEXT;\\012BEGIN\\012    FOR this_key IN EXECUTE 'select ' || clm || ' from ' || tbl \\012        || ' order by upper(' || clm || '),id' LOOP\\012        IF upper(this_key) = upper(prev_key) THEN\\012            dup_count := dup_count + 1;\\012            count := count + 1;\\012        ELSE\\012            dup_count := 0;\\012        END IF;\\012        IF dup_count > 0 THEN\\012            -- Check whether the new key already exists.\\012            LOOP\\012                new_clm := this_key || '(' || dup_count::text || ')';\\012                EXECUTE 'select count(*) from ' || tbl \\012                    || ' where upper(' || clm || ') = ' || quote_literal(upper(new_clm)) \\012                    into already_exists;\\012                IF already_exists = 0 THEN\\012                    EXIT;\\012                END IF;\\012                dup_count := dup_count + 1;\\012            END LOOP;\\012            EXECUTE 'update ' || tbl || ' set ' || clm || ' = ' || quote_literal(new_clm) || \\012                ' where ' || clm || ' = ' || quote_literal(this_key);\\012        END IF;\\012        prev_key := this_key;\\012    END LOOP;\\012    EXECUTE 'update ' || tbl || ' set ' || clm || ' = upper(' || clm || ')';\\012    RETURN count;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012CREATE OR REPLACE FUNCTION column_to_uppercase_fix_duplicates(tbl TEXT, clm TEXT, clm2 TEXT) RETURNS INTEGER AS $$\\012DECLARE\\012    prev_key TEXT := NULL;\\012    prev_key2 TECH_ID;\\012    this_key TEXT;\\012    this_key2 TECH_ID;\\012    dup_count INTEGER;\\012    count INTEGER := 0;\\012    already_exists INTEGER;\\012    new_clm TEXT;\\012BEGIN\\012    FOR this_key, this_key2 IN EXECUTE 'select ' || clm || ',' || clm2 || ' from ' || tbl \\012        || ' order by ' || clm2 || ',upper(' ||  clm || '),id' LOOP\\012        IF upper(this_key) = upper(prev_key) and this_key2 = prev_key2 THEN\\012            dup_count := dup_count + 1;\\012            count := count + 1;\\012        ELSE\\012            dup_count := 0;\\012        END IF;\\012        IF dup_count > 0 THEN\\012            -- Check whether the new key already exists.\\012            LOOP\\012                new_clm := this_key || '(' || dup_count::text || ')';\\012                EXECUTE 'select count(*) from ' || tbl \\012                    || ' where upper(' || clm || ') = ' || quote_literal(upper(new_clm)) \\012                    || ' and ' || clm2 || ' = ' || quote_literal(this_key2) \\012                    into already_exists;\\012                IF already_exists = 0 THEN\\012                    EXIT;\\012                END IF;\\012                dup_count := dup_count + 1;\\012            END LOOP;\\012            EXECUTE 'update ' || tbl || ' set ' || clm || ' = ' || quote_literal(new_clm) || \\012                ' where ' || clm || ' = ' || quote_literal(this_key) || ' and ' \\012                || clm2 || ' = ' || quote_literal(this_key2);\\012        END IF;\\012        prev_key := this_key;\\012        prev_key2 := this_key2;\\012    END LOOP;\\012    EXECUTE 'update ' || tbl || ' set ' || clm || ' = upper(' || clm || ')';\\012    RETURN count;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012SELECT column_to_uppercase_fix_duplicates('samples', 'code');\\012SELECT column_to_uppercase_fix_duplicates('property_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('controlled_vocabularies', 'code');\\012\\012SELECT column_to_uppercase_fix_duplicates('projects', 'code', 'grou_id');\\012SELECT column_to_uppercase_fix_duplicates('experiments', 'code', 'proj_id');\\012SELECT column_to_uppercase_fix_duplicates('controlled_vocabulary_terms', 'code', 'covo_id');\\012SELECT column_to_uppercase_fix_duplicates('materials', 'code', 'maty_id');\\012SELECT column_to_uppercase_fix_duplicates('material_batches', 'code', 'mate_id');\\012SELECT column_to_uppercase_fix_duplicates('sample_components', 'code', 'samp_id');\\012\\012-- These will only need changes if someone entered them through the 'back door' directly on the server.\\012\\012SELECT column_to_uppercase_fix_duplicates('groups', 'code');\\012SELECT column_to_uppercase_fix_duplicates('sample_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('material_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('experiment_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('procedure_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('observable_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('locator_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('file_format_types', 'code');\\012SELECT column_to_uppercase_fix_duplicates('data_types', 'code');\\012\\012DROP FUNCTION column_to_uppercase_fix_duplicates(TEXT, TEXT);\\012DROP FUNCTION column_to_uppercase_fix_duplicates(TEXT, TEXT, TEXT);\\012\\012-----------------------------------------------------------------------------------\\012--  Purpose:  Delete sample_components with no associated material_batches.\\012--  This deletes superfluous controls of master plates\\012-----------------------------------------------------------------------------------\\012\\012delete from sample_components\\012where  id in (select sc.id \\012              from   sample_components as sc left join sample_component_materials as scm \\012              on     scm.saco_id = sc.id \\012              where  scm.saco_id is null\\012              )\\012;\\012	\N
017	./sql/postgresql/migration/migration-016-017.sql	SUCCESS	2008-06-17 16:38:49.266	----------------------------------------------------------------------------------------------\\012--  File: migration-016-017.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 016 to 017.\\012-- \\012--  Update History\\012--\\012--\\012--\\011Who\\011\\011\\011              When\\011\\011    What\\012--\\011---\\011\\011\\011              ----      \\011----\\012--\\011Charles Ramin-Wright\\0112008-04-11\\011Initial Version \\012--  \\012----------------------------------------------------------------------------------------------\\012\\012\\012--=================================\\012-- Create Objects\\012--=================================\\012\\012-- Domains\\012\\012-- 'F' is false, 'T' is true and 'U' is unknown\\012CREATE DOMAIN BOOLEAN_CHAR_OR_UNKNOWN AS CHAR(1) CHECK (VALUE in ('F', 'T', 'U'));\\012\\012-- Tables and related objects\\012\\012-- Sequences\\012\\012-- Indices\\012\\012--====================================\\012-- Delete Objects\\012--====================================\\012\\012-- Domains\\012\\012-- Tables\\012\\012-- Sequences\\012\\012-- Indices\\012\\012--====================================\\012-- Alter Objects\\012--====================================\\012\\012-- Add column IS_INTERNAL_NAMESPACE to table CONTROLLED_VOCABULARIES \\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD IS_INTERNAL_NAMESPACE BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012\\012-- Add column IS_INTERNAL_NAMESPACE to table PROPERTY_TYPES \\012\\012ALTER TABLE PROPERTY_TYPES ADD IS_INTERNAL_NAMESPACE BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012\\012-- Add column IS_INTERNAL_NAMESPACE as key component to the unique key constraint COVO_BK_UK\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES DROP CONSTRAINT COVO_BK_UK;\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_BK_UK UNIQUE(CODE,IS_INTERNAL_NAMESPACE);\\012\\012-- Add column IS_INTERNAL_NAMESPACE as key component to the unique key constraint PRTY_BK_UK\\012\\012ALTER TABLE PROPERTY_TYPES DROP CONSTRAINT PRTY_BK_UK;\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_BK_UK UNIQUE(CODE,IS_INTERNAL_NAMESPACE);\\012\\012-- Delete unique key constraint PRTY_BK_UK_LBL (which was for column LABEL) from table PROPERTY_TYPES\\012\\012ALTER TABLE PROPERTY_TYPES DROP CONSTRAINT PRTY_BK_UK_LBL;\\012\\012\\012-- Change unique constraint EXDA_BK_UK to contain EXTERNAL_DATA.LOTY_ID \\012\\012ALTER TABLE EXTERNAL_DATA DROP CONSTRAINT EXDA_BK_UK;\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_BK_UK UNIQUE(LOCATION,LOTY_ID);\\012\\012\\012-- Increase length of EXTERNAL_DATA.LOCATION from 200 to 1024\\012\\012ALTER TABLE EXTERNAL_DATA ALTER COLUMN LOCATION TYPE VARCHAR(1024);\\012\\012\\012-- Add column IS_COMPLETE to table EXTERNAL_DATA\\012\\012ALTER TABLE EXTERNAL_DATA ADD COLUMN IS_COMPLETE BOOLEAN_CHAR_OR_UNKNOWN NOT NULL DEFAULT 'U';\\012\\012\\012--=================================\\012-- Replace EXTERNAL_DATA_STORAGE_FORMAT_CHECK() function\\012--=================================\\012\\012CREATE OR REPLACE FUNCTION EXTERNAL_DATA_STORAGE_FORMAT_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_covo_code  CODE;\\012   data_code CODE;\\012BEGIN\\012\\012   select code into v_covo_code from controlled_vocabularies\\012      where is_internal_namespace = true and \\012         id = (select covo_id from controlled_vocabulary_terms where id = NEW.cvte_id_stor_fmt);\\012\\012-- Check if the data storage format is a term of the controlled vocabulary "STORAGE_FORMAT"\\012   if v_covo_code != 'STORAGE_FORMAT' then\\012      select code into data_code from data where id = NEW.data_id; \\012      RAISE EXCEPTION 'Insert/Update of Data (Code: %) failed, as its Storage Format is %, but is required to be STORAGE_FORMAT.', data_code, v_covo_code;\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012\\012--=================================\\012-- Data Migration\\012--=================================\\012\\012\\012---------------------------------------------------------------------------------------\\012--   Translate the internally managed CODES which are represented by the Dot-Prefix to:\\012--\\012--   CODE without a Dot-Prefix plus the new column IS_INTERNAL_NAMESPACE = true.\\012---------------------------------------------------------------------------------------\\012\\012UPDATE property_types\\012SET    code = substr(code,2,length(code))\\012     , is_internal_namespace = true \\012WHERE  substr(code,1,1) = '.';\\012\\012UPDATE controlled_vocabularies\\012SET    code = substr(code,2,length(code))\\012     , is_internal_namespace = true \\012WHERE  substr(code,1,1) = '.';\\012\\012------------------------------------------------------------------------------------\\012--  Purpose: Move experiment descriptions from column to property DESCRIPTION\\012------------------------------------------------------------------------------------\\012\\012   -----------------------\\012   --  Material Type SIRNHACS\\012   -----------------------\\012\\012insert into experiment_type_property_types\\012(   id\\012   ,exty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,is_managed_internally\\012   ,pers_id_registerer\\012   )\\012values \\012(   nextval('ETPT_ID_SEQ')\\012   ,(select id from experiment_types where code = 'SIRNAHCS')\\012   ,(select id from property_types where code = 'DESCRIPTION')\\012   ,true\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012-- Add experiment_properties for descriptions of all experiments of type SIRNAHCS \\012\\012insert into experiment_properties\\012(   id\\012   ,expe_id\\012   ,value\\012   ,etpt_id\\012   ,pers_id_registerer\\012)\\012select\\012    nextval('EXPERIMENT_PROPERTY_ID_SEQ')\\012   ,id\\012   ,case when description is not null then description else 'No description given' end\\012   ,currval('ETPT_ID_SEQ')\\012   ,(select id from persons where user_id ='system')  \\012from experiments where exty_id = (select id from experiment_types where code = 'SIRNAHCS');\\012\\012-- Finally: drop column\\012\\012ALTER TABLE EXPERIMENTS DROP COLUMN DESCRIPTION;\\012	\N
018	./sql/postgresql/migration/migration-017-018.sql	SUCCESS	2008-06-17 16:38:49.326	----------------------------------------------------------------------------------------------\\012--  File: migration-017-018.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 016 to 017.\\012-- \\012----------------------------------------------------------------------------------------------\\012\\012\\012--=================================\\012-- Create Objects\\012--=================================\\012\\012-- Domains\\012\\012-- Tables and related objects\\012\\012-- Sequences\\012\\012-- Indices\\012\\012--====================================\\012-- Delete Objects\\012--====================================\\012\\012-- Domains\\012\\012-- Tables\\012\\012-- Sequences\\012\\012-- Indices\\012\\012--====================================\\012-- Alter Objects\\012--====================================\\012\\012\\012--=================================\\012-- Data Migration\\012--=================================\\012\\012-------------------------------------------------------------------------\\012--  Purpose:  Insert a new EXPERIMENT_TYPE called 'COMPOUND_HCS'\\012--------------------------------------------------------------------------\\012\\012insert into experiment_types\\012(id\\012,code\\012,description)\\012values \\012(nextval('EXPERIMENT_TYPE_ID_SEQ')\\012,'COMPOUND_HCS'\\012,'Compound High Content Screening'\\012);\\012\\012\\012-------------------------------------------------------------------------\\012--  Purpose:  Link a mandatory DESCRIPTION to the new EXPERIMENT_TYPE \\012--            called 'COMPOUND_HCS'\\012--------------------------------------------------------------------------\\012\\012insert into experiment_type_property_types\\012(   id\\012   ,exty_id\\012   ,prty_id\\012   ,is_mandatory\\012   ,is_managed_internally\\012   ,pers_id_registerer\\012   )\\012values \\012   (nextval('ETPT_ID_SEQ')\\012   ,(select id from experiment_types where code = 'COMPOUND_HCS')\\012   ,(select id from property_types where code = 'DESCRIPTION' and is_internal_namespace = false)\\012   ,true\\012   ,true\\012   ,(select id from persons where user_id ='system')\\012);\\012\\012\\012-------------------------------------------------------------------------\\012--  Purpose:  Change EXPERIMENT_TYPE CODE 'SIRNAHCS' to 'SIRNA_HCS'\\012--------------------------------------------------------------------------\\012\\012update experiment_types\\012set code = 'SIRNA_HCS'\\012where code = 'SIRNAHCS'\\012;\\012\\012	\N
019	./source//sql/postgresql/migration/migration-018-019.sql	SUCCESS	2009-11-27 16:02:00.431	----------------------------------------------------------------------------------------------\\012--  File: migration-018-019.sql\\012--\\012-- \\012--  This script enables the migration of the database schema from 018 to 019.\\012-- \\012----------------------------------------------------------------------------------------------\\012\\012\\012\\012--=================================\\012-- Create New Objects\\012--=================================\\012\\012-- Domains\\012\\012CREATE DOMAIN DESCRIPTION_1000 AS VARCHAR(1000);\\012CREATE DOMAIN AUTHORIZATION_ROLE as CODE CHECK (VALUE IN ('ADMIN', 'USER', 'OBSERVER', 'ETL_SERVER')) NOT NULL;\\012\\012\\012-- Tables\\012\\012CREATE TABLE DATABASE_INSTANCES (ID TECH_ID NOT NULL,CODE CODE NOT NULL,IS_ORIGINAL_SOURCE BOOLEAN_CHAR NOT NULL DEFAULT 'F',REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012CREATE TABLE ROLE_ASSIGNMENTS (ID TECH_ID NOT NULL,ROLE_CODE AUTHORIZATION_ROLE,GROU_ID TECH_ID,DBIN_ID TECH_ID,PERS_ID_GRANTEE TECH_ID NOT NULL,PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012\\012-- Columns \\012\\012-- Create the new DBIN_ID columns initially as NULLable!\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE EXPERIMENT_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE EXPERIMENTS ADD COLUMN DESCRIPTION DESCRIPTION_250;\\012ALTER TABLE EXPERIMENTS ADD COLUMN IS_PUBLIC BOOLEAN_CHAR NOT NULL DEFAULT 'F';\\012ALTER TABLE FILE_FORMAT_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE GROUPS ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE GROUPS ADD COLUMN GROU_ID_PARENT TECH_ID;\\012ALTER TABLE GROUPS ADD COLUMN PERS_ID_LEADER TECH_ID;\\012ALTER TABLE GROUPS ADD COLUMN DESCRIPTION DESCRIPTION_250;\\012ALTER TABLE GROUPS ADD COLUMN REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE GROUPS ADD COLUMN PERS_ID_REGISTERER TECH_ID;\\012ALTER TABLE MATERIALS ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE MATERIAL_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE OBSERVABLE_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE PERSONS ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE PERSONS ADD COLUMN PERS_ID_REGISTERER TECH_ID;\\012ALTER TABLE PERSONS ADD COLUMN REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE PROCEDURE_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE PROJECTS ADD COLUMN PERS_ID_LEADER TECH_ID;\\012ALTER TABLE PROJECTS ADD COLUMN PERS_ID_REGISTERER TECH_ID;\\012ALTER TABLE PROJECTS ADD COLUMN REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE PROJECTS ADD COLUMN DESCRIPTION DESCRIPTION_1000;\\012ALTER TABLE PROPERTY_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012ALTER TABLE SAMPLES ADD COLUMN DBIN_ID TECH_ID ;\\012ALTER TABLE SAMPLES ADD COLUMN GROU_ID TECH_ID ;\\012ALTER TABLE SAMPLE_TYPES ADD COLUMN DBIN_ID TECH_ID;\\012\\012\\012-- Primary Key Constraints\\012\\012ALTER TABLE DATABASE_INSTANCES ADD CONSTRAINT DBIN_PK PRIMARY KEY(ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_PK PRIMARY KEY(ID);\\012\\012-- Unique Key Constraints\\012\\012ALTER TABLE DATABASE_INSTANCES ADD CONSTRAINT DBIN_BK_UK UNIQUE(CODE);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,GROU_ID,DBIN_ID);\\012\\012-- Foreign Key Constraints\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE EXPERIMENT_TYPES ADD CONSTRAINT EXTY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE FILE_FORMAT_TYPES ADD CONSTRAINT FFTY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_GROU_FK FOREIGN KEY (GROU_ID_PARENT) REFERENCES GROUPS(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_PERS_FK_LEADER FOREIGN KEY (PERS_ID_LEADER) REFERENCES PERSONS(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_PERS_FK_REGISTERER FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE MATERIAL_TYPES ADD CONSTRAINT MATY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE OBSERVABLE_TYPES ADD CONSTRAINT OBTY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE PERSONS ADD CONSTRAINT PERS_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE PROCEDURE_TYPES ADD CONSTRAINT PCTY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_PERS_FK_LEADER FOREIGN KEY (PERS_ID_LEADER) REFERENCES PERSONS(ID);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_PERS_FK_REGISTERER FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_GROU_FK FOREIGN KEY (GROU_ID) REFERENCES GROUPS(ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_PERS_FK_GRANTEE FOREIGN KEY (PERS_ID_GRANTEE) REFERENCES PERSONS(ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_PERS_FK_REGISTERER FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_GROU_FK FOREIGN KEY (GROU_ID) REFERENCES GROUPS(ID);\\012ALTER TABLE SAMPLE_TYPES ADD CONSTRAINT SATY_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012\\012\\012-- Sequences\\012\\012CREATE SEQUENCE DATABASE_INSTANCE_ID_SEQ;\\012CREATE SEQUENCE ROLE_ASSIGNMENT_ID_SEQ;\\012\\012-- Indices\\012\\012CREATE INDEX EXDA_CVTE_FK_I ON EXTERNAL_DATA (CVTE_ID_STOR_FMT);\\012CREATE INDEX GROU_DBIN_FK_I ON GROUPS (DBIN_ID);\\012CREATE INDEX GROU_GROU_FK_I ON GROUPS (GROU_ID_PARENT);\\012CREATE INDEX GROU_PERS_FK_I ON GROUPS (PERS_ID_LEADER);\\012CREATE INDEX GROU_PERS_REGISTERED_BY_FK_I ON GROUPS (PERS_ID_REGISTERER);\\012CREATE INDEX PROJ_PERS_FK_I_LEADER ON PROJECTS (PERS_ID_LEADER);\\012CREATE INDEX PROJ_PERS_FK_I_REGISTERER ON PROJECTS (PERS_ID_REGISTERER);\\012CREATE INDEX ROAS_DBIN_FK_I ON ROLE_ASSIGNMENTS (DBIN_ID);\\012CREATE INDEX ROAS_GROU_FK_I ON ROLE_ASSIGNMENTS (GROU_ID);\\012CREATE INDEX ROAS_PERS_FK_I_GRANTEE ON ROLE_ASSIGNMENTS (PERS_ID_GRANTEE);\\012CREATE INDEX ROAS_PERS_FK_I_REGISTERER ON ROLE_ASSIGNMENTS (PERS_ID_REGISTERER);\\012\\012\\012--====================================\\012-- Alter Objects\\012--====================================\\012\\012-- Domains\\012\\012ALTER DOMAIN BOOLEAN_CHAR_OR_UNKNOWN SET DEFAULT 'U';\\012\\012-- Tables\\012\\012ALTER TABLE PERSONS ALTER COLUMN USER_ID SET NOT NULL;\\012\\012-- Primary Key Constraints\\012\\012\\012-- Unique Key Constraints\\012\\012   -- Drop the Unique Key Constraints\\012ALTER TABLE CONTROLLED_VOCABULARIES DROP CONSTRAINT COVO_BK_UK ;\\012ALTER TABLE EXPERIMENT_TYPES DROP CONSTRAINT EXTY_BK_UK ;\\012ALTER TABLE FILE_FORMAT_TYPES DROP CONSTRAINT FFTY_BK_UK ;\\012ALTER TABLE GROUPS DROP CONSTRAINT GROU_BK_UK ;\\012ALTER TABLE MATERIALS DROP CONSTRAINT MATE_BK_UK ;\\012ALTER TABLE MATERIAL_TYPES DROP CONSTRAINT MATY_BK_UK ;\\012ALTER TABLE OBSERVABLE_TYPES DROP CONSTRAINT OBTY_BK_UK ;\\012ALTER TABLE PERSONS DROP CONSTRAINT PERS_BK_UK ;\\012ALTER TABLE PROCEDURE_TYPES DROP CONSTRAINT PCTY_BK_UK ;\\012ALTER TABLE PROPERTY_TYPES DROP CONSTRAINT PRTY_BK_UK ;\\012ALTER TABLE ROLE_ASSIGNMENTS DROP CONSTRAINT ROAS_BK_UK ;\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_UK ;\\012ALTER TABLE SAMPLE_TYPES DROP CONSTRAINT SATY_BK_UK ;\\012\\012-- There was a bug in migration - the constraint was not created. So we drop it only if it exists.\\012create function remove_maty_uk_constraint() returns void AS $$\\012begin\\012   perform *\\012     FROM information_schema.table_constraints WHERE constraint_name='MATY_UK';\\012   if found\\012   then\\012\\011ALTER TABLE MATERIAL_TYPES DROP CONSTRAINT MATY_UK ;\\012   end if;\\012end;\\012$$ language 'plpgsql';\\012select remove_maty_uk_constraint();\\012drop function remove_maty_uk_constraint();\\012\\012   -- ReCreate the Unique Key Constraints with the extended columns\\012ALTER TABLE CONTROLLED_VOCABULARIES ADD CONSTRAINT COVO_BK_UK UNIQUE(CODE,IS_INTERNAL_NAMESPACE,DBIN_ID);\\012ALTER TABLE EXPERIMENT_TYPES ADD CONSTRAINT EXTY_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE FILE_FORMAT_TYPES ADD CONSTRAINT FFTY_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE MATERIALS ADD CONSTRAINT MATE_BK_UK UNIQUE(CODE,MATY_ID,DBIN_ID);\\012ALTER TABLE MATERIAL_TYPES ADD CONSTRAINT MATY_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE OBSERVABLE_TYPES ADD CONSTRAINT OBTY_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE PERSONS ADD CONSTRAINT PERS_BK_UK UNIQUE(DBIN_ID,USER_ID);\\012ALTER TABLE PROCEDURE_TYPES ADD CONSTRAINT PCTY_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE PROPERTY_TYPES ADD CONSTRAINT PRTY_BK_UK UNIQUE(CODE,IS_INTERNAL_NAMESPACE,DBIN_ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,GROU_ID,DBIN_ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_UK UNIQUE(CODE,DBIN_ID,GROU_ID);\\012ALTER TABLE SAMPLE_TYPES ADD CONSTRAINT SATY_BK_UK UNIQUE(CODE,DBIN_ID);\\012\\012\\012\\012-- Foreign Key Constraints\\012\\012   -- Rename according to the naming convention\\012ALTER TABLE EXTERNAL_DATA DROP CONSTRAINT EXDA_STOR_FMT_FK;\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_CVTE_FK FOREIGN KEY (CVTE_ID_STOR_FMT) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012\\012\\012-- Check Constraints\\012\\012-- Indexes\\012\\012   -- Rename according to the naming convention\\012DROP INDEX DATA_SAMP_DERIVED_FROM_FK_I ;\\012DROP INDEX DATA_SAMP_FK_I ;\\012CREATE INDEX DATA_SAMP_FK_I_ACQUIRED_FROM ON DATA (SAMP_ID_ACQUIRED_FROM);\\012CREATE INDEX DATA_SAMP_FK_I_DERIVED_FROM ON DATA (SAMP_ID_DERIVED_FROM);\\012\\012\\012\\012\\012--====================================\\012-- Delete Objects\\012--====================================\\012\\012-- Domains\\012\\012DROP DOMAIN DOUBLE_PRECISION_VALUE;\\012\\012-- Tables\\012\\012-- Sequences\\012\\012-- Indices\\012\\012\\012--=================================\\012-- Data Migration\\012--=================================\\012\\012INSERT INTO database_instances(\\012              id\\012            , code\\012            , is_original_source)\\012    VALUES (  nextval('DATABASE_INSTANCE_ID_SEQ')\\012            , 'SYSTEM_DEFAULT'\\012            , 'T');\\012\\012\\012-----------------------------------------------------------------------------------\\012-- Fill the FK column in all tables that reference the DATABASE_INSTANCES table\\012-----------------------------------------------------------------------------------\\012\\012update CONTROLLED_VOCABULARIES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update EXPERIMENT_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update FILE_FORMAT_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update GROUPS  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update MATERIALS  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update MATERIAL_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update OBSERVABLE_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update PERSONS  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update PROCEDURE_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update PROPERTY_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update SAMPLES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012update SAMPLE_TYPES  \\012set dbin_id = (select id from database_instances where code = 'SYSTEM_DEFAULT');\\012\\012\\012-----------------------------------------------------------------------------------\\012-- Fill the FK column in all tables that newly reference the PERSONS table\\012-----------------------------------------------------------------------------------\\012\\012update GROUPS  \\012set PERS_ID_REGISTERER = (select id from persons where user_id = 'system');\\012\\012\\012\\012\\012-- Columns \\012\\012-- Change certain new columns to possess the NOT NULL constraint\\012\\012ALTER TABLE CONTROLLED_VOCABULARIES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE EXPERIMENT_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE FILE_FORMAT_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE GROUPS ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE GROUPS ALTER COLUMN PERS_ID_REGISTERER SET NOT NULL;\\012ALTER TABLE MATERIALS ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE MATERIAL_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE OBSERVABLE_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE PERSONS ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE PROCEDURE_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE PROPERTY_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012ALTER TABLE SAMPLE_TYPES ALTER COLUMN DBIN_ID SET NOT NULL;\\012\\012-- Check Constraints\\012\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_DBIN_GROU_ARC_CK CHECK ((DBIN_ID IS NOT NULL AND GROU_ID IS NULL) OR (DBIN_ID IS NULL AND GROU_ID IS NOT NULL));\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_DBIN_GROU_ARC_CK CHECK ((DBIN_ID IS NOT NULL AND GROU_ID IS NULL) OR (DBIN_ID IS NULL AND GROU_ID IS NOT NULL));\\012	\N
020	./source//sql/postgresql/migration/migration-019-020.sql	SUCCESS	2009-11-27 16:02:01.237	-- migration-019-020.sql\\012\\012\\012-- Creating domains\\012\\012--------\\012-- Added\\012--------\\012\\012CREATE DOMAIN EVENT_TYPE AS VARCHAR(40) CHECK (VALUE IN ('DELETION', 'INVALIDATION', 'MOVEMENT'));\\012\\012----------\\012-- Changed\\012----------\\012\\012-- Change the domain AUTHORIZATION_ROLE by changing its TYPE to VARCHAR(40) and dropping the NOT NULL constraint\\012\\012ALTER TABLE ROLE_ASSIGNMENTS ALTER COLUMN ROLE_CODE TYPE CODE;\\012DROP DOMAIN AUTHORIZATION_ROLE;\\012CREATE DOMAIN AUTHORIZATION_ROLE AS VARCHAR(40) CHECK (VALUE IN ('ADMIN', 'USER', 'OBSERVER', 'ETL_SERVER')) ;\\012ALTER TABLE ROLE_ASSIGNMENTS ALTER COLUMN ROLE_CODE TYPE AUTHORIZATION_ROLE;\\012\\012\\012-- Creating tables\\012\\012--------\\012-- Added\\012--------\\012\\012CREATE TABLE EVENTS (ID TECH_ID NOT NULL,EVENT_TYPE EVENT_TYPE NOT NULL,DATA_ID TECH_ID,DESCRIPTION DESCRIPTION_250,REASON DESCRIPTION_250,PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012\\012----------\\012-- Changed\\012----------\\012\\012ALTER TABLE DATA ADD COLUMN IS_DELETED BOOLEAN_CHAR DEFAULT 'F';\\012ALTER TABLE DATA ADD COLUMN IS_VALID BOOLEAN_CHAR DEFAULT 'T';\\012\\012ALTER TABLE EXTERNAL_DATA ADD COLUMN CVTE_ID_STORE TECH_ID;\\012\\012ALTER TABLE PERSONS ADD COLUMN GROU_ID TECH_ID;\\012\\012ALTER TABLE ROLE_ASSIGNMENTS ALTER COLUMN ROLE_CODE SET NOT NULL;\\012\\012UPDATE EXPERIMENTS SET PERS_ID_REGISTERER = (SELECT ID FROM PERSONS WHERE USER_ID ='system') WHERE PERS_ID_REGISTERER IS NULL;\\012ALTER TABLE EXPERIMENTS ALTER COLUMN PERS_ID_REGISTERER SET NOT NULL;\\012\\012UPDATE PROJECTS SET PERS_ID_REGISTERER = (SELECT ID FROM PERSONS WHERE USER_ID ='system') WHERE PERS_ID_REGISTERER IS NULL;\\012ALTER TABLE PROJECTS ALTER COLUMN PERS_ID_REGISTERER SET NOT NULL;\\012\\012UPDATE PERSONS SET GROU_ID = (SELECT ID FROM GROUPS LIMIT 1);\\012\\012-- Creating sequences\\012\\012--------\\012-- Added\\012--------\\012\\012CREATE SEQUENCE EVENT_ID_SEQ;\\012\\012\\012-- Creating primary key constraints\\012\\012--------\\012-- Added\\012--------\\012\\012ALTER TABLE EVENTS ADD CONSTRAINT EVNT_PK PRIMARY KEY(ID);\\012\\012\\012-- Creating unique constraints\\012\\012ALTER TABLE EVENTS ADD CONSTRAINT EVNT_BK_UK UNIQUE(EVENT_TYPE,DATA_ID);\\012\\012----------\\012-- Changed\\012----------\\012\\012ALTER TABLE ROLE_ASSIGNMENTS DROP CONSTRAINT ROAS_BK_UK ;\\012\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,GROU_ID,DBIN_ID);\\012\\012\\012-- Creating foreign key constraints\\012\\012--------\\012-- Added\\012--------\\012\\012ALTER TABLE EVENTS ADD CONSTRAINT EVNT_DATA_FK FOREIGN KEY (DATA_ID) REFERENCES DATA(ID);\\012ALTER TABLE EVENTS ADD CONSTRAINT EVNT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE EXTERNAL_DATA ADD CONSTRAINT EXDA_CVTE_STORED_ON_FK FOREIGN KEY (CVTE_ID_STORE) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012ALTER TABLE PERSONS ADD CONSTRAINT PERS_GROU_FK FOREIGN KEY (GROU_ID) REFERENCES GROUPS(ID);\\012\\012\\012\\012-- Creating check constraints\\012\\012\\012-- Creating indices\\012\\012--------\\012-- Added\\012--------\\012\\012CREATE INDEX EVNT_DATA_FK_I ON EVENTS (DATA_ID);\\012CREATE INDEX EVNT_PERS_FK_I ON EVENTS (PERS_ID_REGISTERER);\\012CREATE INDEX EXDA_CVTE_STORED_ON_FK_I ON EXTERNAL_DATA (CVTE_ID_STORE);\\012CREATE INDEX PERS_GROU_FK_I ON PERSONS (GROU_ID);\\012	\N
021	./source//sql/postgresql/migration/migration-020-021.sql	SUCCESS	2009-11-27 16:02:01.377	------------------------\\012-- migration-020-021.sql\\012------------------------\\012\\012-- Translate the AUTHORIZATION_ROLE value ADMIN to 'INSTANCE_ADMIN' and 'GROUP_ADMIN' \\012\\012ALTER DOMAIN AUTHORIZATION_ROLE DROP CONSTRAINT AUTHORIZATION_ROLE_CHECK;\\012ALTER DOMAIN AUTHORIZATION_ROLE ADD CONSTRAINT AUTHORIZATION_ROLE_CHECK CHECK (VALUE IN ('ADMIN', 'USER', 'OBSERVER', 'ETL_SERVER'));\\012\\012-- Modify the UK of the SAMPLES table\\012\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_UK;\\012\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_DBIN_UK UNIQUE(SATY_ID,CODE,DBIN_ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_GROU_UK UNIQUE(SATY_ID,CODE,GROU_ID);\\012\\012\\012	\N
022	./source//sql/postgresql/migration/migration-021-022.sql	SUCCESS	2009-11-27 16:02:01.616	-- Drop the UKs SAMP_BK_DBIN_UK and SAMP_BK_GROU_UK of the SAMPLES table\\012\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_DBIN_UK;\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_GROU_UK;\\012\\012-- Recreate the UKs SAMP_BK_DBIN_UK and SAMP_BK_GROU_UK of the SAMPLES table, but without the SATY_ID column.\\012\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_DBIN_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_BK_GROU_UK UNIQUE(CODE,GROU_ID);\\012	\N
023	./source//sql/postgresql/migration/migration-022-023.sql	SUCCESS	2009-11-27 16:02:08.597	-- JAVA ch.systemsx.cisd.openbis.generic.server.dataaccess.migration.MigrationStepFrom022To023\\012\\012-- Add column GLOBAL_CODE to the DATABASE_INSTANCES table.\\012-- Set it's value from the code, it will be updated later from java.\\012\\012ALTER TABLE DATABASE_INSTANCES ADD COLUMN GLOBAL_CODE CODE;\\012update DATABASE_INSTANCES set GLOBAL_CODE = CODE;\\012ALTER TABLE DATABASE_INSTANCES ADD CONSTRAINT DBIN_GLOBAL_CODE_UK UNIQUE(GLOBAL_CODE);\\012ALTER TABLE DATABASE_INSTANCES alter column GLOBAL_CODE set NOT NULL;\\012\\012-- Add column the new FK column SAMP_ID_PART_OF of the SAMPLES table\\012\\012ALTER TABLE SAMPLES ADD COLUMN SAMP_ID_PART_OF TECH_ID;\\012\\012-- Drop constraint SAMP_BK_DBIN_UK of SAMPLES table\\012\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_DBIN_UK;\\012\\012-- Drop constraint SAMP_BK_GROU_UK of SAMPLES table\\012\\012ALTER TABLE SAMPLES DROP CONSTRAINT SAMP_BK_GROU_UK;\\012\\012-- Add FK PART_OF to the SAMPLES table\\012\\012ALTER TABLE SAMPLES ADD CONSTRAINT SAMP_SAMP_FK_PART_OF FOREIGN KEY (SAMP_ID_PART_OF) REFERENCES SAMPLES(ID);\\012\\012-- Add Index for the FK Part Of of the SAMPLES table\\012CREATE INDEX SAMP_SAMP_FK_I_PART_OF ON SAMPLES (SAMP_ID_PART_OF);\\012\\012-- Create the SAMPLE_MATERIAL_BATCHES table\\012\\012CREATE TABLE SAMPLE_MATERIAL_BATCHES (ID TECH_ID NOT NULL,SAMP_ID TECH_ID NOT NULL,MABA_ID TECH_ID NOT NULL);\\012ALTER TABLE SAMPLE_MATERIAL_BATCHES ADD CONSTRAINT SAMB_PK PRIMARY KEY(ID);\\012\\012-- Create the sequence for the SAMPLE_MATERIAL_BATCHES table\\012\\012CREATE SEQUENCE SAMPLE_MATERIAL_BATCH_ID_SEQ;\\012\\012\\012--  Create WELL as a new SAMPLE_TYPE\\012\\012insert into sample_types\\012(id\\012,code\\012,description\\012,dbin_id)\\012values \\012(nextval('SAMPLE_TYPE_ID_SEQ')\\012,'WELL'\\012,'Plate Well'\\012,(select id from database_instances where is_original_source = true)\\012);\\012\\012\\012-- Transfer data from the SAMPLE_COMPONENTS table to the SAMPLES table\\012\\012INSERT INTO samples(\\012              id\\012            , code\\012            , samp_id_top\\012            , samp_id_generated_from\\012            , saty_id\\012            , pers_id_registerer\\012            , inva_id\\012            , samp_id_control_layout\\012            , dbin_id\\012            , grou_id\\012            , samp_id_part_of)\\012SELECT        nextval('sample_id_seq')\\012            , saco.code\\012            , null\\012            , null\\012            , (select id from sample_types where code = 'WELL')\\012            , (select id from persons where user_id ='system')\\012            , samp.inva_id\\012            , null\\012            , samp.dbin_id\\012            , samp.grou_id\\012            , saco.samp_id\\012FROM samples samp INNER JOIN sample_components saco\\012     ON   samp.id = saco.samp_id;\\012\\012\\012-- Fill the SAMPLE_MATERIAL_BATCHES table via SAMPLE_C0MPONENT_MATERIALS, SAMPLE_C0MPONENTS, SAMPLES and MATERIAL_BATCHES tables\\012\\012INSERT INTO sample_material_batches(\\012              id\\012            , samp_id\\012            , maba_id)\\012SELECT        nextval('sample_material_batch_id_seq')\\012            , well.id\\012            , scma.maba_id\\012FROM sample_component_materials scma \\012   INNER JOIN material_batches maba\\012     ON scma.maba_id = maba.id\\012        INNER JOIN sample_components saco\\012           ON scma.saco_id = saco.id\\012              INNER JOIN samples well\\012                 ON saco.code = well.code and saco.samp_id = well.samp_id_part_of\\012;\\012\\012\\012-- Drop the retired Database Objects\\012\\012DROP TABLE SAMPLE_COMPONENT_MATERIALS;\\012DROP TABLE SAMPLE_COMPONENTS;\\012\\012DROP SEQUENCE SCMA_ID_SEQ;\\012DROP SEQUENCE SAMPLE_COMPONENT_ID_SEQ;\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Create trigger SAMPLE_CODE_UNIQUENESS_CHECK \\012------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION SAMPLE_CODE_UNIQUENESS_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   counter  INTEGER;\\012BEGIN\\012\\011IF (NEW.samp_id_part_of is NULL) THEN\\012\\011\\011IF (NEW.dbin_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and dbin_id = NEW.dbin_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011ELSIF (NEW.grou_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and grou_id = NEW.grou_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011END IF;\\012        ELSE\\012\\011\\011IF (NEW.dbin_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and dbin_id = NEW.dbin_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code and being the part of the same parent already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011ELSIF (NEW.grou_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and grou_id = NEW.grou_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code and being the part of the same parent already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011END IF;\\012        END IF;   \\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER SAMPLE_CODE_UNIQUENESS_CHECK BEFORE INSERT OR UPDATE ON SAMPLES\\012    FOR EACH ROW EXECUTE PROCEDURE SAMPLE_CODE_UNIQUENESS_CHECK();\\012	\N
024	./source//sql/postgresql/migration/migration-023-024.sql	SUCCESS	2009-11-27 16:02:08.934	-- JAVA ch.systemsx.cisd.openbis.generic.server.dataaccess.migration.MigrationStepFrom023To024\\012\\012-- Drop constraint DBIN_GLOBAL_CODE_UK of DATABASE_INSTANCES table\\012\\012ALTER TABLE DATABASE_INSTANCES DROP CONSTRAINT DBIN_GLOBAL_CODE_UK;\\012\\012-- Name changes\\012\\012ALTER TABLE DATABASE_INSTANCES RENAME COLUMN GLOBAL_CODE TO UUID;\\012\\012-- Add constraint DBIN_UUID_UK to the DATABASE_INSTANCES table\\012\\012ALTER TABLE DATABASE_INSTANCES ADD CONSTRAINT DBIN_UUID_UK UNIQUE(UUID);\\012\\012-- Drop column in EXPERIMENTS\\012\\012ALTER TABLE EXPERIMENTS DROP COLUMN DESCRIPTION;\\012\\012-- Add index to SAMPLES table\\012\\012CREATE INDEX SAMP_CODE_I ON SAMPLES (CODE);\\012\\012-- Bug fix in trigger function SAMPLE_CODE_UNIQUENESS_CHECK()\\012\\012CREATE OR REPLACE FUNCTION SAMPLE_CODE_UNIQUENESS_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   counter  INTEGER;\\012BEGIN\\012    IF (NEW.samp_id_part_of is NULL) THEN\\012        IF (NEW.dbin_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and dbin_id = NEW.dbin_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code already exists.', NEW.code;\\012            END IF;\\012        ELSIF (NEW.grou_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and grou_id = NEW.grou_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code already exists.', NEW.code;\\012            END IF;\\012        END IF;\\012        ELSE\\012        IF (NEW.dbin_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and dbin_id = NEW.dbin_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code and being the part of the same parent already exists.', NEW.code;\\012            END IF;\\012        ELSIF (NEW.grou_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and grou_id = NEW.grou_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code and being the part of the same parent already exists.', NEW.code;\\012            END IF;\\012        END IF;\\012        END IF;   \\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012	\N
043	./source//sql/postgresql/migration/migration-042-043.sql	SUCCESS	2009-11-27 16:04:30.228	-- Migration from 042 to 043\\012CREATE DOMAIN GRID_EXPRESSION AS VARCHAR(2000);\\012CREATE DOMAIN GRID_ID AS VARCHAR(200);\\012\\012CREATE TABLE GRID_CUSTOM_COLUMNS (ID TECH_ID NOT NULL, DBIN_ID TECH_ID NOT NULL, CODE VARCHAR(200) NOT NULL, LABEL column_label NOT NULL, DESCRIPTION DESCRIPTION_1000,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP, PERS_ID_REGISTERER TECH_ID NOT NULL, MODIFICATION_TIMESTAMP TIME_STAMP DEFAULT CURRENT_TIMESTAMP, EXPRESSION GRID_EXPRESSION NOT NULL, IS_PUBLIC BOOLEAN NOT NULL, GRID_ID GRID_ID NOT NULL);\\012CREATE SEQUENCE GRID_CUSTOM_COLUMNS_ID_SEQ;\\012ALTER TABLE GRID_CUSTOM_COLUMNS ADD CONSTRAINT GRID_CUSTOM_COLUMNS_PK PRIMARY KEY(ID);\\012ALTER TABLE GRID_CUSTOM_COLUMNS ADD CONSTRAINT GRID_CUSTOM_COLUMNS_BK_UK UNIQUE(CODE, DBIN_ID, GRID_ID);\\012\\012ALTER TABLE GRID_CUSTOM_COLUMNS ADD CONSTRAINT GRID_CUSTOM_COLUMNS_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE GRID_CUSTOM_COLUMNS ADD CONSTRAINT GRID_CUSTOM_COLUMNS_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012\\012CREATE INDEX GRID_CUSTOM_COLUMNS_PERS_FK_I ON GRID_CUSTOM_COLUMNS (PERS_ID_REGISTERER);\\012CREATE INDEX GRID_CUSTOM_COLUMNS_DBIN_FK_I ON GRID_CUSTOM_COLUMNS (DBIN_ID);\\012\\012-- drop troublesome unique constraint in events table\\012\\012ALTER TABLE EVENTS DROP CONSTRAINT EVNT_BK_UK;\\012\\012-- Add ordinal column that is a positive and not null integer to controlled vocabulary terms table. \\012-- Initially ordinal values of terms in one controlled vocabulary start from 1 \\012-- and increase with increase of term id (so initial order will depend on registration order). \\012-- Ordinals should be unique inside a controlled vocabulary but because we use bulk update we can't\\012-- easily create this constraint.\\012ALTER TABLE controlled_vocabulary_terms ADD COLUMN ordinal BIGINT;\\012UPDATE controlled_vocabulary_terms SET ordinal = (\\012\\011SELECT count(*) FROM controlled_vocabulary_terms c \\012\\011WHERE c.covo_id = controlled_vocabulary_terms.covo_id AND c.id <= controlled_vocabulary_terms.id\\012);\\012ALTER TABLE controlled_vocabulary_terms ALTER COLUMN ordinal SET NOT NULL;\\012ALTER TABLE controlled_vocabulary_terms ADD CONSTRAINT cvte_ck CHECK (ordinal > 0);\\012	\N
025	./source//sql/postgresql/migration/migration-024-025.sql	SUCCESS	2009-11-27 16:02:09.649	-- move screenable plates to a group, because it's no longer possible\\012-- to have such plates on the instance level\\012\\012CREATE OR REPLACE FUNCTION move_exp_samples_to_group() RETURNS integer AS $$\\012DECLARE\\012    sample RECORD;\\012    groupId Integer;\\012BEGIN\\012  FOR sample IN \\012    (SELECT * FROM samples s inner join sample_types t on s.saty_id = t.id \\012\\011where t.code in ('CELL_PLATE', 'REINFECT_PLATE'))\\012  LOOP\\012\\011if (sample.dbin_id is not NULL) THEN\\012\\011\\011select proj.grou_id into groupId from\\012\\011\\011\\011samples sa\\012\\011\\011\\011left outer join sample_inputs si on sa.id = si.samp_id \\012\\011\\011\\011left outer join procedures proc on proc.id = si.proc_id  \\012\\011\\011\\011left outer join experiments ex on ex.id = proc.expe_id\\012\\011\\011\\011left outer join projects proj on proj.id = ex.proj_id\\012\\011\\011where sa.id = sample.id;\\012\\011\\011if (groupId is NULL) THEN\\012\\011\\011\\011select id into groupId from groups limit 1;\\012\\011\\011END IF;\\012\\011\\011if (groupId is NULL) THEN\\012\\011\\011\\011RAISE EXCEPTION 'There is no group in the database - internal error!';\\012\\011\\011END IF;\\012\\011\\011update samples set grou_id = groupId, dbin_id = NULL\\012\\011\\011  where id = sample.id;\\012\\011END IF;\\012  END LOOP;\\012  RETURN 1;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012select move_exp_samples_to_group();\\012\\012-- Create new table DATA_STORES.\\012\\012CREATE TABLE DATA_STORES (ID TECH_ID NOT NULL,DBIN_ID TECH_ID NOT NULL,CODE CODE NOT NULL,DOWNLOAD_URL VARCHAR(1024) NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012CREATE SEQUENCE DATA_STORE_ID_SEQ;\\012ALTER TABLE DATA_STORES ADD CONSTRAINT DAST_PK PRIMARY KEY(ID);\\012ALTER TABLE DATA_STORES ADD CONSTRAINT DAST_BK_UK UNIQUE(CODE,DBIN_ID);\\012ALTER TABLE DATA_STORES ADD CONSTRAINT DAST_DBIN_FK FOREIGN KEY (DBIN_ID) REFERENCES DATABASE_INSTANCES(ID);\\012CREATE INDEX DAST_DBIN_FK_I ON DATA_STORES (DBIN_ID);\\012\\012-- Add new column DAST_ID (connection to DATA_STORES table) to tables DATABASE_INSTANCES, GROUPS, PROJECTS, EXPERIMENTS.\\012\\012ALTER TABLE DATABASE_INSTANCES ADD COLUMN DAST_ID TECH_ID;\\012ALTER TABLE GROUPS ADD COLUMN DAST_ID TECH_ID;\\012ALTER TABLE PROJECTS ADD COLUMN DAST_ID TECH_ID;\\012ALTER TABLE EXPERIMENTS ADD COLUMN DAST_ID TECH_ID;\\012\\012-- Create the STANDARD data store and assign it to the home database instance.\\012 \\012insert into data_stores\\012(id\\012,code\\012,download_url\\012,dbin_id)\\012values \\012(nextval('DATA_STORE_ID_SEQ')\\012,'STANDARD'\\012,''\\012,(select id from database_instances where is_original_source = true)\\012);\\012\\012update database_instances set dast_id = (select id from data_stores where code = 'STANDARD') where is_original_source = true;\\012\\012-- Add foreign key constratints.\\012\\012ALTER TABLE DATABASE_INSTANCES ADD CONSTRAINT DBIN_DAST_FK FOREIGN KEY (DAST_ID) REFERENCES DATA_STORES(ID);\\012ALTER TABLE GROUPS ADD CONSTRAINT GROU_DAST_FK FOREIGN KEY (DAST_ID) REFERENCES DATA_STORES(ID);\\012ALTER TABLE PROJECTS ADD CONSTRAINT PROJ_DAST_FK FOREIGN KEY (DAST_ID) REFERENCES DATA_STORES(ID);\\012ALTER TABLE EXPERIMENTS ADD CONSTRAINT EXPE_DAST_FK FOREIGN KEY (DAST_ID) REFERENCES DATA_STORES(ID);\\012	\N
026	./source//sql/postgresql/migration/migration-025-026.sql	SUCCESS	2009-11-27 16:02:09.968	-- JAVA ch.systemsx.cisd.openbis.generic.server.dataaccess.migration.MigrationStepFrom025To026\\012-- Remove ID column from SAMPLE_INPUTS table\\012DROP SEQUENCE SAMPLE_INPUT_ID_SEQ;\\012-- There was a bug in migration to db 23 - the constraint was not created. So we drop it only if it exists.\\012create function remove_sain_pk_constraint() returns void AS $$\\012begin\\012   perform *\\012     FROM information_schema.table_constraints WHERE constraint_name='sain_pk';\\012   if found\\012   then\\012\\011ALTER TABLE SAMPLE_INPUTS DROP CONSTRAINT SAIN_PK;\\012   end if;\\012end;\\012$$ language 'plpgsql';\\012select remove_sain_pk_constraint();\\012drop function remove_sain_pk_constraint();\\012ALTER TABLE SAMPLE_INPUTS DROP COLUMN ID;\\012ALTER TABLE SAMPLE_INPUTS ADD CONSTRAINT SAIN_PK PRIMARY KEY(SAMP_ID,PROC_ID);\\012\\012-- Remove ID column from SAMPLE_MATERIAL_BATCHES table\\012DROP SEQUENCE SAMPLE_MATERIAL_BATCH_ID_SEQ;\\012-- There was a bug in migration to db 23 - the constraint was not created. So we drop it only if it exists.\\012create function remove_samb_pk_constraint() returns void AS $$\\012begin\\012   perform *\\012     FROM information_schema.table_constraints WHERE constraint_name='SAMB_PK';\\012   if found\\012   then\\012\\011\\011\\011ALTER TABLE SAMPLE_MATERIAL_BATCHES DROP CONSTRAINT SAMB_PK;\\012   end if;\\012end;\\012$$ language 'plpgsql';\\012select remove_samb_pk_constraint();\\012drop function remove_samb_pk_constraint();\\012ALTER TABLE SAMPLE_MATERIAL_BATCHES DROP COLUMN ID;\\012ALTER TABLE SAMPLE_MATERIAL_BATCHES ADD CONSTRAINT SAMB_PK PRIMARY KEY(SAMP_ID,MABA_ID);\\012\\012-- Remove ID and REGISTRATION_TIMESTAMP column from DATA_SET_RELATIONSHIPS table\\012DROP SEQUENCE DATA_SET_RELATIONSHIP_ID_SEQ;\\012ALTER TABLE DATA_SET_RELATIONSHIPS DROP CONSTRAINT DSRE_PK;\\012ALTER TABLE DATA_SET_RELATIONSHIPS DROP CONSTRAINT DSRE_BK_UK;\\012ALTER TABLE DATA_SET_RELATIONSHIPS DROP COLUMN ID;\\012ALTER TABLE DATA_SET_RELATIONSHIPS DROP COLUMN REGISTRATION_TIMESTAMP;\\012ALTER TABLE DATA_SET_RELATIONSHIPS ADD CONSTRAINT DSRE_PK PRIMARY KEY(DATA_ID_PARENT,DATA_ID_CHILD);\\012\\012-- Rename: \\012-- OBSERVABLE_TYPES -> DATA_SET_TYPES\\012-- OBSERVABLE_TYPE_ID_SEQ -> DATA_SET_TYPE_ID_SEQ\\012-- DATA.OBTY_ID -> DATA.DSTY_ID\\012ALTER TABLE OBSERVABLE_TYPES RENAME TO DATA_SET_TYPES;\\012ALTER TABLE OBSERVABLE_TYPE_ID_SEQ RENAME TO DATA_SET_TYPE_ID_SEQ;\\012ALTER TABLE DATA RENAME COLUMN OBTY_ID TO DSTY_ID;\\012	\N
027	./source//sql/postgresql/migration/migration-026-027.sql	SUCCESS	2009-11-27 16:02:20.75	-- remove the bug from previous db version\\012ALTER TABLE ROLE_ASSIGNMENTS DROP CONSTRAINT ROAS_BK_UK;\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_GROUP_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,GROU_ID);\\012ALTER TABLE ROLE_ASSIGNMENTS ADD CONSTRAINT ROAS_INSTANCE_BK_UK UNIQUE(PERS_ID_GRANTEE,ROLE_CODE,DBIN_ID);\\012\\012-- add display properties to sample type\\012\\012ALTER TABLE SAMPLE_TYPES ADD COLUMN IS_LISTABLE BOOLEAN_CHAR NOT NULL DEFAULT 'T';\\012ALTER TABLE SAMPLE_TYPES ADD COLUMN GENERATED_FROM_DEPTH INTEGER NOT NULL DEFAULT 0;\\012ALTER TABLE SAMPLE_TYPES ADD COLUMN PART_OF_DEPTH INTEGER NOT NULL DEFAULT 0;\\012ALTER TABLE SAMPLE_TYPE_PROPERTY_TYPES ADD COLUMN IS_DISPLAYED BOOLEAN_CHAR NOT NULL DEFAULT 'T';\\012\\012update sample_types\\012set generated_from_depth = 1\\012where code = 'DILUTION_PLATE';\\012\\012update sample_types\\012set generated_from_depth = 2\\012where code = 'CELL_PLATE';\\012\\012update sample_types\\012set generated_from_depth = 3\\012where code = 'REINFECT_PLATE';\\012\\012update sample_types\\012set is_listable = 'F', generated_from_depth = 0, part_of_depth = 1\\012where code = 'WELL';\\012\\012----------------------------------------------------\\012-- Unify the schema of database v018 migrated to the current version with the original schema.\\012-- This code has been generated by the external tool.\\012-- Note that sometimes the changes are not at all significant, but they let us unify the schemas.\\012----------------------------------------------------\\012\\012DROP FUNCTION move_exp_samples_to_group();\\012\\012CREATE OR REPLACE FUNCTION controlled_vocabulary_check() RETURNS "trigger"\\012    AS $$\\012DECLARE\\012   v_code  CODE;\\012BEGIN\\012\\012   select code into v_code from data_types where id = NEW.daty_id;\\012\\012   -- Check if the data is of type "CONTROLLEDVOCABULARY"\\012   if v_code = 'CONTROLLEDVOCABULARY' then\\012      if NEW.covo_id IS NULL then\\012         RAISE EXCEPTION 'Insert/Update of Property Type (Code: %) failed, as its Data Type is CONTROLLEDVOCABULARY, but it is not linked to a Controlled Vocabulary.', NEW.code;\\012      end if;\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$\\012    LANGUAGE plpgsql;\\012\\012\\012CREATE OR REPLACE FUNCTION external_data_storage_format_check() RETURNS "trigger"\\012    AS $$\\012DECLARE\\012   v_covo_code  CODE;\\012   data_code CODE;\\012BEGIN\\012\\012   select code into v_covo_code from controlled_vocabularies\\012      where is_internal_namespace = true and \\012         id = (select covo_id from controlled_vocabulary_terms where id = NEW.cvte_id_stor_fmt);\\012   -- Check if the data storage format is a term of the controlled vocabulary "STORAGE_FORMAT"\\012   if v_covo_code != 'STORAGE_FORMAT' then\\012      select code into data_code from data where id = NEW.data_id; \\012      RAISE EXCEPTION 'Insert/Update of Data (Code: %) failed, as its Storage Format is %, but is required to be STORAGE_FORMAT.', data_code, v_covo_code;\\012   end if;\\012\\012   RETURN NEW;\\012\\012END;\\012$$\\012    LANGUAGE plpgsql;\\012\\012\\012CREATE SEQUENCE data_set_relationship_id_seq\\012        START WITH 1\\012        INCREMENT BY 1\\012        NO MAXVALUE\\012        NO MINVALUE\\012        CACHE 1;\\012\\012ALTER SEQUENCE group_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE material_batch_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE material_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE material_property_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE project_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE sample_id_seq\\012        RESTART WITH 1;\\012\\012ALTER SEQUENCE sample_property_id_seq\\012        RESTART WITH 1;\\012\\012ALTER TABLE controlled_vocabularies\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE controlled_vocabulary_terms\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE data\\012        ALTER COLUMN code DROP NOT NULL,\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL,\\012        ALTER COLUMN is_placeholder SET DEFAULT false,\\012        ALTER COLUMN is_placeholder DROP NOT NULL;\\012\\012ALTER TABLE experiment_attachments\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE experiment_properties\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE experiment_type_property_types\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE experiments\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE invalidations\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE material_batches\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE material_properties\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE material_type_property_types\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE materials\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE procedures\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE property_types\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE sample_properties\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE sample_type_property_types\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE samples\\012        ALTER COLUMN registration_timestamp SET DEFAULT now(),\\012        ALTER COLUMN registration_timestamp SET NOT NULL;\\012\\012ALTER TABLE data_set_relationships\\012        DROP CONSTRAINT dsre_pk;\\012\\012ALTER TABLE sample_inputs\\012        DROP CONSTRAINT sain_pk;\\012\\012ALTER TABLE sample_inputs\\012        ADD CONSTRAINT sain_pk PRIMARY KEY (proc_id, samp_id);\\012\\012ALTER TABLE data\\012        DROP CONSTRAINT data_proc_fk;\\012\\012ALTER TABLE data\\012        DROP CONSTRAINT data_samp_derived_from_fk;\\012\\012ALTER TABLE data\\012        DROP CONSTRAINT data_samp_fk;\\012\\012ALTER TABLE data\\012        ADD CONSTRAINT data_proc_produced_by_fk FOREIGN KEY (proc_id_produced_by) REFERENCES procedures(id);\\012\\012ALTER TABLE data\\012        ADD CONSTRAINT data_samp_fk_acquired_from FOREIGN KEY (samp_id_acquired_from) REFERENCES samples(id);\\012\\012ALTER TABLE data\\012        ADD CONSTRAINT data_samp_fk_derived_from FOREIGN KEY (samp_id_derived_from) REFERENCES samples(id);\\012\\012ALTER TABLE data_set_relationships\\012        ADD CONSTRAINT dsre_bk_uk UNIQUE (data_id_child, data_id_parent);\\012\\012-- There was a bug in migration from db 7 to 18 - the constraint was not created. So we create it if it does not exist.\\012create function add_mapr_bk_uk_constraint() returns void AS $$\\012begin\\012   perform *\\012     FROM information_schema.table_constraints WHERE constraint_name='mapr_bk_uk';\\012   if not found\\012   then\\012\\011\\011\\011ALTER TABLE material_properties\\012        ADD CONSTRAINT mapr_bk_uk UNIQUE (mate_id, mtpt_id);\\012   end if;\\012end;\\012$$ language 'plpgsql';\\012select add_mapr_bk_uk_constraint();\\012drop function add_mapr_bk_uk_constraint();\\012\\012-- There was a bug in migration from db 7 to 18 - the constraint was not dropped. So we drop it now if it exists.\\012create function remove_maty_uk_constraint() returns void AS $$\\012begin\\012   perform *\\012     FROM information_schema.table_constraints WHERE constraint_name='maty_uk';\\012   if found\\012   then\\012\\011\\011\\011ALTER TABLE material_types DROP CONSTRAINT maty_uk;\\012   end if;\\012end;\\012$$ language 'plpgsql';\\012select remove_maty_uk_constraint();\\012drop function remove_maty_uk_constraint();\\012\\012ALTER TABLE persons\\012        ADD CONSTRAINT pers_pers_fk FOREIGN KEY (pers_id_registerer) REFERENCES persons(id);\\012\\012ALTER TABLE sample_material_batches\\012        ADD CONSTRAINT samb_bk_uk UNIQUE (maba_id, samp_id);\\012\\012ALTER TABLE sample_material_batches\\012        ADD CONSTRAINT samb_maba_fk FOREIGN KEY (maba_id) REFERENCES material_batches(id);\\012\\012ALTER TABLE sample_material_batches\\012        ADD CONSTRAINT samb_samp_fk FOREIGN KEY (samp_id) REFERENCES samples(id);\\012\\012CREATE INDEX samb_maba_fk_i ON sample_material_batches USING btree (maba_id);\\012\\012CREATE INDEX samb_samp_fk_i ON sample_material_batches USING btree (samp_id);\\012\\012----------------------------------------------------\\012-- END Unify the schema\\012----------------------------------------------------\\012	\N
046	./source//sql/postgresql/migration/migration-045-046.sql	SUCCESS	2009-12-07 20:41:39.03	-- Migration from 045 to 046\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  allow longer codes \\012------------------------------------------------------------------------------------\\012\\012-- Switch all uses of the domain code (there are a lot of them!) to use varchar(40)\\012alter table CONTROLLED_VOCABULARIES alter column CODE type varchar(40);\\012alter table DATA alter column CODE type varchar(40), alter column DATA_PRODUCER_CODE type varchar(40);\\012alter table DATABASE_INSTANCES alter column CODE type varchar(40), alter column UUID type varchar(40);\\012alter table DATA_STORES alter column CODE type varchar(40);\\012alter table DATA_TYPES alter column CODE type varchar(40);\\012alter table EXPERIMENTS alter column PERM_ID type varchar(40), alter column CODE type varchar(40);\\012alter table EXPERIMENT_TYPES alter column CODE type varchar(40);\\012alter table FILE_FORMAT_TYPES alter column CODE type varchar(40);\\012alter table GROUPS alter column CODE type varchar(40);\\012alter table LOCATOR_TYPES alter column CODE type varchar(40);\\012alter table MATERIALS alter column CODE type varchar(40);\\012alter table MATERIAL_TYPES alter column CODE type varchar(40);\\012alter table DATA_SET_TYPES alter column CODE type varchar(40);\\012alter table PROJECTS alter column CODE type varchar(40);\\012alter table PROPERTY_TYPES alter column CODE type varchar(40);\\012alter table SAMPLES alter column PERM_ID type varchar(40), alter column CODE type varchar(40);\\012alter table SAMPLE_TYPES alter column CODE type varchar(40), alter column generated_code_prefix type varchar(40);\\012alter table AUTHORIZATION_GROUPS alter column CODE type varchar(40);\\012\\012-- Convert CODE to VARCHAR(60)\\012drop DOMAIN CODE;\\012create DOMAIN CODE as varchar(60);\\012\\012-- Switch all columns back to using the domain code\\012alter table CONTROLLED_VOCABULARIES alter column CODE type CODE;\\012alter table DATA alter column CODE type CODE, alter column DATA_PRODUCER_CODE type CODE;\\012alter table DATABASE_INSTANCES alter column CODE type CODE, alter column UUID type CODE;\\012alter table DATA_STORES alter column CODE type CODE;\\012alter table DATA_TYPES alter column CODE type CODE;\\012alter table EXPERIMENTS alter column PERM_ID type CODE, alter column CODE type CODE;\\012alter table EXPERIMENT_TYPES alter column CODE type CODE;\\012alter table FILE_FORMAT_TYPES alter column CODE type CODE;\\012alter table GROUPS alter column CODE type CODE;\\012alter table LOCATOR_TYPES alter column CODE type CODE;\\012alter table MATERIALS alter column CODE type CODE;\\012alter table MATERIAL_TYPES alter column CODE type CODE;\\012alter table DATA_SET_TYPES alter column CODE type CODE;\\012alter table PROJECTS alter column CODE type CODE;\\012alter table PROPERTY_TYPES alter column CODE type CODE;\\012alter table SAMPLES alter column PERM_ID type CODE, alter column CODE type CODE;\\012alter table SAMPLE_TYPES alter column CODE type CODE, alter column generated_code_prefix type CODE;\\012alter table AUTHORIZATION_GROUPS alter column CODE type CODE;\\012	\N
028	./source//sql/postgresql/migration/migration-027-028.sql	SUCCESS	2009-11-27 16:02:22.095	-- Create EXPERIMENT_ATTACHMENT_CONTENTS.\\012CREATE TABLE EXPERIMENT_ATTACHMENT_CONTENTS (ID TECH_ID NOT NULL,VALUE FILE NOT NULL);\\012CREATE SEQUENCE EXPERIMENT_ATTACHMENT_CONTENT_ID_SEQ;\\012ALTER TABLE EXPERIMENT_ATTACHMENT_CONTENTS ADD CONSTRAINT EXAC_PK PRIMARY KEY(ID);\\012\\012-- Alter EXPERIMENT_ATTACHMENTS by adding the new column which has a NULL constraint.\\012-- The NOT NULL constraint is added later on.\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD COLUMN EXAC_ID TECH_ID;\\012\\012-- Does the VALUE migration between EXPERIMENT_ATTACHMENTS to EXPERIMENT_ATTACHMENT_CONTENTS.\\012CREATE OR REPLACE FUNCTION move_exp_att_content() RETURNS integer AS $$\\012DECLARE\\012    rec RECORD;\\012    seq BIGINT;\\012BEGIN\\012  FOR rec IN SELECT id, value FROM EXPERIMENT_ATTACHMENTS LOOP\\012  \\011seq := nextval('EXPERIMENT_ATTACHMENT_CONTENT_ID_SEQ');\\012    INSERT INTO EXPERIMENT_ATTACHMENT_CONTENTS (id, value) VALUES (seq, rec.value);\\012    UPDATE EXPERIMENT_ATTACHMENTS SET exac_id = seq WHERE id = rec.id;\\012  END LOOP;\\012  RETURN 1;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012-- Call the function.\\012SELECT move_exp_att_content();\\012DROP FUNCTION move_exp_att_content();\\012\\012-- Finish EXPERIMENT_ATTACHMENTS changes.\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ADD CONSTRAINT EXAT_CONT_FK FOREIGN KEY (EXAC_ID) REFERENCES EXPERIMENT_ATTACHMENT_CONTENTS(ID);\\012ALTER TABLE EXPERIMENT_ATTACHMENTS DROP COLUMN VALUE;\\012ALTER TABLE EXPERIMENT_ATTACHMENTS ALTER COLUMN EXAC_ID SET NOT NULL;\\012CREATE INDEX EXAT_EXAC_FK_I ON EXPERIMENT_ATTACHMENTS (EXAC_ID);\\012\\012-- allow longer user names\\012ALTER TABLE PERSONS ALTER COLUMN USER_ID TYPE VARCHAR(50);\\012DROP DOMAIN user_id;\\012CREATE DOMAIN USER_ID AS VARCHAR(50);\\012ALTER TABLE PERSONS ALTER COLUMN USER_ID TYPE USER_ID;\\012	\N
029	./source//sql/postgresql/migration/migration-028-029.sql	SUCCESS	2009-11-27 16:02:26.351	-- -------\\012-- add modification_timestamp field to allow edition with Hibernate\\012-- -------\\012\\012ALTER TABLE samples\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012ALTER TABLE experiments\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012ALTER TABLE materials\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012ALTER TABLE experiment_properties\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012ALTER TABLE material_properties\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012ALTER TABLE sample_properties\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\012-- -------\\012-- add property data type which references materials\\012-- -------\\012\\012ALTER TABLE property_types\\012\\011ADD COLUMN maty_prop_id tech_id;\\012\\012ALTER TABLE property_types\\012\\011ADD CONSTRAINT prty_maty_fk FOREIGN KEY (maty_prop_id) REFERENCES material_types(id);\\012\\012ALTER TABLE experiment_properties\\012\\011ADD COLUMN mate_prop_id tech_id;\\012\\012ALTER TABLE material_properties\\012\\011ADD COLUMN mate_prop_id tech_id;\\012\\012ALTER TABLE sample_properties\\012\\011ADD COLUMN mate_prop_id tech_id;\\012\\012ALTER TABLE experiment_properties\\012\\011ADD CONSTRAINT expr_mapr_fk FOREIGN KEY (mate_prop_id) REFERENCES materials(id);\\012\\012ALTER TABLE material_properties\\012\\011ADD CONSTRAINT mapr_mapr_fk FOREIGN KEY (mate_prop_id) REFERENCES materials(id);\\012\\012ALTER TABLE sample_properties\\012\\011ADD CONSTRAINT sapr_mapr_fk FOREIGN KEY (mate_prop_id) REFERENCES materials(id);\\012\\012insert into data_types\\012(id\\012 ,code\\012 ,description)\\012 values \\012 (nextval('DATA_TYPE_ID_SEQ')\\012 ,'MATERIAL'\\012 ,'Reference to a material'\\012);\\012\\012ALTER TABLE MATERIAL_PROPERTIES DROP CONSTRAINT MAPR_CK;\\012ALTER TABLE MATERIAL_PROPERTIES ADD CONSTRAINT MAPR_CK CHECK \\012\\011((VALUE IS NOT NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NULL) OR \\012\\011 (VALUE IS NULL AND CVTE_ID IS NOT NULL AND MATE_PROP_ID IS NULL) OR\\012\\011 (VALUE IS NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NOT NULL)\\012\\011);\\012\\012ALTER TABLE EXPERIMENT_PROPERTIES DROP CONSTRAINT EXPR_CK;\\012ALTER TABLE EXPERIMENT_PROPERTIES ADD CONSTRAINT EXPR_CK CHECK \\012\\011((VALUE IS NOT NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NULL) OR \\012\\011 (VALUE IS NULL AND CVTE_ID IS NOT NULL AND MATE_PROP_ID IS NULL) OR\\012\\011 (VALUE IS NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NOT NULL)\\012\\011);\\012\\012ALTER TABLE SAMPLE_PROPERTIES DROP CONSTRAINT SAPR_CK;\\012ALTER TABLE SAMPLE_PROPERTIES ADD CONSTRAINT SAPR_CK CHECK \\012\\011((VALUE IS NOT NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NULL) OR \\012\\011 (VALUE IS NULL AND CVTE_ID IS NOT NULL AND MATE_PROP_ID IS NULL) OR\\012\\011 (VALUE IS NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NOT NULL)\\012\\011);\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Create trigger MATERIAL/SAMPLE/EXPERIMENT _PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK\\012--            It checks that if material property value is assigned to the entity,\\012--\\011\\011\\011\\011\\011\\011then the material type is equal to the one described by property type.\\012------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION MATERIAL_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_type_id  CODE;\\012   v_type_id_prop  CODE;\\012BEGIN\\012   if NEW.mate_prop_id IS NOT NULL then\\012\\011\\011\\011-- find material type id of the property type \\012\\011\\011\\011select pt.maty_prop_id into v_type_id_prop \\012\\011\\011\\011  from material_type_property_types etpt, property_types pt \\012\\011\\011\\011 where NEW.mtpt_id = etpt.id AND etpt.prty_id = pt.id;\\012\\011\\011\\012\\011\\011\\011if v_type_id_prop IS NOT NULL then\\012\\011\\011\\011\\011-- find material type id of the material which consists the entity's property value\\012\\011\\011\\011\\011select entity.maty_id into v_type_id \\012\\011\\011\\011\\011  from materials entity\\012\\011\\011\\011\\011 where NEW.mate_prop_id = entity.id;\\012\\011\\011\\011\\011if v_type_id != v_type_id_prop then\\012\\011\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of property value referencing material (id: %) failed, as referenced material type is different than expected (id %, expected id: %).', \\012\\011\\011\\011\\011\\011\\011\\011 NEW.mate_prop_id, v_type_id, v_type_id_prop;\\012\\011\\011\\011\\011end if;\\012\\011\\011\\011end if;\\012   end if;\\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER MATERIAL_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK BEFORE INSERT OR UPDATE ON material_properties\\012    FOR EACH ROW EXECUTE PROCEDURE MATERIAL_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK();\\012    \\012CREATE OR REPLACE FUNCTION SAMPLE_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_type_id  CODE;\\012   v_type_id_prop  CODE;\\012BEGIN\\012   if NEW.mate_prop_id IS NOT NULL then\\012\\011\\011\\011-- find material type id of the property type \\012\\011\\011\\011select pt.maty_prop_id into v_type_id_prop \\012\\011\\011\\011  from sample_type_property_types etpt, property_types pt \\012\\011\\011\\011 where NEW.stpt_id = etpt.id AND etpt.prty_id = pt.id;\\012\\011\\011\\012\\011\\011\\011if v_type_id_prop IS NOT NULL then\\012\\011\\011\\011\\011-- find material type id of the material which consists the entity's property value\\012\\011\\011\\011\\011select entity.maty_id into v_type_id \\012\\011\\011\\011\\011  from materials entity\\012\\011\\011\\011\\011 where NEW.mate_prop_id = entity.id;\\012\\011\\011\\011\\011if v_type_id != v_type_id_prop then\\012\\011\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of property value referencing material (id: %) failed, as referenced material type is different than expected (id %, expected id: %).', \\012\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011 NEW.mate_prop_id, v_type_id, v_type_id_prop;\\012\\011\\011\\011\\011end if;\\012\\011\\011\\011end if;\\012   end if;\\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER SAMPLE_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK BEFORE INSERT OR UPDATE ON sample_properties\\012    FOR EACH ROW EXECUTE PROCEDURE SAMPLE_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK();\\012    \\012CREATE OR REPLACE FUNCTION EXPERIMENT_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_type_id  CODE;\\012   v_type_id_prop  CODE;\\012BEGIN\\012   if NEW.mate_prop_id IS NOT NULL then\\012\\011\\011\\011-- find material type id of the property type \\012\\011\\011\\011select pt.maty_prop_id into v_type_id_prop \\012\\011\\011\\011  from experiment_type_property_types etpt, property_types pt \\012\\011\\011\\011 where NEW.etpt_id = etpt.id AND etpt.prty_id = pt.id;\\012\\011\\011\\012\\011\\011\\011if v_type_id_prop IS NOT NULL then\\012\\011\\011\\011\\011-- find material type id of the material which consists the entity's property value\\012\\011\\011\\011\\011select entity.maty_id into v_type_id \\012\\011\\011\\011\\011  from materials entity\\012\\011\\011\\011\\011 where NEW.mate_prop_id = entity.id;\\012\\011\\011\\011\\011if v_type_id != v_type_id_prop then\\012\\011\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of property value referencing material (id: %) failed, as referenced material type is different than expected (id %, expected id: %).', \\012\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011 NEW.mate_prop_id, v_type_id, v_type_id_prop;\\012\\011\\011\\011\\011end if;\\012\\011\\011\\011end if;\\012   end if;\\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER EXPERIMENT_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK BEFORE INSERT OR UPDATE ON experiment_properties\\012    FOR EACH ROW EXECUTE PROCEDURE EXPERIMENT_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK();\\012       \\012-- -------\\012-- remove the reminescents of the OBSERVABLE_TYPE\\012-- -------\\012\\012ALTER TABLE data\\012\\011DROP CONSTRAINT data_obty_fk;\\012\\012ALTER TABLE data_set_types\\012\\011DROP CONSTRAINT obty_pk;\\012\\012ALTER TABLE data_set_types\\012\\011ADD CONSTRAINT dsty_pk PRIMARY KEY (id);\\012\\012ALTER TABLE data\\012\\011ADD CONSTRAINT data_dsty_fk FOREIGN KEY (dsty_id) REFERENCES data_set_types(id);\\012\\012ALTER TABLE data_set_types\\012\\011DROP CONSTRAINT obty_bk_uk;\\012\\012ALTER TABLE data_set_types\\012\\011DROP CONSTRAINT obty_dbin_fk;\\012\\012ALTER TABLE data_set_types\\012\\011ADD CONSTRAINT dsty_bk_uk UNIQUE (code, dbin_id);\\012\\012ALTER TABLE data_set_types\\012\\011ADD CONSTRAINT dsty_dbin_fk FOREIGN KEY (dbin_id) REFERENCES database_instances(id);\\012\\012DROP INDEX data_obty_fk_i;\\012\\012CREATE INDEX data_dsty_fk_i ON data(dsty_id);\\012	\N
047	../openbis/source//sql/postgresql/migration/migration-046-047.sql	SUCCESS	2010-01-06 20:36:02.163	-- Migration from 046 to 047\\012\\012------------------------------------------------------------------------------------\\012--  Add "main data set pattern" to data set types \\012------------------------------------------------------------------------------------\\012\\012ALTER TABLE data_set_types ADD COLUMN main_ds_pattern VARCHAR(300);\\012ALTER TABLE data_set_types ADD COLUMN main_ds_path VARCHAR(1000);\\012	\N
030	./source//sql/postgresql/migration/migration-029-030.sql	SUCCESS	2009-11-27 16:02:26.954	-- -------\\012-- add modification_timestamp field to allow edition with Hibernate\\012-- -------\\012ALTER TABLE data\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE experiment_types\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE sample_types\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE material_types\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE data_set_types\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012ALTER TABLE controlled_vocabularies\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012-- -------\\012-- add properties to data sets\\012-- -------\\012CREATE TABLE DATA_SET_PROPERTIES (ID TECH_ID NOT NULL,DS_ID TECH_ID NOT NULL,DSTPT_ID TECH_ID NOT NULL,VALUE GENERIC_VALUE,CVTE_ID TECH_ID, MATE_PROP_ID TECH_ID, PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP, MODIFICATION_TIMESTAMP TIME_STAMP DEFAULT CURRENT_TIMESTAMP);\\012CREATE TABLE DATA_SET_TYPE_PROPERTY_TYPES (ID TECH_ID NOT NULL,DSTY_ID TECH_ID NOT NULL,PRTY_ID TECH_ID NOT NULL,IS_MANDATORY BOOLEAN_CHAR NOT NULL DEFAULT 'F',IS_MANAGED_INTERNALLY BOOLEAN_CHAR NOT NULL DEFAULT 'F',PERS_ID_REGISTERER TECH_ID NOT NULL,REGISTRATION_TIMESTAMP TIME_STAMP_DFL NOT NULL DEFAULT CURRENT_TIMESTAMP);\\012\\012CREATE SEQUENCE DATA_SET_PROPERTY_ID_SEQ;\\012CREATE SEQUENCE DSTPT_ID_SEQ;\\012\\012ALTER TABLE DATA_SET_TYPE_PROPERTY_TYPES ADD CONSTRAINT DSTPT_PK PRIMARY KEY(ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_PK PRIMARY KEY(ID);\\012\\012ALTER TABLE DATA_SET_TYPE_PROPERTY_TYPES ADD CONSTRAINT DSTPT_BK_UK UNIQUE(DSTY_ID,PRTY_ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_BK_UK UNIQUE(DS_ID,DSTPT_ID);\\012\\012\\012ALTER TABLE DATA_SET_TYPE_PROPERTY_TYPES ADD CONSTRAINT DSTPT_DSTY_FK FOREIGN KEY (DSTY_ID) REFERENCES DATA_SET_TYPES(ID);\\012ALTER TABLE DATA_SET_TYPE_PROPERTY_TYPES ADD CONSTRAINT DSTPT_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE DATA_SET_TYPE_PROPERTY_TYPES ADD CONSTRAINT DSTPT_PRTY_FK FOREIGN KEY (PRTY_ID) REFERENCES PROPERTY_TYPES(ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_CVTE_FK FOREIGN KEY (CVTE_ID) REFERENCES CONTROLLED_VOCABULARY_TERMS(ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_DSTPT_FK FOREIGN KEY (DSTPT_ID) REFERENCES DATA_SET_TYPE_PROPERTY_TYPES(ID) ON DELETE CASCADE;\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_DS_FK FOREIGN KEY (DS_ID) REFERENCES DATA(ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_PERS_FK FOREIGN KEY (PERS_ID_REGISTERER) REFERENCES PERSONS(ID);\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_MAPR_FK FOREIGN KEY (MATE_PROP_ID) REFERENCES MATERIALS(ID);\\012\\012ALTER TABLE DATA_SET_PROPERTIES ADD CONSTRAINT DSPR_CK CHECK \\012\\011((VALUE IS NOT NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NULL) OR \\012\\011 (VALUE IS NULL AND CVTE_ID IS NOT NULL AND MATE_PROP_ID IS NULL) OR\\012\\011 (VALUE IS NULL AND CVTE_ID IS NULL AND MATE_PROP_ID IS NOT NULL)\\012\\011);\\012\\012CREATE INDEX DSPR_CVTE_FK_I ON DATA_SET_PROPERTIES (CVTE_ID);\\012CREATE INDEX DSPR_DSTPT_FK_I ON DATA_SET_PROPERTIES (DSTPT_ID);\\012CREATE INDEX DSPR_DS_FK_I ON DATA_SET_PROPERTIES (DS_ID);\\012CREATE INDEX DSPR_PERS_FK_I ON DATA_SET_PROPERTIES (PERS_ID_REGISTERER);\\012CREATE INDEX DSTPT_DSTY_FK_I ON DATA_SET_TYPE_PROPERTY_TYPES (DSTY_ID);\\012CREATE INDEX DSTPT_PERS_FK_I ON DATA_SET_TYPE_PROPERTY_TYPES (PERS_ID_REGISTERER);\\012CREATE INDEX DSTPT_PRTY_FK_I ON DATA_SET_TYPE_PROPERTY_TYPES (PRTY_ID);\\012\\012CREATE OR REPLACE FUNCTION DATA_SET_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   v_type_id  CODE;\\012   v_type_id_prop  CODE;\\012BEGIN\\012   if NEW.mate_prop_id IS NOT NULL then\\012\\011\\011\\011-- find material type id of the property type \\012\\011\\011\\011select pt.maty_prop_id into v_type_id_prop \\012\\011\\011\\011  from data_set_type_property_types dstpt, property_types pt \\012\\011\\011\\011 where NEW.dstpt_id = dstpt.id AND dstpt.prty_id = pt.id;\\012\\011\\011\\012\\011\\011\\011if v_type_id_prop IS NOT NULL then\\012\\011\\011\\011\\011-- find material type id of the material which consists the entity's property value\\012\\011\\011\\011\\011select entity.maty_id into v_type_id \\012\\011\\011\\011\\011  from materials entity\\012\\011\\011\\011\\011 where NEW.mate_prop_id = entity.id;\\012\\011\\011\\011\\011if v_type_id != v_type_id_prop then\\012\\011\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of property value referencing material (id: %) failed, as referenced material type is different than expected (id %, expected id: %).', \\012\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011\\011 NEW.mate_prop_id, v_type_id, v_type_id_prop;\\012\\011\\011\\011\\011end if;\\012\\011\\011\\011end if;\\012   end if;\\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012CREATE TRIGGER DATA_SET_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK BEFORE INSERT OR UPDATE ON data_set_properties\\012    FOR EACH ROW EXECUTE PROCEDURE DATA_SET_PROPERTY_WITH_MATERIAL_DATA_TYPE_CHECK();   \\012	\N
031	./source//sql/postgresql/migration/migration-030-031.sql	SUCCESS	2009-11-27 16:02:27.2	-- -------\\012-- Change attachment table names, they should no longer mention the experiment\\012-- -------\\012\\012ALTER TABLE experiment_attachment_contents RENAME TO attachment_contents;\\012ALTER TABLE experiment_attachments RENAME TO attachments;\\012\\012ALTER TABLE EXPERIMENT_ATTACHMENT_ID_SEQ RENAME TO ATTACHMENT_ID_SEQ;\\012ALTER TABLE EXPERIMENT_ATTACHMENT_CONTENT_ID_SEQ RENAME TO ATTACHMENT_CONTENT_ID_SEQ;\\012\\012ALTER INDEX EXAT_EXPE_FK_I RENAME TO ATTA_EXPE_FK_I;\\012ALTER INDEX EXAT_PERS_FK_I RENAME TO ATTA_PERS_FK_I;\\012-- Index couldn't be renamed because it might not exist\\012DROP INDEX IF EXISTS EXAT_EXAC_FK_I; \\012CREATE INDEX ATTA_EXAC_FK_I ON ATTACHMENTS (EXAC_ID);\\012\\012-- it's not possible to rename constraints, we drop and create them with different names\\012\\012ALTER TABLE attachments\\012\\011DROP CONSTRAINT exat_cont_fk;\\012ALTER TABLE attachments\\012\\011DROP CONSTRAINT exat_expe_fk;\\012ALTER TABLE attachments\\012\\011DROP CONSTRAINT exat_pers_fk;\\012ALTER TABLE attachments\\012\\011DROP CONSTRAINT exat_pk;\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_pk PRIMARY KEY (id);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_cont_fk FOREIGN KEY (exac_id) REFERENCES attachment_contents(id);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_expe_fk FOREIGN KEY (expe_id) REFERENCES experiments(id);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_pers_fk FOREIGN KEY (pers_id_registerer) REFERENCES persons(id);\\012\\012-- -------\\012-- Add an arc connection from attachment to project and sample tables\\012-- -------\\012\\012ALTER TABLE attachments\\012\\011ADD COLUMN samp_id tech_id,\\012\\011ADD COLUMN proj_id tech_id,\\012\\011ALTER COLUMN expe_id DROP NOT NULL;\\012\\011\\012ALTER TABLE attachments\\012\\011DROP CONSTRAINT exat_bk_uk;\\012\\011\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_arc_ck CHECK ((((((expe_id IS NOT NULL) AND (proj_id IS NULL)) AND (samp_id IS NULL)) OR (((expe_id IS NULL) AND (proj_id IS NOT NULL)) AND (samp_id IS NULL))) OR (((expe_id IS NULL) AND (proj_id IS NULL)) AND (samp_id IS NOT NULL))));\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_expe_bk_uk UNIQUE (expe_id, file_name, version);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_proj_bk_uk UNIQUE (proj_id, file_name, version);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_samp_bk_uk UNIQUE (samp_id, file_name, version);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_proj_fk FOREIGN KEY (proj_id) REFERENCES projects(id);\\012\\012ALTER TABLE attachments\\012\\011ADD CONSTRAINT atta_samp_fk FOREIGN KEY (samp_id) REFERENCES samples(id);\\012\\012CREATE INDEX ATTA_SAMP_FK_I ON ATTACHMENTS (SAMP_ID);\\012CREATE INDEX ATTA_PROJ_FK_I ON ATTACHMENTS (PROJ_ID);\\012\\012-- -------\\012-- Add modification timestamp to project table to allow edition\\012-- -------\\012\\012ALTER TABLE projects\\012\\011ADD COLUMN modification_timestamp TIME_STAMP DEFAULT CURRENT_TIMESTAMP;\\012\\011\\012-- -------\\012-- Add new datatypes\\012-- -------\\012\\012insert into data_types\\012(id\\012 ,code\\012 ,description)\\012 values \\012 (nextval('DATA_TYPE_ID_SEQ')\\012 ,'HYPERLINK'\\012 ,'Address of a web page'\\012);\\012\\012insert into data_types\\012(id\\012 ,code\\012 ,description)\\012 values \\012 (nextval('DATA_TYPE_ID_SEQ')\\012 ,'MULTILINE_VARCHAR'\\012 ,'Long text'\\012);\\012\\012-- -------\\012-- Added explicit lock Samples table in exclusive mode to prevent race condition\\012-- -------\\012\\012CREATE OR REPLACE FUNCTION SAMPLE_CODE_UNIQUENESS_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   counter  INTEGER;\\012BEGIN\\012\\011LOCK TABLE samples IN EXCLUSIVE MODE;\\012\\011IF (NEW.samp_id_part_of is NULL) THEN\\012\\011\\011IF (NEW.dbin_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and dbin_id = NEW.dbin_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011ELSIF (NEW.grou_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and grou_id = NEW.grou_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011END IF;\\012        ELSE\\012\\011\\011IF (NEW.dbin_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and dbin_id = NEW.dbin_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code and being the part of the same parent already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011ELSIF (NEW.grou_id is not NULL) THEN\\012\\011\\011\\011SELECT count(*) into counter FROM samples \\012\\011\\011\\011\\011where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and grou_id = NEW.grou_id;\\012\\011\\011\\011IF (counter > 0) THEN\\012\\011\\011\\011\\011RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code and being the part of the same parent already exists.', NEW.code;\\012\\011\\011\\011END IF;\\012\\011\\011END IF;\\012        END IF;   \\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012	\N
032	./source//sql/postgresql/migration/migration-031-032.sql	SUCCESS	2009-11-27 16:02:44.708	-- -------\\012-- Modify MATERIAL_BATCHES\\012-- -------\\012\\012ALTER TABLE material_batches\\012    DROP COLUMN proc_id;\\012\\012-- -------\\012-- Modify SAMPLES\\012-- -------\\012\\012ALTER TABLE samples\\012    ADD COLUMN expe_id tech_id;\\012\\012ALTER TABLE samples\\012    ADD CONSTRAINT samp_expe_fk FOREIGN KEY (expe_id) REFERENCES experiments(id);\\012\\012CREATE INDEX samp_expe_fk_i ON samples USING btree (expe_id);\\012\\012-- relink samples directly to experiments\\012\\012UPDATE samples\\012SET expe_id = (SELECT e.id FROM experiments e, procedures p, sample_inputs si \\012               WHERE si.samp_id = samples.id AND si.proc_id = p.id AND p.expe_id = e.id AND e.inva_id IS NULL);\\012\\012\\012-- -------\\012-- Modify DATA\\012-- -------\\012\\012ALTER TABLE data\\012    ADD COLUMN expe_id tech_id;\\012\\012ALTER TABLE data\\012    ADD CONSTRAINT data_expe_fk FOREIGN KEY (expe_id) REFERENCES experiments(id);\\012\\012CREATE INDEX data_expe_fk_i ON data USING btree (expe_id);\\012\\012UPDATE data\\012SET expe_id = (SELECT e.id FROM experiments e, procedures p \\012               WHERE data.proc_id_produced_by = p.id AND p.expe_id = e.id);\\012\\012ALTER TABLE data\\012    ALTER COLUMN expe_id SET NOT NULL;\\012\\012ALTER TABLE data\\012    DROP COLUMN proc_id_produced_by;\\012\\012-- -------\\012-- Drop PROCEDURES, PROCEDURE_TYPES, and SAMPLE_INPUTS\\012-- -------\\012\\012DROP TABLE sample_inputs;\\012DROP TABLE procedures;\\012DROP TABLE procedure_types;\\012\\012DROP SEQUENCE procedure_id_seq;\\012DROP SEQUENCE procedure_type_id_seq;\\012\\012-- -------\\012-- Add CODE_SEQ\\012-- -------\\012\\012CREATE SEQUENCE CODE_SEQ;\\012\\012-- -------\\012-- Add new columns to DATA_STORES\\012-- -------\\012\\012ALTER TABLE data_stores\\012    ADD COLUMN remote_url character varying(250),\\012    ADD COLUMN session_token character varying(50),\\012    ADD COLUMN modification_timestamp time_stamp DEFAULT now();\\012\\012UPDATE data_stores\\012SET remote_url = '', session_token='';\\012\\012ALTER TABLE data_stores\\012    ALTER COLUMN remote_url SET NOT NULL,\\012    ALTER COLUMN session_token SET NOT NULL;\\012\\012-- -------\\012-- Drop foreign keys onto DATA_STORES\\012-- -------\\012\\012ALTER TABLE database_instances\\012    DROP COLUMN dast_id;\\012\\012ALTER TABLE groups\\012    DROP COLUMN dast_id;\\012\\012ALTER TABLE projects\\012    DROP COLUMN dast_id;\\012\\012ALTER TABLE experiments\\012    DROP COLUMN dast_id;\\012\\012-- -------\\012-- Add foreign key from DATA onto DATA_STORES\\012-- -------\\012\\012ALTER TABLE data\\012    ADD COLUMN dast_id tech_id;\\012\\012ALTER TABLE data\\012    ADD CONSTRAINT data_dast_fk FOREIGN KEY (dast_id) REFERENCES data_stores(id);\\012\\012UPDATE data\\012SET dast_id = (select id from data_stores where code = 'STANDARD');\\012\\012ALTER TABLE data\\012    ALTER COLUMN dast_id SET NOT NULL;\\012\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  Replace trigger SAMPLE_CODE_UNIQUENESS_CHECK \\012------------------------------------------------------------------------------------\\012\\012CREATE OR REPLACE FUNCTION SAMPLE_CODE_UNIQUENESS_CHECK() RETURNS trigger AS $$\\012DECLARE\\012   counter  INTEGER;\\012BEGIN\\012    LOCK TABLE samples IN EXCLUSIVE MODE;\\012    IF (NEW.samp_id_part_of is NULL) THEN\\012        IF (NEW.dbin_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and dbin_id = NEW.dbin_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code already exists.', NEW.code;\\012            END IF;\\012        ELSIF (NEW.grou_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of is NULL and grou_id = NEW.grou_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code already exists.', NEW.code;\\012            END IF;\\012        END IF;\\012        ELSE\\012        IF (NEW.dbin_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and dbin_id = NEW.dbin_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because database instance sample with the same code and being the part of the same parent already exists.', NEW.code;\\012            END IF;\\012        ELSIF (NEW.grou_id is not NULL) THEN\\012            SELECT count(*) into counter FROM samples \\012                where id != NEW.id and code = NEW.code and samp_id_part_of = NEW.samp_id_part_of and grou_id = NEW.grou_id;\\012            IF (counter > 0) THEN\\012                RAISE EXCEPTION 'Insert/Update of Sample (Code: %) failed because group sample with the same code and being the part of the same parent already exists.', NEW.code;\\012            END IF;\\012        END IF;\\012        END IF;   \\012   RETURN NEW;\\012END;\\012$$ LANGUAGE 'plpgsql';\\012\\012------------------------------------------------------------------------------------\\012--  Purpose:  allow longer user ids \\012------------------------------------------------------------------------------------\\012\\012alter table persons alter column user_id type varchar(50);\\012drop domain user_id;\\012create domain user_id as varchar(50);\\012alter table persons alter column user_id type user_id;\\012\\012\\012	\N
