ࡱ> z|yq` tKbjbjqPqP 8::tC4444<5<I55555_6_6_6IIIIIII$iJhLD,I8_6_688,I55AIbGbGbG8L 55IbG8IbGbGbG5x5 Pmu(4EbGIWI0IbGMG:MbGMbG_6h6JbG7<M7_6_6_6,I,ILG_6_6_6I8888\D\ [29.07.2009 0:26:14] Ashot @ Animatele: U seen the messages on .43 which there were no resps? [29.07.2009 0:28:28] a79167148002: Yeh they (submit-s) got into now (first server, .36) but I cant see the resps for them in the logs. Why just for these sys id-s no idea, there were no such problems with others. Could b because of the WDP setting (active on uplinks from .43 to .36) [29.07.2009 0:30:38] Ashot @ Animatele: Damn. But its the short ones that are stuck. Why the hell wdp? [29.07.2009 0:31:30] Ashot @ Animatele: Or do these submit-s (short ones) look any different if theres WDP on the uplink? [29.07.2009 0:31:51] a79167148002: No the difference is in the long ones only, and that is just the length [29.07.2009 0:32:32] Ashot @ Animatele: Well this is verifiable by disabling WDP and checking if they still get stuck [29.07.2009 0:33:18] Ashot @ Animatele: Some would screw though. Unlikely itd change anything [29.07.2009 0:34:56] Ashot @ Animatele: Cuz if you checked at the Antispam interface youd realize most re-submits are from (customer,) as the interface shown not just blocked messages but resubmitted as well. [29.07.2009 0:35:09] Ashot @ Animatele: And they (customer) apparently arent setting any WDP [29.07.2009 0:36:07] Ashot @ Animatele: Looked at the antispam log? [29.07.2009 0:37:32] a79167148002: Yeh thats flawless, all packets acked [29.07.2009 0:38:00] Ashot @ Animatele: The bounced submits, in particular [29.07.2009 0:38:09] Ashot @ Animatele: U sure none were at the time? [29.07.2009 0:39:06] Ashot @ Animatele: I have an idea how to untie this [29.07.2009 0:39:56] Ashot @ Animatele: The problems not with the application (thin layer) [29.07.2009 0:40:14] Ashot @ Animatele: If its not the Antispam locking or a Spider bug (thin layer apps) [29.07.2009 0:40:36] Ashot @ Animatele: Can u confirm? [29.07.2009 0:40:43] Ashot @ Animatele: Also, multiple sessions on a single sys id can distribute on different sockets, redirected to one IP:port of NowSMS, right? (the server has multiple IP addresses. The thin layer Spider app instances are each tied to one CPU core, and inbound connections are loadshared on different IPs of each Spider instance by a Cisco content switch server, depending on the CPU core load snapshots provided by the server to the switch via SNMP) [29.07.2009 0:42:20] Ashot @ Animatele: Spiders are all different, right? [29.07.2009 0:42:35] a79167148002: Sys id-s are different [29.07.2009 0:42:42] Ashot @ Animatele: No. I already know how to find it [29.07.2009 0:43:02] Ashot @ Animatele: (customer) has 3 TRX binds on each sys id [29.07.2009 0:43:47] a79167148002: Yes, they can be share (among different Spiders) [29.07.2009 0:47:35] Ashot @ Animatele: Here we are. Can you confirm its definitely not the Spiders (not matching the packets because of different instances) [29.07.2009 0:48:01] Ashot @ Animatele: I can catch it on .43 and tell you the exact time [29.07.2009 0:49:35] Ashot @ Animatele: Its only been 50 mins (since midnight) the logs are still small [29.07.2009 0:49:46] Ashot @ Animatele: 0:49 [29.07.2009 0:50:16] Ashot @ Animatele: You should activate the (NowSMS) debug tho on .36, but not now [29.07.2009 0:51:00] a79167148002: Gimme a B-number [29.07.2009 0:55:27] Ashot @ Animatele: +5352446851 was stuck at 0.54.51 [29.07.2009 0:55:56] Ashot @ Animatele: In other words, within less than 120 secs before that there was a submit [29.07.2009 0:56:05] Ashot @ Animatele: Look for it before, but not after [29.07.2009 0:56:34] Ashot @ Animatele: Its 120 secs by default in Now, isnt it? (commandtimeout) [29.07.2009 0:58:59] Ashot @ Animatele: Btw cant find the bounce in the antispam interface for this number [29.07.2009 0:59:29] a79167148002: Nah thats because the RADLs not filled yet (antispams repeat threshold) [29.07.2009 1:01:42] a79167148002: In the Spiders log the longest response for this number is 1.2 ms [29.07.2009 1:02:09] Ashot @ Animatele: Check if there was a submit and a resp within that timeframe [29.07.2009 1:04:45] Ashot @ Animatele: The last one before that moment [29.07.2009 1:05:00] a79167148002: Within that exactly no. Theres one at 00:54:09, then 00:54:24, the next at 00:56:38 [29.07.2009 1:05:46] Ashot @ Animatele: 54:24 I think [29.07.2009 1:06:04] Ashot @ Animatele: 1st ones prolly the inbound, right? [29.07.2009 1:06:21] a79167148002: Thats just the (sysid_wdp) [29.07.2009 1:06:26] Ashot @ Animatele: Ah, can u see the text? [29.07.2009 1:07:15] a79167148002: Papito%20ayer%20vino%20aki%20a%20mi%20casa%20un%20muchacho%20 [29.07.2009 1:07:43] Ashot @ Animatele: 54.24 and 56.38 look just like because of timeouts [29.07.2009 1:07:58] Ashot @ Animatele: Same texts in all 3? [29.07.2009 1:08:03] a79167148002: yes [29.07.2009 1:08:11] Ashot @ Animatele: Damn [29.07.2009 1:08:42] Ashot @ Animatele: Which one of these havent had resps? [29.07.2009 1:08:55] Ashot @ Animatele: The second apparently, right? [29.07.2009 1:09:00] a79167148002: Yes [29.07.2009 1:09:08] Ashot @ Animatele: Were there resps for the other 2? [29.07.2009 1:11:52] Ashot @ Animatele: That messages been also resubmitted by the (customer) hence its 3 messages not 2 [29.07.2009 1:12:16] a79167148002: There was a resp on the very first one at 00:54:09. messageid=76F94CB4 [29.07.2009 1:12:35] a79167148002: The logs show it was sent to .43 [29.07.2009 1:12:56] Ashot @ Animatele: The second is missing, how about the 3d? [29.07.2009 1:13:19] a79167148002: Third ones here, 76F955CB [29.07.2009 1:13:44] Ashot @ Animatele: All 3 were processed by the Antispam normally? [29.07.2009 1:14:28] Ashot @ Animatele: Possibly it gets mad cuz of every message gets though it twice (due to a WDP loop to in this case reassembling concats) [29.07.2009 1:15:41] Ashot @ Animatele: In other words, there are no differences between the 2nd and the 1-3d attempts? [29.07.2009 1:16:13] a79167148002: Lemme check [29.07.2009 1:17:43] a79167148002: From the Antispam point no, it responded to all 3 within 1 ms. [29.07.2009 1:21:20] Ashot @ Animatele: So, weve excluded that it (antispam) might have broken or something overflown? [29.07.2009 1:21:30] a79167148002: We did [29.07.2009 1:22:16] Ashot @ Animatele: Tell me, is the localhost seeing which other local IP address someones connecting to it from? [29.07.2009 1:22:30] Ashot @ Animatele: Or which address the message came from? [29.07.2009 1:22:56] Ashot @ Animatele: The Spiders are each using a separate address, right? [29.07.2009 1:23:49] a79167148002: It does, but in the logs I can only see that the 2nd and the 3d submit went through the Spider 3, and the 1st through Spider 4 [29.07.2009 1:24:14] Ashot @ Animatele: Right [29.07.2009 1:25:07] Ashot @ Animatele: Can u see which spiders accepted the resps on the 1st and the 3d? [29.07.2009 1:25:50] Ashot @ Animatele: You get it dont u [29.07.2009 1:26:24] a79167148002: Yeh [29.07.2009 1:35:28] a79167148002: This is weird. There was a deliver_sm on the 1st submit_sm whose PDU was assigned a sequence_id = 0x22. The second submit_sm came with the exactly the same sequence_id, and there was no response for that one. Looks like Now thought that that submit was a return packet (since the attribute defining that the packet is a ack to a request in SMPP is match of their sequence id-s.) In SMPP, this a poorly thought-out seqid for submit_sm is generated by the client, while seqid for the deliver-s generated by the server. They can match. But according to the specification, each packet must have a unique seqid within one session, or to be precise within one pair of request-ack. [29.07.2009 1:36:47] a79167148002: I.e., ideally the server should account for all seqid-s generated by its client part and not use the same seqid-s for the packets generated by the server part [29.07.2009 1:36:59] a79167148002: Obviously Nows not doing it, since its a nightmare [29.07.2009 1:37:52] a79167148002: However, theres one assumption, but a doubtful one [29.07.2009 1:39:02] a79167148002: Since the attribute of an ack, apart from a natch of the seqid, is also a match of the command code excluding the 1st bit, e.g. a code for submit_sm = 0x00000004, and a code for SUBMIT_SM_RESP = 0x80000004 (difference in 1st digit) [29.07.2009 1:39:12] a79167148002: While the code for deliver_sm is a 0x0000005 [29.07.2009 1:39:35] Ashot @ Animatele: Ill be damned.. [29.07.2009 1:39:47] Ashot @ Animatele: Looks like ure right.. [29.07.2009 1:40:05] a79167148002: But still one can assume that Now is first checking the seq_id and if its matching it considers it an ack and sends it to an ack analyzer. The analyzer goes mad because of the content and discards the packet [29.07.2009 1:40:17] Ashot @ Animatele: Right [29.07.2009 1:40:27] Ashot @ Animatele: Lets check that [29.07.2009 1:40:34] Ashot @ Animatele: Catch one more b4 we dig further [29.07.2009 1:41:01] a79167148002: Gimme a B-number [29.07.2009 1:41:15] Ashot @ Animatele: Whats the range for a seqid, 0 to 255? [29.07.2009 1:41:30] a79167148002: From 0 to a lot, 4 billion variants [29.07.2009 1:41:57] Ashot @ Animatele: They must b resetting the counter at 255 as mBlox do I reckon [29.07.2009 1:42:28] a79167148002: Not 255 for sure, Ive seen at least 3-digit in hex, thats over 256 [29.07.2009 1:43:19] Ashot @ Animatele: Why would they match then.. there are just too many such matches [29.07.2009 1:43:35] Ashot @ Animatele: I can see them at any given moment [29.07.2009 1:43:51] Ashot @ Animatele: Looking for it [29.07.2009 1:45:30] a79167148002: Hmm btw doing a search to find seqid-s larger than 256 cant find one for 2 minutes already [29.07.2009 1:45:37] a79167148002: Ah sorry [29.07.2009 1:47:11] a79167148002: Theres a lot, it got to at least to 768 since midnight [29.07.2009 1:47:28] a79167148002: Till 1am [29.07.2009 1:47:58] Ashot @ Animatele: What, is the counter resetting at 00:00? [29.07.2009 1:48:12] Ashot @ Animatele: Cant find any stuck ones.. [29.07.2009 1:48:18] a79167148002: Doesnt look like, no [29.07.2009 1:48:53] a79167148002: The counter gets reset upon session reset, but for some reason all of the seqid-s from 0 to 255 are found after midnight, 256 to 511 a bit later etc. [29.07.2009 1:49:05] a79167148002: Have you restarted Now on .43? [29.07.2009 1:49:11] a79167148002: Could it b crashing? [29.07.2009 1:49:19] Ashot @ Animatele: Yeh I did [29.07.2009 1:49:31] Ashot @ Animatele: There were 4 long req-s stuck [29.07.2009 1:49:47] Ashot @ Animatele: But they still havent submitted obviously, Ive recalled then that if its WDP theyll stay [29.07.2009 1:50:51] Ashot @ Animatele: Cant find the stuck ones, should I restart? Or no? [29.07.2009 1:51:19] a79167148002: At 00:00:54 first packet with seqid=01 [29.07.2009 1:51:27] Ashot @ Animatele: Yeh kind of [29.07.2009 1:51:33] a79167148002: Ure right tho, they get reset at midnight [29.07.2009 1:51:45] Ashot @ Animatele: Bullocks [29.07.2009 1:52:15] Ashot @ Animatele: Thats why a queue every midnight on .36 for no reason [29.07.2009 1:53:20] Ashot @ Animatele: Remember there were 5-10 req-s before theyve patched it, every midnight with a timestamp of 00-00-00 in all of them [29.07.2009 1:56:02] a79167148002: Kindergarden really.. [29.07.2009 1:56:56] Ashot @ Animatele: PhoneNumber=+5352481722 Data=Me podran hacer el favor de llevarme el vestido a mocha\nEvelyn [29.07.2009 1:57:04] Ashot @ Animatele: 1-56-44 [29.07.2009 1:57:08] Ashot @ Animatele: Was stuck [29.07.2009 1:57:24] Ashot @ Animatele: Why data though [29.07.2009 1:57:38] Ashot @ Animatele: What, r they sending data_sm? [29.07.2009 1:57:51] a79167148002: Lemme see [29.07.2009 1:59:32] a79167148002: No, no data_sm. Submit_sm [29.07.2009 1:59:55] a79167148002: dcs=0 [29.07.2009 2:00:00] Ashot @ Animatele: Ah right thats how its written in files [29.07.2009 2:00:39] Ashot @ Animatele: Check whats seen around that time and the seqid-s [29.07.2009 2:00:51] a79167148002: 1.55.46 and 1.57.44 [29.07.2009 2:01:04] a79167148002: Looking for seqid-s [29.07.2009 2:01:17] Ashot @ Animatele: 2 attempts only? [29.07.2009 2:01:36] Ashot @ Animatele: And the 1sts got no resp, right? [29.07.2009 2:04:04] a79167148002: Still looking [29.07.2009 2:04:50] a79167148002: Yes. No resp for the 1st one, but I cant see a deliver_sm with this seqid [29.07.2009 2:06:00] Ashot @ Animatele: Is there any other packet with the same seqid within 2 mins b4 and 2 mins after? [29.07.2009 2:09:02] a79167148002: No [29.07.2009 2:09:41] Ashot @ Animatele: Alright, lets take it as coincedense [29.07.2009 2:09:45] a79167148002: Yeh [29.07.2009 2:09:50] Ashot @ Animatele: Ill write them though [29.07.2009 2:10:29] Ashot @ Animatele: No reason to reset (at midnight) better to reset when reached a max value for this type of packet [29.07.2009 2:10:55] a79167148002: The maximum is the same for all types. 0xFFFFFFFF [29.07.2009 2:10:58] Ashot @ Animatele: If they did the probability of it screwing would be nill, and no need to match by command codes wasting processor time [29.07.2009 2:11:50] Ashot @ Animatele: Alright put on the debug on .36 [29.07.2009 2:12:06] Ashot @ Animatele: Looks like one of my versions, one of the two [29.07.2009 2:12:29] Ashot @ Animatele: Just kill all req-s in \q b4 activating [29.07.2009 2:12:58] Ashot @ Animatele: Sort by the time and kill all those older than 2 mins [29.07.2009 2:13:03] Ashot @ Animatele: Dont even look [29.07.2009 2:13:21] Ashot @ Animatele: Cuz if u dont the debug might bring it to halt [29.07.2009 2:14:00] a79167148002: Its on [29.07.2009 2:14:19] Ashot @ Animatele: Catching [29.07.2009 2:19:56] Ashot @ Animatele: PhoneNumber=+5352475116 Data=Mi tita ahora estoy lavando los kiero muchoooo muaaaa [29.07.2009 2:20:03] Ashot @ Animatele: 02-19-48 [29.07.2009 2:20:39] Ashot @ Animatele: Was loads more when I looked b4, now im hitting f5 for 5 mins to find one [29.07.2009 2:22:20] a79167148002: The debug says that sent the resp, looking in the spiders log [29.07.2009 2:22:35] Ashot @ Animatele: Yeh [29.07.2009 2:22:50] Ashot @ Animatele: Went the wrong way the fucker [29.07.2009 2:24:24] a79167148002: No no it was the (sysid) the original one [29.07.2009 2:24:31] a79167148002: In that case there were no repeats in Now [29.07.2009 2:25:03] Ashot @ Animatele: e.g. the 1st resp is missing [29.07.2009 2:25:08] Ashot @ Animatele: But theres the 2nd? [29.07.2009 2:25:58] a79167148002: There are two messages with this B-number [29.07.2009 2:26:04] a79167148002: First if from (customer sysid) external [29.07.2009 2:26:18] a79167148002: The second cant find, should be (customer sysid_wdp) internal [29.07.2009 2:26:33] Ashot @ Animatele: how about in your log? [29.07.2009 2:26:54] Ashot @ Animatele: Go in chronological order [29.07.2009 2:33:10] a79167148002: In my log theres a resp, sent to client at 02-19-35 [29.07.2009 2:34:18] Ashot @ Animatele: How many submits then? [29.07.2009 2:34:39] a79167148002: 1 [29.07.2009 2:34:48] Ashot @ Animatele: Ill be damned [29.07.2009 2:35:14] Ashot @ Animatele: No similar seqid-s? [29.07.2009 2:35:32] Ashot @ Animatele: Looks like theres more than one problem [29.07.2009 2:36:08] Ashot @ Animatele: How long is it between that submit and the resp? [29.07.2009 2:36:45] Ashot @ Animatele: I definitely remember it was stuck. Went to look at the servers clock, came back hit f5 it was still hanging [29.07.2009 2:41:34] a79167148002: 12 ms [29.07.2009 2:41:47] a79167148002: No similar seqid-s [29.07.2009 2:42:09] Ashot @ Animatele: Now go to .43 look there, the debug is on [29.07.2009 2:42:24] Ashot @ Animatele: Logged off [29.07.2009 2:45:55] a79167148002: Theres no resp on the .43, but 2 seconds later theres a deliver_sm with the same seqid [29.07.2009 2:46:29] a79167148002: For a different session [29.07.2009 2:46:32] a79167148002: And even to a different client [29.07.2009 2:47:51] Ashot @ Animatele: Look it couldnt have possibly known in advance that therell be another packet in 20 seconds with the same seqid, could it?! [29.07.2009 2:48:01] a79167148002: It couldnt [29.07.2009 2:48:33] Ashot @ Animatele: Are killusers working (alert for session disconnects?) [29.07.2009 2:49:14] Ashot @ Animatele: Were there disconnects? [29.07.2009 2:49:35] a79167148002: Nope [29.07.2009 2:49:38] Ashot @ Animatele: Why then if there were no resp you cant see that message resubmitting [29.07.2009 2:50:15] Ashot @ Animatele: Check the smsout log when it was sent, before or after Ive seen (the stuck .req file) [29.07.2009 2:50:23] Ashot @ Animatele: On the .43 [29.07.2009 2:50:39] Ashot @ Animatele: Falling asleep.. [29.07.2009 2:57:30] a79167148002: After. In 2 minutes [29.07.2009 2:58:57] a79167148002: Actually I messed it with the (sysid) The (sysid_wdp) has no resp in either .36, or in the Spider , and not in .43 debug. [29.07.2009 3:00:04] a79167148002: Lets finish im knackered [29.07.2009 3:00:20] Ashot @ Animatele: Yeh [29.07.2009 3:00:42] a79167148002: Turning off the debug [29.07.2009 3:00:55] Ashot @ Animatele: We can see where the problem is tho [29.07.2009 3:01:13] Ashot @ Animatele: Although there could be more than one [29.07.2009 3:01:53] a79167148002: Done &')^_tu~      d e z {  E F [ ` c l m n y z øh.h.mH sH h.mH sH hk)hk)mHsHhk)hk)mH sH hk)mH sH h#mH sH hk)h#hk)mH sH H_ e F z  g AAd>3#gdk)tK   1 2 ? @ f g |  @AV[^gi"%.0AV[^gi/47@Bcڸh#hRkmH sH hRkmH sH h.hk)mH sH hk)h.h.mH sH h.mH sH h#mH sH h#hk)mH sH Fcez{ =>STa23HMPY[ #8=@IKȵ浢h88nmH sH h#h#mH sH h#hk)mH sH h#mH sH hk)hk)mHsHh#hRkmH sH hRkmH sH hk)hRkhk)mH sH hRkhRkmH sH < #&/1Nnyz'(=BENP'ij,-:dh#h#mH sH h#mH sH h88nh#h88nmH sH hk)h#hk)mH sH h#h88nmH sH h88nh88nmH sH H z(jWV5{gggd2Hfgdk)dnr{,-:;VW!'+1UVkps|~ 45JO޴ި޴޴޴޴޴ޤި޴޴hh88nhmH sH hhk)mH sH h#h88nmH sH h88nh88nH*mH sH h#mH sH hk)h#hk)mH sH h88nmH sH h88nh88nmH sH @OR[]yz{ fg|}+03<>fg|}øøøhh2HfmH sH h2Hfh2Hfh2HfmH sH h2HfmH sH hhmH sH h88nh88nmH sH hmH sH h88nmH sH hk)hhk)mH sH B#%&t,-:?@EG\]ij" # 8 9 F H I L M N c h k t ޴֩֞hhmH sH hh2HfmHsHhhmHsHhk)hk)mHsHh2Hfh2HfH*mH sH hh2HfmH sH hmH sH h2Hfh2HfmH sH h2HfmH sH hhk)mH sH hk):F# M %!!%"S""" #$$%%& 'c'p(((8)-*[**gdk)t v $!%!:!?!B!K!L!M!!!!!!!!""$"%":"?"B"K"M"R"S"h"m"p"y"{""""""""""""" ##### #5#6#C#·¯֯h6h6mH sH h6h6H*mH sH h6mH sH h[fh[fmH sH h[fmH sH h2Hfh2HfH*mH sH hmH sH hk)h2Hfh2HfmH sH h2HfmH sH hhk)mH sH ::2;{;;!<gdk)66666677)7<7=7R7W7Z7c7e7u7v777777777777777888,8.8`8a8v8{8~8888888889999&9(9M9N9c9d9q9t9u9999999999999=:hGmH sH h#h#H*mH sH h#mH sH h mH sH hk)h hk)mH sH h#h#mH sH K=:>:S:T:a::::::::::1;2;3;H;M;P;Y;[;z;{;;;;;;;;;;;;; <!<6<;<><G<I<~<<<<<<<<<<<<<<<<==2=:=b=l===>> >>->2>5>>>hk)hk)mHsHh mH sH hGmH sH h hGmH sH hGhk)h hk)mH sH hGhGmH sH J!<<<=:=k===>>>?_???>@{@@AuAAANBBBB$CuCCeDgdk)>>@>>>>>>>>?? ??????.?3?6???@?A?^?_?t?u?????????@@@@!@+@-@=@>@S@X@[@d@f@w@y@z@{@@@@@@@@@@AA(A)A6AtAuAAAAAAAAAAAhGhGhGH*mH sH h mH sH hk)hGhGmH sH hGmH sH h hk)mH sH NAAAAAAA B BBEBNBcBhBkBtBvBBBBBBBBCC$C9C>CACJCLCtCuCCCCCCCCCCCCCdDeDzD{DDDDDDDDDDDDDDEE+Eh&=h&=mH sH h&=mH sH hh&=h&=hk)mH sH hhmH sH hGhGmH sH hmH sH hGmH sH hk)h hk)mH sH AeDDDEIEEFBFFGvGGGMHHH8IpIJKJxJJJKKtKgdk)+E0E3EEHEIE^E_ElEEEEEEEFFF#F,F/F;FAFBFWF\F_FhFjFpFFFFFFF GGG,G1G4G=G>G?GsGtGuGvGGGGGGGGGGGGGGGGHHLHMHbHgHjHsHuHHHHHIII%I'I7Ihh&=mH sH hhmH sH hmH sH h&=hk)mH sH hk)S7I8IMINI[IoIpIIIIII JJ#J$J1J4J5JJJKJsJxJJJJJJJJJJJJKKK#K%KJKKKLKoKtKÿh#h#h#mH sH h#mH sH h&=mH sH hmH sH hk)h&=hk)mH sH hhmH sH +6&P 1h:p.. A!" #$% @@@ NormalCJ_HaJmH sH tH DA@D Default Paragraph FontRi@R  Table Normal4 l4a (k@(No ListtC_eFzgAA d > 3 # z (jWV5{ggF#M%%S  cp 8!-"["""#b##$w$$,%c%%&k&&&,'e'(a((()))A*u***R++(,h,,,-G----".t../=/v///a001N1u11>2223{33!4445:5k5556667_777>8{889u999N::::$;u;;e<<<=I==>B>>?v???M@@@8ApABKBxBBBKCvC00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000_eFzgAA d > 3 # z (jWV5{ggF#M%%S  cp 8!-"["""#b##$w$$,%c%%&k&&&,'e'(a((()))A*u**R++(,h,,,-G----".t../=/v///a001N1u11>2223{33!4445:5k5556667_777>8{889u999N::::$;u;;e<<<=I==>B>>?v???M@@@8ApABKBxBBBKCvC@0K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00I00K00K00K00K00I00I00I00I00I00I00I00I00I00I00I00I00I00K00K00K00K00K00K00K00K00K00K0_0K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00I00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00UI00I00K00K00K00K00K00K00I00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00I00I00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00K00ϋ9 cdOt C#L(+/26=:>>A+E7ItK&)*+-./1235679:<=?@*3!<eDtK',048;>tK(8@0(  B S  ?LzH'"MzHtK NzHDyOzH ? PzH? QzHL RzH L  ::vC ::vC=*urn:schemas-microsoft-com:office:smarttags PlaceName=*urn:schemas-microsoft-com:office:smarttags PlaceTypei*urn:schemas-microsoft-com:office:smarttagsState0http://www.5iamas-microsoft-com:office:smarttagsV*urn:schemas-microsoft-com:office:smarttagsplacehttp://www.5iantlavalamp.com/ ޙ X][`@Caf| V["V[ku/ 4   H M   " 8 = r u  # V Z &=BqyLUlqkp.3JO+0;>:?s{!$89DEFch:?:?hm`j$EJ !!,!/!!!!!!!B"G"p"u"""##'#,#Q#V####$$$$$A%F%%%&&&'''(((((() )'),)))8*=*V*[*i*l*******+ +g+l+++,,=,B,P,[,p,v,w,|,,,,,,,,,,,,,$-)-\-a--------...... .!.7.<.....5/:/R/W/////0"0F0P0[0`0v0{000000011B1M1q1t11111222222H3M333334 464;4z4~4444444O5T55555555555555555555555666-626e6g6y6}6667777.737777788.828S8X899a9j99999-:1:c:h::::;; ;9;>;;;;;;;<<<<+=0=w={=====W>\>>>,?1?C?L????? @$@b@g@@@@@@@AAAAAAAA>B@B`BeBsBvBBBBBCCoCsCvC)/ ( 1 " &'1")QU#L:@  5!7!$$$$&&)'+'U(X(C)Q)))%,',m,o,-!.4456;;5A7AAAKCsCvC3333333333333333333333333333333333 +(,KCsCvCoCsCvCcb:Q 8$ \ yA . .py8: X}s,`<&'V(A+k26];#AEOEF7\HI5&K]&Q8U14V]]]|^oDadd6e2HfqMf[fgDZlemx%nO4n88n t tRknKr_ YG`T#HjOp:q.45~ ", F'?&me lkVl B.8k) !tDJL1#P55&=@oCoC CCoCoCtC@Unknowngz Times New RomanTimes New Roman5Symbol?& z ArialArial"qhƊk :tjk :tj$24CC2QHX)?k)[29TonySTonySOh+'0l  ( 4 @LT\d[29TonyS Normal.dotTonyS1Microsoft Office Word@:@(@Ls(k  :՜.+,0 hp  ANIMAjtC [29 Title  !"#$%&'()*+,-./0123456789:;<=>?@ACDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghjklmnoprstuvwx{Root Entry FPw(}1TableBMWordDocument8SummaryInformation(iDocumentSummaryInformation8qCompObjq  FMicrosoft Office Word Document MSWordDocWord.Document.89q