diff options
125 files changed, 78732 insertions, 1898 deletions
diff --git a/classes/cmake.bbclass b/classes/cmake.bbclass index 823635c24d..a9130f2a05 100644 --- a/classes/cmake.bbclass +++ b/classes/cmake.bbclass @@ -4,7 +4,8 @@ DEPENDS += " cmake-native " inherit autotools cmake_do_configure() { - cmake . -DCMAKE_INSTALL_PREFIX:PATH=${prefix} + cmake . -DCMAKE_INSTALL_PREFIX:PATH=${prefix} -Wno-dev \ + -DCMAKE_FIND_ROOT_PATH=${STAGING_DIR_HOST} } EXPORT_FUNCTIONS do_configure diff --git a/classes/image.bbclass b/classes/image.bbclass index 6350a733e8..e9c0ecd947 100644 --- a/classes/image.bbclass +++ b/classes/image.bbclass @@ -93,6 +93,7 @@ fakeroot do_rootfs () { set -x rm -rf ${IMAGE_ROOTFS} mkdir -p ${IMAGE_ROOTFS} + mkdir -p ${DEPLOY_DIR_IMAGE} if [ "${USE_DEVFS}" != "1" ]; then for devtable in ${@get_devtable_list(d)}; do diff --git a/conf/checksums.ini b/conf/checksums.ini index 59a67cfe20..6c63dff5d7 100644 --- a/conf/checksums.ini +++ b/conf/checksums.ini @@ -1134,6 +1134,30 @@ sha256=926a9115e5c885ff9f2ef8abc6c3c552652afc370ebf65a87f41ec6810bdb569 md5=3cec33c3711860c4c6b7614afeec7870 sha256=9d7abee640dafbcdc6b75544015f3ffb5ed5aed2747465ec1412e959d3966740 +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-034] +md5=7bc6c5b5f38b7027152f8db0458a2e14 +sha256=adc52e3427b606fe9649980b01c5b2b18f0509c4dd6d59a84f85b6a2989f9f8e + +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-035] +md5=a2db61fe90e39371d0e6cd2285ec9208 +sha256=d3d906b23fce195d5d6f0db8969fa5264e80a98b5460008d6a05e4156ca73953 + +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-036] +md5=95c70c7ae9de5bd3659c86284be7fb76 +sha256=bdb24d65d1170234379fe587f5dc8b990c5e0c2d61c394bb8c81b91c1c64ce23 + +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-037] +md5=62b876a3d7cd192cc8db2476fbb6b7b9 +sha256=9688a352c0fb23d2ce6e685ce39cda1c49f4aa7819bde2508ff8c90003f484df + +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-038] +md5=aca3afc341bd3e5a0d8a3b4ca40dbb3f +sha256=0e3649531c3a5675743980ecf5ff5fcbca2801afe4dca7fb4b250aae7ac3b782 + +[http://ftp.gnu.org/gnu/bash/bash-3.2-patches/bash32-039] +md5=e240c34f979b64bcb83c5f6567110bb1 +sha256=46d427fd5b1509ec7dd980c07efd88634fde61cf07ab221dcbde9e1021bd2817 + [http://bazaar.canonical.com/releases/src/bazaar_1.2.tar.gz] md5=1fdb0aa41d7db06bf3429118d0136c8a sha256=d1b657f52dea785ce1b1a8b5acfdee4492c5d779422f9b58e145162e2d33c241 @@ -1726,6 +1750,10 @@ sha256=c91699fe8cd2140e3b236257e7cb5ca4cd42e587a8f3eb932363f82f0e7212ef md5=fb891b3da7eb921c09a5eb93e296f5e1 sha256=e9c6feee2a626a38cd69c726ed31ffbbf55d288386f50fe6f90fa63de410d67a +[http://www.call-with-current-continuation.org/chicken-2.6.tar.gz] +md5=332edae079bb34d815369f4ba5181983 +sha256=32385c5393c7376035f911f3e887351b1ce8fb6e56498cc4258815bc6db06326 + [http://www.chillispot.org/download/chillispot-0.98.tar.gz] md5=4bcf48ec7a94f28faee8b7dc7a0dd97a sha256=bace8a6a0b27d09983a2c509d6e6bf8ab786935e269036f14dc158505feba602 @@ -1818,6 +1846,10 @@ sha256=2fd5feb294b933ae3a0071b8c7a396797cf79dfe6b0ffeff8788e07ff4107d56 md5=f5dd061c31765a49dc17ae8bdc986779 sha256=f20607d4f33376ea648307681630574662d0c3f59d88a7a02ad547b6320631f1 +[http://www.cmake.org/files/v2.6/cmake-2.6.0.tar.gz] +md5=e95ae003672dfc6c8151a1ee49a0d4a6 +sha256=4999d3054a04e6cf4847a72316e32e9e98e6152b1fd72adc87d15e305f990f27 + [http://www.informatik.hu-berlin.de/~tkunze/zaurus/patches/collie-kexec.patch] md5=97cdbeb23bc8c8f4fe563d10a0c8c110 sha256=2e5488039040e76bdedb08323f729a0ef0549d23b35bb740f541c960393ec378 @@ -1894,6 +1926,10 @@ sha256=44549dcc5aa1aff1c62d0cf2a86412468f1498ecd3e846d278552ee50662242d md5=dbcff54980ec6d6203c290dc409b5598 sha256=7ab8f1fa23a432029242c046755875ac6558ea6e9c0871dd6c527b85adfafad8 +[http://pimlico-project.org/sources/contacts/contacts-0.9.tar.gz] +md5=aab5affbf93d6fa7b978b323a8d44de0 +sha256=9cacec98f8123993033aaa255f3f4c04c86a1be65e487dd21f0aaa54384a6f6d + [ftp://ftp.gnu.org/gnu/coreutils/coreutils-5.0.tar.gz] md5=d16b769d380a0492a4c5ee61d2619985 sha256=c27ce75e3f62455f4facf4f3fd55bc9e3877d0ab1d5c0426c94da168cc349883 @@ -2194,6 +2230,10 @@ sha256=bc80a1933a77fc4cb47716d06aec3c2181976879ba771888af8b644086f24210 md5=0923d825a0aff2e4eb23338b630286fb sha256=e870d8cd619834eda066e37fe69b441d629f9ad3a871ef2854fbbcd753b3abe2 +[http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.76.tar.gz] +md5=d3b716a7e798faa1c6a867675f00306a +sha256=8bc083faaf3efdd444a8a44bbcbfea501a7b547736fda3c2d83bfdc9b5b672a3 + [http://dbus.freedesktop.org/releases/dbus-python/dbus-python-0.71.tar.gz] md5=ee893bc87b784a8c2285f5041b5e7033 sha256=4af7a60f65cb02dabbcdf0cb6ca6f659932eb13c2533f6e1dbdab6e3700a2c57 @@ -4122,6 +4162,14 @@ sha256=885b22a93b97116cd69824b91905dd909828943d78de069508a56cdf0d8d9203 md5=90fb4b7c74d29bb6ee5bd8de85942f42 sha256=cbb0e76c28a8b8ee93d49e1fea4cb31549904d95cd8f488309126f7f5046d616 +[ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.2.3.tar.bz2] +md5=71d9b7ec32a2a67854940a8848c2b229 +sha256=cc78e52e9afc3006e4d97bf1c4e232fa6253f8be15ee6ebb7272ce885213f34b + +[ftp://ftp.gnutls.org/pub/gnutls/gnutls-2.2.5.tar.bz2] +md5=ebd3dc3ed4dffde781a2dc4eb4e39f3b +sha256=cf2689bd5b5f095e27f7a1aa2246212ef9322c0707aeb104238e9eb0f925ae57 + [http://ftp.5z.com/pub/gob/gob2-2.0.14.tar.gz] md5=f8721af6f4e90ff48bd7cb4c96a5a94c sha256=c2977b18d1166c62e3f04373feefc0e2af704da3cb98e32612be4a55fd77a3f9 @@ -4978,6 +5026,10 @@ sha256=4871c52b2421b582330a0f9dc6a42da3b706140c346aa0cd690eb40758afe152 md5=f1016148ecbfba968c0ef1773066988b sha256=9c514d4002fb2a2efc5c60e009c330be2ee05c28649d73de3aa45530161c2c62 +[http://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-0.10.8.tar.bz2] +md5=090d87a1716eee45a9804ca8558668da +sha256=643a9414e3c883f4a87d0d4f1bc88a43045667fa0afc995cdbedecc90c8da4de + [http://0pointer.de/lennart/projects/gst-pulse/gst-pulse-0.9.4.tar.gz] md5=7c60018e8b9ce7f62c7078bee5851f07 sha256=3cbce4b90328530980c6af3b4ec0c818b98df9e63a6bb4b2b350d806f0fd8d98 @@ -5486,6 +5538,10 @@ sha256=c231f87d4103293b119c3231574f67dcda29d383e0c0cbb420b4d10d7add4189 md5=e9ef4b8b78ab64cd7dbd0d41b05e932c sha256=ed4f25e0da55714c618c2721209a2d22a7296b5dc85af028d20aff6062a4a13b +[http://www.rpsys.net/openzaurus/patches/archive/hx2750_base-r34.patch] +md5=38e1ea5768cba4be72088a8a12d4b1af +sha256=837b95b128815f3d6689d2ecfbdc9a28023bae5f45879513f3b4c2ad12f459ee + [http://www.rpsys.net/openzaurus/patches/archive/hx2750_bl-r7.patch] md5=059e56be476891e84715c897b5935431 sha256=e01b7efcfafa5c00cd1786d71b526f963dcd5129b518cab2b597d21c5d68eaa8 @@ -6862,6 +6918,10 @@ sha256=74c81e8c29de3fda2e196ce7082a5ec35aad9399a6c7f67bb906b3c9d91dc6f3 md5=493de1bfc84c1e0f82fd865795e48ffb sha256=039861766d330b8ff2309334feb97d384e16d927dd859fdc0fad4c4a13d66b7c +[http://downloads.sourceforge.net/libetpan/libetpan-0.54.tar.gz] +md5=0214de45b1b92277fbfc6c9a00af5316 +sha256=f4547fae43a30265dd1d1e7f88c556d067a3ba67ca7ec0d46e540e6dc561a010 + [http://monkey.org/~provos/libevent-1.1a.tar.gz] md5=6cc776458ecaf9247550863702a44d7c sha256=1725cd3dd9ec87a68316c36a50ab653c7e9581c91f9b1b7e9af42a9c7c499d8e @@ -7514,10 +7574,30 @@ sha256=f9c803ba28d5deb18d9feb5c7818ce99325b09204b7dc0447798f2f47a657a46 md5=c685e69929333a763c51987b4a19d50d sha256=5da9e72de291e7654fb59bf40b647633f3afb3cde924bd11b80d6ed26c911feb +[http://www.opensync.org/attachment/wiki/download/libopensync-0.22.tar.bz2?format=raw] +md5=f563ce2543312937a9afb4f8445ef932 +sha256=3394bae1e3bcfe463d139a367ba5ebe73d968df128c871842dcb4965a725d0dc + +[http://opensync.org/download/releases/0.36/libopensync-0.36.tar.bz2] +md5=d8cc7835663566e3626e959d8fb531bf +sha256=c686d27f0818e2d8cc6277ba123c74d7210e70fa2b320c5a828eaaedd598e908 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-evolution2-0.36.tar.bz2] +md5=ed3aca114a81ad8cc543b3dd68af657a +sha256=19f1a24d54daec7b6e1321548799e500893b8aebe6dda995dc8eb162f77932c2 + [http://ewi546.ewi.utwente.nl/OE/source/libopensync-plugin-file-0.18.tar.gz] md5=a9ffd002169406fb31eee885c9742c26 sha256=c03ad432d46e8f562ad4eaa08972c5bd229fdc45e5c01ac9af094cbfc38cdf59 +[http://opensync.org/download/releases/0.36/libopensync-plugin-file-0.36.tar.bz2] +md5=785a79d70e3d6e0637c7f21b2a09987c +sha256=932726d69b398686b9d6a1e2afd53c537c03ae8a476df1b8b00ba1f8b4abbf44 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-google-calendar-0.36.tar.bz2] +md5=69b382845fb62a58e1976bc74a82dd86 +sha256=df3b64322b5f7e0e67317e58b46e9884837a771c69d9513dfb16dafeaeaaa2bb + [http://ewi546.ewi.utwente.nl/OE/source/libopensync-plugin-gpe-0.18.tar.gz] md5=6b35732f34aad4becfc24ee500d32c9b sha256=218e8d5194d866109db3419c66d071cdbd319446288e7012ed135d4a6b8a3762 @@ -7526,6 +7606,30 @@ sha256=218e8d5194d866109db3419c66d071cdbd319446288e7012ed135d4a6b8a3762 md5=52f86db50d653f5af0adefeb76cf9a31 sha256=db7250647b86dc8d0bd45c73d454d73ca182c88f6ffe2ccf1760f40be81080f2 +[http://opensync.org/download/releases/0.36/libopensync-plugin-irmc-0.36.tar.bz2] +md5=21f9789fa41c2f06c547a17bc13c6081 +sha256=f7ccff0bc136d3aa21ab961f31414f4856a94e9f1a1b17c44c8ec33b67ace4ac + +[http://opensync.org/download/releases/0.36/libopensync-plugin-moto-0.36.tar.bz2] +md5=8dcecd4afb87e4645a152194fd3b5e55 +sha256=341c05e78a3254a979c073881cc1b2d3be3eb505a925dc99adc8124a4dd31bc7 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-palm-0.36.tar.bz2] +md5=ee05ffadee75094d78a15e2704f5e64f +sha256=e05b862d11af137e31f28279f7a6356d583cc4adb1293ffedfdcf86728882e52 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-python-0.36.tar.bz2] +md5=6247a7e96de3fa55c1fb58b2f364fb5e +sha256=9ecfa677d155a8e9e2674fabfa76adbeb45b887a321368cdab082618d27603a3 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-syncml-0.36.tar.bz2] +md5=3c83493143fbfabf6600aea8d310167c +sha256=d0db5ccdbf98012a9b70671c7b90cf8eed1f5133ac61563e97d7abf1533dc6e9 + +[http://opensync.org/download/releases/0.36/libopensync-plugin-vformat-0.36.tar.bz2] +md5=f3d1efdc1e7142fc74364e92f2066ee0 +sha256=926e6125b4be2d206c6618f8e9445a465df44fe013f23ec339679af307b342c9 + [http://handhelds.org/packages/libosip/libosip-0.9.7-hh2.tar.gz] md5=ffc20af80f77653ab534d2a103a2276d sha256=b67c0218b7cd2d521783bf055b13c598bd04b623cbf4adbb3cc76bd3ac57dc5d @@ -7762,6 +7866,10 @@ sha256=a380be6a78ec2938100ce904363815a94068fca372c666b8cc82aa8711a0215c md5=a6b5becd4b61e246ed2ee95db9f6e746 sha256=2be78a947bdbfd24aa4f35ae97d2b7bafa60162c5e824cf3dd085b40eddee8ff +[http://libsyncml.opensync.org/download/releases/0.4.6/libsyncml-0.4.6.tar.bz2] +md5=d524b18c1eafe5805f83e29c01a91b66 +sha256=818740eb5df3cf7913ab7e7979874ccf403831744c89efa4ebaf74c7e2c090bc + [http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.0.55.tar.gz] md5=2cbbbeaf97c154a7fb9b088b95deb70e sha256=53e8740a3a36ece8078b371b95c79646dc69f0ad3ee2665e5fb659412c0baf35 @@ -8122,6 +8230,10 @@ sha256=ab0f647d52f124958439517df9e1ae0efda90cdb851f59f522fa1749f1d87d58 md5=296a6d150d260144639c3664d127d174 sha256=c95280ff6c5d2a17788f7cc582d23ae8a9a7ba3f202ec6e4238eaadfce7c163d +[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.19.2.tar.bz2] +md5=ca0ce8f288e8ae93ac243b568f906bf8 +sha256=c55c52caa613d1f25718b35811e4614d9712b9e1de56a91aa73c867f351a540b + [http://kernel.org//pub/linux/kernel/v2.6/linux-2.6.19.tar.bz2] md5=443c265b57e87eadc0c677c3acc37e20 sha256=c2fd6bcd2b7c1b3d37d64e4d1825703792a75474830a3db7d2dc603a8d392d58 @@ -8134,10 +8246,18 @@ sha256=2c14ada1ac7d272e03b430d3a530d60fc9ec69cc8252382aa049afba7d2b8558 md5=1b515f588078dfa7f4bab2634bd17e80 sha256=f187b12d70e0a48ce81f0472dfe9504fb5f0f966be339ac9d57dd2b991a74942 +[http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.19.tar.bz2] +md5=4db27facb78aeb79d06e6ae6bf0ac0b6 +sha256=9879bb214a12b15a6a589fe15c2acad3177b3a49fd03a26e79ae558755e98a4b + [http://kernel.org//pub/linux/kernel/v2.6/linux-2.6.22.5.tar.bz2] md5=f36616d74f2fde72040bccf50db03522 sha256=7904cd53bf681611dff65d04afcdab6205f6e06cb0c40a568174d83a3a5d8a01 +[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.6.tar.bz2] +md5=20af4d1e05bd725e89b691da483276e9 +sha256=914424a9ae14cf6fa2debbfed327e071b43b06daf5085282cdb133a02fab1ca3 + [http://kernel.org//pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2] md5=2e230d005c002fb3d38a3ca07c0200d0 sha256=73c10604c53f1a6ee65ef805293d23903696f8cef864f42d7de9506f0d2ba4c7 @@ -8170,6 +8290,10 @@ sha256=413c64fbbcf81244cb5571be4963644a1e81166a2b0f008a016528363b65c5d3 md5=3f23ad4b69d0a552042d1ed0f4399857 sha256=413c64fbbcf81244cb5571be4963644a1e81166a2b0f008a016528363b65c5d3 +[http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2] +md5=db95a49a656a3247d4995a797d333153 +sha256=108b2a3f2b05c0e57d1d0977619525e46f8d4b425aef4b38b47dcf94292f2dd2 + [http://kernel.org//pub/linux/kernel/v2.6/linux-2.6.9.tar.bz2] md5=e921200f074ca97184e150ef5a4af825 sha256=f5dba6366e87e91234d1b0069cfea655b0a4cb37ea97f899226f16998e6ab9f1 @@ -8182,6 +8306,10 @@ sha256=a812816ee1742bf3bf8977a391b369a7351f54a1917dc90b27e666679dd1742a md5=f1fc22939d71224923f168ba179b3e51 sha256=35b9045edc5992c2d168fc72ca04a57f4e1c81a0ea987fa88342e54f7c79fbd4 +[http://www.omapzoom.org/pub/kernel/linux-ldp-v1.2.tar.gz] +md5=8f22aa4396711f7a7791886bcd623749 +sha256=01f083599014e22ee2ca4894dbe96dd103b7be9d3796b7e075b040a5c324704d + [http://ep09.pld-linux.org/~mmazur/linux-libc-headers/linux-libc-headers-2.6.11.1.tar.bz2] md5=1df3e4fbf2670712cecb4953e2d24834 sha256=8dffedf772a9f75a8cee2a603e1b14e4b7848010dcfa0e6b087afcf4f66da6de @@ -8274,6 +8402,10 @@ sha256=2f6d619ebbab25f5b5091555f96dc29159fa3c214d1c5fdc5673af97515d18e6 md5=6c0d60bcc357365af056baa812c45960 sha256=830ef8c4b65ed34954afc2581447fd0a9afcf5f9de354772352c8da54dceb676 +[http://www.rpsys.net/openzaurus/patches/archive/locomo_kbd_tweak-r2.patch] +md5=c51ae4d5fa800ec81660fdf5b776fae6 +sha256=af92b078cb52f9c58964d49b074a5d09de601435c8e84cec817b636fc53c8eeb + [http://www.rpsys.net/openzaurus/patches/archive/locomo_led_default_trigger-r0.patch] md5=38ac643c7e12b808a7f4463ef862aee1 sha256=0c629eac7ba7fcfc86228d3070579eff774bf0d61ea9b1c4ed93d5c13af97b53 @@ -9102,6 +9234,10 @@ sha256=30261e2f1ab064e089784578e0c63f31d5696a198db5f6ec793776ce70ccddb3 md5=900be0beea498b18f03e2d67656d9d32 sha256=f03c69e064f1269dfd5adbc668204d0a7e0eafb86317e293e9d6c1ce0a4f5761 +[http://www.opensync.org/download/releases/0.36/msynctool-0.36.tar.bz2] +md5=9ef1c03d1e087493dbca67dabb612e6b +sha256=de08e22708348216e0e1ea3c32b4cf0c04d5acae5057b5995fc087790f0ae1a5 + [http://downloads.sourceforge.net/mt-daapd/mt-daapd-0.2.1.1.tar.gz] md5=87356d2750ad82388a58d901aa566465 sha256=92d9abd2d0cabaea198b9434100ebf1d5524283de8df02b0f04d907b2274959b @@ -9514,6 +9650,10 @@ sha256=d35213dc854f1e1a08512154c7a92fb94d9f0506cc5107f8b2f248412679fb53 md5=f5f83204652627cf51d2567c53df5520 sha256=62d36b998b9ec21864263d17e83aeb30a300a8f0d336a057ca9610b447b9ce7a +[http://www.openswan.org/download/old/openswan-2.4.7.tar.gz] +md5=70f22e8adc39e07a165f75eccb7cd079 +sha256=b839b024fd717a404711f5ec14ee9b9e412a080f23e90841cde14f20970dc5dd + [http://www.openswan.org/download/openswan-2.4.7.tar.gz] md5=70f22e8adc39e07a165f75eccb7cd079 sha256=b839b024fd717a404711f5ec14ee9b9e412a080f23e90841cde14f20970dc5dd @@ -9870,6 +10010,10 @@ sha256=95880162dd0839d9b509152e34cf9356b051dff7daf2216ff50474efbe68f6c3 md5=527687c63f4252989dba6fb92baf9707 sha256=1daafd156f00c2b3b7981f197465d78e689fda506054d011ba0da6513319fe2c +[http://kernel.org/pub/linux/kernel/v2.6/testing/patch-2.6.26-rc4.bz2] +md5=b5f96d823b1183ba0c4e61516e1a23c0 +sha256=45994ebcdd4ed30b37c6fc0569ee69aee4f2ef9ed75857d0a3784ce3bfe92ffc + [http://www.muru.com/linux/omap/patches/patch-2.6.9-omap1.bz2] md5=d6249654087f0bcafaa860ac573316a4 sha256=91806347cb386002a8bfd20ee66e536e4a7dfb01f207dd751341f2971090d9ac @@ -10122,6 +10266,10 @@ sha256=a5781c8a4c0c71224b23f1c4155609baeee0eca8ce7cd34c1c969a65d6c6bab2 md5=3ed63ce3884d6cdd71b6d471e3c49407 sha256=e87d44d5a77c591db83598295109c033708a458797247a31cfa20d54c52d7b41 +[http://www.rpsys.net/openzaurus/patches/archive/poodle_pm-r6.patch] +md5=e897eb0dc64c2862091f97e20f580de6 +sha256=66283a36122d77a4118a1b2e48af92c03ae09b3e53fe7875e7fe3db1486a522c + [http://www.rpsys.net/openzaurus/patches/archive/poodle_ssp-r1.patch] md5=8efe67bc46564512bd1de09fce5971ab sha256=3238cc3553f721c110822bdc7fbfe7c57f33f59a05e406a19e956e71a1712aa8 @@ -10330,6 +10478,10 @@ sha256=2f18dc8e553b2eb9e40e429ccc829e2b8e25d2f82929cfbc4149b1147d00eee1 md5=9cb4a25331a4c4db866a31cbe507c793 sha256=72353660c5a2caafd601b20e12e75d865fd88f6cf1a088b306a3963f0bc77232 +[http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.10.tar.gz] +md5=9187ac1b302b9ab45f355242f453882e +sha256=1ae8b587759b33ad954e717728fab6df58bd28088d0ac8faf22e90253b774975 + [http://0pointer.de/lennart/projects/pulseaudio/pulseaudio-0.9.5.tar.gz] md5=99b5d9efd4fce35cabb4ae5d0ebb230d sha256=cd82eabcf9fa310a64b58b621730cebe5d3edae7596a9c121155db455b1e58f6 @@ -10474,6 +10626,10 @@ sha256=f6dc5a05456a6d4abb9e8b80df70aefac6f8764d04e079aa4c4c5b45cd0ff9bc md5=4f41fd3a0e031a26d3a2d354f5995ffd sha256=3959a45bb65f66a622d7752e41808604032f4ab66f736f96fee83e252d85df5a +[http://www.rpsys.net/openzaurus/patches/archive/pxa_keys-r9.patch] +md5=c1358d4c210d1d701b5b0d96d8e73c12 +sha256=8697e76beb6ea44ce450e8cb9bed764803fe189eaea89e0aa72ebd1974bc52e4 + [http://www.rpsys.net/openzaurus/patches/archive/pxa_timerfix-r0.patch] md5=69e6907a10d88362d6cf4fd2e806ab42 sha256=c7d82fbe1d008edfb5ae53879de24bb882b2cdbd9ee9aab67389910da499210e @@ -12178,6 +12334,10 @@ sha256=c2bed5d4ec064e0ac9c73c046e545dfad5ebfce3c84bdade1323a9f7a5265056 md5=95e9a5dfc1852e2db3d1d9da6df439df sha256=83097559d413b57aa67da1de975e8fbb99d02a2b2166aad57d7b30881208ff1e +[http://www.rpsys.net/openzaurus/patches/archive/tsc2101-r19.patch] +md5=c70fa3e0184842e4f6822b7002eac33e +sha256=7ca39d0df0a102114eabcd39df94ff271d81a71d9ef9f61915ac0a04031b68d1 + [http://repository.maemo.org/pool/maemo/ossw/source/t/tscalib/tscalib_0.0.1-3.tar.gz] md5=a06f80dfda9688e033561f959aae2d5e sha256=b27add2e28f38feea0c554633f220cd7542a8bb768ba290636a317852774ecbb @@ -12538,6 +12698,10 @@ sha256=e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 md5=1c26f40af343bcc465f5832e2c9548d6 sha256=bf0ca221bc5e8a6b06f73a1eb6ae1470ec5b34b987669f7abeb499e6402af3b0 +[http://dev.gentoo.org/~spock/projects/uvesafb/archive/v86d-0.1.5.tar.bz2] +md5=81ae073aa38317acdd4c5ecdc15da386 +sha256=8c8db0b6de0bae2c065a68d31369e750dc03bd875bac78e87763e263f3bc2588 + [http://people.igalia.com/berto/files/vagalume/source/vagalume_0.5.1-1.tar.gz] md5=5ec548c343de435b94a7b39f5c853292 sha256=10263676cb872ca48d8d605be44eb1e6260419675409732e7e5a76eb41843cee @@ -14698,7 +14862,3 @@ sha256=12f5b654f6b91953391d2492a09d2c9586d5b7af419f0eeb306e1d30245659d3 md5=a6538f6c44ceeed0ed7e8e356f444168 sha256=f684397ce39ec400ba3369521892b7c3a8711d3ef1be59115db9f8d57707bbb8 -[http://www.call-with-current-continuation.org/chicken-2.6.tar.gz] -md5=332edae079bb34d815369f4ba5181983 -sha256=32385c5393c7376035f911f3e887351b1ce8fb6e56498cc4258815bc6db06326 - diff --git a/conf/distro/chinook-compat.conf b/conf/distro/chinook-compat.conf index 007b33e49d..f6029eed1b 100644 --- a/conf/distro/chinook-compat.conf +++ b/conf/distro/chinook-compat.conf @@ -52,7 +52,9 @@ PREFERRED_PROVIDER_virtual/${TARGET_PREFIX}libc-for-gcc = "glibc-intermediate" PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-libc-for-gcc = "glibc-intermediate" PREFERRED_PROVIDER_virtual/arm-linux-gnueabi-binutils = "binutils-cross" -PREFERRED_PROVIDER_linux-libc-headers = "linux-libc-header" +PREFERRED_PROVIDER_linux-libc-header = "linux-libc-headers" +PREFERRED_PROVIDER_virtual/libx11 = "libx11" +PREFERRED_PROVIDER_gconf ?= "gconf-dbus" PREFERRED_VERSION_automake-native = "1.9.6" @@ -84,6 +86,9 @@ PREFERRED_VERSION_glib-2.0 = "2.12.12" PREFERRED_VERSION_pango = "1.16.4" PREFERRED_VERSION_atk = "1.18.0" PREFERRED_VERSION_gtk+ = "2.10.14" +PREFERRED_VERSION_libpng = "1.2.8" +PREFERRED_VERSION_dbus = "1.0.3" +PREFERRED_VERSION_expat = "1.95.7" PREFERRED_VERSION_gnome-vfs = "2.16.3" @@ -138,7 +143,7 @@ PREFERRED_PROVIDER_gdk-pixbuf-loader-wbmp = "gtk+" PREFERRED_PROVIDER_gdk-pixbuf-loader-xbm = "gtk+" PREFERRED_PROVIDER_gdk-pixbuf-loader-xpm = "gtk+" -PREFERRED_PROVIDER_gconf = "gconf" +PREFERRED_PROVIDER_gconf = "gconf-dbus" PREFERRED_VERSION_pixman = "0.9.6" @@ -193,6 +198,7 @@ PKG_glib-2.0 = "libglib2.0-0" PKG_gconf = "libgconf2-6" DEBIANNAME_dbus_pn-dbus = "dbus" PKG_libhildon = "libhildon1" +DEBIANNAME_eds-dbus_pn-libedataserver-1.2 = "libedataserver" PKG_zlib = "zlib1g" PKG_libglade = "libglade2-0" diff --git a/conf/distro/include/angstrom-2008-preferred-versions.inc b/conf/distro/include/angstrom-2008-preferred-versions.inc index 2ebb06d5c0..7707215847 100644 --- a/conf/distro/include/angstrom-2008-preferred-versions.inc +++ b/conf/distro/include/angstrom-2008-preferred-versions.inc @@ -17,5 +17,7 @@ PREFERRED_VERSION_pkgconfig = "0.23" PREFERRED_VERSION_pkgconfig-native = "0.23" PREFERRED_VERSION_pulseaudio = "0.9.10" PREFERRED_VERSION_tiff = "3.8.2+4.0.0beta2" +PREFERRED_VERSION_uclibc ?= "0.9.29" +PREFERRED_VERSION_uclibc-initial ?= "0.9.29" PREFERRED_VERSION_udev = "118" PREFERRED_VERSION_xserver-kdrive = "1.4.0.90" diff --git a/conf/distro/include/sane-srcrevs.inc b/conf/distro/include/sane-srcrevs.inc index f60c218772..1ae05e87db 100644 --- a/conf/distro/include/sane-srcrevs.inc +++ b/conf/distro/include/sane-srcrevs.inc @@ -48,8 +48,8 @@ SRCREV_pn-gsmd2 ?= "963f34df8fa3ff4b301079dcf86e9acea6b6fe0f" SRCREV_pn-gtkhtml2 ?= "1158" SRCREV_pn-gypsy ?= "134" SRCREV_pn-hildon-1 ?= "14429" -SRCREV_pn-illume ?= "58" -SRCREV_pn-illume-theme ?= "58" +SRCREV_pn-illume ?= "124" +SRCREV_pn-illume-theme ?= "124" SRCREV_pn-kismet ?= "2285" SRCREV_pn-kismet-newcore ?= "2285" SRCREV_pn-libcalenabler2 ?= "1410" diff --git a/conf/machine/beagleboard.conf b/conf/machine/beagleboard.conf index 6b1d3d4dc0..d1e19aa3e4 100644 --- a/conf/machine/beagleboard.conf +++ b/conf/machine/beagleboard.conf @@ -19,6 +19,7 @@ include conf/machine/include/tune-cortexa8.inc IMAGE_FSTYPES += "tar.bz2 jffs2" +EXTRA_IMAGECMD_jffs2 = "-lnp " # Guesswork SERIAL_CONSOLE = "115200 ttyS2" diff --git a/conf/machine/cs-e9302.conf b/conf/machine/cs-e9302.conf new file mode 100644 index 0000000000..b99b1372be --- /dev/null +++ b/conf/machine/cs-e9302.conf @@ -0,0 +1,23 @@ +#@TYPE: Machine +#@Name: Olimex CS-E9302 Development Platform +#@DESCRIPTION: Machine configuration for Olimex CS-E9302 Development Platform + +TARGET_ARCH = "arm" +PACKAGE_EXTRA_ARCHS = "armv4t" + +PREFERRED_PROVIDER_virtual/kernel = "linux" + +#don't try to access tty1 +USE_VT = "0" + +MACHINE_FEATURES = "kernel26 apm alsa ext2 usbhost" + +# used by sysvinit_2 +SERIAL_CONSOLE = "57600 ttyAM0" + +# used by some images +ROOT_FLASH_SIZE = "8" +#extra jffs2 tweaks +EXTRA_IMAGECMD_jffs2 = "--eraseblock=0x40000 --pad=0x500000 " + +require conf/machine/include/tune-arm920t.inc diff --git a/conf/machine/davinci-dvevm.conf b/conf/machine/davinci-dvevm.conf index ba7a099825..bc9d28870b 100644 --- a/conf/machine/davinci-dvevm.conf +++ b/conf/machine/davinci-dvevm.conf @@ -22,6 +22,7 @@ EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" MACHINE_FEATURES = "kernel26 pcmcia usbhost alsa" +MACHINE_EXTRA_RDEPENDS = "dsplink" MACHINE_EXTRA_RRECOMMENDS = "dsplink-module" require conf/machine/include/tune-arm926ejs.inc diff --git a/conf/machine/davinci-sffsdr.conf b/conf/machine/davinci-sffsdr.conf index 1977da8104..efaffb088b 100644 --- a/conf/machine/davinci-sffsdr.conf +++ b/conf/machine/davinci-sffsdr.conf @@ -25,6 +25,7 @@ EXTRA_IMAGECMD_jffs2 = "--pad --little-endian --eraseblock=0x20000 -n" MACHINE_FEATURES = "kernel26 serial" +MACHINE_EXTRA_RDEPENDS = "dsplink" MACHINE_EXTRA_RRECOMMENDS = "dsplink-module" require conf/machine/include/tune-arm926ejs.inc diff --git a/conf/machine/omap3evm.conf b/conf/machine/omap3evm.conf index 5eb5c897c5..416db2c937 100644 --- a/conf/machine/omap3evm.conf +++ b/conf/machine/omap3evm.conf @@ -1,32 +1,32 @@ -#@TYPE: Machine
-#@NAME: omap3 EVM
-#@DESCRIPTION: Machine configuration for the TI omap3 EVM
-TARGET_ARCH = "arm"
-PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a"
-
-PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive"
-XSERVER = "xserver-kdrive-fbdev"
-GUI_MACHINE_CLASS = "smallscreen"
-
-#include conf/machine/include/tune-arm1136jf-s.inc
-# requires gcc 4.3.0:
-include conf/machine/include/tune-cortexa8.inc
-
-# Ship all kernel modules
-MACHINE_EXTRA_RRECOMMENDS = " kernel-modules"
-
-IMAGE_FSTYPES ?= "jffs2 tar.bz2"
-EXTRA_IMAGECMD_jffs2 = "-lqnp "
-
-SERIAL_CONSOLE = "115200 ttyS0"
-
-PREFERRED_PROVIDER_virtual/kernel = "linux-omap2"
-
-KERNEL_IMAGETYPE = "uImage"
-
-UBOOT_ENTRYPOINT = "0x80008000"
-UBOOT_LOADADDRESS = "0x80008000"
-UBOOT_ARCH = "arm"
-
-MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen"
-
+#@TYPE: Machine +#@NAME: omap3 EVM +#@DESCRIPTION: Machine configuration for the TI omap3 EVM +TARGET_ARCH = "arm" +PACKAGE_EXTRA_ARCHS = "armv4 armv4t armv5te armv6 armv7 armv7a" + +PREFERRED_PROVIDER_virtual/xserver = "xserver-kdrive" +XSERVER = "xserver-kdrive-fbdev" +GUI_MACHINE_CLASS = "smallscreen" + +#include conf/machine/include/tune-arm1136jf-s.inc +# requires gcc 4.3.0: +include conf/machine/include/tune-cortexa8.inc + +# Ship all kernel modules +MACHINE_EXTRA_RRECOMMENDS = " kernel-modules" + +IMAGE_FSTYPES ?= "jffs2 tar.bz2" +EXTRA_IMAGECMD_jffs2 = "-lnp " + +SERIAL_CONSOLE = "115200 ttyS0" + +PREFERRED_PROVIDER_virtual/kernel = "linux-omap2" + +KERNEL_IMAGETYPE = "uImage" + +UBOOT_ENTRYPOINT = "0x80008000" +UBOOT_LOADADDRESS = "0x80008000" +UBOOT_ARCH = "arm" + +MACHINE_FEATURES = "kernel26 apm usbgadget usbhost vfat ext2 screen touchscreen" + diff --git a/packages/boost/boost-jam-native.inc b/packages/boost/boost-jam-native.inc new file mode 100644 index 0000000000..843f912f46 --- /dev/null +++ b/packages/boost/boost-jam-native.inc @@ -0,0 +1,30 @@ +# The Boost web site provides free peer-reviewed portable +# C++ source libraries. The emphasis is on libraries which +# work well with the C++ Standard Library. The libraries are +# intended to be widely useful, and are in regular use by +# thousands of programmers across a broad spectrum of applications. +DESCRIPTION = "Make system for boost (native)" +HOMEPAGE = "http://www.boost.org/" +SECTION = "devel" +PRIORITY = "optional" +LICENSE = "Boost Software License" +PR = "r0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz" +S = "${WORKDIR}/boost-jam-${PV}" + +inherit native + +do_compile() { + set -ex + rm -rf bin.* + ./build.sh gcc +} + +# This is too terrible - the build script doesn't give any good +# way I can see to find out where the binaries are placed, so +# rely on only one bin.foo directory being created. +do_stage() { + set -ex + install -c -m 755 bin.*/bjam ${STAGING_BINDIR}/ +} diff --git a/packages/boost/boost-jam-native_3.1.11.bb b/packages/boost/boost-jam-native_3.1.11.bb index 843f912f46..2e92146a83 100644 --- a/packages/boost/boost-jam-native_3.1.11.bb +++ b/packages/boost/boost-jam-native_3.1.11.bb @@ -1,30 +1,4 @@ -# The Boost web site provides free peer-reviewed portable -# C++ source libraries. The emphasis is on libraries which -# work well with the C++ Standard Library. The libraries are -# intended to be widely useful, and are in regular use by -# thousands of programmers across a broad spectrum of applications. -DESCRIPTION = "Make system for boost (native)" -HOMEPAGE = "http://www.boost.org/" -SECTION = "devel" -PRIORITY = "optional" -LICENSE = "Boost Software License" -PR = "r0" +include boost-jam-native.inc SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz" -S = "${WORKDIR}/boost-jam-${PV}" -inherit native - -do_compile() { - set -ex - rm -rf bin.* - ./build.sh gcc -} - -# This is too terrible - the build script doesn't give any good -# way I can see to find out where the binaries are placed, so -# rely on only one bin.foo directory being created. -do_stage() { - set -ex - install -c -m 755 bin.*/bjam ${STAGING_BINDIR}/ -} diff --git a/packages/boost/boost-jam-native_3.1.16.bb b/packages/boost/boost-jam-native_3.1.16.bb new file mode 100644 index 0000000000..955f7bfac8 --- /dev/null +++ b/packages/boost/boost-jam-native_3.1.16.bb @@ -0,0 +1,6 @@ +include boost-jam-native.inc + +DEFAULT_PREFERENCE = "-1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/boost/boost-jam-${PV}.tgz" + diff --git a/packages/cmake/cmake-native_2.6.0.bb b/packages/cmake/cmake-native_2.6.0.bb new file mode 100644 index 0000000000..faf397614b --- /dev/null +++ b/packages/cmake/cmake-native_2.6.0.bb @@ -0,0 +1,11 @@ +inherit native +require cmake.inc + +do_stage() { + oe_runmake install + autotools_stage_all +} + +do_install() { + : +} diff --git a/packages/dbus/dbus-glib-0.76/.mtn2git_empty b/packages/dbus/dbus-glib-0.76/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/dbus/dbus-glib-0.76/.mtn2git_empty diff --git a/packages/dbus/dbus-glib-0.76/no-examples.patch b/packages/dbus/dbus-glib-0.76/no-examples.patch new file mode 100644 index 0000000000..483153db74 --- /dev/null +++ b/packages/dbus/dbus-glib-0.76/no-examples.patch @@ -0,0 +1,8 @@ +--- dbus-glib-0.70/dbus/Makefile.am.orig 2006-07-23 16:04:43.000000000 +0200 ++++ dbus-glib-0.70/dbus/Makefile.am 2006-07-23 16:04:52.000000000 +0200 +@@ -1,4 +1,4 @@ +-SUBDIRS = . examples ++SUBDIRS = . + + INCLUDES=-I$(top_srcdir) $(DBUS_CFLAGS) $(DBUS_GLIB_CFLAGS) $(DBUS_GLIB_TOOL_CFLAGS) -DDBUS_COMPILATION=1 -DDBUS_LOCALEDIR=\"$(prefix)/@DATADIRNAME@/locale\" + diff --git a/packages/dbus/dbus-glib-0.76/no-introspect.patch b/packages/dbus/dbus-glib-0.76/no-introspect.patch new file mode 100644 index 0000000000..9115801f71 --- /dev/null +++ b/packages/dbus/dbus-glib-0.76/no-introspect.patch @@ -0,0 +1,14 @@ +Index: dbus-glib-0.73/tools/Makefile.am +=================================================================== +--- dbus-glib-0.73.orig/tools/Makefile.am 2006-10-25 21:10:36.000000000 +0200 ++++ dbus-glib-0.73/tools/Makefile.am 2006-10-27 10:07:35.000000000 +0200 +@@ -3,9 +3,6 @@ + nodist_libdbus_glib_HEADERS = dbus-glib-bindings.h + libdbus_glibdir = $(includedir)/dbus-1.0/dbus + +-dbus-glib-bindings.h: dbus-bus-introspect.xml $(top_builddir)/dbus/dbus-binding-tool$(EXEEXT) +- $(top_builddir)/dbus/dbus-binding-tool --mode=glib-client --prefix=dbus_bus --output=dbus-glib-bindings.h dbus-bus-introspect.xml +- + BUILT_SOURCES = dbus-glib-bindings.h dbus-bus-introspect.xml + + if USE_INTROSPECT_XML diff --git a/packages/dbus/dbus-glib-native-0.76/.mtn2git_empty b/packages/dbus/dbus-glib-native-0.76/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/dbus/dbus-glib-native-0.76/.mtn2git_empty diff --git a/packages/dbus/dbus-glib-native-0.76/run-with-tmp-session-bus.patch b/packages/dbus/dbus-glib-native-0.76/run-with-tmp-session-bus.patch new file mode 100644 index 0000000000..a04f404f75 --- /dev/null +++ b/packages/dbus/dbus-glib-native-0.76/run-with-tmp-session-bus.patch @@ -0,0 +1,24 @@ +Index: dbus-glib-0.76/tools/run-with-tmp-session-bus.sh +=================================================================== +--- dbus-glib-0.76.orig/tools/run-with-tmp-session-bus.sh 2008-06-13 16:31:54.000000000 +0100 ++++ dbus-glib-0.76/tools/run-with-tmp-session-bus.sh 2008-06-13 16:32:54.000000000 +0100 +@@ -30,17 +30,15 @@ + echo "escaped service dir is: $ESCAPED_SERVICE_DIR" >&2 + + ## create a configuration file based on the standard session.conf +-cat $DBUS_TOP_SRCDIR/tools/session.conf | \ ++cat $datadir/tools/session.conf | \ + sed -e 's/<servicedir>.*$/<servicedir>'$ESCAPED_SERVICE_DIR'<\/servicedir>/g' | \ + sed -e 's/<include.*$//g' \ + > $CONFIG_FILE + + echo "Created configuration file $CONFIG_FILE" >&2 + +-PATH=$DBUS_TOP_BUILDDIR/bus:$PATH +-export PATH + ## the libtool script found by the path search should already do this, but +-LD_LIBRARY_PATH=$DBUS_TOP_BUILDDIR/dbus/.libs:$LD_LIBRARY_PATH ++LD_LIBRARY_PATH=$libdir:$LD_LIBRARY_PATH + export PATH + unset DBUS_SESSION_BUS_ADDRESS + unset DBUS_SESSION_BUS_PID diff --git a/packages/dbus/dbus-glib-native_0.76.bb b/packages/dbus/dbus-glib-native_0.76.bb new file mode 100644 index 0000000000..d76cc043d4 --- /dev/null +++ b/packages/dbus/dbus-glib-native_0.76.bb @@ -0,0 +1,21 @@ +SECTION = "base" +PR = "r0" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +DESCRIPTION = "message bus system for applications to talk to one another" +LICENSE = "GPL" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ + file://run-with-tmp-session-bus.patch;patch=1" + +inherit autotools pkgconfig gettext native + +S = "${WORKDIR}/dbus-glib-${PV}" +FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/dbus-glib-${PV}" +DEPENDS = "glib-2.0-native dbus-native" + +do_stage() { + oe_runmake install + install -d ${STAGING_DATADIR}/dbus + install -m 0644 tools/dbus-bus-introspect.xml ${STAGING_DATADIR}/dbus + install -m 0644 tools/dbus-glib-bindings.h ${STAGING_DATADIR}/dbus +} diff --git a/packages/dbus/dbus-glib_0.76.bb b/packages/dbus/dbus-glib_0.76.bb new file mode 100644 index 0000000000..0a34c738c3 --- /dev/null +++ b/packages/dbus/dbus-glib_0.76.bb @@ -0,0 +1,28 @@ +SECTION = "base" +PR = "r0" +HOMEPAGE = "http://www.freedesktop.org/Software/dbus" +DESCRIPTION = "message bus system for applications to talk to one another" +LICENSE = "GPL" +DEPENDS = "expat glib-2.0 virtual/libintl dbus-glib-native dbus" + +SRC_URI = "http://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-${PV}.tar.gz \ + file://no-examples.patch;patch=1 \ + file://no-introspect.patch;patch=1" + +inherit autotools pkgconfig gettext + +FILES_${PN} = "${libdir}/lib*.so.*" +FILES_${PN}-dev += "${libdir}/dbus-1.0/include ${bindir}/dbus-glib-tool" + +do_configure_prepend() { + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-bus-introspect.xml ${S}/tools/ + install -m 0644 ${STAGING_DATADIR_NATIVE}/dbus/dbus-glib-bindings.h ${S}/tools/ +} + +do_stage () { + oe_libinstall -so -C dbus libdbus-glib-1 ${STAGING_LIBDIR} + + autotools_stage_includes +} + +FILES_${PN}-dev += "${bindir}/dbus-binding-tool" diff --git a/packages/distcc/distcc_2.18.3.bb b/packages/distcc/distcc_2.18.3.bb index ebf02e17ee..959636fea9 100644 --- a/packages/distcc/distcc_2.18.3.bb +++ b/packages/distcc/distcc_2.18.3.bb @@ -2,7 +2,7 @@ DESCRIPTION = "distcc is a parallel build system that distributes \ compilation of C/C++/ObjC code across machines on a network." SECTION = "devel" LICENSE = "GPLv2" -PR = "r3" +PR = "r4" DEPENDS = "avahi gtk+" RRECOMMENDS = "avahi-daemon" @@ -11,6 +11,7 @@ SRC_URI = "http://distcc.samba.org/ftp/distcc/distcc-${PV}.tar.bz2 \ file://distcc-avahi.patch;patch=1 \ file://no-man.patch;patch=1 \ file://default \ + file://distccmon-gnome.desktop \ file://distcc" inherit autotools pkgconfig update-rc.d @@ -25,6 +26,7 @@ do_install_append() { install -d ${D}${sysconfdir}/distcc install -m 0755 ${WORKDIR}/distcc ${D}${sysconfdir}/init.d/ install -m 0755 ${WORKDIR}/default ${D}${sysconfdir}/default/distcc + install -m 0644 ${WORKDIR}/distccmon-gnome.desktop ${D}${datadir}/distcc/ echo "+zeroconf" > ${D}${sysconfdir}/distcc/hosts } diff --git a/packages/distcc/files/distccmon-gnome.desktop b/packages/distcc/files/distccmon-gnome.desktop new file mode 100644 index 0000000000..7b5d85ce4e --- /dev/null +++ b/packages/distcc/files/distccmon-gnome.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=0.9.4 +Exec=distccmon-gnome +Name=distcc monitor +GenericName=Distributed Compile Monitor +Comment=Graphical view of distributed compile tasks +Icon=distccmon-gnome-icon +TryExec=distccmon-gnome +Terminal=false +Type=Application +Categories=GNOME;Development; +StartupNotify=true diff --git a/packages/dsniff/dsniff_2.3.bb b/packages/dsniff/dsniff_2.3.bb index 8da4ad82aa..14da908b57 100644 --- a/packages/dsniff/dsniff_2.3.bb +++ b/packages/dsniff/dsniff_2.3.bb @@ -1,22 +1,30 @@ -SECTION = "console/network" DESCRIPTION = "dsniff is a collection of tools for network auditing and penetration testing." +SECTION = "console/network" +HOMEPAGE = "http://www.monkey.org/~dugsong/dsniff/" +AUTHOR = "Dug Song <dugsong@monkey.org>" LICENSE = "BSD" -PR = "r1" +PR = "r2" # There is a significant API change beween 1.0.2a of libnet and # 1.1.x, dsniff will only work with the older and there is no # updated version of dnsniff. DEPENDS = "virtual/db libpcap libnet-1.0 libnids openssl" -SRC_URI = "http://www.monkey.org/~dugsong/dsniff/dsniff-${PV}.tar.gz \ - file://configure.patch;patch=1" +SRC_URI = "\ + http://www.monkey.org/~dugsong/dsniff/dsniff-${PV}.tar.gz \ + file://configure.patch;patch=1 \ +" inherit autotools -EXTRA_OECONF = "--without-x --with-db=${STAGING_LIBDIR}/.. \ - --with-libpcap=${STAGING_LIBDIR}/.. \ - --with-libnet=${STAGING_LIBDIR}/.. \ - --with-libnids=${STAGING_LIBDIR}/.. \ - --with-openssl=${STAGING_LIBDIR}/.." +EXTRA_OECONF = "\ + --without-x --with-db=${STAGING_LIBDIR}/.. \ + --with-libpcap=${STAGING_LIBDIR}/.. \ + --with-libnet=${STAGING_LIBDIR}/.. \ + --with-libnids=${STAGING_LIBDIR}/.. \ + --with-openssl=${STAGING_LIBDIR}/.. \ +" EXTRA_OEMAKE = "'install_prefix=${D}'" -CFLAGS_prepend = " -I${S}/missing " + +CFLAGS =+ "-I${S}/missing" +LDFLAGS += "-lresolv" diff --git a/packages/dsplink/dsplink-1.51/.mtn2git_empty b/packages/dsplink/dsplink-1.51/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/dsplink/dsplink-1.51/.mtn2git_empty diff --git a/packages/dsplink/dsplink-1.51/prcs-fix-include.patch b/packages/dsplink/dsplink-1.51/prcs-fix-include.patch new file mode 100644 index 0000000000..a71cea3904 --- /dev/null +++ b/packages/dsplink/dsplink-1.51/prcs-fix-include.patch @@ -0,0 +1,29 @@ +--- /tmp/prcs.c 2008-05-15 20:35:49.946802023 +0200 ++++ dsplink_1_50/dsplink/gpp/src/osal/Linux/prcs.c 2008-05-15 20:36:01.386858569 +0200 +@@ -17,6 +17,7 @@ + + /* ----------------------------------- OS Specific Headers */ + #include <linux/autoconf.h> ++#include <linux/sched.h> + #include <linux/spinlock.h> + #include <linux/module.h> + #include <linux/mm.h> + +--- /tmp/mem.c 2008-06-22 16:05:16.000000000 +0200 ++++ dsplink_1_50/dsplink/gpp/src/osal/Linux/2.6.18/mem.c 2008-06-22 16:05:43.000000000 +0200 +@@ -16,6 +16,7 @@ + + + /* ----------------------------------- OS Specific Headers */ ++ + #include <linux/autoconf.h> + #include <linux/spinlock.h> + #if (defined(DM642_PCI) || defined (DM64LC_PCI)) +@@ -31,6 +32,7 @@ + #endif /* if (defined(DM642_PCI) || defined (DM64LC_PCI)) */ + #include <linux/vmalloc.h> + #include <asm/io.h> ++#include <linux/sched.h> + + /* ----------------------------------- DSP/BIOS Link */ + #include <dsplink.h> diff --git a/packages/dsplink/dsplink.inc b/packages/dsplink/dsplink.inc new file mode 100644 index 0000000000..2fa4aae8e0 --- /dev/null +++ b/packages/dsplink/dsplink.inc @@ -0,0 +1,92 @@ +DESCRIPTION = "DSP Link for TI ARM/DSP processors" + +DEPENDS = "virtual/kernel perl-native" +RDEPENDS = "update-modules" + +inherit module + +S = "${WORKDIR}/dsplink_1_50/dsplink" + +# Needed for buildscripts +export DSPLINK = "${S}" + +DSPLINKPLATFORM ?= "Davinci" + +DSPLINKPLATFORM_omap5912osk = "OMAP" +DSPLINKPLATFORM_beagleboard = "OMAP" +DSPLINKPLATFORM_davinci-sffsdr = "Davinci" +DSPLINKPLATFORM_davinci-dvevm = "Davinci" + +DSPLINKDSP ?= "C64XX" +DSPLINKSOC ?= "DM6446" + +DSPLINKSOC_beagleboard = "3530" + +export DSPLINKPLATFORM +export DSPLINKDSP + +do_configure () { + cp ${WORKDIR}/CURRENTCFG.MK ${S}/config + cp ${WORKDIR}/davinci_mvlpro5.0.mk ${S}/make/Linux + cp ${WORKDIR}/c64xx_5.xx_linux.mk ${S}/make/DspBios + + sed -i -e s:SED_ME_SOURCEDIR:${S}:g \ + -e s:SED_ME_GPPDISTRO:davinci_mvlpro5\.0:g \ + -e s:SED_ME_KERNELVERSION:${KERNEL_VERSION}:g \ + -e s:SED_ME_DSPDISTRO:davinci_mvlpro5\.0:g \ + -e s:SED_ME_PLATFORM:${DSPLINKPLATFORM}:g \ + -e s:SED_ME_DSP:${DSPLINKDSP}:g \ + -e s:SED_ME_SOC:${DSPLINKSOC}:g \ + ${S}/config/CURRENTCFG.MK + + sed -i -e s:SED_ME_CROSS:${STAGING_INCDIR}:g \ + -e s:SED_ME_STAGINGDIR:${STAGING_DIR_TARGET}:g \ + -e s:SED_ME_TARGET_PREFIX:${TARGET_PREFIX}:g \ + -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \ + ${S}/make/Linux/davinci_mvlpro5.0.mk + +} + +PARALLEL_MAKE = "" + +do_compile () { + ln -sf ${S}/gpp/src/api/*h ${S}/gpp/inc/ + ln -sf ${S}/gpp/src/pmgr/Linux/2.6.18 ${S}/gpp/src/pmgr/Linux/${KERNEL_VERSION} + ln -sf ${S}/gpp/src/api/Linux/2.6.18 ${S}/gpp/src/api/Linux/${KERNEL_VERSION} + ln -sf ${S}/gpp/src/osal/Linux/2.6.18 ${S}/gpp/src/osal/Linux/${KERNEL_VERSION} + ln -sf ${S}/gpp/src/pmgr/Linux/drv_pmgr.h ${S}/gpp/inc/drv_pmgr.h + ln -sf ${S}/gpp/src/pmgr/pmgr_proc.h ${S}/gpp/inc/pmgr_proc.h + + unset DISPLAY + + oe_runmake -C ${S}/gpp/src all targets + oe_runmake -C ${S}/gpp/src/samples +} + +do_install () { + install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp + cp ${S}/gpp/BUILD/EXPORT/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ + + install -d ${D}/${bindir} + install ${S}/gpp/BUILD/EXPORT/RELEASE/mpcsxfergpp ${D}/${bindir} + install ${S}/gpp/BUILD/EXPORT/RELEASE/ringiogpp ${D}/${bindir} +} + +pkg_postinst_${PN}-module () { + if [ -n "$D" ]; then + exit 1 + fi + depmod -a + update-modules || true +} + +pkg_postrm_${PN}-module () { + update-modules || true +} + +PACKAGES =+ "${PN}-module" +FILES_${PN}-module = "${sysconfdir} /lib/modules" +FILES_${PN} = "${bindir}/mpcsxfergpp ${bindir}/ringiogpp" + +PACKAGE_ARCH = "${MACHINE_ARCH}" + diff --git a/packages/dsplink/dsplink_1.50.bb b/packages/dsplink/dsplink_1.50.bb index 617309ac1d..c1b6f15694 100644 --- a/packages/dsplink/dsplink_1.50.bb +++ b/packages/dsplink/dsplink_1.50.bb @@ -1,11 +1,6 @@ -DESCRIPTION = "DSP Link for TI ARM/DSP processors" +require dsplink.inc -DEPENDS = "virtual/kernel perl-native" -RDEPENDS = "update-modules" - -inherit module - -PR = "r3" +PR = "r4" PE = "1" PV = "1.50" @@ -22,77 +17,4 @@ SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_50.tar.gz \ S = "${WORKDIR}/dsplink_1_50/dsplink" -# Needed for buildscripts -export DSPLINK = "${S}" - -DSPLINKPLATFORM ?= "Davinci" - -DSPLINKPLATFORM_omap5912osk = "Omap" -DSPLINKPLATFORM_beagleboard = "Omap" -DSPLINKPLATFORM_davinci-sffsdr = "Davinci" -DSPLINKPLATFORM_davinci-dvevm = "Davinci" - -DSPLINKDSP ?= "C64XX" - -export DSPLINKPLATFORM -export DSPLINKDSP - -do_configure () { - cp ${WORKDIR}/CURRENTCFG.MK ${S}/config - cp ${WORKDIR}/davinci_mvlpro5.0.mk ${S}/make/Linux - cp ${WORKDIR}/c64xx_5.xx_linux.mk ${S}/make/DspBios - - sed -i -e s:SED_ME_SOURCEDIR:${S}:g \ - -e s:SED_ME_GPPDISTRO:davinci_mvlpro5\.0:g \ - -e s:SED_ME_KERNELVERSION:${KERNEL_VERSION}:g \ - -e s:SED_ME_DSPDISTRO:davinci_mvlpro5\.0:g \ - -e s:SED_ME_PLATFORM:${DSPLINKPLATFORM}:g \ - -e s:SED_ME_DSP:${DSPLINKDSP}:g \ - ${S}/config/CURRENTCFG.MK - - sed -i -e s:SED_ME_CROSS:${STAGING_INCDIR}:g \ - -e s:SED_ME_STAGINGDIR:${STAGING_DIR_TARGET}:g \ - -e s:SED_ME_TARGET_PREFIX:${TARGET_PREFIX}:g \ - -e s:SED_ME_KERNELDIR:${STAGING_KERNEL_DIR}:g \ - ${S}/make/Linux/davinci_mvlpro5.0.mk - -} - -PARALLEL_MAKE = "" - -do_compile () { - ln -sf ${S}/gpp/src/api/*h ${S}/gpp/inc/ - ln -sf ${S}/gpp/src/pmgr/Linux/2.6.18 ${S}/gpp/src/pmgr/Linux/${KERNEL_VERSION} - ln -sf ${S}/gpp/src/api/Linux/2.6.18 ${S}/gpp/src/api/Linux/${KERNEL_VERSION} - ln -sf ${S}/gpp/src/osal/Linux/2.6.18 ${S}/gpp/src/osal/Linux/${KERNEL_VERSION} - ln -sf ${S}/gpp/src/pmgr/Linux/drv_pmgr.h ${S}/gpp/inc/drv_pmgr.h - ln -sf ${S}/gpp/src/pmgr/pmgr_proc.h ${S}/gpp/inc/pmgr_proc.h - - unset DISPLAY - - oe_runmake -C ${S}/gpp/src all targets - oe_runmake -C ${S}/gpp/src/samples -} - -do_install () { - install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp - cp ${S}/gpp/BUILD/EXPORT/RELEASE/dsplinkk.ko ${D}/lib/modules/${KERNEL_VERSION}/kernel/drivers/dsp/ -} - -pkg_postinst_${PN}-module () { - if [ -n "$D" ]; then - exit 1 - fi - depmod -a - update-modules || true -} - -pkg_postrm_${PN}-module () { - update-modules || true -} - -PACKAGES =+ "${PN}-module" -FILES_${PN}-module = "${sysconfdir} /lib/modules" - -PACKAGE_ARCH = "${MACHINE_ARCH}" diff --git a/packages/dsplink/dsplink_1.51.00.08.bb b/packages/dsplink/dsplink_1.51.00.08.bb new file mode 100644 index 0000000000..02c04aa054 --- /dev/null +++ b/packages/dsplink/dsplink_1.51.00.08.bb @@ -0,0 +1,19 @@ +require dsplink.inc + +PR = "r1" +PE = "1" +PV = "1.51" + +# Get dsplink tarball from TI website, place in sources and calculate +# md5sum +# Look for tarball at https://www-a.ti.com/downloads/sds_support/targetcontent/link/index.html + +SRC_URI = "http://install.tarball.in.source.dir/dsplink_1_51_00_08.tar.gz \ + file://CURRENTCFG.MK \ + file://c64xx_5.xx_linux.mk \ + file://davinci_mvlpro5.0.mk \ + file://prcs-fix-include.patch;patch=1;pnum=2 \ +" + +S = "${WORKDIR}/dsplink_1_51_00_08/dsplink" + diff --git a/packages/dsplink/files/CURRENTCFG.MK b/packages/dsplink/files/CURRENTCFG.MK index c9b000b0ef..1f932f2b77 100644 --- a/packages/dsplink/files/CURRENTCFG.MK +++ b/packages/dsplink/files/CURRENTCFG.MK @@ -94,6 +94,6 @@ export PROBE := 0 # ========================================================= # Platform Variant # ========================================================= -export VARIANT := DM6446 +export VARIANT := SED_ME_SOC diff --git a/packages/dsplink/files/davinci_mvlpro5.0.mk b/packages/dsplink/files/davinci_mvlpro5.0.mk index 66365f607b..2379bc359e 100644 --- a/packages/dsplink/files/davinci_mvlpro5.0.mk +++ b/packages/dsplink/files/davinci_mvlpro5.0.mk @@ -99,7 +99,7 @@ CC_SW_DEB := -g # ---------------------------------------------------------------------------- # Standard flags for the compiler # ---------------------------------------------------------------------------- -STD_KRNL_FLAGS := -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes\ +STD_KRNL_FLAGS := -include linux/autoconf.h -c -iwithprefix include -Iinclude -Wall -Wstrict-prototypes\ -Wno-trigraphs -fno-strict-aliasing -fno-common \ -fno-omit-frame-pointer -mapcs -mno-sched-prolog \ -mlittle-endian -D__LINUX_ARM_ARCH__=5 -march=armv5t \ diff --git a/packages/e17/e-wm_cvs.bb b/packages/e17/e-wm_cvs.bb index 87161526e0..b3a4201bcf 100644 --- a/packages/e17/e-wm_cvs.bb +++ b/packages/e17/e-wm_cvs.bb @@ -1,8 +1,8 @@ DESCRIPTION = "The Enlightenment Window Mananger Version 17" -DEPENDS = "eet evas ecore edje efreet" +DEPENDS = "eet evas ecore edje efreet edbus" LICENSE = "MIT BSD" PV = "0.16.999.042+cvs${SRCDATE}" -PR = "r8" +PR = "r9" inherit e update-alternatives diff --git a/packages/efl1/edbus_cvs.bb b/packages/efl1/edbus_cvs.bb index e59ba0be1a..8574d9f29e 100644 --- a/packages/efl1/edbus_cvs.bb +++ b/packages/efl1/edbus_cvs.bb @@ -1,8 +1,8 @@ DESCRIPTION = "DBus and HAL convenience wrappers for EFL" -DEPENDS = "dbus ecore efreet ewl" +DEPENDS = "dbus ecore" LICENSE = "MIT BSD" PV = "0.5.0.043+cvs${SRCDATE}" -PR = "r0" +PR = "r1" inherit efl diff --git a/packages/fakeroot/fakeroot-native_1.2.13.bb b/packages/fakeroot/fakeroot-native_1.2.13.bb deleted file mode 100644 index 9d48d65229..0000000000 --- a/packages/fakeroot/fakeroot-native_1.2.13.bb +++ /dev/null @@ -1,20 +0,0 @@ -SECTION = "base" -PR = "r0" -require fakeroot_${PV}.bb -inherit native -RDEPENDS="util-linux-native" - -SRC_URI += "file://fix-prefix.patch;patch=1" -S = "${WORKDIR}/fakeroot-${PV}" - -EXTRA_OECONF = " --program-prefix=" - -# Compatability for the rare systems not using or having SYSV -python () { - if bb.data.getVar('HOST_NONSYSV', d, True) and bb.data.getVar('HOST_NONSYSV', d, True) != '0': - bb.data.setVar('EXTRA_OECONF', ' --with-ipc=tcp --program-prefix= ', d) -} - -do_stage_append () { - oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/ -} diff --git a/packages/fakeroot/fakeroot-native_1.7.1.bb b/packages/fakeroot/fakeroot-native_1.7.1.bb index 8b3d2a1590..8a54d6497c 100644 --- a/packages/fakeroot/fakeroot-native_1.7.1.bb +++ b/packages/fakeroot/fakeroot-native_1.7.1.bb @@ -1,7 +1,6 @@ -SECTION = "base" require fakeroot_${PV}.bb inherit native -RDEPENDS="util-linux-native" +RDEPENDS = "util-linux-native" SRC_URI += "file://fix-prefix.patch;patch=1 " S = "${WORKDIR}/fakeroot-${PV}" @@ -17,4 +16,3 @@ python () { do_stage_append () { oe_libinstall -so libfakeroot ${STAGING_LIBDIR}/libfakeroot/ } - diff --git a/packages/fakeroot/fakeroot-native_1.9.4.bb b/packages/fakeroot/fakeroot-native_1.9.5.bb index 77d6f58651..77d6f58651 100644 --- a/packages/fakeroot/fakeroot-native_1.9.4.bb +++ b/packages/fakeroot/fakeroot-native_1.9.5.bb diff --git a/packages/fakeroot/fakeroot_1.2.13.bb b/packages/fakeroot/fakeroot_1.2.13.bb deleted file mode 100644 index e29cf162b4..0000000000 --- a/packages/fakeroot/fakeroot_1.2.13.bb +++ /dev/null @@ -1,17 +0,0 @@ -DESCRIPTION = "Gives a fake root environment" -HOMEPAGE = "http://joostje.op.het.net/fakeroot/index.html" -SECTION = "base" -LICENSE = "GPL" -# fakeroot needs getopt which is provided by the util-linux package -RDEPENDS = "util-linux" -PR = "r1" - -SRC_URI = "http://openzaurus.org/mirror/fakeroot_${PV}.tar.gz" - -inherit autotools - -do_stage() { - install -d ${STAGING_INCDIR}/fakeroot - install -m 644 *.h ${STAGING_INCDIR}/fakeroot - autotools_stage_all -} diff --git a/packages/fakeroot/fakeroot_1.7.1.bb b/packages/fakeroot/fakeroot_1.7.1.bb index 803b5f3ff4..ea3806d2f5 100644 --- a/packages/fakeroot/fakeroot_1.7.1.bb +++ b/packages/fakeroot/fakeroot_1.7.1.bb @@ -5,8 +5,10 @@ LICENSE = "GPL" RDEPENDS = "util-linux" PR = "r2" -SRC_URI = "ftp://ftp.debian.org/debian/pool/main/f/fakeroot/fakeroot_${PV}.tar.gz \ - file://work-with-older-libtool.patch;patch=1" +SRC_URI = "\ + ftp://ftp.gentoo.mesh-solutions.com/mirrors/gentoo/distfiles/fakeroot_1.7.1.tar.gz \ + file://work-with-older-libtool.patch;patch=1 \ +" inherit autotools diff --git a/packages/fakeroot/fakeroot_1.9.4.bb b/packages/fakeroot/fakeroot_1.9.5.bb index aaf696d79d..aaf696d79d 100644 --- a/packages/fakeroot/fakeroot_1.9.4.bb +++ b/packages/fakeroot/fakeroot_1.9.5.bb diff --git a/packages/freesmartphone/frameworkd/frameworkd.conf b/packages/freesmartphone/frameworkd/frameworkd.conf index 8b13789179..36b4f5fc8e 100644 --- a/packages/freesmartphone/frameworkd/frameworkd.conf +++ b/packages/freesmartphone/frameworkd/frameworkd.conf @@ -1 +1,20 @@ +[odeviced] +[kernel26] +# set 1 to disable the module +disable = 0 + +[idlenotifier] +# set 1 to disable the module +disable = 0 +# add inut nodes to ignore for idle activity +ignoreinput = 2,3,4 + +[powercontrol-neo] +disable = 0 + +[ogsmd] +modemtype = ti_calypso + +[opreferencesd] +rootdir = ../etc/freesmartphone/opreferences:/etc/freesmartphone/opreferences:/usr/etc/freesmartphone/opreferences diff --git a/packages/freesmartphone/frameworkd_git.bb b/packages/freesmartphone/frameworkd_git.bb index 4d3e498f9e..a6d25f79ec 100644 --- a/packages/freesmartphone/frameworkd_git.bb +++ b/packages/freesmartphone/frameworkd_git.bb @@ -1,11 +1,11 @@ -DESCRIPTION = "The freesmartphon.org Framework Daemon" +DESCRIPTION = "The freesmartphone.org Framework Daemon" HOMEPAGE = "http://www.freesmartphone.org" -AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de>" +AUTHOR = "Michael 'Mickey' Lauer <mlauer@vanille-media.de> et. al." SECTION = "console/network" DEPENDS = "python-cython-native python-pyrex-native" LICENSE = "GPL" PV = "0.8.0+gitr${SRCREV}" -PR = "r1" +PR = "r6" inherit distutils update-rc.d @@ -27,11 +27,14 @@ do_install_append() { RDEPENDS_${PN} += "\ python-dbus \ + python-datetime \ python-pygobject \ python-pyrtc \ python-pyserial \ + python-pyyaml \ + python-shell \ python-syslog \ " -FILES_${PN} += "${sysconfdir}" +FILES_${PN} += "${sysconfdir} ${datadir}" FILES_${PN}-dbg += "${libdir}/${PYTHON_DIR}/site-packages/framework/subsystems/*/.debug" diff --git a/packages/freesmartphone/zhone_git.bb b/packages/freesmartphone/zhone_git.bb index c9411a58c3..a766eb1ab5 100644 --- a/packages/freesmartphone/zhone_git.bb +++ b/packages/freesmartphone/zhone_git.bb @@ -1,16 +1,16 @@ DESCRIPTION = "Zhone: Zen Phone" LICENSE = "GPL" SECTION = "x11" -DEPENDS = "edje-native" +DEPENDS = "edje-native python-pyrex-native python-cython-native" RDEPENDS = "task-python-efl python-textutils python-dbus" PV = "0.0.0+gitr${SRCREV}" -PR = "r5" +PR = "r6" SRC_URI = "${FREESMARTPHONE_GIT}/zhone.git;protocol=git;branch=master \ file://80zhone" S = "${WORKDIR}/git" -inherit autotools +inherit distutils do_install_append() { install -d ${D}${sysconfdir}/X11/Xsession.d/ @@ -18,6 +18,3 @@ do_install_append() { } FILES_${PN} += "${datadir} ${sysconfdir}" - -PACKAGE_ARCH = "all" - diff --git a/packages/gcc/gcc-4.2.2.inc b/packages/gcc/gcc-4.2.2.inc index 5691fb647a..0f4de3cdc7 100644 --- a/packages/gcc/gcc-4.2.2.inc +++ b/packages/gcc/gcc-4.2.2.inc @@ -43,7 +43,9 @@ SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ SRC_URI_append_avr32 = " \ file://gcc-4.2.2.atmel.1.0.8.patch.bz2;patch=1 \ - file://901-avr32-no-cond-exec-before-reload-by-default.patch;patch=1 \ + file://901-avr32-fix-no-cond-exec-before-reload.patch;patch=1 \ + file://902-avr32-fix-sync-insn-instructions.patch;patch=1 \ + file://903-avr32-fix-removal-of-redundant-cast-operations.patch;patch=1 \ " diff --git a/packages/gcc/gcc-4.2.2/901-avr32-fix-no-cond-exec-before-reload.patch b/packages/gcc/gcc-4.2.2/901-avr32-fix-no-cond-exec-before-reload.patch new file mode 100644 index 0000000000..5d84dd82a8 --- /dev/null +++ b/packages/gcc/gcc-4.2.2/901-avr32-fix-no-cond-exec-before-reload.patch @@ -0,0 +1,48 @@ +Index: trunk/gcc/config/avr32/avr32.c +=================================================================== +--- trunk/gcc/config/avr32/avr32.c (revision 42108) ++++ trunk/gcc/config/avr32/avr32.c (revision 42335) +@@ -3737,7 +3737,34 @@ + return 0; + } + ++/* Return TRUE if X contains a MEM expression. */ ++int ++mem_mentioned_p (rtx x) ++{ ++ const char *fmt; ++ int i; + ++ if (MEM_P (x)) ++ return 1; ++ ++ fmt = GET_RTX_FORMAT (GET_CODE (x)); ++ for (i = GET_RTX_LENGTH (GET_CODE (x)) - 1; i >= 0; i--) ++ { ++ if (fmt[i] == 'E') ++ { ++ int j; ++ ++ for (j = XVECLEN (x, i) - 1; j >= 0; j--) ++ if (mem_mentioned_p (XVECEXP (x, i, j))) ++ return 1; ++ } ++ else if (fmt[i] == 'e' && mem_mentioned_p (XEXP (x, i))) ++ return 1; ++ } ++ ++ return 0; ++} ++ + int + avr32_legitimate_pic_operand_p (rtx x) + { +@@ -7547,7 +7574,7 @@ + /* We cannot move memory loads outside of the if-then-else + since the memory access should not be perfomed if the + condition is not met. */ +- && !MEM_P (SET_SRC (op)) ) ++ && !mem_mentioned_p (SET_SRC (op)) ) + { + rtx scratch_reg = gen_reg_rtx (mode); + rtx op_pattern = copy_rtx (op); diff --git a/packages/gcc/gcc-4.2.2/902-avr32-fix-sync-insn-instructions.patch b/packages/gcc/gcc-4.2.2/902-avr32-fix-sync-insn-instructions.patch new file mode 100644 index 0000000000..aab1490c98 --- /dev/null +++ b/packages/gcc/gcc-4.2.2/902-avr32-fix-sync-insn-instructions.patch @@ -0,0 +1,174 @@ +Index: a/gcc/config/avr32/predicates.md +=================================================================== +--- a/gcc/config/avr32/predicates.md (revision 42108) ++++ b/gcc/config/avr32/predicates.md (working copy) +@@ -333,6 +333,11 @@ + && ((GET_CODE(XEXP(op,0)) == CONST_INT) + || (GET_CODE(XEXP(op,1)) == CONST_INT))")) )) + ++;; An offset k16 memory operand ++(define_predicate "avr32_ks16_memory_operand" ++ (and (match_code "mem") ++ (match_test "avr32_ks16_address_operand (XEXP (op, 0), GET_MODE (XEXP (op, 0)))"))) ++ + ;; An immediate k11 address operand + (define_predicate "avr32_ks11_address_operand" + (and (match_operand 0 "address_operand") +Index: a/gcc/config/avr32/sync.md +=================================================================== +--- a/gcc/config/avr32/sync.md (revision 41409) ++++ b/gcc/config/avr32/sync.md (working copy) +@@ -32,9 +32,14 @@ + (define_code_attr atomic_insn [(plus "add") (minus "sub") (and "and") (ior "ior") (xor "xor")]) + + (define_insn "sync_loadsi" +- [(set (match_operand:SI 0 "register_operand" "=r") ++ ; NB! Put an early clobber on the destination operand to ++ ; avoid gcc using the same register in the source and ++ ; destination. This is done in order to avoid gcc to ++ ; clobber the source operand since these instructions ++ ; are actually inside a "loop". ++ [(set (match_operand:SI 0 "register_operand" "=&r") + (unspec_volatile:SI +- [(match_operand:SI 1 "memory_operand" "RKs16") ++ [(match_operand:SI 1 "avr32_ks16_memory_operand" "RKs16") + (label_ref (match_operand 2 "" ""))] + VUNSPEC_SYNC_SET_LOCK_AND_LOAD) )] + "" +@@ -46,7 +51,7 @@ + ) + + (define_insn "sync_store_if_lock" +- [(set (match_operand:SI 0 "memory_operand" "=RKs16") ++ [(set (match_operand:SI 0 "avr32_ks16_memory_operand" "=RKs16") + (unspec_volatile:SI + [(match_operand:SI 1 "register_operand" "r") + (label_ref (match_operand 2 "" ""))] +@@ -62,7 +67,7 @@ + (define_expand "sync_<atomic_insn>si" + [(set (match_dup 2) + (unspec_volatile:SI +- [(match_operand:SI 0 "memory_operand" "") ++ [(match_operand:SI 0 "avr32_ks16_memory_operand" "") + (match_dup 3)] + VUNSPEC_SYNC_SET_LOCK_AND_LOAD)) + (set (match_dup 2) +@@ -72,11 +77,33 @@ + (unspec_volatile:SI + [(match_dup 2) + (match_dup 3)] +- VUNSPEC_SYNC_STORE_IF_LOCK) )] ++ VUNSPEC_SYNC_STORE_IF_LOCK) ) ++ (use (match_dup 1)) ++ (use (match_dup 4))] + "" + { ++ rtx *mem_expr = &operands[0]; ++ rtx ptr_reg; ++ if ( !avr32_ks16_memory_operand (*mem_expr, GET_MODE (*mem_expr)) ) ++ { ++ ptr_reg = force_reg (Pmode, XEXP (*mem_expr, 0)); ++ XEXP (*mem_expr, 0) = ptr_reg; ++ } ++ else ++ { ++ rtx address = XEXP (*mem_expr, 0); ++ if ( REG_P (address) ) ++ ptr_reg = address; ++ else if ( REG_P (XEXP (address, 0)) ) ++ ptr_reg = XEXP (address, 0); ++ else ++ ptr_reg = XEXP (address, 1); ++ } ++ + operands[2] = gen_reg_rtx (SImode); + operands[3] = gen_rtx_LABEL_REF(Pmode, gen_label_rtx ()); ++ operands[4] = ptr_reg; ++ + } + ) + +@@ -85,7 +112,7 @@ + (define_expand "sync_old_<atomic_insn>si" + [(set (match_operand:SI 0 "register_operand" "") + (unspec_volatile:SI +- [(match_operand:SI 1 "memory_operand" "") ++ [(match_operand:SI 1 "avr32_ks16_memory_operand" "") + (match_dup 4)] + VUNSPEC_SYNC_SET_LOCK_AND_LOAD)) + (set (match_dup 3) +@@ -95,18 +122,39 @@ + (unspec_volatile:SI + [(match_dup 3) + (match_dup 4)] +- VUNSPEC_SYNC_STORE_IF_LOCK) )] ++ VUNSPEC_SYNC_STORE_IF_LOCK) ) ++ (use (match_dup 2)) ++ (use (match_dup 5))] + "" + { ++ rtx *mem_expr = &operands[1]; ++ rtx ptr_reg; ++ if ( !avr32_ks16_memory_operand (*mem_expr, GET_MODE (*mem_expr)) ) ++ { ++ ptr_reg = force_reg (Pmode, XEXP (*mem_expr, 0)); ++ XEXP (*mem_expr, 0) = ptr_reg; ++ } ++ else ++ { ++ rtx address = XEXP (*mem_expr, 0); ++ if ( REG_P (address) ) ++ ptr_reg = address; ++ else if ( REG_P (XEXP (address, 0)) ) ++ ptr_reg = XEXP (address, 0); ++ else ++ ptr_reg = XEXP (address, 1); ++ } ++ + operands[3] = gen_reg_rtx (SImode); + operands[4] = gen_rtx_LABEL_REF(Pmode, gen_label_rtx ()); ++ operands[5] = ptr_reg; + } + ) + + (define_expand "sync_new_<atomic_insn>si" + [(set (match_operand:SI 0 "register_operand" "") + (unspec_volatile:SI +- [(match_operand:SI 1 "memory_operand" "") ++ [(match_operand:SI 1 "avr32_ks16_memory_operand" "") + (match_dup 3)] + VUNSPEC_SYNC_SET_LOCK_AND_LOAD)) + (set (match_dup 0) +@@ -116,10 +164,31 @@ + (unspec_volatile:SI + [(match_dup 0) + (match_dup 3)] +- VUNSPEC_SYNC_STORE_IF_LOCK) )] ++ VUNSPEC_SYNC_STORE_IF_LOCK) ) ++ (use (match_dup 2)) ++ (use (match_dup 4))] + "" + { ++ rtx *mem_expr = &operands[1]; ++ rtx ptr_reg; ++ if ( !avr32_ks16_memory_operand (*mem_expr, GET_MODE (*mem_expr)) ) ++ { ++ ptr_reg = force_reg (Pmode, XEXP (*mem_expr, 0)); ++ XEXP (*mem_expr, 0) = ptr_reg; ++ } ++ else ++ { ++ rtx address = XEXP (*mem_expr, 0); ++ if ( REG_P (address) ) ++ ptr_reg = address; ++ else if ( REG_P (XEXP (address, 0)) ) ++ ptr_reg = XEXP (address, 0); ++ else ++ ptr_reg = XEXP (address, 1); ++ } ++ + operands[3] = gen_rtx_LABEL_REF(Pmode, gen_label_rtx ()); ++ operands[4] = ptr_reg; + } + ) + diff --git a/packages/gcc/gcc-4.2.2/903-avr32-fix-removal-of-redundant-cast-operations.patch b/packages/gcc/gcc-4.2.2/903-avr32-fix-removal-of-redundant-cast-operations.patch new file mode 100644 index 0000000000..59ecbff4f5 --- /dev/null +++ b/packages/gcc/gcc-4.2.2/903-avr32-fix-removal-of-redundant-cast-operations.patch @@ -0,0 +1,16 @@ +Index: trunk/gcc/config/avr32/avr32.c +=================================================================== +--- trunk/gcc/config/avr32/avr32.c (revision 43495) ++++ trunk/gcc/config/avr32/avr32.c (revision 43496) +@@ -6499,6 +6499,11 @@ + break; + } + ++ /* Check if we have a call and the register is used as an argument. */ ++ if (CALL_P (scan) ++ && find_reg_fusage (scan, USE, reg) ) ++ break; ++ + if (!reg_mentioned_p (reg, PATTERN (scan))) + continue; + diff --git a/packages/gcc/gcc-cross_4.2.2.bb b/packages/gcc/gcc-cross_4.2.2.bb index 816eddba19..38a69aafc3 100644 --- a/packages/gcc/gcc-cross_4.2.2.bb +++ b/packages/gcc/gcc-cross_4.2.2.bb @@ -1,4 +1,4 @@ -PR = "r10" +PR = "r11" require gcc-${PV}.inc require gcc-cross4.inc diff --git a/packages/gcc/gcc_4.2.2.bb b/packages/gcc/gcc_4.2.2.bb index a2ae0c0e92..ca22e0f69c 100644 --- a/packages/gcc/gcc_4.2.2.bb +++ b/packages/gcc/gcc_4.2.2.bb @@ -1,4 +1,4 @@ -PR = "r8" +PR = "r9" require gcc-${PV}.inc require gcc-configure-target.inc diff --git a/packages/gnash/gnash-minimal_cvs.bb b/packages/gnash/gnash-minimal_cvs.bb index c079caadc6..de0e6f9db9 100644 --- a/packages/gnash/gnash-minimal_cvs.bb +++ b/packages/gnash/gnash-minimal_cvs.bb @@ -1,4 +1,6 @@ require gnash-minimal.inc +PV = "0.8.2+cvs${SRCDATE}" + SRC_URI = "cvs://anonymous:anonymous@cvs.sv.gnu.org/sources/gnash;module=gnash" S = ${WORKDIR}/gnash diff --git a/packages/gnash/gnash_0.8.3.bb b/packages/gnash/gnash_0.8.3.bb new file mode 100644 index 0000000000..383f970755 --- /dev/null +++ b/packages/gnash/gnash_0.8.3.bb @@ -0,0 +1,6 @@ +require gnash.inc + +do_configure() { + gnu-configize + oe_runconf +} diff --git a/packages/gnome/libart-lgpl/avr32/.mtn2git_empty b/packages/gnome/libart-lgpl/avr32/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gnome/libart-lgpl/avr32/.mtn2git_empty diff --git a/packages/gnome/libart-lgpl/avr32/art_config.h b/packages/gnome/libart-lgpl/avr32/art_config.h new file mode 100644 index 0000000000..b0e74ad6ae --- /dev/null +++ b/packages/gnome/libart-lgpl/avr32/art_config.h @@ -0,0 +1,10 @@ +/* Automatically generated by gen_art_config.c */ + +#define ART_SIZEOF_CHAR 1 +#define ART_SIZEOF_SHORT 2 +#define ART_SIZEOF_INT 4 +#define ART_SIZEOF_LONG 4 + +typedef unsigned char art_u8; +typedef unsigned short art_u16; +typedef unsigned int art_u32; diff --git a/packages/gstreamer/gst-ffmpeg-0.10.4/.mtn2git_empty b/packages/gstreamer/gst-ffmpeg-0.10.4/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/gstreamer/gst-ffmpeg-0.10.4/.mtn2git_empty diff --git a/packages/gstreamer/gst-ffmpeg-0.10.4/configure-hack.diff b/packages/gstreamer/gst-ffmpeg-0.10.4/configure-hack.diff new file mode 100644 index 0000000000..0c3b5b162f --- /dev/null +++ b/packages/gstreamer/gst-ffmpeg-0.10.4/configure-hack.diff @@ -0,0 +1,10 @@ +--- /tmp/configure.ac 2008-07-03 19:47:44.000000000 +0200 ++++ gst-ffmpeg-0.10.4/configure.ac 2008-07-03 19:47:57.000000000 +0200 +@@ -294,7 +294,6 @@ + AC_SUBST(FFMPEG_CO_DIR) + AC_SUBST(FFMPEG_SVN) + AC_SUBST(FFMPEG_REVISION) +- AC_CONFIG_SUBDIRS(gst-libs/ext/ffmpeg) + AC_MSG_NOTICE([Using included FFMpeg code]) + fi + diff --git a/packages/gstreamer/gst-ffmpeg_0.10.4.bb b/packages/gstreamer/gst-ffmpeg_0.10.4.bb new file mode 100644 index 0000000000..dc6db0dd9c --- /dev/null +++ b/packages/gstreamer/gst-ffmpeg_0.10.4.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "FFmpeg-based GStreamer plug-in" +SECTION = "multimedia" +PRIORITY = "optional" +LICENSE = "LGPL" +HOMEPAGE = "http://www.gstreamer.net/" +DEPENDS = "ffmpeg gstreamer zlib" +PR = "r1" + +# This uses the systems ffmpeg, which is unsupported, but we can't build the internal one with the current autotools (ab)usage +DEFAULT_PREFERENCE = "-1" + +inherit autotools pkgconfig + +SRC_URI = "http://gstreamer.freedesktop.org/src/${PN}/${PN}-${PV}.tar.bz2 \ + file://configure-hack.diff;patch=1 \ +" + +FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" +FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" +FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la ${libdir}/gstreamer-0.10/*.a" + +EXTRA_OECONF = "--disable-sdltest --disable-ffplay --disable-freetypetest \ + --disable-vorbis --disable-vorbistest --disable-encoders \ + --disable-v4l --disable-audio-oss --disable-dv1394 \ + --disable-vhook --with-system-ffmpeg --disable-ffserver \ + --enable-pp --disable-decoder-vorbis" + +# We do this because the install program is called with -s which causes it to +# call "strip" and it then mangles cross compiled stuff.. +PATH_prepend="${CROSS_DIR}/${TARGET_SYS}/bin:" + +# Hack to get STAGING_LIBDIR into the linker path when building ffmpeg +CC = "${CCACHE} ${HOST_PREFIX}gcc ${TARGET_CC_ARCH} -L${STAGING_LIBDIR}" + diff --git a/packages/gstreamer/gst-plugins-base_0.10.17.bb b/packages/gstreamer/gst-plugins-base_0.10.17.bb index 33b189a0ff..56c9bfab04 100644 --- a/packages/gstreamer/gst-plugins-base_0.10.17.bb +++ b/packages/gstreamer/gst-plugins-base_0.10.17.bb @@ -6,7 +6,7 @@ PROVIDES += "gst-plugins" # if alsa has been built and is present. You will # not get an error if this is not present, just # a missing alsa plugin -DEPENDS += "alsa-lib" +DEPENDS += "alsa-lib libsm" -PR = "r2" +PR = "r3" diff --git a/packages/hal/hal_0.5.9.1.bb b/packages/hal/hal_0.5.9.1.bb index 3d2ba155b5..8bd193c40a 100644 --- a/packages/hal/hal_0.5.9.1.bb +++ b/packages/hal/hal_0.5.9.1.bb @@ -7,7 +7,7 @@ DEPENDS = "virtual/kernel dbus-glib udev intltool-native expat libusb-compat" RDEPENDS_${PN} += "udev hal-info" RRECOMMENDS_${PN} += "udev-utils" -PR = "r7" +PR = "r8" SRC_URI = "http://freedesktop.org/~david/dist/hal-${PV}.tar.gz \ file://configure_fix.patch;patch=1 \ @@ -52,11 +52,11 @@ pkg_postinst_hal () { exit 1 fi - /etc/init.d/populate-volatile.sh update - grep haldaemon /etc/group || addgroup haldaemon grep haldaemon /etc/passwd || adduser --disabled-password --system --home /var/run/hald --no-create-home haldaemon --ingroup haldaemon -g HAL + /etc/init.d/populate-volatile.sh update + DBUSPID=`pidof dbus-daemon` if [ "x$DBUSPID" != "x" ]; then diff --git a/packages/hal/hal_0.5.9.bb b/packages/hal/hal_0.5.9.bb index b878638ff2..8dabddf23c 100644 --- a/packages/hal/hal_0.5.9.bb +++ b/packages/hal/hal_0.5.9.bb @@ -5,7 +5,7 @@ RDEPENDS += "udev hal-info" #RDEPENDS_hal-device-manager = "python hal python-pygnome" RRECOMMENDS = "udev-utils" -PR = "r7" +PR = "r8" SRC_URI += "file://99_hal \ file://20hal \ @@ -53,11 +53,11 @@ pkg_postinst_hal () { exit 1 fi - /etc/init.d/populate-volatile.sh update - grep haldaemon /etc/group || addgroup haldaemon grep haldaemon /etc/passwd || adduser --disabled-password --system --home /var/run/hald --no-create-home haldaemon --ingroup haldaemon -g HAL + /etc/init.d/populate-volatile.sh update + DBUSPID=`pidof dbus-daemon` if [ "x$DBUSPID" != "x" ]; then diff --git a/packages/hal/hal_git.bb b/packages/hal/hal_git.bb index 659ab8eb6c..49ecfde9ea 100644 --- a/packages/hal/hal_git.bb +++ b/packages/hal/hal_git.bb @@ -14,7 +14,7 @@ SRC_URI = "git://anongit.freedesktop.org/hal/;protocol=git \ file://99_hal" PV = "0.5.9.1+git${SRCDATE}" -PR = "r5" +PR = "r6" S = "${WORKDIR}/git" @@ -53,11 +53,11 @@ pkg_postinst_hal () { exit 1 fi - /etc/init.d/populate-volatile.sh update - grep haldaemon /etc/group || addgroup haldaemon grep haldaemon /etc/passwd || adduser --disabled-password --system --home /var/run/hald --no-create-home haldaemon --ingroup haldaemon -g HAL + /etc/init.d/populate-volatile.sh update + DBUSPID=`pidof dbus-daemon` if [ "x$DBUSPID" != "x" ]; then diff --git a/packages/images/beagleboard-demo-image.bb b/packages/images/beagleboard-demo-image.bb index 00996fa41e..03371c730e 100644 --- a/packages/images/beagleboard-demo-image.bb +++ b/packages/images/beagleboard-demo-image.bb @@ -21,9 +21,12 @@ IMAGE_INSTALL = "\ xterm xmms epiphany-firefox-replacement \ hicolor-icon-theme gnome-icon-theme \ jaaa nmap iperf gnuplot \ - abiword gnumeric gimp \ + abiword \ +# gnumeric \ +# gimp \ powertop \ - pidgin irssi \ + pidgin \ +# irssi \ " IMAGE_PREPROCESS_COMMAND = "create_etc_timestamp" diff --git a/packages/images/fso-console-image.bb b/packages/images/fso-console-image.bb new file mode 100644 index 0000000000..3de1e51da9 --- /dev/null +++ b/packages/images/fso-console-image.bb @@ -0,0 +1,12 @@ +#------------------------------------------------------ +# freesmartphone.org Console Image Recipe +#------------------------------------------------------ + +require fso-image.bb + +IMAGE_INSTALL = "\ + ${BASE_INSTALL} \ + ${AUDIO_INSTALL} \ + ${TOOLS_INSTALL} \ + ${PYTHON_INSTALL} \ +" diff --git a/packages/images/fso-image.bb b/packages/images/fso-image.bb index a08dac18b7..7333b32131 100644 --- a/packages/images/fso-image.bb +++ b/packages/images/fso-image.bb @@ -40,7 +40,6 @@ TOOLS_INSTALL = "\ # bash \ htop \ mickeyterm \ - mplayer \ nano \ powertop \ s3c24xx-gpio \ diff --git a/packages/libnids/libnids_1.18.bb b/packages/libnids/libnids_1.18.bb index 8323a7ec7d..cf887457a2 100644 --- a/packages/libnids/libnids_1.18.bb +++ b/packages/libnids/libnids_1.18.bb @@ -1,17 +1,21 @@ -LICENSE = "GPL" -SECTION = "libs" -DEPENDS = "libnet libpcap" DESCRIPTION = "Libnids performs assembly of TCP segments \ into TCP streams, IP defragmentation, and TCP port \ scan detection." +LICENSE = "GPL" +SECTION = "libs" +DEPENDS = "libnet-1.0 libpcap" +PR = "r1" -SRC_URI = "${SOURCEFORGE_MIRROR}/libnids/libnids-${PV}.tar.gz \ - file://configure.patch;patch=1" +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/libnids/libnids-${PV}.tar.gz \ + file://configure.patch;patch=1" inherit autotools -EXTRA_OECONF = "--with-libpcap=${STAGING_LIBDIR}/.. \ - --with-libnet=${STAGING_LIBDIR}/.." +EXTRA_OECONF = "\ + --with-libpcap=${STAGING_LIBDIR}/.. \ + --with-libnet=${STAGING_LIBDIR}/.. \ +" EXTRA_OEMAKE = "'install_prefix=${D}'" do_stage () { diff --git a/packages/libsidplay/libsidplay_1.36.59.bb b/packages/libsidplay/libsidplay_1.36.59.bb index fc9a01279c..9ca4ee13c4 100644 --- a/packages/libsidplay/libsidplay_1.36.59.bb +++ b/packages/libsidplay/libsidplay_1.36.59.bb @@ -3,7 +3,11 @@ SECTION = "libs" PRIORITY = "optional" LICENSE = "GPL" -SRC_URI = "http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-${PV}.tgz" +PR = "r1" + +SRC_URI = "http://www.geocities.com/SiliconValley/Lakes/5147/sidplay/packages/libsidplay-${PV}.tgz \ + http://ftp.debian.org/debian/pool/main/libs/libsidplay/libsidplay_1.36.59-5.diff.gz;patch=1 \ +" inherit autotools diff --git a/packages/linux/linux-2.6.24/at32stk1000/defconfig b/packages/linux/linux-2.6.24/at32stk1000/defconfig index 8a3e2ace8b..0a3a3a8426 100644 --- a/packages/linux/linux-2.6.24/at32stk1000/defconfig +++ b/packages/linux/linux-2.6.24/at32stk1000/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit # Linux kernel version: 2.6.24.3 -# Fri Mar 14 12:39:45 2008 +# Tue Jul 1 19:44:49 2008 # CONFIG_AVR32=y CONFIG_GENERIC_GPIO=y @@ -40,7 +40,8 @@ CONFIG_POSIX_MQUEUE=y # CONFIG_USER_NS is not set # CONFIG_PID_NS is not set # CONFIG_AUDIT is not set -# CONFIG_IKCONFIG is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y CONFIG_LOG_BUF_SHIFT=14 # CONFIG_CGROUPS is not set # CONFIG_FAIR_GROUP_SCHED is not set @@ -80,10 +81,10 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y # CONFIG_MODULE_SRCVERSION_ALL is not set -# CONFIG_KMOD is not set +CONFIG_KMOD=y CONFIG_BLOCK=y -# CONFIG_LBD is not set -# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_LBD=y +CONFIG_BLK_DEV_IO_TRACE=y # CONFIG_LSF is not set # CONFIG_BLK_DEV_BSG is not set @@ -126,7 +127,7 @@ CONFIG_BOARD_ATSTK1002=y CONFIG_BOARD_ATSTK1000_EXTDAC=y # CONFIG_BOARD_ATSTK100X_ENABLE_AC97 is not set # CONFIG_BOARD_ATSTK1000_CF_HACKS is not set -# CONFIG_BOARD_ATSTK100X_ENABLE_PSIF is not set +CONFIG_BOARD_ATSTK100X_ENABLE_PSIF=y CONFIG_LOADER_U_BOOT=y # @@ -196,13 +197,22 @@ CONFIG_CPU_FREQ_AT32AP=y # Bus options # # CONFIG_ARCH_SUPPORTS_MSI is not set -# CONFIG_PCCARD is not set +CONFIG_PCCARD=y +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y + +# +# PC-card bridges +# +CONFIG_AT32_CF=y # # Executable file formats # CONFIG_BINFMT_ELF=y -# CONFIG_BINFMT_MISC is not set +CONFIG_BINFMT_MISC=m # # Networking @@ -314,7 +324,7 @@ CONFIG_WIRELESS_EXT=y CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" CONFIG_STANDALONE=y # CONFIG_PREVENT_FIRMWARE_BUILD is not set -# CONFIG_FW_LOADER is not set +CONFIG_FW_LOADER=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set # CONFIG_SYS_HYPERVISOR is not set @@ -422,7 +432,7 @@ CONFIG_ATMEL_SSC=m # SCSI device support # # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m +CONFIG_SCSI=y CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set @@ -457,10 +467,12 @@ CONFIG_SCSI_WAIT_SCAN=m # CONFIG_SCSI_SAS_LIBSAS is not set # CONFIG_SCSI_SRP_ATTRS is not set # CONFIG_SCSI_LOWLEVEL is not set -CONFIG_ATA=m +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +CONFIG_ATA=y # CONFIG_ATA_NONSTANDARD is not set -CONFIG_PATA_AT32=m -# CONFIG_PATA_PLATFORM is not set +CONFIG_PATA_AT32=y +CONFIG_PATA_PCMCIA=y +CONFIG_PATA_PLATFORM=y # CONFIG_MD is not set CONFIG_NETDEVICES=y # CONFIG_NETDEVICES_MULTIQUEUE is not set @@ -502,6 +514,7 @@ CONFIG_MACB=y # # CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_80211 is not set +# CONFIG_NET_PCMCIA is not set # CONFIG_WAN is not set CONFIG_PPP=m # CONFIG_PPP_MULTILINK is not set @@ -532,19 +545,19 @@ CONFIG_INPUT_POLLDEV=m # # Userland interfaces # -CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV=y CONFIG_INPUT_MOUSEDEV_PSAUX=y CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 # CONFIG_INPUT_JOYDEV is not set -CONFIG_INPUT_EVDEV=m +CONFIG_INPUT_EVDEV=y # CONFIG_INPUT_EVBUG is not set # # Input Device Drivers # CONFIG_INPUT_KEYBOARD=y -# CONFIG_KEYBOARD_ATKBD is not set +CONFIG_KEYBOARD_ATKBD=y # CONFIG_KEYBOARD_SUNKBD is not set # CONFIG_KEYBOARD_LKKBD is not set # CONFIG_KEYBOARD_XTKBD is not set @@ -552,8 +565,15 @@ CONFIG_INPUT_KEYBOARD=y # CONFIG_KEYBOARD_STOWAWAY is not set CONFIG_KEYBOARD_GPIO=m CONFIG_INPUT_MOUSE=y -# CONFIG_MOUSE_PS2 is not set -# CONFIG_MOUSE_SERIAL is not set +CONFIG_MOUSE_PS2=y +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +CONFIG_MOUSE_SERIAL=y +# CONFIG_MOUSE_APPLETOUCH is not set # CONFIG_MOUSE_VSXXXAA is not set CONFIG_MOUSE_GPIO=m # CONFIG_INPUT_JOYSTICK is not set @@ -564,7 +584,12 @@ CONFIG_MOUSE_GPIO=m # # Hardware I/O ports # -# CONFIG_SERIO is not set +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AT32PSIF is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set # CONFIG_GAMEPORT is not set # @@ -597,6 +622,13 @@ CONFIG_UNIX98_PTYS=y # CONFIG_RTC is not set # CONFIG_GEN_RTC is not set # CONFIG_R3964 is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set # CONFIG_RAW_DRIVER is not set # CONFIG_TCG_TPM is not set CONFIG_I2C=m @@ -607,32 +639,32 @@ CONFIG_I2C_CHARDEV=m # I2C Algorithms # CONFIG_I2C_ALGOBIT=m -# CONFIG_I2C_ALGOPCF is not set -# CONFIG_I2C_ALGOPCA is not set +CONFIG_I2C_ALGOPCF=m +CONFIG_I2C_ALGOPCA=m # # I2C Hardware Bus support # CONFIG_I2C_ATMELTWI=m CONFIG_I2C_GPIO=m -# CONFIG_I2C_OCORES is not set -# CONFIG_I2C_PARPORT_LIGHT is not set -# CONFIG_I2C_SIMTEC is not set -# CONFIG_I2C_TAOS_EVM is not set -# CONFIG_I2C_STUB is not set +CONFIG_I2C_OCORES=m +CONFIG_I2C_PARPORT_LIGHT=m +CONFIG_I2C_SIMTEC=m +CONFIG_I2C_TAOS_EVM=m +CONFIG_I2C_STUB=m # # Miscellaneous I2C Chip support # -# CONFIG_SENSORS_DS1337 is not set -# CONFIG_SENSORS_DS1374 is not set -# CONFIG_DS1682 is not set -# CONFIG_SENSORS_EEPROM is not set -# CONFIG_SENSORS_PCF8574 is not set -# CONFIG_SENSORS_PCA9539 is not set -# CONFIG_SENSORS_PCF8591 is not set -# CONFIG_SENSORS_MAX6875 is not set -# CONFIG_SENSORS_TSL2550 is not set +CONFIG_SENSORS_DS1337=m +CONFIG_SENSORS_DS1374=m +CONFIG_DS1682=m +CONFIG_SENSORS_EEPROM=m +CONFIG_SENSORS_PCF8574=m +CONFIG_SENSORS_PCA9539=m +CONFIG_SENSORS_PCF8591=m +CONFIG_SENSORS_MAX6875=m +CONFIG_SENSORS_TSL2550=m # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -783,6 +815,12 @@ CONFIG_SND_AT73C213=m CONFIG_SND_AT73C213_TARGET_BITRATE=48000 # +# PCMCIA devices +# +# CONFIG_SND_VXPOCKET is not set +# CONFIG_SND_PDAUDIOCF is not set + +# # System on Chip audio support # # CONFIG_SND_SOC is not set @@ -801,9 +839,10 @@ CONFIG_SOUND_AT32_ABDAC=m CONFIG_AC97_BUS=m # CONFIG_HID_SUPPORT is not set CONFIG_USB_SUPPORT=y -# CONFIG_USB_ARCH_HAS_HCD is not set +CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set # # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' @@ -933,13 +972,27 @@ CONFIG_EXT2_FS=y # CONFIG_EXT2_FS_XIP is not set CONFIG_EXT3_FS=y # CONFIG_EXT3_FS_XATTR is not set -# CONFIG_EXT4DEV_FS is not set +CONFIG_EXT4DEV_FS=m +CONFIG_EXT4DEV_FS_XATTR=y +# CONFIG_EXT4DEV_FS_POSIX_ACL is not set +# CONFIG_EXT4DEV_FS_SECURITY is not set CONFIG_JBD=y # CONFIG_JBD_DEBUG is not set +CONFIG_JBD2=m +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y # CONFIG_REISERFS_FS is not set -# CONFIG_JFS_FS is not set +CONFIG_JFS_FS=m +# CONFIG_JFS_POSIX_ACL is not set +# CONFIG_JFS_SECURITY is not set +# CONFIG_JFS_DEBUG is not set +# CONFIG_JFS_STATISTICS is not set # CONFIG_FS_POSIX_ACL is not set -# CONFIG_XFS_FS is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set # CONFIG_GFS2_FS is not set # CONFIG_OCFS2_FS is not set # CONFIG_MINIX_FS is not set @@ -955,8 +1008,11 @@ CONFIG_FUSE_FS=m # # CD-ROM/DVD Filesystems # -# CONFIG_ISO9660_FS is not set -# CONFIG_UDF_FS is not set +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y # # DOS/FAT/NT Filesystems @@ -985,8 +1041,8 @@ CONFIG_CONFIGFS_FS=y # # CONFIG_ADFS_FS is not set # CONFIG_AFFS_FS is not set -# CONFIG_HFS_FS is not set -# CONFIG_HFSPLUS_FS is not set +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m # CONFIG_BEFS_FS is not set # CONFIG_BFS_FS is not set # CONFIG_EFS_FS is not set @@ -1030,8 +1086,24 @@ CONFIG_SUNRPC=y # # Partition Types # -# CONFIG_PARTITION_ADVANCED is not set +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +CONFIG_AMIGA_PARTITION=y +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set CONFIG_NLS=m CONFIG_NLS_DEFAULT="iso8859-1" CONFIG_NLS_CODEPAGE_437=m @@ -1127,45 +1199,48 @@ CONFIG_FORCED_INLINING=y # CONFIG_SECURITY_FILE_CAPABILITIES is not set CONFIG_CRYPTO=y CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_ABLKCIPHER=m +CONFIG_CRYPTO_AEAD=m CONFIG_CRYPTO_BLKCIPHER=m CONFIG_CRYPTO_HASH=m CONFIG_CRYPTO_MANAGER=m CONFIG_CRYPTO_HMAC=m -# CONFIG_CRYPTO_XCBC is not set -# CONFIG_CRYPTO_NULL is not set -# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_NULL=m +CONFIG_CRYPTO_MD4=m CONFIG_CRYPTO_MD5=m CONFIG_CRYPTO_SHA1=m -# CONFIG_CRYPTO_SHA256 is not set -# CONFIG_CRYPTO_SHA512 is not set -# CONFIG_CRYPTO_WP512 is not set -# CONFIG_CRYPTO_TGR192 is not set -# CONFIG_CRYPTO_GF128MUL is not set -# CONFIG_CRYPTO_ECB is not set +CONFIG_CRYPTO_SHA256=m +CONFIG_CRYPTO_SHA512=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_TGR192=m +CONFIG_CRYPTO_GF128MUL=m +CONFIG_CRYPTO_ECB=m CONFIG_CRYPTO_CBC=m -# CONFIG_CRYPTO_PCBC is not set -# CONFIG_CRYPTO_LRW is not set -# CONFIG_CRYPTO_XTS is not set -# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_XTS=m +CONFIG_CRYPTO_CRYPTD=m CONFIG_CRYPTO_DES=m -# CONFIG_CRYPTO_FCRYPT is not set -# CONFIG_CRYPTO_BLOWFISH is not set -# CONFIG_CRYPTO_TWOFISH is not set -# CONFIG_CRYPTO_SERPENT is not set -# CONFIG_CRYPTO_AES is not set -# CONFIG_CRYPTO_CAST5 is not set -# CONFIG_CRYPTO_CAST6 is not set -# CONFIG_CRYPTO_TEA is not set -# CONFIG_CRYPTO_ARC4 is not set -# CONFIG_CRYPTO_KHAZAD is not set -# CONFIG_CRYPTO_ANUBIS is not set -# CONFIG_CRYPTO_SEED is not set +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_AES=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_TEA=m +CONFIG_CRYPTO_ARC4=m +CONFIG_CRYPTO_KHAZAD=m +CONFIG_CRYPTO_ANUBIS=m +CONFIG_CRYPTO_SEED=m CONFIG_CRYPTO_DEFLATE=m -# CONFIG_CRYPTO_MICHAEL_MIC is not set -# CONFIG_CRYPTO_CRC32C is not set -# CONFIG_CRYPTO_CAMELLIA is not set -# CONFIG_CRYPTO_TEST is not set -# CONFIG_CRYPTO_AUTHENC is not set +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_CRC32C=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_TEST=m +CONFIG_CRYPTO_AUTHENC=m # CONFIG_CRYPTO_HW is not set # @@ -1173,11 +1248,11 @@ CONFIG_CRYPTO_DEFLATE=m # CONFIG_BITREVERSE=y CONFIG_CRC_CCITT=m -# CONFIG_CRC16 is not set +CONFIG_CRC16=m CONFIG_CRC_ITU_T=m CONFIG_CRC32=y CONFIG_CRC7=m -# CONFIG_LIBCRC32C is not set +CONFIG_LIBCRC32C=m CONFIG_ZLIB_INFLATE=y CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y diff --git a/packages/linux/linux-2.6.24/cs-e9302/.mtn2git_empty b/packages/linux/linux-2.6.24/cs-e9302/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.24/cs-e9302/.mtn2git_empty diff --git a/packages/linux/linux-2.6.24/cs-e9302/defconfig b/packages/linux/linux-2.6.24/cs-e9302/defconfig new file mode 100644 index 0000000000..c7db3e6da0 --- /dev/null +++ b/packages/linux/linux-2.6.24/cs-e9302/defconfig @@ -0,0 +1,1165 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.24 +# Mon Feb 4 15:05:53 2008 +# +CONFIG_ARM=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=y +# CONFIG_GENERIC_GPIO is not set +# CONFIG_GENERIC_TIME is not set +# CONFIG_GENERIC_CLOCKEVENTS is not set +CONFIG_MMU=y +# CONFIG_NO_IOPORT is not set +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_ZONE_DMA=y +CONFIG_VECTORS_BASE=0xffff0000 +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +# CONFIG_POSIX_MQUEUE is not set +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_USER_NS is not set +# CONFIG_PID_NS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_CGROUPS is not set +# CONFIG_FAIR_GROUP_SCHED is not set +# CONFIG_SYSFS_DEPRECATED is not set +# CONFIG_RELAY is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +CONFIG_UID16=y +CONFIG_SYSCTL_SYSCALL=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLAB=y +# CONFIG_SLUB is not set +# CONFIG_SLOB is not set +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=0 +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +CONFIG_KMOD=y +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set +# CONFIG_BLK_DEV_BSG is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +CONFIG_IOSCHED_DEADLINE=y +# CONFIG_IOSCHED_CFQ is not set +# CONFIG_DEFAULT_AS is not set +CONFIG_DEFAULT_DEADLINE=y +# CONFIG_DEFAULT_CFQ is not set +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="deadline" + +# +# System Type +# +# CONFIG_ARCH_AAEC2000 is not set +# CONFIG_ARCH_INTEGRATOR is not set +# CONFIG_ARCH_REALVIEW is not set +# CONFIG_ARCH_VERSATILE is not set +# CONFIG_ARCH_AT91 is not set +# CONFIG_ARCH_CLPS7500 is not set +# CONFIG_ARCH_CLPS711X is not set +# CONFIG_ARCH_CO285 is not set +# CONFIG_ARCH_EBSA110 is not set +CONFIG_ARCH_EP93XX=y +# CONFIG_ARCH_FOOTBRIDGE is not set +# CONFIG_ARCH_NETX is not set +# CONFIG_ARCH_H720X is not set +# CONFIG_ARCH_IMX is not set +# CONFIG_ARCH_IOP13XX is not set +# CONFIG_ARCH_IOP32X is not set +# CONFIG_ARCH_IOP33X is not set +# CONFIG_ARCH_IXP23XX is not set +# CONFIG_ARCH_IXP2000 is not set +# CONFIG_ARCH_IXP4XX is not set +# CONFIG_ARCH_L7200 is not set +# CONFIG_ARCH_KS8695 is not set +# CONFIG_ARCH_NS9XXX is not set +# CONFIG_ARCH_MXC is not set +# CONFIG_ARCH_PNX4008 is not set +# CONFIG_ARCH_PXA is not set +# CONFIG_ARCH_RPC is not set +# CONFIG_ARCH_SA1100 is not set +# CONFIG_ARCH_S3C2410 is not set +# CONFIG_ARCH_SHARK is not set +# CONFIG_ARCH_LH7A40X is not set +# CONFIG_ARCH_DAVINCI is not set +# CONFIG_ARCH_OMAP is not set + +# +# Cirrus EP93xx Implementation Options +# +CONFIG_CRUNCH=y + +# +# EP93xx Platforms +# +# CONFIG_MACH_ADSSPHERE is not set +CONFIG_MACH_EDB9302=y +# CONFIG_MACH_EDB9302A is not set +# CONFIG_MACH_EDB9307 is not set +# CONFIG_MACH_EDB9312 is not set +# CONFIG_MACH_EDB9315 is not set +# CONFIG_MACH_EDB9315A is not set +# CONFIG_MACH_GESBC9312 is not set +# CONFIG_MACH_MICRO9 is not set +# CONFIG_MACH_MICRO9H is not set +# CONFIG_MACH_MICRO9M is not set +# CONFIG_MACH_MICRO9L is not set +# CONFIG_MACH_TS72XX is not set + +# +# Boot options +# + +# +# Power management +# + +# +# Processor Type +# +CONFIG_CPU_32=y +CONFIG_CPU_ARM920T=y +CONFIG_CPU_32v4T=y +CONFIG_CPU_ABRT_EV4T=y +CONFIG_CPU_CACHE_V4WT=y +CONFIG_CPU_CACHE_VIVT=y +CONFIG_CPU_COPY_V4WB=y +CONFIG_CPU_TLB_V4WBI=y +CONFIG_CPU_CP15=y +CONFIG_CPU_CP15_MMU=y + +# +# Processor Features +# +# CONFIG_ARM_THUMB is not set +# CONFIG_CPU_ICACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_DISABLE is not set +# CONFIG_CPU_DCACHE_WRITETHROUGH is not set +# CONFIG_OUTER_CACHE is not set +CONFIG_ARM_VIC=y + +# +# Bus support +# +CONFIG_ARM_AMBA=y +# CONFIG_PCI_SYSCALL is not set +# CONFIG_ARCH_SUPPORTS_MSI is not set +# CONFIG_PCCARD is not set + +# +# Kernel Features +# +# CONFIG_TICK_ONESHOT is not set +# CONFIG_PREEMPT is not set +# CONFIG_NO_IDLE_HZ is not set +CONFIG_HZ=100 +CONFIG_AEABI=y +CONFIG_OABI_COMPAT=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4096 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=1 +CONFIG_BOUNCE=y +CONFIG_VIRT_TO_BUS=y +CONFIG_ALIGNMENT_TRAP=y + +# +# Boot options +# +CONFIG_ZBOOT_ROM_TEXT=0x0 +CONFIG_ZBOOT_ROM_BSS=0x0 +CONFIG_CMDLINE="console=ttyAM0 root=mtd5 rootfstype=jffs2 mtdparts=GESBC-NAND:64m(app),-(data)" +# CONFIG_XIP_KERNEL is not set +# CONFIG_KEXEC is not set + +# +# Floating point emulation +# + +# +# At least one emulation must be selected +# +CONFIG_FPE_NWFPE=y +CONFIG_FPE_NWFPE_XP=y +# CONFIG_FPE_FASTFPE is not set + +# +# Userspace binary formats +# +CONFIG_BINFMT_ELF=y +# CONFIG_BINFMT_AOUT is not set +# CONFIG_BINFMT_MISC is not set + +# +# Power management options +# +# CONFIG_PM is not set +CONFIG_SUSPEND_UP_POSSIBLE=y + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +# CONFIG_XFRM_USER is not set +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +CONFIG_NET_KEY=y +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +# CONFIG_IP_PNP_RARP is not set +# CONFIG_NET_IPIP is not set +# CONFIG_NET_IPGRE is not set +# CONFIG_ARPD is not set +CONFIG_SYN_COOKIES=y +# CONFIG_INET_AH is not set +# CONFIG_INET_ESP is not set +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +# CONFIG_INET_TUNNEL is not set +CONFIG_INET_XFRM_MODE_TRANSPORT=y +CONFIG_INET_XFRM_MODE_TUNNEL=y +CONFIG_INET_XFRM_MODE_BEET=y +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +# CONFIG_IPV6 is not set +# CONFIG_INET6_XFRM_TUNNEL is not set +# CONFIG_INET6_TUNNEL is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +# CONFIG_BRIDGE is not set +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_HAMRADIO is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set + +# +# Wireless +# +# CONFIG_CFG80211 is not set +# CONFIG_WIRELESS_EXT is not set +# CONFIG_MAC80211 is not set +# CONFIG_IEEE80211 is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y +# CONFIG_FW_LOADER is not set +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +CONFIG_MTD_CONCAT=y +CONFIG_MTD_PARTITIONS=y +CONFIG_MTD_REDBOOT_PARTS=y +CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1 +# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set +# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_AFS_PARTS is not set + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +CONFIG_MTD_CFI_ADV_OPTIONS=y +CONFIG_MTD_CFI_NOSWAP=y +# CONFIG_MTD_CFI_BE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_LE_BYTE_SWAP is not set +# CONFIG_MTD_CFI_GEOMETRY is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_OTP is not set +CONFIG_MTD_CFI_INTELEXT=y +CONFIG_MTD_CFI_AMDSTD=y +CONFIG_MTD_CFI_STAA=y +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +CONFIG_MTD_ROM=y +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x0 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=1 +# CONFIG_MTD_ARM_INTEGRATOR is not set +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +CONFIG_MTD_NAND_VERIFY_WRITE=y +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_GESBC=y +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ALAUDA is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +# CONFIG_BLK_DEV_LOOP is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_UB is not set +CONFIG_BLK_DEV_RAM=y +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=12288 +CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024 +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +# CONFIG_EEPROM_93CX6 is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +CONFIG_SCSI_LOWLEVEL=y +# CONFIG_ISCSI_TCP is not set +# CONFIG_SCSI_DEBUG is not set +# CONFIG_ATA is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_NETDEVICES_MULTIQUEUE is not set +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +# CONFIG_TUN is not set +# CONFIG_VETH is not set +# CONFIG_PHYLIB is not set +CONFIG_NET_ETHERNET=y +CONFIG_MII=y +CONFIG_EP93XX_ETH=y +# CONFIG_AX88796 is not set +# CONFIG_SMC91X is not set +# CONFIG_DM9000 is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_B44 is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set + +# +# USB Network Adapters +# +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +# CONFIG_USB_USBNET is not set +# CONFIG_WAN is not set +# CONFIG_PPP is not set +# CONFIG_SLIP is not set +# CONFIG_SHAPER is not set +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set + +# +# Input device support +# +# CONFIG_INPUT is not set + +# +# Hardware I/O ports +# +# CONFIG_SERIO is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +# CONFIG_VT is not set +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_AMBA_PL010=y +CONFIG_SERIAL_AMBA_PL010_CONSOLE=y +# CONFIG_SERIAL_AMBA_PL011 is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_NVRAM is not set +# CONFIG_R3964 is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=y + +# +# I2C Algorithms +# +CONFIG_I2C_ALGOBIT=y +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_STUB is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Miscellaneous I2C Chip support +# +CONFIG_SENSORS_DS1337=y +# CONFIG_SENSORS_DS1374 is not set +# CONFIG_DS1682 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_SENSORS_PCA9539 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +CONFIG_I2C_DEBUG_CORE=y +CONFIG_I2C_DEBUG_ALGO=y +CONFIG_I2C_DEBUG_BUS=y +CONFIG_I2C_DEBUG_CHIP=y + +# +# SPI support +# +# CONFIG_SPI is not set +# CONFIG_SPI_MASTER is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +CONFIG_HWMON=y +# CONFIG_HWMON_VID is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +# CONFIG_HWMON_DEBUG_CHIP is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_EP93XX_WATCHDOG=y + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +# CONFIG_FB is not set +# CONFIG_BACKLIGHT_LCD_SUPPORT is not set + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Sound +# +# CONFIG_SOUND is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB_ARCH_HAS_OHCI=y +# CONFIG_USB_ARCH_HAS_EHCI is not set +CONFIG_USB=y +CONFIG_USB_DEBUG=y + +# +# Miscellaneous USB options +# +CONFIG_USB_DEVICEFS=y +# CONFIG_USB_DEVICE_CLASS is not set +CONFIG_USB_DYNAMIC_MINORS=y +# CONFIG_USB_OTG is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_ISP116X_HCD is not set +CONFIG_USB_OHCI_HCD=y +# CONFIG_USB_OHCI_BIG_ENDIAN_DESC is not set +# CONFIG_USB_OHCI_BIG_ENDIAN_MMIO is not set +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# + +# +# may also be needed; see USB_STORAGE Help for more information +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_DPCM is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_LIBUSUAL is not set + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USB_MON is not set + +# +# USB port drivers +# + +# +# USB Serial Converter support +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +# CONFIG_USB_SERIAL_AIRCABLE is not set +# CONFIG_USB_SERIAL_AIRPRIME is not set +# CONFIG_USB_SERIAL_ARK3116 is not set +# CONFIG_USB_SERIAL_BELKIN is not set +# CONFIG_USB_SERIAL_CH341 is not set +# CONFIG_USB_SERIAL_WHITEHEAT is not set +# CONFIG_USB_SERIAL_DIGI_ACCELEPORT is not set +# CONFIG_USB_SERIAL_CP2101 is not set +# CONFIG_USB_SERIAL_CYPRESS_M8 is not set +# CONFIG_USB_SERIAL_EMPEG is not set +CONFIG_USB_SERIAL_FTDI_SIO=m +# CONFIG_USB_SERIAL_FUNSOFT is not set +# CONFIG_USB_SERIAL_VISOR is not set +# CONFIG_USB_SERIAL_IPAQ is not set +# CONFIG_USB_SERIAL_IR is not set +# CONFIG_USB_SERIAL_EDGEPORT is not set +# CONFIG_USB_SERIAL_EDGEPORT_TI is not set +# CONFIG_USB_SERIAL_GARMIN is not set +# CONFIG_USB_SERIAL_IPW is not set +# CONFIG_USB_SERIAL_KEYSPAN_PDA is not set +# CONFIG_USB_SERIAL_KEYSPAN is not set +# CONFIG_USB_SERIAL_KLSI is not set +# CONFIG_USB_SERIAL_KOBIL_SCT is not set +# CONFIG_USB_SERIAL_MCT_U232 is not set +# CONFIG_USB_SERIAL_MOS7720 is not set +# CONFIG_USB_SERIAL_MOS7840 is not set +# CONFIG_USB_SERIAL_NAVMAN is not set +# CONFIG_USB_SERIAL_PL2303 is not set +# CONFIG_USB_SERIAL_OTI6858 is not set +# CONFIG_USB_SERIAL_HP4X is not set +# CONFIG_USB_SERIAL_SAFE is not set +# CONFIG_USB_SERIAL_SIERRAWIRELESS is not set +# CONFIG_USB_SERIAL_TI is not set +# CONFIG_USB_SERIAL_CYBERJACK is not set +# CONFIG_USB_SERIAL_XIRCOM is not set +# CONFIG_USB_SERIAL_OPTION is not set +# CONFIG_USB_SERIAL_OMNINET is not set +# CONFIG_USB_SERIAL_DEBUG is not set + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_AUERSWALD is not set +# CONFIG_USB_RIO500 is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_BERRY_CHARGE is not set +# CONFIG_USB_LED is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_PHIDGET is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_FTDI_ELAN is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set + +# +# USB DSL modem support +# + +# +# USB Gadget Support +# +# CONFIG_USB_GADGET is not set +# CONFIG_MMC is not set +# CONFIG_NEW_LEDS is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set + +# +# SPI RTC drivers +# + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_CMOS is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_EP93XX=y +# CONFIG_RTC_DRV_PL031 is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +# CONFIG_REISERFS_FS is not set +# CONFIG_JFS_FS is not set +# CONFIG_FS_POSIX_ACL is not set +# CONFIG_XFS_FS is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_ROMFS_FS is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +CONFIG_DNOTIFY=y +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +# CONFIG_FUSE_FS is not set + +# +# CD-ROM/DVD Filesystems +# +# CONFIG_ISO9660_FS is not set +# CONFIG_UDF_FS is not set + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=y +# CONFIG_MSDOS_FS is not set +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +# CONFIG_CONFIGFS_FS is not set + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +# CONFIG_JFFS2_FS_WBUF_VERIFY is not set +CONFIG_JFFS2_SUMMARY=y +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_BIND34 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +CONFIG_SMB_FS=y +# CONFIG_SMB_NLS_DEFAULT is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +CONFIG_PARTITION_ADVANCED=y +# CONFIG_ACORN_PARTITION is not set +# CONFIG_OSF_PARTITION is not set +# CONFIG_AMIGA_PARTITION is not set +# CONFIG_ATARI_PARTITION is not set +# CONFIG_MAC_PARTITION is not set +CONFIG_MSDOS_PARTITION=y +# CONFIG_BSD_DISKLABEL is not set +# CONFIG_MINIX_SUBPARTITION is not set +# CONFIG_SOLARIS_X86_PARTITION is not set +# CONFIG_UNIXWARE_DISKLABEL is not set +# CONFIG_LDM_PARTITION is not set +# CONFIG_SGI_PARTITION is not set +# CONFIG_ULTRIX_PARTITION is not set +# CONFIG_SUN_PARTITION is not set +# CONFIG_KARMA_PARTITION is not set +# CONFIG_EFI_PARTITION is not set +# CONFIG_SYSV68_PARTITION is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=y +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=y +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +# CONFIG_NLS_UTF8 is not set +# CONFIG_DLM is not set +CONFIG_INSTRUMENTATION=y +# CONFIG_PROFILING is not set +# CONFIG_MARKERS is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +# CONFIG_DEBUG_FS is not set +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +CONFIG_DEBUG_SLAB=y +# CONFIG_DEBUG_SLAB_LEAK is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +CONFIG_FORCED_INLINING=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_SAMPLES is not set +CONFIG_DEBUG_USER=y +CONFIG_DEBUG_ERRORS=y +CONFIG_DEBUG_LL=y +# CONFIG_DEBUG_ICEDCC is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +# CONFIG_CRYPTO is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +# CONFIG_CRC_CCITT is not set +# CONFIG_CRC16 is not set +# CONFIG_CRC_ITU_T is not set +CONFIG_CRC32=y +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y diff --git a/packages/linux/linux-2.6.25/at32stk1000/.mtn2git_empty b/packages/linux/linux-2.6.25/at32stk1000/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/linux/linux-2.6.25/at32stk1000/.mtn2git_empty diff --git a/packages/linux/linux-2.6.25/at32stk1000/defconfig b/packages/linux/linux-2.6.25/at32stk1000/defconfig new file mode 100644 index 0000000000..9bacf1739d --- /dev/null +++ b/packages/linux/linux-2.6.25/at32stk1000/defconfig @@ -0,0 +1,1297 @@ +# +# Automatically generated make config: don't edit +# Linux kernel version: 2.6.25 +# Tue Jul 1 21:14:57 2008 +# +CONFIG_AVR32=y +CONFIG_GENERIC_GPIO=y +CONFIG_GENERIC_HARDIRQS=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_GENERIC_IRQ_PROBE=y +CONFIG_RWSEM_GENERIC_SPINLOCK=y +CONFIG_GENERIC_TIME=y +CONFIG_GENERIC_CLOCKEVENTS=y +# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set +# CONFIG_ARCH_HAS_ILOG2_U32 is not set +# CONFIG_ARCH_HAS_ILOG2_U64 is not set +CONFIG_GENERIC_HWEIGHT=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_BUG=y +CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" + +# +# General setup +# +CONFIG_EXPERIMENTAL=y +CONFIG_BROKEN_ON_SMP=y +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_LOCALVERSION="" +CONFIG_LOCALVERSION_AUTO=y +CONFIG_SWAP=y +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_POSIX_MQUEUE=y +# CONFIG_BSD_PROCESS_ACCT is not set +# CONFIG_TASKSTATS is not set +# CONFIG_AUDIT is not set +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +CONFIG_LOG_BUF_SHIFT=14 +# CONFIG_CGROUPS is not set +CONFIG_GROUP_SCHED=y +# CONFIG_FAIR_GROUP_SCHED is not set +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_USER_SCHED=y +# CONFIG_CGROUP_SCHED is not set +CONFIG_SYSFS_DEPRECATED=y +CONFIG_SYSFS_DEPRECATED_V2=y +CONFIG_RELAY=y +# CONFIG_NAMESPACES is not set +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_CC_OPTIMIZE_FOR_SIZE=y +CONFIG_SYSCTL=y +CONFIG_EMBEDDED=y +# CONFIG_SYSCTL_SYSCALL is not set +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_ALL is not set +# CONFIG_KALLSYMS_EXTRA_PASS is not set +CONFIG_HOTPLUG=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_COMPAT_BRK=y +# CONFIG_BASE_FULL is not set +CONFIG_FUTEX=y +CONFIG_ANON_INODES=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_VM_EVENT_COUNTERS=y +CONFIG_SLUB_DEBUG=y +# CONFIG_SLAB is not set +CONFIG_SLUB=y +# CONFIG_SLOB is not set +CONFIG_PROFILING=y +# CONFIG_MARKERS is not set +CONFIG_OPROFILE=m +CONFIG_HAVE_OPROFILE=y +CONFIG_KPROBES=y +CONFIG_HAVE_KPROBES=y +# CONFIG_HAVE_KRETPROBES is not set +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_SLABINFO=y +CONFIG_RT_MUTEXES=y +# CONFIG_TINY_SHMEM is not set +CONFIG_BASE_SMALL=1 +CONFIG_MODULES=y +CONFIG_MODULE_UNLOAD=y +CONFIG_MODULE_FORCE_UNLOAD=y +CONFIG_MODVERSIONS=y +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_KMOD is not set +CONFIG_BLOCK=y +# CONFIG_LBD is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +# CONFIG_LSF is not set +# CONFIG_BLK_DEV_BSG is not set + +# +# IO Schedulers +# +CONFIG_IOSCHED_NOOP=y +# CONFIG_IOSCHED_AS is not set +# CONFIG_IOSCHED_DEADLINE is not set +CONFIG_IOSCHED_CFQ=y +# CONFIG_DEFAULT_AS is not set +# CONFIG_DEFAULT_DEADLINE is not set +CONFIG_DEFAULT_CFQ=y +# CONFIG_DEFAULT_NOOP is not set +CONFIG_DEFAULT_IOSCHED="cfq" +CONFIG_CLASSIC_RCU=y + +# +# System Type and features +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ=y +CONFIG_HIGH_RES_TIMERS=y +CONFIG_GENERIC_CLOCKEVENTS_BUILD=y +CONFIG_SUBARCH_AVR32B=y +CONFIG_MMU=y +CONFIG_PERFORMANCE_COUNTERS=y +CONFIG_PLATFORM_AT32AP=y +CONFIG_CPU_AT32AP700X=y +CONFIG_CPU_AT32AP7000=y +CONFIG_BOARD_ATSTK1000=y +# CONFIG_BOARD_ATNGW100 is not set +CONFIG_BOARD_ATSTK1002=y +# CONFIG_BOARD_ATSTK1003 is not set +# CONFIG_BOARD_ATSTK1004 is not set +# CONFIG_BOARD_ATSTK1006 is not set +# CONFIG_BOARD_ATSTK100X_CUSTOM is not set +# CONFIG_BOARD_ATSTK100X_SPI1 is not set +# CONFIG_BOARD_ATSTK1000_J2_LED is not set +# CONFIG_BOARD_ATSTK1000_J2_LED8 is not set +# CONFIG_BOARD_ATSTK1000_J2_RGB is not set +CONFIG_BOARD_ATSTK1000_EXTDAC=y +# CONFIG_BOARD_ATSTK100X_ENABLE_AC97 is not set +# CONFIG_BOARD_ATSTK1000_CF_HACKS is not set +CONFIG_BOARD_ATSTK100X_ENABLE_PSIF=y +CONFIG_LOADER_U_BOOT=y + +# +# Atmel AVR32 AP options +# +# CONFIG_AP700X_32_BIT_SMC is not set +CONFIG_AP700X_16_BIT_SMC=y +# CONFIG_AP700X_8_BIT_SMC is not set +CONFIG_GPIO_DEV=y +CONFIG_LOAD_ADDRESS=0x10000000 +CONFIG_ENTRY_ADDRESS=0x90000000 +CONFIG_PHYS_OFFSET=0x10000000 +CONFIG_PREEMPT_NONE=y +# CONFIG_PREEMPT_VOLUNTARY is not set +# CONFIG_PREEMPT is not set +# CONFIG_HAVE_ARCH_BOOTMEM_NODE is not set +# CONFIG_ARCH_HAVE_MEMORY_PRESENT is not set +# CONFIG_NEED_NODE_MEMMAP_SIZE is not set +CONFIG_ARCH_FLATMEM_ENABLE=y +# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set +# CONFIG_ARCH_SPARSEMEM_ENABLE is not set +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_DISCONTIGMEM_MANUAL is not set +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_FLAT_NODE_MEM_MAP=y +# CONFIG_SPARSEMEM_STATIC is not set +# CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_SPLIT_PTLOCK_CPUS=4 +# CONFIG_RESOURCES_64BIT is not set +CONFIG_ZONE_DMA_FLAG=0 +CONFIG_VIRT_TO_BUS=y +# CONFIG_OWNERSHIP_TRACE is not set +CONFIG_NMI_DEBUGGING=y +CONFIG_DW_DMAC=y +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 +# CONFIG_SCHED_HRTICK is not set +CONFIG_CMDLINE=" debug " + +# +# Power management options +# +CONFIG_ARCH_SUSPEND_POSSIBLE=y +# CONFIG_PM is not set + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_TABLE=y +# CONFIG_CPU_FREQ_DEBUG is not set +# CONFIG_CPU_FREQ_STAT is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_GOV_POWERSAVE is not set +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +# CONFIG_CPU_FREQ_GOV_CONSERVATIVE is not set +CONFIG_CPU_FREQ_AT32AP=y + +# +# Bus options +# +# CONFIG_ARCH_SUPPORTS_MSI is not set +CONFIG_PCCARD=y +# CONFIG_PCMCIA_DEBUG is not set +CONFIG_PCMCIA=y +CONFIG_PCMCIA_LOAD_CIS=y +CONFIG_PCMCIA_IOCTL=y + +# +# PC-card bridges +# +CONFIG_AT32_CF=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_BINFMT_MISC=m + +# +# Networking +# +CONFIG_NET=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_MMAP=y +CONFIG_UNIX=y +CONFIG_XFRM=y +CONFIG_XFRM_USER=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +# CONFIG_XFRM_STATISTICS is not set +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_INET=y +# CONFIG_IP_MULTICAST is not set +# CONFIG_IP_ADVANCED_ROUTER is not set +CONFIG_IP_FIB_HASH=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +# CONFIG_IP_PNP_BOOTP is not set +# CONFIG_IP_PNP_RARP is not set +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE=m +# CONFIG_ARPD is not set +# CONFIG_SYN_COOKIES is not set +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +# CONFIG_INET_IPCOMP is not set +# CONFIG_INET_XFRM_TUNNEL is not set +CONFIG_INET_TUNNEL=m +CONFIG_INET_XFRM_MODE_TRANSPORT=m +CONFIG_INET_XFRM_MODE_TUNNEL=m +CONFIG_INET_XFRM_MODE_BEET=m +# CONFIG_INET_LRO is not set +CONFIG_INET_DIAG=y +CONFIG_INET_TCP_DIAG=y +# CONFIG_TCP_CONG_ADVANCED is not set +CONFIG_TCP_CONG_CUBIC=y +CONFIG_DEFAULT_TCP_CONG="cubic" +# CONFIG_TCP_MD5SIG is not set +CONFIG_IPV6=m +# CONFIG_IPV6_PRIVACY is not set +# CONFIG_IPV6_ROUTER_PREF is not set +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_IPCOMP=m +# CONFIG_IPV6_MIP6 is not set +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_INET6_XFRM_MODE_TRANSPORT=m +CONFIG_INET6_XFRM_MODE_TUNNEL=m +CONFIG_INET6_XFRM_MODE_BEET=m +# CONFIG_INET6_XFRM_MODE_ROUTEOPTIMIZATION is not set +CONFIG_IPV6_SIT=m +CONFIG_IPV6_TUNNEL=m +# CONFIG_IPV6_MULTIPLE_TABLES is not set +# CONFIG_NETWORK_SECMARK is not set +# CONFIG_NETFILTER is not set +# CONFIG_IP_DCCP is not set +# CONFIG_IP_SCTP is not set +# CONFIG_TIPC is not set +# CONFIG_ATM is not set +CONFIG_BRIDGE=m +# CONFIG_VLAN_8021Q is not set +# CONFIG_DECNET is not set +CONFIG_LLC=m +# CONFIG_LLC2 is not set +# CONFIG_IPX is not set +# CONFIG_ATALK is not set +# CONFIG_X25 is not set +# CONFIG_LAPB is not set +# CONFIG_ECONET is not set +# CONFIG_WAN_ROUTER is not set +# CONFIG_NET_SCHED is not set + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NET_TCPPROBE is not set +# CONFIG_HAMRADIO is not set +# CONFIG_CAN is not set +# CONFIG_IRDA is not set +# CONFIG_BT is not set +# CONFIG_AF_RXRPC is not set + +# +# Wireless +# +# CONFIG_CFG80211 is not set +CONFIG_WIRELESS_EXT=y +# CONFIG_MAC80211 is not set +# CONFIG_IEEE80211 is not set +# CONFIG_RFKILL is not set +# CONFIG_NET_9P is not set + +# +# Device Drivers +# + +# +# Generic Driver Options +# +CONFIG_UEVENT_HELPER_PATH="/sbin/hotplug" +CONFIG_STANDALONE=y +# CONFIG_PREVENT_FIRMWARE_BUILD is not set +CONFIG_FW_LOADER=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_SYS_HYPERVISOR is not set +# CONFIG_CONNECTOR is not set +CONFIG_MTD=y +# CONFIG_MTD_DEBUG is not set +# CONFIG_MTD_CONCAT is not set +CONFIG_MTD_PARTITIONS=y +# CONFIG_MTD_REDBOOT_PARTS is not set +CONFIG_MTD_CMDLINE_PARTS=y + +# +# User Modules And Translation Layers +# +CONFIG_MTD_CHAR=y +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_MTD_OOPS is not set + +# +# RAM/ROM/Flash chip drivers +# +CONFIG_MTD_CFI=y +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_GEN_PROBE=y +# CONFIG_MTD_CFI_ADV_OPTIONS is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set +# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_CFI_I4 is not set +# CONFIG_MTD_CFI_I8 is not set +# CONFIG_MTD_CFI_INTELEXT is not set +CONFIG_MTD_CFI_AMDSTD=y +# CONFIG_MTD_CFI_STAA is not set +CONFIG_MTD_CFI_UTIL=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +CONFIG_MTD_PHYSMAP=y +CONFIG_MTD_PHYSMAP_START=0x8000000 +CONFIG_MTD_PHYSMAP_LEN=0x0 +CONFIG_MTD_PHYSMAP_BANKWIDTH=2 +# CONFIG_MTD_PLATRAM is not set + +# +# Self-contained MTD device drivers +# +CONFIG_MTD_DATAFLASH=m +CONFIG_MTD_M25P80=m +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOC2000 is not set +# CONFIG_MTD_DOC2001 is not set +# CONFIG_MTD_DOC2001PLUS is not set +CONFIG_MTD_NAND=y +# CONFIG_MTD_NAND_VERIFY_WRITE is not set +# CONFIG_MTD_NAND_ECC_SMC is not set +# CONFIG_MTD_NAND_MUSEUM_IDS is not set +CONFIG_MTD_NAND_IDS=y +# CONFIG_MTD_NAND_DISKONCHIP is not set +CONFIG_MTD_NAND_ATMEL=y +CONFIG_MTD_NAND_ATMEL_ECC_HW=y +# CONFIG_MTD_NAND_ATMEL_ECC_SOFT is not set +# CONFIG_MTD_NAND_ATMEL_ECC_NONE is not set +# CONFIG_MTD_NAND_NANDSIM is not set +# CONFIG_MTD_NAND_PLATFORM is not set +# CONFIG_MTD_ONENAND is not set + +# +# UBI - Unsorted block images +# +# CONFIG_MTD_UBI is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_COW_COMMON is not set +CONFIG_BLK_DEV_LOOP=m +# CONFIG_BLK_DEV_CRYPTOLOOP is not set +CONFIG_BLK_DEV_NBD=m +CONFIG_BLK_DEV_RAM=m +CONFIG_BLK_DEV_RAM_COUNT=16 +CONFIG_BLK_DEV_RAM_SIZE=4096 +# CONFIG_BLK_DEV_XIP is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_MISC_DEVICES=y +CONFIG_ATMEL_PWM=m +CONFIG_ATMEL_TCLIB=y +CONFIG_ATMEL_TCB_CLKSRC=y +CONFIG_ATMEL_TCB_CLKSRC_BLOCK=0 +# CONFIG_EEPROM_93CX6 is not set +CONFIG_ATMEL_SSC=m +# CONFIG_ENCLOSURE_SERVICES is not set +CONFIG_HAVE_IDE=y +# CONFIG_IDE is not set + +# +# SCSI device support +# +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI=m +CONFIG_SCSI_DMA=y +# CONFIG_SCSI_TGT is not set +# CONFIG_SCSI_NETLINK is not set +# CONFIG_SCSI_PROC_FS is not set + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=m +# CONFIG_CHR_DEV_ST is not set +# CONFIG_CHR_DEV_OSST is not set +CONFIG_BLK_DEV_SR=m +# CONFIG_BLK_DEV_SR_VENDOR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_CHR_DEV_SCH is not set + +# +# Some SCSI devices (e.g. CD jukebox) support multiple LUNs +# +# CONFIG_SCSI_MULTI_LUN is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set +CONFIG_SCSI_WAIT_SCAN=m + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_LOWLEVEL_PCMCIA is not set +CONFIG_ATA=m +# CONFIG_ATA_NONSTANDARD is not set +# CONFIG_SATA_MV is not set +CONFIG_PATA_AT32=m +CONFIG_PATA_PCMCIA=m +# CONFIG_PATA_PLATFORM is not set +# CONFIG_MD is not set +CONFIG_NETDEVICES=y +# CONFIG_NETDEVICES_MULTIQUEUE is not set +# CONFIG_DUMMY is not set +# CONFIG_BONDING is not set +# CONFIG_MACVLAN is not set +# CONFIG_EQUALIZER is not set +CONFIG_TUN=m +# CONFIG_VETH is not set +CONFIG_PHYLIB=y + +# +# MII PHY device drivers +# +# CONFIG_MARVELL_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_QSEMI_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_REALTEK_PHY is not set +# CONFIG_FIXED_PHY is not set +# CONFIG_MDIO_BITBANG is not set +CONFIG_NET_ETHERNET=y +# CONFIG_MII is not set +CONFIG_MACB=y +# CONFIG_ENC28J60 is not set +# CONFIG_IBM_NEW_EMAC_ZMII is not set +# CONFIG_IBM_NEW_EMAC_RGMII is not set +# CONFIG_IBM_NEW_EMAC_TAH is not set +# CONFIG_IBM_NEW_EMAC_EMAC4 is not set +# CONFIG_B44 is not set +# CONFIG_NETDEV_1000 is not set +# CONFIG_NETDEV_10000 is not set + +# +# Wireless LAN +# +# CONFIG_WLAN_PRE80211 is not set +# CONFIG_WLAN_80211 is not set +# CONFIG_NET_PCMCIA is not set +# CONFIG_WAN is not set +CONFIG_PPP=m +# CONFIG_PPP_MULTILINK is not set +# CONFIG_PPP_FILTER is not set +CONFIG_PPP_ASYNC=m +# CONFIG_PPP_SYNC_TTY is not set +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_BSDCOMP=m +# CONFIG_PPP_MPPE is not set +# CONFIG_PPPOE is not set +# CONFIG_PPPOL2TP is not set +# CONFIG_SLIP is not set +CONFIG_SLHC=m +# CONFIG_NETCONSOLE is not set +# CONFIG_NETPOLL is not set +# CONFIG_NET_POLL_CONTROLLER is not set +# CONFIG_ISDN is not set +# CONFIG_PHONE is not set + +# +# Input device support +# +CONFIG_INPUT=y +# CONFIG_INPUT_FF_MEMLESS is not set +CONFIG_INPUT_POLLDEV=y + +# +# Userland interfaces +# +CONFIG_INPUT_MOUSEDEV=m +CONFIG_INPUT_MOUSEDEV_PSAUX=y +CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024 +CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +CONFIG_KEYBOARD_ATKBD=m +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +CONFIG_KEYBOARD_GPIO=m +CONFIG_INPUT_MOUSE=y +CONFIG_MOUSE_PS2=m +CONFIG_MOUSE_PS2_ALPS=y +CONFIG_MOUSE_PS2_LOGIPS2PP=y +CONFIG_MOUSE_PS2_SYNAPTICS=y +CONFIG_MOUSE_PS2_LIFEBOOK=y +CONFIG_MOUSE_PS2_TRACKPOINT=y +# CONFIG_MOUSE_PS2_TOUCHKIT is not set +# CONFIG_MOUSE_SERIAL is not set +# CONFIG_MOUSE_APPLETOUCH is not set +# CONFIG_MOUSE_VSXXXAA is not set +CONFIG_MOUSE_GPIO=m +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +# CONFIG_INPUT_TOUCHSCREEN is not set +# CONFIG_INPUT_MISC is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_I8042=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_AT32PSIF is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_GAMEPORT is not set + +# +# Character devices +# +CONFIG_VT=y +CONFIG_VT_CONSOLE=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +# CONFIG_SERIAL_NONSTANDARD is not set + +# +# Serial drivers +# +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +CONFIG_SERIAL_ATMEL=y +CONFIG_SERIAL_ATMEL_CONSOLE=y +CONFIG_SERIAL_ATMEL_PDC=y +# CONFIG_SERIAL_ATMEL_TTYAT is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +CONFIG_UNIX98_PTYS=y +# CONFIG_LEGACY_PTYS is not set +# CONFIG_IPMI_HANDLER is not set +# CONFIG_HW_RANDOM is not set +# CONFIG_R3964 is not set + +# +# PCMCIA character devices +# +# CONFIG_SYNCLINK_CS is not set +# CONFIG_CARDMAN_4000 is not set +# CONFIG_CARDMAN_4040 is not set +# CONFIG_IPWIRELESS is not set +# CONFIG_RAW_DRIVER is not set +# CONFIG_TCG_TPM is not set +CONFIG_I2C=m +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_CHARDEV=m + +# +# I2C Algorithms +# +CONFIG_I2C_ALGOBIT=m +# CONFIG_I2C_ALGOPCF is not set +# CONFIG_I2C_ALGOPCA is not set + +# +# I2C Hardware Bus support +# +CONFIG_I2C_ATMELTWI=m +CONFIG_I2C_GPIO=m +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_PARPORT_LIGHT is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_STUB is not set + +# +# Miscellaneous I2C Chip support +# +# CONFIG_DS1682 is not set +# CONFIG_SENSORS_EEPROM is not set +# CONFIG_SENSORS_PCF8574 is not set +# CONFIG_PCF8575 is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_TPS65010 is not set +# CONFIG_SENSORS_MAX6875 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# CONFIG_I2C_DEBUG_CHIP is not set + +# +# SPI support +# +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y + +# +# SPI Master Controller Drivers +# +CONFIG_SPI_ATMEL=y +# CONFIG_SPI_BITBANG is not set + +# +# SPI Protocol Masters +# +# CONFIG_SPI_AT25 is not set +CONFIG_SPI_SPIDEV=m +# CONFIG_SPI_TLE62X0 is not set +CONFIG_HAVE_GPIO_LIB=y + +# +# GPIO Support +# +# CONFIG_DEBUG_GPIO is not set + +# +# I2C GPIO expanders: +# +# CONFIG_GPIO_PCA953X is not set +# CONFIG_GPIO_PCF857X is not set + +# +# SPI GPIO expanders: +# +# CONFIG_GPIO_MCP23S08 is not set +# CONFIG_W1 is not set +# CONFIG_POWER_SUPPLY is not set +# CONFIG_HWMON is not set +# CONFIG_THERMAL is not set +CONFIG_WATCHDOG=y +# CONFIG_WATCHDOG_NOWAYOUT is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +CONFIG_AT32AP700X_WDT=y + +# +# Sonics Silicon Backplane +# +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set + +# +# Multifunction device drivers +# +# CONFIG_MFD_SM501 is not set + +# +# Multimedia devices +# +# CONFIG_VIDEO_DEV is not set +# CONFIG_DVB_CORE is not set +# CONFIG_DAB is not set + +# +# Graphics support +# +# CONFIG_VGASTATE is not set +# CONFIG_VIDEO_OUTPUT_CONTROL is not set +CONFIG_FB=y +# CONFIG_FIRMWARE_EDID is not set +# CONFIG_FB_DDC is not set +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +# CONFIG_FB_CFB_REV_PIXELS_IN_BYTE is not set +# CONFIG_FB_SYS_FILLRECT is not set +# CONFIG_FB_SYS_COPYAREA is not set +# CONFIG_FB_SYS_IMAGEBLIT is not set +# CONFIG_FB_SYS_FOPS is not set +CONFIG_FB_DEFERRED_IO=y +# CONFIG_FB_SVGALIB is not set +# CONFIG_FB_MACMODES is not set +# CONFIG_FB_BACKLIGHT is not set +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set + +# +# Frame buffer hardware drivers +# +# CONFIG_FB_S1D13XXX is not set +CONFIG_FB_ATMEL=y +# CONFIG_FB_VIRTUAL is not set +CONFIG_BACKLIGHT_LCD_SUPPORT=y +CONFIG_LCD_CLASS_DEVICE=y +CONFIG_LCD_LTV350QV=y +CONFIG_BACKLIGHT_CLASS_DEVICE=y +CONFIG_BACKLIGHT_ATMEL_LCDC=y +CONFIG_BACKLIGHT_CORGI=y + +# +# Display device support +# +# CONFIG_DISPLAY_SUPPORT is not set + +# +# Console display driver support +# +CONFIG_DUMMY_CONSOLE=y +CONFIG_FRAMEBUFFER_CONSOLE=m +# CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY is not set +CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +# CONFIG_LOGO is not set + +# +# Sound +# +CONFIG_SOUND=m + +# +# Advanced Linux Sound Architecture +# +CONFIG_SND=m +CONFIG_SND_TIMER=m +CONFIG_SND_PCM=m +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_OSSEMUL=y +CONFIG_SND_MIXER_OSS=m +CONFIG_SND_PCM_OSS=m +CONFIG_SND_PCM_OSS_PLUGINS=y +# CONFIG_SND_DYNAMIC_MINORS is not set +# CONFIG_SND_SUPPORT_OLD_API is not set +# CONFIG_SND_VERBOSE_PROCFS is not set +# CONFIG_SND_VERBOSE_PRINTK is not set +# CONFIG_SND_DEBUG is not set + +# +# Generic devices +# +CONFIG_SND_AC97_CODEC=m +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_MPU401 is not set + +# +# AVR32 devices +# +CONFIG_SND_ATMEL_AC97=m + +# +# SPI devices +# +CONFIG_SND_AT73C213=m +CONFIG_SND_AT73C213_TARGET_BITRATE=48000 + +# +# PCMCIA devices +# +# CONFIG_SND_VXPOCKET is not set +# CONFIG_SND_PDAUDIOCF is not set + +# +# System on Chip audio support +# +# CONFIG_SND_SOC is not set + +# +# SoC Audio support for SuperH +# + +# +# ALSA SoC audio for Freescale SOCs +# + +# +# Open Sound System +# +CONFIG_SOUND_PRIME=m +# CONFIG_SOUND_MSNDCLAS is not set +# CONFIG_SOUND_MSNDPIN is not set +CONFIG_SOUND_AT32_ABDAC=m +CONFIG_AC97_BUS=m +# CONFIG_HID_SUPPORT is not set +CONFIG_USB_SUPPORT=y +CONFIG_USB_ARCH_HAS_HCD=y +# CONFIG_USB_ARCH_HAS_OHCI is not set +# CONFIG_USB_ARCH_HAS_EHCI is not set +# CONFIG_USB is not set + +# +# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' +# +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_SELECTED=y +# CONFIG_USB_GADGET_AMD5536UDC is not set +CONFIG_USB_GADGET_ATMEL_USBA=y +CONFIG_USB_ATMEL_USBA=y +# CONFIG_USB_GADGET_FSL_USB2 is not set +# CONFIG_USB_GADGET_NET2280 is not set +# CONFIG_USB_GADGET_PXA2XX is not set +# CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_GOKU is not set +# CONFIG_USB_GADGET_LH7A40X is not set +# CONFIG_USB_GADGET_OMAP is not set +# CONFIG_USB_GADGET_S3C2410 is not set +# CONFIG_USB_GADGET_AT91 is not set +# CONFIG_USB_GADGET_DUMMY_HCD is not set +CONFIG_USB_GADGET_DUALSPEED=y +CONFIG_USB_ZERO=m +CONFIG_USB_ETH=m +CONFIG_USB_ETH_RNDIS=y +CONFIG_USB_GADGETFS=m +CONFIG_USB_FILE_STORAGE=m +# CONFIG_USB_FILE_STORAGE_TEST is not set +CONFIG_USB_G_SERIAL=m +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +CONFIG_MMC=y +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_UNSAFE_RESUME is not set + +# +# MMC/SD Card Drivers +# +CONFIG_MMC_BLOCK=y +# CONFIG_MMC_BLOCK_BOUNCE is not set +# CONFIG_SDIO_UART is not set + +# +# MMC/SD Host Controller Drivers +# +CONFIG_MMC_ATMELMCI=y +CONFIG_MMC_SPI=m +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y + +# +# LED drivers +# +CONFIG_LEDS_ATMEL_PWM=m +CONFIG_LEDS_GPIO=y + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_S35390A is not set + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RS5C348 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_V3020 is not set + +# +# on-CPU RTC drivers +# +CONFIG_RTC_DRV_AT32AP700X=y + +# +# Userspace I/O +# +# CONFIG_UIO is not set + +# +# File systems +# +CONFIG_EXT2_FS=y +# CONFIG_EXT2_FS_XATTR is not set +# CONFIG_EXT2_FS_XIP is not set +CONFIG_EXT3_FS=y +# CONFIG_EXT3_FS_XATTR is not set +# CONFIG_EXT4DEV_FS is not set +CONFIG_JBD=y +# CONFIG_JBD_DEBUG is not set +# CONFIG_REISERFS_FS is not set +CONFIG_JFS_FS=m +# CONFIG_JFS_POSIX_ACL is not set +# CONFIG_JFS_SECURITY is not set +# CONFIG_JFS_DEBUG is not set +# CONFIG_JFS_STATISTICS is not set +# CONFIG_FS_POSIX_ACL is not set +CONFIG_XFS_FS=m +# CONFIG_XFS_QUOTA is not set +# CONFIG_XFS_SECURITY is not set +# CONFIG_XFS_POSIX_ACL is not set +# CONFIG_XFS_RT is not set +# CONFIG_GFS2_FS is not set +# CONFIG_OCFS2_FS is not set +# CONFIG_DNOTIFY is not set +CONFIG_INOTIFY=y +CONFIG_INOTIFY_USER=y +# CONFIG_QUOTA is not set +# CONFIG_AUTOFS_FS is not set +# CONFIG_AUTOFS4_FS is not set +CONFIG_FUSE_FS=m + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +CONFIG_UDF_NLS=y + +# +# DOS/FAT/NT Filesystems +# +CONFIG_FAT_FS=m +CONFIG_MSDOS_FS=m +CONFIG_VFAT_FS=m +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +# CONFIG_NTFS_FS is not set + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +# CONFIG_TMPFS_POSIX_ACL is not set +# CONFIG_HUGETLB_PAGE is not set +CONFIG_CONFIGFS_FS=y + +# +# Miscellaneous filesystems +# +# CONFIG_ADFS_FS is not set +# CONFIG_AFFS_FS is not set +# CONFIG_HFS_FS is not set +# CONFIG_HFSPLUS_FS is not set +# CONFIG_BEFS_FS is not set +# CONFIG_BFS_FS is not set +# CONFIG_EFS_FS is not set +CONFIG_JFFS2_FS=y +CONFIG_JFFS2_FS_DEBUG=0 +# CONFIG_JFFS2_FS_WRITEBUFFER is not set +# CONFIG_JFFS2_SUMMARY is not set +# CONFIG_JFFS2_FS_XATTR is not set +# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set +CONFIG_JFFS2_ZLIB=y +# CONFIG_JFFS2_LZO is not set +CONFIG_JFFS2_RTIME=y +# CONFIG_JFFS2_RUBIN is not set +# CONFIG_CRAMFS is not set +# CONFIG_VXFS_FS is not set +# CONFIG_MINIX_FS is not set +# CONFIG_HPFS_FS is not set +# CONFIG_QNX4FS_FS is not set +# CONFIG_ROMFS_FS is not set +# CONFIG_SYSV_FS is not set +# CONFIG_UFS_FS is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +# CONFIG_NFS_V4 is not set +# CONFIG_NFS_DIRECTIO is not set +# CONFIG_NFSD is not set +CONFIG_ROOT_NFS=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_COMMON=y +CONFIG_SUNRPC=y +# CONFIG_SUNRPC_BIND34 is not set +# CONFIG_RPCSEC_GSS_KRB5 is not set +# CONFIG_RPCSEC_GSS_SPKM3 is not set +# CONFIG_SMB_FS is not set +# CONFIG_CIFS is not set +# CONFIG_NCP_FS is not set +# CONFIG_CODA_FS is not set +# CONFIG_AFS_FS is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_NLS=m +CONFIG_NLS_DEFAULT="iso8859-1" +CONFIG_NLS_CODEPAGE_437=m +# CONFIG_NLS_CODEPAGE_737 is not set +# CONFIG_NLS_CODEPAGE_775 is not set +# CONFIG_NLS_CODEPAGE_850 is not set +# CONFIG_NLS_CODEPAGE_852 is not set +# CONFIG_NLS_CODEPAGE_855 is not set +# CONFIG_NLS_CODEPAGE_857 is not set +# CONFIG_NLS_CODEPAGE_860 is not set +# CONFIG_NLS_CODEPAGE_861 is not set +# CONFIG_NLS_CODEPAGE_862 is not set +# CONFIG_NLS_CODEPAGE_863 is not set +# CONFIG_NLS_CODEPAGE_864 is not set +# CONFIG_NLS_CODEPAGE_865 is not set +# CONFIG_NLS_CODEPAGE_866 is not set +# CONFIG_NLS_CODEPAGE_869 is not set +# CONFIG_NLS_CODEPAGE_936 is not set +# CONFIG_NLS_CODEPAGE_950 is not set +# CONFIG_NLS_CODEPAGE_932 is not set +# CONFIG_NLS_CODEPAGE_949 is not set +# CONFIG_NLS_CODEPAGE_874 is not set +# CONFIG_NLS_ISO8859_8 is not set +# CONFIG_NLS_CODEPAGE_1250 is not set +# CONFIG_NLS_CODEPAGE_1251 is not set +# CONFIG_NLS_ASCII is not set +CONFIG_NLS_ISO8859_1=m +# CONFIG_NLS_ISO8859_2 is not set +# CONFIG_NLS_ISO8859_3 is not set +# CONFIG_NLS_ISO8859_4 is not set +# CONFIG_NLS_ISO8859_5 is not set +# CONFIG_NLS_ISO8859_6 is not set +# CONFIG_NLS_ISO8859_7 is not set +# CONFIG_NLS_ISO8859_9 is not set +# CONFIG_NLS_ISO8859_13 is not set +# CONFIG_NLS_ISO8859_14 is not set +# CONFIG_NLS_ISO8859_15 is not set +# CONFIG_NLS_KOI8_R is not set +# CONFIG_NLS_KOI8_U is not set +CONFIG_NLS_UTF8=m +# CONFIG_DLM is not set + +# +# Kernel hacking +# +# CONFIG_PRINTK_TIME is not set +CONFIG_ENABLE_WARN_DEPRECATED=y +CONFIG_ENABLE_MUST_CHECK=y +CONFIG_MAGIC_SYSRQ=y +# CONFIG_UNUSED_SYMBOLS is not set +CONFIG_DEBUG_FS=y +# CONFIG_HEADERS_CHECK is not set +CONFIG_DEBUG_KERNEL=y +# CONFIG_DEBUG_SHIRQ is not set +CONFIG_DETECT_SOFTLOCKUP=y +CONFIG_SCHED_DEBUG=y +# CONFIG_SCHEDSTATS is not set +# CONFIG_TIMER_STATS is not set +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_SLUB_STATS is not set +# CONFIG_DEBUG_RT_MUTEXES is not set +# CONFIG_RT_MUTEX_TESTER is not set +# CONFIG_DEBUG_SPINLOCK is not set +# CONFIG_DEBUG_MUTEXES is not set +# CONFIG_DEBUG_LOCK_ALLOC is not set +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +# CONFIG_DEBUG_SPINLOCK_SLEEP is not set +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_DEBUG_KOBJECT is not set +CONFIG_DEBUG_BUGVERBOSE=y +# CONFIG_DEBUG_INFO is not set +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_SG is not set +CONFIG_FRAME_POINTER=y +# CONFIG_BOOT_PRINTK_DELAY is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_KPROBES_SANITY_TEST is not set +# CONFIG_BACKTRACE_SELF_TEST is not set +# CONFIG_LKDTM is not set +# CONFIG_FAULT_INJECTION is not set +# CONFIG_SAMPLES is not set + +# +# Security options +# +# CONFIG_KEYS is not set +# CONFIG_SECURITY is not set +# CONFIG_SECURITY_FILE_CAPABILITIES is not set +CONFIG_CRYPTO=y +CONFIG_CRYPTO_ALGAPI=m +CONFIG_CRYPTO_AEAD=m +CONFIG_CRYPTO_BLKCIPHER=m +# CONFIG_CRYPTO_SEQIV is not set +CONFIG_CRYPTO_HASH=m +CONFIG_CRYPTO_MANAGER=m +CONFIG_CRYPTO_HMAC=m +# CONFIG_CRYPTO_XCBC is not set +# CONFIG_CRYPTO_NULL is not set +# CONFIG_CRYPTO_MD4 is not set +CONFIG_CRYPTO_MD5=m +CONFIG_CRYPTO_SHA1=m +# CONFIG_CRYPTO_SHA256 is not set +# CONFIG_CRYPTO_SHA512 is not set +# CONFIG_CRYPTO_WP512 is not set +# CONFIG_CRYPTO_TGR192 is not set +# CONFIG_CRYPTO_GF128MUL is not set +# CONFIG_CRYPTO_ECB is not set +CONFIG_CRYPTO_CBC=m +# CONFIG_CRYPTO_PCBC is not set +# CONFIG_CRYPTO_LRW is not set +# CONFIG_CRYPTO_XTS is not set +# CONFIG_CRYPTO_CTR is not set +# CONFIG_CRYPTO_GCM is not set +# CONFIG_CRYPTO_CCM is not set +# CONFIG_CRYPTO_CRYPTD is not set +CONFIG_CRYPTO_DES=m +# CONFIG_CRYPTO_FCRYPT is not set +# CONFIG_CRYPTO_BLOWFISH is not set +# CONFIG_CRYPTO_TWOFISH is not set +# CONFIG_CRYPTO_SERPENT is not set +# CONFIG_CRYPTO_AES is not set +# CONFIG_CRYPTO_CAST5 is not set +# CONFIG_CRYPTO_CAST6 is not set +# CONFIG_CRYPTO_TEA is not set +# CONFIG_CRYPTO_ARC4 is not set +# CONFIG_CRYPTO_KHAZAD is not set +# CONFIG_CRYPTO_ANUBIS is not set +# CONFIG_CRYPTO_SEED is not set +# CONFIG_CRYPTO_SALSA20 is not set +CONFIG_CRYPTO_DEFLATE=m +# CONFIG_CRYPTO_MICHAEL_MIC is not set +# CONFIG_CRYPTO_CRC32C is not set +# CONFIG_CRYPTO_CAMELLIA is not set +# CONFIG_CRYPTO_TEST is not set +CONFIG_CRYPTO_AUTHENC=m +# CONFIG_CRYPTO_LZO is not set +# CONFIG_CRYPTO_HW is not set + +# +# Library routines +# +CONFIG_BITREVERSE=y +CONFIG_CRC_CCITT=m +# CONFIG_CRC16 is not set +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +CONFIG_CRC7=m +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_PLIST=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_DMA=y diff --git a/packages/linux/linux-davinci/davinci-sffsdr/defconfig b/packages/linux/linux-davinci/davinci-sffsdr/defconfig index 3ebe33cf0d..8f53af1a17 100644 --- a/packages/linux/linux-davinci/davinci-sffsdr/defconfig +++ b/packages/linux/linux-davinci/davinci-sffsdr/defconfig @@ -1,7 +1,7 @@ # # Automatically generated make config: don't edit -# Linux kernel version: 2.6.25-davinci1 -# Thu May 22 17:00:44 2008 +# Linux kernel version: 2.6.26-rc5-davinci1 +# Sun Jun 22 19:30:45 2008 # CONFIG_ARM=y CONFIG_SYS_SUPPORTS_APM_EMULATION=y @@ -31,7 +31,6 @@ CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config" # CONFIG_EXPERIMENTAL=y CONFIG_BROKEN_ON_SMP=y -CONFIG_LOCK_KERNEL=y CONFIG_INIT_ENV_ARG_LIMIT=32 CONFIG_LOCALVERSION="" CONFIG_LOCALVERSION_AUTO=y @@ -62,6 +61,7 @@ CONFIG_SYSCTL=y CONFIG_EMBEDDED=y CONFIG_UID16=y CONFIG_SYSCTL_SYSCALL=y +CONFIG_SYSCTL_SYSCALL_CHECK=y CONFIG_KALLSYMS=y # CONFIG_KALLSYMS_ALL is not set # CONFIG_KALLSYMS_EXTRA_PASS is not set @@ -88,12 +88,14 @@ CONFIG_HAVE_OPROFILE=y # CONFIG_KPROBES is not set CONFIG_HAVE_KPROBES=y CONFIG_HAVE_KRETPROBES=y +# CONFIG_HAVE_DMA_ATTRS is not set CONFIG_PROC_PAGE_MONITOR=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y # CONFIG_TINY_SHMEM is not set CONFIG_BASE_SMALL=0 CONFIG_MODULES=y +CONFIG_MODULE_FORCE_LOAD=y CONFIG_MODULE_UNLOAD=y CONFIG_MODULE_FORCE_UNLOAD=y CONFIG_MODVERSIONS=y @@ -182,6 +184,8 @@ CONFIG_ARCH_DAVINCI644x=y CONFIG_MACH_SFFSDR=y CONFIG_DAVINCI_I2C_EXPANDER=y # CONFIG_DAVINCI_MCBSP is not set +# CONFIG_DAVINCI_RESET_CLOCKS is not set +# CONFIG_DAVINCI_BOOT_TAG is not set # # DaVinci Options @@ -225,7 +229,7 @@ CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_PREEMPT=y +# CONFIG_PREEMPT is not set CONFIG_HZ=100 CONFIG_AEABI=y # CONFIG_OABI_COMPAT is not set @@ -238,6 +242,7 @@ CONFIG_FLATMEM=y CONFIG_FLAT_NODE_MEM_MAP=y # CONFIG_SPARSEMEM_STATIC is not set # CONFIG_SPARSEMEM_VMEMMAP_ENABLE is not set +CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4096 # CONFIG_RESOURCES_64BIT is not set CONFIG_ZONE_DMA_FLAG=1 @@ -252,7 +257,7 @@ CONFIG_ALIGNMENT_TRAP=y # CONFIG_ZBOOT_ROM_TEXT=0x0 CONFIG_ZBOOT_ROM_BSS=0x0 -CONFIG_CMDLINE="" +CONFIG_CMDLINE=" debug " # CONFIG_XIP_KERNEL is not set # CONFIG_KEXEC is not set @@ -425,6 +430,7 @@ CONFIG_MTD_PARTITIONS=y # CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_CMDLINE_PARTS is not set # CONFIG_MTD_AFS_PARTS is not set +# CONFIG_MTD_AR7_PARTS is not set # # User Modules And Translation Layers @@ -654,8 +660,8 @@ CONFIG_INPUT_TOUCHSCREEN=y # CONFIG_TOUCHSCREEN_PENMOUNT is not set # CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set # CONFIG_TOUCHSCREEN_TOUCHWIN is not set -# CONFIG_TOUCHSCREEN_UCB1400 is not set # CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_UCB1400 is not set # CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set # CONFIG_INPUT_MISC is not set @@ -675,6 +681,7 @@ CONFIG_VT=y # CONFIG_VT_CONSOLE is not set CONFIG_HW_CONSOLE=y # CONFIG_VT_HW_CONSOLE_BINDING is not set +CONFIG_DEVKMEM=y # CONFIG_SERIAL_NONSTANDARD is not set # @@ -737,12 +744,7 @@ CONFIG_GPIOEXPANDER_DAVINCI=y # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set - -# -# SPI support -# # CONFIG_SPI is not set -# CONFIG_SPI_MASTER is not set CONFIG_HAVE_GPIO_LIB=y # @@ -842,8 +844,17 @@ CONFIG_SSB_POSSIBLE=y # # Multimedia devices # + +# +# Multimedia core support +# # CONFIG_VIDEO_DEV is not set # CONFIG_DVB_CORE is not set +# CONFIG_VIDEO_MEDIA is not set + +# +# Multimedia drivers +# # CONFIG_DAB is not set # @@ -912,11 +923,15 @@ CONFIG_USB_DEVICEFS=y CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_DYNAMIC_MINORS is not set # CONFIG_USB_OTG is not set +# CONFIG_USB_OTG_WHITELIST is not set +# CONFIG_USB_OTG_BLACKLIST_HUB is not set # # USB Host Controller Drivers # +# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set CONFIG_USB_MUSB_HDRC=m @@ -937,6 +952,7 @@ CONFIG_USB_MUSB_LOGLEVEL=0 # # CONFIG_USB_ACM is not set # CONFIG_USB_PRINTER is not set +# CONFIG_USB_WDM is not set # # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' @@ -958,6 +974,7 @@ CONFIG_USB_STORAGE=m # CONFIG_USB_STORAGE_ALAUDA is not set # CONFIG_USB_STORAGE_ONETOUCH is not set # CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set # CONFIG_USB_LIBUSUAL is not set # @@ -994,6 +1011,7 @@ CONFIG_USB_MON=y # CONFIG_USB_TRANCEVIBRATOR is not set # CONFIG_USB_IOWARRIOR is not set # CONFIG_USB_TEST is not set +# CONFIG_USB_ISIGHTFW is not set CONFIG_USB_GADGET=m # CONFIG_USB_GADGET_DEBUG is not set CONFIG_USB_GADGET_DEBUG_FILES=y @@ -1005,6 +1023,7 @@ CONFIG_USB_GADGET_SELECTED=y # CONFIG_USB_GADGET_NET2280 is not set # CONFIG_USB_GADGET_PXA2XX is not set # CONFIG_USB_GADGET_M66592 is not set +# CONFIG_USB_GADGET_PXA27X is not set # CONFIG_USB_GADGET_GOKU is not set # CONFIG_USB_GADGET_LH7A40X is not set # CONFIG_USB_GADGET_OMAP is not set @@ -1031,6 +1050,7 @@ CONFIG_MMC=m CONFIG_MMC_BLOCK=m CONFIG_MMC_BLOCK_BOUNCE=y # CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set # # MMC/SD Host Controller Drivers @@ -1050,6 +1070,7 @@ CONFIG_LEDS_GPIO=m CONFIG_LEDS_TRIGGERS=y CONFIG_LEDS_TRIGGER_TIMER=m CONFIG_LEDS_TRIGGER_HEARTBEAT=m +# CONFIG_LEDS_TRIGGER_DEFAULT_ON is not set CONFIG_RTC_LIB=y CONFIG_RTC_CLASS=y CONFIG_RTC_HCTOSYS=y @@ -1278,6 +1299,7 @@ CONFIG_NLS_UTF8=m # CONFIG_PRINTK_TIME is not set CONFIG_ENABLE_WARN_DEPRECATED=y CONFIG_ENABLE_MUST_CHECK=y +CONFIG_FRAME_WARN=1024 # CONFIG_MAGIC_SYSRQ is not set # CONFIG_UNUSED_SYMBOLS is not set CONFIG_DEBUG_FS=y @@ -1288,8 +1310,8 @@ CONFIG_DETECT_SOFTLOCKUP=y CONFIG_SCHED_DEBUG=y # CONFIG_SCHEDSTATS is not set CONFIG_TIMER_STATS=y +# CONFIG_DEBUG_OBJECTS is not set # CONFIG_DEBUG_SLAB is not set -CONFIG_DEBUG_PREEMPT=y # CONFIG_DEBUG_RT_MUTEXES is not set # CONFIG_RT_MUTEX_TESTER is not set # CONFIG_DEBUG_SPINLOCK is not set @@ -1403,6 +1425,8 @@ CONFIG_CRYPTO=y # Library routines # CONFIG_BITREVERSE=y +# CONFIG_GENERIC_FIND_FIRST_BIT is not set +# CONFIG_GENERIC_FIND_NEXT_BIT is not set CONFIG_CRC_CCITT=m # CONFIG_CRC16 is not set # CONFIG_CRC_ITU_T is not set diff --git a/packages/linux/linux-neuros/binutils-buildid-arm.patch b/packages/linux/linux-neuros/binutils-buildid-arm.patch new file mode 100644 index 0000000000..68e35e89e1 --- /dev/null +++ b/packages/linux/linux-neuros/binutils-buildid-arm.patch @@ -0,0 +1,16 @@ +--- + arch/arm/kernel/vmlinux.lds.S | 1 + + 1 file changed, 1 insertion(+) + +Index: linux-2.6.22/arch/arm/kernel/vmlinux.lds.S +=================================================================== +--- linux-2.6.22.orig/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:32:29.000000000 +0200 ++++ linux-2.6.22/arch/arm/kernel/vmlinux.lds.S 2007-09-11 18:33:42.000000000 +0200 +@@ -94,6 +94,7 @@ + TEXT_TEXT + SCHED_TEXT + LOCK_TEXT ++ *(.note.*) + #ifdef CONFIG_MMU + *(.fixup) + #endif diff --git a/packages/linux/linux-neuros/mtune-gcc4-fix.patch b/packages/linux/linux-neuros/mtune-gcc4-fix.patch new file mode 100644 index 0000000000..c42a5ae863 --- /dev/null +++ b/packages/linux/linux-neuros/mtune-gcc4-fix.patch @@ -0,0 +1,11 @@ +--- /tmp/Makefile 2008-06-30 19:58:09.000000000 +0200 ++++ linux-2.6.15/arch/arm/Makefile 2008-06-30 19:58:53.000000000 +0200 +@@ -55,7 +55,7 @@ + tune-$(CONFIG_CPU_ARM922T) :=-mtune=arm9tdmi + tune-$(CONFIG_CPU_ARM925T) :=-mtune=arm9tdmi + #tune-$(CONFIG_CPU_ARM926T) :=-mtune=arm9tdmi +-tune-$(CONFIG_CPU_ARM926T) :=-mtune=arm926ejs ++tune-$(CONFIG_CPU_ARM926T) :=-mtune=arm926ej-s + tune-$(CONFIG_CPU_SA110) :=-mtune=strongarm110 + tune-$(CONFIG_CPU_SA1100) :=-mtune=strongarm1100 + tune-$(CONFIG_CPU_XSCALE) :=$(call cc-option,-mtune=xscale,-mtune=strongarm110) -Wa,-mcpu=xscale diff --git a/packages/linux/linux-neuros/neuros-osd2/defconfig b/packages/linux/linux-neuros/neuros-osd2/defconfig index 5b7ac99929..b729767e3e 100644 --- a/packages/linux/linux-neuros/neuros-osd2/defconfig +++ b/packages/linux/linux-neuros/neuros-osd2/defconfig @@ -379,9 +379,10 @@ CONFIG_NETFILTER=y # CONFIG_CFG80211 is not set # CONFIG_WIRELESS_EXT is not set # CONFIG_MAC80211 is not set -# CONFIG_IEEE80211 is not set +CONFIG_IEEE80211=y # CONFIG_RFKILL is not set # CONFIG_NET_9P is not set +CONFIG_IEEE80211_SOFTMAC=y # # Device Drivers @@ -392,7 +393,7 @@ CONFIG_NETFILTER=y # CONFIG_STANDALONE=y CONFIG_PREVENT_FIRMWARE_BUILD=y -# CONFIG_FW_LOADER is not set +CONFIG_FW_LOADER=y # CONFIG_SYS_HYPERVISOR is not set # CONFIG_CONNECTOR is not set CONFIG_MTD=y @@ -554,7 +555,7 @@ CONFIG_BLK_DEV_IDEDMA=y # SCSI device support # # CONFIG_RAID_ATTRS is not set -CONFIG_SCSI=m +CONFIG_SCSI=y CONFIG_SCSI_DMA=y # CONFIG_SCSI_TGT is not set # CONFIG_SCSI_NETLINK is not set @@ -563,7 +564,7 @@ CONFIG_SCSI_PROC_FS=y # # SCSI support type (disk, tape, CD-ROM) # -CONFIG_BLK_DEV_SD=m +CONFIG_BLK_DEV_SD=y # CONFIG_CHR_DEV_ST is not set # CONFIG_CHR_DEV_OSST is not set # CONFIG_BLK_DEV_SR is not set @@ -612,7 +613,8 @@ CONFIG_TI_DAVINCI_EMAC=y # Wireless LAN # # CONFIG_WLAN_PRE80211 is not set -# CONFIG_WLAN_80211 is not set +CONFIG_WLAN_80211=y +CONFIG_ZD1211RW=y # # USB Network Adapters @@ -769,6 +771,7 @@ CONFIG_SENSORS_TLV320AIC33=y # CONFIG_I2C_DEBUG_BUS is not set # CONFIG_I2C_DEBUG_CHIP is not set CONFIG_I2C_NEUROS_MSP430=m +CONFIG_I2C_NEUROS_SIL9034HDMI=m # # SPI support @@ -827,6 +830,7 @@ CONFIG_HWMON=y # CONFIG_HWMON_DEBUG_CHIP is not set CONFIG_MISC_DEVICES=y # CONFIG_EEPROM_93CX6 is not set +CONFIG_NEUROS_IR_BLASTER=m # # Multifunction device drivers @@ -972,7 +976,7 @@ CONFIG_USB_SUPPORT=y CONFIG_USB_ARCH_HAS_HCD=y # CONFIG_USB_ARCH_HAS_OHCI is not set # CONFIG_USB_ARCH_HAS_EHCI is not set -CONFIG_USB=m +CONFIG_USB=y # CONFIG_USB_DEBUG is not set # @@ -989,7 +993,7 @@ CONFIG_USB_DEVICE_CLASS=y # CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_SL811_HCD is not set # CONFIG_USB_R8A66597_HCD is not set -CONFIG_USB_MUSB_HDRC=m +CONFIG_USB_MUSB_HDRC=y CONFIG_USB_MUSB_SOC=y # @@ -1017,7 +1021,7 @@ CONFIG_USB_MUSB_LOGLEVEL=0 # # may also be needed; see USB_STORAGE Help for more information # -CONFIG_USB_STORAGE=m +CONFIG_USB_STORAGE=y # CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_FREECOM is not set diff --git a/packages/linux/linux-neuros_2.6.15.bb b/packages/linux/linux-neuros_2.6.15.bb index 82df2f44bd..f103d2c35f 100644 --- a/packages/linux/linux-neuros_2.6.15.bb +++ b/packages/linux/linux-neuros_2.6.15.bb @@ -1,7 +1,7 @@ #require linux-omap.inc PV = "2.6.15-torfu" -PR = "r4" +PR = "r5" COMPATIBLE_MACHINE = "(neuros-osd)" @@ -10,6 +10,7 @@ COMPATIBLE_MACHINE = "(neuros-osd)" SRC_URI = "svn://svn.neurostechnology.com/svn/neuros-bsp/branches/torfu/kernels;module=linux-2.6.15;proto=svn;rev= \ file://g0-20080113.patch;patch=1\ file://bsp_config.h \ + file://mtune-gcc4-fix.patch;patch=1 \ file://defconfig" S = "${WORKDIR}/linux-2.6.15" diff --git a/packages/linux/linux-neuros_git.bb b/packages/linux/linux-neuros_git.bb index 069a8e1d2b..db04361de6 100644 --- a/packages/linux/linux-neuros_git.bb +++ b/packages/linux/linux-neuros_git.bb @@ -2,10 +2,10 @@ require linux.inc DESCRIPTION = "Linux kernel for Neuros OSD devices" -SRCREV = "e471e0899c93ad2fbfcee967178a8fbb1f33983c" +SRCREV = "730beeee197cef4ff1e92ee322481380996a0390" PV = "2.6.23-${PR}+git${SRCREV}" -PR = "r0" +PR = "r3" COMPATIBLE_MACHINE = "(neuros-osd|neuros-osd2)" diff --git a/packages/linux/linux-omap2-git/beagleboard/0001-omap3-cpuidle.patch b/packages/linux/linux-omap2-git/beagleboard/0001-omap3-cpuidle.patch index 28b1ef2214..cdc9447b4c 100644 --- a/packages/linux/linux-omap2-git/beagleboard/0001-omap3-cpuidle.patch +++ b/packages/linux/linux-omap2-git/beagleboard/0001-omap3-cpuidle.patch @@ -1,450 +1,450 @@ -From: "Rajendra Nayak" <rnayak@ti.com>
-To: <linux-omap@vger.kernel.org>
-Subject: [PATCH 01/02] OMAP3 CPUidle driver
-Date: Tue, 10 Jun 2008 12:39:00 +0530
-
-This patch adds the OMAP3 cpuidle driver. Irq enable/disable is done in the core cpuidle driver
-before it queries the governor for the next state.
-
-Signed-off-by: Rajendra Nayak <rnayak@ti.com>
-
----
- arch/arm/mach-omap2/Makefile | 2
- arch/arm/mach-omap2/cpuidle34xx.c | 293 ++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/cpuidle34xx.h | 51 ++++++
- arch/arm/mach-omap2/pm34xx.c | 5
- drivers/cpuidle/cpuidle.c | 10 +
- 5 files changed, 359 insertions(+), 2 deletions(-)
-
-Index: linux-omap-2.6/arch/arm/mach-omap2/Makefile
-===================================================================
---- linux-omap-2.6.orig/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:33.855303920 +0530
-+++ linux-omap-2.6/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:39.569121361 +0530
-@@ -20,7 +20,7 @@ obj-y += pm.o
- obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
- obj-$(CONFIG_ARCH_OMAP2420) += sleep242x.o
- obj-$(CONFIG_ARCH_OMAP2430) += sleep243x.o
--obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
-+obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o
- obj-$(CONFIG_PM_DEBUG) += pm-debug.o
- endif
-
-Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c 2008-06-10 11:41:27.644820323 +0530
-@@ -0,0 +1,293 @@
-+/*
-+ * linux/arch/arm/mach-omap2/cpuidle34xx.c
-+ *
-+ * OMAP3 CPU IDLE Routines
-+ *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Rajendra Nayak <rnayak@ti.com>
-+ *
-+ * Copyright (C) 2007 Texas Instruments, Inc.
-+ * Karthik Dasu <karthik-dp@ti.com>
-+ *
-+ * Copyright (C) 2006 Nokia Corporation
-+ * Tony Lindgren <tony@atomide.com>
-+ *
-+ * Copyright (C) 2005 Texas Instruments, Inc.
-+ * Richard Woodruff <r-woodruff2@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/cpuidle.h>
-+#include <asm/arch/pm.h>
-+#include <asm/arch/prcm.h>
-+#include <asm/arch/powerdomain.h>
-+#include <asm/arch/clockdomain.h>
-+#include <asm/arch/irqs.h>
-+#include "cpuidle34xx.h"
-+
-+#ifdef CONFIG_CPU_IDLE
-+
-+struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES];
-+struct omap3_processor_cx current_cx_state;
-+
-+static int omap3_idle_bm_check(void)
-+{
-+ /* Check for omap3_fclks_active() here once available */
-+ return 0;
-+}
-+
-+/* omap3_enter_idle - Programs OMAP3 to enter the specified state.
-+ * returns the total time during which the system was idle.
-+ */
-+static int omap3_enter_idle(struct cpuidle_device *dev,
-+ struct cpuidle_state *state)
-+{
-+ struct omap3_processor_cx *cx = cpuidle_get_statedata(state);
-+ struct timespec ts_preidle, ts_postidle, ts_idle;
-+ struct powerdomain *mpu_pd, *core_pd, *per_pd, *neon_pd;
-+ int neon_pwrst;
-+
-+ current_cx_state = *cx;
-+
-+ if (cx->type == OMAP3_STATE_C0) {
-+ /* Do nothing for C0, not even a wfi */
-+ return 0;
-+ }
-+
-+ /* Used to keep track of the total time in idle */
-+ getnstimeofday(&ts_preidle);
-+
-+ mpu_pd = pwrdm_lookup("mpu_pwrdm");
-+ core_pd = pwrdm_lookup("core_pwrdm");
-+ per_pd = pwrdm_lookup("per_pwrdm");
-+ neon_pd = pwrdm_lookup("neon_pwrdm");
-+
-+ /* Reset previous power state registers */
-+ pwrdm_clear_all_prev_pwrst(mpu_pd);
-+ pwrdm_clear_all_prev_pwrst(neon_pd);
-+ pwrdm_clear_all_prev_pwrst(core_pd);
-+ pwrdm_clear_all_prev_pwrst(per_pd);
-+
-+ if (omap_irq_pending())
-+ return 0;
-+
-+ neon_pwrst = pwrdm_read_pwrst(neon_pd);
-+
-+ /* Program MPU/NEON to target state */
-+ if (cx->mpu_state < PWRDM_POWER_ON) {
-+ if (neon_pwrst == PWRDM_POWER_ON) {
-+ if (cx->mpu_state == PWRDM_POWER_RET)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_RET);
-+ else if (cx->mpu_state == PWRDM_POWER_OFF)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_OFF);
-+ }
-+ pwrdm_set_next_pwrst(mpu_pd, cx->mpu_state);
-+ }
-+
-+ /* Program CORE to target state */
-+ if (cx->core_state < PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(core_pd, cx->core_state);
-+
-+ /* Execute ARM wfi */
-+ omap_sram_idle();
-+
-+ /* Program MPU/NEON to ON */
-+ if (cx->mpu_state < PWRDM_POWER_ON) {
-+ if (neon_pwrst == PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_ON);
-+ pwrdm_set_next_pwrst(mpu_pd, PWRDM_POWER_ON);
-+ }
-+
-+ if (cx->core_state < PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(core_pd, PWRDM_POWER_ON);
-+
-+ getnstimeofday(&ts_postidle);
-+ ts_idle = timespec_sub(ts_postidle, ts_preidle);
-+ return timespec_to_ns(&ts_idle);
-+}
-+
-+/*
-+ * omap3_enter_idle_bm - enter function for states with CPUIDLE_FLAG_CHECK_BM
-+ *
-+ * This function checks for all the pre-requisites needed for OMAP3 to enter
-+ * CORE RET/OFF state. It then calls omap3_enter_idle to program the desired
-+ * C state.
-+ */
-+static int omap3_enter_idle_bm(struct cpuidle_device *dev,
-+ struct cpuidle_state *state)
-+{
-+ struct cpuidle_state *new_state = NULL;
-+ int i, j;
-+
-+ if ((state->flags & CPUIDLE_FLAG_CHECK_BM) && omap3_idle_bm_check()) {
-+
-+ /* Find current state in list */
-+ for (i = 0; i < OMAP3_MAX_STATES; i++)
-+ if (state == &dev->states[i])
-+ break;
-+ BUG_ON(i == OMAP3_MAX_STATES);
-+
-+ /* Back up to non 'CHECK_BM' state */
-+ for (j = i - 1; j > 0; j--) {
-+ struct cpuidle_state *s = &dev->states[j];
-+
-+ if (!(s->flags & CPUIDLE_FLAG_CHECK_BM)) {
-+ new_state = s;
-+ break;
-+ }
-+ }
-+
-+ pr_debug("%s: Bus activity: Entering %s (instead of %s)\n",
-+ __FUNCTION__, new_state->name, state->name);
-+ }
-+
-+ return omap3_enter_idle(dev, new_state ? : state);
-+}
-+
-+DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev);
-+
-+/* omap3_init_power_states - Initialises the OMAP3 specific C states.
-+ * Below is the desciption of each C state.
-+ *
-+ C0 . System executing code
-+ C1 . MPU WFI + Core active
-+ C2 . MPU CSWR + Core active
-+ C3 . MPU OFF + Core active
-+ C4 . MPU CSWR + Core CSWR
-+ C5 . MPU OFF + Core CSWR
-+ C6 . MPU OFF + Core OFF
-+ */
-+void omap_init_power_states(void)
-+{
-+ /* C0 . System executing code */
-+ omap3_power_states[0].valid = 1;
-+ omap3_power_states[0].type = OMAP3_STATE_C0;
-+ omap3_power_states[0].sleep_latency = 0;
-+ omap3_power_states[0].wakeup_latency = 0;
-+ omap3_power_states[0].threshold = 0;
-+ omap3_power_states[0].mpu_state = PWRDM_POWER_ON;
-+ omap3_power_states[0].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[0].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_SHALLOW;
-+
-+ /* C1 . MPU WFI + Core active */
-+ omap3_power_states[1].valid = 1;
-+ omap3_power_states[1].type = OMAP3_STATE_C1;
-+ omap3_power_states[1].sleep_latency = 10;
-+ omap3_power_states[1].wakeup_latency = 10;
-+ omap3_power_states[1].threshold = 30;
-+ omap3_power_states[1].mpu_state = PWRDM_POWER_ON;
-+ omap3_power_states[1].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[1].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_SHALLOW;
-+
-+ /* C2 . MPU CSWR + Core active */
-+ omap3_power_states[2].valid = 1;
-+ omap3_power_states[2].type = OMAP3_STATE_C2;
-+ omap3_power_states[2].sleep_latency = 50;
-+ omap3_power_states[2].wakeup_latency = 50;
-+ omap3_power_states[2].threshold = 300;
-+ omap3_power_states[2].mpu_state = PWRDM_POWER_RET;
-+ omap3_power_states[2].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[2].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED;
-+
-+ /* C3 . MPU OFF + Core active */
-+ omap3_power_states[3].valid = 0;
-+ omap3_power_states[3].type = OMAP3_STATE_C3;
-+ omap3_power_states[3].sleep_latency = 1500;
-+ omap3_power_states[3].wakeup_latency = 1800;
-+ omap3_power_states[3].threshold = 4000;
-+ omap3_power_states[3].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[3].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[3].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED;
-+
-+ /* C4 . MPU CSWR + Core CSWR*/
-+ omap3_power_states[4].valid = 1;
-+ omap3_power_states[4].type = OMAP3_STATE_C4;
-+ omap3_power_states[4].sleep_latency = 2500;
-+ omap3_power_states[4].wakeup_latency = 7500;
-+ omap3_power_states[4].threshold = 12000;
-+ omap3_power_states[4].mpu_state = PWRDM_POWER_RET;
-+ omap3_power_states[4].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[4].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM;
-+
-+ /* C5 . MPU OFF + Core CSWR */
-+ omap3_power_states[5].valid = 0;
-+ omap3_power_states[5].type = OMAP3_STATE_C5;
-+ omap3_power_states[5].sleep_latency = 3000;
-+ omap3_power_states[5].wakeup_latency = 8500;
-+ omap3_power_states[5].threshold = 15000;
-+ omap3_power_states[5].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[5].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[5].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM;
-+
-+ /* C6 . MPU OFF + Core OFF */
-+ omap3_power_states[6].valid = 0;
-+ omap3_power_states[6].type = OMAP3_STATE_C6;
-+ omap3_power_states[6].sleep_latency = 10000;
-+ omap3_power_states[6].wakeup_latency = 30000;
-+ omap3_power_states[6].threshold = 300000;
-+ omap3_power_states[6].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[6].core_state = PWRDM_POWER_OFF;
-+ omap3_power_states[6].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_DEEP | CPUIDLE_FLAG_CHECK_BM;
-+}
-+
-+struct cpuidle_driver omap3_idle_driver = {
-+ .name = "omap3_idle",
-+ .owner = THIS_MODULE,
-+};
-+/*
-+ * omap3_idle_init - Init routine for OMAP3 idle.
-+ * Registers the OMAP3 specific cpuidle driver with the cpuidle f/w
-+ * with the valid set of states.
-+ */
-+int omap3_idle_init(void)
-+{
-+ int i, count = 0;
-+ struct omap3_processor_cx *cx;
-+ struct cpuidle_state *state;
-+ struct cpuidle_device *dev;
-+
-+ omap_init_power_states();
-+ cpuidle_register_driver(&omap3_idle_driver);
-+
-+ dev = &per_cpu(omap3_idle_dev, smp_processor_id());
-+
-+ for (i = 0; i < OMAP3_MAX_STATES; i++) {
-+ cx = &omap3_power_states[i];
-+ state = &dev->states[count];
-+
-+ if (!cx->valid)
-+ continue;
-+ cpuidle_set_statedata(state, cx);
-+ state->exit_latency = cx->sleep_latency + cx->wakeup_latency;
-+ state->target_residency = cx->threshold;
-+ state->flags = cx->flags;
-+ state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ?
-+ omap3_enter_idle_bm : omap3_enter_idle;
-+ sprintf(state->name, "C%d", count+1);
-+ count++;
-+ }
-+
-+ if (!count)
-+ return -EINVAL;
-+ dev->state_count = count;
-+
-+ if (cpuidle_register_device(dev)) {
-+ printk(KERN_ERR "%s: CPUidle register device failed\n",
-+ __FUNCTION__);
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+__initcall(omap3_idle_init);
-+#endif /* CONFIG_CPU_IDLE */
-Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h 2008-06-09 20:15:39.569121361 +0530
-@@ -0,0 +1,51 @@
-+/*
-+ * linux/arch/arm/mach-omap2/cpuidle34xx.h
-+ *
-+ * OMAP3 cpuidle structure definitions
-+ *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Written by Rajendra Nayak <rnayak@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-+ *
-+ * History:
-+ *
-+ */
-+
-+#ifndef ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX
-+#define ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX
-+
-+#define OMAP3_MAX_STATES 7
-+#define OMAP3_STATE_C0 0 /* C0 - System executing code */
-+#define OMAP3_STATE_C1 1 /* C1 - MPU WFI + Core active */
-+#define OMAP3_STATE_C2 2 /* C2 - MPU CSWR + Core active */
-+#define OMAP3_STATE_C3 3 /* C3 - MPU OFF + Core active */
-+#define OMAP3_STATE_C4 4 /* C4 - MPU RET + Core RET */
-+#define OMAP3_STATE_C5 5 /* C5 - MPU OFF + Core RET */
-+#define OMAP3_STATE_C6 6 /* C6 - MPU OFF + Core OFF */
-+
-+extern void omap_sram_idle(void);
-+extern int omap3_irq_pending(void);
-+
-+struct omap3_processor_cx {
-+ u8 valid;
-+ u8 type;
-+ u32 sleep_latency;
-+ u32 wakeup_latency;
-+ u32 mpu_state;
-+ u32 core_state;
-+ u32 threshold;
-+ u32 flags;
-+};
-+
-+void omap_init_power_states(void);
-+int omap3_idle_init(void);
-+
-+#endif /* ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX */
-+
-Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c
-===================================================================
---- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:15:33.855303920 +0530
-+++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:16:20.976798343 +0530
-@@ -141,7 +141,7 @@ static irqreturn_t prcm_interrupt_handle
- return IRQ_HANDLED;
- }
-
--static void omap_sram_idle(void)
-+void omap_sram_idle(void)
- {
- /* Variable to tell what needs to be saved and restored
- * in omap_sram_idle*/
-@@ -156,6 +156,7 @@ static void omap_sram_idle(void)
-
- mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
- switch (mpu_next_state) {
-+ case PWRDM_POWER_ON:
- case PWRDM_POWER_RET:
- /* No need to save context */
- save_state = 0;
-@@ -386,7 +387,9 @@ int __init omap3_pm_init(void)
-
- prcm_setup_regs();
-
-+#ifndef CONFIG_CPU_IDLE
- pm_idle = omap3_pm_idle;
-+#endif
-
- err1:
- return ret;
-Index: linux-omap-2.6/drivers/cpuidle/cpuidle.c
-===================================================================
---- linux-omap-2.6.orig/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:33.856303888 +0530
-+++ linux-omap-2.6/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:39.570121329 +0530
-@@ -58,6 +58,11 @@ static void cpuidle_idle_call(void)
- return;
- }
-
-+#ifdef CONFIG_ARCH_OMAP3
-+ local_irq_disable();
-+ local_fiq_disable();
-+#endif
-+
- /* ask the governor for the next state */
- next_state = cpuidle_curr_governor->select(dev);
- if (need_resched())
-@@ -70,6 +75,11 @@ static void cpuidle_idle_call(void)
- target_state->time += (unsigned long long)dev->last_residency;
- target_state->usage++;
-
-+#ifdef CONFIG_ARCH_OMAP3
-+ local_irq_enable();
-+ local_fiq_enable();
-+#endif
-+
- /* give the governor an opportunity to reflect on the outcome */
- if (cpuidle_curr_governor->reflect)
- cpuidle_curr_governor->reflect(dev);
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
+From: "Rajendra Nayak" <rnayak@ti.com> +To: <linux-omap@vger.kernel.org> +Subject: [PATCH 01/02] OMAP3 CPUidle driver +Date: Tue, 10 Jun 2008 12:39:00 +0530 + +This patch adds the OMAP3 cpuidle driver. Irq enable/disable is done in the core cpuidle driver +before it queries the governor for the next state. + +Signed-off-by: Rajendra Nayak <rnayak@ti.com> + +--- + arch/arm/mach-omap2/Makefile | 2 + arch/arm/mach-omap2/cpuidle34xx.c | 293 ++++++++++++++++++++++++++++++++++++++ + arch/arm/mach-omap2/cpuidle34xx.h | 51 ++++++ + arch/arm/mach-omap2/pm34xx.c | 5 + drivers/cpuidle/cpuidle.c | 10 + + 5 files changed, 359 insertions(+), 2 deletions(-) + +Index: linux-omap-2.6/arch/arm/mach-omap2/Makefile +=================================================================== +--- linux-omap-2.6.orig/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:33.855303920 +0530 ++++ linux-omap-2.6/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:39.569121361 +0530 +@@ -20,7 +20,7 @@ obj-y += pm.o + obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o + obj-$(CONFIG_ARCH_OMAP2420) += sleep242x.o + obj-$(CONFIG_ARCH_OMAP2430) += sleep243x.o +-obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o ++obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o + obj-$(CONFIG_PM_DEBUG) += pm-debug.o + endif + +Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c 2008-06-10 11:41:27.644820323 +0530 +@@ -0,0 +1,293 @@ ++/* ++ * linux/arch/arm/mach-omap2/cpuidle34xx.c ++ * ++ * OMAP3 CPU IDLE Routines ++ * ++ * Copyright (C) 2007-2008 Texas Instruments, Inc. ++ * Rajendra Nayak <rnayak@ti.com> ++ * ++ * Copyright (C) 2007 Texas Instruments, Inc. ++ * Karthik Dasu <karthik-dp@ti.com> ++ * ++ * Copyright (C) 2006 Nokia Corporation ++ * Tony Lindgren <tony@atomide.com> ++ * ++ * Copyright (C) 2005 Texas Instruments, Inc. ++ * Richard Woodruff <r-woodruff2@ti.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include <linux/cpuidle.h> ++#include <asm/arch/pm.h> ++#include <asm/arch/prcm.h> ++#include <asm/arch/powerdomain.h> ++#include <asm/arch/clockdomain.h> ++#include <asm/arch/irqs.h> ++#include "cpuidle34xx.h" ++ ++#ifdef CONFIG_CPU_IDLE ++ ++struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES]; ++struct omap3_processor_cx current_cx_state; ++ ++static int omap3_idle_bm_check(void) ++{ ++ /* Check for omap3_fclks_active() here once available */ ++ return 0; ++} ++ ++/* omap3_enter_idle - Programs OMAP3 to enter the specified state. ++ * returns the total time during which the system was idle. ++ */ ++static int omap3_enter_idle(struct cpuidle_device *dev, ++ struct cpuidle_state *state) ++{ ++ struct omap3_processor_cx *cx = cpuidle_get_statedata(state); ++ struct timespec ts_preidle, ts_postidle, ts_idle; ++ struct powerdomain *mpu_pd, *core_pd, *per_pd, *neon_pd; ++ int neon_pwrst; ++ ++ current_cx_state = *cx; ++ ++ if (cx->type == OMAP3_STATE_C0) { ++ /* Do nothing for C0, not even a wfi */ ++ return 0; ++ } ++ ++ /* Used to keep track of the total time in idle */ ++ getnstimeofday(&ts_preidle); ++ ++ mpu_pd = pwrdm_lookup("mpu_pwrdm"); ++ core_pd = pwrdm_lookup("core_pwrdm"); ++ per_pd = pwrdm_lookup("per_pwrdm"); ++ neon_pd = pwrdm_lookup("neon_pwrdm"); ++ ++ /* Reset previous power state registers */ ++ pwrdm_clear_all_prev_pwrst(mpu_pd); ++ pwrdm_clear_all_prev_pwrst(neon_pd); ++ pwrdm_clear_all_prev_pwrst(core_pd); ++ pwrdm_clear_all_prev_pwrst(per_pd); ++ ++ if (omap_irq_pending()) ++ return 0; ++ ++ neon_pwrst = pwrdm_read_pwrst(neon_pd); ++ ++ /* Program MPU/NEON to target state */ ++ if (cx->mpu_state < PWRDM_POWER_ON) { ++ if (neon_pwrst == PWRDM_POWER_ON) { ++ if (cx->mpu_state == PWRDM_POWER_RET) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_RET); ++ else if (cx->mpu_state == PWRDM_POWER_OFF) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_OFF); ++ } ++ pwrdm_set_next_pwrst(mpu_pd, cx->mpu_state); ++ } ++ ++ /* Program CORE to target state */ ++ if (cx->core_state < PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(core_pd, cx->core_state); ++ ++ /* Execute ARM wfi */ ++ omap_sram_idle(); ++ ++ /* Program MPU/NEON to ON */ ++ if (cx->mpu_state < PWRDM_POWER_ON) { ++ if (neon_pwrst == PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_ON); ++ pwrdm_set_next_pwrst(mpu_pd, PWRDM_POWER_ON); ++ } ++ ++ if (cx->core_state < PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(core_pd, PWRDM_POWER_ON); ++ ++ getnstimeofday(&ts_postidle); ++ ts_idle = timespec_sub(ts_postidle, ts_preidle); ++ return timespec_to_ns(&ts_idle); ++} ++ ++/* ++ * omap3_enter_idle_bm - enter function for states with CPUIDLE_FLAG_CHECK_BM ++ * ++ * This function checks for all the pre-requisites needed for OMAP3 to enter ++ * CORE RET/OFF state. It then calls omap3_enter_idle to program the desired ++ * C state. ++ */ ++static int omap3_enter_idle_bm(struct cpuidle_device *dev, ++ struct cpuidle_state *state) ++{ ++ struct cpuidle_state *new_state = NULL; ++ int i, j; ++ ++ if ((state->flags & CPUIDLE_FLAG_CHECK_BM) && omap3_idle_bm_check()) { ++ ++ /* Find current state in list */ ++ for (i = 0; i < OMAP3_MAX_STATES; i++) ++ if (state == &dev->states[i]) ++ break; ++ BUG_ON(i == OMAP3_MAX_STATES); ++ ++ /* Back up to non 'CHECK_BM' state */ ++ for (j = i - 1; j > 0; j--) { ++ struct cpuidle_state *s = &dev->states[j]; ++ ++ if (!(s->flags & CPUIDLE_FLAG_CHECK_BM)) { ++ new_state = s; ++ break; ++ } ++ } ++ ++ pr_debug("%s: Bus activity: Entering %s (instead of %s)\n", ++ __FUNCTION__, new_state->name, state->name); ++ } ++ ++ return omap3_enter_idle(dev, new_state ? : state); ++} ++ ++DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev); ++ ++/* omap3_init_power_states - Initialises the OMAP3 specific C states. ++ * Below is the desciption of each C state. ++ * ++ C0 . System executing code ++ C1 . MPU WFI + Core active ++ C2 . MPU CSWR + Core active ++ C3 . MPU OFF + Core active ++ C4 . MPU CSWR + Core CSWR ++ C5 . MPU OFF + Core CSWR ++ C6 . MPU OFF + Core OFF ++ */ ++void omap_init_power_states(void) ++{ ++ /* C0 . System executing code */ ++ omap3_power_states[0].valid = 1; ++ omap3_power_states[0].type = OMAP3_STATE_C0; ++ omap3_power_states[0].sleep_latency = 0; ++ omap3_power_states[0].wakeup_latency = 0; ++ omap3_power_states[0].threshold = 0; ++ omap3_power_states[0].mpu_state = PWRDM_POWER_ON; ++ omap3_power_states[0].core_state = PWRDM_POWER_ON; ++ omap3_power_states[0].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_SHALLOW; ++ ++ /* C1 . MPU WFI + Core active */ ++ omap3_power_states[1].valid = 1; ++ omap3_power_states[1].type = OMAP3_STATE_C1; ++ omap3_power_states[1].sleep_latency = 10; ++ omap3_power_states[1].wakeup_latency = 10; ++ omap3_power_states[1].threshold = 30; ++ omap3_power_states[1].mpu_state = PWRDM_POWER_ON; ++ omap3_power_states[1].core_state = PWRDM_POWER_ON; ++ omap3_power_states[1].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_SHALLOW; ++ ++ /* C2 . MPU CSWR + Core active */ ++ omap3_power_states[2].valid = 1; ++ omap3_power_states[2].type = OMAP3_STATE_C2; ++ omap3_power_states[2].sleep_latency = 50; ++ omap3_power_states[2].wakeup_latency = 50; ++ omap3_power_states[2].threshold = 300; ++ omap3_power_states[2].mpu_state = PWRDM_POWER_RET; ++ omap3_power_states[2].core_state = PWRDM_POWER_ON; ++ omap3_power_states[2].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED; ++ ++ /* C3 . MPU OFF + Core active */ ++ omap3_power_states[3].valid = 0; ++ omap3_power_states[3].type = OMAP3_STATE_C3; ++ omap3_power_states[3].sleep_latency = 1500; ++ omap3_power_states[3].wakeup_latency = 1800; ++ omap3_power_states[3].threshold = 4000; ++ omap3_power_states[3].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[3].core_state = PWRDM_POWER_RET; ++ omap3_power_states[3].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED; ++ ++ /* C4 . MPU CSWR + Core CSWR*/ ++ omap3_power_states[4].valid = 1; ++ omap3_power_states[4].type = OMAP3_STATE_C4; ++ omap3_power_states[4].sleep_latency = 2500; ++ omap3_power_states[4].wakeup_latency = 7500; ++ omap3_power_states[4].threshold = 12000; ++ omap3_power_states[4].mpu_state = PWRDM_POWER_RET; ++ omap3_power_states[4].core_state = PWRDM_POWER_RET; ++ omap3_power_states[4].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM; ++ ++ /* C5 . MPU OFF + Core CSWR */ ++ omap3_power_states[5].valid = 0; ++ omap3_power_states[5].type = OMAP3_STATE_C5; ++ omap3_power_states[5].sleep_latency = 3000; ++ omap3_power_states[5].wakeup_latency = 8500; ++ omap3_power_states[5].threshold = 15000; ++ omap3_power_states[5].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[5].core_state = PWRDM_POWER_RET; ++ omap3_power_states[5].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM; ++ ++ /* C6 . MPU OFF + Core OFF */ ++ omap3_power_states[6].valid = 0; ++ omap3_power_states[6].type = OMAP3_STATE_C6; ++ omap3_power_states[6].sleep_latency = 10000; ++ omap3_power_states[6].wakeup_latency = 30000; ++ omap3_power_states[6].threshold = 300000; ++ omap3_power_states[6].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[6].core_state = PWRDM_POWER_OFF; ++ omap3_power_states[6].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_DEEP | CPUIDLE_FLAG_CHECK_BM; ++} ++ ++struct cpuidle_driver omap3_idle_driver = { ++ .name = "omap3_idle", ++ .owner = THIS_MODULE, ++}; ++/* ++ * omap3_idle_init - Init routine for OMAP3 idle. ++ * Registers the OMAP3 specific cpuidle driver with the cpuidle f/w ++ * with the valid set of states. ++ */ ++int omap3_idle_init(void) ++{ ++ int i, count = 0; ++ struct omap3_processor_cx *cx; ++ struct cpuidle_state *state; ++ struct cpuidle_device *dev; ++ ++ omap_init_power_states(); ++ cpuidle_register_driver(&omap3_idle_driver); ++ ++ dev = &per_cpu(omap3_idle_dev, smp_processor_id()); ++ ++ for (i = 0; i < OMAP3_MAX_STATES; i++) { ++ cx = &omap3_power_states[i]; ++ state = &dev->states[count]; ++ ++ if (!cx->valid) ++ continue; ++ cpuidle_set_statedata(state, cx); ++ state->exit_latency = cx->sleep_latency + cx->wakeup_latency; ++ state->target_residency = cx->threshold; ++ state->flags = cx->flags; ++ state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ? ++ omap3_enter_idle_bm : omap3_enter_idle; ++ sprintf(state->name, "C%d", count+1); ++ count++; ++ } ++ ++ if (!count) ++ return -EINVAL; ++ dev->state_count = count; ++ ++ if (cpuidle_register_device(dev)) { ++ printk(KERN_ERR "%s: CPUidle register device failed\n", ++ __FUNCTION__); ++ return -EIO; ++ } ++ ++ return 0; ++} ++__initcall(omap3_idle_init); ++#endif /* CONFIG_CPU_IDLE */ +Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h 2008-06-09 20:15:39.569121361 +0530 +@@ -0,0 +1,51 @@ ++/* ++ * linux/arch/arm/mach-omap2/cpuidle34xx.h ++ * ++ * OMAP3 cpuidle structure definitions ++ * ++ * Copyright (C) 2007-2008 Texas Instruments, Inc. ++ * Written by Rajendra Nayak <rnayak@ti.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ++ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++ * ++ * History: ++ * ++ */ ++ ++#ifndef ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX ++#define ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX ++ ++#define OMAP3_MAX_STATES 7 ++#define OMAP3_STATE_C0 0 /* C0 - System executing code */ ++#define OMAP3_STATE_C1 1 /* C1 - MPU WFI + Core active */ ++#define OMAP3_STATE_C2 2 /* C2 - MPU CSWR + Core active */ ++#define OMAP3_STATE_C3 3 /* C3 - MPU OFF + Core active */ ++#define OMAP3_STATE_C4 4 /* C4 - MPU RET + Core RET */ ++#define OMAP3_STATE_C5 5 /* C5 - MPU OFF + Core RET */ ++#define OMAP3_STATE_C6 6 /* C6 - MPU OFF + Core OFF */ ++ ++extern void omap_sram_idle(void); ++extern int omap3_irq_pending(void); ++ ++struct omap3_processor_cx { ++ u8 valid; ++ u8 type; ++ u32 sleep_latency; ++ u32 wakeup_latency; ++ u32 mpu_state; ++ u32 core_state; ++ u32 threshold; ++ u32 flags; ++}; ++ ++void omap_init_power_states(void); ++int omap3_idle_init(void); ++ ++#endif /* ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX */ ++ +Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c +=================================================================== +--- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:15:33.855303920 +0530 ++++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:16:20.976798343 +0530 +@@ -141,7 +141,7 @@ static irqreturn_t prcm_interrupt_handle + return IRQ_HANDLED; + } + +-static void omap_sram_idle(void) ++void omap_sram_idle(void) + { + /* Variable to tell what needs to be saved and restored + * in omap_sram_idle*/ +@@ -156,6 +156,7 @@ static void omap_sram_idle(void) + + mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm); + switch (mpu_next_state) { ++ case PWRDM_POWER_ON: + case PWRDM_POWER_RET: + /* No need to save context */ + save_state = 0; +@@ -386,7 +387,9 @@ int __init omap3_pm_init(void) + + prcm_setup_regs(); + ++#ifndef CONFIG_CPU_IDLE + pm_idle = omap3_pm_idle; ++#endif + + err1: + return ret; +Index: linux-omap-2.6/drivers/cpuidle/cpuidle.c +=================================================================== +--- linux-omap-2.6.orig/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:33.856303888 +0530 ++++ linux-omap-2.6/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:39.570121329 +0530 +@@ -58,6 +58,11 @@ static void cpuidle_idle_call(void) + return; + } + ++#ifdef CONFIG_ARCH_OMAP3 ++ local_irq_disable(); ++ local_fiq_disable(); ++#endif ++ + /* ask the governor for the next state */ + next_state = cpuidle_curr_governor->select(dev); + if (need_resched()) +@@ -70,6 +75,11 @@ static void cpuidle_idle_call(void) + target_state->time += (unsigned long long)dev->last_residency; + target_state->usage++; + ++#ifdef CONFIG_ARCH_OMAP3 ++ local_irq_enable(); ++ local_fiq_enable(); ++#endif ++ + /* give the governor an opportunity to reflect on the outcome */ + if (cpuidle_curr_governor->reflect) + cpuidle_curr_governor->reflect(dev); + +-- +To unsubscribe from this list: send the line "unsubscribe linux-omap" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/packages/linux/linux-omap2-git/beagleboard/0002-omap3-cpuidle.patch b/packages/linux/linux-omap2-git/beagleboard/0002-omap3-cpuidle.patch index c17c690fe1..d35fd47567 100644 --- a/packages/linux/linux-omap2-git/beagleboard/0002-omap3-cpuidle.patch +++ b/packages/linux/linux-omap2-git/beagleboard/0002-omap3-cpuidle.patch @@ -1,88 +1,88 @@ -From: "Rajendra Nayak" <rnayak@ti.com>
-To: <linux-omap@vger.kernel.org>
-Subject: [PATCH 02/02] Kconfig changes
-Date: Tue, 10 Jun 2008 12:39:02 +0530
-
-Updates the CPUidle Kconfig
-
-Signed-off-by: Rajendra Nayak <rnayak@ti.com>
-
----
- arch/arm/Kconfig | 10 ++++++++++
- drivers/cpuidle/Kconfig | 28 ++++++++++++++++++++++------
- 2 files changed, 32 insertions(+), 6 deletions(-)
-
-Index: linux-omap-2.6/arch/arm/Kconfig
-===================================================================
---- linux-omap-2.6.orig/arch/arm/Kconfig 2008-06-10 11:43:10.790502713 +0530
-+++ linux-omap-2.6/arch/arm/Kconfig 2008-06-10 11:43:38.701604549 +0530
-@@ -954,6 +954,16 @@ config ATAGS_PROC
-
- endmenu
-
-+if (ARCH_OMAP)
-+
-+menu "CPUIdle"
-+
-+source "drivers/cpuidle/Kconfig"
-+
-+endmenu
-+
-+endif
-+
- if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
-
- menu "CPU Frequency scaling"
-Index: linux-omap-2.6/drivers/cpuidle/Kconfig
-===================================================================
---- linux-omap-2.6.orig/drivers/cpuidle/Kconfig 2008-06-10 11:43:10.790502713 +0530
-+++ linux-omap-2.6/drivers/cpuidle/Kconfig 2008-06-10 12:06:36.139332151 +0530
-@@ -1,20 +1,36 @@
-+menu "CPU idle PM support"
-
- config CPU_IDLE
- bool "CPU idle PM support"
-- default ACPI
-+ default n
- help
- CPU idle is a generic framework for supporting software-controlled
- idle processor power management. It includes modular cross-platform
- governors that can be swapped during runtime.
-
-- If you're using an ACPI-enabled platform, you should say Y here.
-+ If you're using a mobile platform that supports CPU idle PM (e.g.
-+ an ACPI-capable notebook), you should say Y here.
-+
-+if CPU_IDLE
-+
-+comment "Governors"
-
- config CPU_IDLE_GOV_LADDER
-- bool
-+ bool "ladder"
- depends on CPU_IDLE
-- default y
-+ default n
-
- config CPU_IDLE_GOV_MENU
-- bool
-+ bool "menu"
- depends on CPU_IDLE && NO_HZ
-- default y
-+ default n
-+ help
-+ This cpuidle governor evaluates all available states and chooses the
-+ deepest state that meets all of the following constraints: BM activity,
-+ expected time until next timer interrupt, and last break event time
-+ delta. It is designed to minimize power consumption. Currently
-+ dynticks is required.
-+
-+endif # CPU_IDLE
-+
-+endmenu
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
+From: "Rajendra Nayak" <rnayak@ti.com> +To: <linux-omap@vger.kernel.org> +Subject: [PATCH 02/02] Kconfig changes +Date: Tue, 10 Jun 2008 12:39:02 +0530 + +Updates the CPUidle Kconfig + +Signed-off-by: Rajendra Nayak <rnayak@ti.com> + +--- + arch/arm/Kconfig | 10 ++++++++++ + drivers/cpuidle/Kconfig | 28 ++++++++++++++++++++++------ + 2 files changed, 32 insertions(+), 6 deletions(-) + +Index: linux-omap-2.6/arch/arm/Kconfig +=================================================================== +--- linux-omap-2.6.orig/arch/arm/Kconfig 2008-06-10 11:43:10.790502713 +0530 ++++ linux-omap-2.6/arch/arm/Kconfig 2008-06-10 11:43:38.701604549 +0530 +@@ -954,6 +954,16 @@ config ATAGS_PROC + + endmenu + ++if (ARCH_OMAP) ++ ++menu "CPUIdle" ++ ++source "drivers/cpuidle/Kconfig" ++ ++endmenu ++ ++endif ++ + if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA) + + menu "CPU Frequency scaling" +Index: linux-omap-2.6/drivers/cpuidle/Kconfig +=================================================================== +--- linux-omap-2.6.orig/drivers/cpuidle/Kconfig 2008-06-10 11:43:10.790502713 +0530 ++++ linux-omap-2.6/drivers/cpuidle/Kconfig 2008-06-10 12:06:36.139332151 +0530 +@@ -1,20 +1,36 @@ ++menu "CPU idle PM support" + + config CPU_IDLE + bool "CPU idle PM support" +- default ACPI ++ default n + help + CPU idle is a generic framework for supporting software-controlled + idle processor power management. It includes modular cross-platform + governors that can be swapped during runtime. + +- If you're using an ACPI-enabled platform, you should say Y here. ++ If you're using a mobile platform that supports CPU idle PM (e.g. ++ an ACPI-capable notebook), you should say Y here. ++ ++if CPU_IDLE ++ ++comment "Governors" + + config CPU_IDLE_GOV_LADDER +- bool ++ bool "ladder" + depends on CPU_IDLE +- default y ++ default n + + config CPU_IDLE_GOV_MENU +- bool ++ bool "menu" + depends on CPU_IDLE && NO_HZ +- default y ++ default n ++ help ++ This cpuidle governor evaluates all available states and chooses the ++ deepest state that meets all of the following constraints: BM activity, ++ expected time until next timer interrupt, and last break event time ++ delta. It is designed to minimize power consumption. Currently ++ dynticks is required. ++ ++endif # CPU_IDLE ++ ++endmenu + +-- +To unsubscribe from this list: send the line "unsubscribe linux-omap" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/packages/linux/linux-omap2-git/beagleboard/defconfig b/packages/linux/linux-omap2-git/beagleboard/defconfig index d4c1e9300a..7fc46c9113 100644 --- a/packages/linux/linux-omap2-git/beagleboard/defconfig +++ b/packages/linux/linux-omap2-git/beagleboard/defconfig @@ -4,7 +4,7 @@ # Tue Jun 24 20:16:52 2008 # CONFIG_ARM=y -CONFIG_SYS_SUPPORTS_APM_EMULATION=y +CONFIG_SYS_SUPPORTS_APM_EMULATION=n CONFIG_GENERIC_GPIO=y CONFIG_GENERIC_TIME=y CONFIG_GENERIC_CLOCKEVENTS=y @@ -254,7 +254,7 @@ CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y CONFIG_GENERIC_CLOCKEVENTS_BUILD=y -CONFIG_PREEMPT=y +CONFIG_PREEMPT=n CONFIG_HZ=128 CONFIG_AEABI=y # CONFIG_OABI_COMPAT is not set @@ -346,7 +346,7 @@ CONFIG_PM=y CONFIG_PM_SLEEP=y CONFIG_SUSPEND=y CONFIG_SUSPEND_FREEZER=y -CONFIG_APM_EMULATION=y +CONFIG_APM_EMULATION=n CONFIG_ARCH_SUSPEND_POSSIBLE=y # diff --git a/packages/linux/linux-omap2-git/beagleboard/fix-dispc-clocks.patch b/packages/linux/linux-omap2-git/beagleboard/fix-dispc-clocks.patch deleted file mode 100644 index aade27fd8a..0000000000 --- a/packages/linux/linux-omap2-git/beagleboard/fix-dispc-clocks.patch +++ /dev/null @@ -1,147 +0,0 @@ -From linux-omap-owner@vger.kernel.org Sun Jun 22 10:11:39 2008
-Received: from localhost
- ([127.0.0.1] helo=dominion ident=koen)
- by dominion.dominion.void with esmtp (Exim 4.63)
- (envelope-from <linux-omap-owner@vger.kernel.org>)
- id 1KAKfj-0008Qc-FC
- for koen@localhost; Sun, 22 Jun 2008 10:11:39 +0200
-Received: from xs.service.utwente.nl [130.89.5.250]
- by dominion with POP3 (fetchmail-6.3.6)
- for <koen@localhost> (single-drop); Sun, 22 Jun 2008 10:11:39 +0200 (CEST)
-Received: from mail.service.utwente.nl ([130.89.5.253]) by exchange.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
- Sat, 21 Jun 2008 19:06:02 +0200
-Received: from smtp.utwente.nl ([130.89.2.9]) by mail.service.utwente.nl with Microsoft SMTPSVC(6.0.3790.3959);
- Sat, 21 Jun 2008 19:06:01 +0200
-Received: from vger.kernel.org (vger.kernel.org [209.132.176.167])
- by smtp.utwente.nl (8.12.10/SuSE Linux 0.7) with ESMTP id m5LH5TSm026212
- for <k.kooi@student.utwente.nl>; Sat, 21 Jun 2008 19:05:30 +0200
-Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand
- id S1753396AbYFURFN (ORCPT <rfc822;k.kooi@student.utwente.nl>);
- Sat, 21 Jun 2008 13:05:13 -0400
-Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1753305AbYFURFN
- (ORCPT <rfc822;linux-omap-outgoing>);
- Sat, 21 Jun 2008 13:05:13 -0400
-Received: from utopia.booyaka.com ([72.9.107.138]:41675 "EHLO
- utopia.booyaka.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org
- with ESMTP id S1753145AbYFURFL (ORCPT
- <rfc822;linux-omap@vger.kernel.org>); Sat, 21 Jun 2008 13:05:11 -0400
-Received: (qmail 20532 invoked by uid 526); 21 Jun 2008 17:05:10 -0000
-Date: Sat, 21 Jun 2008 11:05:10 -0600 (MDT)
-From: Paul Walmsley <paul@pwsan.com>
-To: "Gadiyar, Anand" <gadiyar@ti.com>,
- "linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>
-cc: Dirk Behme <dirk.behme@googlemail.com>,
- "jouni.hogander@nokia.com" <jouni.hogander@nokia.com>
-Subject: [PATCH] OMAP3 clock: fix omap2_clk_wait_ready for OMAP3430ES2 DSS
-In-Reply-To: <5A47E75E594F054BAF48C5E4FC4B92AB022BB66209@dbde02.ent.ti.com>
-Message-ID: <alpine.DEB.1.00.0806211054100.19765@utopia.booyaka.com>
-References: <5A47E75E594F054BAF48C5E4FC4B92AB022BE46296@dbde02.ent.ti.com>,<485CA347.909@googlemail.com> <5A47E75E594F054BAF48C5E4FC4B92AB022BB66209@dbde02.ent.ti.com>
-User-Agent: Alpine 1.00 (DEB 882 2007-12-20)
-MIME-Version: 1.0
-Content-Type: TEXT/PLAIN; charset=US-ASCII
-Sender: linux-omap-owner@vger.kernel.org
-Precedence: bulk
-List-ID: <linux-omap.vger.kernel.org>
-X-Mailing-List: linux-omap@vger.kernel.org
-X-UTwente-MailScanner-Information: Scanned by MailScanner. Contact servicedesk@icts.utwente.nl for more information.
-X-UTwente-MailScanner: Found to be clean
-X-UTwente-MailScanner-From: linux-omap-owner@vger.kernel.org
-X-Spam-Status: No
-X-OriginalArrivalTime: 21 Jun 2008 17:06:02.0187 (UTC) FILETIME=[157001B0:01C8D3C1]
-
-
-On OMAP3430ES2, DSS has both an initiator standby CM_IDLEST bit, and a
-target idle CM_IDLEST bit. This is a departure from previous silicon,
-which only had an initiator standby bit.
-
-This means we need to test the target idle bit after enabling
-dss1_alwon_fclk. Previous clock code has done the wrong thing since ES2
-came out: it's either tested the wrong bit, causing intermittent
-
- Clock dss1_alwon_fck didn't enable in 100000 tries
-
-messages; or not tested anything at all, causing intermittent crashes
-during DISPC initialization with:
-
- Unhandled fault: external abort on non-linefetch (0x1028)
-
-This patch modifies omap2_clk_wait_ready() to wait for the DSS to become
-accessible after dss1_alwon_fclk is enabled.
-
-Thanks to Anand Gadiyar <gadiyar@ti.com> for identifying one of the
-problem patches.
-
-Signed-off-by: Paul Walmsley <paul@pwsan.com>
----
-
- arch/arm/mach-omap2/clock.c | 30 ++++++++++++++++++++++++------
- arch/arm/mach-omap2/cm-regbits-34xx.h | 4 +++-
- 2 files changed, 27 insertions(+), 7 deletions(-)
-
-diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c
-index ed15868..1820f75 100644
---- a/arch/arm/mach-omap2/clock.c
-+++ b/arch/arm/mach-omap2/clock.c
-@@ -244,18 +244,36 @@ static void omap2_clk_wait_ready(struct clk *clk)
- }
-
- /* REVISIT: What are the appropriate exclusions for 34XX? */
-- /* OMAP3: ignore DSS-mod clocks */
-- if (cpu_is_omap34xx() &&
-- ((reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
-- (((reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(CORE_MOD, 0)) &&
-- clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
-- return;
-+ if (cpu_is_omap34xx()) {
-+
-+ /* 3430ES1 DSS and SSI have no target idlest bits */
-+ if (is_sil_rev_equal_to(OMAP3430_REV_ES1_0) &&
-+ ((reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
-+ ((reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(CORE_MOD, 0) &&
-+ clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
-+ return;
-+
-+ /* Even for 3430ES2 DSS, only wait for dss1_alwon_fclk */
-+ if (is_sil_rev_greater_than(OMAP3430_REV_ES1_0) &&
-+ (reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(OMAP3430_DSS_MOD, 0) &&
-+ clk->enable_bit != OMAP3430_EN_DSS1_SHIFT)
-+ return;
-+
-+ }
-
- /* Check if both functional and interface clocks
- * are running. */
- bit = 1 << clk->enable_bit;
- if (!(__raw_readl((__force void __iomem *)other_reg) & bit))
- return;
-+
-+ /* OMAP3430ES2 DSS is an unusual case */
-+ if (cpu_is_omap34xx() &&
-+ (reg & ~0xff) == (__force u32)OMAP34XX_CM_REGADDR(OMAP3430_DSS_MOD, 0) &&
-+ clk->enable_bit == OMAP3430_EN_DSS1_SHIFT) {
-+ bit = OMAP3430ES2_ST_DSS_IDLE;
-+ }
-+
- st_reg = ((other_reg & ~0xf0) | 0x20); /* CM_IDLEST* */
-
- omap2_wait_clock_ready((__force void __iomem *)st_reg, bit, clk->name);
-diff --git a/arch/arm/mach-omap2/cm-regbits-34xx.h b/arch/arm/mach-omap2/cm-regbits-34xx.h
-index 6ec66f4..946c552 100644
---- a/arch/arm/mach-omap2/cm-regbits-34xx.h
-+++ b/arch/arm/mach-omap2/cm-regbits-34xx.h
-@@ -500,7 +500,9 @@
- #define OMAP3430_CM_ICLKEN_DSS_EN_DSS_SHIFT 0
-
- /* CM_IDLEST_DSS */
--#define OMAP3430_ST_DSS (1 << 0)
-+#define OMAP3430ES2_ST_DSS_IDLE (1 << 1)
-+#define OMAP3430ES2_ST_DSS_STDBY (1 << 0)
-+#define OMAP3430ES1_ST_DSS (1 << 0)
-
- /* CM_AUTOIDLE_DSS */
- #define OMAP3430_AUTO_DSS (1 << 0)
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
diff --git a/packages/linux/linux-omap2-git/beagleboard/logo_linux_clut224.ppm b/packages/linux/linux-omap2-git/beagleboard/logo_linux_clut224.ppm new file mode 100644 index 0000000000..d29fc1c544 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/logo_linux_clut224.ppm @@ -0,0 +1,73147 @@ +P3 +# CREATOR: GIMP PNM Filter Version 1.1 +387 63 +255 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +250 +139 +73 +247 +143 +74 +247 +143 +74 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +143 +74 +250 +139 +73 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +53 +248 +138 +64 +250 +139 +73 +247 +143 +74 +247 +143 +74 +250 +139 +73 +248 +138 +64 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +60 +248 +138 +64 +247 +143 +74 +247 +143 +74 +247 +143 +74 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +130 +60 +250 +139 +73 +247 +143 +74 +247 +143 +74 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +111 +26 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +60 +248 +138 +64 +247 +143 +74 +247 +143 +74 +247 +143 +74 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +130 +53 +247 +130 +60 +250 +139 +73 +249 +146 +83 +249 +152 +92 +249 +159 +103 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +247 +165 +111 +247 +165 +111 +249 +159 +103 +249 +152 +92 +249 +146 +83 +250 +139 +73 +247 +130 +60 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +247 +143 +74 +247 +150 +84 +246 +156 +93 +249 +159 +103 +249 +159 +103 +246 +156 +93 +247 +150 +84 +250 +139 +73 +247 +130 +60 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +123 +41 +248 +138 +64 +247 +143 +74 +249 +152 +92 +249 +159 +103 +249 +159 +103 +249 +159 +103 +246 +156 +93 +247 +150 +84 +250 +139 +73 +247 +130 +53 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +248 +138 +64 +249 +146 +83 +249 +152 +92 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +152 +92 +249 +146 +83 +248 +138 +64 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +248 +138 +64 +247 +143 +74 +249 +152 +92 +249 +159 +103 +249 +159 +103 +249 +159 +103 +246 +156 +93 +247 +150 +84 +250 +139 +73 +247 +130 +53 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +60 +250 +139 +73 +247 +150 +84 +249 +159 +103 +247 +165 +111 +249 +174 +124 +248 +180 +134 +252 +185 +144 +240 +181 +138 +219 +170 +138 +219 +170 +138 +230 +173 +136 +240 +181 +138 +248 +180 +134 +249 +174 +124 +247 +165 +111 +249 +159 +103 +249 +146 +83 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +130 +60 +247 +143 +74 +249 +159 +103 +214 +151 +109 +121 +100 +85 +65 +67 +64 +74 +68 +68 +129 +102 +78 +214 +151 +109 +246 +156 +93 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +123 +41 +248 +138 +64 +249 +146 +83 +249 +159 +103 +204 +141 +99 +102 +91 +75 +65 +67 +64 +81 +77 +76 +146 +111 +88 +238 +159 +107 +249 +152 +92 +250 +139 +73 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +248 +138 +64 +247 +150 +84 +245 +162 +103 +162 +125 +96 +81 +77 +76 +55 +66 +67 +99 +90 +79 +187 +140 +108 +249 +159 +103 +247 +150 +84 +248 +138 +64 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +123 +41 +248 +138 +64 +249 +146 +83 +249 +159 +103 +187 +140 +108 +102 +91 +75 +58 +69 +70 +76 +78 +76 +146 +111 +88 +238 +159 +107 +249 +152 +92 +250 +139 +73 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +53 +248 +138 +64 +249 +146 +83 +249 +159 +103 +251 +168 +115 +248 +180 +134 +239 +182 +144 +186 +157 +134 +124 +111 +99 +82 +69 +65 +65 +58 +56 +55 +48 +48 +65 +58 +56 +65 +58 +56 +65 +58 +56 +99 +90 +79 +158 +130 +108 +230 +173 +136 +250 +176 +132 +247 +165 +111 +249 +152 +92 +247 +143 +74 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +250 +139 +73 +246 +156 +93 +214 +151 +109 +74 +68 +68 +56 +64 +60 +95 +87 +59 +88 +82 +59 +56 +64 +60 +81 +77 +76 +238 +159 +107 +249 +152 +92 +248 +138 +64 +247 +130 +53 +246 +116 +28 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +187 +140 +108 +51 +62 +63 +69 +69 +61 +95 +87 +59 +83 +78 +61 +48 +58 +59 +121 +100 +85 +247 +165 +111 +247 +150 +84 +248 +138 +64 +247 +123 +41 +246 +116 +28 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +130 +60 +247 +150 +84 +247 +165 +111 +139 +115 +96 +48 +58 +59 +95 +78 +64 +118 +86 +65 +81 +73 +62 +48 +58 +59 +162 +125 +96 +249 +159 +103 +249 +146 +83 +247 +130 +60 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +187 +140 +108 +48 +58 +59 +76 +70 +64 +118 +86 +65 +95 +78 +64 +51 +62 +63 +121 +100 +85 +247 +165 +111 +247 +150 +84 +248 +138 +64 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +247 +143 +74 +249 +152 +92 +247 +165 +111 +250 +176 +132 +251 +192 +154 +167 +142 +123 +65 +58 +56 +35 +31 +30 +71 +60 +43 +108 +87 +46 +129 +106 +52 +137 +110 +49 +156 +125 +62 +187 +166 +150 +129 +106 +52 +101 +83 +47 +59 +50 +39 +55 +48 +48 +139 +115 +96 +240 +181 +138 +249 +174 +124 +249 +159 +103 +247 +143 +74 +247 +130 +53 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +130 +60 +247 +150 +84 +247 +165 +111 +124 +111 +99 +56 +64 +60 +137 +110 +49 +171 +129 +45 +171 +129 +45 +129 +106 +52 +51 +62 +63 +162 +125 +96 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +245 +169 +119 +81 +77 +76 +69 +69 +61 +152 +119 +47 +171 +129 +45 +171 +129 +45 +105 +93 +60 +48 +58 +59 +187 +140 +108 +249 +159 +103 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +130 +53 +250 +139 +73 +249 +159 +103 +210 +156 +119 +51 +62 +63 +112 +85 +63 +234 +126 +45 +234 +126 +45 +225 +124 +48 +95 +78 +64 +63 +74 +74 +234 +168 +124 +246 +156 +93 +250 +139 +73 +247 +123 +41 +246 +116 +28 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +245 +169 +119 +81 +77 +76 +81 +73 +62 +212 +120 +56 +234 +126 +45 +234 +126 +45 +135 +94 +64 +41 +58 +57 +187 +140 +108 +249 +159 +103 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +249 +146 +83 +249 +159 +103 +249 +174 +124 +249 +189 +146 +236 +186 +153 +99 +90 +79 +47 +40 +38 +85 +71 +43 +145 +114 +49 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +160 +120 +43 +195 +167 +113 +216 +194 +154 +168 +127 +42 +168 +127 +42 +123 +102 +54 +59 +50 +39 +82 +69 +65 +230 +173 +136 +249 +174 +124 +249 +159 +103 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +246 +156 +93 +245 +169 +119 +84 +85 +82 +83 +78 +61 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +75 +74 +61 +101 +100 +92 +249 +174 +124 +246 +156 +93 +248 +138 +64 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +210 +156 +119 +48 +58 +59 +105 +93 +60 +171 +129 +45 +158 +125 +46 +161 +127 +40 +152 +119 +47 +62 +63 +61 +139 +115 +96 +251 +168 +115 +247 +150 +84 +247 +130 +60 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +249 +146 +83 +247 +165 +111 +158 +130 +108 +51 +62 +63 +188 +112 +56 +234 +125 +52 +224 +123 +55 +234 +126 +45 +163 +104 +61 +48 +58 +59 +210 +156 +119 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +247 +165 +111 +210 +156 +119 +55 +66 +67 +146 +97 +64 +234 +126 +45 +224 +123 +55 +234 +125 +52 +199 +115 +54 +62 +63 +61 +139 +115 +96 +251 +168 +115 +247 +150 +84 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +249 +146 +83 +249 +159 +103 +250 +176 +132 +219 +170 +138 +150 +125 +114 +65 +58 +56 +24 +22 +23 +59 +50 +39 +152 +119 +47 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +160 +120 +43 +158 +125 +46 +227 +196 +175 +192 +155 +91 +160 +120 +43 +171 +129 +45 +158 +125 +46 +85 +71 +43 +65 +58 +56 +219 +170 +138 +249 +174 +124 +246 +156 +93 +250 +139 +73 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +247 +103 +7 +246 +109 +10 +246 +116 +28 +247 +130 +53 +247 +143 +74 +249 +159 +103 +230 +173 +136 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +252 +185 +144 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +203 +161 +131 +43 +57 +62 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +133 +120 +107 +250 +176 +132 +246 +156 +93 +248 +138 +64 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +154 +133 +118 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +186 +157 +134 +250 +176 +132 +246 +156 +93 +250 +139 +73 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +250 +139 +73 +246 +156 +93 +249 +174 +124 +209 +171 +139 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +133 +120 +107 +249 +174 +124 +246 +156 +93 +248 +138 +64 +247 +123 +41 +247 +111 +26 +246 +109 +10 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +250 +176 +132 +158 +130 +108 +47 +40 +38 +59 +50 +39 +85 +71 +43 +85 +71 +43 +59 +50 +39 +35 +31 +30 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +152 +119 +47 +192 +155 +91 +224 +207 +180 +158 +125 +46 +160 +120 +43 +168 +127 +42 +171 +129 +45 +71 +60 +43 +82 +69 +65 +239 +182 +144 +249 +174 +124 +249 +152 +92 +248 +138 +64 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +249 +146 +83 +247 +165 +111 +239 +182 +144 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +250 +197 +158 +250 +176 +132 +249 +159 +103 +247 +143 +74 +247 +130 +60 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +60 +249 +146 +83 +249 +159 +103 +248 +180 +134 +212 +173 +150 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +137 +127 +115 +248 +180 +134 +249 +159 +103 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +130 +53 +250 +139 +73 +249 +159 +103 +250 +176 +132 +167 +142 +123 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +187 +166 +150 +249 +189 +146 +251 +168 +115 +249 +152 +92 +250 +139 +73 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +53 +248 +138 +64 +247 +150 +84 +247 +165 +111 +252 +185 +144 +212 +173 +150 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +133 +120 +107 +248 +180 +134 +249 +159 +103 +250 +139 +73 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +103 +7 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +250 +139 +73 +249 +159 +103 +250 +176 +132 +167 +142 +123 +24 +22 +23 +85 +71 +43 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +85 +71 +43 +35 +31 +30 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +152 +119 +47 +216 +194 +154 +195 +167 +113 +152 +119 +47 +158 +125 +46 +168 +127 +42 +158 +125 +46 +59 +50 +39 +139 +115 +96 +252 +185 +144 +247 +165 +111 +247 +150 +84 +247 +130 +60 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +60 +247 +150 +84 +251 +168 +115 +236 +186 +153 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +251 +209 +178 +249 +189 +146 +249 +174 +124 +249 +159 +103 +249 +146 +83 +248 +138 +64 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +248 +138 +64 +247 +143 +74 +246 +156 +93 +249 +174 +124 +251 +192 +154 +207 +178 +158 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +249 +189 +146 +247 +165 +111 +247 +150 +84 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +123 +41 +247 +130 +60 +247 +143 +74 +249 +159 +103 +252 +185 +144 +167 +142 +123 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +51 +62 +63 +187 +166 +150 +250 +200 +166 +248 +180 +134 +247 +165 +111 +249 +152 +92 +247 +143 +74 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +60 +250 +139 +73 +249 +152 +92 +247 +165 +111 +248 +180 +134 +250 +197 +158 +207 +178 +158 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +252 +185 +144 +249 +159 +103 +247 +143 +74 +247 +130 +53 +246 +116 +28 +246 +109 +10 +247 +103 +7 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +247 +150 +84 +251 +168 +115 +230 +173 +136 +47 +40 +38 +59 +50 +39 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +161 +127 +40 +171 +129 +45 +59 +50 +39 +71 +60 +43 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +152 +119 +47 +170 +137 +67 +239 +227 +208 +170 +137 +67 +160 +120 +43 +158 +125 +46 +171 +129 +45 +123 +102 +54 +47 +40 +38 +209 +171 +139 +248 +180 +134 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +123 +41 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +130 +60 +247 +150 +84 +249 +174 +124 +236 +186 +153 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +255 +215 +190 +253 +204 +176 +249 +189 +146 +249 +174 +124 +247 +165 +111 +246 +156 +93 +249 +146 +83 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +123 +41 +246 +116 +28 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +250 +139 +73 +247 +143 +74 +249 +146 +83 +247 +150 +84 +249 +146 +83 +249 +146 +83 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +250 +139 +73 +247 +143 +74 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +143 +74 +247 +143 +74 +250 +139 +73 +250 +139 +73 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +60 +250 +139 +73 +247 +143 +74 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +143 +74 +247 +143 +74 +247 +143 +74 +247 +143 +74 +247 +150 +84 +249 +159 +103 +249 +174 +124 +252 +185 +144 +250 +200 +166 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +251 +192 +154 +249 +174 +124 +246 +156 +93 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +60 +248 +138 +64 +250 +139 +73 +247 +143 +74 +249 +146 +83 +247 +150 +84 +249 +146 +83 +249 +146 +83 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +60 +250 +139 +73 +247 +150 +84 +251 +168 +115 +249 +189 +146 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +187 +166 +150 +253 +212 +188 +250 +197 +158 +248 +180 +134 +251 +168 +115 +249 +159 +103 +247 +150 +84 +247 +143 +74 +250 +139 +73 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +250 +139 +73 +247 +143 +74 +249 +146 +83 +247 +150 +84 +247 +150 +84 +249 +146 +83 +247 +143 +74 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +109 +10 +246 +109 +10 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +53 +247 +130 +60 +248 +138 +64 +247 +143 +74 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +143 +74 +247 +143 +74 +247 +143 +74 +250 +139 +73 +250 +139 +73 +250 +139 +73 +248 +138 +64 +248 +138 +64 +248 +138 +64 +248 +138 +64 +248 +138 +64 +248 +138 +64 +250 +139 +73 +250 +139 +73 +250 +139 +73 +250 +139 +73 +247 +143 +74 +247 +143 +74 +250 +139 +73 +250 +139 +73 +248 +138 +64 +248 +138 +64 +247 +130 +60 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +60 +247 +130 +60 +248 +138 +64 +250 +139 +73 +247 +143 +74 +247 +150 +84 +249 +159 +103 +251 +168 +115 +248 +180 +134 +250 +197 +158 +253 +212 +188 +207 +178 +158 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +249 +189 +146 +247 +165 +111 +247 +143 +74 +247 +130 +53 +246 +116 +28 +246 +109 +10 +247 +103 +7 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +111 +26 +247 +118 +39 +247 +123 +41 +247 +130 +53 +247 +130 +60 +250 +139 +73 +247 +143 +74 +249 +146 +83 +247 +150 +84 +247 +150 +84 +249 +146 +83 +247 +143 +74 +250 +139 +73 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +118 +39 +247 +118 +39 +247 +118 +39 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +248 +138 +64 +248 +138 +64 +250 +139 +73 +250 +139 +73 +247 +143 +74 +247 +143 +74 +250 +139 +73 +250 +139 +73 +248 +138 +64 +247 +130 +60 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +60 +248 +138 +64 +250 +139 +73 +247 +143 +74 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +143 +74 +247 +143 +74 +250 +139 +73 +250 +139 +73 +248 +138 +64 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +252 +185 +144 +139 +115 +96 +35 +31 +30 +129 +106 +52 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +117 +98 +55 +35 +31 +30 +152 +119 +47 +168 +127 +42 +168 +127 +42 +160 +120 +43 +168 +127 +42 +171 +129 +45 +152 +119 +47 +216 +194 +154 +224 +207 +180 +160 +120 +43 +160 +120 +43 +137 +110 +49 +102 +91 +75 +35 +31 +30 +115 +102 +92 +250 +200 +166 +250 +176 +132 +249 +159 +103 +249 +146 +83 +247 +130 +60 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +116 +28 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +236 +186 +153 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +255 +215 +190 +255 +215 +190 +253 +204 +176 +250 +197 +158 +252 +185 +144 +249 +174 +124 +251 +168 +115 +249 +159 +103 +246 +156 +93 +247 +150 +84 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +249 +146 +83 +249 +152 +92 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +249 +159 +103 +247 +150 +84 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +246 +116 +28 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +60 +250 +139 +73 +249 +146 +83 +249 +152 +92 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +247 +165 +111 +247 +165 +111 +249 +159 +103 +249 +159 +103 +246 +156 +93 +247 +150 +84 +249 +146 +83 +247 +143 +74 +248 +138 +64 +247 +130 +60 +247 +130 +60 +247 +130 +60 +248 +138 +64 +250 +139 +73 +249 +146 +83 +249 +152 +92 +249 +159 +103 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +247 +165 +111 +249 +159 +103 +247 +165 +111 +251 +168 +115 +250 +176 +132 +252 +185 +144 +250 +200 +166 +255 +215 +190 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +137 +127 +115 +250 +200 +166 +250 +176 +132 +247 +165 +111 +249 +152 +92 +247 +150 +84 +249 +146 +83 +247 +150 +84 +249 +152 +92 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +249 +159 +103 +246 +156 +93 +247 +150 +84 +247 +143 +74 +250 +139 +73 +247 +143 +74 +249 +146 +83 +249 +159 +103 +249 +174 +124 +251 +192 +154 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +173 +106 +60 +51 +62 +63 +187 +166 +150 +255 +215 +190 +253 +212 +188 +250 +200 +166 +249 +189 +146 +248 +180 +134 +249 +174 +124 +247 +165 +111 +249 +159 +103 +249 +152 +92 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +246 +116 +28 +247 +111 +26 +246 +116 +28 +247 +118 +39 +247 +123 +41 +247 +130 +53 +248 +138 +64 +247 +143 +74 +249 +152 +92 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +249 +159 +103 +249 +152 +92 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +53 +248 +138 +64 +247 +143 +74 +247 +150 +84 +249 +159 +103 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +247 +165 +111 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +246 +156 +93 +246 +156 +93 +246 +156 +93 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +152 +92 +249 +152 +92 +247 +150 +84 +249 +146 +83 +249 +146 +83 +249 +146 +83 +247 +150 +84 +249 +152 +92 +246 +156 +93 +249 +159 +103 +247 +165 +111 +249 +174 +124 +250 +176 +132 +249 +189 +146 +250 +200 +166 +253 +212 +188 +255 +215 +190 +207 +178 +158 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +249 +189 +146 +247 +165 +111 +247 +143 +74 +247 +130 +53 +246 +116 +28 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +53 +248 +138 +64 +247 +143 +74 +247 +150 +84 +249 +159 +103 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +249 +159 +103 +249 +152 +92 +249 +146 +83 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +60 +248 +138 +64 +247 +143 +74 +249 +146 +83 +249 +152 +92 +246 +156 +93 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +249 +159 +103 +246 +156 +93 +249 +152 +92 +247 +150 +84 +249 +146 +83 +247 +143 +74 +247 +143 +74 +247 +143 +74 +249 +146 +83 +247 +150 +84 +246 +156 +93 +249 +159 +103 +247 +165 +111 +247 +165 +111 +251 +168 +115 +251 +168 +115 +251 +168 +115 +247 +165 +111 +247 +165 +111 +247 +165 +111 +249 +159 +103 +249 +159 +103 +246 +156 +93 +247 +150 +84 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +103 +7 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +236 +186 +153 +47 +40 +38 +59 +50 +39 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +47 +40 +38 +108 +87 +46 +168 +127 +42 +111 +94 +57 +76 +70 +64 +59 +50 +39 +101 +83 +47 +160 +120 +43 +170 +137 +67 +253 +255 +252 +195 +167 +113 +145 +114 +49 +69 +69 +61 +120 +114 +108 +35 +31 +30 +47 +40 +38 +217 +187 +166 +250 +197 +158 +250 +176 +132 +249 +159 +103 +249 +146 +83 +248 +138 +64 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +250 +139 +73 +246 +156 +93 +250 +176 +132 +232 +190 +161 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +255 +215 +190 +255 +215 +190 +245 +212 +186 +227 +196 +175 +212 +173 +150 +209 +171 +139 +219 +170 +138 +240 +181 +138 +250 +176 +132 +251 +168 +115 +249 +159 +103 +247 +150 +84 +250 +139 +73 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +53 +247 +130 +53 +248 +138 +64 +249 +146 +83 +246 +156 +93 +247 +165 +111 +249 +174 +124 +248 +180 +134 +240 +181 +138 +219 +170 +138 +203 +161 +131 +203 +161 +131 +219 +170 +138 +240 +181 +138 +250 +176 +132 +249 +174 +124 +249 +159 +103 +249 +152 +92 +247 +143 +74 +247 +130 +60 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +53 +248 +138 +64 +249 +146 +83 +246 +156 +93 +247 +165 +111 +249 +174 +124 +245 +179 +138 +230 +173 +136 +203 +161 +131 +203 +161 +131 +219 +170 +138 +239 +182 +144 +251 +192 +154 +249 +189 +146 +252 +185 +144 +252 +185 +144 +248 +180 +134 +245 +169 +119 +234 +168 +124 +247 +165 +111 +249 +159 +103 +249 +152 +92 +247 +150 +84 +247 +150 +84 +247 +150 +84 +249 +152 +92 +249 +159 +103 +247 +165 +111 +249 +174 +124 +248 +180 +134 +230 +173 +136 +219 +170 +138 +203 +161 +131 +209 +171 +139 +239 +182 +144 +251 +192 +154 +249 +189 +146 +249 +189 +146 +252 +185 +144 +252 +185 +144 +249 +189 +146 +236 +186 +153 +250 +200 +166 +255 +215 +190 +255 +215 +190 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +137 +127 +115 +253 +204 +176 +252 +185 +144 +249 +174 +124 +247 +165 +111 +247 +165 +111 +247 +165 +111 +251 +168 +115 +249 +174 +124 +248 +180 +134 +230 +173 +136 +219 +170 +138 +203 +161 +131 +209 +171 +139 +230 +173 +136 +245 +179 +138 +250 +176 +132 +251 +168 +115 +249 +159 +103 +249 +159 +103 +246 +156 +93 +249 +159 +103 +251 +168 +115 +248 +180 +134 +250 +197 +158 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +173 +106 +60 +51 +62 +63 +187 +166 +150 +255 +215 +190 +255 +215 +190 +234 +204 +183 +207 +178 +158 +209 +171 +139 +209 +171 +139 +230 +173 +136 +248 +180 +134 +249 +174 +124 +247 +165 +111 +249 +152 +92 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +248 +138 +64 +247 +143 +74 +249 +152 +92 +247 +165 +111 +249 +174 +124 +248 +180 +134 +240 +181 +138 +219 +170 +138 +203 +161 +131 +203 +161 +131 +219 +170 +138 +240 +181 +138 +248 +180 +134 +249 +174 +124 +247 +165 +111 +249 +152 +92 +247 +143 +74 +248 +138 +64 +247 +130 +53 +247 +123 +41 +247 +123 +41 +247 +123 +41 +247 +130 +53 +247 +130 +60 +247 +143 +74 +249 +152 +92 +249 +159 +103 +249 +174 +124 +250 +176 +132 +240 +181 +138 +219 +170 +138 +203 +161 +131 +203 +161 +131 +230 +173 +136 +251 +192 +154 +249 +189 +146 +249 +189 +146 +252 +185 +144 +252 +185 +144 +248 +180 +134 +234 +168 +124 +250 +176 +132 +248 +180 +134 +250 +176 +132 +250 +176 +132 +250 +176 +132 +248 +180 +134 +248 +180 +134 +230 +173 +136 +240 +181 +138 +252 +185 +144 +252 +185 +144 +252 +185 +144 +252 +185 +144 +248 +180 +134 +234 +168 +124 +234 +168 +124 +249 +174 +124 +251 +168 +115 +247 +165 +111 +247 +165 +111 +247 +165 +111 +251 +168 +115 +249 +174 +124 +250 +176 +132 +248 +180 +134 +230 +173 +136 +219 +170 +138 +209 +171 +139 +207 +178 +158 +227 +196 +175 +253 +212 +188 +255 +215 +190 +217 +187 +166 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +249 +189 +146 +247 +165 +111 +247 +143 +74 +247 +130 +53 +246 +116 +28 +247 +111 +26 +246 +109 +10 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +247 +143 +74 +249 +152 +92 +249 +159 +103 +249 +174 +124 +248 +180 +134 +240 +181 +138 +219 +170 +138 +203 +161 +131 +203 +161 +131 +219 +170 +138 +240 +181 +138 +248 +180 +134 +249 +174 +124 +247 +165 +111 +249 +159 +103 +247 +150 +84 +249 +146 +83 +247 +143 +74 +247 +143 +74 +249 +146 +83 +249 +152 +92 +249 +159 +103 +247 +165 +111 +234 +168 +124 +234 +168 +124 +248 +180 +134 +252 +185 +144 +252 +185 +144 +252 +185 +144 +248 +180 +134 +250 +176 +132 +234 +168 +124 +249 +174 +124 +251 +168 +115 +247 +165 +111 +247 +165 +111 +249 +159 +103 +247 +165 +111 +251 +168 +115 +249 +174 +124 +250 +176 +132 +248 +180 +134 +230 +173 +136 +203 +161 +131 +203 +161 +131 +219 +170 +138 +239 +182 +144 +251 +192 +154 +249 +189 +146 +252 +185 +144 +252 +185 +144 +248 +180 +134 +234 +168 +124 +238 +159 +107 +247 +165 +111 +249 +152 +92 +247 +143 +74 +247 +130 +60 +247 +123 +41 +246 +116 +28 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +130 +53 +247 +143 +74 +247 +165 +111 +252 +185 +144 +154 +133 +118 +24 +22 +23 +108 +87 +46 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +71 +60 +43 +85 +71 +43 +101 +83 +47 +89 +84 +82 +152 +147 +147 +24 +22 +23 +24 +22 +23 +108 +87 +46 +168 +127 +42 +224 +207 +180 +253 +255 +252 +209 +171 +139 +101 +83 +47 +24 +22 +23 +35 +31 +30 +35 +31 +30 +167 +142 +123 +253 +212 +188 +250 +197 +158 +248 +180 +134 +247 +165 +111 +247 +150 +84 +250 +139 +73 +247 +130 +60 +247 +130 +60 +248 +138 +64 +249 +146 +83 +249 +159 +103 +250 +176 +132 +232 +190 +161 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +97 +98 +96 +217 +187 +166 +137 +127 +115 +91 +92 +89 +55 +66 +67 +48 +58 +59 +48 +58 +59 +55 +66 +67 +84 +85 +82 +133 +120 +107 +209 +171 +139 +248 +180 +134 +251 +168 +115 +249 +159 +103 +247 +150 +84 +247 +143 +74 +250 +139 +73 +250 +139 +73 +249 +146 +83 +249 +152 +92 +247 +165 +111 +249 +174 +124 +245 +179 +138 +178 +146 +122 +124 +111 +99 +76 +78 +76 +51 +62 +63 +48 +58 +59 +48 +58 +59 +58 +69 +70 +91 +92 +89 +144 +125 +110 +203 +161 +131 +248 +180 +134 +249 +174 +124 +249 +159 +103 +247 +150 +84 +247 +143 +74 +248 +138 +64 +248 +138 +64 +250 +139 +73 +249 +146 +83 +246 +156 +93 +247 +165 +111 +250 +176 +132 +230 +173 +136 +154 +133 +118 +101 +100 +92 +58 +69 +70 +48 +58 +59 +48 +58 +59 +51 +62 +63 +84 +85 +82 +137 +127 +115 +217 +187 +166 +253 +212 +188 +227 +196 +175 +144 +125 +110 +89 +84 +82 +81 +77 +76 +115 +102 +92 +210 +156 +119 +249 +174 +124 +251 +168 +115 +251 +168 +115 +251 +168 +115 +249 +174 +124 +250 +176 +132 +252 +185 +144 +195 +157 +134 +124 +111 +99 +76 +78 +76 +51 +62 +63 +48 +58 +59 +48 +58 +59 +70 +79 +77 +120 +114 +108 +187 +166 +150 +253 +212 +188 +253 +212 +188 +172 +150 +134 +101 +100 +92 +77 +85 +81 +101 +100 +92 +176 +156 +141 +255 +215 +190 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +253 +212 +188 +250 +197 +158 +252 +185 +144 +248 +180 +134 +248 +180 +134 +252 +185 +144 +239 +182 +144 +167 +142 +123 +109 +106 +99 +70 +79 +77 +48 +58 +59 +48 +58 +59 +48 +58 +59 +58 +69 +70 +91 +92 +89 +150 +125 +114 +219 +170 +138 +248 +180 +134 +249 +174 +124 +249 +174 +124 +249 +174 +124 +250 +176 +132 +249 +189 +146 +253 +204 +176 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +176 +156 +141 +187 +166 +150 +109 +106 +99 +63 +74 +74 +43 +57 +62 +43 +57 +62 +43 +57 +62 +63 +74 +74 +109 +106 +99 +178 +146 +122 +245 +179 +138 +249 +174 +124 +249 +159 +103 +247 +150 +84 +247 +143 +74 +248 +138 +64 +248 +138 +64 +248 +138 +64 +247 +143 +74 +247 +150 +84 +249 +159 +103 +249 +174 +124 +252 +185 +144 +195 +157 +134 +124 +111 +99 +77 +85 +81 +51 +62 +63 +41 +58 +57 +43 +57 +62 +51 +62 +63 +77 +85 +81 +124 +111 +99 +195 +157 +134 +252 +185 +144 +249 +174 +124 +249 +159 +103 +247 +150 +84 +247 +143 +74 +248 +138 +64 +247 +130 +60 +248 +138 +64 +250 +139 +73 +247 +150 +84 +249 +159 +103 +251 +168 +115 +248 +180 +134 +203 +161 +131 +124 +111 +99 +77 +85 +81 +48 +58 +59 +43 +57 +62 +43 +57 +62 +63 +74 +74 +109 +106 +99 +187 +166 +150 +253 +212 +188 +253 +212 +188 +187 +166 +150 +109 +106 +99 +77 +85 +81 +84 +85 +82 +150 +125 +114 +232 +190 +161 +253 +204 +176 +253 +204 +176 +172 +150 +134 +101 +100 +92 +77 +85 +81 +91 +92 +89 +137 +127 +115 +227 +196 +175 +253 +212 +188 +186 +157 +134 +109 +106 +99 +77 +85 +81 +84 +85 +82 +124 +111 +99 +219 +170 +138 +249 +189 +146 +249 +189 +146 +249 +189 +146 +251 +192 +154 +250 +197 +158 +186 +157 +134 +109 +106 +99 +70 +79 +77 +43 +57 +62 +43 +57 +62 +41 +58 +57 +63 +74 +74 +101 +100 +92 +176 +156 +141 +194 +173 +157 +55 +66 +67 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +249 +189 +146 +247 +165 +111 +247 +143 +74 +247 +130 +53 +247 +118 +39 +247 +111 +26 +246 +109 +10 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +249 +146 +83 +249 +159 +103 +249 +174 +124 +252 +185 +144 +203 +161 +131 +133 +120 +107 +84 +85 +82 +55 +66 +67 +43 +57 +62 +41 +58 +57 +51 +62 +63 +77 +85 +81 +124 +111 +99 +178 +146 +122 +239 +182 +144 +250 +176 +132 +249 +174 +124 +247 +165 +111 +249 +159 +103 +249 +159 +103 +247 +165 +111 +249 +174 +124 +210 +156 +119 +124 +111 +99 +77 +85 +81 +77 +85 +81 +109 +106 +99 +194 +173 +157 +253 +212 +188 +217 +187 +166 +133 +120 +107 +89 +84 +82 +76 +78 +76 +101 +100 +92 +178 +146 +122 +249 +189 +146 +252 +185 +144 +252 +185 +144 +252 +185 +144 +251 +192 +154 +236 +186 +153 +167 +142 +123 +101 +100 +92 +63 +74 +74 +41 +58 +57 +43 +57 +62 +51 +62 +63 +77 +85 +81 +137 +127 +115 +217 +187 +166 +253 +212 +188 +227 +196 +175 +144 +125 +110 +84 +85 +82 +76 +78 +76 +115 +102 +92 +204 +141 +99 +249 +159 +103 +247 +143 +74 +247 +130 +60 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +250 +197 +158 +82 +69 +65 +47 +40 +38 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +101 +83 +47 +59 +50 +39 +101 +83 +47 +24 +22 +23 +35 +31 +30 +24 +22 +23 +24 +22 +23 +108 +87 +46 +168 +127 +42 +195 +167 +113 +253 +255 +252 +253 +255 +252 +239 +227 +208 +186 +157 +134 +162 +125 +96 +105 +93 +60 +47 +40 +38 +150 +125 +114 +217 +187 +166 +250 +200 +166 +252 +185 +144 +251 +168 +115 +246 +156 +93 +249 +146 +83 +247 +143 +74 +249 +146 +83 +249 +152 +92 +247 +165 +111 +252 +185 +144 +232 +190 +161 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +55 +66 +67 +58 +69 +70 +56 +64 +60 +83 +78 +61 +105 +93 +60 +117 +98 +55 +117 +98 +55 +105 +93 +60 +83 +78 +61 +56 +64 +60 +55 +66 +67 +144 +125 +110 +239 +182 +144 +250 +176 +132 +247 +165 +111 +249 +159 +103 +246 +156 +93 +249 +159 +103 +247 +165 +111 +249 +174 +124 +252 +185 +144 +195 +157 +134 +89 +84 +82 +48 +58 +59 +63 +69 +60 +95 +87 +59 +111 +94 +57 +123 +102 +54 +117 +98 +55 +105 +93 +60 +83 +78 +61 +56 +64 +60 +51 +62 +63 +124 +111 +99 +219 +170 +138 +248 +180 +134 +251 +168 +115 +249 +159 +103 +249 +152 +92 +249 +152 +92 +246 +156 +93 +247 +165 +111 +249 +174 +124 +252 +185 +144 +167 +142 +123 +70 +79 +77 +51 +62 +63 +75 +74 +61 +100 +89 +56 +117 +98 +55 +123 +102 +54 +105 +93 +60 +83 +78 +61 +51 +62 +63 +63 +74 +74 +172 +150 +134 +109 +106 +99 +51 +62 +63 +83 +78 +61 +95 +87 +59 +65 +67 +64 +65 +67 +64 +209 +171 +139 +249 +189 +146 +249 +189 +146 +249 +189 +146 +250 +197 +158 +212 +173 +150 +109 +106 +99 +48 +58 +59 +63 +69 +60 +95 +87 +59 +111 +94 +57 +123 +102 +54 +117 +98 +55 +95 +87 +59 +62 +63 +61 +48 +58 +59 +137 +127 +115 +146 +135 +124 +48 +58 +59 +75 +74 +61 +95 +87 +59 +75 +74 +61 +48 +58 +59 +161 +144 +134 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +255 +215 +190 +251 +209 +178 +250 +200 +166 +250 +200 +166 +250 +200 +166 +172 +150 +134 +77 +85 +81 +48 +58 +59 +69 +69 +61 +95 +87 +59 +111 +94 +57 +123 +102 +54 +117 +98 +55 +100 +89 +56 +75 +74 +61 +56 +64 +60 +55 +66 +67 +133 +120 +107 +236 +186 +153 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +253 +212 +188 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +173 +106 +60 +51 +62 +63 +63 +74 +74 +48 +58 +59 +76 +70 +64 +118 +86 +65 +146 +97 +64 +155 +100 +63 +146 +97 +64 +118 +86 +65 +76 +70 +64 +43 +57 +62 +91 +92 +89 +203 +161 +131 +248 +180 +134 +251 +168 +115 +249 +159 +103 +249 +152 +92 +247 +150 +84 +249 +152 +92 +249 +159 +103 +251 +168 +115 +248 +180 +134 +209 +171 +139 +101 +100 +92 +43 +57 +62 +69 +69 +61 +106 +82 +65 +135 +94 +64 +155 +100 +63 +155 +100 +63 +135 +94 +64 +106 +82 +65 +65 +67 +64 +43 +57 +62 +101 +100 +92 +209 +171 +139 +248 +180 +134 +251 +168 +115 +249 +159 +103 +249 +152 +92 +247 +150 +84 +247 +150 +84 +246 +156 +93 +247 +165 +111 +250 +176 +132 +219 +170 +138 +124 +111 +99 +48 +58 +59 +62 +63 +61 +106 +82 +65 +139 +96 +61 +155 +100 +63 +146 +97 +64 +125 +90 +64 +76 +70 +64 +41 +58 +57 +120 +114 +108 +172 +150 +134 +51 +62 +63 +69 +69 +61 +112 +85 +63 +95 +78 +64 +51 +62 +63 +120 +114 +108 +245 +212 +186 +146 +135 +124 +43 +57 +62 +81 +73 +62 +118 +86 +65 +95 +78 +64 +56 +64 +60 +101 +100 +92 +133 +120 +107 +43 +57 +62 +76 +70 +64 +112 +85 +63 +106 +82 +65 +62 +63 +61 +77 +85 +81 +227 +196 +175 +253 +212 +188 +253 +212 +188 +217 +187 +166 +109 +106 +99 +41 +58 +57 +69 +69 +61 +112 +85 +63 +139 +96 +61 +155 +100 +63 +146 +97 +64 +118 +86 +65 +81 +73 +62 +48 +58 +59 +58 +69 +70 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +111 +26 +246 +116 +28 +247 +123 +41 +248 +138 +64 +249 +146 +83 +249 +159 +103 +250 +176 +132 +219 +170 +138 +124 +111 +99 +43 +57 +62 +62 +63 +61 +106 +82 +65 +135 +94 +64 +155 +100 +63 +155 +100 +63 +139 +96 +61 +106 +82 +65 +69 +69 +61 +43 +57 +62 +91 +92 +89 +195 +157 +134 +251 +192 +154 +252 +185 +144 +248 +180 +134 +248 +180 +134 +252 +185 +144 +203 +161 +131 +63 +74 +74 +62 +63 +61 +106 +82 +65 +112 +85 +63 +69 +69 +61 +55 +66 +67 +146 +135 +124 +63 +74 +74 +56 +64 +60 +95 +78 +64 +112 +85 +63 +76 +70 +64 +48 +58 +59 +172 +150 +134 +253 +204 +176 +251 +209 +178 +251 +209 +178 +187 +166 +150 +77 +85 +81 +48 +58 +59 +81 +73 +62 +125 +90 +64 +146 +97 +64 +155 +100 +63 +139 +96 +61 +95 +78 +64 +56 +64 +60 +58 +69 +70 +161 +144 +134 +109 +106 +99 +51 +62 +63 +95 +78 +64 +112 +85 +63 +65 +67 +64 +65 +67 +64 +204 +141 +99 +246 +156 +93 +250 +139 +73 +247 +130 +53 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +246 +116 +28 +247 +130 +53 +247 +143 +74 +249 +159 +103 +252 +185 +144 +209 +171 +139 +24 +22 +23 +85 +71 +43 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +137 +110 +49 +47 +40 +38 +137 +110 +49 +101 +83 +47 +59 +50 +39 +59 +50 +39 +101 +83 +47 +158 +125 +46 +160 +120 +43 +192 +155 +91 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +237 +233 +225 +152 +147 +147 +81 +77 +76 +55 +48 +48 +115 +102 +92 +212 +173 +150 +251 +192 +154 +249 +174 +124 +247 +165 +111 +249 +159 +103 +249 +159 +103 +247 +165 +111 +249 +174 +124 +249 +189 +146 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +43 +57 +62 +95 +87 +59 +145 +114 +49 +168 +127 +42 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +145 +114 +49 +95 +87 +59 +48 +58 +59 +109 +106 +99 +236 +186 +153 +252 +185 +144 +248 +180 +134 +250 +176 +132 +250 +176 +132 +252 +185 +144 +251 +192 +154 +150 +125 +114 +48 +58 +59 +69 +69 +61 +117 +98 +55 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +152 +119 +47 +100 +89 +56 +56 +64 +60 +63 +74 +74 +186 +157 +134 +249 +189 +146 +248 +180 +134 +249 +174 +124 +249 +174 +124 +250 +176 +132 +252 +185 +144 +251 +192 +154 +133 +120 +107 +48 +58 +59 +75 +74 +61 +137 +110 +49 +168 +127 +42 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +145 +114 +49 +75 +74 +61 +43 +57 +62 +51 +62 +63 +123 +102 +54 +171 +129 +45 +171 +129 +45 +145 +114 +49 +56 +64 +60 +133 +120 +107 +253 +212 +188 +251 +209 +178 +253 +212 +188 +194 +173 +157 +63 +74 +74 +56 +64 +60 +111 +94 +57 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +158 +125 +46 +105 +93 +60 +51 +62 +63 +43 +57 +62 +88 +82 +59 +168 +127 +42 +171 +129 +45 +168 +127 +42 +88 +82 +59 +63 +74 +74 +187 +166 +150 +55 +66 +67 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +133 +120 +107 +48 +58 +59 +75 +74 +61 +129 +106 +52 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +171 +129 +45 +168 +127 +42 +145 +114 +49 +95 +87 +59 +51 +62 +63 +77 +85 +81 +212 +173 +150 +253 +204 +176 +253 +204 +176 +251 +209 +178 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +41 +58 +57 +69 +69 +61 +155 +100 +63 +214 +121 +50 +234 +126 +45 +234 +126 +45 +234 +126 +45 +234 +126 +45 +234 +126 +45 +224 +123 +55 +155 +100 +63 +69 +69 +61 +51 +62 +63 +178 +146 +122 +249 +189 +146 +250 +176 +132 +251 +168 +115 +251 +168 +115 +249 +174 +124 +250 +176 +132 +249 +189 +146 +167 +142 +123 +55 +66 +67 +65 +67 +64 +146 +97 +64 +212 +120 +56 +234 +126 +45 +234 +125 +52 +234 +126 +45 +234 +125 +52 +234 +126 +45 +234 +125 +52 +209 +117 +53 +146 +97 +64 +65 +67 +64 +55 +66 +67 +178 +146 +122 +249 +189 +146 +250 +176 +132 +251 +168 +115 +247 +165 +111 +251 +168 +115 +249 +174 +124 +252 +185 +144 +203 +161 +131 +63 +74 +74 +56 +64 +60 +125 +90 +64 +209 +117 +53 +234 +126 +45 +234 +126 +45 +234 +125 +52 +234 +126 +45 +234 +126 +45 +214 +121 +50 +146 +97 +64 +56 +64 +60 +41 +58 +57 +81 +73 +62 +209 +117 +53 +234 +126 +45 +234 +126 +45 +125 +90 +64 +51 +62 +63 +176 +156 +141 +55 +66 +67 +106 +82 +65 +225 +124 +48 +234 +126 +45 +234 +126 +45 +146 +97 +64 +41 +58 +57 +43 +57 +62 +125 +90 +64 +214 +121 +50 +234 +126 +45 +234 +126 +45 +183 +110 +59 +56 +64 +60 +137 +127 +115 +255 +215 +190 +194 +173 +157 +63 +74 +74 +62 +63 +61 +146 +97 +64 +214 +121 +50 +234 +125 +52 +234 +126 +45 +234 +125 +52 +234 +125 +52 +234 +126 +45 +225 +124 +48 +173 +106 +60 +81 +73 +62 +35 +56 +60 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +247 +130 +53 +247 +118 +39 +246 +116 +28 +246 +116 +28 +247 +123 +41 +247 +130 +60 +249 +146 +83 +247 +165 +111 +248 +180 +134 +186 +157 +134 +58 +69 +70 +56 +64 +60 +135 +94 +64 +199 +115 +54 +234 +125 +52 +234 +126 +45 +234 +125 +52 +234 +125 +52 +234 +126 +45 +234 +125 +52 +212 +120 +56 +155 +100 +63 +76 +70 +64 +51 +62 +63 +146 +135 +124 +251 +209 +178 +253 +204 +176 +250 +200 +166 +253 +204 +176 +101 +100 +92 +69 +69 +61 +194 +112 +58 +234 +126 +45 +234 +126 +45 +199 +115 +54 +65 +67 +64 +35 +56 +60 +81 +73 +62 +194 +112 +58 +234 +125 +52 +234 +126 +45 +214 +121 +50 +95 +78 +64 +63 +74 +74 +238 +205 +179 +255 +215 +190 +161 +144 +134 +43 +57 +62 +81 +73 +62 +173 +106 +60 +225 +124 +48 +234 +126 +45 +234 +126 +45 +234 +125 +52 +234 +126 +45 +234 +126 +45 +194 +112 +58 +95 +78 +64 +41 +58 +57 +48 +58 +59 +155 +100 +63 +234 +126 +45 +234 +126 +45 +199 +115 +54 +69 +69 +61 +99 +90 +79 +251 +168 +115 +247 +150 +84 +247 +130 +60 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +60 +247 +150 +84 +249 +174 +124 +251 +192 +154 +124 +111 +99 +35 +31 +30 +137 +110 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +47 +40 +38 +108 +87 +46 +175 +132 +40 +161 +127 +40 +168 +127 +42 +171 +129 +45 +158 +125 +46 +152 +119 +47 +203 +161 +131 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +186 +181 +179 +89 +84 +82 +47 +40 +38 +139 +115 +96 +236 +186 +153 +252 +185 +144 +250 +176 +132 +249 +174 +124 +250 +176 +132 +252 +185 +144 +250 +197 +158 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +111 +94 +57 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +111 +94 +57 +48 +58 +59 +109 +106 +99 +253 +204 +176 +250 +200 +166 +250 +200 +166 +250 +200 +166 +253 +204 +176 +137 +127 +115 +43 +57 +62 +88 +82 +59 +158 +125 +46 +171 +129 +45 +161 +127 +40 +158 +125 +46 +158 +125 +46 +168 +127 +42 +161 +127 +40 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +145 +114 +49 +69 +69 +61 +51 +62 +63 +187 +166 +150 +250 +200 +166 +250 +197 +158 +251 +192 +154 +250 +197 +158 +253 +204 +176 +133 +120 +107 +48 +58 +59 +95 +87 +59 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +158 +125 +46 +75 +74 +61 +62 +63 +61 +168 +127 +42 +161 +127 +40 +158 +125 +46 +171 +129 +45 +83 +78 +61 +91 +92 +89 +255 +215 +190 +255 +215 +190 +207 +178 +158 +58 +69 +70 +63 +69 +60 +145 +114 +49 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +105 +93 +60 +43 +57 +62 +137 +110 +49 +171 +129 +45 +158 +125 +46 +171 +129 +45 +137 +110 +49 +51 +62 +63 +146 +135 +124 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +152 +119 +47 +65 +67 +64 +137 +127 +115 +255 +215 +190 +255 +215 +190 +245 +212 +186 +120 +114 +108 +48 +58 +59 +100 +89 +56 +168 +127 +42 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +129 +106 +52 +61 +67 +58 +63 +74 +74 +207 +178 +158 +255 +215 +190 +255 +215 +190 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +95 +78 +64 +209 +117 +53 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +209 +117 +53 +89 +75 +66 +51 +62 +63 +187 +166 +150 +250 +197 +158 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +161 +144 +134 +41 +58 +57 +95 +78 +64 +199 +115 +54 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +199 +115 +54 +89 +75 +66 +41 +58 +57 +167 +142 +123 +250 +200 +166 +251 +192 +154 +252 +185 +144 +249 +189 +146 +250 +197 +158 +212 +173 +150 +63 +74 +74 +69 +69 +61 +183 +110 +59 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +163 +104 +61 +41 +58 +57 +135 +94 +64 +234 +126 +45 +224 +123 +55 +234 +125 +52 +188 +112 +56 +51 +62 +63 +109 +106 +99 +51 +62 +63 +188 +112 +56 +234 +126 +45 +224 +123 +55 +234 +125 +52 +188 +112 +56 +43 +57 +62 +112 +85 +63 +234 +126 +45 +227 +126 +50 +224 +123 +55 +227 +126 +50 +234 +126 +45 +95 +78 +64 +109 +106 +99 +217 +187 +166 +58 +69 +70 +69 +69 +61 +188 +112 +56 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +214 +121 +50 +95 +78 +64 +146 +97 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +247 +130 +53 +247 +123 +41 +247 +118 +39 +247 +123 +41 +247 +130 +53 +247 +143 +74 +249 +159 +103 +250 +176 +132 +186 +157 +134 +51 +62 +63 +81 +73 +62 +188 +112 +56 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +212 +120 +56 +106 +82 +65 +41 +58 +57 +146 +135 +124 +255 +215 +190 +255 +215 +190 +234 +204 +183 +63 +74 +74 +125 +90 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +234 +125 +52 +89 +75 +66 +62 +63 +61 +199 +115 +54 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +163 +104 +61 +48 +58 +59 +217 +187 +166 +172 +150 +134 +41 +58 +57 +106 +82 +65 +214 +121 +50 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +225 +124 +48 +81 +73 +62 +69 +69 +61 +227 +126 +50 +227 +126 +50 +224 +123 +55 +238 +123 +45 +125 +90 +64 +55 +66 +67 +250 +176 +132 +246 +156 +93 +250 +139 +73 +247 +123 +41 +247 +111 +26 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +250 +139 +73 +249 +159 +103 +248 +180 +134 +232 +190 +161 +47 +40 +38 +71 +60 +43 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +71 +60 +43 +71 +60 +43 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +160 +120 +43 +170 +137 +67 +237 +233 +225 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +186 +181 +179 +74 +68 +68 +89 +75 +66 +212 +173 +150 +250 +197 +158 +251 +192 +154 +249 +189 +146 +251 +192 +154 +253 +204 +176 +234 +204 +183 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +111 +94 +57 +48 +58 +59 +161 +144 +134 +255 +215 +190 +255 +215 +190 +255 +215 +190 +172 +150 +134 +48 +58 +59 +95 +87 +59 +168 +127 +42 +168 +127 +42 +158 +125 +46 +161 +127 +40 +171 +129 +45 +158 +125 +46 +152 +119 +47 +152 +119 +47 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +152 +119 +47 +69 +69 +61 +58 +69 +70 +217 +187 +166 +255 +215 +190 +255 +215 +190 +255 +215 +190 +172 +150 +134 +43 +57 +62 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +171 +129 +45 +171 +129 +45 +158 +125 +46 +168 +127 +42 +137 +110 +49 +83 +78 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +84 +85 +82 +255 +215 +190 +238 +205 +179 +84 +85 +82 +62 +63 +61 +145 +114 +49 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +161 +127 +40 +158 +125 +46 +88 +82 +59 +152 +119 +47 +161 +127 +40 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +152 +119 +47 +63 +69 +60 +137 +127 +115 +255 +215 +190 +255 +215 +190 +137 +127 +115 +48 +58 +59 +105 +93 +60 +171 +129 +45 +161 +127 +40 +158 +125 +46 +168 +127 +42 +168 +127 +42 +158 +125 +46 +152 +119 +47 +152 +119 +47 +168 +127 +42 +171 +129 +45 +158 +125 +46 +158 +125 +46 +171 +129 +45 +145 +114 +49 +62 +63 +61 +70 +79 +77 +227 +196 +175 +255 +215 +190 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +212 +120 +56 +214 +121 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +234 +126 +45 +234 +126 +45 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +76 +70 +64 +70 +79 +77 +234 +204 +183 +253 +212 +188 +251 +209 +178 +253 +212 +188 +187 +166 +150 +43 +57 +62 +95 +78 +64 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +234 +126 +45 +234 +126 +45 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +214 +121 +50 +95 +78 +64 +48 +58 +59 +194 +173 +157 +253 +212 +188 +251 +209 +178 +251 +209 +178 +245 +212 +186 +91 +92 +89 +62 +63 +61 +188 +112 +56 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +234 +125 +52 +234 +126 +45 +227 +126 +50 +224 +123 +55 +234 +126 +45 +125 +90 +64 +146 +97 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +97 +98 +96 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +212 +120 +56 +183 +110 +59 +214 +121 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +227 +126 +50 +234 +126 +45 +95 +78 +64 +84 +85 +82 +91 +92 +89 +62 +63 +61 +188 +112 +56 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +234 +126 +45 +234 +126 +45 +227 +126 +50 +224 +123 +55 +227 +126 +50 +224 +123 +55 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +123 +41 +247 +123 +41 +247 +130 +53 +248 +138 +64 +249 +152 +92 +249 +174 +124 +209 +171 +139 +58 +69 +70 +81 +73 +62 +209 +117 +53 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +234 +125 +52 +234 +125 +52 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +112 +85 +63 +41 +58 +57 +172 +150 +134 +255 +215 +190 +227 +196 +175 +63 +74 +74 +135 +94 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +194 +112 +58 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +238 +128 +40 +163 +104 +61 +55 +66 +67 +161 +144 +134 +58 +69 +70 +95 +78 +64 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +234 +126 +45 +234 +126 +45 +234 +125 +52 +227 +126 +50 +234 +125 +52 +173 +106 +60 +118 +86 +65 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +146 +97 +64 +51 +62 +63 +252 +185 +144 +249 +159 +103 +247 +143 +74 +247 +130 +53 +246 +116 +28 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +249 +146 +83 +251 +168 +115 +251 +192 +154 +154 +133 +118 +24 +22 +23 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +108 +87 +46 +47 +40 +38 +158 +125 +46 +158 +125 +46 +158 +125 +46 +160 +120 +43 +156 +125 +62 +224 +207 +180 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +152 +147 +147 +35 +31 +30 +55 +48 +48 +154 +133 +118 +217 +187 +166 +253 +204 +176 +253 +204 +176 +253 +212 +188 +234 +204 +183 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +158 +125 +46 +168 +127 +42 +158 +125 +46 +123 +102 +54 +105 +93 +60 +111 +94 +57 +129 +106 +52 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +83 +78 +61 +58 +69 +70 +227 +196 +175 +255 +215 +190 +217 +187 +166 +58 +69 +70 +75 +74 +61 +168 +127 +42 +161 +127 +40 +158 +125 +46 +168 +127 +42 +152 +119 +47 +105 +93 +60 +69 +69 +61 +62 +63 +61 +62 +63 +61 +75 +74 +61 +117 +98 +55 +161 +127 +40 +161 +127 +40 +158 +125 +46 +171 +129 +45 +145 +114 +49 +56 +64 +60 +97 +98 +96 +245 +212 +186 +255 +215 +190 +227 +196 +175 +63 +74 +74 +75 +74 +61 +158 +125 +46 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +158 +125 +46 +129 +106 +52 +111 +94 +57 +105 +93 +60 +129 +106 +52 +158 +125 +46 +168 +127 +42 +161 +127 +40 +152 +119 +47 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +84 +85 +82 +255 +215 +190 +161 +144 +134 +48 +58 +59 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +117 +98 +55 +105 +93 +60 +117 +98 +55 +145 +114 +49 +171 +129 +45 +168 +127 +42 +152 +119 +47 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +255 +215 +190 +194 +173 +157 +48 +58 +59 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +152 +119 +47 +95 +87 +59 +69 +69 +61 +62 +63 +61 +62 +63 +61 +83 +78 +61 +123 +102 +54 +168 +127 +42 +161 +127 +40 +158 +125 +46 +171 +129 +45 +129 +106 +52 +51 +62 +63 +120 +114 +108 +255 +215 +190 +255 +215 +190 +161 +144 +134 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +227 +126 +50 +227 +126 +50 +188 +112 +56 +146 +97 +64 +135 +94 +64 +146 +97 +64 +199 +115 +54 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +173 +106 +60 +48 +58 +59 +146 +135 +124 +255 +215 +190 +255 +215 +190 +234 +204 +183 +77 +85 +81 +76 +70 +64 +214 +121 +50 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +214 +121 +50 +163 +104 +61 +135 +94 +64 +135 +94 +64 +163 +104 +61 +224 +123 +55 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +212 +120 +56 +76 +70 +64 +77 +85 +81 +238 +205 +179 +255 +215 +190 +255 +215 +190 +161 +144 +134 +48 +58 +59 +155 +100 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +199 +115 +54 +155 +100 +63 +135 +94 +64 +146 +97 +64 +188 +112 +56 +227 +126 +50 +227 +126 +50 +214 +121 +50 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +125 +52 +227 +126 +50 +224 +123 +55 +227 +126 +50 +227 +126 +50 +199 +115 +54 +125 +90 +64 +51 +62 +63 +55 +66 +67 +41 +58 +57 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +209 +117 +53 +155 +100 +63 +135 +94 +64 +139 +96 +61 +183 +110 +59 +227 +126 +50 +227 +126 +50 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +247 +130 +60 +247 +130 +53 +247 +130 +53 +247 +130 +60 +249 +146 +83 +247 +165 +111 +252 +185 +144 +101 +100 +92 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +173 +106 +60 +135 +94 +64 +135 +94 +64 +163 +104 +61 +214 +121 +50 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +81 +73 +62 +58 +69 +70 +227 +196 +175 +234 +204 +183 +63 +74 +74 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +234 +125 +52 +212 +120 +56 +155 +100 +63 +69 +69 +61 +76 +78 +76 +84 +85 +82 +65 +67 +64 +209 +117 +53 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +183 +110 +59 +139 +96 +61 +135 +94 +64 +155 +100 +63 +209 +117 +53 +234 +125 +52 +224 +123 +55 +212 +120 +56 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +251 +192 +154 +251 +168 +115 +249 +146 +83 +247 +130 +53 +247 +118 +39 +246 +109 +10 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +250 +176 +132 +232 +190 +161 +65 +58 +56 +59 +50 +39 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +47 +40 +38 +129 +106 +52 +168 +127 +42 +160 +120 +43 +158 +125 +46 +224 +207 +180 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +219 +212 +208 +62 +63 +61 +35 +31 +30 +91 +92 +89 +164 +158 +157 +186 +181 +179 +82 +69 +65 +176 +156 +141 +255 +215 +190 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +65 +67 +64 +48 +58 +59 +55 +66 +67 +55 +66 +67 +48 +58 +59 +83 +78 +61 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +137 +110 +49 +51 +62 +63 +146 +135 +124 +255 +215 +190 +120 +114 +108 +56 +64 +60 +145 +114 +49 +171 +129 +45 +158 +125 +46 +168 +127 +42 +152 +119 +47 +69 +69 +61 +43 +57 +62 +109 +106 +99 +146 +135 +124 +137 +127 +115 +91 +92 +89 +43 +57 +62 +88 +82 +59 +158 +125 +46 +161 +127 +40 +158 +125 +46 +171 +129 +45 +117 +98 +55 +48 +58 +59 +172 +150 +134 +255 +215 +190 +146 +135 +124 +51 +62 +63 +137 +110 +49 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +75 +74 +61 +48 +58 +59 +55 +66 +67 +55 +66 +67 +48 +58 +59 +69 +69 +61 +137 +110 +49 +168 +127 +42 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +234 +204 +183 +70 +79 +77 +83 +78 +61 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +111 +94 +57 +56 +64 +60 +43 +57 +62 +58 +69 +70 +48 +58 +59 +56 +64 +60 +100 +89 +56 +158 +125 +46 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +137 +127 +115 +255 +215 +190 +97 +98 +96 +62 +63 +61 +152 +119 +47 +168 +127 +42 +158 +125 +46 +168 +127 +42 +137 +110 +49 +62 +63 +61 +51 +62 +63 +120 +114 +108 +146 +135 +124 +137 +127 +115 +84 +85 +82 +43 +57 +62 +95 +87 +59 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +100 +89 +56 +43 +57 +62 +194 +173 +157 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +118 +86 +65 +51 +62 +63 +43 +57 +62 +58 +69 +70 +41 +58 +57 +56 +64 +60 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +106 +82 +65 +63 +74 +74 +234 +204 +183 +255 +215 +190 +161 +144 +134 +48 +58 +59 +173 +106 +60 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +183 +110 +59 +76 +70 +64 +43 +57 +62 +55 +66 +67 +55 +66 +67 +48 +58 +59 +81 +73 +62 +183 +110 +59 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +126 +45 +163 +104 +61 +48 +58 +59 +161 +144 +134 +255 +215 +190 +234 +204 +183 +63 +74 +74 +95 +78 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +135 +94 +64 +62 +63 +61 +43 +57 +62 +58 +69 +70 +43 +57 +62 +51 +62 +63 +125 +90 +64 +225 +124 +48 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +97 +98 +96 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +125 +52 +227 +126 +50 +173 +106 +60 +95 +78 +64 +56 +64 +60 +51 +62 +63 +120 +114 +108 +70 +79 +77 +89 +75 +66 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +163 +104 +61 +65 +67 +64 +41 +58 +57 +55 +66 +67 +51 +62 +63 +48 +58 +59 +106 +82 +65 +209 +117 +53 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +249 +146 +83 +248 +138 +64 +247 +130 +53 +247 +130 +60 +250 +139 +73 +246 +156 +93 +250 +176 +132 +186 +157 +134 +41 +58 +57 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +199 +115 +54 +89 +75 +66 +48 +58 +59 +51 +62 +63 +55 +66 +67 +43 +57 +62 +76 +70 +64 +173 +106 +60 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +137 +127 +115 +234 +204 +183 +63 +74 +74 +135 +94 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +199 +115 +54 +125 +90 +64 +69 +69 +61 +41 +58 +57 +97 +98 +96 +146 +135 +124 +51 +62 +63 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +214 +121 +50 +106 +82 +65 +48 +58 +59 +51 +62 +63 +55 +66 +67 +41 +58 +57 +65 +67 +64 +163 +104 +61 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +197 +158 +251 +168 +115 +247 +150 +84 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +246 +116 +28 +247 +130 +53 +247 +143 +74 +249 +159 +103 +252 +185 +144 +154 +133 +118 +24 +22 +23 +108 +87 +46 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +71 +60 +43 +85 +71 +43 +171 +129 +45 +160 +120 +43 +216 +194 +154 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +237 +233 +225 +65 +58 +56 +62 +63 +61 +219 +212 +208 +253 +255 +252 +237 +233 +225 +120 +114 +108 +35 +31 +30 +55 +48 +48 +227 +196 +175 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +51 +62 +63 +84 +85 +82 +187 +166 +150 +227 +196 +175 +227 +196 +175 +161 +144 +134 +51 +62 +63 +69 +69 +61 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +91 +92 +89 +217 +187 +166 +55 +66 +67 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +75 +74 +61 +58 +69 +70 +187 +166 +150 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +161 +144 +134 +43 +57 +62 +100 +89 +56 +171 +129 +45 +158 +125 +46 +158 +125 +46 +161 +127 +40 +75 +74 +61 +84 +85 +82 +234 +204 +183 +76 +78 +76 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +62 +63 +61 +63 +74 +74 +176 +156 +141 +227 +196 +175 +227 +196 +175 +176 +156 +141 +70 +79 +77 +62 +63 +61 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +97 +98 +96 +172 +150 +134 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +105 +93 +60 +43 +57 +62 +120 +114 +108 +207 +178 +158 +227 +196 +175 +217 +187 +166 +120 +114 +108 +41 +58 +57 +95 +87 +59 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +56 +64 +60 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +146 +135 +124 +207 +178 +158 +48 +58 +59 +111 +94 +57 +171 +129 +45 +158 +125 +46 +168 +127 +42 +152 +119 +47 +62 +63 +61 +70 +79 +77 +207 +178 +158 +255 +215 +190 +255 +215 +190 +255 +215 +190 +238 +205 +179 +137 +127 +115 +43 +57 +62 +117 +98 +55 +168 +127 +42 +158 +125 +46 +168 +127 +42 +152 +119 +47 +62 +63 +61 +109 +106 +99 +255 +215 +190 +161 +144 +134 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +106 +82 +65 +41 +58 +57 +137 +127 +115 +217 +187 +166 +227 +196 +175 +207 +178 +158 +109 +106 +99 +41 +58 +57 +146 +97 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +176 +156 +141 +245 +212 +186 +70 +79 +77 +95 +78 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +188 +112 +56 +56 +64 +60 +70 +79 +77 +176 +156 +141 +227 +196 +175 +227 +196 +175 +176 +156 +141 +63 +74 +74 +62 +63 +61 +194 +112 +58 +227 +126 +50 +224 +123 +55 +227 +126 +50 +227 +126 +50 +95 +78 +64 +77 +85 +81 +245 +212 +186 +172 +150 +134 +48 +58 +59 +173 +106 +60 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +135 +94 +64 +35 +56 +60 +120 +114 +108 +207 +178 +158 +227 +196 +175 +217 +187 +166 +133 +120 +107 +35 +56 +60 +118 +86 +65 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +95 +78 +64 +48 +58 +59 +70 +79 +77 +146 +135 +124 +217 +187 +166 +207 +178 +158 +51 +62 +63 +155 +100 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +163 +104 +61 +48 +58 +59 +91 +92 +89 +194 +173 +157 +227 +196 +175 +217 +187 +166 +146 +135 +124 +43 +57 +62 +89 +75 +66 +214 +121 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +247 +165 +111 +247 +150 +84 +248 +138 +64 +247 +130 +60 +248 +138 +64 +249 +146 +83 +247 +165 +111 +239 +182 +144 +91 +92 +89 +76 +70 +64 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +76 +70 +64 +55 +66 +67 +172 +150 +134 +227 +196 +175 +227 +196 +175 +187 +166 +150 +77 +85 +81 +51 +62 +63 +173 +106 +60 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +118 +86 +65 +58 +69 +70 +217 +187 +166 +70 +79 +77 +135 +94 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +225 +124 +48 +125 +90 +64 +56 +64 +60 +55 +66 +67 +120 +114 +108 +187 +166 +150 +245 +212 +186 +120 +114 +108 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +225 +124 +48 +95 +78 +64 +43 +57 +62 +146 +135 +124 +217 +187 +166 +227 +196 +175 +194 +173 +157 +91 +92 +89 +48 +58 +59 +163 +104 +61 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +197 +158 +249 +174 +124 +247 +150 +84 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +249 +146 +83 +251 +168 +115 +239 +182 +144 +65 +58 +56 +59 +50 +39 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +108 +87 +46 +47 +40 +38 +152 +119 +47 +170 +137 +67 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +174 +168 +167 +24 +22 +23 +109 +106 +99 +152 +147 +147 +97 +98 +96 +47 +40 +38 +24 +22 +23 +35 +31 +30 +35 +31 +30 +176 +156 +141 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +76 +78 +76 +227 +196 +175 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +187 +166 +150 +51 +62 +63 +95 +87 +59 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +117 +98 +55 +55 +66 +67 +109 +106 +99 +48 +58 +59 +137 +110 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +117 +98 +55 +48 +58 +59 +187 +166 +150 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +137 +127 +115 +51 +62 +63 +145 +114 +49 +168 +127 +42 +158 +125 +46 +171 +129 +45 +117 +98 +55 +55 +66 +67 +137 +127 +115 +55 +66 +67 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +55 +66 +67 +207 +178 +158 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +217 +187 +166 +58 +69 +70 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +91 +92 +89 +109 +106 +99 +69 +69 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +120 +114 +108 +245 +212 +186 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +137 +127 +115 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +146 +135 +124 +146 +135 +124 +62 +63 +61 +152 +119 +47 +168 +127 +42 +158 +125 +46 +168 +127 +42 +100 +89 +56 +51 +62 +63 +207 +178 +158 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +109 +106 +99 +63 +69 +60 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +100 +89 +56 +51 +62 +63 +227 +196 +175 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +155 +100 +63 +41 +58 +57 +146 +135 +124 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +109 +106 +99 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +224 +123 +55 +76 +70 +64 +109 +106 +99 +194 +173 +157 +43 +57 +62 +163 +104 +61 +234 +125 +52 +224 +123 +55 +224 +123 +55 +225 +124 +48 +89 +75 +66 +63 +74 +74 +217 +187 +166 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +217 +187 +166 +58 +69 +70 +95 +78 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +155 +100 +63 +43 +57 +62 +207 +178 +158 +109 +106 +99 +76 +70 +64 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +51 +62 +63 +120 +114 +108 +253 +212 +188 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +137 +127 +115 +48 +58 +59 +173 +106 +60 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +188 +112 +56 +62 +63 +61 +58 +69 +70 +161 +144 +134 +234 +204 +183 +255 +215 +190 +255 +215 +190 +137 +127 +115 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +212 +120 +56 +69 +69 +61 +77 +85 +81 +234 +204 +183 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +176 +156 +141 +35 +56 +60 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +251 +168 +115 +247 +150 +84 +250 +139 +73 +248 +138 +64 +250 +139 +73 +249 +152 +92 +249 +174 +124 +209 +171 +139 +43 +57 +62 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +112 +85 +63 +51 +62 +63 +194 +173 +157 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +227 +196 +175 +70 +79 +77 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +48 +58 +59 +146 +135 +124 +77 +85 +81 +135 +94 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +214 +121 +50 +95 +78 +64 +35 +56 +60 +120 +114 +108 +217 +187 +166 +255 +215 +190 +255 +215 +190 +227 +196 +175 +58 +69 +70 +125 +90 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +41 +58 +57 +172 +150 +134 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +234 +204 +183 +77 +85 +81 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +51 +62 +63 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +178 +146 +122 +24 +22 +23 +101 +83 +47 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +152 +119 +47 +47 +40 +38 +123 +102 +54 +209 +171 +139 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +164 +158 +157 +24 +22 +23 +24 +22 +23 +24 +22 +23 +24 +22 +23 +24 +22 +23 +35 +31 +30 +35 +31 +30 +47 +40 +38 +194 +173 +157 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +48 +58 +59 +176 +156 +141 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +255 +215 +190 +120 +114 +108 +56 +64 +60 +152 +119 +47 +161 +127 +40 +158 +125 +46 +168 +127 +42 +137 +110 +49 +51 +62 +63 +48 +58 +59 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +63 +74 +74 +194 +173 +157 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +172 +150 +134 +48 +58 +59 +111 +94 +57 +171 +129 +45 +158 +125 +46 +168 +127 +42 +152 +119 +47 +56 +64 +60 +51 +62 +63 +56 +64 +60 +152 +119 +47 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +146 +135 +124 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +146 +135 +124 +51 +62 +63 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +70 +79 +77 +63 +74 +74 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +171 +129 +45 +95 +87 +59 +55 +66 +67 +227 +196 +175 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +234 +204 +183 +70 +79 +77 +88 +82 +59 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +56 +64 +60 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +97 +98 +96 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +84 +85 +82 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +207 +178 +158 +217 +187 +166 +146 +135 +124 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +168 +127 +42 +129 +106 +52 +51 +62 +63 +187 +166 +150 +176 +156 +141 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +89 +75 +66 +70 +79 +77 +245 +212 +186 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +217 +187 +166 +43 +57 +62 +125 +90 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +106 +82 +65 +77 +85 +81 +133 +120 +107 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +48 +58 +59 +161 +144 +134 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +146 +135 +124 +48 +58 +59 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +133 +120 +107 +77 +85 +81 +118 +86 +65 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +125 +90 +64 +55 +66 +67 +227 +196 +175 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +234 +204 +183 +63 +74 +74 +106 +82 +65 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +97 +98 +96 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +224 +123 +55 +89 +75 +66 +63 +74 +74 +217 +187 +166 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +91 +92 +89 +95 +78 +64 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +146 +97 +64 +43 +57 +62 +187 +166 +150 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +255 +215 +190 +101 +100 +92 +76 +70 +64 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +251 +168 +115 +247 +150 +84 +250 +139 +73 +250 +139 +73 +247 +143 +74 +249 +159 +103 +250 +176 +132 +154 +133 +118 +51 +62 +63 +183 +110 +59 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +133 +120 +107 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +176 +156 +141 +43 +57 +62 +163 +104 +61 +234 +125 +52 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +91 +92 +89 +70 +79 +77 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +146 +97 +64 +35 +56 +60 +161 +144 +134 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +194 +173 +157 +48 +58 +59 +163 +104 +61 +234 +126 +45 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +97 +98 +96 +255 +215 +190 +255 +215 +190 +255 +215 +190 +253 +212 +188 +255 +215 +190 +255 +215 +190 +187 +166 +150 +43 +57 +62 +163 +104 +61 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +159 +103 +248 +180 +134 +124 +111 +99 +35 +31 +30 +137 +110 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +59 +50 +39 +85 +71 +43 +216 +194 +154 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +207 +202 +200 +47 +40 +38 +24 +22 +23 +35 +31 +30 +35 +31 +30 +35 +31 +30 +35 +31 +30 +24 +22 +23 +65 +58 +56 +238 +205 +179 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +100 +89 +56 +63 +74 +74 +227 +196 +175 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +251 +209 +178 +255 +215 +190 +194 +173 +157 +48 +58 +59 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +43 +57 +62 +95 +87 +59 +168 +127 +42 +158 +125 +46 +161 +127 +40 +158 +125 +46 +63 +69 +60 +43 +57 +62 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +43 +57 +62 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +75 +74 +61 +43 +57 +62 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +117 +98 +55 +51 +62 +63 +217 +187 +166 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +217 +187 +166 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +48 +58 +59 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +109 +106 +99 +255 +215 +190 +253 +212 +188 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +212 +188 +255 +215 +190 +120 +114 +108 +63 +69 +60 +158 +125 +46 +161 +127 +40 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +120 +114 +108 +70 +79 +77 +105 +93 +60 +171 +129 +45 +158 +125 +46 +168 +127 +42 +152 +119 +47 +56 +64 +60 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +51 +62 +63 +43 +57 +62 +111 +94 +57 +171 +129 +45 +158 +125 +46 +161 +127 +40 +152 +119 +47 +62 +63 +61 +146 +135 +124 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +146 +135 +124 +255 +215 +190 +253 +212 +188 +250 +200 +166 +250 +200 +166 +253 +204 +176 +253 +212 +188 +253 +212 +188 +97 +98 +96 +89 +75 +66 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +139 +96 +61 +51 +62 +63 +63 +74 +74 +89 +75 +66 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +135 +94 +64 +55 +66 +67 +217 +187 +166 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +217 +187 +166 +51 +62 +63 +139 +96 +61 +234 +126 +45 +224 +123 +55 +227 +126 +50 +225 +124 +48 +81 +73 +62 +58 +69 +70 +51 +62 +63 +146 +97 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +224 +123 +55 +81 +73 +62 +109 +106 +99 +255 +215 +190 +253 +212 +188 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +212 +188 +255 +215 +190 +120 +114 +108 +69 +69 +61 +212 +120 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +234 +125 +52 +224 +123 +55 +227 +126 +50 +194 +112 +58 +51 +62 +63 +146 +135 +124 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +234 +204 +183 +70 +79 +77 +118 +86 +65 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +106 +82 +65 +77 +85 +81 +245 +212 +186 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +251 +209 +178 +255 +215 +190 +176 +156 +141 +56 +64 +60 +188 +112 +56 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +251 +168 +115 +249 +152 +92 +247 +143 +74 +247 +143 +74 +247 +150 +84 +249 +159 +103 +248 +180 +134 +120 +114 +108 +69 +69 +61 +212 +120 +56 +227 +126 +50 +224 +123 +55 +234 +125 +52 +155 +100 +63 +43 +57 +62 +194 +173 +157 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +234 +204 +183 +63 +74 +74 +112 +85 +63 +234 +125 +52 +227 +126 +50 +224 +123 +55 +234 +125 +52 +106 +82 +65 +58 +69 +70 +55 +66 +67 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +95 +78 +64 +77 +85 +81 +245 +212 +186 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +48 +58 +59 +172 +150 +134 +255 +215 +190 +251 +209 +178 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +245 +212 +186 +63 +74 +74 +112 +85 +63 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +250 +139 +73 +249 +159 +103 +252 +185 +144 +82 +69 +65 +47 +40 +38 +158 +125 +46 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +85 +71 +43 +59 +50 +39 +216 +194 +154 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +164 +158 +157 +47 +40 +38 +24 +22 +23 +24 +22 +23 +24 +22 +23 +35 +31 +30 +65 +67 +64 +65 +58 +56 +227 +196 +175 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +84 +85 +82 +255 +215 +190 +251 +209 +178 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +200 +166 +253 +212 +188 +227 +196 +175 +58 +69 +70 +105 +93 +60 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +75 +74 +61 +41 +58 +57 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +137 +110 +49 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +41 +58 +57 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +95 +87 +59 +70 +79 +77 +245 +212 +186 +253 +212 +188 +250 +200 +166 +251 +192 +154 +251 +192 +154 +250 +200 +166 +253 +212 +188 +238 +205 +179 +70 +79 +77 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +48 +58 +59 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +168 +127 +42 +152 +119 +47 +56 +64 +60 +146 +135 +124 +255 +215 +190 +253 +204 +176 +250 +197 +158 +251 +192 +154 +251 +192 +154 +253 +204 +176 +255 +215 +190 +172 +150 +134 +51 +62 +63 +145 +114 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +97 +98 +96 +55 +66 +67 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +123 +102 +54 +117 +98 +55 +145 +114 +49 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +137 +127 +115 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +187 +166 +150 +255 +215 +190 +253 +204 +176 +251 +192 +154 +251 +192 +154 +250 +197 +158 +253 +204 +176 +255 +215 +190 +137 +127 +115 +65 +67 +64 +209 +117 +53 +227 +126 +50 +224 +123 +55 +234 +125 +52 +163 +104 +61 +43 +57 +62 +41 +58 +57 +106 +82 +65 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +106 +82 +65 +77 +85 +81 +245 +212 +186 +251 +209 +178 +250 +197 +158 +249 +189 +146 +251 +192 +154 +250 +197 +158 +251 +209 +178 +238 +205 +179 +77 +85 +81 +112 +85 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +106 +82 +65 +41 +58 +57 +48 +58 +59 +163 +104 +61 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +62 +63 +61 +146 +135 +124 +255 +215 +190 +253 +204 +176 +250 +197 +158 +251 +192 +154 +251 +192 +154 +253 +204 +176 +255 +215 +190 +176 +156 +141 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +234 +125 +52 +224 +123 +55 +227 +126 +50 +183 +110 +59 +48 +58 +59 +176 +156 +141 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +227 +196 +175 +58 +69 +70 +139 +96 +61 +234 +125 +52 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +120 +114 +108 +255 +215 +190 +253 +204 +176 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +200 +166 +255 +215 +190 +207 +178 +158 +48 +58 +59 +163 +104 +61 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +192 +154 +249 +174 +124 +246 +156 +93 +247 +150 +84 +249 +146 +83 +249 +152 +92 +251 +168 +115 +249 +189 +146 +97 +98 +96 +89 +75 +66 +225 +124 +48 +227 +126 +50 +224 +123 +55 +234 +126 +45 +125 +90 +64 +58 +69 +70 +227 +196 +175 +253 +212 +188 +250 +200 +166 +251 +192 +154 +249 +189 +146 +250 +197 +158 +251 +209 +178 +255 +215 +190 +97 +98 +96 +89 +75 +66 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +125 +90 +64 +43 +57 +62 +43 +57 +62 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +137 +127 +115 +69 +69 +61 +212 +120 +56 +227 +126 +50 +224 +123 +55 +234 +126 +45 +155 +100 +63 +43 +57 +62 +207 +178 +158 +255 +215 +190 +250 +200 +166 +251 +192 +154 +251 +192 +154 +250 +197 +158 +251 +209 +178 +255 +215 +190 +109 +106 +99 +89 +75 +66 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +143 +74 +249 +159 +103 +252 +185 +144 +55 +48 +48 +59 +50 +39 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +156 +125 +62 +101 +83 +47 +59 +50 +39 +209 +171 +139 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +219 +212 +208 +137 +127 +115 +101 +100 +92 +120 +114 +108 +186 +181 +179 +152 +147 +147 +55 +48 +48 +227 +196 +175 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +97 +98 +96 +255 +215 +190 +253 +204 +176 +251 +192 +154 +249 +189 +146 +249 +189 +146 +250 +197 +158 +251 +209 +178 +234 +204 +183 +70 +79 +77 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +161 +127 +40 +75 +74 +61 +41 +58 +57 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +75 +74 +61 +41 +58 +57 +88 +82 +59 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +88 +82 +59 +77 +85 +81 +245 +212 +186 +251 +209 +178 +250 +197 +158 +249 +189 +146 +249 +189 +146 +250 +197 +158 +251 +209 +178 +245 +212 +186 +84 +85 +82 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +43 +57 +62 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +56 +64 +60 +161 +144 +134 +255 +215 +190 +250 +200 +166 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +255 +215 +190 +187 +166 +150 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +65 +67 +64 +91 +92 +89 +55 +66 +67 +129 +106 +52 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +158 +125 +46 +63 +69 +60 +137 +127 +115 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +173 +106 +60 +48 +58 +59 +187 +166 +150 +255 +215 +190 +250 +200 +166 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +41 +58 +57 +118 +86 +65 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +95 +78 +64 +91 +92 +89 +255 +215 +190 +253 +204 +176 +251 +192 +154 +252 +185 +144 +252 +185 +144 +251 +192 +154 +253 +204 +176 +245 +212 +186 +91 +92 +89 +106 +82 +65 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +112 +85 +63 +41 +58 +57 +48 +58 +59 +173 +106 +60 +234 +125 +52 +224 +123 +55 +227 +126 +50 +199 +115 +54 +56 +64 +60 +161 +144 +134 +255 +215 +190 +250 +200 +166 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +255 +215 +190 +187 +166 +150 +48 +58 +59 +183 +110 +59 +234 +125 +52 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +176 +156 +141 +255 +215 +190 +253 +212 +188 +251 +209 +178 +253 +212 +188 +217 +187 +166 +55 +66 +67 +146 +97 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +214 +121 +50 +69 +69 +61 +137 +127 +115 +255 +215 +190 +253 +204 +176 +251 +192 +154 +249 +189 +146 +249 +189 +146 +250 +200 +166 +253 +212 +188 +217 +187 +166 +51 +62 +63 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +250 +197 +158 +249 +174 +124 +249 +159 +103 +249 +152 +92 +249 +152 +92 +249 +159 +103 +249 +174 +124 +250 +197 +158 +91 +92 +89 +95 +78 +64 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +125 +90 +64 +70 +79 +77 +234 +204 +183 +251 +209 +178 +250 +197 +158 +249 +189 +146 +252 +185 +144 +251 +192 +154 +253 +204 +176 +255 +215 +190 +120 +114 +108 +81 +73 +62 +224 +123 +55 +227 +126 +50 +224 +123 +55 +234 +126 +45 +135 +94 +64 +41 +58 +57 +41 +58 +57 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +253 +212 +188 +253 +212 +188 +251 +209 +178 +251 +209 +178 +255 +215 +190 +137 +127 +115 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +146 +97 +64 +51 +62 +63 +227 +196 +175 +253 +212 +188 +250 +197 +158 +249 +189 +146 +249 +189 +146 +251 +192 +154 +253 +204 +176 +255 +215 +190 +120 +114 +108 +81 +73 +62 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +139 +96 +61 +51 +62 +63 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +250 +139 +73 +249 +159 +103 +252 +185 +144 +55 +48 +48 +59 +50 +39 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +154 +125 +71 +170 +137 +67 +108 +87 +46 +59 +50 +39 +192 +155 +91 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +186 +181 +179 +47 +40 +38 +65 +58 +56 +245 +212 +186 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +84 +85 +82 +253 +212 +188 +251 +209 +178 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +200 +166 +253 +212 +188 +234 +204 +183 +63 +74 +74 +100 +89 +56 +171 +129 +45 +158 +125 +46 +158 +125 +46 +161 +127 +40 +75 +74 +61 +41 +58 +57 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +111 +94 +57 +56 +64 +60 +43 +57 +62 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +95 +87 +59 +70 +79 +77 +245 +212 +186 +251 +209 +178 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +197 +158 +251 +209 +178 +245 +212 +186 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +43 +57 +62 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +158 +125 +46 +152 +119 +47 +56 +64 +60 +161 +144 +134 +255 +215 +190 +253 +204 +176 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +255 +215 +190 +176 +156 +141 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +91 +92 +89 +55 +66 +67 +123 +102 +54 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +145 +114 +49 +100 +89 +56 +48 +58 +59 +187 +166 +150 +176 +156 +141 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +176 +156 +141 +255 +215 +190 +250 +200 +166 +251 +192 +154 +251 +192 +154 +250 +197 +158 +253 +204 +176 +255 +215 +190 +146 +135 +124 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +234 +125 +52 +163 +104 +61 +48 +58 +59 +41 +58 +57 +112 +85 +63 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +106 +82 +65 +84 +85 +82 +255 +215 +190 +251 +209 +178 +250 +197 +158 +249 +189 +146 +249 +189 +146 +250 +197 +158 +251 +209 +178 +238 +205 +179 +84 +85 +82 +106 +82 +65 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +106 +82 +65 +41 +58 +57 +48 +58 +59 +173 +106 +60 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +146 +135 +124 +255 +215 +190 +253 +204 +176 +251 +192 +154 +249 +189 +146 +251 +192 +154 +250 +200 +166 +255 +215 +190 +176 +156 +141 +51 +62 +63 +183 +110 +59 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +176 +156 +141 +253 +212 +188 +253 +204 +176 +250 +200 +166 +253 +204 +176 +217 +187 +166 +55 +66 +67 +146 +97 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +120 +114 +108 +255 +215 +190 +253 +204 +176 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +200 +166 +253 +212 +188 +207 +178 +158 +48 +58 +59 +163 +104 +61 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +250 +200 +166 +248 +180 +134 +251 +168 +115 +247 +165 +111 +247 +165 +111 +251 +168 +115 +248 +180 +134 +250 +200 +166 +91 +92 +89 +89 +75 +66 +225 +124 +48 +227 +126 +50 +224 +123 +55 +234 +126 +45 +125 +90 +64 +63 +74 +74 +227 +196 +175 +251 +209 +178 +250 +197 +158 +249 +189 +146 +249 +189 +146 +250 +197 +158 +253 +204 +176 +255 +215 +190 +109 +106 +99 +89 +75 +66 +225 +124 +48 +227 +126 +50 +224 +123 +55 +234 +125 +52 +125 +90 +64 +43 +57 +62 +41 +58 +57 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +253 +212 +188 +253 +204 +176 +250 +200 +166 +250 +200 +166 +251 +209 +178 +137 +127 +115 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +155 +100 +63 +43 +57 +62 +217 +187 +166 +253 +212 +188 +250 +200 +166 +251 +192 +154 +249 +189 +146 +250 +197 +158 +253 +204 +176 +255 +215 +190 +120 +114 +108 +81 +73 +62 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +250 +139 +73 +249 +159 +103 +248 +180 +134 +76 +70 +64 +47 +40 +38 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +156 +125 +62 +154 +125 +71 +170 +137 +67 +101 +83 +47 +59 +50 +39 +170 +137 +67 +255 +238 +227 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +152 +147 +147 +35 +31 +30 +24 +22 +23 +115 +102 +92 +255 +215 +190 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +171 +129 +45 +105 +93 +60 +58 +69 +70 +227 +196 +175 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +207 +178 +158 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +43 +57 +62 +100 +89 +56 +171 +129 +45 +158 +125 +46 +161 +127 +40 +158 +125 +46 +75 +74 +61 +48 +58 +59 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +48 +58 +59 +101 +100 +92 +91 +92 +89 +75 +74 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +111 +94 +57 +55 +66 +67 +227 +196 +175 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +255 +215 +190 +227 +196 +175 +51 +62 +63 +105 +93 +60 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +48 +58 +59 +48 +58 +59 +123 +102 +54 +168 +127 +42 +158 +125 +46 +161 +127 +40 +158 +125 +46 +69 +69 +61 +120 +114 +108 +255 +215 +190 +251 +209 +178 +250 +200 +166 +250 +197 +158 +250 +200 +166 +251 +209 +178 +255 +215 +190 +146 +135 +124 +56 +64 +60 +152 +119 +47 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +109 +106 +99 +63 +74 +74 +111 +94 +57 +171 +129 +45 +158 +125 +46 +161 +127 +40 +152 +119 +47 +69 +69 +61 +51 +62 +63 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +56 +64 +60 +51 +62 +63 +48 +58 +59 +120 +114 +108 +245 +212 +186 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +62 +63 +61 +137 +127 +115 +255 +215 +190 +251 +209 +178 +250 +200 +166 +250 +200 +166 +250 +200 +166 +253 +212 +188 +255 +215 +190 +109 +106 +99 +81 +73 +62 +224 +123 +55 +227 +126 +50 +224 +123 +55 +234 +125 +52 +155 +100 +63 +48 +58 +59 +43 +57 +62 +95 +78 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +125 +90 +64 +63 +74 +74 +227 +196 +175 +253 +212 +188 +250 +200 +166 +250 +197 +158 +250 +197 +158 +253 +204 +176 +255 +215 +190 +227 +196 +175 +55 +66 +67 +125 +90 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +89 +75 +66 +48 +58 +59 +48 +58 +59 +155 +100 +63 +234 +126 +45 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +120 +114 +108 +255 +215 +190 +251 +209 +178 +250 +200 +166 +250 +197 +158 +250 +200 +166 +251 +209 +178 +255 +215 +190 +137 +127 +115 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +97 +98 +96 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +48 +58 +59 +176 +156 +141 +251 +209 +178 +250 +200 +166 +250 +197 +158 +250 +200 +166 +227 +196 +175 +63 +74 +74 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +95 +78 +64 +91 +92 +89 +253 +212 +188 +253 +212 +188 +250 +200 +166 +250 +200 +166 +250 +200 +166 +251 +209 +178 +255 +215 +190 +172 +150 +134 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +251 +209 +178 +251 +192 +154 +250 +176 +132 +249 +174 +124 +249 +174 +124 +248 +180 +134 +251 +192 +154 +251 +209 +178 +109 +106 +99 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +146 +97 +64 +43 +57 +62 +217 +187 +166 +255 +215 +190 +253 +204 +176 +250 +197 +158 +250 +197 +158 +250 +200 +166 +253 +212 +188 +245 +212 +186 +70 +79 +77 +106 +82 +65 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +112 +85 +63 +51 +62 +63 +51 +62 +63 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +245 +212 +186 +250 +200 +166 +251 +192 +154 +250 +197 +158 +253 +204 +176 +146 +135 +124 +65 +67 +64 +209 +117 +53 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +187 +166 +150 +255 +215 +190 +253 +204 +176 +250 +200 +166 +250 +197 +158 +250 +200 +166 +253 +212 +188 +255 +215 +190 +84 +85 +82 +95 +78 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +109 +10 +247 +111 +26 +247 +123 +41 +248 +138 +64 +249 +152 +92 +249 +174 +124 +121 +100 +85 +35 +31 +30 +108 +87 +46 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +156 +125 +62 +154 +125 +71 +154 +125 +71 +171 +129 +45 +85 +71 +43 +71 +60 +43 +171 +129 +45 +224 +207 +180 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +237 +233 +225 +174 +168 +167 +81 +77 +76 +24 +22 +23 +35 +31 +30 +35 +31 +30 +187 +166 +150 +255 +215 +190 +255 +215 +190 +234 +204 +183 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +51 +62 +63 +176 +156 +141 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +146 +135 +124 +51 +62 +63 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +152 +119 +47 +56 +64 +60 +43 +57 +62 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +48 +58 +59 +146 +135 +124 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +172 +150 +134 +172 +150 +134 +146 +135 +124 +146 +135 +124 +194 +173 +157 +245 +212 +186 +137 +127 +115 +63 +69 +60 +158 +125 +46 +161 +127 +40 +158 +125 +46 +168 +127 +42 +137 +110 +49 +51 +62 +63 +161 +144 +134 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +161 +144 +134 +48 +58 +59 +137 +110 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +55 +66 +67 +51 +62 +63 +105 +93 +60 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +70 +79 +77 +245 +212 +186 +255 +215 +190 +253 +212 +188 +251 +209 +178 +253 +212 +188 +255 +215 +190 +255 +215 +190 +91 +92 +89 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +133 +120 +107 +84 +85 +82 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +75 +74 +61 +55 +66 +67 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +161 +144 +134 +172 +150 +134 +172 +150 +134 +137 +127 +115 +146 +135 +124 +207 +178 +158 +245 +212 +186 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +76 +78 +76 +245 +212 +186 +255 +215 +190 +253 +212 +188 +253 +212 +188 +253 +212 +188 +255 +215 +190 +227 +196 +175 +58 +69 +70 +118 +86 +65 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +125 +90 +64 +63 +74 +74 +97 +98 +96 +76 +70 +64 +214 +121 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +163 +104 +61 +48 +58 +59 +187 +166 +150 +255 +215 +190 +255 +215 +190 +251 +209 +178 +251 +209 +178 +255 +215 +190 +255 +215 +190 +176 +156 +141 +48 +58 +59 +173 +106 +60 +227 +126 +50 +224 +123 +55 +227 +126 +50 +212 +120 +56 +69 +69 +61 +101 +100 +92 +63 +74 +74 +125 +90 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +106 +82 +65 +63 +74 +74 +234 +204 +183 +255 +215 +190 +253 +212 +188 +253 +212 +188 +253 +212 +188 +255 +215 +190 +245 +212 +186 +70 +79 +77 +89 +75 +66 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +176 +156 +141 +253 +204 +176 +251 +192 +154 +251 +192 +154 +251 +192 +154 +250 +200 +166 +77 +85 +81 +106 +82 +65 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +135 +94 +64 +51 +62 +63 +217 +187 +166 +255 +215 +190 +255 +215 +190 +253 +212 +188 +253 +212 +188 +255 +215 +190 +255 +215 +190 +109 +106 +99 +76 +70 +64 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +255 +215 +190 +250 +200 +166 +251 +192 +154 +252 +185 +144 +252 +185 +144 +251 +192 +154 +250 +200 +166 +255 +215 +190 +146 +135 +124 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +51 +62 +63 +146 +135 +124 +255 +215 +190 +255 +215 +190 +251 +209 +178 +251 +209 +178 +253 +212 +188 +255 +215 +190 +194 +173 +157 +43 +57 +62 +146 +97 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +77 +85 +81 +63 +74 +74 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +251 +209 +178 +250 +197 +158 +249 +189 +146 +249 +189 +146 +250 +200 +166 +172 +150 +134 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +120 +114 +108 +255 +215 +190 +255 +215 +190 +253 +212 +188 +251 +209 +178 +253 +212 +188 +255 +215 +190 +217 +187 +166 +51 +62 +63 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +60 +247 +150 +84 +251 +168 +115 +187 +140 +108 +24 +22 +23 +59 +50 +39 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +156 +125 +62 +154 +125 +71 +154 +125 +71 +154 +125 +71 +156 +125 +62 +158 +125 +46 +47 +40 +38 +108 +87 +46 +158 +125 +46 +195 +167 +113 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +219 +212 +208 +164 +158 +157 +109 +106 +99 +65 +58 +56 +24 +22 +23 +24 +22 +23 +94 +60 +47 +178 +86 +46 +59 +50 +39 +150 +125 +114 +255 +215 +190 +255 +215 +190 +234 +204 +183 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +69 +69 +61 +84 +85 +82 +234 +204 +183 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +217 +187 +166 +55 +66 +67 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +123 +102 +54 +51 +62 +63 +76 +78 +76 +56 +64 +60 +152 +119 +47 +168 +127 +42 +158 +125 +46 +168 +127 +42 +129 +106 +52 +48 +58 +59 +161 +144 +134 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +217 +187 +166 +133 +120 +107 +77 +85 +81 +77 +85 +81 +146 +135 +124 +245 +212 +186 +176 +156 +141 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +75 +74 +61 +63 +74 +74 +227 +196 +175 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +234 +204 +183 +76 +78 +76 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +77 +85 +81 +77 +85 +81 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +48 +58 +59 +146 +135 +124 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +172 +150 +134 +48 +58 +59 +117 +98 +55 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +146 +135 +124 +120 +114 +108 +69 +69 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +111 +94 +57 +51 +62 +63 +176 +156 +141 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +194 +173 +157 +120 +114 +108 +70 +79 +77 +84 +85 +82 +161 +144 +134 +255 +215 +190 +255 +215 +190 +161 +144 +134 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +155 +100 +63 +41 +58 +57 +161 +144 +134 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +137 +127 +115 +48 +58 +59 +183 +110 +59 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +89 +75 +66 +97 +98 +96 +172 +150 +134 +48 +58 +59 +183 +110 +59 +227 +126 +50 +224 +123 +55 +227 +126 +50 +214 +121 +50 +76 +70 +64 +84 +85 +82 +234 +204 +183 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +234 +204 +183 +77 +85 +81 +81 +73 +62 +224 +123 +55 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +176 +156 +141 +97 +98 +96 +95 +78 +64 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +146 +135 +124 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +161 +144 +134 +41 +58 +57 +155 +100 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +176 +156 +141 +250 +200 +166 +249 +189 +146 +252 +185 +144 +249 +189 +146 +250 +200 +166 +120 +114 +108 +69 +69 +61 +214 +121 +50 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +101 +100 +92 +245 +212 +186 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +187 +166 +150 +43 +57 +62 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +255 +215 +190 +253 +212 +188 +253 +204 +176 +250 +200 +166 +250 +200 +166 +253 +204 +176 +253 +212 +188 +255 +215 +190 +187 +166 +150 +41 +58 +57 +155 +100 +63 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +95 +78 +64 +58 +69 +70 +227 +196 +175 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +91 +92 +89 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +62 +63 +61 +133 +120 +107 +77 +85 +81 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +253 +204 +176 +251 +192 +154 +252 +185 +144 +252 +185 +144 +251 +192 +154 +212 +173 +150 +48 +58 +59 +155 +100 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +118 +86 +65 +51 +62 +63 +207 +178 +158 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +109 +106 +99 +56 +64 +60 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +247 +111 +26 +246 +116 +28 +247 +130 +53 +247 +143 +74 +249 +159 +103 +248 +180 +134 +89 +75 +66 +24 +22 +23 +85 +71 +43 +171 +129 +45 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +156 +125 +62 +154 +125 +71 +154 +125 +71 +154 +125 +71 +156 +125 +62 +175 +132 +40 +85 +71 +43 +47 +40 +38 +158 +125 +46 +158 +125 +46 +170 +137 +67 +237 +233 +225 +253 +255 +252 +253 +255 +252 +253 +255 +252 +207 +202 +200 +164 +158 +157 +146 +135 +124 +120 +114 +108 +89 +84 +82 +65 +58 +56 +47 +40 +38 +24 +22 +23 +24 +22 +23 +35 +31 +30 +94 +60 +47 +178 +86 +46 +226 +110 +35 +241 +100 +24 +144 +77 +47 +65 +58 +56 +253 +212 +188 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +129 +106 +52 +48 +58 +59 +101 +100 +92 +217 +187 +166 +245 +212 +186 +245 +212 +186 +194 +173 +157 +76 +78 +76 +56 +64 +60 +145 +114 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +171 +129 +45 +88 +82 +59 +77 +85 +81 +176 +156 +141 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +95 +87 +59 +41 +58 +57 +137 +127 +115 +227 +196 +175 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +207 +178 +158 +120 +114 +108 +48 +58 +59 +62 +63 +61 +100 +89 +56 +95 +87 +59 +51 +62 +63 +120 +114 +108 +227 +196 +175 +55 +66 +67 +100 +89 +56 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +137 +110 +49 +51 +62 +63 +84 +85 +82 +207 +178 +158 +245 +212 +186 +245 +212 +186 +207 +178 +158 +97 +98 +96 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +91 +92 +89 +120 +114 +108 +63 +69 +60 +158 +125 +46 +161 +127 +40 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +43 +57 +62 +161 +144 +134 +227 +196 +175 +253 +212 +188 +234 +204 +183 +161 +144 +134 +51 +62 +63 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +146 +135 +124 +176 +156 +141 +48 +58 +59 +137 +110 +49 +171 +129 +45 +158 +125 +46 +161 +127 +40 +158 +125 +46 +75 +74 +61 +43 +57 +62 +161 +144 +134 +234 +204 +183 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +194 +173 +157 +109 +106 +99 +43 +57 +62 +69 +69 +61 +105 +93 +60 +88 +82 +59 +48 +58 +59 +146 +135 +124 +255 +215 +190 +161 +144 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +225 +124 +48 +95 +78 +64 +43 +57 +62 +161 +144 +134 +234 +204 +183 +245 +212 +186 +227 +196 +175 +146 +135 +124 +35 +56 +60 +125 +90 +64 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +188 +112 +56 +51 +62 +63 +161 +144 +134 +234 +204 +183 +51 +62 +63 +125 +90 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +125 +52 +163 +104 +61 +43 +57 +62 +97 +98 +96 +207 +178 +158 +245 +212 +186 +245 +212 +186 +207 +178 +158 +91 +92 +89 +48 +58 +59 +173 +106 +60 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +118 +86 +65 +55 +66 +67 +234 +204 +183 +146 +135 +124 +56 +64 +60 +194 +112 +58 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +112 +85 +63 +35 +56 +60 +146 +135 +124 +227 +196 +175 +253 +212 +188 +234 +204 +183 +161 +144 +134 +43 +57 +62 +95 +78 +64 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +176 +156 +141 +250 +197 +158 +252 +185 +144 +248 +180 +134 +248 +180 +134 +251 +192 +154 +172 +150 +134 +48 +58 +59 +173 +106 +60 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +41 +58 +57 +120 +114 +108 +217 +187 +166 +245 +212 +186 +234 +204 +183 +176 +156 +141 +58 +69 +70 +81 +73 +62 +214 +121 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +255 +215 +190 +255 +215 +190 +217 +187 +166 +133 +120 +107 +84 +85 +82 +91 +92 +89 +146 +135 +124 +234 +204 +183 +238 +205 +179 +63 +74 +74 +95 +78 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +84 +85 +82 +194 +173 +157 +245 +212 +186 +245 +212 +186 +217 +187 +166 +109 +106 +99 +41 +58 +57 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +146 +97 +64 +51 +62 +63 +187 +166 +150 +76 +78 +76 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +97 +98 +96 +250 +200 +166 +249 +189 +146 +248 +180 +134 +248 +180 +134 +252 +185 +144 +232 +190 +161 +70 +79 +77 +112 +85 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +199 +115 +54 +65 +67 +64 +70 +79 +77 +187 +166 +150 +238 +205 +179 +245 +212 +186 +217 +187 +166 +133 +120 +107 +35 +56 +60 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +123 +41 +247 +130 +60 +247 +150 +84 +251 +168 +115 +203 +161 +131 +55 +48 +48 +24 +22 +23 +71 +60 +43 +145 +114 +49 +171 +129 +45 +171 +129 +45 +158 +125 +46 +156 +125 +62 +154 +125 +71 +154 +125 +71 +156 +125 +62 +156 +125 +62 +171 +129 +45 +171 +129 +45 +101 +83 +47 +35 +31 +30 +123 +102 +54 +171 +129 +45 +158 +125 +46 +160 +120 +43 +224 +207 +180 +253 +255 +252 +253 +255 +252 +219 +212 +208 +47 +40 +38 +24 +22 +23 +24 +22 +23 +24 +22 +23 +24 +22 +23 +24 +22 +23 +35 +31 +30 +35 +31 +30 +24 +22 +23 +47 +40 +38 +226 +110 +35 +241 +100 +24 +226 +110 +35 +226 +110 +35 +144 +77 +47 +55 +48 +48 +238 +205 +179 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +123 +102 +54 +56 +64 +60 +51 +62 +63 +84 +85 +82 +84 +85 +82 +48 +58 +59 +63 +69 +60 +129 +106 +52 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +56 +64 +60 +137 +127 +115 +245 +212 +186 +84 +85 +82 +69 +69 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +158 +125 +46 +95 +87 +59 +48 +58 +59 +63 +74 +74 +109 +106 +99 +133 +120 +107 +133 +120 +107 +91 +92 +89 +51 +62 +63 +56 +64 +60 +100 +89 +56 +152 +119 +47 +171 +129 +45 +175 +132 +40 +100 +89 +56 +48 +58 +59 +217 +187 +166 +120 +114 +108 +63 +69 +60 +152 +119 +47 +161 +127 +40 +158 +125 +46 +158 +125 +46 +168 +127 +42 +129 +106 +52 +61 +67 +58 +51 +62 +63 +84 +85 +82 +84 +85 +82 +51 +62 +63 +56 +64 +60 +123 +102 +54 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +97 +98 +96 +187 +166 +150 +48 +58 +59 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +158 +125 +46 +83 +78 +61 +48 +58 +59 +63 +74 +74 +91 +92 +89 +70 +79 +77 +48 +58 +59 +75 +74 +61 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +146 +135 +124 +234 +204 +183 +63 +74 +74 +83 +78 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +152 +119 +47 +83 +78 +61 +48 +58 +59 +70 +79 +77 +109 +106 +99 +133 +120 +107 +120 +114 +108 +84 +85 +82 +48 +58 +59 +61 +67 +58 +111 +94 +57 +158 +125 +46 +171 +129 +45 +171 +129 +45 +88 +82 +59 +58 +69 +70 +238 +205 +179 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +212 +120 +56 +95 +78 +64 +43 +57 +62 +70 +79 +77 +84 +85 +82 +63 +74 +74 +48 +58 +59 +118 +86 +65 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +112 +85 +63 +55 +66 +67 +227 +196 +175 +255 +215 +190 +120 +114 +108 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +155 +100 +63 +62 +63 +61 +51 +62 +63 +77 +85 +81 +77 +85 +81 +51 +62 +63 +62 +63 +61 +155 +100 +63 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +199 +115 +54 +56 +64 +60 +120 +114 +108 +255 +215 +190 +217 +187 +166 +43 +57 +62 +125 +90 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +106 +82 +65 +48 +58 +59 +63 +74 +74 +84 +85 +82 +70 +79 +77 +43 +57 +62 +95 +78 +64 +212 +120 +56 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +172 +150 +134 +251 +192 +154 +248 +180 +134 +249 +174 +124 +249 +174 +124 +248 +180 +134 +236 +186 +153 +63 +74 +74 +95 +78 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +135 +94 +64 +51 +62 +63 +55 +66 +67 +84 +85 +82 +70 +79 +77 +41 +58 +57 +81 +73 +62 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +255 +215 +190 +194 +173 +157 +58 +69 +70 +62 +63 +61 +106 +82 +65 +95 +78 +64 +51 +62 +63 +91 +92 +89 +238 +205 +179 +161 +144 +134 +48 +58 +59 +183 +110 +59 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +125 +52 +173 +106 +60 +65 +67 +64 +48 +58 +59 +77 +85 +81 +84 +85 +82 +55 +66 +67 +56 +64 +60 +146 +97 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +69 +69 +61 +101 +100 +92 +227 +196 +175 +63 +74 +74 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +250 +197 +158 +252 +185 +144 +249 +174 +124 +249 +174 +124 +250 +176 +132 +251 +192 +154 +120 +114 +108 +62 +63 +61 +209 +117 +53 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +188 +112 +56 +76 +70 +64 +41 +58 +57 +77 +85 +81 +84 +85 +82 +58 +69 +70 +48 +58 +59 +125 +90 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +243 +101 +2 +247 +103 +7 +247 +103 +7 +247 +111 +26 +247 +118 +39 +247 +130 +53 +250 +139 +73 +246 +156 +93 +249 +174 +124 +203 +161 +131 +55 +48 +48 +24 +22 +23 +35 +31 +30 +85 +71 +43 +137 +110 +49 +152 +119 +47 +168 +127 +42 +171 +129 +45 +171 +129 +45 +168 +127 +42 +152 +119 +47 +117 +98 +55 +59 +50 +39 +35 +31 +30 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +152 +119 +47 +224 +207 +180 +253 +255 +252 +253 +255 +252 +253 +255 +252 +146 +135 +124 +65 +58 +56 +35 +31 +30 +24 +22 +23 +24 +22 +23 +35 +31 +30 +35 +31 +30 +35 +31 +30 +35 +31 +30 +24 +22 +23 +83 +53 +42 +236 +108 +29 +236 +108 +29 +226 +110 +35 +94 +60 +47 +65 +58 +56 +253 +212 +188 +255 +215 +190 +238 +205 +179 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +168 +127 +42 +145 +114 +49 +105 +93 +60 +83 +78 +61 +83 +78 +61 +111 +94 +57 +158 +125 +46 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +88 +82 +59 +51 +62 +63 +217 +187 +166 +255 +215 +190 +176 +156 +141 +43 +57 +62 +105 +93 +60 +171 +129 +45 +158 +125 +46 +158 +125 +46 +161 +127 +40 +168 +127 +42 +137 +110 +49 +88 +82 +59 +69 +69 +61 +62 +63 +61 +63 +69 +60 +75 +74 +61 +105 +93 +60 +152 +119 +47 +171 +129 +45 +168 +127 +42 +158 +125 +46 +171 +129 +45 +129 +106 +52 +48 +58 +59 +194 +173 +157 +207 +178 +158 +43 +57 +62 +100 +89 +56 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +152 +119 +47 +111 +94 +57 +83 +78 +61 +83 +78 +61 +105 +93 +60 +145 +114 +49 +168 +127 +42 +161 +127 +40 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +84 +85 +82 +245 +212 +186 +77 +85 +81 +75 +74 +61 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +129 +106 +52 +95 +87 +59 +81 +73 +62 +95 +87 +59 +123 +102 +54 +168 +127 +42 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +56 +64 +60 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +255 +215 +190 +161 +144 +134 +48 +58 +59 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +129 +106 +52 +88 +82 +59 +69 +69 +61 +62 +63 +61 +63 +69 +60 +75 +74 +61 +117 +98 +55 +152 +119 +47 +171 +129 +45 +161 +127 +40 +158 +125 +46 +171 +129 +45 +111 +94 +57 +48 +58 +59 +227 +196 +175 +176 +156 +141 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +227 +126 +50 +163 +104 +61 +112 +85 +63 +95 +78 +64 +118 +86 +65 +173 +106 +60 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +183 +110 +59 +51 +62 +63 +133 +120 +107 +255 +215 +190 +255 +215 +190 +217 +187 +166 +51 +62 +63 +106 +82 +65 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +199 +115 +54 +135 +94 +64 +95 +78 +64 +95 +78 +64 +135 +94 +64 +199 +115 +54 +234 +125 +52 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +106 +82 +65 +51 +62 +63 +217 +187 +166 +255 +215 +190 +255 +215 +190 +120 +114 +108 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +173 +106 +60 +118 +86 +65 +95 +78 +64 +112 +85 +63 +163 +104 +61 +227 +126 +50 +227 +126 +50 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +101 +100 +92 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +172 +150 +134 +252 +185 +144 +249 +174 +124 +247 +165 +111 +247 +165 +111 +249 +174 +124 +252 +185 +144 +154 +133 +118 +48 +58 +59 +163 +104 +61 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +188 +112 +56 +125 +90 +64 +95 +78 +64 +106 +82 +65 +155 +100 +63 +224 +123 +55 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +137 +127 +115 +253 +212 +188 +91 +92 +89 +69 +69 +61 +194 +112 +58 +234 +126 +45 +234 +126 +45 +163 +104 +61 +51 +62 +63 +137 +127 +115 +238 +205 +179 +63 +74 +74 +89 +75 +66 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +209 +117 +53 +146 +97 +64 +106 +82 +65 +95 +78 +64 +125 +90 +64 +194 +112 +58 +234 +126 +45 +227 +126 +50 +224 +123 +55 +227 +126 +50 +234 +126 +45 +125 +90 +64 +41 +58 +57 +194 +173 +157 +238 +205 +179 +63 +74 +74 +135 +94 +64 +234 +125 +52 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +251 +192 +154 +250 +176 +132 +251 +168 +115 +247 +165 +111 +249 +174 +124 +245 +179 +138 +195 +157 +134 +41 +58 +57 +135 +94 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +125 +52 +214 +121 +50 +146 +97 +64 +106 +82 +65 +95 +78 +64 +125 +90 +64 +183 +110 +59 +227 +126 +50 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +125 +52 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +249 +152 +92 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +247 +103 +7 +246 +109 +10 +247 +111 +26 +247 +118 +39 +247 +130 +53 +247 +143 +74 +249 +159 +103 +250 +176 +132 +219 +170 +138 +115 +102 +92 +47 +40 +38 +24 +22 +23 +35 +31 +30 +47 +40 +38 +59 +50 +39 +59 +50 +39 +59 +50 +39 +59 +50 +39 +47 +40 +38 +47 +40 +38 +71 +60 +43 +137 +110 +49 +171 +129 +45 +158 +125 +46 +158 +125 +46 +152 +119 +47 +170 +137 +67 +219 +212 +208 +237 +233 +225 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +219 +212 +208 +152 +147 +147 +109 +106 +99 +65 +67 +64 +35 +31 +30 +35 +31 +30 +35 +31 +30 +35 +31 +30 +24 +22 +23 +94 +60 +47 +178 +86 +46 +109 +63 +45 +35 +31 +30 +124 +111 +99 +251 +209 +178 +251 +209 +178 +234 +204 +183 +76 +78 +76 +95 +87 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +117 +98 +55 +129 +106 +52 +168 +127 +42 +168 +127 +42 +171 +129 +45 +168 +127 +42 +168 +127 +42 +171 +129 +45 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +117 +98 +55 +48 +58 +59 +146 +135 +124 +255 +215 +190 +255 +215 +190 +255 +215 +190 +120 +114 +108 +51 +62 +63 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +158 +125 +46 +152 +119 +47 +152 +119 +47 +158 +125 +46 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +158 +125 +46 +81 +73 +62 +58 +69 +70 +227 +196 +175 +255 +215 +190 +120 +114 +108 +48 +58 +59 +129 +106 +52 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +168 +127 +42 +168 +127 +42 +152 +119 +47 +117 +98 +55 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +88 +82 +59 +84 +85 +82 +255 +215 +190 +176 +156 +141 +48 +58 +59 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +168 +127 +42 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +145 +114 +49 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +117 +98 +55 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +63 +69 +60 +137 +127 +115 +255 +215 +190 +238 +205 +179 +91 +92 +89 +56 +64 +60 +137 +110 +49 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +158 +125 +46 +152 +119 +47 +158 +125 +46 +168 +127 +42 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +152 +119 +47 +69 +69 +61 +84 +85 +82 +245 +212 +186 +172 +150 +134 +62 +63 +61 +199 +115 +54 +227 +126 +50 +224 +123 +55 +227 +126 +50 +199 +115 +54 +125 +90 +64 +227 +126 +50 +227 +126 +50 +227 +126 +50 +234 +125 +52 +227 +126 +50 +234 +125 +52 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +214 +121 +50 +81 +73 +62 +63 +74 +74 +227 +196 +175 +255 +215 +190 +253 +212 +188 +255 +215 +190 +146 +135 +124 +48 +58 +59 +146 +97 +64 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +227 +126 +50 +227 +126 +50 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +139 +96 +61 +48 +58 +59 +146 +135 +124 +255 +215 +190 +253 +212 +188 +255 +215 +190 +217 +187 +166 +55 +66 +67 +95 +78 +64 +225 +124 +48 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +227 +126 +50 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +163 +104 +61 +183 +110 +59 +227 +126 +50 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +97 +98 +96 +56 +64 +60 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +183 +110 +59 +51 +62 +63 +167 +142 +123 +248 +180 +134 +247 +165 +111 +249 +159 +103 +246 +156 +93 +249 +159 +103 +249 +174 +124 +239 +182 +144 +77 +85 +81 +65 +67 +64 +199 +115 +54 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +227 +126 +50 +227 +126 +50 +234 +125 +52 +227 +126 +50 +227 +126 +50 +135 +94 +64 +188 +112 +56 +227 +126 +50 +224 +123 +55 +227 +126 +50 +209 +117 +53 +65 +67 +64 +146 +135 +124 +227 +196 +175 +43 +57 +62 +146 +97 +64 +234 +126 +45 +224 +123 +55 +224 +123 +55 +234 +126 +45 +106 +82 +65 +70 +79 +77 +253 +212 +188 +176 +156 +141 +41 +58 +57 +125 +90 +64 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +234 +125 +52 +227 +126 +50 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +155 +100 +63 +48 +58 +59 +120 +114 +108 +253 +212 +188 +234 +204 +183 +63 +74 +74 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +252 +185 +144 +245 +169 +119 +249 +159 +103 +249 +159 +103 +247 +165 +111 +249 +174 +124 +251 +192 +154 +109 +106 +99 +62 +63 +61 +188 +112 +56 +234 +125 +52 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +234 +125 +52 +227 +126 +50 +234 +125 +52 +227 +126 +50 +227 +126 +50 +212 +120 +56 +199 +115 +54 +224 +123 +55 +224 +123 +55 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +200 +166 +249 +174 +124 +247 +150 +84 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +243 +101 +2 +243 +101 +2 +247 +103 +7 +247 +111 +26 +247 +111 +26 +247 +123 +41 +247 +130 +60 +243 +141 +78 +249 +159 +103 +250 +176 +132 +251 +192 +154 +207 +178 +158 +154 +133 +118 +82 +69 +65 +24 +22 +23 +71 +60 +43 +101 +83 +47 +101 +83 +47 +101 +83 +47 +117 +98 +55 +145 +114 +49 +171 +129 +45 +168 +127 +42 +160 +120 +43 +160 +120 +43 +158 +125 +46 +192 +155 +91 +237 +233 +225 +81 +77 +76 +55 +48 +48 +74 +68 +68 +81 +77 +76 +89 +84 +82 +91 +92 +89 +89 +84 +82 +81 +77 +76 +65 +58 +56 +47 +40 +38 +35 +31 +30 +55 +48 +48 +115 +102 +92 +172 +150 +134 +55 +48 +48 +24 +22 +23 +24 +22 +23 +24 +22 +23 +65 +58 +56 +230 +173 +136 +251 +192 +154 +250 +197 +158 +250 +200 +166 +84 +85 +82 +88 +82 +59 +171 +129 +45 +158 +125 +46 +158 +125 +46 +171 +129 +45 +83 +78 +61 +69 +69 +61 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +117 +98 +55 +48 +58 +59 +101 +100 +92 +238 +205 +179 +253 +204 +176 +250 +200 +166 +253 +204 +176 +238 +205 +179 +91 +92 +89 +51 +62 +63 +117 +98 +55 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +145 +114 +49 +75 +74 +61 +48 +58 +59 +172 +150 +134 +253 +212 +188 +255 +215 +190 +234 +204 +183 +84 +85 +82 +56 +64 +60 +129 +106 +52 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +81 +73 +62 +63 +69 +60 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +83 +78 +61 +84 +85 +82 +255 +215 +190 +245 +212 +186 +109 +106 +99 +51 +62 +63 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +171 +129 +45 +105 +93 +60 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +137 +127 +115 +58 +69 +70 +111 +94 +57 +171 +129 +45 +158 +125 +46 +158 +125 +46 +158 +125 +46 +62 +63 +61 +137 +127 +115 +255 +215 +190 +255 +215 +190 +227 +196 +175 +77 +85 +81 +56 +64 +60 +129 +106 +52 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +161 +127 +40 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +168 +127 +42 +137 +110 +49 +69 +69 +61 +51 +62 +63 +187 +166 +150 +255 +215 +190 +172 +150 +134 +51 +62 +63 +194 +112 +58 +227 +126 +50 +224 +123 +55 +234 +125 +52 +183 +110 +59 +48 +58 +59 +155 +100 +63 +234 +126 +45 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +125 +52 +209 +117 +53 +89 +75 +66 +48 +58 +59 +187 +166 +150 +250 +200 +166 +250 +197 +158 +251 +192 +154 +250 +197 +158 +250 +200 +166 +109 +106 +99 +48 +58 +59 +135 +94 +64 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +135 +94 +64 +43 +57 +62 +120 +114 +108 +250 +200 +166 +250 +197 +158 +251 +192 +154 +250 +197 +158 +250 +200 +166 +172 +150 +134 +41 +58 +57 +106 +82 +65 +214 +121 +50 +234 +125 +52 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +234 +126 +45 +183 +110 +59 +48 +58 +59 +135 +94 +64 +234 +126 +45 +224 +123 +55 +227 +126 +50 +188 +112 +56 +51 +62 +63 +109 +106 +99 +51 +62 +63 +183 +110 +59 +227 +126 +50 +224 +123 +55 +234 +125 +52 +173 +106 +60 +48 +58 +59 +178 +146 +122 +245 +169 +119 +246 +156 +93 +247 +150 +84 +249 +146 +83 +247 +150 +84 +249 +159 +103 +249 +174 +124 +203 +161 +131 +58 +69 +70 +76 +70 +64 +194 +112 +58 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +183 +110 +59 +48 +58 +59 +163 +104 +61 +234 +126 +45 +224 +123 +55 +227 +126 +50 +209 +117 +53 +62 +63 +61 +146 +135 +124 +217 +187 +166 +43 +57 +62 +163 +104 +61 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +126 +45 +125 +90 +64 +58 +69 +70 +234 +204 +183 +255 +215 +190 +137 +127 +115 +41 +58 +57 +118 +86 +65 +225 +124 +48 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +146 +97 +64 +51 +62 +63 +97 +98 +96 +238 +205 +179 +255 +215 +190 +234 +204 +183 +63 +74 +74 +118 +86 +65 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +81 +73 +62 +101 +100 +92 +250 +176 +132 +247 +165 +111 +246 +156 +93 +249 +152 +92 +249 +159 +103 +251 +168 +115 +252 +185 +144 +217 +187 +166 +58 +69 +70 +69 +69 +61 +199 +115 +54 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +224 +123 +55 +227 +126 +50 +225 +124 +48 +81 +73 +62 +81 +73 +62 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +139 +96 +61 +55 +66 +67 +250 +197 +158 +249 +174 +124 +247 +150 +84 +247 +130 +60 +247 +118 +39 +247 +111 +26 +247 +103 +7 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +237 +95 +0 +237 +95 +0 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +237 +95 +0 +243 +101 +2 +247 +103 +7 +236 +102 +14 +247 +111 +26 +246 +116 +28 +247 +123 +41 +247 +130 +60 +243 +141 +78 +249 +159 +103 +249 +174 +124 +249 +189 +146 +253 +204 +176 +124 +111 +99 +35 +31 +30 +145 +114 +49 +175 +132 +40 +171 +129 +45 +168 +127 +42 +192 +155 +91 +216 +194 +154 +224 +207 +180 +224 +207 +180 +216 +194 +154 +216 +194 +154 +239 +227 +208 +253 +255 +252 +253 +255 +252 +186 +181 +179 +146 +135 +124 +120 +114 +108 +109 +106 +99 +95 +78 +64 +71 +60 +43 +85 +71 +43 +101 +83 +47 +108 +87 +46 +35 +31 +30 +150 +125 +114 +227 +196 +175 +255 +215 +190 +253 +212 +188 +212 +173 +150 +121 +100 +85 +95 +78 +64 +129 +102 +78 +234 +168 +124 +250 +176 +132 +250 +176 +132 +248 +180 +134 +249 +189 +146 +124 +111 +99 +62 +63 +61 +152 +119 +47 +171 +129 +45 +171 +129 +45 +145 +114 +49 +56 +64 +60 +43 +57 +62 +83 +78 +61 +152 +119 +47 +171 +129 +45 +171 +129 +45 +168 +127 +42 +168 +127 +42 +171 +129 +45 +171 +129 +45 +152 +119 +47 +95 +87 +59 +48 +58 +59 +101 +100 +92 +236 +186 +153 +251 +192 +154 +252 +185 +144 +248 +180 +134 +245 +179 +138 +249 +189 +146 +236 +186 +153 +101 +100 +92 +48 +58 +59 +88 +82 +59 +137 +110 +49 +168 +127 +42 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +171 +129 +45 +168 +127 +42 +145 +114 +49 +100 +89 +56 +56 +64 +60 +58 +69 +70 +172 +150 +134 +250 +200 +166 +251 +192 +154 +250 +197 +158 +250 +200 +166 +217 +187 +166 +84 +85 +82 +51 +62 +63 +105 +93 +60 +158 +125 +46 +171 +129 +45 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +152 +119 +47 +83 +78 +61 +43 +57 +62 +48 +58 +59 +129 +106 +52 +175 +132 +40 +171 +129 +45 +158 +125 +46 +63 +69 +60 +120 +114 +108 +255 +215 +190 +255 +215 +190 +227 +196 +175 +84 +85 +82 +51 +62 +63 +105 +93 +60 +158 +125 +46 +171 +129 +45 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +158 +125 +46 +105 +93 +60 +48 +58 +59 +48 +58 +59 +129 +106 +52 +168 +127 +42 +158 +125 +46 +168 +127 +42 +145 +114 +49 +51 +62 +63 +172 +150 +134 +91 +92 +89 +75 +74 +61 +168 +127 +42 +171 +129 +45 +175 +132 +40 +117 +98 +55 +48 +58 +59 +176 +156 +141 +253 +204 +176 +253 +204 +176 +253 +204 +176 +217 +187 +166 +84 +85 +82 +48 +58 +59 +95 +87 +59 +145 +114 +49 +168 +127 +42 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +171 +129 +45 +158 +125 +46 +137 +110 +49 +95 +87 +59 +51 +62 +63 +70 +79 +77 +187 +166 +150 +251 +209 +178 +251 +209 +178 +207 +178 +158 +43 +57 +62 +135 +94 +64 +238 +123 +45 +234 +126 +45 +234 +126 +45 +118 +86 +65 +35 +56 +60 +56 +64 +60 +155 +100 +63 +234 +125 +52 +234 +126 +45 +234 +125 +52 +227 +126 +50 +227 +126 +50 +234 +126 +45 +227 +126 +50 +163 +104 +61 +76 +70 +64 +51 +62 +63 +167 +142 +123 +251 +192 +154 +248 +180 +134 +249 +174 +124 +249 +174 +124 +250 +176 +132 +245 +179 +138 +236 +186 +153 +109 +106 +99 +41 +58 +57 +95 +78 +64 +183 +110 +59 +234 +125 +52 +234 +126 +45 +234 +125 +52 +227 +126 +50 +227 +126 +50 +234 +125 +52 +234 +126 +45 +227 +126 +50 +183 +110 +59 +95 +78 +64 +43 +57 +62 +124 +111 +99 +236 +186 +153 +252 +185 +144 +250 +176 +132 +249 +174 +124 +249 +174 +124 +248 +180 +134 +251 +192 +154 +154 +133 +118 +43 +57 +62 +81 +73 +62 +173 +106 +60 +227 +126 +50 +234 +126 +45 +227 +126 +50 +227 +126 +50 +227 +126 +50 +234 +126 +45 +234 +125 +52 +155 +100 +63 +56 +64 +60 +35 +56 +60 +89 +75 +66 +227 +126 +50 +234 +126 +45 +238 +128 +40 +146 +97 +64 +43 +57 +62 +176 +156 +141 +58 +69 +70 +118 +86 +65 +234 +126 +45 +234 +126 +45 +234 +126 +45 +112 +85 +63 +43 +57 +62 +210 +156 +119 +245 +162 +103 +247 +150 +84 +247 +143 +74 +248 +138 +64 +241 +138 +68 +249 +146 +83 +249 +159 +103 +250 +176 +132 +195 +157 +134 +58 +69 +70 +65 +67 +64 +155 +100 +63 +227 +126 +50 +234 +126 +45 +227 +126 +50 +227 +126 +50 +234 +125 +52 +234 +126 +45 +234 +126 +45 +173 +106 +60 +65 +67 +64 +35 +56 +60 +106 +82 +65 +234 +126 +45 +234 +126 +45 +238 +128 +40 +146 +97 +64 +43 +57 +62 +187 +166 +150 +234 +204 +183 +55 +66 +67 +106 +82 +65 +234 +126 +45 +234 +125 +52 +234 +125 +52 +224 +123 +55 +81 +73 +62 +91 +92 +89 +245 +212 +186 +253 +212 +188 +253 +212 +188 +137 +127 +115 +41 +58 +57 +89 +75 +66 +173 +106 +60 +227 +126 +50 +234 +126 +45 +227 +126 +50 +227 +126 +50 +227 +126 +50 +234 +125 +52 +234 +126 +45 +234 +125 +52 +194 +112 +58 +106 +82 +65 +43 +57 +62 +101 +100 +92 +227 +196 +175 +251 +209 +178 +251 +209 +178 +253 +212 +188 +97 +98 +96 +69 +69 +61 +209 +117 +53 +234 +126 +45 +238 +128 +40 +173 +106 +60 +51 +62 +63 +139 +115 +96 +251 +168 +115 +246 +156 +93 +247 +150 +84 +249 +146 +83 +249 +152 +92 +247 +165 +111 +248 +180 +134 +250 +200 +166 +187 +166 +150 +55 +66 +67 +69 +69 +61 +163 +104 +61 +234 +125 +52 +234 +126 +45 +234 +125 +52 +227 +126 +50 +227 +126 +50 +234 +126 +45 +234 +126 +45 +199 +115 +54 +95 +78 +64 +35 +56 +60 +81 +73 +62 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +139 +96 +61 +51 +62 +63 +250 +197 +158 +245 +169 +119 +247 +150 +84 +247 +130 +60 +247 +118 +39 +235 +107 +16 +243 +101 +2 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +246 +97 +3 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +246 +97 +3 +237 +95 +0 +243 +101 +2 +247 +103 +7 +236 +102 +14 +247 +111 +26 +246 +116 +28 +238 +123 +45 +241 +132 +59 +247 +143 +74 +246 +156 +93 +245 +169 +119 +230 +173 +136 +47 +40 +38 +59 +50 +39 +168 +127 +42 +161 +127 +40 +160 +120 +43 +192 +155 +91 +255 +238 +227 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +253 +255 +252 +239 +227 +208 +170 +137 +67 +171 +129 +45 +171 +129 +45 +171 +129 +45 +59 +50 +39 +154 +133 +118 +250 +200 +166 +250 +197 +158 +249 +189 +146 +248 +180 +134 +249 +174 +124 +247 +165 +111 +247 +165 +111 +245 +162 +103 +249 +159 +103 +245 +162 +103 +247 +165 +111 +249 +174 +124 +203 +161 +131 +55 +66 +67 +69 +69 +61 +111 +94 +57 +105 +93 +60 +69 +69 +61 +63 +74 +74 +137 +127 +115 +51 +62 +63 +62 +63 +61 +95 +87 +59 +129 +106 +52 +137 +110 +49 +137 +110 +49 +123 +102 +54 +95 +87 +59 +62 +63 +61 +51 +62 +63 +133 +120 +107 +239 +182 +144 +248 +180 +134 +245 +169 +119 +247 +165 +111 +249 +159 +103 +245 +162 +103 +251 +168 +115 +250 +176 +132 +239 +182 +144 +154 +133 +118 +63 +74 +74 +51 +62 +63 +75 +74 +61 +105 +93 +60 +123 +102 +54 +137 +110 +49 +137 +110 +49 +137 +110 +49 +123 +102 +54 +100 +89 +56 +75 +74 +61 +56 +64 +60 +55 +66 +67 +124 +111 +99 +219 +170 +138 +252 +185 +144 +250 +176 +132 +249 +174 +124 +249 +174 +124 +250 +176 +132 +252 +185 +144 +236 +186 +153 +124 +111 +99 +48 +58 +59 +63 +69 +60 +95 +87 +59 +123 +102 +54 +137 +110 +49 +137 +110 +49 +129 +106 +52 +95 +87 +59 +62 +63 +61 +55 +66 +67 +146 +135 +124 +77 +85 +81 +61 +67 +58 +105 +93 +60 +111 +94 +57 +75 +74 +61 +48 +58 +59 +194 +173 +157 +255 +215 +190 +255 +215 +190 +255 +215 +190 +234 +204 +183 +120 +114 +108 +43 +57 +62 +69 +69 +61 +100 +89 +56 +129 +106 +52 +137 +110 +49 +137 +110 +49 +129 +106 +52 +105 +93 +60 +69 +69 +61 +48 +58 +59 +77 +85 +81 +51 +62 +63 +137 +110 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +137 +110 +49 +51 +62 +63 +187 +166 +150 +187 +166 +150 +48 +58 +59 +75 +74 +61 +111 +94 +57 +95 +87 +59 +56 +64 +60 +99 +90 +79 +239 +182 +144 +252 +185 +144 +245 +179 +138 +252 +185 +144 +249 +189 +146 +236 +186 +153 +137 +127 +115 +55 +66 +67 +56 +64 +60 +83 +78 +61 +111 +94 +57 +129 +106 +52 +137 +110 +49 +137 +110 +49 +129 +106 +52 +117 +98 +55 +95 +87 +59 +69 +69 +61 +51 +62 +63 +63 +74 +74 +133 +120 +107 +236 +186 +153 +250 +197 +158 +251 +192 +154 +251 +192 +154 +250 +197 +158 +124 +111 +99 +51 +62 +63 +112 +85 +63 +146 +97 +64 +106 +82 +65 +48 +58 +59 +120 +114 +108 +101 +100 +92 +48 +58 +59 +95 +78 +64 +146 +97 +64 +183 +110 +59 +188 +112 +56 +173 +106 +60 +139 +96 +61 +89 +75 +66 +48 +58 +59 +77 +85 +81 +186 +157 +134 +245 +179 +138 +245 +169 +119 +245 +162 +103 +246 +156 +93 +246 +156 +93 +246 +156 +93 +247 +165 +111 +249 +174 +124 +249 +189 +146 +154 +133 +118 +58 +69 +70 +51 +62 +63 +95 +78 +64 +139 +96 +61 +173 +106 +60 +183 +110 +59 +183 +110 +59 +173 +106 +60 +139 +96 +61 +95 +78 +64 +51 +62 +63 +63 +74 +74 +167 +142 +123 +249 +189 +146 +249 +174 +124 +247 +165 +111 +246 +156 +93 +246 +156 +93 +246 +156 +93 +245 +162 +103 +245 +169 +119 +245 +179 +138 +178 +146 +122 +70 +79 +77 +48 +58 +59 +89 +75 +66 +139 +96 +61 +173 +106 +60 +188 +112 +56 +183 +110 +59 +155 +100 +63 +95 +78 +64 +48 +58 +59 +101 +100 +92 +146 +135 +124 +48 +58 +59 +95 +78 +64 +146 +97 +64 +125 +90 +64 +62 +63 +61 +101 +100 +92 +245 +212 +186 +137 +127 +115 +48 +58 +59 +106 +82 +65 +146 +97 +64 +106 +82 +65 +48 +58 +59 +124 +111 +99 +247 +165 +111 +247 +150 +84 +241 +138 +68 +241 +132 +59 +247 +130 +53 +247 +130 +53 +242 +133 +67 +241 +145 +79 +245 +162 +103 +250 +176 +132 +203 +161 +131 +91 +92 +89 +43 +57 +62 +81 +73 +62 +135 +94 +64 +173 +106 +60 +188 +112 +56 +183 +110 +59 +155 +100 +63 +106 +82 +65 +51 +62 +63 +91 +92 +89 +133 +120 +107 +48 +58 +59 +95 +78 +64 +146 +97 +64 +118 +86 +65 +56 +64 +60 +101 +100 +92 +245 +212 +186 +253 +212 +188 +146 +135 +124 +48 +58 +59 +118 +86 +65 +183 +110 +59 +173 +106 +60 +95 +78 +64 +43 +57 +62 +186 +157 +134 +250 +197 +158 +251 +192 +154 +250 +197 +158 +250 +200 +166 +172 +150 +134 +70 +79 +77 +48 +58 +59 +89 +75 +66 +135 +94 +64 +163 +104 +61 +183 +110 +59 +183 +110 +59 +173 +106 +60 +146 +97 +64 +95 +78 +64 +56 +64 +60 +55 +66 +67 +150 +125 +114 +236 +186 +153 +251 +192 +154 +249 +189 +146 +249 +189 +146 +251 +192 +154 +195 +157 +134 +51 +62 +63 +76 +70 +64 +139 +96 +61 +125 +90 +64 +65 +67 +64 +76 +78 +76 +234 +168 +124 +249 +159 +103 +247 +150 +84 +243 +141 +78 +247 +143 +74 +247 +150 +84 +249 +159 +103 +250 +176 +132 +250 +197 +158 +255 +215 +190 +207 +178 +158 +84 +85 +82 +48 +58 +59 +89 +75 +66 +146 +97 +64 +173 +106 +60 +183 +110 +59 +183 +110 +59 +163 +104 +61 +118 +86 +65 +62 +63 +61 +58 +69 +70 +63 +74 +74 +81 +73 +62 +227 +126 +50 +227 +126 +50 +224 +123 +55 +234 +126 +45 +135 +94 +64 +58 +69 +70 +251 +192 +154 +245 +169 +119 +249 +146 +83 +247 +130 +53 +238 +116 +34 +235 +107 +16 +243 +101 +2 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +246 +97 +3 +246 +97 +3 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +243 +101 +2 +236 +102 +14 +236 +102 +14 +235 +107 +16 +246 +116 +28 +239 +117 +44 +241 +132 +59 +247 +143 +74 +249 +152 +92 +214 +151 +109 +118 +86 +65 +146 +111 +88 +192 +155 +91 +192 +155 +91 +195 +167 +113 +239 +227 +208 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +255 +238 +227 +216 +194 +154 +192 +155 +91 +192 +155 +91 +192 +155 +91 +146 +111 +88 +162 +125 +96 +250 +176 +132 +245 +169 +119 +247 +165 +111 +249 +159 +103 +246 +156 +93 +247 +150 +84 +243 +141 +78 +243 +141 +78 +243 +141 +78 +241 +145 +79 +247 +150 +84 +249 +159 +103 +245 +169 +119 +187 +140 +108 +89 +84 +82 +48 +58 +59 +48 +58 +59 +91 +92 +89 +194 +173 +157 +255 +215 +190 +207 +178 +158 +109 +106 +99 +51 +62 +63 +48 +58 +59 +51 +62 +63 +48 +58 +59 +48 +58 +59 +55 +66 +67 +124 +111 +99 +203 +161 +131 +248 +180 +134 +245 +169 +119 +249 +159 +103 +247 +150 +84 +243 +141 +78 +243 +141 +78 +243 +141 +78 +247 +150 +84 +249 +159 +103 +245 +169 +119 +248 +180 +134 +219 +170 +138 +154 +133 +118 +84 +85 +82 +51 +62 +63 +48 +58 +59 +51 +62 +63 +51 +62 +63 +48 +58 +59 +48 +58 +59 +55 +66 +67 +91 +92 +89 +154 +133 +118 +209 +171 +139 +245 +179 +138 +249 +174 +124 +247 +165 +111 +249 +159 +103 +246 +156 +93 +246 +156 +93 +249 +159 +103 +247 +165 +111 +249 +174 +124 +252 +185 +144 +195 +157 +134 +109 +106 +99 +55 +66 +67 +48 +58 +59 +51 +62 +63 +51 +62 +63 +48 +58 +59 +51 +62 +63 +109 +106 +99 +207 +178 +158 +255 +215 +190 +217 +187 +166 +91 +92 +89 +51 +62 +63 +48 +58 +59 +76 +78 +76 +172 +150 +134 +253 +212 +188 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +255 +215 +190 +194 +173 +157 +101 +100 +92 +51 +62 +63 +48 +58 +59 +48 +58 +59 +51 +62 +63 +48 +58 +59 +48 +58 +59 +97 +98 +96 +194 +173 +157 +146 +135 +124 +56 +64 +60 +145 +114 +49 +168 +127 +42 +158 +125 +46 +168 +127 +42 +129 +106 +52 +48 +58 +59 +194 +173 +157 +255 +215 +190 +176 +156 +141 +76 +78 +76 +48 +58 +59 +55 +66 +67 +115 +102 +92 +234 +168 +124 +245 +169 +119 +247 +165 +111 +247 +165 +111 +247 +165 +111 +245 +169 +119 +249 +174 +124 +245 +179 +138 +209 +171 +139 +144 +125 +110 +76 +78 +76 +48 +58 +59 +48 +58 +59 +51 +62 +63 +51 +62 +63 +48 +58 +59 +48 +58 +59 +58 +69 +70 +101 +100 +92 +154 +133 +118 +219 +170 +138 +252 +185 +144 +248 +180 +134 +249 +174 +124 +245 +169 +119 +249 +174 +124 +250 +176 +132 +230 +173 +136 +124 +111 +99 +55 +66 +67 +43 +57 +62 +58 +69 +70 +137 +127 +115 +245 +212 +186 +245 +212 +186 +161 +144 +134 +70 +79 +77 +43 +57 +62 +51 +62 +63 +51 +62 +63 +48 +58 +59 +43 +57 +62 +84 +85 +82 +154 +133 +118 +240 +181 +138 +249 +174 +124 +247 +165 +111 +249 +152 +92 +243 +141 +78 +241 +138 +68 +242 +133 +67 +241 +138 +68 +241 +145 +79 +246 +156 +93 +247 +165 +111 +250 +176 +132 +219 +170 +138 +144 +125 +110 +77 +85 +81 +43 +57 +62 +48 +58 +59 +48 +58 +59 +51 +62 +63 +48 +58 +59 +43 +57 +62 +77 +85 +81 +150 +125 +114 +219 +170 +138 +250 +176 +132 +247 +165 +111 +246 +156 +93 +241 +145 +79 +241 +138 +68 +241 +138 +68 +241 +138 +68 +243 +141 +78 +249 +152 +92 +247 +165 +111 +250 +176 +132 +230 +173 +136 +154 +133 +118 +77 +85 +81 +43 +57 +62 +48 +58 +59 +51 +62 +63 +48 +58 +59 +43 +57 +62 +70 +79 +77 +161 +144 +134 +245 +212 +186 +255 +215 +190 +161 +144 +134 +63 +74 +74 +43 +57 +62 +51 +62 +63 +109 +106 +99 +217 +187 +166 +251 +209 +178 +238 +205 +179 +137 +127 +115 +58 +69 +70 +43 +57 +62 +58 +69 +70 +139 +115 +96 +238 +159 +107 +249 +152 +92 +241 +138 +68 +247 +130 +53 +238 +123 +45 +239 +117 +44 +247 +118 +39 +238 +123 +45 +241 +132 +59 +241 +145 +79 +249 +159 +103 +249 +174 +124 +240 +181 +138 +167 +142 +123 +91 +92 +89 +43 +57 +62 +48 +58 +59 +51 +62 +63 +48 +58 +59 +43 +57 +62 +63 +74 +74 +137 +127 +115 +234 +204 +183 +255 +215 +190 +146 +135 +124 +63 +74 +74 +43 +57 +62 +51 +62 +63 +115 +102 +92 +236 +186 +153 +251 +192 +154 +251 +192 +154 +236 +186 +153 +133 +120 +107 +43 +57 +62 +48 +58 +59 +48 +58 +59 +55 +66 +67 +158 +130 +108 +248 +180 +134 +250 +176 +132 +249 +174 +124 +249 +174 +124 +250 +176 +132 +252 +185 +144 +239 +182 +144 +154 +133 +118 +84 +85 +82 +43 +57 +62 +48 +58 +59 +48 +58 +59 +51 +62 +63 +48 +58 +59 +43 +57 +62 +70 +79 +77 +133 +120 +107 +219 +170 +138 +245 +179 +138 +250 +176 +132 +245 +169 +119 +247 +165 +111 +247 +165 +111 +245 +169 +119 +249 +174 +124 +187 +140 +108 +81 +77 +76 +43 +57 +62 +43 +57 +62 +99 +90 +79 +214 +151 +109 +249 +159 +103 +247 +150 +84 +247 +143 +74 +241 +138 +68 +241 +138 +68 +249 +146 +83 +249 +159 +103 +250 +176 +132 +250 +197 +158 +255 +215 +190 +255 +215 +190 +245 +212 +186 +161 +144 +134 +77 +85 +81 +43 +57 +62 +48 +58 +59 +51 +62 +63 +48 +58 +59 +41 +58 +57 +55 +66 +67 +120 +114 +108 +217 +187 +166 +97 +98 +96 +95 +78 +64 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +112 +85 +63 +70 +79 +77 +249 +189 +146 +247 +165 +111 +243 +141 +78 +247 +130 +53 +238 +116 +34 +236 +102 +14 +243 +101 +2 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +235 +94 +9 +235 +94 +9 +236 +102 +14 +235 +107 +16 +236 +108 +29 +239 +117 +44 +238 +123 +53 +242 +133 +67 +241 +145 +79 +241 +153 +96 +247 +165 +111 +249 +174 +124 +250 +176 +132 +245 +179 +138 +252 +185 +144 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +249 +189 +146 +252 +185 +144 +245 +179 +138 +250 +176 +132 +249 +174 +124 +245 +169 +119 +245 +162 +103 +241 +153 +96 +241 +145 +86 +243 +141 +78 +241 +138 +68 +242 +133 +67 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +241 +132 +59 +242 +133 +67 +243 +141 +78 +241 +145 +86 +249 +159 +103 +238 +159 +107 +210 +156 +119 +210 +156 +119 +240 +181 +138 +249 +189 +146 +251 +192 +154 +251 +192 +154 +250 +197 +158 +212 +173 +150 +186 +157 +134 +167 +142 +123 +167 +142 +123 +195 +157 +134 +219 +170 +138 +248 +180 +134 +245 +169 +119 +245 +162 +103 +247 +150 +84 +243 +141 +78 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +138 +68 +247 +150 +84 +245 +162 +103 +245 +169 +119 +250 +176 +132 +239 +182 +144 +219 +170 +138 +186 +157 +134 +167 +142 +123 +167 +142 +123 +172 +150 +134 +195 +157 +134 +219 +170 +138 +239 +182 +144 +248 +180 +134 +245 +169 +119 +245 +162 +103 +241 +153 +96 +241 +145 +79 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +145 +79 +241 +153 +96 +247 +165 +111 +249 +174 +124 +245 +179 +138 +219 +170 +138 +186 +157 +134 +167 +142 +123 +167 +142 +123 +186 +157 +134 +212 +173 +150 +250 +197 +158 +251 +192 +154 +251 +192 +154 +249 +189 +146 +239 +182 +144 +219 +170 +138 +219 +170 +138 +239 +182 +144 +250 +197 +158 +250 +200 +166 +251 +209 +178 +238 +205 +179 +172 +150 +134 +137 +127 +115 +161 +144 +134 +217 +187 +166 +253 +212 +188 +227 +196 +175 +194 +173 +157 +176 +156 +141 +172 +150 +134 +187 +166 +150 +217 +187 +166 +255 +215 +190 +245 +212 +186 +76 +78 +76 +75 +74 +61 +158 +125 +46 +158 +125 +46 +158 +125 +46 +171 +129 +45 +105 +93 +60 +58 +69 +70 +217 +187 +166 +255 +215 +190 +253 +204 +176 +236 +186 +153 +210 +156 +119 +210 +156 +119 +247 +165 +111 +249 +159 +103 +249 +152 +92 +241 +145 +86 +243 +141 +78 +241 +145 +79 +247 +150 +84 +241 +153 +96 +245 +162 +103 +245 +169 +119 +248 +180 +134 +239 +182 +144 +209 +171 +139 +186 +157 +134 +167 +142 +123 +167 +142 +123 +178 +146 +122 +195 +157 +134 +230 +173 +136 +239 +182 +144 +250 +176 +132 +245 +169 +119 +247 +165 +111 +249 +159 +103 +241 +153 +96 +249 +152 +92 +249 +152 +92 +241 +153 +96 +245 +162 +103 +247 +165 +111 +210 +156 +119 +210 +156 +119 +230 +173 +136 +249 +189 +146 +249 +189 +146 +251 +192 +154 +250 +197 +158 +236 +186 +153 +203 +161 +131 +167 +142 +123 +167 +142 +123 +178 +146 +122 +203 +161 +131 +240 +181 +138 +249 +174 +124 +247 +165 +111 +241 +153 +96 +243 +141 +78 +242 +133 +67 +238 +123 +53 +238 +123 +45 +238 +123 +45 +238 +123 +45 +241 +132 +59 +241 +138 +68 +241 +145 +86 +249 +159 +103 +245 +169 +119 +250 +176 +132 +240 +181 +138 +209 +171 +139 +178 +146 +122 +167 +142 +123 +167 +142 +123 +186 +157 +134 +209 +171 +139 +240 +181 +138 +250 +176 +132 +245 +169 +119 +249 +159 +103 +241 +145 +86 +241 +138 +68 +241 +132 +59 +238 +123 +45 +238 +123 +45 +238 +123 +45 +247 +130 +53 +242 +133 +67 +241 +145 +79 +241 +153 +96 +247 +165 +111 +250 +176 +132 +240 +181 +138 +203 +161 +131 +178 +146 +122 +167 +142 +123 +167 +142 +123 +195 +157 +134 +236 +186 +153 +251 +192 +154 +251 +192 +154 +249 +189 +146 +249 +189 +146 +230 +173 +136 +203 +161 +131 +219 +170 +138 +245 +179 +138 +245 +179 +138 +245 +179 +138 +245 +179 +138 +248 +180 +134 +234 +168 +124 +214 +151 +109 +214 +151 +109 +245 +162 +103 +241 +145 +86 +241 +138 +68 +238 +123 +53 +239 +117 +44 +238 +116 +34 +236 +108 +29 +236 +108 +29 +238 +116 +34 +238 +123 +45 +241 +132 +59 +243 +141 +78 +241 +153 +96 +247 +165 +111 +249 +174 +124 +240 +181 +138 +209 +171 +139 +178 +146 +122 +167 +142 +123 +167 +142 +123 +195 +157 +134 +236 +186 +153 +250 +197 +158 +251 +192 +154 +249 +189 +146 +249 +189 +146 +230 +173 +136 +210 +156 +119 +210 +156 +119 +250 +176 +132 +249 +174 +124 +249 +174 +124 +249 +174 +124 +249 +174 +124 +250 +176 +132 +210 +156 +119 +162 +125 +96 +162 +125 +96 +214 +151 +109 +247 +165 +111 +245 +162 +103 +241 +153 +96 +241 +153 +96 +241 +153 +96 +249 +159 +103 +247 +165 +111 +245 +169 +119 +250 +176 +132 +240 +181 +138 +209 +171 +139 +186 +157 +134 +167 +142 +123 +167 +142 +123 +178 +146 +122 +203 +161 +131 +239 +182 +144 +248 +180 +134 +245 +169 +119 +245 +162 +103 +241 +153 +96 +241 +145 +86 +241 +145 +86 +241 +145 +86 +247 +150 +84 +241 +153 +96 +245 +162 +103 +238 +159 +107 +204 +141 +99 +214 +151 +109 +241 +153 +96 +249 +152 +92 +243 +141 +78 +242 +133 +67 +241 +132 +59 +241 +132 +59 +241 +138 +68 +241 +145 +79 +245 +162 +103 +248 +180 +134 +212 +173 +150 +146 +135 +124 +137 +127 +115 +176 +156 +141 +234 +204 +183 +253 +212 +188 +217 +187 +166 +187 +166 +150 +172 +150 +134 +176 +156 +141 +194 +173 +157 +234 +204 +183 +255 +215 +190 +194 +173 +157 +43 +57 +62 +139 +96 +61 +234 +126 +45 +224 +123 +55 +227 +126 +50 +227 +126 +50 +89 +75 +66 +101 +100 +92 +245 +179 +138 +245 +162 +103 +241 +138 +68 +238 +123 +45 +236 +108 +29 +236 +102 +14 +235 +94 +9 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +235 +94 +9 +235 +94 +9 +236 +102 +14 +235 +107 +16 +236 +108 +29 +238 +116 +34 +238 +123 +45 +241 +132 +59 +241 +138 +68 +241 +145 +79 +249 +152 +92 +241 +153 +96 +245 +162 +103 +245 +162 +103 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +245 +162 +103 +245 +162 +103 +241 +153 +96 +241 +153 +96 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +243 +141 +78 +241 +145 +86 +241 +153 +96 +245 +162 +103 +245 +162 +103 +247 +165 +111 +247 +165 +111 +245 +169 +119 +245 +169 +119 +245 +169 +119 +249 +174 +124 +245 +169 +119 +245 +169 +119 +245 +169 +119 +247 +165 +111 +241 +153 +96 +241 +145 +86 +243 +141 +78 +241 +132 +59 +238 +123 +53 +239 +117 +44 +238 +116 +34 +238 +116 +34 +238 +116 +34 +239 +117 +44 +238 +123 +45 +241 +132 +59 +241 +138 +68 +241 +145 +86 +241 +153 +96 +245 +162 +103 +245 +169 +119 +249 +174 +124 +250 +176 +132 +250 +176 +132 +250 +176 +132 +249 +174 +124 +245 +169 +119 +247 +165 +111 +241 +153 +96 +241 +145 +86 +243 +141 +78 +242 +133 +67 +241 +132 +59 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +241 +132 +59 +242 +133 +67 +243 +141 +78 +249 +152 +92 +245 +162 +103 +247 +165 +111 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +247 +165 +111 +247 +165 +111 +247 +165 +111 +247 +165 +111 +245 +169 +119 +249 +174 +124 +245 +179 +138 +251 +192 +154 +232 +190 +161 +101 +100 +92 +51 +62 +63 +63 +69 +60 +51 +62 +63 +55 +66 +67 +109 +106 +99 +176 +156 +141 +234 +204 +183 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +207 +178 +158 +91 +92 +89 +51 +62 +63 +129 +106 +52 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +75 +74 +61 +91 +92 +89 +245 +212 +186 +250 +200 +166 +252 +185 +144 +249 +174 +124 +247 +165 +111 +241 +153 +96 +241 +145 +79 +241 +138 +68 +242 +133 +67 +241 +132 +59 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +86 +241 +153 +96 +247 +165 +111 +245 +169 +119 +249 +174 +124 +250 +176 +132 +250 +176 +132 +249 +174 +124 +249 +174 +124 +245 +169 +119 +245 +162 +103 +241 +153 +96 +241 +145 +86 +241 +145 +79 +241 +138 +68 +242 +133 +67 +242 +133 +67 +242 +133 +67 +241 +138 +68 +243 +141 +78 +241 +145 +86 +241 +153 +96 +241 +153 +96 +245 +162 +103 +245 +162 +103 +247 +165 +111 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +247 +165 +111 +245 +162 +103 +241 +153 +96 +241 +145 +79 +241 +138 +68 +238 +123 +53 +238 +123 +45 +238 +116 +34 +235 +113 +30 +235 +113 +30 +238 +116 +34 +239 +117 +44 +238 +123 +45 +241 +132 +59 +241 +138 +68 +241 +145 +86 +241 +153 +96 +245 +162 +103 +245 +169 +119 +245 +169 +119 +249 +174 +124 +249 +174 +124 +245 +169 +119 +245 +169 +119 +245 +162 +103 +241 +153 +96 +241 +145 +86 +241 +138 +68 +241 +132 +59 +238 +123 +45 +239 +117 +44 +238 +116 +34 +235 +113 +30 +235 +113 +30 +238 +116 +34 +238 +123 +45 +241 +132 +59 +241 +138 +68 +241 +145 +86 +241 +153 +96 +245 +162 +103 +247 +165 +111 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +247 +165 +111 +247 +165 +111 +247 +165 +111 +245 +162 +103 +245 +162 +103 +245 +162 +103 +245 +162 +103 +245 +162 +103 +245 +162 +103 +245 +162 +103 +245 +162 +103 +241 +153 +96 +241 +153 +96 +241 +145 +86 +243 +141 +78 +241 +132 +59 +238 +123 +53 +239 +117 +44 +235 +113 +30 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +108 +29 +235 +113 +30 +239 +117 +44 +238 +123 +53 +242 +133 +67 +241 +145 +79 +241 +153 +96 +245 +162 +103 +247 +165 +111 +245 +169 +119 +245 +169 +119 +249 +174 +124 +245 +169 +119 +245 +169 +119 +245 +169 +119 +245 +169 +119 +247 +165 +111 +247 +165 +111 +245 +162 +103 +245 +162 +103 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +153 +96 +249 +152 +92 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +243 +141 +78 +241 +145 +86 +241 +153 +96 +245 +162 +103 +245 +169 +119 +245 +169 +119 +249 +174 +124 +249 +174 +124 +249 +174 +124 +245 +169 +119 +247 +165 +111 +241 +153 +96 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +79 +241 +145 +79 +241 +145 +79 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +242 +133 +67 +241 +145 +86 +247 +165 +111 +210 +156 +119 +63 +74 +74 +62 +63 +61 +69 +69 +61 +48 +58 +59 +63 +74 +74 +133 +120 +107 +194 +173 +157 +245 +212 +186 +255 +215 +190 +255 +215 +190 +255 +215 +190 +245 +212 +186 +176 +156 +141 +55 +66 +67 +76 +70 +64 +212 +120 +56 +227 +126 +50 +224 +123 +55 +234 +125 +52 +194 +112 +58 +56 +64 +60 +154 +133 +118 +250 +176 +132 +241 +153 +96 +242 +133 +67 +239 +117 +44 +236 +108 +29 +236 +102 +14 +235 +94 +9 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +236 +108 +29 +235 +113 +30 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +138 +68 +241 +138 +68 +243 +141 +78 +243 +141 +78 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +79 +243 +141 +78 +243 +141 +78 +243 +141 +78 +241 +138 +68 +241 +138 +68 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +238 +116 +34 +238 +116 +34 +236 +108 +29 +236 +108 +29 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +241 +132 +59 +242 +133 +67 +241 +138 +68 +243 +141 +78 +243 +141 +78 +241 +145 +79 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +239 +117 +44 +238 +116 +34 +236 +108 +29 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +108 +29 +238 +116 +34 +239 +117 +44 +238 +123 +45 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +86 +249 +152 +92 +241 +153 +96 +241 +153 +96 +241 +153 +96 +249 +152 +92 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +45 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +138 +68 +241 +145 +79 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +79 +241 +145 +79 +241 +145 +79 +241 +145 +86 +241 +153 +96 +245 +162 +103 +245 +169 +119 +245 +179 +138 +144 +125 +110 +51 +62 +63 +117 +98 +55 +158 +125 +46 +145 +114 +49 +105 +93 +60 +69 +69 +61 +48 +58 +59 +58 +69 +70 +91 +92 +89 +120 +114 +108 +120 +114 +108 +91 +92 +89 +48 +58 +59 +56 +64 +60 +123 +102 +54 +171 +129 +45 +158 +125 +46 +158 +125 +46 +168 +127 +42 +137 +110 +49 +48 +58 +59 +161 +144 +134 +250 +197 +158 +248 +180 +134 +247 +165 +111 +241 +153 +96 +241 +145 +79 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +86 +249 +152 +92 +241 +153 +96 +241 +153 +96 +241 +153 +96 +241 +145 +86 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +45 +238 +123 +45 +239 +117 +44 +238 +123 +45 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +138 +68 +241 +138 +68 +243 +141 +78 +241 +145 +79 +241 +145 +79 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +79 +243 +141 +78 +242 +133 +67 +241 +132 +59 +238 +123 +45 +238 +116 +34 +235 +113 +30 +236 +108 +29 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +108 +29 +235 +113 +30 +239 +117 +44 +238 +123 +45 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +86 +241 +145 +86 +241 +153 +96 +241 +153 +96 +241 +145 +86 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +45 +239 +117 +44 +235 +113 +30 +236 +108 +29 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +108 +29 +235 +113 +30 +239 +117 +44 +238 +123 +45 +241 +132 +59 +242 +133 +67 +243 +141 +78 +241 +145 +79 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +79 +241 +145 +79 +243 +141 +78 +243 +141 +78 +243 +141 +78 +243 +141 +78 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +242 +133 +67 +241 +132 +59 +238 +123 +53 +238 +123 +45 +238 +116 +34 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +238 +116 +34 +238 +123 +45 +238 +123 +53 +242 +133 +67 +241 +138 +68 +241 +145 +79 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +86 +241 +145 +79 +243 +141 +78 +243 +141 +78 +241 +138 +68 +241 +138 +68 +241 +138 +68 +242 +133 +67 +242 +133 +67 +242 +133 +67 +241 +138 +68 +241 +138 +68 +241 +138 +68 +241 +138 +68 +242 +133 +67 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +138 +68 +243 +141 +78 +241 +145 +86 +241 +145 +86 +241 +153 +96 +241 +153 +96 +241 +145 +86 +241 +145 +86 +243 +141 +78 +241 +138 +68 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +239 +117 +44 +239 +117 +44 +239 +117 +44 +238 +123 +45 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +239 +117 +44 +239 +117 +44 +238 +123 +53 +242 +133 +67 +241 +145 +86 +238 +159 +107 +84 +85 +82 +69 +69 +61 +188 +112 +56 +214 +121 +50 +173 +106 +60 +112 +85 +63 +62 +63 +61 +41 +58 +57 +63 +74 +74 +97 +98 +96 +120 +114 +108 +109 +106 +99 +77 +85 +81 +41 +58 +57 +81 +73 +62 +194 +112 +58 +234 +125 +52 +224 +123 +55 +224 +123 +55 +234 +126 +45 +125 +90 +64 +51 +62 +63 +209 +171 +139 +245 +169 +119 +241 +145 +86 +241 +132 +59 +238 +116 +34 +235 +107 +16 +236 +102 +14 +235 +94 +9 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +237 +95 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +235 +94 +9 +235 +94 +9 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +45 +238 +123 +45 +239 +117 +44 +239 +117 +44 +238 +116 +34 +235 +113 +30 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +238 +116 +34 +239 +117 +44 +239 +117 +44 +238 +123 +45 +238 +123 +45 +238 +123 +53 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +138 +68 +241 +145 +86 +238 +159 +107 +234 +168 +124 +84 +85 +82 +83 +78 +61 +171 +129 +45 +158 +125 +46 +168 +127 +42 +168 +127 +42 +158 +125 +46 +129 +106 +52 +100 +89 +56 +83 +78 +61 +75 +74 +61 +69 +69 +61 +83 +78 +61 +105 +93 +60 +152 +119 +47 +168 +127 +42 +158 +125 +46 +158 +125 +46 +161 +127 +40 +168 +127 +42 +75 +74 +61 +63 +74 +74 +236 +186 +153 +245 +179 +138 +238 +159 +107 +241 +145 +86 +241 +138 +68 +241 +132 +59 +238 +123 +45 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +45 +238 +123 +53 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +45 +238 +116 +34 +235 +113 +30 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +239 +117 +44 +239 +117 +44 +238 +116 +34 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +53 +238 +123 +53 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +239 +117 +44 +239 +117 +44 +239 +117 +44 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +238 +123 +45 +239 +117 +44 +239 +117 +44 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +239 +117 +44 +238 +123 +45 +238 +123 +53 +238 +123 +53 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +241 +132 +59 +238 +123 +53 +238 +123 +45 +239 +117 +44 +238 +116 +34 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +123 +45 +241 +132 +59 +241 +145 +86 +204 +141 +99 +41 +58 +57 +155 +100 +63 +234 +126 +45 +227 +126 +50 +227 +126 +50 +234 +125 +52 +209 +117 +53 +155 +100 +63 +118 +86 +65 +89 +75 +66 +81 +73 +62 +81 +73 +62 +106 +82 +65 +155 +100 +63 +214 +121 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +194 +112 +58 +56 +64 +60 +109 +106 +99 +245 +179 +138 +245 +162 +103 +241 +138 +68 +238 +123 +45 +235 +113 +30 +236 +102 +14 +235 +94 +9 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +235 +113 +30 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +230 +97 +5 +230 +97 +5 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +113 +30 +235 +113 +30 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +239 +117 +44 +239 +117 +44 +239 +117 +44 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +235 +113 +30 +238 +116 +34 +238 +123 +45 +238 +123 +53 +241 +138 +68 +241 +145 +86 +238 +159 +107 +89 +84 +82 +75 +74 +61 +168 +127 +42 +168 +127 +42 +158 +125 +46 +158 +125 +46 +161 +127 +40 +168 +127 +42 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +95 +87 +59 +48 +58 +59 +167 +142 +123 +245 +179 +138 +238 +159 +107 +241 +145 +86 +242 +133 +67 +238 +123 +45 +238 +116 +34 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +239 +117 +44 +239 +117 +44 +239 +117 +44 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +113 +30 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +235 +113 +30 +235 +113 +30 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +230 +97 +5 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +235 +113 +30 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +236 +108 +29 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +113 +30 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +238 +116 +34 +235 +113 +30 +236 +108 +29 +236 +108 +29 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +236 +108 +29 +236 +108 +29 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +108 +29 +235 +113 +30 +239 +117 +44 +241 +132 +59 +241 +145 +79 +204 +141 +99 +48 +58 +59 +139 +96 +61 +234 +126 +45 +224 +123 +55 +224 +123 +55 +224 +123 +55 +227 +126 +50 +234 +126 +45 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +126 +45 +234 +126 +45 +227 +126 +50 +224 +123 +55 +224 +123 +55 +234 +125 +52 +214 +121 +50 +81 +73 +62 +58 +69 +70 +219 +170 +138 +245 +169 +119 +241 +145 +86 +241 +132 +59 +239 +117 +44 +236 +108 +29 +236 +102 +14 +235 +94 +9 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +235 +94 +9 +230 +97 +5 +229 +102 +7 +229 +102 +7 +236 +102 +14 +236 +102 +14 +224 +98 +18 +224 +98 +18 +224 +98 +18 +236 +102 +14 +224 +98 +18 +236 +102 +14 +236 +102 +14 +224 +98 +18 +224 +98 +18 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +224 +98 +18 +236 +102 +14 +236 +102 +14 +229 +102 +7 +229 +102 +7 +230 +97 +5 +235 +94 +9 +235 +94 +9 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +235 +94 +9 +230 +97 +5 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +224 +98 +18 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +235 +94 +9 +230 +97 +5 +229 +102 +7 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +224 +98 +18 +236 +102 +14 +229 +102 +7 +230 +97 +5 +235 +94 +9 +235 +94 +9 +230 +97 +5 +231 +91 +2 +230 +97 +5 +235 +94 +9 +235 +94 +9 +235 +94 +9 +230 +97 +5 +229 +102 +7 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +224 +98 +18 +236 +102 +14 +235 +107 +16 +236 +108 +29 +239 +117 +44 +234 +125 +52 +231 +136 +72 +241 +153 +96 +162 +125 +96 +48 +58 +59 +95 +87 +59 +158 +125 +46 +171 +129 +45 +168 +127 +42 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +158 +125 +46 +168 +127 +42 +171 +129 +45 +158 +125 +46 +95 +87 +59 +48 +58 +59 +124 +111 +99 +245 +179 +138 +247 +165 +111 +241 +145 +86 +241 +132 +59 +238 +123 +45 +238 +116 +34 +236 +108 +29 +224 +98 +18 +229 +102 +7 +230 +97 +5 +235 +94 +9 +235 +94 +9 +230 +97 +5 +230 +97 +5 +230 +97 +5 +235 +94 +9 +230 +97 +5 +229 +102 +7 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +94 +9 +230 +97 +5 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +236 +102 +14 +224 +98 +18 +224 +98 +18 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +224 +98 +18 +236 +102 +14 +229 +102 +7 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +229 +102 +7 +236 +102 +14 +224 +98 +18 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +224 +98 +18 +236 +102 +14 +229 +102 +7 +230 +97 +5 +235 +94 +9 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +235 +94 +9 +235 +94 +9 +229 +102 +7 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +235 +107 +16 +236 +102 +14 +224 +98 +18 +224 +98 +18 +236 +102 +14 +224 +98 +18 +224 +98 +18 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +229 +102 +7 +236 +102 +14 +235 +94 +9 +230 +97 +5 +235 +94 +9 +235 +94 +9 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +235 +94 +9 +230 +97 +5 +230 +97 +5 +229 +102 +7 +236 +102 +14 +224 +98 +18 +236 +102 +14 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +224 +98 +18 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +236 +102 +14 +224 +98 +18 +236 +102 +14 +236 +102 +14 +236 +102 +14 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +236 +102 +14 +236 +102 +14 +224 +98 +18 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +235 +107 +16 +236 +102 +14 +236 +102 +14 +236 +102 +14 +229 +102 +7 +230 +97 +5 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +235 +94 +9 +230 +97 +5 +235 +94 +9 +236 +102 +14 +236 +102 +14 +236 +102 +14 +229 +102 +7 +230 +97 +5 +229 +102 +7 +224 +98 +18 +236 +108 +29 +238 +116 +34 +238 +123 +53 +243 +141 +78 +241 +153 +96 +99 +90 +79 +56 +64 +60 +155 +100 +63 +234 +126 +45 +234 +126 +45 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +227 +126 +50 +224 +123 +55 +224 +123 +55 +227 +126 +50 +227 +126 +50 +234 +126 +45 +194 +112 +58 +81 +73 +62 +48 +58 +59 +178 +146 +122 +249 +174 +124 +241 +153 +96 +231 +136 +72 +234 +125 +52 +238 +116 +34 +235 +107 +16 +229 +102 +7 +235 +94 +9 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +229 +102 +7 +236 +102 +14 +235 +113 +30 +239 +117 +44 +230 +128 +60 +236 +147 +85 +238 +159 +107 +139 +115 +96 +48 +58 +59 +69 +69 +61 +111 +94 +57 +145 +114 +49 +158 +125 +46 +168 +127 +42 +171 +129 +45 +168 +127 +42 +168 +127 +42 +168 +127 +42 +168 +127 +42 +171 +129 +45 +168 +127 +42 +152 +119 +47 +117 +98 +55 +69 +69 +61 +48 +58 +59 +144 +125 +110 +240 +181 +138 +247 +165 +111 +236 +147 +85 +242 +133 +67 +238 +123 +45 +235 +113 +30 +235 +107 +16 +236 +102 +14 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +230 +97 +5 +229 +102 +7 +235 +107 +16 +235 +113 +30 +238 +123 +45 +242 +133 +67 +241 +153 +96 +214 +151 +109 +99 +90 +79 +48 +58 +59 +95 +78 +64 +155 +100 +63 +209 +117 +53 +227 +126 +50 +234 +125 +52 +234 +125 +52 +234 +125 +52 +234 +125 +52 +234 +125 +52 +234 +126 +45 +234 +126 +45 +227 +126 +50 +194 +112 +58 +125 +90 +64 +56 +64 +60 +58 +69 +70 +178 +146 +122 +250 +176 +132 +238 +159 +107 +241 +145 +79 +234 +125 +52 +239 +117 +44 +236 +108 +29 +224 +98 +18 +230 +97 +5 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +230 +97 +5 +229 +102 +7 +223 +103 +18 +226 +110 +35 +234 +125 +52 +231 +136 +72 +241 +153 +96 +245 +169 +119 +178 +146 +122 +101 +100 +92 +48 +58 +59 +56 +64 +60 +69 +69 +61 +95 +87 +59 +111 +94 +57 +123 +102 +54 +129 +106 +52 +129 +106 +52 +123 +102 +54 +105 +93 +60 +88 +82 +59 +62 +63 +61 +48 +58 +59 +91 +92 +89 +186 +157 +134 +245 +179 +138 +238 +159 +107 +236 +147 +85 +230 +128 +60 +234 +125 +52 +226 +110 +35 +223 +103 +18 +224 +98 +18 +230 +97 +5 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +230 +97 +5 +224 +98 +18 +236 +108 +29 +239 +117 +44 +230 +123 +57 +243 +141 +78 +238 +159 +107 +234 +168 +124 +158 +130 +108 +76 +78 +76 +41 +58 +57 +62 +63 +61 +95 +78 +64 +125 +90 +64 +146 +97 +64 +163 +104 +61 +173 +106 +60 +163 +104 +61 +155 +100 +63 +125 +90 +64 +95 +78 +64 +56 +64 +60 +43 +57 +62 +124 +111 +99 +209 +171 +139 +234 +168 +124 +238 +159 +107 +241 +145 +79 +230 +128 +60 +239 +117 +44 +236 +108 +29 +236 +102 +14 +229 +102 +7 +230 +97 +5 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +231 +91 +2 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +226 +93 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +230 +97 +5 +230 +97 +5 +224 +98 +18 +236 +108 +29 +226 +110 +35 +230 +123 +57 +231 +136 +72 +241 +153 +96 +238 +159 +107 +240 +181 +138 +203 +161 +131 +150 +125 +114 +101 +100 +92 +76 +78 +76 +55 +66 +67 +48 +58 +59 +48 +58 +59 +48 +58 +59 +48 +58 +59 +58 +69 +70 +84 +85 +82 +124 +111 +99 +178 +146 +122 +240 +181 +138 +234 +168 +124 +238 +159 +107 +236 +147 +85 +230 +128 +60 +234 +125 +52 +226 +110 +35 +223 +103 +18 +224 +98 +18 +230 +97 +5 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +230 +97 +5 +224 +98 +18 +223 +103 +18 +226 +110 +35 +225 +124 +48 +230 +128 +60 +236 +147 +85 +241 +153 +96 +234 +168 +124 +230 +173 +136 +186 +157 +134 +133 +120 +107 +91 +92 +89 +63 +74 +74 +51 +62 +63 +48 +58 +59 +48 +58 +59 +48 +58 +59 +51 +62 +63 +63 +74 +74 +91 +92 +89 +144 +125 +110 +203 +161 +131 +240 +181 +138 +245 +169 +119 +241 +153 +96 +241 +145 +79 +230 +128 +60 +225 +124 +48 +226 +110 +35 +223 +103 +18 +224 +98 +18 +230 +97 +5 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +230 +97 +5 +224 +98 +18 +223 +103 +18 +226 +110 +35 +239 +117 +44 +230 +123 +57 +231 +136 +72 +236 +147 +85 +238 +159 +107 +245 +169 +119 +234 +168 +124 +240 +181 +138 +239 +182 +144 +236 +186 +153 +250 +197 +158 +250 +197 +158 +250 +197 +158 +251 +192 +154 +236 +186 +153 +239 +182 +144 +245 +179 +138 +234 +168 +124 +238 +159 +107 +241 +153 +96 +231 +136 +72 +230 +128 +60 +225 +124 +48 +226 +110 +35 +223 +103 +18 +224 +98 +18 +230 +97 +5 +230 +97 +5 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +230 +97 +5 +224 +98 +18 +223 +103 +18 +226 +110 +35 +225 +124 +48 +230 +128 +60 +231 +136 +72 +241 +153 +96 +238 +159 +107 +234 +168 +124 +240 +181 +138 +239 +182 +144 +236 +186 +153 +251 +192 +154 +250 +197 +158 +250 +197 +158 +250 +197 +158 +236 +186 +153 +239 +182 +144 +240 +181 +138 +234 +168 +124 +245 +169 +119 +238 +159 +107 +236 +147 +85 +231 +136 +72 +230 +123 +57 +239 +117 +44 +226 +110 +35 +223 +103 +18 +224 +98 +18 +230 +97 +5 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +225 +92 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +225 +124 +48 +230 +128 +60 +231 +136 +72 +236 +147 +85 +241 +153 +96 +238 +159 +107 +238 +159 +107 +234 +168 +124 +234 +168 +124 +234 +168 +124 +234 +168 +124 +234 +168 +124 +238 +159 +107 +238 +159 +107 +241 +153 +96 +236 +147 +85 +231 +136 +72 +230 +128 +60 +230 +123 +57 +226 +110 +35 +226 +110 +35 +223 +103 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +226 +110 +35 +225 +124 +48 +230 +123 +57 +230 +128 +60 +231 +136 +72 +236 +147 +85 +241 +153 +96 +238 +159 +107 +238 +159 +107 +234 +168 +124 +234 +168 +124 +234 +168 +124 +234 +168 +124 +234 +168 +124 +238 +159 +107 +238 +159 +107 +241 +153 +96 +236 +147 +85 +231 +136 +72 +230 +128 +60 +225 +124 +48 +226 +110 +35 +226 +110 +35 +223 +103 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +220 +93 +11 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +225 +124 +48 +230 +128 +60 +230 +128 +60 +231 +136 +72 +231 +136 +72 +236 +147 +85 +236 +147 +85 +236 +147 +85 +236 +147 +85 +236 +147 +85 +231 +136 +72 +231 +136 +72 +231 +136 +72 +230 +128 +60 +227 +126 +50 +225 +124 +48 +226 +110 +35 +223 +103 +18 +223 +103 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +218 +87 +5 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +225 +124 +48 +230 +123 +57 +230 +128 +60 +231 +136 +72 +231 +136 +72 +231 +136 +72 +236 +147 +85 +236 +147 +85 +236 +147 +85 +236 +147 +85 +236 +147 +85 +231 +136 +72 +231 +136 +72 +230 +128 +60 +230 +123 +57 +225 +124 +48 +226 +110 +35 +226 +110 +35 +223 +103 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +220 +93 +11 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +225 +124 +48 +225 +124 +48 +225 +124 +48 +224 +123 +55 +224 +123 +55 +224 +123 +55 +230 +123 +57 +224 +123 +55 +224 +123 +55 +225 +124 +48 +225 +124 +48 +226 +110 +35 +226 +110 +35 +223 +103 +18 +223 +103 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +218 +87 +5 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +220 +93 +11 +224 +98 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +226 +110 +35 +225 +124 +48 +225 +124 +48 +224 +123 +55 +230 +123 +57 +230 +123 +57 +230 +123 +57 +230 +123 +57 +230 +123 +57 +225 +124 +48 +225 +124 +48 +226 +110 +35 +226 +110 +35 +226 +110 +35 +223 +103 +18 +224 +98 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +221 +89 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +224 +98 +18 +224 +98 +18 +224 +98 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +223 +103 +18 +223 +103 +18 +224 +98 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +224 +98 +18 +224 +98 +18 +223 +103 +18 +223 +103 +18 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +226 +110 +35 +223 +103 +18 +224 +98 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +220 +93 +11 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +220 +93 +11 +220 +93 +11 +224 +98 +18 +224 +98 +18 +224 +98 +18 +224 +98 +18 +224 +98 +18 +224 +98 +18 +220 +93 +11 +224 +98 +18 +220 +93 +11 +220 +93 +11 +220 +93 +11 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +220 +93 +11 +220 +93 +11 +220 +93 +11 +220 +93 +11 +220 +93 +11 +224 +98 +18 +224 +98 +18 +224 +98 +18 +224 +98 +18 +224 +98 +18 +220 +93 +11 +220 +93 +11 +220 +93 +11 +220 +93 +11 +220 +93 +11 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +218 +87 +5 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +217 +86 +3 +217 +86 +3 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 +214 +84 +0 diff --git a/packages/linux/linux-omap2-git/beagleboard/no-empty-flash-warnings.patch b/packages/linux/linux-omap2-git/beagleboard/no-empty-flash-warnings.patch new file mode 100644 index 0000000000..ab344b0449 --- /dev/null +++ b/packages/linux/linux-omap2-git/beagleboard/no-empty-flash-warnings.patch @@ -0,0 +1,15 @@ +diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c +index 1d437de..33b3feb 100644 +--- a/fs/jffs2/scan.c ++++ b/fs/jffs2/scan.c +@@ -647,8 +647,8 @@ scan_more: + inbuf_ofs = ofs - buf_ofs; + while (inbuf_ofs < scan_end) { + if (unlikely(*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff)) { +- printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n", +- empty_start, ofs); ++// printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n", ++// empty_start, ofs); + if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start))) + return err; + goto scan_more; diff --git a/packages/linux/linux-omap2-git/omap3evm/0001-omap3-cpuidle.patch b/packages/linux/linux-omap2-git/omap3evm/0001-omap3-cpuidle.patch index 28b1ef2214..cdc9447b4c 100644 --- a/packages/linux/linux-omap2-git/omap3evm/0001-omap3-cpuidle.patch +++ b/packages/linux/linux-omap2-git/omap3evm/0001-omap3-cpuidle.patch @@ -1,450 +1,450 @@ -From: "Rajendra Nayak" <rnayak@ti.com>
-To: <linux-omap@vger.kernel.org>
-Subject: [PATCH 01/02] OMAP3 CPUidle driver
-Date: Tue, 10 Jun 2008 12:39:00 +0530
-
-This patch adds the OMAP3 cpuidle driver. Irq enable/disable is done in the core cpuidle driver
-before it queries the governor for the next state.
-
-Signed-off-by: Rajendra Nayak <rnayak@ti.com>
-
----
- arch/arm/mach-omap2/Makefile | 2
- arch/arm/mach-omap2/cpuidle34xx.c | 293 ++++++++++++++++++++++++++++++++++++++
- arch/arm/mach-omap2/cpuidle34xx.h | 51 ++++++
- arch/arm/mach-omap2/pm34xx.c | 5
- drivers/cpuidle/cpuidle.c | 10 +
- 5 files changed, 359 insertions(+), 2 deletions(-)
-
-Index: linux-omap-2.6/arch/arm/mach-omap2/Makefile
-===================================================================
---- linux-omap-2.6.orig/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:33.855303920 +0530
-+++ linux-omap-2.6/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:39.569121361 +0530
-@@ -20,7 +20,7 @@ obj-y += pm.o
- obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o
- obj-$(CONFIG_ARCH_OMAP2420) += sleep242x.o
- obj-$(CONFIG_ARCH_OMAP2430) += sleep243x.o
--obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o
-+obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o
- obj-$(CONFIG_PM_DEBUG) += pm-debug.o
- endif
-
-Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c 2008-06-10 11:41:27.644820323 +0530
-@@ -0,0 +1,293 @@
-+/*
-+ * linux/arch/arm/mach-omap2/cpuidle34xx.c
-+ *
-+ * OMAP3 CPU IDLE Routines
-+ *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Rajendra Nayak <rnayak@ti.com>
-+ *
-+ * Copyright (C) 2007 Texas Instruments, Inc.
-+ * Karthik Dasu <karthik-dp@ti.com>
-+ *
-+ * Copyright (C) 2006 Nokia Corporation
-+ * Tony Lindgren <tony@atomide.com>
-+ *
-+ * Copyright (C) 2005 Texas Instruments, Inc.
-+ * Richard Woodruff <r-woodruff2@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ */
-+
-+#include <linux/cpuidle.h>
-+#include <asm/arch/pm.h>
-+#include <asm/arch/prcm.h>
-+#include <asm/arch/powerdomain.h>
-+#include <asm/arch/clockdomain.h>
-+#include <asm/arch/irqs.h>
-+#include "cpuidle34xx.h"
-+
-+#ifdef CONFIG_CPU_IDLE
-+
-+struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES];
-+struct omap3_processor_cx current_cx_state;
-+
-+static int omap3_idle_bm_check(void)
-+{
-+ /* Check for omap3_fclks_active() here once available */
-+ return 0;
-+}
-+
-+/* omap3_enter_idle - Programs OMAP3 to enter the specified state.
-+ * returns the total time during which the system was idle.
-+ */
-+static int omap3_enter_idle(struct cpuidle_device *dev,
-+ struct cpuidle_state *state)
-+{
-+ struct omap3_processor_cx *cx = cpuidle_get_statedata(state);
-+ struct timespec ts_preidle, ts_postidle, ts_idle;
-+ struct powerdomain *mpu_pd, *core_pd, *per_pd, *neon_pd;
-+ int neon_pwrst;
-+
-+ current_cx_state = *cx;
-+
-+ if (cx->type == OMAP3_STATE_C0) {
-+ /* Do nothing for C0, not even a wfi */
-+ return 0;
-+ }
-+
-+ /* Used to keep track of the total time in idle */
-+ getnstimeofday(&ts_preidle);
-+
-+ mpu_pd = pwrdm_lookup("mpu_pwrdm");
-+ core_pd = pwrdm_lookup("core_pwrdm");
-+ per_pd = pwrdm_lookup("per_pwrdm");
-+ neon_pd = pwrdm_lookup("neon_pwrdm");
-+
-+ /* Reset previous power state registers */
-+ pwrdm_clear_all_prev_pwrst(mpu_pd);
-+ pwrdm_clear_all_prev_pwrst(neon_pd);
-+ pwrdm_clear_all_prev_pwrst(core_pd);
-+ pwrdm_clear_all_prev_pwrst(per_pd);
-+
-+ if (omap_irq_pending())
-+ return 0;
-+
-+ neon_pwrst = pwrdm_read_pwrst(neon_pd);
-+
-+ /* Program MPU/NEON to target state */
-+ if (cx->mpu_state < PWRDM_POWER_ON) {
-+ if (neon_pwrst == PWRDM_POWER_ON) {
-+ if (cx->mpu_state == PWRDM_POWER_RET)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_RET);
-+ else if (cx->mpu_state == PWRDM_POWER_OFF)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_OFF);
-+ }
-+ pwrdm_set_next_pwrst(mpu_pd, cx->mpu_state);
-+ }
-+
-+ /* Program CORE to target state */
-+ if (cx->core_state < PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(core_pd, cx->core_state);
-+
-+ /* Execute ARM wfi */
-+ omap_sram_idle();
-+
-+ /* Program MPU/NEON to ON */
-+ if (cx->mpu_state < PWRDM_POWER_ON) {
-+ if (neon_pwrst == PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_ON);
-+ pwrdm_set_next_pwrst(mpu_pd, PWRDM_POWER_ON);
-+ }
-+
-+ if (cx->core_state < PWRDM_POWER_ON)
-+ pwrdm_set_next_pwrst(core_pd, PWRDM_POWER_ON);
-+
-+ getnstimeofday(&ts_postidle);
-+ ts_idle = timespec_sub(ts_postidle, ts_preidle);
-+ return timespec_to_ns(&ts_idle);
-+}
-+
-+/*
-+ * omap3_enter_idle_bm - enter function for states with CPUIDLE_FLAG_CHECK_BM
-+ *
-+ * This function checks for all the pre-requisites needed for OMAP3 to enter
-+ * CORE RET/OFF state. It then calls omap3_enter_idle to program the desired
-+ * C state.
-+ */
-+static int omap3_enter_idle_bm(struct cpuidle_device *dev,
-+ struct cpuidle_state *state)
-+{
-+ struct cpuidle_state *new_state = NULL;
-+ int i, j;
-+
-+ if ((state->flags & CPUIDLE_FLAG_CHECK_BM) && omap3_idle_bm_check()) {
-+
-+ /* Find current state in list */
-+ for (i = 0; i < OMAP3_MAX_STATES; i++)
-+ if (state == &dev->states[i])
-+ break;
-+ BUG_ON(i == OMAP3_MAX_STATES);
-+
-+ /* Back up to non 'CHECK_BM' state */
-+ for (j = i - 1; j > 0; j--) {
-+ struct cpuidle_state *s = &dev->states[j];
-+
-+ if (!(s->flags & CPUIDLE_FLAG_CHECK_BM)) {
-+ new_state = s;
-+ break;
-+ }
-+ }
-+
-+ pr_debug("%s: Bus activity: Entering %s (instead of %s)\n",
-+ __FUNCTION__, new_state->name, state->name);
-+ }
-+
-+ return omap3_enter_idle(dev, new_state ? : state);
-+}
-+
-+DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev);
-+
-+/* omap3_init_power_states - Initialises the OMAP3 specific C states.
-+ * Below is the desciption of each C state.
-+ *
-+ C0 . System executing code
-+ C1 . MPU WFI + Core active
-+ C2 . MPU CSWR + Core active
-+ C3 . MPU OFF + Core active
-+ C4 . MPU CSWR + Core CSWR
-+ C5 . MPU OFF + Core CSWR
-+ C6 . MPU OFF + Core OFF
-+ */
-+void omap_init_power_states(void)
-+{
-+ /* C0 . System executing code */
-+ omap3_power_states[0].valid = 1;
-+ omap3_power_states[0].type = OMAP3_STATE_C0;
-+ omap3_power_states[0].sleep_latency = 0;
-+ omap3_power_states[0].wakeup_latency = 0;
-+ omap3_power_states[0].threshold = 0;
-+ omap3_power_states[0].mpu_state = PWRDM_POWER_ON;
-+ omap3_power_states[0].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[0].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_SHALLOW;
-+
-+ /* C1 . MPU WFI + Core active */
-+ omap3_power_states[1].valid = 1;
-+ omap3_power_states[1].type = OMAP3_STATE_C1;
-+ omap3_power_states[1].sleep_latency = 10;
-+ omap3_power_states[1].wakeup_latency = 10;
-+ omap3_power_states[1].threshold = 30;
-+ omap3_power_states[1].mpu_state = PWRDM_POWER_ON;
-+ omap3_power_states[1].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[1].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_SHALLOW;
-+
-+ /* C2 . MPU CSWR + Core active */
-+ omap3_power_states[2].valid = 1;
-+ omap3_power_states[2].type = OMAP3_STATE_C2;
-+ omap3_power_states[2].sleep_latency = 50;
-+ omap3_power_states[2].wakeup_latency = 50;
-+ omap3_power_states[2].threshold = 300;
-+ omap3_power_states[2].mpu_state = PWRDM_POWER_RET;
-+ omap3_power_states[2].core_state = PWRDM_POWER_ON;
-+ omap3_power_states[2].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED;
-+
-+ /* C3 . MPU OFF + Core active */
-+ omap3_power_states[3].valid = 0;
-+ omap3_power_states[3].type = OMAP3_STATE_C3;
-+ omap3_power_states[3].sleep_latency = 1500;
-+ omap3_power_states[3].wakeup_latency = 1800;
-+ omap3_power_states[3].threshold = 4000;
-+ omap3_power_states[3].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[3].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[3].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED;
-+
-+ /* C4 . MPU CSWR + Core CSWR*/
-+ omap3_power_states[4].valid = 1;
-+ omap3_power_states[4].type = OMAP3_STATE_C4;
-+ omap3_power_states[4].sleep_latency = 2500;
-+ omap3_power_states[4].wakeup_latency = 7500;
-+ omap3_power_states[4].threshold = 12000;
-+ omap3_power_states[4].mpu_state = PWRDM_POWER_RET;
-+ omap3_power_states[4].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[4].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM;
-+
-+ /* C5 . MPU OFF + Core CSWR */
-+ omap3_power_states[5].valid = 0;
-+ omap3_power_states[5].type = OMAP3_STATE_C5;
-+ omap3_power_states[5].sleep_latency = 3000;
-+ omap3_power_states[5].wakeup_latency = 8500;
-+ omap3_power_states[5].threshold = 15000;
-+ omap3_power_states[5].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[5].core_state = PWRDM_POWER_RET;
-+ omap3_power_states[5].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM;
-+
-+ /* C6 . MPU OFF + Core OFF */
-+ omap3_power_states[6].valid = 0;
-+ omap3_power_states[6].type = OMAP3_STATE_C6;
-+ omap3_power_states[6].sleep_latency = 10000;
-+ omap3_power_states[6].wakeup_latency = 30000;
-+ omap3_power_states[6].threshold = 300000;
-+ omap3_power_states[6].mpu_state = PWRDM_POWER_OFF;
-+ omap3_power_states[6].core_state = PWRDM_POWER_OFF;
-+ omap3_power_states[6].flags = CPUIDLE_FLAG_TIME_VALID |
-+ CPUIDLE_FLAG_DEEP | CPUIDLE_FLAG_CHECK_BM;
-+}
-+
-+struct cpuidle_driver omap3_idle_driver = {
-+ .name = "omap3_idle",
-+ .owner = THIS_MODULE,
-+};
-+/*
-+ * omap3_idle_init - Init routine for OMAP3 idle.
-+ * Registers the OMAP3 specific cpuidle driver with the cpuidle f/w
-+ * with the valid set of states.
-+ */
-+int omap3_idle_init(void)
-+{
-+ int i, count = 0;
-+ struct omap3_processor_cx *cx;
-+ struct cpuidle_state *state;
-+ struct cpuidle_device *dev;
-+
-+ omap_init_power_states();
-+ cpuidle_register_driver(&omap3_idle_driver);
-+
-+ dev = &per_cpu(omap3_idle_dev, smp_processor_id());
-+
-+ for (i = 0; i < OMAP3_MAX_STATES; i++) {
-+ cx = &omap3_power_states[i];
-+ state = &dev->states[count];
-+
-+ if (!cx->valid)
-+ continue;
-+ cpuidle_set_statedata(state, cx);
-+ state->exit_latency = cx->sleep_latency + cx->wakeup_latency;
-+ state->target_residency = cx->threshold;
-+ state->flags = cx->flags;
-+ state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ?
-+ omap3_enter_idle_bm : omap3_enter_idle;
-+ sprintf(state->name, "C%d", count+1);
-+ count++;
-+ }
-+
-+ if (!count)
-+ return -EINVAL;
-+ dev->state_count = count;
-+
-+ if (cpuidle_register_device(dev)) {
-+ printk(KERN_ERR "%s: CPUidle register device failed\n",
-+ __FUNCTION__);
-+ return -EIO;
-+ }
-+
-+ return 0;
-+}
-+__initcall(omap3_idle_init);
-+#endif /* CONFIG_CPU_IDLE */
-Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h
-===================================================================
---- /dev/null 1970-01-01 00:00:00.000000000 +0000
-+++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h 2008-06-09 20:15:39.569121361 +0530
-@@ -0,0 +1,51 @@
-+/*
-+ * linux/arch/arm/mach-omap2/cpuidle34xx.h
-+ *
-+ * OMAP3 cpuidle structure definitions
-+ *
-+ * Copyright (C) 2007-2008 Texas Instruments, Inc.
-+ * Written by Rajendra Nayak <rnayak@ti.com>
-+ *
-+ * This program is free software; you can redistribute it and/or modify
-+ * it under the terms of the GNU General Public License version 2 as
-+ * published by the Free Software Foundation.
-+ *
-+ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
-+ *
-+ * History:
-+ *
-+ */
-+
-+#ifndef ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX
-+#define ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX
-+
-+#define OMAP3_MAX_STATES 7
-+#define OMAP3_STATE_C0 0 /* C0 - System executing code */
-+#define OMAP3_STATE_C1 1 /* C1 - MPU WFI + Core active */
-+#define OMAP3_STATE_C2 2 /* C2 - MPU CSWR + Core active */
-+#define OMAP3_STATE_C3 3 /* C3 - MPU OFF + Core active */
-+#define OMAP3_STATE_C4 4 /* C4 - MPU RET + Core RET */
-+#define OMAP3_STATE_C5 5 /* C5 - MPU OFF + Core RET */
-+#define OMAP3_STATE_C6 6 /* C6 - MPU OFF + Core OFF */
-+
-+extern void omap_sram_idle(void);
-+extern int omap3_irq_pending(void);
-+
-+struct omap3_processor_cx {
-+ u8 valid;
-+ u8 type;
-+ u32 sleep_latency;
-+ u32 wakeup_latency;
-+ u32 mpu_state;
-+ u32 core_state;
-+ u32 threshold;
-+ u32 flags;
-+};
-+
-+void omap_init_power_states(void);
-+int omap3_idle_init(void);
-+
-+#endif /* ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX */
-+
-Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c
-===================================================================
---- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:15:33.855303920 +0530
-+++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:16:20.976798343 +0530
-@@ -141,7 +141,7 @@ static irqreturn_t prcm_interrupt_handle
- return IRQ_HANDLED;
- }
-
--static void omap_sram_idle(void)
-+void omap_sram_idle(void)
- {
- /* Variable to tell what needs to be saved and restored
- * in omap_sram_idle*/
-@@ -156,6 +156,7 @@ static void omap_sram_idle(void)
-
- mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm);
- switch (mpu_next_state) {
-+ case PWRDM_POWER_ON:
- case PWRDM_POWER_RET:
- /* No need to save context */
- save_state = 0;
-@@ -386,7 +387,9 @@ int __init omap3_pm_init(void)
-
- prcm_setup_regs();
-
-+#ifndef CONFIG_CPU_IDLE
- pm_idle = omap3_pm_idle;
-+#endif
-
- err1:
- return ret;
-Index: linux-omap-2.6/drivers/cpuidle/cpuidle.c
-===================================================================
---- linux-omap-2.6.orig/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:33.856303888 +0530
-+++ linux-omap-2.6/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:39.570121329 +0530
-@@ -58,6 +58,11 @@ static void cpuidle_idle_call(void)
- return;
- }
-
-+#ifdef CONFIG_ARCH_OMAP3
-+ local_irq_disable();
-+ local_fiq_disable();
-+#endif
-+
- /* ask the governor for the next state */
- next_state = cpuidle_curr_governor->select(dev);
- if (need_resched())
-@@ -70,6 +75,11 @@ static void cpuidle_idle_call(void)
- target_state->time += (unsigned long long)dev->last_residency;
- target_state->usage++;
-
-+#ifdef CONFIG_ARCH_OMAP3
-+ local_irq_enable();
-+ local_fiq_enable();
-+#endif
-+
- /* give the governor an opportunity to reflect on the outcome */
- if (cpuidle_curr_governor->reflect)
- cpuidle_curr_governor->reflect(dev);
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
+From: "Rajendra Nayak" <rnayak@ti.com> +To: <linux-omap@vger.kernel.org> +Subject: [PATCH 01/02] OMAP3 CPUidle driver +Date: Tue, 10 Jun 2008 12:39:00 +0530 + +This patch adds the OMAP3 cpuidle driver. Irq enable/disable is done in the core cpuidle driver +before it queries the governor for the next state. + +Signed-off-by: Rajendra Nayak <rnayak@ti.com> + +--- + arch/arm/mach-omap2/Makefile | 2 + arch/arm/mach-omap2/cpuidle34xx.c | 293 ++++++++++++++++++++++++++++++++++++++ + arch/arm/mach-omap2/cpuidle34xx.h | 51 ++++++ + arch/arm/mach-omap2/pm34xx.c | 5 + drivers/cpuidle/cpuidle.c | 10 + + 5 files changed, 359 insertions(+), 2 deletions(-) + +Index: linux-omap-2.6/arch/arm/mach-omap2/Makefile +=================================================================== +--- linux-omap-2.6.orig/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:33.855303920 +0530 ++++ linux-omap-2.6/arch/arm/mach-omap2/Makefile 2008-06-09 20:15:39.569121361 +0530 +@@ -20,7 +20,7 @@ obj-y += pm.o + obj-$(CONFIG_ARCH_OMAP2) += pm24xx.o + obj-$(CONFIG_ARCH_OMAP2420) += sleep242x.o + obj-$(CONFIG_ARCH_OMAP2430) += sleep243x.o +-obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o ++obj-$(CONFIG_ARCH_OMAP3) += pm34xx.o sleep34xx.o cpuidle34xx.o + obj-$(CONFIG_PM_DEBUG) += pm-debug.o + endif + +Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.c 2008-06-10 11:41:27.644820323 +0530 +@@ -0,0 +1,293 @@ ++/* ++ * linux/arch/arm/mach-omap2/cpuidle34xx.c ++ * ++ * OMAP3 CPU IDLE Routines ++ * ++ * Copyright (C) 2007-2008 Texas Instruments, Inc. ++ * Rajendra Nayak <rnayak@ti.com> ++ * ++ * Copyright (C) 2007 Texas Instruments, Inc. ++ * Karthik Dasu <karthik-dp@ti.com> ++ * ++ * Copyright (C) 2006 Nokia Corporation ++ * Tony Lindgren <tony@atomide.com> ++ * ++ * Copyright (C) 2005 Texas Instruments, Inc. ++ * Richard Woodruff <r-woodruff2@ti.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ */ ++ ++#include <linux/cpuidle.h> ++#include <asm/arch/pm.h> ++#include <asm/arch/prcm.h> ++#include <asm/arch/powerdomain.h> ++#include <asm/arch/clockdomain.h> ++#include <asm/arch/irqs.h> ++#include "cpuidle34xx.h" ++ ++#ifdef CONFIG_CPU_IDLE ++ ++struct omap3_processor_cx omap3_power_states[OMAP3_MAX_STATES]; ++struct omap3_processor_cx current_cx_state; ++ ++static int omap3_idle_bm_check(void) ++{ ++ /* Check for omap3_fclks_active() here once available */ ++ return 0; ++} ++ ++/* omap3_enter_idle - Programs OMAP3 to enter the specified state. ++ * returns the total time during which the system was idle. ++ */ ++static int omap3_enter_idle(struct cpuidle_device *dev, ++ struct cpuidle_state *state) ++{ ++ struct omap3_processor_cx *cx = cpuidle_get_statedata(state); ++ struct timespec ts_preidle, ts_postidle, ts_idle; ++ struct powerdomain *mpu_pd, *core_pd, *per_pd, *neon_pd; ++ int neon_pwrst; ++ ++ current_cx_state = *cx; ++ ++ if (cx->type == OMAP3_STATE_C0) { ++ /* Do nothing for C0, not even a wfi */ ++ return 0; ++ } ++ ++ /* Used to keep track of the total time in idle */ ++ getnstimeofday(&ts_preidle); ++ ++ mpu_pd = pwrdm_lookup("mpu_pwrdm"); ++ core_pd = pwrdm_lookup("core_pwrdm"); ++ per_pd = pwrdm_lookup("per_pwrdm"); ++ neon_pd = pwrdm_lookup("neon_pwrdm"); ++ ++ /* Reset previous power state registers */ ++ pwrdm_clear_all_prev_pwrst(mpu_pd); ++ pwrdm_clear_all_prev_pwrst(neon_pd); ++ pwrdm_clear_all_prev_pwrst(core_pd); ++ pwrdm_clear_all_prev_pwrst(per_pd); ++ ++ if (omap_irq_pending()) ++ return 0; ++ ++ neon_pwrst = pwrdm_read_pwrst(neon_pd); ++ ++ /* Program MPU/NEON to target state */ ++ if (cx->mpu_state < PWRDM_POWER_ON) { ++ if (neon_pwrst == PWRDM_POWER_ON) { ++ if (cx->mpu_state == PWRDM_POWER_RET) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_RET); ++ else if (cx->mpu_state == PWRDM_POWER_OFF) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_OFF); ++ } ++ pwrdm_set_next_pwrst(mpu_pd, cx->mpu_state); ++ } ++ ++ /* Program CORE to target state */ ++ if (cx->core_state < PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(core_pd, cx->core_state); ++ ++ /* Execute ARM wfi */ ++ omap_sram_idle(); ++ ++ /* Program MPU/NEON to ON */ ++ if (cx->mpu_state < PWRDM_POWER_ON) { ++ if (neon_pwrst == PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(neon_pd, PWRDM_POWER_ON); ++ pwrdm_set_next_pwrst(mpu_pd, PWRDM_POWER_ON); ++ } ++ ++ if (cx->core_state < PWRDM_POWER_ON) ++ pwrdm_set_next_pwrst(core_pd, PWRDM_POWER_ON); ++ ++ getnstimeofday(&ts_postidle); ++ ts_idle = timespec_sub(ts_postidle, ts_preidle); ++ return timespec_to_ns(&ts_idle); ++} ++ ++/* ++ * omap3_enter_idle_bm - enter function for states with CPUIDLE_FLAG_CHECK_BM ++ * ++ * This function checks for all the pre-requisites needed for OMAP3 to enter ++ * CORE RET/OFF state. It then calls omap3_enter_idle to program the desired ++ * C state. ++ */ ++static int omap3_enter_idle_bm(struct cpuidle_device *dev, ++ struct cpuidle_state *state) ++{ ++ struct cpuidle_state *new_state = NULL; ++ int i, j; ++ ++ if ((state->flags & CPUIDLE_FLAG_CHECK_BM) && omap3_idle_bm_check()) { ++ ++ /* Find current state in list */ ++ for (i = 0; i < OMAP3_MAX_STATES; i++) ++ if (state == &dev->states[i]) ++ break; ++ BUG_ON(i == OMAP3_MAX_STATES); ++ ++ /* Back up to non 'CHECK_BM' state */ ++ for (j = i - 1; j > 0; j--) { ++ struct cpuidle_state *s = &dev->states[j]; ++ ++ if (!(s->flags & CPUIDLE_FLAG_CHECK_BM)) { ++ new_state = s; ++ break; ++ } ++ } ++ ++ pr_debug("%s: Bus activity: Entering %s (instead of %s)\n", ++ __FUNCTION__, new_state->name, state->name); ++ } ++ ++ return omap3_enter_idle(dev, new_state ? : state); ++} ++ ++DEFINE_PER_CPU(struct cpuidle_device, omap3_idle_dev); ++ ++/* omap3_init_power_states - Initialises the OMAP3 specific C states. ++ * Below is the desciption of each C state. ++ * ++ C0 . System executing code ++ C1 . MPU WFI + Core active ++ C2 . MPU CSWR + Core active ++ C3 . MPU OFF + Core active ++ C4 . MPU CSWR + Core CSWR ++ C5 . MPU OFF + Core CSWR ++ C6 . MPU OFF + Core OFF ++ */ ++void omap_init_power_states(void) ++{ ++ /* C0 . System executing code */ ++ omap3_power_states[0].valid = 1; ++ omap3_power_states[0].type = OMAP3_STATE_C0; ++ omap3_power_states[0].sleep_latency = 0; ++ omap3_power_states[0].wakeup_latency = 0; ++ omap3_power_states[0].threshold = 0; ++ omap3_power_states[0].mpu_state = PWRDM_POWER_ON; ++ omap3_power_states[0].core_state = PWRDM_POWER_ON; ++ omap3_power_states[0].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_SHALLOW; ++ ++ /* C1 . MPU WFI + Core active */ ++ omap3_power_states[1].valid = 1; ++ omap3_power_states[1].type = OMAP3_STATE_C1; ++ omap3_power_states[1].sleep_latency = 10; ++ omap3_power_states[1].wakeup_latency = 10; ++ omap3_power_states[1].threshold = 30; ++ omap3_power_states[1].mpu_state = PWRDM_POWER_ON; ++ omap3_power_states[1].core_state = PWRDM_POWER_ON; ++ omap3_power_states[1].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_SHALLOW; ++ ++ /* C2 . MPU CSWR + Core active */ ++ omap3_power_states[2].valid = 1; ++ omap3_power_states[2].type = OMAP3_STATE_C2; ++ omap3_power_states[2].sleep_latency = 50; ++ omap3_power_states[2].wakeup_latency = 50; ++ omap3_power_states[2].threshold = 300; ++ omap3_power_states[2].mpu_state = PWRDM_POWER_RET; ++ omap3_power_states[2].core_state = PWRDM_POWER_ON; ++ omap3_power_states[2].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED; ++ ++ /* C3 . MPU OFF + Core active */ ++ omap3_power_states[3].valid = 0; ++ omap3_power_states[3].type = OMAP3_STATE_C3; ++ omap3_power_states[3].sleep_latency = 1500; ++ omap3_power_states[3].wakeup_latency = 1800; ++ omap3_power_states[3].threshold = 4000; ++ omap3_power_states[3].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[3].core_state = PWRDM_POWER_RET; ++ omap3_power_states[3].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED; ++ ++ /* C4 . MPU CSWR + Core CSWR*/ ++ omap3_power_states[4].valid = 1; ++ omap3_power_states[4].type = OMAP3_STATE_C4; ++ omap3_power_states[4].sleep_latency = 2500; ++ omap3_power_states[4].wakeup_latency = 7500; ++ omap3_power_states[4].threshold = 12000; ++ omap3_power_states[4].mpu_state = PWRDM_POWER_RET; ++ omap3_power_states[4].core_state = PWRDM_POWER_RET; ++ omap3_power_states[4].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM; ++ ++ /* C5 . MPU OFF + Core CSWR */ ++ omap3_power_states[5].valid = 0; ++ omap3_power_states[5].type = OMAP3_STATE_C5; ++ omap3_power_states[5].sleep_latency = 3000; ++ omap3_power_states[5].wakeup_latency = 8500; ++ omap3_power_states[5].threshold = 15000; ++ omap3_power_states[5].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[5].core_state = PWRDM_POWER_RET; ++ omap3_power_states[5].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_BALANCED | CPUIDLE_FLAG_CHECK_BM; ++ ++ /* C6 . MPU OFF + Core OFF */ ++ omap3_power_states[6].valid = 0; ++ omap3_power_states[6].type = OMAP3_STATE_C6; ++ omap3_power_states[6].sleep_latency = 10000; ++ omap3_power_states[6].wakeup_latency = 30000; ++ omap3_power_states[6].threshold = 300000; ++ omap3_power_states[6].mpu_state = PWRDM_POWER_OFF; ++ omap3_power_states[6].core_state = PWRDM_POWER_OFF; ++ omap3_power_states[6].flags = CPUIDLE_FLAG_TIME_VALID | ++ CPUIDLE_FLAG_DEEP | CPUIDLE_FLAG_CHECK_BM; ++} ++ ++struct cpuidle_driver omap3_idle_driver = { ++ .name = "omap3_idle", ++ .owner = THIS_MODULE, ++}; ++/* ++ * omap3_idle_init - Init routine for OMAP3 idle. ++ * Registers the OMAP3 specific cpuidle driver with the cpuidle f/w ++ * with the valid set of states. ++ */ ++int omap3_idle_init(void) ++{ ++ int i, count = 0; ++ struct omap3_processor_cx *cx; ++ struct cpuidle_state *state; ++ struct cpuidle_device *dev; ++ ++ omap_init_power_states(); ++ cpuidle_register_driver(&omap3_idle_driver); ++ ++ dev = &per_cpu(omap3_idle_dev, smp_processor_id()); ++ ++ for (i = 0; i < OMAP3_MAX_STATES; i++) { ++ cx = &omap3_power_states[i]; ++ state = &dev->states[count]; ++ ++ if (!cx->valid) ++ continue; ++ cpuidle_set_statedata(state, cx); ++ state->exit_latency = cx->sleep_latency + cx->wakeup_latency; ++ state->target_residency = cx->threshold; ++ state->flags = cx->flags; ++ state->enter = (state->flags & CPUIDLE_FLAG_CHECK_BM) ? ++ omap3_enter_idle_bm : omap3_enter_idle; ++ sprintf(state->name, "C%d", count+1); ++ count++; ++ } ++ ++ if (!count) ++ return -EINVAL; ++ dev->state_count = count; ++ ++ if (cpuidle_register_device(dev)) { ++ printk(KERN_ERR "%s: CPUidle register device failed\n", ++ __FUNCTION__); ++ return -EIO; ++ } ++ ++ return 0; ++} ++__initcall(omap3_idle_init); ++#endif /* CONFIG_CPU_IDLE */ +Index: linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ linux-omap-2.6/arch/arm/mach-omap2/cpuidle34xx.h 2008-06-09 20:15:39.569121361 +0530 +@@ -0,0 +1,51 @@ ++/* ++ * linux/arch/arm/mach-omap2/cpuidle34xx.h ++ * ++ * OMAP3 cpuidle structure definitions ++ * ++ * Copyright (C) 2007-2008 Texas Instruments, Inc. ++ * Written by Rajendra Nayak <rnayak@ti.com> ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License version 2 as ++ * published by the Free Software Foundation. ++ * ++ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR ++ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED ++ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. ++ * ++ * History: ++ * ++ */ ++ ++#ifndef ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX ++#define ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX ++ ++#define OMAP3_MAX_STATES 7 ++#define OMAP3_STATE_C0 0 /* C0 - System executing code */ ++#define OMAP3_STATE_C1 1 /* C1 - MPU WFI + Core active */ ++#define OMAP3_STATE_C2 2 /* C2 - MPU CSWR + Core active */ ++#define OMAP3_STATE_C3 3 /* C3 - MPU OFF + Core active */ ++#define OMAP3_STATE_C4 4 /* C4 - MPU RET + Core RET */ ++#define OMAP3_STATE_C5 5 /* C5 - MPU OFF + Core RET */ ++#define OMAP3_STATE_C6 6 /* C6 - MPU OFF + Core OFF */ ++ ++extern void omap_sram_idle(void); ++extern int omap3_irq_pending(void); ++ ++struct omap3_processor_cx { ++ u8 valid; ++ u8 type; ++ u32 sleep_latency; ++ u32 wakeup_latency; ++ u32 mpu_state; ++ u32 core_state; ++ u32 threshold; ++ u32 flags; ++}; ++ ++void omap_init_power_states(void); ++int omap3_idle_init(void); ++ ++#endif /* ARCH_ARM_MACH_OMAP2_CPUIDLE_34XX */ ++ +Index: linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c +=================================================================== +--- linux-omap-2.6.orig/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:15:33.855303920 +0530 ++++ linux-omap-2.6/arch/arm/mach-omap2/pm34xx.c 2008-06-09 20:16:20.976798343 +0530 +@@ -141,7 +141,7 @@ static irqreturn_t prcm_interrupt_handle + return IRQ_HANDLED; + } + +-static void omap_sram_idle(void) ++void omap_sram_idle(void) + { + /* Variable to tell what needs to be saved and restored + * in omap_sram_idle*/ +@@ -156,6 +156,7 @@ static void omap_sram_idle(void) + + mpu_next_state = pwrdm_read_next_pwrst(mpu_pwrdm); + switch (mpu_next_state) { ++ case PWRDM_POWER_ON: + case PWRDM_POWER_RET: + /* No need to save context */ + save_state = 0; +@@ -386,7 +387,9 @@ int __init omap3_pm_init(void) + + prcm_setup_regs(); + ++#ifndef CONFIG_CPU_IDLE + pm_idle = omap3_pm_idle; ++#endif + + err1: + return ret; +Index: linux-omap-2.6/drivers/cpuidle/cpuidle.c +=================================================================== +--- linux-omap-2.6.orig/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:33.856303888 +0530 ++++ linux-omap-2.6/drivers/cpuidle/cpuidle.c 2008-06-09 20:15:39.570121329 +0530 +@@ -58,6 +58,11 @@ static void cpuidle_idle_call(void) + return; + } + ++#ifdef CONFIG_ARCH_OMAP3 ++ local_irq_disable(); ++ local_fiq_disable(); ++#endif ++ + /* ask the governor for the next state */ + next_state = cpuidle_curr_governor->select(dev); + if (need_resched()) +@@ -70,6 +75,11 @@ static void cpuidle_idle_call(void) + target_state->time += (unsigned long long)dev->last_residency; + target_state->usage++; + ++#ifdef CONFIG_ARCH_OMAP3 ++ local_irq_enable(); ++ local_fiq_enable(); ++#endif ++ + /* give the governor an opportunity to reflect on the outcome */ + if (cpuidle_curr_governor->reflect) + cpuidle_curr_governor->reflect(dev); + +-- +To unsubscribe from this list: send the line "unsubscribe linux-omap" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/packages/linux/linux-omap2-git/omap3evm/0002-omap3-cpuidle.patch b/packages/linux/linux-omap2-git/omap3evm/0002-omap3-cpuidle.patch index c17c690fe1..d35fd47567 100644 --- a/packages/linux/linux-omap2-git/omap3evm/0002-omap3-cpuidle.patch +++ b/packages/linux/linux-omap2-git/omap3evm/0002-omap3-cpuidle.patch @@ -1,88 +1,88 @@ -From: "Rajendra Nayak" <rnayak@ti.com>
-To: <linux-omap@vger.kernel.org>
-Subject: [PATCH 02/02] Kconfig changes
-Date: Tue, 10 Jun 2008 12:39:02 +0530
-
-Updates the CPUidle Kconfig
-
-Signed-off-by: Rajendra Nayak <rnayak@ti.com>
-
----
- arch/arm/Kconfig | 10 ++++++++++
- drivers/cpuidle/Kconfig | 28 ++++++++++++++++++++++------
- 2 files changed, 32 insertions(+), 6 deletions(-)
-
-Index: linux-omap-2.6/arch/arm/Kconfig
-===================================================================
---- linux-omap-2.6.orig/arch/arm/Kconfig 2008-06-10 11:43:10.790502713 +0530
-+++ linux-omap-2.6/arch/arm/Kconfig 2008-06-10 11:43:38.701604549 +0530
-@@ -954,6 +954,16 @@ config ATAGS_PROC
-
- endmenu
-
-+if (ARCH_OMAP)
-+
-+menu "CPUIdle"
-+
-+source "drivers/cpuidle/Kconfig"
-+
-+endmenu
-+
-+endif
-+
- if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA)
-
- menu "CPU Frequency scaling"
-Index: linux-omap-2.6/drivers/cpuidle/Kconfig
-===================================================================
---- linux-omap-2.6.orig/drivers/cpuidle/Kconfig 2008-06-10 11:43:10.790502713 +0530
-+++ linux-omap-2.6/drivers/cpuidle/Kconfig 2008-06-10 12:06:36.139332151 +0530
-@@ -1,20 +1,36 @@
-+menu "CPU idle PM support"
-
- config CPU_IDLE
- bool "CPU idle PM support"
-- default ACPI
-+ default n
- help
- CPU idle is a generic framework for supporting software-controlled
- idle processor power management. It includes modular cross-platform
- governors that can be swapped during runtime.
-
-- If you're using an ACPI-enabled platform, you should say Y here.
-+ If you're using a mobile platform that supports CPU idle PM (e.g.
-+ an ACPI-capable notebook), you should say Y here.
-+
-+if CPU_IDLE
-+
-+comment "Governors"
-
- config CPU_IDLE_GOV_LADDER
-- bool
-+ bool "ladder"
- depends on CPU_IDLE
-- default y
-+ default n
-
- config CPU_IDLE_GOV_MENU
-- bool
-+ bool "menu"
- depends on CPU_IDLE && NO_HZ
-- default y
-+ default n
-+ help
-+ This cpuidle governor evaluates all available states and chooses the
-+ deepest state that meets all of the following constraints: BM activity,
-+ expected time until next timer interrupt, and last break event time
-+ delta. It is designed to minimize power consumption. Currently
-+ dynticks is required.
-+
-+endif # CPU_IDLE
-+
-+endmenu
-
---
-To unsubscribe from this list: send the line "unsubscribe linux-omap" in
-the body of a message to majordomo@vger.kernel.org
-More majordomo info at http://vger.kernel.org/majordomo-info.html
-
+From: "Rajendra Nayak" <rnayak@ti.com> +To: <linux-omap@vger.kernel.org> +Subject: [PATCH 02/02] Kconfig changes +Date: Tue, 10 Jun 2008 12:39:02 +0530 + +Updates the CPUidle Kconfig + +Signed-off-by: Rajendra Nayak <rnayak@ti.com> + +--- + arch/arm/Kconfig | 10 ++++++++++ + drivers/cpuidle/Kconfig | 28 ++++++++++++++++++++++------ + 2 files changed, 32 insertions(+), 6 deletions(-) + +Index: linux-omap-2.6/arch/arm/Kconfig +=================================================================== +--- linux-omap-2.6.orig/arch/arm/Kconfig 2008-06-10 11:43:10.790502713 +0530 ++++ linux-omap-2.6/arch/arm/Kconfig 2008-06-10 11:43:38.701604549 +0530 +@@ -954,6 +954,16 @@ config ATAGS_PROC + + endmenu + ++if (ARCH_OMAP) ++ ++menu "CPUIdle" ++ ++source "drivers/cpuidle/Kconfig" ++ ++endmenu ++ ++endif ++ + if (ARCH_SA1100 || ARCH_INTEGRATOR || ARCH_OMAP || ARCH_IMX || ARCH_PXA) + + menu "CPU Frequency scaling" +Index: linux-omap-2.6/drivers/cpuidle/Kconfig +=================================================================== +--- linux-omap-2.6.orig/drivers/cpuidle/Kconfig 2008-06-10 11:43:10.790502713 +0530 ++++ linux-omap-2.6/drivers/cpuidle/Kconfig 2008-06-10 12:06:36.139332151 +0530 +@@ -1,20 +1,36 @@ ++menu "CPU idle PM support" + + config CPU_IDLE + bool "CPU idle PM support" +- default ACPI ++ default n + help + CPU idle is a generic framework for supporting software-controlled + idle processor power management. It includes modular cross-platform + governors that can be swapped during runtime. + +- If you're using an ACPI-enabled platform, you should say Y here. ++ If you're using a mobile platform that supports CPU idle PM (e.g. ++ an ACPI-capable notebook), you should say Y here. ++ ++if CPU_IDLE ++ ++comment "Governors" + + config CPU_IDLE_GOV_LADDER +- bool ++ bool "ladder" + depends on CPU_IDLE +- default y ++ default n + + config CPU_IDLE_GOV_MENU +- bool ++ bool "menu" + depends on CPU_IDLE && NO_HZ +- default y ++ default n ++ help ++ This cpuidle governor evaluates all available states and chooses the ++ deepest state that meets all of the following constraints: BM activity, ++ expected time until next timer interrupt, and last break event time ++ delta. It is designed to minimize power consumption. Currently ++ dynticks is required. ++ ++endif # CPU_IDLE ++ ++endmenu + +-- +To unsubscribe from this list: send the line "unsubscribe linux-omap" in +the body of a message to majordomo@vger.kernel.org +More majordomo info at http://vger.kernel.org/majordomo-info.html + diff --git a/packages/linux/linux-omap2-git/omap3evm/no-empty-flash-warnings.patch b/packages/linux/linux-omap2-git/omap3evm/no-empty-flash-warnings.patch new file mode 100644 index 0000000000..ab344b0449 --- /dev/null +++ b/packages/linux/linux-omap2-git/omap3evm/no-empty-flash-warnings.patch @@ -0,0 +1,15 @@ +diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c +index 1d437de..33b3feb 100644 +--- a/fs/jffs2/scan.c ++++ b/fs/jffs2/scan.c +@@ -647,8 +647,8 @@ scan_more: + inbuf_ofs = ofs - buf_ofs; + while (inbuf_ofs < scan_end) { + if (unlikely(*(uint32_t *)(&buf[inbuf_ofs]) != 0xffffffff)) { +- printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n", +- empty_start, ofs); ++// printk(KERN_WARNING "Empty flash at 0x%08x ends at 0x%08x\n", ++// empty_start, ofs); + if ((err = jffs2_scan_dirty_space(c, jeb, ofs-empty_start))) + return err; + goto scan_more; diff --git a/packages/linux/linux-omap2_git.bb b/packages/linux/linux-omap2_git.bb index 3147ef46a7..0defe87be6 100644 --- a/packages/linux/linux-omap2_git.bb +++ b/packages/linux/linux-omap2_git.bb @@ -2,11 +2,10 @@ require linux-omap.inc FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/linux-omap2-git/${MACHINE}" -SRCREV = "af933cd32a5e14f119a4acb4fe20055f6f8ab1aa" +SRCREV = "050684c18f2ea0b08fdd5233a0cd3c7f96e00a0e" PV = "2.6.25+2.6.26-rc8+${PR}+git${SRCREV}" -PR = "r30" - +PR = "r36" SRC_URI = "git://source.mvista.com/git/linux-omap-2.6.git;protocol=git \ file://defconfig" @@ -17,20 +16,20 @@ SRC_URI_append_beagleboard = " file://no-harry-potter.diff;patch=1 \ file://0001-omap3-cpuidle.patch;patch=1 \ file://0002-omap3-cpuidle.patch;patch=1 \ file://timer-suppression.patch;patch=1 \ - file://fix-dispc-clocks.patch;patch=1 \ file://soc.patch;patch=1 \ file://16bpp.patch;patch=1 \ - file://omap3-dppl-divider.patch;patch=1 \ - file://omap3-jitter.patch;patch=1 \ + file://no-empty-flash-warnings.patch;patch=1 \ + file://logo_linux_clut224.ppm \ " SRC_URI_append_omap3evm = " file://no-harry-potter.diff;patch=1 \ file://0001-ASoC-OMAP-Add-basic-support-for-OMAP34xx-in-McBSP.patch;patch=1 \ - file://0001-ARM-OMAP-SmartReflex-driver.patch;patch=1 \ - file://0002-ARM-OMAP-SmartReflex-driver.patch;patch=1 \ - file://0003-ARM-OMAP-SmartReflex-driver.patch;patch=1 \ file://0001-omap3-cpuidle.patch;patch=1 \ file://0002-omap3-cpuidle.patch;patch=1 \ + file://timer-suppression.patch;patch=1 \ + file://soc.patch;patch=1 \ + file://no-empty-flash-warnings.patch;patch=1 \ + file://touchscreen.patch;patch=1 \ " diff --git a/packages/linux/linux-openmoko-devel/defconfig-om-gta01 b/packages/linux/linux-openmoko-devel/defconfig-om-gta01 index 6ef20348a0..889f7ec2e4 100644 --- a/packages/linux/linux-openmoko-devel/defconfig-om-gta01 +++ b/packages/linux/linux-openmoko-devel/defconfig-om-gta01 @@ -205,7 +205,7 @@ CONFIG_S3C2440_C_FIQ=y CONFIG_ARCH_S3C2440=y # CONFIG_MACH_NEXCODER_2440 is not set CONFIG_SMDK2440_CPU2440=y -CONFIG_MACH_HXD8=y +# CONFIG_MACH_HXD8 is not set CONFIG_MACH_NEO1973_GTA02=y # CONFIG_NEO1973_GTA02_2440 is not set CONFIG_CPU_S3C2442=y @@ -891,6 +891,9 @@ CONFIG_INPUT_MOUSE=y # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_FILTER=y +CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y +CONFIG_TOUCHSCREEN_FILTER_MEAN=y # CONFIG_TOUCHSCREEN_ADS7846 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set CONFIG_TOUCHSCREEN_S3C2410=y diff --git a/packages/linux/linux-openmoko-devel/defconfig-om-gta02 b/packages/linux/linux-openmoko-devel/defconfig-om-gta02 index 13670ee017..f87c723d4c 100644 --- a/packages/linux/linux-openmoko-devel/defconfig-om-gta02 +++ b/packages/linux/linux-openmoko-devel/defconfig-om-gta02 @@ -204,7 +204,7 @@ CONFIG_S3C2440_C_FIQ=y CONFIG_ARCH_S3C2440=y # CONFIG_MACH_NEXCODER_2440 is not set CONFIG_SMDK2440_CPU2440=y -CONFIG_MACH_HXD8=y +# CONFIG_MACH_HXD8 is not set CONFIG_MACH_NEO1973_GTA02=y # CONFIG_NEO1973_GTA02_2440 is not set CONFIG_CPU_S3C2442=y @@ -890,6 +890,9 @@ CONFIG_INPUT_MOUSE=y # CONFIG_INPUT_JOYSTICK is not set # CONFIG_INPUT_TABLET is not set CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_FILTER=y +CONFIG_TOUCHSCREEN_FILTER_MEDIAN=y +CONFIG_TOUCHSCREEN_FILTER_MEAN=y # CONFIG_TOUCHSCREEN_ADS7846 is not set # CONFIG_TOUCHSCREEN_FUJITSU is not set CONFIG_TOUCHSCREEN_S3C2410=y diff --git a/packages/linux/linux-openmoko-devel_git.bb b/packages/linux/linux-openmoko-devel_git.bb index d6bf57e3e3..9c14ebfa66 100644 --- a/packages/linux/linux-openmoko-devel_git.bb +++ b/packages/linux/linux-openmoko-devel_git.bb @@ -8,8 +8,8 @@ KERNEL_RELEASE = "2.6.24" KERNEL_VERSION = "${KERNEL_RELEASE}" # If you use a rc, you will need to use this: -PV = "${KERNEL_RELEASE}+git${SRCREV}" -PR = "r1" +PV = "${KERNEL_RELEASE}+gitr${SRCREV}" +PR = "r2" KERNEL_IMAGETYPE = "uImage" UBOOT_ENTRYPOINT = "30008000" diff --git a/packages/linux/linux_2.6.24.bb b/packages/linux/linux_2.6.24.bb index 3a51a594f4..7fd2f457e4 100644 --- a/packages/linux/linux_2.6.24.bb +++ b/packages/linux/linux_2.6.24.bb @@ -8,8 +8,9 @@ DEFAULT_PREFERENCE_simpad = "1" DEFAULT_PREFERENCE_atngw100 = "1" DEFAULT_PREFERENCE_at32stk1000 = "1" DEFAULT_PREFERENCE_ts72xx = "1" +DEFAULT_PREFERENCE_cs-e9302 = "1" -PR = "r12" +PR = "r14" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.24.tar.bz2 \ http://kamikaze.waninkoko.info/patches/2.6.24/kamikaze1/broken-out/squashfs-lzma-2.6.24.patch;patch=1 \ diff --git a/packages/linux/linux_2.6.25.bb b/packages/linux/linux_2.6.25.bb index ca15db543f..309ce5a5f7 100644 --- a/packages/linux/linux_2.6.25.bb +++ b/packages/linux/linux_2.6.25.bb @@ -1,5 +1,7 @@ require linux.inc +PR = "r1" + # Mark archs/machines that this kernel supports DEFAULT_PREFERENCE = "-1" DEFAULT_PREFERENCE_mpc8313e-rdb = "1" @@ -7,6 +9,7 @@ DEFAULT_PREFERENCE_kilauea = "1" DEFAULT_PREFERENCE_sequoia = "1" DEFAULT_PREFERENCE_cm-x270 = "1" DEFAULT_PREFERENCE_alix = "1" +DEFAULT_PREFERENCE_at32stk1000 = "1" SRC_URI = "${KERNELORG_MIRROR}/pub/linux/kernel/v2.6/linux-2.6.25.tar.bz2 \ file://defconfig" @@ -25,6 +28,10 @@ SRC_URI_append_cm-x270 = " \ file://0005-add-display-set-default-16bpp.patch;patch=1 \ " +SRC_URI_append_at32stk1000 = " \ + http://avr32linux.org/twiki/pub/Main/LinuxPatches/linux-2.6.25.6.atmel.1.patch.bz2;patch=1 \ +" + CMDLINE_cm-x270 = "console=${CMX270_CONSOLE_SERIAL_PORT},38400 monitor=1 mem=64M mtdparts=physmap-flash.0:256k(boot)ro,0x180000(kernel),-(root);cm-x270-nand:64m(app),-(data) rdinit=/sbin/init root=mtd3 rootfstype=jffs2" FILES_kernel-image_cm-x270 = "" diff --git a/packages/openmoko-projects/illume-theme_svn.bb b/packages/openmoko-projects/illume-theme_svn.bb index b360d3b14a..3ea672117f 100644 --- a/packages/openmoko-projects/illume-theme_svn.bb +++ b/packages/openmoko-projects/illume-theme_svn.bb @@ -4,27 +4,22 @@ LICENSE = "MIT/BSD" PACKAGE_ARCH="all" PV = "0.0+svnr${SRCREV}" -PR = "r4" +PR = "r5" SRC_URI = "svn://svn.projects.openmoko.org/svnroot/;module=illume;proto=https" S = "${WORKDIR}/illume" -python do_unpack_append() { - bb.note("Unpacking to %s" % os.getcwd()) - os.system("cd illume; tar -xz --no-same-owner -f misc-data/untar-me-from-root.tar.gz") -} - CONFFILES_${PN} = "${sysconfdir}/enlightenment/default_profile" FILES_${PN} = "${sysconfdir}/enlightenment ${datadir}/enlightenment" do_install() { install -d ${D}${sysconfdir}/enlightenment install -d ${D}${datadir}/enlightenment/data/themes/ - install -d ${D}${datadir}/enlightenment/data/config/ + install -d ${D}${datadir}/enlightenment/data/init/ # Make illume the default profile echo 'E_PROFILE="-profile illume"' > ${D}${sysconfdir}/enlightenment/default_profile install -m 0644 ${S}/misc-data/illume.edj ${D}${datadir}/enlightenment/data/themes/ - cp -pPR ${S}/.e/e/config/default ${D}${datadir}/enlightenment/data/config/illume + install -m 0644 ${S}/misc-data/illume_init.edj ${D}${datadir}/enlightenment/data/init/ } diff --git a/packages/openmoko-projects/illume/keyboard.patch b/packages/openmoko-projects/illume/keyboard.patch deleted file mode 100644 index 320e798a3e..0000000000 --- a/packages/openmoko-projects/illume/keyboard.patch +++ /dev/null @@ -1,89 +0,0 @@ -Index: configure.in -=================================================================== ---- configure.in (Revision 17) -+++ configure.in (Arbeitskopie) -@@ -28,6 +28,9 @@ - AC_SUBST(LOCALEDIR, "${localedir}") - AC_DEFINE_UNQUOTED(LOCALEDIR, "${localedir}", "Module Locale Directory") - -+keyboarddir="${datarootdir}/${PACKAGE}/keyboard" -+AC_SUBST(keyboarddir) -+ - # - # Check EFL Libs - # -Index: src/e_kbd.c -=================================================================== ---- src/e_kbd.c (Revision 17) -+++ src/e_kbd.c (Arbeitskopie) -@@ -57,6 +57,7 @@ - - static int _e_kbd_config_parse(E_Kbd *kbd, const char *config); - static Evas_Object *_theme_obj_new(Evas *e, const char *custom_dir, const char *group); -+static char* _e_kbd_get_default_path(void); - - /* state */ - -@@ -470,7 +471,7 @@ - edje_object_part_swallow(kbd->base_obj, "e.swallow.content", o); - evas_object_show(o); - kbd->layout_obj = o; -- _e_kbd_config_parse(kbd, "/home/raster/work/illume/default.kbd"); -+ _e_kbd_config_parse(kbd, _e_kbd_get_default_path()); - _e_kbd_layout_build(kbd); - - edje_object_size_min_calc(kbd->base_obj, &mw, &mh); -@@ -744,3 +745,26 @@ - } - return o; - } -+ -+/* -+ * Return the to be used keyboard file -+ */ -+static char * -+_e_kbd_get_default_path() -+{ -+ static char *buf = 0; -+ -+ if (getenv("ILLUME_KEYBOARD_DIR")) -+ { -+ if (!buf) -+ { -+ buf = (char*)malloc(sizeof(char)*PATH_MAX); -+ } -+ -+ snprintf(buf, PATH_MAX, "%s/default.kbd", getenv("ILLUME_KEYBOARD_DIR")); -+ return buf; -+ } -+ -+ -+ return KEYBOARDDIR"/default.kbd"; -+} -Index: src/Makefile.am -=================================================================== ---- src/Makefile.am (Revision 17) -+++ src/Makefile.am (Arbeitskopie) -@@ -1,6 +1,8 @@ - ACLOCAL_AMFLAGS = -I m4 - MAINTAINERCLEANFILES = Makefile.in - -+AM_CPPFLAGS = -DKEYBOARDDIR=\"$(keyboarddir)\" -+ - INCLUDES = -I. \ - -I$(top_srcdir) \ - @e_cflags@ -Index: Makefile.am -=================================================================== ---- Makefile.am (Revision 17) -+++ Makefile.am (Arbeitskopie) -@@ -14,6 +14,9 @@ - files_DATA = module.desktop \ - e-module-illume.edj \ - illume.edj -+ -+keybddir = $(keyboarddir) -+keybd_DATA = default.kbd - - EXTRA_DIST = $(files_DATA) \ - illume.edc \ diff --git a/packages/openmoko-projects/illume_svn.bb b/packages/openmoko-projects/illume_svn.bb index 5136240568..f3fb611e09 100644 --- a/packages/openmoko-projects/illume_svn.bb +++ b/packages/openmoko-projects/illume_svn.bb @@ -4,10 +4,9 @@ LICENSE = "MIT/BSD" DEPENDS = "e-wm eet evas ecore edje embryo efreet edbus edje-native embryo-native" RRECOMMENDS = "wamerican" PV = "0.0+svnr${SRCREV}" -PR = "r3" +PR = "r6" -SRC_URI = "svn://svn.projects.openmoko.org/svnroot/;module=${PN};proto=https \ - file://keyboard.patch;patch=1;pnum=0;minrev=17;maxrev=20" +SRC_URI = "svn://svn.projects.openmoko.org/svnroot/;module=${PN};proto=https" S = "${WORKDIR}/${PN}" @@ -21,5 +20,6 @@ EXTRA_OECONF = "--x-includes=${STAGING_INCDIR}/X11 \ FILES_${PN} = "${libdir}/enlightenment/modules/*/*.edj \ ${libdir}/enlightenment/modules/*/*.desktop \ ${libdir}/enlightenment/modules/*/*/* \ + ${datadir}/enlightenment/data/config/*/* \ ${datadir}/${PN} " FILES_${PN}-dbg += "${libdir}/enlightenment/modules/*/*/.debug/" diff --git a/packages/opensync/libopensync-0.36/.mtn2git_empty b/packages/opensync/libopensync-0.36/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/opensync/libopensync-0.36/.mtn2git_empty diff --git a/packages/opensync/libopensync-plugin-evolution2_0.36.bb b/packages/opensync/libopensync-plugin-evolution2_0.36.bb new file mode 100644 index 0000000000..da4ecb80b3 --- /dev/null +++ b/packages/opensync/libopensync-plugin-evolution2_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " eds-dbus" diff --git a/packages/opensync/libopensync-plugin-file_0.36.bb b/packages/opensync/libopensync-plugin-file_0.36.bb new file mode 100644 index 0000000000..33a049b7d6 --- /dev/null +++ b/packages/opensync/libopensync-plugin-file_0.36.bb @@ -0,0 +1 @@ +require libopensync-plugin_0.36.inc diff --git a/packages/opensync/libopensync-plugin-google-calendar_0.36.bb b/packages/opensync/libopensync-plugin-google-calendar_0.36.bb new file mode 100644 index 0000000000..33a049b7d6 --- /dev/null +++ b/packages/opensync/libopensync-plugin-google-calendar_0.36.bb @@ -0,0 +1 @@ +require libopensync-plugin_0.36.inc diff --git a/packages/opensync/libopensync-plugin-irmc_0.36.bb b/packages/opensync/libopensync-plugin-irmc_0.36.bb new file mode 100644 index 0000000000..295dfdecfa --- /dev/null +++ b/packages/opensync/libopensync-plugin-irmc_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += "openobex bluez-libs" diff --git a/packages/opensync/libopensync-plugin-syncml_0.36.bb b/packages/opensync/libopensync-plugin-syncml_0.36.bb new file mode 100644 index 0000000000..e1395a7006 --- /dev/null +++ b/packages/opensync/libopensync-plugin-syncml_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " libsyncml (>= 0.4.6)" diff --git a/packages/opensync/libopensync-plugin-vformat_0.36.bb b/packages/opensync/libopensync-plugin-vformat_0.36.bb new file mode 100644 index 0000000000..84a48f21fe --- /dev/null +++ b/packages/opensync/libopensync-plugin-vformat_0.36.bb @@ -0,0 +1,3 @@ +require libopensync-plugin_0.36.inc + +DEPENDS += " check" diff --git a/packages/opensync/libopensync-plugin_0.36.inc b/packages/opensync/libopensync-plugin_0.36.inc new file mode 100644 index 0000000000..db6b1fa73a --- /dev/null +++ b/packages/opensync/libopensync-plugin_0.36.inc @@ -0,0 +1,9 @@ +DEPENDS = "libopensync (>= 0.36)" + +SRC_URI = "http://opensync.org/download/releases/${PV}/${P}.tar.bz2" + +inherit cmake + +FILES_${PN} += "${libdir}/opensync*/plugins/*.so \ + ${libdir}/opensync*/formats/*.so \ + ${datadir}/opensync*/defaults/" diff --git a/packages/opensync/libopensync/.mtn2git_empty b/packages/opensync/libopensync/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/opensync/libopensync/.mtn2git_empty diff --git a/packages/opensync/libopensync_0.36.bb b/packages/opensync/libopensync_0.36.bb new file mode 100644 index 0000000000..f41cf89b5f --- /dev/null +++ b/packages/opensync/libopensync_0.36.bb @@ -0,0 +1,26 @@ +LICENSE = "LGPL" +HOMEPAGE = "http://www.opensync.org/" + +DEPENDS = "sqlite3 libxml2 glib-2.0 check" + +SRC_URI = "http://opensync.org/download/releases/${PV}/libopensync-${PV}.tar.bz2\ + file://cmake.patch;patch=1 \ + file://build-in-src.patch;patch=1 \ + file://no-python-check.patch;patch=1" + +inherit cmake pkgconfig + +LEAD_SONAME = "libopensync.so" + +FILES_${PN} += " ${libdir}/opensync*/formats/*.so \ + ${libdir}/opensync*/osplugin \ + ${datadir}/opensync*/schemas \ + ${datadir}/opensync*/capabilities \ + ${datadir}/opensync*/descriptions \ + " +FILES_${PN}-dbg += " ${libdir}/opensync*/formats/.debug/*.so \ + ${libdir}/opensync*/.debug/osplugin " + +do_stage() { + autotools_stage_all +} diff --git a/packages/opensync/libsyncml/.mtn2git_empty b/packages/opensync/libsyncml/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/opensync/libsyncml/.mtn2git_empty diff --git a/packages/opensync/libsyncml_0.4.6.bb b/packages/opensync/libsyncml_0.4.6.bb new file mode 100644 index 0000000000..297a1ca450 --- /dev/null +++ b/packages/opensync/libsyncml_0.4.6.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "Libsyncml is a implementation of the SyncML protocol." +HOMEPAGE = "http://libsyncml.opensync.org/" +LICENSE = "LGPL" +DEPENDS = "sed-native wbxml2 libsoup libxml2 bluez-libs openobex" + +SRC_URI = "http://libsyncml.opensync.org/download/releases/${PV}/libsyncml-${PV}.tar.bz2 \ + file://build-in-src.patch;patch=1" + +inherit cmake pkgconfig + +do_stage() { + autotools_stage_all +} + +PACKAGES += "${PN}-tools" + +FILES_${PN}-tools = "${bindir}" +FILES_${PN} = "${libdir}/*.so.*" diff --git a/packages/opensync/msynctool_0.36.bb b/packages/opensync/msynctool_0.36.bb new file mode 100644 index 0000000000..773166b3be --- /dev/null +++ b/packages/opensync/msynctool_0.36.bb @@ -0,0 +1,7 @@ +SRC_URI = "http://www.opensync.org/download/releases/${PV}/msynctool-${PV}.tar.bz2" + +LICENSE = "GPL" +DEPENDS = "libopensync glib-2.0" +HOMEPAGE = "http://www.opensync.org/" + +inherit cmake pkgconfig diff --git a/packages/oprofile/oprofile/gcc43x-fix.patch b/packages/oprofile/oprofile/gcc43x-fix.patch new file mode 100644 index 0000000000..4be15cb81d --- /dev/null +++ b/packages/oprofile/oprofile/gcc43x-fix.patch @@ -0,0 +1,254 @@ +This is a multi-part message in MIME format. +--------------010700040803000401040503 +Content-Type: text/plain; charset=ISO-8859-1; format=flowed +Content-Transfer-Encoding: 7bit + +When I was going through OProfile to compile using GCC-4.3 I found a number of +include that needed to be added. Information about porting applications to +GCC-4.3 is on: + +http://gcc.gnu.org/gcc-4.3/porting_to.html + +The attached patch has required changes to successfully compile with GCC 4.3. I +have tested that the oprofile still builds on Fedora 8 and RHEL 4 machines. +However, I haven't tested on older distrobutions. Does anyone see a problem with +this patch on older systems? If not, I would like to check this in. + +-Will + +2008-02-15 Will Cohen <wcohen@redhat.com> + + * gui/oprof_start_util.cpp + * libutil++/file_manip.cpp + * libutil++/bfd_support.cpp + * libutil++/bfd_spu_support.cpp + * libutil++/op_spu_bfd.cpp + * libutil++/cverb.cpp + * libutil++/child_reader.cpp + * pp/opgprof_options.cpp + * pp/opannotate_options.cpp + * pp/oparchive.cpp + * pp/common_option.cpp + * libpp/sample_container.cpp + * libpp/op_header.cpp + * libpp/profile.cpp + * libabi/opimport.cpp + * libregex/demangle_symbol.cpp: Add includes for gcc 4.3 compatibility. + +--------------010700040803000401040503 +Content-Type: text/x-patch; + name="oprofile_gcc43.patch" +Content-Transfer-Encoding: 7bit +Content-Disposition: inline; + filename="oprofile_gcc43.patch" + +diff -up oprofile-gcc43/pp/oparchive.cpp.orig oprofile-gcc43/pp/oparchive.cpp +--- oprofile-gcc43/pp/oparchive.cpp.orig 2007-11-20 15:47:00.000000000 -0500 ++++ oprofile-gcc43/pp/oparchive.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -12,6 +12,7 @@ + + #include <iostream> + #include <fstream> ++#include <cstdlib> + + #include <errno.h> + #include <string.h> +diff -up oprofile-gcc43/pp/opgprof_options.cpp.orig oprofile-gcc43/pp/opgprof_options.cpp +--- oprofile-gcc43/pp/opgprof_options.cpp.orig 2007-11-20 15:47:00.000000000 -0500 ++++ oprofile-gcc43/pp/opgprof_options.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -13,6 +13,7 @@ + #include <list> + #include <iterator> + #include <iostream> ++#include <cstdlib> + + #include "opgprof_options.h" + #include "popt_options.h" +diff -up oprofile-gcc43/pp/common_option.cpp.orig oprofile-gcc43/pp/common_option.cpp +--- oprofile-gcc43/pp/common_option.cpp.orig 2007-11-20 15:46:59.000000000 -0500 ++++ oprofile-gcc43/pp/common_option.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -12,6 +12,7 @@ + #include <iostream> + #include <sstream> + #include <iterator> ++#include <cstdlib> + + #include "op_config.h" + #include "locate_images.h" +diff -up oprofile-gcc43/pp/opannotate_options.cpp.orig oprofile-gcc43/pp/opannotate_options.cpp +--- oprofile-gcc43/pp/opannotate_options.cpp.orig 2008-02-13 13:57:22.000000000 -0500 ++++ oprofile-gcc43/pp/opannotate_options.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -13,6 +13,7 @@ + #include <list> + #include <iterator> + #include <iostream> ++#include <cstdlib> + + #include "profile_spec.h" + #include "arrange_profiles.h" +diff -up oprofile-gcc43/libregex/demangle_symbol.cpp.orig oprofile-gcc43/libregex/demangle_symbol.cpp +--- oprofile-gcc43/libregex/demangle_symbol.cpp.orig 2007-06-03 12:50:17.000000000 -0400 ++++ oprofile-gcc43/libregex/demangle_symbol.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -8,6 +8,8 @@ + * @author John Levon + */ + ++#include <cstdlib> ++ + #include "config.h" + + #include "demangle_symbol.h" +diff -up oprofile-gcc43/libpp/sample_container.cpp.orig oprofile-gcc43/libpp/sample_container.cpp +--- oprofile-gcc43/libpp/sample_container.cpp.orig 2003-08-10 20:59:18.000000000 -0400 ++++ oprofile-gcc43/libpp/sample_container.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -9,6 +9,7 @@ + * @author John Levon + */ + ++#include <climits> + #include <set> + #include <numeric> + #include <algorithm> +diff -up oprofile-gcc43/libpp/profile.cpp.orig oprofile-gcc43/libpp/profile.cpp +--- oprofile-gcc43/libpp/profile.cpp.orig 2007-11-12 16:56:07.000000000 -0500 ++++ oprofile-gcc43/libpp/profile.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -15,6 +15,7 @@ + #include <iostream> + #include <string> + #include <sstream> ++#include <cstring> + + #include <cerrno> + +diff -up oprofile-gcc43/libpp/op_header.cpp.orig oprofile-gcc43/libpp/op_header.cpp +--- oprofile-gcc43/libpp/op_header.cpp.orig 2007-11-12 16:56:07.000000000 -0500 ++++ oprofile-gcc43/libpp/op_header.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -14,6 +14,7 @@ + #include <iomanip> + #include <set> + #include <sstream> ++#include <cstring> + + #include <sys/types.h> + #include <sys/stat.h> +diff -up oprofile-gcc43/libabi/opimport.cpp.orig oprofile-gcc43/libabi/opimport.cpp +--- oprofile-gcc43/libabi/opimport.cpp.orig 2005-08-17 15:15:41.000000000 -0400 ++++ oprofile-gcc43/libabi/opimport.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -17,6 +17,8 @@ + #include <iostream> + #include <vector> + #include <cassert> ++#include <cstring> ++#include <cstdlib> + + #include <sys/types.h> + #include <sys/stat.h> +diff -up oprofile-gcc43/gui/oprof_start_util.cpp.orig oprofile-gcc43/gui/oprof_start_util.cpp +--- oprofile-gcc43/gui/oprof_start_util.cpp.orig 2005-08-07 07:15:48.000000000 -0400 ++++ oprofile-gcc43/gui/oprof_start_util.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -19,6 +19,7 @@ + #include <sstream> + #include <iostream> + #include <fstream> ++#include <cstdlib> + + #include <qfiledialog.h> + #include <qmessagebox.h> +diff -up oprofile-gcc43/libutil++/file_manip.cpp.orig oprofile-gcc43/libutil++/file_manip.cpp +--- oprofile-gcc43/libutil++/file_manip.cpp.orig 2007-11-12 16:56:07.000000000 -0500 ++++ oprofile-gcc43/libutil++/file_manip.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -15,6 +15,8 @@ + #include <dirent.h> + #include <fnmatch.h> + #include <utime.h> ++#include <limits.h> ++#include <stdlib.h> + + #include <cstdio> + #include <cerrno> +diff -up oprofile-gcc43/libutil++/bfd_support.cpp.orig oprofile-gcc43/libutil++/bfd_support.cpp +--- oprofile-gcc43/libutil++/bfd_support.cpp.orig 2007-11-12 16:56:07.000000000 -0500 ++++ oprofile-gcc43/libutil++/bfd_support.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -19,6 +19,8 @@ + #include <fstream> + #include <sstream> + #include <string> ++#include <cstring> ++#include <cstdlib> + + using namespace std; + +diff -up oprofile-gcc43/libutil++/child_reader.cpp.orig oprofile-gcc43/libutil++/child_reader.cpp +--- oprofile-gcc43/libutil++/child_reader.cpp.orig 2004-01-19 15:00:27.000000000 -0500 ++++ oprofile-gcc43/libutil++/child_reader.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -11,10 +11,13 @@ + + #include <unistd.h> + #include <sys/wait.h> ++#include <limits.h> + + #include <cerrno> + #include <sstream> + #include <iostream> ++#include <cstring> ++#include <cstdlib> + + #include "op_libiberty.h" + #include "child_reader.h" +diff -up oprofile-gcc43/libutil++/bfd_spu_support.cpp.orig oprofile-gcc43/libutil++/bfd_spu_support.cpp +--- oprofile-gcc43/libutil++/bfd_spu_support.cpp.orig 2008-02-13 13:57:18.000000000 -0500 ++++ oprofile-gcc43/libutil++/bfd_spu_support.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -20,6 +20,7 @@ + #include <fstream> + #include <sstream> + #include <string> ++#include <cstring> + #include <sys/types.h> + + struct spu_elf { +diff -up oprofile-gcc43/libutil++/cverb.cpp.orig oprofile-gcc43/libutil++/cverb.cpp +--- oprofile-gcc43/libutil++/cverb.cpp.orig 2006-11-20 10:01:48.000000000 -0500 ++++ oprofile-gcc43/libutil++/cverb.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -13,6 +13,7 @@ + #include <iostream> + #include <map> + #include <string> ++#include <cstring> + + #include "cverb.h" + +diff -up oprofile-gcc43/libutil++/op_spu_bfd.cpp.orig oprofile-gcc43/libutil++/op_spu_bfd.cpp +--- oprofile-gcc43/libutil++/op_spu_bfd.cpp.orig 2008-02-13 13:57:18.000000000 -0500 ++++ oprofile-gcc43/libutil++/op_spu_bfd.cpp 2008-02-15 10:58:50.000000000 -0500 +@@ -14,6 +14,8 @@ + #include <sys/stat.h> + + #include <iostream> ++#include <cstring> ++#include <cstdlib> + + #include "op_bfd.h" + #include "locate_images.h" + +--------------010700040803000401040503 +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +------------------------------------------------------------------------- +This SF.net email is sponsored by: Microsoft +Defy all challenges. Microsoft(R) Visual Studio 2008. +http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ +--------------010700040803000401040503 +Content-Type: text/plain; charset="us-ascii" +MIME-Version: 1.0 +Content-Transfer-Encoding: 7bit +Content-Disposition: inline + +_______________________________________________ +oprofile-list mailing list +oprofile-list@lists.sourceforge.net +https://lists.sourceforge.net/lists/listinfo/oprofile-list + +--------------010700040803000401040503-- diff --git a/packages/oprofile/oprofile_0.9.3.bb b/packages/oprofile/oprofile_0.9.3.bb index c4194ab2e1..a302068c27 100644 --- a/packages/oprofile/oprofile_0.9.3.bb +++ b/packages/oprofile/oprofile_0.9.3.bb @@ -4,7 +4,8 @@ of profiling all running code at low overhead." LICENSE = "GPL" DEPENDS = "popt binutils" RDEPENDS = "binutils-symlinks" -PR = "r4" +RRECOMMENDS = "kernel-vmlinux" +PR = "r6" SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \ file://armv6_fix.patch;patch=1 \ @@ -12,7 +13,9 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/oprofile/oprofile-${PV}.tar.gz \ file://root_option.patch;patch=1 \ file://opstart.patch;patch=1 \ file://fix-arith.patch;patch=1;pnum=0 \ + file://gcc43x-fix.patch;patch=1 \ file://acinclude.m4" + S = "${WORKDIR}/oprofile-${PV}" inherit autotools diff --git a/packages/python/python-psyco_1.5.bb b/packages/python/python-psyco_1.6.bb index 5c47e6971d..5c47e6971d 100644 --- a/packages/python/python-psyco_1.5.bb +++ b/packages/python/python-psyco_1.6.bb diff --git a/packages/python/python-pygobject-native_2.14.2.bb b/packages/python/python-pygobject-native_2.14.2.bb index 532bcb6997..70af95259c 100644 --- a/packages/python/python-pygobject-native_2.14.2.bb +++ b/packages/python/python-pygobject-native_2.14.2.bb @@ -1,9 +1,15 @@ require python-pygobject_${PV}.bb DEPENDS = "python-native glib-2.0-native" +PR = "r1" inherit native +SRC_URI = "\ + ftp://ftp.gnome.org/pub/GNOME/sources/pygobject/${MAJ_VER}/pygobject-${PV}.tar.bz2 \ + file://python-path.patch;patch=1 \ +" + do_stage_append() { install -d ${STAGING_BINDIR} install -m 0755 gobject/generate-constants ${STAGING_BINDIR}/gobject-generate-constants diff --git a/packages/python/python-pygobject_2.14.2.bb b/packages/python/python-pygobject_2.14.2.bb index 81a77efda5..00d179d667 100644 --- a/packages/python/python-pygobject_2.14.2.bb +++ b/packages/python/python-pygobject_2.14.2.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Python GObject bindings" SECTION = "devel/python" LICENSE = "LGPL" DEPENDS = "python-pygobject-native" -PR = "r0" +PR = "r1" MAJ_VER = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" diff --git a/packages/qemu/qemu_0.9.1.bb b/packages/qemu/qemu_0.9.1.bb index 164296b0d4..e3e7aa0887 100644 --- a/packages/qemu/qemu_0.9.1.bb +++ b/packages/qemu/qemu_0.9.1.bb @@ -6,7 +6,7 @@ FILESPATH = "${FILE_DIRNAME}/qemu-${PV}" FILESDIR = "${WORKDIR}" SRC_URI = "\ - http://fabrice.bellard.free.fr/qemu/qemu-0.9.1.tar.gz \ + http://www.bellard.org/qemu/qemu-0.9.1.tar.gz \ file://02_snapshot_use_tmpdir.patch;patch=1;pnum=0 \ file://04_do_not_print_rtc_freq_if_ok.patch;patch=1;pnum=1 \ file://05_non-fatal_if_linux_hd_missing.patch;patch=1;pnum=1 \ diff --git a/packages/sqlite/sqlite3.inc b/packages/sqlite/sqlite3.inc index 68cc3e1c33..93a536e8b6 100644 --- a/packages/sqlite/sqlite3.inc +++ b/packages/sqlite/sqlite3.inc @@ -28,6 +28,7 @@ do_compile_prepend() { do_stage() { oe_libinstall -so libsqlite3 ${STAGING_LIBDIR} + install -m 0644 sqlite3.h ${STAGING_INCDIR} } #do_install() { diff --git a/packages/sqlite/sqlite3_3.5.6.bb b/packages/sqlite/sqlite3_3.5.6.bb index 53fd96c705..5075dd35b7 100644 --- a/packages/sqlite/sqlite3_3.5.6.bb +++ b/packages/sqlite/sqlite3_3.5.6.bb @@ -1 +1,3 @@ require sqlite3.inc + +PR = "r1" diff --git a/packages/swfdec/swfdec/arm/.mtn2git_empty b/packages/swfdec/swfdec/arm/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 --- /dev/null +++ b/packages/swfdec/swfdec/arm/.mtn2git_empty diff --git a/packages/swfdec/swfdec/arm/jsautocfg.h b/packages/swfdec/swfdec/arm/jsautocfg.h new file mode 100644 index 0000000000..7e8171fc23 --- /dev/null +++ b/packages/swfdec/swfdec/arm/jsautocfg.h @@ -0,0 +1,52 @@ +#ifndef js_cpucfg___ +#define js_cpucfg___ + +/* AUTOMATICALLY GENERATED - DO NOT EDIT */ + +#define IS_LITTLE_ENDIAN 1 +#undef IS_BIG_ENDIAN + +#define JS_BYTES_PER_BYTE 1L +#define JS_BYTES_PER_SHORT 2L +#define JS_BYTES_PER_INT 4L +#define JS_BYTES_PER_INT64 8L +#define JS_BYTES_PER_LONG 4L +#define JS_BYTES_PER_FLOAT 4L +#define JS_BYTES_PER_DOUBLE 8L +#define JS_BYTES_PER_WORD 4L +#define JS_BYTES_PER_DWORD 8L + +#define JS_BITS_PER_BYTE 8L +#define JS_BITS_PER_SHORT 16L +#define JS_BITS_PER_INT 32L +#define JS_BITS_PER_INT64 64L +#define JS_BITS_PER_LONG 32L +#define JS_BITS_PER_FLOAT 32L +#define JS_BITS_PER_DOUBLE 64L +#define JS_BITS_PER_WORD 32L + +#define JS_BITS_PER_BYTE_LOG2 3L +#define JS_BITS_PER_SHORT_LOG2 4L +#define JS_BITS_PER_INT_LOG2 5L +#define JS_BITS_PER_INT64_LOG2 6L +#define JS_BITS_PER_LONG_LOG2 5L +#define JS_BITS_PER_FLOAT_LOG2 5L +#define JS_BITS_PER_DOUBLE_LOG2 6L +#define JS_BITS_PER_WORD_LOG2 5L + +#define JS_ALIGN_OF_SHORT 2L +#define JS_ALIGN_OF_INT 4L +#define JS_ALIGN_OF_LONG 4L +#define JS_ALIGN_OF_INT64 8L +#define JS_ALIGN_OF_FLOAT 4L +#define JS_ALIGN_OF_DOUBLE 8L +#define JS_ALIGN_OF_POINTER 4L +#define JS_ALIGN_OF_WORD 4L + +#define JS_BYTES_PER_WORD_LOG2 2L +#define JS_BYTES_PER_DWORD_LOG2 3L +#define JS_WORDS_PER_DWORD_LOG2 1L + +#define JS_STACK_GROWTH_DIRECTION (-1) + +#endif /* js_cpucfg___ */ diff --git a/packages/swfdec/swfdec_0.4.0.bb b/packages/swfdec/swfdec_0.4.0.bb index 778302c140..b4c56afacf 100644 --- a/packages/swfdec/swfdec_0.4.0.bb +++ b/packages/swfdec/swfdec_0.4.0.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Swfdec is a decoder/renderer for Macromedia Flash animations." -LICENSE = ""LGPL +LICENSE = "LGPL" DEPENDS = "pango cairo liboil zlib libmad gtk+ alsa-lib" diff --git a/packages/swfdec/swfdec_0.7.2.bb b/packages/swfdec/swfdec_0.7.2.bb new file mode 100644 index 0000000000..05d4977eae --- /dev/null +++ b/packages/swfdec/swfdec_0.7.2.bb @@ -0,0 +1,26 @@ +DESCRIPTION = "Swfdec is a decoder/renderer for Macromedia Flash animations." +LICENSE = "LGPL" + +DEPENDS = "gstreamer libsoup-2.4 pango cairo liboil zlib libmad gtk+ alsa-lib" + +SRC_URI = "http://swfdec.freedesktop.org/download/swfdec/0.7/${P}.tar.gz \ +" + +inherit autotools pkgconfig + +do_install_append() { + install -d ${D}/${bindir} + install -m 0755 ${S}/player/.libs/swfplay ${D}/${bindir} +} + +do_stage() { + autotools_stage_all +} + +PACKAGES =+ "libswfdecgtk libswfdec" + +FILES_${PN} += "${datadir}/icons" +FILES_libswfdec = "${libdir}/libswfdec-0.7.so.*" +FILES_libswfdecgtk = "${libdir}/libswfdec-gtk-0.7.so*" + + diff --git a/packages/u-boot/files/sffsdr-u-boot.patch b/packages/u-boot/files/sffsdr-u-boot.patch index cf8415330b..dcb34e2c51 100644 --- a/packages/u-boot/files/sffsdr-u-boot.patch +++ b/packages/u-boot/files/sffsdr-u-boot.patch @@ -1,93 +1,103 @@ -X-Mozilla-Status: 0003 +X-Mozilla-Status: 0001 X-Mozilla-Status2: 00000000 -Return-Path: <owner-sffsdr@LISTSERV.VT.EDU> -Received: from mail6.zoneedit.com (mail6.zoneedit.com [66.240.226.247]) - by www.balister.org (8.13.8/8.13.5) with ESMTP id m4GGYUC2017393 - for <balister@www.balister.org>; Fri, 16 May 2008 12:34:31 -0400 -Received: from listserv.vt.edu (listserv.vt.edu [198.82.161.192]) - by mail6.zoneedit.com (Postfix) with ESMTP id B457D5D5B6 - for <philip@BALISTER.ORG>; Fri, 16 May 2008 12:34:29 -0400 (EDT) -Received: from listserv.vt.edu (listserv.vt.edu [127.0.0.1]) - by listserv.vt.edu (8.13.1/8.13.1/LISTSERV) with ESMTP id m4G7PKLG018387; - Fri, 16 May 2008 12:34:28 -0400 -Received: by LISTSERV.VT.EDU (LISTSERV-TCP/IP release 14.4) with spool id - 29624903 for SFFSDR@LISTSERV.VT.EDU; Fri, 16 May 2008 12:34:28 -0400 -Received: from freya.cc.vt.edu (IDENT:mirapoint@freya.cc.vt.edu - [198.82.161.17]) by listserv.vt.edu (8.13.1/8.13.1/LISTSERV) with - ESMTP id m4GGYSHs005336 for <sffsdr@listserv.vt.edu>; Fri, 16 May - 2008 12:34:28 -0400 -Received: from server.hugovil.com (201-217-static-ppp.3menatwork.com - [64.235.217.201]) by freya.cc.vt.edu (MOS 3.8.6-GA) with ESMTP id - AOF41814; Fri, 16 May 2008 12:34:27 -0400 (EDT) -Received: from localhost.localdomain (mail.lyrtech.com [204.101.172.90]) by - server.hugovil.com (8.13.6/8.13.6) with ESMTP id m4GGYOYT028003 for - <sffsdr@listserv.vt.edu>; Fri, 16 May 2008 12:34:24 -0400 +X-Mozilla-Keys: +Return-Path: <u-boot-users-bounces@lists.sourceforge.net> +Received: from mail5.zoneedit.com (mail5.zoneedit.com [69.64.89.63]) + by www.balister.org (8.13.8/8.13.5) with ESMTP id m56KcqTB024438 + for <balister@www.balister.org>; Fri, 6 Jun 2008 16:38:53 -0400 +Received: from lists-outbound.sourceforge.net (lists-outbound.sourceforge.net [66.35.250.225]) + by mail5.zoneedit.com (Postfix) with ESMTP id BD2E51594778 + for <philip@balister.org>; Fri, 6 Jun 2008 13:26:54 -0700 (PDT) +Received: from sc8-sf-list1-new.sourceforge.net (sc8-sf-list1-new-b.sourceforge.net [10.3.1.93]) + by sc8-sf-spam2.sourceforge.net (Postfix) with ESMTP + id 4C55A12A74; Fri, 6 Jun 2008 13:38:52 -0700 (PDT) +Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.91] + helo=mail.sourceforge.net) + by sc8-sf-list1-new.sourceforge.net with esmtp (Exim 4.43) + id 1K4ii2-00059t-CF + for u-boot-users@lists.sourceforge.net; Fri, 06 Jun 2008 13:38:50 -0700 +Received: from 201-217-static-ppp.3menatwork.com ([64.235.217.201] + helo=server.hugovil.com) + by mail.sourceforge.net with esmtp (Exim 4.44) id 1K4ihy-0003RQ-Od + for u-boot-users@lists.sourceforge.net; Fri, 06 Jun 2008 13:38:50 -0700 +Received: from localhost.localdomain (mail.lyrtech.com [204.101.172.90]) + by server.hugovil.com (8.13.6/8.13.6) with ESMTP id m56KcjQC031450; + Fri, 6 Jun 2008 16:38:46 -0400 +From: Hugo Villeneuve <hugo.villeneuve@lyrtech.com> +To: u-boot-users@lists.sourceforge.net +Date: Fri, 6 Jun 2008 16:39:10 -0400 +Message-Id: <1212784750-10682-1-git-send-email-hugo.villeneuve@lyrtech.com> X-Mailer: git-send-email 1.5.4.5 -X-Greylist: Default is to whitelist mail, - not delayed by milter-greylist-3.0 (server.hugovil.com - [64.235.217.201]); Fri, 16 May 2008 12:34:25 -0400 (EDT) -X-Junkmail-Status: score=10/50, host=freya.cc.vt.edu -X-Junkmail-SD-Raw: score=unknown, - refid=str=0001.0A090205.482DB793.02F2,ss=1,fgs=0, - ip=64.235.217.201, so=2007-10-30 19:00:17, - dmn=5.4.3/2007-10-19 -X-Junkmail-IWF: false -Message-ID: <1210970183-26615-1-git-send-email-hugo.villeneuve@lyrtech.com> -Date: Fri, 16 May 2008 16:36:23 -0400 -Reply-To: sffsdr Discussion List <SFFSDR@LISTSERV.VT.EDU> -Sender: sffsdr Discussion List <SFFSDR@LISTSERV.VT.EDU> -From: Hugo Villeneuve <hugo.villeneuve@LYRTECH.COM> -Subject: [PATCH] Add support for Lyrtech SFF-SDR board (ARM926EJS) -To: SFFSDR@LISTSERV.VT.EDU +X-Greylist: Default is to whitelist mail, not delayed by milter-greylist-3.0 + (server.hugovil.com [64.235.217.201]); + Fri, 06 Jun 2008 16:38:46 -0400 (EDT) +X-Spam-Score: 1.2 (+) +X-Spam-Report: Spam Filtering performed by sourceforge.net. + See http://spamassassin.org/tag/ for more details. + Report problems to + http://sf.net/tracker/?func=add&group_id=1&atid=200001 + 1.0 FORGED_RCVD_HELO Received: contains a forged HELO + 0.2 UPPERCASE_25_50 message body is 25-50% uppercase + 0.0 DRUGS_SLEEP Refers to a sleep aid drug +Cc: "Philip Balister, OpenSDR" <philip@opensdr.com> +Subject: [U-Boot-Users] [PATCH V8] ARM: Add support for Lyrtech SFF-SDR + board (ARM926EJS) +X-BeenThere: u-boot-users@lists.sourceforge.net +X-Mailman-Version: 2.1.8 Precedence: list +List-Id: Universal Boot Loader general discussion + <u-boot-users.lists.sourceforge.net> +List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/u-boot-users>, + <mailto:u-boot-users-request@lists.sourceforge.net?subject=unsubscribe> +List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=u-boot-users> +List-Post: <mailto:u-boot-users@lists.sourceforge.net> +List-Help: <mailto:u-boot-users-request@lists.sourceforge.net?subject=help> +List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/u-boot-users>, + <mailto:u-boot-users-request@lists.sourceforge.net?subject=subscribe> +MIME-Version: 1.0 +Content-Type: text/plain; charset="us-ascii" +Content-Transfer-Encoding: 7bit +Sender: u-boot-users-bounces@lists.sourceforge.net +Errors-To: u-boot-users-bounces@lists.sourceforge.net -Philip, -this is the patch I´m planning on sending to the U-Boot -folks so that the SFFSDR is integrated into mainline -U-Boot. - -It is mostly based on the work you have done. - -I added code to make the EEPROM accessible through -the I2C bus. This is needed because we use an I2C -switch on the SFFSDR that is turned OFF by default. -I also added code to read the MAC address from the -EEPROM. - -I also removed unused stuff specific to the -Schmoogie board. - -The network and NAND are both working fine with -that patch. - -I´m looking forward to your comments. - -Hugo V. - ---- - -This patch adds support for the Lyrtech SFF-SDR, based -on the TI DaVinci architecture (ARM926EJS). +ARM: This patch adds support for the Lyrtech SFF-SDR +board, based on the TI DaVinci architecture (ARM926EJS). Signed-off-by: Hugo Villeneuve <hugo.villeneuve@lyrtech.com> +Signed-off-by: Philip Balister, OpenSDR <philip@opensdr.com> + --- + CREDITS | 5 + MAKEALL | 1 + Makefile | 3 + - board/davinci/sffsdr/Makefile | 52 +++++++++ - board/davinci/sffsdr/board_init.S | 29 +++++ - board/davinci/sffsdr/config.mk | 24 ++++ - board/davinci/sffsdr/dv_board.c | 211 +++++++++++++++++++++++++++++++++++++ - board/davinci/sffsdr/u-boot.lds | 52 +++++++++ - include/asm-arm/mach-types.h | 13 +++ - include/configs/davinci_sffsdr.h | 171 ++++++++++++++++++++++++++++++ - 9 files changed, 556 insertions(+), 0 deletions(-) + board/davinci/sffsdr/Makefile | 51 ++++++ + board/davinci/sffsdr/board_init.S | 32 ++++ + board/davinci/sffsdr/config.mk | 42 +++++ + board/davinci/sffsdr/sffsdr.c | 306 +++++++++++++++++++++++++++++++++++++ + board/davinci/sffsdr/u-boot.lds | 52 +++++++ + include/asm-arm/mach-types.h | 13 ++ + include/configs/davinci_sffsdr.h | 148 ++++++++++++++++++ + 10 files changed, 653 insertions(+), 0 deletions(-) +diff --git a/CREDITS b/CREDITS +index e84ef38..b855904 100644 +--- a/CREDITS ++++ b/CREDITS +@@ -533,3 +533,8 @@ N: Timo Tuunainen + E: timo.tuunainen@sysart.fi + D: Support for Artila M-501 starter kit + W: http://www.sysart.fi/ ++ ++N: Philip Balister ++E: philip@opensdr.com ++D: Port to Lyrtech SFFSDR development board. ++W: www.opensdr.com diff --git a/MAKEALL b/MAKEALL -index 791eabc..1a0cb37 100755 +index 37b4334..f53ceec 100755 --- a/MAKEALL +++ b/MAKEALL -@@ -495,6 +495,7 @@ LIST_ARM9=" \ +@@ -496,6 +496,7 @@ LIST_ARM9=" \ voiceblue \ davinci_dvevm \ davinci_schmoogie \ @@ -96,10 +106,10 @@ index 791eabc..1a0cb37 100755 " diff --git a/Makefile b/Makefile -index 167a717..6280a59 100644 +index 6548f8e..05d90aa 100644 --- a/Makefile +++ b/Makefile -@@ -2402,6 +2402,9 @@ davinci_dvevm_config : unconfig +@@ -2408,6 +2408,9 @@ davinci_dvevm_config : unconfig davinci_schmoogie_config : unconfig @$(MKCONFIG) $(@:_config=) arm arm926ejs schmoogie davinci davinci @@ -111,10 +121,10 @@ index 167a717..6280a59 100644 diff --git a/board/davinci/sffsdr/Makefile b/board/davinci/sffsdr/Makefile new file mode 100644 -index 0000000..fa00138 +index 0000000..4413b33 --- /dev/null +++ b/board/davinci/sffsdr/Makefile -@@ -0,0 +1,52 @@ +@@ -0,0 +1,51 @@ +# +# (C) Copyright 2000, 2001, 2002 +# Wolfgang Denk, DENX Software Engineering, wd@denx.de. @@ -138,13 +148,12 @@ index 0000000..fa00138 +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, +# MA 02111-1307 USA -+# + +include $(TOPDIR)/config.mk + +LIB = $(obj)lib$(BOARD).a + -+COBJS := dv_board.o ++COBJS := $(BOARD).o +SOBJS := board_init.o + +SRCS := $(SOBJS:.o=.S) $(COBJS:.o=.c) @@ -169,17 +178,20 @@ index 0000000..fa00138 +######################################################################### diff --git a/board/davinci/sffsdr/board_init.S b/board/davinci/sffsdr/board_init.S new file mode 100644 -index 0000000..22d8adc +index 0000000..84ecd96 --- /dev/null +++ b/board/davinci/sffsdr/board_init.S -@@ -0,0 +1,29 @@ +@@ -0,0 +1,32 @@ +/* -+ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> -+ * + * Board-specific low level initialization code. Called at the very end + * of cpu/arm926ejs/davinci/lowlevel_init.S. Just returns if there is no + * initialization required. + * ++ * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> ++ * ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of @@ -204,17 +216,38 @@ index 0000000..22d8adc + mov pc, lr diff --git a/board/davinci/sffsdr/config.mk b/board/davinci/sffsdr/config.mk new file mode 100644 -index 0000000..e8a329c +index 0000000..b1c4ead --- /dev/null +++ b/board/davinci/sffsdr/config.mk -@@ -0,0 +1,24 @@ +@@ -0,0 +1,42 @@ ++# ++# Lyrtech SFF SDR board (ARM926EJS) cpu +# +# (C) Copyright 2002 +# Gary Jennejohn, DENX Software Engineering, <gj@denx.de> +# David Mueller, ELSOFT AG, <d.mueller@elsoft.ch> +# -+# Lyrtech SFF SDR board (ARM926EJS) cpu -+# see http://www.lyrtech.com/ for more information on Lyrtech ++# Copyright (C) 2008 Lyrtech <www.lyrtech.com> ++# Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com> ++# ++# See file CREDITS for list of people who contributed to this ++# project. ++# ++# This program is free software; you can redistribute it and/or ++# modify it under the terms of the GNU General Public License as ++# published by the Free Software Foundation; either version 2 of ++# the License, or (at your option) any later version. ++# ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY; without even the implied warranty of ++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++# GNU General Public License for more details. ++# ++# You should have received a copy of the GNU General Public License ++# along with this program; if not, write to the Free Software ++# Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++# MA 02111-1307 USA ++ +# +# SFF SDR board has 1 bank of 128 MB DDR RAM +# Physical Address: @@ -226,28 +259,29 @@ index 0000000..e8a329c +# Integrity kernel is expected to be at 8000'0000, entry 8000'00D0, +# up to 81FF'FFFF (uses up to 32 MB of memory for text, heap, etc). +# -+# we load ourself to 8400'0000 -+# -+# -+ -+# Provide at least 32MB spacing between us and the Integrity kernel image ++# we load ourself to 8400'0000 to provide at least 32MB spacing ++# between us and the Integrity kernel image +TEXT_BASE = 0x84000000 -diff --git a/board/davinci/sffsdr/dv_board.c b/board/davinci/sffsdr/dv_board.c +diff --git a/board/davinci/sffsdr/sffsdr.c b/board/davinci/sffsdr/sffsdr.c new file mode 100644 -index 0000000..a3f60cb +index 0000000..31e0f24 --- /dev/null -+++ b/board/davinci/sffsdr/dv_board.c -@@ -0,0 +1,211 @@ ++++ b/board/davinci/sffsdr/sffsdr.c +@@ -0,0 +1,306 @@ +/* + * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> + * ++ * Copyright (C) 2008 Lyrtech <www.lyrtech.com> ++ * Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com> ++ * + * Parts are shamelessly stolen from various TI sources, original copyright + * follows: -+ * ----------------------------------------------------------------- + * + * Copyright (C) 2004 Texas Instruments. + * -+ * ---------------------------------------------------------------------------- ++ * See file CREDITS for list of people who contributed to this ++ * project. ++ * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or @@ -258,10 +292,9 @@ index 0000000..a3f60cb + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * -+ * You should have received a copy of the GNU General Public License -+ * along with this program; if not, write to the Free Software -+ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. -+ * ---------------------------------------------------------------------------- ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + */ + +#include <common.h> @@ -269,18 +302,24 @@ index 0000000..a3f60cb +#include <asm/arch/hardware.h> +#include <asm/arch/emac_defs.h> + ++#define DAVINCI_A3CR (0x01E00014) /* EMIF-A CS3 config register. */ ++#define DAVINCI_A3CR_VAL (0x3FFFFFFD) /* EMIF-A CS3 value for FPGA. */ ++ ++#define INTEGRITY_SYSCFG_OFFSET 0x7E8 ++#define INTEGRITY_CHECKWORD_OFFSET 0x7F8 ++#define INTEGRITY_CHECKWORD_VALUE 0x10ADBEEF ++ +DECLARE_GLOBAL_DATA_PTR; + -+extern void i2c_init(int speed, int slaveaddr); -+extern void timer_init(void); -+extern int eth_hw_init(void); -+extern phy_t phy; ++extern void timer_init(void); ++extern int eth_hw_init(void); ++extern phy_t phy; + + +/* Works on Always On power domain only (no PD argument) */ +void lpsc_on(unsigned int id) +{ -+ dv_reg_p mdstat, mdctl; ++ dv_reg_p mdstat, mdctl; + + if (id >= DAVINCI_LPSC_GEM) + return; /* Don't work on DSP Power Domain */ @@ -288,7 +327,7 @@ index 0000000..a3f60cb + mdstat = REG_P(PSC_MDSTAT_BASE + (id * 4)); + mdctl = REG_P(PSC_MDCTL_BASE + (id * 4)); + -+ while (REG(PSC_PTSTAT) & 0x01) {;} ++ while (REG(PSC_PTSTAT) & 0x01); + + if ((*mdstat & 0x1f) == 0x03) + return; /* Already on and enabled */ @@ -296,32 +335,34 @@ index 0000000..a3f60cb + *mdctl |= 0x03; + + /* Special treatment for some modules as for sprue14 p.7.4.2 */ -+ if ( (id == DAVINCI_LPSC_VPSSSLV) || -+ (id == DAVINCI_LPSC_EMAC) || -+ (id == DAVINCI_LPSC_EMAC_WRAPPER) || -+ (id == DAVINCI_LPSC_MDIO) || -+ (id == DAVINCI_LPSC_USB) || -+ (id == DAVINCI_LPSC_ATA) || -+ (id == DAVINCI_LPSC_VLYNQ) || -+ (id == DAVINCI_LPSC_UHPI) || -+ (id == DAVINCI_LPSC_DDR_EMIF) || -+ (id == DAVINCI_LPSC_AEMIF) || -+ (id == DAVINCI_LPSC_MMC_SD) || -+ (id == DAVINCI_LPSC_MEMSTICK) || -+ (id == DAVINCI_LPSC_McBSP) || -+ (id == DAVINCI_LPSC_GPIO) -+ ) -+ *mdctl |= 0x200; ++ switch (id) { ++ case DAVINCI_LPSC_VPSSSLV: ++ case DAVINCI_LPSC_EMAC: ++ case DAVINCI_LPSC_EMAC_WRAPPER: ++ case DAVINCI_LPSC_MDIO: ++ case DAVINCI_LPSC_USB: ++ case DAVINCI_LPSC_ATA: ++ case DAVINCI_LPSC_VLYNQ: ++ case DAVINCI_LPSC_UHPI: ++ case DAVINCI_LPSC_DDR_EMIF: ++ case DAVINCI_LPSC_AEMIF: ++ case DAVINCI_LPSC_MMC_SD: ++ case DAVINCI_LPSC_MEMSTICK: ++ case DAVINCI_LPSC_McBSP: ++ case DAVINCI_LPSC_GPIO: ++ *mdctl |= 0x200; ++ break; ++ } + + REG(PSC_PTCMD) = 0x01; + -+ while (REG(PSC_PTSTAT) & 0x03) {;} -+ while ((*mdstat & 0x1f) != 0x03) {;} /* Probably an overkill... */ ++ while (REG(PSC_PTSTAT) & 0x03); ++ while ((*mdstat & 0x1f) != 0x03); /* Probably an overkill... */ +} + +void dsp_on(void) +{ -+ int i; ++ int i; + + if (REG(PSC_PDSTAT1) & 0x1f) + return; /* Already on */ @@ -352,7 +393,6 @@ index 0000000..a3f60cb + REG(PSC_GBLCTL) &= ~0x1f; +} + -+ +int board_init(void) +{ + /* arch number of the board */ @@ -399,46 +439,131 @@ index 0000000..a3f60cb + return(0); +} + -+int misc_init_r (void) ++/* Read ethernet MAC address from Integrity data structure inside EEPROM. */ ++int read_mac_address(uint8_t *buf) +{ -+ u_int8_t tmp[20], buf[10]; -+ int i = 0; -+ int clk = 0; ++ u_int32_t value, mac[2], address; ++ ++ /* Read Integrity data structure checkword. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, INTEGRITY_CHECKWORD_OFFSET, ++ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4)) ++ goto err; ++ if (value != INTEGRITY_CHECKWORD_VALUE) ++ return 1; ++ ++ /* Read SYSCFG structure offset. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, INTEGRITY_SYSCFG_OFFSET, ++ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4)) ++ goto err; ++ address = 0x800 + (int) value; /* Address of SYSCFG structure. */ ++ ++ /* Read NET CONFIG structure offset. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, address, ++ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4)) ++ goto err; ++ address = 0x800 + (int) value; /* Address of NET CONFIG structure. */ ++ address += 12; /* Address of NET INTERFACE CONFIG structure. */ ++ ++ /* Read NET INTERFACE CONFIG 2 structure offset. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, address, ++ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &value, 4)) ++ goto err; ++ address = 0x800 + 16 + (int) value; /* Address of NET INTERFACE ++ * CONFIG 2 structure. */ ++ ++ /* Read MAC address. */ ++ if (i2c_read(CFG_I2C_EEPROM_ADDR, address, ++ CFG_I2C_EEPROM_ADDR_LEN, (uint8_t *) &mac[0], 8)) ++ goto err; ++ ++ buf[0] = mac[0] >> 24; ++ buf[1] = mac[0] >> 16; ++ buf[2] = mac[0] >> 8; ++ buf[3] = mac[0]; ++ buf[4] = mac[1] >> 24; ++ buf[5] = mac[1] >> 16; ++ ++ return 0; ++ ++err: ++ printf("Read from EEPROM @ 0x%02x failed\n", CFG_I2C_EEPROM_ADDR); ++ return 1; ++} ++ ++/* Platform dependent initialisation. */ ++int misc_init_r(void) ++{ ++ int i; ++ u_int8_t i2cbuf; ++ u_int8_t env_enetaddr[6], eeprom_enetaddr[6]; ++ char *tmp = getenv("ethaddr"); ++ char *end; ++ int clk; ++ ++ /* EMIF-A CS3 configuration for FPGA. */ ++ REG(DAVINCI_A3CR) = DAVINCI_A3CR_VAL; + + clk = ((REG(PLL2_PLLM) + 1) * 27) / ((REG(PLL2_DIV2) & 0x1f) + 1); + -+ printf ("ARM Clock: %dMHz\n", ((REG(PLL1_PLLM) + 1) * 27 ) / 2); -+ printf ("DDR Clock: %dMHz\n", (clk / 2)); ++ printf("ARM Clock: %dMHz\n", ((REG(PLL1_PLLM) + 1) * 27) / 2); ++ printf("DDR Clock: %dMHz\n", (clk / 2)); + + /* Configure I2C switch (PCA9543) to enable channel 0. */ -+ tmp[0] = CFG_I2C_PCA9543_ENABLE_CH0; -+ if (i2c_write(CFG_I2C_PCA9543_ADDR, 0, CFG_I2C_PCA9543_ADDR_LEN, tmp, 1)) { -+ printf ("Write to MUX @ 0x%02x failed\n", CFG_I2C_PCA9543_ADDR); ++ i2cbuf = CFG_I2C_PCA9543_ENABLE_CH0; ++ if (i2c_write(CFG_I2C_PCA9543_ADDR, 0, ++ CFG_I2C_PCA9543_ADDR_LEN, &i2cbuf, 1)) { ++ printf("Write to MUX @ 0x%02x failed\n", CFG_I2C_PCA9543_ADDR); ++ return 1; + } + -+ /* Set Ethernet MAC address from EEPROM. -+ * We must read 8 bytes because data is stored in little-endian. */ -+ if (i2c_read(CFG_I2C_EEPROM_ADDR, 0x05A8, CFG_I2C_EEPROM_ADDR_LEN, buf, 8)) { -+ printf ("Read from EEPROM @ 0x%02x failed\n", CFG_I2C_EEPROM_ADDR); -+ } else { -+ tmp[0] = 0xff; -+ for (i = 0; i < 6; i++) -+ tmp[0] &= buf[i]; -+ -+ if ((tmp[0] != 0xff) && (getenv("ethaddr") == NULL)) { -+ sprintf ((char *)&tmp[0], "%02x:%02x:%02x:%02x:%02x:%02x", -+ buf[3], buf[2], buf[1], buf[0], -+ buf[7], buf[6]); -+ setenv ("ethaddr", (char *)&tmp[0]); ++ /* Read Ethernet MAC address from the U-Boot environment. */ ++ for (i = 0; i < 6; i++) { ++ env_enetaddr[i] = tmp ? simple_strtoul(tmp, &end, 16) : 0; ++ if (tmp) ++ tmp = (*end) ? end+1 : end; ++ } ++ ++ /* Read Ethernet MAC address from EEPROM. */ ++ if (read_mac_address(eeprom_enetaddr) == 0) { ++ if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6) != 0 && ++ memcmp(env_enetaddr, eeprom_enetaddr, 6) != 0) { ++ printf("\nWarning: MAC addresses don't match:\n"); ++ printf("\tHW MAC address: " ++ "%02X:%02X:%02X:%02X:%02X:%02X\n", ++ eeprom_enetaddr[0], eeprom_enetaddr[1], ++ eeprom_enetaddr[2], eeprom_enetaddr[3], ++ eeprom_enetaddr[4], eeprom_enetaddr[5]); ++ printf("\t\"ethaddr\" value: " ++ "%02X:%02X:%02X:%02X:%02X:%02X\n", ++ env_enetaddr[0], env_enetaddr[1], ++ env_enetaddr[2], env_enetaddr[3], ++ env_enetaddr[4], env_enetaddr[5]) ; ++ debug("### Set MAC addr from environment\n"); ++ memcpy(eeprom_enetaddr, env_enetaddr, 6); ++ } ++ if (!tmp) { ++ char ethaddr[20]; ++ ++ sprintf(ethaddr, "%02X:%02X:%02X:%02X:%02X:%02X", ++ eeprom_enetaddr[0], eeprom_enetaddr[1], ++ eeprom_enetaddr[2], eeprom_enetaddr[3], ++ eeprom_enetaddr[4], eeprom_enetaddr[5]) ; ++ debug("### Set environment from HW MAC addr = \"%s\"\n", ++ ethaddr); ++ setenv("ethaddr", ethaddr); + } + } + + if (!eth_hw_init()) { -+ printf ("Ethernet init failed\n"); ++ printf("Ethernet init failed\n"); + } else { -+ printf ("ETH PHY: %s\n", phy.name); ++ printf("ETH PHY: %s\n", phy.name); + } -+ ++ ++ /* On this platform, U-Boot is copied in RAM by the UBL, ++ * so we are always in the relocated state. */ ++ gd->flags |= GD_FLG_RELOC; ++ + return(0); +} + @@ -540,13 +665,16 @@ index aaf2ea2..b347857 100644 # undef machine_arch_type diff --git a/include/configs/davinci_sffsdr.h b/include/configs/davinci_sffsdr.h new file mode 100644 -index 0000000..a9b480b +index 0000000..897e9e5 --- /dev/null +++ b/include/configs/davinci_sffsdr.h -@@ -0,0 +1,171 @@ +@@ -0,0 +1,148 @@ +/* + * Copyright (C) 2007 Sergey Kubushyn <ksi@koi8.net> + * ++ * Copyright (C) 2008 Lyrtech <www.lyrtech.com> ++ * Copyright (C) 2008 Philip Balister, OpenSDR <philip@opensdr.com> ++ * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of @@ -567,30 +695,22 @@ index 0000000..a9b480b +#define __CONFIG_H +#include <asm/sizes.h> + -+/*=======*/ +/* Board */ -+/*=======*/ +#define SFFSDR +#define CFG_NAND_LARGEPAGE +#define CFG_USE_NAND -+/*===================*/ +/* SoC Configuration */ -+/*===================*/ +#define CONFIG_ARM926EJS /* arm926ejs CPU core */ +#define CONFIG_SYS_CLK_FREQ 297000000 /* Arm Clock frequency */ +#define CFG_TIMERBASE 0x01c21400 /* use timer 0 */ +#define CFG_HZ_CLOCK 27000000 /* Timer Input clock freq */ +#define CFG_HZ 1000 -+/*==================================================*/ -+/* EEPROM definitions for Atmel 24LC64 EEPROM chip */ -+/*==================================================*/ ++/* EEPROM definitions for Atmel 24LC64 EEPROM chip */ +#define CFG_I2C_EEPROM_ADDR_LEN 2 +#define CFG_I2C_EEPROM_ADDR 0x50 +#define CFG_EEPROM_PAGE_WRITE_BITS 5 +#define CFG_EEPROM_PAGE_WRITE_DELAY_MS 20 -+/*=============*/ +/* Memory Info */ -+/*=============*/ +#define CFG_MALLOC_LEN (0x10000 + 256*1024) /* malloc() len */ +#define CFG_GBL_DATA_SIZE 128 /* reserved for initial data */ +#define CFG_MEMTEST_START 0x80000000 /* memtest start address */ @@ -600,9 +720,7 @@ index 0000000..a9b480b +#define PHYS_SDRAM_1 0x80000000 /* DDR Start */ +#define PHYS_SDRAM_1_SIZE 0x08000000 /* DDR size 128MB */ +#define DDR_4BANKS /* 4-bank DDR2 (128MB) */ -+/*====================*/ +/* Serial Driver info */ -+/*====================*/ +#define CFG_NS16550 +#define CFG_NS16550_SERIAL +#define CFG_NS16550_REG_SIZE 4 /* NS16550 register size */ @@ -611,16 +729,12 @@ index 0000000..a9b480b +#define CONFIG_CONS_INDEX 1 /* use UART0 for console */ +#define CONFIG_BAUDRATE 115200 /* Default baud rate */ +#define CFG_BAUDRATE_TABLE { 9600, 19200, 38400, 57600, 115200 } -+/*===================*/ +/* I2C Configuration */ -+/*===================*/ +#define CONFIG_HARD_I2C +#define CONFIG_DRIVER_DAVINCI_I2C +#define CFG_I2C_SPEED 80000 /* 100Kbps won't work, silicon bug */ +#define CFG_I2C_SLAVE 10 /* Bogus, master-only in U-Boot */ -+/*==================================*/ +/* Network & Ethernet Configuration */ -+/*==================================*/ +#define CONFIG_DRIVER_TI_EMAC +#define CONFIG_MII +#define CONFIG_BOOTP_DEFAULT @@ -629,9 +743,7 @@ index 0000000..a9b480b +#define CONFIG_BOOTP_SEND_HOSTNAME +#define CONFIG_NET_RETRY_COUNT 10 +#define CONFIG_OVERWRITE_ETHADDR_ONCE -+/*=====================*/ +/* Flash & Environment */ -+/*=====================*/ +#undef CFG_ENV_IS_IN_FLASH +#define CFG_NO_FLASH +#define CFG_ENV_IS_IN_NAND /* U-Boot env in NAND Flash */ @@ -644,54 +756,46 @@ index 0000000..a9b480b +#define CFG_MAX_NAND_DEVICE 1 /* Max number of NAND devices */ +#define NAND_MAX_CHIPS 1 +#define CFG_ENV_OFFSET 0x0 /* Block 0--not used by bootcode */ -+/*=====================*/ -+/* Board related stuff */ -+/*=====================*/ -+/*==========================================*/ -+/* I2C switch definitions for PCA9543 chip */ -+/* on Lyrtech SFF SDR board. */ -+/*==========================================*/ ++/* I2C switch definitions for PCA9543 chip */ +#define CFG_I2C_PCA9543_ADDR 0x70 -+#define CFG_I2C_PCA9543_ADDR_LEN 0 /* This chip has a single register. */ ++#define CFG_I2C_PCA9543_ADDR_LEN 0 /* Single register. */ +#define CFG_I2C_PCA9543_ENABLE_CH0 0x01 /* Enable channel 0. */ -+/*==============================*/ +/* U-Boot general configuration */ -+/*==============================*/ -+#undef CONFIG_USE_IRQ /* No IRQ/FIQ in U-Boot */ ++#undef CONFIG_USE_IRQ /* No IRQ/FIQ in U-Boot */ +#define CONFIG_MISC_INIT_R -+#undef CONFIG_BOOTDELAY ++#define CONFIG_BOOTDELAY 5 /* Autoboot after 5 seconds. */ +#define CONFIG_BOOTFILE "uImage" /* Boot file name */ +#define CFG_PROMPT "U-Boot > " /* Monitor Command Prompt */ +#define CFG_CBSIZE 1024 /* Console I/O Buffer Size */ -+#define CFG_PBSIZE (CFG_CBSIZE+sizeof(CFG_PROMPT)+16) /* Print buffer sz */ ++#define CFG_PBSIZE \ ++ (CFG_CBSIZE + sizeof(CFG_PROMPT) + 16) /* Print buffer size */ +#define CFG_MAXARGS 16 /* max number of command args */ +#define CFG_BARGSIZE CFG_CBSIZE /* Boot Argument Buffer Size */ -+#define CFG_LOAD_ADDR 0x80700000 /* default Linux kernel load address */ ++#define CFG_LOAD_ADDR 0x80700000 /* Default Linux kernel ++ * load address. */ +#define CONFIG_VERSION_VARIABLE -+#define CONFIG_AUTO_COMPLETE /* Won't work with hush so far, may be later */ ++#define CONFIG_AUTO_COMPLETE /* Won't work with hush so far, ++ * may be later */ +#define CFG_HUSH_PARSER +#define CFG_PROMPT_HUSH_PS2 "> " +#define CONFIG_CMDLINE_EDITING +#define CFG_LONGHELP +#define CONFIG_CRC32_VERIFY +#define CONFIG_MX_CYCLIC -+/* -+ * Define this to load an Integrity kernel. -+ * -+#define CONFIG_CMD_ELF -+ */ -+ -+/*===================*/ +/* Linux Information */ -+/*===================*/ +#define LINUX_BOOT_PARAM_ADDR 0x80000100 +#define CONFIG_CMDLINE_TAG +#define CONFIG_SETUP_MEMORY_TAGS -+#define CONFIG_BOOTARGS "mem=56M console=ttyS0,115200n8 root=/dev/hda1 rw noinitrd ip=dhcp" -+#define CONFIG_BOOTCOMMAND "setenv setboot setenv bootargs \\$(bootargs) video=dm64xxfb:output=\\$(videostd);run setboot" -+/*=================*/ ++#define CONFIG_BOOTARGS \ ++ "mem=56M " \ ++ "console=ttyS0,115200n8 " \ ++ "root=/dev/nfs rw noinitrd ip=dhcp " \ ++ "nfsroot=${serverip}:/nfsroot/sffsdr " \ ++ "nwhwconf=device:eth0,hwaddr:${ethaddr}" ++#define CONFIG_BOOTCOMMAND \ ++ "nand read 87A00000 100000 300000;" \ ++ "bootelf 87A00000" +/* U-Boot commands */ -+/*=================*/ +#include <config_cmd_default.h> +#define CONFIG_CMD_ASKENV +#define CONFIG_CMD_DHCP @@ -707,12 +811,20 @@ index 0000000..a9b480b +#undef CONFIG_CMD_SETGETDCR +#undef CONFIG_CMD_FLASH +#undef CONFIG_CMD_IMLS -+/*=======================*/ +/* KGDB support (if any) */ -+/*=======================*/ +#ifdef CONFIG_CMD_KGDB +#define CONFIG_KGDB_BAUDRATE 115200 /* speed to run kgdb serial port */ +#define CONFIG_KGDB_SER_INDEX 1 /* which serial port to use */ +#endif +#endif /* __CONFIG_H */ +------------------------------------------------------------------------- +Check out the new SourceForge.net Marketplace. +It's the best place to buy or sell services for +just about anything Open Source. +http://sourceforge.net/services/buy/index.php +_______________________________________________ +U-Boot-Users mailing list +U-Boot-Users@lists.sourceforge.net +https://lists.sourceforge.net/lists/listinfo/u-boot-users + diff --git a/packages/u-boot/u-boot_git.bb b/packages/u-boot/u-boot_git.bb index 68d5167b8b..545438e9f7 100644 --- a/packages/u-boot/u-boot_git.bb +++ b/packages/u-boot/u-boot_git.bb @@ -1,7 +1,7 @@ require u-boot.inc PR="r4" -SRCREV_davinci-sffsdr = "4ce1e23b5e12283579828b3d23e8fd6e1328a7aa" +SRCREV_davinci-sffsdr = "a524e112b424c6843800ea2f19d3a8cf01d0aa94" SRCREV_beagleboard = "a94f22f08f280905926219e568568964cb9eeb9d" SRC_URI = "git://www.denx.de/git/u-boot.git;protocol=git " diff --git a/packages/vlc/vlc-davinci_0.8.6h.bb b/packages/vlc/vlc-davinci_0.8.6h.bb new file mode 100644 index 0000000000..9ed6d46fd2 --- /dev/null +++ b/packages/vlc/vlc-davinci_0.8.6h.bb @@ -0,0 +1,59 @@ +DESCRIPTION = "Video player and streamer - GPE edition" +HOMEPAGE = "http://www.videolan.org" +LICENSE = "GPL" +PRIORITY = "optional" +SECTION = "multimedia" + +SRCREV = "116b6dff4996f494b54fc0f05695ba792086ea9e" + +PR = "r1" + +PV = "0.8.6h+${PR}+gitr${SRCREV}" + +DEPENDS = "dbus libxml2 gnutls tremor faad2 ffmpeg flac liba52 libid3tag libmad mpeg2dec" + +SRC_URI = "git://git.videolan.org/vlc.git;protocol=git;branch=0.8.6-neuros" + +S = "${WORKDIR}/git" + +inherit autotools + +EXTRA_OECONF = "\ + --with-contrib \ + --disable-dvdread \ + --disable-wxwidgets \ + --disable-skins2 \ + --disable-libmpeg2 \ + --disable-dvdnav \ + --disable-x11 --disable-xvideo --disable-opengl --disable-glx \ + --disable-screen --disable-caca \ + --disable-httpd --disable-vlm \ + --disable-freetype \ + --disable-sdl \ + --enable-png \ + --enable-live555 --enable-tremor \ + --disable-mod \ + --enable-davinci --enable-davincifb --enable-davinciresizer \ + --enable-v4l2 --enable-aa --enable-wma --enable-faad \ + --enable-dbus \ +" + + +do_configure() { + ./bootstrap + gnu-configize + libtoolize --force + autoreconf --force -i + oe_runconf +} + +do_stage() { + autotools_stage_all +} + +RCONFLICTS_${PN} = "vlc" + +FILES_${PN} += "${bindir}/vlc \ + ${datadir}/applications \ + ${datadir}/vlc/ \ + " diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver b/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver index f92b983788..d9ee794b75 100644 --- a/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver +++ b/packages/xserver-kdrive-common/xserver-kdrive-common/openmoko/Xserver @@ -65,7 +65,6 @@ case `module_id` in IMAGEON="w3220" ;; "Ramses") - # What is this "vt2" in aid of? ARGS="$ARGS -br -dpi 100 -rgba vrgb -screen 320x240@90 vt2" ;; # both 'Sharp-Collie' and just 'Collie' have been reported *Poodle) @@ -94,14 +93,14 @@ case `module_id` in modprobe mbxfb ARGS="$ARGS -br -fb /dev/fb1" ;; "GTA01" | "GTA02") - ARGS="$ARGS -dpi 285 -screen 480x640 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-vga.ppm" ;; + ARGS="$ARGS -dpi 285 -screen 480x640 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-vga.ppm vt1" ;; "Motorola Ezx Platform") - ARGS="$ARGS -dpi 170 -screen 240x320 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm" ;; + ARGS="$ARGS -dpi 170 -screen 240x320 -hide-cursor -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm vt1" ;; "Nokia N800") ARGS="$ARGS -br -dpi 225 -screen 800x480x16 -mouse tslib" ;; - "Freescale MX21ADS") - # That's what /proc/cpuinfo shows as hardware on the chumby - ARGS="$ARGS -dpi 121 -screen 320x240 -hide-cursor -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm" ;; + "Freescale MX21ADS") + # That's what /proc/cpuinfo shows as hardware on the chumby + ARGS="$ARGS -dpi 121 -screen 320x240 -hide-cursor -mouse tslib -root-ppm /usr/share/pixmaps/xsplash-qvga.ppm vt1" ;; *) # It is a device we do not know about, in which case we force # kdrive to use the current framebuffer geometry -- otherwise diff --git a/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb index b070c7e599..e07a83ed3c 100644 --- a/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb +++ b/packages/xserver-kdrive-common/xserver-kdrive-common_0.1.bb @@ -2,7 +2,7 @@ DESCRIPTION = "Common X11 scripts" LICENSE = "GPL" SECTION = "x11" RDEPENDS_${PN} = "xmodmap libxrandr xdpyinfo xtscal xinit" -PR = "r28" +PR = "r29" SRC_URI = "\ file://Xdefaults \ diff --git a/site/avr32-common b/site/avr32-common index db0ca53fb2..b43004e5ba 100644 --- a/site/avr32-common +++ b/site/avr32-common @@ -43,3 +43,5 @@ slrn_cv_va_copy=${slrn_cv_va_copy=yes} dpkg_cv_va_copy=${ac_cv_va_copy=yes} dpkg_cv___va_copy=${ac_cv___va_copy=yes} +#libidl +libIDL_cv_long_long_format=${libIDL_cv_long_long_format=ll} |