Merging changes from trunk r58091-58323.
authorMitchell Stokes <mogurijin@gmail.com>
Wed, 17 Jul 2013 01:40:26 +0000 (01:40 +0000)
committerMitchell Stokes <mogurijin@gmail.com>
Wed, 17 Jul 2013 01:40:26 +0000 (01:40 +0000)
36 files changed:
CMakeLists.txt
release/datafiles/startup.blend
source/gameengine/Converter/BL_BlenderDataConversion.cpp
source/gameengine/Converter/KX_BlenderSceneConverter.cpp
source/gameengine/Converter/KX_BlenderSceneConverter.h
source/gameengine/Converter/KX_ConvertProperties.cpp
source/gameengine/GameLogic/SCA_IScene.cpp
source/gameengine/GameLogic/SCA_IScene.h
source/gameengine/GamePlayer/CMakeLists.txt
source/gameengine/GamePlayer/common/CMakeLists.txt
source/gameengine/GamePlayer/common/GPC_Canvas.cpp
source/gameengine/GamePlayer/common/GPC_Canvas.h
source/gameengine/GamePlayer/common/GPC_Engine.cpp [deleted file]
source/gameengine/GamePlayer/common/GPC_Engine.h [deleted file]
source/gameengine/GamePlayer/common/GPC_RawImage.cpp [deleted file]
source/gameengine/GamePlayer/common/GPC_RawImage.h [deleted file]
source/gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.cpp [deleted file]
source/gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.h [deleted file]
source/gameengine/GamePlayer/common/GPC_RawLogoArrays.cpp [deleted file]
source/gameengine/GamePlayer/common/GPC_RawLogoArrays.h [deleted file]
source/gameengine/GamePlayer/common/GPC_System.cpp [deleted file]
source/gameengine/GamePlayer/common/GPC_System.h [deleted file]
source/gameengine/GamePlayer/common/bmfont.cpp [deleted file]
source/gameengine/GamePlayer/common/load.blend [deleted file]
source/gameengine/GamePlayer/common/logo_blender.raw [deleted file]
source/gameengine/GamePlayer/common/logo_blender3d.raw [deleted file]
source/gameengine/GamePlayer/common/logo_nan.raw [deleted file]
source/gameengine/GamePlayer/ghost/GPG_Canvas.cpp
source/gameengine/GamePlayer/ghost/GPG_System.h
source/gameengine/Ketsji/CMakeLists.txt
source/gameengine/Ketsji/KX_KetsjiEngine.cpp
source/gameengine/Ketsji/KX_KetsjiEngine.h
source/gameengine/Ketsji/KX_PhysicsPropertiesobsolete.h [deleted file]
source/gameengine/Ketsji/KX_Scene.cpp
source/gameengine/Ketsji/KX_Scene.h
source/gameengine/Rasterizer/RAS_2DFilterManager.cpp

index b1a7830434e4198f8e88bcfadcbef79546dcdd2e..d3c65baec345eb66e54213195f50552f69c9e877 100644 (file)
@@ -538,9 +538,6 @@ set(PLATFORM_LINKFLAGS "")
 set(PLATFORM_LINKFLAGS_DEBUG "")
 
 
-# disabled for now, not supported
-# option(WITH_WEBPLUGIN     "Enable Web Plugin (Unix only)" OFF)
-
 # For alternate Python locations the commandline can be used to override detected/default cache settings, e.g:
 # On Unix:
 #   cmake ../blender \
@@ -1874,16 +1871,6 @@ if(WITH_IMAGE_REDCODE)
        set(REDCODE_INC ${REDCODE})
 endif()
 
-#-----------------------------------------------------------------------------
-# Blender WebPlugin
-
-if(WITH_WEBPLUGIN)
-       set(GECKO_DIR "${CMAKE_SOURCE_DIR}/../gecko-sdk/" CACHE PATH "Gecko SDK path")
-       set(WEBPLUGIN_SANDBOX_MODE "apparmor" CACHE STRING "WEB Plugin sandbox mode, can be apparmor, privsep, none")
-
-       set(WITH_PLAYER ON)
-endif()
-
 
 #-----------------------------------------------------------------------------
 # Configure OpenGL.
index c604d16829ce6a5106e895002102e33bd2a83707..8b58493fe3a4a1b8e404ee214d1610104aabbab8 100644 (file)
Binary files a/release/datafiles/startup.blend and b/release/datafiles/startup.blend differ
index ad16c96dc7016c9b0e1d91e402ab30737ebdb032..4890db193eb734c6d0ea38e0e7b8750b8ed00acf 100644 (file)
@@ -890,8 +890,8 @@ static bool ConvertMaterial(
 
 static RAS_MaterialBucket *material_from_mesh(Material *ma, MFace *mface, MTFace *tface, MCol *mcol, MTF_localLayer *layers, int lightlayer, unsigned int *rgb, MT_Point2 uvs[4][RAS_TexVert::MAX_UNIT], const char *tfaceName, KX_Scene* scene, KX_BlenderSceneConverter *converter)
 {
-       RAS_IPolyMaterial* polymat = converter->FindCachedPolyMaterial(ma);
-       BL_Material* bl_mat = converter->FindCachedBlenderMaterial(ma);
+       RAS_IPolyMaterial* polymat = converter->FindCachedPolyMaterial(scene, ma);
+       BL_Material* bl_mat = converter->FindCachedBlenderMaterial(scene, ma);
        KX_BlenderMaterial* kx_blmat = NULL;
        KX_PolygonMaterial* kx_polymat = NULL;
                
@@ -907,7 +907,7 @@ static RAS_MaterialBucket *material_from_mesh(Material *ma, MFace *mface, MTFace
                                converter->GetGLSLMaterials());
 
                        if (ma && (ma->mode & MA_FACETEXTURE) == 0)
-                               converter->CacheBlenderMaterial(ma, bl_mat);
+                               converter->CacheBlenderMaterial(scene, ma, bl_mat);
                }
 
                const bool use_vcol = GetMaterialUseVColor(ma, bl_mat->glslmat);
@@ -923,7 +923,7 @@ static RAS_MaterialBucket *material_from_mesh(Material *ma, MFace *mface, MTFace
                        kx_blmat->Initialize(scene, bl_mat, (ma?&ma->game:NULL), lightlayer);
                        polymat = static_cast<RAS_IPolyMaterial*>(kx_blmat);
                        if (ma && (ma->mode & MA_FACETEXTURE) == 0)
-                               converter->CachePolyMaterial(ma, polymat);
+                               converter->CachePolyMaterial(scene, ma, polymat);
                }
        }
        else {
@@ -1052,7 +1052,7 @@ static RAS_MaterialBucket *material_from_mesh(Material *ma, MFace *mface, MTFace
                                polymat->m_shininess = 35.0;
                        }
 
-                       converter->CachePolyMaterial(ma, polymat);
+                       converter->CachePolyMaterial(scene, ma, polymat);
                }
        }
        
index 5df431db4b3afc73c256e81eae6e88da85224915..7a53144657db20e42751907f5eea97375faac7d3 100644 (file)
@@ -174,7 +174,7 @@ KX_BlenderSceneConverter::~KX_BlenderSceneConverter()
 
        vector<pair<KX_Scene*,RAS_IPolyMaterial*> >::iterator itp = m_polymaterials.begin();
        while (itp != m_polymaterials.end()) {
-               m_polymat_cache.erase((*itp).second->GetBlenderMaterial());
+               //m_polymat_cache.erase((*itp).second->GetBlenderMaterial());
                delete (*itp).second;
                itp++;
        }
@@ -183,7 +183,7 @@ KX_BlenderSceneConverter::~KX_BlenderSceneConverter()
        // delete after RAS_IPolyMaterial
        vector<pair<KX_Scene*,BL_Material *> >::iterator itmat = m_materials.begin();
        while (itmat != m_materials.end()) {
-               m_mat_cache.erase((*itmat).second->material);
+               //m_mat_cache.erase((*itmat).second->material);
                delete (*itmat).second;
                itmat++;
        }
@@ -439,7 +439,7 @@ void KX_BlenderSceneConverter::RemoveScene(KX_Scene *scene)
        size = m_polymaterials.size();
        for (i=0, polymit=m_polymaterials.begin(); i<size; ) {
                if ((*polymit).first == scene) {
-                       m_polymat_cache.erase((*polymit).second->GetBlenderMaterial());
+                       m_polymat_cache[scene].erase((*polymit).second->GetBlenderMaterial());
                        delete (*polymit).second;
                        *polymit = m_polymaterials.back();
                        m_polymaterials.pop_back();
@@ -450,11 +450,13 @@ void KX_BlenderSceneConverter::RemoveScene(KX_Scene *scene)
                }
        }
 
+       m_polymat_cache.erase(scene);
+
        vector<pair<KX_Scene*,BL_Material*> >::iterator matit;
        size = m_materials.size();
        for (i=0, matit=m_materials.begin(); i<size; ) {
                if ((*matit).first == scene) {
-                       m_mat_cache.erase((*matit).second->material);
+                       m_mat_cache[scene].erase((*matit).second->material);
                        delete (*matit).second;
                        *matit = m_materials.back();
                        m_materials.pop_back();
@@ -465,6 +467,8 @@ void KX_BlenderSceneConverter::RemoveScene(KX_Scene *scene)
                }
        }
 
+       m_mat_cache.erase(scene);
+
        vector<pair<KX_Scene*,RAS_MeshObject*> >::iterator meshit;
        size = m_meshobjects.size();
        for (i=0, meshit=m_meshobjects.begin(); i<size; ) {
@@ -603,26 +607,26 @@ void KX_BlenderSceneConverter::RegisterPolyMaterial(RAS_IPolyMaterial *polymat)
        m_polymaterials.push_back(pair<KX_Scene*,RAS_IPolyMaterial*>(m_currentScene,polymat));
 }
 
-void KX_BlenderSceneConverter::CachePolyMaterial(struct Material *mat, RAS_IPolyMaterial *polymat)
+void KX_BlenderSceneConverter::CachePolyMaterial(KX_Scene *scene, Material *mat, RAS_IPolyMaterial *polymat)
 {
        if (m_use_mat_cache && mat)
-               m_polymat_cache[mat] = polymat;
+               m_polymat_cache[scene][mat] = polymat;
 }
 
-RAS_IPolyMaterial *KX_BlenderSceneConverter::FindCachedPolyMaterial(struct Material *mat)
+RAS_IPolyMaterial *KX_BlenderSceneConverter::FindCachedPolyMaterial(KX_Scene *scene, struct Material *mat)
 {
-       return (m_use_mat_cache) ? m_polymat_cache[mat] : NULL;
+       return (m_use_mat_cache) ? m_polymat_cache[scene][mat] : NULL;
 }
 
-void KX_BlenderSceneConverter::CacheBlenderMaterial(struct Material *mat, BL_Material *blmat)
+void KX_BlenderSceneConverter::CacheBlenderMaterial(KX_Scene *scene, struct Material *mat, BL_Material *blmat)
 {
        if (m_use_mat_cache && mat)
-               m_mat_cache[mat] = blmat;
+               m_mat_cache[scene][mat] = blmat;
 }
 
-BL_Material *KX_BlenderSceneConverter::FindCachedBlenderMaterial(struct Material *mat)
+BL_Material *KX_BlenderSceneConverter::FindCachedBlenderMaterial(KX_Scene *scene, struct Material *mat)
 {
-       return (m_use_mat_cache) ? m_mat_cache[mat] : NULL;
+       return (m_use_mat_cache) ? m_mat_cache[scene][mat] : NULL;
 }
 
 void KX_BlenderSceneConverter::RegisterInterpolatorList(
@@ -1262,6 +1266,8 @@ bool KX_BlenderSceneConverter::FreeBlendFile(struct Main *maggie)
                KX_Scene* scene = scenes->at(scene_idx);
                if (IS_TAGGED(scene->GetBlenderScene())) {
                        m_ketsjiEngine->RemoveScene(scene->GetName());
+                       m_mat_cache.erase(scene);
+                       m_polymat_cache.erase(scene);
                        scene_idx--;
                        numScenes--;
                }
@@ -1456,7 +1462,6 @@ bool KX_BlenderSceneConverter::FreeBlendFile(struct Main *maggie)
                }
 
                if (IS_TAGGED(bmat)) {
-                       m_polymat_cache.erase((*polymit).second->GetBlenderMaterial());
                        delete (*polymit).second;
                        *polymit = m_polymaterials.back();
                        m_polymaterials.pop_back();
@@ -1474,7 +1479,6 @@ bool KX_BlenderSceneConverter::FreeBlendFile(struct Main *maggie)
        for (i=0, matit=m_materials.begin(); i<size; ) {
                BL_Material *mat= (*matit).second;
                if (IS_TAGGED(mat->material)) {
-                       m_mat_cache.erase((*matit).second->material);
                        delete (*matit).second;
                        *matit = m_materials.back();
                        m_materials.pop_back();
index 06dac1707c5a22b72f9a879a369d7a0ece78a924..7ed75ad76141d4925c556ac890ded32f164762de 100644 (file)
@@ -53,6 +53,10 @@ class BL_Material;
 struct Main;
 struct Scene;
 struct ThreadInfo;
+struct Material;
+
+typedef map<KX_Scene*, map<Material*, BL_Material*> > MaterialCache;
+typedef map<KX_Scene*, map<Material*, RAS_IPolyMaterial*> > PolyMaterialCache;
 
 class KX_BlenderSceneConverter : public KX_ISceneConverter
 {
@@ -66,8 +70,8 @@ class KX_BlenderSceneConverter : public KX_ISceneConverter
        ThreadInfo      *m_threadinfo;
 
        // Cached material conversions
-       map<struct Material*, BL_Material*> m_mat_cache;
-       map<struct Material*, RAS_IPolyMaterial*> m_polymat_cache;
+       MaterialCache m_mat_cache;
+       PolyMaterialCache m_polymat_cache;
 
        // Saved KX_LibLoadStatus objects
        map<char *, class KX_LibLoadStatus*> m_status_map;
@@ -126,12 +130,12 @@ public:
        RAS_MeshObject *FindGameMesh(struct Mesh *for_blendermesh/*, unsigned int onlayer*/);
 
        void RegisterPolyMaterial(RAS_IPolyMaterial *polymat);
-       void CachePolyMaterial(struct Material *mat, RAS_IPolyMaterial *polymat);
-       RAS_IPolyMaterial *FindCachedPolyMaterial(struct Material *mat);
+       void CachePolyMaterial(KX_Scene *scene, Material *mat, RAS_IPolyMaterial *polymat);
+       RAS_IPolyMaterial *FindCachedPolyMaterial(KX_Scene *scene, Material *mat);
 
        void RegisterBlenderMaterial(BL_Material *mat);
-       void CacheBlenderMaterial(struct Material *mat, BL_Material *blmat);
-       BL_Material *FindCachedBlenderMaterial(struct Material *mat);
+       void CacheBlenderMaterial(KX_Scene *scene, Material *mat, BL_Material *blmat);
+       BL_Material *FindCachedBlenderMaterial(KX_Scene *scene, Material *mat);
        
        void RegisterInterpolatorList(BL_InterpolatorList *actList, struct bAction *for_act);
        BL_InterpolatorList *FindInterpolatorList(struct bAction *for_act);
index 7222c673322ce2652f5b371c85faa66860f823f5..3b4ba6886cb6ff887af99789769088ba441c26e0 100644 (file)
@@ -131,7 +131,7 @@ void BL_ConvertProperties(Object* object,KX_GameObject* gameobj,SCA_TimeEventMan
                
                if (propval)
                {
-                       if (show_debug_info)
+                       if (show_debug_info && isInActiveLayer)
                        {
                                scene->AddDebugProperty(gameobj,STR_String(prop->name));
                        }
@@ -159,7 +159,7 @@ void BL_ConvertProperties(Object* object,KX_GameObject* gameobj,SCA_TimeEventMan
                prop = prop->next;
        }
        // check if state needs to be debugged
-       if (object->scaflag & OB_DEBUGSTATE)
+       if (object->scaflag & OB_DEBUGSTATE && isInActiveLayer)
        {
                //  reserve name for object state
                scene->AddDebugProperty(gameobj,STR_String("__state__"));
index c2ea8b4a8bcc1ab9863342dcfdb38716c5c86b07..60b4d19e155b7231e787ef230499bf82969aaec6 100644 (file)
@@ -74,9 +74,28 @@ std::vector<SCA_DebugProp*>& SCA_IScene::GetDebugProperties()
 void SCA_IScene::AddDebugProperty(class CValue* debugprop,
                                                                  const STR_String &name)
 {
-       SCA_DebugProp* dprop = new SCA_DebugProp();
-       dprop->m_obj = debugprop;
-       debugprop->AddRef();
-       dprop->m_name = name;
-       m_debugList.push_back(dprop);
+       if (m_debugList.size() < DEBUG_MAX_DISPLAY) {
+               SCA_DebugProp* dprop = new SCA_DebugProp();
+               dprop->m_obj = debugprop;
+               debugprop->AddRef();
+               dprop->m_name = name;
+               m_debugList.push_back(dprop);
+       }
 }
+
+
+void SCA_IScene::RemoveObjectDebugProperties(class CValue* gameobj)
+{      
+       vector<SCA_DebugProp*>::iterator it = m_debugList.begin();
+       while(it != m_debugList.end()) {
+               CValue* debugobj = (*it)->m_obj;
+
+               if (debugobj == gameobj) {
+                       delete (*it);
+                       m_debugList.erase(it);
+                       continue;
+               }
+               ++it;
+       }
+}
+
index 997266976adf89d2a4c0274ad7a488219efdac48..e2e1edd4354f15591c1cddbbfe53cddc3fba36c1 100644 (file)
@@ -41,6 +41,8 @@
 #include "MEM_guardedalloc.h"
 #endif
 
+#define DEBUG_MAX_DISPLAY 100
+
 struct SCA_DebugProp
 {
        class CValue*   m_obj;
@@ -65,9 +67,11 @@ public:
        virtual void    ReplaceMesh(class CValue* gameobj,
                                                                void* meshobj, bool use_gfx, bool use_phys)=0;
        std::vector<SCA_DebugProp*>& GetDebugProperties();
+       void                    RemoveAllDebugProperties();
        void                    AddDebugProperty(class CValue* debugprop,
                                                                         const STR_String &name);
-       void                    RemoveAllDebugProperties();
+       void                    RemoveObjectDebugProperties(class CValue* gameobj);
+
        virtual void    Update2DFilter(std::vector<STR_String>& propNames, void* gameObj, 
                                                                        RAS_2DFilterManager::RAS_2DFILTER_MODE filtermode, 
                                                                        int pass, STR_String& text) {}
index e1a26668d11bfed378de23ee97a73c38f872e8c9..e77609985dc50f485561f5a90274714e25eb0c83 100644 (file)
@@ -25,7 +25,3 @@
 
 add_subdirectory(common)
 add_subdirectory(ghost)
-
-if(WITH_WEBPLUGIN)
-       add_subdirectory(xembed)
-endif()
index e7d4fc3dbce3418bf7d5ba3cb522fec4b2c2aa46..4f2531cec2a0c3d4e076527d0ab3caa82d0311e5 100644 (file)
@@ -61,25 +61,14 @@ set(INC_SYS
 
 set(SRC
        GPC_Canvas.cpp
-       GPC_Engine.cpp
        GPC_KeyboardDevice.cpp
        GPC_MouseDevice.cpp
-       GPC_RawImage.cpp
-       GPC_RawLoadDotBlendArray.cpp
-       GPC_RawLogoArrays.cpp
        GPC_RenderTools.cpp
-       GPC_System.cpp
-       bmfont.cpp
 
        GPC_Canvas.h
-       GPC_Engine.h
        GPC_KeyboardDevice.h
        GPC_MouseDevice.h
-       GPC_RawImage.h
-       GPC_RawLoadDotBlendArray.h
-       GPC_RawLogoArrays.h
        GPC_RenderTools.h
-       GPC_System.h
 )
 
 add_definitions(-DGLEW_STATIC)
index dd914cd6e7d17d41c9d640215c27e2e5cb6f8783..be7cf6629f04869c4b2b9d7593ec6c2f383c947e 100644 (file)
@@ -56,16 +56,13 @@ extern "C" {
 #include "IMB_imbuf_types.h"
 }
 
-GPC_Canvas::TBannerId GPC_Canvas::s_bannerId = 0;
-
 
 GPC_Canvas::GPC_Canvas(
        int width,
        int height
 ) : 
        m_width(width),
-       m_height(height),
-       m_bannersEnabled(false)
+       m_height(height)
 {
        // initialize area so that it's available for game logic on frame 1 (ImageViewport)
        m_displayarea.m_x1 = 0;
@@ -79,28 +76,9 @@ GPC_Canvas::GPC_Canvas(
 
 GPC_Canvas::~GPC_Canvas()
 {
-       DisposeAllBanners();
 }
 
 
-//  void GPC_Canvas::InitPostRenderingContext(void)
-//  {
-//     glViewport(0, 0, m_width, m_height);
-//     glMatrixMode(GL_PROJECTION);
-//     glLoadIdentity();
-       
-//     glOrtho(-2.0, 2.0, -2.0, 2.0, -20.0, 20.0);
-
-//     glMatrixMode(GL_MODELVIEW);
-//     glLoadIdentity();
-
-//     glEnable(GL_DEPTH_TEST);
-
-//     glDepthFunc(GL_LESS);
-
-//     glShadeModel(GL_SMOOTH);
-//  }
-
 void GPC_Canvas::Resize(int width, int height)
 {
        m_width = width;
@@ -113,12 +91,6 @@ void GPC_Canvas::Resize(int width, int height)
        m_displayarea.m_y2 = height;
 }
 
-void GPC_Canvas::EndFrame()
-{
-       if (m_bannersEnabled)
-               DrawAllBanners();
-}
-
 
 void GPC_Canvas::ClearColor(float r, float g, float b, float a)
 {
@@ -185,256 +157,6 @@ void GPC_Canvas::ClearBuffer(
        ::glClear(ogltype);
 }
 
-
-GPC_Canvas::TBannerId GPC_Canvas::AddBanner(
-       unsigned int bannerWidth, unsigned int bannerHeight,
-       unsigned int imageWidth, unsigned int imageHeight,
-       unsigned char* imageData, 
-       TBannerAlignment alignment, bool enabled)
-{
-       TBannerData banner;
-
-       banner.alignment = alignment;
-       banner.enabled = enabled;
-       banner.displayWidth = bannerWidth;
-       banner.displayHeight = bannerHeight;
-       banner.imageWidth = imageWidth;
-       banner.imageHeight = imageHeight;
-       unsigned int bannerDataSize = imageWidth*imageHeight*4;
-       banner.imageData = new unsigned char [bannerDataSize];
-       ::memcpy(banner.imageData, imageData, bannerDataSize);
-       banner.textureName = 0;
-
-       m_banners.insert(TBannerMap::value_type(++s_bannerId, banner));
-       return s_bannerId;
-}
-
-
-void GPC_Canvas::DisposeBanner(TBannerId id)
-{
-       TBannerMap::iterator it = m_banners.find(id);
-       if (it != m_banners.end()) {
-               DisposeBanner(it->second);
-               m_banners.erase(it);
-       }
-}
-
-void GPC_Canvas::DisposeAllBanners()
-{
-       TBannerMap::iterator it = m_banners.begin();
-       while (it != m_banners.end()) {
-               DisposeBanner(it->second);
-               it++;
-       }
-}
-
-void GPC_Canvas::SetBannerEnabled(TBannerId id, bool enabled)
-{
-       TBannerMap::iterator it = m_banners.find(id);
-       if (it != m_banners.end()) {
-               it->second.enabled = enabled;
-       }
-}
-
-
-void GPC_Canvas::SetBannerDisplayEnabled(bool enabled)
-{
-       m_bannersEnabled = enabled;
-}
-
-
-void GPC_Canvas::DisposeBanner(TBannerData& banner)
-{
-       if (banner.imageData) {
-               delete [] banner.imageData;
-               banner.imageData = 0;
-       }
-       if (banner.textureName) {
-               ::glDeleteTextures(1, (GLuint*)&banner.textureName);
-       }
-}
-
-void GPC_Canvas::DrawAllBanners(void)
-{
-       if (!m_bannersEnabled || (m_banners.size() < 1))
-               return;
-       
-       // Save the old rendering parameters.
-
-       CanvasRenderState render_state;
-       PushRenderState(render_state);
-
-       // Set up everything for banner display.
-       
-       // Set up OpenGL matrices 
-       SetOrthoProjection();
-       // Activate OpenGL settings needed for display of the texture
-       ::glDisable(GL_LIGHTING);
-       ::glDisable(GL_DEPTH_TEST);
-       ::glDisable(GL_FOG);
-       ::glEnable(GL_TEXTURE_2D);
-       ::glEnable(GL_BLEND);
-       ::glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-
-       TBannerMap::iterator it = m_banners.begin();
-       while (it != m_banners.end()) {
-               if (it->second.enabled) {
-                       DrawBanner(it->second);
-               }
-               it++;
-       }
-
-       PopRenderState(render_state);
-}
-
-
-void GPC_Canvas::DrawBanner(TBannerData& banner)
-{
-       if (!banner.enabled)
-               return;
-
-       // Set up coordinates
-       int coords[4][2];
-       if (banner.alignment == alignTopLeft) {
-               // Upper left
-               coords[0][0] = 0;
-               coords[0][1] = ((int)m_height)-banner.displayHeight;
-               coords[1][0] = banner.displayWidth;
-               coords[1][1] = ((int)m_height)-banner.displayHeight;
-               coords[2][0] = banner.displayWidth;
-               coords[2][1] = ((int)m_height);
-               coords[3][0] = 0;
-               coords[3][1] = ((int)m_height);
-       }
-       else {
-               // Lower right
-               coords[0][0] = (int)m_width - banner.displayWidth;
-               coords[0][1] = 0;
-               coords[1][0] = m_width;
-               coords[1][1] = 0;
-               coords[2][0] = m_width;
-               coords[2][1] = banner.displayHeight;
-               coords[3][0] = (int)m_width - banner.displayWidth;
-               coords[3][1] = banner.displayHeight;
-       }
-       // Set up uvs
-       int uvs[4][2] = {
-               { 0, 1},
-               { 1, 1},
-               { 1, 0},
-               { 0, 0}
-       };
-
-       if (!banner.textureName) {
-               ::glGenTextures(1, (GLuint*)&banner.textureName);
-               ::glBindTexture(GL_TEXTURE_2D, banner.textureName);
-               ::glTexImage2D(
-                       GL_TEXTURE_2D,                  // target
-                       0,                                              // level
-                       4,                                              // components
-                       banner.imageWidth,              // width
-                       banner.displayHeight,   // height
-                       0,                                              // border
-                       GL_RGBA,                                // format
-                       GL_UNSIGNED_BYTE,               // type
-                       banner.imageData);              // image data
-               ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-               ::glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
-       }
-       else {
-               ::glBindTexture(GL_TEXTURE_2D, banner.textureName);
-       }
-
-       // Draw the rectangle with the texture on it
-       ::glBegin(GL_QUADS);
-       ::glColor4f(1.f, 1.f, 1.f, 1.f);
-       ::glTexCoord2iv((GLint*)uvs[0]);
-       ::glVertex2iv((GLint*)coords[0]);
-       ::glTexCoord2iv((GLint*)uvs[1]);
-       ::glVertex2iv((GLint*)coords[1]);
-       ::glTexCoord2iv((GLint*)uvs[2]);
-       ::glVertex2iv((GLint*)coords[2]);
-       ::glTexCoord2iv((GLint*)uvs[3]);
-       ::glVertex2iv((GLint*)coords[3]);
-       ::glEnd();
-}
-
-       void
-GPC_Canvas::
-PushRenderState(
-       CanvasRenderState & render_state
-) {
-#if 0
-
-       ::glMatrixMode(GL_PROJECTION);
-       ::glPushMatrix();
-       ::glMatrixMode(GL_MODELVIEW);
-       ::glPushMatrix();
-       ::glMatrixMode(GL_TEXTURE);
-       ::glPushMatrix();
-       // Save old OpenGL settings
-       ::glGetIntegerv(GL_LIGHTING, (GLint*)&(render_state.oldLighting));
-       ::glGetIntegerv(GL_DEPTH_TEST, (GLint*)&(render_state.oldDepthTest));
-       ::glGetIntegerv(GL_FOG, (GLint*)&(render_state.oldFog));
-       ::glGetIntegerv(GL_TEXTURE_2D, (GLint*)&(render_state.oldTexture2D));
-       ::glGetIntegerv(GL_BLEND, (GLint*)&(render_state.oldBlend));
-       ::glGetIntegerv(GL_BLEND_SRC, (GLint*)&(render_state.oldBlendSrc));
-       ::glGetIntegerv(GL_BLEND_DST, (GLint*)&(render_state.oldBlendDst));
-       ::glGetFloatv(GL_CURRENT_COLOR, render_state.oldColor);
-       ::glGetIntegerv(GL_DEPTH_WRITEMASK,(GLint*)&(render_state.oldWriteMask));
-#else
-
-       glPushAttrib(GL_ALL_ATTRIB_BITS);
-
-#endif
-}
-
-       void
-GPC_Canvas::
-PopRenderState(
-       const CanvasRenderState & render_state
-) {
-#if 0
-       // Restore OpenGL settings
-       render_state.oldLighting ? ::glEnable(GL_LIGHTING) : glDisable(GL_LIGHTING);
-       render_state.oldDepthTest ? ::glEnable(GL_DEPTH_TEST) : glDisable(GL_DEPTH_TEST);
-       render_state.oldFog ? ::glEnable(GL_FOG) : ::glDisable(GL_FOG);
-       render_state.oldTexture2D ? ::glEnable(GL_TEXTURE_2D) : glDisable(GL_TEXTURE_2D);
-       render_state.oldBlend ? glEnable(GL_BLEND) : ::glDisable(GL_BLEND);
-       ::glBlendFunc((GLenum)render_state.oldBlendSrc, (GLenum)render_state.oldBlendDst);
-       render_state.oldWriteMask ? ::glEnable(GL_DEPTH_WRITEMASK) : glDisable(GL_DEPTH_WRITEMASK);
-
-       ::glColor4fv(render_state.oldColor);
-       // Restore OpenGL matrices
-       ::glMatrixMode(GL_TEXTURE);
-       ::glPopMatrix();
-       ::glMatrixMode(GL_PROJECTION);
-       ::glPopMatrix();
-       ::glMatrixMode(GL_MODELVIEW);
-       ::glPopMatrix();
-
-#else
-
-       glPopAttrib();
-#endif
-}
-
-       void
-GPC_Canvas::
-SetOrthoProjection(
-) {
-       // Set up OpenGL matrices 
-       ::glViewport(0, 0, m_width, m_height);
-       ::glScissor(0, 0, m_width, m_height);
-       ::glMatrixMode(GL_PROJECTION);
-       ::glLoadIdentity();
-       ::glOrtho(0, m_width, 0, m_height, -1, 1);
-       ::glMatrixMode(GL_MODELVIEW);
-       ::glLoadIdentity();
-       ::glMatrixMode(GL_TEXTURE);
-       ::glLoadIdentity();
-}
-
        void
 GPC_Canvas::
 MakeScreenShot(
index 07f96166ec2dea0508f1a10353c5b55a19e805b4..bd50066a212962cca0a3337bf5d24cdaf65d3640 100644 (file)
 
 class GPC_Canvas : public RAS_ICanvas
 {
-public:
-       /**
-        * Used to position banners in the canvas.
-        */
-       typedef enum {
-               alignTopLeft,
-               alignBottomRight
-       } TBannerAlignment;
-
-       typedef int TBannerId;
-
 protected:
-       /** 
-        * Used to store info for banners drawn on top of the canvas.
-        */
-       typedef struct {
-               /** Where the banner will be displayed. */
-               TBannerAlignment alignment;
-               /** Banner display enabled. */
-               bool enabled;
-               /** Banner display width. */
-               unsigned int displayWidth;
-               /** Banner display height. */
-               unsigned int displayHeight;
-               /** Banner image width. */
-               unsigned int imageWidth;
-               /** Banner image height. */
-               unsigned int imageHeight;
-               /** Banner image data. */
-               unsigned char* imageData;
-               /** Banner OpenGL texture name. */
-               unsigned int textureName;
-       } TBannerData;
-       typedef std::map<TBannerId, TBannerData> TBannerMap;
 
        /** Width of the context. */
        int m_width;
@@ -92,11 +59,6 @@ protected:
 
        int m_viewport[4];
 
-       /** Storage for the banners to display. */
-       TBannerMap m_banners;
-       /** State of banner display. */
-       bool m_bannersEnabled;
-
 public:
 
        GPC_Canvas(int width, int height);
@@ -152,7 +114,7 @@ public:
         */
                void 
        EndFrame(
-       );
+       ) {};
        
        void SetViewPort(int x1, int y1, int x2, int y2);
        void UpdateViewPort(int x1, int y1, int x2, int y2);
@@ -178,100 +140,6 @@ public:
        virtual void MakeScreenShot(const char* filename);
 
        void ClearBuffer(int type);
-
-       /**
-        * \section Services provided by this class.
-        */
-
-       /**
-        * Enables display of a banner.
-        * The image data is copied inside.
-        * \param bannerWidth           Display width of the banner.
-        * \param bannerHeight          Display height of the banner.
-        * \param imageWidth            Width of the banner image in pixels.
-        * \param imageHeight           Height of the banner image in pixels.
-        * \param imageData                     Pointer to the pixels of the image to display.
-        * \param alignment             Where the banner will be positioned on the canvas.
-        * \param enabled                       Whether the banner will be displayed initially.
-        * \return A banner id.
-        */
-       TBannerId AddBanner(
-               unsigned int bannerWidth, unsigned int bannerHeight,
-               unsigned int imageWidth, unsigned int imageHeight,
-               unsigned char* imageData, TBannerAlignment alignment = alignTopLeft, 
-               bool enabled = true);
-
-       /**
-        * Disposes a banner.
-        * \param id Banner to be disposed.
-        */
-       void DisposeBanner(TBannerId id);
-
-       /**
-        * Disposes all the banners.
-        */
-       void DisposeAllBanners();
-
-       /**
-        * Enables or disables display of a banner.
-        * \param id            Banner id of the banner to be enabled/disabled.
-        * \param enabled       New state of the banner.
-        */
-       void SetBannerEnabled(TBannerId id, bool enabled = true);
-
-       /**
-        * Enables or disables display of all banners.
-        * \param enabled       New state of the banners.
-        */
-       void SetBannerDisplayEnabled(bool enabled = true);
-
-protected:
-       /**
-        * Disposes a banner.
-        * \param it Banner to be disposed.
-        */
-       void DisposeBanner(TBannerData& banner);
-
-       /**
-        * Draws all the banners enabled.
-        */
-       void DrawAllBanners(void);
-
-       /**
-        * Draws a banner.
-        */
-       void DrawBanner(TBannerData& banner);
-
-       struct CanvasRenderState {
-               int oldLighting;
-               int oldDepthTest;
-               int oldFog;
-               int oldTexture2D;
-               int oldBlend;
-               int oldBlendSrc;
-               int oldBlendDst;
-               float oldColor[4];
-               int oldWriteMask;
-       };
-
-               void
-       PushRenderState(
-               CanvasRenderState & render_state
-       );
-               void
-       PopRenderState(
-               const CanvasRenderState & render_state
-       );
-
-       /** 
-        * Set up an orthogonal viewing,model and texture matrix
-        * for banners and progress bars.
-        */
-               void
-       SetOrthoProjection(
-       );
-       
-       static TBannerId s_bannerId;
 };
 
 #endif  /* __GPC_CANVAS_H__ */
diff --git a/source/gameengine/GamePlayer/common/GPC_Engine.cpp b/source/gameengine/GamePlayer/common/GPC_Engine.cpp
deleted file mode 100644 (file)
index 1a90fb8..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file gameengine/GamePlayer/common/GPC_Engine.cpp
- *  \ingroup player
- */
-
-
-#ifdef WIN32
-       #pragma warning (disable:4786) // suppress stl-MSVC debug info warning
-#endif // WIN32
-
-#include <iostream>
-
-#include "BKE_blender.h"  // initglobals()
-#include "BKE_global.h"  // Global G
-#include "BKE_report.h"
-#include "DNA_scene_types.h"
-#include "DNA_camera_types.h"  // Camera
-#include "DNA_object_types.h"  // Object
-
-#include "BLO_readfile.h"
-#include "BLI_blenlib.h"
-
-// include files needed by "KX_BlenderSceneConverter.h"
-
-#include "CTR_Map.h"
-#include "SCA_IActuator.h"
-#include "RAS_MeshObject.h"
-
-#include "KX_BlenderSceneConverter.h"
-#include "KX_KetsjiEngine.h"
-#include "NG_LoopBackNetworkDeviceInterface.h"
-
-#include "RAS_IRenderTools.h"
-
-#include "GPC_Engine.h"
-#include "GPC_KeyboardDevice.h"
-#include "GPC_MouseDevice.h"
-#include "GPC_RawImage.h"
-#include "GPC_RawLoadDotBlendArray.h"
-
-
-
-GPC_Engine::GPC_Engine(char *customLoadingAnimationURL,
-               int foregroundColor, int backgroundColor, int frameRate) :
-               m_initialized(false), m_running(false), m_loading(false),
-               m_customLoadingAnimation(false), m_previousProgress(0.0),
-               m_system(NULL), m_keyboarddev(NULL),
-               m_mousedev(NULL), m_canvas(NULL), m_rendertools(NULL),
-               m_portal(NULL), m_sceneconverter(NULL), m_networkdev(NULL),
-               m_curarea(NULL), m_customLoadingAnimationURL(NULL),
-               m_foregroundColor(foregroundColor), m_backgroundColor(backgroundColor),
-               m_frameRate(frameRate),
-               m_BlenderLogo(0), m_Blender3DLogo(0)/*, m_NaNLogo(0)*/
-{
-       if (customLoadingAnimationURL[0] != '\0')
-       {
-               m_customLoadingAnimationURL = new char[sizeof(customLoadingAnimationURL)];
-// not yet, need to be implemented first...            m_customLoadingAnimation = true;
-       }
-
-       // load the Blender logo into memory
-       m_BlenderLogo = new GPC_RawImage();
-       // blender3d size is 115 x 32 so make resulting texture 128 x 128
-       if (!m_BlenderLogo->Load("BlenderLogo", 128, 128, GPC_RawImage::alignTopLeft, 8, 8))
-               m_BlenderLogo = 0;
-
-       // load the Blender3D logo into memory
-       m_Blender3DLogo = new GPC_RawImage();
-       // blender3d size is 136 x 11 so make resulting texture 256 x 256
-       if (!m_Blender3DLogo->Load("Blender3DLogo", 256, 256, GPC_RawImage::alignBottomRight, 8, 8))
-               m_Blender3DLogo = 0;
-
-#if 0
-       // obsolete logo
-       // load the NaN logo into memory
-       m_NaNLogo = new GPC_RawImage();
-       // blender3d size is 32 x 31 so make resulting texture 64 x 64
-       if (!m_NaNLogo->Load("NaNLogo", 64, 64, GPC_RawImage::alignBottomRight, 8, 8))
-               m_NaNLogo = 0;
-#endif
-}
-
-
-GPC_Engine::~GPC_Engine()
-{
-       // deleting everything in reverse order of creation
-#if 0
-// hmm deleted in Stop()       delete m_portal;
-// hmm deleted in Stop()       delete m_sceneconverter;
-       delete m_system;
-       delete m_networkdev;
-       delete m_rendertools;
-       delete m_canvas;
-       delete m_mousedev;
-       delete m_keyboarddev;
-// not yet used so be careful and not delete them
-//     delete m_WaveCache;
-//     delete m_curarea;  // for future use, not used yet
-#endif
-       delete m_BlenderLogo;
-       delete m_Blender3DLogo;
-#if 0
-       delete m_NaNLogo;
-#endif
-}
-
-
-bool GPC_Engine::Start(const char *filename)
-{
-       ReportList reports;
-       BlendFileData *bfd;
-       
-       BKE_reports_init(&reports, RPT_STORE);
-       bfd= BLO_read_from_file(filename, &reports);
-       BKE_reports_clear(&reports);
-
-       if (!bfd) {
-                       // XXX, deal with error here
-               cout << "Unable to load: " << filename << endl;
-               return false;
-       }
-
-       StartKetsji();
-
-       if (bfd->type == BLENFILETYPE_PUB)
-               m_canvas->SetBannerDisplayEnabled(false);
-
-       return true;
-}
-
-
-bool GPC_Engine::Start(const void *blenderDataBuffer,
-                       unsigned int blenderDataBufferSize)
-{
-       ReportList reports;
-       BlendFileData *bfd;
-       
-       BKE_reports_init(&reports, RPT_STORE);
-       bfd = BLO_read_from_memory(blenderDataBuffer, blenderDataBufferSize, &reports);
-       BKE_reports_clear(&reports);
-
-       if (!bfd) {
-                       // XXX, deal with error here
-               cout << "Unable to load. " << endl;
-               return false;
-       }
-       
-       StartKetsji();
-
-       if (bfd->type == BLENFILETYPE_PUB)
-               m_canvas->SetBannerDisplayEnabled(false);
-
-       return true;
-}
-
-
-bool GPC_Engine::StartKetsji(void)
-{
-       STR_String startSceneName = ""; // XXX scene->id.name + 2;
-/*
-       KX_KetsjiEngine* ketsjieng = new KX_KetsjiEngine(m_system);
-       m_portal = new KetsjiPortal(ketsjieng);
-       m_portal->setSecurity(psl_Highest);
-               
-       KX_ISceneConverter *sceneconverter = new KX_BlenderSceneConverter(&G, ketsjieng);
-               
-       m_portal->Enter(
-                       startSceneName,
-                       sceneconverter,
-                       m_canvas,
-                       m_rendertools,
-                       m_keyboarddev,
-                       m_mousedev,
-                       m_networkdev,
-                       m_system);
-
-       m_system->SetMainLoop(m_portal->m_ketsjieng);
-
-       m_running = true;
-       */
-       return true;
-}
-
-
-void GPC_Engine::StartLoadingAnimation()
-{
-       if (m_customLoadingAnimation)
-       {
-       }
-       else
-       {
-               unsigned char *blenderDataBuffer;
-               int blenderDataBufferSize;
-               GetRawLoadingAnimation(&blenderDataBuffer, &blenderDataBufferSize);
-               if (!Start(blenderDataBuffer, blenderDataBufferSize))
-                       cout << "something went wrong when starting the engine" << endl;
-               delete blenderDataBuffer;  // created with 'new' in GetRawLoadingAnimation()
-       }
-}
-
-       
-// will be platform dependent
-float GPC_Engine::DetermineProgress(void)
-{
-#if 0
-       float progress;
-       if ((m_blenderData.m_ulProgress > 0) &&
-                       (m_blenderData.m_ulProgressMax != m_blenderData.m_ulProgress)) {
-               progress = (float)m_blenderData.m_ulProgress;
-               progress /= (float)m_blenderData.m_ulProgressMax;
-       }
-       else {
-               progress = 0.f;
-       }
-       progress *= 100.f;
-       return (unsigned int) progress;
-#endif
-       return m_previousProgress + 0.01;  // temporary TODO
-}
-
-       
-void GPC_Engine::UpdateLoadingAnimation(void)
-{
-       //int delta;
-
-       float progress = DetermineProgress();
-
-       if (progress > m_previousProgress)
-       {
-//             delta = progress - m_previousProgress;
-               m_previousProgress = progress;
-               if (m_previousProgress > 1.0)
-                       m_previousProgress = 1.0;  // limit to 1.0 (has to change !)
-//                     m_engine->m_previousProgress = 0.0;
-       }
-
-       STR_String to = "";
-       STR_String from = "";
-       STR_String subject = "progress";
-       STR_String body;
-       body.Format("%f", progress);  // a number between 0.0 and 1.0
-
-       if (m_networkdev)
-       {
-               // Store a progress message in the network device.
-               NG_NetworkMessage* msg = new NG_NetworkMessage(to, from, subject, body);
-               m_networkdev->SendNetworkMessage(msg);
-               msg->Release();
-       }
-}
-
-
-void GPC_Engine::Stop()
-{
-       // only delete things that are created in StartKetsji()
-/*     if (m_portal)
-       {
-               m_portal->Leave();
-               delete m_portal;  // also gets rid of KX_KetsjiEngine (says Maarten)
-               m_portal = 0;
-       }
-*/     if (m_sceneconverter)
-       {
-               delete m_sceneconverter;
-               m_sceneconverter = 0;
-       }
-#if 0
-       if (m_frameTimerID)
-       {
-               ::KillTimer(0, m_frameTimerID);
-               m_frameTimerID = 0;
-       }
-       m_engineRunning = false;
-#endif
-
-       m_running = false;
-}
-
-
-void GPC_Engine::Exit()
-{
-       if (m_running)
-               Stop();
-
-       if (m_system) {
-               delete m_system;
-               m_system = 0;
-       }
-       if (m_keyboarddev) {
-               delete m_keyboarddev;
-               m_keyboarddev = 0;
-       }
-       if (m_mousedev) {
-               delete m_mousedev;
-               m_mousedev = 0;
-       }
-       if (m_canvas) {
-               delete m_canvas;
-               m_canvas = 0;
-       }
-       if (m_rendertools) {
-               delete m_rendertools;
-               m_rendertools = 0;
-       }
-       if (m_networkdev) {
-               delete m_networkdev;
-               m_networkdev = 0;
-       }
-
-       m_initialized = false;
-}
-
diff --git a/source/gameengine/GamePlayer/common/GPC_Engine.h b/source/gameengine/GamePlayer/common/GPC_Engine.h
deleted file mode 100644 (file)
index 3a4fd9c..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file GPC_Engine.h
- *  \ingroup player
- */
-
-#ifndef __GPC_ENGINE_H__
-#define __GPC_ENGINE_H__
-
-#include "GPC_Canvas.h"
-#include "GPC_System.h"
-
-class GPC_KeyboardDevice;
-class GPC_MouseDevice;
-
-class RAS_IRenderTools;
-class KetsjiPortal;
-class KX_ISceneConverter;
-class NG_LoopBackNetworkDeviceInterface;
-class GPC_RawImage;
-
-
-class GPC_Engine
-{
-//protected:
-public:
-       /** Engine construction state. */
-       bool m_initialized;
-       /** Engine state. */
-       bool m_running;
-       /** loading state, ie a file is requested and is being loaded. Different
-        *  from initialized and/or running */
-       bool m_loading;
-
-       bool m_customLoadingAnimation;
-
-       /** Last file download progress measurement. */
-       float m_previousProgress;
-
-       /** The game engine's system abstraction. */
-       GPC_System* m_system;
-       /** The game engine's keyboard abstraction. */
-       GPC_KeyboardDevice* m_keyboarddev;
-       /** The game engine's mouse abstraction. */
-       GPC_MouseDevice* m_mousedev;
-       /** The game engine's canvas abstraction. */
-       GPC_Canvas* m_canvas;
-       /** The game engine's platform dependent render tools. */
-       RAS_IRenderTools* m_rendertools;
-       /** The portal used to start the engine. */
-       KetsjiPortal* m_portal;
-       /** Converts Blender data files. */
-       KX_ISceneConverter* m_sceneconverter;
-       /** Network interface. */
-       NG_LoopBackNetworkDeviceInterface* m_networkdev;
-       
-       struct ScrArea *m_curarea;  // for future use, not used yet
-
-       char *m_customLoadingAnimationURL;
-       int m_foregroundColor;
-       int m_backgroundColor;
-       int m_frameRate;
-
-       GPC_RawImage *m_BlenderLogo;
-       GPC_Canvas::TBannerId m_BlenderLogoId;
-       GPC_RawImage *m_Blender3DLogo;
-       GPC_Canvas::TBannerId m_Blender3DLogoId;
-#if 0
-       GPC_RawImage *m_NaNLogo;
-       GPC_Canvas::TBannerId m_NaNLogoId;
-#endif
-
-public:
-       GPC_Engine(char *customLoadingAnimation,
-                       int foregroundColor, int backgroundColor, int frameRate);
-       virtual ~GPC_Engine();
-       // Initialize() functions are not put here since they have
-       // different prototypes for Unix and Windows
-       void StartLoadingAnimation();
-       bool Start(const char *filename);  // file-on-disk starter
-       bool Start(const void *blenderDataBuffer,
-                  unsigned int blenderDataBufferSize);  // file-in-memory starter
-
-       void Stop();
-       virtual void Exit();
-
-       bool Initialized(void) {return m_initialized;}
-       bool Loading(void) {return m_loading;}
-       bool Running(void) const {return m_running;}
-
-       virtual float DetermineProgress(void);  // will be platform dependent
-       void UpdateLoadingAnimation(void);
-
-private:
-       bool StartKetsji(void);
-
-};
-
-#endif  /* __GPC_ENGINE_H__ */
diff --git a/source/gameengine/GamePlayer/common/GPC_RawImage.cpp b/source/gameengine/GamePlayer/common/GPC_RawImage.cpp
deleted file mode 100644 (file)
index 0e2585b..0000000
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file gameengine/GamePlayer/common/GPC_RawImage.cpp
- *  \ingroup player
- */
-
-#include <iostream>
-#include <string.h>
-
-#include "GPC_RawImage.h"
-#include "GPC_RawLogoArrays.h"
-
-
-GPC_RawImage::GPC_RawImage()
-               : m_data(0), m_dataSize(0), m_width(0), m_height(0)
-{
-}
-
-
-bool GPC_RawImage::Load(
-               const char *srcName,
-               int destWidth, int destHeight,
-               TImageAlignment alignment, int offsetX, int offsetY)
-{
-       int srcWidth, srcHeight;
-       bool success = true;
-       if (strcmp(srcName, "BlenderLogo") == 0)
-               GetRawBlenderLogo(&m_data, &srcWidth, &srcHeight);
-       else
-               if (strcmp(srcName, "Blender3DLogo") == 0)
-                       GetRawBlender3DLogo(&m_data, &srcWidth, &srcHeight);
-#if 0
-       else
-               if (strcmp(srcName, "NaNLogo") == 0)
-                       GetRawNaNLogo(&m_data, &srcWidth, &srcHeight);
-#endif
-               else  // unknown image
-                       success = false;
-
-       if (success)
-       {
-               unsigned char *tempData = m_data;
-
-               int numBytes = destWidth * destHeight * 4;
-               m_data = new unsigned char[numBytes];  // re-use m_data ('unsigned char' was 'char')
-               if (m_data)
-               {
-                       ::memset(m_data, 0x00000000, numBytes);
-                       m_width = destWidth;
-                       m_height = destHeight;
-
-                       int srcBytesWidth = srcWidth * 4;
-                       int dstBytesWidth = m_width * 4;
-                       int numRows = (srcHeight + offsetY) < m_height ? srcHeight : m_height - offsetY;
-                       numBytes = (srcWidth + offsetX) < m_width ? srcBytesWidth : (m_width - offsetX) * 4;
-
-                       if ((offsetX < m_width) && (offsetY < m_height))
-                       {
-                               unsigned char* src = (unsigned char*)tempData;
-                               unsigned char* dst = (unsigned char*)m_data;
-                               if (alignment == alignTopLeft)
-                               {
-                                       // Put original in upper left corner
-
-                                       // Add vertical offset
-                                       dst += offsetY * dstBytesWidth;
-                                       // Add horizontal offset
-                                       dst += offsetX * 4;
-                                       for (int row = 0; row < numRows; row++)
-                                       {
-                                               ::memcpy(dst, src, numBytes);
-                                               src += srcBytesWidth;
-                                               dst += dstBytesWidth;
-                                       }
-                               }
-                               else
-                               {
-                                       // Put original in lower right corner
-
-                                       // Add vertical offset
-                                       dst += (m_height - (srcHeight + offsetY)) * dstBytesWidth;
-                                       // Add horizontal offset
-                                       if (m_width > (srcWidth + offsetX)) {
-                                               dst += (m_width - (srcWidth + offsetX)) * 4;
-                                       }
-                                       else {
-                                               src += (srcWidth + offsetX - m_width) * 4;
-                                       }
-                                       for (int row = 0; row < numRows; row++) {
-                                               ::memcpy(dst, src, numBytes);
-                                               src += srcBytesWidth;
-                                               dst += dstBytesWidth;
-                                       }
-                               }
-                       }
-// doesn't compile under Linux                 delete [] tempData;
-                       delete tempData;
-               }
-               else {
-                       // Allocation failed, restore old data
-                       m_data = tempData;
-                       success = false;
-               }
-       }
-       
-       return success;
-}
-
diff --git a/source/gameengine/GamePlayer/common/GPC_RawImage.h b/source/gameengine/GamePlayer/common/GPC_RawImage.h
deleted file mode 100644 (file)
index afff594..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file GPC_RawImage.h
- *  \ingroup player
- */
-
-#ifndef __GPC_RAWIMAGE_H__
-#define __GPC_RAWIMAGE_H__
-
-/**
- * This memory resource reads images from the application resources.
- * Images are expected to be stored as raw RGBA bytes.
- * You can generate these images by exporting images with an alpha 
- * channel from Photoshop in RAW format with interleaved channels.
- */
-
-class GPC_RawImage
-{
-public:
-       GPC_RawImage();
-
-       typedef enum {
-               alignTopLeft,
-               alignBottomRight
-       } TImageAlignment;
-
-       /**
-        * Loads the image form the resource into memory.
-        * Converts size of the image and places it with given alignment.
-        * \param hInstApp      The application's instance (location of the resources).
-        * \param lpName        Name of the resource.
-        * \param lpType        Type of the resource.
-        * \param srcWidth      The width of the resource image.
-        * \param srcHeight     The height of the resource image.
-        * \param width         The width of the image created.
-        * \param height        The height of the image created.
-        * \param alignment How the resource image is located in the image created.
-        * \param offsetX       Amount of horizontal offset applied to the resource image.
-        * \param offsetY       Amount of vertical offset applied to the resource image.
-        */
-       virtual bool Load(const char *srcName,
-               int destWidth, int destHeight,
-               TImageAlignment alignment = alignTopLeft,
-               int offsetX = 0, int offsetY = 0);
-
-       /**
-        * Returns the width of the image.
-        * \return The width of the image.
-        */
-       virtual int Width() const
-       {
-               return m_width;
-       }
-
-       /**
-        * Returns the height of the image.
-        * \return The height of the image.
-        */
-       virtual int Height() const
-       {
-               return m_height;
-       }
-
-       /**
-        * Returns a pointer to the data loaded from the resource.
-        * \return A pointer to the data loaded from the resource.
-        */
-       virtual unsigned char *Data() const
-       {
-               return m_data;
-       }
-
-       /**
-        * Returns the size of the data loaded from the resource.
-        * \return The size of the  loaded from the resource.
-        */
-       virtual int DataSize() const
-       {
-               return m_dataSize;
-       }
-
-protected:
-       /**
-        * Disposes the data stored at the m_data member.
-        */
-//     virtual void disposeData(void);
-
-protected:
-       unsigned char *m_data;
-       int m_dataSize;
-       int m_width;
-       int m_height;
-};
-
-#endif  /* __GPC_RAWIMAGE_H__ */
diff --git a/source/gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.cpp b/source/gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.cpp
deleted file mode 100644 (file)
index c4022d6..0000000
+++ /dev/null
@@ -1,9311 +0,0 @@
-/*
- * ***** BEGIN GPL LICENSE BLOCK *****
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * The Original Code is Copyright (C) 2001-2002 by NaN Holding BV.
- * All rights reserved.
- *
- * The Original Code is: all of this file.
- *
- * Contributor(s): none yet.
- *
- * ***** END GPL LICENSE BLOCK *****
- */
-
-/** \file gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.cpp
- *  \ingroup player
- */
-
-
-// This file is automatically generated. Do not edit by hand!
-
-#include "GPC_RawLoadDotBlendArray.h"
-
-void GetRawLoadingAnimation(unsigned char **data, int *dataSize)
-{
-       // create an array that will automatically be deleted when)
-       // we're outta this scope
-       static unsigned char load_blend[] = {
-                66,  76,  69,  78,  68,  70,
-                73,  10,   0,   2,  21,   0,   0,   2,  22,   0,   0,   0,   0,   0,   0, 
-                 2,  30,  49,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0,   0, 
-                65,  25, 242,   2,   0,   2,  29, 253,   0,   0,   0,   4, 160, 249, 227, 
-                 5,  65,  25, 242,   2,   0,   2,  29, 237,   0,   0,   0,  10,  39, 161, 
-                89, 128,  65, 248,  18,   0,   0,   2,  28, 205, 179,  76, 248,  13,   9, 
-                10, 156, 188,  58, 101,  43, 138,  63, 142, 132, 111, 231, 106,  44,  72, 
-               171, 116, 148, 204, 204, 104, 121,  88, 224,  36, 141, 195, 251, 160, 141, 
-               162,  12, 177,  93, 203, 236,  68, 235,   2, 137,  27,  34,  49,  52,  25, 
-                83,  60, 100, 208,  12, 234, 185, 206,  97,   0, 109, 170, 238, 253,  66, 
-                 0,  68,   0,   0, 236, 253, 127,   0, 246,  18,   0,  82,   0,   0,   0, 
-                42, 247,  18,   0,   0,   0,   0,   0,   0,   0,   0,   0,  66,   0,   0, 
-                 0,   0,   0,   0,   0,  36,   0,   2,   0,   0, 236, 253, 127,   0, 224, 
-               253, 127,   0, 224, 253, 127,  72, 249,  18,   0, 219, 128, 251, 119, 104, 
-                78, 249, 119, 255, 255, 255, 255,   0,   0,   0,  64, 111, 122, 152, 187, 
-               158, 149,  34, 236, 158, 103, 110,  35, 246,  67, 137, 177,  29,  56,  22, 
-               101,  64, 134, 124,  38, 155, 203, 128, 162,   3, 184,  27, 114,  80,  94, 
-               145, 136,  82, 121,  92,   7, 241, 119, 134,  12, 246, 193, 229,  95, 180, 
-                47, 135, 212, 231,  14,  59, 120, 218,  79, 151, 205, 221, 116,  27, 122, 
-                92,   0,  68,   0, 111,   0,  99,   0, 117,   0, 109,   0, 101,   0, 110, 
-                 0, 116,   0, 115,   0,  82, 145, 252, 119, 255, 255, 255, 255,  60, 247, 
-                18,   0,   0,   0,   0,   0,  92, 247,  18,   0,   0,  16,   0,   0,   4, 
-                 0,   0,   0,   0,   0, 242,   2,   0,   0, 242,   2,  32, 110, 172,   7, 
-                 3, 239,   0,   0,   0,   0, 162,   7,   0,   0,   0,  64, 149, 244, 255, 
-               174,  70, 126, 180, 169,  78,  97,  78,  32,  67, 111, 110, 116, 101, 110, 
-               116,  32,  84, 101,  97, 109,   0, 247,  18,   0,   0,  16,   0,   0,   4, 
-                 0,   0,   0,   0,   0, 242,   2,   0,   0, 242,   2,  80,  33,  90,   7, 
-                 2,  32,   0,   0,   0,   0,  72,   7,  82, 145, 252, 119, 255, 255, 255, 
-               255, 168, 247,  18,   0,   0,   0,   0,   0, 200, 247,  18,   0,   0,  16, 
-                 0,   0,   4,   0,   0,   0,   0,   0, 242,   2,   0,   0, 242,   2,  64, 
-                33,  88,   7,   2,  67,   0,   0,   0,   0,  72,   7, 216,  69,   0,   2, 
-                99, 111, 110, 116, 101, 110, 116,  99, 114, 101,  97, 116, 105, 111, 110, 
-                64,  98, 108, 101, 110, 100, 101, 114,  46, 110, 108,   0,   2,  81,  67, 
-                 0,   0,   0,   0,   0,   0,  64,   0,   0,   0, 216,  69,   0,   0,   0, 
-                 0,  72,   7, 116, 249,  18,   0, 127, 164, 252, 119,   0,   0, 242,   2, 
-               103, 154, 252, 119,   0,   0,   0,   0, 128,  26,   2,   0, 112, 112, 247, 
-                 2,  12, 155, 252, 119, 255, 255, 255, 255,  40, 248,  18,   0,   0,   0, 
-                 0,   0, 124, 249,  18,   0,   0,  16,   0,   0,   0, 236, 179,   7, 120, 
-                 1, 242,   2,  48,  62,   8,   0, 184, 250,  18,   0,   0,   0,  72,   7, 
-                 0, 112, 166,   7,   0,   0, 242,   2,  80,   0, 242,   2,  80,   0, 242, 
-                 2,   0,   0, 226,   7,   0,  16, 162,   7,   0, 240,   5,   0, 248,   3, 
-               242,   2, 248,   3, 242,   2,  10,   0,   0,   0,   1,   0,   0,   0, 248, 
-                 3, 242,   2, 120,   1, 242,   2, 112, 236, 179,   7, 120,   1, 242,   2, 
-               120,   1, 242,   2, 104, 236, 179,   7,   0,  16,   0,   0,   4,   0,   0, 
-                 0,   0,   0, 242,   2,   0,   0, 242,   2,  64,   0, 162,   7,   3, 239, 
-                 0,   0,   0,   0, 162,   7, 112, 236, 179,   7,  96, 157,  12,   3, 112, 
-               236, 179,   7, 120,   1, 242,   2, 104, 236, 179,   7,  18,   0,   0,   0, 
-               168, 248,  18,   0, 166, 166, 252, 119,   0,   0,  72,   7,   0,  48,  84, 
-                 7,  64,  27,  84,   7,   0,   0, 242,   2, 236, 248,  18,   0, 176, 160, 
-               252, 119,   0,   0,  72,   7,   0,  32,  84,   7,   0,  16,   0,   0,   0, 
-                 0, 242,   2,  64,  27,  84,   7,   1,   0,   0,   0, 136,   4,   0,   0, 
-                 0,  27,  84,   7, 144,   1, 161,   7,   0,   0,   0,   0,   0,   0,   0, 
-                 0, 145,   0,   0,   0, 145,   0,   0,   0, 152,   0,   0,   0,   0,   0, 
-                72,   7, 144, 249,  18,   0,   9, 151, 252, 119,   0,  32,  84,   7,   0, 
-                16,   0,   0, 143, 157, 252, 119,  86, 250,  18,   0,  72,  27,  84,   7, 
-                32,   0, 226,   7,   8,   0,   0,   0, 193,   0,   0,   0,  25,   0,   0, 
-                 0,   0,   0, 242,   2, 135,   2,   0,   0, 112, 236, 179,   7,  64,  33, 
-                88,   7,  19,   0,   0,   0,   0, 249,  18,   0,   0,  67,   0,   0,  72, 
-                27,  84,   7,   0,   0,   0,   0,   0,   0,   0,   0, 200,  59,  90,   7, 
-                 0,   0,   0,   0,  63,   0,   0,   0,  72,  33,  88,   7, 128,  26,   2, 
-                 0, 112, 112, 247,   2,   0,   0,   0,   0,  16,   0,   0,   0, 224, 249, 
-                18,   0, 255, 255, 223, 255,  32,   0,   0,   0, 252,  24, 242,   2, 144, 
-                 0,   0,   0,   8,   0,   0,   0,  77,  26,   2,   0,   1, 120,  64,   0, 
-                80,   6, 242,   2, 109,  26, 228,   7, 210, 119,  64,   0,  16,   0,   0, 
-                 0, 191, 119,  64,   0,  65,  97, 108,  46,   0,   2,  26, 101,   0,   0, 
-                 0,   6,  77, 194, 164,  27,  66, 114, 105,   0,   0,   2,  26,  77,   0, 
-                 7, 126,  76,   0,   0,   0,   1, 121, 216,  88,  60,   9,  46, 197, 144, 
-               120, 249, 120,  38,   9,  47, 236, 125,   7, 120,  19,  71, 211, 240, 158, 
-               108, 176,   1,   3, 162, 155,  46, 211, 171, 113, 161, 186, 232, 132,  49, 
-                29, 131, 232, 132,  18, 100, 192,  96,  83, 140, 177,  77,  77, 192, 162, 
-               147,  64, 192,   9, 189,  37,  14,  16,   8,   9, 197,  96, 211, 193,  18, 
-                37, 116, 136, 147,  80,   2, 164, 152, 150,   0, 129, 196, 132,  22, 170, 
-               254, 153, 211, 173, 180,  42, 167, 147,  49, 223, 251, 230, 251, 126, 204, 
-               115, 104, 110, 119, 102, 118, 118, 119, 118, 102, 118, 111, 116, 106,  25, 
-                61, 210, 159, 120,  77,   9,  35, 132,  40, 178, 238, 111, 237,  30, 209, 
-               169, 117, 231, 200, 214, 221,   6, 142,  11,  10,  10, 234,   6, 160,  10, 
-                42, 110,  60,  43,  73, 240, 143, 131,  43,  24, 174, 182, 112, 141, 138, 
-               142, 139,  39,  78, 254, 186, 119,  35, 100,   8, 124, 166, 206, 138, 247, 
-               106,  43, 210,  56, 226,  36,  13,  78, 140, 137, 113, 160, 167, 184,  26, 
-               160, 205, 158,  22, 239, 165, 135,  43, 125,  85, 188,  87, 218, 202, 120, 
-                47, 213,  23, 112, 191,  35, 222, 139,  16, 147,  39,  92,  30, 164,   0, 
-               241,  84, 136,  20,  28, 241,  38, 145,  45, 123, 180,  44,  45, 210, 182, 
-                19, 121, 229, 206,  68, 124, 219,  63, 138, 135, 117,  20,  47,  13,  96, 
-               164,  19,  81,  60,  89, 188,  52,   6,  79,  11, 176, 133, 103,   1,  91, 
-                60,  45, 131,  71,   0,  78, 179, 226, 217, 180,  75,  24, 188, 244,  25, 
-               241,  94,  90, 171, 140,  28, 139, 135, 117,  20,  79,   7,  48, 177, 242, 
-               179, 193, 211,  49, 120,  74, 128, 145, 206, 204, 238, 150,   7, 139, 167, 
-               100, 240, 140, 211, 227, 189, 116,  20, 175, 128,  45,  30, 214,  81, 188, 
-                 4, 128, 149,  34, 158,  81,  97, 219, 110,   2, 131, 167,   2,  24, 233, 
-               204, 120, 182, 252,  84,  12,  30, 206, 105, 130,   5, 175, 143,  13,  30, 
-               214, 181,  99, 116,  64,  53, 157, 202, 103, 197, 243, 133,  79, 212, 137, 
-               246,  34,  94, 192,  52,  51,  78, 154,  56,  47,  28,  51, 199, 190,  98, 
-                61, 197, 205, 153, 106, 214,  39, 173,  56, 215, 246, 184,  88,  79, 113, 
-                83,   1,  22, 120,  75, 224, 166,  50, 184,  26, 128, 145, 150, 206, 165, 
-                61, 174, 134, 193, 205, 213, 199, 123, 165, 138, 184, 132, 209,  77, 138, 
-               139, 245,  20,  55,  13,  96, 164, 197, 121, 114, 214, 183,  52,   6,  87, 
-                11,  48, 210, 226,  92, 165,  57, 193, 213,  50, 184, 217, 159,   1, 142, 
-               136, 107, 209,   1,   6,  23, 235,  41, 174,  30,  96, 164,  21, 230, 214, 
-               137, 188, 122,   6,  55,   0,  96, 164,  69, 220, 116,  39, 124,   3,  24, 
-               220, 156,  79,  97,  46,  62,  51, 235, 130,  51,  25, 176, 222,  50,  23, 
-                 0,   7, 136, 184,  74,  39, 184, 169,  12, 174,   6,  96, 164,  77,  96, 
-               244, 209, 102,  46,  24, 220, 220, 213,  48,  23, 159, 138, 237,  59,  25, 
-                51, 172, 183, 204,   5, 192,  72, 171, 146, 224, 155, 198, 224, 106,   1, 
-                70,  90, 196,  77, 112, 130, 171, 101, 112,   9, 192,  72, 139, 186, 143, 
-               125, 179, 151, 129,  48, 184, 104,   7, 181,  34, 110, 186,  19,  92, 172, 
-               111, 207, 218,  91,  17,  87, 101,  39, 195,  79,  40,  47, 216, 211,  14, 
-               212,  22,  44,  55, 215,  11, 246, 111, 166,  85, 143, 177,  44, 231, 202, 
-                99, 133, 112, 253, 104, 190, 200, 155, 248,  19, 237, 225,  75, 230, 254, 
-               182, 221, 189,  96, 189,   4,  67,  92, 128,  40, 136, 167,  39,  87, 224, 
-                54, 241, 128, 127,  21,  61, 204, 190,   5, 255,  18, 230,  69, 146, 180, 
-               211,  17,  36, 189, 113,  71,  98,  92,  25,  41,  92, 217,  43, 160, 207, 
-               112,  41, 253, 158,  40, 148,  31,  63,  81,  96, 127, 211,  80, 167, 161, 
-                76,  99, 231, 139,  60,  89, 153, 114,  62, 139,  52,   3,  67,  90, 225, 
-               255, 133,  78, 173, 141,  28,  58, 180, 230,  65, 122, 159, 183,  63,  61, 
-               208, 212, 137,  32, 228,  56, 240, 188, 138, 244, 252, 213,  73, 153,  60, 
-               182, 206,   9, 158, 170,  56,  20, 121,  19, 205, 153, 120,  47, 147, 201, 
-               158, 118,   9,  71, 231,   8, 231, 133, 206, 145, 102, 169, 217,   7,  82, 
-                91, 128, 107, 156, 174, 133, 156, 243,  48,  55, 231, 223, 208, 220,  48, 
-               115, 240, 135,   7,  51,  72, 226, 189, 201, 131, 153,  35,  79, 243,  85, 
-                80, 144, 209, 203, 139,  43, 128, 189, 243, 224,  54,  42, 172, 115,  36, 
-               216, 102, 152, 163, 236,  79, 204, 195, 155,   0, 115, 164,  93,   6, 250, 
-                 5,  87, 118, 201, 103,  10, 188, 176, 191,  26, 232,  36, 150,  69, 216, 
-               205,  81,   1,   6,  46, 139, 113,  67, 203,  94, 173,  85,  61,  90, 118, 
-               107, 219, 210,  86, 220, 193,  33, 253,  35,  71,  15,  30,  59,  42,  38, 
-                62,  57,  73,  21,  29,  63,  68, 213,  61,  38,  57,  57,  46, 126,  88, 
-                82, 255,  68, 184, 139,  30,  57, 178, 127, 100,  76, 210, 136, 228, 209, 
-                 9, 253,   7,  38, 140,  29,  52,  50,  46,  41,  54,  38, 177,  97,  66, 
-                98, 204, 200, 209, 209,  67,  98,  18, 251, 147, 255, 109, 127, 133,  48, 
-                88, 131,  43, 150, 176, 211, 110, 213,  38, 170,  67, 168,  55,  22,  29, 
-                74,   5, 219, 181, 220, 188, 198,  81, 143,  88,  27, 153, 243,  61, 232, 
-                16,  92, 185, 103,  30,  43,  30, 194, 181,  58, 180, 132, 198, 190, 205, 
-               242, 166, 162,  14, 101,  43,  90, 234,  13, 160, 239,   6, 122, 223, 142, 
-               139, 202, 162, 240,   1,  16, 205,   3,  26, 190, 233,  97, 123,  95, 142, 
-               179, 222, 251, 138, 245,  94, 176,  30,  64, 123, 184,  44, 197,  89,   5, 
-               106, 209,  82,  70, 135, 210,  39, 152, 215, 121, 218, 216,  86, 196,   8, 
-                48,  94, 250, 197,  96, 167, 182,  64,  63, 114,  31,  40, 240, 194, 254, 
-               206,   3,  94,  88,  30,  78, 237, 240,  34, 115, 223, 204, 205, 233, 121, 
-                39, 235, 212,  85, 153,  30, 175, 139, 133, 159,  25, 205, 101, 121, 166, 
-                23, 254, 128,  94, 131, 101, 175,  59, 158,  15, 170,  61, 212,  32, 143, 
-               157, 159,  93,  85, 219, 227,  54,  56, 242, 155,  67, 153, 177,  74, 165, 
-                67, 158,  23,  63,  51, 210, 251, 195, 241, 190,  17, 185, 117, 210,  52, 
-               246, 114, 125,  81, 106, 155,  70,  33, 174,  47, 142, 185, 170, 192,  60, 
-                16, 226,  19, 129, 248, 103,  78, 159, 134, 161, 124, 214, 170, 125, 211, 
-               118, 124, 159, 210, 133,  52, 179, 222,  25,   8, 124, 141, 141, 115, 158, 
-                24, 194, 219,  69, 157, 228, 209, 126,  13, 228, 134, 113, 120,  61,  48, 
-               157,  86,  60,  55, 157,  19, 148, 177,  52, 211, 142, 106, 177, 121,  14, 
-               112, 126, 106, 136, 247,  97,  18, 123,   2, 176,  20, 116,  60, 248, 246, 
-               138, 213, 150,  88,  51,  77, 156,  75, 106, 191, 181,  31,  67, 236,   0, 
-               124, 164, 236, 247, 212, 217,  51,  91, 133, 188, 120,  63, 114, 205, 179, 
-               174, 135,  59, 191, 188, 252, 198, 237, 183,  66,  88, 103,  10, 187,  21, 
-               103, 107, 191, 179,  21, 102,  57, 223, 161, 190,  27, 116,  21, 251,  80, 
-                24, 109,  88, 235,  78, 173,  91, 245,  80, 181, 143, 106, 217, 182, 181, 
-                61, 117,  57,  17, 255,  20, 215,  29,  56, 212, 113,  42, 157,  55, 252, 
-               171,  66,  62,  81, 212, 130, 207, 108, 248, 204, 129, 207, 199, 240,  57, 
-                11,  40,  94,   1,  77,  49, 143,  79,  20, 175, 160, 172, 152,  71,  37, 
-                82, 139, 236,  80, 108,  82, 148, 129, 242, 101, 138, 115,  92,  25, 146, 
-                24,  61, 104,  80,  92, 114, 191, 192,   1, 254, 201, 195, 162, 255,  11, 
-               118, 171, 149, 172, 157, 142, 154, 168, 178,  96,  56,  55, 214, 137,  49, 
-                73,  49, 209, 137, 131,  99,  95, 199, 106, 255, 255, 222, 127, 171, 167, 
-                48, 107, 174,  73, 252, 115, 151,  46, 231, 241,  99, 133, 242, 122,   7, 
-                66, 125,  54, 234,  53, 235, 179,  81, 231,  89, 159, 221, 144, 250, 236, 
-                54, 237,  59, 181,  38, 221, 222, 177, 153, 139,  16,   9, 103, 156, 135, 
-               177,  32,  20, 242,  31,  52,  50,  38, 126,  72, 255,  30,  49,  19, 146, 
-               251, 147, 193, 201, 253, 253, 253, 243, 237, 212,  19,   7,  37, 155, 121, 
-                55,  28,  26,  23,  31,  61, 210, 220,  66,  62, 248, 121, 139, 159, 211, 
-                37,  34,  28, 139, 207,  78, 181, 250, 108,  60, 243,  64,  31, 142, 126, 
-                26, 227, 120,  26, 251,  11, 182, 254, 212,  99,   5,  94, 169,  39, 204, 
-               215, 244,  65, 213,  29, 252, 193, 149, 203,  39, 194, 237, 203,  70, 151, 
-               244, 216, 199, 250,  56, 243, 165, 231,  15, 139,  14,   1, 125, 116,  79, 
-               240, 201, 236,  61, 250, 108, 122, 239,  43, 214,  23,  34, 133,  65, 198, 
-               130,   5, 213,  10, 181,   2,  99, 243, 170,  30, 142, 113,  95, 234, 229, 
-               246,   2, 172, 252,  50, 146, 228, 108, 134, 125, 220, 122, 216, 115, 173, 
-               123, 162, 192,  11, 251, 187,  10, 117,  10, 202,  35, 169, 109, 223, 108, 
-               238,  91,  65,   7, 123,  76,  63, 171, 100,  17, 253, 120, 176, 197,  15, 
-                15,  16, 141,  51, 255, 235, 248, 167,  86, 216, 126, 186, 250,  11, 200, 
-               137, 197, 246,  45, 126,  25,  73, 110, 153, 238, 155,  80,  58, 148, 183, 
-               143,  40,  99, 107, 122,  46, 179,   9, 246, 155, 112,  95, 136, 234, 255, 
-                72, 115,  28,  94, 195,  66,  13, 222,  20,  46, 244, 165,  56, 211,  37, 
-               224, 234,   6,  87,  15, 113, 230,  75, 136,  88, 219,  57, 199,  51, 170, 
-               253,  34, 127, 158, 238,  65, 191,   2,  31,   2, 109, 217, 118, 163, 116, 
-                 4, 240,  62, 112, 230, 244,  60, 158, 222,   3, 166, 145, 250,  82,  37, 
-               213, 101, 206, 220, 214, 100, 177,  29,  37, 177, 222, 151,  16, 235,  11, 
-                95, 172,  30, 134,  23, 209,  13, 111,  67, 200, 164,  72,  54, 214, 116, 
-               246, 167, 187,  19, 239, 229, 107, 185, 235,  18, 225, 112, 208, 198, 200, 
-                70, 227,  51, 236,   3, 141, 207,   2,  54,  66, 252, 182, 201, 188, 143, 
-                29, 245,  21, 207, 115,  85, 234,  31, 152, 244, 110,  93, 161,  31,  21, 
-                51, 235, 242,  95, 230, 244,   9, 111,  22, 192,  11, 177, 144, 222, 231, 
-               189, 125, 199, 134, 167, 240,  75, 126, 255,  64, 208, 231, 175,  30,  53, 
-                81, 199, 214,  62,  23,  94, 179, 227,  68,  53, 234, 238,  72, 160,  71, 
-               154, 239, 139, 188,  39, 232, 246, 163, 202, 245,  15, 108,   6, 250, 163, 
-                64, 131, 247, 200, 183,  41, 240,  90,  38, 210,  31,  27, 176,  40, 235, 
-               210, 225, 209, 225, 115,  47,  61,  56, 128, 244,  31, 172, 127,  24, 126, 
-               233, 238, 172, 125, 101,  70, 111, 222, 139, 245, 143,  87, 255,  24, 126, 
-               134, 251,  58, 244, 234, 209, 195,  33, 120, 255, 113,  11, 213, 222, 160, 
-               152,  19, 225,  57,  77, 139, 238, 193, 251, 171,  17, 183, 194, 180, 237, 
-               106, 135, 125, 219, 198, 180,   7, 233, 115, 107,  47, 209,  68,  62, 152, 
-               161, 169, 179, 249,   8,  78,  27,  25, 224, 121,  41, 107, 199, 172,  66, 
-               252, 139, 199, 126, 194,  78,  37,  98, 232,  23, 135,  75, 239, 216, 219, 
-               170, 222, 166, 130, 135, 216, 246, 231, 137, 237, 247, 122, 233, 207,  63, 
-               233,  85, 221, 208, 177, 233, 196, 172, 115,  15, 167, 103, 125,  49, 255, 
-               184, 134, 106,  16,  27, 159, 153, 255, 204, 241, 153,  48,  87,  16, 159, 
-                 1,  47, 245, 149, 195, 163,  15,  64,  95, 108, 214,  58, 198, 103, 126, 
-               220,  82,  14,  47, 155,  89, 113,  50, 151, 212, 158, 227, 156,  80, 123, 
-               142, 107,  21, 231, 139, 181, 231, 133, 109, 236, 185, 157, 189,  12, 249, 
-               119, 111, 174,  44, 246,  60,  32,  40, 223, 182, 156, 181, 231, 174, 246, 
-                96,  24,   7, 226,  56, 190, 195, 204,  31, 142,  49, 142,  99, 183, 214, 
-               218,  78,  45,  91, 181, 118,  26,   8, 122, 137, 248, 213, 185, 193, 240, 
-                81, 149, 169,  41,  98,  23,   7, 190, 226, 204, 113, 224,  43, 206,  28, 
-                 7, 190, 226, 254, 230, 204, 113,  96,  83, 197,  43,  14, 227, 192, 166, 
-                10, 140,   3, 253, 132, 248, 239,  21, 241,  84, 188,  32,  52,  14,  12, 
-               246,  31, 158,  48, 204, 226,  66, 251,  39, 131, 243,  28, 155,  24, 211, 
-                31,  43, 243,  24, 168, 228, 121,  46,  36, 116, 133, 138,  64, 250,  19, 
-                27, 246,  46, 113,  95,  59,  14, 252,  87, 247, 223, 230, 239,  77, 247, 
-                63, 191, 113,  96, 238, 163, 199, 138, 156, 180,  54, 150, 152,   5, 227, 
-               148,  14, 236, 243, 155,  84, 235, 249,  39, 158,  83, 101, 139, 231, 244, 
-               169,  71,  33,  86, 193, 235, 176, 249, 122,  83,  49,  75,  63,  15, 243, 
-                57,   2, 123,  63, 154, 185,  79,  16, 235, 139, 128,  55, 134,  29,  28, 
-                68,  44, 227, 132, 243, 196,  43, 156, 227, 121, 162, 242, 120, 123, 146, 
-               134,  48,  92,   1, 235,  32, 254,  74, 131, 190, 116, 125, 166,  80, 142, 
-               249,  71,  65, 253,  50, 150,  83, 191, 156, 176, 214, 220,  55,  91, 191, 
-                60, 223, 206,  47, 207, 119, 234, 151, 199, 137, 126, 248, 165, 157,  95, 
-               126,  41, 250, 101, 172, 151, 243, 203, 218, 162, 175,  20, 246, 118,  31, 
-               253, 242, 159, 146, 126, 121, 190, 173,  95,  22, 251,  48, 155, 238,  85, 
-                63, 135,  56,  13, 250, 231,  35, 198,  46, 230, 179,   3, 218,  46, 126, 
-                98,  63, 166,  69, 152, 239, 239,  70, 248,  43, 172, 177, 213,  56, 113, 
-               114,  26,  42, 172, 253, 161, 247, 180,  63, 214,  63, 228,  53,  41, 210, 
-               124, 206, 160, 106,  89,  88,  12, 185,  18, 166,  91, 207,  50, 105, 220, 
-               128,  50, 209, 184,   1, 231,   3, 229, 125,  27,  55, 252, 123, 226,   6, 
-               156,  19, 118,  31, 136, 243, 245,  54, 110, 120, 189, 184, 161,  59, 236, 
-               114, 230, 128, 173, 210, 237, 143, 247,  10, 165, 207, 225, 118, 216,  62, 
-               199, 238, 222,  42, 208,  41, 111,  58, 254, 186, 109, 241,  94, 250,  94, 
-               214, 117, 164,   4,  94, 154,  61,  86,  30,  67, 253,   2,   3,  99, 253, 
-               182, 165, 195, 231,   1, 206, 215,  25, 159,  96, 210,  22,  44, 227,  16, 
-               219, 115,  77, 187, 253, 150,  94, 145, 195, 133,   1, 206,  71,  68, 195, 
-               105,  56,  78,  60,  31,   3,  55, 146, 178, 124, 249,  30, 126, 197, 242, 
-               229, 203,  79, 159, 190, 235, 100, 143, 102, 110, 112,  32,  88, 135,   2, 
-               226, 136, 148,  23,  85, 207, 254, 172, 181,  81, 163, 127, 247,  57, 124, 
-               163,  70, 137, 160,  16,  49, 137, 141, 254, 181, 242, 145, 234, 228, 237, 
-               223,  27, 251,  67, 123,  87,  73,  92,  79,  45, 232, 243, 211, 125, 226, 
-               186,  82,  90, 215, 159, 222, 167, 187,  66, 119,  57, 222, 139, 226,  35, 
-                14, 197,  79,   0,  24, 233,  17,  95,  97, 193, 223, 173, 208, 252, 108, 
-               197,  79,  96, 240,  85,   0,  11, 109,   0, 190, 135,   5, 127, 191,  34, 
-               221, 104, 197,  87,  49, 248, 217, 123, 193,  63, 138, 248, 158,  22, 252, 
-               158,  16, 111,  89, 241,  17, 135, 226, 235,   1,  70, 122, 142,  57, 141, 
-                42, 170, 240, 228,  52, 247, 172, 248, 122,   6,  63,   0,  96, 164,  71, 
-                67,  70, 207, 105,  52,  10,  13, 135, 231,   1,  20,  63, 128, 193, 207, 
-                 1, 187, 131, 244,  40,  15,  53,  64, 248, 204,  32, 224, 132,  21,  31, 
-               113,  40, 126,  42, 192,   1,  34,  62, 181, 149, 222, 138, 126, 156, 178, 
-               123, 172,   5,  63, 149, 193,  71, 187, 134, 244,  28,  19,  19, 233, 125, 
-                98,  56, 180, 129,  20,  95, 195, 224,  19, 145,  30, 249,  23, 102, 248, 
-               231, 148, 136, 245, 162, 182,  23, 237, 109,  40, 107,  79, 247,  91, 109, 
-               103, 247,  86,  66, 230, 147, 127,  64,  64, 160, 243, 220, 165,  51, 182, 
-               182,  55,   0, 120, 105,  50,  65, 198,  76, 199,  92,  36, 142, 188, 181, 
-               189, 111, 109, 239, 219, 191, 188, 216,  94,  92,  79,  22, 219, 146, 105, 
-               125, 198,  75, 215,  82,  57, 197,  66,  69, 234, 119, 140, 109, 201, 100, 
-               108,  11, 192,  72, 207,  49,  49, 178, 222, 103, 132,   2, 215, 172, 197, 
-               182,  48, 248, 116, 221,  34, 236,  97, 225, 223,  90,  65,  90,  91, 109, 
-               145,  38, 211, 206, 182, 136, 248, 212, 246, 126, 194,  45,  84, 232,  47, 
-               198, 123, 117, 129,   0, 121, 147, 194,  28, 155,  53, 165, 252, 207, 216, 
-               218, 132,  46,  17, 173, 162,  71, 197,  36,  70,  75, 217, 137,  34, 121, 
-                28,  51, 180, 177, 194,  30, 113, 241,  35, 135, 211, 111, 109, 110, 172, 
-               151, 187, 124,  30,   6, 220, 210, 196, 237,  95, 123, 240, 224, 225, 230, 
-                54, 153,  23,  35,  63, 159, 158, 217,  39, 246,  87,  99, 189, 161, 107, 
-                53,  10, 176,  29,  96, 126,  28, 158, 149, 167, 248,  46, 225,  39, 118, 
-               186, 159, 113, 118, 255,  11, 181, 252,  51, 116, 235, 253, 207,  77,   2, 
-               249, 199, 134, 230, 252, 244,  51, 235,  49, 229, 148, 108, 136,  92, 144, 
-               245, 219, 136,  15, 212, 117, 158, 142,  16, 112,  60,  58, 213, 227, 111, 
-               247, 169, 110, 232,  48, 243, 168, 192,  87, 245,  67,  64,  75, 242, 229, 
-               188, 131, 135,   4,  25, 245, 188,  98,  89,  18, 191,  54, 121, 181,  58, 
-               113, 231, 178,  12, 172,   7,  56,  11, 203, 174, 133, 148, 204,  20, 198, 
-               122, 102, 209, 224, 133, 173, 190,  13, 166, 109,  30, 139,  45, 100, 220, 
-               190, 232, 156, 166, 193, 208, 181,  70, 231, 207, 246, 243, 246, 103, 181, 
-               237,   5, 184,  46,  17,  70, 111, 171, 158,  14,  97, 250, 170, 231,  11, 
-               214,  29, 194, 139, 207, 219, 133, 126, 152, 239, 237, 207,  19, 254, 211, 
-               127, 212,  23,  88, 199, 129, 234,  47, 234,  44, 213,  95, 212,  47, 212, 
-               103, 123, 253, 181, 119, 142, 175, 171, 191, 174, 254, 140, 105, 238, 235, 
-                47, 253,  51, 231,  99, 184, 223, 103, 182,  82, 154,  70, 234,  62, 127, 
-                57,  35, 175,  75,  47,  93, 246, 154, 250,  27, 105, 214,  95,  47,   9, 
-               253,  45, 124, 177, 122,  56, 171, 191, 230, 243,  28, 187, 252,  58, 251, 
-               231, 200, 233,  96,  87, 225,  50, 158,  54,  95,  90, 241, 202, 151, 190, 
-               106,  92, 207,  37, 218, 235,  78,  98, 219,  49,  78,  98,  47, 142, 249, 
-                63,  41,  38,  62, 105, 116, 162, 235,  22, 211, 210, 109, 229,  69, 254, 
-               158,  76, 185, 176,  55,  56, 109, 246,  43,  90,  17, 142, 117,  26, 243, 
-               217, 158, 210,  12,  30,  29, 159,  44, 215,  91, 157,  68, 219,  58, 166, 
-               109, 173, 216, 118, 152,   8, 143, 115, 210, 118,  17,  40, 193,  53,  25, 
-                61, 216, 117, 147, 202, 211, 214,  60,  30, 165, 120,  63,  74, 228, 231, 
-               105,  23,  35,  83,  59, 129, 182, 129, 218,   9, 220, 123, 176, 190, 174, 
-                75, 196,  96, 193,  78, 116,  27, 157,  76,  98, 163, 135, 140,  30,  79, 
-                70,  70, 199, 199,  88, 229, 227,  94,  83,  11, 178, 251,  59, 230,  65, 
-                42,  35, 221, 183,  19, 172,  63,  99, 203, 251,   4,  55, 108, 172, 251, 
-               252, 165, 225, 210,  55,  51, 121,  41,  59, 129, 190,   4, 124,  74, 198, 
-               235, 218,   9, 244,  71, 248, 217, 169,  78, 204,   6,  44,  51, 251,  38, 
-               161,  60,   3, 224,  12, 138, 103,  43, 163, 158, 143, 243,  91,  19,  28, 
-               235, 183,  38, 195, 202,  83, 207,  31, 111, 182,  37,  56,  78,  40,  35, 
-                36, 113, 122,  51, 161, 110,  56, 224, 225, 125, 244, 231,  47, 249,  31, 
-               191, 153, 105,  88, 221, 230, 187, 204,  55,  97,  39,  44, 135, 217, 145, 
-               156, 194, 153, 159, 107, 158, 185, 228, 132,  75,  59, 225, 196, 209,  25, 
-               143, 131,  93, 128,  75,  35,  94, 250,  99, 230,  43, 251, 168, 249, 250, 
-               159, 182,  19,  26,  81, 134, 190, 118, 186, 152,  28,  55,  42,  70,  24, 
-               211, 209,   9,  78, 185,  23, 176, 201,  88,  37, 228, 238, 113, 235, 186, 
-                65, 219, 131, 125, 121,  19, 182, 135,  28, 119, 190, 254, 105, 185,  16, 
-               215,  30, 179, 218,  30, 132, 223, 148, 237, 209,  28, 115, 222,  54,  45, 
-                23, 206,  32, 142,  90, 109,  15, 194, 227, 156, 246, 153,  19, 202, 228, 
-               108,  79, 194,  81, 235,  24,   6, 136, 247,   9,  22, 126,   5, 225, 243, 
-               132, 101,  94, 228, 254, 168, 109,  66, 123,  68, 109,  19, 158, 163, 208, 
-                56, 217, 140, 211,  41, 122,  84, 130, 195, 246, 222,  34, 127, 225, 215, 
-               212, 188,   4, 226, 104, 155, 178, 179, 221, 183,  77, 213,  71,   8,  71, 
-               236, 228, 138, 218,  43, 194, 133, 126, 107, 172, 151, 237, 223, 229, 226, 
-               237, 249, 188, 218, 166, 135, 158,  77,   4,  62,  15,  60, 155,  24, 109, 
-               219,  48, 255,  61,  16, 235,  41, 158, 173, 140, 249, 143,  97, 128, 191, 
-                90, 108, 135, 217,  59, 232,  45, 240, 223, 158,  77, 178, 216, 250, 232, 
-               105, 207, 240,  57, 142, 126, 228,  96, 254, 160, 192,  83, 201, 198,  48, 
-               172, 198, 187, 105, 155, 254, 211,  49, 183, 198, 189,  24,  28, 117, 214, 
-               178, 135, 252,  57, 222,  11, 245, 217,  65, 127, 131, 254,  93, 250,  11, 
-               253, 104, 138, 250, 241,  58, 250, 251, 208, 115, 199,   6, 212, 223, 203, 
-               197,  79, 240, 121, 209, 223,  25, 237,  99,  26, 163, 110,  90, 245,  87, 
-               111,   4,  95, 217, 152,  35, 250,  47, 241, 110,  26, 212, 163,  14,  83, 
-               253, 181, 149,  49, 255, 250,  11, 252,  97,  22, 244,  89, 230,  79, 179, 
-               158,  66, 251,  65,  84,  95,   5, 253, 109,  50, 106,  29, 171, 191, 170, 
-               191, 191, 108, 252, 127,  93, 127,  81, 103, 169, 254, 226,  57,  57, 234, 
-               179, 131, 254,   6, 255, 235, 236,  47,  62, 131, 109, 246,  58, 250,  91, 
-               109, 153, 234,  75, 179, 254, 182, 215, 228, 209, 254,  26, 103, 180, 191, 
-               217, 152, 234, 111, 156,  95, 181,  29, 168, 195, 189,  43,  95, 255, 146, 
-               218, 229, 105,  80, 207, 216,  95,  70, 198,  55,  98, 127, 179,  98, 253, 
-               170, 101,  60,  16, 237,  44, 200,  34, 232, 243, 116, 225, 147, 234, 239, 
-                61,  59, 253, 173, 211, 228, 255, 186, 254, 162, 206,  82, 253, 197, 179, 
-                61, 212, 103,   7, 253, 109, 252, 111, 179, 191, 154,  93, 168,  31, 175, 
-               163, 191, 165, 238, 124,  42, 232, 239, 245,  83,  75, 242, 164, 191,  69, 
-               166, 164, 239,  64,  29, 102, 236, 175, 166, 248, 242, 167,  59, 106,  30, 
-               208, 109,  20, 198,   2, 234, 177, 206, 106, 127,  89,  25, 243, 175, 191, 
-               208,  62, 238, 125, 212, 230,  79,  97, 189, 100,  21,  91, 254, 212, 162, 
-               207, 168, 191, 153, 125, 163, 215, 179, 250, 187,  69, 149, 186, 227, 255, 
-               186, 254, 162, 206,  90, 246, 230, 223, 197, 123, 161,  62,  91, 113, 180, 
-               184,  25, 119,   8,  32,  94, 119, 111, 142, 252, 241,  51, 189, 175, 163, 
-               254, 170,  90, 185, 175, 191, 251, 163, 106,  26, 157, 237, 205,  67, 151, 
-               253, 206,  31,  26,  30, 166, 153, 251, 233, 217,  64, 115, 110, 203, 155, 
-                59, 195,  91, 253, 209,  23, 161, 108, 205,  18, 239, 241, 181, 214, 246, 
-               226, 248, 221,  27,  75, 218,  12,  14, 150,   9, 243, 173, 226, 248, 195, 
-                32,  75, 212, 142, 206,  25, 206, 228, 168,  51, 233,  97,  45,  44,  11, 
-               168, 249, 113, 144, 179,  54,  71, 125,  62, 189,  49, 244,  81,  83, 207, 
-               114,   6, 157,  63, 122, 235,  25, 158, 243, 189, 249, 235, 156, 225, 105, 
-               192,  87, 227,  69,  46, 154,  47, 227, 121, 243, 149, 125, 206, 124, 253, 
-                39, 246, 230, 216, 190, 253, 222,  60,  33, 113, 244, 176, 196, 152, 164, 
-                36, 210, 173,  75, 219, 110, 173, 187, 119, 183, 223, 164,  43, 236,  78, 
-               212,  71,  26, 109, 247, 230, 216,  23, 251, 189, 121,  97, 225,  59,  14, 
-               156, 219, 123, 115, 205,   5,  24, 139,  11, 206, 247, 199, 180,  92,  56, 
-                23,  60, 111, 222,  31,  71, 138,  52,  67, 152, 118,  45, 253, 200, 199, 
-               115,  50, 173, 216, 134, 179,  61, 191, 135, 216,  31,  15,  55, 247, 252, 
-                26, 224, 163,  63, 239, 188,  79, 180,  92, 216, 243, 159,  51, 247, 201, 
-                83, 164,  25,  70, 207,  33,  71,  62,  86,  88, 206,   2, 206, 229, 243, 
-                44, 224, 156, 221,  89, 192,  57, 219, 179, 128, 188, 140, 159, 229,  44, 
-               224,  59, 102,  47, 117,  15, 250, 122, 209, 153,  45,  12, 126,  35, 182, 
-               208, 229, 179, 186, 150, 238, 219,  66, 214, 230,  73, 157,  95, 162,  77, 
-               162,  87, 222, 158, 251,  56, 191, 119, 198, 199,  85, 153, 173, 140, 255, 
-               162, 231, 113, 130,  45, 116, 244, 229, 249, 121, 158, 241,  95, 221,  75, 
-               221,  99, 246,  82, 119, 226, 189, 168, 191, 181, 209, 223, 160,  55, 171, 
-               191, 105, 203,  28, 159,  39, 235, 195, 229, 245,  87,  43, 202, 198, 230, 
-                31, 190, 206,  89, 150, 251, 190, 220, 158, 159, 251, 101, 182,  50, 254, 
-               139, 158, 199,  17, 231, 250,  75,  99,  81, 169, 231, 201, 158, 132, 227, 
-               200, 127, 237, 207, 185,  47, 247, 100, 116, 130, 179, 223,  99, 221, 177, 
-               234,  53, 230, 102, 161, 158,  91, 245,  58, 105,  68, 204, 200, 152, 228, 
-               209, 241, 206,  99, 212, 242, 175, 251, 252, 104, 145, 173,  94, 167, 105, 
-                99, 189,  84,  49, 238, 191,  91,   3, 159,  19, 105,  27, 249, 105, 204, 
-               207, 137,  24, 191, 101,  83, 238, 252, 249,  17, 158, 109,  37,  78, 111, 
-                22, 156, 215,  51, 174,  56, 225, 185, 142, 158,  55,  63, 231,  17, 238, 
-                51, 146, 129,  15, 251,  60,   8, 203, 226, 196, 231,  63, 125, 156, 202, 
-                98, 253,  91, 244, 109, 187, 218,  66, 140,  89, 104, 209,  54, 103, 109, 
-               142,   9, 110, 152,   9, 244,  70, 160,  55, 188, 145, 231,  71, 222, 249, 
-               124, 126, 228, 132, 101,  78,  54, 196,   5, 112, 229, 220,   6, 157, 185, 
-                21, 239, 149, 246,  27,  92,  55, 224, 186,  14, 215,  63, 255, 153,  24, 
-                21, 101, 160,  49,  42, 202, 130, 117, 227, 163,  71, 142,  16, 158,  85, 
-                36,  71,  39,  38,  11, 128, 109, 144, 106, 126, 126, 116, 220, 178,  63, 
-               247, 249, 206,  26, 239, 104,  68,  62, 108, 220, 139, 109, 196,  13, 129, 
-               133, 224, 200, 202,  41,  79, 164,  91, 149, 109,  27, 247, 226,  24, 209, 
-               184,  87, 119, 219, 126, 108, 204,  45,  13, 141,  75,  76,  74,  30, 154, 
-                24,  13, 173,  72,  70, 192,   1, 217, 206,  99,  68,  90,  46, 124, 135, 
-               245,  55, 115, 140, 216,  73, 108, 203,  18, 111, 223,  50, 207, 149, 167, 
-               101,  54, 205, 237, 226, 120,  13, 141, 139, 199, 175,   6, 136,  78, 218, 
-               182, 117,  61, 208, 169, 110,  59, 111, 151, 150,  11, 246, 227, 166, 185, 
-               221,  88, 145, 102, 160,  88,  78,  23, 182, 227, 188, 216, 245, 141,  96, 
-               180, 217, 180, 185, 148,  86,  52,  49,  35, 184, 140, 201,  59, 137, 253, 
-               100, 247,  24,  58, 177, 207, 236, 243,  63, 156,  79,  75, 159, 157, 140, 
-               182, 234, 119, 216,  99, 252,  46, 177, 199, 248, 157,  25, 235,  27, 214, 
-                62,  35, 141, 125, 159,  45, 122,  35,  21, 143, 202, 172, 132,  38,   1, 
-               238, 237,  67, 112, 206,  99, 153, 121, 176, 213,  45,  15, 203, 157,  91, 
-               121,  15, 191,  57, 246, 219, 135,  41,  23, 250,  13, 107,  60, 247,  42, 
-               236,  69, 175,  89, 159, 127,  98, 187,  84,   6, 213,  77, 179,  61, 176, 
-               202, 160, 176, 145,  33,  72,  46, 246, 185, 233,  40, 131,  55,  83,  46, 
-                60,  83,  52,   1, 124, 213, 218, 190, 138, 105,  31, 231,  37, 231, 166, 
-               115,  27, 132, 237,   7, 190, 230, 126,  15, 249, 178, 251,  61, 149, 216, 
-               134, 121, 191, 231, 109,  25, 233, 228, 241, 113, 201, 131,  99,   3,  73, 
-               108, 220, 224,  88, 212,   1, 123, 126,  74, 224, 163, 189, 225, 216,  71, 
-                21, 250, 234,  27, 204, 154, 122,   9, 122, 248,  10, 238, 225,  83, 245, 
-                34, 222,  75, 243,  60, 222,  75, 247,  12, 246,  79,  79, 205,  54, 150, 
-               234,  36, 242, 163, 123, 193, 156,  62, 214, 189,  32, 206,  19, 221,  11, 
-               226,  92, 177,  90,  33, 124, 183, 107, 244, 184, 152, 161, 163,  19, 199, 
-                71,  39,  14,  33, 206, 182, 133, 154, 235, 182, 123,  65, 188,  79,  96, 
-               250,  95, 134, 212, 204, 211,  24, 134, 137, 114,  80, 153,  80, 135, 210, 
-               196,  54, 138, 139,  23, 218,   9, 146,  28, 147,   0, 251, 212, 184, 209, 
-               241,  32, 150, 221, 100, 233, 174,  89, 101,  10,  19, 239, 135,  83,  31, 
-                32, 126, 175,  45,  47, 114, 217, 203, 135,  50,  89, 246, 207, 162, 142, 
-               211, 157,  47,  94, 184, 158,   5,  25,  99, 146,  98, 146,   5, 192, 172, 
-                86,  84, 169,  19, 174, 218, 218, 126, 188, 143, 183, 219,   7, 200, 217, 
-               194, 134,   1, 254, 104,   8, 253, 131, 131, 228, 229,  37, 140, 188, 184, 
-                38, 114, 175, 218, 142, 103,  82,  92,  50, 113, 181, 229,  79, 205, 177, 
-                29,  79, 188, 183, 140, 167, 206,  60, 158, 193, 194, 219,  72,  95, 111, 
-                60,  81,  38,  42, 159, 160, 203,  87,  29, 199,  19, 101, 180, 172,  79, 
-               187,   9,  15,  48, 217, 142,  39, 222, 219, 143, 167, 197, 206, 198, 153, 
-                71, 211, 126,  68,  97,  60, 155, 187,  43,  47, 202,  56, 142,  89, 127, 
-               233,  38,  58, 158, 156,  48, 158, 160, 151, 193,  46, 247,  95, 175, 108, 
-               199,  19, 239, 233, 120, 166, 142, 123, 172, 240,  16,  96, 249, 112,  55, 
-                72,  66,  62, 148, 201, 162, 159, 212,  62, 216, 202, 231, 250, 124, 231, 
-               165, 173, 124, 120,  79, 229,  11,   8, 115,  95, 190, 210,  82, 250, 200, 
-               200, 135,  54,  43, 231, 165, 131, 124,  46, 205, 111, 234,  11,  59, 125, 
-               124,  97, 149,  47,  61, 144, 202, 231, 245, 218, 242, 161,  76,  84,  62, 
-               180, 167, 196,  81,  62, 151, 238,  41, 253, 185, 173, 124, 120,  79, 229, 
-                83, 109, 116, 127, 252, 138,  75, 200, 135,  50,  81, 249, 208, 214, 171, 
-                94,  56, 200, 215, 216, 229, 254, 234, 153, 173, 124, 120,  79, 229, 211, 
-               125, 234, 190, 124, 133,  37, 228,  67, 153, 168, 124, 232, 135,  52, 207, 
-                29, 228, 107, 226, 138, 111, 238,  83,  91, 249, 240, 158, 202, 151, 179, 
-               208, 253, 249, 149, 146,  15, 101, 162, 242, 161, 143, 212,  61, 115, 144, 
-               175, 169,  43, 190,  74,  59, 249, 148, 140, 124, 233, 183, 168, 124, 133, 
-               100, 229,  43,  47,  33,  31, 202, 196, 158, 207, 234, 159,  58, 200, 215, 
-               204, 229,  25, 230,  63, 182, 242, 225,  61, 149,  47, 247,  35, 247, 231, 
-               183, 138,  19, 249, 210, 112, 126, 159, 196, 123,  77, 167, 246, 234, 177, 
-               109, 140, 130,  47, 132,  75, 154, 173,  52,  12, 104,  84, 215,  80, 253, 
-               131, 249,  65, 182, 123,  51, 199, 253, 179, 231, 129,  78,   1, 243,  74, 
-               198, 212, 194, 187, 196,  71, 211, 131, 241, 187,  11,  21, 227, 183, 172, 
-               199, 251,  23, 203,  18, 214, 255, 176,  96,  81,  45,  74, 151,   8, 124, 
-               251,   1, 223, 122,  34, 223, 132, 152, 145, 227, 226, 146, 228, 109, 118, 
-               154,  40,  39, 149, 217, 248,   8, 230, 252, 137,  85, 110,  47,  79, 233, 
-               115, 146, 225, 175,  82, 248, 249, 179,  84,  33, 126,  29, 190,  10, 169, 
-               164, 250,  53, 116, 199, 211,  20, 126,  77, 205, 129,  97, 245,  14, 212, 
-                21, 190, 171, 238, 229,  59, 112, 127,  14, 148,  77, 189, 176,  70, 248, 
-               174, 249, 254, 115, 245,  66, 239,   4, 127, 186, 119, 191, 201, 252, 221, 
-               245,  65,  89, 115,  50, 218,  77,  43, 210, 184,  66, 185, 194, 130, 204, 
-                67,  99,  70, 141,  77, 244, 135, 189,  69, 178, 188, 204,  40,  39, 149, 
-                57, 247,  97, 188,  23,  59, 214, 174, 100, 254,  12, 218, 206,  44,  22, 
-               186, 111, 194, 217,  81,  33, 171,  74, 157, 223,  59,  23, 238,  79, 143, 
-               234, 185, 111, 198, 194, 187, 194, 247, 227, 223, 221, 223,  35, 116,  49, 
-               244,  43, 182, 246,  62, 161,  15,  95,  23, 248,  43, 164, 247, 227, 189, 
-               161,  63, 188,  50, 203,  92, 235,  66,  98, 198, 199,  77,  67,  50, 195, 
-               238, 238,  17, 100,  78, 142,  27,  20,  23, 237, 166, 204,  40,  39, 149, 
-                89,   5,  48, 246, 193,  29, 153, 191, 130, 182, 115, 175, 105,  67,  74, 
-               239, 138,  10, 137, 243,  57,  27, 186, 239,  89,  10, 191,  80, 217,  57, 
-               172, 100, 204, 105,  65, 230, 210,   5,  59, 239, 199, 178, 221,  13, 190, 
-                23, 198, 121, 112, 193, 111,  67, 248,  37, 223, 238,  61,  47, 142, 243, 
-               246,   6, 199, 130, 134, 110,  73, 207,  56, 197,  63,  51, 203,  28, 157, 
-               152,  52,  54, 201, 181, 208,  84, 102,  21,  35, 179, 246,   1, 196,  71, 
-                15, 221, 147, 249, 224, 243,  20, 126,  99, 196, 201,  61, 186,  97, 123, 
-               247, 234, 238,  53, 223, 239, 253,  87,  10, 175, 184, 181, 123, 127, 212, 
-               227,  16, 225, 121, 229, 202, 187, 187, 195, 218,  66,  89, 239, 243,  45, 
-               133,  62, 248, 126, 223,  98,  95, 197, 175, 187, 133, 236,  22, 101,  62, 
-               186,  46,  36, 176, 207,  39, 202, 192,  67, 185, 251, 133, 179, 249,  81, 
-                49, 201, 209, 114, 114,  91, 222, 197, 248, 192,  42, 179, 254, 111, 240, 
-                 1, 110, 202, 236, 108,  13,  22,  43, 181, 122, 187,  49, 178, 189,  16, 
-                16,   7,  63, 235,  45, 172,  65, 221, 237,  87, 194,  26,  60, 247, 243, 
-               246, 218, 247,  31, 159,  89,  79, 233,  74,  54,  59, 158, 113, 186, 192, 
-               209, 237, 154, 155,  61, 132, 117,  57, 114, 236, 168,  65, 209, 137, 238, 
-               173,  65, 148, 147, 202, 156, 126,  31, 246,  55,  15,  94,  95, 230, 247, 
-                54, 181, 202,  24,  55,  38, 184,  54, 222, 253,  82,  96, 181,  48, 126, 
-               217,  33,  53,   4, 153, 149,  15, 252, 191, 120, 117, 226,  75, 139, 204, 
-               115, 171, 182, 200, 168, 115, 236, 122,  70, 234, 137,  80,  65, 230, 228, 
-               216, 209, 137, 209,  19, 220, 147,  25, 229, 164,  50, 231, 228, 194, 190, 
-               234, 239, 215, 151, 185, 235, 160, 105,  25, 161, 187, 102,   9,  50, 159, 
-               173,  91,  93, 144, 153,  12,  60,  33, 188, 166, 108, 237, 198, 102,  27, 
-               114, 219, 101,  91, 108,  93, 181,  58,  75, 130, 118,  39, 148, 201,  56, 
-               253, 219, 118,  33,  15,  61,  58, 121, 100, 180, 220, 195,  52,  42,  51, 
-               202, 105, 209, 231, 170, 177,  94, 216,   7,  70, 102, 165, 187,  50, 163, 
-                30, 244, 251, 114,  94,  80, 179,  47, 139,   9, 227, 250, 237, 170, 221, 
-               194, 243, 244, 250,  57, 105,  27, 240, 254, 201, 241, 254,  27,   2, 254, 
-                46,  93, 147, 210, 205,  78,  90, 147, 241, 211,  59,   5,  27,  71, 206, 
-               230,   4, 153,   7,  39,  70, 199, 199, 141,  29, 229, 150, 204,  40, 167, 
-                69, 159, 171, 196, 122,  97,  31,  94, 119, 156,  79,  70,  85, 220, 238, 
-               125, 171, 136,  16, 163,  29, 110,  84, 172,  49, 150, 149,  93, 244, 129, 
-               112, 223,  33, 180, 238, 182,  57, 202, 140, 109, 156,  72, 119, 196, 187, 
-               110,  70, 192, 215,  21, 131, 125, 118, 157, 222, 142, 120,  49, 209, 114, 
-               214, 153, 209, 231,  42,  86, 153, 211,  43, 199, 122,  97,  31, 220, 145, 
-               249, 200,  31,  41,  60, 247, 217, 151,  33, 190, 201, 203, 246,  30,  83, 
-               158, 218, 223, 126, 107,  10, 255, 147,  71, 199,   3,  79,  90, 148,  22, 
-               236, 198, 242, 151,  29, 194, 213,  80,  54, 255, 157,   6, 194, 125, 245, 
-                37, 149, 246, 133, 158, 172, 177, 111, 181, 104,  55,  86,  53,  90,  16, 
-               124, 225, 114, 151, 224, 117,  69, 218,  10, 231, 203, 177,  99,  71, 197, 
-                36, 202,  24,  59, 139,  62,  87, 182, 202, 156,  83,  41, 214,  11, 251, 
-               224, 142, 204, 107, 110, 167, 240,  87,  27, 165, 238, 171, 176, 238, 242, 
-               222, 125, 250, 239, 195, 202, 111,  76, 225, 183,  79, 238,  22, 254, 145, 
-               161, 163,  32, 227, 157, 119, 187,  29, 184, 187,  62, 133,  63, 247,  97, 
-                 9, 225,  29,  42, 153, 131, 226, 246,  29, 219,  87,  44, 172, 252,  75, 
-               179, 204, 119, 213,  33,  25, 218, 235, 189, 130,  55, 221, 231,   5,  29, 
-                26,  59,  50,  94, 206, 165,  88, 245, 185, 146,  85, 102,  37, 192, 216, 
-                 7, 119, 100, 238,  15,  62,  37,  56,  76,  21, 114,  48, 236, 241, 222, 
-               223, 110, 253,  18,  58,   1, 252, 244, 142, 159, 223,  13,  27, 115, 116, 
-               156,  32, 115, 231, 251, 239, 238, 191,  14, 101, 185,  57, 171,   4, 159, 
-               178,  98, 235, 216, 125, 199,  23, 173, 221,  59,  89,  28, 103, 245, 189, 
-                78,  25, 151, 135, 254, 180,  93, 105, 200,  10,  16, 244,  57,  58,  49, 
-               193,  93, 159, 162, 100, 100, 214,  84,   4, 125, 174, 228, 158, 204, 187, 
-               115,  83, 248, 132,  65,  53, 246, 104,  31, 166, 135,   4, 206,  75, 223, 
-               127, 237,  80,  10,  95, 126,  90, 192, 129,  49,  19,   2,   4,  95, 221, 
-               124, 106,  64, 120, 213, 195,  16, 111,  92,  58,  36, 188, 203, 166,  64, 
-               191, 192, 208,  19,  23, 102, 182,  56,  36, 202, 124, 175,  76, 227, 237, 
-                11,  78, 126,  26, 212, 237, 214, 150, 237, 212, 167, 200, 201,  77, 101, 
-                70,  57, 169, 204,   9,  21,  98, 189, 148, 110, 202, 236, 204, 110, 164, 
-               156,  43,  24, 252, 119,  61,  95,  97, 205, 253, 120,  83,  41, 204, 249, 
-               239, 138, 115, 219, 241, 190, 232, 158, 141, 219, 127, 234, 153,  20,  72, 
-               215, 224, 170, 155, 126,  65, 233,  23, 210,  50,  14,  55, 127,  25,  68, 
-               215,  96,  98, 220, 176,  88, 119, 116,   3, 229, 164,  50, 167, 149, 143, 
-               245, 194,  62, 184,  35, 243,  47, 176,   6, 189,  27,  71, 182, 240, 235, 
-               144,  30,  82, 217, 120, 114, 255,  68,  88, 111, 107, 182, 118,  56, 176, 
-               255, 162, 121, 156, 215, 165, 119,   8, 207, 128, 178, 230, 161, 159, 183, 
-                16, 124,  76,  90, 163, 208,   0, 159, 223, 247, 208, 113,  78, 232, 241, 
-                65, 112, 246, 186,  61, 193,  95, 126,  29,  97, 179,   6,  93, 201,  77, 
-               101,  70,  57, 169, 204, 217, 190, 177,  94, 216,   7, 119, 100, 174, 126, 
-                39, 133,  95,  31, 172,  15, 125, 191, 251, 223,  33, 247,  87, 100, 135, 
-               205, 255,  42, 133, 239, 180,  76,  27, 126, 199,  63,  70, 144, 249, 193, 
-                68, 237, 129,  87,  95, 166, 240,  95, 100, 112, 194,  54,  59,  35,  42, 
-                37, 244, 227, 208, 151, 251,  62,  16, 215, 160, 255, 239, 253, 130, 139, 
-               254,  84,  47,  35, 123, 246, 141,   0, 203,  26, 148,  25, 104, 203, 187, 
-               251, 125, 173,  50,  19, 128, 177,  15, 238, 200, 220,   9, 214, 160,  41, 
-               116, 102, 200, 210, 220,  59,  45, 166,  14, 185,  29, 218,   3, 214, 219, 
-               161, 161, 113,  97,  27, 106,  14,  19,  98, 162, 164, 129, 113, 251, 155, 
-                65, 153,  97, 125,   1,  97,  77,  94, 220,  19,  31,  82,  61, 219, 115, 
-               223,   5, 113, 156, 107, 141, 168,  17, 172,  25, 210,  44,  40, 186, 207, 
-               198,  64, 102,  13, 186, 148, 154, 202,  76,  24, 153,   3, 202, 197, 122, 
-                97,  31, 220, 145, 217,  15, 214, 224,  59,  41, 197, 246,  20, 235, 181, 
-               109, 239, 136, 187,  25, 251, 103,  27, 193, 246, 229,   4,  31, 232, 182, 
-                53,  80, 144, 113, 221, 213, 224, 240, 163,  80,  54, 106, 237, 187, 194, 
-                26, 188, 246,  91, 192, 190,  39, 159, 110, 110,  97,  20, 101,  38,   3, 
-                74,  52, 234, 240, 105, 169, 224,  62,  41,   5, 236, 215, 160, 164, 220, 
-                84, 102, 148, 147, 202, 172,  43,  11, 242, 186,  41, 115,  79,  24, 231, 
-               163,  97, 109, 247,  62, 136, 222, 191, 215, 123, 217, 245, 208,  56,  24, 
-               211, 201, 159,  13,  14,  27, 180,  53,  84, 144, 217,  56, 111, 240, 254, 
-               149,  80, 118, 253, 210,   9,  97, 220, 179,  74, 132, 239, 155, 178, 250, 
-                72, 200,  70,  81, 230,  73,  55,  87, 103, 172,  59, 154, 153, 209, 179, 
-                72, 197,  12, 235,  62, 197, 181, 114,  88, 246, 131, 101, 173,  50, 167, 
-               150, 137, 245, 194,  62, 184,  35, 243,  18, 104,  59,  84,  23,  25,  90, 
-               239,  97, 220, 222, 150,  29, 127, 222,  59,  11, 238,  87, 174,  25, 176, 
-               111, 226, 186,  91, 130,  61, 206, 205, 237,  31, 154,   4, 253, 242, 159, 
-               120,  68, 232,  67, 177,  54, 127, 236, 157, 212, 230, 200, 190, 221, 226, 
-                62, 101, 217, 184, 155, 129, 154, 161, 177, 193,  79, 251, 173, 204, 176, 
-               238,  83, 220, 147,  25, 229, 180, 236,   7,  75, 199, 122,   9,  99, 237, 
-               134, 204,  95,  66, 219,  53, 198, 118, 221,  91, 191,  85, 231, 189, 159, 
-               175,  58,  27, 186,  19, 246,  36, 103, 211,  58, 135,  61, 249, 235, 180, 
-                32,  51, 191, 164, 243, 254,  29,  80,  86, 242, 240, 247, 194,  56, 151, 
-                88, 244, 237, 222, 128, 218, 217,  33,  84, 159, 183, 127, 118, 109,  91, 
-               197, 140,  45, 219, 195, 127, 217,  18, 204, 236,  83, 220, 210, 103, 148, 
-               115,  58, 115,  46, 128, 125, 112,  71, 230,  72, 216, 167,  44,  79,  56, 
-                18,  82, 179, 171,  49, 164, 224,  95,  45, 247, 247, 189, 151, 194,  55, 
-               189, 118, 112, 255, 119, 105,  17, 130, 221, 216, 248, 240,  96,  88, 111, 
-                40,  43,  94,  43,  66,  24, 231, 238, 207, 194,  67, 181,  25, 109, 246, 
-               141,  16, 101, 126, 209, 162,  80, 224, 195, 234,  47, 183, 246, 186, 186, 
-                97, 187, 221,  62, 197, 165,  62, 123, 139, 207, 238, 103,  80, 125, 134, 
-                61,  55, 246, 129, 230,  22,  96,  62,   1, 205,  45, 192, 247, 202,  96, 
-               174,   1, 155,  91,  16,  23,  31,  68, 236, 147,  96, 173,  57,  51, 121, 
-               203,   4, 162, 188,  85,  11, 173, 185,   5, 248,  44,  32, 245,  93, 176, 
-               191, 141,  29, 115, 102,   2, 210,  31,  43, 132,  11, 234, 115, 123, 130, 
-               108,  90, 215, 121,  53, 125, 220, 204,  45, 192,  45,  86,  94, 115,  11, 
-               134, 139, 185,   5, 135, 123,  19,  75, 110, 193,  88,  23, 185,   5,  11, 
-               180, 154, 140,  97, 191,  52,  48,  60, 122, 220,  66,  67, 191, 155,  26, 
-               103, 247, 221, 212, 109, 245, 155, 137, 223,  87,  21, 254,  50,  40, 158, 
-                16, 203,  13, 237, 100,  44,  94, 231,  79, 254, 163, 228, 176, 198, 255, 
-               137, 239, 166, 202, 231, 124,  57, 230, 204, 232,  85,  16, 187, 194, 165, 
-                43,  33,  94,  74, 243,  21,  48, 208, 124, 185,  47,  92,   1, 161, 253, 
-               186, 220,  28, 245,  79, 143, 102, 171, 221, 205,  45,  16, 190, 231,  45, 
-               234,   4, 103, 151, 115, 128, 114,  73, 230, 197,  74, 228,   7, 176, 121, 
-               177,  72, 183,  73,  21, 107, 243,  76,   3, 251,  40, 151,  23,  59,  42, 
-               105, 152, 152,  26, 235,  60,  61,  32,   7, 198,  71, 163, 138, 117, 254, 
-               189,  81, 149, 181,  47,  56, 142,  52,  47,  22, 105, 254,  39, 242,  98, 
-               177, 141,  55, 145,  23, 155,   6, 115, 157,  51, 208, 121, 159, 104, 185, 
-               224, 255,   7, 198,  90, 158, 133,  34, 141, 179, 188,  88, 196, 113, 149, 
-                23,  27, 151,  48,  58, 122, 112, 242, 216, 232, 100,  24,  91, 103, 143, 
-                80, 178, 223, 141, 181, 121,  22, 138, 247, 175, 155,  23,  75, 237,  39, 
-               218, 167,  25, 118,  50,  97,  93,   3, 148,  23, 234, 154, 208,  56, 114, 
-               128, 185, 109, 107, 236, 156,  56, 122, 172,  19,  77, 203, 169, 111, 238, 
-               111,   3, 145, 134, 210,  39,   0, 140, 252, 108, 246, 191, 206,  88, 248, 
-                91, 233,  19,  24, 122,  37, 192, 200, 143, 238, 249, 157, 183,  14, 122, 
-                86, 194,  74, 175, 100, 232, 211, 251, 195,  88, 193, 189, 249, 156,  67, 
-               138,  26, 244, 166, 148, 149,  30, 105,  40, 189,  22,  96, 228,  39, 158, 
-               237,  72,  50, 208, 151, 177, 210, 107,  25, 250, 220, 126, 176, 175, 132, 
-               123, 241,  60,  75, 146,  62, 173, 156, 149,  30, 105,  40, 125,  42, 192, 
-               200,  79,  60, 147, 150, 238, 192,  96,  43, 125,  42,  67,  31,   0,  48, 
-               242, 179, 217, 203,  35, 151, 247, 109, 201, 141, 117, 173, 244,   1,  12, 
-               125, 118, 223,  88, 175,  84, 134,  94,  74,   7,  52, 126, 204, 252, 247, 
-               101, 230,  31,  96, 228, 103, 221, 151,  59, 239,  66,  90, 109, 102, 254, 
-                25, 122,  37, 192, 200, 143, 221,  83,  56, 229,  80, 140, 153, 127, 134, 
-                62, 253,  29,  24,  59, 184, 103, 247, 170, 206, 232, 245,  53, 153, 249, 
-               127, 135, 153, 127, 128, 149,  86, 122, 201,  37, 144,  83, 132, 153, 127, 
-               134,  62, 183,  15, 204,  63, 220, 219, 239, 151, 237,  89, 232, 170,  51, 
-               243, 223, 135, 153, 127, 128, 181, 182, 244,  78, 101,  48,  22,  98, 230, 
-               159, 161,  15,   0,  24, 249,  49, 207,   7, 156,  14,  95, 142, 142, 153, 
-               127, 134,  62, 187,  55, 204, 191, 133,  94, 218,   2, 164, 121,  49, 243, 
-               223, 155, 153, 127, 128, 145,  31, 115, 214, 239,  92,   1, 170,  48, 243, 
-               207, 208,  43,   1,  70, 126, 108,  12, 238, 116, 254,  10,  48, 243, 207, 
-               208, 167, 247, 130, 249,  71, 122, 230, 252, 219,  25, 125,  78,  69, 102, 
-               254, 123,  49, 243,  15, 176, 210,  74,  47, 169, 129,  58,  15, 102, 254, 
-                25, 122, 140, 241, 144, 159, 195,  25, 188, 253, 252, 149, 103, 230, 191, 
-               167, 149, 158, 136, 252,  28,  98,  99, 123,  17, 166,  60,  86, 208, 248, 
-                23,  99,  94,  26, 255, 226, 187, 204,  48,  30, 182, 139, 127,  37, 223, 
-               111, 248, 186, 241, 175, 205, 115, 126, 136, 127,  85, 221,  98, 189, 140, 
-                69, 156, 196, 191, 127,  67, 236,  11, 151, 177,  43, 200, 213,  22, 230, 
-               182, 219, 219, 248, 247, 223,  20, 255, 234,  96,  62, 116, 221,  98, 189, 
-               242,  45, 155,  16, 105, 189,  94, 252,  75, 117, 194,  62, 254,  69, 185, 
-               242,  27, 255, 206, 235, 102, 141, 165, 112, 192,  80,  79, 165, 226,  32, 
-               212,  81, 186,  14, 141,  93, 242,  30,   7,  33,  13, 165, 215,   1, 140, 
-               252, 242,  18,   7, 233,  24, 122, 130, 244,  93, 242,  22,   7,  17, 134, 
-                62, 173,  51, 204, 107, 151, 188, 197,  65,  72,  67, 233,  53,   0,  35, 
-               191, 188, 196,  65,  26, 134,  62,  39,  42, 214,  11, 249, 229,  37,  14, 
-                66,  26,  74, 175,   7,  24, 249, 229,  37,  14, 210,  51, 244,  42, 128, 
-               145,  95,  94, 226,  32,  21,  67, 111, 236,   4, 251, 194, 168, 188, 197, 
-                65,  72,  99, 153, 127, 128, 145,  95,  94, 226,  32,  29,  67,  79,   0, 
-                70, 126, 121, 137, 131,   8,  67, 159, 214,  17, 230, 191,  83, 222, 226, 
-                32, 164, 177, 204,  63, 192, 164,  83, 222, 226,  32,  13,  67, 159, 211, 
-                 1, 230, 191,  99, 222, 226,  32, 164, 177, 204,  63, 192, 154, 142, 121, 
-               139, 131, 244,  12, 189,  10,  96, 228, 151, 151,  56,  72, 197, 208,  27, 
-               219, 195, 252, 119, 200,  91,  28, 132,  52, 150, 249,   7,  24, 249, 229, 
-                37,  14, 210,  49, 244,   4,  96, 228, 151, 151,  56, 136,  48, 244, 105, 
-               237,  96, 254, 219, 231,  45,  14,  66,  26, 203, 252,   3,  76, 218, 231, 
-                45,  14, 210,  48, 244, 232, 235, 145,  95,  94, 226,  32, 164,  97, 227, 
-                32,  77, 187, 188, 197,  65,  24, 251,  52, 101, 232,  49,  46, 178, 198, 
-                65, 248, 107, 114, 142, 195, 159, 223, 239, 193,  59, 251,  83, 181, 200, 
-               219,  59, 234, 126, 241, 244,  62, 232, 234, 123, 240, 111, 250,  93, 150, 
-               246, 223, 243, 148, 251,  30,  60, 202,  18, 212, 182, 136, 230, 175, 166, 
-               211, 223, 208, 247, 224, 243, 247, 247, 127, 237, 187, 159,  81, 173,   9, 
-               193, 135, 221, 248, 110, 195,  32, 106, 191, 236, 222, 165,  16, 213, 154, 
-               126, 119, 185, 185, 211, 177, 208,  61, 122, 252, 198,  95,  49, 203,  17, 
-                87, 207, 106, 217, 252,  62,  79,  27,  92, 218,  31, 236,   3, 237,  15, 
-               126,  31, 154, 125, 119, 163, 165,  63, 129,   1,  78, 219, 204, 126, 232, 
-               186,  63, 250, 174, 102,  94, 170,   8, 176,  51,  17, 174, 215, 155,  39, 
-               177, 126,  15,  97,  95,  84,  77, 152,  13,  77, 227,  74,  61,  95,   6, 
-                31,   0,  56,  62, 120, 142, 218, 177,  63, 156,  67, 124,  40, 124,  39, 
-                 3, 218, 105,  36, 242, 219,  31, 245, 133,  38,   1, 104, 145, 143, 240, 
-               172,  58,  69,  97, 194, 178, 216, 224,  57,  89, 108,  25, 124, 236,  24, 
-               234,  80, 166, 111, 156, 108,  71,  75, 191, 251, 130, 253, 170, 103,  25, 
-                 7,  15, 136, 102,  57,   8, 251,  77, 130,  12, 237, 196, 254,  54, 176, 
-               153,  27, 103, 239, 168,  53, 207, 145, 233, 229, 203, 151, 166, 165,  75, 
-               151,  10, 215, 139,  23,  47, 164, 102, 149, 206,  23, 206,  17, 157,  47, 
-               252, 254,  47, 171, 131, 214, 249, 146, 120,  79, 190, 204, 124,  25, 121, 
-                51, 175,   4,  53, 248,  37, 141, 235, 249, 242, 102, 230,  76, 228,  46, 
-               228,  33,  55, 153, 222,  80, 115, 232, 204,  57, 181, 156, 254,  89, 158, 
-                39, 106, 204, 243, 133, 252, 112, 174,  19, 132, 185,  22, 115,  11,  82, 
-               136,   9, 203, 112, 190, 236, 202, 140,  67, 237, 202, 246,  66,  89, 178, 
-                29, 109, 240, 244, 134, 198, 227, 130,  44, 214,  50, 144, 207, 184, 231, 
-               204, 185,  44, 187,  50, 205, 126,  39, 101, 135, 236, 104, 233,  89,  47, 
-               142,  83,  61, 139, 141, 226,  72,  65, 130,  63, 109, 208,  83, 200, 179, 
-                45,   0, 119,   8,  43,  64,  47,  60, 225,  14,  97, 220, 117, 121,  17, 
-                79,   1,  22, 190, 215, 195, 153, 199, 184, 129, 141, 157, 115, 161,  35, 
-                41,  41,  41, 236, 229, 218,  27, 230, 157,  15, 247,  47, 231,  67, 117, 
-                31, 245, 221,  98, 123, 193, 127, 179, 239, 111, 176, 232, 190, 196, 247, 
-               238, 211,  31,  72, 235, 190,   6, 248,  42,  67, 204, 188, 210,  51,  75, 
-               122, 212,  33,  81,  46, 117, 191,  43,  49, 255,  96, 169, 147, 254, 182, 
-                52,  95, 246, 186,  79, 159, 117, 152, 203,  45, 207,  97, 194, 173, 123, 
-               234, 180,   2, 230, 103,  22,  61,  10, 226, 175,  80,  71,   9, 107, 162, 
-               171, 184,  44, 217, 239, 204, 163,  30, 154, 203, 136, 179,  50,  98,  87, 
-                70,  28, 241, 244,  70, 137,  50,  59,  90, 163,  51, 126, 248, 142, 166, 
-               198,  78, 240, 236, 101,  57, 200,  57, 148,   9, 120,  45,  29, 249,  25, 
-                53, 142, 101,  44, 158, 130, 182, 235,  76, 230, 150, 142, 109,  24, 157, 
-               180, 235,  48, 126, 196, 121, 153, 209, 201, 152,  26, 157, 180, 235, 116, 
-                62,  90,  58, 226,  57, 200, 162, 177,  47, 227, 204, 188, 236, 199, 165, 
-               165, 253,  24, 112, 102,  58,  39, 120, 206, 218, 112,  24,  43, 137,  50, 
-               135, 254,  74, 148,  57, 140, 115,  99,  39, 178,  56, 105,  67, 160, 117, 
-               210, 174, 109,  25, 252, 241, 142, 122,  37, 240, 215,  56,  41,  35, 142, 
-               101, 122,  39,  99, 224, 172,  93,   7, 221, 213, 176, 186, 207, 200, 119, 
-               208, 201,  56,  27, 157, 204, 165, 209, 137, 124,   7, 109, 117, 215, 232, 
-               132, 159,  94, 162,  93,   7, 126,  18, 101,  14, 242, 101,  74, 224,  57, 
-                41, 115, 218,  95, 103, 253, 112,  82, 166, 119,  50,   6, 196,  73, 153, 
-                62, 195, 201, 250, 176, 111, 215, 104,  50, 165,  24, 157, 172, 203,  12, 
-                39,  54, 204, 232, 100, 237,  27, 157, 216,  23,  39, 101, 246,  50, 147, 
-               131,  78, 218,  61, 248, 202, 100,  50,  56, 177,  37,  70,  39, 246, 202, 
-                89, 187,   7, 157, 216,  48,  59,  61, 208,  59, 195,  35, 206, 203,  28, 
-               100, 118,  38, 139,  51, 126,  78, 250, 171, 119, 160,  69,  63, 131,  65, 
-                 9, 250, 188, 122, 150, 133,  82,  90, 136, 208, 148, 226, 243, 134,   2, 
-                16, 193, 208, 223, 198, 196,  39, 244,  74, 209, 135,  41, 136, 249,  21, 
-               125, 158,  16, 177,  21,  20, 226,  27, 164,  84, 194, 157,  57, 217, 220, 
-               155,  20, 130,  88,   7,  99, 160, 106, 112,  21, 133,  59, 111,   1,  46, 
-                76, 124,  72,  17,  82,  28, 224,  96, 248, 191,   8, 212,  40, 133, 242, 
-                98,  80,  83, 156, 148,   5, 184,   4, 252, 143, 245, 165, 197,  35, 244, 
-                18, 164,  36,  41,  37, 192, 126, 164,  12,  64,  37,   5,  28, 252,  30, 
-                95,  41,   1,  31, 191, 215,  91,  12, 160,  82,  66, 121,   5, 226,  11, 
-               126, 182, 156,   0, 151,   3, 168,  50, 169,  36, 224, 148, 135, 154, 114, 
-               164,  34, 192, 203, 225, 255, 114,  80,  90,   7, 224,  57, 128,  81,  21, 
-                90, 175,  44, 224, 248,  18,  21, 220,  85,  17, 104, 171,  66,  59,  37, 
-                 4, 217,  33, 198, 128, 150,  75,  66, 137,  82,  40,  41,   1, 253, 175, 
-                46, 148,  87,   7, 136,  39,  53,   5, 184,  50, 212,  84,  39,  53,   4, 
-               184,   6,  64,  53,  73,  61,   1, 174,  69, 234, 146,  48,  82,  91, 104, 
-               171,  14, 180,  90,  23,  74,  16, 174,  11,  88, 245, 160,   6, 113,  42, 
-                 1, 117,  13,  40,  65, 184,  62,   9,  36,  65, 196,  95, 128, 253,   1, 
-               106,  64,   2,   0, 142,  36,  33,  80, 227,  79,  26,  10, 180,  13,   1, 
-                10,  32, 141,   0,  62,  13,  24, 193, 164,  49,  96,  33,  78,  32, 105, 
-                 6, 119,  65,   2, 109,  48, 105,  66,  58,  66,  13, 150,  55,  35, 157, 
-               224,  46,  88,  40, 175,  73, 112, 139, 219,  84, 128, 155,   2, 212,   9, 
-               106,  17, 174,   7,  53,  77,  73, 115,   1, 110,  14,  80,  51, 224, 134, 
-               112,  11,  18,  10,  45, 135,   8, 237, 214,   6, 121,  67, 161,   4, 225, 
-                80, 192,  10, 132,  26, 196,   9,   3, 234, 230,  80, 162,  20, 206, 244, 
-                11, 128, 129,   8,  23, 224, 112, 128, 212, 164, 139,   0, 243,  80,  19, 
-                14, 237,  41,   5,  61,  11, 135, 210,  78,   2, 220, 146,  68, 144,  86, 
-               128, 165,  20, 178, 114,  10, 194,  93,  75,   1, 142,  32, 173,  65, 242, 
-                86, 130, 110,  96,  92, 221,  26,  74,  16, 110,   5, 165, 109,  73,  27, 
-                 1, 110,   3,  80, 123, 210,  14, 224, 161, 192, 161,  21, 220, 107,   5, 
-                90,  45,  64, 237,  72,   7, 161, 239,  77,  72,  20, 233,  12,  35, 129, 
-               112,  39, 104,  53,  10,  74,  16,  39,  10, 176,  58,  64,  13, 150, 119, 
-                 1, 106,  45, 148,  40, 197, 152,  12,  38,  91, 136, 255,  26, 176, 206, 
-               195,  85, 252,  58,  97, 194,   4,  83, 100, 100, 164, 240, 121, 246, 236, 
-                89, 172, 249,  39, 133, 216, 127, 233,  66, 158,  79,  76,  76, 140,  41, 
-                36,  36, 196, 212, 186, 117, 107, 211, 196, 137,  19, 205, 124, 184, 188, 
-               243,  65, 122, 228, 131, 252, 242, 195, 231, 201, 147,  39, 216,  31, 225, 
-                83, 252, 141, 226, 215, 234,  23, 142,  75, 131,   6,  13,  76, 205, 154, 
-                53,  51,  45,  88, 176, 224, 181, 249, 168,  84,  42, 147, 183, 183, 183, 
-               169, 116, 233, 210, 216, 191, 215, 238,  23, 210, 163,  13, 196, 171,  66, 
-               133,  10, 175, 205, 167,  84, 169,  82,  22,  62, 208, 191, 215, 238,  23, 
-               229,  33,  94, 111, 132,  15, 140, 211, 107, 247, 235,  77, 241, 161, 227, 
-               131, 159, 176,  62, 164, 251, 101,  75, 103, 207,  87, 208,  31, 208,  27, 
-                65, 127, 222, 196,  56, 227, 252, 187, 156, 119,  25, 121,  80,  15, 113, 
-               125,  33, 159,  55,  49, 206,  56,  62, 111, 162,  95, 226, 120, 231, 139, 
-                15, 174,  47, 113, 157, 189,  17, 253, 177, 200, 227, 241, 223, 235, 151, 
-                56, 190, 212,  78, 191,  17, 253, 201, 207, 248, 136, 250,  71, 237, 116, 
-               190, 198,  89, 161,  80, 228, 123,  93, 208, 245,  37, 218, 251, 124, 249, 
-                47, 240,  55, 166, 201, 147,  39, 231, 203, 239, 208, 245,  37, 250, 195, 
-               215, 230,  35, 250,  99, 161,  95, 249, 241,  59, 162, 125,  23, 198,  25, 
-               198,  59, 223, 235,  75, 244,  63, 249, 210,  31,  26,  39, 228, 215, 127, 
-               209, 184,  37,  63, 250,  67, 249, 188,  41, 251,  99,  99,  55, 184, 255, 
-                46, 159,  55, 225, 151, 169, 253, 201,  47, 159,  55, 229, 119, 168, 253, 
-               201, 239, 248, 188,  41, 191,  44, 198, 151, 111, 204, 254, 228, 215, 174, 
-               138, 241, 247,  27, 179,  63, 111, 194, 239, 160, 254, 188, 137, 245, 133, 
-               243, 254, 166, 236,  79, 126, 227,   4, 113,  63, 144, 111, 251,  35, 218, 
-               247,  55, 182, 255,  18, 215, 217, 107, 247,  75, 244, 127, 111, 108, 255, 
-                37, 174, 179, 124, 239, 191, 100, 227, 112,  55, 214,   5, 213, 159,  55, 
-               181, 255, 202, 175, 254,  96, 252, 147, 223, 253,  23, 187, 143, 123,  83, 
-               251, 175, 252, 172,  47, 186, 207, 125,  83, 251, 175, 252, 246,  75, 180, 
-               239,  52, 222, 204, 151, 254,  80, 255, 149, 159, 184,  69, 244, 127, 111, 
-               196, 127, 209, 184, 197, 133, 254,  88, 114,  36,  90,  88, 159,  59, 226, 
-               247,   7, 217, 247, 110,  71, 181, 142, 138,  73, 138, 149, 206, 203, 200, 
-               249, 197, 245,  51, 119,  93,  19,  51, 175, 101,  71,  58, 121, 213, 209, 
-               118, 116, 249, 220, 177,  59,  92,  29, 173, 188,  51, 105, 249, 181,  19, 
-                69,  53, 213,  43, 239, 116, 235, 153, 251, 251, 248, 124,  17, 218, 105, 
-                36, 242,  67,  90, 205, 212, 245, 251, 216, 243, 225, 156,  19,  47, 121, 
-               219,  50, 133,  80, 182, 106, 193, 193,   3,  44,  94, 141, 225,  94,  26, 
-               103, 101, 187,  38,  36, 218,  60,  75, 159, 100,  80, 104, 126, 109,  52, 
-               221, 166, 236, 200, 194, 231, 252, 143, 237, 102, 219, 148, 133, 237, 185, 
-               202,  55, 175, 218, 202, 166,  44, 107, 211,  69, 158,  52, 158, 185, 151, 
-                45,  91, 181, 224,  42,  31,  52,  83,  99, 243, 108, 254, 167, 107,  79, 
-               249, 139, 237, 102, 219, 148,  45, 123, 228, 169,  57, 154, 243, 190,  77, 
-               217, 241,  28,  31,  77, 226, 143, 237, 212, 108, 223, 176, 236, 157, 191, 
-               150, 218, 224,  53, 232, 234, 169,  41, 122, 118, 171,  77,  89, 114, 205, 
-               103, 188, 121, 156, 173, 180, 127,   7, 254, 200, 247,  11, 155, 106, 131, 
-               215, 255, 131, 147,  40, 179, 205, 152,  78, 123, 112,  17, 250, 102,  59, 
-                 6, 169,   7, 159,  34,  63, 155, 178, 206, 241,   5,  52,  41, 239, 108, 
-               205,  98, 219, 192,  57,  58, 244, 116, 153,  13,  94, 205, 225,  94, 198, 
-                46, 241, 219, 108, 218, 189, 126, 162, 168,  93, 153, 130, 150, 217, 208, 
-               174,  59, 252, 155, 193, 182,  76,  33, 148, 141,  92,  55, 221, 161,  13, 
-               251, 178, 242, 171, 126,  53, 216,  63, 131, 171, 150, 253, 189, 161,  92, 
-               151,  41,  54, 120,  43,  34, 210,  13, 246, 125, 251, 227, 229,  60,  67, 
-               192,  31, 147, 237, 240, 244,  14, 252, 230, 214, 254, 200,  16, 229, 167, 
-                87, 219,  62, 199,  16, 248, 217, 148,  93,  94, 252, 189,  97, 251,  47, 
-                41,  54, 101, 187,  38, 124, 239, 192, 111, 234, 250, 227, 134, 160, 239, 
-                91,  58, 240, 179, 215, 151, 254,  97,  75,  29, 240,  94, 196, 124, 228, 
-               192,  15, 241, 186, 196, 183, 204, 178, 231, 103, 175, 207, 216, 174, 214, 
-                14, 175, 207, 154, 178, 134, 170, 211,  51, 108, 117, 119, 113,  29, 187, 
-                50,   5, 140, 105, 178, 193, 126, 222, 254,  57, 213, 215,  97, 222, 194, 
-                70,  70,  26, 110, 167, 151, 176, 193, 155, 241, 224, 126, 150, 125, 153, 
-               247, 138,  67,  89, 246, 180, 233,  31, 207, 207, 178, 111,   3, 172, 157, 
-                33, 226,  94,   7,  27, 249, 206,  69, 123,  24,  82, 147, 251, 216, 172, 
-               243, 119,  63,   8, 113,  40, 211, 251, 116, 118, 224, 167, 153, 253,  81, 
-               184, 125,  89, 218, 184, 205, 234, 176,  61,  99, 109, 202,  98,  15, 252, 
-               170, 182,  31, 231, 221,  19, 182, 171,  87,  68,  36, 216, 200, 162,  79, 
-               156,  27, 110, 175, 247,  98, 187,  54, 101,  26, 191, 236,   3,  35, 214, 
-                77, 183, 157, 243, 142,  61, 194, 237, 203, 180, 126, 115, 212, 197,  42, 
-               182, 176,  41, 203, 105, 244, 181, 131,  44, 217, 147,  22, 168,  67,  70, 
-               214, 176,  29, 171, 138, 113, 225, 246, 235,   3, 219, 181,  47,  83,  86, 
-               172, 203, 219, 203, 231, 187, 170,  56, 111, 191,  86, 197,  50, 103, 180, 
-                54, 243, 118, 164, 205,  94,  71, 126,  93, 182,  56, 242, 131,  50, 207, 
-                21,  17, 182,  54, 118, 228,  16,   7, 218,  78, 126,  90,   7,  90, 177, 
-               204, 134, 246,  75, 101, 172, 131,  44,  88, 118, 114,  18, 111,  59,  31, 
-               239, 108, 117, 160,  21, 101, 206, 178, 127,  14,  57, 195, 195, 236,   3, 
-               235, 137, 190, 205, 151, 148,  37, 229,   8,  17, 158, 237, 248, 146, 138, 
-               112,  71, 132, 103,  62, 190, 164,   2, 220,  81,  24, 159, 234,  17, 225, 
-                89,  98, 117,  82,  11,  74, 136, 240,  60, 167,  22, 241,  19, 225, 106, 
-               194, 147, 184,  90,  34,  92,  27, 202, 107, 137,  56, 181, 133, 167, 122, 
-               230, 242,  74, 128,  83,  93,  44, 175,  68, 106,   8, 111,   9, 198, 242, 
-                58, 128,  83,  91,  44, 199,  39, 116, 149,  44, 112, 125,  82,  67, 196, 
-               169,  11,  56, 117, 196, 242, 186, 164,  42, 220, 153, 203, 235,   1,  92, 
-               215, 130,  95,  15,  40, 104,  57,  62, 113,  52, 195,  85, 224, 174, 178, 
-               136, 227,  79,  26, 144, 134,  98, 127, 253, 133,  39, 122, 230,  56, 164, 
-                49, 244, 173, 129, 136, 239,  79, 154, 146, 198,  34, 220,  68, 120, 238, 
-                71, 105,   3,  72,  83,  17,  63,   0, 106, 154, 138,  56,   1,  36, 144, 
-                52,  17, 224,  18,   0,   5, 139,  48,  62,  87, 108,  36, 188,  99,  92, 
-                41,  60,  45,  12,  38, 129,   2, 220, 147,  52,  35, 106,  18,  46, 242, 
-                84, 147,  48,  17, 174,   6,  48,  79, 194,  68,  62,  60,   9,  21, 225, 
-               106, 128, 143, 120, 102,  88,   3, 229, 188,  72, 171,  33,  33,  36,  84, 
-                44, 111,   9, 176,  70,  44, 143,   0, 184, 165,   5, 110,  65,  66,  68, 
-               156,  86,   0,  71, 136, 229, 173,  72, 115, 210, 194, 194,  31, 159, 246, 
-                81, 184,  57, 220, 153, 101, 104,  75,  90, 147,  54, 226,  88, 181,  37, 
-               237, 224, 206, 220, 151, 206, 164,  19, 137,  18, 203,  59,  19,  45, 233, 
-                36, 246,  87,  11,  26, 213,  73, 228, 211, 145, 180,  39,  29,  68, 156, 
-               142, 164,  27, 220, 153, 203,  59, 147,  46,  68,  43, 242, 233,  10,  53, 
-                90,  81, 158, 174, 128, 211,  81, 108,  87,  73, 138,   9, 239, 226,  68, 
-                90, 124, 166,  93,  76, 164,  85, 146, 194, 112, 103, 110, 171, 176, 240, 
-                76, 219, 140,  95, 132, 248, 136,  48,  62, 123,  45,  36, 188, 155,  84, 
-                41,  60,  65,  46,  36, 224,  34, 255,  18, 194, 147, 114,  90, 238,  37, 
-               228,  63,  34,  92,  18, 224,  18,  34, 142,  66, 140, 245, 148, 164, 160, 
-               144,  67, 168,  16,  96,  79,  82, 134, 152, 191, 201, 165,  20, 158, 212, 
-               151,  17, 225,  72, 160,  45,  40, 188,  41,  21, 249,  20, 128, 114,  79, 
-               177, 188,  20, 148, 151,  20, 225, 130,  80,  94, 192,  82,  94,  70, 248, 
-               166, 186,  82, 120, 166,  94,  90, 224, 139,  50, 227, 186, 244,  45,  99, 
-               142,  73,  27, 136, 235, 210, 241, 185, 136, 109, 153, 201, 238, 143, 198, 
-               230, 210,  57, 138, 121, 227, 195, 189, 229, 243, 150, 207,  91,  62, 111, 
-               249, 188, 229, 243, 150, 207,  91,  62, 111, 249, 188, 229, 243, 150, 207, 
-                91,  62, 111, 249, 188, 229, 243, 150, 207,  91,  62, 111, 249, 188, 229, 
-               243, 191, 132, 143, 212, 111, 245, 254, 111, 231, 243, 118, 222, 255, 127, 
-               228,  67, 115,   4,  48,  47, 128, 230,   8, 224,  59, 214,  48, 103,  64, 
-               151, 104, 126, 182,  31, 213,  26, 223, 239,  70,  95, 111, 220, 204,  33, 
-                71,  64, 229, 226, 187, 201,   1, 192, 183,  78, 128, 143, 240, 138,  84, 
-               227, 192, 142,  94, 198,   7, 237, 189, 234, 144, 158, 146, 121,   2, 103, 
-               224,  10, 225, 204, 188, 151, 181, 141,  48,  36,  92,  95, 139, 121,   1, 
-               153, 138, 196, 233, 154, 187,  15, 234, 105, 140, 123, 207,  56, 228,   8, 
-                40, 152,  94,  89, 126,  67, 182, 177, 245, 187, 201,  57,  30, 226, 251, 
-                84, 149,  32,   3, 180, 223,  72, 108, 167, 195, 198, 233, 134, 221, 101, 
-               234,  24, 106, 142,  86, 242, 234,  39, 222, 207, 151, 167,  16, 211, 207, 
-               156, 191, 161, 107, 169,  97, 134, 209,  85,   7, 240, 225,   5,  54,  94, 
-               214,  78,  34, 166, 105, 191,  63,  10,  63,  60,  38, 214,  80,   3, 240, 
-                30, 112,   3, 158, 223,  76,  81, 152, 254,  60, 119, 196, 208, 254, 244, 
-               117,  67, 187, 216, 123, 234, 121, 109,  21,  75,  86,  62,  35, 166,  91, 
-                23,  46,  27, 102, 241, 223,  26,  10, 247, 111, 200,  39,  60,  46, 253, 
-               119, 206,  20,  98, 154, 161, 254, 219, 176,  40, 108, 167, 128,  55, 251, 
-                73, 175, 103,  75, 128, 246,  94, 124,   5, 227, 173, 141, 255,  24, 102, 
-                76, 250,  65,  93,  61,  55, 253,  21, 129, 118,  75, 173,  43, 101, 252, 
-               114, 122,  33, 227, 135,  35, 235, 242, 145,  59, 159,  13,  91,  82, 132, 
-               152, 234,  61,  44, 102,  60, 221,  95, 105,  68, 188, 201, 161,  91, 230, 
-                47, 121,  69,  76,  85, 207,  55,  53, 206, 158,  90, 194, 168,  91,  90, 
-               153, 247, 206, 217,  60, 190, 153,  74,  97, 106,  24,  94, 213,  24,  31, 
-                84, 194, 120, 123, 108,  16, 223, 161, 114, 244,   7,  87,  47,  17,  83, 
-               185, 254, 213, 141, 199, 122,  61,  51, 196,  71,  29,  81, 255, 241, 115, 
-               183, 247, 198, 189,  32, 166, 217, 217,  26, 129,  54, 197,  84,  67, 125, 
-               238, 215, 244,  73, 231, 255,  84,  88, 218, 189, 153,  89,  87,  29, 220, 
-               186, 248, 226, 185,  62, 214, 126, 140, 250, 106, 166, 250, 158, 199,  55, 
-               164, 164, 158, 152, 126, 129, 113, 209, 194, 184, 244, 215,  44,  83, 207, 
-                47,  84, 236, 214, 231, 211, 136, 165, 221, 230,  11,  23, 133, 143, 185, 
-               243, 193, 248, 117,  23,  21, 166,   1,  91, 226,  13, 207, 135, 151,  50, 
-               206, 219, 145, 193,  55, 189, 186, 117, 124,  55,  63, 133,  73,  85, 239, 
-                70,  86, 169,  65, 127,  24, 106, 173,  89, 192,  95, 120,  53,  75, 249, 
-               199,  20, 133, 233, 157,   6,  93, 213, 149,  55, 191,  52, 248,  70, 207, 
-               230, 163, 148, 127,  78, 233, 175,  32, 166, 202, 123,  86, 242,  61, 111, 
-               221,  53, 204, 239,  59, 154,  31,  86, 170, 208, 227, 170,  48, 126, 126, 
-               223, 127, 206, 127,  80, 253,  39,   3, 231,  49, 134,  15,  46, 193, 229, 
-               126,  63, 153, 152,  38, 141, 249,  73,  29, 215,  53,  35, 107, 157, 223, 
-                42, 190,  65, 241,  90, 127, 158, 159, 172,  48, 205,  76, 175, 148,  85, 
-               201, 191, 180, 177,  94, 253,  61, 124,  56,  41,  54, 239, 228,   9, 133, 
-               233, 175,  42, 105, 106,  44, 219, 123,  55, 133,  47, 224, 179,  87, 191, 
-               255,  41,  49,  69, 102, 252, 200,  79,  25,  95, 214, 184, 179, 121, 123, 
-               126,  72, 248, 226, 212,  95, 238,  43,  76,  21,  14,  63, 231,   3, 215, 
-                43, 132, 178, 145, 222,  15, 114, 207, 129, 124,  91,  23, 255, 196,  79, 
-               168,  30,  97, 184, 117,  62, 133, 255, 165, 200, 236,  63, 195,  65, 150, 
-               176, 167, 243, 213,  63,  21, 169, 199, 123, 167, 110, 231,  15, 150,  56, 
-               153, 123,  17, 218,  93,  61, 244,  10, 255, 207, 186, 245,  89, 229, 160, 
-                31,  83, 189, 130, 254, 250,  10, 240, 252,  85,  31, 242,  77,  46, 174, 
-               225, 251, 244, 220, 196,  15, 171, 181, 162, 224,  31,  19, 137, 233,  82, 
-               216,  51, 126, 205,  79,  83, 248, 169, 189, 151, 241, 171, 154,  15, 233, 
-                61, 186, 131, 194,  20,  30, 179,  90, 125, 243, 153, 143,  81,  55,  99, 
-                61, 223, 250, 217, 168, 247, 134, 249,  17, 211, 177,  31,  15, 243, 117, 
-                39, 251,  24, 145, 159, 230, 214, 236, 232,  37, 233, 196, 148, 116, 225, 
-                59, 254, 220, 225,  39, 134,  87, 218,  15, 248,  93,  53,  54, 223,  49, 
-                76,  32, 166,  86, 157,  55, 240,  43, 119,  55,  50,  68, 116, 201, 228, 
-               163, 203,  85, 186, 249,  23, 232, 233, 211, 144,  84, 222,  72,  78, 134, 
-               125, 165,  63, 193, 231,  60,  27, 124, 181, 193, 251, 196, 116, 254, 199, 
-               157, 252, 198,  35,  65, 134,  47, 238, 204, 228, 239,  87, 223,  92, 239, 
-               219, 121, 196, 212, 125, 210, 167, 252, 238, 161, 235, 213, 158, 119, 143, 
-               242,  47,  94, 252,  94, 240,  40,  62, 215, 175, 252,  55, 223, 174, 228, 
-               169,   3,  89, 176, 190,  30,  20,  41, 255, 240,  42, 140, 193, 142, 163, 
-                87, 120, 255, 250, 233, 134,   6,   7, 134, 243, 247, 254, 220, 118, 101, 
-               238,  68,  51, 237,  94, 160,  93, 191, 184,  35, 191, 224, 236, 136, 178, 
-               229, 230, 153, 219, 189,  10, 237, 246,  25, 217, 134, 175, 127, 243,   7, 
-               238, 231, 105, 102, 249,  86, 128, 124, 103, 230, 132, 242,  59,  95, 164, 
-               120, 181, 214,  91, 251, 177, 119,  84,   5, 126,  87, 161,  93,   5,  63, 
-               210,  91, 251,  59, 103, 163,  47, 223, 254,  69, 165,  30, 177,  58,  24, 
-               103, 113,  92, 254, 172,  25, 197, 207, 243, 153,  59, 173,  96,  89,  98, 
-               154,  35, 206, 111, 242, 199,  60,  95, 170, 112, 165, 121,  67, 154,  40, 
-                76,  23, 135, 204,  16, 116, 237,  72, 217, 113, 188, 239, 149,  51,  19, 
-               180, 127,  40,  76,  81, 220,  71, 198,  73, 171, 187,  25, 134, 213, 237, 
-               208, 120, 208, 201,  99, 115, 241,  81, 109, 159,   3, 223,  26, 230,  15, 
-               255, 152, 111, 182,  45,  84,  29, 243, 234,  94,  85, 229,  12,  98, 186, 
-               204, 253, 144,  53, 126, 110,  45, 205, 182, 244, 202, 124, 173,  87, 183, 
-                91, 205,  90,  72,  76, 189,   7, 220, 205, 122,  39, 129, 215, 212,  78, 
-               155, 192, 239, 250, 235, 218, 128, 185,  95,  41,  76,  29,  58,  22,  54, 
-                46, 184,  81,  86,  19, 152,  51, 144,  79, 184, 249, 115, 212, 131, 213, 
-               196, 116, 113,  97,  35, 227, 205, 140, 177, 252, 135, 165,  14, 170, 253, 
-               188,  13, 229,  43, 131,  78,  86, 107,  81, 193, 184, 239, 230, 112,  94, 
-               147, 229, 167, 110, 121,  34, 240, 102, 242,   2,  98,  90,  49, 166, 149, 
-               113, 218, 218,  52, 126, 147, 166, 126, 227, 162,  30, 253, 174, 205, 154, 
-                78,  76, 235, 199,  61,  51, 140, 223, 245,  55, 255, 217, 129, 106, 234, 
-                34,  79, 155,  54,  59,  48,  79,  97, 218, 149,  18, 105, 248, 231,  85, 
-                 3, 141, 102,  67,   5, 222, 244, 244, 188, 246, 239,  85, 196, 244, 235, 
-               165,   9,  70, 227, 190, 247, 249, 210, 215,  10, 241, 223, 158, 253,  89, 
-                91, 183, 151, 194,  52, 240, 183,  84, 227, 167,  75, 170, 102, 197,  53, 
-               201,  80,  87, 221, 245, 135, 103, 197,  56,  98, 250,  99, 238,  44,  99, 
-               175, 182,  93,  13, 151, 126, 251,  73, 221, 240, 116, 120, 243,  53,  67, 
-                21, 166, 232, 238, 195, 141, 187, 103,  86,  51, 212,  10, 216, 170, 158, 
-               123, 157, 203, 104,  50, 136, 152, 174, 169, 206,  25,  98, 215, 220,  53, 
-               240,  71,   9,  63, 227, 105, 207,  45, 189, 160, 172, 224, 163,  43,  89, 
-                39, 238, 237,  53,  84, 250, 214, 139, 191, 204, 169, 183, 182,  27,  76, 
-                76,  95,  20, 219, 160, 238, 188, 112, 131, 161,  67, 216, 123, 252, 189, 
-                95,  14, 236, 234,  57, 132, 152, 122,  53,  40, 173, 217, 186, 231,  47, 
-                67, 129, 152,  72,  62, 160,  82, 139, 207, 174, 118,   6,  29,  63, 219, 
-                65, 115, 209, 235,  99, 195, 247, 191,  38, 243, 103, 251,  94,  57, 215, 
-               188, 139, 194, 164, 245, 111, 165, 249, 167, 243,  44, 245,  63, 239,  69, 
-               242, 127,  13, 234,  18, 124,  95,  77,  76, 241, 254, 158, 198,  65,  39, 
-               215, 170, 251,  93,  94, 174, 142, 244, 218, 217,  38,  97,  56,  49, 141, 
-               187, 178, 216, 208, 185,  73,  81,  62, 173, 104,  49, 254, 175, 156, 175, 
-               155, 252,  51,  26, 198, 111, 203, 111,  89, 131, 122, 127, 198, 171, 166, 
-               151, 226, 199,  95, 240, 141,  24,  29,  67,  76, 103, 134,  22, 208, 156, 
-                57,  52, 149, 111, 177, 216, 135, 175, 173,  25, 217, 219, 212, 138, 152, 
-               116, 223, 133, 240,  37,  55, 110, 230,  91,  13, 232, 205, 235, 185, 101, 
-                81, 199,   1,  47, 179,  96, 117, 227, 209, 131, 151, 213, 159, 156, 248, 
-                71,  61, 191, 225, 229, 218, 199,  18, 136, 233, 235,  29,  61, 141,  83, 
-               127, 190, 175, 222, 186, 172,  58, 191, 225,  69, 159, 234,  79,  97, 125, 
-                24, 150, 119,  52, 250, 110, 218, 125,  96,  85, 223,  65, 252, 242,  23, 
-               237,  31,  47,   2,  91, 124, 247, 115,  63, 227, 205, 150,  17, 134,  67, 
-               195, 159, 168,  67, 174,  15, 248, 173,  24, 224,  45,  57,  86, 210,  56, 
-                38, 100,  16, 159, 102, 122,  21, 124, 179, 243, 201,  33, 132,  40,  76, 
-               133, 115, 139, 241, 219,  58,  84,  54,  28, 120, 178, 156, 127, 244,  98, 
-               225, 171,   7,  64,  27, 116, 244, 104, 214,  77, 159,  62, 134, 196, 164, 
-                 0, 222, 227, 228,  38, 226, 147,  76,  76, 169,  93,  27, 241, 165, 135, 
-                29,  82, 151,  58,  59, 147, 127, 247, 229, 156,  82,  19, 192,  30,  36, 
-               214, 249,  52, 235, 121, 250,  65,  53, 246, 173, 242, 181, 237, 222, 181, 
-                97,  93, 214, 105, 241,  53, 191, 224, 231, 139, 134,  18,  47, 218, 243, 
-               199, 239,  87, 202, 232,   9, 253, 184,  54,  56, 198,  48, 216,  56,  67, 
-               240,  71,  37, 189,  35, 142, 222,  31,  67,  76, 105, 223,   4,  25,  98, 
-                75, 149,  53, 220,  30,  58,  67, 125,  84,  83,  46, 247, 208,  39, 196, 
-               244, 153,  88,  86, 199, 103,  24, 191, 161, 228, 222, 194,  13, 160, 141, 
-                89,  97,  51,  14, 236, 228,  19, 179, 208,  71,  29, 242, 212, 151, 138, 
-               131, 245, 187,  88,  57, 208,  48, 161,  77, 143,   3, 177, 153,  69, 248, 
-               197,  47,  61,  42, 150,   5,  61, 173,  85, 225,  67,  67, 165,  86, 213, 
-                12, 131, 170,  39, 241, 127, 148,  53, 229, 122,  65, 217, 203,  27,  95, 
-                25,  50,  79, 206,  54, 140, 159,  90, 146, 255, 161, 232, 185, 203, 219, 
-                97, 157,  55, 241,  87,  26, 191, 155,  58, 255, 192, 200,   9, 185, 234, 
-                65, 164, 155, 223, 226, 247, 136, 169, 118, 165, 127,  12,   7, 251, 111, 
-                53, 204,  45,  26, 198, 183,  63, 231, 113, 112, 242,  80,  98, 242, 233, 
-               252, 139, 193, 247,  66,  57, 195, 170, 228, 100,  62, 226, 207,  31,  61, 
-                50, 160, 221, 171, 233,  91,  13,  13,  11,  21,  86, 183, 225, 130, 248, 
-               211, 207, 118,   6, 158,  31,  75,  76,  47, 238,   4,  26,   7, 175,  52, 
-                24, 180, 101,  62,  82, 119, 202,  30, 191, 143,  68,  19, 211, 189,  43, 
-                77, 140, 223, 116,  59, 103,  80,  15, 215, 102, 100,  28, 152, 241,   9, 
-               142, 115, 135, 139,  75, 248, 230,  93,  11,  24, 111, 220, 110, 180, 195, 
-               227, 215, 158,  51, 176, 236, 179, 211, 227, 140, 125, 219, 181,  49, 116, 
-                44,  52,  59, 120, 224, 141, 130, 248, 179,  18, 166, 247, 215,  95,  52, 
-               244, 217, 227, 109, 108, 190,  97,  94, 102, 199,  71, 201, 122,  44, 235, 
-               152, 194,  25, 126,  30, 114, 215,  48, 117, 220, 141, 204, 150, 117, 244, 
-               179, 144, 182, 114, 218,   2, 245, 156, 178,  71,  12,  31,  23,  44, 190, 
-               163, 210, 237, 146, 211, 132, 212, 141,  19, 149,  52,  97, 137,   5, 141, 
-                31,  94, 237, 177, 163, 127,  80, 143,  15,  17, 175,  74, 183,  94, 154, 
-                98, 191,  45,  54, 180, 237, 213, 110, 199, 165, 241,  37, 126,  64, 188, 
-               117, 105,  81, 154, 207,  78, 125, 169, 206,  92,  89, 126,  71, 145, 164, 
-               138, 205,  17, 239,  69, 143, 103, 134, 109, 193,  74, 254, 213, 185, 144, 
-               224, 114,  37,  46,  77,  65, 188, 247, 154, 109,  52, 180,  57,  18, 205, 
-               175, 107, 250,  85, 208, 149,  29,  61,  49, 155, 210, 212, 195, 207,  71, 
-               179, 123, 209,  90, 126,  96, 173, 207,  50, 181, 161,  35, 199,  32, 173, 
-               178,  85,  51, 254, 230, 153,  43, 252, 135, 127, 108, 205, 200, 245,  50, 
-               164,  96, 217, 148,  39, 181,  13,  47, 134,  27, 249,  79,   7,  13,  11, 
-                78,  59, 252,  19, 190, 118, 206, 244, 104, 239,  74,  99,  90, 137, 213, 
-                89, 239, 206, 141, 107,  60,  79, 223, 234,  33, 226, 233,  47,  77,  53, 
-               246, 110,  48, 154,  31,  82, 184, 119, 227,  46, 155,  46, 234, 176, 236, 
-               185, 117,  76, 179, 132,  49, 253,  12, 116,   8, 198, 190, 177, 121, 236, 
-                13,  56, 246, 245,  63,  36, 166, 162,  48,  71, 101,  97, 142,  86,  39, 
-                39,  27, 112, 142, 162, 166,  42,  44, 115, 249,  81, 209,  48,   3, 206, 
-               229, 244, 229, 230,  57,  63,  14, 115,  30,  55,  33,  55,  11, 231, 124, 
-                 4, 216, 201,  87, 160,  27,  25, 160,  27, 147, 166, 150,  52, 160, 110, 
-               116, 158,   5, 122,   0,  58,  84,   1, 116,  40, 166, 122, 146,   1, 117, 
-               232,  41, 216, 251,  37, 160, 107,   9, 160, 107, 195,  51, 139,  24,  80, 
-               215, 238,  64, 153,  30, 116,  50,  29, 116, 178, 206, 104, 165,   1, 117, 
-               114,  41, 180, 187,   6, 116, 119,  40, 232, 110,   3, 159,  97,   6, 212, 
-               221, 115,  83, 173,  58, 158,  59, 116,  70,  22, 234, 184, 122,  20,  49, 
-               221, 128, 181,  48,   8, 214,  66,  93, 160, 197, 181,  80, 124,  62, 196, 
-                67, 176, 102,  82,  97, 205,  84, 126, 209, 222, 128, 107, 230, 235,  21, 
-               196, 148,  12, 107, 235,  21, 172, 173, 106, 211,  75,  25,  42, 193, 218, 
-               186,   4,  54, 118,  30, 172, 193, 242, 176,   6, 203, 156, 157, 105, 192, 
-                53,  56,   7, 218, 104,  12, 107, 245,  26, 172, 213, 241,  73,   1,   6, 
-                92, 171,  15, 231,  18, 147,  39, 172, 233, 205, 176, 166,  15,  62,  89, 
-               110, 192,  53,  93,  84, 111, 182,   7, 215, 193,  30, 100,  13, 127, 146, 
-               133, 246, 224, 239, 153, 196, 100,   4, 187, 225,  13, 118,  99,  89, 223, 
-                65,   6, 180,  27,  35,   1, 111,  19, 216, 151,  25,  96,  95,  54,  46, 
-               171, 110,  64, 251, 226,  53, 211, 108, 135, 142, 131,  29, 154, 123, 226, 
-               159,  44, 180,  67,  45, 192,   7, 244,   7, 123,  85,  10, 236,  85, 235, 
-                 1, 189,  13, 104, 175, 154, 131, 204, 103, 193, 174, 157,   5, 187, 166, 
-                89, 236,  99,  64, 187, 198, 237,  39, 166,  26,  96, 255,   6, 155, 237, 
-               159,   1, 237, 223, 199, 128,  55,  30, 236, 164, 214, 108,  39,  13, 104, 
-                39, 189,  83, 205, 246, 116,   8, 216, 211, 222, 151, 151, 103, 161,  61, 
-                77,  93,  76,   4, 187, 251,  28, 236, 174, 231, 251, 145,   6, 180, 187, 
-               197,  15, 154, 237, 243,   5, 176, 207, 215, 126,  77,  54, 160, 125,  62, 
-               158, 174, 176, 216, 241,  82,  49, 145,   6, 180, 227,  85, 183,  17, 211, 
-               106, 176, 247, 157, 192, 222, 119,  15, 123, 207, 128, 246, 254, 235, 149, 
-               196,  84,  24, 252, 194,  41, 240,  11, 213, 190, 245,  50, 160,  95, 216, 
-               189, 202, 236,  63, 226, 192, 127, 180,  60,  74,  12, 232,  63, 190,   2, 
-                63,  72, 253,  76, 213, 128, 173,  89, 232, 103,  78, 173,  54, 251, 163, 
-                30, 224, 143, 178, 127, 251,  41,  11, 253, 209, 187, 203, 205, 126,  43, 
-                13, 252,  86, 191,  38,  25,  89, 232, 183, 110,  46,  33, 166,  28, 240, 
-               111,   7, 193, 191, 249,  92,  43, 100,  64, 255, 118, 113, 163, 194, 180, 
-                 7, 252, 224,  83, 240, 131,  33,  27,  42,  24, 208,  15,  22,  27, 108, 
-               245, 151,  51,  15,  84, 203,  66, 127, 217,  42,  73,  97, 241, 181, 254, 
-                89, 126,  89, 232, 107, 231,  37, 152, 125, 242, 111, 224, 147,  83,  74, 
-                29, 204,  66, 159, 124,  29, 244, 175, 163, 232, 187, 235, 229, 128, 110, 
-               130, 239,  46,  10,  62, 175,  63, 248, 248, 190, 224, 227, 171, 165,  77, 
-                48, 160, 143,  31, 219,  83,  97, 250,   9,  98, 129,   9,  16,  11, 108, 
-                78, 175, 108, 192,  88,  96, 210,  72, 107, 204,  80, 119,  91, 104,  22, 
-               198,  12, 185,  96, 255, 126, 132, 120, 227,  25, 196,  27, 167, 202, 142, 
-                51,  96, 188, 145,  94,  26, 214, 165,  24, 151,  76, 254, 152,  55,  96, 
-                92, 178, 234, 164, 194, 212,  28, 226, 151,  27,  16, 191, 252,  83,  51, 
-               202, 128, 241, 203, 179, 219, 196, 116,  92, 140, 115,  22, 111, 244,  53, 
-                96, 156, 179,  12, 214, 106, 178,  24,  15,  29,  27,  85, 193, 128, 241, 
-                80,  18, 230, 148,  65, 220, 180,  12, 226, 166,  11, 115,  66,  13,  24, 
-                55, 237, 195, 188,  73, 136, 175,  84, 220, 201, 176, 129,  35, 219,  24, 
-                48, 190, 170,  14,  54, 187,  27, 196,  97,  89,  16, 135, 109,  90, 220, 
-               209, 128, 113, 216, 237,  36,  98, 218,  14, 241,  90,   3, 136, 215, 154, 
-                31,  24, 110, 192, 120, 109,  44, 172, 213,  30,  16, 215, 213, 129, 184, 
-               238, 208, 222,  51,   6, 140, 235, 170, 194,  26,  68,  90,  35, 208, 122, 
-               221,  61, 106, 192, 248,  47,   4, 226, 176, 239,  33,  78,  92,  15, 113, 
-               226,  87, 119, 102,  26,  48,  78,  12,   4, 126, 143, 161,  93,  13, 180, 
-               187,  89, 127, 194, 128, 241, 228,  57,  88,  91,  17, 162, 124, 109, 186, 
-               100,  26,  48, 238,  44,   1, 122, 159,   8, 253, 248,  30, 250,  81, 160, 
-               235,   7,   6, 140,  79,  91, 206,  38, 166, 163, 208, 223,  58, 208, 223, 
-                42, 209, 179,  13,  24, 199,  14, 239,  66,  44, 227,  18,  51,  99, 189, 
-                 1, 227, 221, 229, 191, 192, 152,  66,  92, 252,   5, 196, 197,  51, 122, 
-                47,  51,  96,  92, 252, 241,  14, 133, 169,   1, 196, 207, 205,  32, 126, 
-               238, 219, 115, 147,   1, 227, 231,  50, 208, 143,  21,  16, 103,  63, 132, 
-                56, 187,  18, 240, 195,  56, 187,  23, 172, 233, 230,  16, 143, 231,  64, 
-                60,  94,  40, 117, 187,   1, 227, 241, 186, 211,  20, 166,  45,  16, 183, 
-               143, 131, 184, 253, 239, 243,  41,   6, 140, 219,  15,   3,  94,  37,  49, 
-               190,  63, 210, 188, 189,   1, 227, 251,   6,  48,   6, 116,  31, 128, 101, 
-               184,  15, 168,  86,  76,  97, 186,   5, 251, 133, 138,  48, 151, 223, 220, 
-                77,  49, 224, 126,  33, 178,  32, 248, 115, 152,  95,  44, 107,  84, 127, 
-               143,   1, 247,  21,  77, 155,  42,  76,   9, 176, 255, 208, 193, 254,  99, 
-               131, 223,  42,   3, 238,  63, 234,  67, 187,  85,  96, 159,  50,  11, 246, 
-                41,  69,  61, 198,  24, 112, 159, 226,  15, 250,  87,   1, 246,  51, 221, 
-                96,  63, 179, 162, 239, 104,   3, 238, 103, 174, 130,  44,  90, 216, 247, 
-                84, 128, 125,  79, 101, 232,   7, 238, 123, 214, 189, 132, 181,  15, 251, 
-               163, 146, 176,  63, 170, 183, 102, 129,   1, 247,  71, 101,  64,  62,  29, 
-               236, 163,  80, 215,  82, 119, 100,  24, 112,  31, 181, 229,  23, 235,  62, 
-               175, 251, 194,  69,   7, 112, 191, 213, 191, 142, 194, 178,  47, 139, 209, 
-                44, 203, 194, 125, 217, 192, 201, 214, 253,  91, 242,  87,  51, 179, 112, 
-               255, 246,  39, 179, 191, 124, 144,  89,  55,  11, 247, 121,  99,  31,  88, 
-               247, 131, 179,  77,  53, 178, 112,  63,  88, 191, 132,  66, 216,  55,  30, 
-               135, 125,  99,  82, 212, 145,  44, 220,  55, 126, 232,  97, 221, 231, 221, 
-                29,  27, 100, 192, 253, 101, 213,  90, 196, 164,  18, 247, 161, 131, 150, 
-                86,  54, 224,  62, 244, 196, 175,  10, 203, 126, 117, 222, 164,  31, 178, 
-               112, 191,  58, 156, 179, 182,  59, 127, 100,  93,   3, 238, 107, 135,  63, 
-                36, 150, 253, 239, 135, 128,  39, 236, 127, 167,  90, 247, 201, 157,  99, 
-               239, 101, 225,  62, 121,  56, 216, 216, 219,  98,  63, 138, 245, 111, 104, 
-               192, 253, 180,  10, 240, 112, 223, 221,  14, 246, 221,  93,   1,  15, 247, 
-               221,  49,   5, 192, 207, 192, 254, 252,  16, 236, 207, 235, 131, 175, 192, 
-               253, 121,  69, 189, 121,  92,  58, 195, 184,  36,  87,  29,  96, 192, 125, 
-               124,  58, 232, 105,  71, 216, 239, 239, 132, 253,  62, 250,  35, 220, 239, 
-                15, 211, 155, 115,  56,  87,  21, 194, 119, 150, 245, 244, 242,  23, 207, 
-                 5, 114, 131,  99, 189,  44, 239,  93,  99, 224,   4,   6,  14,  96, 224, 
-               220,  32,   6, 159, 129,  19,  24,  56, 128, 129, 115,   3,  25, 124,   6, 
-                78,  96, 224,   0,   6, 206,  13,  96, 240,  25,  56, 129, 129,   3,  24, 
-                56, 167, 145,  21,  78,  99,  96,  29,   3, 171,  24,  56, 199, 159, 193, 
-               103,  96,  29,   3, 171,  24,  56, 167,  33, 131, 207, 192,  58,   6,  86, 
-                49, 112,  78,   3,   6, 159, 129, 117,  12, 172,  98, 224, 156, 250,  12, 
-                62,   3, 235,  24,  88, 197, 192,  57, 245,  24, 124,   6, 214,  49, 176, 
-               138, 129, 115, 234,  50, 248,  12, 172,  99,  96,  21,   3, 231, 212,  97, 
-               240,  25,  88, 199, 192,  42,   6, 206, 169, 205, 224,  51, 176, 142, 129, 
-                85,  12, 156,  83, 139, 193, 103,  96,  29,   3, 171,  24,  56, 167,  38, 
-               131, 207, 192,  58,   6,  86,  49, 112,  78,  13,   6, 159, 129, 117,  12, 
-               172,   4, 152,  30, 226,  25, 171,  91, 225,   4,   6,  14, 168, 206, 232, 
-               100,  53,  70,  39,  25,  88,  87, 205, 138, 175, 100, 224, 108,  63,  43, 
-                78,  42,   3, 231, 164,  48, 178,  49, 176, 142, 129,  85,  12, 156,  61, 
-               197, 202,  51, 117, 138, 181,  92, 195, 148, 231,  78, 182, 194, 233, 147, 
-                25, 158,  76, 185, 146, 129, 179, 223, 103, 100,  99,  96,  45,   3,  43, 
-                25,  56, 251,  61,   6, 159, 129, 181,  12, 172, 100,  96, 227,  36, 102, 
-                60,  25,  88, 197, 192, 217,  19, 173, 176, 158, 129,   3,  24,  56, 119, 
-                 2,  51,  86,  19, 172, 229,  90,   6,  38,  12, 108,  28, 111, 197, 215, 
-                51, 176, 134, 129, 115, 199,  89, 241, 211,  24,  88, 203, 192, 202, 113, 
-                76, 223, 199,  50, 125, 103,  96,  45,   3, 147, 177, 204, 248,  39,  91, 
-                97,  29,   3,  43,  25,  56,  59, 137, 225, 201, 192,  90,   6,  86,  50, 
-               112, 118,  34, 131, 207, 192,  90,   6,  86,  50, 176, 113,  12,  51, 254, 
-                12,  28,  48, 134, 209, 195,   4,  70, 175,  24,  88, 195, 192,  57, 163, 
-               153, 241, 103,  96,  29,   3, 171,  24,  56,  39, 158, 193, 103,  96, 109, 
-                60,  51,  95,  12, 108,  28, 197, 204,  23,   3, 107,  24,  56, 119,  36, 
-                51,  95,  12, 172, 101,  96, 229,  72, 102, 172,  70,  48,  99, 197, 192, 
-                90,   6,  86,  50, 112, 246, 112,   6, 159, 129, 181,  12, 172, 100, 224, 
-               236,  56,   6, 159, 129, 181,  12, 172, 100, 224, 236,  88,   6, 159, 129, 
-               181,  12, 172, 100, 224, 236,  97,  12,  62,   3, 107,  25,  88, 201, 192, 
-               217,  67,  25, 124,   6, 214,  50, 176, 146, 129, 179,  99,  24, 124,   6, 
-               214,  50, 176, 146, 129, 179, 135,  48, 248,  12, 172, 101,  96,  37,   3, 
-               103,  15, 102, 240,  25,  88, 203, 192,  74,   6, 206,  30, 196, 224,  51, 
-               176, 150, 129, 149,  12, 156,  29, 205, 224,  51, 176, 150, 129, 149,  12, 
-               156, 173,  99, 116,  76, 199, 232,  57,  83, 158,  83, 156, 209,  91,   6, 
-               214,  49, 176, 138, 129, 115, 138,  49, 248,  12, 172,  99,  96, 101,  49, 
-                70, 207, 139,  50, 235, 145, 129,   3, 138,  50, 122, 238, 195, 248,  23, 
-                 6, 166, 239, 176, 198,  24, 173, 161, 248, 124, 167, 144, 248, 220, 139, 
-               254, 206, 133, 143,  24, 183, 185, 170,  79, 144, 169,  15, 144, 169, 199, 
-               152, 207, 101, 251,  50, 245,   9,  76, 125,  17, 177, 158, 254,  78, 134, 
-               143,  24,  47, 186, 170, 199,  24, 210,  85, 125,  58,  83,  95,  84, 172, 
-               167, 191, 131, 225,  35, 198, 154, 174, 234,   3, 100, 234,  49,  38, 117, 
-                85, 159,  30, 224,  90, 190, 132,   0, 153, 241, 151, 169, 199,  24, 215, 
-                85, 251, 105,  76, 125,  25, 177, 158, 254,  14, 132, 143,  24,  11, 187, 
-               170,  87,  49, 245, 165, 196, 122, 250,  59,  22,  62,  98, 204, 236, 170, 
-                62, 141, 169,  47,  65, 159, 203,  86,  97, 218, 151, 169,  87, 249, 187, 
-               150,  15,  99, 112, 151, 237, 203, 212, 235,  26, 202, 180,  47,  83, 143, 
-                49, 189, 171, 250,  52, 153, 122,  29,  83,  95, 156, 202, 167,  99, 218, 
-               151, 169, 199,  61, 130, 203, 254, 203, 212, 235, 234, 203, 244,  95, 166, 
-                30, 247,  28,  46, 251,  95, 207, 181, 252,  58, 153, 122, 149,  76,  61, 
-               238,  97,  92, 213, 167, 201, 212, 235, 234, 202, 244,  95, 166,  30, 247, 
-                68,  46, 251,  95,  71, 102, 252, 101, 234,  85, 117, 100, 244, 191, 182, 
-               235, 250,  52, 166,  94,  33, 214, 211, 223, 177, 242,  17, 247,  98, 180, 
-               158, 163, 242, 251,  51, 237, 203, 212, 227, 158, 205,  85, 125, 154,  76, 
-               189, 174, 150, 107, 249,  84,  50, 245, 184,   7, 116,  85, 159,  86,  83, 
-               166, 125, 153, 122, 149,  12, 127, 220,  83, 186, 108,  95, 166,  94, 231, 
-               162, 222,  87, 220, 143,  54,  20, 235,  60, 169, 255,  40, 243,  88,  33, 
-               254, 214,  46,  79, 127,  83, 204,  87, 220, 175,  58, 195,  45,  32, 226, 
-               210, 223, 255, 242,  21, 247, 179,  20, 183,  32, 237, 247,  96, 138, 171, 
-               183, 224, 250, 136, 251,  93,  42,  35, 139, 107, 241, 129, 213,  92, 215, 
-               167,  51, 245, 246, 252, 125, 197, 189,  50, 149, 197, 131, 250,  48, 232, 
-               151, 248, 155,  10,  60, 253, 221,  51,  95, 113,  47, 237, 206, 120, 248, 
-               136, 123, 109, 218,  46, 139,  75, 235,  83, 253, 164, 229, 242,  17, 247, 
-               228, 174, 234, 211,  82, 100, 230,  86, 166,  94, 149, 226, 122, 238, 113, 
-               143, 239, 108,  92, 196,  56, 209, 134,  87, 234,  20, 215, 188,  52,  83, 
-               220, 155, 111,  95, 241, 220, 192,  29,  61, 242,  17, 207,  21,  92, 206, 
-               237, 100, 247, 117,  82,  57, 217, 149, 140, 182, 237, 226,  89,   5, 109, 
-               215, 139, 218, 189, 186, 204, 120, 200, 212, 107, 101, 234, 149,  50, 245, 
-               120, 246, 225, 178, 125, 153, 122, 173,  76, 189, 146, 169, 103, 231, 222, 
-               178, 214,  39, 217, 143,  43, 145, 180,  11,   9, 147, 220, 183,  33, 170, 
-                60, 224, 226,  89, 141,  59, 250, 233,  43, 158, 229, 184, 139,  27,  48, 
-               209, 125,  61, 192, 179,  32,  87, 122, 159,  54, 193, 253, 254, 104,  39, 
-               184, 175, 171, 100, 130, 251, 246,  19, 207, 159,  92, 217,  71, 189,  76, 
-               189, 102, 188, 235,  53, 134, 103,  87, 238, 218, 207, 180, 113, 121,  24, 
-                15,   6, 151, 109,  87, 164,  83, 179, 182,  84,  57, 206, 181, 173, 196, 
-               243,  50, 151, 182, 120, 172, 107,  91, 169,  29, 235, 122, 158, 201,  88, 
-               247, 245,  11, 207, 226, 220,  29,   3,  93,  30, 112, 149, 201, 238, 173, 
-                73,  31, 241, 172,  79, 106, 125, 251, 136, 231, 127, 180, 222, 155, 246, 
-               215, 143,  25,  15, 153, 122, 165,  76,  61, 158,  29, 186, 170,  79, 149, 
-               169, 215, 202, 212,  43,  93, 212, 251, 138, 103, 145, 238, 172, 113,  95, 
-               241, 172, 210,  93, 127,  20,  48, 198, 245,  90, 193, 243,  77, 119, 215, 
-               120, 106, 130, 251,  62,  83, 147, 224, 190, 175, 198, 243,  83, 151,  49, 
-               163,  76, 189,  78, 166,  94,  53,  90,  38, 174, 137, 151, 137, 107, 226, 
-               165, 215, 170, 175, 120, 110, 235, 238, 154,  32, 241, 238, 217,  38,  31, 
-               241, 220, 215, 149,  92, 250,  81,  50, 118, 210,  69, 189, 175, 120, 102, 
-               236, 238, 124, 166, 141, 116,  95,  79, 180,  35, 221, 143,  73, 149,  35, 
-                93, 207,  29, 158,  83, 187, 170,  79, 149, 169, 215, 202, 212,  43, 153, 
-               122, 154,  39,  79, 127,  87, 217,  71,  60, 247, 118,  85, 159,  58,  92, 
-               166, 125, 153, 122, 165,  12, 127,  60,  71, 119, 217, 190,  76, 189,  86, 
-               166,  94, 201, 212, 151, 165,  58,  48, 133, 105,  63, 214, 117, 125,  42, 
-                83,  95, 154, 234, 179,   7, 211, 190,  76, 189, 146, 169,  47,  73, 117, 
-               165,   0, 211, 254,  48, 215, 245, 169,  50, 245,  90, 166,  94,  73, 245, 
-               218, 139, 105,  95, 166,  30, 159,  27, 184, 170,  79, 149, 169, 215, 202, 
-               212,  43, 135, 202, 244,  63,  70, 166, 255,  50, 245, 218,  24, 153, 241, 
-               151, 169, 199, 231,  26,  46, 251,  47,  83, 175,  29, 226,  90,  62, 165, 
-                76,  61,  62,  39, 113, 217, 127, 153, 122, 237,  96, 153, 254, 203, 212, 
-               227, 115,  23, 151, 250,  63,  72, 166, 125, 153, 122, 229,  32, 153, 246, 
-               163,  93, 215, 167,  70, 187, 150,  79,  43,  83, 175, 100, 234, 139, 209, 
-               125,  87,  33, 166, 125, 157, 181, 190,  48, 165,  47, 198, 236,  99, 116, 
-                86,  91, 207, 214, 251,  80,  91,  83, 132, 241,  71,  12,  47, 103, 245, 
-               248, 124, 201, 149,  44, 105,  50, 245,  58, 153, 122, 149,  76,  61,  62, 
-               175, 114,  37,  95, 154,  76, 189, 206,  69, 189, 175, 248, 172, 203, 157, 
-               177, 242,  21, 159, 133, 185, 139, 155,  80, 212, 253,  57,   8,  40,  42, 
-                61, 159,  62, 226, 243,  53,  87, 245, 233,  46, 234, 119, 195, 160, 226, 
-               119, 186, 234,  89, 190, 171, 229,  41, 252, 138, 172, 146, 252, 202,  97, 
-                 4,  99, 254,  29, 174, 231, 156, 167, 240, 203,  72, 248, 219, 162,  89, 
-                28, 254, 154,  40, 190,  37, 172,   6, 217, 196, 121,   1,  71, 140, 141, 
-               253,  72,  48,  87,  72, 120, 243,  24, 174, 153, 222,   0,  23,  17, 198, 
-                83,  69, 198, 113,  69, 128,  74, 208,  91, 146, 200, 121,  11, 111,  45, 
-               195, 223,  86, 106,   6, 112,  97, 241, 183, 170,  18, 184, 194, 164,  16, 
-               224,  40, 137,  63, 201,   5, 254, 222, 194, 155, 205, 148, 164,  63, 135, 
-               191,  93, 138, 111,  60,  43,  65, 126, 226,  10,   0,  84,  20, 164, 168, 
-                76, 118, 112, 120,  18,  94,  12, 100,  42,  79, 238,   3, 255, 194, 194, 
-               249,  67,  73,  50,   4,  96,  47,  33,  46,  82, 145,  30,  28, 254, 174, 
-                87,  17, 225,  76,  59,  25, 224,  34,  66, 121,  77,  18, 192, 149,  18, 
-               222, 187,  87,  26, 254, 109, 229, 240, 253, 125, 126, 112, 223, 128, 188, 
-               199, 149,  22, 222, 217,  87,   6, 248, 108, 225, 240, 173, 126, 213, 224, 
-               222, 151,  60, 224, 240, 109, 127, 213, 133, 119, 172, 157, 231, 202,   8, 
-               239, 243, 195, 223, 252, 186, 203,  85,  20, 222, 200, 135, 191, 195,  53, 
-               158,  43,  43, 252, 242,  22, 254, 206, 215,  11,  14, 223, 223,  87,  75, 
-               248,  13, 175,  95, 184, 202, 194, 187, 255, 106,   0, 230,  90, 174,  10, 
-                64, 181, 133, 223, 240, 122, 197, 213,  36, 117,   0, 174,   5, 178,  61, 
-               224, 202,   9, 191, 250, 133, 227, 208, 147, 195,  95,  12,  43,  41, 244, 
-               101,  60, 135, 191,  58,  22,  32, 142,  97,   9, 225, 215, 182, 202,  65, 
-                43, 127, 115,  37, 197, 119, 231, 149,  34,  99, 128, 182,  17,  17, 206, 
-                60,  96, 108, 125,   1, 246,  23, 224, 166, 128, 163,  18, 206, 226,  85, 
-               192, 179,  36, 208, 169,   4, 158,   9,   0, 227, 155, 247,   8, 148, 140, 
-               225, 240,  55, 205, 252, 133,  49, 233, 198, 225,  59, 215, 240,  55, 189, 
-               170, 144,  94, 192,   7, 127, 229, 171,  60, 200, 115,   3, 198, 161,  33, 
-               140,  77,   5, 248, 247, 152, 195, 183, 178, 225,  27,   2,  43,   2, 126, 
-                25,  24, 131, 250, 112,  87,  10, 100, 171,   0, 159, 245, 161, 180,  60, 
-               201, 132,  49, 169,  47, 188,  81, 176,  60, 249,  13, 198, 164, 146, 240, 
-               214, 193,  82,  32, 115,  37, 224,  92,  23, 238,  74, 145,  37,  28, 190, 
-               139, 176,  46, 180,  90,   5, 230,  40, 152, 132, 136, 239,  16,  28, 207, 
-                 5,   9, 111, 216, 107,  33, 232,  94,  19, 248, 108,  46, 200,  63,  22, 
-               224, 230, 194, 251,   4,  91, 129, 108,  65, 226, 187,   5,  75, 193,  92, 
-                 7,   9, 191,  17, 102, 150,  63, 158, 132, 139, 239,   4,  28,  15, 112, 
-               160, 240, 222,  64,  13,  73,   2,  56, 148, 140,  22,  96,  44,  15,  19, 
-               222,   9, 168, 129, 177,  10,  21, 126, 105, 204,  60, 230, 248,  59,  98, 
-               136,  83,  13, 198,  39,   8, 228,   9,  22, 248, 196,   0,  76, 223,  15, 
-                24, 196,  53,   5,  74, 243,  59, 248, 198,   1, 220,  65, 104, 183,  52, 
-                41,   5, 112,  71, 241,  93, 126, 221,  56, 124,  43,  97,  71,  17,  14, 
-                35, 157,  68,  56,  24,  96, 181, 248, 238, 191, 193,  28, 190, 209,  80, 
-                45, 242, 236,  96, 121,  39, 224,  16,  78,  77, 162,  44,  56,  67,   8, 
-               132, 244,  66, 223, 199,   3, 172,  17, 222, 105, 168, 130, 190, 224, 219, 
-                22, 155,   8, 115, 215, 148, 195,  55,  41,   6,   9, 176, 134,  11,   1, 
-                57, 155,   8,  56, 201,   0,  55,  17, 198,  83,   5, 125, 137,  35, 157, 
-                 5,  57, 107,   0, 159, 102,   0,  55,  23, 198,  42, 136, 171,  10, 154, 
-               135, 111,  53,  68,  61, 172,  13, 122,  24,  33, 252, 198, 217,   5,  40, 
-               143,  36, 194, 111,  70, 195,  56, 215,  33, 221, 197, 247,  33,   6, 115, 
-               248,  75, 123, 189,  73,  47, 128, 167, 192, 122,  44,  78, 122, 194,  93, 
-               121, 192, 239,   5, 159, 125, 200,  59, 130,  77, 232,   1, 245, 239, 144, 
-               190,   0,  31,  16, 172,  72,  47, 210,   3,  52, 189,  15, 192,  61,   0, 
-               191,  56, 104, 194,  26, 174,  53,  72, 211,  65, 208, 195, 158,   0, 199, 
-               137,  99,  24,  13, 112,   7, 210,  79, 104, 171,  52, 140,  73,  39,  17, 
-                14, 226, 240,  77, 138, 253, 196, 241, 124, 135,  12,  32, 253,   5, 254, 
-               205, 184,  54, 228,  93, 104,  23, 203, 203,   1, 237, 187, 226, 123,  24, 
-                99, 160, 188,  15, 233,  38, 192,  17,   0, 119,  35, 109,   5,  24, 127, 
-               148,  62, 138,  12,  20, 224, 182,   0, 247,  23, 222, 207, 168, 129, 126, 
-                13, 134, 145,  29,  40, 244, 183,  49, 192,   3, 137,  78, 128, 135, 114, 
-               131,   0,  86,  11, 112,  51, 128, 117,  34, 206,  24,  46,  10, 104,   7, 
-                 8, 124, 146,   1,  30,  96, 145, 243,  93, 128, 204, 229,  99,   1, 110, 
-                45, 150, 107, 184, 190, 132,  23, 223,  59,  89,  19, 224, 254, 226, 187, 
-                41,  85,  92,  31, 144, 121, 128,  48, 110,  58,  78,  11,  50, 247, 196, 
-                92,   8, 104,  75,  11,  50, 155, 251, 213,  18, 240, 181,  66,  57, 234, 
-               103,  95, 224, 162,  21, 251, 165,   6, 105, 204, 239, 151,  84, 114,  93, 
-                97, 182, 218, 139,  58, 223,  21,  86,  84,  59,  97, 108,  91, 113, 248, 
-               118, 207, 118, 162,  62,  84,   1, 168, 174, 176,  94, 148,  92,  93, 210, 
-               149, 116,  17, 236, 225,  80, 174,  37, 204, 111,  23, 145, 182,  46,  64, 
-               221, 133, 242, 198,  48, 239, 117,   5, 184,  36, 233, 202,   5, 138, 239, 
-               226, 172,   1, 115,  52,   8, 224,  64, 129, 103,  36, 232, 149, 249, 221, 
-               151,  42,  82,   3, 224,  54, 100, 184,   0, 183, 225, 240, 183, 240,  70, 
-               137, 246, 167,  13,  64, 230, 242, 106, 220,  40, 225,  55, 242, 204, 118, 
-               108,  20,  64,  35,  69,  24, 127,  55, 111, 132,   5,  30,  33, 150,  39, 
-               114, 145,  36,  86,  44,  31,  15, 240,   8, 177,  47,   1, 220,  48,  40, 
-               143,  20, 230,  46,  16, 224,  72, 225,  93, 156,  26,  88,  59, 195,   0, 
-               138,  16, 231, 113,  24,  64,  67, 133, 242, 161,  92,   4, 244,  36,  90, 
-               228,  31,   1, 208,  80, 145, 127,  52, 148, 183,  20, 199,  39,  26, 160, 
-                24,  81, 231,  99,   0, 214,   8, 112,  45, 128, 129, 179,   0,  15, 129, 
-               177, 162, 239, 229,  28,   7, 176,  86, 156,  83,  45, 215,  69, 120,  51, 
-               167,  89,  31, 186,   0, 164,  21, 203, 187,  65, 185, 121,  94,  26, 115, 
-               248, 118, 207, 182, 226, 188, 159,  34,  39, 201,   9, 114,  28,  96,   3, 
-               119, 154, 156,   2, 232,  24, 192,  47, 185, 227, 228,  27, 114,  84, 128, 
-                47, 114,  39, 200,  17, 184,  59,  14,  99, 222, 157, 251,   6, 224,  67, 
-               130, 111,  29, 202,  29,  38,   7,   5, 184,  52, 248, 214, 195, 196,  40, 
-               252, 216,  38, 218, 132, 131,   0, 239,  23, 125, 235,  17,  98,  16, 224, 
-                72,  50,  12, 224, 253,   2,  62, 218, 180,  67,   0,  27, 201,  97, 193, 
-               183, 158,  32,  89, 128, 117,   4, 240, 215, 114,  39, 201,   1, 184,  59, 
-                 1, 243, 158, 193,  29,   3,   9,  12, 112,  87, 142,  92,   6, 217, 142, 
-                 1, 116,   0, 116, 230,  31, 224, 255, 141, 216, 110,  32, 192,  71, 225, 
-                14, 219, 237, 202,  25,  64, 130, 253, 130, 206, 140,   1, 248, 168,  32, 
-                79, 117, 208, 231,  61, 100,  55, 249, 154, 108,   2, 252, 129,  92,  38, 
-               124, 126,  77,  50, 192, 203, 221, 227, 118, 147,  93, 228,  43, 184, 243, 
-                 5, 249,  51, 224, 243,  43, 178,  29, 116, 236,   5, 183,  29, 160, 141, 
-               100,  27, 200, 179, 151, 219,  69, 118,   2, 252,  21, 192,  73, 220,  54, 
-               128, 190,  36,  91,   1, 254, 147, 219,  73, 210,   1, 222,   8, 240,   3, 
-                46, 157, 108,  33, 235, 225,  78,  73, 118, 113,  91, 225, 115,  61, 217, 
-                 0,  50, 247, 231, 182, 144, 205, 228,  11, 184,  83, 146,  39, 220,   6, 
-               248, 252, 130, 172,   3, 217,  94, 112,  59,  64, 134,  76,  97,  28, 122, 
-               114, 251, 200,  94, 178,  67, 232, 203, 120, 128,  87, 145, 189, 226,  24, 
-               238, 131, 210, 213, 112,  95, 151,  60, 228, 246, 194, 231, 106, 225,  57, 
-               116,  50, 208, 102,  10,  48, 234,  76,  38, 249,  84, 132,   7,   3, 206, 
-                30, 224, 106, 246, 173, 123,   1,  50, 243,  76,   0, 120,  53,  96, 161, 
-                77,  78,   6, 248,  83, 192, 194,  49, 233,   6,  99, 242,  41, 249,  12, 
-               198, 165,  10,  89,  15, 124,  50,   0, 254,  20, 230,  55,  17, 198,  97, 
-                59,  73, 131,  59, 244, 173, 187, 225,  51,  13, 198, 168,  34,  89,   7, 
-               227, 144,  70,  62, 135, 177,  64,  31, 186,  29, 198, 230, 115, 184,  47, 
-                69, 190, 135,  49, 217,  74, 214, 192,  29, 250, 220, 157, 240, 185,   6, 
-               198, 165,  60, 200, 156,  14, 208,  90,  24, 151, 242, 224,  91, 183, 194, 
-               120, 172, 133, 251,  42,  96, 111,  87, 144, 229, 100, 145, 184, 198,  87, 
-               146, 197,  96, 255, 151, 128, 156,   6, 110,  25,  64, 139, 133,  49,  25, 
-                11, 240,  82, 193,  47, 128,  61,   0, 156, 165, 100, 153, 208, 247,  64, 
-               128, 151, 192, 157,  89, 254, 120, 242,   9, 249, 216, 226,  91,  63,  22, 
-               236,   0, 250, 208, 120, 240, 154,  11,   5, 120,  28, 192,  11,   1, 203, 
-                92, 190,  16,  56,  46,  21, 199, 103,  33, 224,  52,  23,  99, 188, 149, 
-               100, 133,  40,  79,  19, 128,  23,   9,  50,  40, 201,  32, 110,  41, 153, 
-                46, 240, 193, 121,  95,  10, 237, 206,  16, 236,  79,  27, 128, 103, 144, 
-               233, 162, 253,  95,   8, 208,  39,  34, 252,   9, 192, 211,   4, 120,  40, 
-               192, 211,  72, 170,   0,  55,   5,  56,  85, 148, 115,  16,  55,   3, 202, 
-               205, 180, 129,  92,  42, 192,  83,  69, 156,  33, 224,  89,  23, 136,  54, 
-                97,   8,  64, 243,  69, 120,   5, 244, 124, 185,  48, 119, 131,   1,  94, 
-                41, 140,  67,  57, 176, 153, 139,   0,  90,  44, 218, 255,  69, 128, 177, 
-               204, 226,  91, 151, 128,  71, 197,  49,  76, 226, 150,  64,  15,  59, 139, 
-               250, 191, 153, 124,  72, 230, 130, 246, 161,  30, 126,   1, 208,  60, 208, 
-                67,  37, 217,   9, 229, 179, 160,   6, 105, 187, 115, 235, 160, 244, 125, 
-                81, 254,  83, 100,  34, 153,   0, 118,  65,  73, 126, 135, 245,  56, 129, 
-                76,  18, 214, 221,  78, 110,  34,  25,  71, 198, 195,  61, 218, 132, 247, 
-               200,  88, 184, 155,   8, 240,  21,  88, 155, 239,   1, 116,  10,  44, 252, 
-               231,   0,  31,   0, 252, 247,  32,  18, 235, 193, 125,   0,  99, 181,  68, 
-               208, 195, 158,   0,  47,   1, 239, 138,  99, 216,  24, 224, 100,  97,  60, 
-               209, 167, 204,   0, 120, 154,  56,  62, 211,   0, 158,  42, 142, 231,  56, 
-               224, 159,  68,  18,   1,  62, 203, 205, 129,  86, 199, 136, 190, 242,   3, 
-                50,  71, 132, 155,  64, 249, 100, 168,  65, 184,  36, 192, 179, 225,  14, 
-               225, 238, 220,   2, 146,  32, 242,  41,   7, 240,  84, 224,  99, 182, 189, 
-               131, 161, 220,  60, 206, 209,   0, 235,  72, 130,   0,   7, 129,  31,  73, 
-                21, 225,  97,   0,  39, 136,  62,  55, 129, 155,  10, 237,  39,   9, 124, 
-               198,   0, 156,  12, 119, 102,  57, 199,   0, 148,  44, 250, 214,  49,   0, 
-               125,  32, 250, 190, 177,  48, 115,  11,  68, 223,  58,  22, 160,  36, 209, 
-               198, 142, 135, 145,  74,   4, 169, 209, 183, 166, 192, 232, 140,  23, 246, 
-                26, 195,   0,  30,  47, 202,  92,  26, 240,  39, 145,  20, 209,  38, 140, 
-                 5, 104, 190, 216, 175,  84, 144,  63,  65, 244, 221,  83, 200,  76, 152, 
-                49, 179, 206,  79,   1, 104, 173,  48, 182, 101, 193, 206, 204,   2,  75, 
-                99, 214, 135,  45,  80,  58,  75,  88,  47,  26, 110,  45, 209, 147,  41, 
-               130,  61,  12, 230,  62,   2, 248, 125, 145, 118,  45,  64, 122, 161,  60, 
-                26, 230, 253, 125, 145,  79,  15, 240, 173,  31,  11, 122,  91,  13, 230, 
-               104,  16, 172, 168,  84, 129, 167,  18, 244, 106, 142, 208,  71, 216, 161, 
-                 0,  60,  28, 238,  16, 198,  49,  31,   5, 163, 110, 182,  63, 115, 160, 
-               220, 236, 103,  85, 224,  79, 103, 138, 229,  73,   0, 143, 132,  59, 179, 
-               189, 154,   9, 126, 115, 150,  88,  62,  19, 202,  71, 136, 227, 252,  33, 
-                64, 177,  98,  92, 253,  33,  96, 152, 203, 117, 224,  55,  63,  20, 202, 
-                53,   2,  60,  87, 208,  85, 179, 159, 157,  71, 230, 138, 243,  56,  12, 
-                60, 232,  60, 161,  60, 136, 155,   7, 254, 244, 125, 145, 255,  60,  40, 
-               143,  22, 249,  71, 147, 143, 196, 242,  49,   0, 199, 192,  29, 194, 221, 
-               192, 159, 206,  23, 225, 234,   0,  15,  17, 215,  93,   0, 140,  85, 138, 
-                48,  62, 184, 246,  63, 130, 210,  20, 209, 135, 234,  97, 182, 166, 136, 
-               250, 160, 135, 210, 201,  98, 249, 100, 232, 161, 185,  60,  26, 224, 217, 
-                66, 127, 113, 222, 113,  47, 171, 237,  99, 126,  47,  73,   3, 113,  47, 
-               219,  35, 219, 135, 191,  83, 234, 138, 250, 246, 170, 130, 188, 166, 250, 
-                56, 245,  47, 125, 139, 243,   7, 114,  38, 170, 219, 205, 244, 227, 171, 
-               103, 123,  58, 188,  87, 165, 111, 141, 196, 109, 154, 119,  97, 126, 188, 
-               197,  28, 214,  28, 243, 123,  71, 188,  19, 158, 170, 189,  62, 251,  65, 
-               189, 111, 252,  63, 234,  85, 234,  36,  11,  63, 202, 223, 158, 207, 181, 
-                99, 135, 131,  51, 134,  58, 242, 161, 116, 148, 207,  31, 190, 207, 213, 
-                23, 103, 122, 168,  87,  87,  40, 200, 215, 126, 252,  56, 220, 158,  79, 
-               142,  49,  49, 252, 187, 254, 142, 124, 104,  63,  40,  63,  74, 127, 209, 
-               163,   8,  95, 246, 234, 125,   7,  62, 195,  66, 199, 108, 217, 209, 217, 
-               145,  15, 165, 235, 244, 179,  39, 223, 163, 194,  14,  11, 189, 212, 123, 
-               103, 198, 183, 121, 190, 190,  80, 168,  35,  31,  21, 255,  68, 189, 169, 
-               100,  11,  11, 159,  39, 253,  30, 170,  15, 180, 189,  46, 201, 103, 243, 
-               157,  42, 189, 219, 246, 147, 230,  67, 233,  11,  55, 253,  75, 221, 125, 
-               237, 213,  48,  41,  62, 157, 210,  59, 235, 250,  86, 116, 228,  67, 233, 
-               169,  60, 114, 124, 118, 252, 101, 232, 221, 113, 157,  35,  31,  58,  30, 
-               148,  15,  29,  47,  41,  62,  77, 187, 133, 111,  91, 244, 141,  60,  31, 
-               250,  41, 197, 103,  94, 193,  96,  92,  18,  14, 124,  40,  29,  29,  39, 
-               218,  47,  90, 110, 207,  39, 154,  43, 172,  63,  99, 146, 214,  31,  42, 
-                23, 237,  23, 213,  39, 123,  62, 107,  35, 158, 236, 248, 106, 171,  35, 
-                31, 186, 142, 236, 245,  81, 106,  93,  24, 234, 248,  29, 209,  47, 113, 
-               228,  99, 191, 174, 168,  60, 116, 125, 216, 243, 121, 118, 106, 109, 100, 
-               191, 207, 165, 215, 169, 253, 186, 167, 252, 237, 249, 212, 186, 248,  77, 
-               248, 186, 165, 242, 250,  35,  55, 239, 134, 203,  71, 186,  53, 233,  43, 
-               205, 199, 190,  63,  82, 124, 106, 221, 156, 218, 119,  72,  47, 249, 117, 
-                42, 183, 190,  98,  31, 174, 236,  51, 108, 157,  52,  31,  74,  47,  39, 
-               207, 114, 175, 172, 193, 129, 233, 142, 124, 218, 107,  34, 248, 150, 229, 
-               127,  84,  55, 105, 216, 145,  95, 218, 224, 123, 245, 228, 175, 135, 243, 
-               225, 245, 139, 242,  23,  39, 246, 225, 167, 124, 228, 227, 192, 199, 207, 
-                39, 174, 227,  38,  39, 246, 240, 210, 135, 157, 249, 162, 241, 103, 212, 
-                61,  43,  36, 241, 155,  15,  22, 229,  41,  31, 202, 215,  65,  15, 189, 
-               163,  63,  82,  55, 119, 178, 190, 196, 118,  41, 253, 254, 103,  49, 124, 
-               220, 253, 178, 252, 173, 167,  61, 249,  42, 145,  37,  28, 228, 121, 126, 
-               233,   3, 239,  27,  19,  29, 249,  80,  57, 198,  70, 143, 225,  91, 175, 
-               168, 108, 225,  67, 249, 218, 243,  25, 210,  97, 230, 169,  63, 223, 113, 
-               228,  67, 233, 127, 184, 210, 134,  55, 190, 104, 202, 155,  72,   8,  31, 
-               183, 174, 129, 133, 159,  61, 159, 193, 189,  87, 152, 222,  27, 224, 200, 
-               135, 202, 111, 161,  19, 249,  92, 248, 179,  60, 191,  58, 171, 162,   3, 
-               159,  49, 223, 222, 202,  78,  27, 233, 200, 135, 202, 177, 174,  91,   8, 
-               159,  54, 163,  37,  63, 250, 165, 138, 255, 126,  65,  11,  11,  63, 123, 
-                62, 123, 123, 174, 121, 126, 203, 137,  31, 180, 180,  43, 210,  81,  62, 
-                59, 203, 253, 173,  62, 118,  59, 192, 129,  79, 210, 249, 211,  57, 139, 
-               147,  29, 249,  80, 124,  74, 127, 169, 109,  69,  94, 169, 142, 228, 203, 
-               254, 252, 143, 186, 236, 242, 222,  14, 124, 170,  63,  24,  86, 182, 231, 
-               100,  71,  62, 180,  63, 170, 209, 225, 124, 207, 236,  70,  22,  62, 150, 
-               254, 217, 253, 121,  61, 106, 216, 238, 119,  39, 246, 135, 182,  75, 233, 
-               199,  76, 109, 206, 119, 154, 208,   9, 214,  68,  57, 184, 146,  29, 248, 
-               188,  91, 254, 120, 205,  21, 227,  85, 142, 254,  75, 148, 227,  78, 147, 
-                62, 124, 239, 123, 181,  44, 124,  40,  95, 123,  62, 131,  78, 240,  39, 
-               223, 119, 178,  46, 154,  79, 142, 224,  55, 246, 220, 174, 166, 235, 131, 
-               174,   7, 169, 117, 218, 174, 238, 209, 249,   5, 234,  59, 242,  89,  80, 
-               220, 159, 223, 119, 108, 166, 154, 242,  27, 214, 176,  33, 191, 179, 250, 
-                30,  73,  62, 205, 158, 255, 211, 186, 240,   8, 105,  62, 148, 126,  74, 
-               219, 250, 124, 177,  98,  41, 146, 124,  38, 110,  57, 167,  59,  94,  82, 
-               154,  15, 165, 167, 114, 209,  79, 123,  62, 141,  94, 249, 232, 235,  58, 
-               241, 131,  84,  14,  74,  39,  39,  79, 244, 239, 217, 173, 186,  44, 145, 
-                30, 103, 251, 241, 150, 126, 239, 158, 183,  83, 191,  76, 233,  40,  31, 
-               185, 249, 138, 244, 187, 181, 104, 192,  33, 233, 126,  81, 122, 106, 103, 
-               165, 248,   4,  85, 174,  62, 232, 112,  39, 249, 241, 145, 147, 167, 105, 
-               209, 242,  81, 109,  98, 228, 229, 161, 252, 164, 248, 248,  63, 141, 236, 
-                52,  97, 185,  52,  31, 123, 191,  33, 197, 231, 167, 162, 197,   6,  55, 
-               116, 225, 119, 236, 237, 189, 148, 191, 248, 231, 110, 118, 143, 178, 107, 
-               164, 231, 203, 222, 127,  81, 251, 111, 207, 231, 232, 131, 239,  23, 213, 
-               219,  39, 237,  47, 236, 253,  14, 181, 255, 246, 124, 206, 135, 146,  75, 
-               223,  47, 150, 246,  95, 246, 246,  94, 202, 239, 108, 223, 165,  87, 205, 
-                91,  41, 237,  47, 236, 237, 180, 148, 223, 249,  35, 115, 194, 159, 191, 
-                46, 151, 246,  95, 246, 126, 199, 226, 207, 236, 254, 166, 183,  62,  90, 
-               249, 155, 101, 210, 126, 199, 222,  95,  80, 187, 237, 160, 207, 173,  22, 
-               148,  46, 182,  88, 218, 239, 216, 251,  13,  41, 255, 245, 106, 111,  47, 
-                18, 190,  72, 218, 239, 216, 219, 123,  41, 127, 145, 120, 166, 119, 163, 
-               161, 139, 164, 253, 142, 189, 255, 162, 246, 223, 158,  79, 133,  71, 135, 
-               234, 100,  79, 112, 228,   3,  35,  13, 250, 159,   3, 235,  32,  22,  62, 
-               113,  61,  12, 128, 207, 162, 146, 239, 123,  29,  91, 177,  65, 175,   9, 
-                95,  40, 157, 240,  73,   1, 124,  21, 208, 143, 129,  79,  13, 196, 133, 
-               189, 145,  30, 118, 106, 209, 240, 217, 206,  97,  93, 108,  40, 126, 237, 
-               159, 160, 169,  97,  78, 248, 180,   2, 252,  37, 106,  74, 103, 229, 227, 
-                92, 158,  33,  63,  44, 127, 183, 245,  78,  79,   7,  62,  29, 123,  84, 
-                10, 127, 244, 176,  52,  95, 120, 196, 199, 225, 159, 172,  56, 160, 206, 
-                76,  46, 164,  62,  84, 247, 160, 228, 122,  47, 243, 121,  96, 161,  30, 
-                61,  29, 199, 167, 199, 186, 225, 234, 114, 227,  11, 240, 148, 159,  28, 
-               159,  31,  42, 154,  78, 165, 142, 145, 230,  67, 233, 107,  77,  13,  84, 
-                95,  11, 146, 182,  63,  87,  43, 182,  93,  20, 196,  59, 155,  47,  21, 
-                62,  14,   9, 251, 182,  88, 184, 250, 206, 229, 146, 225, 159, 254, 241, 
-               121, 120, 210,  59, 211,  37, 227, 240, 135, 155, 126, 184, 118, 173, 191, 
-                52,  31, 216, 209, 169,  89, 126,  82, 124, 148, 235,  79, 108,  45,  82, 
-               223,  91, 146, 207,  71, 239, 235, 195,  72,  95, 250, 219, 147, 177, 146, 
-               253,  42, 189,  84,  23, 217, 177,  66,   9,  73,  62, 180,  63,  86, 126, 
-               206, 249,  76,  79, 171,  81, 119,  89,   7, 199, 126,  81,  58,  58, 206, 
-               116, 254, 165, 248, 124, 233,  83,  37, 238, 215, 182, 210, 124, 172, 244, 
-               174, 251, 165, 188, 244, 219,  68, 252,  21,  51, 233, 117,  65, 215,  23, 
-                93, 111, 206, 249, 124,  91, 228,  85, 133, 137, 211,  43, 185, 224,  67, 
-               215,   5, 229, 231, 156,  79, 195, 154,  35, 124,  26, 205, 114, 228,  67, 
-               199, 133, 246, 175,  97,  31,  15, 245, 233,  47, 102,  74, 251, 193,  18, 
-               239, 212,  27,  53, 158,  72, 242, 169, 188, 178, 159, 186, 243, 177, 109, 
-               178, 250, 156, 214, 122, 122,  67, 117, 180,  52,  31,  42,   7, 229,  39, 
-               197, 167, 125, 249,  23, 126, 198,   9, 210, 243,  69, 245,  71, 174,  95, 
-               253, 111,  92, 125, 118, 241, 125,  71,  62, 148, 126, 151, 190, 135, 122, 
-               111, 110, 140, 236, 248, 132, 127, 215, 185,  70, 210,  24, 105,  62,  67, 
-               186, 232, 212,  77, 179, 238,  88, 248,  73, 241,  41, 126, 229, 253, 125, 
-               159, 196,  72, 243, 161, 235, 147, 242, 147, 148, 167, 232, 173,  50, 209, 
-                78, 246,  41, 116,  92, 105, 127, 228, 228, 185, 227, 251, 176,  89, 191, 
-                 4,  71,  62, 180, 253, 122,  95, 111,  83, 207, 106,  63,  74, 150,  79, 
-               205,  63, 190,  76, 111,  50, 200, 145, 143, 241, 159, 250, 252, 174, 226, 
-                59, 212,   3, 162, 138, 241,  37, 247,  13,  81,  95,  56,  95, 134, 159, 
-               113,  63,  82, 218, 174,  86,  48, 126,  98,  10, 147, 230,  19,  21,  89, 
-               157,  31, 223, 234, 140, 133, 159,  20, 159,  11,  85, 230,  45,  15, 110, 
-               227, 200, 103, 211,  80, 141, 122, 254, 174,  40, 254, 231, 207, 138, 169, 
-                23, 118, 234, 101, 177, 247,  82, 124, 244, 229,  91, 108,  14, 122,  87, 
-               154,  15, 165, 167, 118,  95, 138,  79,  71, 223,  97,  39, 215, 140, 113, 
-               102, 159, 233, 250, 166, 235, 157, 250,  69, 231, 124,  22,  93, 234,  20, 
-               221, 105, 167, 210,   5,  31,  74, 239, 218, 191, 119, 184,  60, 126,  84, 
-               202,   9,  95,   7,  62,  19, 115, 167, 171,  79, 148, 188, 162,  14, 191, 
-               223,  82, 221, 165, 231,  69, 217, 245,  94, 190, 251, 146, 222, 113, 245, 
-                28, 251,  69, 233,  40,  31,  57, 251, 188, 185,  89, 193, 196, 143, 148, 
-               206, 198, 199, 188,  47, 166, 251, 219, 153, 199, 199, 241,   5,  55, 244, 
-               230,  23, 116, 236, 196, 191,   8,  25, 239, 192, 231,  80, 171,  10,  21, 
-               171, 196,  57, 198,   9, 148, 158, 238, 151,  55,  44,  25, 203, 215, 185, 
-                85, 223, 194, 207, 158,  79, 118, 129,  17,  39, 149, 201, 210, 242, 208, 
-               246,   9, 241, 131,  75,  39,  57, 206, 234, 142, 119,  98, 202, 148, 116, 
-               148, 135, 202, 241, 227, 216, 222, 124, 183, 168, 210,  22, 121,  36, 245, 
-               240,  89, 209, 243,  35, 156, 216,  67, 122, 254,  72, 207,  71, 135, 204, 
-                47, 196,   7,  53,  84, 242, 147,   7, 120, 240, 233,  67, 111,  59, 196, 
-                99, 167, 130, 126,  44, 208, 101, 172, 244, 249,  42, 229,  71, 233,  41, 
-                63, 135, 115,  63, 255,  95,  61, 127, 156, 227, 200, 199, 158, 110, 242, 
-               180,  95, 213,  59, 127, 121, 166, 126, 248, 213,  35, 117, 178,  49, 219, 
-                65, 158,  23, 133, 195, 218, 247, 143, 117, 228, 179, 242,  69,  97, 126, 
-               203, 221,  99,  22,  57,  40, 125, 197,  80, 194,  47,  85, 108, 118, 224, 
-               115, 172, 232, 176, 175,  11,  12, 148,  63, 167, 165, 252,  40, 127, 123, 
-                62, 158, 145, 233, 109,  51, 182,  72, 243, 177, 151,  75, 234, 252, 121, 
-               107, 196, 193, 150,  77, 122,  59, 242,  41, 189, 110, 158, 186, 142, 223, 
-               113, 203, 186, 146, 243, 131,  15, 130,  87,  52,  29,  49,  76, 154,  15, 
-                93, 175, 114, 235, 180,  87, 212,  66,  62, 179, 139,  52,  31,  42, 199, 
-               149, 247, 151, 169, 183, 109, 218,  40, 201, 231,  89, 224,  79, 229, 255, 
-                76, 148, 246,  59, 212,  79, 200, 241,  89,  20,  20,  82,  97, 177,  19, 
-                62, 148, 158, 250,  29,  57,  62,  79, 131, 119, 222,  75,  73, 114, 228, 
-                67, 245, 165, 231, 195, 108, 117, 243,  71, 155, 212,  31,  55, 123, 160, 
-                94,  90, 101, 172, 164, 254,  92, 170,  88, 213, 216, 195, 201, 121,  84, 
-               161, 225, 155, 213,  29, 234, 122, 242, 252, 150, 189, 234, 106, 253, 127, 
-                87,  83, 125, 150, 146, 231,  96, 189,  97, 165,  10, 143, 151,  30, 103, 
-               202, 135, 242, 149, 226,  19, 242, 131, 127, 139,   1, 113, 210, 242,  80, 
-                57, 166,  86, 188, 161, 254, 102, 173, 175,  36, 159,  98,  47, 202, 191, 
-               184, 148,  34, 205, 135, 210, 167,  84, 248,  90, 189, 108, 118,  61,  73, 
-                62, 251,  94,  76,  48, 221, 117, 194, 135, 250,  97,  58,  95, 179, 207, 
-               156,  85,  15, 169,  95,  64,  58, 254, 201,  57, 114, 107, 247,  68, 105, 
-                62, 116, 158,  40,  63,  41,  62, 115, 210, 190, 206,  60,  95, 219, 201, 
-               254,  93, 140,  47,  40,  63,  57, 121,  58, 254, 240, 124, 217,  59, 225, 
-               210, 124,  40, 253, 131,  15, 207, 169,  55, 123, 254,  44,  25, 143, 109, 
-               184, 112, 113, 101, 201,  72,  71,  62, 163,  38, 246,  83, 251, 165, 175, 
-                13, 167, 124, 228, 226,  58, 239,  61, 151, 183, 245, 104,  39, 205, 135, 
-               202,  33, 215, 175, 197, 187, 110, 110,  50, 105,  28, 249, 208, 113, 165, 
-               227,  76, 215, 135,  20, 159, 202,   7, 185, 251, 163, 227, 165, 249,  80, 
-               122, 185, 117, 186, 124,  95, 229, 202, 117, 157, 216, 121, 186,  30,  40, 
-               189, 156,  60,  65,  23, 123, 134, 244,  26,  46, 205, 135, 174,  51,  57, 
-               121,  12,  23,  70, 104, 150,  56,  57,  15, 167, 246, 129, 234,  15, 141, 
-                55, 165, 248, 156,  34,  19,  31,  38, 166,  72, 243, 161, 227,  44,  23, 
-               175,  22, 244,  39, 215, 207,  57, 177,  99, 116, 157, 211, 254, 209, 241, 
-               145, 242, 167, 215, 125, 111,  55,  42, 224,  36, 110,  73, 158,  83, 146, 
-               247,  60, 250, 167, 197, 126,  81, 255,  37,  37, 207, 250, 197, 217,  71, 
-               251, 213, 147, 230,  67, 237, 134, 156,  61,  28, 246, 151, 209,  71,  61, 
-                69, 122, 124,  44, 114, 201, 200,  51,  56, 199, 103, 224, 218,  46, 210, 
-               124, 232,  60,  81, 126,  82, 124, 174,  63, 217, 152, 115, 246,  61, 233, 
-               253,  14,  93,  87, 114, 246, 103, 209, 189, 207, 175,  15, 119, 194, 103, 
-               121, 102,  17, 254, 244, 132,  38, 150, 184, 240, 137, 255,  53, 245, 198, 
-               181,  93,  36, 237, 170,  70, 245,  91, 185, 105,  19, 165, 249, 208, 243, 
-               190,  30,  63,  87, 230,  91, 248, 197,  75, 242, 233,  19, 244, 193,  31, 
-               151, 147, 164, 159,  55, 209, 184,  85,  46,  94, 213, 212, 249,  99, 194, 
-               130,  34, 222,  46, 248, 152, 233, 169,  92,  82, 124, 146,  15, 196, 250, 
-                23,  94, 237, 228,  60,  92, 164, 163, 253, 251, 113,  74,  13, 190, 212, 
-                39, 210, 254, 107,  76, 147,  57,  69,  50, 156, 244, 107,  82, 183,  32, 
-               254, 135,  49, 196,  18,  63, 203, 241, 249, 218, 235, 250, 133, 220,   9, 
-               210, 242,  80, 122, 202,  79, 138, 207,  35, 245,  55,  10, 221, 104,  34, 
-                25, 207,  91, 248, 201, 240, 201, 254, 113, 235, 203, 211,  19, 157, 237, 
-                47, 204, 231, 116,  84,  31, 229, 206, 235, 188, 106, 221, 158, 181, 249, 
-                47,  79,  73, 127,  97, 245,  55, 102, 190, 146, 231, 108, 133, 239, 207, 
-                46,  88,  95,  41, 185,  31, 164, 118,  85,  46, 110,  25, 244, 195, 186, 
-                33, 225,  45, 137,  36,  31,  43, 253,  60, 144, 199,  91, 146, 207, 111, 
-               223, 110,  26,  88, 188, 141,  82,  50, 110, 177, 198,  43,  51, 128,  79, 
-                35,  73,  62, 247, 182, 213, 237, 210, 151, 151, 142, 127, 172, 244, 174, 
-               229, 185, 184,  99,  98, 151, 153, 173, 156, 237, 187, 205, 244,  84,  30, 
-               185, 245, 222, 243,  86, 244, 232,  33,  33,  68, 146, 143, 149, 254,  16, 
-               220,  15, 146, 228, 243, 211, 189, 238, 201,  53, 131, 156, 228, 129,  88, 
-               232, 233,  58,  47,   3, 215,  68,  73,  62, 235, 107, 235, 135, 159,  15, 
-               113, 197, 135, 210, 187, 150, 231,  23, 191, 207, 199,  84,  11, 112, 242, 
-                28, 214, 178,  79, 238, 202,  19, 253,  44,  89, 121, 170, 247, 188, 218, 
-               175, 126,   5,  87, 124,  40, 189, 107,  59, 182,  58, 156, 211, 189, 104, 
-               225, 100, 156, 245,  83,   1, 127, 152,  69,  30,  43,  95, 231, 124,  38, 
-               189,  31,  89, 100,  92,  69, 105,  62, 148, 158, 158,  35,  72, 241,  81, 
-                77,  62,  93, 244, 101,  89, 105,  62, 148,  94, 238,  28,  96, 140,  86, 
-               251, 169, 103,  41, 105,  62, 148, 190, 152,  49, 133, 255, 176, 167, 116, 
-                60, 223, 161, 247, 210, 175,   7, 213, 113, 228,  67, 233, 169, 253, 138, 
-               237, 253,  46, 191, 194, 197, 185,  86, 213, 187,  59,  83,  31, 133,  74, 
-               243, 161, 244, 114, 242,  68, 189, 106,  53, 179,  78,  13,  71,  62, 148, 
-               158, 202,  67, 237, 190, 228, 121, 230, 181, 202,  11,  87, 134,  73, 243, 
-               161, 244, 207,  63, 104, 198, 103, 166, 253,  45, 233, 223, 151, 101,  37, 
-                44,  14, 115,  50, 239, 148, 142, 242, 145, 139,  15, 219, 121,  15, 158, 
-               254, 155,  11,  62, 148, 158, 158, 111,  74, 230,  21, 212, 169, 183, 114, 
-                67,  43,  23, 126,  80, 244,  95, 114, 241, 207, 142, 163, 202, 191, 234, 
-               141, 145, 230,  67, 233, 229, 250, 197,  31,  62, 248, 251, 139,  81, 142, 
-               124, 168,  28, 212, 191, 203, 237,  79, 163,  79, 126, 235,  59, 125, 140, 
-                52,  31,  74,  47, 215, 175, 109, 198,  46, 197, 218,  59, 217, 167,  80, 
-               122,  42, 143, 156, 125, 158, 114, 178,  74, 133, 214,  99, 164, 249,  80, 
-               122, 185, 253, 242, 224,  27, 147, 159, 255, 250, 190, 252, 121, 157, 125, 
-                62, 163, 179,  60,  97, 227,  27, 200,  63, 196,  60, 225, 168, 229, 210, 
-               121, 194, 246, 121, 131,  82, 124,  48,  79, 184, 209, 218, 252, 231, 121, 
-                98, 158, 112, 199, 109, 210, 121, 131, 246, 121, 172, 174, 242, 132, 159, 
-                28, 145, 207, 239, 149, 227, 131, 121, 194, 123, 214,  73, 243, 161, 249, 
-               175, 114, 249, 144, 152,  39, 188, 254, 134, 116, 126, 166, 125,  30, 173, 
-               171,  60, 225,  29, 253, 164, 243, 123, 237, 243,  52,  93, 229,   9, 143, 
-                12, 249, 159, 207,  19, 182, 207, 127, 166, 227, 230,  44,  79,  56, 152, 
-               228,  63, 207,  28, 243, 132, 123, 105, 229, 207, 177, 237, 243, 241, 157, 
-               230,   9, 199,  73, 231,   9, 219, 231, 205,  75, 233,  51, 230,   9, 127, 
-               241,   6, 242, 249,  49,  79, 216, 217, 121, 184, 125, 126, 175, 220, 124, 
-                97, 158, 240, 169,  47, 164, 249, 216, 247, 203,  85, 158, 240, 170, 141, 
-               242, 249, 189, 114, 242,  96, 158, 240, 242, 126, 210, 124, 168,  60, 114, 
-               235,  11, 243, 132, 191, 237, 146, 255, 124,  45, 204,  19, 238, 177,  60, 
-               255, 249,  90, 152,  39, 124, 232,  88, 254, 243, 172,  48,  79, 184, 210, 
-               172, 252, 231, 125,  97, 158, 112, 201, 245, 249, 207, 179, 194,  60, 225, 
-               153, 107, 242, 159, 247, 133, 121, 194, 186, 133, 249, 207, 215, 194,  60, 
-                97, 223, 207, 243, 159, 175, 133, 121, 194,  35, 230, 230,  63,  95,  11, 
-               243, 132, 191, 158, 150, 255, 124,  45, 204,  19,  46,  31,  39, 127, 110, 
-                35, 151, 223, 139, 121, 194,  67, 231, 120,  75, 230,   9, 219, 231,  27, 
-               211, 243,  10, 103, 121, 194,  51, 150,  75, 231, 175, 210, 117,  33, 151, 
-               191, 138, 121, 194, 207, 207, 201, 231, 247, 202, 229, 121,  98, 158, 240, 
-               227,  69, 242, 249, 189, 114, 249, 198, 152,  39, 220, 252, 158, 124, 222, 
-               178, 125, 158, 175, 179,  60, 225, 139,  38, 233, 188,  83, 251, 124,  99, 
-                87, 121, 194, 219, 226, 228, 243, 177, 229, 248, 200, 229,   9, 187, 155, 
-                79, 219, 218, 239, 214, 162, 181, 225, 249, 207, 167, 197,  60, 225, 240, 
-               140, 252, 231, 247,  98, 158, 240, 222,  21, 249, 207,  55, 198,  60, 225, 
-                57,  67, 243, 159, 255, 140, 121, 194,  63, 116, 201, 255, 247,  83,  48, 
-                79, 248, 206, 128, 252, 127,  63,   5, 243, 132,  47,  68, 230, 255, 123, 
-                37, 152,  39, 236,  63,  60, 255, 223, 115, 193,  60, 225, 228,  33, 249, 
-               255,  94,   9, 230,   9, 251,  13, 205, 255, 247,  92,  48,  79,  56, 116, 
-                88, 254, 191, 159, 130, 121, 194, 127,  15, 207, 255, 247,  83,  48,  79, 
-               248, 240, 136, 252, 127,  63,   5, 243, 132,  87, 140, 200, 255, 247,  83, 
-                48,  79,  56,  96, 182, 171,  60,  97, 154,  63, 228,  58, 255,  16, 243, 
-               132, 231, 244, 245, 118,  35, 143, 145, 230, 247, 154, 243, 134, 157, 229, 
-                 9, 159, 157, 226,  42,  79, 216,  54, 207, 216,  85, 158, 240, 190, 246, 
-               210, 121, 194, 238, 230, 139,  98, 158, 240, 166, 175, 228, 243, 123, 229, 
-               242, 199,  48,  79,  56,  97, 190,  52,  31, 154, 183,  33, 151, 111, 140, 
-               121, 194, 103, 141,  68,  54, 159,  86, 238, 121,   1, 230,   9,  87,  89, 
-                43, 159, 111,  44, 247, 188,   0, 243, 132,  31, 157,  83, 186, 200,  55, 
-                54, 231, 209, 202, 229, 247,  98, 158, 240, 142, 155, 133, 100, 243, 141, 
-               229, 242, 159,  49,  79,  56, 118, 135, 124, 126, 175, 220,  56,  99, 158, 
-               176, 223, 110, 105,  62, 180,  95, 114, 250, 131, 121, 194, 251,  77,  69, 
-                92, 172,  11, 251, 124, 124, 233,  60, 225, 217, 239,  87, 114,  35, 223, 
-               216, 245, 186, 192,  60, 225, 239,  38,  86, 146, 205, 203, 149, 155,  47, 
-               204,  19,  94,  56,  71,  58, 191, 215, 221, 188,  38, 204,  19,  62, 244, 
-               169, 124, 190, 177,  92,  94,  46, 230,   9, 107, 102,  75, 207,  23, 165, 
-               151, 211,  31, 204,  19, 174,  59,  93,  58,  47, 215, 221, 124,  90, 204, 
-                19, 254, 104, 190, 124, 190, 177,  92,  30,   8, 230,   9, 199, 175, 144, 
-               207,  55, 150,  91, 239, 152,  39, 252, 217,  52, 249, 124,  45, 185, 113, 
-               198,  60, 225,  47,  22,  72,  63,  55, 183, 207, 219, 114, 149,  39, 124, 
-               106, 181, 116, 126, 175, 125, 254, 142, 171,  60,  97, 238, 176, 124, 190, 
-               177, 220,  57,  54, 230,   9, 159, 217,  35, 159, 223,  75, 243, 133,  93, 
-               229,   9, 159, 253,  92, 154, 143, 253, 247,  75,  92, 229,   9, 191,  59, 
-               159, 184, 145, 223, 235, 122, 189,  99, 158, 112, 102, 123, 111,  23, 124, 
-               168, 127, 119, 157, 111, 140, 121, 194,  83, 155,  74, 231,   9, 219, 231, 
-               249, 186, 202,  19,  94, 122,  94,  58,  79, 152, 218,  83,  57,  62, 152, 
-                39, 156, 244, 151, 124,  94,  46, 125, 158,  70, 247, 187, 206, 242, 132, 
-               175,  45, 145, 206,  19, 182, 127,  30,  39, 181,  95, 198,  60, 225, 220, 
-               185, 210, 242, 208, 231, 148, 114, 207,  25,  49,  79, 248, 143, 123, 210, 
-               121, 194, 246, 207, 229,  92, 229,   9,  47, 158,  45, 253, 220, 193,  62, 
-                63,  87, 234, 253,  36, 167, 130,  46,  21, 216, 246, 161, 244, 249, 170, 
-               125, 158, 177, 212, 121,  38, 230,   9, 215,  25,  47, 157,  39,  76, 243, 
-               152, 104,  30, 145,  84, 190,  49, 230,   9,  59, 123, 127,   2, 205, 199, 
-               165, 121,  64,  22, 126,  18, 249, 207, 152,  39, 252,  60,  45, 255, 249, 
-               189, 152,  39,  28, 213,  53, 255, 249, 198, 152,  39, 124, 234,  75, 249, 
-               188,  92, 185, 252,  94, 204,  19,  94, 188,  76,  62, 223, 152, 174,  91, 
-                87, 121, 194, 157, 210, 165, 249, 208, 188,  58,  57, 255, 142, 121, 194, 
-                37,  63, 146, 246,  59, 148, 143, 156,  63,  93,  24,  20,  82,  97, 196, 
-                71, 210, 121, 194, 148, 143, 156, 223, 193,  60,  97, 253,  60, 233,  60, 
-                97, 251, 124,  61, 154, 103, 231,  44,  79, 120, 211,  34, 249, 188,  92, 
-               154, 175, 231,  42,  79, 248, 241,  28, 233, 113, 182, 207,  59, 118, 149, 
-                39, 188, 118, 137, 124, 126, 175,  92, 158,  30, 230,   9, 215, 214,  19, 
-               217, 124,  27, 185, 231, 185, 152,  39,  92,  90,  47, 157, 223, 235, 110, 
-               126,  29, 230,   9, 183, 155,  37, 159, 111,  76, 231, 203,  85, 158, 112, 
-               253,  31, 229, 243, 123, 229, 226,  13, 204,  19, 222, 112,  72, 154, 143, 
-               187, 121, 185, 152,  39, 252, 231,  62,  34, 155, 175,  37, 199,   7, 243, 
-               132,  55, 237, 146, 207,  55, 150, 203,  91, 198,  60,  97, 206,  32, 159, 
-               223,  43,  55, 206, 152,  39, 252, 241, 199, 210, 124, 220, 205, 239, 197, 
-                60, 225, 139,  75, 165, 243, 123, 221, 205,  55, 198,  60, 225, 175,  22, 
-               203, 231,  27, 211, 245, 230,  42,  79, 120, 248, 114, 249, 188,  83,  57, 
-               253, 193,  60, 225, 249, 122, 249, 124,  99, 185, 113, 198,  60, 225,   6, 
-               243, 164, 243, 132, 237, 191, 247,  64, 251, 235,  44,  79, 248, 249,  92, 
-                23, 121, 194, 162, 223, 146, 179,  27, 152,  39, 252, 197, 121, 249, 124, 
-                99,  57, 187, 129, 121, 194, 135, 166,  74, 143,  15, 149,  71,  46,  15, 
-                 4, 243, 132,   7, 164, 203, 231,  27, 203, 237,  11,  48,  79,  56, 104, 
-               134, 252, 247,  34, 229, 214,  41, 230,   9,  47, 153,  33, 157, 223, 235, 
-               152, 175,  39, 157,  39,  60, 101, 150,  52,  31, 154,  31,  44, 151, 151, 
-               139, 121, 194, 181, 230,  17, 217, 252,  94, 107, 252,  42, 157,  39,  60, 
-               230, 161,  82, 246, 253,  54, 114, 253, 194,  60, 225, 199, 131, 228, 243, 
-               114, 173, 121, 213, 210, 121, 194,  81, 243, 228, 243, 163, 228, 226, 103, 
-               204,  19,  86, 206, 118,  33, 143, 155, 249, 198, 152,  39, 156, 150,  74, 
-               100, 191, 247,  39,  55,  95, 152,  39, 220, 120, 150, 116, 158, 176, 187, 
-               223,  23, 198,  60, 225, 238,  74, 233,  60,  97, 251, 188,  99,  87, 121, 
-               194, 207, 206, 121, 203, 230, 247, 202, 217,  85, 204,  19,  62, 156,  37, 
-               157,  39,  76, 243, 113, 229, 242, 141,  49,  79, 248, 254,  30, 111, 217, 
-               252,  94, 185, 124,  45, 204,  19,  94, 111, 116, 149,  39,  76, 243, 131, 
-                93, 231,  27,  99, 158, 240, 123, 251, 189, 101, 243, 123, 229, 228, 193, 
-                60, 225,  85, 223,  72, 231,   9, 211, 124,  92, 185, 124,  54, 204,  19, 
-               190, 114, 198, 157, 252,  94, 215, 235,  20, 243, 132, 235, 127, 227, 138, 
-                15, 205,  15, 118, 157, 223, 139, 121, 194, 191, 124, 235,  78, 126,  47, 
-               205,  23, 150, 206,  19,  62, 127, 211,  21,  31, 247, 242, 159,  49,  79, 
-               216, 243, 168, 124, 126, 175, 156,  60, 152,  39, 252, 225,  13, 249, 252, 
-                94, 185, 115,   0, 204,  19, 246, 184,  45, 159, 223,  43, 151, 111, 140, 
-               121, 194,  47, 238,  74, 243, 161, 249, 184, 114, 249, 198, 152,  39, 252, 
-               233,  69, 249, 252,  94,  57, 187, 138, 121, 194,  69, 142,  72, 243, 161, 
-               242, 200, 229,  27,  99, 158, 240, 143,  87, 228, 243, 123, 229, 228, 193, 
-                60, 225, 152, 195, 210, 124, 236, 243, 124,  93, 229,   9,  31, 185,  33, 
-               159, 223,  43, 199,   7, 243, 132,  43, 184, 224,  99, 255, 254,   3,  87, 
-               121, 194, 239, 236, 151, 207, 239, 149, 243,  95, 152,  39, 124,  97, 190, 
-                52,  31, 119, 191, 111, 133, 121, 194, 158, 159, 200, 231, 247, 202, 249, 
-               119, 204,  19, 158,  60,  95, 154, 143, 253, 247, 210,  92, 229,   9, 239, 
-               250,  88,  62, 191,  87,  78,  30, 204,  19, 222,  55,  95, 154, 143, 187, 
-               223,   7, 193,  60,  97,  63,  39, 207,  29, 162,  90,  19, 225, 157, 247, 
-               198,  34, 177,  94,  65, 204, 239, 179,  37,  52, 166, 126,   0, 113, 146, 
-                70, 196, 197, 251,   7,   4,   4,  18, 155,  63,  78,  68,  79, 253, 251, 
-               177, 130,  72, 252, 233, 129, 111, 174, 151, 153,  87,  78, 193,  88,  47, 
-               125, 225,  88, 175, 236,  66,  86, 222, 246, 127, 133, 197, 223,  35,  68, 
-               198, 186, 159,  35, 249, 182, 169, 179,  96, 215, 168, 111,  92, 173, 214, 
-                49,  77, 235, 122, 119, 249, 243, 243, 167, 104,  88, 252,  42, 196, 147, 
-                40, 152,  95, 149, 195, 119,  38, 123, 138, 237, 138,  50, 146,  28, 143, 
-                88,  47,  44,  63, 142, 229, 208, 126,  35, 177, 157, 246, 245, 251,  26, 
-               215,  60, 173, 204,  39, 152, 106, 240, 243, 110, 156, 125, 165, 152, 172, 
-                48, 117, 128, 178, 117,  80,  54, 220,  84, 195, 128, 101, 175, 166,  41, 
-                76, 103,  43, 198,  26, 159,   7, 119, 228, 245, 141, 202,  91, 240, 176, 
-               236,   5, 148,  77, 106,  84, 222, 130, 215, 237, 204,  24, 227, 233, 123, 
-               215, 212, 254, 223,  22, 183, 148, 105, 161, 236,  36, 148,  53, 254, 182, 
-               184, 133, 246, 196, 193,  95, 255,  31, 123,  95,   1,  87, 213, 182, 173, 
-               191, 232, 110,  65,  58, 164, 148,   6, 233,  70, 148,  84,  80, 164,  67, 
-               233, 238,   6, 165, 149,  80,  26, 165,  20,  65,   5, 233, 110,  16,  73, 
-               105, 164,  59,   5, 105,   9, 165, 164, 255, 123, 123, 166, 247, 112, 125, 
-               231, 220, 115, 239, 123, 239, 190, 247, 126, 255, 115, 182, 191,  15, 215, 
-                94, 107, 206,  49, 190,  49, 230, 152, 177, 214, 158, 115,  46, 201, 171, 
-               122,  66, 117, 125, 223, 109,  57, 245, 129,  32, 196,  83, 215,  71, 121, 
-               117,  50, 176, 115,  67, 103, 206,  57, 195, 206,  73, 195, 206,  13, 132, 
-               123, 215, 253,  56, 247,   1, 150, 247,  10, 236,  92, 239, 153, 115, 112, 
-               219, 220, 225, 239, 200, 130, 249, 149,   3, 216,  22,   9,  59, 254, 225, 
-               149, 155, 103, 142, 241, 207,  28, 247, 160, 255, 122,  28, 121, 230, 248, 
-               230, 153, 227, 127, 245, 243, 183, 247, 129,  97, 252, 193, 251,   8, 255, 
-               224,  58, 254,  31,  92, 135, 115, 255, 135, 239,  99, 252, 131, 235,  55, 
-               255, 193, 117,   6, 248, 251, 167,  96,  49, 203, 242, 183, 119,  99,  34, 
-               126, 127, 239,  37, 124, 239, 115, 248, 155, 164,  16, 192,  49,  42, 132, 
-                 1, 161,  67, 104,  16,  45, 116, 250, 221, 238,  17,  16, 227, 108, 127, 
-               203, 183,   9,  27, 223,  62, 130, 181,  89, 241, 176, 255,   3, 197, 167, 
-               198, 138, 197,  60,  23, 213, 126, 183,  13,  11, 131, 197, 199, 225, 125, 
-               244,  31, 239, 168, 253, 117, 206, 242, 223, 242, 253,  34, 231,  87, 185, 
-               191,  47,   7,  37, 224,  63, 202, 249, 241, 222, 197, 255, 120,  12, 228, 
-               192, 142, 206,   2, 130, 190, 193, 226,  11,   9, 241, 111, 114,  16,  64, 
-               155,  33,   5, 179,  31, 230, 132,  20,  20, 115,  52, 186,  51, 117, 236, 
-               108,  28, 220, 144, 178, 181, 115, 178,  55,  49, 130,  12, 156,  77,  28, 
-                45,  12, 172, 207, 180,  25, 103, 142, 124,  37, 126, 197, 223, 181,  26, 
-               191, 115,  30, 250, 157, 116, 127, 255,  57, 253, 155, 255, 127, 121, 247, 
-               215, 175, 121, 127, 149, 251, 115, 124, 211, 162, 252, 126, 155, 244, 159, 
-               173,   7,  55, 129,  92,  50,  96,  45, 194, 217, 183,  95,  34, 194, 234, 
-               216, 143,  55, 145, 254, 174, 221, 190,  18, 191, 141,  95, 108, 249,  81, 
-                14, 112, 223, 211, 157, 241, 109, 202,  25,  91, 110,  72,  57,  26,  24, 
-                26,  90,  56,  67, 223,  75, 227, 215,  54,  28, 241, 255, 104,  57, 232, 
-                35, 253, 123, 202,   1,  46, 247, 223,  85,  14, 170, 176,  62,  52,   3, 
-               200, 162, 254, 187,  24, 255, 245, 163, 122,  77, 213, 196, 253,  55, 206, 
-               255,  90,  14, 190, 176, 250, 156,  34, 249, 123, 186, 126, 125, 215, 247, 
-               127, 228,   9, 183, 231,  87,  63,  35, 254,  75, 254, 145, 191,   1, 139, 
-                81, 132,  95, 234,  54,  41, 224, 254, 247, 237,   5,  60, 141, 147, 185, 
-               129, 177, 157,  27, 135, 179, 153, 193,  79, 253, 255, 247,  15,  39, 167, 
-               179, 137, 187, 179, 139, 163, 137,  19, 231, 153, 132, 240,  80, 251, 126, 
-                82, 247, 183, 115, 255, 207, 126, 244, 215, 143, 255, 105, 199,  32, 252, 
-               221,  49, 194, 223, 149, 211,  12, 244, 203,  88, 226,  28,  56,  38,   1, 
-               233, 217,  36, 255,  94, 198,  77,  58, 165, 239, 233, 224, 231, 225, 199, 
-               191, 202, 253, 149, 134,  36, 236,  31,  45,  58, 124, 114, 237, 191,  25, 
-                 8, 255,  69,  64, 255, 199, 129, 240, 191, 140, 255,  43,  54,  35, 254, 
-                15, 227, 127, 195,  23, 255, 200,  94, 164, 223,   0, 242, 127,  19, 126, 
-                75, 246,  63, 242, 199, 255, 132, 221, 191, 101,  39, 202,  25, 160, 254, 
-                55, 227, 172, 236, 223, 242, 203, 191, 195,  15, 255, 200, 110, 228, 223, 
-               176,  21,  13,   0,  29,   0, 227,  55, 128, 249,   7, 248, 173,  60,  63, 
-               228, 253, 144, 255, 179,  79, 144, 255,  13, 126, 248,  61, 219, 145, 207, 
-               216, 140, 246, 147, 157, 112, 254,  88,  48,  96,   3, 224, 156,   1, 238, 
-               191, 136, 179, 121, 127, 200, 195, 250, 201,  71, 232, 103, 252, 113, 214, 
-                15, 255,  85,  31, 252, 108, 251, 217,  50,  63, 107, 247,  89, 123, 127, 
-               216, 136,   7, 159,  24,  11,   3,   1,  12, 132,   0,  68,   0, 231, 254, 
-                73, 252,  72, 255,  35,  63,   1, 144, 137, 119, 198,  55, 103, 253, 113, 
-               214,  15,  63, 199, 194, 127, 198,   7,  63, 219, 126, 182, 204, 127, 148, 
-                55,  22, 224, 241, 195,  94,  66, 192, 157,  24,   6,  18,  24, 206, 195, 
-                64,  10, 159,  20,   7, 159, 136,  15,  64, 241,  79, 226,  71, 122,  50, 
-                32, 227,  60, 144,  73,  12, 116,  16, 158, 241,   7,  14, 224, 242,  35, 
-                30, 126,  43,  22, 254,  21, 251, 255, 200, 118,  76, 224, 123,  60,  80, 
-                46,  68, 128,  27,  41, 224,  76,   9,   3,  53, 252,  97,  48, 252,  65, 
-                55, 124,  17,  38,  12,  23, 224,  15, 243,   1,  24, 254,   0,  63, 210, 
-                93,   0, 121, 105, 129,  44, 106,  32, 155,  28, 232,  34,   1, 186,   9, 
-                 0,  23, 236,  51, 177, 240,  95, 241, 193, 207, 245, 253, 172, 237,  63, 
-               202,  28, 255, 140, 221, 100, 128,  23,  13, 224,  12, 183, 129,   9, 134, 
-               139,  48, 176, 192, 192,  10,   3,  27, 124, 114,  54,   0, 199,  31, 224, 
-                71,  58,  54, 144, 151,   5, 200,  98,   2, 178,  47,   0,  93, 148,  64, 
-               247,  15,  63, 224, 159, 137, 133, 179,  62, 248, 185,  61, 248,  87, 203, 
-               254, 172, 237, 184, 192, 223, 231,  64,  25, 252, 176,  27,  94,  94, 204, 
-               128,  43, 156,  59,  23, 124, 114,   6,  12, 188, 240,  69,  94, 240,   5, 
-               126,  48,   8, 194,  32,   4, 159, 204, 244,   7,  16,   2, 105,   5,  64, 
-                94,  94,  32, 139,  11, 200, 102,   1, 186, 232, 207, 248, 129,  20, 112, 
-                34,   0,  28, 207, 250, 224,  95, 137, 129, 223, 179,  29,  19, 248, 150, 
-                 0, 212,  65, 184, 223, 169,  64,  89,  48, 129, 114, 226,   4,  92, 225, 
-               220,  69, 224, 147,  61, 225,  63, 160, 195, 112,   5, 134, 171, 240, 197, 
-               119,  48, 200, 192,  32,  11,  32, 247,  19, 126, 156, 151,   1, 105, 175, 
-               130, 188, 146,  64, 150,   8, 144, 205,  11, 116, 177,   2, 221,  23,   0, 
-                23,  50, 192, 141,   0, 112, 197, 252,   7,  62, 248, 103, 202,  30,   5, 
-               180, 169,  24, 160, 110, 225,   3,  31, 147, 129, 186,   8, 247, 255,  37, 
-                16, 179, 188, 160, 220, 224,  60, 165, 129,  29, 138,  48,  40, 193, 112, 
-                19,   6,  21,  24,  84, 225,  63, 120, 194,  39,  31, 254,   1, 212,  64, 
-                90,  21, 144,  87,   9, 200, 146,   5, 178, 197, 129,  46,  94, 160, 251, 
-                18, 224,  66,  13, 184, 157,   3,  92, 177,   1, 119, 180, 159, 234, 193, 
-               239, 197, 192,  63, 138, 123,  60,  80, 199,  72, 129, 175, 127, 216, 206, 
-                 5, 226,  84,  12, 112, 147, 135,  65,  25, 240, 215, 132,  47,  56, 128, 
-               225,  46, 252, 135,  13, 248, 143,   0, 240, 133,  75,  48, 152, 192,  96, 
-               250,  59,  48,   1, 105, 140,  64, 158, 187,  64, 134,  38, 144, 169,  12, 
-               116,  72,   3, 157,   2, 128, 195,  15,  31,  80,   1, 142,  68, 128,  51, 
-               214, 191,  16,   3, 191,  85, 246, 103, 227, 158,   4, 212, 181,  11, 103, 
-               108, 135, 199, 163,   4,  40,  27,  37,  80, 118,  58, 128,  59, 220,  30, 
-                75,  24, 108,  96, 176, 135,  47, 106, 131,  79,   4, 129,  47,  38, 131, 
-               193, 245, 119, 224,   2, 210,  56, 130,  60,  54,  64, 134,  41, 144, 169, 
-                 3, 116,  40,   1, 157,  18, 128, 195,  15,  31,  92,   0,  28,  73, 126, 
-               170,   7, 191,  21,   3, 127,  20, 251,  63, 151,  61,  25, 104, 111, 152, 
-                64, 220,   9,   0, 253, 240, 186, 123,  11,   6,  45, 192, 209,  28,   6, 
-                91,  96, 135,   7,  12,  94, 240,   9, 219,  48, 248, 195, 240,   0, 134, 
-               135,  48,   4, 194,  16, 244,  19,   2, 193, 181,   7,  32, 173,  47, 200, 
-               235,   1, 100, 217,   2, 217,   6,  64, 215,  45, 160,  91,   2, 112, 225, 
-                 0, 220, 104,   0, 215, 159,  99, 224,  31, 213, 129, 179, 246, 255, 136, 
-               253, 179, 245, 254,  71, 217, 211, 131, 118, 135,  23, 196, 159,  44, 224, 
-               161,  13, 226, 214,  26, 112, 189,  15, 108, 128, 219,  21,  10,  67,   4, 
-                12, 209, 240, 137,  82, 240, 201, 136,  48, 196, 194,  16, 247,  19,  98, 
-               193, 181,  39,  32, 109,   4, 200,  27,   4, 100, 221,   7, 178, 173, 129, 
-                46, 109, 160,  91,  22, 112, 225,   5, 220, 232, 207, 196, 192, 217, 118, 
-               224,  71,  29, 248,  61, 251, 127, 174, 251,  24,  32, 126,   8,  65, 157, 
-               162,   1, 253,  14,  39, 104, 127, 164,  65,  28, 106,   1,  62, 240, 242, 
-               113,   7, 229,  22,  12, 248, 195, 237,  73, 132, 225,   5,  12,  47, 225, 
-                27,  73, 192, 144,   6, 159, 104,   1, 144,  14, 240, 227, 123,  26,  72, 
-               243,  18, 228,  73,   4,  50,  34, 128,  76,  95, 160, 195,  22, 232, 212, 
-                 2,  28, 164,   1,  39,  78, 192, 145,   6, 112,  38,   4,  54,  96, 252, 
-                65,  27, 240, 123, 117,  31,  23, 180, 167, 228, 160, 110, 177,   0,  63, 
-               139, 131, 118,  72,  13, 196, 163,  53, 224, 229,  15, 202,  12,  94, 134, 
-               207,  97, 120,   5,  95, 108,   7,  67,  14, 124,  18,  60, 252, 135,  89, 
-                24, 138,  97,  40, 129, 255, 248, 252,  19,  74, 192, 181,  66, 144,  54, 
-                 7, 228, 125,   5, 100,  61,   1, 178, 253, 129,  46, 107, 160,  91,  13, 
-               112,  17,   7, 220,  88,   0,  87, 114, 192,  29, 247, 159, 104,   3, 126, 
-               203, 254,  31, 117, 159,  24, 196,  19,   3,  24, 127,   8,   2, 127,  43, 
-               131, 246, 200,  28, 196, 165,  47, 224,   7, 143, 227, 100,  80, 174, 121, 
-               192, 174,  74,  24, 222, 194,  39, 154, 194,  80,   7,  95, 152,   2, 208, 
-                 8, 240, 227, 123,  29,  72, 243,  22, 228,  41,   1,  50, 210, 129, 204, 
-                88, 160, 195,  23, 232,  52,   7,  28, 148,   1,  39,  65, 192, 145,   1, 
-               112,  38,  62, 211,   6, 252,  43, 246, 163, 255,  84, 247, 169,  65, 219, 
-               194,   5, 198,  33, 178, 160,  63,  50,   0, 177, 120,  31, 196, 231,  19, 
-               192,  51,  19, 190,  88,  28, 216,   0, 183, 167,   9, 134,  86,  24, 218, 
-                97, 232, 132, 161,  11, 134,  15, 240, 133, 143,   0,  31, 192, 185,  78, 
-               144, 166,  21, 228, 169,   5,  50, 138, 128, 204, 100, 160,  35,  24, 232, 
-               180,   5,  28,  84,   1,  39,  17, 192, 145,   9, 112,  62, 219,   6, 160, 
-               255, 147, 246, 163, 158, 177, 159,   0, 220, 123, 209, 128,  49,  56,  15, 
-               136,  51,  69, 208,  39, 155, 130, 114, 240,   7, 117, 244,  57,  40,  43, 
-                56, 223, 106,  80, 182, 109, 192, 190,  62, 248,  66, 124, 248, 228,  49, 
-                24,  70, 224, 139,  12, 126, 194,   8, 184,  54,   8, 210, 126,   0, 121, 
-                27, 129, 172,  34,  32, 251,  57, 208, 229,  15, 116, 155,   2,  46, 138, 
-               128,  27,  15, 224,  74,   3, 184,  19, 156, 177,  31, 245,  15, 236, 255, 
-               189, 182, 143, 246,  76, 221, 151,   4, 109, 142,  46, 232, 155,  61,  64, 
-                27, 253,  20, 212, 213,  60,  80, 102, 112, 222,  29,  48, 244, 194,  23, 
-               224, 193,  48,   6, 195,  36,  12, 211, 240, 133, 206, 240, 205, 202, 126, 
-               194,  71, 112, 109,  18, 164,  29,   2, 121,  59, 128, 172,  74,  32, 251, 
-                21, 208,  21,   4, 116,  91,   2,  46,  74, 128, 219, 143,  54, 128, 246, 
-                31, 180, 129, 103, 237,  71, 248,   3, 251, 201, 192, 125,  40,  43, 184, 
-                31, 185,   2, 198, 165, 119, 193, 248, 196,  11, 212, 201,  68, 208,  94, 
-               149, 128, 184, 109,   3, 252,  71, 128,  77, 112, 251,  62, 193,  39,  51, 
-               194, 176,   4, 195, 242,  79,  88,   2, 215,  62, 129, 180, 147,  32, 111, 
-                47, 144,  85,  11, 100, 103,   0,  93, 161,  64, 183,  13, 224, 114,  19, 
-               112, 227,   7,  92, 233,   0, 247, 127, 100,  63, 194,  31, 216,  79, 116, 
-               166, 237, 103,   3, 227, 140, 171,  96, 108, 110,   0, 198, 104, 190,  32, 
-                30,  95, 128,  54, 187,  18, 212, 221,  15, 160,  12, 225, 118, 204, 193, 
-               176,   8, 159, 144,   5, 195, 103,  24, 214,  97, 216, 248,   9, 235, 224, 
-               218,  10,  72,  59,   7, 242,  14,   1,  89,  77,  64, 118,  14, 208,  21, 
-                 1, 116, 219,   3,  46,  42, 128, 155,   0, 224, 250, 163,  15,  32, 250, 
-                79, 218, 143, 123, 198, 126, 250,  51, 109, 255,  53, 208, 222,  24, 129, 
-               113, 170,  63,  24, 175, 188,   4, 253, 214,  91, 208, 126, 245, 129,  56, 
-               254,   8, 236,  89,   5,  54, 126, 129, 225,  43, 124,  49, 215,  79, 248, 
-                10, 174, 173, 131, 180, 139,  32, 239,  24, 144, 213,  10, 100, 231,   3, 
-                93, 209,  64, 183,  35, 224, 162,  10, 184, 253, 232,   3, 232, 207, 216, 
-               143, 251, 159, 180, 255,  28, 120,  30, 245, 195, 126,  33, 112, 127, 170, 
-                 6, 198,  31, 206,  96, 188, 250,   4, 140,  91,  10,  65, 156, 182, 131, 
-               118, 108,  18, 196, 243,  10, 176,  11, 110, 227,  54, 124, 226,  52,  12, 
-               187,  48, 236,   1, 236, 130, 115, 219,  32, 205,  58, 200, 243,   9, 200, 
-                24,   4,  50, 107, 129, 142, 215,  64, 231,   3, 192, 193,  24, 112, 146, 
-                 1,  28, 127, 216,  79, 113, 102,  12, 240, 175, 216, 143, 249, 147, 253, 
-                12,  96, 124,  45,  12, 250,  25, 117, 112, 175, 230,   2, 198, 236,  79, 
-               193, 216, 173,  24, 244, 225, 157, 160,  45, 159,   6, 117, 250,  51,  40, 
-               219, 109,  96, 235,  55, 248,  98, 181, 159, 240,  13,  92, 219,   6, 105, 
-                63, 131, 188, 211,  64,  86,  39, 144,  93,  12, 116,  61,   5, 186,  93, 
-                 0,  23, 117, 192,  77,  24, 112, 101, 248, 201, 126, 204, 255, 102, 251, 
-                77, 193,  61,  91,  32,  24, 151, 188,   1, 237,  83,   3, 232, 203,  71, 
-                64, 252,  46, 157,  41, 251, 157,  51, 182,  31, 192,  55,  68,   3,  56, 
-                56, 227, 131, 157,  51,  49, 176,   4, 100, 140,   0, 153,  13,  64, 199, 
-                27, 160,  51,  16, 112,  48, 253,  31, 180,  95, 238,  39, 251, 131, 192, 
-               253, 203,  27,  48, 142, 109,   0, 237, 213,  40, 232, 215, 150,  65, 251, 
-               182,   5, 202, 247, 172, 237,  71,   0, 103, 125, 176,  11, 210, 110, 128, 
-               188, 179,  64, 214,   7,  32, 187,  20, 232, 138,   3, 186, 207, 218,  47, 
-               247, 191, 104, 127,  58, 224, 214,   8, 198, 116, 191, 101, 255,  30, 176, 
-               241, 172, 237, 103, 125, 176,  15, 210, 252, 150, 253, 221,  64, 118,  41, 
-               208, 245, 151, 253, 255, 183, 236, 255, 179, 196, 255, 159, 189, 253, 251, 
-                51, 244, 127, 127, 246, 241, 207,  95, 227, 223, 191, 238, 127, 254,  44, 
-               247, 191, 127, 246, 231,  31, 127,  61, 255, 250, 235, 249, 231,  95, 207, 
-               191, 255, 250, 253, 227, 207, 254, 251, 215, 159, 253, 247, 207,  63, 243, 
-               239, 223, 127, 246, 249,  15, 127, 205, 127, 249, 107, 254, 211, 159, 125, 
-               254, 219,  95, 243,  31, 255, 154, 255, 250, 215, 252, 231, 191, 230, 191, 
-               255, 181, 254, 225, 175, 245,  47, 127, 173, 127, 250, 107, 253, 219,  95, 
-               235,  31, 255,  90, 255, 250, 215, 250, 231, 255, 207, 215, 191, 255, 109, 
-               135,   8,  21, 181, 107, 234, 242, 183, 229, 149, 149, 216,  53, 101, 228, 
-               175,  95, 227, 248, 117, 111, 134, 153,  95, 247, 102,  56, 187,  15, 203, 
-                47, 123,  51, 252, 178, 191, 199, 101,  14,  75, 123, 179, 223, 216, 195, 
-               192,  81,  88, 247, 174, 189, 139, 161, 181, 133, 147, 185, 137,  35, 187, 
-               189, 163, 137, 181, 157, 129, 177, 137, 163,  46, 216, 177,  65, 247, 183, 
-               115, 255, 207, 126, 184,  16, 190, 253, 151, 246, 102, 248, 113, 110, 115, 
-               243, 215, 189,  25, 224, 199,  63, 246, 102,  24, 188, 241, 247,  50,  82, 
-               114, 127, 217, 155,  97, 228, 198,  47, 199,  63, 100, 156, 142, 156, 206, 
-                64, 248,  10,  50, 242,  50,  16,   2,  34,   2,  36,   7, 251,   7, 157, 
-               174,  17, 190, 185, 105, 110, 231, 108, 231, 100, 110, 103,  79, 123, 153, 
-               131,  11,  18, 188,  34, 127,   3, 105, 237, 151, 205, 148, 224,  41, 190, 
-               211,   0, 255, 195, 175,  33, 227, 124, 191,   6, 223, 238, 196, 253, 123, 
-               218, 173, 239, 223, 209, 127, 104, 255, 158,   6, 243,   7, 113, 248,  55, 
-               102, 124, 176, 245, 213,  15,  67,  16, 191, 231, 219, 249, 126,  44,   7, 
-               113, 154, 154, 194, 174,  88, 195, 254, 162, 130,  92, 191, 156, 121, 153, 
-               144, 248, 183,  51, 191, 108, 221, 165,  13, 251, 251, 227,  12, 223, 247, 
-               191, 236, 191, 158, 249,  46, 243, 219,  47, 155, 123,  65, 240, 200, 251, 
-               141,  15, 210, 210, 247, 125,  91, 254, 219, 175, 125, 183, 249, 199, 134, 
-                39,  72, 223, 191, 253,  82, 226, 164, 191,  87, 206, 223, 211, 160,   3, 
-                47, 127, 247,  20, 162, 228,  47,   0, 215, 206, 253, 205, 203, 132, 223, 
-               191,  99, 127,  79, 250,   9,  20, 165, 253,  47,  64, 184,   9,  65,  49, 
-               240, 243, 173,  48,  77,   8, 191,  89, 190, 235,  16, 174, 148, 177, 157, 
-               161,   9, 100,  12, 127, 191,  29, 194, 233,  56, 244,   0, 194,  70,  71, 
-                71, 199,  64, 199, 198, 192, 192,  38, 192, 194, 196,  34,  32, 198, 195, 
-               198, 198,  35,  38,  37,  34,  34,  38,  34,  34,  37, 192, 254, 254,   1, 
-               255, 253, 246,   7,   1,   7,  11,  11,   7,  23,   7,  31,  23,  23, 255, 
-                28,  46,  46, 238,  57, 248,  31, 220, 115, 191, 100,  33, 248, 103,   4, 
-               156, 214,  65,   4, 232,  48,   3, 236, 145,  16,  46,  64, 136,   4,   8, 
-                72,   4,   8, 167, 147,  48,  99, 209,  78, 155,  16,  36,  96,  44,  81, 
-                16, 190, 127, 128, 175, 144,  96, 230,  32, 163, 160, 162, 161,  99,  96, 
-                98,  33, 252, 124,  17,   1,  66,  68, 250, 113,  17,  31,  66,  64,  70, 
-                64,  66,  68,  70,  68,  65,  67,  69,  71,  65, 194, 190,  12, 187,  72, 
-               128, 132,  76,  71, 200, 141,  34, 117, 203, 128, 232, 130, 131,  31,  15, 
-               234, 185, 168, 151, 133,  87, 232,  25, 136,  85, 234,  13,  47, 243,  58, 
-               250, 247,  74, 163,  49,  70, 223, 222, 252, 248, 197, 200, 137, 143, 228, 
-                85,  81,   0, 211, 213,  24,  85, 227, 107,  13, 175, 157, 249, 207, 247, 
-               169, 205, 154, 124,  45, 126, 208, 216, 239,  50, 183,  37, 195, 252,  36, 
-               245,  97, 201, 211, 166, 129,  79, 219, 105, 165, 239,   7, 231, 119, 212, 
-                77,  93,   3,  99, 223, 148,  53,  15,  45, 236,  10, 200, 106, 152, 185, 
-                 5, 197, 165, 151, 183,  12,  47, 238,  17,  64, 136, 136,  48, 182, 200, 
-               223,  57, 161, 161, 162, 240, 125, 167,  64, 199,  77, 136,  12,  99, 224, 
-               112, 129,   8, 133, 199,  47, 234,  28, 156,  65, 189,  74, 239, 230, 101, 
-                 6, 195, 143, 142, 254, 209, 210, 183, 137, 141, 156, 120, 191,  48, 162, 
-               194,   9, 160,  49, 241,  53, 244, 193,  72, 188,  62, 111, 124,  77, 141, 
-               223, 217, 100, 246, 111,  20, 126, 159,   1, 243, 175,  20,  78, 199,  32, 
-               108, 164, 239,  58,   9,  32,   9, 168, 100, 237, 101, 106,  28,   6,  30, 
-               249, 234, 132, 237,  30,  47, 222, 167, 204, 119,  67,  26, 183, 177,  74, 
-               142, 134,  49,  14, 152, 180, 123, 118, 215, 220, 202, 147,  87, 236, 110, 
-               149,  32,  42,  62, 214,  70,  62, 124, 131,  91, 219, 190, 123, 232,  90, 
-                57, 181, 203, 166,  84,  58,  80, 230,  39,  63, 132,  86,  46, 207, 248, 
-                70, 172, 234, 176, 252, 158, 202, 237,  26, 181,  48,  78, 179, 117,  63, 
-                17,  55, 251, 229, 205, 201, 245, 177, 201, 252, 177, 144, 219, 150,  70, 
-               146, 180,  94, 180, 139,  21, 136,  66, 132, 226,  49,  53,  47, 198, 249, 
-                15, 125, 118, 204,  46, 133,  12, 234, 177,  27,  69,  84, 166, 223, 232, 
-                74,  66, 248, 216, 145, 186, 156, 128,  93, 154, 231,  58,  59, 139, 246, 
-               192,  31, 125,  12, 109, 135, 255, 152, 230,  88,  99,  57,  77,  96, 233, 
-               101, 106, 153,  73, 103, 142, 237, 148,  60, 141, 226,  50, 234,  97, 205, 
-               187, 161,  92,  81,  87, 212, 230,  17, 174,  30,  99, 251, 251, 135, 238, 
-               180,  70,   1, 219, 111, 164, 168, 251, 204, 154,  14, 239, 190, 246, 137, 
-                57, 169, 237,  90,  26, 188, 101, 124,  30, 215, 135, 147, 195,  80, 225, 
-                54,  43, 142,  62, 101,  27, 151,  81,  83,  67,  20,  59, 244,  98,  70, 
-               142, 168,  59, 250, 201,  61, 185, 125, 220, 155,  83, 195,  49, 107,   9, 
-               168, 202,  54, 216, 202, 125, 199,  27,  43, 169, 105, 143, 183, 119, 227, 
-               113, 241, 233,  55, 110,  10,  84, 248, 127,  92,  64, 118,  35,  72, 223, 
-               245, 106, 119,  30,  66,  15, 138, 120,  73, 173, 187, 181, 118, 185, 252, 
-               225, 121, 245, 186, 161,  53, 238, 151, 104, 241,  18, 251,  52,  31, 228, 
-                21,   4,  86, 153, 140, 154, 245,  79,  33, 230,  39, 167, 144,  37, 142, 
-               133, 133, 112,  56,  70, 112,  12, 243, 180, 196,  53, 244, 161,   6,  42, 
-                19, 253, 117,  15,  14, 119, 102, 127, 153, 110, 187, 253,  96, 229,  34, 
-                 4, 134,  53, 130,  42, 249, 254, 218,  16, 121, 121, 235, 182, 204,  46, 
-                60, 100, 235,  40, 238,  47, 227, 184, 189, 102,  38, 165,  41, 144,  59, 
-               178, 136, 125, 184, 143, 187, 143, 217, 177, 183,  63, 251,  13, 196,  87, 
-                 7, 143, 117, 153,  52, 133,  98,  50, 167, 211, 123, 167, 143,  34, 142, 
-               252,   3, 165,  35,  10,  99,  82, 144,  43, 132, 141, 151, 215, 198, 203, 
-               247, 188,  99, 183,  85,  97, 189, 101,  79, 177, 215,  67, 255, 197,  98, 
-               123, 232,  60,  73, 149, 228, 209, 204,  41, 228,  32,  82, 219, 103, 183, 
-               163, 179, 226, 211, 204,  66,  69,  65,  92, 246, 201, 216,  69, 183,  44, 
-                72, 128, 146, 170, 186, 102, 236,  75, 245, 158, 106, 213, 235, 145, 177, 
-                61,  30,  82, 175, 222, 116, 180, 164, 220, 221,  53,  23, 159,   1, 169, 
-                21, 134,  57, 103, 107, 165, 216, 254, 194,  81, 250, 129,  50,   4, 252, 
-               233, 180, 109, 159, 165, 212,  44,  19,  42, 129, 124, 149,  67,   7,  86, 
-                98, 157,  91, 123, 114,   1,  18,  53, 107, 234, 158,  84, 110, 132,  82, 
-               162, 130, 136, 188,  65, 164,   7, 194, 201, 105, 213, 199,  62, 125, 170, 
-                75, 236, 182, 244, 137, 155, 200,  98,  69, 104,  59,  46,  78, 186,  85, 
-               226,  81, 146,  54, 187, 149, 185, 236,   6, 238, 180,  34, 122, 232, 243, 
-               121, 167, 144, 236,  41, 244, 154,  16, 181,  79, 138,  92, 120,  36,  62, 
-                86,  67, 211, 105,  98,  49, 238, 186,  45,  20, 238,  21, 122, 192, 126, 
-               192, 190, 123, 111,  48, 101,  45,  12,  74,  26, 195, 224,  64,  58,  73, 
-               158,  10, 238, 227, 191, 238, 209,  73,  19,  71, 163,  56, 150,  61, 241, 
-               181,  87, 226, 249,  44, 122,   4, 193,  41, 164,  58, 237,  58,  16,  25, 
-               119,  15, 171, 204, 222,   3, 169, 117,  89,  34, 105, 191, 213, 206,   9, 
-               169, 172, 130, 170, 137, 232,  56, 118, 217,  76, 162, 186, 250, 208, 210, 
-                89, 117, 152, 123,  44,  26, 215, 175, 166,  78, 196, 167,  18, 235,  82, 
-               253, 203, 151, 235, 177, 168,   9, 145, 130,  71, 117,  87,  20,  20,  86, 
-                73, 251,  60, 208, 182,  94,  55,  42,  31,  36, 181,  42, 241, 227, 223, 
-                93, 243, 224, 234, 251, 152, 238, 254, 201, 238, 120, 254, 250, 132, 158, 
-               211,  39, 255,  41,  52, 218, 138,  15, 171, 252, 197, 203, 247, 180,  55, 
-                62, 251, 140,  63, 186, 176,  27,  64,  94, 133, 193,  70,  27,  57, 140, 
-               136, 219, 181, 238,  84,  43, 226,  58, 189, 115,  76, 126, 219, 176, 175, 
-                69, 163, 220, 181,  79, 151, 177,  25, 239, 235,  30,  94, 151,  35,   1, 
-               237,  24, 169,  88,  81, 157, 246,  71, 232, 186, 207, 179, 109, 177,  83, 
-               168, 227, 152, 249, 136,   5, 165, 146, 130,   5,  71,  36, 109, 221, 137, 
-               124, 193,  95, 239, 109,  28, 137, 180,  87, 178, 178, 235, 241, 114, 238, 
-               189, 220, 114,  39, 170, 150,  18,  91, 124, 233, 230, 112,  11, 135, 221, 
-               147, 167, 131,  39,  86,  62, 157, 242, 215, 117, 247,  30, 151, 157, 135, 
-                12, 113, 238, 201, 108, 184, 245,  21, 126, 144,  80,  62,  72, 126, 125, 
-                10, 101,  43, 205,  46, 150, 214,  81, 173, 249, 106,  95, 149, 233, 167, 
-               121, 237, 179,  83,  59, 124, 130,  79, 172, 185,  56, 209,  60, 178, 136, 
-               184, 200,  95, 251,  74,  91, 172,  65, 177,  86, 188, 251, 246, 128, 119, 
-                75,  33, 113,  25, 218, 144, 149, 147, 107,  77,  24, 215, 210, 199, 186, 
-                67, 189, 242, 173, 119, 113, 199, 188, 240, 224, 232,  21, 217,  76,  72, 
-                72,  86, 227, 180, 160,  75, 181, 139, 105, 181, 152,  62,  78,  78,  45, 
-                60, 104, 190, 213, 185,  58, 204,  69,  80,  84,  52, 214,  92, 147,  40, 
-                64,  60,  48,  43,  96,  81, 182, 139,  35, 237, 149,  40, 133, 202, 119, 
-               210,  55,  83, 200, 227, 211,  30,  55, 106, 148, 218, 225,  71, 159,  32, 
-                62,  48, 154, 116, 126, 142,  58, 101, 221,  80, 210, 122, 168,  79, 250, 
-                46,  68,  67, 131, 184,  49, 165, 199, 143, 218,  35,  25, 144, 137, 139, 
-                20, 142,  86,  69,  35,  33, 181, 126, 224, 179, 186, 242, 245,  88, 168, 
-               171, 112,  35,  51,  53, 230, 117,  34, 179, 116, 235, 226, 178, 237, 158, 
-               144, 139, 222,  69,  10, 243, 204, 197, 201, 210, 112, 139, 113, 242, 250, 
-               233,  42, 113, 239, 141,  21, 159, 248, 215,  69, 233, 213, 197, 186, 113, 
-                54, 236, 123, 114, 144, 185,  49,  65, 149, 143, 219, 210, 155, 194,  92, 
-               225,  36, 109, 190,  11, 188, 180,  73, 249, 195,   7, 185,  42, 153,  47, 
-                67, 113, 160,  32, 126, 125, 171,  99, 195,  41, 159, 232,  87, 125, 179, 
-                13,  75, 227, 111, 151, 152,  76, 197,  67, 104, 100, 167, 183, 137,  98, 
-                47,  91, 213, 217,  54, 190, 196, 151,  15, 119, 121,  49, 221,  46, 213, 
-                89, 100, 205,  64, 133, 206, 190, 187, 114,  61,  98,  37, 249,  85, 202, 
-                42, 100,  84,  86,  33, 133,  28, 196,  75,  99,  97,  30, 103, 251,   0, 
-               177,  97, 175, 162, 141, 182,  59, 163, 121, 215, 185,  35, 185, 241, 121, 
-               215, 212, 238,  41,  52, 172, 162,  98,  89,  67, 225, 182, 238, 206,  16, 
-               162, 239,  75, 155, 108, 165,  87, 129,  51,  88, 211, 170,  97, 216,  51, 
-               187, 138, 206,  39,  98, 142, 236,  79, 110, 144, 178, 102, 103, 122, 232, 
-               118, 140, 247,  45,  91, 162,  62, 107, 119, 125, 202, 184,  49,  60,  21, 
-                 7,  15, 165, 218,  90, 124, 195, 233, 197,  70, 175,  79, 126,  38, 207, 
-               225, 234, 212, 161,  64, 205, 251, 158, 143, 235, 241,  20,  58,  20,  74, 
-                11, 199, 204,  62, 249, 223,  24,  82,  73,  52,  76, 226, 231, 243, 236, 
-                93, 103, 123, 113, 201,   5,  21,  75, 246, 248, 198, 189,  62, 164, 155, 
-               238, 122,  71, 108,  39, 111,  90,  90, 187, 168, 108,  14, 109,  16, 199, 
-                32, 244, 232, 173, 125, 217,  77, 250, 112, 112, 103, 241,  20,  90,  25, 
-               152,  29,  46, 124, 229,  98,  85, 123, 245,  27,  67,  19, 205,  61, 202, 
-                13, 215, 233, 111, 234,  94, 152, 181, 155,   4, 101, 229, 158, 126, 129, 
-               164,  51, 179, 140,  69,   8, 104, 203, 181,  86,  62,  30, 176,  16,  59, 
-               133, 122,  45,  46, 153, 173, 187, 164, 174,  30, 208, 178, 187, 163, 109, 
-                37, 111,  24, 115,  55, 142,  86, 159, 228, 111,  13, 232, 242,  96, 117, 
-               176, 237, 161,  34, 101, 235, 228, 205,  50, 126, 168,  57,  12,  28,  90, 
-               247,  73,  63,  86,  86,  24, 216,  16, 241, 162,  88, 137,  30, 191, 138, 
-               129,  22,  98,  99, 227, 242,  44, 185, 122, 191, 236, 224, 222, 216, 198, 
-               196, 118, 191, 141, 121,  94, 121,  28, 213,  26,  77,  26, 253,  68,  11, 
-                62,  37, 219,  30,  47, 119, 233, 161, 222, 209, 198,   1, 191, 119, 204, 
-                49, 139, 130, 207, 105, 223,  84, 221, 155, 238, 162, 105,  28, 219,  77, 
-                74, 163, 200, 141,  15, 115, 251, 119,  97,  45, 204, 170,  85, 231, 193, 
-                99,  37,  60, 221, 119, 175, 183, 239, 184, 241, 126, 161,  93, 169,  81, 
-                76,  21,  47,  24,  86, 149, 134,   5, 189,  46, 213,  20, 243,  41, 196, 
-               173, 203,  60, 252,  33, 202, 198,  67, 194, 214, 220, 181,  13, 123, 226, 
-               158, 197, 231, 136, 207, 180, 215, 242,  66,  94,  91, 188, 203, 228,  27, 
-                77, 216,  64, 246,  14, 229, 238,  23,  43,  61,  80,  44,  93,  42, 137, 
-               253, 216,  41,  91, 133, 228,  71,  77, 131, 242, 225,  88, 166, 249, 213, 
-               243, 243, 107, 140, 249, 165, 201, 215,  35, 186, 184,  69, 124,  86,  72, 
-                78, 216,  79,  18, 138, 242, 149, 237,  82, 181,  77, 189, 159, 224,  84, 
-                29, 211,  76, 157, 180,  28, 107,  35,  16, 242, 235,  73,  59, 145,  15, 
-                21,  44,  25, 249,  17, 161,  45, 123,  91,  18,  39,  92, 119, 114,  33, 
-               156, 114,  67, 186,  96,  54, 121,  10,  41,  30, 251, 120,  63,  94, 247, 
-                86,  12,  54,  46, 109, 112, 173, 168, 163,  77, 216,  93,  90, 155, 150, 
-                34, 171,  24,  18, 126, 133, 187,  96, 238, 108,  59,  20, 239, 182, 126, 
-               204, 185, 115,  10, 213,  61,  58, 239, 122, 103, 104, 221, 126,   2, 194, 
-               231, 157, 164, 244, 118, 219, 113, 165, 195, 178,  46, 234, 182, 170, 183, 
-               182,  25,  19,  53, 232, 234,  61, 212,  92,  56, 176,  53,  59, 162, 134, 
-                57, 253,  20,  26,  10, 138, 210, 209,  36, 239,  69, 105, 198, 186, 203, 
-                67, 201, 164, 187,  86,  93,  46, 112,  80, 155, 124,  32, 113,  67, 196, 
-               104, 144,   3,  23, 135, 155, 205, 159, 191, 202, 108, 252, 228, 252, 150, 
-               207, 179, 209, 195, 228, 221, 175,  42, 236, 229, 218, 253,  37, 159,   7, 
-               172,  45,   6, 168, 100, 114,  92, 135,  42, 223, 250,   8,  28,  72,  28, 
-               211, 209,  57,  61,  95,  40,  26,  18, 241,  56, 144, 122, 173,   1,   9, 
-               120, 113, 190,  90,  93, 118, 235,  59,  62, 168, 149, 221,  95, 185,  94, 
-                84,  30, 214, 229,  63, 195, 116, 213,  38, 160,  48, 125, 124,  91, 123, 
-               237, 101, 172, 214, 126,   8, 215, 160, 113, 220, 219, 176,   7, 197, 110, 
-               134,  67,  17, 139,  15, 146, 222,  37, 167, 159,  66, 183,  78,  33, 242, 
-               232, 216, 199, 218, 125,  55, 244,  35, 186, 227, 120,  45,  56, 112, 220, 
-               106,  15, 166, 186,  55, 147,  95, 159, 232,  16,  33, 178,  32,  12, 137, 
-                13, 225, 165, 213, 204, 242,  29, 136, 220,  45, 204,  27,  95,  94, 223, 
-                61, 156, 254, 108, 118,  92,  53,  91,  21,  63,  44,  98, 206,  30, 156, 
-               175,  55, 102, 121, 220, 121, 180, 104,  99, 127,  10, 213, 231, 202, 239, 
-               150, 190, 233,  26, 119, 195,  31, 162,  16, 144, 114, 246, 121,  48,  89, 
-               189,  92, 108, 183, 116, 124, 146, 165,  96, 100, 229, 106, 173, 239, 221, 
-               120, 187, 156, 183, 147, 171,  90, 198,  70, 226,  53, 251, 218, 254,  41, 
-               180,  51, 208, 197,  65, 162, 165, 123, 222, 119, 161, 166, 183,  90, 210, 
-               135,  87, 194, 174, 247,  68,  57, 243, 132, 232, 100, 156, 145, 221, 105, 
-               252, 182, 110,  95, 189,  89,   5, 137, 124, 156,  69,  57, 172,  83, 252, 
-               124,  10, 181, 106, 104, 177,  31,  83, 133,  79, 172, 145, 143,  26, 233, 
-               164, 146,   6, 201,  82, 212, 200, 141, 151,  31,  91, 195, 194, 171, 127, 
-               100, 201, 205, 182, 170,  89, 180,  74, 115, 115, 223, 126, 156, 252, 158, 
-                68, 209, 198, 246, 179, 154,  21,  31,  45, 110, 150, 174, 204, 157, 210, 
-                24, 147, 176,  49,  82, 231,  61, 188, 151, 184, 110, 229,  91,  79, 243, 
-                18, 252, 110, 176, 151, 211, 150, 230, 246, 148,  15,  92, 166, 149, 119, 
-                74,  52,  21,  15, 159, 215,  16, 201, 222,  30, 214,  94, 201, 114, 191, 
-                87, 111, 142, 199, 197,  16, 124, 180, 113, 228,  47, 239,  80,  69, 214, 
-               217,  96, 149, 229,  98,  99, 101, 137, 140,  49,  64, 253, 177, 118, 159, 
-               170,  67, 246, 220,  99,  30, 118, 225, 195,  15,  11, 232,  95,  15, 112, 
-               143, 167,  15, 166, 143, 200, 107, 237, 228,  77, 182,  53, 108,  40,  52, 
-                59, 172,  46, 212, 185, 160, 154, 140, 157,  66,   3,  62, 183, 110, 165, 
-               187, 144,  81, 232, 210,  27, 196, 227, 155,  45, 219, 156, 104, 148,  47, 
-               165, 166, 219, 145, 132,  56,  56, 165,  70, 234,  98, 156,  66, 153, 159, 
-               169, 182, 245, 214, 213, 239,  76, 166, 148,  33,  32, 135, 223, 219,  61, 
-               154, 126, 189, 221, 215, 124, 143,  66,  53,  12,  57, 201, 103,  99, 140, 
-               101, 148,  51, 218,  53,  73, 116,  59, 210, 104,  98, 216, 199, 130, 129, 
-               151, 135, 157, 196, 206,   2,  95, 191, 244,   1, 141, 197,  16, 127, 181, 
-               244, 209, 226, 193,  33,  97, 122, 191, 129, 123,  16,  95, 105,  96,  97, 
-                98, 163, 175,  57, 146, 146, 120, 236,  41, 116,  96, 142, 199,  48, 116, 
-               200,  22,   7,  41, 173, 165, 198, 135, 141, 151, 196,   9, 189, 123, 238, 
-                99,  64, 144,  75, 215, 197,  23,  72, 174, 147,  55, 211,  99,  76,  85, 
-                77, 222,  61, 105,  59, 116,  10,   5, 192, 186, 212, 187, 199,  54, 140, 
-                97,  36, 182, 105, 105, 213,  87, 239, 213, 164, 188,  64,  82, 108, 116, 
-               222, 114, 157, 156, 150,  62, 133,  68, 187, 201, 186, 207, 227,  57,  80, 
-                40,  29,  60,  31, 138,  90, 195,  73,  58,  89,  40, 222, 190, 171, 120, 
-               112,  18,   7,  11,  25,  34, 189, 216, 106,  74, 146, 183, 158,  79, 149, 
-               242, 130, 108,  81, 222,  45, 248, 208, 193, 170, 250, 100, 232,  41,  84, 
-                54,  40, 149, 112,  35,  97,  33, 210, 181,  50, 232,  70,  42,  62, 147, 
-               128, 167, 247, 198, 188, 196, 190, 207, 166, 207,  50,  97, 146, 130,  21, 
-               103, 230,  76, 144, 198, 114,  20, 158, 175, 238,  48, 162, 143, 252,   6, 
-               238, 100,  77, 190, 145, 171, 247,  41, 180, 229, 170,  25, 227, 166, 101, 
-               128,  29, 116,  40, 233, 164, 148, 234, 199, 236, 140, 122,  76,  99, 163, 
-                60, 173, 147,  99, 118,  32, 177, 104, 181, 163, 229,  91, 118, 195, 108, 
-               192, 230, 129,  63, 185,  36,  82,  33,  77, 170, 196, 243, 197, 147, 160, 
-               163,  11, 133, 106,  34, 119,  87, 130,  20, 223,   8, 188, 208,  92,  62, 
-               128, 245, 152,  50,  45, 158, 161, 242, 242, 150,  57,  93,   6, 185, 113, 
-                92, 138, 206,  17, 246,   8,  85,  27,  28, 147, 213, 163,  39, 181,  31, 
-               164,  47, 190, 183, 181, 231,  50, 116, 255, 244, 237,  20, 202,  63,  65, 
-               219, 238, 253, 208,  34, 250, 168, 213, 234, 206,  50, 210,  77, 201, 192, 
-                56, 174, 117, 187, 245, 195, 155,  28,  78, 202, 101, 116, 101,  74, 207, 
-               195, 196, 195,  55,  14,  23,  79, 178, 229, 241,  78,   7, 134,  15,  54, 
-               146, 188, 169,  81,  42,  70, 166, 229, 159, 158,  47, 227, 141, 183,  74, 
-               110, 249, 234, 154, 207, 146, 158, 113, 160,  39, 139, 185, 254, 124, 245, 
-               171, 157, 147, 206, 110, 226,  87, 136, 110, 175, 162, 178, 108,  88, 154, 
-               149, 243,  24, 181, 133, 187, 212, 246, 152,  99, 103,  53,  89,  43, 115, 
-               231, 242, 177, 202, 113, 138,  80,  46, 178, 171, 223, 164, 193, 246, 187, 
-               176,  62, 171, 110, 129, 185,  94,  61,  38, 170, 119, 187,  33, 246,  71, 
-               195,  85,  33,  19,  99,  94, 225,  71,  77, 209, 151, 134, 151, 188, 164, 
-               230, 206, 127, 222,  21, 236,  64,  70, 250,  16, 224, 214, 119, 146, 149, 
-               153, 248, 245, 115, 121, 252,  94,  16, 190, 182, 179, 149, 223, 152,   0, 
-               222,  74,  37, 121, 206, 219, 235, 194, 228,  99, 202, 149, 169, 165, 169, 
-               123, 139, 135,  56, 147,  88, 226, 157, 126, 198,  99, 138,  51, 113,  82, 
-               228,  82, 200, 101, 184, 126, 167,  80, 219,  41,  84,  78, 120, 187,  58, 
-                34, 185,  44,  29,  33,  19, 165, 190, 186,  28, 137,  38,  41, 199, 231, 
-                69,  80,  84, 116, 139, 252, 118,  27, 114,  96,  84, 193, 186,   8, 172, 
-               200, 229, 203, 247, 124, 118,  46, 180, 189, 218, 100, 141, 119, 162,  28, 
-               138,  97,  63, 184,  34, 233,  68,  51, 238,  86, 123,  10, 169, 179, 230, 
-               216,  39, 117,  35, 221,  46, 107,  24, 141, 202,  91,  40, 204,  67, 218, 
-                47,  47,  62,  98, 222,  21,  83, 222, 182,  80, 196,  31, 122, 172, 169, 
-                73, 121, 151, 211, 201,  77, 232, 147,  47, 239,  88,  99, 233, 244, 200, 
-                41, 244,  64, 166, 133, 118, 244, 166,   7,  95, 101,  24, 110,  65,  36, 
-               210, 227,  80, 193, 160, 242, 173,  68,  88,   8,  70,  40, 247, 221, 114, 
-               200, 236,  30, 115, 113,  74, 148, 118, 147,  90,  16, 179, 235,  60, 133, 
-                66, 143, 166, 183,  93, 152,  45, 240,  42, 103, 135, 130, 212,  59,  16, 
-                76,   2,  38, 228,  35,  94, 157,  66, 202,  99,  29,  20, 135, 225, 167, 
-               208,  96, 230,  13, 221, 225, 245,  55, 245, 154,  40,  41, 124,  41, 132, 
-                51, 107,  74, 161, 139,  91, 122, 135, 135, 167, 208,  11, 221, 225,  27, 
-               217, 151,  38,  21, 157, 169, 124,  35, 240,  61, 204, 135, 151, 125, 250, 
-               245, 140, 148, 199, 196, 174,  44, 245, 145, 233,  39,  77,  45,   4, 118, 
-               212, 152,  14, 173,  77, 117, 175, 158,  66,  45, 172, 238,  73,  28, 111, 
-               222, 146, 148, 190, 156,  79, 169, 240, 163, 253, 118, 111, 206, 117, 152, 
-               225, 141, 251, 182, 181,  49,  63,  21, 237, 121, 196, 105, 135, 128, 236, 
-               242, 136, 201, 177,  60,  46,  82, 215,  17, 216,  64, 145, 204,  58, 154, 
-               114,  33, 226, 245, 209,  27, 137,  99,  47,   1,  43, 105,  99,  73, 156, 
-               128,  10, 115, 101, 143, 147,  14,   2, 214, 220,  29, 222, 203, 241, 241, 
-                76, 114, 230, 199,  61,  74, 139, 214, 150,  10,  58, 253,  56, 176, 254, 
-               127,  29, 143, 106, 206, 224, 104, 216, 139, 198, 242, 165, 187, 137, 126, 
-                69, 100, 195,  50, 135, 121, 255, 132, 215,  59,   9,  69, 187, 175, 181, 
-               219, 175, 106, 237, 119,   3, 163, 234,   2, 223, 174, 248, 184, 139, 236, 
-               213, 230,  20, 175,  91,  68, 227,  85, 233, 191, 152, 149,  99,  95, 247, 
-               201, 173,  97, 148,  56,  29, 172, 222, 137, 203, 176, 245, 242, 165, 162, 
-                68,  10, 122, 239, 228, 226,  18, 102, 105,  93,  37,  73, 183,  78, 217, 
-               241,  46,  58, 108,  52, 110,  17,  93, 159, 195,  30,  95, 213, 193,  83, 
-               253,  38,  83,  67, 253, 214, 165,  75, 213, 234, 138, 101,  43,  75, 225, 
-               178, 161, 135,  94, 181,  85, 201, 107,  36,  18,  99, 245,  25,  99, 253, 
-                 8, 175, 175, 232,  44, 239,  29, 237,  62, 249,  80,  95,  50,  44,  34, 
-               231, 198,  37, 200, 178, 168, 216, 236,  68,  87,  22,  92, 184,  78,  33, 
-                32,  24, 216, 186,  39, 226, 218,  95, 189, 148, 154, 250,  68, 195,  74, 
-                43, 219, 117, 181, 216, 233,  27,  90, 236, 144, 150, 132, 172,  83,  57, 
-                43, 233, 120,   2, 182,   7,  14,  34,  18, 100,  77, 226,  47,  53, 182, 
-                49,  53,  53,  89, 187,  51, 111, 144, 143, 191,  23,  80, 110,  29,  23, 
-                86,  87,  38,  91,  46, 139, 230,  69,  65, 182, 125,  10,  61, 155, 218, 
-               209, 224, 222,  61,  80, 114,  51, 234,  64, 135, 117, 211,   1, 159, 187, 
-               194, 229, 217, 198,  99, 251, 245,  41,  18,  53, 119,  35, 135,   9, 112, 
-               251, 176, 220,  74, 211, 199,  54, 236,  96, 189, 207,  18,  59, 230, 235, 
-                11, 163,  30, 180,  99, 107, 121, 140,  41, 176, 234, 179, 235, 163, 230, 
-                64,  99,  85,  56, 202, 195,  80, 118, 221, 109, 177, 222,  85,  12, 191, 
-               102,  45, 201, 172, 100, 137, 137,  31, 214,  40, 166,   6,  30, 147, 126, 
-               124,  32,  88,  33, 105, 225,  70, 128,  76, 210, 245, 116, 185, 250,  20, 
-                82,  59,  72, 190,  97, 222,  47, 137, 204, 215,  40,   9,  37,   4, 251, 
-               138,  74, 136,  44,  49, 109,  55, 249, 127, 132, 120, 121,  37, 135,  95, 
-               152,  45, 173, 203, 154,  35, 138,   4, 147,  71, 208,  81,  69,  43,  34, 
-               232, 120, 199,  89,  48,  44,  11, 215,  31, 125, 146,  42,  55,  35,  15, 
-               191, 119,  52, 127,  49, 170, 202,  37,  88,  98, 250,  85, 168,  98,  96, 
-                63,  82, 145, 156, 229, 148, 246,  34, 153, 197, 248,  26, 237,  46,  46, 
-               218, 100,  75, 245, 193,  99, 241,  61, 245, 185, 242, 165,  53, 124, 179, 
-               238,  73, 118, 183, 131,  83, 104, 169,  52, 205, 157, 178,  62,  82,  42, 
-                82, 144, 167,  48, 191, 242,  96, 195,  34, 236,  13,  31,  37,   6,  99, 
-               110, 196, 212, 131, 104, 216,  64, 119, 244, 251, 243, 142,  95, 158, 234, 
-               160, 125, 127, 250,   4, 187, 217, 255,  63, 252,  28, 227, 251, 246, 180, 
-               127, 255,  28,   3, 255, 180,   9, 138, 128,  32,  68, 164,  95, 159,  83, 
-               192, 159,  99,  32,  35,  32, 162,  64, 168, 104, 103,  31,  95, 128, 135, 
-                24, 136,  72, 248, 191,  60,  56,  64,  65,  64,  65,  65,  67,  66,  68, 
-               194, 128, 157,  35,  64,  34, 132, 232, 184,  47, 240,  32,  75,  93,  81, 
-                49,  36, 186, 101, 224,  72, 127,  25, 197, 193,  95, 250,  54, 170,  95, 
-               116,  81, 159, 145, 211, 185, 194,  87,  13,  81, 179, 155, 188, 170,  47, 
-               235, 191,   4, 196, 188,  46, 110, 100,  32, 128, 137,  69, 132,  41,  61, 
-                35, 152,   0, 145, 142,  91, 138,  16, 201, 239, 239, 159,  11, 152, 159, 
-                56, 116, 178,  68,  55,  69,  22, 150, 233, 138, 239, 120,  62, 142, 234, 
-                77, 136, 191, 200,  50,  83,  25, 145, 242, 233, 176,  35, 251,  92, 254, 
-               147, 204,  38,  72, 237, 105, 224, 166, 160, 147,  85, 158,   9, 138,  62, 
-               126, 186, 127,  82, 243, 225,  72, 238, 130,  30,  74,  22,  95, 114,  28, 
-               234,  52,  33, 238,   5, 213, 192, 237, 252, 167, 165, 174, 250, 121,  86, 
-                 5,  15, 173, 245, 155, 219, 103, 194, 118,  79,  76, 131, 228, 133, 140, 
-               125, 145, 155,  30,  61, 176, 191,  92, 184,  47,  70,  94, 238, 230, 138, 
-                77,  94,  39, 199, 202, 129,  48,  77, 235, 115, 121, 125, 137, 189, 198, 
-               245,  37, 137,  36,  68, 158, 240, 161, 199,  51, 203, 116, 208, 169,  16, 
-               113,  56,  46, 132,  15, 141,  81, 110,  75, 255,  75, 156, 202, 182,  57, 
-               241, 200, 188, 126,   6, 143,  14,  23, 131,  41,  94,   2,  55,  57, 107, 
-               102, 201,  16, 198,  39,  19, 204, 207,  12, 157, 206,  95, 247, 245, 156, 
-                81,  88,  50, 199, 231,  93,  30,  12, 155, 232,  47,  48, 204, 116, 188, 
-                83, 247, 168,  42,  17, 159, 242, 173, 155, 140, 229, 167, 107,  71, 110, 
-               149, 232, 210, 173,  26, 214, 216, 215,  34,  72, 122,  34, 248, 148,  85, 
-                52, 117,  35,  92, 184,  42,  11,  43, 186,  20, 133, 212,  15, 123, 252, 
-               248, 205, 235, 181,  22,  41,  67, 214, 253,  28, 135,  90, 226,  18, 121, 
-                50,  36, 210,  10, 205, 175, 135,  46, 218, 209, 221, 145, 254, 253, 193, 
-                19,  72,  18,  23, 242, 121, 142, 236,  86,   7, 223, 188,  55,  98, 193, 
-               143,  51,  81,  87,  11, 245,  82, 243, 106, 233, 157, 215,  96, 229, 110, 
-                66,  69,  18, 122, 206, 223, 194, 230, 140,  80,  31, 225, 240, 245, 126, 
-               148, 149,  36,  38,   3,  42, 233, 246, 101,  14, 221,   3, 199, 196,  71, 
-               101, 159,  27, 208,  52, 153, 233, 152, 184,  13, 214, 122,  14,  21, 238, 
-               126, 243, 165, 224, 199, 198,  93,  16, 204,  13,  73, 103, 149,  42,  42, 
-               140, 189, 169,  38, 158,  67, 209, 117,  88, 177,  36, 156, 118,  83,  65, 
-               102, 252,  83,  97,  93,   4, 205,  84, 111, 124, 166,  12,  65,   3, 134, 
-               218, 244, 147,   3,  23, 237, 198, 251,  15, 114, 202, 104, 239, 155, 233, 
-                43, 236,  15, 115,  10, 240, 135,   6,  25, 206,  52, 132,  39, 213, 126, 
-               182,  65, 115, 253, 200, 205, 195, 255, 194, 226, 128, 234,  14, 226, 246, 
-               122, 227, 138, 123,  64, 230,  77, 196, 207,  23,   4, 198, 155, 238, 185, 
-               208, 123,  48, 219,  11, 149, 137,  80, 161,  93, 149,  12,  23, 241,  49, 
-                63, 133,  72, 170,  77,  22,  40,  16,   6,   4, 201, 132, 227, 144,  51, 
-               177,  91, 130,  77, 169, 185,  87, 244,  28, 232,  98, 242,  93,  71, 226, 
-                55, 105, 244, 208,  12,  95, 238, 249, 189, 141, 198, 157,  46, 191,  73, 
-                67, 120, 191,  79, 224, 240, 234, 146, 101,  93, 222, 162,  31,  11,  94, 
-               255, 161, 151, 144,  85,  34, 170, 100,  60, 115,  40,  13, 141, 202,  18, 
-               251,  87,  23, 133, 142, 168, 224, 241, 198,   6, 175, 177,  57, 251,  86, 
-                 9,  68, 125, 164,  83, 104,  98, 140, 162,  66, 239, 195,  39, 202,  80, 
-               170, 111,  87, 223, 100, 107, 249,  68, 208, 175,   4, 204, 177, 126,  76, 
-               185,  88, 166, 134,  48,  29, 114,  64, 144, 125,  63, 136, 253, 164, 184, 
-                60, 120, 119,  89, 255,  20, 162, 122, 132,  49,  66, 132, 108,  43, 176, 
-               121,  60, 105,  95, 130, 159, 250, 220, 105,  25, 205, 215,  96, 128,  66, 
-               178, 205, 108,  78,  72,  30, 214, 250, 120, 189,  88,  83, 208, 172, 127, 
-                44,  51, 227, 179, 186, 214, 215,  62, 146, 199, 216, 116, 221, 111,  91, 
-                56, 198,  90, 145, 155, 136, 114,  69, 212,  59, 148,  23, 151, 132, 217, 
-               157,  75, 102,  90, 254, 128,  63,  35,  13,  91,  64, 126,  83, 162,  92, 
-                49, 223, 126, 142, 120, 149, 128, 205, 251, 245, 231,  65, 113,  19,  18, 
-               100,  54, 166,  41, 250,   7,  45, 223, 116,  36, 205,  88, 222, 156, 183, 
-               181,  53, 216,  22, 214, 158, 197,  49, 137,  96, 189,  20,  24,  22,  65, 
-               245, 165,  23,  39, 128,  67,  99, 218, 101, 186, 101, 119,  73, 209, 177, 
-               192, 132,   2, 197, 168, 197,  87, 140, 209,  25,  42, 188,  66, 194, 150, 
-                26,  22,  65, 128, 253,  46, 255, 109, 149, 220, 112,  88,  83,  84, 169, 
-               239, 214, 241, 237, 253,  71, 244, 177, 131, 253,  53, 239, 109, 235, 134, 
-               114, 136,  80, 105, 136, 148,  86, 197, 243,  77, 159, 186,  33, 140, 188, 
-               192, 150, 108, 119, 231, 109, 228,  44, 231,  84, 207,  56, 237, 177, 253, 
-                 4,  69, 167, 133, 211,  34,  80,  11,  57,  40,  79,  14, 226,  88, 223, 
-               144,  28,  21, 204, 215, 193,  57, 133, 198, 133, 133, 238, 157,  39,  67, 
-               194,  25, 141, 244, 149, 130, 117, 148,  52,  28, 254, 170, 153, 100,  25, 
-               180,  33,  99, 110,  68, 251, 181, 247, 164,  46, 214, 146, 151,  35, 125, 
-               217,  66, 154, 145, 162,  28, 244,  90,  99, 159, 114, 115, 233,  91, 169, 
-               127,  52, 208, 174,  26, 204, 144, 186,  79, 193, 126, 103,  35, 146,  38, 
-                76,  14,  59, 231, 125,  76,  58, 227, 244,  51,  47, 195,  61, 175, 207, 
-                77,  97,  65, 116, 148, 142,  72, 126,  61, 122,  34, 229, 105,  41, 220, 
-               163, 129,  12, 212, 228, 238, 110, 132,   9, 108, 223, 190,   6,  32,  83, 
-               211, 112,  86, 223, 177, 159, 194,  96,  29,  48, 101,  94,  93,  30, 191, 
-               126, 123,  34,  15,  19, 195,  23, 131,  71, 169, 101, 100,  12,  79,  38, 
-               206,  68, 239,  77, 227, 133,  98, 108, 108, 216,  32, 139, 200,  71, 252, 
-               192, 120, 108,  45, 198, 208, 131,  64, 145, 152, 144, 204, 203, 168, 191, 
-                35, 135,  99, 168, 215, 136,  91,  62,  28,  89, 126,  36, 166,  67, 231, 
-                32,  70, 219,  43, 109, 176, 237, 133, 172,  22,  42, 207,   8, 205, 199, 
-               130, 109, 115,  62,   2, 148, 224,  58,  15, 200, 216, 144, 223, 222, 243, 
-               157, 178, 227, 193, 182, 247,  36, 235, 124, 206, 245, 250, 144, 153, 195, 
-               245, 220,  88, 109,  76, 242, 247, 215,  98, 241,  55,  77,  40, 213, 189, 
-               196,  39,   5, 212, 100, 150, 175, 249, 106, 185, 109,  70, 222, 175, 175, 
-               241,  68,  84,  79, 121, 195, 246,   0, 197,  90, 191, 222,  37, 236, 137, 
-               205, 167, 222, 107,  23,  19,  72, 235, 203, 216,  11,  68, 186,  99,  70, 
-               179, 122, 117,  12, 131, 175, 100, 170, 220, 212,  26, 140, 220,  17, 220, 
-               177, 120, 148, 197,  81, 175, 180,  34, 144, 147, 212,  93,  45, 101, 156, 
-               115,  63, 186, 113,  53, 150, 146, 246,  91, 254, 137,  54,   7,  66, 202, 
-               151, 118, 181, 160,   1, 119,  75, 150, 167, 134, 117, 235,  45,  65, 227, 
-               217,  95,  51,  66,  38,  77, 130,  15, 188, 187, 144, 115,  26,  30, 138, 
-                50,  71,   4, 102, 245,  81, 208, 114,  51, 212, 225,  95,  16,  27,  43, 
-                10, 167,  37,  85,  95, 137,  24, 253, 152, 161,  47, 164, 116,  59, 120, 
-               178, 226, 147, 132,  89, 185,  20, 178, 237, 185,  28,   8,  27, 143, 230, 
-               115, 143, 150, 191, 177,  13,   2, 194, 196,   6,  25, 158, 237,  35,  53, 
-                41, 173, 185,  74, 245, 100, 164, 143,  41, 194,  88, 228,   5, 231,  35, 
-               121, 177,  83, 159,  72,  20,  79, 166,  44,  49,  38,  10,  61, 173, 104, 
-               233, 147, 104, 201, 174,  42, 230,  33,  93,  70, 251, 204, 232,  53,  70, 
-               193, 146,  28, 249,  73,  35, 145,  76,   0, 209,  44, 255, 250, 109, 182, 
-               135, 133, 180,  97,  17,  21, 158, 129, 190, 120,  58, 209, 105,  50, 179, 
-               134, 174, 115,  43,  97,  82,  35, 151,  46,  16, 189, 185, 222, 202, 188, 
-               252,  70,  19,  91, 117,  83,  13,  95, 242,  11, 218,  45, 203, 160, 235, 
-               250,   4, 133, 225, 151, 143,  19, 161, 139, 237, 152,  33, 209, 138,  50, 
-               253, 148,  74,  15, 154, 235,  39, 171, 136, 217,  85,  50, 140,  16, 239, 
-                75, 172, 247,  35,  27, 197,  12,  73, 225,  43, 248,  10,  68,  40,  85, 
-               146, 151, 171, 172, 182, 175,   8, 140, 251, 126, 153,  75,  65, 184,  93, 
-                23, 194, 118, 161,  76,  20, 243,  75, 221, 106, 136,  96,  54,  10, 146, 
-               237, 149, 251, 120,  41,  43, 214,  79, 145, 195, 111, 166, 122, 119, 239, 
-                65, 131,  55,  30, 152,  60,  54, 190,  74,  19,  90, 215,  74,  67,  32, 
-               140, 251, 244, 161,  40, 157, 107,   4,  82, 227,  97, 162, 114,  69, 110, 
-               124, 138, 164,  12, 242, 252, 219, 162, 195, 227, 182,  55,  78,  72, 100, 
-               179,  82, 151, 160, 117, 188, 115, 118, 213,  89,  92,  92, 228,   5,  88, 
-                77, 168,  70,  80, 254, 215, 103, 147,  89,  76,   5,  31,  30, 222,  49, 
-               144, 226, 113, 139,  22,  93, 205, 162,  84, 195,  16, 221, 229,  37, 212, 
-               208, 151, 218,  61,  40,  81,  88,  69, 175, 101, 168, 183,  86, 115,  91, 
-                62, 174, 122, 169, 174, 113,  81, 142, 175, 109, 228, 139, 122, 120, 218, 
-               238,  10,  70,  53, 129, 142, 166,  76, 187, 168, 251, 220, 194, 241, 124, 
-               159,   6,  67, 110, 104, 240,  80,   6, 148, 193,  32, 117, 123,  97,  97, 
-                43, 239,  89, 105, 119,  51, 142, 251,  39, 210, 197,  40,  81, 239, 218, 
-               154, 180, 216, 242, 172,  55, 106, 197, 132,  80, 161, 106, 228, 213,   8, 
-                69, 203, 136, 211,  94, 135, 231, 143,  73,  85,  59, 190, 132,  13, 211, 
-               227, 176,  49,  14, 234, 244, 103,  56,  40, 190,  84, 115, 242, 207, 176, 
-               108, 219, 225, 239, 214,  26,  92, 207, 100, 119, 204,  38, 126, 199,  99, 
-                37, 146,   7, 185, 112,  30,  84, 221, 153,  29,  28, 232, 208, 247, 247, 
-                39,  83,  88,  87,  93, 207,  61,  89, 240, 187, 179, 179, 169, 110, 184, 
-                40,  54, 124, 105, 194,  83, 163,  49, 170, 116,  81, 143, 109, 253, 158, 
-               111,   6, 189,  56, 151,   0, 154, 182, 216, 134,  83,  12, 165,  58,   3, 
-               212,  95,  54, 227, 233, 147, 144, 238,  35, 249, 217,  91, 150, 164,  96, 
-               238, 157,  31, 223,  73,  92, 137,  10, 229,  11, 211, 105,  27, 250,   9, 
-               239, 184, 137, 155, 184, 211,   6, 199, 137, 187, 199, 221,  46, 215, 176, 
-               137,  71,  16,  62,  10, 107,  84, 106, 223,  75, 108, 203,  35, 247,  78, 
-               196,  99,  28,  31, 217, 242, 139, 186, 128, 150, 110, 151,  87,  90, 109, 
-                54, 129, 106, 193, 194,  88, 115, 189, 118, 225,   6, 231, 180,  43, 142, 
-               110,  21,   2, 141, 221, 144, 179,  82, 151, 188, 121, 248,  77, 143, 215, 
-               143,  10, 182, 188, 186, 208,  82, 215,  60,  18, 196, 185, 159,  68,  68, 
-               201, 207,  74,  82, 145,  59, 149,  16,  63, 201,  13,  17, 244,  71, 194, 
-               197, 191,  95,  40, 252, 225, 179, 165, 137, 169, 161, 135,  36, 151, 106, 
-               171, 138, 236, 185,  45, 131,  92, 220, 225,  18,  78, 251,  98, 102,  21, 
-                22, 194, 152, 194,  48, 164, 210,  60, 201,  23, 120, 207,  71, 209, 236, 
-               222,  86, 217, 166, 220, 146, 211, 247,  80, 246, 155,  73, 111, 145, 122, 
-               227, 119, 103, 180,  85, 100, 168, 211, 204,  80, 168,  72, 152,  79, 110, 
-               250, 162, 254, 120, 200,  77,  60, 156, 218, 132,  20,  86, 169, 200, 171, 
-                69,  33, 104, 117, 121,  41, 217,  97, 225, 125,  66,  58,  39, 159,  93, 
-               234, 184, 240, 229,  16,  82,  49,  68, 209, 135, 209, 158,  15,   6, 211, 
-               218, 202,  14,  28,  39, 226, 234,  26, 209, 114, 217, 193, 154, 233, 199, 
-               150, 162, 250, 193, 114, 201,  37,  84, 186,  74,  90,  56,   3, 126,  34, 
-               215, 195,  73,  87,  30, 186,  10,  38, 212, 181,  39, 132, 189, 109,  75, 
-                73, 123, 136, 186, 242, 118,  38, 128, 222,  79, 220,  70, 161, 246,  34, 
-                54, 170, 241,   2, 205, 224, 218,  64, 251,  90,   3, 207,  83, 162, 143, 
-                75, 131, 108, 172, 193, 152, 114, 120,  37,  14, 205, 232,  54,  40, 131, 
-                88, 118, 164, 177, 200, 248, 184,  77,  56,  55,  24, 102, 120,  46, 240, 
-               204, 139, 202,  29, 226, 230, 240,  71, 166,  39,   8,  64, 238, 173, 171, 
-               122, 210, 134,   8, 250,  50, 141,  14,  21,   9, 203, 131, 132, 150,  29, 
-                22, 129, 148, 226, 141,  43,  61, 214, 237,  14,  33, 152, 180,  21,  99, 
-                98,  99, 171, 222,  38,  80, 222,  39, 169,   2,  47, 141,  17,  23,  53, 
-                83,  18,  90,  10,  84, 180,  53, 180, 241,  12, 186,  39,  92,  80,   8, 
-                81, 163,  95, 210,  77, 179, 183, 248,  58, 236, 193,  91,   8, 131,  25, 
-               167,  80,  36, 217,   0, 177,  49, 195,  90, 161,  47,  90, 237, 213,  72, 
-                36,  91,  15, 165,  14,  10,  63,  49, 109, 204, 113, 179, 217, 135,  88, 
-               197, 151,  48, 167, 165, 151, 123, 212, 194,  25, 234, 110,  78, 100,  25, 
-               249,  13, 187,  65,  98, 239,  73, 250,  30,  42,  20, 250,  73, 188, 243, 
-                18,  95, 211, 146,  62, 215,  84,  84, 160, 190,  72,  17, 245, 110, 159, 
-               195,  23, 179,  94, 146,  26,  41, 215,  45, 210,  75, 155, 104, 208, 172, 
-               117,  84,  68, 155, 231, 168,   8,  34, 104,  17, 171,  17, 230, 179, 206, 
-                33,  31, 154, 141,  46,  24,  15, 212, 250,  50,  72,  45, 125, 195, 230, 
-                 5,  84,  37,  63,  78,  45, 104, 178, 162,  57,  72, 130, 103, 140, 242, 
-               208, 196, 235,  19,  46, 235, 137, 141, 218, 228, 173,  74, 223, 248, 168, 
-               221,  12,  88, 231, 197, 113, 187, 186, 236, 189, 225, 199,  91,  17, 109, 
-               154, 234, 163, 146,  43, 249, 156, 119,  30, 171, 213, 210, 145, 176, 199, 
-               191,  52, 111,  16, 122,  18, 117,  10, 185, 106, 251,  15, 167, 208,  51, 
-               250,  93, 192,  86, 190, 254, 205, 252,  60, 211, 197, 138,  19, 166,  69, 
-                66, 217,  39,  24, 250,  95,  50, 145,  63,  45,  25,  99,  72,  80,  16, 
-               149,  73, 110, 209, 111, 175, 136,  68, 225,  88,  32, 177,  53,  51, 202, 
-                14,  96, 108,  14, 210, 156, 246, 137, 249, 177,  97, 107, 157,  92,  29, 
-                85,  97,  52, 121, 237,  57,  37,  70, 142,  53, 122,  43, 125, 142, 163, 
-               201, 175, 236, 214,  64,  53, 177, 233, 182,  69, 246, 202,  45, 147, 102, 
-               226, 219, 174,  46, 161,  15, 168, 241, 212, 139,  14, 163, 145, 184,  53, 
-               155, 234, 253,  42,  88,   9, 202, 166,  52, 123, 204,  42, 243,  14, 253, 
-               235,  91,  29, 146,  51, 134, 115, 142, 133, 159, 174, 221, 187,  62, 110, 
-                68, 190, 229, 243, 134, 243, 232, 197, 222,   5, 134,  18,  18, 250,  37, 
-                81, 190, 210, 131,  97, 119, 145,  59, 195, 196,   7, 146, 228, 120,  66, 
-               199, 178,   7, 143, 245,  38, 142,  92,   4, 228, 195, 184, 143, 197, 166, 
-               166, 114, 212, 246, 146,  34, 194, 199, 218, 136, 197, 202, 142, 194,  42, 
-               103,  37,  76,  75,  37, 174,  95, 205, 155, 247,  71, 101, 240, 147, 208, 
-               187, 222,  92,  99, 229,  83, 253, 146, 138, 212, 158,  64, 148,  63, 204, 
-               212, 245,  73, 196,  51, 158,  26,  17, 212,  57,  90, 199, 164, 210, 202, 
-               113, 242, 169, 183,  88,  70, 162,  24, 155, 199,  85, 242,  34, 134,  73, 
-               235,   8,  47,  29, 177, 101,  31, 149, 107, 116, 176, 213, 198, 142, 229, 
-               148,  84,  99,  14,  17, 107, 248, 170, 171, 122,  83,  10,  42, 172, 154, 
-               149, 174,  53, 100,   5,  84, 208,  26, 237, 122,  57,  71, 152, 214, 151, 
-                51,  73, 111,  93, 117, 239, 214, 220, 181, 186, 147, 134, 108,  88,  71, 
-                76, 107,  66, 179, 115,  59, 101,  35,  24,  59, 193,  36,  50,  52,  94, 
-                22, 105, 101, 128, 128, 162, 144,  81,  46,  54, 226, 208,  89, 159,   7, 
-                17, 143, 215, 203,  80, 242, 171, 185, 146,  76,  59,   6, 118, 181, 175, 
-               187, 191,  40,  47, 146,  33, 150, 147,   3,  87, 106,  56,  50, 193, 252, 
-               158, 101, 150,  60,   2,  26, 191, 254, 145, 233,   5, 201, 175, 252, 185, 
-                58,  10,  21,  20,  24,  95, 102, 211,   7,  83, 218,  98, 175,  96,  16, 
-                87,  88,  80, 211, 134,  77, 248, 220, 147, 148, 231,  80, 203, 162,  83, 
-               229, 228, 189,  26, 152,  84, 177, 244, 180, 184, 125, 190,  36, 220, 100, 
-               142, 208, 179,   4, 115,  96, 140,  13,  57,   8, 165, 137,  72, 180, 113, 
-               224, 246,  64, 149, 193,  10,  30, 105, 188,  49,  50, 219, 126,  80,   4, 
-               127,  64, 152, 254, 167,  22, 207, 189, 168, 109, 241, 194, 180, 108,  83, 
-               132, 161, 117,  71,  60,  22,  63,   4, 191, 237, 205, 126, 244, 206, 243, 
-               115,  56,  16, 122, 235, 230, 248,  35, 174,  30,  82,  10, 170, 172, 229, 
-               155, 185,  37,  72, 132, 174,  97,  40, 177,  45, 188, 168,  87, 228, 167, 
-               201, 208, 236, 113,   5, 155, 179, 216, 159, 135, 102, 249, 214, 200, 182, 
-               183, 124,  51, 147,  42, 107, 194,  68,  98, 101, 110, 118, 160,  13, 107, 
-               193, 117, 110, 233,  28, 195, 156,  84,  91, 157, 176, 251, 202, 234,  88, 
-                49,  97, 140, 247, 165, 208, 214,   6, 201, 231,  50,   3,   7, 155,  33, 
-                93, 197,  85,  23, 147, 236,  76, 217,  91, 133, 119,  44,  24, 141, 137, 
-                99,  96,  13, 242, 235, 185, 160, 214, 202,  10,  23, 226, 135, 183, 139, 
-               155, 102, 231, 250,  55, 134, 213, 244,  77, 116,  53,  99, 253, 153,   7, 
-               100, 163,  62, 248,   5, 186, 180, 183,  30, 221,  98,  66, 195,  31, 175, 
-               183, 171, 201,  98,  40, 246,  23, 180,  46, 184, 175,  92,  45, 173, 169, 
-               112, 206, 180,  87,  52, 231, 250,  83,  90,  39, 122, 239, 221, 108,  45, 
-                20,  61,  61, 163, 103, 252, 155,  17,  60,  51,  29,  43,  61, 248,  53, 
-               129, 109, 106, 116, 117,  15,  13, 118, 144,  79, 176, 114,  86,  95,  53, 
-               188,  44, 207,  12, 184,  78,  53, 132,  59,  34, 248, 117, 137, 170, 255, 
-               243, 123, 181,  16, 110,  20, 247, 130,  29,  38, 216, 157, 103, 230,  61, 
-               154, 147, 139,  36, 242, 197, 136,  10,  15, 219,  37,  79, 161, 195, 243, 
-               170, 152, 217, 172, 111,  26,   2, 162, 140,  94,  20, 191,  67,  53,  10, 
-               159, 212, 102,  31, 186, 189,  31, 133,  63,  82, 212,  66, 212, 159, 104, 
-                33, 109,  19, 158, 214,  87, 100,  99, 217,  48, 187, 248, 116, 192,  65, 
-               196, 184,  35, 143, 170, 199,  44,  47, 122, 139, 181,  24, 215, 196, 240, 
-               157,  12, 149,  85, 232,  10,  58, 199, 173,  46,  59, 196,  52, 243, 130, 
-               152, 106, 229, 121, 113, 137, 125, 203, 230, 161,  55, 181, 209,  24, 151, 
-                80, 234, 136, 162,  35, 148, 198,   8,  39,  93,  30, 220,  65,  37, 214, 
-               252,  38, 141, 168,  16,  78, 154, 204, 207, 121,  10, 153, 134,  61, 245, 
-                83, 251,  74, 139,  90,  55, 171, 249, 241,  20,  42,  61,  62, 120,  53, 
-               148, 229,  70,  28,  41, 141,  92, 108,  17, 245, 110,  20, 101,  60, 238, 
-               169,  11,  71, 198, 251, 108, 221, 248, 135,  77,  78,  78,  56, 233,  36, 
-               205,  46,  14,  38,  38, 248, 229, 244, 136,  76, 234,  18, 247, 205, 197, 
-               118, 197, 170,  40, 174, 242,  95, 189, 239, 143,  59, 106,  95, 205, 184, 
-                56, 223, 227, 115, 218, 207,  23,  11, 213, 146, 103,  88,  78, 180,  87, 
-               190,  80,  63, 209, 241,  32,  98,  28,  50, 243,  48,  12, 116, 129,  50, 
-               244,  26,  10,  66, 141, 118,  87,  13, 123, 110, 112,  72, 114,  45, 158, 
-               191,  69, 168, 137, 177, 143,  54,  25, 102,  56, 122,  45, 182,  74, 126, 
-               159, 103, 156, 203,  51, 104,  82,  24, 173,  54,  61,   3,  77,  68, 161, 
-               121,  75, 184, 251, 228, 213, 186, 184, 247, 220,  44,  37,  66, 196, 241, 
-               216, 182, 243, 144,   8,  94,  95,  29, 149,   3,  77,   9, 149,   7,  69, 
-               190,  14, 103,  81,  63, 118, 105,  52,   2, 181, 248, 244, 228,  64, 249, 
-               195,  33, 211,  10,  25, 151, 134,   0, 136, 228, 128, 108,  11, 199, 124, 
-                38,  27, 247, 252,  37, 202, 198,  21, 217,  91, 228,  50, 137, 147, 171, 
-               234,  90, 193,  17, 163, 107, 253, 219,  23, 191,  13,  81,  16,  20, 163, 
-               206, 102, 239, 122, 239,  86,  86,  59, 247, 190, 154, 243,  39,  38, 108, 
-                82, 154,  11, 166,  38,  55,  96,  41, 173,  14,  44, 244,  33, 187,  77, 
-               114, 141,  80, 233, 176,  40,  99, 235, 205, 147,  53, 218, 230, 249, 219, 
-                28, 212,  23, 189, 187, 204, 119, 231, 179, 139, 242, 159, 248,  35, 145, 
-               137, 146, 215, 250,  28, 218, 229,  21,  54, 239, 105, 151,  60, 236,  52, 
-               148, 108,  51, 173,  64,  69, 216,  98,  42, 185,  36,  90,  41, 115, 113, 
-               162, 120,  91, 184, 107, 173,  88, 199,  91,  52,  13,  50, 108, 250,  70, 
-               182, 210, 162,  52,  36, 153,  43, 205,  27,  27, 169,  81, 223, 189,  95, 
-                34, 205, 168,  68,  91, 212, 157,  37, 232,  47, 234, 204,  35, 239, 173, 
-               143, 241, 241,  80,  54,  96, 133,  56,  56, 193, 136, 246,  74, 249,  64, 
-               183, 226, 165, 237, 149,  43, 153, 172,  17, 215, 159,  27, 187, 183, 200, 
-               248, 170, 191, 208,  52, 143,  97,  73,  15,  84,  17, 187, 147, 214, 131, 
-                80, 204,  36, 130,  42, 135, 115,   1,   3, 169, 227, 213,  24,  75,   1, 
-                75, 204, 133, 226,  39,   1,  85, 145, 232,  65, 122, 246, 152, 142, 174, 
-               104,  36,  43,  55, 153, 248,  67,  87, 133,  81,  89, 105,  99,  25, 164, 
-               158, 199, 173, 240,  83, 214, 214, 188,  62, 215,  22, 114, 129,  86,  62, 
-               156, 118,  73, 149,   5,  18, 136,  62, 255, 204, 150, 190,  81, 131, 227, 
-               154,  63, 189,  47, 210,  26,  57, 102, 129, 171,  28,  45, 255, 189,   2, 
-               200, 221, 130, 112, 182,  12, 191, 153, 220, 254,  86, 133,  95, 147, 221, 
-                66, 255, 100,  61, 166, 223, 183, 115, 200,  47, 195,  34, 166, 250,  88, 
-                77,  36, 185, 140,  89, 136,  83, 195, 185, 188, 162,  62, 245, 112, 186, 
-               217,  15, 169,  32, 162,  27, 206,  71, 227,  93,  54, 188, 191, 226,  44, 
-                28, 118, 145, 180, 152, 192,  36, 155, 229, 147, 123, 183, 242,  94, 141, 
-               176,  17,  57, 153,  97, 111, 112, 235,  99,  60,  95, 156, 206, 220,  60, 
-               170,  26, 189,  62, 253, 118, 105,  91, 228, 237, 130,  25,  45, 177, 137, 
-               170, 139, 156, 250, 153, 100, 108, 183,  52,  53,  77, 155, 174,  11,  60, 
-               153,  91,  72, 219,  38, 113, 187,  90,  74, 171,  47, 183, 159,  18,  26, 
-                53,  70, 102, 125, 109,  59, 155,  63, 249, 219,  57,  55, 232,  41,  99, 
-               182, 244, 151,  75,  83,  82, 171, 186, 111, 167, 107, 211,  40,  74,  89, 
-               167, 216, 203, 184, 175, 182, 108, 238,  34,  37, 148, 127, 155,  54,  74, 
-                52,  15, 177, 178, 193, 206,  53, 216, 231, 200,  52, 201, 202, 118,  64, 
-                21,  74, 184, 127,  84, 149, 203,  16, 104, 236, 159, 206, 199,  27, 195, 
-               205,  32,  73, 226,  53, 137,  46, 210,  31, 160, 235,  95, 106,  42,  65, 
-               119, 163, 217, 169, 189, 173,  92, 218,  99,  91, 173, 242, 121, 126, 107, 
-                90,  60, 183, 142, 194, 183, 141, 182, 112,  49, 205, 138,  30, 166, 201, 
-               193, 134, 221, 207,  89, 243, 247,  31,  84, 239, 179, 137,  71, 122, 102, 
-               237,  89, 148,  85, 205,  80,  63, 115, 160,  83, 183, 102, 160,  74,  30, 
-                15,  18,  23, 214, 169,  53, 113, 195, 252, 188,  51,  26, 142,  21, 184, 
-               159, 127, 183, 165, 113, 139, 237, 235, 210, 163,  80, 181, 176, 193,   2, 
-                87, 229,  48, 199, 145, 185, 133, 172, 250, 163, 247,  47, 148, 239,  60, 
-                98, 180, 226,  72, 229,  25,  80,  48, 125, 169,  95, 119, 216, 245, 201, 
-                 6,  99, 120, 174, 208,  33,  23,  71,  61, 163, 136,  21, 194, 151, 189, 
-               149,  89, 227,  61, 201, 245,  52, 215,  63, 155, 133, 225,  85, 219,  43, 
-               253,  76,  21, 250,  57, 155,  34,  61, 167, 161,  55, 143,  90, 108,  21, 
-                80, 236, 173, 162, 133,  40,  62, 228,  47,  52,  82, 169, 210, 233, 220, 
-               185, 200,  87,  46,  60, 162,  51, 199, 230,  22, 208,  25,  90, 113, 224, 
-               220, 197,  46, 230, 139, 162,  38,  39,  56, 223, 167,  41,  27,  23, 200, 
-               207, 234,  89,  34, 146, 243,  94, 198, 229, 227, 151, 231, 143,  33, 116, 
-               188,  67,  47,  60, 225,  82, 129,  97, 101, 219, 214,  91, 143,  10, 217, 
-               234, 108,  25, 195, 181, 134, 166, 108, 109, 174, 221,  60, 234, 144,  27, 
-               187, 114,  17, 185,  77,  72, 244, 107, 238, 139,  36, 234, 134, 105, 210, 
-                59, 106, 237,  16, 251,  59, 102, 167, 128,  75,  66,  59, 230, 110, 163, 
-                99, 140,  23,  58,  82, 170, 231, 140,  18,  38,  54,  30, 149, 177, 182, 
-                79,  76,  77, 170, 181,  29,  93,  19, 109, 109,  97, 186,  40, 192, 247, 
-                34, 176, 163, 195, 176,  44, 248, 116, 192, 246, 107, 159, 129, 131,  44, 
-                97, 131,   4, 123, 253, 248, 158, 103,   9,  71, 115,  68, 226, 230, 103, 
-               238, 144,  54, 122, 191, 221, 165, 201, 186, 194,  15, 250, 248, 119, 227, 
-               229,  70, 139,  68,  59,  76, 239,  36,   9,  29, 152,  32,  96, 113, 249, 
-               163, 206, 132,  33, 222,  29, 208,  72,  20, 145,  67,  86, 200,  73, 250, 
-               102, 213, 172,  74, 182, 175,  28, 191, 165, 124,  82, 105, 213, 227, 163, 
-               185, 199,  98, 130,  16, 233, 157, 124, 235, 189, 206, 157, 123, 197, 209, 
-               237, 197, 101, 197, 165, 206, 251, 205,  85, 222,  56,  87, 174, 206, 151, 
-               224, 162,  93, 119, 205, 185, 130, 142, 242, 238,  17, 218,  77, 234, 124, 
-                71, 115, 146,  25,  90, 220,  40,  28, 137,  27,  21, 230, 147,   1, 125, 
-               183, 162,  27, 219, 165, 104, 195,  89, 204, 172, 189, 170, 154, 243, 158, 
-                37, 172, 117,  60, 150, 192, 113, 189, 137, 112, 251, 221, 221, 107, 135, 
-                99, 195, 153,   3,  60, 113, 242, 150, 101, 173,  33,  66,   2, 155, 122, 
-               165,  49, 183,  33, 110,  67, 134,  72, 221, 112, 130,  85, 117, 242, 113, 
-               133, 190, 169, 177, 102, 119,   3,  99,  86,  63,  22,  73, 205,  35, 133, 
-               228,  67, 190,  62, 193,  59,  31, 110, 118, 197, 248, 162, 179, 150,  63, 
-               120, 149,  60, 230,  67, 192,  59,  61, 103, 168, 152, 129,   5, 105, 187, 
-                19, 212, 210,  81, 111, 184, 198, 172, 105, 176,  93, 161, 140, 207,  81, 
-               154,  88,  17, 118, 223, 223, 158, 231, 175,   9, 182, 154, 124, 157,  88, 
-               112,  95, 110, 211,  68,  56, 227,  50, 111,  10,  74, 218,  94,  43, 250, 
-                11,  49,  75, 209,  49,  58,  21, 218,  47, 244, 246, 120, 143, 146,   5, 
-               166,   6,  17,  51, 232, 109, 252, 230, 185,  43,  94, 164, 217, 217, 134, 
-                88, 168,  11,  81, 171,  32,  76,  55, 200, 248, 135,  74, 224, 199, 179, 
-               169,  26,   7,  26,  71,  45, 246, 124, 154, 109, 205,  21, 226, 178,  92, 
-               212, 151,  18, 121, 147, 175, 195, 122, 201, 245, 118,  36, 173,  16, 141, 
-               244,  92, 134,  62, 210, 219,   8, 106, 125,  65, 163, 153, 185, 201, 148, 
-                10, 111, 131,   2, 204, 150, 200,   8,  68, 225,   0, 203, 143,  49, 180, 
-                19,  88,  84,  15,  60,  34, 250,  21,  67, 139,  98, 136,  66, 235, 190, 
-               220, 221,  90,  77, 108,  66,  35,  56, 140,  22,  12,  56,  33, 233, 149, 
-                89, 143, 127, 216, 250, 249,  74, 228, 242,  71,  52,  91,  61, 230, 103, 
-               195, 150, 121,  82,  57,  20, 222,   3, 244, 108,  46, 119, 230,  42,  11, 
-               173, 253,   4,  55,  51,  35,   6, 142, 205, 210, 175,  84,  13, 200,  23, 
-                54, 187,  20, 226,  87, 127,  54, 162,  28,  12,  74, 191, 122, 151, 177, 
-                16,  73, 221, 140,  80, 149,  87, 154, 141, 234, 221,  53,  49, 109, 219, 
-               216, 151, 142,   4,  40,   2, 134, 181, 183, 223,  55,  23, 215, 229, 166, 
-               249, 250, 143,  82, 216, 143,  20,  80,  82, 209, 119, 101, 100,  45,  32, 
-               161, 234, 119, 217,  11,  17,  94, 144, 156, 215, 165,  24,  78, 233, 173, 
-                21, 125, 140, 218, 166, 231, 225,  59,  17,  48, 111, 220,  19, 206,  33, 
-                89, 128, 104,  68,  23,  49, 218, 130, 115, 187, 116, 253,  86,   8,  62, 
-               153, 239, 133, 226,  18, 223, 119, 234, 118, 234, 218, 132, 110, 193,  77, 
-                15, 162, 232, 133, 115, 146,   2,  60, 122, 147, 159,  73, 217, 126,  68, 
-               186, 168, 130,  96,  37, 165, 210, 116, 229, 169, 168, 196,  61, 249, 124, 
-                43,  86, 149,  28, 205, 167,  49,  54, 250, 238, 144, 242,  71, 159,  56, 
-               217, 117, 142,  55, 237, 239,  31,  27, 167, 102, 124, 107,  77, 110, 138, 
-               169, 230, 124, 234, 194,  91, 167,  86, 148, 186, 196,  48,  82,  12, 205, 
-               207, 107, 174, 180,  92,  99, 159,  98,  87, 215, 222, 205, 126, 194, 255, 
-                16, 181,  40, 157, 193, 222, 195, 218, 142, 131, 204, 114, 111, 143,  78, 
-               147, 241, 179,   4, 250, 137,  56, 115,  60,  49, 153, 134,  35, 206,  51, 
-               146,  65,  59, 206, 167, 225, 239, 217, 174, 222, 143,   9, 191, 113,  23, 
-                85, 246, 196,  86,  56, 223, 222, 246,  20, 138, 222,  83, 233,  97, 201, 
-               209, 186, 138,  47, 143, 235,  67,  88, 188, 178, 203, 225, 155, 109,  41, 
-                92, 108,  18, 219, 170, 119,  91, 255,  99, 104, 251, 129, 150,  78, 111, 
-               166, 225, 198, 189, 182, 155, 219,  91, 116,  29, 174, 183, 187,   2,  28, 
-               119, 238, 149,   8, 115,  34, 238,  92,  81, 188, 132,  18,  69,  26,  22, 
-               239, 112, 215, 142, 255, 205, 187, 133, 212, 146, 121, 157, 139, 182,  42, 
-                29,   5,  26, 104,  17, 225, 194,  23, 130, 217, 203,  43,  73,  88,   9, 
-               137, 125,  48, 218,   8, 168, 238, 226,  36, 126, 102,  55,  82,  83, 235, 
-               204, 224, 120, 230, 207,  51, 179, 195, 255,  80, 234, 155, 181, 115, 169, 
-               214,  59, 197, 120, 193,  59,  72, 247, 179,  75, 221, 189, 119,  19,  57, 
-                72,  90,  11, 156,  10, 219, 143,  76, 100, 198, 179, 153, 247, 238,  87, 
-               157,  11, 123, 162, 110, 163,  99, 149,  28,  60, 242, 230,   9,  42, 151, 
-               209,  64, 216,  73,  76, 213, 210, 211, 167,  69,  41,  37, 116,  87, 202, 
-               104,  66,  22,  13, 165, 218, 122,  78, 161, 178, 197, 219,  54,  25,  88, 
-                53,  93, 209, 218,  51, 104, 146, 164,  23, 191, 242, 202,  94,  46, 207, 
-               117, 150,  54,  18,  83,  46, 195,  70, 232, 234,  19, 138, 242, 180,  22, 
-               255, 212, 162, 234, 115,  58, 216, 231, 217, 129, 108, 208,  79,  72, 219, 
-                10, 133,  63, 237, 127, 242, 154, 217, 242,  74,   8, 173, 181, 168, 190, 
-                 5,  57, 212, 122,   1, 189, 169, 137,   8,  69,  57, 221, 135, 163,  36, 
-               152, 184, 103, 232, 226, 164, 167, 212, 193, 102, 211, 146,  40, 205, 142, 
-               180, 208, 122, 162, 161, 166,  49, 237, 218, 161, 247, 110, 177, 132, 178, 
-               187, 197,   5, 163, 147, 196, 158, 147, 172,   7, 235, 225,  84, 220,  12, 
-               212, 116, 111,  39,  92,  98,  70, 198, 100,  35, 194,  11, 171, 243, 187, 
-                27, 123, 158,  17, 167, 100,  76,   6,   5, 111, 138, 105,  51,  27, 238, 
-                60,  86, 181, 167,  13,  37,  65, 198, 231,  75,  44,  39, 168, 228, 114, 
-                23, 248,  12, 107,  37, 138, 187,  90,  15, 155, 182, 162, 102, 240,  30, 
-               133, 153, 169, 239, 229, 190, 209, 149,  97,  37, 109, 251,  54, 198, 127, 
-               188, 102, 125,  18,  95, 217,  83,  50,  98, 118, 190, 141, 222, 214,  81, 
-               216, 123, 189,   8, 169, 219, 166,  19,  87, 231, 186, 151, 248, 242,  80, 
-               242,  50, 191,  63, 227, 107, 250,  89, 241,  23,  40,  94,  99, 203, 148, 
-               118,  54,  28, 195, 115, 188, 242,  81,   1, 138, 129, 162, 237,  83, 130, 
-               229, 175, 149,  85, 218, 251,  58,  87, 100,  70,   9, 240, 189, 218,  82, 
-                24, 200, 199,  52,  41, 144, 102, 163,   5,   2, 142, 186,  39, 251,  47, 
-               170,  90,  63,  70, 224, 159, 144, 163,  49, 186, 231, 162,  69,  25,  50, 
-                37,  52,  42, 121, 185, 196, 111, 185, 111, 104,  15, 177,  40, 134, 249, 
-                18,  20, 177,  89, 180, 148, 113, 165,  66, 147,   1, 226, 153,  43, 148, 
-                40, 239, 200, 226,   9,  29,  41, 224,  22, 109, 156, 144,   8,  78, 239, 
-                79, 249,  20, 120, 125,  56, 178, 160, 222, 241,  80, 148,  98,  50, 131, 
-               222, 239, 114,  71,  57, 181, 201, 161, 247, 122, 112,  47, 244,  34, 163, 
-               181, 121,  86,  54,  24, 105,  48, 229, 252,  62, 110,  15, 229, 135,  57, 
-                11, 233, 193, 227,  73, 228, 200, 209, 194, 142, 200, 186,  54, 119,  36, 
-                42, 207, 243, 142, 185, 150, 177,   6,  92, 146,  46, 168, 232, 226,  36, 
-               204, 153, 124, 236,   9, 164,  35, 146,  60, 220,  33,  90,  88, 197, 244, 
-               202, 229, 210,   5,  87,  82, 100,  47, 182, 111,  98, 217, 162, 111,  11, 
-               164, 149,  16,  23,  84, 106,  25,  36, 228,  91, 223, 167, 190, 207, 167, 
-               125, 207,  53, 247,   6,  95,   4,  73,  81,  77, 219, 205,  55, 142,  74, 
-               182, 182, 119, 146, 240,  63, 177, 225,  52,  20, 189,  47, 228, 102,  21, 
-               223, 144, 182, 122, 186, 100, 216, 109, 177, 168, 114, 173,  61, 213, 215, 
-                44, 142, 205,  75,  24, 225,  50, 241, 205, 157, 130, 124,  68, 196, 128, 
-               249, 168, 163, 107,  39,  58, 230,  36,  47, 121,  31, 148,   6, 170,  86, 
-               154, 152,  48,  74, 118, 116, 197,  37, 240,  54,  62, 228, 176,  84,  99, 
-               106, 128,  18, 184,  13, 253, 234,  60, 180, 134,  21,  75, 195,  98,  52, 
-               149, 110, 210, 233, 110,  54,  81, 123,  98,  10, 124, 225, 165, 116,  47, 
-               115, 160, 147,  42,   8,  12, 137, 167, 185, 192, 115, 232, 229,  89, 202, 
-               210, 144, 142, 143, 206, 129,  36, 211, 127,  82, 148,  21,  70,  84, 202, 
-               119,  87, 139, 157,  61, 146,   5, 175, 252, 129, 240,  65, 205, 193, 163, 
-               246, 246,  97, 157, 162,  26, 135,   0, 254,  25, 136, 174, 143, 162,  35, 
-                54,  32, 113,   8, 123,  51, 128,  63, 168,  83,  74, 253, 118, 219,  99, 
-               129, 103, 186,  88, 217, 159, 175,  48, 202, 122, 112, 163, 181, 190, 136, 
-                61, 133, 148,  37,  77,  50,  46, 243,  73, 102,  16, 102, 235,  58,  35, 
-               116, 142, 106,  44, 121, 191,  45, 165, 128,  20,  23, 244,  26, 170,  95, 
-               173, 147, 134, 235, 102, 142, 127, 243, 214,  59, 231, 166, 234,  61,  83, 
-                64, 167,  80,  12, 161, 211, 207,  25,  50,  51, 187,  36, 119, 246,  61, 
-               224, 187, 146, 152,  75, 171, 218, 213, 104, 174,  78, 201, 134,  43, 203, 
-               167, 179, 180, 187,  48,  20,  99, 170, 160, 233, 167, 215, 209, 111, 216, 
-               236,  67, 220, 182, 210,  18, 163,  55, 201, 103,  39,  95,  58,  68,  50, 
-               192,  66, 167, 124,  49,  42,  90,  86, 121, 214, 156, 101, 101,  66, 251, 
-                13, 131, 105,  83,  38,  62, 165, 199, 240, 248,  66, 111,  95, 181,  84, 
-                46,  18, 106,  97,  61,  27, 182, 239, 210,  85,  15, 199, 158,  39,   5, 
-               250,  57, 157,  41,  28, 172, 180,  95,  21, 214, 226,  98,  59,  15,  28, 
-               123, 158,   9, 172, 139, 220, 227, 214,  71, 124,  94, 200, 160, 239, 218, 
-               117, 167, 150,  67, 251, 194, 158, 154,  88,  23,  67,   5, 109,  32,  91, 
-               119, 116,   1,  22,  77, 224, 253, 220,  52, 242, 133, 162,  52, 231, 210, 
-                36, 111, 117,  19, 141, 167, 151, 136, 194, 174, 119,  12, 198,  38,  29, 
-                75, 159, 136, 237,  12, 237,  82, 102, 186, 198,  52, 205, 222,  47, 247, 
-               154,  84,  73, 204, 185,  89, 175, 238, 232, 192, 202,  29, 255, 181, 198, 
-                90, 121, 244,  85, 112, 182,  84, 214,  19, 207, 135,  82, 168,   8, 202, 
-               172, 234,  11,  58, 236,  53, 218,  36,  56, 183, 220,  52, 248, 143,  34, 
-               194, 228, 244, 165,   3,  58, 185, 197, 101,   6, 230, 173,  94, 178,   5, 
-                54, 124,  66, 197, 170,  48,  94, 182,  46,  90, 248,  80, 115, 173,  84, 
-                51, 212, 155, 196, 138,  76, 147,  86, 157,  16, 147,  32, 154, 229, 128, 
-               179, 165,  59,  43, 226, 116, 168, 111, 237,  99, 222,   2, 225, 198,  59, 
-                89, 175,  39,  13,  15, 189,  44, 198,  89, 199,  43, 240, 165, 113, 154, 
-               199,  35, 138,  39,  83, 171,  61, 207, 105,  83, 169,  62,  26,  79, 240, 
-                10, 250,  64, 161, 115, 238,  21,  57,   6, 166,   3, 125,  93,  91, 212, 
-               162,  30,  90, 183,  68, 182, 149,  21,  70,  73, 125, 155, 123, 192,  12, 
-               127,  51, 223, 124, 181, 142,   3, 131,  87,  97, 254, 189,  99, 217, 209, 
-                69, 233, 161,  14,  90, 236, 193, 186,  89, 101, 180, 225, 110,  54, 212, 
-               103, 163, 247, 153, 181,  10, 107, 108,  41,  48, 204,  27, 141,  80,  25, 
-               148,  30, 143, 105, 106, 245, 123, 163,   5, 245,  47, 231, 212, 155, 243, 
-               173, 106, 108, 107, 223, 136, 165,  13,  45, 226, 234, 157, 229,  99, 176, 
-               178, 220, 153,  77, 179, 237, 224, 146, 242, 151,  48, 103,  14,  79,  58, 
-               166,  99, 140,  55, 105, 102,  62, 169, 196, 209, 202, 228, 243,  78, 174, 
-                43,  22,  64,  13,  22,  12, 232, 145, 201,  63,  48, 225,  43, 142,  41, 
-                64,  20, 140,  41, 207, 214, 113, 178, 124, 200, 210, 153,  86, 145, 209, 
-               209, 224, 197,  86, 197, 135,  18,  77,  48,  81, 140, 129, 237, 157,  98, 
-                63,  72,  93, 138, 171,  86,  22, 182, 234,   3, 201, 140,  28,  15,  13, 
-                74,  53,  17, 133, 220, 188,  94,  63, 251, 134,  73, 185, 252,  42, 113, 
-                82, 154, 182, 169,  44,  77,   1, 181,  63, 159, 110,  67,  19, 183, 175, 
-               135, 242, 163, 128,  50, 182,  42, 173,  60, 220, 121,  42, 121, 156,  15, 
-               146,  60,  82, 104,  91,  68, 227,  47,  71,  39, 207,  21, 154,  72, 107, 
-               162, 183,  18, 160,  60,   9, 173, 242, 170,  66, 195, 121,  26, 219,  36, 
-               164,  87, 167,  34, 208, 148, 188, 101, 113, 175, 157, 133, 203,  40,  80, 
-                70,  50,  36,  64,  34, 225, 100, 234, 193,  12, 164,  93, 218, 166,  27, 
-                28,  34,   4, 241, 180, 208, 216,   6,  25, 105, 107, 190, 130,  82,   8, 
-               139,  76,  34,  51, 201, 238, 219,  44, 247, 112,  13, 141, 213,  71, 110, 
-               161,  33,  93,  16, 242, 101, 173, 223,  97, 183, 189,  82,  63, 200, 194, 
-                84,  17, 217,  59, 136, 108, 161,  28, 165, 240,  58, 229, 189, 174,  76, 
-                63, 102, 199, 167, 241, 225, 151, 186, 221,  44,  26,  44, 106, 218, 247, 
-                77, 223, 214, 220, 201,  26, 151, 188, 103, 107,   8, 229, 181, 145, 208, 
-               235, 215, 201,  25, 208, 196, 132,  31,  29, 164,   9, 140,  72, 115, 218, 
-               175, 176, 154,  16,  15, 116,  10,  92, 145,  21, 115,  91,  59,  97, 199, 
-                60, 188,  80, 125,  43, 195,  24, 211,  81,  23, 185,  81,  73,  66, 248, 
-               158,  14,  59,  21,  58, 127, 126, 155,  28, 123,  48, 138,  28, 237,  91, 
-                39, 214,  75, 187,  75,  36, 235,  90, 132,  65, 109, 137, 249,  15, 227, 
-               158, 120,   8, 107, 208, 173, 204,  15,  96, 177, 179, 141, 122,  51,  94, 
-               231, 249,  54,  19, 218, 164, 220, 238,  23,  20, 163, 190, 110, 165, 219, 
-               145,  21, 132, 137, 206, 230,  94,  77, 157, 197,  38, 223, 194, 216,  27, 
-               165, 157, 181, 150, 127,  31, 149,  78, 145, 242,  17, 250, 178, 184, 245, 
-               253,  68, 148, 123, 102, 110, 200, 177,  40, 152, 245, 250,  70, 220, 171, 
-                11, 219, 219, 239,  18,  24, 171, 171,  60,  26, 130,  66, 217, 242, 217, 
-                59,  61,  86, 138, 248, 212,  63, 175, 222, 215,  12, 197,  49, 119, 213, 
-                58, 226,  23, 109, 221, 199, 174, 197, 217, 174, 105, 179, 100,  29, 239, 
-               213, 194, 138,  84, 131,  94,  83,  63, 118,  90, 232, 144,  48, 245, 123, 
-               234,  82, 148, 182, 174, 248,  40, 135,  35, 211,  64, 223, 152, 152, 244, 
-               190, 227, 139, 183,  46,  74, 196, 172, 235, 196, 214, 142, 241,  77,   3, 
-                41, 141, 121, 167, 208, 199, 150, 155,  79,  43, 115, 180,  27, 144, 176, 
-                63, 103, 150,  75, 111,  23, 149, 193,  42, 190,  58, 223, 240,  45,  83, 
-                77, 171,  41, 196, 194, 120, 151,  96, 183, 187,  59, 220,  61,  36, 217, 
-               196,  35,  57,  49, 186,   1, 200, 184, 146,  82,  71, 206, 135,  53, 218, 
-               122, 230, 235, 171,  76, 227, 114, 124,  35, 152,  98, 151, 250, 102, 124, 
-               206, 111, 164,  39, 223, 118, 179,  25,  29, 252,  50, 210,  51,  18, 170, 
-               214, 214,  42, 191, 156, 247, 153, 187, 101, 228, 128, 145,  95, 204, 194, 
-               207, 176, 128, 238,  70, 163, 231, 104,   5, 251, 139, 161,  30,  71, 199, 
-                26,  15, 238, 210, 119,  60,  24, 244,  86, 208,  87, 155, 165,  97, 214, 
-               160,  26, 234, 244,   5,  76,  45,  99, 162, 120, 138, 251, 214, 233, 253, 
-                25, 215,  10, 145, 178, 234,  50, 210, 185, 175,  69, 135,  74, 132,  80, 
-               233, 142, 173,  79, 245,  77, 102,  21,  51, 145,  32,  94, 123, 250,  66, 
-               131, 122, 187,  71, 173, 175,  58,  11, 235,  70, 147, 122, 158,  85, 188, 
-                63, 207,  74, 102, 182, 152,  38, 255, 195, 113,   2, 109, 102, 219,  59, 
-                36, 229, 239, 159,   4,  68, 115, 109, 125, 114, 188,  99, 195, 181,  83, 
-               224, 193, 247,  88,  10,   5, 187, 206, 240, 173, 250,  76, 199, 226,  13, 
-               149, 236, 108,  43,  84, 151, 252, 214,   9, 127,  65, 237, 183,  60, 221, 
-                 3, 137,  23,  47, 182, 148,  91,  37, 132,  61,  10,  30,  69, 116, 165, 
-               247,  54, 187, 171, 174,  48,  38, 168, 157,  91,  53, 140, 141,  37, 169, 
-                63, 129,  89,  16, 106, 115, 120, 128, 149, 111,  95, 211, 112,  68, 156, 
-               169, 189,  80, 104, 212,  45,  16, 209, 104, 249, 124,  80, 124, 239,  11, 
-               175, 209,  88, 145, 127,  61, 164,  23, 129, 200, 252, 126, 201, 228,  20, 
-                66,  13,  62,  29,  30,  90,  83, 123, 167, 238,  56, 139,  31, 153, 118, 
-               125, 145,  82,  67, 103,  16, 149, 248,  99, 147, 111, 197,  73, 183,  82, 
-               193,  61,  43, 173, 123, 177,  87,  42,  80, 167, 208,   4,   8,  36,  24, 
-                60,  28, 135,  90,  44,  44, 172, 181, 145, 231,  40, 221, 231, 102,  69, 
-               199, 176, 239,  14,  47,  53, 100, 159, 123, 199, 210, 238, 230, 175, 202, 
-               123, 162,  52,  85, 115, 191,  99, 231, 206,  68, 110, 167,  43, 178, 151, 
-               196, 114, 126, 254, 201, 155, 240, 185,   4,  71,  63, 250,  53, 209, 107, 
-               137, 155,  18,   3,  62, 111, 180,  16, 103,   5,  76,  18, 118, 174,  63, 
-               175, 117, 187, 230, 161,  64, 156,  99, 255,  14, 233, 206, 226, 129, 209, 
-               246, 190, 255,  76,  82,  91, 212, 123, 163, 150,  59, 138, 219, 219, 205, 
-               155, 232, 199,  85, 123, 201,  41, 227, 155, 175,  62, 189,  38, 153,  64, 
-               154,  91,  27, 208, 233, 119, 170, 101, 245, 205,  33,  35, 134, 228, 142, 
-               223,   9, 175,  88,  93, 165, 231, 159, 148,  52, 170, 165, 121, 125, 178, 
-                30, 111,  23,  60, 144, 117,  29, 219, 141, 185, 222, 139,  97, 149, 165, 
-               131,  83, 233,  35, 126,  45, 225, 121,  86, 212,  54, 177, 139,  35,  62, 
-               151, 213,  98, 123,  11,  30, 199, 155,  48, 189, 199,  78,   9, 198,  77, 
-                98,  47, 207, 116,  33, 217,  67, 167, 178, 194, 150, 243, 111, 239, 154, 
-               155, 255, 246, 225, 233, 135, 134, 172, 226,  16, 181, 152, 150,  39,  14, 
-               109,  46, 183,  93,  22,  38, 116, 245, 253,  25, 248,  55,  73, 189,  77, 
-               173,   6,  18, 242, 252, 181,   6, 198, 242,  34, 252,  44, 164, 137, 138, 
-               247, 179, 124, 106, 178, 232, 197,  66,  98, 104, 194, 219,  88, 152, 219, 
-                40, 167, 105,  38, 220, 135,  89, 180,  45, 219, 103, 106, 131,   5,  48, 
-                61,  30, 119,  62,  46,  49,  24, 215, 204, 233, 204, 162, 172,  55,  60, 
-               210, 154, 101,  16, 136, 187, 118,  61, 185, 225,  19, 186, 159, 164, 189, 
-               210,  78, 183,  98,  94,  92, 249,  34,   9,  93, 169,  67,   6, 122,  97, 
-               172, 227,  19, 158, 114, 206,  76, 151, 151, 119, 237, 140,  52,  40,  21, 
-               252,  66, 194,  90, 231, 190, 192, 136,  77, 163, 155,  33,   4,  95, 212, 
-                82,  56, 148, 251, 250, 176,  23, 125,  84, 249,  35, 135, 137, 158, 214, 
-               167, 176,  58, 131,  38, 225, 252, 252,  43, 172,  97, 149, 151, 206,  51, 
-                49,  81,  51, 140,   4, 133, 221, 245, 172,  17,  49,  20,  78, 142, 236, 
-               110,  24, 101, 125, 249, 149, 224, 157, 124, 234,  40, 171, 153,  14, 167, 
-               222, 107, 138,  43, 155,  42,   2, 138,  53, 149, 230, 217, 154,  68, 108, 
-                86,  46, 166,  35,   3, 169,  73,  61,  39,  38,  90,  62,  31,  51, 243, 
-                26,  30, 158, 220, 108,  46,  85,  19,  10, 140, 126, 240,  13,  79,  93, 
-               184,  56, 237, 209, 163, 143,  82, 250,  47,  91, 115, 164, 166, 195, 222, 
-               250, 112, 187,  88,  58, 126,  27, 122, 221, 109, 136, 113, 205, 155, 228, 
-               146, 104, 247, 220,  43, 225, 186,  88, 246, 148, 151, 184,  16, 123, 112, 
-               216,  51, 159, 228, 227, 247, 171, 131, 250,  67, 163, 220, 251,  10, 131, 
-               216, 232, 171, 183, 155, 138, 125,  46,  83, 169,  62, 100, 136,  98,  43, 
-               109, 127,  77,  20, 126, 245, 196, 196, 227,  20,  10, 184,  38,  91, 248, 
-               176, 245, 235,  45, 241,  20, 202, 235,  94, 201, 241, 241, 251, 195,  82, 
-                82, 142,  55,  87,  38, 239,  18,  51,  20,  46,   4, 229,  40,  58,  30, 
-                14, 223,  98, 204, 201,  98,  11, 176,  22,  38, 158, 188, 131,  58,  80, 
-               109, 211, 155, 135,  16, 157, 193,  60, 103, 127, 249, 133, 160,  70, 223, 
-               202, 163,  81,  86, 230, 103, 106, 159, 215, 247,  69, 116,  46, 223, 204, 
-               109, 226,  36, 189,  41, 100, 123, 237, 164, 179, 132, 144,  69, 223, 151, 
-               232, 203,  48,  46, 214,   1, 197,  41, 148, 126,  88, 102, 153, 140, 140, 
-               231, 223,  76, 139, 235,  65, 217, 161,  67,  20, 253, 177, 191, 205,  52, 
-                81,  70,   3, 175,  53, 107, 136,  11,  65, 158,  86,  48, 244, 157,  42, 
-               222,  98,  79, 206, 171,  14, 114,  86,  35, 195,  98, 212,  43, 114, 209, 
-               175, 196,  21, 158, 223, 115,  38, 230,  77, 201,  37,  77, 185, 151, 194, 
-                58, 100, 200,  77, 211, 164, 172, 193,  17, 194, 106, 114,  67,  39, 250, 
-                68,  85,  20,  67, 150, 202,  58, 166,  43, 107, 239, 154, 131, 187, 117, 
-               182, 215, 170,  42, 181, 103,  57, 139, 152, 152, 112, 110, 192, 124,  26, 
-               245, 107,  98,  55,  20, 105,  94,  91, 154, 254, 119, 108, 149, 158,  37, 
-               168, 175,  10,  50, 218, 211, 217,  35, 154,  91,  66, 238, 190, 230,  76, 
-