From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from smtp0.lie-comtel.li ([217.173.238.80]:56255 "EHLO smtp0.lie-comtel.li" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753196AbZCKTL3 (ORCPT ); Wed, 11 Mar 2009 15:11:29 -0400 Message-ID: <49B80CDA.8000903@kaiser-linux.li> Date: Wed, 11 Mar 2009 20:11:22 +0100 From: Thomas Kaiser MIME-Version: 1.0 To: Anders Blomdell CC: Linux Media Subject: Re: Topro 6800 driver References: <49A8661A.4090907@control.lth.se> <49B194A7.4030808@kaiser-linux.li> <49B50740.3000902@control.lth.se> <49B50E16.8080703@kaiser-linux.li> <49B56542.1090408@control.lth.se> <49B57799.3020504@kaiser-linux.li> <49B57C1D.3060600@control.lth.se> <49B57F7D.1020108@kaiser-linux.li> <49B62023.2090206@control.lth.se> <49B65BA7.6070700@kaiser-linux.li> <49B68F34.60802@control.lth.se> <49B6A495.9060204@kaiser-linux.li> <49B7D41B.4040801@control.lth.se> In-Reply-To: <49B7D41B.4040801@control.lth.se> Content-Type: multipart/mixed; boundary="------------050804070504060500000703" Sender: linux-media-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------050804070504060500000703 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Anders Blomdell wrote: > Thomas Kaiser wrote: >> Hello Anders >> >> Anders Blomdell wrote: >>> Thomas Kaiser wrote: >>>> Hello Anders >>>> >>>> Anders Blomdell wrote: >>>>> Thomas Kaiser wrote: >>>>> which indicates that both DQT and Huffman is present in the stream. >>>> It is _not_ present in the stream. >>> Then I don't understand where it comes from... >> I do, because I implemented it into gspca V1 ;-) >> >> The cam only streams the picture data. To code the stream a _static_ >> JPEG header is used. The cam and the driver know this header. Therefor, >> the driver just builds a valid JPEG image with the known header and the >> stream from the cam. >> >>>> Anyway I did not found time to try with the JPEG header from PAC7311. >>>> And I have to apologize because I did not tell you what work I did for >>>> the PAC7311. See this: http://www.kaiser-linux.li/index.php?title=PAC7311 >>>> >>>> You should find the PAC7311 JPEG header in this source: >>>> http://www.kaiser-linux.li/files/PAC7311/gspcav1-PAC7311-20070425.tar.gz >>> Will look into it. >> Check decoder/gspcadecoder.c and search for pac7311_jpeg_header. >> >>>>>> Anyway PAC7311 is working AFAIK. >>>>> Which doesn't contradict that it's encoded in the stream from the camera. >>>> BTW, can you send me the header and some Bytes from your stream, the 02 >>>> 8a 00 a2 80 28 a0 0a 28 thing. As ASCII in Email is OK. >>> The entire (white?) image is in the attachment (QUALITY=0). >> I tried the PAC7311 header. See the result in the attached files :-( > Thanks for trying though. > > I tested some more, and by starting at offset 7 (based on that ff00 indicates > jpeg stream, and that byte 8 differs between quality 1 & 2, [byte 7 follows > quality]) > > Size=152d, quality=1 > ff d8 ff fe 28 3c 01 fc ff 00 45 66 9a 69 a2 95 > ... > Size=152a, quality=2 > ff d8 ff fe 28 3c 02 f9 55 15 29 a5 52 95 34 a8 > > I get img0 with the DQT you found on your installation disk, while img1 is what > you get with the standard DQT. Could it be that yuv=0,0,0 implies a black image? > Length is still bogus though, and with yuv != 0 I still get garbage, so I assume > there is some problem with the huffman coding still! > > I guess what I have to do, is to transform a yuv=0,0,0 image using the 17 > different DQT tables you found and try to generate a huffman table that matches > that data and the 17 different samples I have (of course this table will have > unknowns, but it might be a starting point). > > /Anders > Hello Anders What is the resolution of your black frame? I changed the component subsampling to 4:2:0 and the image size to 320x240. No your black frame looks OK :-) The black one is frameA-1.jpg and I attached my almost white one frame5-1.jpg. Thomas --------------050804070504060500000703 Content-Type: image/jpeg; name="frame5-1.jpg" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="frame5-1.jpg" /9j/4AADIP/AABEIAPABQAMBIgACEQEDEQH/2wCEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBAQEBgUGCwYGCxgQ DhAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGP/E AaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RF RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEB AQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEH YXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2 t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A /fVFfuj4+N9JV6sKKHMKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKK AKKHTG+kq9WFFDmFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFD pjfSVerCihzCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCih0xvp KvVhRQ5hRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQ6Y30lXqw oocwooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAoodMb6Sr1YUUOY UUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUOmN9JV6sKKHMKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKHTG+kq9WFFDmFFAFFAFF AFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFDpjfSVerCihzCigCigCigCig CigCigCigCigCigCigCigCigCigCigCigCigCigCigCih0xvpKvVhRQ5hRQBRQBRQBRQBRQB RQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQ6Y30lXqwoocwooAooAooAooAooAooAo oAooAooAooAooAooAooAooAooAooAooAooAoodMb6Sr1YUUOYUUAUUAUUAUUAUUAUUAUUAUU AUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUOmN9JV6sKKHMKKAKKAKKAKKAKKAKKAKKAKKAKKA KKAKKAKKAKKAKKAKKAKKAKKAKKAKKHTG+kq9WFFDmFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAF FAFFAFFAFFAFFAFFAFFAFFAFFDpjfSVerCihzCigCigCigCigCigCigCigCigCigCigCigCi gCigCigCigCigCigCigCih0xvpKvVhRQ5hRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQ BRQBRQBRQBRQBRQBRQ6Y30lXqwoocwooAooAooAooAooAooAooAooAooAooAooAooAooAooA ooAooAooAooAoodMb6Sr1YUUOYUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAU UAUUAUUAUUOmN9JV6sKKHMKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKK AKKAKKHTG+kq9WFFDmFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFA FFDpjfSVerCihzCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCih0 xvpKvVhRQ5hRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQ6Y30l XqwoocwooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAooAoodMb6Sr1YU UOYUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUOmN9JV6sKKHMK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKHTG+kq9WFFDmFFAFF AFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFAFFDpjfSVerCihzCigCigCig CigCigCigCigCigCigCigCigCigCigCigCigCigCigCigCih0xvpKvVhRQ5hRQBRQBRQBRQB RQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQBRQ6Y30lXqwoocwooAooAooAooAooAo oAooAooAooAooAooAooAooAooAooAooAooAooA3orKxKWpTOmL56vVhRWpOYUUAUUAUUAUUA UUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAUUAD/2Q== --------------050804070504060500000703 Content-Type: image/jpeg; name="frameA-1.jpg" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="frameA-1.jpg" /9j/4AADIP/AABEIAPABQAMBIgACEQEDEQH/2wCEAAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQE BAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQBBAQEBgUGCwYGCxgQ DhAYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGP/E AaIAAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKCxAAAgEDAwIEAwUFBAQAAAF9AQIDAAQR BRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RF RkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ip qrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6AQADAQEB AQEBAQEBAAAAAAAAAQIDBAUGBwgJCgsRAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEH YXETIjKBCBRCkaGxwQkjM1LwFWJy0QoWJDThJfEXGBkaJicoKSo1Njc4OTpDREVGR0hJSlNU VVZXWFlaY2RlZmdoaWpzdHV2d3h5eoKDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2 t7i5usLDxMXGx8jJytLT1NXW19jZ2uLj5OXm5+jp6vLz9PX29/j5+v/aAAwDAQACEQMRAD8A /AFFc8HBw8HDpwsKlU00pJJKEkrJJLRLZAKK6AKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKAK KAKKAKKAKKAKKAKKAKKAKKAKKAKKAKKA/9k= --------------050804070504060500000703--