Вверх ↑
Этот топик читают: Гость
Ответов: 3
Рейтинг: 0
#1: 2017-04-20 18:35:31 ЛС | профиль | цитата
Всем привет, это моя первая программа... И естественно много-го я не знаю. Конечно я учусь, читаю, смотрю уроки, но все же от форумной помощи не откажусь, более того просто нуждаюсь
Сделал для себя программку в которой можно выбирать нужные функции и заносить их в буфер обмена. Все сделал в принципе как и хотел, но есть проблемка, мне нужно чтобы на выходе все тексты с edit, comboBox и Memo заносились в буфер обмена одной строчкой.
Пример как нужно: ру 2, рота, юниор, никнаме - п.1.2 - прошу роспустить. А оно каждый текст размещает на новую строчку:
ру 2,
рота,
юниор,
никнаме
- п.1.2
- прошу роспустить




Что можно сделать?

Редактировалось 2 раз(а), последний 2017-04-20 18:36:29
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26066
Рейтинг: 2120
#2: 2017-04-20 19:07:23 ЛС | профиль | цитата
Поставить Replace и заменить все переводы строки на пустую строку

Схема

Add(MainForm,2953706,133,147)
{
Width=438
Height=332
link(onCreate,3634003:doReplace,[])
}
Add(Memo,15921983,196,84)
{
Left=20
Top=10
Width=200
Height=240
Strings=#6:ру 2, |6:рота, |7:юниор, |7:никнаме|8:- п.1.2 |18:- прошу роспустить|
}
Add(Edit,10519917,266,161)
{
Left=20
Top=260
Width=395
Text=""
}
Add(Replace,3634003,196,161)
{
SubStr="\r\n"
link(onReplace,10519917:doText,[])
link(Str,15921983:Text,[])
}


Редактировалось 1 раз(а), последний 2017-04-20 19:07:52
карма: 22

0
Ответов: 3
Рейтинг: 0
#3: 2017-04-20 20:33:46 ЛС | профиль | цитата
Странно, где-то допускаю ошибочку... Хотя... Может что-то с ним конфликтует? Или такого не может быть?
Дело в том что оно не работает, но, быстро набросал новый проект с такой же схемой, работает...
Не работает

А этот работает


ммм... хелп...

Редактировалось 2 раз(а), последний 2017-04-20 20:35:18
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#4: 2017-04-20 22:47:10 ЛС | профиль | цитата
Project писал(а):
ммм... хелп...

Схемы выкладывают не картинками а кодом (выбрать все на поле и нажать CTRL-C), обрамляя его в тег code и пряча тег code под спойлер, между началом тега code и его концом вставляешь скопированный текст.

Да, еще -- в элементе Replace, который я показал использовать можно только одну точку Str, остальные точки обязательно должны быть пустыми. Если используется внешний запуск с неопределенными данными, то лучше сделать вот так

Схема

Add(Replace,3634003,196,161)
{
SubStr="\r\n"
}
Add(DoData,9327126,147,161)
{
link(onEventData,3634003:doReplace,[])
}
те на вход поставить компонент DoData с пустыми данными. Это делается для исключения чтения данных из потока в силу особенности реализации опроса параметров -- сначала читаем верхнюю точку, если ее нет, то свойство, если свойство пустое, то читаем поток. DestStr в моем элементе не должно иметь ни верхней точки, ни свойства, тч запросто может считать поток, вот для этого и ставится пустой DoData

Редактировалось 3 раз(а), последний 2017-04-20 22:58:25
карма: 22

0
Ответов: 3
Рейтинг: 0
#5: 2017-04-20 23:35:05 ЛС | профиль | цитата
Сделал по Вашему совету и коду, все сработало. Огромное Вам спасибо! Дай Вам Бог здоровья!
Схема

