]> granicus.if.org Git - taglib/commit
Add a string reading function to the frame base class and then use that to read strings
authorScott Wheeler <wheeler@kde.org>
Wed, 18 Jul 2007 15:23:18 +0000 (15:23 +0000)
committerScott Wheeler <wheeler@kde.org>
Wed, 18 Jul 2007 15:23:18 +0000 (15:23 +0000)
commitdb2bedd6427fbfdf8e3cba1ec7e41228a715a333
tree3ea629d8a19d058d81459280a22c568d98f4b6d9
parent61fcb74d49060187d38e8807a4fbc2302df7e39f
Add a string reading function to the frame base class and then use that to read strings
(thus making them unicode safe).

BUG:135123
BUG:135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123135123

git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@689562 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
taglib/mpeg/id3v2/frames/attachedpictureframe.cpp
taglib/mpeg/id3v2/frames/generalencapsulatedobjectframe.cpp
taglib/mpeg/id3v2/id3v2frame.cpp
taglib/mpeg/id3v2/id3v2frame.h