Add(SimpleForm,2953706,42,28)
{
Left=700
Top=450
Width=586
Height=311
Color=-16777212
Font=[OpenSymbol,8,0,0,0]
Caption="Генератор сообщений МЧ"
Icon=[ZIPBEA2000078DAC47D057C54D7F6756CDC2DEE0A11424288400C08EE1608EE0427B8BB1342B00477B752F7F6D59DD202A52DB4859652DC5DBABEBDF76428AF4FE095F7BD3FFD9DDE993B93997BCF3A7BADB58F8D9B9B3BFDD7AB971BFD3FD46DFB4637376F3737B74A54E894DBC76ECEF3FC2F77B5DB3FFCAB953F0AF903E6A3606829FA4E5A8B61737760D08CCDE83A62290A0697A051FE6028945EC84CCB454E5E53346ADC1C0DEA3643BD864D518F8E8D1BB744FDFA4D51B76E6329F51B34415EDD86A857BF3192ABA541A3D3A34EDD7A6840EFE722EFA1F7376AD80A0D1BB4A4D2047A9D09FE7E41309B2C080D0983AF8F1F7CBC7D11121282CAB19560B559101915016F1F871C0302FD61B3D9A0D368A0D11AE1E9A586C96C87C3DB1FBEF4395AFA3C2E2AB51E6A3A72D119AD305A1C30D0FBB8F0633EA731D0DFABD450D1757AA93550EB0D506A750FCF1BF46628BC94888C8CC49C3973B066CD1A6CDEBA15BBF73E83AD3BF660E7EE3DD8B4652BA2622AA16CF90A2C58588AC54B9761C5AAD558B2AC0C53A7CF4066760E162D598A2EDDBAA3598B96183D761C96952F47AF3E7D316CC4480C1D361C45C34760D498B1781C1E590DBAC0663522A7662DD4AAD75CF0A84FB8E4D577D67FBD7A4DA43468D0EC211E5CEF8C47486824E2AB24A27EC3460FCF33160D1BD267D4739546888C88212C6C301A4CD0A8B5502A547254281450A89570F7F2804AAB8646AF45584404AC763BB47A3DA839C1A4D142EBA580DD6882B7D9023F9B5DCE59A87E0D549F467A9F41A783C56482CD6281D56C96C28F4D06030C54542A15B45A2D3484AF9EDEAFA3F71B8D46A8D58493C68680E068D4CCAE8D92D252AAE755585A56866D3B7662E7AE670497E12347A145ABD698397B8ED43BE3B0B4AC1CA58B97C8F9DE7D0B3171F214F41B301093A64CC59469D3E5F531E3C60B5EFC773366CDC6B41933FF2D1EED072D40627A13848704A04E4E5DD4A1F6ECC2A336C540FD0A3C1807C6232FAF91E0207140F5CC6D36B7761DD4ADDF40CE4BA1F7734CD5654CEB1096F4392914472AA516DE0E1F8A15836061B5D8E0EDED0D83C92C31C6ED5645B1C06D9B8F6A9D598ACEE445AFB9C36CD7C06051CA91CF19AD84A9C10326A51B8C0A3758356EB0EB3CE4C8C5A67597D72C1A0FE8BDE83D4A6731ABDDA558B59E30D0DFC526D5466CD52C346C9E8FE2854BB07CE54A6AFF4B2526B66CDD49B1B24DEE8FDBF8F499B3B070D162C183E384EBB8725CBCC4033F661CB8CE274C9A8C11A34663ECF809983D779EE05652BA487071E1D17EC8C287780C9CBEE9211E51556A23AE5204EAD56E803CE69846C455548FB5F2A88EA9FE1B356A813A751A0A267C7471551D7A9D39A35AF554A4A66720B7565DE4E4E6218770653C98EB188FC6F47975E9BD495553502521918EC98889AE84A0C060040404C02F300C36EF00A465D442D5E41A884B4843647455BACFEAF238A64A0EA2E2B310975C07D109D9A85CB5961CF9399F8FA1FA8CA67395ABE521AE7A3D39BA0A9F8F4B6B88E8E43C544AA9272536B5819C4BC8682CCF9BB41B8098C45C3469DD097316940ACF30268C03C707F31273C0F8899330AF7801E62F28113CF8C8384457AA2CF5CF78D5CEAB4BD71E8384C4AA30522CB76E9BFF30A6180F8E957A6DFAA355B7892818300FDD462F429F492B3174E62E74292A239C66C361F7455A4A166A65513DD76DEED4096A0F0D1B57F054A356A853BB317273EB495BAF9B570F313131141B469070C1D38DDAA8DE48BA1041F59D84EAD56BA226711F63975BBB917C1EC7555E05B65CF831E3C6EF8D8B8B42545275342B2C4743BAD65E1DBBA045DB5C24C4C5A16EBB4234EF538C865D66A06E872972ACDD6E225AF69A877A0593D1AAF77C34E9518C167D16A261B759C8EB30092DFBCE43B3DE33D1B8C73434EB33034D0614A36ECF5968D8673E1AF49E87863DE96FE871CBBEF3D1ACFB2CD4ED3A03D5EB74405A6A0EE6CE9A8615AB5762F99AB5C2577BB6EFC0E4A9F439CD5B63FCA46998346D3616942E132C66CF9E8D9EDDBBA15D410774EDDE032161E168DEB295E8073F1E52344CF88AE38363AAB86421FA0F1C049FD004E26123E29372D1AEEF08741C568CB683CBD0716819DAF6990A4F4F4F54AF9681FA759AA141FD964ECD68D0D0C95BA405B56B35126DE6C759C4B15A8D4EFE86B9DDC3D31D5EEE9EF0F4F0A2E7EE543C61249D609DCFC8C841AD5AF585E7181BFE7B57E1EFA8512317A9A9997058CC68D47A307A8E2E45618F8E685EA72D5AB59C888E03FBA1714E63F41EB71E1D862C43BB818BD1898E9DE9BA074CDA8C9EA35663E0C4CDE8356A1DBA16AD44EF316BD171F052741FB1023D46AEA4D75761E0E4CDE83F7E35064DD980FE93D7D1BD2F16DEEE326AA9D443D7D10BD194B0AADDB4277CBD033163CA642C29A3B64CFAB166FD66ECD9B91B85858518397A0C468F9B8411A3C70B2EDCCE274C9840F7570B39B56A4B1C70FBAD5295DA635ABAC40A63C158725CB8749FDF7BEEE2799CFCE94734A95B1B8929D5D1AE703CDAF45F82B67D4BD1BCF35869E369A9E968D480F16821BAC078306FF173AE3F6ECF69695930936771F3F0143C581F190F7EECE1E1012F2F2FF1294AF230FC9E4AB171A855274FB49DF1600E139DAFC0833F8FF17073F3A23A9A856EE34B3171CA4C7CF6E19750BAEDC0BC595F60FAB85598B4A00CBD864F90327CF25C8C9DB910C326CD41FF5153306646090A874D40FF11933074EC2C8C9CBA0003C7CC40FF91D33164C23CF41B35033D874EC188694BD179F0748C9EB311BDC62E43B7114BA83D122E458B91DF7F2E5AB41F020F771D0614F6C7E2F2322C5AB102EB366DC696CD5BD1BB4F2F444747D3BDD44127F24F83A8DDF725DD8EAE5409DD7BF6C4DAF51BC437058584A263E72EA219E3264C143C58DB399698AFF85C405030F0E0064EFF721C79399978F9B557A0F78D44AFA245E859B40CF5DB0E23ED744766564DF1A55C57AC0DCC57E29348DF199FCCCCDA88888E93BAE3187061C258BABBBB4BAC7079F4B12779A794D45489112ECC53A22BC4818C2F735574743CE941067A0E5B827E13D6A047BF091835621FDE7CF73D041B17E1F9B7DFC3B405AB3061F6324C9DB71C13662EC1DCC5EBB174CD2E94AFDD83B235BBB16EFB8B285EB611F3976EC4CC92D598387B3966956EC4E4B9AB306E4619864D5B8C11B3CA2956966274F136E2EACD18386593C44FA72114274316A3598751484E6D88D8F8540C252F357F512996AF5A81F5EB566115F1D7829262F2ABC3290EDAC2273000B5C8DF2F26FF54423A9D95932B9E863584F58471607CF831E3C19AC35ADFB3771FD4CCCA163CDE7BFF63B4CEEF828F0F1CC0E419B39191D51C7D8A16A0769BE1E4D3D5A4C539C4494D9DDEB6C227715B6EDCA88D78EBA4E454C12233B72EFAF41B2C7AE5E3E3030FAAF71C8AD91A9999A4BD09B0934F75F1186315141C88F4F46CC1E351CFCC2525A506F94D23C5E850F41CB848B8A568DE739851BA1803274CC3DACDCF62C8A2B51855FC0C86CDD9853125CFA268F64E8C9EBF17C3E9C865D82CF28AB3B662D8FC5D18B1600F86CEDE8621F4BC68CE768CA273C3F9386F8F9441D3B762F0EC1D18326727462D7C0683676DC4C0696BD16E5839DAF62B46E376C31156A9261C419128E8DA0593268FC7CAF2250FFDEF9A75EB289FE823F739AFB81879C421011413CC41ACE9CCD719353391DFBE40720EE62AF6C0EC031823C6AC47AFDEB87BF73A76EC7D19BD074FC0F36FBC8D035F7D41BA9B8A3E836621A7F530F2F94AD2D61C34E13C90EBAB9E3397E0B6CC7A52BD7A75F93E83C51B6B366CC54BAFBD2D31C2E7632BC5889F484C4A26DE4C839E3CBDAFAFAFF017E3613419A4DEB3B2EA0867B930E1CFE6F870775791EF9B8B0EC3D761C0D4355247FDE66EA5D87E0E7DA9BE47156F4751F15E0C99B71BC34BF66120D567113DE67A1D4EE747D2B9FE737762C0BC5D1838672BFA4C5D8DDE139761D0B472741D3E13ED07920E0D2DA6B2106D0716A37DD112F4994C5A327D8BE0C33EB3CFB42DE83E7E3D0AA84D342E1889D43AADE1A63123243206CD5BE563F8E809985FB21873E71753CC2B11181828BEB05397AED2F657AE5E8355A4FFABD7AE937A673DD792778F8D4F40B71E3D2556583BB89E189F7B776F92572E47F9CA8D78E9D597B165DB0664E736408B8E45486BD21706A316356B644ACEC1F99BE879451E919D559FFC4F1C3C281F4BAA5E03CFBEFC16BE38F83DE56F6AD2EB0CC1C3CD5D21F1B86EC346C98BCC948B71BEC598A8954AF26209A85C395130619E623CB8242656476868347178393A1611BFCED88A4925AF627CF11E14CD7F86DAF74EE2A77D289AB95D6261E4DCDD184171329ADB3B3DE6E3487A5E346BB7BC3E68C26AF41BB900B51A7444484415CA950B51346C1432C86BDB28DFAB94561FF5DB0D46AB3E3345EFFB8CDF407FB70F43E76EC200CAC786D0E7F419B706F97DA7A2718741C86AD215BED1AC6F6A54A99689F61DBBA14FEFBE1839621416CC9F8F952B5661CDEAB5E48DE9B86EBDD31F532EBF6BCF5E6C20EDE15C84F9C94BA9427A8D9AA2F7CC69776F5DC314D298579E7F0EB76E9CC3575FEF47545C3AC5E710A493AFF0F3F3437A5A4D64D7A84B5ED6C927B52917C9CEAA47795C96700F635CBF710BDCFE1DF8E9D7F3484A4947D5AA55111214485AA2C49AB51B71FF01A41F2121BE8A680B63C19ED5E108A05CD88E6AE4E198B71813F6C39191B11233056316A060C47A8C9ABE03434B37A1FF826728263660E0C26731AA64274694EEC5B092DD18327F078615EF94327CC12E0C9DB71D83666FC1B0797BD173CC72F41AB9109690249496AFC76707BEC4EEDD5BB166D522AC5FB5124B172D21FE66AF59054D3A0C25BF3C199D8791868E5F4118AFC0E892ED183A6737E5C93B2566FA4E5C219EB95E976968DDB11035731AC1E11342F9AC1F32C8FB74EED81163468E267F3C47BC2C63B271F316EC7BEE796C258FBC63D76EC1869F33569CB75B6C76C9D3CE5EBC86914503F1E107AF63CFDE2D3872703FC22392D0A0F5702467B54748702832D233853FAA55CF427A461D54A77C847392C4F8EAD23E66CD5B48797C4D5CBB0FFC7AFA16962FDB0C0DF7F904D92576F81AB66CDF8DC9E4CFBBF71A487FA3C48CB98BF1CBE92BF8F6C75F1051B92A0202A3919A9C8E9A2969A849F7E4ED1786765D07525B2D439FB12B3164DA266AF3BBA48C9CB3836260E71395C2C97BD08DEA36B7497B4C24CE1E45F5C45AD763C010CC5E5A86C9B3C8F7178D434EDD2670F3D443670F475ECBBE68D96322E97929FA4C2C4721E564FDA7902F9EBE0E238823993707CDDC847E53D7A113799FD685B3D1B8CB58346C3F00D5B29B1097710EA180B7CD219EA549B3661838780866CD998BF2E5ABB17EC3166CDDBA9BDAC473D84639FE6EEE77A1D2BFDF201CFBE51486F61B884F3F7C07EFBFF3298A498B62D2AA22AF807439BB31E5C7FEE49BAB229672D018E2BCD8C46424901EA4A4A68976B14E1DFFF917F80685E2B70BD771FEF23D7C7FEC37CA45E9FEDC3DA4DC7EF03BEE50EC5CBD751723C64E90FA38F4FD4FB849F86DDFB94BFC40707024D253329041BCC7B9979BC28EBE23E6217FC842741FB752386330EB3169F0F0E2DDA2CF45F376CAF37F55F8FD9DC6AC428F718BE15B39196BB7ED228EA88F5F4EDDA038D9899FCEDFC7F5BBC0C5EBF770FADC357CB2FF0826CE5C8C80980C042790C7683F52F2C716FDE68BB6741BBB0AFDA791AECCD88E0133295E29F6FA4FDF834EA3D6A20D79B1E6FD8BD1B2700E1A509E50BFC348643729A4786F83F8849AE4FFBDC59F24529D756CDF06E3460F4169C90C942D5F4EB925B5D76DDBC4130C183C1C4DEB34C7DE7D3BF1C3F15FB175DB1684578D47838E1350BD793728885BC2C2C224A70C0C0A43687804028343E45C746404DC3DDCF0F63BEF60C6EC62D1F35BC44B3FFD761107BEFB052D0AFAC21618825F2F5EC1D53BF771F1C66D2C59B906CDDAB6C7F86933D1BA43678C281A4EDEDE13915195C51754AA9C20EDCB3BAC3A7A0E2F45ABC1A5683FA20CDD26AC454FD2DA5E5336CA919F779FB84E8EFFAEF4183E0703C6CE444C952474EDD6055EE4EF52AAA6521E644695949AE8DAB3104B97AFC15BEF7E843317AEE2B78BB770E887739852B2016ADF44F198F50BC6A071E709A8D7612C5AF49C217909C7EBD0E99B3162F676E1C3AEA3CA5040F9643BCA5BDA0DA5E3A05234EB351B75DB4EA6320EF5F347A36ECB4148AB9D8FF0B80CA8CCFED42E55B0FA0592A63546B7DE85C419F370EDFA395C3A731135726AE36FEF7F82039F7F84C42A69685A301D79ED26223AB63A62E2528953521016938CC0F00484535B8B8A4B86D6EC707A3FE2A1133F9F875A6B95383875F9328E9C3887EF4FDE44FD1605384BED8FCBCF67AFE0B5773FC1C061A3B165D73EF4EA3F4462A56CF97A391AAC0ED8BCFDA1B7F8A3469D76E845DEA76DE15C291D072F14FEE83C7411799D0568D3770EDA0F28FE97A55DFFF9527A936F0F89CD45AB0E7D51386038BE3AF42D4E9C3C8DA33FFF8A83C77EC2071F7F2E5C3A61F274346BD9163DFB0DC517DF1CC7E1E317B166E76BB0F8C54AFF959B9703899483E8BD2BC1129080B65D8B3064EC7CF4A0DCB10BF161FB41E4D3862F921C3F7FD0027419EECC29DB0E59827ADDA7A376C789A85B3001750897C69D26A2750FFABE0E13D0A0655764E43647505432F4D62034CFEF8D1BB72FE1EB83479051231BEFBDF1AA78D0BCE69D29EFEB87466D0748BF51BD56FD51AB791F8AC11E6890DF0F792D7A2034210B5B9F7B09469F30FC78E21279BBAD285FB31A77F000E7AFDEC28F27AF60F78BEFE2E82F9771FE3AF0FD2F17F0FEA787D1B3EF309C3A7B83F2A616D8B6E7359C3C7F0765EB77C2E81D84B4CC1C5427BD4A4DAF83B8C45AA852BD016293F2E4185FAD9E1C93D21B3F7CCC4757894BAEFB0FA572D53A84B5013FFF769372E1725CBA7E0BD76EDFC1D9AB5771EEEA0DDCA5F6C3E50E71EA3D3A5EA4EB3E7FF50E7E3E771DDF529BDABEF745B429E881AFBFFB19DFFC700A878E9EA47BDC4E9ED7864A493511592517E1F1D954B21055351B959373C50F5549CE223E4F4742B574C425A5A312E51031F4BC726226717F2E2AC5E7503BCF467CF53A88AD968BA41AF51153B5063CDDC7A2A0DB101CFEF663BCFED63368D3AA25FC82C2E1AE73839E3489F3042F85B33F8A1FFFB934CDEF8A97DEFE84BEAB067112D07BC050BCF8DAEB205AC6FA4DDBF1CA5B9FE1E8898B38F1DB751CFCEE14C5C664ACD9B40F277FBB81EF8E9DC58F74FCFAD8057CF1FD592C28DF409AAA869D74303888FC8ADD1F5687ED8FEFE33C920A8F873CFA5C0AF1E63F2D9ECEFE801933E73AFB0F3CBD288E75888F4F26AF52899EAB50292E1103870CC7AB6FBD83CBC4A9B70897CB771EE0F8990B38FCD319E973D9B6EF4D1C384671F5DB351CF9E512DEF8E8307D9E5EC6CFC2C322642C252632143AFA4E137DA79FCA0DDE7474283D615379C2AAE2A3026695178C54F415C5E1A9859572026F0F95149DE71B747F6DE9B303C847D746D3BC96C4B15E94B7E9116CD022CA644780D28800B50561063F84E87C10A4B521844A109D67AFC439F9F3AFFE8D70ED875FCEDDC6E01153F1E5E163B871F71E66CE5F2CFE29302C16465BA0F8AA773EFA1A751BE7134EE77185303C73ED010EFE7011FB8FFC4A31D9523C4200F9ECB09010C4C646C2CB8B727ABA4F95CA1D0A85F331173EAF54FEF3C2EFE3E2A6F0800FB5AFACBCD6F8DB274770ECD7AB387EF63A8E9FBE81D3E781D3172EE3E499F3F8E0D32FB074D55AD134E632D6BA2BB78963CFDDC1A7074F20A3760B1C3D79156728CE7FBB026943BB5FFA88305720913C614070B8E4781E74ED3E460B42AC76049BAD08325A11603021C86441103DF723DCFC292F0EB2981040F9B0373D76D0392E410E07149ACDA4C925540713A0F6EC0AAD9B0F22E96F032C16D83426FA7B15826D2644FA7A2384DEEF6732219072BA60AB1581F479E13EFEA291D1B171D8F5C29BF8EADB73F8E1E46DD28A5B724FCC05A7CE9DC7DF3EF8186B37EF4067D2CF4EBD06E0F86F97259E6EDDBF874BD420BF3E7A0607BF3F87BC7A2D05636ED34A8D0A952BC53BFBC4A8B857F48F79524EC38FBDA86DFFABC2EF91E2EE8E2FF77F8B4D9B9EC7175F9FC0D57BC04D8A5D8E5FE6A76B54E7B7C9E771EE748DC4EF369DE772E5CE1D5CBB770F97AF3EC0C953573076E21CEC79F60D9CBD700F447312EFDF1C3B83516347434FF510151545396C22D5853BFCCC36AA236F849A7DA4EE436C36271E7AAA478B1D11062B42D40644D23194B8C04F6792E2AF37538EBF0D0AB785E47166536E57042F777FC24D2775EE4F799A7CCEBF29C1161BFC8C66A8E93A14548751A16168DDB2255AB76E8DE494948A3E46257A0E1C8B45EBF7E1CDCF8FE1E4456A7B37EEE2DEDDFB9427DE033DC5673F5EC387874FC34B6B81DA8BF2454F0FAA738F87E3A80FFB215D7DF994DFF3782E3FE7BE6325E5977CE4F7F2791E77E5E76E6E3A2C5DB90DE326CD251F7E123B77EE437FCA3D72F3EAC2E2A036161E4B3A5E80D163A7E38DB73EA6BA7E205A72EBC16DD2C15BB87EEB1E2E1088FB0FFE8CEEBD87E2E4E90BB84E40FE74F62ABEFCF122E5B8AB893B9508AD540931B195A40E22E87303F5863FE2E2DF94C03F95A7C68362308430615CFCE9FB4D9407AAB86D133E3C7ECDF1C8632019997978F5DDCF71E8F8791C3B7D1D17A8915EB8F6BBE072E4E7CB78F7E0691CF8E912695D3528988BB8FE3D3C1FE2C0F5EFC2820BD735F717BBCE33067C8EC7C2B9481F805A2D1A62F1766041E952F8F887A3FFE0B1D8BCED25BCFFC9B794A7FF84CF0F1EC31BEF7E81CD3B5FC69849F3D1A45567ACDFFE8CC4C8CDDF1FE0C69DBBC4BBC0D1E397D0BDEF08E97FB84241FF3335A2F7BEFE1573E72E9498E5B18AE0D05069472116E2289DDEC957FF291ECA2D8447C95FC623826233D46495124EB1C8476E17AEB61168D0218C3499DB0D73CCF63D2F914E9CC4E7DF9DC1573F5DC1373F9DC72747CEE08343BFE1F3C33F436760FCA8BE3DDC2BC6B0DCFE69612CB8FEB9700C71DD736C709CF01C05D7B88B56EDD41AEE471B397E16BE3D7E4538F5C84F97E5F1B15F2F922E5C143DF9F6A78B5276BDF016F98CCBB8489A7E0FBF4BDEFADBA5FB18327A06BEFCE627E1BC2327AFE38B1FAE63CC98498247725A3A0282826050ABE8DE8DA4BDE6C7D6DD3FC543B591EAAAF89FE0617C223CC2080FFE6E2E21AC6346274F322E5176D27EBAB6300BB71333ACE46B3CE8DA972CDF8003A4175FFE70099F1C3A8D0F0E9EC227DF9C12AC3CC93B311E3CC788F1E0FA96FEE0477078741CC555383E180FC6C11523FC9C63D58BF8F2C8772751B6662FDEF9EC184E5C201E8253476E70BF01B5FF6B54CE5CBA8B53E76FE13BCAA518A73354F1CC5BACEB27CEDC94F194D55B9EC149FAFB2F8F5EA036750DD959B564AE45D5EAA9D2B76B224EE0B6C8F5106834FFE778A83754E031AB028F803FF0303D3EDE588F02E87BFDF446F93C8E51BE0E7F7EAEA36270D063F2153AD27EBB0306AA37F62069356AA3A0C7406C7DF6037C43EDF445E26E6EC33C66E249ED9971616FEAD28E3FE3C018711C346AD20475EAD6ADF0E3C45F1C3314233CDEE54ED878BAAB10155D1587BE3B8D412367E100796EF6B16FBDFF36D66C28C3BC8525584E39D3A7FBBFC4ADBBCE5CE4DACDDF293FBA447C7A1B371FDC24AC1EE0278A9FBD2F7F809925CBB16CED76BCF6FE61BCFEF18F722F36D28B6A141F3C67CCA8504B1D30267F89AFD4EB098FF97F190F5FFADE40D20EF672AC1F8C0D63C47E8F9F7BEB1CE4EDC867907FF0D168E14B3AABA8A85F1E67ECD17F347AF61F2E9A28FCC4638A1E151AA154FE838E731CB89ED7A953071D3B77262D1E8B83870F233129C9F9FE47E2C999BBB8932E14E09303DFA1237972876F10264F9884AD1B3760CFEEED58BB6605FAF52F94CFE47EBF5F7E3D25DEEBF2B55BB871EFA6C4D14FA76F4A3FCA675F1D43C7EE85F8FEF839942EDF01155D0F8FBDA565D4808DEED9A2D621D4E290BAF94B7AAE590B85FBDC0A3C863BF130EA9F180FFE4E8E072E2EDDE0C7ACF1619CD7596C7FF7DDECC578FE9A47459DF25809EB36B777D16185520AEB80C7237CF428673DFAD855F72FBFFAAA9496E4EB8A4B4AB06ACD1A79AD56833A70F8FBA270D04019B77C66DF0B20497858EEDF25D3FDE03EEEDD67070C3CF3ECB3D22EBEF9FE28EE906E5CBF771B64B9F0E3A95B1457B748F367526C676369F96A8ACBE6A81C1529E34FDCBFCAF32B1D3AE26CB35DEE9F39E13FC643BBE6A9F008239E0C672DA7C29CF9773A42AF47DA493FCC06BA36BD7C5F10698A9530736AB5BB7013E7792A2F27477950EEC03933CF51D42A150FBDD49FBD6E870E1DF0F2CB2FE3F3FDFB71F1F265FC76E60CBE3E7408CFBDF08270D69C79F3F0ECF3CFE3BBA3C7243778E7EDB771E5D225A9FBE3C78FCBFB56AD5F877DFBF6E1830F3EC0E9D3A771FDE64DDCBA771FAFBEF91672EB3690DCE4F2CD1B384566F0BB1357B1EBB9771EE6466EEECEF9322101FE080B0F957966462D718081720F43456CFC05BE522BF5306A86D1672FA03A1844473FD88D1AE1FC609DFF1379847F571C5A83C40817FE3E1FD2151B69BC9DF249F6457C6F1C17AE7A679FA45429A48F4678AB0213C183F5A182B396AC588EB357AFA053972EF25AC3C68DF1E5575FA14D7EBEE8868EB4E514D5F1E7873F931CE875AAE3F7DE7D0BAD9AB596B9A26DF39BA06BB77668DDAA0DEA92FE78DBED9835633A8E1E3D8AAF0E1E444272359C3C771197287C7E3A75092FBCF2A6B41FFE7E2F6A0FCE316777C4C5C6CBBC90EAC4573CDF957373976E3C095FFDB9C4C655A77BB6C3D36D34346E63882B22E167D52048E39018795A3C5C5ACF7A221A63B5414B7CC473A5792E2E8FDD4A2E4EFCC4B8F051A37562C21E4BA170725B5448286AD7A8895A3533A1227E0B226FF9DCCB2FA174F162994F70FEE24574EEDA15EFBEFF3E3A74EA84E75F7C51C616F61FDE8F84846A98337B2E1C7633CA979661E8E0C1A439C3E51CCF911E366C18FAF6EE85C10307C89C8BE75F7C09B5EB37C2E5EB777096C8EAC3FD871FEA1B5F8B8B47791E716CE53899CBC37898E85EBDD96B3E051E85457D91985E0516630EAC8A01F0524520D06616FEF1D56B9F1A0F97D7628D0FA6A221CFC46D91B53725231D952BC53ECC335CF91C63C498707C70DDB3FE0FE8D90B5DDBE4A355FD86CE7CD3DD43E2C5E5A984C72A8EF51A344048589878ACB317CE2191F0E0CFDEBC792DBA75EE8AAF288E3E273FF5DA2B9FE1871FC9FFFE7C1C1F7EF481CC275CB264097CFCFCD1B24D7BCAD38113A7AF605E69B98C3B737F81A222AFE152392E4EAE3F2C2252F010FDD09BFEEEDEFFD3FA1A585428E3BC99E975101A9A0EA56710CC060DE59794E3E92D4F8D4750C5F5719C702C2BE89E38C6F9FA6BE4E4CA7830CFD795B647F7E8EAF77071979EFC3CE3A1A1FA4FAF9A848CA46479EEE56AA72E0FCC7F2BF9B8C7435CF8B56AC929927FF4EED90333674CC121D2980F3FF908718929507B44A1DFC0FED26773E5EA651C3CF4B5CC37E4B9FFFD070DC3B98B37F1F1FE8368D8B455451F9AFB430DD31B4DA84A9CC6D7CEE3687C3F3C07DCAE333E151E69B1E9A443C40DF47D010E23F4945FDA8DA4216A23C275E6A7C683753D407CAF014AC222382048EE2323339772A874E957E736161D1523F7CB3ED8C55BB2DE80DB630567733CB88A4B535CEF73E526AEBF77F9351E7BF424FD185E3414B367527EBDFF00F61FFA1255AA52FDE9D2D1B57B77F2B557F0E0F7FBF8E9F88F98316306FA14F643D71E7D502BAFA1C40563C1F3001EF5753C4E5A2D251D5191D1329F9AF1E071021BE9E55FC1C155EC1E2698C833FBD9F40837FBC08778C2A4B2C2873C51C45FE0BF7FCA57AC73949F73DF677C5C02AAA7D6409D7A8D10141A85E4A46AA8915153E6B63BECDE527FAEBEA93FCF69E476FF47DB7716573C3DEABD5C5E8C0BBFCE3C53AB762E5E78FE458C1C350EBF5EF805DF7C77023A8F1499F779E6DC39DCBD7B17BF9E3A89C1A42D797979E409BCC48BCBF5782A1E62CF31C7F91F8FF957AD968688F04824554B412A691BAF97B06AF4FF111EAE5CE161CE60222FAAB74BBF7CB085EA5FE54F3AAE959C26D0AC7F6A3C180B7F3AF2FA1807697AD5C46AA85DA7BECCCF0D098942ADDC3C99BF9259330B29D5AA0B07BBF4E4D1BE42C903B9CFAA2247640FE551C16BAE7E45E63757FFCAC37E1619ABF2102D9A306E0ACACA56A3EF905EF8ECC041D2A12A983C6D16AE52DEB7FFC0018C1C3912ED0BDAC97B5D9FCFF91EC7A39CABC853391E38BE53D23211161A2E73A4190F5ED7C5F9A04BC79F283FFF131EFE16030248B7434DFE926B8739748835F9218CB82AC0DBF1F4F1C17991C52A7CCFBC54A3668ECC77B3DBFD914198301669142F1C235999D9B2FE8379D8D5CE156E4E7ED25470904B5B5CFAEF8A03574C306E924BBA3C29F7BD705F98C4998A70CFC3A0117D653EA75595219CD4A2753B99AF999696F60FE39F3A2571A797D37B737EC43E81EB9ED74B311E3C3EC8B9399FF3F3F58759A57D2A3C1E2D7FA5BE1FE6DFA4DBDC5F154247C909E97C28C58355A5818DCE715F42A5F804E4D4C94335AAFFE0A030E4D4CC45CD1A75648E1DAFD5C9CEAD25F3C435E4AF7CFD032AF245AF7FE8BFE239785CC40F73DF2315CE27A51F92C7121FAD53D2720F2FB7873E553EC3CB4D3EDBDFD80826B7CACE18A2F779BAA9C9CFD177AADD640D8647456C393D9C0241C1E1B2AE88E703CA1CB4D41CF1239C9BB37E30DF7A1B9D7D14EC29FF4A7FC9D3E2E1CA41A57F99BD54051EDC36180FF6546A772F19634EA21CB65EA3C6F0F60B92B8C8CAC896798E3247B4615359F71941B934E757DCB7111B97287D749CABBBF2F94735C599932925DFAB9C908CAC3A0D90DFA93B5AE47744ED064D11199BE8CCA73DFEC0D3C35DE11C575778C1EC954ED7DE9C9EEB0423F6610A95AB8F46057745457F0C796ED66F5EDFC2F1CDF3F979FD5152D50C59C7C578A4A467887E301EFF497DFEAFF070BD66A4F8B5505B49AC5255E6DEA7A4D574B6B39C3AD2575D2BB7219A366D8D264D5BCA7DF1FA105EB792583545EE3F93EE9FD7B2C5F2BC2CFA3BBE67C6C8DF2F40BC59CD3A2DB0FFC8091C3F730DA7AFDCA37217976F01E7AEDDC5C59B0F70F4C429BCF1EE3BB25EC66CF3957A96B8214CCC9A78584C1DE5398F8129782C53E9C44270E7F179BA9EB8842A32D73695AE9DB1E078CECEA6384FAE8900FF40D10F57FFAE5D6F78C8537FA57FF7BF8587ABEF8A8BF804CECB8D4E4F15419A57353149E6C6FBF8078BBFE2B945B529F65D6BD49A366B05FF40A7178E88AC24AFF35A8447E7BED7648F9C545D4A15F205D13171A89A968B233FFE8653E7AEE3CAADDF2587BB79EF77E90BBC79F79EF4CDF2F8D1D5DB0F70ECC7D3484ACA8197465DC1596618BC07C14DC57369B4E2F9C573136F396C14DF2195E47BF85A32A9ED706CB8D6AAF03129294D3483F583F1603DB7916F91F1D28A71D3FF391E8FE419AE3118C682BD01F755F1582DC706B7775EA7C675CDF7C573BC1A501D376FDE16CD9AB511CFC573BDD93BF2FB641E7DDD66F27A8B16F968D2A495E0C231934DB195467C17151D0BEFC0181CF9E1347E397B0DD7EF0037A8EE6FDCF95DC6316EDC7D20785CB9C563AF90B9AC478EFC86B0A86858BDE95A03C361B64C87C11E85F8482AD171888848124F9E4A5E2FB57A8EE8055F2FAFAFE36B6AD5AABD5C13AF6F4C4E76625023334BF0E09835533CB9F07892F8F877FAFE3478B8C66C5D1E97F33F6E2B36BBAFCC05E5F6C5EBD1D9B7B3D775AD1D64AE6AD1B22DE213921010182A478E0B5E0BD7A2797BB9FF962DDB091EBCEE84EB87E324A57A86E01152B9868C671D3D755DC62778FCF7FB5F2EE35B9EF375EE06CE5CBE86F31721F3747F25CC7EF8E182AC2B638E8A888880453905764D4BC42686CADCE11A198477ED2C64D2312D2343E6DA73DD737C72BB69DDBA400A3FE739E68C07FB10D68F40CA758DD4A69E242E9EC46BFDD5CF70E1E16A0F8C07F3A859AB4378440CE2E2AB4ABBE6FA662C9883F87EB8DDF3BD311EC12111C243CC41BCE680D7C2356FD6DEB93E8E788EFD1763CA5CC7EB7B5863780D4BEF0163F0E5919378E56F5F60F70BEF60FDF617B17CFD1E2C5AB919F396AEC5F255EBB079E32B78FDDD0FA4EFE3F8F1CBC8A4F8E23E27B54601A3AE21746EF9B0F8474AFD723E949347BA955D0FF5EBD79775F2BC368F63A26DDB8E72BD8C0B5F3F6B09F315AF63667FC57AA6271FF6E818E9FF251EAE76C15CC5B1C1FB24C4C456416A4696F030E3C26B34590B392EF2F33BC9BDD5AA5D4F3C12EB25BF4F3493F71CA8D558B889E381E38A3D17AF03E5BAE41C99B99EF70EE0FC9BC77A3916ED3E0108A536101A5109C1E131080B8B81B7350E1AF23D6EE4F3AA2466C142EFE3D80A0CF213ED604CCC86C6484C4E43AD1AF565DD5393E6EDD0A229B597561DD1A67527E7B14D07C184AF9DE39B6387398AC73939FF60EFABA3BCDED5B7FB24E351FF2E0FF94BFDE936BBE8056B078F4DF9A9F58487194A4F85F44333FF70BB0E0D8B92F6CFF7E08A7DE6A156948BB11658ADBED22FCE9CCC6B9D39863896786D0FCFFDE33D4864BDB4C581B82AC932C757F62468D21AAD0BBAA17BDFC1281C3C12038AC660D0F07118327202868E9A88018327C81C9F6E7D87A24DC75EC86BD452E68EB3AFE0B12FA37B3BF89A9BC06C26ED4E4A15ED6EDCA8B5F0235F1B63C0D7D9A1433774ECD85DF0E05861BFCBD7C7FBAEB0F6F1F5305F717C705D86CAFCC4BFCE594F937F0756C407E7833E8487BFC52EFB008447FFC155AC1DCCF91C1BBC3E90B98AEF93B98AF30CD698D85867FC707C2454AD0E0F85167A931D95E393904BB9456BCA2BBA74EF839E7D06A068C4588C193F0523C64DC5C4E9F3645EEAACE22598316F91147E2EE7E696CB71CADC05183FB51823C64E43EFFE8350D0A91B726A3584C62387708EA29809473CAF0F273E4C27CFC67B1CF03A7FAE7BD6B08282AE68D7AEB3C4345FB70B8FC08010896F171E0685F2A1D7FDAB783CD5781373A54B3F282E7C3506C9019947780E29F781B2B7625DE038618FC258B8749AF71588A9142F98F0FBAAA767C137205470C8AE550FED3BF644BF812330B8682C264E998339F39760F6BCC5985F528619B31762F682A5285EBC020B97AD46C9D255F278C19295F29CCBB2F28D285EBA1425E57C6E23E695AEC1DCD22598347D1669450B387CD39096DD1C71C9D52527617EE53C8F31A95FB1C69BAF937160EDE0235F3BF395F4C151EC32A73227BBF4FCA1E7B4589F7EBCE23FC5F3115C593F780EAA9EE7BC90B6C5C4C54B6CF8531BE276C77B9B30F7F2FD300FF091F7FEE1FC90B1A8427CA6E539ADC4FD9DBAF6A51898800953E7C91CEC790B97636E49398A17AD44C992D558B07815162E5D2375BFA87C2D96AC588FC5CBD74959B66A23CA566F9263E9E23558B28ADEB36A156617AFA2CF5A4E71B408FD078D84414F7C9A520B05DD0BD1BE5B37E4D1B5B87B6910181C2D715D332BEB61BEC1983C8A077B6FF6C0BC3711FBE1742A9CABBBF0903958FF0778FC43DF3AC509AF1D640F1F47FACB7CCC7B52B14F6DDCA4C5432CB83017D4AB5B1F0E1F5FB97FD6099E8BD3ABEF10E21927E7CC9ABF5470285DB656B05854B60EE5ABB7C8B16CD566C162E9CA0D52181357292D5B83F98B966341E9728C9C3811D9F51BC99A88B44CCA210A7AC8DA1337370BDA76EC8389D3E663FC94B9E83360049A362F804A6391FE91AA2989A277CC4DCCB1AC1D8C07C7376B20EB1CF71B300FD7603F4F7ACE78FC31FFEABF5BBF4FDA3F29FE8AF4CB5BA393F1631BFD1DF73124A7A6090F715DB3676DDEA2CDC336C6476E778C078F8FC6548E158FD4A14B4FC162EEC2324C9DB5F021068BCBD73FC480F158BA62A39C631C380E1E2D8C07F316E3D967C06044C62661DDD667F0F197DFE2DDCF0E63C3D617A135122752193A623266CF2FC3F4594B316DE612140D9F84BC064DA5DF8AE747B307E67AE7FA77F92B6E479C3B315689E42D12A8B087E63E3A97DF75F6259AFFAB583C091E0FE7F8F07E55E4EFB49E4AE91F613CD26A664A5EC1FE89FBA758BB5DF7E46A63B56BD7963E29CE25C249D3878D1A2F7A3C9B62621E61C1FC53BEC61907DCE6B9AE5D18B838EAD1B8E0F3FC3AE3317D6E296151196FBEF5392E5EA3FCFCC66DFCF0DB45E2BECD70F70CC0FAADCFD235E6120E0B0493F90B578A1E0D1A361295E9FAB9FF863D1FE7A7CC4F7CCD2E3DE7FD29D877F0DE5DAC7FD914FF3C56A8E5B91615ED94E7F1FE37B178123C2427D73BFB3483284678BC22AE52ACE46CA98407AF0165ED689B4FBE917C3D63C1F7C36D8CF3BE2CE2689E4FC6FDD9F9059D3163CE0269D725C44F4B566E92B596E5ABA89E57ACC5E2B25572743D2F5BE9C48AB5C2C5572E9C780EC2D4D92508080FC1FE2F4EE0C61DE0ECCD9BE83E6808DC15C1D43606E1DA3D60DCD449E8D1B750BC4009E13DA76409716409DAB6EF247DC3BC5F01EB04F7B1BB72268E6D171E3C76C3DE30873C168FA5F338FF1F73058DFF07BAE1ECD765ECB8AF59A7D593574D915C23222452F209E6256E5B8C05FB468E118E77E6819C1A99A2E79CAB0D1E3A06B3593796731C706EBD1E0B97AF46D9DA2D28E538207C18A7F2555BB1847CD3E2B20D285F4BB1B2720DCA5638CB8AD5EB05B7B98BCB30967CB06F5824DEFBEC6B5CBC0559A738BB640D7C83E2D1BEA02FF6EF3F869DCFBF41ED264F748AF70A984F9E6CD6A265183462B48CD95689220D49CD415DDE13AA5173C129BF5D47B4E2F8268C38F6D9AFD4A9E7DC73C5CB4D21EB7164AEA64EFF3FC9C9FFFEF39C73D93917B5503ECEFD07F19463733ECD5E90DB10B72BC9FD2AB4DCC5559CF365A5672094BC58404C658C9F349D78BC043397AC90B65FBA740516515B7715175FF1FC7897861453BB5E4AF121DE76F91F5C369FBCD7F4E265684831397166B1F4F15EB801EC7BE503EC3F740233672FC67B1F1C90B51EB5EA37A3E78B449F4A08F7A9C5A598407E388872A6E8C858D9FF8B359DDB15C787782CBA07C688BD15FB151E67E4FE5EABD126630C3CE72CE809E2E3FF071EBCE6C097E282FB0A2A51BDB26F650D672F58AFA20FD7E56F1917F62A1CFF8C47D5F8386878BE466414468D9B8CC9C43193E62CC412F2B365EB36091F715DF3D1A51D2584D3628AA185CB56625EF916CC5B46782CDF42AF3BB59EF9AC78D152F2C4CB28079C237B367DFEF50FB84478942C5D87E1A3A7A16AF56C7C7FEC141AB5688B2E3DFA62EA8C62F1D073A9CC282DC3C459F3240FF527BE4DAE5E43FA14198F36740F1CE7DCBF20E333E4AB5823396F62ED0FA0BC9F3554E6003E819EFFB7F160BE0AAE98DBCE6BA2784D63725A0D0473FF08C509DF03E3C1B92DF32E63C2DCCB793AEBA49FDD82C6193510441AD277E010C9A3D9A79653BDCC2F5FE35C43BD6293B4FD454B578B6E2C58B21C9367CDC5A49973306AD24C8C99321B33E7519E48F13067419968BFE484C475EC930B078D42A5C4741453DEF2C2ABEF62D3F667B1E39997D0AC4D47595F3D61F20CCC5FB04CF29985147B73E97B38A6B83FCB272484F82C5B72BEA6EC79D91FB6716A21EFE99995992B1E32AA5282DC534478B48C87FABBB8FC7F9D73982BF240C283D7A7717F9F6BBD295F2BC702B72557DF28E3E1E22A8E6FBBD613852D9BC3AAD5A22EE563E3A7CE224D5D8612CA01198F65E51B50B67C234A16AD102E1B3D711A5A1774A15C22194AE2498B91DAA2B715A9A9A968DCAC3579A3F1D4B64B316BE16A4C5FB84AFC32FB62F65A055DFB20AB4E2354CBC845525A363AF5E88729B3E7C99E87BCC7D132D6277AEFECD2151835613A2263E2111C1981F4CC2CC1A339F16EBB369DA57D311EBC07710EC5088FD7F807850B6725102FF09C3FEE470A3099FEE778F077F2BA02875A0B5FAB4DF0888A4DA07B89931C90B5C3D507C45CC585BD23EB0AEFFF96106047BF164D28A777CE951B347424A6115FCD995922FCBF7011E5D573292F183519B9759BC1CD4B87EC7A4D3187FCECF6E75EC5BE975E17BD183C7C02E9743479222D32326B61C0A0C1983B6F8E605BBA84BCD3E272F200ABB188386EFEA2328C27AD9F44DF316DFE42D17F5E97C9FAB190CA4CF2BCFD060D83D968474C5424AA2525C9D832F79DB8FA79DBB42D40FD7A0D048FF48C2C78FB0553BC34927E0663C5D84FA0F5FF203FB738FDB155A142A87F808C4B048446C85C31E657EE2775E1C098708CB0363257797B07A27D761A26F7EB098751072DF11DEF29339A387FC6CC85E279868F998A822E7D61F60945565E53D97BE0D00FBFE1DB9FCFCB9E1C47CFDEC5F7A7EFE2F0896BF8F2C869C2E73DD96791E75B3BAC46346FDB0113E839AFE75C52B692F86BB9F882B91403B316AE105CD9EB322FB24F58405A358EDECF7D895E6E9EB0283C29E75622BB460EC54333673F7CAB0EC8273C5A366B21E3FBAC21619195454378BC208CF27435E72136DBFF1C0F5E5BCD79B94DA9464450B0AC83F0090C91352BDC57C25AE1C282398B7584F170EDC737B15B3B8CE9D109269D12F90D884B48436B523BE47EABA9D38AD1A8797BC426D5C00CC286F7A839F4E36919033C71E10E7EBBCA6BCBEEE2D2D5BBB20FC157472FE0D32317F0E1A1B3F8E89B3358BBF76D59DFCFFDF46D0B3A60CA0C272EAC4F1C070BB87F71D91A2C269FC65CC5BCC6B94FA76EBD61325AD1BC4163F42FC847A4AF2F32336A22B74E63346E491E31BF0B5A516EDBA26113E75C3EC283353F3C2A567C7E426CBCCC31E635FCFFFBF15A331CBCBFB65A23797964441479AC38D2E730A491DF605FC27DBA4D1AB79158673C78AFE4E494EA32AF697A9FCE18D4B103F48469178AFF75D3C6A34AA43F0ABBF6C0E44925A4B75952573F50FB3F76FC1CAEDCBC81FB0FEEE016AF43A69C82D7CA9C3C7315EBD6EF445262F587F3AC78DD68A05F38264E9E875D7B5E46566E03D87C02D17FC830D9237216F986454B97A364C962CC5EB601B3976C91FEF82EBD06C0A6B6CA1C9F91EDC82BB76A88F04007E2ABA52227B7119A376B87F6C4575DDB7725BD6882BCAC3CF95E9EDFC7F398ECBE7E94D327C04EF5627F64EECFBFAADF68930D51E44F655D6CC5B8E253CD87333BE7C4F1BAD2A8F048192F63EDE3F10ECE05592738BFE538E1F170CE3D78CF76DE4396E74FAD9D380203A90DAA28BEBA366A8877372CC7BBCF6D45FDCC6C0C1E3211F59AB640FB6E8370F8D8259CBD02597BCCFB705CBEF900DF1DBF846F4E5C42665E5BE4D62BC0A69DAFE283FDDFE2F36F8EE3BD2F7EC433AF7C8E5EFD478BA6BCF6CEA7A2199C73737F16B7F3CE3DFBD3770C42FF11E3D1B5FB00A4C95C7837746A4C3AA570C7FA29E331A76B3E6C262DA2E213919BD3002D5B14081E05AD0A482F9ACABEF681FEA132FE9193575FF609E3BDF743030265CCFA71F52B73E72A8AAFC1F4D478F86A75D2E7EEA0DC87F766E0B5049CAFF29828CFB5E27E36BE56D7FE88A2EB2DDA203D2D43C65B374E1A81A24E1D645E6E9F962D7068DF561C7C750F7AE7B741F7C222346CDE06CDF27B92565CC3E9CBC0C51BBFCBFE1A3CDF8AF969CE920D18356531BE3E7A8970388D2327AFE2D0C92B38F8CB757CF5F32DE2B60B78FDFDAF90985147D6997F74E07BF20965B2FF924F7082EC05C17D0351C4B59307F6C24B5B5762CAC0BE3216F2F292051897DF8C62D70BC919CE3D2439CEF9FA5B902EF2F80CB737876F20F15586F843EE178D080B437C748CB4D1C7D5EFC379D415E5A9E3C3E01C9BB491BF62BFEBEBF091BE2BEEDB0D207CA2E8FA78ACA646566DE79C12F2BABC776C9DDCDAB25678DDB86118D1B533142A157AB56E81C3BB899B5EDB83FE6D5B23BF4721DA77EC8AC6D42679BDFEA75FFF8437DEFD041F7CF6350EB38E1CBF42FC3244F61139F8ED6F387DF18EEC1978F5DEEFB870FB3E7EBB7C07874E5CC1811FCE61E88439F8E8ABA33875E9BEEC29F4CD8F97B0FFDBB3A20B3CF63D79483F1C7DEB191C7C6D2706B46F497AEC864FB66D40DF867914BB1EA8965E1379B59CFB6DCA6F6AE4D6A5FBCA967BE39CD164A33AF0F115BEAE1A172FEBC01C5AFDE3EB97FB08B93F9873B8FF827EC83C1FC2C3973C1E7F1E6322EBCB622AC9FC501EB3F5A1D8658FCEFDD35C98AF788F4C9ED33BB0790314B6692DFBFA756ED61887F66CC6B1977662509B166894DF019D3A7490FE3AEE8795BD5078BEA7CC5B5360E8E829E83568340E1E3D8D6F7F3C87DB0F207B03DEC37DDCBE7F0B376E5EC7B13377F035E13176FA02BCF5D1019C387B0DE7AE39D7CB321EDE8E6054A79C705C9FEEF8EE95EDF8F2B9CDC8AB9E8C9C6AD5F0D18ECD689D952E7B16A69387CEA69C85E756F07EA055E2126075F8CB5E793CAF92CF3116ECD9791E0763C16BF41E57BF9106678930525D1AFE3BF34B5C3AE4C299AF87FB797D1C0ED97B31BE4A1599EBC3857340CE4B782E891F73ACCA0DA9952A43AD31A041660D1C7C7E3B8EBFB90F45EDDBA07A6E1E5212ABCA1EB15BB76F9735B4BFDFA700B8771FDF7D4BBC337B8E68C367874FE1E00F97A8AE6FCBDE34BC9FC24D7ACF0D8A91EF7FB9227825510EC8EB9CF46607694D53D9B3E4EBEF4ED33544A3724A3A26F6EB8563AFEFC6572FEC927E861E2DDBE0D9F24548090F4344A518C969D2AAA6C9BE8526BB4DD67D701BAB959383AA747FE1A1A172CFEC6BB81F8FC71E9E847F5CF3081F9DDBF954F16175EE59C29FC9FB97B8D6F9FA92CE5BF43A89155F6F6F5947904A1CCB7D3D8121CEFC84E32720C8071A37DEE3C28038E2DDCF483FBE27BE9AD8A30BE5C695659ECAB7DF7E2BFB883CE0729BD78BFF2E6BC5F9CCF0B1939059BB293EFEF247D98FE4DB939771F4D74BF89EB4E2C88F177098B0A8413ABC7DD73378F0E0016EDDBE89BDFBF649AC6DDDFD3CBC7DC250A54626C6F7EE8A9FDF790EAFAF2D97F94313FAF6C3B4C24E706834B09167E27C2F26245AE64F66E4649367CF95718404E201F6513C0EC57AEC57B17E95D74B3EC9FC4F9DD90403E5D4F27B31A4C14F8B87CC8D640DA1C27B3BF19C1FEE67E6F53D36BA178B410F2DAF03243FCB7D6D9C2F31169C339A1DDEF08908426AD5EAB05AFCC5136C5D3C1B6F6F2EC3849EDDA5CEB66DD9859B771EE0F6EF0F64AFACFB77EE39D7F2CB3F8A15DCC1C8E1C3E4BDADDBF590BE12E95B5CB3178347CF277ED363CF332F3FF2FEBBB87FEF96AC55D7124F58CC7E88A1FC7B42EFCEF8FAD98D585834507C4663E2ABEC483B2A73FF5576B678C4BC8C5AB2E77715E2335E1FCC31AD23EC981378EC47E2A1620F11F14CFAC7B777874A033FA506C10A0DA23C358F5D0BE26D218F6033496E1362F7A6D778DE9B83E2C0266BD41F97D3F0DF45D075D9E8FBB4F4DDBC56C3DBC786E8B858D44AC994F1377B50283C8C46597B9B4F315458BB365A65D58487A71B4EFE7C82EAFF81ACEFBB75EB167EFFDD09C65DE2ADBBBCC93281F3EB2F3FA35183FAD8B461BDACDB6C9F9F8FA2A222ECDCB913572F5EC0DF6DC8C0E5C17D392E59582239502671EA18FA9BC5C387A24A7488737EB5C98060872F629393652E407C5425D9AF4E4BEDD98D3C19AF9B62CDE431279BC948EDDBD9B6B93D3226BEB2CF914530E123D79BACBFA7766AD6A9A1517B41413E2151E1861C2F0FB4A1CFECE5A9782C1EFC79AC0F6194DF841BC94F539D8655AC790F788C879342DC1FA9F7967DD2AC7A8B5C9BCE530B4FBA0E9E6F1D11142E63A3F1E4C9FC295EC2A95D45D2BD85785B650EFA8573E7A4FE6FDFBEEDDCCFE299673071E24430120F2A58EBFCD933484C88C7CDEBD7485FEE39EBBC02B7FB84DBC68D1B051FE62BFE77EFDE3DC1F5C8912370F3F4442279C02669A9A89B9C080D5D5744E548C4C6C723863422C83F10268B55C62F5957B82D73FB623EE0FB371B9D3844199D7B54B0A761AE66FE8EA17352FFC4DB5A9D063AAD12415A1552A90E5B78A9D1CD5D8D5E4A15FA79903721CE1E4A9FFF383C820D3CEFD00761067F84EA7DE1AF76EE25C47359FED578EEDFAD87A39C2844E340880F5DBB524F3EC29BEEC9419AA2A77C490F0BE581BC9F096B4C5CE5CAA85625014954B726AB99F070C7E1AF0F491DDEB97347EAB3ACAC4CF6CAB8478F1F54B4F7835F1D40647838EED17B0421C2E0C1BDBBF2DA7D7A0BEF1BCFF9F66DCA235D3872F9F0E34FA0A17BE175B1DCBF61A5766BB710CFDAADCEDF137357CA6F5771FFA04FC538A8AFA7520AEFFFE1CB7B1FB26EEA4C88D63973393BC58F8DDAAD81EADE5DE58178CAAB32346A3422BE2E50EBD09338A90F79C33EC4AF5C06110645544611EF8DE43E85C7AD5D53D92AE685EAA50EBD6DCEB5B23EB21ECBF8583C647F32AD0D810EBDF05C38E5BAC11A8A5DAB4E3E877586E3DE4ED7EB55B18ED668B342ADD5CA7AC099D36638F77DB9F7E0617BE7B67D8FF88BF1E0C7BCA736FFD60BFFC6C09DDB77E5DCCDEBD7099FDB120BAE7F7C9ED7D1BACE4D9D3A95F2D72AB2DF28E7A3BC0F818DB499D73BF2BA7E87D1B9D71ACF8BE67504FC5B6D468A776EEB1A5E5F45BA6893BCC12A3AAE31EAA134A8114AAF3724BF5BA83163AADA8CB10A3D86924FEF4F753E80EA7CB0BB2761E08911F47C2EFDDD42FA8CA5365F947B073C168F008B1661E45B796FC6401DE9B5C597E2C22EFA1168F2792C1E213AB3F439867A57F40538947FE068F191FD973886646D1BDDB789EA867F6F8AD70D5B3C9492339E3F73EE8FFD78080FAE4FD68FFB54BF274FFD26F9C8479F7E89BE0386A2DFC0229C397BD1C94DBF571476621C2FF498F7F3B97BFB160EECFF42F6A04B4948A6B6AC879AD7395A9C73C1C3A9DDF8699987ECE25124D7253CB8FD04739F14CFDDD769E1A1518A2F621F194C7866517BEFE8C6F5AEC2107715F18F8AEADF0DFDA8F4A7FB1848C7611E1E984C9F55423E68856F0076048462A77F08B6FB8761935FE863F1B0E894B2DF5E2C695B25D2EF04E2AE48BD5D78CCFF09FA28A3AC0E5953CDFBF6B177D4536CA83DF5F0519A642F54CE99C4233317483E4B5E99EA228838DAEEE6DC0B20352505DF7DF79DAB6A9D924C87CB576EA04A729A8C5549BFE2B9EB98386381ECE13B69F2741C387000B76FDE90C278300EA74FFD8AD52B57C8E7D6AF9B27FB2930E798097FBB462FF7C56D28586B92C79C4F706EE7C76BF429D70D226C02142A04D0B585BA7B21855ECF546991EFA5C110AAFF1174BE903EBB0795BE94E33206430983B12A1566119ECBBC7DB13E2018DB2817DB4E386C251CB6110E9B7C82B1D63BF0F17C650D94B115A39AF7A7F4707A6CE2CA6013EF9FE4FE583C82090BF67FEC017C29D695EED9309929EF30F8523B53C8DE445C824D36D2255ED3639379D9AC4D3CC66522BFEC5A17CBBF43B2A87431D6AED98061C3C6488ECE73174F9EBD81D357C8675DBC0F4ABF653F9E058BCA64EC987F8333BA7282EC79CCEB10AC0E3F89A736ED3A4ABF1AFF56248F550456AC95607E8AB4793BC7A0790CBC421F4289534D14136E1A05F95C1592885FDB288CA847DAD788EABB1DB5FF7E54C6122F4D51E93083386026E9FA6AAAE30D54D75CE7BB7C29167C08034710363802B18ECA7A5B20B6D883B0DD4EEFF10E792C1E26AD1B546E4170287BC0612982D2548BDA1FE79F2AC4991C8FEFC33752DE41F1C4EBD9B5C4B93E86D150AA1B506CF920CAE18560BD73BF28F671B28F97CEA99BDC37EADCEFC20DA12101B0538CA6A7A74B5D16F61988491367E1E38F0EE0D4A53BD227C57B947E7CF8577C7EE457E937BC49D2CE7BB5F26F5A7CF5CD4FD87FF018BE3E725CC6B7782E43EDFA2DE04E31EAAE241DA0F6C663389CCFF23C19D602C92988BF7C2CCEB9862154BFFED49ED8076B544AF81306495E2A64921FEB445C3589DA5089CD07657E01D84879D62EBF20AAFF406CF40DF9BBB2C5370C5B7D42B1C311821D84C17ABF086CF28D90F39BFCC21045DFCB7DF5FE060771A55638C8CF87B45B6D834143FAEA150685660DAC5E6F517EF7113C4D2F42635E0537750DF82B75E2B982CC46D1BE18B32F02D43EB2F7468081EA52ED809B360C5AAD1769821A1ECACAA47FAFC1AE6A4BBAE1267A14CDF3EE2856FCC877F1FE4EC15A0D795EBD6062F4B2C8DA703D715D887F80CC454D49A82A73D0784EC3736FBD8B773E3D84E7DFF810BD078F81878EEE21210DFE110918346A8ABCC6FDC0BF9CBF890F3E3D88824EBD10111D2BFD4DBC9700EFD1FBB875301C1FA146D3C3791BECD759472A93D7E841BA3C82DA4DB94F20B6DA02B0C1E68FB5BE4EDED94E71F0AC7F04B6532C6CA1F8E0D87896EAFC39BF703C4FC75DF43AC7CD0A2AEBE8B55D3E61D84D7884680DD4367D8993E89E495FC32AF68E35EABD283FCBA376B21B5A8F0F48EFB640AF7D051A2A56C567F0B68E47A0DA1361D4AE7CAD0AE87CA97EA9BD07921E87A8BD29BEB5D0EB12887BB7510EBA873018078DB507EC8617C8CFCC829938D8A1E75C534B4559B1D79F1FBC892F1C6693ACE9E13A70AEE97793361C16182CEB75A3A32ACB18BD97D6246B93F5061F646537C098B1D33193F2F351A3A7A251E3B6F4B7149BA19565EE028F7BF09A125E17C57B0C70DEC07B3EFC553C623D9C784C20CDD94AED7E07D5FB66EF20ECA0BA654C56F811FF048463758093A31893353E4158476515E9C6BA0027365B88A37679876233C50CBF1EACB120D2EC90BDC1C54B539B0ED47841A58E25DFBD062AED73506A5F223C5E87DA42B1A1791E7AD5DF48FF4A8987C8B3EBDD6174AF0B0F450BCA9962603152DE6FE77B200FAEAB07BDF139B8E9DE261D7F152AFD70583D094FCD0BB07B468A5EB8F6530BD633AF6988C78933AC3EC2193CB74B4FF122FBB155ECE7C273FAEDC40BFC7BB71C273CDFAD43CFBEE83F7C34C6CF9883C9738A3161E65C148D9B84D69DBAC95C425EBFC47D7FDC87CC3E8A3D9B9EF7ECF5F47AA2F94FFF0A8F5E84C74C955EBCD12AAACB0D7E2178C51E82DD8E602CF2F6C77AC2651FD5F9667A7D0BE907E3B69ACE715CECF00E96F73316CC5BAB09CFE51467A1265F445B2907D03A649E23F385DE83720BC762F2D96F43AB7A8DF0F81BDC942F40A3DC4F75438FDDDF81DDB8099E2A3768CD9DA9EE76C1A2798D7CDF8BD4BE27D1630DBDEE0E95A13D74CA8FE0A6223CCC6B897BB208F35DB02A5BC14A5E208AF2F650AB8DF213D27B933779310322CC6A84E855B2A78DC3A4965C80F71EFB63CF4277E9A70FA1BC39C8DB4F9E5BA89EB8AFBB7A4AAAEC81C2638FBC370DCFA7F5B33B044BCE1D381EF837BAD9BB725F2CF7433F091EC1FF068F91E439B8DE8593FCC3B187B479A37F2879D920EC65AD261C36130EFC1EF650FCFA4E3ABFD61E80158E00C16129F1DC4A8B1F3691BEFB5B8C08271FC03C15ACF783D9C46DBE278C9A77A133BC2DB1E0A17F8B72FDB7E0AD5F47C7D550A8DFA2D8791176E52EAAA3B7E0E1F11ADDEBDB70D3FF0D3AFD4ED9CF4CA7E03A980EBDE707C40DDBA91E7A523DCC27FD28216FEF2EFBFB87DBD5921B72FEE147DAA9259FC0EBD5F97718A48F58E12DBACAFD8C1E7FDA4F94798BF76EF1E5F58BDE3EC47116D141AE6B0D791ECE63F89CB7C54C6D82F854A5943E26DE2B9073715EA7E1F704580456E021BF21F0081EF184471FBAD6C9946FAFB2070AEF6CA75860BFB49174600361B396CEAFA6D8602EDA4A31B399CA4607C74708B691863CEB138EF1761FCCB4FB62B5D59F3C56A0F417861A1DE46BB4920FB8A9F5742FBBA0D27C2EDCC47AA1F47C193EAA65749F36E28946D45E5F834AF1063CB58481E235A8752FC0E4FE3EFDED6B74DFBBC917BB499D1A75A5543FEF52ACAD86CEAB2D8C869709BF6CBA7737675E4E3966B0837C3DC581913154D7A3D796514CE68B7E2598F5CE75AA54573CCEE5E5C282F7D2673C48539877B8CDBBF62D53F2DEFABCB71C711B1F8D1AB5F45F58A9F03E3DDC07A0A278F3ABE88BFD77780457ACC50BFC131EFCB72E3CC691A7610C9873E6538EDDC7664577BB15032807EE43F1D79DDA407FAB15C5763FC1833DD446D29875141725767F1451FC9692FEAF27FEDA4C9EC097E2C38FF2FA18F29A4A4FFE8D875ED2D63DDCDF25ED781E06C38BB06927CBEF9A04C8DAE028684DDBA1717F95E26803F9805D30E85F8351F12AD5C73BF05638F1507B568556F92AD4EA17A0D4B7A5B6BA88EA6E937C077B655FCA7D1DE49FE4B719C8DB998D5E84472AC2CCE5A44D5D60A2E7F126ADE400DC9FC239198F31682AF6EE75EDF363F552FE9DC776AD31E623FF2DEFBB65A47A71FD0DF7FD4B9ECDF986DEF46FB1F8331E41FF048F01E479393E5613278D23ED9B473E97E3628F6FB8E415FC7819F1D158BB370A099721F4B703E9F3FAD0E70D204E5844BAB3DE2744305A4F7E80F78BF553938E9B35E47BECA4C15BA0A4BAD579BD436D7F1FD48ED1B22ED8DFE285489537340AFE2DCE9788935690AEE8A0503520FE7E1F3AF3F3C40B6F921E2F8442E746BCD69F74E33DE12F957B6DD2F50FC9AF8E872F791B07C587AFC38038CE11493B78DF6A9EA7227D8B94736AD4E4D5EC06CA470C0FD7D4DBE935EE4F619E51787A3CDC4F8971728D03714EC78F99E3787C8E3FCF4BF6047577AE51E798225FC563DB3C6E1349C7A7C1A32FF7C952FEB7D71A241C3488AEAF3490F26D5B10F6505EB19B30D94979067319BFBE92305B447E6B29E90B731AE71CAFF8474B3EB289DEC3FD25015A5F181C46582DD4A6B585F0D2BF496D9D3C94E63DD2EA2DB0785961E3DFC73169885BACF05454220D264EF1AA49F91379788F24A8F5AFC2D3F812746EEFD1E39174DF1A982DE5E4A7F6521E38121EB66984E31B50D9F7515D8FA2520326452022BCD5085204116F6960B193D7312B5149493981CA0C1BFF2E8F45FB703E8C6B7F78CE8F784F2D5E87C46B8BB9ADBBE6C9B8E67533668FEEB1C8FCC6733D7C2B62C7B54FB6B7F1F1F36BA3C97BF2F89FFCAE8AAC01338A4EA5D0678E76576200E1CCF5B8DCEA8BDE943F6DA39C83EB7F9D350033C8077623EFDE83CA68F22033C9734D22AD5B427922E7EBAB48CF77122EACEB2F1276EC93A3F45A58E93B0C5E14FB8A0D94BF7D0A8DE9058A8967A1570FA3DC8EB8DEEE6C77DCBFE1E03D26147E945BA8E8EF888B7511C4E37F238DA7F793F7D2E90AA035E4C1AC7D13062DF198B62EE5826F9026AF278DD841FCF736E52EDB485F6AC0E1A0CF54523BD47AC38BFC85DE3A917C402F7A6F24F1A81BC295FE7F9FF357CCC7E098E0B6CF47D77A6B579B76E1A170ED214BF5C61CC77D828FEE0FC678389E607D4604B50BBE77C6C3D987628695FE2E87BCF2083785F491B37F5DE2F0C760AB85EA375CE2635B5014FAD3FBCAC9332D234E9A4D1830674DA5C27906E7832F04450B2E2B493F3817612F1C43ED33C8C663F06E948F0F26AED9092FC5EBA2093A452E71ACC639C6A2B3218CF83686F7B8D291FFB118C86F79406B6C4E75FB12F4A4EB76DDAB54079560B22C83D2E36D8A89CDF050F582A7F26DD2860CA8BC52E1659840F7B493DAAB2FF19756D648F83B887754334867DE84594D9FA18E963D4F232CDA3F7EEFA5823FF87140C51E99327FA3622F7FD7EBF29B30140BAEFD79D907C83AA10ADE73ED79E3DAA7F9F1F3672AF600213C9CFB5058A51FABA5971A832936C6115F717DEEA0DC8FE38339681F71157350477ACEBAB093720CEE9B629DE15C84F3C3670223259F979C84FE9EE3640DE5233E6AB37C5788DE41F98407619F4739DA2CF8D848B3D5E1947FF37569A42F83AFDF47A793BE76CE1BFC0DA41386B9502BDE16EFE4AFDE447E34197ACB6EE2ECD74943281731CCA3785B4B6DD60D41F4F93A8A37B5DA1FFE3A8D8C1F703FA249510DFEE69DA25B7ACFB7C8976E219F56044FF292015A8373FE450516A115BF93C5259CDA5AD09FE283EB8C63414F31C2DE9675C4BF222E180BFEFD18D7BE504FB2DF4BA0D1B96F11FF6E16C709E363A5EBEEE1A5C1408AC1119E4AAC273D78C9270C450E3B66511C708EC77EA988AE672171D1267B90F4873087EDA2C7AF115EEC6DA59F857C16EB38E7299CB7F07C033F2BE563566FE79C130F6FD2544FE2A14CF2894114AFCEBE6F6F2DDDA781EE3790F4937C84DDA187C1BD1AF4A6BD1403CC532F22C8308C34683074C67DF036BF437CD5076ACD3A280DFB60346653FC51FD1B55145B0AF237EE083150DD5A34946B7A10FE2BC9C7ED8589F24E37CD4BF05253DE62EE0F9B4225F5F6687CC8D1E8FC2D9880477E57C1A5BFDC6E98CB64BE66054E5CA76115BFE5E39A5FF324FB1BF2585324EF0562FEE3374E4228AF1C446D85C7354691B66C613F45F9465940080AE97D4B888F9653BEC739450B9D1A5B2916D86BF179EEE7DAE7E3D40ECECFB99F8531610E631DF2352964BF575EAB10A0A5FB265E8E92B599149FBCDFAB5D476DD94FFA0B7D2887963D7C3481947B535D9A56501BFF94F8E55598ED3BE0A14827AD7B85F2DE7729B7DF4139793BCAD99F215D7F1D568F7760A21CDD9FEA58E7DE8C34B9391C3ACA47C9D7FAD3779BC8B7B9BBF13E3429D079EE155F6135EE84913CA5E8F02363C3AEDFB678743FF2477F53CE35F732E0111E73EDCFE5C2E349E7D4707F4E94FC5E9A59C60178FC3099F250D758D334FA3C19BF0808C32A9B1F16930674D1EBB0363002BB4CFE122F1D0C3A4CF4F6C35EFF48C22602A5748EFB5798B7B8DF84F1E0FE15EEFF654F1966E57E71BDF409F85A7508370620DAAE91716E6F9BCEC9B3766AD736BD686FB8CE1F9EE4A1ACEA8130BABD86FFD7DEF5FDB64D46D1A46E623B7162C7B1633B3F9A1F6D5721E0650F88279E794002A16968681288FE5045A1DB3A7E5403C4A4B10DB18D218D0A89B1AEB4A35DA1C036A0820D262178E56FBA9C7393421F10EB08535F6AC9AA923A6AFD1D7FF79C73EFCDF715BC1F81C914F4D871B1A1B1A8A506ECEF25E7CC4826FB0CB4D78BE206C7C484AFCF99BF8AED4107C3B7A4A0EDB81745131EB49E29C81834AE030F57B6CE606EDD95A070530AD0C75B7BBE6CF1C65FB5956DEBD66FCD8FED6B1732B66DED7BF15FD76BA11F1871BB6BC330E79E413C79D22A823B0C7915785C7243CD1BB29E411E58F7EBF27A9CC8C952A8B910D5BAE090F92891436E41CE359A8A03E7133F430C9847519E277FD881B498F7863F1E85DE617E9FEBB3D2AF7B8E89D3D7FDF21E72A93BF3FA1DA8D8CD827306A15BD2D05A0B6238A7118F0E8B69504FDD90AC794752F9DBC0139ED1DA1433840676F64BD9BE0D3F064F6FFC8467F7A244E0948E03FD0A3F62A530E7FC94A4B363E2FA2BC0EE7709ECCBCACDCC61B1BF29EEE95EC5A4D78BC718B4BD4F727B8F8572CDB69EBF5A6FFF9EDA7D60423C3A3D3C3AF8DB298CD341F86772C711F89F25C4A555BFFB6C336ED1AB7F0DFE9804979C0C63FCAEAE5C4EFEB808EF315172E5FDA82A1BB8EE1A34253160AC7A230864A13AF4AFEBF1EEE4641F856DD4C51D7C0AB1E73DC4B42FC5CA6EC24BFE0C4C7E837FDEC4183F0A0D8671760E48319C90B8FC92B8465BB573628E8865CE4AC9BF2125EB2ABCF92AF4C11FE2165631B75A7DFF7FF7AAB7DDEB3AAD51F17980AE602F19FBDE0F656CC4AB0179CD32F519A76F607D835A89395A6A59E2C4B15FA80DEBB86FC0B7AF219E319F75D8CECB6798532B885B57A39AD66C3F08123981B3DFFBD2BDBACAF02F5E6F9D61A30AAD7C10FAFE82C499EB986F0B9286A666FEBD5DCC8263535AA72E81D30D2F85F87C04FAF80770FA5DF0CD2FF0F877E043E083AC2724B0B20F148B9DE0D1F682AE2600779053B927ED0B86A53D3AEF406B6EC51CE2C11A149F75CDA5E3FD13412867F193AFD79221B912D7641131EC1478F86DCC9D6BC0E873F0066B261F566A72D4AFF47D6FFCFE4777CFA8406B8C15E053C2B3C47C2AD78CCE189158F8C975E3C88951312F4DBBA635E921F6E9D9DCB7F1315C332EDEC08C14ADA7A1BBABD0AB6979D876771D8F96FBB73E668DF371F0DB247CF95170C77970DA724FAB6EE1C1DC3A73EF7C9F39F757CA15AD0B120FF20BF9E4323CFC383CFB3AE6D20A7C24EB251F638E4DB97EDFF7562B455A4322DFB2AF67C8F7741D7EEED146DF5231F3AA79BC0C7386054942C6803A381CCF5E2E9151A70AFD940296195D5B2E029794F19AB5EB46C57CA058ECE44C7ADA38027F16AC8C1C80EF7839959539C4AB4FA09938EEAC47ADF7F0A0D6A25F2726DF22564D81C3A86BBFC0D833967D17EF93E5C6983C0F9E5EF56359468C624D8439ADE9FF018FC8E9FAA4043A89FAB80EDF4EEF58EF7D77AE56AC48086D5CB643EDE719D5DE53E8B52827213E5309A1DBFCAE4F6F3811F824E8E65D5993F7FC5DC542FB9D8BDDDC0A7D5A94356432939799818CCC672CE5E27FC263A587C7ADDA88CC164A721EBE6415F1E84AA323B7C261F934EA687E97FCBF18263A3FCE81CBE7FDA8EF7B1C86066E621E70AD0ECE6DD6F9B8B70E7B46D82F320C6F5385964E4A39EDFF6D6B6F95AB3EA689F9411FAA3D80454BF327F49D75D7C4674D69D9D1AEE1B01D0FD6B58A7656F60F1A328DF9310B2CCEC2B7D34FB3664E3E66BE837C4E4F77BDE72B58131CC77597E0FD6E364675FC579211998697FB4875585316C91FB8F6AD4A2C17827ADFF7CAFE9C36F4701BE3DE000E3CD9C3434C585761BEA30A4FD3F08B3206ED380C3C9A017807F1AC5DCAAB97610E863908F633C4056080794C2E6AE4E35D5DEFAEEB6DCA8A876FA4E5D9F4A04C0F983267DAEAAFD77A5E8E18100FF20873821B714B7DF71970C7049E49E6AF981F215EEF22BE1F639EC46BE875AAAFF03EE7CB52D8BF9EACDADC7BB3BB5E46D5B33547CEB12797B05F977BBCB0473929C798EF818439F03DE644E05464C8B674FF44E6B3F9997D5E5E1E2977B50C7B4ADB81B3EB78B4706F15E8DD0AFB0DC11BAC41BD09BDCAF1671D5C7BDBD897007FA779777038F321CC53CD618C4FFBD054D4BF7E22A770DFC7A179BF297710BF3ACA274BC08331EE3927275F851DE6A4F78EBD63EFD83BF68EBDE3BE8F3F019FA62EBF]
}
Add(Label,5193183,84,70)
{
Left=30
Top=146
Width=75
Height=20
Font=[Verdana,10,1,0,204]
Caption="Никнейм"
Point(doAlign)
}
Add(Label,7075741,84,112)
{
Left=30
Top=29
Width=59
Height=20
Font=[Verdana,10,1,0,204]
Caption="Сервер"
}
Add(Label,7552149,84,154)
{
Left=130
Top=110
Width=24
Height=20
Font=[Verdana,10,1,0,204]
Visible=1
Caption="ЛР"
Point(doVisible)
}
Add(Label,7929715,84,196)
{
Left=30
Top=180
Width=49
Height=20
Font=[Verdana,10,1,0,204]
Caption="Пункт"
}
Add(Menu,11616453,1435,805)
{
Menu=#11:О программе|
Point(onSelectNum)
link(onSelectStr,13610849:doWork1,[(1493,811)(1493,790)])
}
Add(ChildForm,13610849,1519,784)
{
}
BEGIN_SDK
Add(EditMulti,10360962,14,21)
{
WorkCount=1
Width=370
Height=242
link(doWork1,5150606:doVisible,[(45,27)(45,104)])
}
Add(MainForm,5150606,70,70)
{
Left=35
Top=105
Width=578
Height=192
Visible=1
Caption="О программе"
Point(doVisible)
}
Add(Label,16418146,133,77)
{
Left=15
Top=20
Width=536
Height=77
Font=[Georgia,8,0,0,0]
Caption="Генератор сообщений для модераторов чата.\r\nПрограмма компилирует занесенный и выбранный текст и заносит его в буфер обмена.\r\n\r\n Программу написал Project_fm (Александр Гончар).\r\n Ищите меня в ВК: https://vk.com/project_fm\r\n "
AutoSize=1
}
Add(Label,1646043,217,77)
{
Left=474
Top=125
Width=57
Height=17
Caption="Version 1.0"
}
Add(Label,824316,14,112)
{
Left=15
Top=125
Width=245
Height=17
Font=[Lithos Pro Regular,8,0,0,0]
Caption="Спасибо за поддержку: http://hiasm.com"
}
END_SDK
Add(Edit,10131165,539,84)
{
Left=110
Top=146
Width=210
Text=" "
link(onEnter,1997422:doText,[(583,97)(583,167)(527,167)(527,237)])
}
Add(ComboBox,12302809,315,77)
{
Left=110
Top=29
Width=210
Height=21
Strings=#6:ру 1, |6:ру 2, |6:ру 3, |6:ру 4, |6:ру 5, |6:ру 6, |6:ру 7, |6:ру 8, |6:ру 9, |7:ру 10, |
Text=""
link(onClick,639064:doText,[(359,90)(359,160)(310,160)(310,230)])
}
Add(ComboBox,1548087,1050,84)
{
Left=110
Top=180
Width=210
Height=21
Strings=#9: - п.1.1 |9: - п.1.2 |9: - п.1.3 |9: - п.1.4 |9: - п.1.5 |9: - п.1.6 |9: - п.1.7 |9: - п.1.8 |9: - п.1.9 |10: - п.1.10 |10: - п.1.11 |10: - п.1.12 |10: - п.1.13 |10: - п.1.14 |10: - п.1.15 |10: - п.1.17 |10: - п.1.18 |10: - п.1.19 |10: - п.1.21 |10: - п.1.23 |
Text=""
link(onClick,6825910:doText,[(1094,97)(1094,174)(1045,174)(1045,251)])
}
Add(BitBtn,2665041,518,805)
{
Left=420
Top=29
Width=120
Height=101
Font=[MS Sans Serif,10,1,0,1]
Caption="БУФЕР"
link(onClick,7226075:doPutText,[])
}
Add(ChanelToIndex,7583224,777,308)
{
Count=9
Point(Data)
link(onIndex,11027031:doAdd,[(821,314)(821,388)(765,388)(765,461)])
}
Add(Edit,1997422,539,231)
{
Left=95
Top=645
Width=310
Visible=1
Text=", "
link(onChange,7583224:doWork4,[(660,237)(660,335)])
link(Str,10131165:Text,[])
}
Add(Edit,639064,322,224)
{
Left=95
Top=615
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork3,[(712,230)(712,328)])
link(Str,12302809:String,[])
}
Add(Edit,8939311,882,224)
{
Left=95
Top=585
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork2,[(926,230)(926,282)(765,282)(765,321)])
link(Str,6152951:Text,[])
}
Add(Edit,6825910,1057,245)
{
Left=95
Top=555
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork1,[(1101,251)(1101,293)(765,293)(765,314)])
link(Str,1548087:String,[])
}
Add(Memo,11027031,777,455)
{
Left=555
Top=29
Width=145
Height=172
Visible=1
link(onChange,9327126:doData,[(821,461)(821,527)(730,527)(730,594)])
link(Str,7583224:Data,[])
}
Add(BitBtn,6348111,518,574)
{
Left=340
Top=146
Width=200
Height=55
Caption="Очистить буфер"
link(onClick,11027031:doClear,[(664,580)(664,468)])
}
Add(BitBtn,11538215,1169,217)
{
Left=340
Top=29
Width=65
Height=101
Caption="Роспуск?"
link(onClick,11734081:doText,[])
}
Add(Edit,6152951,882,98)
{
Left=154
Top=110
Width=166
Height=21
Visible=1
Text=" лр "
Point(doVisible)
link(onEnter,8939311:doText,[(926,111)(926,171)(870,171)(870,230)])
}
Add(Edit,11734081,1239,217)
{
Left=95
Top=675
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork7,[(1283,223)(1283,289)(765,289)(765,356)])
link(Str,459999:Text,[])
}
Add(Memo,459999,1239,91)
{
Left=415
Top=550
Width=125
Height=130
Visible=1
Strings=#20: - прошу роспустить |
}
Add(BitBtn,6792200,63,315)
{
Left=30
Top=65
Width=90
Height=30
Caption="Рота"
link(onClick,8040208:doEvent1,[(121,321)(121,314)])
}
Add(BitBtn,15202800,62,411)
{
Left=130
Top=65
Width=90
Height=30
Caption="КБ"
link(onClick,13443699:doEvent1,[(117,417)(117,405)])
}
Add(BitBtn,4454176,64,503)
{
Left=230
Top=65
Width=90
Height=30
Caption="Трени"
link(onClick,9136175:doText,[(178,509)(178,510)])
}
Add(Memo,8652612,189,245)
{
Left=415
Top=550
Width=125
Height=130
Visible=1
Strings=#7: рота, |
}
Add(Edit,3915514,259,315)
{
Left=95
Top=675
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork5,[(534,321)(534,342)])
link(Str,8652612:Text,[(265,303)(195,303)])
}
Add(Edit,6645917,259,413)
{
Left=95
Top=675
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork6,[(534,419)(534,349)])
link(Str,8741627:Text,[(265,401)(195,401)])
}
Add(Edit,9136175,259,504)
{
Left=95
Top=675
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork8,[(534,510)(534,363)])
link(Str,10553787:Text,[(265,492)(202,492)])
}
Add(Memo,8741627,189,343)
{
Left=415
Top=550
Width=125
Height=130
Visible=1
Strings=#6: кб, |
}
Add(Memo,10553787,196,434)
{
Left=415
Top=550
Width=125
Height=130
Visible=1
Strings=#8: трени, |
}
Add(ComboBox,8124499,931,308)
{
Left=30
Top=110
Width=90
Height=21
Visible=1
Strings=#8: юниор, |7: сред, |7: чемп, |7: абсл, |
Text=""
Point(doVisible)
link(onClick,16417751:doText,[(975,321)(975,391)(926,391)(926,461)])
}
Add(Edit,16417751,938,455)
{
Left=95
Top=525
Width=310
Visible=1
Text=""
link(onChange,7583224:doWork9,[(982,461)(982,415)(765,415)(765,370)])
link(Str,8124499:String,[])
}
Add(Hub,13443699,147,399)
{
OutCount=3
link(onEvent1,6152951:doVisible,[(521,405)(521,118)])
link(onEvent2,7552149:doVisible,[(173,412)(173,290)(72,290)(72,167)])
link(onEvent3,6645917:doText,[])
}
Add(Hub,8040208,147,308)
{
link(onEvent1,8124499:doVisible,[(546,314)(546,356)])
link(onEvent2,3915514:doText,[])
}
Add(Clipboard,7226075,665,805)
{
Point(PutText)
link(PutText,8961757:Text,[])
}
Add(Edit,8961757,665,742)
{
Left=30
Top=210
Width=510
Text=""
ReadOnly=0
}
Add(Memo,15475221,833,455)
{
Left=850
Top=545
Visible=1
}
Add(Replace,3634003,791,588)
{
SubStr="\r\n"
link(onReplace,8961757:doText,[(835,594)(835,671)(653,671)(653,748)])
link(Dest,15475221:Text,[(811,544)(839,544)])
}
Add(DoData,9327126,742,588)
{
link(onEventData,3634003:doReplace,[])
link(Data,11027031:Text,[(748,544)(783,544)])
}

]

Редактировалось 5 раз(а), последний 2017-04-21 00:02:54
карма: 1

0
Разработчик
Ответов: 26066
Рейтинг: 2120
#6: 2017-04-21 01:08:24 ЛС | профиль | цитата
Че-то схема дюже навороченная, можно обойтись без всего этого безобразия и сразу формировать нужную строку

Схема

Add(MainForm,2953706,91,147)
{
Width=584
Height=290
Caption="Генератор сообщений МЧ"
Position=1
}
Add(Label,5193183,91,196)
{
Left=30
Top=146
Width=75
Height=20
Font=[Verdana,10,1,0,204]
Caption="Никнейм"
Point(doAlign)
}
Add(Label,7075741,98,203)
{
Left=30
Top=29
Width=59
Height=20
Font=[Verdana,10,1,0,204]
Caption="Сервер"
}
Add(Label,7552149,210,336)
{
Left=130
Top=110
Width=24
Height=20
Font=[Verdana,10,1,0,204]
Visible=1
Caption="ЛР"
Point(doVisible)
}
Add(Label,7929715,105,210)
{
Left=30
Top=180
Width=49
Height=20
Font=[Verdana,10,1,0,204]
Caption="Пункт"
}
Add(Edit,10131165,210,182)
{
Left=110
Top=146
Width=210
Text=" "
link(onEnter,7104880:doWork2,[])
}
Add(ComboBox,12302809,210,126)
{
Left=110
Top=29
Width=210
Height=21
Strings=#6:ру 1, |6:ру 2, |6:ру 3, |6:ру 4, |6:ру 5, |6:ру 6, |6:ру 7, |6:ру 8, |6:ру 9, |7:ру 10, |
Text=""
DataType=1
link(onClick,3182348:doWork2,[])
}
Add(ComboBox,1548087,210,70)
{
Left=110
Top=180
Width=210
Height=21
Strings=#9: - п.1.1 |9: - п.1.2 |9: - п.1.3 |9: - п.1.4 |9: - п.1.5 |9: - п.1.6 |9: - п.1.7 |9: - п.1.8 |9: - п.1.9 |10: - п.1.10 |10: - п.1.11 |10: - п.1.12 |10: - п.1.13 |10: - п.1.14 |10: - п.1.15 |10: - п.1.17 |10: - п.1.18 |10: - п.1.19 |10: - п.1.21 |10: - п.1.23 |
Text=""
DataType=1
link(onClick,3182348:doWork1,[(284,83)])
}
Add(BitBtn,2665041,210,574)
{
Left=420
Top=29
Width=120
Height=101
Font=[MS Sans Serif,10,1,0,1]
Caption="БУФЕР"
link(onClick,6110207:doEvent1,[])
}
Add(BitBtn,6348111,210,511)
{
Left=340
Top=146
Width=200
Height=55
Caption="Очистить буфер"
link(onClick,3461902:doEvent1,[])
}
Add(BitBtn,11538215,91,483)
{
Left=340
Top=29
Width=65
Height=101
Caption="Роспуск?"
Data=String( - прошу роспустить )
link(onClick,5514822:doWork2,[])
}
Add(Edit,6152951,210,385)
{
Left=154
Top=110
Width=166
Height=21
Visible=1
Text=" лр "
Point(doVisible)
link(onEnter,15076525:doWork2,[])
}
Add(BitBtn,6792200,91,301)
{
Left=30
Top=65
Width=90
Height=30
Caption="Рота"
Data=String( рота, )
link(onClick,8040208:doEvent1,[])
}
Add(BitBtn,15202800,91,392)
{
Left=130
Top=65
Width=90
Height=30
Caption="КБ"
Data=String( кб, )
link(onClick,13443699:doEvent1,[])
}
Add(BitBtn,4454176,91,441)
{
Left=230
Top=65
Width=90
Height=30
Caption="Трени"
Data=String( трени, )
link(onClick,1963238:doWork2,[])
}
Add(ComboBox,8124499,210,231)
{
Left=30
Top=110
Width=90
Height=21
Visible=1
Strings=#8: юниор, |7: сред, |7: чемп, |7: абсл, |
Text=""
DataType=1
Point(doVisible)
link(onClick,9829169:doWork2,[])
}
Add(Hub,13443699,154,392)
{
link(onEvent1,7552149:doVisible,[(186,398)(186,349)])
link(onEvent2,6152951:doVisible,[])
}
Add(Hub,8040208,154,301)
{
link(onEvent1,8124499:doVisible,[(179,307)(179,279)])
link(onEvent2,11427010:doWork2,[])
}
Add(Clipboard,7226075,385,581)
{
Point(PutText)
link(PutText,8961757:Text,[])
}
Add(Edit,8961757,385,483)
{
Left=30
Top=210
Width=510
Text=""
ReadOnly=0
}
Add(StrCat,7671504,329,483)
{
Point(doClear)
link(onStrCat,8961757:doText,[])
link(Str1,7671504:Result,[(335,474)(321,474)(321,523)(335,523)])
}
Add(HubEx,5514822,280,483)
{
link(onEvent,7671504:doStrCat,[])
}
Add(HubEx,1963238,280,441)
{
Angle=1
link(onEvent,5514822:doWork1,[])
}
Add(HubEx,15076525,280,392)
{
Angle=1
link(onEvent,1963238:doWork1,[])
}
Add(HubEx,11427010,280,308)
{
Angle=1
link(onEvent,15076525:doWork1,[])
}
Add(HubEx,9829169,280,238)
{
Angle=1
link(onEvent,11427010:doWork1,[])
}
Add(HubEx,7104880,280,189)
{
Angle=1
link(onEvent,9829169:doWork1,[])
}
Add(HubEx,3182348,280,133)
{
Angle=1
link(onEvent,7104880:doWork1,[])
}
Add(Hub,3461902,259,511)
{
link(onEvent1,7671504:doClear,[(298,517)(298,496)])
link(onEvent2,5514822:doWork3,[(284,524)])
}
Add(KeyboardLayout,13107376,329,539)
{
}
Add(Hub,6110207,273,574)
{
link(onEvent1,13107376:doRussianKbd,[(298,580)(298,552)])
link(onEvent2,7226075:doPutText,[])
}


Редактировалось 1 раз(а), последний 2017-04-21 01:10:33
карма: 22

0
6
Сообщение
...
Прикрепленные файлы
(файлы не залиты)