Christmas coding work!
authorTon Roosendaal <ton@blender.org>
Wed, 28 Dec 2005 15:42:51 +0000 (15:42 +0000)
committerTon Roosendaal <ton@blender.org>
Wed, 28 Dec 2005 15:42:51 +0000 (15:42 +0000)
********* Node editor work:

- To enable Nodes for Materials, you have to set the "Use Nodes"
  button, in the new Material buttons "Nodes" Panel or in header
  of the Node editor. Doing this will disable Material-Layers.

- Nodes now execute materials ("shaders"), but still only using the
  previewrender code.

- Nodes have (optional) previews for rendered images.

- Node headers allow to hide buttons and/or preview image

- Nodes can be dragged larger/smaller (right-bottom corner)

- Nodes can be hidden (minimized) with hotkey H

- CTRL+click on an Input Socket gives a popup with default values.

- Changing Material/Texture or Mix node will adjust Node title.

- Click-drag outside of a Node changes cursor to "Knife' and allows to
  draw a rect where to cut Links.

- Added new node types RGBtoBW, Texture, In/Output, ColorRamp

- Material Nodes have options to ouput diffuse or specular, or to use
  a negative normal. The input socket 'Normal' will force the material
  to use that normal, otherwise it uses the normal from the Material
  that has the node tree.

- When drawing a link between two not-matching sockets, Blender inserts
  a converting node (now only for value/rgb combos)

- When drawing a link to an input socket that's already in use, the
  old link will either disappear or flip to another unused socket.

- A click on a Material Node will activate it, and show all its settings
  in the Material Buttons. Active Material Nodes draw the material icon
  in red.

- A click on any node will show its options in the Node Panel in the
  Material buttons.

- Multiple Output Nodes can be used, to sample contents of a tree, but
  only one Output is the real one, which is indicated in a different
  color and red material icon.

- Added ThemeColors for node types

- ALT+C will convert existing Material-Layers to Node... this currently
  only adds the material/mix nodes and connects them. Dunno if this is
  worth a lot of coding work to make perfect?

- Press C to call another "Solve order", which will show all possible
  cyclic conflicts (if there are).

- Technical: nodes now use "Type" structs which define the
  structure of nodes and in/output sockets. The Type structs store all
  fixed info, callbacks, and allow to reconstruct saved Nodes to match
  what is required by Blender.

- Defining (new) nodes now is as simple as filling in a fixed
  Type struct, plus code some callbacks. A doc will be made!

- Node preview images are by default float

********* Icon drawing:

- Cleanup of how old icons were implemented in new system, making
  them 16x16 too, correctly centered *and* scaled.

- Made drawing Icons use float coordinates

- Moved BIF_calcpreview_image() into interface_icons.c, renamed it
  icon_from_image(). Removed a lot of unneeded Imbuf magic here! :)

- Skipped scaling and imbuf copying when icons are OK size

********* Preview render:

- Huge cleanup of code....

- renaming BIF_xxx calls that only were used internally

- BIF_previewrender() now accepts an argument for rendering method,
  so it supports icons, buttonwindow previewrender and node editor

- Only a single BIF_preview_changed() call now exists, supporting all
  signals as needed for buttos and node editor

********* More stuff:

- glutil.c, glaDrawPixelsSafe() and glaDrawPixelsTex() now accept format
  argument for GL_FLOAT rects

- Made the ColorBand become a built-in button for interface.c
  Was a load of cleanup work in buttons_shading.c...

- removed a load of unneeded glBlendFunc() calls

- Fixed bug in calculating text length for buttons (ancient!)

52 files changed:
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/BKE_texture.h
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/node_shaders.c
source/blender/blenkernel/intern/texture.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/include/BIF_glutil.h
source/blender/include/BIF_interface.h
source/blender/include/BIF_interface_icons.h
source/blender/include/BIF_previewrender.h
source/blender/include/BIF_resources.h
source/blender/include/BSE_node.h
source/blender/include/blendef.h
source/blender/include/butspace.h
source/blender/include/interface.h
source/blender/makesdna/DNA_material_types.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/makesdna/DNA_userdef_types.h
source/blender/render/extern/include/render.h
source/blender/render/extern/include/render_types.h
source/blender/render/intern/source/ray.c
source/blender/render/intern/source/rendercore.c
source/blender/render/intern/source/texture.c
source/blender/src/blenderbuttons.c
source/blender/src/butspace.c
source/blender/src/buttons_shading.c
source/blender/src/drawimage.c
source/blender/src/drawnode.c
source/blender/src/drawseq.c
source/blender/src/drawview.c
source/blender/src/edit.c
source/blender/src/editnode.c
source/blender/src/editview.c
source/blender/src/glutil.c
source/blender/src/header_buttonswin.c
source/blender/src/header_info.c
source/blender/src/header_ipo.c
source/blender/src/header_node.c
source/blender/src/headerbuttons.c
source/blender/src/interface.c
source/blender/src/interface_draw.c
source/blender/src/interface_icons.c
source/blender/src/interface_panel.c
source/blender/src/outliner.c
source/blender/src/previewrender.c
source/blender/src/renderwin.c
source/blender/src/resources.c
source/blender/src/space.c
source/blender/src/usiblender.c

index 4146ebc71a01b9eba26a52ffa76c2ee41fa444d3..83087204567f76feadd4243493ad844281c62711 100644 (file)
@@ -37,40 +37,113 @@ struct bNodeTree;
 struct bNode;
 struct bNodeLink;
 struct bNodeSocket;
+struct bNodeStack;
+struct uiBlock;
+struct rctf;
 struct ListBase;
 
 #define SOCK_IN                1
 #define SOCK_OUT       2
 
+/* ************** NODE TYPE DEFINITIONS ***** */
 
-/* ************** GENERIC API *************** */
+typedef struct bNodeSocketType {
+       int type, limit;
+       char *name;
+       float val1, val2, val3, val4;   /* default alloc value for inputs */
+       float min, max;                                 /* default range for inputs */
+       
+       /* after this line is used internal only */
+       struct bNodeSocket *sock;               /* to verify */
+       
+} bNodeSocketType;
 
-void                   nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
-void                   nodeFreeTree(struct bNodeTree *ntree);
+typedef struct bNodeType {
+       int type;
+       char *name;
+       float width, minwidth, maxwidth;
+       short nclass, flag;
+       
+       bNodeSocketType *inputs, *outputs;
+       
+       char storagename[64];                   /* struct name for DNA */
+       
+       void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
+       
+       /* after this line is set on startup of blender */
+       int (*butfunc)(struct uiBlock *, struct bNode *, rctf *);
 
-struct bNode   *nodeAddNode(struct bNodeTree *ntree, char *name);
-struct bNodeLink *nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock);
+} bNodeType;
+
+/* nodetype->nclass, also for themes */
+#define NODE_CLASS_INPUT               0
+#define NODE_CLASS_OUTPUT              1
+#define NODE_CLASS_GENERATOR   2
+#define NODE_CLASS_OPERATOR            3
+
+/* ************** GENERIC API, TREES *************** */
+
+struct bNodeTree *ntreeAddTree(int type);
+void                   ntreeInitTypes(struct bNodeTree *ntree);
+void                   ntreeFreeTree(struct bNodeTree *ntree);
+struct bNodeTree *ntreeCopyTree(struct bNodeTree *ntree, int internal_select);
+
+void                   ntreeSolveOrder(struct bNodeTree *ntree);
+
+void                   ntreeBeginExecTree(struct bNodeTree *ntree, int xsize, int ysize);
+void                   ntreeExecTree(struct bNodeTree *ntree);
+void                   ntreeEndExecTree(struct bNodeTree *ntree);
+void                   ntreeClearPixelTree(struct bNodeTree *, int, int);
+
+/* ************** GENERIC API, NODES *************** */
+
+void                   nodeAddToPreview(struct bNode *, float *, int, int);
+
+struct bNode   *nodeAddNodeType(struct bNodeTree *ntree, int type);
+void                   nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
 struct bNode   *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node);
 
-struct bNodeSocket *nodeAddSocket(struct bNode *node, int type, int where, int limit, char *name);
+struct bNodeLink *nodeAddLink(struct bNodeTree *ntree, struct bNode *fromnode, struct bNodeSocket *fromsock, struct bNode *tonode, struct bNodeSocket *tosock);
+void                   nodeRemLink(struct bNodeTree *ntree, struct bNodeLink *link);
 
 struct bNodeLink *nodeFindLink(struct bNodeTree *ntree, struct bNodeSocket *from, struct bNodeSocket *to);
 int                            nodeCountSocketLinks(struct bNodeTree *ntree, struct bNodeSocket *sock);
-
-void                   nodeSolveOrder(struct bNodeTree *ntree);
-void                   nodeExecTree(struct bNodeTree *ntree);
+struct bNode   *nodeGetActive(struct bNodeTree *ntree);
+struct bNode   *nodeGetActiveID(struct bNodeTree *ntree, short idtype);
 
 /* ************** SHADER NODES *************** */
 
-/* types are needed to restore callbacks */
-#define SH_NODE_TEST           0
-#define SH_NODE_RGB                    1
-#define SH_NODE_VALUE          2
-#define SH_NODE_MIX_RGB                3
-#define SH_NODE_SHOW_RGB       4
+struct ShadeInput;
+struct ShadeResult;
+
+/* note: types are needed to restore callbacks, don't change values */
+#define SH_NODE_INPUT          0
+#define SH_NODE_OUTPUT         1
+
+#define SH_NODE_MATERIAL       100
+#define SH_NODE_RGB                    101
+#define SH_NODE_VALUE          102
+#define SH_NODE_MIX_RGB                103
+#define SH_NODE_VALTORGB       104
+#define SH_NODE_RGBTOBW                105
+#define SH_NODE_TEXTURE                106
+
+/* custom defines: options for Material node */
+#define SH_NODE_MAT_DIFF       1
+#define SH_NODE_MAT_SPEC       2
+#define SH_NODE_MAT_NEG                4
+
+/* the type definitions array */
+extern bNodeType *node_all_shaders[];
+
+/* API */
+struct bNode   *nodeShaderAdd(struct bNodeTree *ntree, int type);
+void                   nodeShaderSetExecfunc(struct bNode *node);
+
+void                   ntreeShaderExecTree(struct bNodeTree *ntree, struct ShadeInput *shi, struct ShadeResult *shr);
 
-struct bNode   *node_shader_add(struct bNodeTree *ntree, int type);
-void                   node_shader_set_execfunc(struct bNode *node);
+                               /* switch material render loop */
+void                   set_node_shader_lamp_loop(void (*lamp_loop_func)(struct ShadeInput *, struct ShadeResult *));
 
 #endif
 
index 23c31564a66b2731f997d8b71d2fd4f11176bab6..4db98599206bd9c16a7f3759481d96a219fa1825 100644 (file)
@@ -50,7 +50,7 @@ int test_dlerr(const char *name,  const char *symbol);
 void open_plugin_tex(struct PluginTex *pit);
 struct PluginTex *add_plugin_tex(char *str);
 void free_plugin_tex(struct PluginTex *pit);
-struct ColorBand *add_colorband(void);
+struct ColorBand *add_colorband(int rangetype);
 int do_colorband(struct ColorBand *coba, float in, float out[4]);
 void default_tex(struct Tex *tex);
 struct Tex *add_texture(char *name);
index 47b3f1e34ea6995bfd335dec1db1e238415c84c9..5054774f339a6cdaedb183fdfc6751e309631435 100644 (file)
@@ -40,6 +40,7 @@
 #include "DNA_material_types.h"
 #include "DNA_mesh_types.h"
 #include "DNA_meta_types.h"
+#include "DNA_node_types.h"
 #include "DNA_object_types.h"
 #include "DNA_scene_types.h"
 #include "DNA_texture_types.h"
@@ -55,6 +56,7 @@
 #include "BKE_main.h"
 #include "BKE_material.h"
 #include "BKE_mesh.h"
+#include "BKE_node.h"
 #include "BKE_utildefines.h"
 
 #include "BPY_extern.h"
@@ -84,6 +86,10 @@ void free_material(Material *ma)
                if(ml->mat) ml->mat->id.us--;
        
        BLI_freelistN(&ma->layers);
+       
+       if(ma->nodetree)
+               ntreeFreeTree(ma->nodetree);
+
 }
 
 void init_material(Material *ma)
@@ -169,6 +175,10 @@ Material *copy_material(Material *ma)
        for(ml= man->layers.first; ml; ml= ml->next)
                id_us_plus((ID *)ml->mat);
 
+       if(ma->nodetree) {
+               man->nodetree= ntreeCopyTree(ma->nodetree, 0);  /* 0 == full new tree */
+       }
+       
        return man;
 }
 
@@ -567,16 +577,25 @@ void new_material_to_objectdata(Object *ob)
        ob->actcol= ob->totcol;
 }
 
+/* will be renamed... now easy to re-use for nodes! */
 Material *get_active_matlayer(Material *ma)
 {
-       MaterialLayer *ml;
        
        if(ma==NULL) return NULL;
        
-       for(ml= ma->layers.first; ml; ml= ml->next)
-               if(ml->flag & ML_ACTIVE) break;
-       if(ml)
-               return ml->mat;
+       if(ma->use_nodes) {
+               bNode *node= nodeGetActiveID(ma->nodetree, ID_MA);
+               if(node && node->id) {
+                       return (Material *)node->id;
+               }
+       }
+       else {
+               MaterialLayer *ml;
+               for(ml= ma->layers.first; ml; ml= ml->next)
+                       if(ml->flag & ML_ACTIVE) break;
+               if(ml)
+                       return ml->mat;
+       }
        return ma;
 }
 
index 3d568e4e3919db3f4f9706de26395153a869cc3e..fbaa0b35c5e15cb1417f4833fce6955332bf3015 100644 (file)
  */
 
 #include <stdlib.h>
+#include <string.h>
 
 #include "DNA_ID.h"
 #include "DNA_node_types.h"
 
 #include "BKE_blender.h"
 #include "BKE_node.h"
+#include "BKE_utildefines.h"
 
 #include "BLI_arithb.h"
 #include "BLI_blenlib.h"
 
 #include "MEM_guardedalloc.h"
 
+/* ************** Type stuff ********** */
+
+static bNodeType *nodeGetType(bNodeTree *ntree, int type)
+{
+       bNodeType **typedefs= ntree->alltypes;
+       
+       while( *typedefs && (*typedefs)->type!=type)
+               typedefs++;
+       
+       return *typedefs;
+}
+
+void ntreeInitTypes(bNodeTree *ntree)
+{
+       bNode *node;
+       
+       if(ntree->type==NTREE_SHADER)
+               ntree->alltypes= node_all_shaders;
+       else {
+               ntree->alltypes= NULL;
+               printf("Error: no type definitions for nodes\n");
+       }
+       
+       for(node= ntree->nodes.first; node; node= node->next) {
+               node->typeinfo= nodeGetType(ntree, node->type);
+               if(node->typeinfo==NULL)
+                       printf("Error: no typeinfo for node %s\n", node->name);
+       }
+                       
+       ntree->init |= NTREE_TYPE_INIT;
+}
+
+/* only used internal... we depend on type definitions! */
+static bNodeSocket *node_add_socket_type(ListBase *lb, bNodeSocketType *stype)
+{
+       bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+       
+       BLI_strncpy(sock->name, stype->name, NODE_MAXSTR);
+       if(stype->limit==0) sock->limit= 0xFFF;
+       else sock->limit= stype->limit;
+       sock->type= stype->type;
+       
+       sock->ns.vec[0]= stype->val1;
+       sock->ns.vec[1]= stype->val2;
+       sock->ns.vec[2]= stype->val3;
+       sock->ns.vec[3]= stype->val4;
+                               
+       if(lb)
+               BLI_addtail(lb, sock);
+       
+       return sock;
+}
+
+static void node_rem_socket(bNodeTree *ntree, ListBase *lb, bNodeSocket *sock)
+{
+       bNodeLink *link, *next;
+       
+       for(link= ntree->links.first; link; link= next) {
+               next= link->next;
+               if(link->fromsock==sock || link->tosock==sock) {
+                       nodeRemLink(ntree, link);
+               }
+       }
+       
+       BLI_remlink(lb, sock);
+       MEM_freeN(sock);
+}
+
+static bNodeSocket *verify_socket(ListBase *lb, bNodeSocketType *stype)
+{
+       bNodeSocket *sock;
+       
+       for(sock= lb->first; sock; sock= sock->next) {
+               if(strncmp(sock->name, stype->name, NODE_MAXSTR)==0)
+                       break;
+       }
+       if(sock) {
+               sock->type= stype->type;                /* in future, read this from tydefs! */
+               if(stype->limit==0) sock->limit= 0xFFF;
+               else sock->limit= stype->limit;
+               BLI_remlink(lb, sock);
+               return sock;
+       }
+       else {
+               return node_add_socket_type(NULL, stype);
+       }
+}
+
+static void verify_socket_list(bNodeTree *ntree, ListBase *lb, bNodeSocketType *stype_first)
+{
+       bNodeSocketType *stype;
+       
+       /* no inputs anymore? */
+       if(stype_first==NULL) {
+               while(lb->first)
+                       node_rem_socket(ntree, lb, lb->first);
+       }
+       else {
+               /* step by step compare */
+               stype= stype_first;
+               while(stype->type != -1) {
+                       stype->sock= verify_socket(lb, stype);
+                       stype++;
+               }
+               /* leftovers are removed */
+               while(lb->first)
+                       node_rem_socket(ntree, lb, lb->first);
+               /* and we put back the verified sockets */
+               stype= stype_first;
+               while(stype->type != -1) {
+                       BLI_addtail(lb, stype->sock);
+                       stype++;
+               }
+       }
+}
+
+void ntreeVerifyTypes(bNodeTree *ntree)
+{
+       bNode *node;
+       bNodeType *ntype;
+       
+       if((ntree->init & NTREE_TYPE_INIT)==0)
+               ntreeInitTypes(ntree);
+       
+       /* check inputs and outputs, and remove or insert them */
+       for(node= ntree->nodes.first; node; node= node->next) {
+               ntype= node->typeinfo;
+               if(ntype) {
+                       /* might add some other verify stuff here */
+                       
+                       verify_socket_list(ntree, &node->inputs, ntype->inputs);
+                       verify_socket_list(ntree, &node->outputs, ntype->outputs);
+               }
+       }
+}
+
+
+
 /* ************** Add stuff ********** */
 
 /* not very important, but the stack solver likes to know a maximum */
 #define MAX_SOCKET     64
 
-bNode *nodeAddNode(struct bNodeTree *ntree, char *name)
+bNode *nodeAddNodeType(bNodeTree *ntree, int type)
 {
-       bNode *node= MEM_callocN(sizeof(bNode), "new node");
+       bNode *node;
+       bNodeType *ntype= nodeGetType(ntree, type);
+       bNodeSocketType *stype;
        
+       node= MEM_callocN(sizeof(bNode), "new node");
        BLI_addtail(&ntree->nodes, node);
-       BLI_strncpy(node->name, name, NODE_MAXSTR);
+       node->typeinfo= ntype;
+       
+       BLI_strncpy(node->name, ntype->name, NODE_MAXSTR);
+       node->type= ntype->type;
+       node->flag= NODE_SELECT|ntype->flag;
+       node->width= ntype->width;
+
+       if(ntype->inputs) {
+               stype= ntype->inputs;
+               while(stype->type != -1) {
+                       node_add_socket_type(&node->inputs, stype);
+                       stype++;
+               }
+       }
+       if(ntype->outputs) {
+               stype= ntype->outputs;
+               while(stype->type != -1) {
+                       node_add_socket_type(&node->outputs, stype);
+                       stype++;
+               }
+       }
        return node;
 }
 
-/* keep listorder identical, for copying links */
+/* keep socket listorder identical, for copying links */
+/* ntree is the target tree */
 bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
 {
        bNode *nnode= MEM_callocN(sizeof(bNode), "dupli node");
@@ -67,8 +231,13 @@ bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
        if(nnode->id)
                nnode->id->us++;
        
-       node->flag= NODE_SELECT;
-
+       if(nnode->storage)
+               nnode->storage= MEM_dupallocN(nnode->storage);
+       
+       node->new= nnode;
+       nnode->new= NULL;
+       nnode->preview= NULL;
+       
        return nnode;
 }
 
@@ -85,19 +254,22 @@ bNodeLink *nodeAddLink(bNodeTree *ntree, bNode *fromnode, bNodeSocket *fromsock,
        return link;
 }
 
-bNodeSocket *nodeAddSocket(bNode *node, int type, int where, int limit, char *name)
+void nodeRemLink(bNodeTree *ntree, bNodeLink *link)
 {
-       bNodeSocket *sock= MEM_callocN(sizeof(bNodeSocket), "sock");
+       BLI_remlink(&ntree->links, link);
+       if(link->tosock)
+               link->tosock->link= NULL;
+       MEM_freeN(link);
+}
+
+
+bNodeTree *ntreeAddTree(int type)
+{
+       bNodeTree *ntree= MEM_callocN(sizeof(bNodeTree), "new node tree");
+       ntree->type= type;
        
-       BLI_strncpy(sock->name, name, NODE_MAXSTR);
-       sock->limit= limit;
-       sock->type= type;
-       if(where==SOCK_IN)
-               BLI_addtail(&node->inputs, sock);
-       else
-               BLI_addtail(&node->outputs, sock);
-               
-       return sock;
+       ntreeInitTypes(ntree);
+       return ntree;
 }
 
 /* ************** Free stuff ********** */
@@ -125,8 +297,7 @@ static void node_unlink_node(bNodeTree *ntree, bNode *node)
                                        break;
                        }
                        if(sock) {
-                               BLI_remlink(&ntree->links, link);
-                               MEM_freeN(link);
+                               nodeRemLink(ntree, link);
                        }
                }
        }
@@ -144,10 +315,18 @@ void nodeFreeNode(bNodeTree *ntree, bNode *node)
        BLI_freelistN(&node->inputs);
        BLI_freelistN(&node->outputs);
        
+       if(node->preview) {
+               if(node->preview->rect)
+                       MEM_freeN(node->preview->rect);
+               MEM_freeN(node->preview);
+       }
+       if(node->storage)
+               MEM_freeN(node->storage);
+       
        MEM_freeN(node);
 }
 
-void nodeFreeTree(bNodeTree *ntree)
+void ntreeFreeTree(bNodeTree *ntree)
 {
        bNode *node, *next;
        
@@ -156,12 +335,64 @@ void nodeFreeTree(bNodeTree *ntree)
                nodeFreeNode(NULL, node);               /* NULL -> no unlinking needed */
        }
        BLI_freelistN(&ntree->links);
-       BLI_freelistN(&ntree->inputs);
-       BLI_freelistN(&ntree->outputs);
        
        MEM_freeN(ntree);
 }
 
+bNodeTree *ntreeCopyTree(bNodeTree *ntree, int internal_select)
+{
+       bNodeTree *newtree;
+       bNode *node, *nnode, *last;
+       bNodeLink *link, *nlink;
+       bNodeSocket *sock;
+       int a;
+       
+       if(ntree==NULL) return NULL;
+       
+       if(internal_select==0) {
+               newtree= MEM_dupallocN(ntree);
+               newtree->nodes.first= newtree->nodes.last= NULL;
+               newtree->links.first= newtree->links.last= NULL;
+       }
+       else
+               newtree= ntree;
+       
+       last= ntree->nodes.last;
+       for(node= ntree->nodes.first; node; node= node->next) {
+               
+               node->new= NULL;
+               if(internal_select==0 || (node->flag & NODE_SELECT)) {
+                       nnode= nodeCopyNode(newtree, node);     /* sets node->new */
+                       if(internal_select) {
+                               node->flag &= ~NODE_SELECT;
+                               nnode->flag |= NODE_SELECT;
+                       }
+                       node->flag &= ~NODE_ACTIVE;
+               }
+               if(node==last) break;
+       }
+       
+       /* check for copying links */
+       for(link= ntree->links.first; link; link= link->next) {
+               if(link->fromnode->new && link->tonode->new) {
+                       nlink= nodeAddLink(newtree, link->fromnode->new, NULL, link->tonode->new, NULL);
+                       /* sockets were copied in order */
+                       for(a=0, sock= link->fromnode->outputs.first; sock; sock= sock->next, a++) {
+                               if(sock==link->fromsock)
+                                       break;
+                       }
+                       nlink->fromsock= BLI_findlink(&link->fromnode->new->outputs, a);
+                       
+                       for(a=0, sock= link->tonode->inputs.first; sock; sock= sock->next, a++) {
+                               if(sock==link->tosock)
+                                       break;
+                       }
+                       nlink->tosock= BLI_findlink(&link->tonode->new->inputs, a);
+               }
+       }
+       return newtree;
+}
+
 /* ************ find stuff *************** */
 
 bNodeLink *nodeFindLink(bNodeTree *ntree, bNodeSocket *from, bNodeSocket *to)
@@ -189,6 +420,31 @@ int nodeCountSocketLinks(bNodeTree *ntree, bNodeSocket *sock)
        return tot;
 }
 
+bNode *nodeGetActive(bNodeTree *ntree)
+{
+       bNode *node;
+       
+       if(ntree==NULL) return NULL;
+       
+       for(node= ntree->nodes.first; node; node= node->next)
+               if(node->flag & NODE_ACTIVE)
+                       break;
+       return node;
+}
+
+bNode *nodeGetActiveID(bNodeTree *ntree, short idtype)
+{
+       bNode *node;
+       
+       if(ntree==NULL) return NULL;
+       
+       for(node= ntree->nodes.first; node; node= node->next)
+               if(node->id && GS(node->id->name)==idtype)
+                       if(node->flag & NODE_ACTIVE_ID)
+                               break;
+       return node;
+}
+
 /* ************** dependency stuff *********** */
 
 /* node is guaranteed to be not checked before */
@@ -220,7 +476,7 @@ static int node_recurs_check(bNode *node, bNode ***nsort, int level)
                return 0xFFF;
 }
 
-void nodeSolveOrder(bNodeTree *ntree)
+void ntreeSolveOrder(bNodeTree *ntree)
 {
        bNode *node, **nodesort, **nsort;
        bNodeSocket *sock;
@@ -266,78 +522,164 @@ void nodeSolveOrder(bNodeTree *ntree)
        
        MEM_freeN(nodesort);
        
+       /* find the active outputs, tree type dependant, might become handler */
+       if(ntree->type==NTREE_SHADER) {
+               /* shader nodes only accepts one output */
+               int output= 0;
+               
+               for(node= ntree->nodes.first; node; node= node->next) {
+                       if(node->typeinfo->nclass==NODE_CLASS_OUTPUT) {
+                               if(output==0)
+                                       node->flag |= NODE_DO_OUTPUT;
+                               else
+                                       node->flag &= ~NODE_DO_OUTPUT;
+                               output= 1;
+                       }
+               }
+       }
+       
+       /* here we could recursively set which nodes have to be done,
+               might be different for editor or for "real" use... */
+       
+       
+       
 }
 
+/* *************** preview *********** */
+
+/* if node->preview, then we assume the rect to exist */
+
+static void nodeInitPreview(bNode *node, int xsize, int ysize)
+{
+       /* signal we don't do anything, preview writing is protected */
+       if(xsize==0 || ysize==0)
+               return;
+       
+       /* sanity checks & initialize */
+       if(node->preview) {
+               if(node->preview->xsize!=xsize && node->preview->ysize!=ysize) {
+                       MEM_freeN(node->preview->rect);
+                       node->preview->rect= NULL;
+               }
+       }
+       
+       if(node->preview==NULL) {
+               node->preview= MEM_callocN(sizeof(bNodePreview), "node preview");
+       }
+       if(node->preview->rect==NULL) {
+               node->preview->rect= MEM_callocN(4*xsize + xsize*ysize*sizeof(float)*4, "node preview rect");
+               node->preview->xsize= xsize;
+               node->preview->ysize= ysize;
+       }
+}
+
+void nodeAddToPreview(bNode *node, float *col, int x, int y)
+{
+       bNodePreview *preview= node->preview;
+       if(preview) {
+               if(x>=0 && y>=0) {
+                       if(x<preview->xsize && y<preview->ysize) {
+                               float *tar= preview->rect+ 4*((preview->xsize*y) + x);
+                               QUATCOPY(tar, col);
+                       }
+                       else printf("prv out bound x y %d %d\n", x, y);
+               }
+               else printf("prv out bound x y %d %d\n", x, y);
+       }
+}
+
+
+
 /* ******************* executing ************* */
 
 
-void nodeBeginExecTree(bNodeTree *ntree)
+void ntreeBeginExecTree(bNodeTree *ntree, int xsize, int ysize)
 {
        bNode *node;
        bNodeSocket *sock;
        int index= 0;
        
-       if((ntree->init & NTREE_EXEC_SET)==0) {
-               for(node= ntree->nodes.first; node; node= node->next) {
-                       if(ntree->type==NTREE_SHADER)
-                               node_shader_set_execfunc(node);
-               }
-               ntree->init |= NTREE_EXEC_SET;
-       }
+       if((ntree->init & NTREE_TYPE_INIT)==0)
+               ntreeInitTypes(ntree);
        
-       /* create indices for stack */
+       /* create indices for stack, check preview */
        for(node= ntree->nodes.first; node; node= node->next) {
-               
                for(sock= node->outputs.first; sock; sock= sock->next) {
                        sock->stack_index= index++;
                }
+               
+               if(node->typeinfo->flag & NODE_PREVIEW) /* hrms, check for closed nodes? */
+                       nodeInitPreview(node, xsize, ysize);
+               
        }
        if(index) {
-               ntree->stack= MEM_callocN(index*sizeof(bNodeStack), "node stack");
+               bNodeStack *ns;
+               int a;
+               
+               ns=ntree->stack= MEM_callocN(index*sizeof(bNodeStack), "node stack");
+               for(a=0; a<index; a++, ns++) ns->hasinput= 1;
        }
+       
+       ntree->init |= NTREE_EXEC_INIT;
 }
 
-void nodeEndExecTree(bNodeTree *ntree)
+void ntreeEndExecTree(bNodeTree *ntree)
 {
        if(ntree->stack) {
                MEM_freeN(ntree->stack);
                ntree->stack= NULL;
        }
+
+       ntree->init &= ~NTREE_EXEC_INIT;
 }
 
-static void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **spp)
+static void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
 {
-       static bNodeStack empty= {{1.0f, 1.0f, 1.0f, 1.0f}, NULL};
        bNodeSocket *sock;
        
        /* build pointer stack */
        for(sock= node->inputs.first; sock; sock= sock->next) {
                if(sock->link)
-                       *(spp++)= stack + sock->link->fromsock->stack_index;
+                       *(in++)= stack + sock->link->fromsock->stack_index;
                else
-                       *(spp++)= &empty;       /* input is not written into */
+                       *(in++)= &sock->ns;
        }
        
        for(sock= node->outputs.first; sock; sock= sock->next) {
-               *(spp++)= stack + sock->stack_index;
+               *(out++)= stack + sock->stack_index;
        }
 }
 
 /* nodes are presorted, so exec is in order of list */
-void nodeExecTree(bNodeTree *ntree)
+void ntreeExecTree(bNodeTree *ntree)
 {
        bNode *node;
-       bNodeStack *ns[MAX_SOCKET];     /* arbitrary... watch this */
+       bNodeStack *nsin[MAX_SOCKET];   /* arbitrary... watch this */
+       bNodeStack *nsout[MAX_SOCKET];  /* arbitrary... watch this */
        
-       nodeBeginExecTree(ntree);
+       /* only when initialized */
+       if(ntree->init & NTREE_EXEC_INIT) {
        
-       for(node= ntree->nodes.first; node; node= node->next) {
-               if(node->execfunc) {
-                       node_get_stack(node, ntree->stack, ns);
-                       node->execfunc(node, ns);
+               for(node= ntree->nodes.first; node; node= node->next) {
+                       if(node->typeinfo->execfunc) {
+                               node_get_stack(node, ntree->stack, nsin, nsout);
+                               node->typeinfo->execfunc(ntree->data, node, nsin, nsout);
+                       }
                }
        }
-
-       nodeEndExecTree(ntree);
 }
 
+/* clear one pixel in all the preview images */
+void ntreeClearPixelTree(bNodeTree *ntree, int x, int y)
+{
+       bNode *node;
+       float vec[4]= {0.0f, 0.0f, 0.0f, 0.0f};
+       
+       /* only when initialized */
+       if(ntree->init & NTREE_EXEC_INIT) {
+               for(node= ntree->nodes.first; node; node= node->next) {
+                       if(node->preview)
+                               nodeAddToPreview(node, vec, x, y);
+               }
+       }
+}
index 74728abac9c7806c400fb7fd3232c37cda32ad3f..f2ece280d5830ff32c5120233665e3de2788be88 100644 (file)
 #include <stdlib.h>
 
 #include "DNA_ID.h"
+#include "DNA_material_types.h"
 #include "DNA_node_types.h"
+#include "DNA_texture_types.h"
 
 #include "BKE_blender.h"
 #include "BKE_node.h"
+#include "BKE_texture.h"
 #include "BKE_utildefines.h"
 
 #include "BLI_arithb.h"
 
 #include "MEM_guardedalloc.h"
 
-/* **************** testnode ************ */
+#include "render.h"            /* <- shadeinput/output */
 
-static void blendcolor(float *col1, float *col2, float *output, float fac)
+/* ********* exec data struct, remains internal *********** */
+
+typedef struct ShaderCallData {
+       ShadeInput *shi;
+       ShadeResult *shr;
+} ShaderCallData;
+
+
+/* **************** call to switch lamploop for material node ************ */
+
+static void (*node_shader_lamp_loop)(ShadeInput *, ShadeResult *);
+                                                                        
+void set_node_shader_lamp_loop(void (*lamp_loop_func)(ShadeInput *, ShadeResult *))
 {
-       output[0]= (1.0f-fac)*col1[0] + (fac)*col2[0];
-       output[1]= (1.0f-fac)*col1[1] + (fac)*col2[1];
-       output[2]= (1.0f-fac)*col1[2] + (fac)*col2[2];
+       node_shader_lamp_loop= lamp_loop_func;
 }
 
-static void node_shader_exec_test(bNode *node, bNodeStack **ns)
+/* **************** input node ************ */
+
+static void node_shader_exec_input(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       
-       blendcolor(ns[0]->vec, ns[1]->vec, ns[2]->vec, 0.5);
+       if(data) {
+               ShadeResult *shr= ((ShaderCallData *)data)->shr;
+               ShadeInput *shi= ((ShaderCallData *)data)->shi;
+               float col[4];
+               
+               /* stack order output sockets: color, alpha, normal */
+               VecAddf(col, shr->diff, shr->spec);
+               col[3]= shr->alpha;
+               
+               VECCOPY(out[0]->vec, col);
+               out[1]->vec[0]= shr->alpha;
+               VECCOPY(out[2]->vec, shi->vn);
+               
+               if(shi->do_preview)
+                       nodeAddToPreview(node, col, shi->xs, shi->ys);
+
+       }
+}
 
-//     printvecf(node->name, ns[2]->vec);
+
+/* **************** output node ************ */
+
+static void node_shader_exec_output(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
+{
+       if(data) {
+               ShadeInput *shi= ((ShaderCallData *)data)->shi;
+               float col[4];
+               
+               /* stack order input sockets: col, alpha, normal */
+               VECCOPY(col, in[0]->vec);
+               col[3]= in[1]->vec[0];
+               
+               if(shi->do_preview) {
+                       nodeAddToPreview(node, col, shi->xs, shi->ys);
+                       node->lasty= shi->ys;
+               }
+               
+               if(node->flag & NODE_DO_OUTPUT) {
+                       ShadeResult *shr= ((ShaderCallData *)data)->shr;
+
+                       VECCOPY(shr->diff, col);
+                       col[0]= col[1]= col[2]= 0.0f;
+                       VECCOPY(shr->spec, col);
+                       shr->alpha= col[3];
+                       
+                       //      VECCOPY(shr->nor, in[3]->vec);
+               }
+       }       
 }
 
-static bNode *node_shader_add_test(bNodeTree *ntree)
+/* **************** material node ************ */
+
+static void node_shader_exec_material(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       bNode *node= nodeAddNode(ntree, "TestNode");
-       static int tot= 0;
+       if(data && node->id) {
+               ShadeResult shrnode;
+               ShadeInput *shi;
+               float col[4], *nor;
        
-       sprintf(node->name, "Testnode%d", tot++);
-       node->type= SH_NODE_TEST;
-       node->width= 80.0f;
-       
-       /* add sockets */
-       nodeAddSocket(node, SOCK_RGBA, SOCK_IN, 1, "Col");
-       nodeAddSocket(node, SOCK_RGBA, SOCK_IN, 1, "Spec");
-       nodeAddSocket(node, SOCK_RGBA, SOCK_OUT, 0xFFF, "Diffuse");
-       
-       return node;
+               shi= ((ShaderCallData *)data)->shi;
+               
+               shi->mat= (Material *)node->id;
+               
+               /* retrieve normal */
+               if(in[0]->hasinput)
+                       nor= in[0]->vec;
+               else
+                       nor= shi->vno;
+               
+               if(node->custom1 & SH_NODE_MAT_NEG) {
+                       shi->vn[0]= -nor[0];
+                       shi->vn[1]= -nor[1];
+                       shi->vn[2]= -nor[2];
+               }
+               else {
+                       VECCOPY(shi->vn, nor);
+               }
+               
+               node_shader_lamp_loop(shi, &shrnode);
+               
+               if(node->custom1 & SH_NODE_MAT_DIFF) {
+                       VECCOPY(col, shrnode.diff);
+                       if(node->custom1 & SH_NODE_MAT_SPEC) {
+                               VecAddf(col, col, shrnode.spec);
+                       }
+               }
+               else if(node->custom1 & SH_NODE_MAT_SPEC) {
+                       VECCOPY(col, shrnode.spec);
+               }
+               else
+                       col[0]= col[1]= col[2]= 0.0f;
+                       
+               col[3]= shrnode.alpha;
+               
+               if(shi->do_preview)
+                       nodeAddToPreview(node, col, shi->xs, shi->ys);
+               
+               /* stack order output: color, alpha, normal */
+               VECCOPY(out[0]->vec, col);
+               out[1]->vec[0]= shrnode.alpha;
+               
+               if(node->custom1 & SH_NODE_MAT_NEG) {
+                       shi->vn[0]= -shi->vn[0];
+                       shi->vn[1]= -shi->vn[1];
+                       shi->vn[2]= -shi->vn[2];
+               }
+               VECCOPY(out[2]->vec, shi->vn);
+       }
 }
 
-/* **************** value node ************ */
+/* **************** texture node ************ */
 
-static void node_shader_exec_value(bNode *node, bNodeStack **ns)
+static void node_shader_exec_texture(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       /* no input node! */
-       ns[0]->vec[0]= node->ns.vec[0];
-//     printf("%s %f\n", node->name, ns[0]->vec[0]);
+       if(data && node->id) {
+               ShadeInput *shi;
+               
+               shi= ((ShaderCallData *)data)->shi;
+               
+               multitex_ext((Tex *)node->id, shi->co, out[0]->vec, out[1]->vec, out[1]->vec+1, out[1]->vec+2, out[1]->vec+3);
+               
+               if(shi->do_preview)
+                       nodeAddToPreview(node, out[1]->vec, shi->xs, shi->ys);
+
+       }
 }
 
-static bNode *node_shader_add_value(bNodeTree *ntree)
+/* **************** value node ************ */
+
+static void node_shader_exec_value(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       bNode *node= nodeAddNode(ntree, "Value");
-       
-       node->type= SH_NODE_VALUE;
-       node->width= 80.0f;
-       node->prv_h= 20.0f;
+       bNodeSocket *sock= node->outputs.first;
        
-       /* add sockets */
-       nodeAddSocket(node, SOCK_VALUE, SOCK_OUT, 0xFFF, "");
-       
-       return node;
+       out[0]->vec[0]= sock->ns.vec[0];
 }
 
 /* **************** rgba node ************ */
 
-static void node_shader_exec_rgb(bNode *node, bNodeStack **ns)
+static void node_shader_exec_rgb(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       /* no input node! */
-       QUATCOPY(ns[0]->vec, node->ns.vec);
+       bNodeSocket *sock= node->outputs.first;
        
-//     printvecf(node->name, ns[0]->vec);
+       VECCOPY(out[0]->vec, sock->ns.vec);
 }
+                                                                        
+
+/* **************** mix rgb node ************ */
 
-static bNode *node_shader_add_rgb(bNodeTree *ntree)
+static void node_shader_exec_mix_rgb(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       bNode *node= nodeAddNode(ntree, "RGB");
+       /* stack order in: fac, col1, col2 */
+       /* stack order out: col */
+       float col[3];
        
-       node->type= SH_NODE_RGB;
-       node->width= 100.0f;
-       node->prv_h= 100.0f;
-       node->ns.vec[3]= 1.0f;          /* alpha init */
-       
-       /* add sockets */
-       nodeAddSocket(node, SOCK_RGBA, SOCK_OUT, 0xFFF, "");
+       VECCOPY(col, in[1]->vec);
+       ramp_blend(node->custom1, col, col+1, col+2, in[0]->vec[0], in[2]->vec);
+       VECCOPY(out[0]->vec, col);
+}
+
+/* **************** val to rgb node ************ */
+
+static void node_shader_exec_valtorgb(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
+{
+       /* stack order in: fac */
+       /* stack order out: col, alpha */
        
-       return node;
+       if(node->storage) {
+               do_colorband(node->storage, in[0]->vec[0], out[0]->vec);
+               out[1]->vec[0]= out[0]->vec[3];
+       }
 }
 
-/* **************** mix rgba node ************ */
+/* **************** rgb to bw node ************ */
 
-static void node_shader_exec_mix_rgb(bNode *node, bNodeStack **ns)
+static void node_shader_exec_rgbtobw(void *data, bNode *node, bNodeStack **in, bNodeStack **out)
 {
-       /* stack order is fac, col1, col2, out */
-       blendcolor(ns[1]->vec, ns[2]->vec, ns[3]->vec, ns[0]->vec[0]);
+       /* stack order out: bw */
+       /* stack order in: col */
+       
+       out[0]->vec[0]= in[0]->vec[0]*0.35f + in[0]->vec[1]*0.45f + in[0]->vec[2]*0.2f;
 }
 
-static bNode *node_shader_add_mix_rgb(bNodeTree *ntree)
+
+/* ******************* execute ************ */
+
+void ntreeShaderExecTree(bNodeTree *ntree, ShadeInput *shi, ShadeResult *shr)
 {
-       bNode *node= nodeAddNode(ntree, "Mix RGB");
+       ShaderCallData scd;
        
-       node->type= SH_NODE_MIX_RGB;
-       node->width= 80.0f;
-       node->prv_h= 0.0f;
+       /* convert caller data to struct */
+       scd.shi= shi;
+       scd.shr= shr;
+       ntree->data= &scd;
        
-       /* add sockets */
-       nodeAddSocket(node, SOCK_VALUE, SOCK_IN, 1, "Fac");
-       nodeAddSocket(node, SOCK_RGBA, SOCK_IN, 1, "Color1");
-       nodeAddSocket(node, SOCK_RGBA, SOCK_IN, 1, "Color2");
-       nodeAddSocket(node, SOCK_RGBA, SOCK_OUT, 0xFFF, "Color");
+       ntreeExecTree(ntree);
        
-       return node;
 }
 
 
-/* **************** show rgba node ************ */
+/* ******************************************************** */
+/* ********* Shader Node type definitions ***************** */
+/* ******************************************************** */
 
-static void node_shader_exec_show_rgb(bNode *node, bNodeStack **ns)
-{
-       /* only input node! */
-       QUATCOPY(node->ns.vec, ns[0]->vec);
+/* SocketType syntax: 
+   socket type, max connections (0 is no limit), name, 4 values for default, 2 values for range */
+
+/* Verification rule: If name changes, a saved socket and its links will be removed! Type changes are OK */
+
+/* *************** INPUT ********************* */
+static bNodeSocketType sh_node_input_out[]= {
+       {       SOCK_RGBA, 0, "Color",          0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VALUE, 0, "Alpha",         1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       SOCK_VECTOR, 0, "Normal",       0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_input= {
+       /* type code   */       SH_NODE_INPUT,
+       /* name        */       "Input",
+       /* width+range */       80, 60, 200,
+       /* class+opts   */      NODE_CLASS_INPUT, NODE_PREVIEW,
+       /* input sock  */       NULL,
+       /* output sock */       sh_node_input_out,
+       /* storage     */       "",
+       /* execfunc    */       node_shader_exec_input,
        
-//     printvecf(node->name, ns[0]->vec);
-}
+};
 
-static bNode *node_shader_add_show_rgb(bNodeTree *ntree)
-{
-       bNode *node= nodeAddNode(ntree, "Show RGB");
+/* **************** OUTPUT ******************** */
+static bNodeSocketType sh_node_output_in[]= {
+       {       SOCK_RGBA, 1, "Color",          0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VALUE, 1, "Alpha",         1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       SOCK_VECTOR, 1, "Normal",       0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_output= {
+       /* type code   */       SH_NODE_OUTPUT,
+       /* name        */       "Output",
+       /* width+range */       80, 60, 200,
+       /* class+opts  */       NODE_CLASS_OUTPUT, NODE_PREVIEW,
+       /* input sock  */       sh_node_output_in,
+       /* output sock */       NULL,
+       /* storage     */       "",
+       /* execfunc    */       node_shader_exec_output,
        
-       node->type= SH_NODE_SHOW_RGB;
-       node->width= 80.0f;
-       node->prv_h= 0.0f;
-       node->ns.vec[3]= 1.0f;          /* alpha init */
+};
+
+/* **************** MATERIAL ******************** */
+static bNodeSocketType sh_node_material_in[]= {
+       {       SOCK_VECTOR, 1, "Normal",       0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeSocketType sh_node_material_out[]= {
+       {       SOCK_RGBA, 0, "Color",          0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VALUE, 0, "Alpha",         1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       SOCK_VECTOR, 0, "Normal",       0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_material= {
+       /* type code   */       SH_NODE_MATERIAL,
+       /* name        */       "Material",
+       /* width+range */       120, 60, 200,
+       /* class+opts  */       NODE_CLASS_GENERATOR, NODE_OPTIONS|NODE_PREVIEW,
+       /* input sock  */       sh_node_material_in,
+       /* output sock */       sh_node_material_out,
+       /* storage     */       "",
+       /* execfunc    */       node_shader_exec_material,
        
-       /* add sockets */
-       nodeAddSocket(node, SOCK_RGBA, SOCK_IN, 1, "");
+};
+
+/* **************** TEXTURE ******************** */
+static bNodeSocketType sh_node_texture_out[]= {
+       {       SOCK_VALUE, 0, "Value",         1.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_RGBA , 0, "Color",         1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VECTOR, 0, "Normal",       0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_texture= {
+       /* type code   */       SH_NODE_TEXTURE,
+       /* name        */       "Texture",
+       /* width+range */       120, 60, 200,
+       /* class+opts  */       NODE_CLASS_GENERATOR, NODE_OPTIONS|NODE_PREVIEW,
+       /* input sock  */       NULL,
+       /* output sock */       sh_node_texture_out,
+       /* storage     */       "",
+       /* execfunc    */       node_shader_exec_texture,
        
-       return node;
-}
+};
+
+/* **************** VALUE ******************** */
+static bNodeSocketType sh_node_value_out[]= {
+       {       SOCK_VALUE, 0, "Value",         0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
 
+static bNodeType sh_node_value= {
+       /* type code   */       SH_NODE_VALUE,
+       /* name        */       "Value",
+       /* width+range */       80, 40, 120,
+       /* class+opts  */       NODE_CLASS_GENERATOR, NODE_OPTIONS,
+       /* input sock  */       NULL,
+       /* output sock */       sh_node_value_out,
+       /* storage     */       "", 
+       /* execfunc    */       node_shader_exec_value,
+       
+};
 
-/* **************** API for add ************** */
+/* **************** RGB ******************** */
+static bNodeSocketType sh_node_rgb_out[]= {
+       {       SOCK_RGBA, 0, "Color",                  0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
 
-bNode *node_shader_add(bNodeTree *ntree, int type)
-{
-       bNode *node= NULL;
-       
-       switch(type) {
-       case SH_NODE_TEST:
-               node= node_shader_add_test(ntree);
-               break;
-       case SH_NODE_VALUE:
-               node= node_shader_add_value(ntree);
-               break;
-       case SH_NODE_RGB:
-               node= node_shader_add_rgb(ntree);
-               break;
-       case SH_NODE_SHOW_RGB:
-               node= node_shader_add_show_rgb(ntree);
-               break;
-       case SH_NODE_MIX_RGB:
-               node= node_shader_add_mix_rgb(ntree);
-               break;
-       }
-       return node;
-}
+static bNodeType sh_node_rgb= {
+       /* type code   */       SH_NODE_RGB,
+       /* name        */       "RGB",
+       /* width+range */       100, 60, 140,
+       /* class+opts  */       NODE_CLASS_GENERATOR, NODE_OPTIONS,
+       /* input sock  */       NULL,
+       /* output sock */       sh_node_rgb_out,
+       /* storage     */       "",
+       /* execfunc    */       node_shader_exec_rgb,
+       
+};
 
-/* ******************* set the callbacks, called from UI, loader ***** */
+/* **************** MIX RGB ******************** */
+static bNodeSocketType sh_node_mix_rgb_in[]= {
+       {       SOCK_VALUE, 1, "Fac",                   0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       SOCK_RGBA, 1, "Color1",                 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_RGBA, 1, "Color2",                 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+static bNodeSocketType sh_node_mix_rgb_out[]= {
+       {       SOCK_RGBA, 0, "Color",                  0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_mix_rgb= {
+       /* type code   */       SH_NODE_MIX_RGB,
+       /* name        */       "Mix",
+       /* width+range */       80, 40, 120,
+       /* class+opts  */       NODE_CLASS_OPERATOR, NODE_OPTIONS,
+       /* input sock  */       sh_node_mix_rgb_in,
+       /* output sock */       sh_node_mix_rgb_out,
+       /* storage     */       "", 
+       /* execfunc    */       node_shader_exec_mix_rgb,
+       
+};
+
+
+/* **************** VALTORGB ******************** */
+static bNodeSocketType sh_node_valtorgb_in[]= {
+       {       SOCK_VALUE, 1, "Fac",                   0.5f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+static bNodeSocketType sh_node_valtorgb_out[]= {
+       {       SOCK_RGBA, 0, "Color",                  0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       SOCK_VALUE, 0, "Alpha",                 1.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_valtorgb= {
+       /* type code   */       SH_NODE_VALTORGB,
+       /* name        */       "ColorRamp",
+       /* width+range */       240, 200, 300,
+       /* class+opts  */       NODE_CLASS_OPERATOR, NODE_OPTIONS,
+       /* input sock  */       sh_node_valtorgb_in,
+       /* output sock */       sh_node_valtorgb_out,
+       /* storage     */       "ColorBand",
+       /* execfunc    */       node_shader_exec_valtorgb,
+       
+};
+
+
+/* **************** RGBTOBW ******************** */
+static bNodeSocketType sh_node_rgbtobw_in[]= {
+       {       SOCK_RGBA, 1, "Color",                  0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+static bNodeSocketType sh_node_rgbtobw_out[]= {
+       {       SOCK_VALUE, 0, "Val",                   0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f},
+       {       -1, 0, ""       }
+};
+
+static bNodeType sh_node_rgbtobw= {
+       /* type code   */       SH_NODE_RGBTOBW,
+       /* name        */       "RGB to BW",
+       /* width+range */       80, 40, 120,
+       /* class+opts  */       NODE_CLASS_OPERATOR, 0,
+       /* input sock  */       sh_node_rgbtobw_in,
+       /* output sock */       sh_node_rgbtobw_out,
+       /* storage     */       "ColorBand",
+       /* execfunc    */       node_shader_exec_rgbtobw,
+       
+};
+
+
+/* ****************** types array for all shaders ****************** */
+
+bNodeType *node_all_shaders[]= {
+       &sh_node_input, 
+       &sh_node_output,
+       &sh_node_material,
+       &sh_node_value,
+       &sh_node_rgb,
+       &sh_node_mix_rgb,
+       &sh_node_valtorgb,
+       &sh_node_rgbtobw,
+       &sh_node_texture,
+       NULL
+};
 
-void node_shader_set_execfunc(bNode *node)
-{
-       switch(node->type) {
-       case SH_NODE_TEST:
-               node->execfunc= node_shader_exec_test;
-               break;
-       case SH_NODE_VALUE:
-               node->execfunc= node_shader_exec_value;
-               break;
-       case SH_NODE_RGB:
-               node->execfunc= node_shader_exec_rgb;
-               break;
-       case SH_NODE_SHOW_RGB:
-               node->execfunc= node_shader_exec_show_rgb;
-               break;
-       case SH_NODE_MIX_RGB:
-               node->execfunc= node_shader_exec_mix_rgb;
-               break;
-       }
-}
 
index 7873340f7d89a5da0a798b18c9134901be1e477a..123298c723a5cfa884a5fcaaeb16bbf88fba2ede 100644 (file)
@@ -199,25 +199,39 @@ void free_plugin_tex(PluginTex *pit)
 
 /* ****************** COLORBAND ******************* */
 
-ColorBand *add_colorband()
+ColorBand *add_colorband(int rangetype)
 {
        ColorBand *coba;
        int a;
        
        coba= MEM_callocN( sizeof(ColorBand), "colorband");
        
-       coba->data[0].r= 0.0;
-       coba->data[0].g= 0.0;
-       coba->data[0].b= 0.0;
-       coba->data[0].a= 0.0;
        coba->data[0].pos= 0.0;
-
-       coba->data[1].r= 0.0;
-       coba->data[1].g= 1.0;
-       coba->data[1].b= 1.0;
-       coba->data[1].a= 1.0;
        coba->data[1].pos= 1.0;
        
+       if(rangetype==0) {
+               coba->data[0].r= 0.0;
+               coba->data[0].g= 0.0;
+               coba->data[0].b= 0.0;
+               coba->data[0].a= 0.0;
+               
+               coba->data[1].r= 0.0;
+               coba->data[1].g= 1.0;
+               coba->data[1].b= 1.0;
+               coba->data[1].a= 1.0;
+       }
+       else {
+               coba->data[0].r= 0.0;
+               coba->data[0].g= 0.0;
+               coba->data[0].b= 0.0;
+               coba->data[0].a= 1.0;
+               
+               coba->data[1].r= 1.0;
+               coba->data[1].g= 1.0;
+               coba->data[1].b= 1.0;
+               coba->data[1].a= 1.0;
+       }
+       
        for(a=2; a<MAXCOLORBAND; a++) {
                coba->data[a].r= 0.5;
                coba->data[a].g= 0.5;
index bf6928b7b2055840183b3ac40ad6d6ebe9448017..295ebc15a6814cd1c9cdb7d96bf4edf4c8cfcef7 100644 (file)
@@ -76,6 +76,7 @@
 #include "DNA_meshdata_types.h"
 #include "DNA_modifier_types.h"
 #include "DNA_nla_types.h"
+#include "DNA_node_types.h"
 #include "DNA_object_types.h"
 #include "DNA_object_force.h"
 #include "DNA_object_fluidsim.h" // NT
@@ -1205,6 +1206,61 @@ static void test_pointer_array(FileData *fd, void **mat)
        }
 }
 
+/* ************ READ NODE TREE *************** */
+
+/* ntree is not NULL */
+static void lib_link_nodetree(FileData *fd, ID *id, bNodeTree *ntree)
+{
+       bNode *node;
+       
+       for(node= ntree->nodes.first; node; node= node->next)
+               node->id= newlibadr_us(fd, id->lib, node->id);
+}
+
+static bNodeTree *direct_link_nodetree(FileData *fd, bNodeTree *ntree)
+{
+       /* note: writing and reading goes in sync, for speed */
+       if(ntree) {
+               ntree= newdataadr(fd, ntree);
+               
+               if(ntree) {
+                       bNode *node;
+                       bNodeSocket *sock;
+                       bNodeLink *link;
+                       
+                       ntree->init= 0;         /* to set callbacks */
+                       ntree->data= NULL;      /* safety only */
+                       
+                       link_list(fd, &ntree->nodes);
+                       for(node= ntree->nodes.first; node; node= node->next) {
+                               node->storage= newdataadr(fd, node->storage);
+                               link_list(fd, &node->inputs);
+                               link_list(fd, &node->outputs);
+                       }
+                       link_list(fd, &ntree->links);
+                       
+                       /* and we connect the rest */
+                       for(node= ntree->nodes.first; node; node= node->next) {
+                               node->preview= NULL;
+                               node->lasty= 0;
+                               for(sock= node->inputs.first; sock; sock= sock->next)
+                                       sock->link= newdataadr(fd, sock->link);
+                       }
+                       for(link= ntree->links.first; link; link= link->next) {
+                               link->fromnode= newdataadr(fd, link->fromnode);
+                               link->tonode= newdataadr(fd, link->tonode);
+                               link->fromsock= newdataadr(fd, link->fromsock);
+                               link->tosock= newdataadr(fd, link->tosock);
+                       }
+                       /* right after read file, the save-undo will need it */
+                       /* verify also does a full type checking. This is relative slow... so we
+                                might move this later to the do_versions, and put ntreeInitTypes() only here */
+                       ntreeVerifyTypes(ntree);
+               }
+       }
+       return ntree;
+}
+
 /* ************ READ PACKEDFILE *************** */
 
 static PackedFile *direct_link_packedfile(FileData *fd, PackedFile *oldpf)
@@ -1993,7 +2049,7 @@ static void lib_link_material(FileData *fd, Main *main)
 
                        ma->ipo= newlibadr_us(fd, ma->id.lib, ma->ipo);
                        ma->group= newlibadr_us(fd, ma->id.lib, ma->group);
-
+                       
                        for(a=0; a<MAX_MTEX; a++) {
                                mtex= ma->mtex[a];
                                if(mtex) {
@@ -2005,7 +2061,10 @@ static void lib_link_material(FileData *fd, Main *main)
                        
                        for (ml=ma->layers.first; ml; ml=ml->next)
                                ml->mat= newlibadr_us(fd, ma->id.lib, ml->mat);
-                               
+                       
+                       if(ma->nodetree)
+                               lib_link_nodetree(fd, &ma->id, ma->nodetree);
+                       
                        ma->id.flag -= LIB_NEEDLINK;
                }
                ma= ma->id.next;
@@ -2026,7 +2085,8 @@ static void direct_link_material(FileData *fd, Material *ma)
        direct_link_scriptlink(fd, &ma->scriptlink);
        
        link_list(fd, &ma->layers);
-
+       
+       ma->nodetree= direct_link_nodetree(fd, ma->nodetree);
 }
 
 /* ************ READ MESH ***************** */
@@ -2994,6 +3054,13 @@ void lib_link_screen_restore(Main *newmain, Scene *curscene)
 
                                        ssound->sound= restore_pointer_by_name(newmain, (ID *)ssound->sound, 1);
                                }
+                               else if(sl->spacetype==SPACE_NODE) {
+                                       SpaceNode *snode= (SpaceNode *)sl;
+                                       
+                                       snode->nodetree= NULL;
+                                       snode->block= NULL;
+                                       snode->flag |= SNODE_DO_PREVIEW;
+                               }
                        }
                        sa= sa->next;
                }
@@ -3088,6 +3155,7 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
                                SpaceNode *snode= (SpaceNode *)sl;
                                snode->nodetree= NULL;
                                snode->block= NULL;
+                               snode->flag |= SNODE_DO_PREVIEW;
                        }
                }
 
@@ -5115,11 +5183,8 @@ static void do_versions(FileData *fd, Library *lib, Main *main)
                                ma->strand_sta= ma->strand_end= 1.0f;
                                ma->mode |= MA_TANGENT_STR;
                        }
-                       /* remove this test before 2.40 too! pad is set to denote check was done */
-                       if(ma->pad==0) {
-                               if(ma->mode & MA_TRACEBLE) ma->mode |= MA_SHADBUF;
-                               ma->pad= 1;
-                       }
+                       if(ma->mode & MA_TRACEBLE) ma->mode |= MA_SHADBUF;
+
                        /* orange stuff, so should be done for 2.40 too */
                        if(ma->layers.first==NULL) {
                                ma->ml_flag= ML_RENDER;
@@ -5379,6 +5444,13 @@ static void expand_material(FileData *fd, Main *mainvar, Material *ma)
                if(ml->mat)
                        expand_doit(fd, mainvar, ml->mat);
        }
+       
+       if(ma->nodetree) {
+               bNode *node;
+               for(node= ma->nodetree->nodes.first; node; node= node->next)
+                       if(node->id)
+                               expand_doit(fd, mainvar, node->id);
+       }
 }
 
 static void expand_lamp(FileData *fd, Main *mainvar, Lamp *la)
index 23d9d04ce3b0592831f01dd7039aada7ef69873b..704215aaa7e762ad0d1588888260aad1f91f88fc 100644 (file)
@@ -124,6 +124,7 @@ Important to know is that 'streaming' has been added to files, for Blender Publi
 #include "DNA_material_types.h"
 #include "DNA_modifier_types.h"
 #include "DNA_nla_types.h"
+#include "DNA_node_types.h"
 #include "DNA_object_types.h"
 #include "DNA_object_force.h"
 #include "DNA_oops_types.h"
@@ -153,6 +154,7 @@ Important to know is that 'streaming' has been added to files, for Blender Publi
 #include "BKE_global.h" // for G
 #include "BKE_library.h" // for  set_listbasepointers
 #include "BKE_main.h" // G.main
+#include "BKE_node.h"
 #include "BKE_packedFile.h" // for packAll
 #include "BKE_screen.h" // for waitcursor
 #include "BKE_scene.h" // for do_seq
@@ -317,7 +319,7 @@ static void writestruct(WriteData *wd, int filecode, char *structname, int nr, v
        BHead bh;
        short *sp;
 
-       if(adr==0 || nr==0) return;
+       if(adr==NULL || nr==0) return;
 
        /* init BHead */
        bh.code= filecode;
@@ -326,7 +328,7 @@ static void writestruct(WriteData *wd, int filecode, char *structname, int nr, v
 
        bh.SDNAnr= dna_findstruct_nr(wd->sdna, structname);
        if(bh.SDNAnr== -1) {
-               printf("error: can't find SDNA code %s\n", structname);
+               printf("error: can't find SDNA code <%s>\n", structname);
                return;
        }
        sp= wd->sdna->structs[bh.SDNAnr];
@@ -360,6 +362,33 @@ static void writedata(WriteData *wd, int filecode, int len, void *adr)     /* do not
        if(len) mywrite(wd, adr, len);
 }
 
+/* this is only direct data */
+static void write_nodetree(WriteData *wd, bNodeTree *ntree)
+{
+       bNode *node;
+       bNodeSocket *sock;
+       bNodeLink *link;
+       
+       writestruct(wd, DATA, "bNodeTree", 1, ntree);
+       
+       /* for link_list() speed, we write per list */
+       
+       for(node= ntree->nodes.first; node; node= node->next)
+               writestruct(wd, DATA, "bNode", 1, node);
+
+       for(node= ntree->nodes.first; node; node= node->next) {
+               if(node->storage) 
+                       writestruct(wd, DATA, node->typeinfo->storagename, 1, node->storage);
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       writestruct(wd, DATA, "bNodeSocket", 1, sock);
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       writestruct(wd, DATA, "bNodeSocket", 1, sock);
+       }
+       
+       for(link= ntree->links.first; link; link= link->next)
+               writestruct(wd, DATA, "bNodeLink", 1, link);
+}
+
 static void write_scriptlink(WriteData *wd, ScriptLink *slink)
 {
        writedata(wd, DATA, sizeof(void *)*slink->totscript, slink->scripts);
@@ -1014,7 +1043,9 @@ static void write_materials(WriteData *wd, ListBase *idbase)
                        
                        for (ml=ma->layers.first; ml; ml=ml->next)
                                writestruct(wd, DATA, "MaterialLayer", 1, ml);
-
+                       
+                       if(ma->nodetree) 
+                               write_nodetree(wd, ma->nodetree);
                }
                ma= ma->id.next;
        }
index 43fa758d3cfa65b2fcfb2346a4da26332ef886f8..b585f91ec3e039022d1a9999a2ba5e9818ab60b2 100644 (file)
@@ -125,7 +125,7 @@ void glaRasterPosSafe2f             (float x, float y, float known_good_x, float known_good
         * to use the glScissor functionality if images are to be drawn
         * with an inset view matrix.
         */
-void glaDrawPixelsSafe         (float x, float y, int img_w, int img_h, void *rect);
+void glaDrawPixelsSafe         (float x, float y, int img_w, int img_h, int format, void *rect);
 
        /**
         * Functions like a limited glDrawPixels, but actually draws the
@@ -135,11 +135,11 @@ void glaDrawPixelsSafe            (float x, float y, int img_w, int img_h, void *rect);
         * pixel unpacking parameters are _not_ respected.
 
         * @attention This routine makes many assumptions: the rect data
-        * is expected to be in RGBA unsigned byte format, and the 
+        * is expected to be in RGBA byte or float format, and the 
         * modelview and projection matrices are assumed to define a 
         * 1-to-1 mapping to screen space.
         */
-void glaDrawPixelsTex          (float x, float y, int img_w, int img_h, void *rect);
+void glaDrawPixelsTex          (float x, float y, int img_w, int img_h, int format, void *rect);
 
        /* 2D Drawing Assistance */
 
index 70a7de4a84c4cd9cfcd43b138977ebbe82795205..9ddab3305c8bd58aafbeacabf8af140774118cb0 100644 (file)
@@ -153,6 +153,7 @@ struct ScrArea;
 #define PULLDOWN (27<<9)
 #define ROUNDBOX (28<<9)
 #define CHARTAB (29<<9)
+#define BUT_COLORBAND (30<<9)
 
 #define BUTTYPE        (31<<9)
 
index 2ec14b53cf22aa85689c32c016b670ebedc2cba5..ba5a119df7ef03582f1788cd4a9d7c3ff108e615 100644 (file)
@@ -47,8 +47,8 @@ void BIF_icons_init(int first_dyn_id);
 int BIF_icon_get_width(int icon_id);
 int BIF_icon_get_height(int icon_id);
 void BIF_icon_set_aspect(int icon_id, float aspect);
-void BIF_icon_draw(int x, int y, int icon_id);
-void BIF_icon_draw_blended(int x, int y, int icon_id, int colorid, int shade);
+void BIF_icon_draw(float x, float y, int icon_id);
+void BIF_icon_draw_blended(float x, float y, int icon_id, int colorid, int shade);
 void BIF_icons_free();
 void BIF_icons_free_drawinfo(void *drawinfo);
 
index cb8041832b5621112647d0bc284a6ab6459df072..b8ed73505f5f2444933a7fee4091b640daca858d 100644 (file)
@@ -35,6 +35,8 @@ struct RenderInfo;
 struct Image;
 struct ScrArea;
 
+#define PREVIEW_RENDERSIZE 140
+
 typedef void (*VectorDrawFunc)(int x, int y, int w, int h, float alpha);
 
 /* stores rendered preview  - is also used for icons */
@@ -45,22 +47,23 @@ typedef struct RenderInfo {
        short cury;
 } RenderInfo;
 
-/* Set the previewrect for drawing */
-void BIF_set_previewrect(int win, int xmin, int ymin, int xmax, int ymax, short pr_rectx, short pr_recty);
-void BIF_end_previewrect(void);
-
-void   BIF_all_preview_changed(void);
-void    BIF_preview_changed            (struct SpaceButs *sbuts);
-void   BIF_previewrender_buts  (struct SpaceButs *sbuts);
 /* Render the preview
- * a) into the ri->rect
- * b) draw it in the area using the block UIMat 
 
- if doDraw is false, the preview is not drawn and the function is not dynamic,
- so no events are processed. Hopefully fast enough for 64x64 rendering or 
- at least 32x32 */
-void   BIF_previewrender               (struct ID* id, struct RenderInfo *ri, struct ScrArea *area, int doDraw);
+pr_method:
+- PR_DRAW_RENDER: preview is rendered and drawn, as indicated by called context (buttons panel)
+- PR_ICON_RENDER: the preview is not drawn and the function is not dynamic,
+  so no events are processed. Hopefully fast enough for at least 32x32 
+- PR_DO_RENDER: preview is rendered, not drawn, but events are processed for afterqueue,
+  in use for node editor now.
+*/
+
+#define PR_DRAW_RENDER 0
+#define PR_ICON_RENDER 1
+#define PR_DO_RENDER   2
+
+void   BIF_previewrender       (struct ID *id, struct RenderInfo *ri, struct ScrArea *area, int pr_method);
+void   BIF_previewrender_buts  (struct SpaceButs *sbuts);
 void   BIF_previewdraw         (void);
-void   BIF_previewdraw_render(struct RenderInfo* ri, struct ScrArea* area);
+void    BIF_preview_changed(short id_code);
+
 
-void   BIF_calcpreview_image(struct Image* img, struct RenderInfo* ri, unsigned int w, unsigned int h);        
index 933c619f11f7a101395b6b5e3b56a66c36fbd5c2..3e366710992709014b14965eb185f792fba963e5 100644 (file)
@@ -182,8 +182,8 @@ typedef enum {
        ICON_CHECKBOX_HLT,
        ICON_LINK,
        ICON_INLINK,
-       ICON_BEVELBUT_HLT,
-       ICON_BEVELBUT_DEHLT,
+       ICON_BLANK12,
+       ICON_BLANK13,
        ICON_PASTEDOWN,
        ICON_COPYDOWN,
        ICON_CONSTANT,
@@ -456,7 +456,13 @@ enum {
        TH_STRIP,
        TH_STRIP_SELECT,
        
-       TH_LAMP
+       TH_LAMP,
+       
+       TH_NODE,
+       TH_NODE_IN_OUT,
+       TH_NODE_OPERATOR,
+       TH_NODE_GENERATOR,
+       TH_NODE_FREE,
        
 };
 /* XXX WARNING: previous is saved in file, so do not change order! */
index 0cb8018c0d0980161b09a57fcd6a0c49f8b848d2..458887c91d1cb50ac3e9ad7d3fa8a982da723721 100644 (file)
 #ifndef BSE_NODE_H
 #define BSE_NODE_H
 
+/* ********** drawing sizes *********** */
 #define NODE_DY                20
 #define NODE_DYS       10
-#define NODE_SOCK      5
+#define NODE_SOCKSIZE  5
+#define BASIS_RAD      8.0f
+#define HIDDEN_RAD     15.0f
+
 
 struct SpaceNode;
 struct bNode;
-
-/* ************* button events *********** */
-
-#define B_NODE_EXEC            1
+struct Material;
 
 
 /* ************* API for editnode.c *********** */
+void snode_tag_dirty(struct SpaceNode *snode);
+
+void snode_set_context(struct SpaceNode *snode);
 
 void node_deselectall(struct SpaceNode *snode, int swap);
 void node_transform_ext(int mode, int unused);
+void node_shader_default(struct Material *ma);
 
-/* ************* Shader nodes ***************** */
+/* ************* drawnode.c *************** */
+void node_draw_link(struct SpaceNode *snode, struct bNodeLink *link);
+
+void init_node_butfuncs(void);
 
-void node_shader_set_drawfunc(struct bNode *node);
+/* ************* Shader nodes ***************** */
 
+struct bNode *node_add_shadernode(struct SpaceNode *snode, int type, float locx, float locy);
 
 #endif
 
index 5963d5e3e14bf813ad0cf59d5f3e564f2ab6c714..e0061dc3403b99f881b56688f497d5160cd60b0e 100644 (file)
 #define B_NLAHOME              801
 
 /* NODE: 851-900 */
-#define B_NODEHOME             851
+#define B_NODEHOME                     851
+#define B_NODE_USEMAT          852
 
 /* FREE 901 - 999 */
 
index 713f9abf4880f7760ee17e53d69bf07fdc547ceb..7dae5af58e3ce96f21734307ca9e32925837ad15 100644 (file)
@@ -37,7 +37,9 @@
 struct Base;
 struct Object;
 struct ID;
-
+struct ColorBand;
+struct uiBlock;
+struct rctf;
 
 /* buts->scaflag */            
 #define BUTS_SENS_SEL          1
@@ -87,6 +89,7 @@ extern void do_armbuts(unsigned short event);
 extern char *get_vertexgroup_menustr(struct Object *ob);       // used in object buttons
 
 /* shading */
+extern void draw_colorband_buts_small(struct uiBlock *block, struct ColorBand *coba, rctf *rct, int event);
 extern void material_panels(void);
 extern void do_matbuts(unsigned short event);
 extern void lamp_panels(void);
@@ -122,6 +125,7 @@ void test_matpoin_but(char *name, struct ID **idpp);
 void test_scriptpoin_but(char *name, struct ID **idpp);
 void test_actionpoin_but(char *name, ID **idpp);
 void test_grouppoin_but(char *name, ID **idpp);
+void test_texpoin_but(char *name, ID **idpp);
 
 void test_idbutton_cb(void *namev, void *arg2_unused);
 
@@ -169,20 +173,25 @@ void test_idbutton_cb(void *namev, void *arg2_unused);
 #define B_ACTCOL               1204
 #define B_MATFROM              1205
 #define B_MATPRV               1206
-#define B_MTEXCOL              1207
-#define B_TEXCLEAR             1208
-#define B_MATPRV_DRAW  1209
-#define B_MTEXPASTE            1210
-#define B_MTEXCOPY             1211
-#define B_MATLAY               1212
-#define B_MATHALO              1213
-#define B_MATZTRANSP   1214
-#define B_MATRAYTRANSP 1215
-#define B_MATCOLORBAND 1216
-/* yafray: material preset menu event */
-#define B_MAT_YF_PRESET        1217
-
-#define B_MAT_LAYERBROWSE      1218
+#define B_LAMPPRV              1207
+#define B_WORLDPRV             1208
+#define B_TEXPRV               1209
+#define B_MTEXCOL              1210
+#define B_TEXCLEAR             1211
+#define B_MTEXPASTE            1212
+#define B_MTEXCOPY             1213
+#define B_MATLAY               1214
+#define B_MATHALO              1215
+#define B_MATZTRANSP   1216
+#define B_MATRAYTRANSP 1217
+#define B_MATCOLORBAND 1218
+               /* yafray: material preset menu event */
+#define B_MAT_YF_PRESET        1219
+
+#define B_MAT_LAYERBROWSE      1220
+#define B_MAT_USENODES 1221
+               /* also handled in editnode.c */
+#define B_NODE_EXEC            1222
 
 /* *********************** */
 #define B_TEXBUTS              1400
@@ -207,7 +216,6 @@ void test_idbutton_cb(void *namev, void *arg2_unused);
 #define B_REDRAWCBAND  1318
 #define B_BANDCOL              1319
 #define B_LOADTEXIMA1  1320
-#define B_TEXPRV               1321
 
 #define B_PLUGBUT              1325
 /* B_PLUGBUT reserves 24 buttons at least! */
index 1c26a714c517c7b163fa0efb6a3d811a5a3025d7..526f24e704ecfe49058b8ebf0c321f08e951ed37 100644 (file)
@@ -223,6 +223,8 @@ extern void gl_round_box_shade(int mode, float minx, float miny, float maxx, flo
 extern void ui_set_embossfunc(uiBut *but, int drawtype);
 extern void ui_draw_but(uiBut *but);
 extern void ui_rasterpos_safe(float x, float y, float aspect);
+extern void ui_draw_tria_icon(float x, float y, float aspect, char dir);
+extern void ui_draw_anti_x(float x1, float y1, float x2, float y2);
 
 
 #endif
index 79d73ff2b996cfdbb3587e11f10f119a0c6975f6..6d8527d5896bce153fdef9041c789de10085b3fb 100644 (file)
@@ -47,6 +47,7 @@ struct Ipo;
 struct Material;
 struct ColorBand;
 struct Group;
+struct bNodeTree;
 
 typedef struct MaterialLayer {
        struct MaterialLayer *next, *prev;
@@ -88,7 +89,7 @@ typedef struct Material {
        float sbias;                    /* shadow bias */
        
        /* for buttons and render*/
-       char rgbsel, texact, pr_type, pad;
+       char rgbsel, texact, pr_type, use_nodes;
        short pr_back, pr_lamp, septex, ml_flag;        /* ml_flag is for disable base material */
        
        /* shaders */
@@ -109,8 +110,9 @@ typedef struct Material {
 
        struct MTex *mtex[10];
        ListBase layers;
+       struct bNodeTree *nodetree;     
        struct Ipo *ipo;
-       struct Group *group;
+       struct Group *group;    /* light group */
        
        /* dynamic properties */
        float friction, fh, reflect;
index db118d706b36929db864a54618178d9b7daa8078..3c350e5c559f0cf773eb486dfd21e9890c97fb71 100644 (file)
 struct ID;
 struct SpaceNode;
 struct bNodeLink;
+struct bNodeType;
 
 #define NODE_MAXSTR 32
 
+
+typedef struct bNodeStack {
+       float vec[4];
+       float min, max;                 /* min/max for values (UI writes it, execute might use it) */
+       void *data;
+       short hasinput, pad;    /* hasinput tagged for executing */
+       int pad1;
+} bNodeStack;
+
 typedef struct bNodeSocket {
        struct bNodeSocket *next, *prev;
        
        char name[32];
+       bNodeStack ns;                          /* custom data for inputs, only UI writes in this */
        short type, flag, limit, stack_index;
        float locx, locy;
        
-       struct bNodeLink *link;         /* input link to parent, max one! */
+       struct bNodeLink *link;         /* input link to parent, max one! set in nodeSolveOrder() */
        
 } bNodeSocket;
 
@@ -57,11 +68,13 @@ typedef struct bNodeSocket {
 #define SOCK_IMAGE             3
 
 /* sock->flag, first bit is select */
+#
+#
+typedef struct bNodePreview {
+       float *rect;
+       char xsize, ysize;
+} bNodePreview;
 
-typedef struct bNodeStack {
-       float vec[4];
-       void *data;
-} bNodeStack;
 
 /* limit data in bNode to what we want to see saved? */
 typedef struct bNode {
@@ -69,23 +82,32 @@ typedef struct bNode {
        
        char name[32];
        short type, flag, done, level;
+       short lasty, pad, pad1, pad2;
        
        ListBase inputs, outputs;
-       struct ID *id;          /* optional link to libdata */
-       bNodeStack      ns;             /* builtin data, for UI to write into */
+       struct ID *id;                  /* optional link to libdata */
+       void *storage;                  /* custom data, must be struct, for storage in file */
        
-       float locx, locy;       /* root offset for drawing */
-       float width, prv_h;     
-       rctf tot;                       /* entire boundbox */
-       rctf prv;                       /* optional preview area */
+       float locx, locy;               /* root offset for drawing */
+       float width;                    
+       short custom1, custom2; /* to be abused for buttons */
+       rctf totr;                              /* entire boundbox */
+       rctf butr;                              /* optional buttons area */
+       rctf prvr;                              /* optional preview area */
+       bNodePreview *preview;  /* optional preview image */
        
-       void (*drawfunc)(struct SpaceNode *, struct bNode *);
-       void (*execfunc)(struct bNode *, struct bNodeStack **);
+       struct bNodeType *typeinfo;     /* lookup of callbacks and defaults */
        
 } bNode;
 
 /* node->flag */
-#define NODE_SELECT            1
+#define NODE_SELECT                    1
+#define NODE_OPTIONS           2
+#define NODE_PREVIEW           4
+#define NODE_HIDDEN                    8
+#define NODE_ACTIVE                    16
+#define NODE_ACTIVE_ID         32
+#define NODE_DO_OUTPUT         64
 
 typedef struct bNodeLink {
        struct bNodeLink *next, *prev;
@@ -99,10 +121,11 @@ typedef struct bNodeLink {
 typedef struct bNodeTree {
        ListBase nodes, links;
        
-       ListBase inputs, outputs;       /* default inputs and outputs, for solving tree */
-       bNodeStack *stack;
+       void *data;                                     /* custom data, set by execute caller, no read/write handling */
+       bNodeStack *stack;                      /* stack is only while executing */
        
-       int type, init;
+       int type, init;                         /* set init on fileread */
+       struct bNodeType **alltypes;            /* type definitions, set on fileread */
        
 } bNodeTree;
 
@@ -111,9 +134,8 @@ typedef struct bNodeTree {
 #define NTREE_COMPOSIT 1
 
 /* ntree->init, flag */
-#define NTREE_EXEC_SET 1
-#define NTREE_DRAW_SET 2
-
+#define NTREE_TYPE_INIT        1
+#define NTREE_EXEC_INIT        2
 
 #endif
 
index 4ae9445dca12232167aa8fee39ba90180557edc5..902e0805aaa63d8d4bc8d20358461bb03340dd9d 100644 (file)
@@ -300,17 +300,19 @@ typedef struct SpaceNode {
        
        View2D v2d;
        
-       struct ID *from;
-       int flag;
+       struct ID *id, *from;           /* context, no need to save in file? well... pinning... */
+       short flag, menunr;                     /* menunr: browse id block in header */
        float aspect;
        void *curfont;
        struct uiBlock *block;
        
        struct bNodeTree *nodetree;
+       int treetype, pad;                      /* treetype: same nodetree->type */
        
 } SpaceNode;
 
-
+/* snode->flag */
+#define SNODE_DO_PREVIEW       1
 
 #
 #
index f1441e7b720207a3a70cfcfd98bf0ec0df69ee7e..f5cc2ce4810f9aa2d3aa97f88c01e420b1d5dcc7 100644 (file)
@@ -85,7 +85,7 @@ typedef struct ThemeSpace {
        char edge[4], edge_select[4];
        char edge_seam[4], edge_facesel[4];
        char face[4], face_select[4];   // solid faces
-       char face_dot[4];       // selected color
+       char face_dot[4];                               // selected color
        char normal[4];
        char bone_solid[4], bone_pose[4];
        char strip[4], strip_select[4];
@@ -93,8 +93,8 @@ typedef struct ThemeSpace {
        char vertex_size, facedot_size;
        char bpad[2];
 
-       char syntaxl[4], syntaxn[4], syntaxb[4]; //syn-
-       char syntaxv[4], syntaxc[4];             //tax
+       char syntaxl[4], syntaxn[4], syntaxb[4]; // syntax for textwindow and nodes
+       char syntaxv[4], syntaxc[4];             
        
 } ThemeSpace;
 
@@ -119,6 +119,7 @@ typedef struct bTheme {
        ThemeSpace text;
        ThemeSpace toops;
        ThemeSpace ttime;
+       ThemeSpace tnode;
        
 } bTheme;
 
index 5f8ceb45b15037c608bf2ee0966b71cb8eb6646c..c0eced8ad3a393f81b5ee478f462dd54dd16ba0d 100644 (file)
@@ -190,6 +190,7 @@ void do_specular_ramp(ShadeInput *shi, float is, float t, float *spec);
 void ramp_spec_result(float *specr, float *specg, float *specb, ShadeInput *shi);
 
 void matlayer_blend(struct MaterialLayer *ml, float blendfac, struct ShadeResult *target, struct ShadeResult *src);
+void ramp_blend(int type, float *r, float *g, float *b, float fac, float *col);
 
 /* --------------------------------------------------------------------- */
 /* ray.c (2)                                                        */
index dc2f5616f29cf7fb8dea18613dcd8f39375f39df..ed3a54975ceb4a0d61b154bd7b6adfcd0d6ae4f6 100644 (file)
@@ -102,7 +102,8 @@ typedef struct ShadeInput
        float dxrefract[3], dyrefract[3];
        float dxstrand, dystrand;
        
-       float xs, ys;   /* pixel to be rendered */
+       int xs, ys;             /* pixel to be rendered */
+       short do_preview, pr_type;      /* for nodes, in previewrender */
        short osatex, puno;
        int mask;
        int depth;
index 30973b0891b93b333f986a1a27cf0e8c866694e4..a91219846de267c28ea44288bcce79e8de17e455 100644 (file)
@@ -2071,7 +2071,7 @@ void ray_ao(ShadeInput *shi, World *wrld, float *shadfac)
                nrm= shi->facenor;
        }
        
-       vec= sphere_sampler(wrld->aomode, wrld->aosamp, floor(shi->xs+0.5), floor(shi->ys+0.5) );
+       vec= sphere_sampler(wrld->aomode, wrld->aosamp, shi->xs, shi->ys);
        
        // warning: since we use full sphere now, and dotproduct is below, we do twice as much
        tot= 2*wrld->aosamp*wrld->aosamp;
@@ -2202,7 +2202,7 @@ void ray_shadow(ShadeInput *shi, LampRen *lar, float *shadfac)
                else shadfac[3]= 1.0;                                                   // 1.0=full light
                
                fac= 0.0;
-               jitlamp= give_jitter_plane(lar, floor(shi->xs+0.5), floor(shi->ys+0.5));
+               jitlamp= give_jitter_plane(lar, shi->xs, shi->ys);
 
                a= lar->ray_totsamp;
                
index 890a0b26674ccd925d8bedea9a4d819cd19a0ab0..acac0d48e2ccac8724c019472be772adc07f4b44 100644 (file)
@@ -2198,7 +2198,7 @@ void shade_input_set_coords(ShadeInput *shi, float u, float v, int i1, int i2, i
                }
                if(texco & TEXCO_REFL) {
                        /* mirror reflection colour textures (and envmap) */
-                       calc_R_ref(shi);
+                       calc_R_ref(shi);        /* wrong location for normal maps! XXXXXXXXXXXXXX */
                }
                if(texco & TEXCO_STRESS) {
                        float *s1, *s2, *s3;
@@ -2279,9 +2279,10 @@ void *shadepixel(float x, float y, int z, int facenr, int mask, float *col, floa
                return NULL;
        }
        /* currently in use for dithering (soft shadow) and detecting thread */
-       shi.xs= x;
-       shi.ys= y;
-       
+       shi.xs= (int)(x+0.5f);
+       shi.ys= (int)(y+0.5f);
+       shi.do_preview= 0;
+
        /* mask is used to indicate amount of samples (ray shad/mir and AO) */
        shi.mask= mask;
        shi.depth= 0;   // means first hit, not raytracing
index f792a07e3075a9f4e09c1766a8052fd9de5cf21c..9b38a65a4b9f695e74e0d66e4170e9fff434c97b 100644 (file)
@@ -2352,7 +2352,7 @@ void render_realtime_texture(ShadeInput *shi)
                tex2.type= TEX_IMAGE;
        }
        
-       if(((int)(shi->ys+0.5)) & 1) tex= &tex1; else tex= &tex2;       // threadsafe
+       if(shi->ys & 1) tex= &tex1; else tex= &tex2;    // threadsafe
        
        ima = shi->vlr->tface->tpage;
        if(ima) {
index e8a31711523d6793fa8373e7e430298656500c27..0ac27df840c95a4197eede6eaede32e43fa73fe5 100644 (file)
 /* DataToC output of file <blenderbuttons> */
 
-int datatoc_blenderbuttons_size= 49463;
+int datatoc_blenderbuttons_size= 49081;
 char datatoc_blenderbuttons[]= {
-137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  2,  0,  0,  0,  1,
-  0,  8,  2,  0,  0,  0, 74,242, 89, 48,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,
-  0,  0,  4,103, 65, 77, 65,  0,  0,192,153,201, 12,156,227,  0,  0,  0, 32, 99, 72, 82, 77,  0,  0,110, 39,  0,  0,115,175,  0,
-  0,246,112,  0,  0,129,232,  0,  0,107,215,  0,  0,226,170,  0,  0, 48,131,  0,  0, 21, 42,251,118,133,113,  0,  0,192,173, 73,
- 68, 65, 84,120,218, 98,244,137,169,101, 24,  5,163, 96, 20,140,130, 81, 48,242,  0, 64,  0, 49,141,  6,193, 40, 24,  5,163, 96,
- 20,140, 76,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0,
- 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64, 44,112,
-150,175,173, 12,241,218, 54, 31,126,130,204, 29,213, 59,  8,245,162,105,167,186,189,  7, 14, 28,112,112,112, 24, 13,231, 81,189,
-163,122,  7,185, 94, 60,  0, 32,128, 88,134, 71, 61,150,158,158, 14,103,207,156, 57,115, 64,108,159, 49, 99,  6, 35, 35,227,176,
-111, 50,192,131, 58, 50, 50,114,205,154, 53, 16,118, 72, 72,200,104, 99,106,248, 69, 52,253,179,210, 40,160, 51,  0,  8, 32, 22,
- 90,164,128,219,183,111,247,244,244, 64,216, 37, 37, 37,170,170,170,116,240,201,255,255,255,129, 36,253,139, 96, 96, 40, 61,120,
-240,  0,200, 80, 80, 80, 24,144,234,  7,107, 45,136,213, 37,192, 54, 59,126, 19,150, 47, 95,142,223,253, 64, 43, 86,173, 90,  5,
- 97,175, 95,191,222,213,213, 21,194,  6,214,  4,180,171,  3,140,141,141,129,228,217,179,103,201,144, 29,153,224,222,189,123,157,
-157,157,112,110,121,121,185,146,146,210, 32,175, 54,  6,208,205, 35, 25,  0,  4, 16, 11,158, 66, 28, 66,146, 90,124, 67,138,161,
-198, 85, 45, 60,178,252, 95, 30,127,172, 15,171, 25,216, 98,145,214,  0,232, 53, 96,209,255,  0, 12,118,236,216, 65,255,118, 19,
- 36,192,103,130,  1,144,221,213,213,  5,228,150,149,149, 97, 85, 28, 24, 24,  8, 97,252,249,243,247,215,239,159,191,126,254,130,
-128, 63,127,254,224,210,130,181,244, 71,  3,192,154,128,166,117,  0,158,218, 11, 82,  1,140,  2, 92,237,  0, 32,128, 20,172,116,
- 72,150, 16,171,201,200,  2,  3,232,230, 17, 14,  0,  2,  8,103,  5,  0,108,194,175,170,173, 10,107,110, 35, 41, 14,128, 17,  9,
- 41,250,129,236, 55,223,222, 50,  8, 51, 84,238,109,248,116,239,125,122, 42,253,138, 69,204,196, 68,107,171,225,117,128,135,135,
-  7,144,  4,178,233,233,217,253,251,247,  3, 25,142,142,142,104,117,  0, 30,  0, 44,238,127,253,250,253,235, 23, 74,233,127,230,
-204, 25, 19, 19, 19,130, 54,134,133,133, 65, 24,145,145,145,187,119,239,134, 87,  0,100, 68, 16,145,161,  4,108,221,  3, 75,127,
- 55, 55, 55,100,193, 93,187,118,  1,251, 43, 16, 54,214,169,136, 17, 94,250, 35,135, 45, 25,229, 50,217, 90,200,232,  7, 80,203,
-205,163,128, 12,  0, 16, 64, 44,184,154,255,106,106,106,170, 60,124, 36,117,  2,224,165, 63,176,232,111,119,110,128,  8, 38,110,
-204, 98, 16, 99,  8,236, 10, 35, 24,151,152,  5, 55,121,101,247,227,199,143,129,164,172,172, 44,156,  1, 49,153,186,135, 94,160,
-121,  7, 94,  7,252,254,253,103,198,140, 25,148, 55,130,136,209,142, 86,250,195, 53, 98, 13, 73,148,210,255, 55,176,244,255,249,
- 19, 92,  9,192, 75,255,255,255,254, 19, 83,250,  3, 85, 66,216,189,189,189,240, 38, 63,124, 50,128,120, 55,163, 57,155,120,  0,
- 47,250,129, 53,144,161,161,225,104, 30, 70, 30, 69,193,154,120,224, 73,  2,168,128,224,184, 10,188, 67,  9, 73,195,112, 46, 49,
-205, 32,204,162,156, 96, 70, 64,115, 51,176, 73,193,200,200,232,226,226, 66,146,155, 33, 32, 57, 57,121,238,220,185,163,201,128,
- 36,  0, 16, 64, 76,184,154,255, 45,225, 33, 63, 94,191, 46,209,214,128,143,230,227,  7,144, 33, 35,120,233, 95, 82, 82,  2,140,
- 66, 32, 57,223,127, 26, 80, 92, 64, 93,  4,174,  6, 15, 40,155,122, 11,136,178,123,174,199, 55, 95,  9,170,188, 64,170,103,158,
- 60,121,130,167, 74,160,110,233, 15, 44,235, 49,139,108, 96, 29,  0, 44, 82,205,205,204, 72, 53, 13, 50,186,  2,  4,251, 97,  0,
-127, 33, 14, 47, 73, 29,193,  0, 51,195,227, 46,253,255,130,138,253,159,160,193, 31,228,210,255,239,223,191, 95,191,127, 37,232,
- 84, 72, 47,  1,185,163,176,  6, 12,136, 28,252,  1,185, 25,105, 36,  7,200, 38,232, 77,172,165, 63,176,232,  7,246,114, 32,165,
- 63, 43, 11,235,104, 54, 38, 56,108,  2, 17, 68, 30,100,199, 95,148,147,215,  2,131, 40, 70, 46,253,113, 53,236,176,186, 25, 88,
-250,  3,211,210,234,213,171,247,236,217, 67,170,155,129,165, 63, 11, 11, 11,144, 28, 77,  6, 36,  1,128,  0, 98,194,211,252,255,
-246,226,185,167,161, 17, 49,  5, 55,164,206,  0, 54,255,129, 12, 72,233, 15,233, 52,  0, 73, 72, 29,240,228,211, 51,163, 50, 11,
-130,117,201,215,239,192, 98,232,239,243,183, 63,159,190,254,241,248,229, 15, 34,139, 78, 72, 10,195, 85,250,211, 14, 96,214,  1,
- 64,240,227,215,207, 31, 63,126, 16,111,  8,164, 28,135,140,173,139,138,138,194,155,198,248,115, 14,114, 59, 26,179,227,140, 39,
-223,130,198,253,129,197, 63,184,241, 15, 47,253,127,255,254,253,245,235,215,207,159, 62,211,122,116, 98,213,170,213, 48, 30, 35,
- 24, 50,  0, 69,136,175,  3,224,165, 63,164,232,103, 98, 98,226,224,224,224,230,225, 26,205,198, 52,234,215, 18,217,167,196, 90,
-121,160,141,  8, 17,163, 23,222,143,  4,214,  1, 36, 57, 27, 82,250,131,  6, 52, 70,235,  0, 18,  1, 64,  0,118,205, 94,  7, 65,
- 24,136,227, 36,208,224,238, 32,239, 64,124,156,250,  8,142, 60, 15,137,  3, 59, 60,150,176, 16,135,106, 75, 33, 90,130,  7, 37,
- 23, 98,180,158,137, 35, 55, 53, 13,133,210,143,223,221,253,219,224, 45,202, 79,199,121, 16,155,242,108,147,  0, 74, 32, 96,195,
-127,203,125,172,196,242,118, 31,125,125,131,106,123,169,205,173, 49, 87,101,132, 52,148, 31,120,185,252,131,193, 62, 22, 32,133,
- 20, 66,252,119,212,210, 52,197,131, 95, 84,252, 97,149, 67,125,215,182,116,  7,  0, 77,178, 44, 43,171,138,249,254, 46,138,144,
-254, 73,146,196,113,236,216, 54,240, 69,120, 12,125,192, 50, 47,113,159, 64,220, 39,254, 63, 70,250,247,150,254,224, 13,180,214,
- 74, 41, 41, 73, 14,  0, 37, 32,107,244,216, 63, 47,114,111,240, 46,117, 61,206,154,157,179, 97, 24,125, 64, 81, 28, 56,167, 44,
-176, 37,253, 25, 99, 97, 24,110, 38, 35,246,124, 53,138,  2,249,  9,220,116, 45,200,161,  8,185,141,115,110,209,255,211,109,  2,
-164,255, 76,180, 32,128,200,102,213,130,136,246, 20, 64, 76, 88, 71,114, 76,148, 85,127,188,126, 13, 44,253,129,108, 59,112,179,
-148,152, 78,192,189, 43,119,144, 13, 65, 99,191,189,252,130,160,  9,164,150,254,240,162, 31, 88, 13,200,202,202,194,  5,127,195,
-  0,176,232,  7,182,109,223,189,123, 71,221, 80,131, 88,186, 99,199, 14,120, 63,  0, 82,250,235,233,233,253,  0,214,  0,223,191,
-195,107, 38,252, 89,110,234,180,169, 64, 71,202, 72, 75,255,254,251, 23,173,244, 39,152,109, 32,117,  0,114,131, 11,178, 26, 21,
-107,191,  4,165,  2,248,245, 27, 82,250,159, 62,117,250,219,247,239,192,210,243,227,199,143,192,128,122,255,254, 61,241, 33,  0,
- 25,  5, 34,126,232, 31,148,  0,222,188,125,251,246,205,155,183,239, 64, 52,152,  9, 20,212,208,212,124,  7,102, 16,211,252,  7,
-146,192,210, 31,218,240,231,230,230,225,225,229,229,225,  5, 50, 70,179, 49,174,210,156,248,  6, 56,100,  5,  1,156,129,139, 77,
-146,237,104, 35, 66,  4,117,185,184,184,  0,235,  0, 96,233,239,234,234, 74,124,159,  3, 88,214,  3, 75,124, 56,119,180,244, 39,
-  9,  0,  4, 16, 19,102,243,127, 85,109, 21,144,241,237,197,115,184, 32, 49, 51,  1, 37, 37, 37, 83, 83, 39, 50,128,103,125,129,
-138,225,171, 72,129,108,215,197,  1, 64,246,185,174, 19, 64, 53,212,117, 61, 60,109, 61,121,242,  4,210,228,135,148,251,208,238,
-203,215,175,192,210, 13,216, 30,231,226,162,254, 40,  1,208,234,140,140, 12,144,141,127,254, 92,187,118,237,252,185,115,250,122,
-250, 63,126,128, 59,  0,223,191, 47, 89,188, 24, 34,139, 39,185,247,246,246,106,105,106,  1, 93, 11, 12,165, 63,191,127, 61,125,
-242,148,108,239, 51,192,102, 32, 24,192,219, 17,240,245,  0,126,255,252,243, 23, 52,242,115,242,228,137,175,223,191,126,249,252,
-  9, 88,250,191,  7,149,254,239, 72,170, 38, 33,253,  0,146, 90,106,135, 14, 29,250, 12,  2,159,192,228,103, 17, 97, 97, 96,233,
-127,227,250,245,131,135, 14, 17,163, 29,210,252,103, 97, 97,  5,198, 38, 15,176,236,  7, 98, 30, 46, 78, 46,206, 23, 47, 94,140,
-102, 99,  8, 40, 47, 47,135,151,191,240,201, 85,  8,  3, 34,  8, 81, 64,100,179, 29,255,184, 16,254,210,159,248,182, 63,154,155,
-129,117,  0,176,244, 39,201,205,200,117,192,104,233, 79, 42,  0,  8, 32, 44, 67, 64,194,247, 31,188,  3, 15,254,192, 69,128,157,
-128, 30,134, 27,248, 13,130, 12,245,220, 56,123, 77, 64, 93,  4, 88,226,247,196, 66, 43, 12, 72,233, 15,105,254, 19, 92, 77,180,
-174,221,128,188,246,248,245,235,215, 33, 41,  0,121, 52,128, 21, 12, 94,191,126,237,229,229, 69,139,176,131,148,185,192,134,191,
-153,153,217,143,159, 63,191,255,248, 14,110,253,127,  7, 49,126,252,152, 50,101, 10,174,156,  3, 89,169,249,247,239,223,179,103,
-207,177,178, 48, 67, 66,230,254,131,  7, 79,159, 62, 93,190,124, 69,100,100,  4, 80,  4,222, 15,192,154,193,224,131, 78,104, 45,
- 56,130, 43, 80, 33,109,255,227,199,143,127,253,242, 13, 82, 65,126,250,252,233,211,167,143,159, 62,125, 33,126, 32,  5,210,252,
-135,239,  4, 38,166, 26,  0, 42,134,179, 21, 21, 20,128, 69, 63, 40,181, 92,191,126, 31,220,107, 65,150,197,  3, 44,173, 44,217,
-217,216, 57, 57, 57,129, 61,  0,118,118,118, 96,228, 82,125,122,127, 72,  3,228,213, 50,240,197, 51,240,154,  0, 77,  1,254, 66,
- 28,235, 80, 62, 73, 61, 15, 34,171, 13,106,185, 25, 82,  7,140,150,254,164,  2,128,  0, 98,193, 28,255,113, 94,178, 12,171, 82,
-130,235, 65, 33,205,  7,163, 50, 11, 97, 93,  9, 72,185, 15, 31,252,  1, 54,255,  9,166,  6,242, 22,252, 66, 44,213,212,212,188,
-124,249, 50,188,  8,195, 28,244,  7, 42, 35,254,124, 12, 82,109, 71, 22, 89,178,120,  9,176,244,135,236,176,194,186, 30, 31,121,
-157,254,191,127,127,245,244,141, 46, 94,188,116,253,218, 53, 22, 86, 86, 96,201,248,228,233, 19, 96, 83,151,153,153, 57, 44, 44,
- 12, 88,  7, 48, 48,240, 99,154,  0,212, 14,201, 93, 16,219,209,246,  1,224,119, 48,176,244, 63,122,244,232, 23, 32,  0,205,250,
-126,  2,151,254, 64,226,243,151,207, 95,190,126,251, 70,208,179,192,162,255, 12, 24, 48, 96, 44,  3,197, 95, 13, 56, 56, 56, 32,
-  7, 20,164,220, 63,127,254, 60,  3, 17,219,143,141,193,  0,200,224,225,226,225,  0, 21,254, 28,108,108,108, 76, 76, 76,163,165,
- 63,250, 24, 44, 82,185,185,122,245,106, 96,107,154,  1,117, 66,149,152, 37,149,200,109, 11, 82, 87, 51,147, 49,238, 79, 21, 55,
-195,235,128,209, 52, 64, 42,  0,  8, 32, 22,180, 86, 60,133,219, 46,224, 41,  0, 82, 13, 64,138,126,  6, 26,111,197,130, 88,170,
-171,171,123,250,244,105, 96,123, 31, 81,241,188,  5,205, 72,199,198,198,210, 52,  4,145,189,246,255,255,255,152,216,152, 41, 83,
-166,130,199,217,255,240,243,243, 19,172,231,110,221,186,  5,108,209, 66,244,  2,217,104,202,238,225,168,180,144,235,  0,200,108,
- 48,100, 73, 40,254,112,134, 44,159,183,182,182,166,196,179,240, 53,160,164,158,  5,  4,212,123,224,192,129,229, 96,128,220, 51,
- 32, 50,109,  0,171,144,223,127,126,255,254,252,123,116,202, 23, 23, 32,184, 98, 18,168,128,200,208,134,239,  3, 32, 47, 51, 18,
-175,145,138,110, 30,  5,100,  0,128,  0,162,254, 97,112,192,216,  2, 13,253,119,209,245, 44, 32, 72,178, 51, 53, 53,221,182,109,
- 27,164,220,167,188,111, 65,222, 96, 20,124, 47, 46,214,210,159, 42,  0,243,204,  6,200,178, 81,130, 77, 54,170,132,  3,220, 16,
- 96,105, 78,234,217, 15, 14, 96, 64,170,141,163,231,252,144,209, 22,161,127,226, 39,207,198, 65,226,230, 17, 11,  0,  2,136, 38,
-167,129, 82,222,147, 32,187, 14,160,209,112, 63,237, 50,  0,229,134,143,230,150, 81, 48,228,146,241, 40, 24, 36,  0, 32,128, 24,
-169,123, 64,194, 40, 24,  5,163, 96, 20,140,130,161,  2,  0,  2,104,244, 70,176, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70,
- 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48,
- 10, 70,193, 40, 24,161,  0, 32,128, 70, 47,133, 31,213, 59,170,151,230,122,113, 45,207,165,181,222,209, 56, 26,213,139, 31,  0,
-  4,208,104, 15, 96, 20,140,  2,218,  2,200,233,246, 16,146, 84, 64,204,145,250,163,  0, 43,184,121,243,230,104, 32, 16,  4,  0,
-  1, 52, 90,  1, 12, 36,184,118,237, 90, 58, 18,  0,114,  7,191,222, 81, 64, 18,184,119,239, 30,228, 96,  3, 32,137,124,236,  1,
-241,165, 63,228, 88, 89,178,207,228,193, 37, 66, 69,189,240, 59, 57,200,  3,180,168,222,128,165,127,127,127,255,104,242, 35,  8,
-  0,  2,136,101,248,121,233,240,225,195,182,182,182,131,223,157,144,116,223,219,219, 11, 23, 41, 46, 46,102, 32,250, 50, 72, 32,
-249,111,165, 32,162, 38, 15,159, 72,  7,189,163,128, 84,128,124,212,  1, 73,167, 26, 32,151,254, 64,146,145,145,145,248, 35, 22,
- 40,217, 45, 72,134, 94,200, 57,254,120,156,  7,236,253, 64, 14,249,193,227, 89, 76,189,  4,117,225, 47,253,255,253,251, 55,107,
-214,172,165, 75,151, 70, 71, 71,143,166, 67, 92,  0, 32,128,134, 97, 15, 96,  9,142,195,236,  6, 91,233,159,159,159,143, 92,250,
- 67, 42,  3,160, 32, 49, 13,174,  5,185,220,200, 37, 56,164, 64,  7, 10,210, 84,239,199,143, 31, 51, 51, 51,225,183,208,188,120,
-241,  2,168,165,181,181,181,185,185,185,170,170, 10,114, 94, 63, 46,192,246,241,171,110,230,124,158,253,247, 33,220, 63, 47,254,
- 92, 77,255,113,169,149,237, 72,179,224,230, 42,249,115,187,164,135,107,  6, 35,227, 60,125,180,210, 31,  2, 72,234,  7,208,185,
-  7,  0, 57,199, 31,162,114, 15, 24,160,149,227,248,111,248,130,235,197,212, 69, 70,231,  0, 94,250,  3,155, 83,192,210,255,200,
-145, 35,163,165, 60, 30,  0, 16, 64,195,173,  2,  0, 54,255,129,109,165, 65, 30,235,144, 33, 23, 57, 57, 57,120,195, 31,210,246,
-135, 11,226, 25,147,129, 72,197,217,176,193, 26,239,239,129,  8,194,134,  8,210, 72, 47, 16,156, 60,121,146,131,131,227,248,241,
-227,136,212,195,196, 84, 93, 93, 93, 91, 91, 27, 31, 31,191,117,235, 86, 60,122, 37, 78, 94,251,207,193,202,117,252, 17, 92,132,
-145,233,191, 94,245, 47,155,218,247,230,241,175, 78,111,149, 30,205,138,152,165, 63, 35, 12, 16, 89,  7, 32, 79, 24,164,163,  2,
-  6, 66,211,  9,148,232,133,215,  1,239,222,185,204,156,249,158,164,210, 31,107,253,  1,215, 69,106,175, 20, 88,250,247,245,245,
-  1, 67, 12,152, 50,207,156, 57,  3, 44, 13, 70,147, 19,126,  0, 16, 64, 76,248, 11, 83, 50, 66,144,194,241,101,160,141, 16,141,
-228, 69, 30,176,249, 63, 99,198, 52,178, 59,  1,244, 73, 49, 19, 39, 78,132,183,253,129, 69,127, 47, 24,192,235,  0, 32, 27,168,
-  0,143, 94,120,251, 29, 88,124,223,222, 22, 11, 68,240,114, 28, 40, 69,188, 94, 72,155,148, 72,189,192,210,231,216,177, 99,192,
-222,244,163, 71,143,158, 63,127,142, 38,245,240,225, 67, 73, 73, 73,  6,220,154, 37,143, 93,121, 18,109,205,246,232, 35,227,115,
-248,161,211,144,171,220, 24,222, 61,100, 23,146,252, 62,204,242,213,189,123,247,240, 20,181,120, 38,  3,208,218,254,104,247,202,
-225,175,  3,144,111,224,154,137, 10, 24,  8,221,207,133, 44,251,127,149, 32, 50, 98, 32,241,110, 47, 72,185, 79, 82, 57,142, 92,
-127,  0, 17,121,165, 63,176,123, 58, 97,194,  4, 96,219,191,160,160,  0, 88,  7, 64,218,130,211,167, 79, 31, 45,229,241,  0,128,
-  0, 98,193, 83, 20, 46, 93,186, 28,146,224,136, 31, 82,135, 36,205,152,152, 24,136, 22,160, 33,144, 50,133,200,184,  4,170, 95,
-178,100,  9, 80, 59,184, 40, 95, 66,146,213,240,230, 63, 36,159,144, 49, 19,  0,177,157, 84, 75, 41,  1,144,210, 31, 94,238, 35,
-115,  9, 87,221,224,210, 31,194,  6,213,  1, 94,139,209,  6,118,240,235,133,199,  8,184, 14, 72, 39,168, 23, 88,196,255,250,245,
-203,216,216, 24,216,187,  2,118,  2,130,130,130, 64,117,198,191,127,237,237,237, 95,190,124, 97,101,101,  5,102, 63, 92,122,133,
- 30, 62,101,250,245,231,131,177,  2,235,145,103, 44,199, 95,254, 14, 82,  4,197,209,191,255,151,218,217,222,125,225,253,206,202,
-227,154,121,123, 56,101, 42,130,205,222,206,206, 78, 96,121,135, 57,192,141, 89,178,195,155,255,152, 42,  7,225, 41, 94,233,233,
-130, 72, 53, 10,168, 97,  1, 12,  6,178,239,249, 32,181,237, 15,204,245,240,187, 33,109,108,108,128,217,121,180,244, 39,  8,  0,
-  2,136,  5,119, 81,184,108,230, 76, 80,240,101,100,100, 17, 89, 38, 66,198,181,181,180,180,224, 34,182, 96,  0,233, 19, 16,140,
- 81,120,233, 15,183,139,212,226, 24,232,230,152,152, 40,112, 13, 20,  5,100,147, 90,121,  0,173,131,223,103, 48, 36,166,145,233,
-  9,142, 30, 61,106,110,110, 14, 44,143,128,228,134, 13, 27,  2,  2,  2, 32, 67, 64,149,149,149, 12,224,171, 23,150, 47, 95, 14,
-148, 50, 53, 53,197,212, 43,127,244,204, 11,115, 77, 96, 97,246,213, 92,150,121,195,243,223,  1,138,224, 33, 32,  6,189,202, 95,
- 64,173, 95,223,126,220,183, 92, 69,222,252,139,158,233,147, 97, 16, 80,248, 47, 85,135,131,213, 96,128, 89,136, 35,223,169,130,
-235, 90,105,172, 23, 55, 14, 56,  0,214,103,152, 75, 93, 33, 99, 59,164,  2, 50,116, 65,206, 12,103, 97, 97, 41, 44, 44, 60,115,
-230,204,232,208, 63,145,  0, 32,128,176, 87,  0,192,182, 63,164, 36,  5,130,232,232, 72, 32,151, 96,129,  8, 25,234, 65, 46,253,
-225,  0, 34,  8, 84,128, 85, 22,169,248, 70, 41,253, 33, 12,160, 32,145,101, 49, 48,202,129,197, 19, 68, 49,144,  4, 86,  0,196,
-119,  2,224,165, 63,114,238, 34,178,206,163,164,253,130,220,234, 39,169,249, 15, 25,177,  1,182,250, 33,157,  0, 85, 82,154,255,
- 80,189,225,233,240,187,159,  8,234,253,253,251, 55, 48, 83,241,242,242, 94,186,116,233,239,223,191,159, 62,125,186,126,253,186,
-176,176, 48, 92,  1,144,237,237,237, 61,109,218, 52,204, 10,128,249,247,111,217, 51,151,217,120,165, 89, 47,189,253,248,151,247,
-243, 39,182,191,215,191, 48,  8,115,192, 21,112, 11,255, 49,245,126,178,112,154,237,240,168,  0,128,161,138, 57,244,129,121,201,
- 34,164,  7,128,182, 97,135,164,181, 58,180,184,225,142, 26,222,127, 15,233, 10, 32,247,  6,136,239, 64,  0,195,141,140,210,127,
-233,210,165,135, 14, 29,250,191, 74,144, 49,236,125,127,127, 63,176,226,  4, 54, 77,102,204,152, 49, 90,190, 19,  4,  0,  1,196,
-130,181, 52,  4,134, 32,114, 65, 12,172,  0,128,197, 43,176, 87,133,199,160,137, 19, 39, 66,134,110,176,  2,160, 20, 80,  1,158,
-244, 13, 25,124, 71, 43,115,193,229,248, 18, 98,202,113,228, 46, 11,  4,196,198, 70, 47, 94,188,148,152,114, 28,185,244, 71,107,
- 97, 17,212,139,199,203,120,  0,176,159,  4, 47,238,225,163,255,200,179,  2, 64,  5,120,244, 50,133, 67,135,242, 33,117,  0,  3,
-210,154, 78,166,240,247, 36,232, 13, 79, 39, 82,239,133, 11, 23,228,228,228,128,109, 43,  8,119,209,162, 69,199,143, 31,247,241,
-241, 65, 86,243,242,229, 75, 14, 14, 14, 76,189, 10, 23, 46,124,144,147, 60, 89,152,  4,225,178, 45,186,253,247,248, 71, 38, 31,
- 20,149, 31, 95,114,178,115,252, 30, 54,153, 10, 88,178, 43, 41, 41,225,185,235,170,188,188,156,200,107, 14,145,135,128,112,117,
-  8,  6,109, 32,144,161, 30, 82,113,146,164,119,217,178,165,  7, 14, 28, 96, 92,  3,106,142,236,170,225,117,107,249,108,103,103,
- 55,186,244,147, 72,  0, 16, 64, 44,152,165, 33,114,243, 31,222,  9,  0, 22,166,200,181,  2, 86,128, 71, 22, 82,148, 19,108,254,
- 99, 45, 97,  9,118,  2, 32,110, 70, 46,253, 33,131,128, 64,  7,  3,197,129, 89,  8, 79,213,133, 89,250,147, 84,  7,144, 55, 82,
-  4,233,  9, 61,122,244,  8,178,230,  7,185,225, 15, 20,196,213,145, 66,214,187,232,200, 47,200,186, 29,228,198, 59, 80,144, 70,
-122,129,197, 61,178, 79,237,237,237,187,187,187,157,157,157,255,253,251,215,214,214,  6, 36,191,127,255, 14, 12,103,172, 49,168,
-126,252,248, 37, 91,  7, 56,247,143,189,228,223,238,199, 12,206, 98,255,255, 49, 92,106, 99,253,242,143,231,221,119,190,119,140,
- 66,126, 49, 23,135, 83,190,  2,150,239,248,167, 91, 73, 41, 26, 87,129,200, 61, 97,196,244, 71,225,233, 22,235,106, 78, 60,247,
- 53, 34,235,  5,182,163, 73,210,139,217,138,135,220,225, 76,159,  1, 55,208, 52, 53,164,244,191,244,103,254,254, 95,224,242,106,
-180,244, 39, 22,  0,  4, 16, 74,  5,144,145,145,  5,186,213, 54, 38, 10,179, 37, 14, 25, 23,  2,162, 25, 51,166,209,200, 41, 88,
- 11, 83,130, 53,  7,220,205,184, 12,  4, 86, 93, 64,132, 86, 61, 32, 87, 60,120, 50, 42, 48,121,209,104, 50,  0,158,217,200,216,
-  8,  6, 84,144,144,158,158, 48,249, 43,234,102,174,247,180,211, 11,190,158, 30,  1,228,229,229,167, 76,153, 66,100, 89,182, 13,
- 85,239, 63,121, 30,206, 41,154, 64,134,246, 76, 86,  6,  6, 96,171,255, 61, 24, 61, 28,174, 25, 12, 94, 16, 67, 24,116,184, 45,
- 14,107, 73, 13, 23, 33,184, 10,136, 12,189,152,173,120, 34,251, 55,148,135, 45, 48, 25,  3,203,125, 32,123,193,254, 95, 43,142,
-253,  2, 22,  5,163,251, 25, 73,  2,  0,  1,132, 82,  1,224, 41,220, 33,211,185,  4, 19, 31,217, 10,200,190,201, 22,127,133, 68,
-161,179,105,157, 93,175, 93,187,  6, 95,253,  9, 25,162,193, 63, 77,130,166, 23,178,131,151,158,122, 71,  1,169,160,188,188, 28,
- 62, 22,  4,100,211,199, 82, 58,239,  4, 30, 88,224,222,242,121,168, 56,117, 16,  2,128,  0, 98, 25, 13,130,  1,  4,192, 98,151,
-236, 36, 59, 80,122, 71,  1,169, 99, 65,144,147, 18,128, 36,241,237, 98,148,213,159,176,193, 31, 92, 75, 66,113,141,231,224, 23,
-161,133, 94, 90, 84, 93,248,  1,176,243, 10, 12, 22, 63,255, 52,104,119,115,251, 57,  8,195,203,211,104, 52,237, 17,  3,  0,  2,
-104,180,  2, 24,  5,163,128,182,192,197,197,  5, 88,  1, 16, 63,177, 73,121,105, 59,176, 61,  0,250,214, 22,255, 33, 59, 10, 71,
-  1,121,  0, 32,128, 70, 47,133, 31,137,128,243,231,141,239,236, 26,163,225, 48, 10, 70,193,  8,  7,  0,  1, 52,122, 28,244, 72,
-  4,163,165,255, 40, 24,  5,163,  0,  8,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163,
- 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,136, 38,151,194,223,191,122,156,129,233,
-135,164,140,244,231,239, 95,223,191,253,170,166,105, 67,188,222, 35,231,238, 50,252, 99,127,249,244, 41, 55, 39,183,160, 16,183,
-185,137, 34,241,122, 41,113,243,191, 55, 83,120,121,190,115,114, 51,179, 48, 51, 49,114, 48, 62,255,148, 79,188,222, 79,188, 65,
-130,194,130,252, 60,204, 12, 44, 12,239, 46,204,194,111, 47,167,244, 13,226,221,252,253, 41,202, 96,189, 20,215, 75,226,245, 62,
-251, 38,142,162,247, 39,  9,246, 62, 67,157, 36,144,254, 69,194,245,170, 79,217,212,  7,131, 94,109,108,225,220,217,185,186,188,
- 28,203, 81, 51, 87, 81,195,153, 83,230, 23,  9,113,244,132, 13, 37,109, 72,147, 16, 71,155,159,162,196,209,143,159,220,196,235,
-229, 96,255,138, 98,148,223, 20,226,245,250,110,202, 65,230, 22,191, 32,225,216,156, 94,137, 12, 26,229,193, 81,189, 52,210,139,
-  7,  0,  4, 16,190,101,160,169,  7,138, 24, 29,227,103,253,215, 39,198,160,123, 87,118, 49, 50,252,227, 97,231,156, 63,115,217,
-194,133, 19,173, 93,172,255,124,253,166,165, 97,247,239, 31, 67,118,217, 95, 45, 45,245, 59,119, 30,254,248,254,135, 87,210, 26,
- 83,239,209,243,175,254, 51, 48,126,249,249, 61,189,168,165,113,146,251,179,171,103,129,201,123,219,197, 39, 76, 76, 12, 19, 27,
-106,110,221,186,169,160, 32,207,206,201, 34, 44,200,142,197,222,117,211,216,216,216, 56, 57, 57,121,120,120, 68,  4, 56, 68, 89,
-121, 69, 37,185,249,217,121,  5,216,152, 88, 88, 88,254,255,251,251,137,153,225,211,171, 79,135,121,117,113,185,252,227,221,169,
-188,156, 31,249,  4,216,120,184, 89,217, 56,153, 88,152, 25,152,216, 88,212,165,103,255,254,207,124,239, 89, 18,126, 95,239,127,
-164, 44, 34, 34, 34,206,243,227,251,143,159, 76,236,156, 12,191, 25,254,200,197,124,120,255, 78,228,243, 54,218, 85,218,179,102,
-205, 74, 75, 75, 27,109,188, 16,  4,184,138,123, 82,213,  0,129,  4, 39,215,211,167, 79, 89, 57,216,255,113,113,209,211, 11,223,
-222, 93, 56,182,119,  5,178,136, 75,104,199,224, 12,237,197,139, 22,177,179,177,253,251,247,143,155,135,199,215,207,111, 52,249,
- 13,  9,  0, 16, 64,  4,246,  1,252,223,187, 48,205,153,112, 29, 16,234,167,242,211, 73,232,247,151, 15, 44,127,153,204,244,100,
-226,227,161,205,103, 96,  9,126,226,248,  2, 17, 57,233,127, 95, 62,217,155,235, 62,123,246,126,207,249, 63,104,122,211,211,219,
- 24,216,248, 25,185,248,254, 51,255,191,120, 45,113,222,138,157,208, 38,249, 63,  6, 15, 75, 75,134, 47, 47, 24, 24,120,239, 94,
-190,206, 42, 34, 96,109,161,195, 35, 32,134,197,122, 70, 38, 32, 98,252,207,204,250, 11,104,204, 31,102,102,102, 86,102,102, 54,
- 86, 16,249,251, 47,  3,227,159,127, 32,119,224,  0, 47, 46,182,  8,241, 51,240,113,113,137,138,  8,243,241,113,253,103,250,251,
-231,223,151,191, 12,127,121,120,184, 68, 36,100,148, 84,143,236, 57,136,253, 28,161, 25,187,127,241,243,114,243, 11,124,254,241,
-141,237,235, 87, 14, 54,118, 14,214, 31,127, 65,237,193,111, 63,190,126,251,254,232,189,206,171, 55,239, 62,189,126, 18,102,133,
-221,234,213,157,132,174, 73, 74,112, 17, 20, 23,196, 90,250, 83,177, 14,168,234,238,  6,146,109,165,165,100,232,173,236,234,  2,
-146,237,101,101,196,107,185,242,244,233,173, 91,183,128,140, 32, 71, 71, 34,181,204, 92,  5, 58,  9,  7,249, 86, 44, 32, 27, 66,
- 50,192,206, 71,  3,178,211,176, 29, 33,  9, 44,217,241,151,239,196,148,254,138,130, 66,223,127,253,  4, 50,216, 56, 57,126,125,
-255,241,239,235,183, 55, 47,158, 75,234,234,226,209, 34,169,172, 70,208, 95,252,242,154, 55,246,109, 36,168, 12, 88,250,219,184,
- 68,112,  8, 26, 16, 21, 88,161,239,  8, 42,  9, 11, 11, 91, 21,186,  7,171,148,227,158,215,112,182,150,  0,168,100,120,245,227,
-223,247, 63,160, 16,254, 10, 38,103,154, 11,168,241,178, 98,213,219,211,211, 83, 85, 80,226, 31, 20,248,227,199,247,137,253,125,
- 83,166, 76,201,201,201,161, 48,113,222,185,115,167, 27,156, 62,  9,110, 44, 56,126,252,248,131,  7, 15,222,190,125,251,249,243,
-103, 94, 94, 94, 97, 97, 97,  5,  5,  5, 75, 96,233, 49, 10,192, 96,203,146,102, 56, 27,109,221, 63, 64,  0,225,171,  0,102, 59,
-244,  5,159,104,253,119,108,107,154, 21,  3,254, 58,224,231,151,119, 18, 42,206, 45,165, 65, 11,102, 30,128,136, 28, 60, 54,227,
-235,183,159, 94, 46,249, 86,214,  9, 17, 97, 78,156,156,236,191,254,254,249,252,237,151,154,  5,230,161, 61, 15, 25,126, 49,  4,
- 69, 79, 79, 45,130,118, 45, 61,172, 28, 56, 56,216, 55,236,219,185,237,232,241, 69,243,167,253,248,254,147,141,153,133,135,139,
-141,143,237,239,157, 71, 47,208,171, 40, 96, 17,240,255, 31,  8, 49,253,  3,178,127,254, 98,103,  0, 86, 49,236, 12,255,127,253,
-253,203,204,  0, 44,202,255,254,250,247,231,239, 63,172,206,190,123,170, 93, 70,244, 63, 31, 47,183,180,140,162,134,174, 10, 47,
- 15,231,199, 47,175, 95,188,126,241,254,227,203,223, 63, 24,185,128,181,130,168,117,112,224,229,181,235,213,209, 52, 78, 95,250,
-248, 47, 47,239,119, 22,  6, 54, 14,182,239,223,216,126,125, 99,251,193,193,206,194,  8,204, 37,204, 63,190,127,249,254,237,243,
-247,239, 95,191,127,250,248,249,197,195,  9, 19, 30, 43, 27, 99,223,255,217,189,168, 27, 87,120,150,198, 97, 47,145,223,191,127,
-143,204, 22, 18, 18,130,148,134,130,130,130,119,239,222, 93,189,122, 53, 73,181,  2,155, 56,116,252,  1,104,168, 32,185,105,107,
-214,234,213,217,217,217,191, 95,189, 34,166,244, 23, 19, 19, 11,114,115,251,205,206,222,219,219, 27,236,228, 68,204,241,150, 64,
- 15,246, 52, 52, 64, 71, 42,234,235,123, 27, 27,177,178,113,105, 71,174,  3,128, 12, 99, 99,227, 61,123,238,185,184, 40, 17, 89,
-250,107, 72, 72, 10,240,241, 65,146, 25, 55,  7,231,243,215,175, 62,189,255,192, 35, 32,248,240,244, 25,121, 83, 19, 60, 26,253,
-210, 74, 98,130,125, 85, 21, 20, 32,220,250,222,201,112,169,198,226, 92, 32,249,104,251, 94, 51, 53, 89,162,134,122,136, 44,253,
-161, 45, 11, 33, 66, 42,  8,239, 71,227,102, 97,188,216,152,204,200, 39,242,247,222,197,159,247,174,222,122,247,213,100, 59,190,
-248,157, 49,115,102, 81,122,118, 92, 74,210,234,165, 43,128, 37,111, 75,103, 23,111, 67, 11,252,210,  8, 74,138,126, 80, 94,192,
-219, 58,  1,150,248,187,118,237,250,253,251,183,178,178,178,173,173, 45, 63, 63,255,135, 15, 31,158, 61,123,118,255,254,125, 32,
-233,230,230,  6,172, 15, 70, 75,127, 52, 46,114, 29,  0, 16, 64,232, 21, 64,218,109,216,209, 58,224, 29,118,255,255,125, 97,248,
-245,243,247,129,101,105, 14, 12,132,250,  1,108, 90,154,234, 76, 76,  7,110,125,120,203,192,112,253,227,211,219,192,254,242,198,
-173,147,190,189,249, 27,157, 88,  8,108,206,251,249, 90,254,101,225,193,165,249,214,173,235, 64, 53, 94,250,192,102,157, 20,  3,
-131,252,143,159,191, 66, 60,220, 56,  4,152, 22, 45,219,  1,108,190,175, 89,177,128,249,207,103, 77,121,246, 59,143,208, 53,254,
-251, 15,186,151, 10,  8,254,254,253,251,147,245,255,111,198,223,191,126,253,250,198,245,131,225, 31,  7,211,255,191,127,217,254,
-127,249,245,227,215,247,111, 12,124, 88, 44, 21,229,249,201,194,194,  9,108, 47,168,168,168,136, 75,152, 51, 48, 51,253,253,123,
-150,233,255,135, 31, 95,129, 85,198,215, 23,207,222,137, 10,191, 17, 22,176,150,148, 93,204,192,128,210,226,227,252,241,231,255,
-207, 55, 12, 63,216,127, 49,253,254,202,198,242,133,147,149,133,149,141,225, 31, 55, 35, 51,227,151,175,223,222,191,120,120,247,
-236,209,119,143, 30,  1, 93,197,244,159,153,200,120,154, 55,125, 30,132,145,148,137,115,220,  9,249,158, 41, 32,187,168,168,232,
-209,163, 71,192, 34,146,188,189,151, 83,167, 78,125,249,242,229,154, 53,107,188,237,236,  4,197,196, 72,213, 14,108,251,191,  7,
-151,140,144,131,225,210,195,  8, 28, 87,  9,108,251,  3, 75,127, 80, 66, 97, 99, 83, 83, 83, 91,187,111, 31, 49, 93,  1,202,207,
- 64,  6,150,242,192, 66, 31,114, 97,  8,156, 12, 13, 13, 37, 88,250,171,137,137,  3, 75,127,102, 38,166,172,152,232,239, 63,126,
-246,206,157,203,197,201,249,  3,  8,190,127,103, 98, 97,126,124,254,188,172,161, 33, 46,189,144, 82,254,246,131,  7,200, 92, 50,
-128,185, 83,196,158,213, 21,174,126,201,255,217, 85,137,212,  2, 63,203, 19,114,155, 35, 86, 17, 92,  0,216,240,127,248,229,239,
- 65, 87, 81,214,252,153,159,162, 21, 89,  4,197,  8,150,254,123,247,238, 85,144,148, 74,201,202,168, 40, 44,155, 50,127,134,153,
-145,209,140,201, 51, 10,202, 74,150, 90,154, 95,190,124, 89, 23,111, 87,  9,127,209, 15, 52, 25,200,197,175, 30, 88,250,139,138,
-138, 26, 26, 26, 50,129,123,249,192, 28,199,202,202, 10,108, 24, 73, 72, 72,  0,235,  0,160,108,112,112,240,104,233,159, 86, 14,
- 29, 54,156,213, 89,129, 86,  7,  0,  4, 16, 74,  5,144,122,172,242, 27, 51,199,191,191,255,254, 49, 50,243,254,255,206,  0,108,
-  6, 51, 48, 51, 72,171,177,254,250,250,127,207,188, 52,151, 36,188,117,192, 63,102,102, 72, 97,  7, 44,107,101,248,165,213, 31,
-222, 92, 51,125,230,124,166,159, 92,110,142,214, 59,246, 30,253,246,141,129, 75,136, 31, 83, 27, 39,151,250,247,111, 55,129,197,
- 55,124, 84,134,129,225, 25, 19,179, 67, 92,124,242, 63,246,175, 91,182,206,243,243, 77,226,226,102,248,246, 22,152,136, 37, 48,
-181,255,102, 96,102,  5,151,254,191,255,252,253,249,233,247,183,223,223, 62,112,178,252,254,198,250,147,229, 55,243,111, 70, 96,
- 65,254,233,251,159,175,159,127, 51,136,163,107,188,184,191, 83, 73,130,145,153,153,145,145,137,253,239,223,255,127,190, 61,250,
-249,247,247,211, 23, 31,223,189,255,242,241,243, 95,166, 31, 63,254, 48,188, 96,102,189, 32, 37,247,137,151,131, 19,211, 94,160,
- 87,255,127,254,241,253,243,179,191, 47, 63, 50, 43,203,  0,211,223,223, 63, 63, 63,188,120,112,243,212,241,215, 15, 31,129,139,
- 45, 22, 38, 96,232, 50, 83,243, 12,119, 72,  3,127,214,172, 89, 33, 33, 33,  6,  6,  6,236,236,236,125,125,125,228, 25,  5,105,
-254, 91,232,232,136,139,139,  3, 75,112, 31,123,123, 41,210,235,  0, 65,112,185,207, 42, 38,  6, 52,  1, 72, 18,236,  7,  0,219,
-254,172, 63,127,174, 93,187, 22,185, 43, 64,252,112, 16,217,  0, 82,238, 35, 95,201,  2,172, 62,  9, 86,  0, 95,191,125, 19, 21,
- 18, 74, 12,  9,249,240,241,211,235,119,111, 89, 89, 89, 32,  0, 88,196,176,115,114,125,122,251,230,243,227, 39,188,178, 56,167,
-230,128,165,255,146,181,155,145, 43,  0, 72, 63,192,220, 72,207,203,209,158,  8, 87,127,102, 96,224,229, 21, 54,112,241,227,222,
-189,105, 46,125, 70,255, 47, 45,156,240,115,199,124,177,217,231,128, 53,  1, 51,159,208,159,247,175,128,165, 63,176, 67,240,245,
-207,127,102, 28,195,168,247,239,220,217,182,105,235,194,217, 11, 39,205,157, 54,163,111,130,144,176, 80, 75, 91,203,162,101, 75,
-109, 45,172,231,205,157, 23, 20, 26,100,107,109, 75, 70,233,191,105,211, 38, 96,191, 86, 82, 82, 18,237,  2,106,180,145, 31, 96,
-219,223,200,200,232,207,159, 63,192,174,  0,  7,  7,  7,176,  2,184,113,227,  6,176,169,193,195,195,  3,236,237,189,120,241,  2,
-168,102,116, 44,  8, 81,128,148,119, 64,234,  0, 56,  0,  8, 32,148, 10, 96,182, 85, 59, 84, 29,211,229,255,251,230, 51, 10, 75,
- 50,164, 76, 62,205,169,105,250,120,227,191, 89,181,204, 71,150,167,217, 50,205,250,135,165, 74,223,180,239, 93,154,202, 39,255,
-248,252,226, 92, 96,  7,226, 29, 48,225, 50, 48,252,148, 87, 55,226, 96,103,249,254,245, 39,195, 47, 80,197,  0,236,139,189,122,
-247, 30, 83,239,132,254, 34,208,221,241, 39,230, 50, 49, 65,150, 49,128,134,107,254,125,191,250,227,231,111, 78, 30, 14,  6, 54,
- 80,197,240,249,211, 39, 49,164,251,167, 80, 60,240,239,215,191,127, 44,192, 20,240,243,231,207, 47, 44,204, 44,191,152, 24,158,
-127,250,195,245,231, 47,219,191,255,172,204,223,152, 89,254,124,253,246,229, 23,150, 69, 29,188, 60, 95,255,252, 97,252,249,235,
- 47, 48,123,223,186,243,232,201,243, 55,223,127,253,254,244,229,221,151,207, 31,126,252,253,197,  8, 76,244,223, 62,126,250,118,
-255,225,211,143,111, 63,127,101, 96, 80, 65,211, 14,116, 22, 36, 71,252,249,248,245,201,133,235, 47,175,223,255,244,249,206,231,
- 15, 31,254, 51,176,176, 50, 51,254,103,100,101, 98,  2,245,161,  8, 30, 83, 82, 26, 87,138,103, 44,  8,139,127, 89,160, 81,  6,
-204, 30,192, 26, 23,249,176, 73, 82,155,255,192, 90,  4, 52,198, 45, 42, 74,252, 41, 99,216,139,117,112,185, 15,172,  3,240,116,
-  2,174, 60,125,202,  0, 62,251, 26,216, 34,131,244,  3, 64,197,205,165, 75, 64,114,221,254,253,248,235,128,226,250,122,200, 72,
- 23,144, 93,210,208,  0,239, 19,224, 25,249, 65,  6,192,230, 63,218, 56, 50,228,208, 99,248, 88, 16, 86, 32,192,194,242,227,215,
- 79, 96,  8,223,184,119, 23,104,227,181, 91,183,127,253,250,205,196,192,  8, 12,127,160, 99,128, 45,142,239, 95,191,237, 94,181,
- 50,  8,233, 48, 87, 52,  0, 47,253, 99,130,125,145,197, 79,158,187,164,170, 40,207, 78,216,225,176,177, 11,118, 85, 96,209, 15,
-236,  7,  0,145,103, 96,242,111, 22, 85, 26,150, 16,239,158,179,201,169,189,202,230, 96,119,138,252,123,102,199,223, 79,160, 73,
-133, 87,217, 86,242, 51,143,255,253,135,189, 41,163,174,170,206,197,197, 61,105,206, 84, 71,123,123,115, 75,139, 93,219,118,222,
-184,115, 11,216, 49,231, 96,103,183, 54,182,222,186,105,235,155, 87,111,  2,  3,  3,137, 47,250,129,205,246,123,247, 64, 81,118,
-234,212,169,140,140, 12, 60,189,219,  7, 15, 30, 40, 43, 43, 67, 24, 23, 47, 94,148,151,151, 87, 84, 84,124,255,254,253,153, 51,
-103,148,148,148,128,141, 12,160,  8, 80,106,180,  2,192,  3,  0,  2,  8,203, 28, 64, 26,227,197,255,  7,151, 49, 50,179, 48,228,
-206,205,127, 32, 57,169,111, 33,176,176,156, 94,123, 51,181, 77,157,121,207,172, 52, 89,205, 89,170, 89,192, 54, 55, 19, 19,202,
-224,134, 10,159,204,149, 75,235,192, 76, 96,193,248, 21,124,212,251,111,134,223, 63, 89,254,  1,155, 14,160, 50,125,253,134, 93,
- 64,210,218, 19, 75, 25,177,227,242,127, 15, 67, 29,120, 23, 22, 88,202, 49, 48,176, 50,176,114,252, 97,252,251, 15,124,210, 83,
-120, 52,232, 76,249,135,199,102, 97,234,  5,166,203, 63,255,152,152,254,252, 97,250,245,243, 27,184, 27,248,157,153,153,251,207,
-247, 79,223,129,133, 48, 35,176,103,240,237, 47,195,183, 95,127, 48,253,249,231,215,191, 31,172,204,255,190,253,249,243,239,227,
-231, 47,191,153, 25, 89,127,254,249,253,235,255, 47, 32,193,192,246,143,137,145,129,145,253,223,199,239,127, 95,188,254,246,245,
- 39,250,196, 53, 19, 35,180,195,  2, 44,151, 32,103, 81,253,254,241,253,227,187,119, 76,192, 80, 99,249,207,240,159,133,153,145,
-129,248,150,255,205,135, 55,213,229,213,241,140,252, 32, 15,136,115,114,114,194,107,  2, 96, 62,129,148,254,192,106,128,159,159,
-255,227,199,143, 31,128, 53, 16, 17, 99, 38,144,230, 63,176,155, 12,225,230,228,228, 76,158, 60,153,188, 78,  0,220,  4,200, 64,
- 16,254,209,127, 70, 94, 94,160,131,203,202,202,128,141,232,223,239,223,  3,221, 92,145,147, 67,176, 31,128, 60,214,143,107, 62,
-  0, 83, 87, 39,161,105,246,179, 96,  0, 97, 99,158,136,245,254,221, 59, 30, 94,222, 55,239,223,239, 63,121,146,133,137,249,231,
-239,223,223,190,127,  7, 54, 48, 33, 85, 17, 48,145,252,250,249, 19,127, 80, 99, 14,251,  0, 69, 32,157,  0, 85,  5,133, 71,247,
-238,144, 20,194,192, 58,224,235,235,147,219,215,207, 37,163, 31, 64,112,228,  7, 14, 46,172,154,109, 16, 95,200,174,168,  7,202,
- 32,111,158,223,122,  7, 90,105,202,110,233,243,232,239, 31,174, 41, 39,177,106,249,244,233, 19, 59, 39,135,138,162,226,253, 39,
-143,223,190,126, 27, 30, 19,189,109,239,238,137, 29,189,235,183,109, 82, 85, 84,141, 11,142, 61,126,238,232,250,181,107,  3,113,
- 15,197,192, 75,127, 96,209,239,234,234, 10,169,161,159, 61,123,  6, 44,253,241,187,246,237,219,183,182,182,182,192, 60, 14, 44,
-229,143, 30, 61,170,165,165,  5, 76, 81,178,178,178,192,206, 49, 19, 24,  0, 59, 16,240, 40, 30,  5, 88,  1, 64,  0,177, 96, 41,
-253,247, 45, 96, 96,103,103, 16,146,251, 38,107, 62,169,101,  6,195,223,175, 12, 47, 62,213, 44, 63,152,225,159,193,176,103,225,
-163, 23,175, 25, 84, 25,254,253,253,131, 86,  1,220,249,244, 73, 77,128,239,207, 79,134, 59,  7,150,168, 56,184,131,199, 72, 24,
-126,255,250,205,202,192,244,229,  7,104, 17,133,135,131, 17,167,176, 52, 86, 71,120,232, 50,110,187,248,159, 21,216,220,151,115,
-255,245,232, 48,164, 19,192,202,198,254,155,225,  7, 15, 39,232,238,192, 77,219,150,127,127,251,216, 66, 89,  0,203,192,211,191,
-127,108,191,190,255,102, 96,  3, 86,  2, 12, 63, 64, 89, 20,216, 43,252,  9, 44,218, 89, 88, 25,126, 48,252,255,  7, 26, 26,  2,
-138, 96,230,128,111, 63,254, 49, 51, 51,254,254,243,251,199,207,127,159, 62,255,  0,185,246,223,255, 95, 63,255,  1,107, 31,102,
-160,110, 14,  6,198,239,127,255,129,150, 16,125,255,252, 29, 95,  8,130,186,  2,255, 24,254, 51, 50, 48, 49,  1, 75,  7,230,127,
-255, 25,129, 12, 80, 45,248,143,  9, 88, 49, 49,254, 99,198,223,252, 39, 53,194,184, 96,203, 16,145, 75,127, 96,123,  7,216,  5,
-  6,118,131,224, 45,101, 98,154,255, 10, 34, 34, 16, 46,144, 65, 97, 39,128,200,209,255,255,159, 63,215,214,214,254,124,251, 22,
-114,253,163, 10,184,  6, 98,253,249,211,215,215,247,233,171, 87,210, 84, 93, 97,  9, 31,225,129, 79,  0,160,  1, 99, 99, 99,120,
- 15,224,234, 83,140,246,193,207, 95, 31,126,189,251,241,227,135,  0, 63, 63,  7, 48, 41,254,253,  3, 12, 88, 96, 89,243, 11,216,
- 17,248,253,251,223,159,191,248,195,249,246,131,  7,240, 25, 96,228,177, 32,228,153, 97, 82,  1,183,168, 57,176, 29, 69,134, 70,
-226,231,  0,236,119,191,126,165,176,  6,216,  9, 96, 84,212,147,159,127,254,205,143,127,220, 44,140,191,142,108,184,121,239, 62,
-174,  4,242,253,207,175,179,199, 79, 77,232,233,183,114,176,169,105,106,216,185,125,231,210, 69,139, 45,237,108,100, 21,228, 88,
-184, 88,247, 30,222,187,108,225,226,117, 27,214,110,221,186,213,219,219, 27, 83, 59,228,158, 28,120,209, 15,  1,192,118, 12, 49,
-254,  2,166,121, 96,137, 15, 74,192, 10, 10,192,216,  4,118,215,128,217, 31,216,234,103,103,103,  7, 54,134,128,130,188,188,188,
- 64, 53, 35,185,124,  7,182,108,182, 44,105, 70, 27,246, 65,  6,  0,  1,132, 50,176,  7, 26,249, 57,188,148,129,147,227,193,167,
- 95, 12,223, 63,178,255,251,166,167,163,196,240,246, 27,195,175, 63, 14,250,106,160,133,153,191,127, 48, 51,130,135,104,254,253,
-197, 48,234,195,173, 15,143, 88,216, 25, 60,252, 10,151, 77,  2, 54, 82,126, 49,124,251,249,247, 59,195,134,253, 23,246,156,  6,
-221, 23, 47, 35,167,  8, 90, 99,143,  3,120,233, 51,254,254,193,176,105,235, 14, 19,183, 92, 80,243,159,129,149,153,147, 33,204,
- 39,212,203,206, 31, 40,251,228,225,221,255,191,255, 98,111,221,  0,155, 99,160,201,234,191, 63,127,129,166,127,127,254,248,254,
-237,219,183, 47, 95,190,124,254,244, 17, 24,247,159, 62,127,249,241,229,203,247,239, 88,138,240,207, 95, 24,191,255,248, 11, 68,
- 95,191,253,254,252,229,231,251,207, 63, 63,124,250,245,241,243,239, 15, 31, 64,228,187,183,127,222,189,255,243,238,227,159, 55,
-239,126,189,124,131,101,  4,137,  9, 88, 28,  0,179,214, 95, 70, 70, 38, 96,153,255, 31,228,142,255,204,127,255, 65,195,243, 31,
- 56,187, 16, 51,255,171,105,169,121,116,219,209,157,251,118, 66,234,  3, 96,111,  0,143, 98, 96, 18,103,129,133, 97, 23,120, 21,
-102, 69, 69,  5,228,148,121,228,101,145,196, 52,255,197,197, 81,102, 69,178,179,179,183, 30, 58,244,140,136,197, 60, 88,  1,176,
-249,143,191, 10,  1, 54,243, 33,140,149, 43, 87,222,121,  1, 90,202,181,229,192,  1,184,224,205,155, 55, 69, 69, 69,105,148,  7,
- 32,165, 60,242, 21,137, 16, 54,158,241, 31, 80, 69,203,199,251,239,239,223, 79,239,222,191,121,243,230,237,135,247, 95,191,125,
-  3,162,207, 95,190,124,253,248,233,243,135, 15,192, 84,246,235,199, 15, 96, 53,128, 75, 59,114, 41, 15, 47,253, 33,108,228, 21,
- 65,248,193,151,215, 39,247,172, 70,100,221,111,239, 46,208,186,188,120, 30,174,  0, 44,247,129,165,255,207,131,107, 30, 38, 26,
-  2, 75,255,195,174,162,127, 62,190, 54,217,241,138,  5, 71,244,  2, 91, 18,169,249,153,119,110,222, 60,126,224, 48, 63, 47,127,
-100,120,164,128,176,208,185, 83,103,120,216, 56,184,185,185, 37, 21,164,150,175, 88, 94, 81, 93,245,133,184, 50, 29,  2,140,140,
-136, 58,205, 31, 88,190,  3, 11,122, 96, 75, 31,216,234, 55, 51, 51,211,214,214, 22, 17, 17,225,224,224,  0, 22,253,250,250,250,
-  2,  2,  2,144, 85,161, 35,188,141,143,220,187,197,236,233,  2,  4, 16,162,  7,144,118,107,218,255,215, 15,126,176,114,236,121,
-197,  5,140,107,133, 15,207,153,215,181,108, 79,111,238,214, 82,145, 20,228,200,213,224,100,152,122,254,255,239, 95,143,153,193,
-227,  6, 88,202, 25, 30, 96,138,  5, 82, 23, 47,109,214, 55,240,173,171, 89,180,113, 93,223,174,253,215, 29, 45,181, 89, 88,216,
-119, 31, 62,247,159,153,229,215,223,191,248,221,234, 97,168,177,227,236, 13,134,222,142, 16, 95, 47, 31, 31,223,157,251,214,  3,
- 27,232,222,238,145, 76,127,127,179, 50, 99, 47, 78,129, 69,255, 95, 80, 73,251,151,  5,216,210,255,207,  2,108,  2,  0, 27,194,
-160, 37,  1,192,134, 56, 35,168,127,  0,233, 37, 96,233, 63,126,231,101, 98,126,207,198,206,  4,106, 53,255,253, 15,108,237,255,
-251, 15,236, 61,  0, 59,  1, 12, 76, 28,255, 25,153,129,173,121,198,191, 76,140, 63,255,254,255,240,245, 63,159, 56,214,  1, 25,
-196, 89,228,144,240, 96, 97,254,207,  4,170, 16,152,225,133, 33,168,110,192,221,252,  7,150,254,208, 86,234,130, 61, 64,  4,100,
-  0, 43,  3,  6, 47,124, 65,244, 15, 60, 20,187,102,205, 26, 72,222, 83, 84, 84,132,120, 16,216, 44,  5,122,156, 96,  5,  0, 44,
-253, 33,205,127, 69,234, 21,184,172,224,129, 35,111,123,156, 19,155, 86,186,186,189,189,189,192,102, 62,176,160,  7,246,  6,  2,
-192, 39,227,171,171,171,195,  5, 31, 62,124, 40,194,206, 46,  1,235,145, 80,119, 14,  0,  8, 32, 87,178, 32, 95,123, 75,240,210,
-218,247,111, 62, 50, 50,252,  1,181, 40, 94,126, 99,227,224,  0,109, 42,  4,247,  0,190,127,249,242,243,235, 87,208,132,211,135,
- 15, 30,184,239,158,133,148,242,144, 81, 32,115, 35,189,147,231, 46,193,165,208,166,  4,112, 54,111, 95,159, 60,121, 96,189,179,
- 87,  4,180, 50,248,120,251,230,165,163,100, 52,252,137, 31,255,  1,245,213,222,125,125,148, 98,250,255,254, 37,177,217,231,190,
-254,249,255, 41, 90,145,127,217,253, 79,137,194,192,210,159,  9,119,  5,159,157,147, 83,219,209, 34, 38, 44,242,251,223,223,219,
-143,239, 69, 71, 70, 45, 90,178,100,227,134, 77, 81,209, 81, 63,127,252, 60,124,230,216,247,239, 95,210, 18, 18,246, 30, 63,142,
-185,142,  3, 24, 35,119,238,220,113,  3,119, 16,145,251,  1,111,223,190, 45, 45, 45,133, 79, 12, 96,  5,194,194,194,207,158, 61,
- 19, 20, 20,156, 49, 99,134,169,169,169,161,161, 33, 27, 27, 27, 48,239,159, 56,113,194,194,194,  2,168,  0, 40, 43,140, 99,238,
-112,196,214,  1,104,  0, 32,128, 16, 21,192, 44,181, 44,135,175, 51,111, 61,121,255,220, 23,220,232, 56, 89,241,127,203,116,169,
-151,247,251,237,131, 24, 62,188, 99,104, 91,240,255,233,141,191,156,220, 31,222,129,186,239,140, 24, 91,171, 14, 30,216,104,239,
-224, 12,100,124,253,247,251,206,135, 71,192, 18, 89,133, 79,209,209, 81, 79, 92, 68,226,237,199, 79,160, 14,194,175, 63,207, 63,
-124,213,196,230,  8, 25, 57,203, 39,143,142,131,211, 44,139,  7,104, 37, 40,203,142,203,191,119,110, 89,243,242,205, 51, 97,  1,
- 80, 23, 79,128,141, 85, 82,  0,251, 18,210, 95, 12, 44,108,160,150, 24, 51,176,209,205,244, 23,216, 71,249,243,151,149,  5, 82,
-250, 51,128, 23,137,130,182,  8, 96,  3,  1, 17, 21, 27, 22,151,112,177,253,103, 97,133,245, 36,126, 51,252,249,207,240,227, 23,
-195,223,159,192,134, 61, 35, 35, 27, 35,208,220,175, 63, 25,146, 19,186,208,182, 86,195,103,128,255, 49,  1,235, 13,208,248, 15,
-164, 13, 14,236,  1, 48, 49,131,170, 35,160,236,127,102, 96,183,  0, 95, 39,  0, 94,250,163,177, 65,117,  0,174,225,166,191,127,
-129, 69, 15,176,248,134, 84,  0,107,192,  0,200, 85, 86, 86,  6,218, 62,113,226, 68, 96,135,224,221, 59,124,187,129, 74,192, 96,
-199,142, 29, 95, 95,162,156, 88,  0,172, 15,238,223,191,207,128,119, 83, 24,230,206, 47, 96,209, 15,172, 78,128, 65,231, 99,111,
- 47,141,123,254,  0, 88,178, 91,233,233,189,125,240,  0, 88,202,223,130,173,  5, 82,149,148, 44, 42, 42, 58,122,244,168,154,154,
-154,142,180, 52,158,105, 15,228,113,127,226,231,  0,144, 39,  3,202,203, 65,139, 62,239,221,131,182,253,225,219,  2,240, 44,  4,
-226,145, 22,251,254,252,  5, 48,101,125,  5, 54, 50,223,188,  6, 38,174,255,255,255,253,248,241,227, 63, 24,220,191,118,253,247,
-175,159,120,150,  0,161,244,110, 29,237,129,  8,190, 36,148,152, 33,160, 47,111, 78,  1, 75,127,144, 51,184,185, 55, 34,117,  2,
- 76,108,  3,105, 90, 82,152,108,127,117,198,147,193,192,216,229, 85,182,149,196,180, 99,192,250, 64,144,141,241,237,187,247, 44,
-140,140, 44,120,199,  8,227,226,226,224,236,205,155, 55,123,121,123,110,217,180,101,213,170, 85, 13,213,181,187, 14,236,101,102,
- 97,150,150,145,  6,  6, 36,  3, 27,150,133,124, 42, 42, 42,152,213,192,238,221,187, 25,  8,109,  1,  3,182,244,239,221,187,167,
-165,165, 85, 80, 80,176, 98,197, 10,126,126,254, 27, 55,110, 32,143, 13,  0,101, 21,200, 29,112, 27, 33,  0, 32,128, 80,230,  0,
- 14, 24,166, 51,192, 86, 54,111,121, 37,224, 35,202,248,255,204,182,255,199, 55,129,234,126, 14,142, 31, 92,188,187,  5, 28, 94,
- 88,186,128,199, 34,208, 55,  4,222,188,245,235,200,137, 54, 80,153,200,204,  1, 25,174,184,243,233,121, 93, 78,210,183,111, 63,
- 63,125,  7,205,  1,252, 98, 98,119,242,  8,193,234,136,218,234,132, 29, 91,193,219,106,254, 66,  6, 91,254,120,232, 50, 70,100,
-245,113,113,177,243,129,231,  0, 88,255,253,144, 22,197, 94,190,176,252,255,243,139, 17, 84,  7,  0,139,138,191,192, 60, 10,204,
-169,127,192,115,182,140, 76,192,238,192, 31, 72, 69,133,163, 14,248,240, 93,224,251,207,183,108, 44, 32, 69, 64, 21,127,128,213,
-199,239,255,191,255,252,255,242,253, 31,168,249,207,192,248,251, 31,116, 48,  7,189, 32,  6,141,238,255,  5,194,255,192, 98,  1,
- 60,254,195,200,128,110,  5, 68, 91, 94,161, 35,174,115, 57,174, 31,191, 78,106,108,  1,211,244,247,239,223,117,117,117,149,148,
-148, 30, 60,120,176, 10,188, 75, 22, 82, 25, 64, 64, 71, 71,  7,193, 58,  0,  8,176, 78,175,  5,199,199, 51, 16,177, 41, 12,178,
- 53, 23, 25,248, 58, 56, 16,156, 61,150,128, 53,196,144,123,  3,192,134,191,137,186, 58,219,215,175,248,189, 76, 73,250, 70, 46,
-229,145,119, 81, 48, 16,177, 79,152, 83, 82,226,219,237, 59,127,255,252,249,244,254,  3,184,119,  5,138,226,247, 47, 95,125,122,
-255, 30,232, 42, 60,205,127,180,201,128, 37,107, 55, 35, 47,253, 68,158, 30,192, 14,190, 93, 60,177, 31,178,158,130, 97,227,106,
-208,  2, 80, 35,251,  8, 33, 49,  3, 90,150,  3,255, 81,234,  0,134,217,  6, 25,117, 47,254,253,211, 95,112,234,148,135,184,246,
-150,151,192,210,159,151,149,216,131, 35,129,145,187,239,192, 62, 39, 87,231, 77,107, 55, 52,119,118,148,127,252,248,255,223,191,
-149, 43,215,138,136,136, 60,250,132, 83, 23, 90, 53,192, 64,104, 11, 24, 16, 88, 90, 90,  2,219,248,231,206,157, 51, 50, 50,114,
-118,118,222,191,127,191,156,156, 28,176,133,100,111,111, 15,140, 32,160, 56, 43, 43,235,  8, 95,  2,  4,217,  7,  0,239,  1,160,
-113,129,  0, 32,128,112,238,  4,  6,246,  3,230, 94,222,163,243,247,170,  4,235,199, 31,255, 89,110,255, 23, 96,126,253,233,133,
-  5,116, 27, 33, 19,182,  1, 25, 81, 33, 67,175,132,184,191,255,225, 77,245,255, 95,190,126, 98,102,225,103, 96,226, 42,235, 33,
-176, 83,201,195, 91,103,195,212, 10,  6,166,111,240,130,148,135,135,255,239,239,247, 12,255,191, 62, 60, 54,203, 68, 79, 14,231,
-224, 50,176,145, 13,206,154,127, 24,152,217,254,131,171,  1,112,233, 15,106, 46, 51, 64,  9, 92, 32, 33,173,102,214,228,134, 63,
-191,223,177,128, 23, 57,131,250,248,127,254,255,248,205,240,233, 51,176, 51,240,255,207,127, 38, 22, 86,198,214, 38, 44,139, 91,
- 82, 82, 64,195,199, 11, 23,220, 97,252, 13,106,254,131,186, 25, 32, 10,220, 74,250,207,204,  8,154,139, 98, 41, 46,113,195, 99,
-117, 74,115,202,131,187, 15,200,136, 81, 96,250,126, 15, 94, 63, 99,108,108,108,102,102,246,250,245,235,187,119,239,130, 22, 38,
-254,251,183,118,237, 90,130,117, 64, 78,124, 60,167,152,152, 15,182,225,154, 28,112,  5,192,137,187, 40,135,100, 72, 52,189,210,
-226,226, 36,185, 31,216, 27,176,  6,247,  6,196, 56, 57,117,172,172,104,154,250,209,202,119, 96,136,161,205,  6, 19,172,  3,132,
- 85, 85, 62,191,127,207,194,206,246,243,231,143,191,191,255,  0,  3,153, 87, 80,240,227,187,119,192,210, 31,127,243, 31,190, 17,
- 12, 50,  1,112,242,220, 37, 96,  5,  0, 31,253,199,181, 47, 76, 77,242,253,155,183,111, 86,173, 94, 14, 23,  9,139, 78,126,247,
-139,180,117,159,152, 99, 62, 24, 34,140,  4,251,  1, 12,219,161,  7, 57,168,108,132,238,189,255,248,251, 47,241,110,112,114,112,
-186, 40,120,209,205,219, 35, 53, 54, 89, 79, 95,119,211,198,205,199, 47,156, 77, 75, 75,123, 68,232,144, 50,120, 53,208, 13,  6,
-  4,119, 56,  2,107, 11, 96,143, 97,203,150, 45,192, 38, 17,176,223,  0, 89, 11,119,245,234, 85, 96,219, 31, 88,250,195,235,146,
- 17, 14,208, 54,  3, 35,  3,128,  0,194,119, 20,196, 63, 93,151, 75, 12, 46,151, 72,177, 73, 71,199,122,210,164, 69,121,249,145,
-210,242,192, 84,251,147,149,157,227,201,243, 79,246,190,113,196,232, 53, 52, 84, 74, 72,  8, 91, 48,111, 29,195,191,135,192,150,
-253,159, 31,223,165, 37,249,229,248,254, 16,208,246,247, 31, 11,211,191,223,140, 44,172,255,255, 64,171,  1, 32,241,255, 47,145,
-203, 90,210,114, 65, 67, 10,245,149,153,172, 44,140,144,115,131,254,254,253,251,225, 51,176, 38, 96, 96,102,249, 55,109, 42,190,
-244, 23,159,  0,218, 28, 48,111,238, 77,  6,200,137, 52, 76,192,238,  2,104,204,167,168,196,135,160,189, 31,191,124,196,122,212,
- 15, 65,  0, 44,131,128,157,  0,160, 35, 63,125,250,196,204,204, 12,100, 72, 72, 72,252,254,253, 27, 57,171,  0,235,  0, 92,103,
- 66, 64,154,234,130,100, 45,247, 20,130,  4, 41,137, 37, 62, 38, 16, 39,113, 88,150,236, 57,  0,180,146, 29,235, 90, 32,130,219,
-193, 20,204, 76,129,228,141,131,  7,127,124,251,254,239,239, 95, 77, 99, 99, 93, 43, 59, 30,105,188,  1,248,159,241,225,253,187,
-160, 25, 23,  6,134,164, 32,232,148, 14, 80,  4,153,141,117,139,200,173,231,192, 36, 33, 24, 30,157,242,240,241,139, 19,135,182,
-  0, 69, 86, 45,157,107,110,231,195, 43,110, 67, 76, 64,133,129,246, 97, 16, 62,233,225, 47, 35,246, 77,  8,143,  2, 37,182, 63,
-251, 65,173, 66, 71, 31, 12,206,156, 57,179,247,196, 65, 97, 17, 97,146, 14, 41,129, 84,  3,196,168,228,229,229, 13, 14, 14, 62,
-126,252, 56,176, 25,116,234,212,169,209,179,128, 48, 71,255,209, 74,127,180,249,  0,128,  0,162,254,165,240,202, 26,166, 91,119,
-222,  9,240,230, 18,147,150,125,247,249,143,189,119, 44,241,122, 45, 77, 53, 44, 77,171,210,211,235, 24, 24, 94, 10,242,178,200,
-  9,253, 35, 60,106,153, 88, 66,185,155, 27,219,167,  3,201,252,130,156, 95,223,127,255,  3, 47,181,236,159,218, 79,164,222,164,
-100,208, 73, 65,243,230,220,248,247,159,185,178,194,159, 14,145, 10, 58,242,232,231,207, 95,191,126, 65,138, 69, 72,129, 56, 92,
-207,  7, 37,120,194,  4,241,128,152, 83, 63,113,  1, 13,123,123,226, 21, 63,191,119,211, 92, 85,134,108,187,222,254, 82,225, 17,
- 87,113,  9,181, 33, 85, 35,174, 83,222,144,  0,211, 31, 70,246,239, 76,216,231,255,239,126,254,163,198,139,167, 64, 32,103,161,
-176,137,137,  9, 29, 18,137, 37, 24,140, 22,247,184,234,  0, 60,178,  0,  1, 52,122, 41,252,144,  4,163,183,186,143,130, 81, 48,
- 10, 40,  7,  0,  1, 52,122, 35,216,144,  4,163,165,255, 40, 24,  5,163,128,114,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,
-140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16,
- 64, 52,185, 20,126, 84,239,168,222,193,169, 23,114, 26,196,104, 88,141,234, 29, 81,122,241,  0,128,  0, 98, 65,203, 30,196,232,
-193,154,133, 40,209, 59, 10, 72,  5,184, 10,178, 81, 64,106, 40, 17, 25,146,143, 30, 61,122,250,244, 41, 59, 59,187,136,136,136,
-156,156, 28,221,188,  0, 63,243,117, 48,231,160, 87,175, 94, 61,125,250, 20,191, 26,105,105,105, 49,108,187, 79, 40,209, 59, 10,
- 40,  7,  0,  1,132,190,236,151,224,206,123, 60, 27,172,208,244, 98, 30, 77, 76,211, 51,135,233, 95,184,224, 87, 80, 80, 80,160,
-169,169,137, 95,187, 52,234, 25, 56,200, 57, 33, 52, 52,212,197,197,  5,143, 94,170,212,  1,238,238,238, 64,114,231,206,157,116,
-208,251,245,235,215,181,107,215, 66, 46,133, 15, 14, 14, 54,196,125,159, 34,166,103,  9, 94, 10, 63, 99,198, 12,172,173, 13,252,
-161, 68, 76, 24,  2, 75,168,159, 63,127,  2,173,224,224,224,248,241,227,  7,176, 38, 56,125,250,180,190,190,190,138,138, 10, 46,
- 45,214,214,214,  4,253,245,252,249,115,200,181, 39,248,  1,176,244,135, 28,247, 77, 76, 88, 17,179, 23, 36, 44, 44, 12,127,186,
-130,  0,121,121,121,  6,240,121,203, 64,191, 67,226, 14, 79,154,  4,166,219,162,162, 34, 60,150,190,127,255,222,220,220, 28,107,
- 80,  3,245,106,105,105,225,209,251,242,229,203,218,218,218,209,230, 14, 37,  0,207,165,240,  0,  1,196, 50,108, 60, 73,255, 70,
-241,198, 25, 30,184,164,  2, 50,119, 16,212,190,127,255,126,120,246,248,246,237, 27, 23, 23,215,235,215,175,  9,214, 46,123,246,
-236, 65,102, 35,103, 72, 32,119,245,234,213,196,  7,194,229,203,151, 33,133, 56,154, 57, 36,129,140,140,140,236,236,108, 98,174,
-126,133,220,  4, 25, 23, 23,  7,244,111,111,111,175,130,130,130,160, 32,225,189,208,192,146,119,251,246,237, 16,182,135,135,199,
-142, 29, 59,176,178,241,244, 56,225,  9,  3,200, 48, 54, 54,158, 53,107, 22,164,160, 36, 38,193,124,252,248,145, 23, 12,128,165,
- 63, 39, 39, 39,176, 50,248,240,225,  3, 63, 63,255,169, 83,167, 24,192, 27, 86,113,105,212,209,209,  1, 22,151,240,130, 27,185,
- 21, 15, 44,208,129,228,137, 19, 39,162,162,162,136,  9, 97, 34, 75,127,  8,152, 48, 97,  2,229,  9,155,155,155,251,218,181,107,
-172,172,172,191,126,253,  2,  6,242,237,219,183, 43, 43, 43,  9,234,122,137,116,188,160,173,173,237,225,195,135,225,220, 55,111,
-222, 16,169, 17, 19, 60,128, 29,162, 55, 10, 40, 47,253, 25, 48, 46,133,  7,  8,192,222, 25,219, 48,  8,  3, 81, 52,146,171,204,
- 16, 15,225, 34, 61,131,120, 10,247, 46,211, 51,144,229, 13, 34,121, 28,183,121,242, 33, 11,129,  2,  7,105, 40,242, 43, 64, 50,
- 58,225,227,223, 63, 23,247, 47, 90,  0, 74, 41, 74,133,120,157,131,145,199,243, 53,137,154,119, 84, 46, 17,234, 23,121, 53,142,
-163, 70,199, 45,124,225, 33,238,148, 18, 44,185,152,116,166, 65, 55,133, 23,111,200,163, 64,251,231,156,187, 41,252,238,151, 71,
-251,203,204, 72, 49,133,167,  6,104, 90,129,223, 77,225,  9, 12,210,159,155,194,147, 39,176,243,110,192,236, 14,188,127,107,102,
-  9,104,127,154,140,123, 51,133,175,181, 26, 99,120,213, 70,  1, 16,150,239, 26, 95,110, 79,128,133, 68,171,111,  2, 64,  8, 65,
- 46,122, 70,173,159,124,  3,194, 31,178,142, 49, 82,  3, 72,140, 97, 24,148,236, 63,  7,236,239,189,159,215,  0,105, 35, 54, 18,
-233,244,230, 58,231,104,163, 41, 87, 50,203, 86, 96,173, 37,193,248, 41,200,207, 63,251, 79,172,210,124,225,215,166,240, 31,  1,
-216, 59,155, 19,  6, 97, 56,138, 11,210, 13,114,235, 16, 30, 29,160,189,101,129,220, 29, 35,251,184, 71,134,201, 49,217, 64,232,
-207,252,105, 16, 81, 19,219, 82, 40,244, 29,130, 40,228,160,201,251,240,144,247, 73,  1, 96,155, 21,239, 84,130,205,134,181, 60,
-171,  1, 44,187,223,250, 57,158,217,255, 20,157,  9,133,193,218,114,120,250,242, 52,208,122, 96,255,155,185, 20,229, 46,165,240,
-140, 53, 46,126,133, 91,  2, 83, 49,  3, 99,113,  6, 40, 21,215,255, 90, 20,120,  7,155,165,240,197,208,195,215, 65,  0,134, 97,
- 32,  7,132, 16, 46,207, 86,120, 46, 80,130, 24,227,113,114,130,253,179, 42,139,  0, 72, 14, 72, 77,100,181,121, 11,222,207,181,
-207, 95, 88,216,216,109,231,156,214, 26, 37, 80, 74,113, 13,251, 35,  6,172,210,182,173,233, 55,154,217,223, 90, 43,155,113,149,
-  3,246, 48,142,227, 65,  8,240,222, 27, 99,246,158, 78,211,116, 77,224,109, 75, 56,238,186,174,239,123, 49, 28,127,251,191,100,
-255,102,171, 20,254, 33,  0,123,215,110,195, 48,  8, 68,163,140,132,216,129, 79,155, 53,178,  6, 27,100,141,136, 58, 29,107, 32,
-209,177,131, 27, 40,242,146, 83, 40,130, 13,  1, 81,230, 10,203,182,140,125,  6,241,222,221, 67,226, 86, 18, 64, 45, 92,252,184,
- 50,188,138,  3,180,214,163,121, 64,215,195,238,171, 46,215,199,253, 38, 38,126, 16,240,135,121, 85,123, 27, 99, 28,165,132,137,
-126, 46, 69,225,129,218,136,149, 48,  3, 39,  8,128,140, 26,130,  3,142,250,138,212,255,211,167, 40,124,217, 59,158,138,194,211,
-205,198, 64, 75, 41,203,122,146, 82,170,228,  4, 13,229,167,142, 66,234,162,240, 69, 11,218,181, 16,194,249,189,151, 56, 78,240,
- 69,239, 61,109,190, 68, 69,225, 95,181,166,183,205, 90,219,128,242,130,254,200, 54,190,216,104, 72,213,193,195,228,240,104, 42,
- 48, 97, 41, 37,198,152,115,142,115,142, 81, 35,145, 13,151, 66,136,156,115,183, 57, 16, 31, 71, 99,204,145, 22,180,220, 16,118,
- 32,161,  4,167,162, 91,224, 57,198,136,208, 31,124,  0,183,255,208,223,181,167,  0,162,102,  5, 64,245, 73, 96, 50,234,  0, 96,
-115,146,164,126,  0, 36,107, 45, 93,186, 20, 77,124,219,182,109, 64, 65, 34, 13, 57,113, 95,203, 66,241, 26,241, 35, 63,240,  6,
- 38,188,169,  8, 76,190,144,194,136,212,210, 31, 94,135,145,212, 60,132, 52,255,209, 46,133, 39,175, 19,  0, 55,  1,207,165,240,
-240, 38, 63,176, 76,  1, 54,102, 85, 85, 85,129,141,104,118,118,118,126,126,254,150,150, 22,130,253,  0,228,177,126, 92,243,  1,
-100, 84,237,192,130, 24,174,  6,243, 68, 44, 96,  3,159,151,151, 23, 88,234, 29, 59,118, 12,216,248,  5,150, 44,223,145, 46,133,
-  7,221, 59, 77,232, 82,120,204, 97, 31,120, 91, 30, 24,221,175, 72,188,125, 19, 24,191,144, 21, 65,100,244,  3,  8,142,252,192,
-  1, 48, 34, 74, 75, 75, 33, 57, 14,104,221,237,219,183, 25, 64,199,244, 26,  2,235, 63, 98,214,225, 80, 82,214, 67, 42, 15, 50,
- 12,  4,198, 35, 48,118, 44, 45, 45,225,  7,207,  1, 93, 11,236,187,140, 22,238, 12, 72,119,  2, 35, 15,  1, 33,167,118,128,  0,
- 26,236,147,192,244,169,  3,128,234, 33,253, 86,120, 71,152,200,210, 31,216,252, 39,219,107,144,230, 63, 90,195,255,197,139, 23,
-180, 46,253,225,205,127, 29, 29, 29,  8, 23,200,160,176, 19,128, 31,192, 71,255,185,185,185,107,107,107,129,165, 63, 68,220,192,
-  0,116,201,  9,176,220,247,245,245, 61,114,228,  8,144,164,162,165,240, 48,129, 79,  0,160,  1, 96,179, 17,222,  3,192, 92, 55,
- 13, 44, 83,128,117,192,143, 31, 63,128,181, 20,176,174,130, 92,183,  9,191, 20, 30,200,192, 95,250, 67, 42,117,204,177, 32,228,
-153, 97, 82,  1,217, 26,137,159,  3,  0,214,199,222,222,222,192, 28,196,197,197,229,224,224,  0, 12,  1, 96,148,  1,107,232,  5,
- 11, 22, 48, 49,209,118,211, 40,176,172,135, 15, 31, 65, 50, 32,241,213,  9,176, 65,243,232,209,163,240,240,112,  6,240,165,211,
-160,171,199, 70,  1, 90, 63, 24,199,189,240,  0,  1,200, 59,131, 28,132, 65, 32,138,238, 61,141,186, 55,158,171, 27,238,194,198,
-112,136, 90, 57, 66, 87,156,130, 21, 97,107,244,153, 73,  8,193, 90,  1, 99, 98,226, 95,145,118, 51,105, 50,111,102, 24,202,252,
-250,159,192, 29,157,  0, 84,159,188, 39, 88,164,186,181,158,254,162,253,110,123,158, 46,167,105, 35,241,128,106,160,201, 84, 48,
- 52,142,163,236,227,227,126,117,137,225, 45,125,156, 14,250, 75,250,255, 60, 20, 30, 27,228, 85,135,222, 14,133,  7, 34,178,192,
- 63,231,249, 49,220,220, 24,147, 30,126,117, 40,124, 58,243, 83, 68,205,245,102, 59,233, 63,148,199, 66,239,189,244,234, 81,140,
- 49,132,  0, 95,168,  6,168,  0,174,175,199, 13,229,176, 46,250,246,197,185,254,245, 40,146,155, 93,115,108,244, 67,105,173,225,
- 62,244,119,206, 89,107,161,191, 82,138,216, 60, 12, 67, 77,  0, 56, 44,169, 41,  6,224,134,173,244,151, 77, 72,161, 63, 98,113,
-108,185,187,251, 79, 68,  5,144, 58,  1,185,238,  2,104,144, 78,  2, 83, 82,250,  3,211, 16, 25,221,100,200, 88, 16,176, 43, 64,
-124,233, 15, 44,238,129,165, 63,116,148, 99,221,250,181,224, 91,252,128,149,  1,131,147, 35,  3,  3,225,101,160,144, 85,137,144,
-177, 32, 96, 19, 21,114,  9, 42,176,  8, 38, 34,249,130,138, 90,248,189,240,164,150,254,144,230, 63,214,198, 62,121,157,  0, 72,
-181,145,147,147,131, 51,160,130,131,145, 47,133,143,137,137, 97,192,184, 20, 62, 54, 22,231,189, 17, 20,206,  1, 48,144,117, 41,
-188,176,176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,240, 75,225,129,253, 54, 96,124,  1, 75,127, 96, 53,128, 54,184,
-143, 12, 32,165, 60,100, 20,  8,237, 38, 50, 60,186,208, 74,127,200, 38,  0,100, 46, 25, 13,127,226,199,127,128,224,246,237,219,
-192,232,  0,122,208,210,210, 18, 72,  2,  3, 13, 88,158,110,218,180,137,153,153,153,152, 10,128,146, 86, 60,178,  9, 36,233, 50,
-  6,  3, 32,227,220,185,115, 64, 55,219,216,216,  0,147, 22,176,151,137,188, 96,122,196,  2,200, 42, 32,180, 73, 96,228, 85, 64,
-  0,  1,216,187,130, 20,134, 65, 32,248,  1,159, 32,248, 12,207,130, 63,242,149,130, 79,240,228, 55,188,116,154,129,101, 91, 75,
-220,228, 80,122,232,158, 36, 36, 16, 54, 58, 51,113, 71,246,119,139,192,223, 68,127,205,  1,151,180,255,199,241,147,  3,108, 19,
-151,  3,  8, 46,125,100,172,214,186,125,118,237, 11, 79, 71,208,246,253,165, 41,252,170,161,104,164, 59,241,228,173, 39,191, 72,
- 39, 64, 70,160,191,108, 40,173,129,239, 24, 66, 96,255,119, 16,  0,189, 64,250,162,110, 41,254,206,117,175,231,  0,236, 53,  0,
- 61,  9,145,147,156, 51, 16, 65,239,152,157,231,202,123,223,123,103,231,181, 57, 39, 25, 72,154,194,179, 38,108, 52,243,228, 35,
- 68,191, 91,118,114,  4,238,113,179, 94, 68,183,237,164,198,160,227,179,148,  2,249,159, 82,  2, 31, 56,231,198, 24, 70,  2, 16,
-  4,167,144,186, 87, 18,184,170,253,185,142,144,177,214, 26,  6,128,254, 24, 35,242,134, 95,153,127, 29,120, 27, 15,  1,196,130,
-153,223,200, 54, 11, 45,117, 34,183, 95,144,155, 69,180, 43,253,129,201,142,194,165,114, 36,105,127,252,  4,231,120, 61, 39, 39,
- 23, 65,237, 88,  7,166,137,  4,192,  2,  5, 88,226,239,221,187, 23,126, 47, 60,124, 49, 40, 49,117, 24,214, 75,225, 33, 59,110,
-  8,110, 10,195,172,212,115,115,115,241,148,254, 16, 32, 36, 36,  4, 25,226,  7,182,166,145, 27,254, 53, 53, 53,248,147, 28,133,
-251,  0,144, 67,  3,109,171,  4,193,250, 30,216, 21,219,182,109,219,159, 63,127, 62,124,128, 92, 10, 15,114,  9,176, 67,  0,228,
-  2,217,196, 55,228,129,246, 34, 47,253, 68,158, 30,192, 95,250, 51,144, 59,199, 67,121, 29, 80, 81, 81,113,240,224, 65, 96, 52,
-181,183,183,  3, 91, 12,192, 14, 16,100, 75,  4,193, 33, 62, 50, 90,241,200,122, 73,  5,192,154,233,233,211,167,200,251,  0, 46,
- 94,188,  8,236,186,  1, 91, 21, 68,174, 91, 29,  9,  0,109, 18, 24, 25,  0,  4, 16, 11,254, 66, 28, 87,223,150,214,128,140,210,
-159,206,249,164,165,165,  5,255,254, 70,130,149, 37, 37, 67,186,144, 66, 19,178, 12, 31,200,128,236,  5,131,223, 11,143,167, 92,
-131, 92,236, 14, 44,188,144,231,  0, 32,205,219,178,178, 50,252,165, 45, 86,189,164, 14, 25, 17,217,240,167, 86,151, 20, 57, 28,
- 48, 47,133,199, 95,  7,  0,131,197,219,219, 27,216,146,101, 99, 99,251,249,243, 39,176, 14,  0,134,176,128,128,  0,176,192,194,
-115, 80,  7,114, 62,130, 79,255,  2,237,  5,170,135,231, 29, 92,185, 12,146, 36,208,182, 13,147, 58,247,139, 57,230, 67,210, 40,
- 16,164, 14,128,111,254,202,202,202,130, 48,128, 61, 33, 60, 90,158, 61,123,134,188,219,107,197,138, 21,  4, 79,248,193,165,151,
- 36,112,  1, 12,208,  4,159,128,193,104,185,207,128,116, 39, 48,114,209,143,188, 10,  8, 32,128, 88,168, 88,190, 99,234,165, 79,
-109, 65,255,210, 31,  8, 68,193,128,108,237, 74, 96, 64, 45,199,192,199,127,144,203, 62,172,151,125,146,125,228,  3,133,122,177,
-246,  6,136,  4,100,207,  1,160, 37,  9,172, 93, 46,130,201,  6,216,173,188,123,247,238,254,253,251,191,127,255,254,247,239, 95,
-  3,  3,131,176,176, 48,130,113,119,226,196,  9,120, 55,  2, 46,130,204,198,149, 42,224,141,  3, 72,205,  1,204, 65,  4, 43, 27,
- 56,  8,163,236,254,100,178,115,144,180,180,116, 96, 96, 32,126, 53,205,205,205, 84,215, 59, 10, 72,170,  3, 48, 75,127, 32,  0,
-  8, 32, 22,106,149,161,163,167, 53, 13, 56, 64,139,  2,226,143,132, 29, 66,158, 26, 16,163,148,193,128,120,245,192,254, 13,145,
-231,252,224,105, 28,144, 81,221, 82,171,134, 38, 21,136,137,137,145, 29,182,148,232, 29,  5,196,215,  1,184,164,  0,  2,104,244,
- 82,248, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70,111,  4, 27,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,
-163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,
-130, 17, 10,  0,  2,136,134,151,194,143, 94,192, 61,170,119,136,234,221,236, 55,133,120,189,190,155,114,168,165,119,163, 47,  9,
-122,253, 55,163,232,245,177,  1, 93, 47,202,200,200,248,251,247,239,251,247,239,255,250,245,139,133,133,229,201,147, 39,145,252,
- 10, 59,207,156,249,174, 39,107, 97, 97,193,204,204, 12, 89, 68,187,229,200, 83,106,133, 21,196, 94, 56,128,236, 80,185,122,245,
-170,148,148,212,187,119,239,128, 36, 39, 39, 39,  3,108, 67, 31,154,189, 88,245, 62,190,178, 36,221,246,209,178, 51,106, 44, 98,
-110, 60,188,124,184,244,142,166,103,226,245,226,  1,  0,  1, 68,194, 81, 16,248, 55, 37, 82,241,  2,110,147, 51,107,174,191,124,
-207,203,204,172,199,205,180,203, 54,129,160,250,255,255,255, 50, 50,226,220,245,247,239,255, 47,134,255, 12, 76, 76,108,  4,205,
- 25, 18, 23,112, 15, 54,112,243,230,205,254,254,254,222, 42, 16,123,195, 97,208, 25,  0,120, 20, 63,120,242,248,233,147, 39, 55,
-111,220,120,255,254,189,188,188, 60, 15, 47,175,135,171, 27,126,243, 33, 71, 36, 65,  0,174,203,203,128,226,196,199, 20,100, 23,
- 52,214, 59,132,241,129,208,119,144,180,  6, 58,136,105,181, 16,  9, 26,141,251, 25,148,226,193,201,107,  1,195,217, 34,146,195,
- 55,228, 13,194,222, 53, 34,120, 20,  2, 75,207,175, 95,191,238,218,181, 11,152,140, 67, 89,133, 37,100, 69,127,124,253,206,249,
-237,143,117, 73,170,157,111,248,150,185, 51, 54,239,221,235,230,230, 70,135, 36,241,247,239, 95,160, 27,244,245,245,213,212,212,
-206,157, 59,247,227,199, 15, 85, 85, 85,204,195,225,177,130, 63,127,254, 92, 60,115, 94, 38,217,176,204, 76,251,196,174,158,181,
-151, 29, 84,117,156,136,212, 59, 10,200,  0,  0,  1, 68, 84,  5, 64,204,145, 62, 84,185,128,219,245,242,122,185,151, 15, 24, 88,
- 25,152,255,253,249,247,225,203,179, 55,140,127,174, 84,252,116, 12,229,214,192,115,116,215,255, 83,151,107,126,255,102, 17, 22,
- 98, 97,102,102,249,249,147,233,198, 45,230,111,223,216, 76, 12,254,253,250,195,120,232,  4, 15, 80, 69,124,112,168,  0, 31,225,
- 10,128,164, 11,184,113,213, 28,180,190,178,131,  1,114,140,101, 61, 35, 99, 19,214,186,240, 63, 80, 42,236,122, 40,125,150,132,
-195, 74,255,255,224,210,223,238,200,145, 35,120, 42,  0, 61,253, 93, 90, 90, 38,171, 87,243,157, 60, 14,218,  6,117,235,198, 77,
- 32,153,146,184,238,227,151,156,207, 31,240,157, 36,225,234,234, 10,172,  6,128,165,252,190,125,251,176,158,148, 71,252,166,127,
-204,148,156,145,158, 62,131,184,202,  3,249, 26,122, 18,128, 82, 60,226, 80, 54, 50, 42,  0,152,239,240,156, 60, 10,  1,119,239,
-222, 61,176,106, 85,147, 75,152, 65,116, 22,155,184, 32,  3, 11, 19,  3,  3, 19,176,249,195,240,143,245,223,207,255, 94,241,105,
-143, 38,117, 28, 59,118,204,202,202,138,214,133, 41, 19, 19,147,129,129,193,129,  3,  7,128,117,128,153,153,217,139, 23, 47, 46,
- 94,188,168,167,167, 71,204, 49, 51, 64,207, 58, 59,185,182,247,109, 42, 79,184,108,225,145,105, 97,190,167,100,242, 19, 53,211,
- 56,172,122, 33,177,137,191,122,  0,202,146, 92,217, 15, 35,128,118, 33, 48,162,239,  5, 91,253, 15, 16, 64, 44, 68,102, 24,131,
- 56,221, 76,235, 28,226,235,  0, 50, 46,224, 54,190,119, 92, 65, 92,138,193,192,140,145,135, 95,127,215,170, 55,255,126, 63,255,
-248, 89,139,227,223,133,109, 75, 63,255,103,224,213,196, 94,  7,  0, 99,158,155,139,229,223, 63,214,143, 31,217,216, 88, 88, 56,
- 57, 89, 29,173, 24,254,  1, 19, 33, 35,235,171,119, 12,108,172,172, 44,140,191,254,252,254, 77,108,110, 37,177,236,134, 31,217,
-  8, 57,136,106,235, 13,214, 31,191,127,167, 39,154, 16,172,  6,  8,214,169,248,246,127,214,131, 50,  3,228, 22, 36,172, 82,196,
-128,219,123,249,122, 86, 69, 66,216,197,161,203,213, 92, 62,145, 81,250,247,245,245,  1,115,123,113, 27,244,226, 39, 60, 57,220,
-193,225,163,154, 26,176,233,189,217,214,118, 18, 92, 48, 42,138,  1,124,135,219,148,229,171,240,213,  1,144,210, 31,114,176, 87,
-120,120, 56,228,212, 35,130,  5, 34,214,182, 63,228,192, 12,184, 59, 51, 50,136, 45,253,201,  4,198,125, 12,176,139,218, 65, 21,
-128, 81, 47,195,185, 98, 26, 89,  5,172, 29,167,  7,166, 41, 58,185, 50, 48,255,100,100,101, 98,100, 97, 98,100,102,253,255,159,
-241,223,215, 63,255,255,254,253,255,235,111,106,124, 86, 86, 93,254, 93,113,113,146, 54,181,145,  1,128,121, 65, 82, 82, 18, 24,
-206,  7, 15, 30,188,113,227,  6,176,254,182,180,180, 60,121,242,164,182,182, 54, 65,189, 71,246, 46, 15, 50,248,118,246, 51,115,
- 84,253, 23, 27,195,137, 57,  5,225, 61,229, 31,202,123,150, 42, 25, 70,225, 41,220,225,197, 11, 48,138,209, 68, 40, 57,143,114,
- 36,  0,128,  0, 98, 33,166,144, 90,182, 99,169,178,138,114,122, 83, 42, 49,117,  0,121, 23,112, 91,221,220,167, 45, 47,203, 40,
- 37,203, 16,152,245,255,235, 87,134,119,111,133, 94, 61,253,125,116,235,215,119, 63,185, 25,254,190, 56,184,233,159,148, 10, 63,
- 63, 63,214, 26,  0, 88,250, 63,125,206,114,245,182, 56,232,200, 66,  6,102,126,222,191,134, 90,223, 21,229,153,216, 88,152, 88,
- 89,216, 68,  5, 24,127,254,252,  1, 63, 67, 31, 15, 32,245,  2,110, 72,233, 15, 41,250, 65,126, 63,242,251,251, 47,208,  5,191,
-206,229,187, 59, 59, 93,  9,154,115,183,227, 46, 43,227,109,104, 52, 48, 62,101, 20,209,128,177, 95,137, 38,226,219, 28, 15,108,
-251, 35, 95,102,130, 34,149,190, 26, 44,133,175,249,255,230,178,100,205, 20,255,255, 12,255,219, 11, 54,152, 59,168, 45,155,118,
-184,119,117, 20,195,234,255,245, 69,211,164,212,137,109, 74,127,121,152, 46,205,193,240,237,237, 85, 96,227,139, 87, 76, 15, 82,
-250, 79,159, 62, 29,171, 98, 94,129, 43,106,106,192, 50,247, 24,176,159,112,242, 36,  3,248,206, 62, 16,128,239,240,143, 12,155,
- 50, 99, 78, 53,211, 63, 89,172,218, 33,165, 63,176,237, 15, 44, 83,240,220, 59, 70,176, 41,  3, 41,253,145,234,131,244, 25, 51,
-176, 39, 75,166,176,247, 12,176, 20,195,  8,198,255, 66, 81,101, 25, 33,163, 50, 32,202, 27,181,207,195, 20,254, 30, 50, 96,  3,
- 26,126,252,151, 80, 80, 80,  0, 17,  7, 50,128, 53,  1,147,106, 50,212, 96,176, 26, 52,189, 44,225,232,246, 34,223,195,  8,146,
-197,109,239,143, 31, 63, 36,228, 21, 24,254,253, 98, 98,103, 96,100, 97,254,243,249,227,143,123,247, 95, 63,121, 42, 99,229,192,
-200, 38,192,248,251, 23,  3, 51, 83,103,102,137,235,172,134,162,162, 34,178,203, 11, 92, 71,140,192, 75,100, 96,122,248,254,253,
-187,144,144, 16,176,125,  0, 12,237,251,247,239, 47, 88,176, 64, 83, 83,243,195,135, 15,  4, 59, 88, 64,189,242, 76, 39, 37,229,
- 60, 62, 28,188,252,241, 61,251,226, 45,127,182,157, 88,146, 23,202,201,242, 13, 24,107, 81,216,251,187,163,  0, 47,192,140, 44,
-180, 62,  1, 64,  0,177,224, 47,250,129, 65,236, 88,101, 63,235,224,204, 52,134,244, 11,139, 46, 51, 88, 19,182, 18, 82,238,127,
-251,182, 20, 24,167, 63,126,204, 19, 18,218, 67,204,  5,220,234,111,174, 51,104,104, 50,120, 37, 48,124,126,195,248,246, 29,131,
-184, 36,195,167,119,188,204,255,249, 56, 24, 36,126, 50,188,250,242,225,251,190,245,252,129,  9,216,135, 62,191,177, 92,191, 45,
-  4,236, 60,114,179,126,103,102, 98,  6,182,125, 94,190,228, 86, 87,249, 39, 35,201, 24, 23,250,247,255, 63,166, 15,239, 88,136,
-169,  0, 72,189,128, 27,185,244,103, 96, 97,190,247, 28,148,123, 31,189,252, 33, 39,206,161,154,176,185,179,211, 23,191, 33,192,
-210, 31, 88,238, 51, 51,190,249,251, 95,132, 93,140,145, 59,226,217,191,127,239,126,252, 88,253,247, 76, 25, 37, 61, 21,130,181,
- 87,245, 20, 63, 75,161,154, 41, 27,146,121,152,228,128,220,172, 92,117,125, 51,165,165, 83, 15, 54,246,101,207,156, 73,108,103,
- 25, 88,  4,165, 23, 94,129,132,191,141,141, 13,176,  2,192, 85,250,131,106, 68,135,183, 12, 12,151, 24, 24,174,124,120,201,163,
- 42,199, 48,123,246,151,253,251, 25, 84, 85,129, 78,  5,149,114, 64, 65, 80, 23, 83,247,250,165,139,178, 88, 75,127, 96,219,246,
- 31, 24, 48,128,239,147, 33,181,192,130,179,145, 75,127,  6,208, 52,  0,206,216,  1,118, 11, 32,101, 56,214, 90,246, 31,172,220,
-  1, 54,118,128,225,176,249, 16,202,132,219,244, 25, 51, 33,253, 11,  5,  5,  5, 96,246,153, 56,113, 34, 68, 28,200,  0, 86,  0,
- 59,119,238,132,159, 91,201,128,161, 23,210, 29,  1,234, 74, 77, 77,197, 50, 62, 14,235,244,204,154, 61, 27,104,239,150,195, 79,
-209, 74, 67, 22, 94, 94,  6, 86,230,191,223, 62, 92,223,182,119,233,170, 53,211,158,129, 44, 58,213,200,167,106,231,245,243,209,
-227,171, 23,207, 94,190,127,235,227,139, 23, 87,174,  0, 35, 78,130,140,210,  4,243,216, 53,204, 18,252,217,179,103,181,181,181,
- 61, 61, 61,191,126,253,  2,102, 73, 94, 94,222,175, 95,191,158, 58,117, 10,127,178,132,232,253,240,228,104,227,252, 71,115, 11,
-164,222,125,  5,246,230,153,100,  4, 57, 94,188,249,149,222,245, 71,223,196, 88, 14,119,175, 14, 82, 13,192, 35, 26,147, 49, 10,
-208, 74,127,228, 90,  1, 32,128,152,112,229, 25,200,185,231,136,222,186, 71, 52, 49, 22, 64,110,128,249,246,109, 25,164,244,231,
- 56,253,224,219, 78, 21,  6, 66, 55,195,200, 28, 92,193,250,251, 59, 35, 43, 35,195,243,  7, 12,191,255, 48, 60,190,246,255,229,
-115,198, 55,207,121,254,252, 99,101,248,207,244,159,231,205,183, 63, 29,187, 79,224,210, 46, 45,193,226,226,192,160,173,246,139,
-133,153, 21,216,228, 23,225, 97, 55,212,103, 98,101,101, 99,103, 99,255,255,143,253,225, 19,118,208, 21,126,255,136,106, 44, 64,
- 46,224,134,  4,  2,254,211, 58,129,178,200,151,138, 68, 78,120,178,247,236,123, 96,233, 15,169,  3,110, 63,249,206,224,178, 10,
-191,  9,192,210, 31, 84, 13,124,190,204,205,125,135,157,227, 51,176,244,255,253,251, 44, 51,179,210,175,175,111,105,151,  2,238,
-158,255,  2,140, 26,120,233,255,252,230,127, 35, 95,230,220, 22, 87, 27, 87, 96,247,252, 63, 88,150, 48, 88,182,108, 89,113, 27,
- 35,143,168, 46, 48, 76, 61,  2, 51,143, 28, 57,130, 71,241, 63,166,199, 98, 98,208,210,255,243, 91,208, 41,217,250,250,160,210,
- 63, 46, 14, 90,250,127,126,203,  9, 68, 66, 92,207,177,106, 15,  9,  9,113,116,116,116,114,114, 10, 15, 15,103, 70,  5,112, 17,
-252,174, 69, 75,201,196,214,112, 72,101, 19,  4, 96,114, 25, 25,176,180, 43,224, 26,221,220,220,208,218,218,192, 78,  0,228,216,
- 62,196,240, 37, 42,216, 48,115, 38,176,116,134, 24, 14,247, 38,124,112, 28,206,197,106, 47,219,255,255, 76, 92,236,191, 95, 60,
-156, 89, 83,179,224,235,135,247,246, 22, 16,241,185, 75, 22, 52,148,164,168, 21, 69, 54, 93,222,183,234,253,125, 87, 63, 63, 34,
- 59,184,192,226, 30,152, 11,206,159, 63,143, 84,101,206,192, 58,202,  7,  9,144,203,151, 47, 31, 60,120, 48, 50, 50, 18,216, 75,
-251,242,229, 11,228,  0,109, 96,191,132,135,135, 39, 44, 44,204,218,218, 26, 87,209, 15,210,123,124,237,173,157, 69, 69,149,189,
-155,235,165,174, 63,101,249,248,133,249, 31, 35,195,219, 47,191,254, 11, 43, 23, 86,181,250,  4,196,224,172,170,129,213, 56, 56,
-195,206,  4,  3,172,140, 81,128,171,244,  7,  2,128,  0, 98,193, 90,244,147,209, 49, 68, 19,  1,150,254,104,221,  2, 60, 23,112,
-243,127,120,252,159,241,  3,227,249, 99,255, 63,125,102, 20, 19,103, 96,227, 97, 60,179,151, 65, 84,140,129,153,229,207,175,255,
-191,254,254,123,247,143,225, 63, 35, 46, 87,253,127,243,142,229,248, 25,118, 41,113,150, 80,255,223,172,172,192, 54, 16, 35, 51,
- 51, 11, 51,248, 14, 11, 14, 54, 70, 49, 81,134,143,111,255,146,116,207,  1, 49, 23,112,163, 52,255, 25, 24,150,231, 72,194,217,
- 38, 21,247, 88,255,191,249,205, 40, 66,240, 10,111,142, 47,251,133,154,150,188, 46,206,120,243,142, 83,234,247,213,191,127, 65,
- 21,198,195, 11, 18,180, 75,  4, 93, 51,138, 83,220,102,194, 75,127,136,160,133, 96,141,149,118,136,165,208, 85,160, 44,193, 60,
-179,116,233,210, 67,135, 14,189,125,235, 44, 44,188,151, 71, 68,  7,152, 90,152,152,152,240,204,179, 61,122,  4,172, 44,175, 64,
-198,141,128, 30,126,247,149,193,204, 12, 60,  9,113,155, 97,234, 84,134,207,159, 24,190,126, 97,248,242,149,129, 91, 16,223, 36,
-  4,230,136,255,221,187,119,129,100, 91, 91, 27,144, 84, 83, 83, 35,111, 52,  3, 30,221,120,148,229,231,231,195, 91,241,200, 69,
- 57,126,195, 21, 21, 21,225,163,255,112,  0,233,  4,  0,165, 16,157,  0, 84,144, 44,173,118,235,234,181,167,130,130,192, 32,205,
-203,203,155, 52,105, 18,241,246,218,254, 20,248,255,239, 75, 74, 91,181,110, 72,200,204,182, 54,248,253, 45, 51,111, 67,  2, 31,
-116, 76,255,238,221,187,129, 86,131, 51,248, 55,130,165, 63,164, 75,  7, 12, 28, 96, 43,219,192,192,  0, 88, 19,  0, 53,102,102,
-102, 62,254,140,165,138,125,242,228,137,191,191, 63,208,107,219,182,109,131, 92,153,201,  0, 94,210,195,  0,190, 71,  8,207, 60,
- 45, 80,252,222,205, 11, 13,101, 73,194,170,171,207,175,142,191,244,152,241,209, 75, 22, 96,171,239,231,175,223,239,254, 11,103,
- 39,103,145,183,  4,136,146,123, 77, 70, 20,  0,  8, 32, 44, 67, 64,192,106, 28,153,251,225,233,123, 98, 74, 76,120, 15,  0, 60,
-  4,  4,138, 48, 96,243,159,253,202,211,191,  2,160, 70, 31,254, 11,184, 47, 60,120,245,147,251,175,250,247,243,210,143,110, 49,
-168,232, 49, 48,253, 97,224, 19,250,121,241,230,215,207, 76, 95,255,254,255,244,239, 15, 63,  3, 59,195,255, 63, 56, 18,208,191,
- 47, 95,152,217,152,255,124,250,200,116,234, 18,171,131, 57,203,191,127, 44,143, 31,179,158,187,194,201,195,206, 40, 33,202,100,
- 99,249,251,202, 59, 96, 33, 69, 90,130, 32,166,149, 84,190, 26, 20, 50,157,161,130,144, 66, 31, 58,176,243,255, 13, 43,176,117,
-255,255,253,162, 20,193, 72,188,119,210,177,190, 60,253,151,  1, 52,250,209,195,194, 31,249,242,225,153, 46, 25,110,  9,205,143,
- 79,159,190,120,240,140,166, 81,174,111,166,244, 21, 28,165,223, 56,175,113,125,215, 90,215,  8,157, 33,183,118,209, 62,190,138,
-112,219, 63,208,238,208,134, 13, 46,  2,199,247,244, 87, 51, 20,182,254,183,179,179,195,191,244, 83, 65, 70, 22,121,210,113,203,
- 22,208,220,239,178,101,192, 78,192,255,  9, 19, 24,155,154,190,128, 42,  6,  6,  6, 85,117,193,226, 66,124, 86, 67, 26,191,192,
- 14,193,202,149, 43,225,237, 98, 15, 15, 15,204, 82,146,248,106,158,160, 26, 96,137,  9, 44,178, 49, 43,128,190,190, 62,228,245,
-169,152,192,197,197,  5,126, 21, 59, 50,  0, 10,246,247,247,227,234, 16, 31,186,246,168,170,169, 36,185,190,172,242,215, 47,160,
-165,152, 94,  3,218,187,103,207, 30,172,101,162,157,150,220,188,185, 83,141,163,162, 26, 27, 27,177,214, 19, 64, 65,160,246,217,
-179,103, 19, 19, 56,192,210, 31, 50,197, 10,172, 38,103,192,  0, 80,  4, 88, 19, 60,198,182,198,252,247,239,223, 91,182,108,113,
-118,118,190,125,251,246,215,175, 95,129, 92, 96, 13,244,235,215, 47,200,181, 57,248, 75,240,159, 63,127,158, 93, 27,101, 23,212,
-180,243,224,221,251,207,153, 63,125,101, 98,102, 97,120,250,149, 51,175,162,154,160, 94,200,212, 14,254,177,160, 81,128,171,249,
- 15,  4,  0,  1,196,132,150, 37,128,192,  1, 12, 46,194,192,189,211, 15, 63,126,255, 40,108, 70,212,218,103, 72, 41,207,197, 21,
- 13, 44,253, 89, 31,190,253,207,200,200,150,252,150,129,208,  5,220, 44, 60,108,127,254, 51, 60,248,241,235,217,235, 55,127,175,
- 28,100,184,120,234,231,165,243,191, 63,188,125,243,253,223,251,175,156,183,127,254,127,203,192,252,227, 47,214,210,255, 47,176,
- 63, 44, 45,197, 44, 47,247,159,133,153,  5,152,230,128, 45,255,175,223, 88,111,222,226,228,231,100, 17, 21, 98, 55, 53,100,226,
-224, 96,  7, 15, 89, 19,104, 68,144,113,  1,247,163,151, 63,246,158,125, 15, 47,250, 33,165, 63,251,191,135, 64,212,224,206,242,
-  8,216,244,197, 11,214,222,255, 39,218, 11,109, 56,223,255,250,247,201,221,167, 55,143, 94,125,241,224,  3,173,147,194,178,105,
-160, 10,254,211,171,255,192,210,223, 33,153, 37,168,158, 21,130,122, 87, 69, 49, 50, 48,226,207,108,254, 54,  7,227,139, 92,  4,
- 79,236,  5,230,186,141, 71, 29, 24,192,199,229, 19,180, 81, 77, 67, 29,169, 10, 97,152, 50,133,225,206, 29, 80, 63,160,177,241,
- 63, 28,  8, 10, 10,226, 28, 68,  2,143,221,255,  5,  3, 96,147, 31,216,246,191,  5,  6,192,162,176,164,164,132, 96, 56, 83,  2,
- 32, 77,117,180,242, 20,216, 39,  0,122, 31, 87, 43, 30,222,  2, 69,107,254, 67,  0, 86, 65, 56, 56,204,254,129,145,137,103, 78,
- 85, 43,207,150, 61,192, 44,  3, 63, 83, 58, 93, 85, 39,223,216,138,139,139, 11, 88,221,214,214,214,  2, 61,142,121,139,214,220,
-167,183,158,107,107, 73, 75, 75,  3,131, 11,179,198,130,244, 63,136,239, 27,193, 23,216,  0,155,252, 12,176,205, 19, 88, 47,146,
-131,120, 86, 86, 86, 22, 24, 17,192, 78,134,138,138, 10, 11, 11, 11,164,134,182,176,176, 32,166,169,174,172, 97, 56,107,151,192,
-165,109,245,182,150,154,220, 28, 76,220, 92,127, 57,217,127,122,250, 19,117,183,  1,176,188,130,184, 19,207, 88,208, 40,192,  3,
-  0,  2,136,  9,107,152,  2, 65, 62, 24,  0,185,205, 25,205,191, 95,253,225,228,228, 32, 50, 52, 33,117, 62,151,251,157,255,204,
- 76,181,235,190, 49, 16,113,  1,183,178,169,227, 55, 14,161, 23,255,217, 78,255,100, 60,249,254,247,229, 23,255,111,190,100,188,
-249,145,243,213, 55,174,  7,127,190,124,251,245,239,212,199,111, 88,111,224, 99,100,100,102,100, 96, 18,224,101,178, 52,102, 14,
-245,255,235,104, 14, 76,123, 44, 34, 66, 44,142, 54,140, 78,246,204, 86,230, 92,194, 34,  2,236,108,236,192,226,159,137,233, 63,
-254,210,159,212, 11,184,129,138, 65,  3,253, 12, 12,103, 58, 64,125,133,157,165,160, 21, 74,192,134, 63,243,255,175, 63,153,228,
-129,236,119,239,222, 17,115,131, 43, 48,112,128,249,121,217,151,175,223,127, 49,197,175,152,243,138,131, 19,200,160, 93,124,151,
-132, 45, 63,254,174,117,217, 98,104, 83, 31,216,252,183, 16,172,129,176, 91,179,183,204,192, 61,  9, 12, 44, 20,250,107, 24, 18,
-138,156,  5, 78,236,113,236,178,103,242,102, 56,112,224,  0,145, 73, 66, 94, 94, 30,206,118,114, 98, 16, 16,  0,118,176, 24,204,
-245,121, 57,216,152,153, 97, 61, 51, 19, 83, 83,156,105,148,137,  9, 50,226, 15, 44,250,213,144, 64, 19, 24, 60,123,246,140, 96,
- 17,131, 60,136, 15,  7, 25, 25, 68,181, 16,129, 45,125,180, 27,181,128,133, 56,254,230, 63,242,220,  3,188,  1, 11, 97,163, 77,
- 68,163,129, 95,140,140,255,190,253,100,149,144, 79,111,105, 73,224, 22, 16, 56,112, 28, 58, 52, 20,147,208,208, 51,231,118,223,
-242, 58, 93,167, 48, 65,197,221,155, 54, 97, 54, 80,  2, 50,210,181,117,116, 32, 19,212,127, 97,  0, 62,128,134,204,197, 58,224,
-  3, 44,220, 33,115,188,144, 65,127,120, 89, 15,108,242, 67, 26,215,192,154,  0,200,198,229, 83, 86, 86,214,128,128,128,143, 31,
- 63,  2,107, 38, 78, 78, 78, 81, 81, 81,  1,  1,  1,252,183, 72,194,245,178,179,179,  7,103, 76, 90,112,218,228,193,227, 79,226,
-252,204,150,234,140,122,138,255,185,249,248, 70, 75,103, 90, 55,255,129,  0, 32,128, 88,240,119,144,225,141, 98, 25,123, 41, 34,
-219, 14,240, 11,184,217,146, 87, 51, 16,119,  1,247, 61, 61, 23,150, 59, 55,126,124,249,244,233,231,239,215, 63,216, 95,254,248,
-174,197,194,246,244,255,215,247,255,127,127,254,253,127,239,199,255, 15,126,254, 11,198, 57, 38,  3,108,182, 50,190,126,207,120,
-250, 52, 59, 59, 43, 27, 43, 27,155,172, 36,155,163, 45, 19, 27, 27, 11,176,163,252,240, 17,227,229,171,156, 98, 34,204,127,255,
-254,199, 95,250, 51,144,120,  1, 55,104,140,168, 51,140,213,121, 26,144,249,246, 45,116,218,150,237,223,243, 95, 76,146,217,186,
-183,158, 63,  7, 21, 19,248,203,199,140,117,179,224, 85,227,106,216,125,181, 43, 46, 31,163,233, 30, 46, 85,231, 79, 12,171,254,
- 31,221,115, 21,200,182,210,  6,237,170, 45, 43,168, 63,118, 85,187,103, 85, 84,213, 84,111,252, 14,  6,182,253,133,132, 32,163,
- 90,  7,192, 53,156,203,255,255,171,193,  5,235,255,213,171,241, 93,144, 27, 18, 20,188,123,231, 46,  6,240,194,127, 71, 71,198,
- 55,143,249,191,190,231,248,254,137,109,197, 66,198,252,252,255, 15, 95,125, 54,183,180,208,211,214,193, 63,  7,  0, 25,244,  7,
-166, 43,  6,240, 37,130, 16,241, 87, 96, 64,204, 56, 15, 48,102,129, 21,  9,114,249, 11,108, 50, 18,179, 11, 12, 50,104, 14,159,
-  9,128,244,  6,240, 55,255, 25,144, 86, 61, 32,175,231,193,191, 20,  2, 82, 87,253,249,252,153, 85, 68,136,153,139, 71, 59, 56,
-164,201,205,181, 10,178,148,211,208,232,239,247, 31,172,194,226,186, 22, 14, 10, 50,138,147,174, 31,215,209,209,121,126, 26,229,
- 70,210, 12, 80,210,  5, 85,114, 89,192,178, 27,188, 90,244, 15, 82,137, 15,108,148,  3, 69,224, 11, 76,189, 81,203,  2, 96,201,
- 14,244, 35,100,156,  7, 24, 98,144,161, 30,100, 89, 60,165, 63,196,217,192,226, 30,216,222,191,113,227,198,185,115,231,128,145,
-197,205,205,253,237,219, 55, 34,  7,235,197,197,197,253,253,253, 79, 28, 57, 53, 97,245,110, 62, 70, 54,117,241,159,119,222,112,
-219,168,255,134,215, 16,184,  6,244,129,226,240, 12, 59, 58,  4, 68, 30,  0,  8, 32, 22, 98,198, 73,129, 65,249,228,224, 51,134,
- 40,162, 74,127,120,137,134,102, 14,254, 58, 64, 86, 76,248,220,215,223,175,153,126, 63,250,241,147,243, 23,203,134,159,159,126,
-252,253,247,224,  7,195,233,111,223,129,241,234,225,225,129,107, 80, 30,146, 62,132,248, 24,117,117,254,220,186,205,206,196,200,
-248,251, 15,211,167,207, 76, 98, 34,140, 31, 63, 51,222,188,197,202,206, 10, 76,253, 44,255,254, 49,225, 47,253, 25, 72,191,128,
- 27,188,102, 52, 11,216,  7,  0, 54,246,129,253,223, 78, 87,134,242,221,118,  5, 58,199, 32,141, 68,130,205,127,228,142, 17, 50,
- 27, 82,198,225,111, 52, 49,212, 51,154,204,186,135, 57, 87,  1,221,  9,188,  7,223,229, 80,109,217, 91,170,167,250, 30, 95,245,
-223, 82,232,170,181,139,246,145,221, 87, 79,188,111,  1,214,162,173,217,155,129, 69, 43, 30,123,129,165, 63, 48,168,  3,  3,  3,
-103,207,254,  4,201,146,140,176,245, 40,161,161,136,232,222,124,216, 18, 83,111,118, 94,238,212, 73,147,129,205,255, 95, 47,100,
- 31,127, 96,255,  7,234, 59, 49, 72,126, 21, 47, 77,251,188,251,132,186,150, 37,190, 58, 15, 82,244, 67,110,121,125,241,226,  5,
-164, 79,240,242,229, 75,  6, 82,230,250, 32,147,153,104,163,231, 51, 64,130,233,120,214,131,194, 99,  4, 62, 19,  0,236, 13, 16,
-211,252, 71, 46,164,136, 87, 12,108, 50,191,120,248, 64, 81, 89,245,223,159,159,140,127,254,178,240,242,241, 26,153,240, 24,154,
-254,251,250,231,239,183,159,255,255,252,101,248,251,175,124,122, 79,120, 84, 56,102,227,250,207, 10, 65, 60, 38,163,201,250,111,
- 70, 87,  0, 44,226, 33, 35,254, 12, 72,247,  0, 35,215,  1,248, 61,168,174,174, 62,121,242,228,215,175, 95,187,186,186,158, 57,
-115,  6, 88,250,  3,181, 16,188, 51, 21,162,215,194,220, 60, 35, 57,227,254,147,251,177,201, 25, 39,119, 47,124,254,249,157,137,
-189,171,184,140, 26,122,194,198,150, 17,224,  5, 20,230,254,175,209,141, 96,196,  0,128,  0, 98, 33, 50,243, 16,217,246, 71, 46,
-209, 72,186,128,251,190, 77,164,160, 13,195,221, 89, 61,239, 56, 25,223,254,255,254,243, 31,179, 56, 11,  7, 19,199,191,255, 95,
-191,225,191, 19, 21,216,166,187,115,143, 81, 76,132, 65,128,159, 81, 71,235, 15, 59, 43, 51, 27,235,159, 95,127,216, 95,191, 99,
-120,246,244,173, 32, 47,203,237,251, 44,252,252,  2, 63,126,252,192, 95,250, 51,144,126,138,  3,100,223,128,137,  9,104,223,175,
-144,144,208,243,231,207, 11,116,158,195, 75,127,130, 70, 97,189,162,150, 40,  0,222,238,139,188,219, 14, 77, 10, 63, 16,214,123,
- 58, 99,230,140, 91,123,248,122, 87, 71, 30, 95,  5,234, 64,149,132, 45,  7,245, 12,240,150,254,144,136,  3, 23,244,159,192,121,
-143,  1,173,100, 91,208,187, 23, 72,114,203,  1,243, 33,150, 73, 66, 96,  3, 31,104,130,136,216,174,191,159,207, 48, 50, 51,124,
-251,193,201,248,249, 15, 11, 19,139,184,178,166,155,156, 23,203,127,156,206,  6, 22, 40, 42, 42, 42,148,167, 79,200, 48, 49,176,
- 14,128, 47,143,129,247,  3,136,159,  9,128, 20, 67,  4,155,255,100,  3, 39, 39,167,236, 85,179,154, 62,127, 48,176,183, 97, 18,
- 23,  4, 89,247,251, 63,232, 56,  7,  6, 86, 70,102, 22, 70, 54,230,217, 51,250,248,156, 77,148,149,149,169,190,  7, 10, 50,212,
- 51,125,250,116, 32,169,175,175, 79,146, 94, 96, 13,189,119,239, 94,102,102,102, 91, 91, 91, 96,240,162, 13,253,  3, 59,  4,192,
-130, 30, 45,216,225,  0,216, 99, 88,180, 96, 33, 27, 51,123, 72,100,  8, 80,141,141, 87, 10, 74,189,245,231, 15, 68,239,232,170,
- 30, 90,140,255,  0,  1, 64,  0,177, 80,203, 26,170, 92,192,109,146, 86,  2, 44,148,127,237, 92,199,244,237,231,219,191,255, 21,
-205,108,236,229,228,240,151,164,192,100,167,167, 30,  7,222,235,203,196,242,255, 39,184, 97,192,240, 26, 54, 42,192,202,193,160,
-165,137,179, 33,  6, 41,193,201,187,128, 27,110,  2,100,205, 40,188,189, 15,100, 16, 83, 30, 65,236, 37, 47,168,195,174,135,130,
-  3, 19,139, 59,195,  8,245, 30,224, 64,205,229,211, 76, 23,184, 59,137, 61,  7,  2, 92,202, 51,198, 23, 65,207,231,130,  4, 42,
- 80, 16, 88,238,115,203,133, 18,212,254,242,185,219, 75,  6,183,127, 76,143,249,249, 62, 50,  8, 49,128,142,127,248,197,192, 66,
- 98,210,162,  4, 64,234,  0, 50, 52,194,103,  2, 72,106,254,227,105,189, 98,  5,192,146, 93, 34, 47,111,194,174, 93,247,154, 55,
-132,178, 10, 11,128, 15,116,251,254,237, 79,126, 73, 37, 51,151,208,182,133, 51, 47,138, 48,186,145,114,152,207,223,191,127, 24,
- 24,136, 45, 58,  9, 14,245,224,242,221,173, 91,183,128,164,134,134,198,219,183,111,129,189,109, 96,169, 45, 44, 44,204,  0, 59,
-159,142,141,141, 13,210,105,195,170,247,212,169, 83,255,254, 48, 90, 89,235,  3,123,120, 64,149,191,126,253,146,145,145,129, 72,
-125,252,248, 17,216,209,  1, 26,194,206,206,142,167,221,  9,201,218,200,140,209, 33, 32,226,  1, 64,  0,177,208,200, 92,178, 51,
- 45,232, 62,236,204, 18,146,180,112,112,112,  2, 17,249,214,145,117,  1, 55,102, 53, 64,134,189,228, 89,135,199,181,180, 62,  3,
- 14,220,192,103,  0, 31,198,131, 44, 24, 74,146, 33, 76,255,100, 63,127,144, 29,168, 20, 79,222,209, 96,192, 86, 63,193, 17,124,
-172,128, 36, 93,192, 82,143,139,139, 43, 48, 48, 16,114,164,243, 35,216,145,206, 71,247,238,134, 28,233,236,108,225,140, 75,239,
-236,247,237,169,130,149, 40, 66,120, 79, 15,197, 85,  7,144,225, 71, 83, 83, 83,200,146,127, 96,119, 28, 88,130,  3, 25,175, 95,
-191,  6,146, 60, 60,160, 85,206, 16, 17, 86, 86, 86,172,254,245,241,241,129, 40,  0,234,133,116,211, 33,203,186, 32,171,194, 32,
- 34,192,138,  1,107,  3,110,116,145, 15, 49,  0,255,173,239,  0,  1, 52,122, 41,252, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,
-163, 55,130,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,
-130, 81, 48, 10, 70,193,  8,  5,  0,  1,196, 50, 26,  4, 67,  5, 24,226,184,220,  7, 15, 56, 63, 58,193, 51, 10, 70,193, 40,192,
- 13,  0,  2,136,134,151,194,211, 65, 47, 27,219, 46, 78,246, 23,172,108, 31,254,253,  3, 45, 73,  4,157,255,201,  8, 62,  5, 20,
-180,110,152,233, 63, 35, 11,136, 98,248,179,121, 43,235,255,255,255,245,244, 18,  6,131,155, 41,209, 43, 67,202,178,135, 39,168,
-203,224, 70, 47,209, 30,213, 59,170,119,100,234,197,  3,  0,  2,104,104,247,  0, 14, 29,185, 99,102,242, 91, 80,128,225,221,123,
-198,243, 23, 57, 88,152, 88,188,220,255,238,222, 47, 10, 44,246, 25,153,152, 56,120, 25,156,204, 62, 48, 48,176,216, 88,254, 63,
-117,134,128, 79,247, 31,  3, 29,106,207,250,255,183,185,173,211,199,151,143, 46,223,126,248,247,219, 15,250,220,172, 59,210,192,
-245,155,231,126,253,248,198,203, 43, 69,210, 66, 88,172,203,186,137, 92,  8, 72,137, 94,  8, 80, 84, 84,132, 28,229, 15, 57, 81,
-153, 36,255, 34,159,132, 72,222, 90,210, 81, 48, 10,104,  4,  0,  2,  8,189, 88, 92,184,104, 46,126, 13,241,113,201,184,164, 40,
+137, 80, 78, 71, 13, 10, 26, 10,  0,  0,  0, 13, 73, 72, 68, 82,  0,  0,  2,  0,  0,  0,  1,  0,  8,
+  2,  0,  0,  0, 74,242, 89, 48,  0,  0,  0,  9,112, 72, 89,115,  0,  0, 11, 19,  0,  0, 11, 19,  1,  0,154,156, 24,  0,  0,  0,
+  4,103, 65, 77, 65,  0,  0,192,153,201, 12,156,227,  0,  0,  0, 32, 99, 72, 82, 77,  0,  0,110, 39,  0,  0,115,175,  0,  0,246,
+112,  0,  0,129,232,  0,  0,107,215,  0,  0,226,170,  0,  0, 48,131,  0,  0, 21, 42,251,118,133,113,  0,  0,191, 47, 73, 68, 65,
+ 84,120,218, 98,244,137,169,101, 24,  5,163, 96, 20,140,130, 81, 48,242,  0, 64,  0, 49,141,  6,193, 40, 24,  5,163, 96, 20,140,
+ 76,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,
+163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64, 44,112,150,175,
+173, 12,241,218, 54, 31,126,130,204, 29,213, 59,  8,245,162,105,167,186,189,  7, 14, 28,112,112,112, 24, 13,231, 81,189,163,122,
+  7,185, 94, 60,  0, 32,128, 88,134, 71, 61,150,158,158, 14,103,207,156, 57,115, 64,108,159, 49, 99,  6, 35, 35,227,176,111, 50,
+192,131, 58, 50, 50,114,205,154, 53, 16,118, 72, 72,200,104, 99,106,248, 69, 52,253,179,210, 40,160, 51,  0,  8, 32, 22, 90,164,
+128,219,183,111,247,244,244, 64,216, 37, 37, 37,170,170,170,116,240,201,255,255,255,129, 36,253,139, 96, 96, 40, 61,120,240,  0,
+200, 80, 80, 80, 24,144,234,  7,107, 45,136,213, 37,192, 54, 59,126, 19,150, 47, 95,142,223,253, 64, 43, 86,173, 90,  5, 97,175,
+ 95,191,222,213,213, 21,194,  6,214,  4,180,171,  3,140,141,141,129,228,217,179,103,201,144, 29,153,224,222,189,123,157,157,157,
+112,110,121,121,185,146,146,210, 32,175, 54,  6,208,205, 35, 25,  0,  4, 16, 11,158, 66, 28, 66,146, 90,124, 67,138,161,198, 85,
+ 45, 60,178,252, 95, 30,127,172, 15,171, 25,216, 98,145,214,  0,232, 53, 96,209,255,  0, 12,118,236,216, 65,255,118, 19, 36,192,
+103,130,  1,144,221,213,213,  5,228,150,149,149, 97, 85, 28, 24, 24,  8, 97,252,249,243,247,215,239,159,191,126,254,130,128, 63,
+127,254,224,210,130,181,244, 71,  3,192,154,128,166,117,  0,158,218, 11, 82,  1,140,  2, 92,237,  0, 32,128, 20,172,116, 72,150,
+ 16,171,201,200,  2,  3,232,230, 17, 14,  0,  2,  8,103,  5,  0,108,194,175,170,173, 10,107,110, 35, 41, 14,128, 17,  9, 41,250,
+129,236, 55,223,222, 50,  8, 51, 84,238,109,248,116,239,125,122, 42,253,138, 69,204,196, 68,107,171,225,117,128,135,135,  7,144,
+  4,178,233,233,217,253,251,247,  3, 25,142,142,142,104,117,  0, 30,  0, 44,238,127,253,250,253,235, 23, 74,233,127,230,204, 25,
+ 19, 19, 19,130, 54,134,133,133, 65, 24,145,145,145,187,119,239,134, 87,  0,100, 68, 16,145,161,  4,108,221,  3, 75,127, 55, 55,
+ 55,100,193, 93,187,118,  1,251, 43, 16, 54,214,169,136, 17, 94,250, 35,135, 45, 25,229, 50,217, 90,200,232,  7, 80,203,205,163,
+128, 12,  0, 16, 64, 44,184,154,255,106,106,106,170, 60,124, 36,117,  2,224,165, 63,176,232,111,119,110,128,  8, 38,110,204, 98,
+ 16, 99,  8,236, 10, 35, 24,151,152,  5, 55,121,101,247,227,199,143,129,164,172,172, 44,156,  1, 49,153,186,135, 94,160,121,  7,
+ 94,  7,252,254,253,103,198,140, 25,148, 55,130,136,209,142, 86,250,195, 53, 98, 13, 73,148,210,255, 55,176,244,255,249, 19, 92,
+  9,192, 75,255,255,255,254, 19, 83,250,  3, 85, 66,216,189,189,189,240, 38, 63,124, 50,128,120, 55,163, 57,155,120,  0, 47,250,
+129, 53,144,161,161,225,104, 30, 70, 30, 69,193,154,120,224, 73,  2,168,128,224,184, 10,188, 67,  9, 73,195,112, 46, 49,205, 32,
+204,162,156, 96, 70, 64,115, 51,176, 73,193,200,200,232,226,226, 66,146,155, 33, 32, 57, 57,121,238,220,185,163,201,128, 36,  0,
+ 16, 64, 76,184,154,255, 45,225, 33, 63, 94,191, 46,209,214,128,143,230,227,  7,144, 33, 35,120,233, 95, 82, 82,  2,140, 66, 32,
+ 57,223,127, 26, 80, 92, 64, 93,  4,174,  6, 15, 40,155,122, 11,136,178,123,174,199, 55, 95,  9,170,188, 64,170,103,158, 60,121,
+130,167, 74,160,110,233, 15, 44,235, 49,139,108, 96, 29,  0, 44, 82,205,205,204, 72, 53, 13, 50,186,  2,  4,251, 97,  0,127, 33,
+ 14, 47, 73, 29,193,  0, 51,195,227, 46,253,255,130,138,253,159,160,193, 31,228,210,255,239,223,191, 95,191,127, 37,232, 84, 72,
+ 47,  1,185,163,176,  6, 12,136, 28,252,  1,185, 25,105, 36,  7,200, 38,232, 77,172,165, 63,176,232,  7,246,114, 32,165, 63, 43,
+ 11,235,104, 54, 38, 56,108,  2, 17, 68, 30,100,199, 95,148,147,215,  2,131, 40, 70, 46,253,113, 53,236,176,186, 25, 88,250,  3,
+211,210,234,213,171,247,236,217, 67,170,155,129,165, 63, 11, 11, 11,144, 28, 77,  6, 36,  1,128,  0, 98,194,211,252,255,246,226,
+185,167,161, 17, 49,  5, 55,164,206,  0, 54,255,129, 12, 72,233, 15,233, 52,  0, 73, 72, 29,240,228,211, 51,163, 50, 11,130,117,
+201,215,239,192, 98,232,239,243,183, 63,159,190,254,241,248,229, 15, 34,139, 78, 72, 10,195, 85,250,211, 14, 96,214,  1, 64,240,
+227,215,207, 31, 63,126, 16,111,  8,164, 28,135,140,173,139,138,138,194,155,198,248,115, 14,114, 59, 26,179,227,140, 39,223,130,
+198,253,129,197, 63,184,241, 15, 47,253,127,255,254,253,245,235,215,207,159, 62,211,122,116, 98,213,170,213, 48, 30, 35, 24, 50,
+  0, 69,136,175,  3,224,165, 63,164,232,103, 98, 98,226,224,224,224,230,225, 26,205,198, 52,234,215, 18,217,167,196, 90,121,160,
+141,  8, 17,163, 23,222,143,  4,214,  1, 36, 57, 27, 82,250,131,  6, 52, 70,235,  0, 18,  1, 64,  0,118,205, 94,  7, 65, 24,136,
+227, 36,208,224,238, 32,239, 64,124,156,250,  8,142, 60, 15,137,  3, 59, 60,150,176, 16,135,106, 75, 33, 90,130,  7, 37, 23, 98,
+180,158,137, 35, 55, 53, 13,133,210,143,223,221,253,219,224, 45,202, 79,199,121, 16,155,242,108,147,  0, 74, 32, 96,195,127,203,
+125,172,196,242,118, 31,125,125,131,106,123,169,205,173, 49, 87,101,132, 52,148, 31,120,185,252,131,193, 62, 22, 32,133, 20, 66,
+252,119,212,210, 52,197,131, 95, 84,252, 97,149, 67,125,215,182,116,  7,  0, 77,178, 44, 43,171,138,249,254, 46,138,144,254, 73,
+146,196,113,236,216, 54,240, 69,120, 12,125,192, 50, 47,113,159, 64,220, 39,254, 63, 70,250,247,150,254,224, 13,180,214, 74, 41,
+ 41, 73, 14,  0, 37, 32,107,244,216, 63, 47,114,111,240, 46,117, 61,206,154,157,179, 97, 24,125, 64, 81, 28, 56,167, 44,176, 37,
+253, 25, 99, 97, 24,110, 38, 35,246,124, 53,138,  2,249,  9,220,116, 45,200,161,  8,185,141,115,110,209,255,211,109,  2,164,255,
+ 76,180, 32,128,200,102,213,130,136,246, 20, 64, 76, 88, 71,114, 76,148, 85,127,188,126, 13, 44,253,129,108, 59,112,179,148,152,
+ 78,192,189, 43,119,144, 13, 65, 99,191,189,252,130,160,  9,164,150,254,240,162, 31, 88, 13,200,202,202,194,  5,127,195,  0,176,
+232,  7,182,109,223,189,123, 71,221, 80,131, 88,186, 99,199, 14,120, 63,  0, 82,250,235,233,233,253,  0,214,  0,223,191,195,107,
+ 38,252, 89,110,234,180,169, 64, 71,202, 72, 75,255,254,251, 23,173,244, 39,152,109, 32,117,  0,114,131, 11,178, 26, 21,107,191,
+  4,165,  2,248,245, 27, 82,250,159, 62,117,250,219,247,239,192,210,243,227,199,143,192,128,122,255,254, 61,241, 33,  0, 25,  5,
+ 34,126,232, 31,148,  0,222,188,125,251,246,205,155,183,239, 64, 52,152,  9, 20,212,208,212,124,  7,102, 16,211,252,  7,146,192,
+210, 31,218,240,231,230,230,225,225,229,229,225,  5, 50, 70,179, 49,174,210,156,248,  6, 56,100,  5,  1,156,129,139, 77,146,237,
+104, 35, 66,  4,117,185,184,184,  0,235,  0, 96,233,239,234,234, 74,124,159,  3, 88,214,  3, 75,124, 56,119,180,244, 39,  9,  0,
+  4, 16, 19,102,243,127, 85,109, 21,144,241,237,197,115,184, 32, 49, 51,  1, 37, 37, 37, 83, 83, 39, 50,128,103,125,129,138,225,
+171, 72,129,108,215,197,  1, 64,246,185,174, 19, 64, 53,212,117, 61, 60,109, 61,121,242,  4,210,228,135,148,251,208,238,203,215,
+175,192,210, 13,216, 30,231,226,162,254, 40,  1,208,234,140,140, 12,144,141,127,254, 92,187,118,237,252,185,115,250,122,250, 63,
+126,128, 59,  0,223,191, 47, 89,188, 24, 34,139, 39,185,247,246,246,106,105,106,  1, 93, 11, 12,165, 63,191,127, 61,125,242,148,
+108,239, 51,192,102, 32, 24,192,219, 17,240,245,  0,126,255,252,243, 23, 52,242,115,242,228,137,175,223,191,126,249,252,  9, 88,
+250,191,  7,149,254,239, 72,170, 38, 33,253,  0,146, 90,106,135, 14, 29,250, 12,  2,159,192,228,103, 17, 97, 97, 96,233,127,227,
+250,245,131,135, 14, 17,163, 29,210,252,103, 97, 97,  5,198, 38, 15,176,236,  7, 98, 30, 46, 78, 46,206, 23, 47, 94,140,102, 99,
+  8, 40, 47, 47,135,151,191,240,201, 85,  8,  3, 34,  8, 81, 64,100,179, 29,255,184, 16,254,210,159,248,182, 63,154,155,129,117,
+  0,176,244, 39,201,205,200,117,192,104,233, 79, 42,  0,  8, 32, 44, 67, 64,194,247, 31,188,  3, 15,254,192, 69,128,157,128, 30,
+134, 27,248, 13,130, 12,245,220, 56,123, 77, 64, 93,  4, 88,226,247,196, 66, 43, 12, 72,233, 15,105,254, 19, 92, 77,180,174,221,
+128,188,246,248,245,235,215, 33, 41,  0,121, 52,128, 21, 12, 94,191,126,237,229,229, 69,139,176,131,148,185,192,134,191,153,153,
+217,143,159, 63,191,255,248, 14,110,253,127,  7, 49,126,252,152, 50,101, 10,174,156,  3, 89,169,249,247,239,223,179,103,207,177,
+178, 48, 67, 66,230,254,131,  7, 79,159, 62, 93,190,124, 69,100,100,  4, 80,  4,222, 15,192,154,193,224,131, 78,104, 45, 56,130,
+ 43, 80, 33,109,255,227,199,143,127,253,242, 13, 82, 65,126,250,252,233,211,167,143,159, 62,125, 33,126, 32,  5,210,252,135,239,
+  4, 38,166, 26,  0, 42,134,179, 21, 21, 20,128, 69, 63, 40,181, 92,191,126, 31,220,107, 65,150,197,  3, 44,173, 44,217,217,216,
+ 57, 57, 57,129, 61,  0,118,118,118, 96,228, 82,125,122,127, 72,  3,228,213, 50,240,197, 51,240,154,  0, 77,  1,254, 66, 28,235,
+ 80, 62, 73, 61, 15, 34,171, 13,106,185, 25, 82,  7,140,150,254,164,  2,128,  0, 98,193, 28,255,113, 94,178, 12,171, 82,130,235,
+ 65, 33,205,  7,163, 50, 11, 97, 93,  9, 72,185, 15, 31,252,  1, 54,255,  9,166,  6,242, 22,252, 66, 44,213,212,212,188,124,249,
+ 50,188,  8,195, 28,244,  7, 42, 35,254,124, 12, 82,109, 71, 22, 89,178,120,  9,176,244,135,236,176,194,186, 30, 31,121,157,254,
+191,127,127,245,244,141, 46, 94,188,116,253,218, 53, 22, 86, 86, 96,201,248,228,233, 19, 96, 83,151,153,153, 57, 44, 44, 12, 88,
+  7, 48, 48,240, 99,154,  0,212, 14,201, 93, 16,219,209,246,  1,224,119, 48,176,244, 63,122,244,232, 23, 32,  0,205,250,126,  2,
+151,254, 64,226,243,151,207, 95,190,126,251, 70,208,179,192,162,255, 12, 24, 48, 96, 44,  3,197, 95, 13, 56, 56, 56, 32,  7, 20,
+164,220, 63,127,254, 60,  3, 17,219,143,141,193,  0,200,224,225,226,225,  0, 21,254, 28,108,108,108, 76, 76, 76,163,165, 63,250,
+ 24, 44, 82,185,185,122,245,106, 96,107,154,  1,117, 66,149,152, 37,149,200,109, 11, 82, 87, 51,147, 49,238, 79, 21, 55,195,235,
+128,209, 52, 64, 42,  0,  8, 32, 22,180, 86, 60,133,219, 46,224, 41,  0, 82, 13, 64,138,126,  6, 26,111,197,130, 88,170,171,171,
+123,250,244,105, 96,123, 31, 81,241,188,  5,205, 72,199,198,198,210, 52,  4,145,189,246,255,255,255,152,216,152, 41, 83,166,130,
+199,217,255,240,243,243, 19,172,231,110,221,186,  5,108,209, 66,244,  2,217,104,202,238,225,168,180,144,235,  0,200,108, 48,100,
+ 73, 40,254,112,134, 44,159,183,182,182,166,196,179,240, 53,160,164,158,  5,  4,212,123,224,192,129,229, 96,128,220, 51, 32, 50,
+109,  0,171,144,223,127,126,255,254,252,123,116,202, 23, 23, 32,184, 98, 18,168,128,200,208,134,239,  3, 32, 47, 51, 18,175,145,
+138,110, 30,  5,100,  0,128,  0,162,254, 97,112,192,216,  2, 13,253,119,209,245, 44, 32, 72,178, 51, 53, 53,221,182,109, 27,164,
+220,167,188,111, 65,222, 96, 20,124, 47, 46,214,210,159, 42,  0,243,204,  6,200,178, 81,130, 77, 54,170,132,  3,220, 16, 96,105,
+ 78,234,217, 15, 14, 96, 64,170,141,163,231,252,144,209, 22,161,127,226, 39,207,198, 65,226,230, 17, 11,  0,  2,136, 38,167,129,
+ 82,222,147, 32,187, 14,160,209,112, 63,237, 50,  0,229,134,143,230,150, 81, 48,228,146,241, 40, 24, 36,  0, 32,128, 24,169,123,
+ 64,194, 40, 24,  5,163, 96, 20,140,130,161,  2,  0,  2,104,244, 70,176, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128,
+ 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70, 43,128, 81, 48, 10, 70,
+193, 40, 24,161,  0, 32,128, 70, 47,133, 31,213, 59,170,151,230,122,113, 45,207,165,181,222,209, 56, 26,213,139, 31,  0,  4,208,
+104, 15, 96, 20,140,  2,218,  2,200,233,246, 16,146, 84, 64,204,145,250,163,  0, 43,184,121,243,230,104, 32, 16,  4,  0,  1, 52,
+ 90,  1, 12, 36,184,118,237, 90, 58, 18,  0,114,  7,191,222, 81, 64, 18,184,119,239, 30,228, 96,  3, 32,137,124,236,  1,241,165,
+ 63,228, 88, 89,178,207,228,193, 37, 66, 69,189,240, 59, 57,200,  3,180,168,222,128,165,127,127,127,255,104,242, 35,  8,  0,  2,
+136,101,248,121,233,240,225,195,182,182,182,131,223,157,144,116,223,219,219, 11, 23, 41, 46, 46,102, 32,250, 50, 72, 32,249,111,
+165, 32,162, 38, 15,159, 72,  7,189,163,128, 84,128,124,212,  1, 73,167, 26, 32,151,254, 64,146,145,145,145,248, 35, 22, 40,217,
+ 45, 72,134, 94,200, 57,254,120,156,  7,236,253, 64, 14,249,193,227, 89, 76,189,  4,117,225, 47,253,255,253,251, 55,107,214,172,
+165, 75,151, 70, 71, 71,143,166, 67, 92,  0, 32,128,134, 97, 15, 96,  9,142,195,236,  6, 91,233,159,159,159,143, 92,250, 67, 42,
+  3,160, 32, 49, 13,174,  5,185,220,200, 37, 56,164, 64,  7, 10,210, 84,239,199,143, 31, 51, 51, 51,225,183,208,188,120,241,  2,
+168,165,181,181,181,185,185,185,170,170, 10,114, 94, 63, 46,192,246,241,171,110,230,124,158,253,247, 33,220, 63, 47,254, 92, 77,
+255,113,169,149,237, 72,179,224,230, 42,249,115,187,164,135,107,  6, 35,227, 60,125,180,210, 31,  2, 72,234,  7,208,185,  7,  0,
+ 57,199, 31,162,114, 15, 24,160,149,227,248,111,248,130,235,197,212, 69, 70,231,  0, 94,250,  3,155, 83,192,210,255,200,145, 35,
+163,165, 60, 30,  0, 16, 64,195,173,  2,  0, 54,255,129,109,165, 65, 30,235,144, 33, 23, 57, 57, 57,120,195, 31,210,246,135, 11,
+226, 25,147,129, 72,197,217,176,193, 26,239,239,129,  8,194,134,  8,210, 72, 47, 16,156, 60,121,146,131,131,227,248,241,227,136,
+212,195,196, 84, 93, 93, 93, 91, 91, 27, 31, 31,191,117,235, 86, 60,122, 37, 78, 94,251,207,193,202,117,252, 17, 92,132,145,233,
+191, 94,245, 47,155,218,247,230,241,175, 78,111,149, 30,205,138,152,165, 63, 35, 12, 16, 89,  7, 32, 79, 24,164,163,  2,  6, 66,
+211,  9,148,232,133,215,  1,239,222,185,204,156,249,158,164,210, 31,107,253,  1,215, 69,106,175, 20, 88,250,247,245,245,  1, 67,
+ 12,152, 50,207,156, 57,  3, 44, 13, 70,147, 19,126,  0, 16, 64, 76,248, 11, 83, 50, 66,144,194,241,101,160,141, 16,141,228, 69,
+ 30,176,249, 63, 99,198, 52,178, 59,  1,244, 73, 49, 19, 39, 78,132,183,253,129, 69,127, 47, 24,192,235,  0, 32, 27,168,  0,143,
+ 94,120,251, 29, 88,124,223,222, 22, 11, 68,240,114, 28, 40, 69,188, 94, 72,155,148, 72,189,192,210,231,216,177, 99,192,222,244,
+163, 71,143,158, 63,127,142, 38,245,240,225, 67, 73, 73, 73,  6,220,154, 37,143, 93,121, 18,109,205,246,232, 35,227,115,248,161,
+211,144,171,220, 24,222, 61,100, 23,146,252, 62,204,242,213,189,123,247,240, 20,181,120, 38,  3,208,218,254,104,247,202,225,175,
+  3,144,111,224,154,137, 10, 24,  8,221,207,133, 44,251,127,149, 32, 50, 98, 32,241,110, 47, 72,185, 79, 82, 57,142, 92,127,  0,
+ 17,121,165, 63,176,123, 58, 97,194,  4, 96,219,191,160,160,  0, 88,  7, 64,218,130,211,167, 79, 31, 45,229,241,  0,128,  0, 98,
+193, 83, 20, 46, 93,186, 28,146,224,136, 31, 82,135, 36,205,152,152, 24,136, 22,160, 33,144, 50,133,200,184,  4,170, 95,178,100,
+  9, 80, 59,184, 40, 95, 66,146,213,240,230, 63, 36,159,144, 49, 19,  0,177,157, 84, 75, 41,  1,144,210, 31, 94,238, 35,115,  9,
+ 87,221,224,210, 31,194,  6,213,  1, 94,139,209,  6,118,240,235,133,199,  8,184, 14, 72, 39,168, 23, 88,196,255,250,245,203,216,
+216, 24,216,187,  2,118,  2,130,130,130, 64,117,198,191,127,237,237,237, 95,190,124, 97,101,101,  5,102, 63, 92,122,133, 30, 62,
+101,250,245,231,131,177,  2,235,145,103, 44,199, 95,254, 14, 82,  4,197,209,191,255,151,218,217,222,125,225,253,206,202,227,154,
+121,123, 56,101, 42,130,205,222,206,206, 78, 96,121,135, 57,192,141, 89,178,195,155,255,152, 42,  7,225, 41, 94,233,233,130, 72,
+ 53, 10,168, 97,  1, 12,  6,178,239,249, 32,181,237, 15,204,245,240,187, 33,109,108,108,128,217,121,180,244, 39,  8,  0,  2,136,
+  5,119, 81,184,108,230, 76, 80,240,101,100,100, 17, 89, 38, 66,198,181,181,180,180,224, 34,182, 96,  0,233, 19, 16,140, 81,120,
+233, 15,183,139,212,226, 24,232,230,152,152, 40,112, 13, 20,  5,100,147, 90,121,  0,173,131,223,103, 48, 36,166,145,233,  9,142,
+ 30, 61,106,110,110, 14, 44,143,128,228,134, 13, 27,  2,  2,  2, 32, 67, 64,149,149,149, 12,224,171, 23,150, 47, 95, 14,148, 50,
+ 53, 53,197,212, 43,127,244,204, 11,115, 77, 96, 97,246,213, 92,150,121,195,243,223,  1,138,224, 33, 32,  6,189,202, 95, 64,173,
+ 95,223,126,220,183, 92, 69,222,252,139,158,233,147, 97, 16, 80,248, 47, 85,135,131,213, 96,128, 89,136, 35,223,169,130,235, 90,
+105,172, 23, 55, 14, 56,  0,214,103,152, 75, 93, 33, 99, 59,164,  2, 50,116, 65,206, 12,103, 97, 97, 41, 44, 44, 60,115,230,204,
+232,208, 63,145,  0, 32,128,176, 87,  0,192,182, 63,164, 36,  5,130,232,232, 72, 32,151, 96,129,  8, 25,234, 65, 46,253,225,  0,
+ 34,  8, 84,128, 85, 22,169,248, 70, 41,253, 33, 12,160, 32,145,101, 49, 48,202,129,197, 19, 68, 49,144,  4, 86,  0,196,119,  2,
+224,165, 63,114,238, 34,178,206,163,164,253,130,220,234, 39,169,249, 15, 25,177,  1,182,250, 33,157,  0, 85, 82,154,255, 80,189,
+225,233,240,187,159,  8,234,253,253,251, 55, 48, 83,241,242,242, 94,186,116,233,239,223,191,159, 62,125,186,126,253,186,176,176,
+ 48, 92,  1,144,237,237,237, 61,109,218, 52,204, 10,128,249,247,111,217, 51,151,217,120,165, 89, 47,189,253,248,151,247,243, 39,
+182,191,215,191, 48,  8,115,192, 21,112, 11,255, 49,245,126,178,112,154,237,240,168,  0,128,161,138, 57,244,129,121,201, 34,164,
+  7,128,182, 97,135,164,181, 58,180,184,225,142, 26,222,127, 15,233, 10, 32,247,  6,136,239, 64,  0,195,141,140,210,127,233,210,
+165,135, 14, 29,250,191, 74,144, 49,236,125,127,127, 63,176,226,  4, 54, 77,102,204,152, 49, 90,190, 19,  4,  0,  1,196,130,181,
+ 52,  4,134, 32,114, 65, 12,172,  0,128,197, 43,176, 87,133,199,160,137, 19, 39, 66,134,110,176,  2,160, 20, 80,  1,158,244, 13,
+ 25,124, 71, 43,115,193,229,248, 18, 98,202,113,228, 46, 11,  4,196,198, 70, 47, 94,188,148,152,114, 28,185,244, 71,107, 97, 17,
+212,139,199,203,120,  0,176,159,  4, 47,238,225,163,255,200,179,  2, 64,  5,120,244, 50,133, 67,135,242, 33,117,  0,  3,210,154,
+ 78,166,240,247, 36,232, 13, 79, 39, 82,239,133, 11, 23,228,228,228,128,109, 43,  8,119,209,162, 69,199,143, 31,247,241,241, 65,
+ 86,243,242,229, 75, 14, 14, 14, 76,189, 10, 23, 46,124,144,147, 60, 89,152,  4,225,178, 45,186,253,247,248, 71, 38, 31, 20,149,
+ 31, 95,114,178,115,252, 30, 54,153, 10, 88,178, 43, 41, 41,225,185,235,170,188,188,156,200,107, 14,145,135,128,112,117,  8,  6,
+109, 32,144,161, 30, 82,113,146,164,119,217,178,165,  7, 14, 28, 96, 92,  3,106,142,236,170,225,117,107,249,108,103,103, 55,186,
+244,147, 72,  0, 16, 64, 44,152,165, 33,114,243, 31,222,  9,  0, 22,166,200,181,  2, 86,128, 71, 22, 82,148, 19,108,254, 99, 45,
+ 97,  9,118,  2, 32,110, 70, 46,253, 33,131,128, 64,  7,  3,197,129, 89,  8, 79,213,133, 89,250,147, 84,  7,144, 55, 82,  4,233,
+  9, 61,122,244,  8,178,230,  7,185,225, 15, 20,196,213,145, 66,214,187,232,200, 47,200,186, 29,228,198, 59, 80,144, 70,122,129,
+197, 61,178, 79,237,237,237,187,187,187,157,157,157,255,253,251,215,214,214,  6, 36,191,127,255, 14, 12,103,172, 49,168,126,252,
+248, 37, 91,  7, 56,247,143,189,228,223,238,199, 12,206, 98,255,255, 49, 92,106, 99,253,242,143,231,221,119,190,119,140, 66,126,
+ 49, 23,135, 83,190,  2,150,239,248,167, 91, 73, 41, 26, 87,129,200, 61, 97,196,244, 71,225,233, 22,235,106, 78, 60,247, 53, 34,
+235,  5,182,163, 73,210,139,217,138,135,220,225, 76,159,  1, 55,208, 52, 53,164,244,191,244,103,254,254, 95,224,242,106,180,244,
+ 39, 22,  0,  4, 16, 74,  5,144,145,145,  5,186,213, 54, 38, 10,179, 37, 14, 25, 23,  2,162, 25, 51,166,209,200, 41, 88, 11, 83,
+130, 53,  7,220,205,184, 12,  4, 86, 93, 64,132, 86, 61, 32, 87, 60,120, 50, 42, 48,121,209,104, 50,  0,158,217,200,216,  8,  6,
+ 84,144,144,158,158, 48,249, 43,234,102,174,247,180,211, 11,190,158, 30,  1,228,229,229,167, 76,153, 66,100, 89,182, 13, 85,239,
+ 63,121, 30,206, 41,154, 64,134,246, 76, 86,  6,  6, 96,171,255, 61, 24, 61, 28,174, 25, 12, 94, 16, 67, 24,116,184, 45, 14,107,
+ 73, 13, 23, 33,184, 10,136, 12,189,152,173,120, 34,251, 55,148,135, 45, 48, 25,  3,203,125, 32,123,193,254, 95, 43,142,253,  2,
+ 22,  5,163,251, 25, 73,  2,  0,  1,132, 82,  1,224, 41,220, 33,211,185,  4, 19, 31,217, 10,200,190,201, 22,127,133, 68,161,179,
+105,157, 93,175, 93,187,  6, 95,253,  9, 25,162,193, 63, 77,130,166, 23,178,131,151,158,122, 71,  1,169,160,188,188, 28, 62, 22,
+  4,100,211,199, 82, 58,239,  4, 30, 88,224,222,242,121,168, 56,117, 16,  2,128,  0, 98, 25, 13,130,  1,  4,192, 98,151,236, 36,
+ 59, 80,122, 71,  1,169, 99, 65,144,147, 18,128, 36,241,237, 98,148,213,159,176,193, 31, 92, 75, 66,113,141,231,224, 23,161,133,
+ 94, 90, 84, 93,248,  1,176,243, 10, 12, 22, 63,255, 52,104,119,115,251, 57,  8,195,203,211,104, 52,237, 17,  3,  0,  2,104,180,
+  2, 24,  5,163,128,182,192,197,197,  5, 88,  1, 16, 63,177, 73,121,105, 59,176, 61,  0,250,214, 22,255, 33, 59, 10, 71,  1,121,
+  0, 32,128, 70, 47,133, 31,137,128,243,231,141,239,236, 26,163,225, 48, 10, 70,193,  8,  7,  0,  1, 52,122, 28,244, 72,  4,163,
+165,255, 40, 24,  5,163,  0,  8,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,
+140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,136, 38,151,194,223,191,122,156,129,233,135,164,
+140,244,231,239, 95,223,191,253,170,166,105, 67,188,222, 35,231,238, 50,252, 99,127,249,244, 41, 55, 39,183,160, 16,183,185,137,
+ 34,241,122, 41,113,243,191, 55, 83,120,121,190,115,114, 51,179, 48, 51, 49,114, 48, 62,255,148, 79,188,222, 79,188, 65,130,194,
+130,252, 60,204, 12, 44, 12,239, 46,204,194,111, 47,167,244, 13,226,221,252,253, 41,202, 96,189, 20,215, 75,226,245, 62,251, 38,
+142,162,247, 39,  9,246, 62, 67,157, 36,144,254, 69,194,245,170, 79,217,212,  7,131, 94,109,108,225,220,217,185,186,188, 28,203,
+ 81, 51, 87, 81,195,153, 83,230, 23,  9,113,244,132, 13, 37,109, 72,147, 16, 71,155,159,162,196,209,143,159,220,196,235,229, 96,
+255,138, 98,148,223, 20,226,245,250,110,202, 65,230, 22,191, 32,225,216,156, 94,137, 12, 26,229,193, 81,189, 52,210,139,  7,  0,
+  4, 16,190,101,160,169,  7,138, 24, 29,227,103,253,215, 39,198,160,123, 87,118, 49, 50,252,227, 97,231,156, 63,115,217,194,133,
+ 19,173, 93,172,255,124,253,166,165, 97,247,239, 31, 67,118,217, 95, 45, 45,245, 59,119, 30,254,248,254,135, 87,210, 26, 83,239,
+209,243,175,254, 51, 48,126,249,249, 61,189,168,165,113,146,251,179,171,103,129,201,123,219,197, 39, 76, 76, 12, 19, 27,106,110,
+221,186,169,160, 32,207,206,201, 34, 44,200,142,197,222,117,211,216,216,216, 56, 57, 57,121,120,120, 68,  4, 56, 68, 89,121, 69,
+ 37,185,249,217,121,  5,216,152, 88, 88, 88,254,255,251,251,137,153,225,211,171, 79,135,121,117,113,185,252,227,221,169,188,156,
+ 31,249,  4,216,120,184, 89,217, 56,153, 88,152, 25,152,216, 88,212,165,103,255,254,207,124,239, 89, 18,126, 95,239,127,164, 44,
+ 34, 34, 34,206,243,227,251,143,159, 76,236,156, 12,191, 25,254,200,197,124,120,255, 78,228,243, 54,218, 85,218,179,102,205, 74,
+ 75, 75, 27,109,188, 16,  4,184,138,123, 82,213,  0,129,  4, 39,215,211,167, 79, 89, 57,216,255,113,113,209,211, 11,223,222, 93,
+ 56,182,119,  5,178,136, 75,104,199,224, 12,237,197,139, 22,177,179,177,253,251,247,143,155,135,199,215,207,111, 52,249, 13,  9,
+  0, 16, 64,  4,246,  1,252,223,187, 48,205,153,112, 29, 16,234,167,242,211, 73,232,247,151, 15, 44,127,153,204,244,100,226,227,
+161,205,103, 96,  9,126,226,248,  2, 17, 57,233,127, 95, 62,217,155,235, 62,123,246,126,207,249, 63,104,122,211,211,219, 24,216,
+248, 25,185,248,254, 51,255,191,120, 45,113,222,138,157,208, 38,249, 63,  6, 15, 75, 75,134, 47, 47, 24, 24,120,239, 94,190,206,
+ 42, 34, 96,109,161,195, 35, 32,134,197,122, 70, 38, 32, 98,252,207,204,250, 11,104,204, 31,102,102,102, 86,102,102, 54, 86, 16,
+249,251, 47,  3,227,159,127, 32,119,224,  0, 47, 46,182,  8,241, 51,240,113,113,137,138,  8,243,241,113,253,103,250,251,231,223,
+151,191, 12,127,121,120,184, 68, 36,100,148, 84,143,236, 57,136,253, 28,161, 25,187,127,241,243,114,243, 11,124,254,241,141,237,
+235, 87, 14, 54,118, 14,214, 31,127, 65,237,193,111, 63,190,126,251,254,232,189,206,171, 55,239, 62,189,126, 18,102,133,221,234,
+213,157,132,174, 73, 74,112, 17, 20, 23,196, 90,250, 83,177, 14,168,234,238,  6,146,109,165,165,100,232,173,236,234,  2,146,237,
+101,101,196,107,185,242,244,233,173, 91,183,128,140, 32, 71, 71, 34,181,204, 92,  5, 58,  9,  7,249, 86, 44, 32, 27, 66, 50,192,
+206, 71,  3,178,211,176, 29, 33,  9, 44,217,241,151,239,196,148,254,138,130, 66,223,127,253,  4, 50,216, 56, 57,126,125,255,241,
+239,235,183, 55, 47,158, 75,234,234,226,209, 34,169,172, 70,208, 95,252,242,154, 55,246,109, 36,168, 12, 88,250,219,184, 68,112,
+  8, 26, 16, 21, 88,161,239,  8, 42,  9, 11, 11, 91, 21,186,  7,171,148,227,158,215,112,182,150,  0,168,100,120,245,227,223,247,
+ 63,160, 16,254, 10, 38,103,154, 11,168,241,178, 98,213,219,211,211, 83, 85, 80,226, 31, 20,248,227,199,247,137,253,125, 83,166,
+ 76,201,201,201,161, 48,113,222,185,115,167, 27,156, 62,  9,110, 44, 56,126,252,248,131,  7, 15,222,190,125,251,249,243,103, 94,
+ 94, 94, 97, 97, 97,  5,  5,  5, 75, 96,233, 49, 10,192, 96,203,146,102, 56, 27,109,221, 63, 64,  0,225,171,  0,102, 59,244,  5,
+159,104,253,119,108,107,154, 21,  3,254, 58,224,231,151,119, 18, 42,206, 45,165, 65, 11,102, 30,128,136, 28, 60, 54,227,235,183,
+159, 94, 46,249, 86,214,  9, 17, 97, 78,156,156,236,191,254,254,249,252,237,151,154,  5,230,161, 61, 15, 25,126, 49,  4, 69, 79,
+ 79, 45,130,118, 45, 61,172, 28, 56, 56,216, 55,236,219,185,237,232,241, 69,243,167,253,248,254,147,141,153,133,135,139,141,143,
+237,239,157, 71, 47,208,171, 40, 96, 17,240,255, 31,  8, 49,253,  3,178,127,254, 98,103,  0, 86, 49,236, 12,255,127,253,253,203,
+204,  0, 44,202,255,254,250,247,231,239, 63,172,206,190,123,170, 93, 70,244, 63, 31, 47,183,180,140,162,134,174, 10, 47, 15,231,
+199, 47,175, 95,188,126,241,254,227,203,223, 63, 24,185,128,181,130,168,117,112,224,229,181,235,213,209, 52, 78, 95,250,248, 47,
+ 47,239,119, 22,  6, 54, 14,182,239,223,216,126,125, 99,251,193,193,206,194,  8,204, 37,204, 63,190,127,249,254,237,243,247,239,
+ 95,191,127,250,248,249,197,195,  9, 19, 30, 43, 27, 99,223,255,217,189,168, 27, 87,120,150,198, 97, 47,145,223,191,127,143,204,
+ 22, 18, 18,130,148,134,130,130,130,119,239,222, 93,189,122, 53, 73,181,  2,155, 56,116,252,  1,104,168, 32,185,105,107,214,234,
+213,217,217,217,191, 95,189, 34,166,244, 23, 19, 19, 11,114,115,251,205,206,222,219,219, 27,236,228, 68,204,241,150, 64, 15,246,
+ 52, 52, 64, 71, 42,234,235,123, 27, 27,177,178,113,105, 71,174,  3,128, 12, 99, 99,227, 61,123,238,185,184, 40, 17, 89,250,107,
+ 72, 72, 10,240,241, 65,146, 25, 55,  7,231,243,215,175, 62,189,255,192, 35, 32,248,240,244, 25,121, 83, 19, 60, 26,253,210, 74,
+ 98,130,125, 85, 21, 20, 32,220,250,222,201,112,169,198,226, 92, 32,249,104,251, 94, 51, 53, 89,162,134,122,136, 44,253,161, 45,
+ 11, 33, 66, 42,  8,239, 71,227,102, 97,188,216,152,204,200, 39,242,247,222,197,159,247,174,222,122,247,213,100, 59,190,248,157,
+ 49,115,102, 81,122,118, 92, 74,210,234,165, 43,128, 37,111, 75,103, 23,111, 67, 11,252,210,  8, 74,138,126, 80, 94,192,219, 58,
+  1,150,248,187,118,237,250,253,251,183,178,178,178,173,173, 45, 63, 63,255,135, 15, 31,158, 61,123,118,255,254,125, 32,233,230,
+230,  6,172, 15, 70, 75,127, 52, 46,114, 29,  0, 16, 64,232, 21, 64,218,109,216,209, 58,224, 29,118,255,255,125, 97,248,245,243,
+247,129,101,105, 14, 12,132,250,  1,108, 90,154,234, 76, 76,  7,110,125,120,203,192,112,253,227,211,219,192,254,242,198,173,147,
+190,189,249, 27,157, 88,  8,108,206,251,249, 90,254,101,225,193,165,249,214,173,235, 64, 53, 94,250,192,102,157, 20,  3,131,252,
+143,159,191, 66, 60,220, 56,  4,152, 22, 45,219,  1,108,190,175, 89,177,128,249,207,103, 77,121,246, 59,143,208, 53,254,251, 15,
+186,151, 10,  8,254,254,253,251,147,245,255,111,198,223,191,126,253,250,198,245,131,225, 31,  7,211,255,191,127,217,254,127,249,
+245,227,215,247,111, 12,124, 88, 44, 21,229,249,201,194,194,  9,108, 47,168,168,168,136, 75,152, 51, 48, 51,253,253,123,150,233,
+255,135, 31, 95,129, 85,198,215, 23,207,222,137, 10,191, 17, 22,176,150,148, 93,204,192,128,210,226,227,252,241,231,255,207, 55,
+ 12, 63,216,127, 49,253,254,202,198,242,133,147,149,133,149,141,225, 31, 55, 35, 51,227,151,175,223,222,191,120,120,247,236,209,
+119,143, 30,  1, 93,197,244,159,153,200,120,154, 55,125, 30,132,145,148,137,115,220,  9,249,158, 41, 32,187,168,168,232,209,163,
+ 71,192, 34,146,188,189,151, 83,167, 78,125,249,242,229,154, 53,107,188,237,236,  4,197,196, 72,213, 14,108,251,191,  7,151,140,
+144,131,225,210,195,  8, 28, 87,  9,108,251,  3, 75,127, 80, 66, 97, 99, 83, 83, 83, 91,187,111, 31, 49, 93,  1,202,207, 64,  6,
+150,242,192, 66, 31,114, 97,  8,156, 12, 13, 13, 37, 88,250,171,137,137,  3, 75,127,102, 38,166,172,152,232,239, 63,126,246,206,
+157,203,197,201,249,  3,  8,190,127,103, 98, 97,126,124,254,188,172,161, 33, 46,189,144, 82,254,246,131,  7,200, 92, 50,128,185,
+ 83,196,158,213, 21,174,126,201,255,217, 85,137,212,  2, 63,203, 19,114,155, 35, 86, 17, 92,  0,216,240,127,248,229,239, 65, 87,
+ 81,214,252,153,159,162, 21, 89,  4,197,  8,150,254,123,247,238, 85,144,148, 74,201,202,168, 40, 44,155, 50,127,134,153,145,209,
+140,201, 51, 10,202, 74,150, 90,154, 95,190,124, 89, 23,111, 87,  9,127,209, 15, 52, 25,200,197,175, 30, 88,250,139,138,138, 26,
+ 26, 26, 50,129,123,249,192, 28,199,202,202, 10,108, 24, 73, 72, 72,  0,235,  0,160,108,112,112,240,104,233,159, 86, 14, 29, 54,
+156,213, 89,129, 86,  7,  0,  4, 16, 74,  5,144,122,172,242, 27, 51,199,191,191,255,254, 49, 50,243,254,255,206,  0,108,  6, 51,
+ 48, 51, 72,171,177,254,250,250,127,207,188, 52,151, 36,188,117,192, 63,102,102, 72, 97,  7, 44,107,101,248,165,213, 31,222, 92,
+ 51,125,230,124,166,159, 92,110,142,214, 59,246, 30,253,246,141,129, 75,136, 31, 83, 27, 39,151,250,247,111, 55,129,197, 55,124,
+ 84,134,129,225, 25, 19,179, 67, 92,124,242, 63,246,175, 91,182,206,243,243, 77,226,226,102,248,246, 22,152,136, 37, 48,181,255,
+102, 96,102,  5,151,254,191,255,252,253,249,233,247,183,223,223, 62,112,178,252,254,198,250,147,229, 55,243,111, 70, 96, 65,254,
+233,251,159,175,159,127, 51,136,163,107,188,184,191, 83, 73,130,145,153,153,145,145,137,253,239,223,255,127,190, 61,250,249,247,
+247,211, 23, 31,223,189,255,242,241,243, 95,166, 31, 63,254, 48,188, 96,102,189, 32, 37,247,137,151,131, 19,211, 94,160, 87,255,
+127,254,241,253,243,179,191, 47, 63, 50, 43,203,  0,211,223,223, 63, 63, 63,188,120,112,243,212,241,215, 15, 31,129,139, 45, 22,
+ 38, 96,232, 50, 83,243, 12,119, 72,  3,127,214,172, 89, 33, 33, 33,  6,  6,  6,236,236,236,125,125,125,228, 25,  5,105,254, 91,
+232,232,136,139,139,  3, 75,112, 31,123,123, 41,210,235,  0, 65,112,185,207, 42, 38,  6, 52,  1, 72, 18,236,  7,  0,219,254,172,
+ 63,127,174, 93,187, 22,185, 43, 64,252,112, 16,217,  0, 82,238, 35, 95,201,  2,172, 62,  9, 86,  0, 95,191,125, 19, 21, 18, 74,
+ 12,  9,249,240,241,211,235,119,111, 89, 89, 89, 32,  0, 88,196,176,115,114,125,122,251,230,243,227, 39,188,178, 56,167,230,128,
+165,255,146,181,155,145, 43,  0, 72, 63,192,220, 72,207,203,209,158,  8, 87,127,102, 96,224,229, 21, 54,112,241,227,222,189,105,
+ 46,125, 70,255, 47, 45,156,240,115,199,124,177,217,231,128, 53,  1, 51,159,208,159,247,175,128,165, 63,176, 67,240,245,207,127,
+102, 28,195,168,247,239,220,217,182,105,235,194,217, 11, 39,205,157, 54,163,111,130,144,176, 80, 75, 91,203,162,101, 75,109, 45,
+172,231,205,157, 23, 20, 26,100,107,109, 75, 70,233,191,105,211, 38, 96,191, 86, 82, 82, 18,237,  2,106,180,145, 31, 96,219,223,
+200,200,232,207,159, 63,192,174,  0,  7,  7,  7,176,  2,184,113,227,  6,176,169,193,195,195,  3,236,237,189,120,241,  2,168,102,
+116, 44,  8, 81,128,148,119, 64,234,  0, 56,  0,  8, 32,148, 10, 96,182, 85, 59, 84, 29,211,229,255,251,230, 51, 10, 75, 50,164,
+ 76, 62,205,169,105,250,120,227,191, 89,181,204, 71,150,167,217, 50,205,250,135,165, 74,223,180,239, 93,154,202, 39,255,248,252,
+226, 92, 96,  7,226, 29, 48,225, 50, 48,252,148, 87, 55,226, 96,103,249,254,245, 39,195, 47, 80,197,  0,236,139,189,122,247, 30,
+ 83,239,132,254, 34,208,221,241, 39,230, 50, 49, 65,150, 49,128,134,107,254,125,191,250,227,231,111, 78, 30, 14,  6, 54, 80,197,
+240,249,211, 39, 49,164,251,167, 80, 60,240,239,215,191,127, 44,192, 20,240,243,231,207, 47, 44,204, 44,191,152, 24,158,127,250,
+195,245,231, 47,219,191,255,172,204,223,152, 89,254,124,253,246,229, 23,150, 69, 29,188, 60, 95,255,252, 97,252,249,235, 47, 48,
+123,223,186,243,232,201,243, 55,223,127,253,254,244,229,221,151,207, 31,126,252,253,197,  8, 76,244,223, 62,126,250,118,255,225,
+211,143,111, 63,127,101, 96, 80, 65,211, 14,116, 22, 36, 71,252,249,248,245,201,133,235, 47,175,223,255,244,249,206,231, 15, 31,
+254, 51,176,176, 50, 51,254,103,100,101, 98,  2,245,161,  8, 30, 83, 82, 26, 87,138,103, 44,  8,139,127, 89,160, 81,  6,204, 30,
+192, 26, 23,249,176, 73, 82,155,255,192, 90,  4, 52,198, 45, 42, 74,252, 41, 99,216,139,117,112,185, 15,172,  3,240,116,  2,174,
+ 60,125,202,  0, 62,251, 26,216, 34,131,244,  3, 64,197,205,165, 75, 64,114,221,254,253,248,235,128,226,250,122,200, 72, 23,144,
+ 93,210,208,  0,239, 19,224, 25,249, 65,  6,192,230, 63,218, 56, 50,228,208, 99,248, 88, 16, 86, 32,192,194,242,227,215, 79, 96,
+  8,223,184,119, 23,104,227,181, 91,183,127,253,250,205,196,192,  8, 12,127,160, 99,128, 45,142,239, 95,191,237, 94,181, 50,  8,
+233, 48, 87, 52,  0, 47,253, 99,130,125,145,197, 79,158,187,164,170, 40,207, 78,216,225,176,177, 11,118, 85, 96,209, 15,236,  7,
+  0,145,103, 96,242,111, 22, 85, 26,150, 16,239,158,179,201,169,189,202,230, 96,119,138,252,123,102,199,223, 79,160, 73,133, 87,
+217, 86,242, 51,143,255,253,135,189, 41,163,174,170,206,197,197, 61,105,206, 84, 71,123,123,115, 75,139, 93,219,118,222,184,115,
+ 11,216, 49,231, 96,103,183, 54,182,222,186,105,235,155, 87,111,  2,  3,  3,137, 47,250,129,205,246,123,247, 64, 81,118,234,212,
+169,140,140, 12, 60,189,219,  7, 15, 30, 40, 43, 43, 67, 24, 23, 47, 94,148,151,151, 87, 84, 84,124,255,254,253,153, 51,103,148,
+148,148,128,141, 12,160,  8, 80,106,180,  2,192,  3,  0,  2,  8,203, 28, 64, 26,227,197,255,  7,151, 49, 50,179, 48,228,206,205,
+127, 32, 57,169,111, 33,176,176,156, 94,123, 51,181, 77,157,121,207,172, 52, 89,205, 89,170, 89,192, 54, 55, 19, 19,202,224,134,
+ 10,159,204,149, 75,235,192, 76, 96,193,248, 21,124,212,251,111,134,223, 63, 89,254,  1,155, 14,160, 50,125,253,134, 93, 64,210,
+218, 19, 75, 25,177,227,242,127, 15, 67, 29,120, 23, 22, 88,202, 49, 48,176, 50,176,114,252, 97,252,251, 15,124,210, 83,120, 52,
+232, 76,249,135,199,102, 97,234,  5,166,203, 63,255,152,152,254,252, 97,250,245,243, 27,184, 27,248,157,153,153,251,207,247, 79,
+223,129,133, 48, 35,176,103,240,237, 47,195,183, 95,127, 48,253,249,231,215,191, 31,172,204,255,190,253,249,243,239,227,231, 47,
+191,153, 25, 89,127,254,249,253,235,255, 47, 32,193,192,246,143,137,145,129,145,253,223,199,239,127, 95,188,254,246,245, 39,250,
+196, 53, 19, 35,180,195,  2, 44,151, 32,103, 81,253,254,241,253,227,187,119, 76,192, 80, 99,249,207,240,159,133,153,145,129,248,
+150,255,205,135, 55,213,229,213,241,140,252, 32, 15,136,115,114,114,194,107,  2, 96, 62,129,148,254,192,106,128,159,159,255,227,
+199,143, 31,128, 53, 16, 17, 99, 38,144,230, 63,176,155, 12,225,230,228,228, 76,158, 60,153,188, 78,  0,220,  4,200, 64, 16,254,
+209,127, 70, 94, 94,160,131,203,202,202,128,141,232,223,239,223,  3,221, 92,145,147, 67,176, 31,128, 60,214,143,107, 62,  0, 83,
+ 87, 39,161,105,246,179, 96,  0, 97, 99,158,136,245,254,221, 59, 30, 94,222, 55,239,223,239, 63,121,146,133,137,249,231,239,223,
+223,190,127,  7, 54, 48, 33, 85, 17, 48,145,252,250,249, 19,127, 80, 99, 14,251,  0, 69, 32,157,  0, 85,  5,133, 71,247,238,144,
+ 20,194,192, 58,224,235,235,147,219,215,207, 37,163, 31, 64,112,228,  7, 14, 46,172,154,109, 16, 95,200,174,168,  7,202, 32,111,
+158,223,122,  7, 90,105,202,110,233,243,232,239, 31,174, 41, 39,177,106,249,244,233, 19, 59, 39,135,138,162,226,253, 39,143,223,
+190,126, 27, 30, 19,189,109,239,238,137, 29,189,235,183,109, 82, 85, 84,141, 11,142, 61,126,238,232,250,181,107,  3,113, 15,197,
+192, 75,127, 96,209,239,234,234, 10,169,161,159, 61,123,  6, 44,253,241,187,246,237,219,183,182,182,182,192, 60, 14, 44,229,143,
+ 30, 61,170,165,165,  5, 76, 81,178,178,178,192,206, 49, 19, 24,  0, 59, 16,240, 40, 30,  5, 88,  1, 64,  0,177, 96, 41,253,247,
+ 45, 96, 96,103,103, 16,146,251, 38,107, 62,169,101,  6,195,223,175, 12, 47, 62,213, 44, 63,152,225,159,193,176,103,225,163, 23,
+175, 25, 84, 25,254,253,253,131, 86,  1,220,249,244, 73, 77,128,239,207, 79,134, 59,  7,150,168, 56,184,131,199, 72, 24,126,255,
+250,205,202,192,244,229,  7,104, 17,133,135,131, 17,167,176, 52, 86, 71,120,232, 50,110,187,248,159, 21,216,220,151,115,255,245,
+232, 48,164, 19,192,202,198,254,155,225,  7, 15, 39,232,238,192, 77,219,150,127,127,251,216, 66, 89,  0,203,192,211,191,127,108,
+191,190,255,102, 96,  3, 86,  2, 12, 63, 64, 89, 20,216, 43,252,  9, 44,218, 89, 88, 25,126, 48,252,255,  7, 26, 26,  2,138, 96,
+230,128,111, 63,254, 49, 51, 51,254,254,243,251,199,207,127,159, 62,255,  0,185,246,223,255, 95, 63,255,  1,107, 31,102,160,110,
+ 14,  6,198,239,127,255,129,150, 16,125,255,252, 29, 95,  8,130,186,  2,255, 24,254, 51, 50, 48, 49,  1, 75,  7,230,127,255, 25,
+129, 12, 80, 45,248,143,  9, 88, 49, 49,254, 99,198,223,252, 39, 53,194,184, 96,203, 16,145, 75,127, 96,123,  7,216,  5,  6,118,
+131,224, 45,101, 98,154,255, 10, 34, 34, 16, 46,144, 65, 97, 39,128,200,209,255,255,159, 63,215,214,214,254,124,251, 22,114,253,
+163, 10,184,  6, 98,253,249,211,215,215,247,233,171, 87,210, 84, 93, 97,  9, 31,225,129, 79,  0,160,  1, 99, 99, 99,120, 15,224,
+234, 83,140,246,193,207, 95, 31,126,189,251,241,227,135,  0, 63, 63,  7, 48, 41,254,253,  3, 12, 88, 96, 89,243, 11,216, 17,248,
+253,251,223,159,191,248,195,249,246,131,  7,240, 25, 96,228,177, 32,228,153, 97, 82,  1,183,168, 57,176, 29, 69,134, 70,226,231,
+  0,236,119,191,126,165,176,  6,216,  9, 96, 84,212,147,159,127,254,205,143,127,220, 44,140,191,142,108,184,121,239, 62,174,  4,
+242,253,207,175,179,199, 79, 77,232,233,183,114,176,169,105,106,216,185,125,231,210, 69,139, 45,237,108,100, 21,228, 88,184, 88,
+247, 30,222,187,108,225,226,117, 27,214,110,221,186,213,219,219, 27, 83, 59,228,158, 28,120,209, 15,  1,192,118, 12, 49,254,  2,
+166,121, 96,137, 15, 74,192, 10, 10,192,216,  4,118,215,128,217, 31,216,234,103,103,103,  7, 54,134,128,130,188,188,188, 64, 53,
+ 35,185,124,  7,182,108,182, 44,105, 70, 27,246, 65,  6,  0,  1,132, 50,176,  7, 26,249, 57,188,148,129,147,227,193,167, 95, 12,
+223, 63,178,255,251,166,167,163,196,240,246, 27,195,175, 63, 14,250,106,160,133,153,191,127, 48, 51,130,135,104,254,253,197, 48,
+234,195,173, 15,143, 88,216, 25, 60,252, 10,151, 77,  2, 54, 82,126, 49,124,251,249,247, 59,195,134,253, 23,246,156,  6,221, 23,
+ 47, 35,167,  8, 90, 99,143,  3,120,233, 51,254,254,193,176,105,235, 14, 19,183, 92, 80,243,159,129,149,153,147, 33,204, 39,212,
+203,206, 31, 40,251,228,225,221,255,191,255, 98,111,221,  0,155, 99,160,201,234,191, 63,127,129,166,127,127,254,248,254,237,219,
+183, 47, 95,190,124,254,244, 17, 24,247,159, 62,127,249,241,229,203,247,239, 88,138,240,207, 95, 24,191,255,248, 11, 68, 95,191,
+253,254,252,229,231,251,207, 63, 63,124,250,245,241,243,239, 15, 31, 64,228,187,183,127,222,189,255,243,238,227,159, 55,239,126,
+189,124,131,101,  4,137,  9, 88, 28,  0,179,214, 95, 70, 70, 38, 96,153,255, 31,228,142,255,204,127,255, 65,195,243, 31, 56,187,
+ 16, 51,255,171,105,169,121,116,219,209,157,251,118, 66,234,  3, 96,111,  0,143, 98, 96, 18,103,129,133, 97, 23,120, 21,102, 69,
+ 69,  5,228,148,121,228,101,145,196, 52,255,197,197, 81,102, 69,178,179,179,183, 30, 58,244,140,136,197, 60, 88,  1,176,249,143,
+191, 10,  1, 54,243, 33,140,149, 43, 87,222,121,  1, 90,202,181,229,192,  1,184,224,205,155, 55, 69, 69, 69,105,148,  7, 32,165,
+ 60,242, 21,137, 16, 54,158,241, 31, 80, 69,203,199,251,239,239,223, 79,239,222,191,121,243,230,237,135,247, 95,191,125,  3,162,
+207, 95,190,124,253,248,233,243,135, 15,192, 84,246,235,199, 15, 96, 53,128, 75, 59,114, 41, 15, 47,253, 33,108,228, 21, 65,248,
+193,151,215, 39,247,172, 70,100,221,111,239, 46,208,186,188,120, 30,174,  0, 44,247,129,165,255,207,131,107, 30, 38, 26,  2, 75,
+255,195,174,162,127, 62,190, 54,217,241,138,  5, 71,244,  2, 91, 18,169,249,153,119,110,222, 60,126,224, 48, 63, 47,127,100,120,
+164,128,176,208,185, 83,103,120,216, 56,184,185,185, 37, 21,164,150,175, 88, 94, 81, 93,245,133,184, 50, 29,  2,140,140,136, 58,
+205, 31, 88,190,  3, 11,122, 96, 75, 31,216,234, 55, 51, 51,211,214,214, 22, 17, 17,225,224,224,  0, 22,253,250,250,250,  2,  2,
+  2,144, 85,161, 35,188,141,143,220,187,197,236,233,  2,  4, 16,162,  7,144,118,107,218,255,215, 15,126,176,114,236,121,197,  5,
+140,107,133, 15,207,153,215,181,108, 79,111,238,214, 82,145, 20,228,200,213,224,100,152,122,254,255,239, 95,143,153,193,227,  6,
+ 88,202, 25, 30, 96,138,  5, 82, 23, 47,109,214, 55,240,173,171, 89,180,113, 93,223,174,253,215, 29, 45,181, 89, 88,216,119, 31,
+ 62,247,159,153,229,215,223,191,248,221,234, 97,168,177,227,236, 13,134,222,142, 16, 95, 47, 31, 31,223,157,251,214,  3, 27,232,
+222,238,145, 76,127,127,179, 50, 99, 47, 78,129, 69,255, 95, 80, 73,251,151,  5,216,210,255,207,  2,108,  2,  0, 27,194,160, 37,
+  1,192,134, 56, 35,168,127,  0,233, 37, 96,233, 63,126,231,101, 98,126,207,198,206,  4,106, 53,255,253, 15,108,237,255,251, 15,
+236, 61,  0, 59,  1, 12, 76, 28,255, 25,153,129,173,121,198,191, 76,140, 63,255,254,255,240,245, 63,159, 56,214,  1, 25,196, 89,
+228,144,240, 96, 97,254,207,  4,170, 16,152,225,133, 33,168,110,192,221,252,  7,150,254,208, 86,234,130, 61, 64,  4,100,  0, 43,
+  3,  6, 47,124, 65,244, 15, 60, 20,187,102,205, 26, 72,222, 83, 84, 84,132,120, 16,216, 44,  5,122,156, 96,  5,  0, 44,253, 33,
+205,127, 69,234, 21,184,172,224,129, 35,111,123,156, 19,155, 86,186,186,189,189,189,192,102, 62,176,160,  7,246,  6,  2,192, 39,
+227,171,171,171,195,  5, 31, 62,124, 40,194,206, 46,  1,235,145, 80,119, 14,  0,  8, 32, 87,178, 32, 95,123, 75,240,210,218,247,
+111, 62, 50, 50,252,  1,181, 40, 94,126, 99,227,224,  0,109, 42,  4,247,  0,190,127,249,242,243,235, 87,208,132,211,135, 15, 30,
+184,239,158,133,148,242,144, 81, 32,115, 35,189,147,231, 46,193,165,208,166,  4,112, 54,111, 95,159, 60,121, 96,189,179, 87,  4,
+180, 50,248,120,251,230,165,163,100, 52,252,137, 31,255,  1,245,213,222,125,125,148, 98,250,255,254, 37,177,217,231,190,254,249,
+255, 41, 90,145,127,217,253, 79,137,194,192,210,159,  9,119,  5,159,157,147, 83,219,209, 34, 38, 44,242,251,223,223,219,143,239,
+ 69, 71, 70, 45, 90,178,100,227,134, 77, 81,209, 81, 63,127,252, 60,124,230,216,247,239, 95,210, 18, 18,246, 30, 63,142,185,142,
+  3, 24, 35,119,238,220,113,  3,119, 16,145,251,  1,111,223,190, 45, 45, 45,133, 79, 12, 96,  5,194,194,194,207,158, 61, 19, 20,
+ 20,156, 49, 99,134,169,169,169,161,161, 33, 27, 27, 27, 48,239,159, 56,113,194,194,194,  2,168,  0, 40, 43,140, 99,238,112,196,
+214,  1,104,  0, 32,128, 16, 21,192, 44,181, 44,135,175, 51,111, 61,121,255,220, 23,220,232, 56, 89,241,127,203,116,169,151,247,
+251,237,131, 24, 62,188, 99,104, 91,240,255,233,141,191,156,220, 31,222,129,186,239,140, 24, 91,171, 14, 30,216,104,239,224, 12,
+100,124,253,247,251,206,135, 71,192, 18, 89,133, 79,209,209, 81, 79, 92, 68,226,237,199, 79,160, 14,194,175, 63,207, 63,124,213,
+196,230,  8, 25, 57,203, 39,143,142,131,211, 44,139,  7,104, 37, 40,203,142,203,191,119,110, 89,243,242,205, 51, 97,  1, 80, 23,
+ 79,128,141, 85, 82,  0,251, 18,210, 95, 12, 44,108,160,150, 24, 51,176,209,205,244, 23,216, 71,249,243,151,149,  5, 82,250, 51,
+128, 23,137,130,182,  8, 96,  3,  1, 17, 21, 27, 22,151,112,177,253,103, 97,133,245, 36,126, 51,252,249,207,240,227, 23,195,223,
+159,192,134, 61, 35, 35, 27, 35,208,220,175, 63, 25,146, 19,186,208,182, 86,195,103,128,255, 49,  1,235, 13,208,248, 15,164, 13,
+ 14,236,  1, 48, 49,131,170, 35,160,236,127,102, 96,183,  0, 95, 39,  0, 94,250,163,177, 65,117,  0,174,225,166,191,127,129, 69,
+ 15,176,248,134, 84,  0,107,192,  0,200, 85, 86, 86,  6,218, 62,113,226, 68, 96,135,224,221, 59,124,187,129, 74,192, 96,199,142,
+ 29, 95, 95,162,156, 88,  0,172, 15,238,223,191,207,128,119, 83, 24,230,206, 47, 96,209, 15,172, 78,128, 65,231, 99,111, 47,141,
+123,254,  0, 88,178, 91,233,233,189,125,240,  0, 88,202,223,130,173,  5, 82,149,148, 44, 42, 42, 58,122,244,168,154,154,154,142,
+180, 52,158,105, 15,228,113,127,226,231,  0,144, 39,  3,202,203, 65,139, 62,239,221,131,182,253,225,219,  2,240, 44,  4,226,145,
+ 22,251,254,252,  5, 48,101,125,  5, 54, 50,223,188,  6, 38,174,255,255,255,253,248,241,227, 63, 24,220,191,118,253,247,175,159,
+120,150,  0,161,244,110, 29,237,129,  8,190, 36,148,152, 33,160, 47,111, 78,  1, 75,127,144, 51,184,185, 55, 34,117,  2, 76,108,
+  3,105, 90, 82,152,108,127,117,198,147,193,192,216,229, 85,182,149,196,180, 99,192,250, 64,144,141,241,237,187,247, 44,140,140,
+ 44,120,199,  8,227,226,226,224,236,205,155, 55,123,121,123,110,217,180,101,213,170, 85, 13,213,181,187, 14,236,101,102, 97,150,
+150,145,  6,  6, 36,  3, 27,150,133,124, 42, 42, 42,152,213,192,238,221,187, 25,  8,109,  1,  3,182,244,239,221,187,167,165,165,
+ 85, 80, 80,176, 98,197, 10,126,126,254, 27, 55,110, 32,143, 13,  0,101, 21,200, 29,112, 27, 33,  0, 32,128, 80,230,  0, 14, 24,
+166, 51,192, 86, 54,111,121, 37,224, 35,202,248,255,204,182,255,199, 55,129,234,126, 14,142, 31, 92,188,187,  5, 28, 94, 88,186,
+128,199, 34,208, 55,  4,222,188,245,235,200,137, 54, 80,153,200,204,  1, 25,174,184,243,233,121, 93, 78,210,183,111, 63, 63,125,
+  7,205,  1,252, 98, 98,119,242,  8,193,234,136,218,234,132, 29, 91,193,219,106,254, 66,  6, 91,254,120,232, 50, 70,100,245,113,
+113,177,243,129,231,  0, 88,255,253,144, 22,197, 94,190,176,252,255,243,139, 17, 84,  7,  0,139,138,191,192, 60, 10,204,169,127,
+192,115,182,140, 76,192,238,192, 31, 72, 69,133,163, 14,248,240, 93,224,251,207,183,108, 44, 32, 69, 64, 21,127,128,213,199,239,
+255,191,255,252,255,242,253, 31,168,249,207,192,248,251, 31,116, 48,  7,189, 32,  6,141,238,255,  5,194,255,192, 98,  1, 60,254,
+195,200,128,110,  5, 68, 91, 94,161, 35,174,115, 57,174, 31,191, 78,106,108,  1,211,244,247,239,223,117,117,117,149,148,148, 30,
+ 60,120,176, 10,188, 75, 22, 82, 25, 64, 64, 71, 71,  7,193, 58,  0,  8,176, 78,175,  5,199,199, 51, 16,177, 41, 12,178, 53, 23,
+ 25,248, 58, 56, 16,156, 61,150,128, 53,196,144,123,  3,192,134,191,137,186, 58,219,215,175,248,189, 76, 73,250, 70, 46,229,145,
+119, 81, 48, 16,177, 79,152, 83, 82,226,219,237, 59,127,255,252,249,244,254,  3,184,119,  5,138,226,247, 47, 95,125,122,255, 30,
+232, 42, 60,205,127,180,201,128, 37,107, 55, 35, 47,253, 68,158, 30,192, 14,190, 93, 60,177, 31,178,158,130, 97,227,106,208,  2,
+ 80, 35,251,  8, 33, 49,  3, 90,150,  3,255, 81,234,  0,134,217,  6, 25,117, 47,254,253,211, 95,112,234,148,135,184,246,150,151,
+192,210,159,151,149,216,131, 35,129,145,187,239,192, 62, 39, 87,231, 77,107, 55, 52,119,118,148,127,252,248,255,223,191,149, 43,
+215,138,136,136, 60,250,132, 83, 23, 90, 53,192, 64,104, 11, 24, 16, 88, 90, 90,  2,219,248,231,206,157, 51, 50, 50,114,118,118,
+222,191,127,191,156,156, 28,176,133,100,111,111, 15,140, 32,160, 56, 43, 43,235,  8, 95,  2,  4,217,  7,  0,239,  1,160,113,129,
+  0, 32,128,112,238,  4,  6,246,  3,230, 94,222,163,243,247,170,  4,235,199, 31,255, 89,110,255, 23, 96,126,253,233,133,  5,116,
+ 27, 33, 19,182,  1, 25, 81, 33, 67,175,132,184,191,255,225, 77,245,255, 95,190,126, 98,102,225,103, 96,226, 42,235, 33,176, 83,
+201,195, 91,103,195,212, 10,  6,166,111,240,130,148,135,135,255,239,239,247, 12,255,191, 62, 60, 54,203, 68, 79, 14,231,224, 50,
+176,145, 13,206,154,127, 24,152,217,254,131,171,  1,112,233, 15,106, 46, 51, 64,  9, 92, 32, 33,173,102,214,228,134, 63,191,223,
+177,128, 23, 57,131,250,248,127,254,255,248,205,240,233, 51,176, 51,240,255,207,127, 38, 22, 86,198,214, 38, 44,139, 91, 82, 82,
+ 64,195,199, 11, 23,220, 97,252, 13,106,254,131,186, 25, 32, 10,220, 74,250,207,204,  8,154,139, 98, 41, 46,113,195, 99,117, 74,
+115,202,131,187, 15,200,136, 81, 96,250,126, 15, 94, 63, 99,108,108,108,102,102,246,250,245,235,187,119,239,130, 22, 38,254,251,
+183,118,237, 90,130,117, 64, 78,124, 60,167,152,152, 15,182,225,154, 28,112,  5,192,137,187, 40,135,100, 72, 52,189,210,226,226,
+ 36,185, 31,216, 27,176,  6,247,  6,196, 56, 57,117,172,172,104,154,250,209,202,119, 96,136,161,205,  6, 19,172,  3,132, 85, 85,
+ 62,191,127,207,194,206,246,243,231,143,191,191,255,  0,  3,153, 87, 80,240,227,187,119,192,210, 31,127,243, 31,190, 17, 12, 50,
+  1,112,242,220, 37, 96,  5,  0, 31,253,199,181, 47, 76, 77,242,253,155,183,111, 86,173, 94, 14, 23,  9,139, 78,126,247,139,180,
+117,159,152, 99, 62, 24, 34,140,  4,251,  1, 12,219,161,  7, 57,168,108,132,238,189,255,248,251, 47,241,110,112,114,112,186, 40,
+120,209,205,219, 35, 53, 54, 89, 79, 95,119,211,198,205,199, 47,156, 77, 75, 75,123, 68,232,144, 50,120, 53,208, 13,  6,  4,119,
+ 56,  2,107, 11, 96,143, 97,203,150, 45,192, 38, 17,176,223,  0, 89, 11,119,245,234, 85, 96,219, 31, 88,250,195,235,146, 17, 14,
+208, 54,  3, 35,  3,128,  0,194,119, 20,196, 63, 93,151, 75, 12, 46,151, 72,177, 73, 71,199,122,210,164, 69,121,249,145,210,242,
+192, 84,251,147,149,157,227,201,243, 79,246,190,113,196,232, 53, 52, 84, 74, 72,  8, 91, 48,111, 29,195,191,135,192,150,253,159,
+ 31,223,165, 37,249,229,248,254, 16,208,246,247, 31, 11,211,191,223,140, 44,172,255,255, 64,171,  1, 32,241,255, 47,145,203, 90,
+210,114, 65, 67, 10,245,149,153,172, 44,140,144,115,131,254,254,253,251,225, 51,176, 38, 96, 96,102,249, 55,109, 42,190,244, 23,
+159,  0,218, 28, 48,111,238, 77,  6,200,137, 52, 76,192,238,  2,104,204,167,168,196,135,160,189, 31,191,124,196,122,212, 15, 65,
+  0, 44,131,128,157,  0,160, 35, 63,125,250,196,204,204, 12,100, 72, 72, 72,252,254,253, 27, 57,171,  0,235,  0, 92,103, 66, 64,
+154,234,130,100, 45,247, 20,130,  4, 41,137, 37, 62, 38, 16, 39,113, 88,150,236, 57,  0,180,146, 29,235, 90, 32,130,219,193, 20,
+204, 76,129,228,141,131,  7,127,124,251,254,239,239, 95, 77, 99, 99, 93, 43, 59, 30,105,188,  1,248,159,241,225,253,187,160, 25,
+ 23,  6,134,164, 32,232,148, 14, 80,  4,153,141,117,139,200,173,231,192, 36, 33, 24, 30,157,242,240,241,139, 19,135,182,  0, 69,
+ 86, 45,157,107,110,231,195, 43,110, 67, 76, 64,133,129,246, 97, 16, 62,233,225, 47, 35,246, 77,  8,143,  2, 37,182, 63,251, 65,
+173, 66, 71, 31, 12,206,156, 57,179,247,196, 65, 97, 17, 97,146, 14, 41,129, 84,  3,196,168,228,229,229, 13, 14, 14, 62,126,252,
+ 56,176, 25,116,234,212,169,209,179,128, 48, 71,255,209, 74,127,180,249,  0,128,  0,162,254,165,240,202, 26,166, 91,119,222,  9,
+240,230, 18,147,150,125,247,249,143,189,119, 44,241,122, 45, 77, 53, 44, 77,171,210,211,235, 24, 24, 94, 10,242,178,200,  9,253,
+ 35, 60,106,153, 88, 66,185,155, 27,219,167,  3,201,252,130,156, 95,223,127,255,  3, 47,181,236,159,218, 79,164,222,164,100,208,
+ 73, 65,243,230,220,248,247,159,185,178,194,159, 14,145, 10, 58,242,232,231,207, 95,191,126, 65,138, 69, 72,129, 56, 92,207,  7,
+ 37,120,194,  4,241,128,152, 83, 63,113,  1, 13,123,123,226, 21, 63,191,119,211, 92, 85,134,108,187,222,254, 82,225, 17, 87,113,
+  9,181, 33, 85, 35,174, 83,222,144,  0,211, 31, 70,246,239, 76,216,231,255,239,126,254,163,198,139,167, 64, 32,103,161,176,137,
+137,  9, 29, 18,137, 37, 24,140, 22,247,184,234,  0, 60,178,  0,  1, 52,122, 41,252,144,  4,163,183,186,143,130, 81, 48, 10, 40,
+  7,  0,  1, 52,122, 35,216,144,  4,163,165,255, 40, 24,  5,163,128,114,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,
+  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64, 52,
+185, 20,126, 84,239,168,222,193,169, 23,114, 26,196,104, 88,141,234, 29, 81,122,241,  0,128,  0, 98, 65,203, 30,196,232,193,154,
+133, 40,209, 59, 10, 72,  5,184, 10,178, 81, 64,106, 40, 17, 25,146,143, 30, 61,122,250,244, 41, 59, 59,187,136,136,136,156,156,
+ 28,221,188,  0, 63,243,117, 48,231,160, 87,175, 94, 61,125,250, 20,191, 26,105,105,105, 49,108,187, 79, 40,209, 59, 10, 40,  7,
+  0,  1,132,190,236,151,224,206,123, 60, 27,172,208,244, 98, 30, 77, 76,211, 51,135,233, 95,184,224, 87, 80, 80, 80,160,169,169,
+137, 95,187, 52,234, 25, 56,200, 57, 33, 52, 52,212,197,197,  5,143, 94,170,212,  1,238,238,238, 64,114,231,206,157,116,208,251,
+245,235,215,181,107,215, 66, 46,133, 15, 14, 14, 54,196,125,159, 34,166,103,  9, 94, 10, 63, 99,198, 12,172,173, 13,252,161, 68,
+ 76, 24,  2, 75,168,159, 63,127,  2,173,224,224,224,248,241,227,  7,176, 38, 56,125,250,180,190,190,190,138,138, 10, 46, 45,214,
+214,214,  4,253,245,252,249,115,200,181, 39,248,  1,176,244,135, 28,247, 77, 76, 88, 17,179, 23, 36, 44, 44, 12,127,186,130,  0,
+121,121,121,  6,240,121,203, 64,191, 67,226, 14, 79,154,  4,166,219,162,162, 34, 60,150,190,127,255,222,220,220, 28,107, 80,  3,
+245,106,105,105,225,209,251,242,229,203,218,218,218,209,230, 14, 37,  0,207,165,240,  0,  1,196, 50,108, 60, 73,255, 70,241,198,
+ 25, 30,184,164,  2, 50,119, 16,212,190,127,255,126,120,246,248,246,237, 27, 23, 23,215,235,215,175,  9,214, 46,123,246,236, 65,
+102, 35,103, 72, 32,119,245,234,213,196,  7,194,229,203,151, 33,133, 56,154, 57, 36,129,140,140,140,236,236,108, 98,174,126,133,
+220,  4, 25, 23, 23,  7,244,111,111,111,175,130,130,130,160, 32,225,189,208,192,146,119,251,246,237, 16,182,135,135,199,142, 29,
+ 59,176,178,241,244, 56,225,  9,  3,200, 48, 54, 54,158, 53,107, 22,164,160, 36, 38,193,124,252,248,145, 23, 12,128,165, 63, 39,
+ 39, 39,176, 50,248,240,225,  3, 63, 63,255,169, 83,167, 24,192, 27, 86,113,105,212,209,209,  1, 22,151,240,130, 27,185, 21, 15,
+ 44,208,129,228,137, 19, 39,162,162,162,136,  9, 97, 34, 75,127,  8,152, 48, 97,  2,229,  9,155,155,155,251,218,181,107,172,172,
+172,191,126,253,  2,  6,242,237,219,183, 43, 43, 43,  9,234,122,137,116,188,160,173,173,237,225,195,135,225,220, 55,111,222, 16,
+169, 17, 19, 60,128, 29,162, 55, 10, 40, 47,253, 25, 48, 46,133,  7,  8,192,222, 25,219, 48,  8,  3, 81, 52,146,171,204, 16, 15,
+225, 34, 61,131,120, 10,247, 46,211, 51,144,229, 13, 34,121, 28,183,121,242, 33, 11,129,  2,  7,105, 40,242, 43, 64, 50, 58,225,
+227,223, 63, 23,247, 47, 90,  0, 74, 41, 74,133,120,157,131,145,199,243, 53,137,154,119, 84, 46, 17,234, 23,121, 53,142,163, 70,
+199, 45,124,225, 33,238,148, 18, 44,185,152,116,166, 65, 55,133, 23,111,200,163, 64,251,231,156,187, 41,252,238,151, 71,251,203,
+204, 72, 49,133,167,  6,104, 90,129,223, 77,225,  9, 12,210,159,155,194,147, 39,176,243,110,192,236, 14,188,127,107,102,  9,104,
+127,154,140,123, 51,133,175,181, 26, 99,120,213, 70,  1, 16,150,239, 26, 95,110, 79,128,133, 68,171,111,  2, 64,  8, 65, 46,122,
+ 70,173,159,124,  3,194, 31,178,142, 49, 82,  3, 72,140, 97, 24,148,236, 63,  7,236,239,189,159,215,  0,105, 35, 54, 18,233,244,
+230, 58,231,104,163, 41, 87, 50,203, 86, 96,173, 37,193,248, 41,200,207, 63,251, 79,172,210,124,225,215,166,240, 31,  1,216, 59,
+155, 19,  6, 97, 56,138, 11,210, 13,114,235, 16, 30, 29,160,189,101,129,220, 29, 35,251,184, 71,134,201, 49,217, 64,232,207,252,
+105, 16, 81, 19,219, 82, 40,244, 29,130, 40,228,160,201,251,240,144,247, 73,  1, 96,155, 21,239, 84,130,205,134,181, 60,171,  1,
+ 44,187,223,250, 57,158,217,255, 20,157,  9,133,193,218,114,120,250,242, 52,208,122, 96,255,155,185, 20,229, 46,165,240,140, 53,
+ 46,126,133, 91,  2, 83, 49,  3, 99,113,  6, 40, 21,215,255, 90, 20,120,  7,155,165,240,197,208,195,215, 65,  0,134, 97, 32,  7,
+132, 16, 46,207, 86,120, 46, 80,130, 24,227,113,114,130,253,179, 42,139,  0, 72, 14, 72, 77,100,181,121, 11,222,207,181,207, 95,
+ 88,216,216,109,231,156,214, 26, 37, 80, 74,113, 13,251, 35,  6,172,210,182,173,233, 55,154,217,223, 90, 43,155,113,149,  3,246,
+ 48,142,227, 65,  8,240,222, 27, 99,246,158, 78,211,116, 77,224,109, 75, 56,238,186,174,239,123, 49, 28,127,251,191,100,255,102,
+171, 20,254, 33,  0,123,215,110,195, 48,  8, 68,163,140,132,216,129, 79,155, 53,178,  6, 27,100,141,136, 58, 29,107, 32,209,177,
+131, 27, 40,242,146, 83, 40,130, 13,  1, 81,230, 10,203,182,140,125,  6,241,222,221, 67,226, 86, 18, 64, 45, 92,252,184, 50,188,
+138,  3,180,214,163,121, 64,215,195,238,171, 46,215,199,253, 38, 38,126, 16,240,135,121, 85,123, 27, 99, 28,165,132,137,126, 46,
+ 69,225,129,218,136,149, 48,  3, 39,  8,128,140, 26,130,  3,142,250,138,212,255,211,167, 40,124,217, 59,158,138,194,211,205,198,
+ 64, 75, 41,203,122,146, 82,170,228,  4, 13,229,167,142, 66,234,162,240, 69, 11,218,181, 16,194,249,189,151, 56, 78,240, 69,239,
+ 61,109,190, 68, 69,225, 95,181,166,183,205, 90,219,128,242,130,254,200, 54,190,216,104, 72,213,193,195,228,240,104, 42, 48, 97,
+ 41, 37,198,152,115,142,115,142, 81, 35,145, 13,151, 66,136,156,115,183, 57, 16, 31, 71, 99,204,145, 22,180,220, 16,118, 32,161,
+  4,167,162, 91,224, 57,198,136,208, 31,124,  0,183,255,208,223,181,167,  0,162,102,  5, 64,245, 73, 96, 50,234,  0, 96,115,146,
+164,126,  0, 36,107, 45, 93,186, 20, 77,124,219,182,109, 64, 65, 34, 13, 57,113, 95,203, 66,241, 26,241, 35, 63,240,  6, 38,188,
+169,  8, 76,190,144,194,136,212,210, 31, 94,135,145,212, 60,132, 52,255,209, 46,133, 39,175, 19,  0, 55,  1,207,165,240,240, 38,
+ 63,176, 76,  1, 54,102, 85, 85, 85,129,141,104,118,118,118,126,126,254,150,150, 22,130,253,  0,228,177,126, 92,243,  1,100, 84,
+237,192,130, 24,174,  6,243, 68, 44, 96,  3,159,151,151, 23, 88,234, 29, 59,118, 12,216,248,  5,150, 44,223,145, 46,133,  7,221,
+ 59, 77,232, 82,120,204, 97, 31,120, 91, 30, 24,221,175, 72,188,125, 19, 24,191,144, 21, 65,100,244,  3,  8,142,252,192,  1, 48,
+ 34, 74, 75, 75, 33, 57, 14,104,221,237,219,183, 25, 64,199,244, 26,  2,235, 63, 98,214,225, 80, 82,214, 67, 42, 15, 50, 12,  4,
+198, 35, 48,118, 44, 45, 45,225,  7,207,  1, 93, 11,236,187,140, 22,238, 12, 72,119,  2, 35, 15,  1, 33,167,118,128,  0, 26,236,
+147,192,244,169,  3,128,234, 33,253, 86,120, 71,152,200,210, 31,216,252, 39,219,107,144,230, 63, 90,195,255,197,139, 23,180, 46,
+253,225,205,127, 29, 29, 29,  8, 23,200,160,176, 19,128, 31,192, 71,255,185,185,185,107,107,107,129,165, 63, 68,220,192,  0,116,
+201,  9,176,220,247,245,245, 61,114,228,  8,144,164,162,165,240, 48,129, 79,  0,160,  1, 96,179, 17,222,  3,192, 92, 55, 13, 44,
+ 83,128,117,192,143, 31, 63,128,181, 20,176,174,130, 92,183,  9,191, 20, 30,200,192, 95,250, 67, 42,117,204,177, 32,228,153, 97,
+ 82,  1,217, 26,137,159,  3,  0,214,199,222,222,222,192, 28,196,197,197,229,224,224,  0, 12,  1, 96,148,  1,107,232,  5, 11, 22,
+ 48, 49,209,118,211, 40,176,172,135, 15, 31, 65, 50, 32,241,213,  9,176, 65,243,232,209,163,240,240,112,  6,240,165,211,160,171,
+199, 70,  1, 90, 63, 24,199,189,240,  0,  1,200, 59,131, 28,132, 65, 32,138,238, 61,141,186, 55,158,171, 27,238,194,198,112,136,
+ 90, 57, 66, 87,156,130, 21, 97,107,244,153, 73,  8,193, 90,  1, 99, 98,226, 95,145,118, 51,105, 50,111,102, 24,202,252,250,159,
+192, 29,157,  0, 84,159,188, 39, 88,164,186,181,158,254,162,253,110,123,158, 46,167,105, 35,241,128,106,160,201, 84, 48, 52,142,
+163,236,227,227,126,117,137,225, 45,125,156, 14,250, 75,250,255, 60, 20, 30, 27,228, 85,135,222, 14,133,  7, 34,178,192, 63,231,
+249, 49,220,220, 24,147, 30,126,117, 40,124, 58,243, 83, 68,205,245,102, 59,233, 63,148,199, 66,239,189,244,234, 81,140, 49,132,
+  0, 95,168,  6,168,  0,174,175,199, 13,229,176, 46,250,246,197,185,254,245, 40,146,155, 93,115,108,244, 67,105,173,225, 62,244,
+119,206, 89,107,161,191, 82,138,216, 60, 12, 67, 77,  0, 56, 44,169, 41,  6,224,134,173,244,151, 77, 72,161, 63, 98,113,108,185,
+187,251, 79, 68,  5,144, 58,  1,185,238,  2,104,144, 78,  2, 83, 82,250,  3,211, 16, 25,221,100,200, 88, 16,176, 43, 64,124,233,
+ 15, 44,238,129,165, 63,116,148, 99,221,250,181,224, 91,252,128,149,  1,131,147, 35,  3,  3,225,101,160,144, 85,137,144,177, 32,
+ 96, 19, 21,114,  9, 42,176,  8, 38, 34,249,130,138, 90,248,189,240,164,150,254,144,230, 63,214,198, 62,121,157,  0, 72,181,145,
+147,147,131, 51,160,130,131,145, 47,133,143,137,137, 97,192,184, 20, 62, 54, 22,231,189, 17, 20,206,  1, 48,144,117, 41,188,176,
+176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,240, 75,225,129,253, 54, 96,124,  1, 75,127, 96, 53,128, 54,184,143, 12,
+ 32,165, 60,100, 20,  8,237, 38, 50, 60,186,208, 74,127,200, 38,  0,100, 46, 25, 13,127,226,199,127,128,224,246,237,219,192,232,
+  0,122,208,210,210, 18, 72,  2,  3, 13, 88,158,110,218,180,137,153,153,153,152, 10,128,146, 86, 60,178,  9, 36,233, 50,  6,  3,
+ 32,227,220,185,115, 64, 55,219,216,216,  0,147, 22,176,151,137,188, 96,122,196,  2,200, 42, 32,180, 73, 96,228, 85, 64,  0,  1,
+216,187,130, 20,134, 65, 32,248,  1,159, 32,248, 12,207,130, 63,242,149,130, 79,240,228, 55,188,116,154,129,101, 91, 75,220,228,
+ 80,122,232,158, 36, 36, 16, 54, 58, 51,113, 71,246,119,139,192,223, 68,127,205,  1,151,180,255,199,241,147,  3,108, 19,151,  3,
+  8, 46,125,100,172,214,186,125,118,237, 11, 79, 71,208,246,253,165, 41,252,170,161,104,164, 59,241,228,173, 39,191, 72, 39, 64,
+ 70,160,191,108, 40,173,129,239, 24, 66, 96,255,119, 16,  0,189, 64,250,162,110, 41,254,206,117,175,231,  0,236, 53,  0, 61,  9,
+145,147,156, 51, 16, 65,239,152,157,231,202,123,223,123,103,231,181, 57, 39, 25, 72,154,194,179, 38,108, 52,243,228, 35, 68,191,
+ 91,118,114,  4,238,113,179, 94, 68,183,237,164,198,160,227,179,148,  2,249,159, 82,  2, 31, 56,231,198, 24, 70,  2, 16,  4,167,
+144,186, 87, 18,184,170,253,185,142,144,177,214, 26,  6,128,254, 24, 35,242,134, 95,153,127, 29,120, 27, 15,  1,196,130,153,223,
+200, 54, 11, 45,117, 34,183, 95,144,155, 69,180, 43,253,129,201,142,194,165,114, 36,105,127,252,  4,231,120, 61, 39, 39, 23, 65,
+237, 88,  7,166,137,  4,192,  2,  5, 88,226,239,221,187, 23,126, 47, 60,124, 49, 40, 49,117, 24,214, 75,225, 33, 59,110,  8,110,
+ 10,195,172,212,115,115,115,241,148,254, 16, 32, 36, 36,  4, 25,226,  7,182,166,145, 27,254, 53, 53, 53,248,147, 28,133,251,  0,
+144, 67,  3,109,171,  4,193,250, 30,216, 21,219,182,109,219,159, 63,127, 62,124,128, 92, 10, 15,114,  9,176, 67,  0,228,  2,217,
+196, 55,228,129,246, 34, 47,253, 68,158, 30,192, 95,250, 51,144, 59,199, 67,121, 29, 80, 81, 81,113,240,224, 65, 96, 52,181,183,
+183,  3, 91, 12,192, 14, 16,100, 75,  4,193, 33, 62, 50, 90,241,200,122, 73,  5,192,154,233,233,211,167,200,251,  0, 46, 94,188,
+  8,236,186,  1, 91, 21, 68,174, 91, 29,  9,  0,109, 18, 24, 25,  0,  4, 16, 11,254, 66, 28, 87,223,150,214,128,140,210,159,206,
+249,164,165,165,  5,255,254, 70,130,149, 37, 37, 67,186,144, 66, 19,178, 12, 31,200,128,236,  5,131,223, 11,143,167, 92,131, 92,
+236, 14, 44,188,144,231,  0, 32,205,219,178,178, 50,252,165, 45, 86,189,164, 14, 25, 17,217,240,167, 86,151, 20, 57, 28, 48, 47,
+133,199, 95,  7,  0,131,197,219,219, 27,216,146,101, 99, 99,251,249,243, 39,176, 14,  0,134,176,128,128,  0,176,192,194,115, 80,
+  7,114, 62,130, 79,255,  2,237,  5,170,135,231, 29, 92,185, 12,146, 36,208,182, 13,147, 58,247,139, 57,230, 67,210, 40, 16,164,
+ 14,128,111,254,202,202,202,130, 48,128, 61, 33, 60, 90,158, 61,123,134,188,219,107,197,138, 21,  4, 79,248,193,165,151, 36,112,
+  1, 12,208,  4,159,128,193,104,185,207,128,116, 39, 48,114,209,143,188, 10,  8, 32,128, 88,168, 88,190, 99,234,165, 79,109, 65,
+255,210, 31,  8, 68,193,128,108,237, 74, 96, 64, 45,199,192,199,127,144,203, 62,172,151,125,146,125,228,  3,133,122,177,246,  6,
+136,  4,100,207,  1,160, 37,  9,172, 93, 46,130,201,  6,216,173,188,123,247,238,254,253,251,191,127,255,254,247,239, 95,  3,  3,
+131,176,176, 48,130,113,119,226,196,  9,120, 55,  2, 46,130,204,198,149, 42,224,141,  3, 72,205,  1,204, 65,  4, 43, 27, 56,  8,
+163,236,254,100,178,115,144,180,180,116, 96, 96, 32,126, 53,205,205,205, 84,215, 59, 10, 72,170,  3, 48, 75,127, 32,  0,  8, 32,
+ 22,106,149,161,163,167, 53, 13, 56, 64,139,  2,226,143,132, 29, 66,158, 26, 16,163,148,193,128,120,245,192,254, 13,145,231,252,
+224,105, 28,144, 81,221, 82,171,134, 38, 21,136,137,137,145, 29,182,148,232, 29,  5,196,215,  1,184,164,  0,  2,104,244, 82,248,
+ 81, 48, 10, 70,193, 40, 24,161,  0, 32,128, 70,111,  4, 27,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96,
+ 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17,
+ 10,  0,  2,136,134,151,194,143, 94,192, 61,170,119,136,234,221,236, 55,133,120,189,190,155,114,168,165,119,163, 47,  9,122,253,
+ 55,163,232,245,177,  1, 93, 47,202,200,200,248,251,247,239,251,247,239,255,250,245,139,133,133,229,201,147, 39,145,252, 10, 59,
+207,156,249,174, 39,107, 97, 97,193,204,204, 12, 89, 68,187,229,200, 83,106,133, 21,196, 94, 56,128,236, 80,185,122,245,170,148,
+148,212,187,119,239,128, 36, 39, 39, 39,  3,108, 67, 31,154,189, 88,245, 62,190,178, 36,221,246,209,178, 51,106, 44, 98,110, 60,
+188,124,184,244,142,166,103,226,245,226,  1,  0,  1, 68,194, 81, 16,248, 55, 37, 82,241,  2,110,137, 19,215,238,188,122,206,201,
+198,161,206,197,127,199, 78,135,110,149,225,144,184,128,123,176,129,155, 55,111,246,247,247,247, 86,129,216, 27, 14,131,206,  0,
+192,163,248,193,147,199, 79,159, 60,185,121,227,198,251,247,239,229,229,229,121,120,121, 61, 92,221,240,155, 15, 57, 34,  9,  2,
+112, 93, 94,  6, 20, 39, 62,166, 32,187,160,177,222, 33,140, 15,132,190,  3, 83,255, 65,  7, 49,173, 22, 34, 65,163,113, 63,131,
+ 82, 60, 56,121, 45, 96, 56, 91, 68,114,248,134,188, 65,216,187, 70,  4,143, 66, 96,233,249,245,235,215, 93,187,118,  1,147,113,
+ 40,171,176,132,172,232,143,175,223, 57,191,253,177, 46, 73,181,243, 13,223, 50,119,198,230,189,123,221,220,220,232,144, 36,254,
+254,253, 11,116,131,190,190,190,154,154,218,185,115,231,126,252,248,161,170,170,138,121, 56, 60, 86,240,231,207,159,139,103,206,
+203, 36, 27,150,153,105,159,216,213,179,246,178,131,170,142, 19,145,122, 71,  1, 25,  0, 32,128,136,170,  0,136, 57,210,135, 42,
+ 23,112,171,158,187, 43,248,246, 11, 35,195,255, 95,127,153,127,191,251,242,228,205,199,  7, 83,206,242, 56,154,139,104,107,224,
+209,117,118,127,186,  6,116,149, 54,243,250, 93,255, 14,159,254,159, 22,193,  0, 20, 41,106, 37,173, 40, 39,233,  2,110, 92, 53,
+  7,173,175,236, 96,128, 28, 99, 89,207,200,216,132, 69, 10,148, 79,234, 25,195,174,135,210,103, 73, 56,172,244,255, 15, 46,253,
+237,142, 28, 57,130,167,  2,208,211,223,165,165,101,178,122, 53,223,201,227,160,109, 80,183,110,220,  4,146, 41,137,235, 62,126,
+201,249,252,  1, 95, 53,239,234,234, 10,172,  6,128,165,252,190,125,251,176,158,148, 71,252,166,127,204,148,156,145,158, 62,131,
+184,202,  3,249, 26,122, 18,128, 82, 60,226, 80, 54, 50, 42,  0,152,239,240,156, 60, 10,  1,119,239,222, 61,176,106, 85,147, 75,
+152, 65,116, 22,155,184, 32,  3, 11, 19,  3,  3, 19,195,191,255, 12,255, 88,255,253,252,239, 21,159,246,104, 82,199,177, 99,199,
+172,172,172,104, 93,152, 50, 49, 49, 25, 24, 24, 28, 56,112,  0, 88,  7,152,153,153,189,120,241,226,226,197,139,122,122,122,196,
+ 28, 51,  3,244,172,179,147,107,123,223,166,242,132,203, 22, 30,153, 22,230,123, 74, 38, 63, 81, 51,141,195,170, 23, 18,155,248,
+171,  7,160, 44,201,149,253, 48,  2,104, 23,  2, 35,250, 94,176,213,255,  0,  1,196, 66,100,134, 49,136,211,205,180,206, 33,190,
+ 14, 32,227,  2,110,153,187, 47,141, 56,  5,217, 36,249,255, 50,252,231,252,192,245,226,245,235, 23,159, 63, 42,178,243,220,216,
+121,  4, 24,189,162,184,235,  0, 96, 89,127,227, 46,211,255,255, 28,127, 25,217,  3, 92,127,  7,186,125,103, 96,248,  7,107, 55,
+145,152, 91, 73, 44,187,225, 71, 54, 66, 14,162,218,122,131,245,199,239,223,233,137, 38,  4,171,  1,130,117, 42,190,253,159,245,
+160,204,  0,185,  5,  9,171, 20, 49,224,246, 94,190,158, 85,145, 16,118,113,232,114, 53,151, 79,100,148,254,125,125,125,192,220,
+ 94,220,  6,189,248,  9, 79, 14,119,112,248,168,166,  6,108,122,111,182,181,157,  4, 23,140,138, 98,  0,223,225, 54,101,249, 42,
+124,117,  0,164,244,135, 28,236, 21, 30, 30, 14, 57,245,136, 96,129,136,181,237, 15, 57, 48,  3,238,206,140, 12, 98, 75,127, 50,
+129,113, 31,  3,236,162,118, 80,  5, 96,212,203,112,174,152, 70, 86,  1,107,199,233,129,105,138, 78,174, 12,204, 63, 25, 89,153,
+ 24, 89,152, 24,153, 89,255,255,103,252,247,245,207,255,191,127,129, 77,170,212,248,172,172,186,252,187,226,226, 36,109,106, 35,
+  3,  0,243,130,164,164, 36, 48,156, 15, 30, 60,120,227,198, 13, 96,253,109,105,105,121,242,228, 73,109,109,109,130,122,143,236,
+ 93, 30,100,240,237,236,103,230,168,250, 47, 54,134, 19,115, 10,194,123,202, 63,148,247, 44, 85, 50,140,194, 83,184,195,139, 23,
+ 96, 20,163,137, 80,114, 30,229, 72,  0,  0,  1,196, 66, 76, 33,181,108,199, 82,101, 21,229,244,166, 84, 98,234,  0,242, 46,224,
+ 86,184,241, 76,157,141,155,237,255, 31,206,158,210, 63,223,126,113, 20,183,242,179,113,252, 96,253,254,245,199,119, 78,  6,198,
+231,  7, 79,176,201, 72,242,243,243, 99,213,123,227, 46,195,172, 21,192, 18,255, 27, 24, 49,216,154, 50,  5,186, 49,194,234,  0,
+  6, 96,111, 96,214, 10,162,194,130,212, 11,184, 33,165, 63,164,232,  7,249,253,200,239,239,191, 64, 23,252, 58,151,239,238,236,
+116, 37,104,206,221,142,187,172,140,183,161,209,192,248,148, 81, 68,  3,198,126, 37,154,136,111,115, 60,176,237,143,124,153,  9,
+138, 84,250,106,176, 20,190,230,255,155,203,146, 53, 83,252,255, 51,252,111, 47,216, 96,238,160,182,108,218,225,222,213, 81, 12,
+171,255,215, 23, 77,147, 82, 39,182, 41,253,229, 97,186, 52,  7,195,183,183, 87,129,141, 47, 94, 49, 61, 72,233, 63,125,250,116,
+172,138,121,  5,174,168,169,  1, 99,228, 24,176,159,112,242, 36,  3,248,206, 62, 16,128,239,240,143, 12,155, 50, 99, 78, 53,211,
+ 63, 89,172,218, 33,165, 63,176,237, 15, 44, 83,240,220, 59, 70,176, 41,  3, 41,253,145,234,131,244, 25, 51,176, 39, 75,166,176,
+247,240,230,  3, 35, 24,255, 11, 69,149,101,132,140,202,128, 40,111,212, 62, 15, 83,248,123,200,128, 13, 16,252,251,151, 80, 80,
+ 80,  0, 17,  7, 50,128, 53,  1,147,106, 50,212, 96,176, 26, 52,189, 44,225,232,246, 34,223,195,  8,146,197,109,239,143, 31, 63,
+ 36,228, 21, 24,254,253, 98, 98,103, 96,100, 97,254,243,249,227,143,123,247, 95, 63,121, 42, 99,229,192,200, 38,192,248,251, 23,
+  3, 51, 83,103,102,137,235,172,134,162,162, 34,178,203, 11, 92, 71,140,192, 75,100, 96,122,248,254,253,187,144,144, 16,176,125,
+  0, 12,237,251,247,239, 47, 88,176, 64, 83, 83,243,195,135, 15,  4, 59, 88, 64,189,242, 76, 39, 37,229, 60, 62, 28,188,252,241,
+ 61,251,226, 45,127,182,157, 88,146, 23,202,201,242, 13, 24,107, 81,216,251,187,163,  0, 47,192,140, 44,180, 62,  1, 64,  0,177,
+224, 47,250,129, 65,236, 88,101, 63,235,224,204, 52,134,244, 11,139, 46, 51, 88, 19,182, 18, 82,238,127,251,182, 20, 24,167, 63,
+126,204, 19, 18,218, 67,204,  5,220, 98,207,223,137,137,115,112,212,103,253,125,243,238,207,179, 55, 44,108,172, 92,140,204,220,
+ 64,196,204, 34,196,202,241,254,243,135,231,251,142,241,  7,122, 98,213,139, 86,190, 31, 62,253, 15, 92,  1, 48,244, 85, 51,254,
+103,100, 96,252, 79,108, 87,128,212, 11,184,145, 75,127,  6, 22,230,123,207, 65,185,247,209,203, 31,114,226, 28,170,  9,155, 59,
+ 59,125,241, 27,  2, 44,253,129,229, 62, 51,227,155,191,255, 69,216,197, 24,185, 35,158,253,251,247,238,199,143,213,127,207,148,
+ 81,210, 83, 33, 88,123, 85, 79,241,179, 20,170,153,178, 33,153,135, 73, 14,200,205,202, 85,215, 55, 83, 90, 58,245, 96, 99, 95,
+246,204,153,196,118,150,129, 69, 80,122,225, 21, 72,190,181,177,177,  1, 86,  0,184, 74,127, 80,141,232,240,150,129,225, 18,  3,
+195,149, 15, 47,121, 84,229, 24,102,207,254,178,127, 63,131,170, 42,208,169,160,104,  2, 10,130,186,152,186,215, 47, 93,148,197,
+ 90,250,  3,219,182,255,192,128,  1,124,159, 12,169,  5, 22,156,141, 92,250, 51,128,166,  1,112,198, 14,176, 91,  0, 41,195,177,
+214,178,255, 96,229, 14,176,177,  3, 12,135,205,135, 80, 38,220,166,207,152,  9,233, 95, 40, 40, 40,  0,179,207,196,137, 19, 33,
+226, 64,  6,176,  2,216,185,115, 39,252,220, 74,  6, 12,189,144,238,  8, 80, 87,106,106, 42,150,241,113, 88,167,103,214,236,217,
+ 64,123,183, 28,126,138, 86, 26,178,240,242, 50,176, 50,255,253,246,225,250,182,189, 75, 87,173,153,246, 12,100,209,169, 70, 62,
+ 85, 59,175,159,143, 30, 95,189,120,246,242,253, 91, 31, 95,188,184,114,  5, 24,113, 18,100,148, 38,152,199,174, 97,150,224,207,
+158, 61,171,173,173,237,233,233,249,245,235, 23, 51, 51, 51, 47, 47,239,215,175, 95, 79,157, 58,133, 63, 89, 66,244,126,120,114,
+180,113,254,163,185,  5, 82,239,190,178,177,177, 48,201,  8,114,188,120,243, 43,189,235,143,190,137,177, 28,238, 94, 29,164, 26,
+128, 71, 52, 38, 99, 20,160,149,254,200,181,  2, 64,  0, 49,225,202, 51,144,115,207, 17,189,117,143,104, 98, 44,128,220,  0,243,
+237,219, 50, 72,233,207,113,250,193,183,157, 42, 12,132,110,134, 97, 57,112,150,255,221,231,127,108, 44,191,206, 94,253,121,253,
+222,143, 93,135, 25,190,255,100,251,255,159,139,129,153,133,129,241,231,191, 63,239,126,254,152,182,123, 11, 46,237,125,213,160,
+102, 62, 98,136, 60,  2,214,190, 98,248,127,243,206,255,162, 86, 18,154,  9,144, 11,184, 33,129,128,255,180, 78,160, 44,242,165,
+ 34,145, 19,158,236, 61,251, 30, 88,250, 67,234,128,219, 79,190, 51,184,172,194,111,  2,176,244,  7, 85,  3,159, 47,115,115,223,
+ 97,231,248, 12, 44,253,127,255, 62,203,204,172,244,235,235, 91,218,165,128,187,231,191,  0, 67,  6, 94,250, 63,191,249,223,200,
+151, 57,183,197,213,198, 21,216, 61,255, 15,150, 37, 12,150, 45, 91, 86,220,198,200, 35,170, 11, 12, 89,143,192,204, 35, 71,142,
+224, 81,252,143,233,177,152, 24,180,244,255,252, 22,116, 74,182,190, 62,168,244,143,139,131,150,254,159,223,114,  2,145, 16,215,
+115,172,218, 67, 66, 66, 28, 29, 29,157,156,156,194,195,195,153, 81,  1, 92,  4,191,107,209, 82, 50,177, 53, 28, 82,217,  4,  1,
+152, 92, 70,108, 77, 11,184, 70, 55, 55, 55,180,182, 54,176, 19,  0, 57,182, 15,230, 50,116,189, 27,102,206,  4,150,206, 16,195,
+225,222,132, 15,142,195,185, 88,237,  5,230, 23, 38, 46,246,223, 47, 30,206,172,169, 89,240,245,195,123,123, 11,136,248,220, 37,
+ 11, 26, 74, 82,212,138, 34,155, 46,239, 91,245,254,190,171,159, 31,145, 29, 92, 96,113, 15,204,  5,231,207,159, 71,170, 50,103,
+ 96, 29,229,131,  4,200,229,203,151, 15, 30, 60, 24, 25, 25,  9,236,165,125,249,242,  5,114,128, 54,176, 95,194,195,195, 19, 22,
+ 22,102,109,109,141,171,232,  7,233, 61,190,246,214,206,162,162,202,222,205,245, 82,215,159,178,124,252,194,252,143,145,225,237,
+151, 95,255,133,149, 11,171, 90,125,  2, 98,112, 86,213,192,106, 28,156, 97,103,130,  1, 86,198, 40,192, 85,250,  3,  1, 64,  0,
+177, 96, 45,250,201,232, 24,162,137,  0, 75,127,180,110,  1,158, 11,184, 89,222,126,120,247,159,149,237,237, 59,142, 13,251, 24,
+ 89,152, 24,126,252,250,255,249, 43,227,159, 63,172, 12, 12,127,255,255,251,241,247,207,231, 63,191, 24,254,225, 28,243,133, 76,
+246,246, 85, 99, 73, 93,224,201, 97,146,189, 67,204,  5,220, 40,205,127,  6,134,229, 57,146,112,182, 73,197, 61,214,255,111,126,
+ 51,138, 16,188,194,155,227,203,126,161,166, 37,175,139, 51,222,188,227,148,250,125,245,239, 95, 80,133,241,240,130,  4,237, 18,
+ 65,215,140,226, 20,183,153,240,210, 31, 34,104, 33, 88, 99,165, 29, 98, 41,116, 21, 40, 75, 48,207, 44, 93,186,244,208,161, 67,
+111,223, 58, 11, 11,239,229, 17,209,  1,166, 22, 38, 38, 38, 60,243,108,143, 30,  1, 43,203, 43,144,113, 35,160,135,223,125,101,
+ 48, 51,  3, 79, 66,220,102,152, 58,149,225,243, 39,134,175, 95, 24,190,124,101,224, 22,196, 55,  9,129, 57,226,127,247,238, 93,
+ 32,217,214,214,  6, 36,213,212,212,200, 27,205,128, 71, 55, 30,101,249,249,249,240, 86, 60,114, 81,142,223,112, 69, 69, 69,248,
+232, 63, 28, 64, 58,  1, 64, 41, 68, 39,  0, 21, 36, 75,171,221,186,122,237,169,160, 32, 48, 72,243,242,242, 38, 77,154, 68,188,
+189,182, 63,  5,254,255,251,146,210, 86,173, 27, 18, 50,179,173, 13,126,127,203,204,219, 87,160, 61,227,195,135,119,239,222, 13,
+180, 26,156,193,191, 17, 44,253, 33, 93, 58, 96,224,  0, 91,217,  6,  6,  6,192,154,  0,168, 49, 51, 51,243,241,103, 44, 85,236,
+147, 39, 79,252,253,253,129, 94,219,182,109, 27,228,202, 76,  6,240,146, 30,  6,240, 61, 66,120,230,105,129,226,247,110, 94,104,
+ 40, 75, 18, 86, 93,125,126,117,252,165,199,140,143, 94,178, 48,252,103,250,249,235,247,187,255,194,217,201, 89,228, 45,  1,162,
+228, 94,147, 17,  5,  0,  2,  8,203, 16, 16,176, 26, 71,230,126,120,250,158,152, 18, 19,222,  3,  0, 15,  1,129, 34, 12,216,252,
+103,191,242,244,175,  0,168,209,135,255,  2,238,107, 79, 30,125, 99,231, 84,250,243, 71,134,147,135,139,149,141,241,247,111, 96,
+ 55, 27,216,225,253,252,247,215,183,191,127,126,254,  7,230,254,255,255,  9,197, 40,176, 26,128,212,  1,224, 41,  1,104,185,223,
+ 87,205,220, 91,205, 88,220,250,135,212,112, 33,166,149, 84,190, 26, 20, 50,157,161,130,144, 66, 31, 58,176,243,255, 13,176,222,
+ 98,249,255,126, 81,138, 96, 36,222, 59,233, 88, 95,158,254,203,  0, 26,253,232, 97,225,143,124,249,240, 76,151, 12,183,132,230,
+199,167, 79, 95, 60,120, 70,211, 40,215, 55, 83,250, 10,142,210,111,156,215,184,190,107,173,107,252, 13, 17,183,118,209, 62,190,
+138,112,219, 63,208,238,208,134, 13, 46,  2,199,247,244, 87, 51, 20,182,254,183,179,179,195,191,244, 83, 65, 70, 22,121,210,113,
+203, 22,208,220,239,178,101,192, 78,192,255,  9, 19, 24,155,154,190,128, 42,  6,  6,  6, 85,117,193,226, 66,124, 86, 67, 26,191,
+192, 14,193,202,149, 43,225,237, 98, 15, 15, 15,204, 82,146,248,106,158,160, 26, 96,137,  9, 44,178, 49, 43,128,190,190, 62,228,
+245,169,152,192,197,197,  5,126, 21, 59, 50,  0, 10,246,247,247,227,234, 16, 31,186,246,168,170,169, 36,185,190,172,242,215, 47,
+160,165,152, 94,  3,218,187,103,207, 30,172,101,162,157,150,220,188,185, 83,141,163,162, 26, 27, 27,177,214, 19, 64, 65,160,246,
+217,179,103, 19, 19, 56,192,210, 31, 50,197, 10,172, 38,103,192,  0, 80,  4, 88, 19, 60,198,182,198,252,247,239,223, 91,182,108,
+113,118,118,190,125,251,246,215,175, 95,129, 92, 96, 13,244,235,215, 47,200,181, 57,248, 75,240,159, 63,127,158, 93, 27,101, 23,
+212,180,243,224,221,251,207,153, 63,125,101,  2,118,252,159,126,229,204,171,168, 38,168, 23, 50,181,131,127, 44,104, 20,224,106,
+254,  3,  1, 64,  0, 49,161,101,  9, 32,112,  0,131,139, 48,112,239,244,195,143,223, 63, 10,155, 17,181,246, 25, 82,202,115,113,
+ 69,  3, 75,127,214,135,111,129,165, 54, 91,242, 91,  6, 66, 23,112,179,178, 49,255,253,207,240,228,235,135, 71, 31,223,189,254,
+244,254,227,143, 31,239,127,125,127,253,243,251,243, 31,223,158,254,248,242,238,247,207,247,255,126,255, 66, 29,192, 69,105,251,
+152, 98,159, 18, 72,  9,231,249, 15,236, 25, 51,176, 17,227,114, 50, 46,224,126,244,242,199,222,179,239,225, 69, 63,164,244,103,
+255,247, 16,136, 26,220, 89, 30,  1,155,190,120,193,218,251,255, 68,123,161, 13,231,251, 95,255, 62,185,251,244,230,209,171, 47,
+ 30,124,160,117, 82, 88, 54, 13, 84,193,127,122,245, 31, 88,250, 59, 36,179,  4,213,179, 66, 80,239,170, 40, 70,  6, 70,252,153,
+205,223,230, 96,124,145,139,224,137,189,192, 92,183,241,168,  3,  3,248,184,124,130, 54,170,105,168, 35, 85, 33, 12, 83,166, 48,
+220,185,  3,234,  7, 52, 54,254,135,  3, 65, 65, 65,156,131, 72,224,168,255, 11,  6,192, 38, 63,176,237,127, 11, 12,128, 69, 97,
+ 73, 73,  9,193,112,166,  4, 64,154,234,104,229, 41,176, 79,  0,244, 62,174, 86, 60,188,  5,138,214,252,135,  0,172,130,112,112,
+152,253,  3, 35, 19,207,156,170, 86,158, 45,123,128, 89,  6,126,166,116,186,170, 78,190,177, 21, 23, 23, 23,176,186,173,173,173,
+  5,122, 28,243, 22,173,185, 79,111, 61,215,214,146,150,150,  6,  6, 23,102,141,  5,233,127, 16,223, 55,130, 47,176,  1, 54,249,
+ 25, 96,155, 39,176, 94, 36,  7,241,172,172,172, 44, 48, 34,128,157, 12, 21, 21, 21, 22, 22, 22, 72, 13,109, 97, 97, 65, 76, 83,
+ 93, 89,195,112,214, 46,129, 75,219,234,109, 45, 53,185, 57,152,184,185,254,114,178,255,244,244, 39,234,110,  3, 96,121,  5,113,
+ 39,158,177,160, 81,128,  7,  0,  4, 16, 19,214, 48,  5,130,124, 48,  0,114,155, 51,154,127,191,250,195,201,201, 65,100,104, 66,
+234,124, 46,247, 59,255,153,153,106,215,125, 99, 32,226,  2,110, 77, 43,171, 63, 60, 92,239,255,255,189,246,245,253,149,143,111,
+175,126,122,115,245,211,187,107, 95,223,221,249,246,254,237,207, 31, 95,254,252,121,246,237, 43,158, 27,248,  2,221, 24,129, 45,
+125, 32,250,207,192,252,159,145, 41, 45,130, 49, 53,130, 45, 57, 92, 84, 89, 89,252, 31,  3, 43,  3,  3, 35, 49,165, 63,169, 23,
+112,  3, 21,131,  6,250, 25, 24,206,116,128,250, 10, 59, 75, 65, 43,148,128, 13,127,230,255, 95,127, 50,201,  3,217,239,222,189,
+ 35,230,  6, 87, 96,224,  0,243,243,178, 47, 95,191,255, 98,138, 95, 49,231, 21,  7, 39,144, 65,187,248, 46,  9, 91,126,252, 93,
+235,178,197,208,166, 62,176,249,111, 33, 88,  3, 97,183,102,111,153,129,123, 18, 24, 88, 40,244,215, 48, 36, 20, 57, 11,156,216,
+227,216,101,207,228,205,112,224,192,  1, 34,147,132,188,188, 60,156,237,228,196, 32, 32,  0,236, 96, 49,152,235,243,114,176, 49,
+ 51, 51, 65, 99,199,196,212, 20,103, 26,101, 98,130,140,248,  3,139,126, 53, 36,208,  4,  6,207,158, 61, 35, 88,196, 32, 15,226,
+195, 65, 70,  6, 81, 45, 68, 96, 75, 31,237, 70, 45, 96, 33,142,191,249,143, 60,247,  0,111,192, 66,216,255,112,183, 99,128,224,
+ 23, 35,227,191,111, 63, 89, 37,228,211, 91, 90, 18,184,  5,  4, 14, 28,135, 14, 13,197, 36, 52,244,204,185,221,183,188, 78,215,
+ 41, 76, 80,113,247,166, 77,152, 13,148,128,140,116,109, 29, 29,200,  4,245, 95, 24,128, 15,160, 33,115,177, 14,248,  0, 11,119,
+200, 28, 47,100,208, 31, 94,214,  3,155,252,144,198, 53,176, 38,  0,178,113,249,148,149,149, 53, 32, 32,224,227,199,143,192,154,
+137,147,147, 83, 84, 84, 84, 64, 64,  0,255, 45,146,112,189,236,236,236,193, 25,147, 22,156, 54,121,240,248,147, 56, 63,179,165,
+ 58,163,158,226,127,110, 62,190,209,210,153,214,205,127, 32,  0,  8, 32, 22,252, 29,100,120,163, 88,198, 94,138,200,182,  3,252,
+  2,110,182,228,213, 12,196, 93,192,253, 69, 95,229,219,173, 91,223,254,252,252,244,245,219,221,223,191, 89,255,129,134,111, 62,
+254,254,241, 15,156,123,182,189,188,255,245,207,111,188, 99, 50,140, 69,173,136,196, 13, 30,  8,250,247,151,225,231,245, 59,159,
+231,173,252, 68,100,233,207, 64,226,  5,220, 32,247,116,134,177, 58, 79,  3, 50,223,190,133, 78,219,178,253,123,254,139, 73, 50,
+ 91,247,214,243,231,160, 98,  2,127,249,152,177,110, 22,188,106, 92, 13,187,175,118,197,229, 99, 52,221,195,165,234,252,137, 97,
+213,255,163,123,174,  2,217, 86,218,160, 93,181,101,  5,245,199,174,106,247,172,138,170,154,234,141,223,193,192,182,191,144, 16,
+100, 84,235,  0,184,134,115,249,255,127, 53,184, 96,253,191,122, 53,190, 11,114, 67,130,130,119,239,220,197,  0, 94,248,239,232,
+200,248,230, 49,255,215,247, 28,223, 63,177,173, 88,200,152,159,255,255,225,171,207,230,150, 22,122,218, 58,248,231,  0, 32,131,
+254,192,116,197,  0,190, 68, 16, 34,254, 10, 12,136, 25,231,  1,198, 44,176, 34, 65, 46,127,129, 77, 70, 98,118,129, 65,  6,205,
+225, 51,  1,144,222,  0,254,230, 63,  3,210,170,  7,228,245, 60,248,151, 66, 64,234,170, 63,159, 63,179,138,  8, 49,115,241,104,
+  7,135, 52,185,185, 86, 65,150,114, 26, 26,253,253,254,131, 85, 88, 92,215,194, 65, 65, 70,113,210,245,227, 58, 58, 58,207, 79,
+163,220, 72,154,  1, 74,186,160, 74, 46, 11, 88,118,131, 87,139,254, 65, 42,241,129,141,114,160,  8,124,129,169, 55,106, 89,  0,
+ 44,217,129,126,132,140,243,  0, 67, 12, 50,212,131, 44,139,167,244,135, 56, 27, 88,220,  3,219,251, 55,110,220, 56,119,238, 28,
+ 48,178,184,185,185,191,125,251, 70,228, 96,189,184,184,184,191,191,255,137, 35,167, 38,172,222,205,199,200,166, 46,254,243,206,
+ 27,110, 27,245,223,240, 26,  2,215,128, 62, 80, 28,158, 97, 71,135,128,200,  3,  0,  1,196, 66,204, 56, 41, 48, 40,159, 28,124,
+198, 16, 69, 84,233, 15, 47,209,208,204,193, 95,  7, 72,137,137, 95,254,241,224, 35,211,191, 23, 63,190, 48,252,254,253, 23, 24,
+235, 12, 12,215,191,124,120,250,237, 19,228,  2,110,188, 21,192,127, 96,171,127,214, 10,104, 83,235,198, 93,  6, 13,229, 63,204,
+ 12, 95, 73, 42,253, 25, 72,191,128, 27,188,102, 52, 11,216,  7,  0, 54,246,129,253,223, 78, 87,134,242,221,118,  5, 58,199, 32,
+141, 68,130,205,127,228,142, 17, 50, 27, 82,198,225,111, 52, 49,212, 51,154,204,186,135, 57, 87,  1,221,  9,188,  7,223,229, 80,
+109,217, 91,170,167,250, 30, 95,245,223, 82,232,170,181,139,246,145,221, 87, 79,188,111, 97,100, 96,108,205,222, 12, 44, 90,241,
+216, 11, 44,253,129, 89, 46, 48, 48,112,246,236, 79,144, 44,201,  8, 91,143, 18, 26,138,136,238,205,135, 45, 49,245,102,231,229,
+ 78,157, 52, 25,216,252,255,245, 66,246,241,  7,246,127,160,190, 19,131,228, 87,241,210,180,207,187, 79,168,107, 89,226,171,243,
+ 32, 69, 63,228,150,215, 23, 47, 94, 64,250,  4, 47, 95,190,100, 32,101,174, 15, 50,153,137, 54,122, 62,  3, 36,152,142,103, 61,
+ 40, 60, 70,224, 51,  1,192,222,  0, 49,205,127,228, 66,138,120,197,192, 38,243,139,135, 15, 20,149, 85,255,253,249,201,248,231,
+ 47, 11, 47, 31,175,145,  9,143,161,233,191,175,127,254,126,251,249,255,207, 95,134,191,255,202,167,247,132, 71,133, 99, 54,174,
+255,172, 16,196, 99, 50,154,172,255,102,116,  5,192, 34, 30, 50,226,207,128,116, 15, 48,114, 29,128,223,131,234,234,234,147, 39,
+ 79,126,253,250,181,171,171,235,153, 51,103,128,165, 63, 80, 11,193, 59, 83, 33,122, 45,204,205, 51,146, 51,238, 63,185, 31,155,
+156,113,114,247,194,231,159,223,153,216,187,138,203,168,161, 39,108,108, 25,  1, 94, 64, 97,238,255, 26,221,  8, 70, 12,  0,  8,
+ 32, 22, 34, 51, 15,145,109,127,228, 18,141,164, 11,184,127,218, 27,171, 49, 24, 63,157,185,128,129,147,227,253,255, 63,191,254,
+252,249,247,255,159, 48, 63,255,147,175, 31,  9,222,137,138,182,208, 19, 54,  7,240,151,164,210,159,129,244, 83, 28, 32,251,  6,
+ 76, 76, 64,251,126,133,132,132,158, 63,127, 94,160,243, 28, 94,250, 19, 52, 10,235, 21,181, 68,  1,240,118, 95,228,221,118,104,
+ 82,248,129,176,222,211, 25, 51,103,220,218,195,215,187, 58,242,248, 42, 96,123,144,177, 36,108, 57,168,103,128,183,244,135, 68,
+ 28,184,160,255,  4,206,123, 12,104, 37,219,130,222,189, 64,146, 91, 14,152, 15,177, 76, 18,  2, 27,248, 64, 19, 68,196,118,253,
+253,124,134,145,153,225,219, 15, 78,198,207,127, 88,152, 88,196,149, 53,221,228,188, 88,254,227,116, 54,176, 64, 81, 81, 81,161,
+ 60,125, 66,134,137,129,117,  0,124,121, 12,188, 31, 64,252, 76,  0,164, 24, 34,216,252, 39, 27, 56, 57, 57,101,175,154,213,244,
+249,131,129,189, 13,147,184, 32,200,186,223,255, 65,199, 57, 48,176, 50, 50,179, 48,178, 49,207,158,209,199,231,108,162,172,172,
+ 76,245, 61, 80,144,161,158,233,211,167,  3, 73,125,125,125,146,244,  2,107,232,189,123,247, 50, 51, 51,219,218,218,  2,131, 23,
+109,232, 31,216, 33,  0, 22,244,104,193, 14,  7,192, 30,195,162,  5, 11,217,152,217, 67, 34, 67,128,106,108,188, 82, 80,234,173,
+ 63,127, 32,122, 71, 87,245,208, 98,252,  7,  8,  0,  2,136,133, 90,214, 80,229,  2,110,199,244,132,123,119,239,157,219,190,243,
+235,207, 95,192, 14,172,178,153,145,135, 92, 36,193,146,148,236,169, 30, 72,  9, 78,222,  5,220,112, 19, 32,107, 70,225,237,125,
+ 32,131, 24,247, 64,236, 37,207,217, 97,215, 67,193,190,198,226,206, 48, 66,189,  7, 56, 80,115,249, 52,211,  5,238, 78, 98,207,
+129,  0,151,242,140,241, 69,208,243,185, 32,185, 18, 40,  8, 44,247,185,229, 66,  9,106,127,249,220,237, 37,131,219, 63,166,199,
+252,124, 31, 25,132, 24, 64,199, 63,252, 98, 96, 33, 49,105, 81,  2, 32,117,  0, 25, 26,225, 51,  1, 36, 53,255,241,180, 94,177,
+  2, 96,201, 46,145,151, 55, 97,215,174,123,205, 27, 66, 89,133,  5,192,  7,186,125,255,246, 39,191,164,146,153, 75,104,219,194,
+153, 23, 69, 24,221, 72, 57,204,231,239,223, 63,196,204,129, 17, 57,212,131,203,119,183,110,221,  2,146, 26, 26, 26,111,223,190,
+101, 97, 97,  1,150,218,194,194,194, 12,176,243,233,216,216,216, 32,157, 54,172,122, 79,157, 58,245,239, 15,163,149,181, 62,176,
+135,  7, 84,249,235,215, 47, 25, 25, 25,136,212,199,143, 31,129, 29, 29,160, 33,236,236,236,120,218,157,144,186,  1,153, 49, 58,
+  4, 68, 60,  0,  8, 32, 22, 26,153, 75,126,161,172,172,164,148,147, 73, 55,255,147,125,  1, 55,102, 53, 64,134,189,228, 89,135,
+199,181,180, 62,  3, 14,220,192,103,  0, 31,198,131, 44, 24, 74,146, 33, 76,255,100, 63,127,144, 29,168, 20, 79,222,209, 96,192,
+ 86, 63,193, 17,124,172,128, 36, 93,192, 82,143,139,139, 43, 48, 48, 16,114,164,243, 35,216,145,206, 71,247,238,134, 28,233,236,
+108,225,140, 75,239,236,247,237,169,130,149, 40, 66,120, 79, 15,197, 85,  7,144,225, 71, 83, 83, 83,200,146,255,127,255,254,  1,
+ 75,112, 32,227,245,235,215, 64,146,135,  7,180,202, 25, 34,194,202,202,138,213,191, 62, 62, 62, 16,  5, 64,189, 63,126,128,247,
+ 81,130,151,117, 65, 86,133, 65, 68,128, 21,  3,214, 30,192,232, 34, 31, 98,  0,254, 91,223,  1,  2,104,244, 82,248, 81, 48, 10,
+ 70,193, 40, 24,161,  0, 32,128, 70,111,  4, 27,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130,
+ 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,136,101, 52,  8,134, 10, 48,196,113,185, 15, 30,112,126,
+116,130,103, 20,140,130, 81,128, 27,  0,  4, 16, 13, 47,133,167,131, 94, 54,182, 93,156,236, 47, 88,217, 62,252,251,  7, 90,146,
+200,204,204,196,196,200, 12, 34, 65,235,134,153,254, 51,178,128, 40,134, 63,155,183,178,254,255,255, 95, 79, 47, 97, 48,184,153,
+ 18,189, 50,164, 44,123,120,130,186, 12,110,244, 18,237, 81,189,163,122, 71,166, 94, 60,  0, 32,128,134,118, 15,224,208,145, 59,
+102, 38,191,  5,  5, 24,222,189,103, 60,127,145,131,133,137,197,203,253,239,238,253,162,192, 98,159,145,137,137,131,151,193,201,
+236,  3,  3,  3,139,141,229,255, 83,103,  8,248,116,255, 49,208,161,246,172,255,127,155,219, 58,125,124,249,232,242,237,135,127,
+191,253,160,207,205,186, 35, 13, 92,191,121,238,215,143,111,188,188, 82,180,190, 60,153,138, 64, 81, 81, 17,114,148, 63,228, 68,
+101,146,244, 34,159,132, 72,222, 90,210, 81, 48, 10,104,  4,  0,  2,  8,189, 88, 92,184,104, 46,126, 13,241,113,201,184,164, 40,
 209, 75, 54, 56,117,134,213,195,245,239,197, 75,156,108,172, 44, 44,204, 44,172,172,255,217,153,127, 51,176,240,178, 48,124, 55,
 211,254,195,193,198,254,159,129, 65, 82,156,193,207,235,223,205,123,248, 74,255, 59,215,111,169,104, 41, 75, 73, 11, 60,121,120,
 131,149, 83, 68, 75, 67,109,251,198,141,123,246,236,161,117, 29, 64,231, 11,229,  7, 22, 92,186,184, 71, 65,230,167,174,242,255,
-127,255,254,126,252,248,228,198,149, 51, 95,126, 74,154, 24,219, 18,169,253,227,235, 57,204,204,208, 61,107,119, 38, 84, 24, 52,
-253, 34,222,106,228, 82,123,237,218,181, 37, 37,164,237, 53,  1,150,254,  5,  5,  5,192, 14, 37,158,195,156,241,  0, 50, 47,148,
- 31, 25,  0,255, 81,193, 12,224,128,155,133,237, 20,107,248,165,240, 48, 85,255, 97,251, 19, 17,161, 61,194, 47,133,135,  0,228,
-107, 32,209,214,253,  3,  4, 16,253,122,  0, 76, 12,212,223,204,237,229,246,251, 63,  3, 51, 11, 51,171,149, 57,163,152, 40, 19,
- 11, 11, 19, 59, 43,179,134, 26,211,195,199,127,204,140,153,132,133, 56,182,239,  3,157, 41,200,252,255,251,255,255,255, 36,164,
-113,150,254,151,206,156, 81,144,146,185,116,252,196,201, 95,191,223,191,121,207,198,206,171,105,104,173,111,237,182,127, 51,104,
-135, 48,141,234,  0,180, 11,229, 33,103, 49,166,164,164, 12,254,106,224,194,249, 61,236, 44,239, 88,152,126,253,248,241,247,227,
- 87, 78, 27, 59,194, 39,247, 94,187,113,142,151,227,173,147, 53,187,130,188, 50, 31, 31,255,239, 63,127, 94,191,126, 35,254,232,
-241,237,187,247,142, 29,125,103,101,237, 79,140,189,192,210,255,239,157, 86,178,157, 77,246,217, 27,144,219, 93,224,103,  1,225,
-185,209,101,176,  1, 96, 11,  6, 88,219,161, 28,127, 68,195,210,240, 63, 35,  3, 35, 25, 85,220,255, 71,235, 24, 79,166,192, 10,
-113,  6,216,101,107,  8,147, 82,102,124, 53, 11,159,140,181, 90,221,190,125, 59,132,237,225,225,177, 99,199, 14,172,236,209,210,
- 31,147, 11,175,  6,  0,  2,  8,123,  5,112,244,200, 73,107, 27,115,234,186,227, 31,161, 19,249,137,188,161,  9,165, 82, 97, 97,
-126,255,142, 69, 66,140, 85, 66,140,237,203, 23, 86, 14, 86,150,191, 44,236, 70,186,140,  6,122,204, 76,140,172,160, 77,228,172,
-108,172, 76, 63, 25, 57,216,254,124,195, 89,250, 31,217,183, 87, 81, 82,244,202,197, 43,213,205, 13,112,241,214,198, 54, 38,102,
- 70, 35, 99,163,237, 59,246, 18,172,  0,254,253,251,  7, 44,196,239,220,185,195,201,201,169,171,171, 75,240,236, 26,  6,140, 11,
-229,225,183,173,206,153, 51,103,160,234,128,243,231,207, 27, 26, 26,226, 87,115,229,218,185,255, 63, 31,200, 75,254,224,231, 99,
-103, 98,226,250,254,253,207,219,119,223, 15,238,153,192,193,103,100,110,102,135, 71, 35,  7,243,107, 53,197,255,218,218,154,207,
- 95,188, 63,123,254,220,151, 47, 95,249,249,121,149,148,228,153,152, 89,255,254,125,116,254,194, 17, 67,  3,155, 65,155,133,128,
-205,127,248,237, 46,192,126,  0,176, 14, 32,242, 90, 21,140,134, 44,189,123,  0,144,164,187,102,205, 26,242,238,213, 34, 30,192,
- 27,227, 51,103,206, 32,213, 30, 38,249, 96,136,222, 83,237, 60,104,141, 68,  9,  1, 38,105, 33,166,193, 19,158, 67, 23,192, 75,
-124,180,250,  0, 32,128,112,246,  0,128,117,  0,144, 36,181, 26, 56,146,119, 27,171,184,205, 36, 85,226,115,  8,164,  7, 71, 76,
- 53,176,231,128, 24, 43, 11,171,172,212,151,207,159, 89,207, 94,145,  5, 93,  3,201,  8, 58, 12, 78, 91,245,155,186, 42,232,170,
-  0, 54, 86,118, 54,102, 70, 99,189, 95, 66,130,255, 14,157,198,110,136,166,162,248,195,187,175,144, 75,127, 32,168,174,175,106,
-107,238,146,180,212, 19, 20,224,197,239,134,239,223,191,  3, 75,132,135, 15, 31, 66,184,192,166,135,151,151,151,191, 63,129, 38,
- 45,218,141,146,200,160,183,183,183,184,184,152,206,219,220,129,165, 63,252, 74, 13, 60,224,231,215,167,138,210,223, 69,132,185,
-101,164, 37,184,184,185, 30, 62,124,250,247,239, 63,105, 41,222,171,215,143, 95,224,228, 54,208,197,126,241,195,229,203, 71,244,
-212,126,201,201, 41, 94,187,254,240,236,217,235,175,223,124,  6,198,179,160, 32,231,183,111, 95, 12, 13,181, 63,124,248,248,244,
-236,249,139,151, 57,245,117,141,  7, 97,206, 65,187,220,145,224,181,142,200, 35, 27,104, 71, 25,  3,217,240,225, 14, 50,198,145,
-154,155,155,125,125,125, 73, 61,173,  1, 88,  7,  0,237, 93,181,106, 21,174,227,216, 24,192,103, 41,163,245, 12, 32, 87, 66,  2,
-197,209,218,  4,192,130, 30,243,236,  0,248,241, 74, 64,255,166,167,103,144,212,201, 64,214,107, 86,249,229,116, 59, 15,188,232,
- 31, 45,181,169,213,252, 71,142, 50,180,232,  3,  8, 32,  2,161, 12,172,  6, 32, 53,  1,145,  0,107, 65, 79,100,233, 15,  1,  7,
- 15, 30,124, 10,  6,196,156,229,196,252,255, 59, 11,227, 15, 54, 86,214,243, 87, 68,153, 89, 88,120,217,190,241,113,124,231,229,
-255,251,244, 41, 47, 59, 27,  7, 59, 59,123,168,223, 31, 63, 79, 38,105, 41,118, 46, 78,236,119, 83,124,251,240,248,197,187, 47,
-197,117,117,152, 82, 31, 62,190,123,255,250,  5,193,171,196, 86,175, 94, 13, 47,253, 33, 96,219,182,109,215,175, 95,199,223,252,
- 71, 62,255, 25,210,252,255,  8,  3, 64,118,125,125, 61,217, 71,197,145, 93,250, 19, 84,  6,108,254,115,176, 60,231,228,100,229,
- 96,103, 83, 84, 84, 48, 49, 51, 19, 20, 20,100, 97, 97,102, 99, 99, 22, 18,228,120,250,248,  1, 46,141, 44,255,159,242,242,112,
-126,251,254,231,202,149,219,207, 94,124,124,244,228,211,173,123,191,158,191,248,252,250,245,135,219,183,238,169, 40, 43, 75, 75,
-241,189,125,253,104,112,102, 33,200,232, 63,178,  8,176, 55,128,114,183, 59,158,182, 45,120, 57, 26,214, 11,229,201,235, 64,  0,
- 11,101,120,103,145, 72,176,119,239, 94, 96, 18, 37,120, 53, 35,242,229,239,200, 23,  2, 35, 91,135,203,106,136,177,144,187,195,
-200,235, 21,173, 42,228, 70,110,245, 67, 74,127, 96,219, 95, 10,212,252,199, 23, 92, 30, 30, 30,158,158,158,144,113, 30,  8,  3,
-194,246,128,129,209, 58,  0, 63,  0,  8, 32,162,230,  0,200,235, 13,144, 13,110,223,  6,117, 35,128,117,128,180,180, 52,254, 54,
- 41, 11, 11, 11, 43, 51, 43, 43, 43,163,157, 53,195,183,175, 63,239,223,101,  3,118,  8, 88,254,178, 88,152,255,  7,214, 10,204,
-204, 76, 12,255, 25,223,189,103, 56,125,142,  5,116, 19,  8,182,202,238,220,249,187, 95,190, 96,153, 75,236,168,175,103,103,231,
-248,254,253,227,223,127,127,240,187,246,220,185,115,152,130,103,207,158,213,212,212, 36,178,249,143,220,166,219,188,121, 51, 92,
- 13,141, 58,  1,104, 67, 61,240,210,159, 96,  6,126,255,238,149,  8, 47,227,159,191,255,126,253,254,243,250,205, 59, 86, 54,142,
-159, 63,127,255,254,243,247,207,159,127,127,254,254,255,240,254, 13, 46,141,108,172, 95, 57, 56,101,222,190,253,248,233,243,183,
-119,239,191,243,  9,235, 91,233,233,157, 58,186, 67,234,215,159,143,159, 62,170,171, 43,179,179,177,124,253,252,110,112, 54,255,
-129, 37, 20,218,101,138,192, 30,  0,145, 51,  1,192,154,  3,243, 14, 72,248,177,210,184,  0,252,114,133,140, 12, 33,103,103,196,
-233,111,192, 28,  1, 36, 55,109,218,244,230,205, 27, 34,231,165,246,236,217,  3, 41,253, 33,234,215,174, 93,139,171, 20, 70,238,
-255, 97, 94,  8, 12, 17,135, 92, 11,140,213,  4,200, 49,162, 64, 18,210,111,192,234, 65, 92,233, 25,232,188, 16,203, 61, 43, 25,
- 24,194,251,191,154, 86,126,193,170,215, 44, 28,187,  7,145,199,250,113,205,  7,140,150,242,200, 35, 63,104, 61,  0,128,  0,162,
-126, 63, 11,173,189, 79, 82,243, 31,210,254,133, 87,  3,192,204,131,191, 31,192,204,204, 98, 97,246,143,153,137,229,244, 25,142,
-155,183, 57,188,221, 25,124, 60, 25,124, 61, 24, 37,197,217, 56,216,216,129,136,147,131, 93, 90, 18,200,224,  0,178,177,154, 80,
- 91, 93,211,217,222,132,153,109,148, 21,229,249,  5,184, 57,254,253,250,242,237, 55, 45,226,227,  8, 24,192, 11,125, 56,  0,114,
-223,190,125, 11,236,233,211,174,177,143,220,172,131,112, 33, 61,113,130, 99, 11,127,255, 50,124,253,246,251,235,215, 95,159, 62,
-253,124,249,242,253,179,103,111, 62,127,254,249,229,203,111, 96, 13,250,245,235,239,143, 31, 62,226, 28, 56,250,249,231,199,143,
-191,191,127,255,226,229,101,147,149,230,227,226,  6, 53,247,148,148, 21,100,164,248,248,249, 56,254,255,255,251,251,207,191,159,
- 63,191, 14,206,230,127, 81, 81, 17,214,146,157, 96, 39,  0,243, 46, 73,  8,  0, 10,238, 33,238,212,110,240,136, 10,  2, 64, 10,
- 95, 96, 53,  0, 44,211,137,233, 31,  3,219,254,107,214,172,129,151,254, 64, 50, 36, 36,  4, 87,241, 13, 52, 28,243, 74, 72, 72,
-155,  0, 46, 14,116, 15,161,195,180,255,163, 13,228, 34, 15,127,225,210, 35, 34, 34,194,  8,107,231,147,170,119, 20,144, 84,250,
- 51, 96,204,  1,  0,  4, 16, 81, 61,  0,186,181,253, 97,  5,205, 95,200,165,210,132, 29,102,246, 79, 76,148,253,211, 39, 22,118,
-150, 63,236,108,204,  7, 78,178,121, 59,178,  2,219,254,159, 62,177, 30, 61,195,205,199,  1,186, 74,194,195,229,151,191,247,127,
- 38,166,255, 11,214, 18,101, 59, 48,115, 50,115,113,188, 99, 21,225,250,253,228,206,211,255, 78, 14,118,248,213,  3, 91,211,199,
-142, 29, 67, 19, 36,120, 13, 50,228, 82,239,  5, 11, 22, 36, 36, 36, 64, 68,224,247, 74,  2, 69,240, 95,115, 72,  9,128,180,253,
- 33,205, 52,248, 10, 57,204,161, 94,172, 64, 80, 72,244,217,253, 43,192,112,254,245,251,223,143,159, 79, 30, 63,121,251,238,253,
-167,119,239,190,189,125,247, 29,136,  4,132, 20,112,105,124,249,230,255,139,151,111, 52, 53,149, 63,188,127,207,202,194,244,233,
-243,147,175, 31,254,105,169,124, 21, 23, 21,229,226,226, 98,103,231,124,254,226, 51, 35,179,224,224,204, 60, 88,175,113,135,204,
-  4,224,215,  8,233, 31,192,239,146,132,215, 28, 12,164, 92, 41, 19, 22, 22,  6,111, 17, 67,110,173,  0,198, 90,112,112, 48,176,
-250,193,191,217,  7,173,237, 15,  1,200,253,  9,100,128,235, 74, 72,136, 56, 48,181, 64,238, 94,135,136, 63,198,102, 47, 80, 77,
- 86, 86, 38,228,118, 29,112,181,241, 31, 82,164,  3,117, 65,220,143,167,230,  0,234,157,234, 40, 24, 62,225, 27,218, 88, 16, 80,
-  4,162, 55,201,145,117,180, 16,167,  4,164,149,119,192,217,179, 58, 43,128,117,  0,188, 31,  0, 16, 64, 44,180, 40,250,129,173,
-126,200,108, 48, 73,205,127,164,118, 61, 51,242, 24, 31,158,123,196, 68, 68,152,153, 24,153, 69, 69,152, 85,149,255, 63,123,198,
-194,196,204,200,202,194,194,202,194,122,233, 50,183, 16, 55, 43,208, 28,107,243,191,156,156,236,255,254,253,103,248,255,151,200,
-210,159, 71, 92,246,229,151,255, 95,239, 28, 96, 97,100, 46,173,175, 38, 38,139, 62,  6,  3,100, 55,227, 25,255, 97,  0,175,247,
-135, 20,247,144,210, 31,216,222,  7,214,  4, 16,169, 79,159, 62,  1, 75,255, 45, 91,182, 16,115,161, 60,121,  0,114,241, 19, 48,
- 72, 33, 83,148,196,180,253, 33, 64, 95,215,248,250,149,179,255,159,126,250,246,253,247,123,246, 31,255, 25,222,255,248,241,  7,
-216, 27,120,245,230,219,179,231, 95,108, 29,229,113,105,252,254, 75,228,222,253,215, 74,138,114,138,138, 50,111,223,190, 17, 20,
-248,171,170,202, 47, 38,170,196,193,201,249,225,195,151,179,231,110, 60,121,250, 73, 66, 70,123,240,100,152,255,224,219, 46, 33,
-  5, 47,188,252,197,186,150, 31,203,104,  5,210, 10, 70, 96, 39,  0,126,151, 36,  4,244,245,245,237,218,181, 11,151, 94, 72,140,
-164,167, 11,194,172,251,143, 92,100, 67, 42,  0, 96, 43, 30,207,248, 15,210,240,209, 94,146,110, 55,194,117, 37, 36, 68, 28, 82,
-124,227, 42,196, 33, 75,140,166, 77,155, 14,153,225, 48, 48,208,135, 15,220,195, 90,244, 56,111, 26,128,232,101, 10,123, 15,209,
- 27,234,164,  0, 15,152,176,254,107, 12, 12, 12,248, 91,255,192,188,  6, 95,224,228,233,233,  9,143,157,209,145, 31, 34,  1, 64,
-  0,177, 12,146, 86, 63,  4, 68, 68, 68,144,164, 30,216,192,103,102,  6, 33, 77, 53, 38, 67,221,191,236,108, 28,160, 10,128,149,
-213,202,156,129,157,157,129,149,153, 93, 68,132,131,153,249,235,223,191,255,254,253, 35,106, 36,231,219,187, 23, 28, 50, 26,247,
-247, 44, 17,101, 97,138,173,174, 34, 70, 11, 39, 39,103, 85, 85, 21, 73,203, 64, 33,183,207,231,228,228, 64,184,144,246, 62,176,
-232,255,246,237, 91, 82, 82, 18,144, 61,109,218, 52,218,173,  2,130, 92,254,  7,191, 67,149,164, 85, 37, 50,242,234,103, 78,236,
- 20, 19,  1, 54,220, 89,192, 99, 59,127, 63,125,254,245,238,253,119, 89, 69,109, 27, 43,123, 92,186,188,188,130,119,109,159,127,
-226,212, 85, 91,107,125,121,121,249,223,191,126, 24, 26,232,113,243,243, 63,188,247,232,233,179, 15, 71,143, 95,127,255,153, 63,
-208,210,126,240,228,138,204, 12,200,  0, 11, 99, 38,176, 64,  4, 23,232,255,144,202,125, 38, 38, 70, 60, 23,172,131, 46,103,255,
- 15, 47,  0, 25,129, 41, 15,222,  9,  0, 50,128,165,149,135,135, 59,172,146, 97,240,142,174,197, 28,235,192, 85,106,  3,101,241,
-151,254,200,  0,168, 18, 87,123, 31, 79,170,192,188, 18, 18, 46,142,231,178, 48,120,205,  1, 44,127,193,205,127, 70,228,250,  3,
-191,189,200,122, 87, 21,242,128,194,133, 67, 28, 34,181,170,240, 17,164, 50,216,121,241, 55,174,  0, 65, 30,247, 31,157,  3, 32,
-  3,  0,  4, 16,246, 10,192,202,218,140,194,113, 55,242,218,254,240,104, 35, 18,188,123,207, 40, 41,206,  4, 57,248, 97,215, 94,
-208, 64, 63, 59, 59,  7, 59, 27,187,175, 39, 35,144,226,228, 96,124,247,150,249,212, 89,222,191,255,254,202,202, 16, 30, 98,  6,
- 54,255, 63,124,251,254,254,204, 54, 85, 89,214, 43, 79, 73, 24,146,  6,214, 67,102, 96, 64,188, 22,240,133,242,157,144,209, 30,
- 96,111,192,220,220, 28,216, 90,244,247,247,  7,178, 99, 99, 99,105,215,252,135, 15,  4, 65, 90,115,196,140,252,160, 68, 43,184,
-148,191,117,227,218,179,123, 15,129,229,224,223,191,255, 57, 56,133,212, 52,117,  2,  3,  8, 92, 10, 38, 38,173,119,226,212, 14,
- 96,143, 65, 87, 71, 73, 90, 74,228,209,227,151,239, 47,223,189,121,235,209,222,125,151, 30, 62,253,159,146,154, 75,164,  3,238,
-111,249, 76,182,175, 31, 60,120, 64,164,202,127, 43,  5,137,151,245,221,132, 87,239,221,249,240, 78,  0,104,212,232,222,  2,100,
-  5,104,122,177,118,  8,144,203, 74,146,252, 75,106, 22,198,117, 37, 36, 49, 87, 69,194, 11,122, 52,101,196, 52, 47,254, 61, 92,
-187,102, 66, 28,168,251,226, 36,  7, 47,253, 65, 92, 47, 83,240,104,233,  5, 92, 21,192,232, 62,  0, 34,193,172,206, 10,228, 81,
- 32,100,  0, 16, 64, 44, 84, 73, 58, 84,  1,100,180,121,207,156, 99,231, 96, 99,243,245,  2,214,  0,140,102, 38,127, 46, 95,225,
-100,  2, 95, 33,253,225,  3,147,148,  4, 51, 19, 35,219,197,203,108, 28,236, 12,191,126,255,122,248,136,147, 96,233,127,247,214,
-121,115,103, 31, 22, 17,243,187,183, 78,177,188, 88, 83, 86, 90,217,213,221, 78, 35,207, 34, 95, 40,175,163,163,243,254,253,123,
- 32, 27, 72,230,229,229,209,103, 23, 24,169, 69, 63,114, 29,  0, 68, 23, 46,159,125,249,226, 37, 55, 55, 55,158,134, 63, 74, 65,
-160,103, 12, 68, 75,151,204,188,118,243,164,164, 56, 15,  7,  7,235,151, 47,191,158, 62,255,196,200, 34,155,146, 26, 71,164,213,
- 60, 66, 69,100,251, 23,178,156,127,  0,192,185, 98,  6,229, 68,196, 66,210,179, 36,120,129,140,108,152,145, 33,  4,171, 54,200,
- 41, 28,113,149,215,  4,203,113,242,238,146,132,123, 51,212,146, 29,228,224,239,207, 65,104, 20, 80, 15,248,196,212, 66,102,125,
-129,117,  0,178, 32,156, 13, 16, 64,232, 21,  0, 37,199,245,208,226,168, 31,194,169,135,129,241,253,123, 70, 46,  9, 70, 97, 33,
- 70, 19,163,223, 28,108,204,236,108,191,133,133, 56,192,121,128,209,194,228,239,169,115,172,160, 46,  2,222,188,  4, 44,253,181,
-213,249,138,243,155,190,179,201,172,219,243, 84, 89, 13,212,150,231, 57,189,165,184,164,178,183,135,134,117,  0,228, 66,121, 96,
-147, 31,222, 45, 24, 42,215,156,130,246,124,233,146,172, 43, 58, 38,253,200,177,131,175,223,190,254,254,226, 27,  7,135,176,140,
-162, 30,145,245,  7,  3,101, 23,192, 82, 37, 84,255,255,255,199, 64,222,113, 38,247, 22, 64,151,  3,221, 91, 72,235,120, 33,105,
-216,103,144,  0, 55,159,112,130,109,121, 92,157,235,209, 57,  0,226,235,  0,204,210, 31,  8,  0,  2,104,200,223,  7,240,159,  1,
-180,194,135,145,  9, 24,243,255,133,  4,254, 31, 60,194,194,  1,218,254,203,226,231,  5, 76, 12,255,  4,133,255,252,249,203,248,
-239,223, 95,112,238,197,  9,244, 20,190,120,  7,135,126, 97, 81, 21,227,225,142, 10, 20, 90,182,254, 50,164, 14,248,253,119, 29,
-173,221, 79,198,133,242, 67, 26, 16, 95,226, 15,100,151,249,125, 71,154, 96,  5,138,208,106, 33,242,245,  2, 91,253,103,139, 24,
- 70,  1, 14, 16,146, 61,101,  0,235,245, 17, 82,  7,224,146,  2,  8,160,209, 75,225,135, 12, 24,189, 16,102, 20,140,130, 81, 64,
- 93,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 39, 46,141,130, 81, 48, 10, 70,193,  8,  5,  0,  1,
- 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52,240,151,194,
-219,155, 73,227, 82,249,245,221, 11,  8,131, 91, 72,  2,194, 56,120,234, 41,178,130,159,162,226,184,244,238,238,135,238,179,117,
- 45,132,174, 49, 96,127,253,146, 72,123, 49,  1,241,246, 98,  2, 52,123, 77, 12,165,112,169,124,115,255, 42,132, 33,162,  8, 61,
- 23,225,204,249,103,212,242,175,199,110,236,  7,208,243, 75, 73,197,194,142,  2,158, 34, 14, 53,127,135,107, 26,181,226, 23, 89,
-239,205,155, 55,145,207, 71, 43, 44, 44, 84, 87, 87,167, 81,186, 26,213, 75, 21,189,151, 47, 95,134, 48,116,117,117, 73,213,139,
-121,197,211,104, 56, 15,136, 94, 60,  0, 32,128,176, 47,  3,253,243,231,207,143, 31, 63, 24,153, 65,151,106,253,253,243,155,141,
-149,133,157,157,157,212,186,  5,104,  8,  3,248,196,102,146,116,  1, 11,125, 96,113, 15, 41,250, 37,100, 21,128,228, 11,220,  7,
-205, 99, 22,130,192,226, 15, 82, 20, 78,221,116, 10, 72,102,251,153, 49, 12,110,  0, 44,244,129,197, 61,164,232,215, 54,177,  6,
-146, 87,207, 28,165,181,127, 55,127,249,178,243,235, 87,119,110,110, 32,201,240,242,229,169,242, 50,160,160, 89,103, 23, 77,125,
-122,224,192,129, 21, 43, 86,  0,211, 21, 92,132,131,131, 35, 34, 34,194,193,193, 97,180, 33, 54,168,  0,176,208,  7, 22,247,144,
-162,159,212, 52,  9, 57,185, 11, 82,244,147,148, 38,145,207, 55, 37,111,125, 39, 25, 87, 10,142,  2,128,  0,194, 82, 58,127,250,
-252, 69, 82,205,212, 94, 87,131,139,157,245,255,255,255,127,255,254,191,114,251,225,253, 75,135, 57,217, 89,137, 60,164, 19,  8,
-120, 56, 30,104,171,222,187,114, 75,233,235, 79,  5,226,139,126, 32,201,201, 47, 12,100, 64,138,126,172,189,  1, 60,237, 95,179,
-232, 10, 32,  3,146,236, 48,101,177,174,119, 66, 54,150,141,141,141,  1,188,191, 28,116,121,  0,248, 80, 82,136,123,152,152, 89,
-241, 55,186,129, 64, 82, 12,212,118,254,245,233,195, 79,112,181,247,229,207, 95,136,123,248,197,100,240,183,247,249,165,148,129,
- 12, 72, 54,195,214, 27, 16,164,174,127,129, 32,231, 37,168,103,  0, 41,253, 33, 69, 63,168,109,190,107, 55,178,172, 15,222,152,
-250,200,253,230, 45,207,235, 15,111,239,136,  9,104,202,188, 81, 33, 38,114,129,109,255,149, 43, 87, 34,151,254, 64,  0,228,114,
-114,114, 74, 74, 74,162,245,  3,134, 55,216,179,103, 15, 73,183, 76,227, 57, 12,145, 22, 69, 63, 36, 77,  2, 25,152,105, 18,214,
- 27, 16,196, 83,254,  2,211, 36,144,129,153, 38, 33,178,184,210, 36, 80,246,208,241, 83,204,204, 44,127,255,254,249,248,249, 75,
- 84,176,127, 79, 79, 15,121,165, 63,157, 67,108,144,131, 45,216,214,142, 35,199,  2, 64,  0,161, 87,  0, 95,191,255,114,246,139,
-146, 21,227,231,226,  0, 93,162,242,247, 31,  3, 11, 51,163, 16,191,134,182,170,220,158,157, 91,255,254,254, 74, 76, 29,240,235,
-215, 47, 77,237,251,250, 26,247,153,153,254, 30, 56, 35,205,198, 74,248, 52, 87, 96, 65, 12, 44,106,249,249, 64,247, 47, 66, 72,
- 52, 89, 96,149,128,171, 43,  0, 44,239,128,201, 46, 62, 60,  8,200,134,144,104,178,192,228, 72,176, 25,  2,244,151,140,140, 12,
-144,  4, 58,254,235,215,175,192,210, 31,114, 98, 51, 81,181, 29, 11,243,188,  9,235,217,249, 25, 94, 62, 96, 56,253,229,233,235,
- 23,119, 22,247, 87, 18,108,248,  3,179,153,140, 20,104,104, 11, 66, 98, 29, 11, 34,207,191,120,206,  1,  0,150,239,192,162,191,
- 57, 39, 27,200,110,134, 21,253, 75,110,221, 66,148,254,132, 14, 17,120,240,255, 48,131,217,211,  8,185,152,159,255, 84,216,255,
-253,191,254,102,239,249,221, 55, 85,254,101,225,247,111,127,127,255,247,239,223,145,143,191,134,176,129,130,192,126,  0,169,167,
-220, 92,191,126,125,226,196,137,180,188,223,156,134,165,255,170, 85,171,222,191,119, 93,189, 58,148, 24,245,144,211,249,233, 83,
-162,  1,203,119, 96,154,188,117,254, 24,176,232, 71, 78,147,251,182,174, 19, 23, 23,135,143,  5,225, 42,127,241,164, 73, 80,233,
- 12, 63, 94, 21,  3,  0,227,241,197,171, 55,231,175, 92,131, 53, 11,126,118, 77,158,149,158, 16, 57, 90,136,211,  1,  0,  4, 16,
-202, 36,240,231,207,159,109,220,  2, 53,228,132,217, 89,153,128,165,255,139, 23, 47, 46, 95, 60,255,235, 15,144,249, 95,152,159,
-203,205,211,231,251,207, 63,196, 24,202,206,250, 74, 89,238,  5,  3, 51,163,150,234, 99,118,150,151, 36,149,254, 40, 45,205, 79,
-159,129,133, 62, 80, 10,179, 67,128,181, 52, 68,  6, 11, 87,174,  3, 22,250, 64, 41,204,198,  8, 26,  0, 54,252,129,229, 62, 31,
- 31,223,189,123,247,128,133, 62,168,218, 35,186,244,  7, 54,252,129,165,127, 96,110,139,103,148,213,150, 43, 79, 95,124,103, 32,
-181,244, 71,  6, 79,158,189,  0,246,181, 69,  5,249,192, 85, 51, 51, 25,254,245,  8,142,  7,181,208, 88, 88,  9,150,254, 64, 80,
- 59,101, 42, 16, 65, 74,127, 96,111,160,212, 13,220,238, 23,101,195, 87, 30,241,111,115, 11,145, 74,148,207, 98,101,226,225,102,
-224, 98, 98, 96,150, 22,183,182,  9,118,190, 39,213,143,127,240,  7,228,194,133, 11, 33,229, 62, 26,  9, 87, 64, 12,248,246,237,
- 27, 65, 17, 26,129,180,180,180,208,208,213, 75,151, 46,165,188,244, 23, 18,218, 67,164,150,153, 96,192,200,200,136,124,101, 35,
-237, 74,255,214,170,194,213,171, 87,207,153,220,131, 92,250,  3, 69,166, 76,153,130, 39, 77, 34,151,254,152,105,210,211, 26,124,
-234, 20, 47, 55, 46,189,189,147,167, 67, 74,255, 87,111,222,  2, 17,176,  7,192,202,202, 50,125,193,114, 98, 46,189, 25,  5,196,
-  0, 96,147, 31, 25, 33, 75,  1,  4, 16,162,  2,  0,150,122,194, 10,122, 10, 18,  2, 63,126,255,  5,214,214, 59,119,238, 88,180,
-112,193,165,139, 23, 75,139, 10,152,153,153,128,125,  1, 62, 46,118,  5, 61, 27, 96,147, 13,191,101,191,127,255,214, 86,125,200,
-199,243,109,222,194, 87, 76,140,255,205,116,111,  2, 69,  8, 58, 17,173,244,135, 20,253,223, 63,190,133, 87, 12, 64, 17, 92,122,
-209, 82, 30, 36,217,157, 90,218,  1, 79,148, 64, 17, 60, 86, 43, 43, 43, 11, 11, 11,127,250,244,  9, 88, 19, 48, 49, 49,  1, 61,
-  8, 44,253, 33, 29, 29,130,167,113,173,221,176,190, 96,194,174,245,147,107,128, 53,  1, 23,183,208,227,191, 79,129,165, 63, 15,
- 56,159, 48,227,213,139, 86,250, 67,138,254,143,207,238,106,200,136,125,254,246,131,157,139,157,225,239, 95, 82,253, 91, 57,123,
-203,213,115,199,117,148,180, 62,254,197, 89, 79, 67, 74,127, 96,171, 31, 88,244, 67, 68,128, 69, 63, 16,221, 75,111,220,117,237,
-146,182,153, 18,195, 91,156,145,117,145,109,139,181,131,168, 40,183,230,247,255,159, 25,126,190, 98,251,249,238,231,223,207, 63,
-254,125,255,199,198, 35,109,107,178,230, 66, 27, 46,141,144,161,127,200,181, 86,240,108, 15,103,  3,165,128, 10,136, 73,199,111,
-222,188, 41, 42, 42,  2,182,253,111,220,184,  1,228, 30, 62,124,184,173,173,173,166,166,134, 62,185,  8, 88,112, 83,165,237, 15,
- 44,253,171,170,136, 58,105, 28, 94,232, 35,223,203, 72, 59,  0, 76,147,144,171,131,207,158, 61, 11, 44,247,129,105, 18, 82,250,
- 51,128,111,109, 36, 47, 77,118, 37,248, 92,185,251, 88, 66, 73,146,225, 43,129,122, 26, 88,244,255,254,253,  7, 92,128,252,  1,
-162,199, 15, 31,144,228,120,228,238,194,104,215,129,120,  0, 16, 64,136, 33,160,159, 63,127, 26,106,104,112,113,178,  2,219,251,
-127,255, 49, 28, 61,124,164,177,185,229,223,127,134,219,119,238, 92,186,120, 65, 71, 71,159,153,153, 81, 93, 73,230,222,185, 63,
-156,120, 15,214,100, 99,121,165,166,240,140,129,133,241,241,243,223, 64, 82, 79,227,225,169,203,175,254, 51, 16,187,228,  6, 62,
-206,131,214, 39,  0, 86,  6,224,181, 64, 79,241,232,133,143,243,160,181, 71,128,  9, 17,180, 54,230, 53,246,190,200,159, 63,127,
-184,184,184,128, 69,191,160,160, 32,176, 57,249,245, 43,232, 32,104, 81, 81,209,183,111,223, 18, 60,163,234,199,123,  6, 51, 78,
-206,210,201,135, 93,245, 25, 30,158,103, 56, 13, 22,  4,114, 39, 21, 58,254,253, 71,212, 21, 52,240,233, 53,103, 99, 13, 22, 94,
-166,157,  7,174, 25,106,200,242,241,176, 31, 60,115, 71, 68, 81,251,  1,234, 42, 32, 92,254,221,116,237, 63,195,115,  6, 63,103,
-198,217, 91,238,  9, 11, 42,  6, 89, 51,226,241, 47,100,204,103,231, 87,232,121,215,255, 27,250, 25,164, 63, 50,166,214,255,111,
-108,102, 96,250,206,120,170,109,138,184, 56,214, 83,185,127,104, 60,148, 23,240,250,244,247,203,207,247,119, 22, 63, 90,118,196,
-239,189, 86,138,163, 91, 46, 15,167,160, 58,  7,139, 32,139,223,199,211,235, 78,155,154,152,226,236,108, 50, 49,193,195, 19,153,
- 77, 60, 16, 17, 17,201,207,207, 63,114,228,200,206,157, 59, 65, 85,215,206,157,154,154,154,129,129,129,244,201, 42,  1,  1,191,
-168, 85,250,203,203,203, 19, 89,168,193,203,125, 72, 39,128,236, 51, 92,137,  4, 78,222, 65,192,126, 48,176,  2,  0,150,251,198,
- 96,  6,  3,248,122, 59, 15,123, 19, 72,154,212,213,213,125,128,119,133,  9, 60, 77, 62,223,208,193,171,205,193,163, 90,176,170,
- 35, 69, 95, 71, 66,221,167,  5,232, 29,172,171, 83,128,109, 59, 14, 14,208, 26, 19, 96,195,255,219,183, 31,100, 59,126,180,220,
-199,  5,240, 28,  6,  7, 16, 64,136, 10,224,223,191,127, 92,236,108,191,254,252,103, 98,100,  0,162,250,166, 22, 96, 53,240,245,
-235,151, 23, 47,158,139,139, 75,252,255,255,239,207, 31,  6, 14, 86, 22,102, 86,124, 67,  4,192,194, 84, 75,249,137,136,224, 39,
-208,144, 31,248,162, 79, 70,198,255, 70,218,183, 79, 94, 18, 39,102, 57, 16,164,153,143, 57, 28,132,167,249,143,220,232,192, 44,
-250,  9, 54,255, 33,237, 74, 49, 49, 49,200, 50, 39, 96,103,  5, 50,247,203,207,207,207,202,202,250,248,241, 99,252,211, 23,243,
-247, 28, 76,241,177,119,  0,179,111,253,  1,141,255,  0, 25, 14,106, 12,124, 45,251, 11, 75,172,  8,186, 25,216,200,  2,146,114,
- 98, 66,239,127,254,100,225, 99,254,241,250, 27,176,104,148,148,151,217,181,239, 52,145,254,141, 47,110,189,127,116, 47,203, 11,
-134, 15,226, 12,192, 74,204, 66, 65,209,201, 30,223, 18, 85,228, 17,255, 37,225, 41,107,127,222,100, 80,249,193,112,146,133,129,
-135,133,193,215, 88,198, 55, 30, 95, 87, 73, 90,232,215,175,119,172,127,126,  3, 75,255,227,  9,252,118,129,254, 26, 98,154, 87,
-118, 29, 48, 12,253,202,250,235,235, 31,141,127,175, 95,226,155,168,135,148,248,144, 57,  0,100, 54, 73,  0, 88,226,115,115,115,
- 95,191,126,157, 11, 12,162,163,163,105, 61,236,  3, 44,181,129, 69,127, 52, 24,208,179,244, 71, 27,243,129, 92,156, 66,135, 50,
-206, 35, 56, 70, 73, 73,  9, 88,  1, 64, 74,127, 96,219, 95, 92, 82,146,164, 52,153,230,107,119,226,217, 43, 94,125,222,167, 59,
-239, 50,112,176,  7,231,198,  9,201,248,224, 45, 52,254, 62,125,254, 18, 88,250, 67,122,  0, 64, 64,106,243, 31,115,176,104,180,
- 50,192, 83, 25, 32,215,  1,  0,  1,132, 50,  7,240, 31,178,  6,230, 63,  3,176,232,103,  2,149,221, 12,235,214,174,  9, 12, 10,
- 17, 17, 21,131,100,218,255,132, 14, 25,103,102,122,165,173,  2,189, 28, 81, 79,135, 11,220,116, 97, 48,210,186,  7, 20, 39,198,
-113,200, 99, 62,104,226,240,173,  0,184,  0,242,152, 15,154, 56,124,105, 60, 86,240,233,211,167,207,159, 63,  3, 59, 64,192, 42,
-240,245,235,215,144,241, 31, 96, 87,224,203,151, 47,  4,135,128,214, 79,174, 57,112,133,225,227,  3,134,223,223, 25, 38,149, 59,
- 66,198,127,206,157,103,184,240,252, 40, 49,235,165, 62, 62,187, 43,196,207, 45, 44,196,173,174,166,121,239,254,235, 91, 79,223,
-202,  9,243,255,124,249,234,207,239, 63,240,173,  0,120,252,107,229,224,111,227, 24,185,126,243,170,253,135, 86, 45,235, 43, 14,
- 46,110,187,244,155,225,245,219, 87,120,252, 11, 31,241, 79,180, 50,143,214,146, 95,181,126,223,165, 75, 15,250, 46,159, 93,225,
- 26,199, 48,247,216,211,167,175,225, 91,  1,176, 12, 17,252, 96,255,251,235,205,175, 95,160,203,223,197,165,101, 53, 52, 53, 63,
-113,130,102, 74,190,255,251,198,244,243, 43,231, 87,230,151,207,177, 87,  0,144, 96,252,  1,  6,240, 97, 31,180, 21, 65, 68,  2,
- 96,188, 44, 89,178,  4, 88, 13, 20, 20, 20,  0,107,110, 72, 87, 96,208, 14,251,144, 93,250, 35, 55,255, 33,115, 15,240, 78,  0,
-173, 11,  8, 96,154, 68, 19,129,167, 73,248, 86,  0, 60,105,210,214, 84,221,197, 90,173,181,169,167,119,194,182,186, 37,251, 50,
-156, 76, 94,108,220,246,241,253, 39, 92, 37, 50, 80, 60,212,207,  3, 50,236,  3,175,  0,128,160,173,190,146,248, 66,124,180,184,
-199, 15,208, 70,255,145, 59,  4,  0,  1,196,132,220, 67,255,248,229, 27, 51, 19, 35,176, 66,254,247,255,255,159,127,160, 73,251,
-139, 23,206, 59, 57,131,110,176,251,251,255, 63, 51, 19,243,231,111,191,254,252,250,137,179, 38,255,251, 87, 81,250,185,168,208,
- 71, 72,101, 98,101,198,  3,185, 92, 21,216,  9, 48,212,188,243,231,239, 95, 98,154,255, 88,167,130,137,109, 14, 99,155,134, 34,
-168, 87, 80, 80, 16, 88,238,  3,123,  0,192,106, 64, 84, 84, 20, 50, 33, 12, 44,158, 62,124,248, 64,176,  2, 72,107, 93,  1, 44,
-247,249, 21, 24,128,213, 64, 94,231,126, 96,233, 31,148,223,254,228,223,139,165,125,101,192,144, 36,166,249,111,108,172, 38,170,
-164, 32, 38, 42,194,  6, 12,121,198,255,175,191,126,127,255,249,  7,145,254,237,237,216, 16,160,169,200,199, 39,204, 37, 42,245,
-251,221,251,243, 91,150,127,120,247,136,200, 52, 49,175, 35,135,161,208,133,229,207, 47,133,175, 12,175,152, 63, 77,122,126,154,
-129,141,143,192,120,215,221, 79,111,152,190, 63, 98,251,102,162,226,168, 21,199,115, 79,240,128,168,232,121, 89,139,123, 31,153,
- 62,255,252,255,253,219,146,127, 28, 60,188,120,218,254, 84,  1, 15, 31, 62,  4,146,192,198,184,136,136, 72, 96, 96, 32,164,149,
- 74, 59,144,158, 46,136, 57,242, 67,252,108, 48,217,165, 63,114, 65, 15,175,132, 32, 55,182,211,212,191,192, 52,121,252,248,113,
-200,184,191,177,177, 49,  3,248, 34,226,149,155,182, 17,159, 38, 55,174,111,112, 47,207,245,242,114, 22, 97,103,254,204,248,127,
-231,173,199,199,175, 60, 37, 88,124,103, 38, 68,222,187,115,  7,216,240,135, 32, 96,233,143,181, 93, 63, 10,200, 43,250,113,141,
-255,  0,  1, 64,  0, 33,134,101,128, 37,224,237,107,151, 20,164,132, 56, 89, 89,254,254,253,  7,190,162,153, 33, 45, 61, 27,216,
- 37,248, 11,222, 13,240,237,199,143,235,183,238,177,177,225, 28, 20,249,243,251,157,161,214,125,120,166,207, 42,188,191,118,137,
- 42,164,207, 96,162,115,247,196, 69, 77, 22,102, 81,130,205,127,180,162, 31, 40,200,128,180, 19, 24,127,243, 31, 45, 57,  2,  5,
- 25,144,118,198,226,  2,127,255,254,149,144,144,  0,246,  0, 94,190,124,  9,100,  3, 75,150,183,111,223,  2, 73,200, 45,213,248,
-245,190,126,113,167,166,101, 63,176,  7,208, 93,108,251,229,207,223,162,206,213, 19,203, 67,139,251,182,176,128,238,160, 33,220,
-212,146, 20, 17, 96,101, 96,253,203,192,248,252,254,213,135,175, 62, 42,139, 10, 93,124,247,236,220,221,167,196, 52,255,131,147,
-138, 88,133, 24,152,152, 25, 22,108,187,191,118, 90,105, 82,199,204, 34, 95,253,108,103,121,130,254,  5, 54,255,123,253,194, 24,
- 62,112, 48, 48,178, 50,244,246,132,156, 62,188,203, 57,147,177, 61,151,241, 68, 25,158,230, 63, 16, 92,124, 33, 98,243,253,227,
- 23, 78,230,111, 28, 28,202,193,172,192, 66,255, 35, 19,235, 31,  6,181,255,127,191,253,126,243,252,232,228,143,209, 81,202, 52,
- 74,199,240,193,104, 77, 48,128,  8,218,130,  1, 77,243, 15,214,  5,251, 68,118, 11,200, 46,253, 25, 80, 71,255,209, 22,140,210,
-116, 38,224,214,249, 99,240,160,206, 74, 10,219,  1, 27, 11,218,174,164, 68,112,239,  2, 48, 77,134,187,152,243,255, 19,252,198,
-192,186,182, 63,119,218,150, 11,165, 30, 54,  9,125,203, 66,218, 22, 19,172,183,224,123,199,208,184,163, 43,250,105, 13,  0,  2,
-  8,209,  3,  0,182,124, 63, 60,191,115,247,241, 91, 22, 86,102, 96, 31,224,247,159,191,231,206,157, 93,180,104,254,175,191,255,
-127,255,253,199,198,194,244,234,253,151,167,215,143,115,226,152,  2,  6, 22,157,154,202, 15,161,205,127,112,191,127,237, 18, 53,
-208,  0, 16,211,127, 32, 98, 98,250,103,161,127,253, 47,238, 78,  0, 90,243, 31,190, 10,  8, 88,244, 19, 44,253,209,154,255,240,
- 21,  8,192,162,144, 96,105,  8,206,207,239,191,124,249,194,202,202, 10,105,254,255,251,247, 15, 66, 18, 83,  1, 44,238,175, 60,
-247,244, 32,143,  4,104,226,151,151,133, 25, 88, 31,240,177,179,126,120,247,  4,216,252,103, 97, 98, 34,216,252,151, 21,226,189,
-118,239,254,159, 95,191,216, 89,216,190,124,249,113,241,254, 51, 96,209, 79,176,244,135,248,215, 63,167,121,233,164,137,223,254,
- 49,200, 42,203, 92,185,122,  2, 88,250, 19,233, 95, 32, 40, 82, 54,217,124,123, 31,195,199, 63, 12, 28, 34,187, 79, 93,  3,150,
-254,192,162, 31,127,233, 15,  4,250,191,124,142,238, 62,197,240,235,243, 23,198,207,239,153,190,124,100,249,253,251,239, 39,246,
- 31,223, 56,158,221, 95, 81,117, 91,193, 64, 13,207, 12, 48, 16,192, 83, 14,  7, 24,160,  9,226,  7,179,193, 96,  0,243,  9,164,
-213, 15, 44,211, 25,192,179,193,  4, 39,132, 41, 41,253,129, 69,252,127,220, 75,230,105,183, 28,  8,152, 38,225,107,126,106,106,
- 11,129,105, 82, 92, 92, 28,178, 46,  8, 34, 78, 48, 77,166, 56,232, 21,244, 76,252,252,242,149, 40,159,216,213,107,143,128,165,
- 63,100, 25, 43,145,117, 30, 28, 32,143,234,140,246,  3, 40,  1, 91,150, 52,111,193,123,143,  8, 64,  0,161, 76,204,242,242,242,
-158, 61,176,225,255,127, 63,  5, 41, 97, 94, 46,118, 45, 29,  3, 45,109,125, 22, 38,134, 47,223,255, 62,122,254,238,212,129,173,
- 60,220, 92,184, 12,250,250,237,155,154,252,243, 31, 63, 57,254, 67,174,205,251,207,192,201,241,  3,152,140,223,125, 96,  7, 10,
-240,114,255,209, 85,123,112,248,140, 33,208, 10,252,205,127,120,171, 31,200,101,253,255,155,225, 15,116,245,216, 95, 22, 46,130,
-205,127,120,171, 31,194,253,248, 10,186,228,  0,207,118, 92,120, 29,  0, 36,129,253,  0, 32,249,238,221, 59, 62, 62, 62,200,248,
- 15, 49,151,178,130, 87,253,183,103,134,218, 51, 76, 58, 60,173,218, 59,164,120,226,178,142,108, 96, 15,128,141,157,131, 96,243,
-255,218,163, 87, 42,178, 34,123,247,156, 96,  0,111,191,  4,146,191,127, 66,251,218,172,184,181, 67,154,255, 45, 73,206,121,245,
- 11,100,149, 24, 73,242, 47,164,249,239,182,126,222,174,232, 72, 70, 25, 11,  6,240,150, 96,  6,240,225, 16, 16,  5,190, 60, 60,
-120,156,173,247,179,236,226,246, 45, 63,212,143, 41,168,234,124,226,100,184,207,240,240,243,131,215,175,219,254,126,121, 47, 83,
- 24, 87,140, 63,160,166, 79,159, 14, 44,238,191,127,255, 14, 47,194,128, 92,160,224,144,200, 72,144, 86,255, 75,240, 54,105, 98,
-102,131,129,237,101,242, 74,127,  6,216,229,239,120, 10, 62, 82,247, 18, 19,  9,128,105,178,181,161,102,221,230,237,238, 54, 70,
-240, 52,  9, 68,198,247,238,121,  4,199, 60,122,251, 77, 78,152, 11,127,243,191, 96,214,230,170,100, 55, 41,  9,  7, 72, 45,  2,
-113, 42,158,190, 20,145,221,130,209,126,  0, 21,235,  3, 52, 17,128,  0, 66, 95,153,195,199,203,115,238,192,134,251, 50,234, 74,
-170,154,124,220,156,255,254, 51,124,255,249,235,222,189,123,175,239, 93,224,229,225,102,194,221,170,229,228,224, 88,181,195, 30,
- 79, 27, 31,168,151,155,155, 64,115, 15,178,  6, 20,216,228,255,247,247, 55,168,244,  7,131,223,140,172,184, 14, 99, 64,  6,144,
-245,103,192, 38, 48,188, 28, 36,178,244,135,215,  1,240,205, 95,192, 58,  0,103,  0,225,168,  3, 22,195, 54, 66,205,110,131,237,
-137,253,253,  5,255, 53,228,192,230,255,169, 55, 31, 46,220,  6, 13,248,192,203,125,130,165, 63,  4,  0,155,255,107,141,184,115,
-  2, 53,200,240, 47,176,249, 95,188,105, 21, 99,107,253,118,113,243,  9, 95,174,192,197, 13, 89, 88,101, 56,  8,159,248,  4,236,
-  7,108,223,244,227,201,251,187,175,223, 62,127,121,139,135,249, 47,159,181,158,173, 99,156, 35, 77, 19,238,128,111,250, 37, 99,
- 13,104,122,186, 32, 25,165, 63,195,128, 78,105,  2,211,164,165,165, 37, 90,154,  4,150,254, 12,160,169, 96, 46,252,122,129,205,
-127,215, 61, 39,163,235, 23,217,217,217,137,163,246, 38,201,174,174, 32,117,  0,193,  0,193,172, 44, 71,235, 12, 60,229, 62,242,
- 76,  0, 64,  0, 97, 41,223,128,237,223,159,239, 30,159, 59,  0, 90, 46,  2,185,112,153,157,157, 29,115,110, 22, 13,176,178,178,
-242, 19,113,228,  3, 30,  0, 25,240, 97,  6, 54,249,255,124, 99, 70, 42,250,137, 57,177, 26, 50,224,  3, 44, 10,145, 75, 67, 98,
-138,126,126, 81,169, 95,184,167,181,241,131,232,230,197,183,111, 92, 37,219,191,167,110, 61,134,100, 51,228,210,159, 96,209, 15,
-  1,113, 70,220,228,249, 23, 20,167,253,101,144,162, 31, 94,250, 19, 89,244,195,129,167, 98,  8,  3,164,114, 35,110,141, 12,176,
-248,134,108,250,  5,182,247,225,187,127,129, 12, 72,243, 31,200, 24,252,135, 58,144,177,  6,148, 22,141,116, 90,  3,172,105,146,
- 96,209, 15,  1,174, 53,179,169, 88,244,147, 84, 29,142,150,245,184,  0,218,141,240, 12, 24,243,192,  0,  1,132,189,129,203,194,
-194,130,107,172,134, 22,  0, 50,202, 15, 41,250, 25, 72, 44,250, 33,163,222,228, 21,133, 12,160,149, 75,255,136,233, 94, 96,  5,
-175,222,125, 36,222, 34,100,  0, 25,229, 39,175,232,167,196,191,144, 81,254,205, 95,190,144, 93,244,143,130,225, 10, 32, 75, 60,
- 31,189,253, 70, 70,209, 15, 41,127,225,163, 61, 67,183,254, 27,174,117,  0, 30, 89,128,  0, 26,189, 19,120, 20,140,130, 81, 48,
- 10, 70, 40,  0,  8,160,209, 27,193, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,
-128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,248,
- 75,225, 71,154,222, 31, 47, 30, 19,175,151, 67, 66,118, 52,156, 71,245,142,234, 29,213, 75,163, 75,225,  1,  2,104, 80,247,  0,
- 72,221,  5,126,239,222,189, 61, 48,  0,100,143, 86,239,120,192,199,143, 31, 31, 61,122,116,252,248,241,115,231,206,  1, 25,228,
- 25, 66,197, 83,222, 70,193, 32,  7, 55,111,222, 36, 73,113, 70, 70,  6,217, 22,145,173,119, 20,144, 10,  0,  2,136,101,208,186,
-140,212, 18, 28,168,190,163,163, 35, 44, 44, 12, 89,187,146,146, 18,241,218,129, 96,245,234,213,161,161,161, 74, 96,128, 95,125,
- 90, 90, 26, 65, 51,129,142,193,186, 26,122,247,238,249,196,232,125,255,158,155, 70, 97,251,234,213,171,159, 63,127, 50, 50, 50,
-114,112,112,252,248,241,  3, 88,  1,156, 62,125, 90, 95, 95, 95, 69, 69,133, 36,115,136, 57, 42,  3, 92,145,103, 18,163,108,230,
-204,233,212,214,155,142, 67, 49,250,209, 99,  4,211, 21, 67, 61, 35, 99, 19, 70,229, 87,207, 24,118, 61,148,129, 93,131,160,243,
-220,221, 65, 71,234,146,119,120, 53,228, 44,232,244,116, 65, 74, 86,214,  3, 75,213,254,254,126,130, 27,238, 82, 83,211,128,222,
-194,140,213,146,146, 98, 98,180,195, 83,197,132,  9, 19,236,237,237,129,229,248,178,101,203, 62,125,250, 68,208, 82,148, 34,137,
-133, 57,194,138, 45, 61, 35,189,107, 71,119,137,107,  9, 68,112,246,236, 89, 88,245,198,196,128,118, 41,115,115, 99,201, 41,144,
-155,157, 18, 18, 18, 70,119, 36, 32,  3,200,190, 48,248,234,127,128,  0,194, 94,  1, 96, 30, 54, 66,163,227, 71,168, 88,  1,192,
- 75,127,160, 59, 33,123, 82,128, 38, 16, 89,  1, 64, 50, 57,164, 56,131,156,123, 85, 94, 94, 78, 88,239,106, 33, 66,  6,227, 12,
-177,175,190,  4,110, 81,103, 32,226,144, 52,242,238,193,  0,182,253,197,196,160, 23, 60,112,114,114,  2, 43,131, 15, 31, 62,240,
-243,243,159, 58,  5,186, 60,153,152, 58,  0, 24,188,144, 80,  2,134, 88,112,112, 48, 48,192,  9,214,  4,155, 54,109,128, 48,252,
-252,  2,112,177,113,233,253,126, 44,  7, 26, 36, 86, 83,224,108,100, 46,144,129, 75,239,142, 29, 40,151,155, 29, 58,116,168,173,
-173, 13, 57,160,150, 44, 89,130, 63, 97,116,118,118,118,176,119,130, 11,226, 80,148, 44, 80,207, 72,106,146,166,127, 38, 66, 46,
-253,129, 94,  6,198,248,210,165, 75,143, 28, 57,226, 21, 85,141, 75,241, 49,140, 43,180,215,175,  6,149,254,255,254,253,155, 53,
-107, 22, 80, 59,159,156, 61,214, 66, 31,222, 29,188,113,227,  6,144, 27, 25, 25,  9,100, 71, 69, 69, 17, 83,109,244,236,134,222,
- 66,252, 98,231,115,160,222,101,249, 92, 64, 35,203, 61,202, 24,192,177,183,124,225,178, 12,123,124,125,  2, 99, 99, 99,226,155,
-122,163,165, 63, 50,  0,  8, 32, 38,172,197, 10, 48,123,  3, 35, 27, 45,195, 19, 57, 32, 67,201,216, 11,178, 94, 72, 99,156,120,
-189, 64,  7,187,128,  1,164, 14, 32, 41, 65, 64, 74,127,160,117,160,235, 41,192,150, 18,233, 11,198,176,247, 16,132, 71,  4, 23,
-224,217, 50, 29,130,240,136, 16, 44,253,255,131,  1,241,163, 49,239,223,191,  7,150,245,192, 10, 32, 41, 41, 41, 58, 58,154,141,
-141, 13, 88,  7,  0,251,  1, 64,239, 51, 51, 51, 19, 60, 94,255,218,181,107, 64,123,215,172, 89,  3,  9, 46,160,165,107,215,174,
-  5, 54,244,128,226,116, 78,202,104,149,  1,141,154, 32,192,210, 31,152, 36,194,111,132,129, 90,250,168,129, 95,241,179, 28,173,
- 79,128, 11,  0,195,167,180,180, 84, 81, 81,145, 12, 55,  0,245,  2,219,254,194,194,123, 41,111,251,195, 75,127,146,180,195, 75,
-255,226,226, 98, 60,218,145,147, 31,176,249,111,103,103,  7,100,  0,235,  0, 96, 63,128, 96,185,129,166, 55,220, 18,212, 42, 93,
-150,207,  9,236,  7,148,185,151,226,215, 11,108,251,  3,237,  2,118,199, 93, 48,  0, 68,106,180,249,143,167,244,  7,  2,128,  0,
- 98,194,214,229,132, 94, 12, 13,105, 71,195,155,123,196, 20,199,144, 60, 67, 73,126, 35,111,  0,  7,107,153, 78,170, 22,120,229,
-  1,108,254, 19, 60,255,118, 96,  1,188,244,  7,146, 79,159, 66, 47,220,120,242,228,  9,254,204,  6,108,251,127,251,246,141,137,
-137,  9,232, 71, 32,251,217,179,103,172,172,172, 44, 96,  0,100, 64,142,234, 68,219,208,143,150, 81, 39, 78,156,  8, 44,250, 67,
- 66, 66,128,  5, 10,208, 16, 96,225,  8,100,  3,165, 38, 77,154, 52,204,114, 11,188,244,  7,178,129,101, 55,188,109,  1,  9,124,
-120,  7,145,200,242,  5,168, 12, 24, 98,192, 68, 69,222,172, 73,101,101, 37, 80, 47,158,168,193, 83,250,247,245,245,  1,163, 12,
- 88,145,  0,139,239,195,135, 15, 51,128, 79,100, 34,190,244,135,104,  7,166,153, 51,103,206, 64,180, 19,180, 17,168, 62, 34, 34,
-  2,194,  5,214,  1, 14, 14, 14, 64,219, 55,110,220, 72,112, 32, 17,216,252,103, 96,100, 88,154,  7, 61,127,  2,216, 15,136,180,
-102,  7,245,  3,240,  2, 60,165,196,104,183,  0,173,244, 79, 43, 71, 47, 21,  1,  2,136,  5,107, 98,133, 95, 12,125, 15,233, 98,
-104,130,105,157, 90,165, 63, 85, 42,  0, 74,  0,176,242, 32,219, 35,116,  3,192,162,  4, 88,244,191,120,  1,189,133, 17,153,141,
- 11,188,126,253, 26,152,147,129, 45,253, 59,119,238,  0,181,  3,243,234,175, 95,191,128,217, 15, 88,  1,  0,201,191,127,255,  2,
-171,135,245,235,215,227,138,232,189,123, 65,237, 80, 96,137,143,172,  0,194,134, 20, 79,120, 82,  8,242,  8, 15, 46, 54,158,198,
- 62,174,177, 32, 60,131, 63,104, 35, 63,144, 54, 41, 73,105,160,131,189,147, 17,181, 66,133,140,251,223, 35,102,120, 16,169,  9,
- 15,169, 35, 33, 37, 29, 48, 12,137,111,147, 66,244,170,170,170, 50, 16, 61,221,130, 12, 50, 51, 51,225,131, 93, 64, 54,176,248,
-  6, 26, 66,124,233,111,111, 13, 58,146, 17,216,246, 47, 41, 41,  1, 54,204, 33,218,125,253, 82,241, 95,236,  7,111,254,195,  1,
-100, 44,104,219,182,109, 26, 26, 26,192, 38, 59,126,189,225,150, 40,  7,115,129,199,130, 24,150, 47, 59,127, 83,226, 38,126,189,
-163,128,140,210, 31,  8,  0,  2,  8,251, 28,  0,176, 75,  5,105,248,195, 47,134, 38,169,244,199,218, 14,197, 51, 60,141, 75, 47,
-178, 56,237, 14,252,  3,250, 20,126,236, 56,178, 27,200, 27,177,253,191, 74,144,108,151,124,241, 33, 60,225,  9,119, 36, 90,137,
- 32, 35, 35,131,172,  0,107,112,189,123,247,142,151,151, 23, 72, 30, 59,118, 12, 88, 13,  0, 75,127, 96,147, 31,114,245, 13,176,
-104,251,253,251,247,207,159, 63,241, 52, 81, 33,189, 34,204, 48,  1,138,172, 89,179,  6, 40,139, 39,184, 40,159,  3,  0,150,245,
-200,197, 61,132, 77,100, 53,  0, 44,146, 72,174,  3,192, 67,252,144,148,143,152, 76,  2, 11, 18, 63,183,132, 92, 71, 50,192, 46,
-118, 39,111, 80,  2,216,  9,128,204, 94, 16,175, 29, 24,149,240,241,119, 27, 27, 27, 96,  9, 78, 82,219, 31,168,253,207,159, 63,
-200,218, 15, 30,253,219,211,153, 65,176,249, 15, 41,241, 49, 65,127,127,191,119,116, 13, 46,189, 72,163,255,168,253,  3, 34,244,
-142,  2,178,  1, 64,  0,177,224, 73,181,144,230, 63,157,219,254,200, 35, 81,244, 89,202,137, 60,218,131,188, 62,  4,127,137,134,
-179, 63, 11, 27,253, 39,163, 38,128,143,254,227,175,  9,162,163,163,185,185,185,121,120,120,128,165, 57, 63, 63,191,160,160, 32,
-176,121, 21, 27, 27, 11,145,229,224,224,112,115,115,  3,250,  2,243,152, 63, 96,137, 15, 44,253,127,252,248,  1,212,197,206,206,
- 14,204,222,255, 65,151,125,254,  5,138,  3, 75,127, 32,131,224,  0,  5,174, 97, 64, 96, 67,149, 14,131,102,184,102,131,137,  1,
-144, 58,128,132,120,108,194,226,217,176,235,161,224,169, 41, 98, 13, 65,110,254,195,171,109, 34, 27, 22,200,205,127,172, 85, 62,
-126,176,108,217, 50,136, 33,192, 58,128,140,161,127, 72,203, 15,216, 53, 44, 44, 44, 60,115,230, 12, 76, 59,129,228, 49,113,226,
- 68,180, 75, 58, 87,172, 88,113,240,224, 65, 96,186,130,180, 72,240,172, 79,159, 48,113, 66,132,  5, 74,243, 63,122,210,183, 21,
-199,126,  3,245, 26, 70, 25,102,216,103, 16,191,182,125, 20, 16,217,252,  7,  2,128,  0, 98,194,211, 46,134, 36,  2,248,100,  0,
-254, 97,184,242,242,114,242,220,135, 75,175, 18,248, 62, 82,226, 91,241,104,  0,178, 34,136,212, 97, 83, 98, 22,119, 14,  6, 48,
-107,214,172,190,190, 62, 56, 23, 82,250,251,129,  1,144,  1,204,114, 88,117,  1, 43, 12, 96, 41,255,254,253,251, 55,111,222,  0,
-201,111, 96,240,229,203,151, 79,159, 62,125,252,248, 17,216, 27,  0,246,  0,240, 92,233,  3, 44,128,128, 45,125,130,149,232,160,
-  2,135,144,  0, 92, 16,232,125, 56, 27,207,184, 54,242,184, 63,114, 91,158,164,102,  1,154, 98, 96,113, 12, 12, 67,178,103,  2,
-128,122,137, 73,210,192, 18, 31,152,  6, 32, 19,191,192, 58,  0,226,119,226, 47, 93,168, 46,183,  7,106,255,183, 82,  0,168, 29,
-216,244,134,104, 63,116,236, 31,172, 57,142,179,249, 15, 31,240,  1,141,219, 44, 95,154,153,153,  9, 52,167,160,160,128,160,213,
-160,230, 63,  3,227, 82, 88,243, 63,106,226, 55,230,136,143,203,143,253,  2,234,237,220,209, 53, 90,136,211,168,244,  7,  2,128,
-  0, 98,193, 85,190,192,135,254,225,147,  1,248, 11, 71, 72, 57, 14,105,203,147, 58, 92,131,166, 23,210, 39,  0, 10,146, 55,236,
-  3, 95,  6, 74, 79,  0,105,248,147, 55,254,  3,105,248, 19, 51,254,  3,207,222, 16, 70, 99, 99,227,252,249,243, 97, 67, 40,126,
- 16,  6,176,249,143,171,  2, 16, 22, 22,126,251,246, 45,176,189,255,250,245,107, 96, 15,  0,216,190,131,244,  0,190,126,253, 10,
-172,  9,128,165, 63,176, 26, 40, 43,195, 57,231,  6,105,230, 99, 93, 34, 12,145,197,227,102,170,204,  1, 16, 41,142, 12, 32,195,
- 38,232,  5, 92,117,117,107,107,171,136,136,  8, 77,147,  4,102,243, 31, 14,  8,206,  4, 96, 54,255, 73,106,251,  3,251,136, 49,
- 49, 49,192,200,  5,122,191,170,170, 10,216,251, 33,254, 66,155,154, 10,251,  3,  7, 14, 48,174,  1,221,207,186,171,134,215,173,
-229, 51, 80,123,107, 39,168, 21,143,191, 11,  2, 89,251, 15,110,245, 47, 59,120,240,240,127,198,255,133,  5,133,234,234,234,196,
- 88, 10,212, 27, 97,197,138,104,245, 51,128,244,138,187, 73,144, 49,243, 49, 10,176,148,231,157, 21,152, 21,  3,100,132,  0, 32,
-128, 88,240,180,253,129,165, 63,242,100,  0,193,174, 43,114, 57, 78, 94, 63,  0,162,151,194,145, 31,136,155,201, 44,199,  7,125,
-130,131, 12, 82,193,175,234, 78, 76, 76, 68, 27,159,  1, 10, 66,242, 33, 38,144,145,145,185,115,231, 14,176,196,  7, 54,249,127,
-255,254, 13, 25,250,255,241,227,  7,100, 45, 41,100, 78, 88, 89, 89, 25, 79,205, 10, 52, 28,210,  9,128,167,  4, 96, 80,163,137,
- 96,  5,180,152,  3, 64, 30, 17,194, 21, 86, 88,197,129,  1,  8,172,  3,194,195,195, 87,174, 92, 73,252, 64, 37, 26,187,163,163,
- 35,237,105,122, 24, 48,165, 97,219,  8,230,238,238,126,255,254,125,180, 93,  8, 16,  0, 20,103,192,187, 41, 44, 52,116,117,104,
-168,179,171,235, 61,204,201,134,183,111,157, 25, 24,222,167,167,227,204,137,240,171, 16, 33,157,140, 93,187,118, 49,144,114,157,
- 25, 19, 19, 35,168, 17,  3, 41,253, 47,253,153,191, 31,116, 17, 38,176,244, 39, 38,107, 64,146, 19,176,213, 15, 36, 11,139, 10,
-213,213,212,137,180,180,180,172,  4,172,151,  1,216,234,135,232,149,112,147,  4,141, 54,141, 22,254,180,  7,  0,  1,196,130,171,
- 59, 15,159,248,133, 47,243, 32,102, 76,156, 42, 99, 65,164,238,  0, 24,129,  0, 62,228,  2, 47,227, 32,187, 55,144,  5,177,142,
-153,  2,235,134,109,219,182,253,249,243,231,195,135, 15,144, 57,  0,  6,240,234, 32, 32, 23,200, 38, 24,119,249,249,249, 19, 39,
- 78,132, 84,  3,200,227,254, 64,113, 90,215,157,192,226,158,152, 66, 31,107,105,136, 89, 49,  0,155,216, 68,150,254,152,165, 48,
-242,132, 48,193, 78,  0,166,224,131,  7, 15, 24,136, 88, 98,  0, 31,128, 69,117,185, 11, 49,254,  5,246,243,128, 69, 63,242,224,
- 59, 49,  0,168,253,223, 74, 65, 96,185, 15,100, 47,216,255,107,197,177, 95, 64,237,135,143,147, 48, 90,117,232,208,161,130,130,
-  2, 34, 91,253,112,  0, 73,132, 43,143,255,  6,234,149,112,151,132,213, 39, 68,233,133,108,247,133, 76,239,163, 69,211,232, 78,
- 96,  6,108,215,129,161,237,  4,  6,  8, 32, 22,172,217,  3,178,169, 10,185,233, 71,112,  8,  8, 61,123,144, 91,  7, 80,110,  8,
-252, 52,  8, 34,  1,176,178,193, 58,132, 77, 76, 37,132, 57,230, 67,252, 40, 16,230,152, 15,145,163, 64,240,153,106,228,188,141,
- 85, 16,107, 51,205,219,219,123,233,210,165,108,108,108, 63,127,254,  4,214,  1,255,254,253, 19, 16, 16,120,255,254, 61, 49,155,
-159,181,180,180,128,230,239,222,189, 27,178,236,  7,178, 39, 96,200,101,176,125,251,246,  1,  3, 97,203,150, 45,100,148,254,240,
-178,242, 94,121, 57,158,174,106,105,105, 41,  3,142,229,115,101,101,101,248,231,  0,210,211,  5,113,233,  5,182,253,137, 41,199,
-  9,246,129,240,  0,247,150,207,112, 54, 73,165,255,180,105,211,200,139,142,158,238, 94, 80,147,159,  2,128,181,178,132,223, 62,
- 61, 10,240,  0,128,  0,194,185, 12,148,160,  8, 77,  1, 61,119,  0, 96,206,245, 17, 93,205,144, 89,240,129,244,114,146,233, 90,
-200,232, 22,164,114, 66, 27,233, 66, 22,196,239,163,232,232,232,187,119,239,238,223,191,255,251,247,239,127,255,254,245,245,245,
-  5, 22,229,196,135,185, 43, 24, 64,218,110, 68, 54,252,169, 53,  7,128,139,141,167, 52, 68, 91,151, 66,204,110, 38,  6,248, 81,
- 63,247, 66,145,131,  5,152, 11,210,158,166, 51,194, 54,130, 65,164,176,246,180,240,132,191,179,179, 51,193,  4, 73,134, 20,220,
-191,192, 24,  9, 12, 12,132,156, 62, 68, 42, 96, 10,127, 15,212,238,231,159,  6,105, 43, 64, 22,125, 34, 31,243, 64, 11, 96, 28,
- 99, 68,182, 94, 96,  3, 31, 87, 61,  7,145, 26,  5,248,  1, 64,  0, 13,198,195,224,200,104,182,208,191, 17, 74,137,141,148,156,
-242, 70, 45,159, 42,131,  1,154,224,175, 95,191,152,193,128,218, 17, 58,125,128,244, 98, 73, 72,144,227,195,  8,131,122,232,193,
- 80,200,189, 67, 96,233, 15,169,104,  7,231, 22, 83, 10,247,202,128,181, 19, 30,122,167,250,114, 76,252,231,252,208,174,178, 28,
- 29, 20,  2,  2,128,  0, 26,189, 20,126, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 27,193, 70,193, 40, 24,  5,163, 96,132,
-  2,128,  0, 26,173,  0, 70,193, 40, 24,  5,163, 96,132,  2,128,  0, 98, 25, 13,130, 81, 48, 10, 70,  1, 50, 96,196,100,253,135,
- 19,163, 96, 88,  1,128,  0, 26,237,  1,140, 80,128,245,112,240, 81, 48, 10, 24,193,152, 17,116,  6, 52, 35,  6, 24,221,155, 53,
-220,  0, 64,  0, 33, 38,129, 71, 47, 89, 30,213, 59,156,244,198,249,233, 34,154, 57, 76, 76,144,229,170,240, 21,141,255, 97,  0,
+127,255,254,126,252,248,228,198,149, 51, 95,126, 74,154, 24,219, 14,126,151,  3, 75,255,130,130,  2, 96,135, 18,207, 97,206,120,
+  0,153, 23,202,143, 12,128,255,168, 96,  6,112,192,205,194,118,138, 53,252, 82,120,152,170,255,176,253,137,136,208, 30,225,151,
+194, 67,  0,242, 53,144,104,235,254,  1,  2,136,126, 61,  0, 38,  6,234,111,230,246,114,251,253,159,129,153,133,153,213,202,156,
+ 81, 76,148,137,133,133,137,157,149, 89, 67,141,233,225,227, 63,102,198, 76,194, 66, 28,219,247,129,206, 20,100,254,255,253,255,
+255,127, 18,210, 56, 75,255, 75,103,206, 40, 72,201, 92, 58,126,226,228,175,223,239,223,188,103, 99,231,213, 52,180,214,183,118,
+219,191, 25,180, 67,152, 70,117,  0,218,133,242,144,179, 24, 83, 82, 82,  6,127, 53,112,225,252, 30,118,150,119, 44, 76,191,126,
+252,248,251,241, 43,167,141, 29,225,147,123,175,221, 56,199,203,241,214,201,154, 93, 65, 94,153,143,143,255,247,159, 63,175, 95,
+191, 17,127,244,248,246,221,123,199,142,190,179,178,246, 31,228,205,127,  6,216,113,202,192, 10,  0,207,141, 46,131, 13,  0, 91,
+ 48,107,215,174, 69, 57,254,136,134,165, 33,236,  2, 86, 82,181, 61, 90,199,120, 50,  5, 86,136, 51,192, 46, 91, 67,152,148, 50,
+227,171, 89,248,100,172,213,234,246,237,219, 33,108, 15, 15,143, 29, 59,118, 96,101,143,150,254,152, 92,120, 53,  0, 16, 64,216,
+ 43,128,163, 71, 78, 90,219,152, 83,215, 29,255,  8,221,204, 69,228, 13, 77, 40,149, 10, 11,243,251,119, 44, 18, 98,172, 18, 98,
+108, 95,190,176,114,176,178,252,101, 97, 55,210,101, 52,208, 99,102, 98,100,  5,109, 34,103,101, 99,101,250,201,200,193,246,231,
+ 27,206,210,255,200,190,189,138,146,162, 87, 46, 94,169,110,110,128,139,183, 54,182, 49, 49, 51, 26, 25, 27,109,223,177,151, 96,
+  5,240,239,223, 63, 96, 33,126,231,206, 29, 78, 78, 78, 93, 93, 93,130,103,215, 48, 96, 92, 40, 15,191,109,117,206,156, 57,  3,
+ 85,  7,156, 63,127,222,208,208, 16,191,154, 43,215,206,253,255,249, 64, 94,242,  7, 63, 31, 59, 19, 19,215,247,239,127,222,190,
+251,126,112,207,  4, 14, 62, 35,115, 51, 59, 60, 26, 57,152, 95,171, 41,254,215,214,214,124,254,226,253,217,243,231,190,124,249,
+202,207,207,171,164, 36,207,196,204,250,247,239,163,243, 23,142, 24, 26,216, 12,230,230, 63,252,118, 23, 96, 63,  0, 88,  7, 16,
+121,173, 10, 70, 67,150,222, 61,  0, 72,210, 93,179,102, 13,121,247,106, 17, 15,224,141,241,153, 51,103,144,106, 15,147,124, 48,
+ 68,239,169,118, 30,180, 70,162,132,  0,147,180, 16,211,224,  9,207,161, 11,224, 37, 62, 90,125,  0, 16, 64, 56,123,  0,192, 58,
+  0, 72,146, 90, 13, 28,201,187,141, 85,220,102,146, 42,241, 57,  4,210,131, 35,166, 26,216,115, 64,140,149,133, 85, 86,234,203,
+231,207,172,103,175,200,130,174, 76,101,100,102, 99,253,163,173,250, 77, 93,149,153,145,129,137,141,149,157,141,153,209, 88,239,
+151,144,224,191, 67,167,177, 27,162,169, 40,254,240,238, 43,228,210, 31,  8,170,235,171,218,154,187, 36, 45,245,  4,  5,120,241,
+187,225,251,247,239,192, 18,225,225,195,135, 16, 46,176,233,225,229,229,229,239, 79,160, 73,139,118,163, 36, 50,232,237,237, 45,
+ 46, 46,166,243, 54,119, 96,233, 15,191, 82,  3, 15,248,249,245,169,162,244,119, 17, 97,110, 25,105,  9, 46,110,174,135, 15,159,
+254,253,251, 79, 90,138,247,234,245,227, 23, 56,185, 13,116,177, 95,252,112,249,242, 17, 61,181, 95,114,114,138,215,174, 63, 60,
+123,246,250,235, 55,159,129,241, 44, 40,200,249,237,219, 23, 67, 67,237, 15, 31, 62, 62, 61,123,254,226,101, 78,125, 93,227, 65,
+219,252,135, 95,228, 66,240, 90, 71,228,145, 13,180,163,140,129,108,248,112,  7, 25,227, 72,205,205,205,190,190,190,164,158,214,
+  0,172,  3,128,246,174, 90,181, 10,215,113,108, 12,224,179,148,209,122,  6,144, 43, 33,129,226,104,109,  2, 96, 65,143,121,118,
+  0,252,120, 37,160,127,211,211, 51, 72,234,100, 32,235, 53,171,252,114,186,157,  7, 94,244,143,150,218,212,106,254, 35, 71, 25,
+ 90,244,  1,  4, 16,129, 80,  6, 86,  3,144,154,128, 72,128,181,160, 39,178,244,135,128,131,  7, 15, 62,  5,  3, 98,206,114, 98,
+254,255,157,133,241,  7, 27, 43,235,249, 43,162,204, 44, 44,188,108,223,248, 56,190,243,242,255,125,250,148,151,157,141,131,157,
+157, 61,212,239,143,159, 39,147,180, 20, 59, 23, 39,246,187, 41,190,125,120,252,226,221,151,226,186, 58, 76,169, 15, 31,223,189,
+127,253,130,145, 80,199,101,245,234,213,240,210, 31,  2,182,109,219,118,253,250,117,252,205,127,228,243,159, 33,205,255,143, 48,
+  0,100,215,215,215,147,125, 84, 28,217,165, 63, 65,101,192,230, 63,  7,203,115, 78, 78, 86, 14,118, 54, 69, 69,  5, 19, 51, 51,
+ 65, 65, 65, 22, 22,102, 54, 54,102, 33, 65,142,167,143, 31,224,210,200,242,255, 41, 47, 15,231,183,239,127,174, 92,185,253,236,
+197,199, 71, 79, 62,221,186,247,235,249,139,207,175, 95,127,184,125,235,158,138,178,178,180, 20,223,219,215,143,  6,103, 22,130,
+140,254, 35,139,  0,123,  3, 40,119,187,227,105,219,130,151,163, 97,189, 80,158,188, 14,  4,176, 80,134,119, 22,137,  4,123,247,
+238,  5, 38, 81,130, 87, 51, 34, 95,254,142,124, 33, 48,178,117,184,172,134, 24, 11,185, 59,140,188, 94,209,170, 66,110,228, 86,
+ 63,164,244,  7,182,253,165, 64,205,127,124,193,229,225,225,225,233,233,  9, 25,231,129, 48, 32,108, 15, 24, 24,173,  3,240,  3,
+128,  0, 34,106, 14,128,188,222,  0,217,224,246,109, 80, 55,  2, 88,  7, 72, 75, 75,227,111,147,178,176,176,176, 50,179,178,178,
+ 50,218, 89, 51,124,251,250,243,254, 93, 54, 96,135,128,229, 47,139,133,249,127, 96,173,192,204,204,196,240,159,241,221,123,134,
+211,231, 88, 64, 55,129, 96,171,236,206,157,191,251,229,203, 47, 76,241,142,250,122,118,118,142,239,223, 63,254,253, 71,224, 62,
+225,115,231,206, 97, 10,158, 61,123, 86, 83, 83,147,200,230, 63,114,155,110,243,230,205,112, 53, 52,234,  4,160, 13,245,192, 75,
+127,130, 25,248,253,187, 87, 34,188,140,127,254,254,251,245,251,207,235, 55,239, 88,217, 56,126,254,252,253,251,207,223, 63,127,
+254,253,249,251,255,195,251, 55,184, 52,178,177,126,229,224,148,121,251,246,227,167,207,223,222,189,255,206, 39,172,111,165,167,
+119,234,232, 14,169, 95,127, 62,126,250,168,174,174,204,206,198,242,245,243,187,193,217,252,  7,150, 80,104,151, 41,  2,123,  0,
+ 68,206,  4,  0,107, 14,204, 59, 32,225,199, 74,227,  2,240,203, 21, 50, 50,132,156,157, 17,167,191,  1,115,  4,144,220,180,105,
+211,155, 55,111,136,156,151,218,179,103, 15,164,244,135,168, 95,187,118, 45,174, 82, 24,185,255,135,121, 33, 48, 68, 28,114, 45,
+ 48, 86, 19, 32,199,136,  2, 73, 72,191,  1,171,  7,113,165,103,160,243, 66, 44,247,172,100, 96,  8,239,255,106, 90,249,  5,171,
+ 94,179,112,236, 30, 68, 30,235,199, 53, 31, 48, 90,202, 35,143,252,160,245,  0,  0,  2,136,250,253, 44,180,246, 62, 73,205,127,
+ 72,251, 23, 94, 13,  0, 51, 15,254,126,  0, 51, 51,139,133,217, 63,102, 38,150,211,103, 56,110,222,230,240,118,103,240,241,100,
+240,245, 96,148, 20,103,227, 96, 99,  7, 34, 78, 14,118,105, 73, 32,131,  3,200,198,106, 66,109,117, 77,103,123, 19,102,182, 81,
+ 86,148,231, 23,224,230,248,247,235,203,183,223,180,136,143, 35, 96,  0, 47,244,225,  0,200,125,251,246, 45,176,167, 79,187,198,
+ 62,114,179, 14,194,133,244,196,  9,142, 45,252,253,203,240,245,219,239,175, 95,127,125,250,244,243,229,203,247,207,158,189,249,
+252,249,231,151, 47,191,129, 53,232,215,175,191, 63,126,248,136,115,224,232,231,159, 31, 63,254,254,254,253,139,151,151, 77, 86,
+154,143,139, 27,212,220, 83, 82, 86,144,145,226,227,231,227,248,255,255,239,239, 63,255,126,254,252, 58, 56,155,255, 69, 69, 69,
+ 88, 75,118,130,157,  0,204,187, 36, 33,  0, 40,184,135,184, 83,187,193, 35, 42,  8,  0, 41,124,129,213,  0,176, 76, 39,166,127,
+ 12,108,251,175, 89,179,  6, 94,250,  3,201,144,144, 16, 92,197, 55,208,112,204, 43, 33, 33,109,  2,184, 56,208, 61,132, 14,211,
+254,143, 54,144,139, 60,252,133, 75,143,136,136,  8, 35,172,157, 79,170,222, 81, 64, 82,233,207,128, 49,  7,  0, 16, 64, 68,245,
+  0,232,214,246,135, 21, 52,127, 33,151, 74, 19,118,152,217, 63, 49, 81,246, 79,159, 88,216, 89,254,176,179, 49, 31, 56,201,230,
+237,200, 10,108,251,127,250,196,122,244, 12, 55, 31,  7,232, 42,  9, 15,151, 95,254,222,255,153,152,254, 47, 88, 75,148,237,192,
+204,201,204,197,241,142, 85,132,235,247,147, 59, 79,255, 59, 57,216,225, 87, 15,108, 77, 31, 59,118, 12, 77,144,224, 53,200,144,
+ 75,189, 23, 44, 88,144,144,144,  0, 17,129,223, 43,  9, 20,193,127,205, 33, 37,  0,210,246,135, 52,211,224, 43,228, 48,135,122,
+177,  2, 65, 33,209,103,247,175,  0,195,249,215,239,127, 63,126, 62,121,252,228,237,187,247,159,222,189,251,246,246,221,119, 32,
+ 18, 16, 82,192,165,241,229,155,255, 47, 94,190,209,212, 84,254,240,254, 61, 43, 11,211,167,207, 79,190,126,248,167,165,242, 85,
+ 92, 84,148,139,139,139,157,157,243,249,139,207,140,204,130,131, 51,243, 96,189,198, 29, 50, 19,128, 95, 35,164,127,  0,191, 75,
+ 18, 94,115, 48,144,114,165, 76, 88, 88, 24,188, 69, 12,185,181,  2, 24,107,193,193,193,192,234,  7,255,102, 31,180,182, 63,  4,
+ 32,247, 39,144,  1,174, 43, 33, 33,226,192,212,  2,185,123, 29, 34,254, 24,155,189, 64, 53, 89, 89,153,144,219,117,192,213,198,
+127, 72,145, 14,212,  5,113, 63,158,154,  3,168,119,170,163, 96,248,132,111,104, 99, 65, 64, 17,136,222, 36, 71,214,209, 66,156,
+ 18,144, 86,222,  1,103,207,234,172,  0,214,  1,240,126,  0, 64,  0,177,208,162,232,  7,182,250, 33,179,193, 36, 53,255,145,218,
+245,204,200, 99,124,120,238, 17, 19, 17, 97,102, 98,100, 22, 21, 97, 86, 85,254,255,236, 25, 11, 19, 51, 35, 43, 11, 11, 43, 11,
+235,165,203,220, 66,220,172, 64,115,172,205,255,114,114,178,255,251,247,159,225,255, 95, 98,172,  6,102, 27, 30,113,217,151, 95,
+254,127,189,115,128,133,145,185,180,190,154,152, 44,250, 24, 12,144,221,140,103,252,135,  1,188,222, 31, 82,220, 67, 74,127, 96,
+123, 31, 88, 19, 64,164, 62,125,250,  4, 44,253,183,108,217, 66,204,133,242,228,  1,200,197, 79,192, 32,133, 76, 81, 18,211,246,
+135,  0,125, 93,227,235, 87,206,254,127,250,233,219,247,223,239,217,127,252,103,120,255,227,199, 31, 96,111,224,213,155,111,207,
+158,127,177,117,148,199,165,241,251, 47,145,123,247, 95, 43, 41,202, 41, 42,202,188,125,251, 70, 80,224,175,170, 42,191,152,168,
+ 18,  7, 39,231,135, 15, 95,206,158,187,241,228,233, 39,  9, 25,237,193,147, 97,254,131,111,187,132, 20,188,240,242, 23,235, 90,
+126, 44,163, 21, 72, 43, 24,129,157,  0,248, 93,146, 16,208,215,215,183,107,215, 46, 92,122, 33, 49,146,158, 46,  8,179,238, 63,
+114,145, 13,169,  0,128,173,120, 60,227, 63, 72,195, 71,123, 73,186,221,  8,215,149,144, 16,113, 72,241,141,171, 16,135, 44, 49,
+154, 54,109, 58,100,134,195,192, 64, 31, 62,112, 15,107,209,227,188,105,  0,162,151, 41,236, 61, 68,111,168,147,  2, 60, 96,194,
+250,175, 49, 48, 48,224,111,253,  3,243, 26,124,129,147,167,167, 39, 60,118, 70, 71,126,136,  4,  0,  1,196, 50, 72, 90,253, 16,
+ 16, 17, 17, 65,146,122, 96,  3,159,153, 25,132, 52,213,152, 12,117,255,178,179,113,128, 42,  0, 86, 86, 43,115,  6,118,118,  6,
+ 86,102,118, 17, 17, 14,102,230,175,127,255,254,251,247,143,168,145,156,111,239, 94,112,200,104,220,223,179, 68,148,133, 41,182,
+186,138, 24, 45,156,156,156, 85, 85, 85, 36, 45,  3,133,220, 62,159,147,147,  3,225, 66,218,251,192,162,255,219,183,111, 73, 73,
+ 73, 64,246,180,105,211,104,183, 10,  8,114,249, 31,252, 14, 85,146, 86,149,200,200,171,159, 57,177, 83, 76,  4,216,112,103,  1,
+143,237,252,253,244,249,215,187,247,223,101, 21,181,109,172,236,113,233,242,242, 10,222,181,125,254,137, 83, 87,109,173,245,229,
+229,229,127,255,250, 97,104,160,199,205,207,255,240,222,163,167,207, 62, 28, 61,126,253,253,103,254, 64, 75,251,193,147, 43, 50,
+ 51, 32,  3, 44,140,153,192,  2, 17, 92,160,255, 67, 42,247,153,152, 24,241, 92,176, 14,186,156,253, 63,188,  0,100,  4,166, 60,
+120, 39,  0,200,  0,150, 86, 30, 30,238,176, 74,134,193, 59,186, 22,115,172,  3, 87,169, 13,148,197, 95,250, 35,  3,160, 74, 92,
+237,125, 60,169,  2,243, 74, 72,184, 56,158,203,194,224, 53,  7,176,252,  5, 55,255, 25,145,235, 15,252,246, 34,235, 93, 85,200,
+  3, 10, 23, 14,113,136,212,170,194, 71,144,202, 96,231,197,223,184,  2,  4,121,220,127,116, 14,128, 12,  0, 16, 64,216, 43,  0,
+ 43,107, 51, 10,199,221,200,107,251,195,163,141, 72,240,238, 61,163,164, 56, 19,228,224,135, 93,123, 65,  3,253,236,236, 28,236,
+108,236,190,158,140, 64,138,147,131,241,221, 91,230, 83,103,121,255,254,251, 43, 43, 67,120,136, 25,216,252,255,240,237,251,251,
+ 51,219, 84,101, 89,175, 60, 37, 97, 72, 26, 88, 15,153,129,  1,241, 90,192, 23,202,119, 66, 70,123,128,189,  1,115,115,115, 96,
+107,209,223,223, 31,200,142,141,141,165, 93,243, 31, 62, 16,  4,105,205, 17, 51,242,131, 18,173,224, 82,254,214,141,107,207,238,
+ 61,  4,150,131,127,255,254,231,224, 20, 82,211,212,  9, 12, 32,112, 41,152,152,180,222,137, 83, 59,128, 61,  6, 93, 29, 37,105,
+ 41,145, 71,143, 95,190,191,124,247,230,173, 71,123,247, 93,122,248,244,127, 74,106,238,160,202, 21,255, 86, 10, 18, 47,235,187,
+  9,175,222,187,243,225,157,  0,208,168,209,189,  5,200, 10,208,244, 98,237, 16, 32,151,149, 36,249,130,212, 44,140,235, 74, 72,
+ 98,174,138,132, 23,244,104,202,136,105, 94,252,123,184,118,205,132, 56, 80,247,197, 73, 14, 94,250,131,184, 94,166,224,209,210,
+ 11,184, 42,128,209,125,  0, 68,130, 89,157, 21,200,163, 64,200,  0, 32,128, 88,168,146,116,168,  2,200,104,243,158, 57,199,206,
+193,198,230,235,  5,172,  1, 24,205, 76,254, 92,190,194,201,  4,190, 66,250,195,  7, 38, 41,  9,102, 38, 70,182,139,151,217, 56,
+216, 25,126,253,254,245,240, 17, 39,193,210,255,238,173,243,230,206, 62, 44, 34,230,119,111,157, 98,121,177,166,172,180,178,171,
+187,157, 70,158, 69,190, 80, 94, 71, 71,231,253,251,247, 64, 54,144,204,203,203,163,207, 46, 48, 82,139,126,228, 58,  0,136, 46,
+ 92, 62,251,242,197, 75,110,110,110, 60, 13,127,148,130, 64,207, 24,136,150, 46,153,121,237,230, 73, 73,113, 30, 14, 14,214, 47,
+ 95,126, 61,125,254,137,145, 69, 54, 37, 53,110, 56,103,190,115,197, 12,202,137,136,133,164,103,139,104, 87,130,131, 71,105,132,
+ 96,213,  6, 57,133, 35,174,242,154, 96, 57, 78,222, 93,146,112,111,134, 90,178,131, 28,252,253, 57,  8,141,  2,234,  1,159,152,
+ 90,200,172, 47,176, 14, 64, 22,132,179,  1,  2,  8,189,  2,160,228,184, 30, 90, 28,245, 67, 56,245, 48, 48,190,127,207,200, 37,
+193, 40, 44,196,104, 98,244,155,131,141,153,157,237,183,176, 16,  7, 56, 15, 48, 90,152,252, 61,117,142, 21,212, 69,192,155,151,
+128,165,191,182, 58, 95,113,126,211,119, 54,153,117,123,158, 42,171,129,218,242, 60,167,183, 20,151, 84,246,246,208,176, 14,128,
+ 92, 40, 15,108,242,195,187,  5, 67,229,154, 83,208,158, 47, 93,146,117, 69,199,164, 31, 57,118,240,245,219,215,223, 95,124,227,
+224, 16,150, 81,212, 35,178,254, 24, 12,224,255,255,127, 12,228, 29,103,114,111,  1,116, 57,208,189,133,180,118, 36, 73,195, 62,
+131,  4,184,249,132, 19,108,203,227,234, 92,143,206,  1, 16, 95,  7, 96,150,254, 64,  0, 16, 64, 67,254, 62,128,255, 12,160, 21,
+ 62,140, 76,192,152,255, 47, 36,240,255,224, 17, 22, 14,208,246, 95, 22, 63, 47, 96, 98,248, 39, 40,252,231,207, 95,198,127,255,
+254,130,115, 47, 78,160,167,240,197, 59, 56,244, 11,139,170, 24, 15,119, 84,160,208,178,245,151, 33,117,192,239,191,235,104,237,
+126, 50, 46,148, 31,210, 96, 72,148,248,179,222,119,164,  9, 86,160,  8,173, 22, 34, 95, 47,176,213, 79, 74,195,127,164,129,144,
+236, 41,116, 27, 51, 24,177,117,  0, 46, 41,128,  0, 26,189, 20,126,200,128,209, 11, 97, 70,193, 40, 24,  5,212,  5,  0,  1, 52,
+122, 35,216,144,  1,163,165,249, 40, 24,  5,163,128,186,  0, 32,128, 70, 79, 92, 26,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,
+180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,180,  2, 24,  5,163, 96, 20,140,130, 17, 10,  0,  2,104,224, 47,133,183,
+ 55,147,198,165,242,235,187, 23, 16,  6,183,144,  4,132,113,240,212, 83,100,  5, 63, 69,197,113,233,221,221, 15,221,103,235, 90,
+  8, 93, 99,192,254,250, 37,145,246, 98,  2,226,237,197,  4,104,246,154, 24, 74,225, 82,249,230,254, 85,  8, 67, 68, 17,122, 46,
+194,153,243,207,168,229, 95,143,221,216, 15,160,231,151,146,138,133, 29,  5, 60, 69, 28,106,254, 14,215, 52,106,197, 47,178,222,
+155, 55,111, 34,159,143, 86, 88, 88,168,174,174, 78,163,116, 53,170,151, 42,122, 47, 95,190, 12, 97,232,234,234,146,170, 23,243,
+138,167,209,112, 30, 16,189,120,  0, 64,  0, 97,159,  4,254,243,231,207,143, 31, 63, 24,153, 65,151,106,253,253,243,155,141,149,
+133,157,157,157,212,186,  5,104,  8,  3,248,196,102,146,116,  1, 11,125, 96,113, 15, 41,250, 37,100, 21,128,228, 11,220,  7,205,
+ 99, 22,130,192,226, 15, 82, 20, 78,221,116, 10, 72,102,251,153, 49, 12,110,  0, 44,244,129,197, 61,164,232,215, 54,177,  6,146,
+ 87,207, 28,165,181,127, 55,127,249,178,243,235, 87,119,110,110, 32,201,240,242,229,169,242, 50,160,160, 89,103, 23, 77,125,122,
+224,192,129, 21, 43, 86,  0,211, 21, 92,132,131,131, 35, 34, 34,194,193,193, 97,180, 33, 54,168,  0,176,208,  7, 22,247,144,162,
+159,212, 52,  9, 57,185, 11, 82,244,147,148, 38,145,207, 55, 37,111,125, 39, 25, 87, 10,142,  2,128,  0,194, 82, 58,127,250,252,
+ 69, 82,205,212, 94, 87,131,139,157,245,255,255,255,127,255,254,191,114,251,225,253, 75,135, 57,217, 89,137, 60,164, 19,  8,120,
+ 56, 30,104,171,222,187,114, 75,233,235, 79,  5,226,139,126, 32,201,201, 47, 12,100, 64,138,126,172,189,  1, 60,237, 95,179,232,
+ 10, 32,  3,146,236, 48,101,177, 46,120, 69, 54,150,141,141,141,  1,188,191, 28,116,121,  0,248, 80, 82,136,123,152,152, 89,241,
+ 55,186,129, 64, 82, 12,212,118,254,245,233,195, 79,112,181,247,229,207, 95,136,123,248,197,100,240,183,247,249,165,148,129, 12,
+ 72, 54,195,214, 27, 16,164,174,127,129, 32,231, 37,168,103,  0, 41,253, 33, 69, 63,168,109,190,107, 55,178,172, 15,222,152,250,
+200,253,230, 45,207,235, 15,111,239,136,  9,104,202,188, 81, 33, 38,114,129,109,255,149, 43, 87, 34,151,254, 64,  0,228,114,114,
+114, 74, 74, 74,162,245,  3,134, 55,216,179,103, 15, 73,183, 76,227, 57, 12,145, 22, 69, 63, 36, 77,  2, 25,152,105, 18,214, 27,
+ 16,196, 83,254,  2,211, 36,144,129,153, 38, 33,178,184,210, 36, 80,246,208,241, 83,204,204, 44,127,255,254,249,248,249, 75, 84,
+176,127, 79, 79, 15,121,165, 63,157, 67,108,144,131, 45,216,214,142, 35,199,  2, 64,  0,161, 87,  0, 95,191,255,114,246,139,146,
+ 21,227,231,226,  0, 93,162,242,247, 31,  3, 11, 51,163, 16,191,134,182,170,220,158,157, 91,255,254,254, 74, 76, 29,240,235,215,
+ 47, 77,237,251,250, 26,247,153,153,254, 30, 56, 35,205,198, 74,248, 52, 87, 96, 65, 12, 44,106,249,249, 64,247, 47, 66, 72, 52,
+ 89, 96,149,128,171, 43,  0, 44,239,128,201, 46, 62, 60,  8,200,134,144,104,178,192,228, 72,176, 25,  2,244,151,140,140, 12,144,
+  4, 58,254,235,215,175,192,210, 31,114, 98, 51, 81,181, 29, 11,243,188,  9,235,217,249, 25, 94, 62, 96, 56,253,229,233,235, 23,
+119, 22,247, 87, 18,108,248,  3,179,153,140, 20,104,104, 11, 66, 98, 29, 11, 34,207,191,120,206,  1,  0,150,239,192,162,191, 57,
+ 39, 27,200,110,134, 21,253, 75,110,221, 66,148,254,132, 14, 17,120,240,255, 48,131,217,211,  8,185,152,159,255, 84,216,255,253,
+191,254,102,239,249,221, 55, 85,254,101,225,247,111,127,127,255,247,239,223,145,143,191,134,176,129,130,192,126,  0,169,167,220,
+ 92,191,126,125,226,196,137,180,188,223,156,134,165,255,170, 85,171,222,191,119, 93,189, 58,148, 24,245,144,211,249,233, 83,162,
+  1,203,119, 96,154,188,117,254, 24,176,232, 71, 78,147,251,182,174, 19, 23, 23,135,143,  5,225, 42,127,241,164, 73, 80,233, 12,
+ 63, 94, 21,  3,  0,227,241,197,171, 55,231,175, 92,131, 53, 11,126,118, 77,158,149,158, 16, 57, 90,136,211,  1,  0,  4, 16,202,
+ 36,240,231,207,159,109,220,  2, 53,228,132,217, 89,153,128,165,255,139, 23, 47, 46, 95, 60,255,235, 15,144,249, 95,152,159,203,
+205,211,231,251,207, 63,196, 24,202,206,250, 74, 89,238,  5,  3, 51,163,150,234, 99,118,150,151, 36,149,254, 40, 45,205, 79,159,
+129,133, 62, 80, 10,179, 67,128,181, 52, 68,  6, 11, 87,174,  3, 22,250, 64, 41,204,198,  8, 26,  0, 54,252,129,229, 62, 31, 31,
+223,189,123,247,128,133, 62,168,218, 35,186,244,  7, 54,252,129,165,127, 96,110,139,103,148,213,150, 43, 79, 95,124,103, 32,181,
+244, 71,  6, 79,158,189,  0,246,181, 69,  5,249,192, 85, 51, 51, 25,254,245,  8,142,  7,181,208, 88, 88,  9,150,254, 64, 80, 59,
+101, 42, 16, 65, 74,127, 96,111,160,212, 13,220,238, 23,101,195, 87, 30,241,111,115, 11,145, 74,148,207, 98,101,226,225,102,224,
+ 98, 98, 96,150, 22,183,182,  9,118,190, 39,213,143,127,240,  7,228,194,133, 11, 33,229, 62, 26,  9, 87, 64, 12,248,246,237, 27,
+ 65, 17, 26,129,180,180,180,208,208,213, 75,151, 46,165,188,244, 23, 18,218, 67,164,150,153, 96,192,200,200,136,124,101, 35,237,
+ 74,255,214,170,194,213,171, 87,207,153,220,131, 92,250,  3, 69,166, 76,153,130, 39, 77, 34,151,254,152,105,210,211, 26,124,234,
+ 20, 47, 55, 46,189,189,147,167, 67, 74,255, 87,111,222,  2, 17,176,  7,192,202,202, 50,125,193,114, 98, 46,189, 25,  5,196,  0,
+ 96,147, 31, 25, 33, 75,  1,  4, 16,162,  2,  0,150,122,194, 10,122, 10, 18,  2, 63,126,255,  5,214,214, 59,119,238, 88,180,112,
+193,165,139, 23, 75,139, 10,152,153,153,128,125,  1, 62, 46,118,  5, 61, 27, 96,147, 13,191,101,191,127,255,214, 86,125,200,199,
+243,109,222,194, 87, 76,140,255,205,116,111,  2, 69,  8, 58, 17,173,244,135, 20,253,223, 63,190,133, 87, 12, 64, 17, 92,122,209,
+ 82, 30, 36,217,157, 90,218,  1, 79,148, 64, 17, 60, 86, 43, 43, 43, 11, 11, 11,127,250,244,  9, 88, 19, 48, 49, 49,  1, 61,  8,
+ 44,253, 33, 29, 29,130,167,113,173,221,176,190, 96,194,174,245,147,107,128, 53,  1, 23,183,208,227,191, 79,129,165, 63, 15, 56,
+159, 48,227,213,139, 86,250, 67,138,254,143,207,238,106,200,136,125,254,246,131,157,139,157,225,239, 95, 82,253, 91, 57,123,203,
+213,115,199,117,148,180, 62,254,197, 89, 79, 67, 74,127, 96,171, 31, 88,244, 67, 68,128, 69, 63, 16,221, 75,111,220,117,237,146,
+182,153, 18,195, 91,156,145,117,145,109,139,181,131,168, 40,183,230,247,255,159, 25,126,190, 98,251,249,238,231,223,207, 63,254,
+125,255,199,198, 35,109,107,178,230, 66, 27, 46,141,144,161,127,200,181, 86,240,108, 15,103,  3,165,128, 10,136, 73,199,111,222,
+188, 41, 42, 42,  2,182,253,111,220,184,  1,228, 30, 62,124,184,173,173,173,166,166,134, 62,185,  8, 88,112, 83,165,237, 15, 44,
+253,171,170,136, 58,105, 28, 94,232, 35,223,203, 72, 59,  0, 76,147,144,171,131,207,158, 61, 11, 44,247,129,105, 18, 82,250, 51,
+128,111,109, 36, 47, 77,118, 37,248, 92,185,251, 88, 66, 73,146,225, 43,129,122, 26, 88,244,255,254,253,  7, 92,128,252,  1,162,
+199, 15, 31,144,228,120,228,238,194,104,215,129,120,  0, 16, 64,136, 33,160,159, 63,127, 26,106,104,112,113,178,  2,219,251,127,
+255, 49, 28, 61,124,164,177,185,229,223,127,134,219,119,238, 92,186,120, 65, 71, 71,159,153,153, 81, 93, 73,230,222,185, 63,156,
+120, 15,214,100, 99,121,165,166,240,140,129,133,241,241,243,223, 64, 82, 79,227,225,169,203,175,254, 51, 16,187,228,  6, 62,206,
+131,214, 39,  0, 86,  6,224,181, 64, 79,241,232,133,143,243,160,181, 71,128,  9, 17,180, 54,230, 53,246,190,200,159, 63,127,184,
+184,184,128, 69,191,160,160, 32,176, 57,249,245, 43,232, 32,104, 81, 81,209,183,111,223, 18, 60,163,234,199,123,  6, 51, 78,206,
+210,201,135, 93,245, 25, 30,158,103, 56, 13, 22,  4,114, 39, 21, 58,254,253, 71,212, 21, 52,240,233, 53,103, 99, 13, 22, 94,166,
+157,  7,174, 25,106,200,242,241,176, 31, 60,115, 71, 68, 81,251,  1,234, 42, 32, 92,254,221,116,237, 63,195,115,  6, 63,103,198,
+217, 91,238,  9, 11, 42,  6, 89, 51,226,241, 47,100,204,103,231, 87,232,121,215,255, 27,250, 25,164, 63, 50,166,214,255,111,108,
+102, 96,250,206,120,170,109,138,184, 56,214, 83,185,127,104, 60,148, 23,240,250,244,247,203,207,247,119, 22, 63, 90,118,196,239,
+189, 86,138,163, 91, 46, 15,167,160, 58,  7,139, 32,139,223,199,211,235, 78,155,154,152,226,236,108, 50, 49,193,195, 19,153, 77,
+ 60, 16, 17, 17,201,207,207, 63,114,228,200,206,157, 59, 65, 85,215,206,157,154,154,154,129,129,129,244,201, 42,  1,  1,191,168,
+ 85,250,203,203,203, 19, 89,168,193,203,125, 72, 39,128,236, 51, 92,137,  4, 78,222, 65,192,126, 48,176,  2,  0,150,251,198, 96,
+  6,  3,248,122, 59, 15,123, 19, 72,154,212,213,213,125,128,119,133,  9, 60, 77, 62,223,208,193,171,205,193,163, 90,176,170, 35,
+ 69, 95, 71, 66,221,167,  5,232, 29,172,171, 83,128,109, 59, 14, 14,208, 26, 19, 96,195,255,219,183, 31,100, 59,126,180,220,199,
+  5,240, 28,  6,  7, 16, 64,136, 10,224,223,191,127, 92,236,108,191,254,252,103, 98,100,  0,162,250,166, 22, 96, 53,240,245,235,
+151, 23, 47,158,139,139, 75,252,255,255,239,207, 31,  6, 14, 86, 22,102, 86,124, 67,  4,192,194, 84, 75,249,137,136,224, 39,208,
+144, 31,248,162, 79, 70,198,255, 70,218,183, 79, 94, 18, 39,102, 57, 16,164,153,143, 57, 28,132,167,249,143,220,232,192, 44,250,
+  9, 54,255, 33,237, 74, 49, 49, 49,200, 50, 39, 96,103,  5, 50,247,203,207,207,207,202,202,250,248,241, 99,252,211, 23,243,247,
+ 28, 76,241,177,119,  0,179,111,253,  1,141,255,  0, 25, 14,106, 12,124, 45,251, 11, 75,172,  8,186, 25,216,200,  2,146,114, 98,
+ 66,239,127,254,100,225, 99,254,241,250, 27,176,104,148,148,151,217,181,239, 52,145,254,141, 47,110,189,127,116, 47,203, 11,134,
+ 15,226, 12,192, 74,204, 66, 65,209,201, 30,223, 18, 85,228, 17,255, 37,225, 41,107,127,222,100, 80,249,193,112,146,133,129,135,
+133,193,215, 88,198, 55, 30, 95, 87, 73, 90,232,215,175,119,172,127,126,  3, 75,255,227,  9,252,118,129,254, 26, 98,154, 87,118,
+ 29, 48, 12,253,202,250,235,235, 31,141,127,175, 95,226,155,168,135,148,248,144, 57,  0,100, 54, 73,  0, 88,226,115,115,115, 95,
+191,126,157, 11, 12,162,163,163,105, 61,236,  3, 44,181,129, 69,127, 52, 24,208,179,244, 71, 27,243,129, 92,156, 66,135, 50,206,
+ 35, 56, 70, 73, 73,  9, 88,  1, 64, 74,127, 96,219, 95, 92, 82,146,164, 52,153,230,107,119,226,217, 43, 94,125,222,167, 59,239,
+ 50,112,176,  7,231,198,  9,201,248,224, 45, 52,254, 62,125,254, 18, 88,250, 67,122,  0, 64, 64,106,243, 31,115,176,104,180, 50,
+192, 83, 25, 32,215,  1,  0,  1,132, 50,  7,240, 31,178,  6,230, 63,  3,176,232,103,  2,149,221, 12,235,214,174,  9, 12, 10, 17,
+ 17, 21,131,100,218,255,132, 14, 25,103,102,122,165,173,  2,189, 28, 81, 79,135, 11,220,116, 97, 48,210,186,  7, 20, 39,198,113,
+200, 99, 62,104,226,240,173,  0,184,  0,242,152, 15,154, 56,124,105, 60, 86,240,233,211,167,207,159, 63,  3, 59, 64,192, 42,240,
+245,235,215,144,241, 31, 96, 87,224,203,151, 47,  4,135,128,214, 79,174, 57,112,133,225,227,  3,134,223,223, 25, 38,149, 59, 66,
+198,127,206,157,103,184,240,252, 40, 49,235,165, 62, 62,187, 43,196,207, 45, 44,196,173,174,166,121,239,254,235, 91, 79,223,202,
+  9,243,255,124,249,234,207,239, 63,240,173,  0,120,252,107,229,224,111,227, 24,185,126,243,170,253,135, 86, 45,235, 43, 14, 46,
+110,187,244,155,225,245,219, 87,120,252, 11, 31,241, 79,180, 50,143,214,146, 95,181,126,223,165, 75, 15,250, 46,159, 93,225, 26,
+199, 48,247,216,211,167,175,225, 91,  1,176, 12, 17,252, 96,255,251,235,205,175, 95,160,203,223,197,165,101, 53, 52, 53, 63,113,
+130,102, 74,190,255,251,198,244,243, 43,231, 87,230,151,207,177, 87,  0,144, 96,252,  1,  6,240, 97, 31,180, 21, 65, 68,  2, 96,
+188, 44, 89,178,  4, 88, 13, 20, 20, 20,  0,107,110, 72, 87, 96,208, 14,251,144, 93,250, 35, 55,255, 33,115, 15,240, 78,  0,173,
+ 11,  8, 96,154, 68, 19,129,167, 73,248, 86,  0, 60,105,210,214, 84,221,197, 90,173,181,169,167,119,194,182,186, 37,251, 50,156,
+ 76, 94,108,220,246,241,253, 39, 92, 37, 50, 80, 60,212,207,  3, 50,236,  3,175,  0,128,160,173,190,146,248, 66,124,180,184,199,
+ 15,208, 70,255,145, 59,  4,  0,  1,196,132,220, 67,255,248,229, 27, 51, 19, 35,176, 66,254,247,255,255,159,127,160, 73,251,139,
+ 23,206, 59, 57,131,110,176,251,251,255, 63, 51, 19,243,231,111,191,254,252,250,137,179, 38,255,251, 87, 81,250,185,168,208, 71,
+ 72,101, 98,101,198,  3,185, 92, 21,216,  9, 48,212,188,243,231,239, 95, 98,154,255, 88,167,130,137,109, 14, 99,155,134, 34,168,
+ 87, 80, 80, 16, 88,238,  3,123,  0,192,106, 64, 84, 84, 20, 50, 33, 12, 44,158, 62,124,248, 64,176,  2, 72,107, 93,  1, 44,247,
+249, 21, 24,128,213, 64, 94,231,126, 96,233, 31,148,223,254,228,223,139,165,125,101,192,144, 36,166,249,111,108,172, 38,170,164,
+ 32, 38, 42,194,  6, 12,121,198,255,175,191,126,127,255,249,  7,145,254,237,237,216, 16,160,169,200,199, 39,204, 37, 42,245,251,
+221,251,243, 91,150,127,120,247,136,200, 52, 49,175, 35,135,161,208,133,229,207, 47,133,175, 12,175,152, 63, 77,122,126,154,129,
+141,143,192,120,215,221, 79,111,152,190, 63, 98,251,102,162,226,168, 21,199,115, 79,240,128,168,232,121, 89,139,123, 31,153, 62,
+255,252,255,253,219,146,127, 28, 60,188,120,218,254, 84,  1, 15, 31, 62,  4,146,192,198,184,136,136, 72, 96, 96, 32,164,149, 74,
+ 59,144,158, 46,136, 57,242, 67,252,108, 48,217,165, 63,114, 65, 15,175,132, 32, 55,182,211,212,191,192, 52,121,252,248,113,200,
+184,191,177,177, 49,  3,248, 34,226,149,155,182, 17,159, 38, 55,174,111,112, 47,207,245,242,114, 22, 97,103,254,204,248,127,231,
+173,199,199,175, 60, 37, 88,124,103, 38, 68,222,187,115,  7,216,240,135, 32, 96,233,143,181, 93, 63, 10,200, 43,250,113,141,255,
+  0,  1, 64,  0, 33,134,101,128, 37,224,237,107,151, 20,164,132, 56, 89, 89,254,254,253,  7,190,162,153, 33, 45, 61, 27,216, 37,
+248, 11,222, 13,240,237,199,143,235,183,238,177,177,225, 28, 20,249,243,251,157,161,214,125,120,166,207, 42,188,191,118,137, 42,
+164,207, 96,162,115,247,196, 69, 77, 22,102, 81,130,205,127,180,162, 31, 40,200,128,180, 19, 24,127,243, 31, 45, 57,  2,  5, 25,
+144,118,198,226,  2,127,255,254,149,144,144,  0,246,  0, 94,190,124,  9,100,  3, 75,150,183,111,223,  2, 73,200, 45,213,248,245,
+190,126,113,167,166,101, 63,176,  7,208, 93,108,251,229,207,223,162,206,213, 19,203, 67,139,251,182,176,128,238,160, 33,220,212,
+146, 20, 17, 96,101, 96,253,203,192,248,252,254,213,135,175, 62, 42,139, 10, 93,124,247,236,220,221,167,196, 52,255,131,147,138,
+ 88,133, 24,152,152, 25, 22,108,187,191,118, 90,105, 82,199,204, 34, 95,253,108,103,121,130,254,  5, 54,255,123,253,194, 24, 62,
+112, 48, 48,178, 50,244,246,132,156, 62,188,203, 57,147,177, 61,151,241, 68, 25,158,230, 63, 16, 92,124, 33, 98,243,253,227, 23,
+ 78,230,111, 28, 28,202,193,172,192, 66,255, 35, 19,235, 31,  6,181,255,127,191,253,126,243,252,232,228,143,209, 81,202, 52, 74,
+199,240,193,104, 77, 48,128,  8,218,130,  1, 77,243, 15,214,  5,251, 68,118, 11,200, 46,253, 25, 80, 71,255,209, 22,140,210,116,
+ 38,224,214,249, 99,240,160,206, 74, 10,219,  1, 27, 11,218,174,164, 68,112,239,  2, 48, 77,134,187,152,243,255, 19,252,198,192,
+186,182, 63,119,218,150, 11,165, 30, 54,  9,125,203, 66,218, 22, 19,172,183,224,123,199,208,184,163, 43,250,105, 13,  0,  2,  8,
+209,  3,  0,182,124, 63, 60,191,115,247,241, 91, 22, 86,102, 96, 31,224,247,159,191,231,206,157, 93,180,104,254,175,191,255,127,
+255,253,199,198,194,244,234,253,151,167,215,143,115,226,152,  2,  6, 22,157,154,202, 15,161,205,127,112,191,127,237, 18, 53,208,
+  0, 16,211,127, 32, 98, 98,250,103,161,127,253, 47,238, 78,  0, 90,243, 31,190, 10,  8, 88,244, 19, 44,253,209,154,255,240, 21,
+  8,192,162,144, 96,105,  8,206,207,239,191,124,249,194,202,202, 10,105,254,255,251,247, 15, 66, 18, 83,  1, 44,238,175, 60,247,
+244, 32,143,  4,104,226,151,151,133, 25, 88, 31,240,177,179,126,120,247,  4,216,252,103, 97, 98, 34,216,252,151, 21,226,189,118,
+239,254,159, 95,191,216, 89,216,190,124,249,113,241,254, 51, 96,209, 79,176,244,135,248,215, 63,167,121,233,164,137,223,254, 49,
+200, 42,203, 92,185,122,  2, 88,250, 19,233, 95, 32, 40, 82, 54,217,124,123, 31,195,199, 63, 12, 28, 34,187, 79, 93,  3,150,254,
+192,162, 31,127,233, 15,  4,250,191,124,142,238, 62,197,240,235,243, 23,198,207,239,153,190,124,100,249,253,251,239, 39,246, 31,
+223, 56,158,221, 95, 81,117, 91,193, 64, 13,207, 12, 48, 16,192, 83, 14,  7, 24,160,  9,226,  7,179,193, 96,  0,243,  9,164,213,
+ 15, 44,211, 25,192,179,193,  4, 39,132, 41, 41,253,129, 69,252,127,220, 75,230,105,183, 28,  8,152, 38,225,107,126,106,106, 11,
+129,105, 82, 92, 92, 28,178, 46,  8, 34, 78, 48, 77,166, 56,232, 21,244, 76,252,252,242,149, 40,159,216,213,107,143,128,165, 63,
+100, 25, 43,145,117, 30, 28, 32,143,234,140,246,  3, 40,  1, 91,150, 52,111,193,123,143,  8, 64,  0,161, 76,204,242,242,242,158,
+ 61,176,225,255,127, 63,  5, 41, 97, 94, 46,118, 45, 29,  3, 45,109,125, 22, 38,134, 47,223,255, 62,122,254,238,212,129,173, 60,
+220, 92,184, 12,250,250,237,155,154,252,243, 31, 63, 57,254, 67,174,205,251,207,192,201,241,  3,152,140,223,125, 96,  7, 10,240,
+114,255,209, 85,123,112,248,140, 33,208, 10,252,205,127,120,171, 31,200,101,253,255,155,225, 15,116,245,216, 95, 22, 46,130,205,
+127,120,171, 31,194,253,248, 10,186,228,  0,207,118, 92,120, 29,  0, 36,129,253,  0, 32,249,238,221, 59, 62, 62, 62,200,248, 15,
+ 49,151,178,130, 87,253,183,103,134,218, 51, 76, 58, 60,173,218, 59,164,120,226,178,142,108, 96, 15,128,141,157,131, 96,243,255,
+218,163, 87, 42,178, 34,123,247,156, 96,  0,111,191,  4,146,191,127, 66,251,218,172,184,181, 67,154,255, 45, 73,206,121,245, 11,
+100,149, 24, 73,242, 47,164,249,239,182,126,222,174,232, 72, 70, 25, 11,  6,240,150, 96,  6,240,225, 16, 16,  5,190, 60, 60,120,
+156,173,247,179,236,226,246, 45, 63,212,143, 41,168,234,124,226,100,184,207,240,240,243,131,215,175,219,254,126,121, 47, 83, 24,
+ 87,140, 63,160,166, 79,159, 14, 44,238,191,127,255, 14, 47,194,128, 92,160,224,144,200, 72,144, 86,255, 75,240, 54,105, 98,102,
+131,129,237,101,242, 74,127,  6,216,229,239,120, 10, 62, 82,247, 18, 19,  9,128,105,178,181,161,102,221,230,237,238, 54, 70,240,
+ 52,  9, 68,198,247,238,121,  4,199, 60,122,251, 77, 78,152, 11,127,243,191, 96,214,230,170,100, 55, 41,  9,  7, 72, 45,  2,113,
+ 42,158,190, 20,145,221,130,209,126,  0, 21,235,  3, 52, 17,128,  0, 66, 95,153,195,199,203,115,238,192,134,251, 50,234, 74,170,
+154,124,220,156,255,254, 51,124,255,249,235,222,189,123,175,239, 93,224,229,225,102,194,221,170,229,228,224, 88,181,195, 30, 79,
+ 27, 31,168,151,155,155, 64,115, 15,178,  6, 20,216,228,255,247,247, 55,168,244,  7,131,223,140,172,184, 14, 99, 64,  6,144,245,
+103,192, 38, 48,188, 28, 36,178,244,135,215,  1,240,205, 95,192, 58,  0,103,  0,225,168,  3, 22,195, 54, 66,205,110,131,237,137,
+253,253, 69, 17,175, 46, 96,243,255,212,155, 15, 23,110,131,  6,124,224,229, 62,193,210, 31,  2,128,205,255,181, 70,220, 57,129,
+ 26,100,248, 23,216,252, 47,222,180,138,177,181,126,187,184,249,132, 47, 87,224,226,134, 44,172, 50, 28,132, 79,124,  2,246,  3,
+182,111,250,241,228,253,221,215,111,159,191,188,197,195,252,151,207, 90,207,214, 49,206,145,166,  9,119,192, 55,253,146,177,  6,
+ 52, 61, 93,144,140,210,159, 97, 64,167, 52,129,105,210,210,210, 18, 45, 77,  2, 75,127,  6,208, 84, 48, 23,126,189,192,230,191,
+235,158,147,209,245,139,236,236,236,196, 81,123,147,100, 87, 87,144, 58,128, 96,128, 96, 86,150,163,117,  6,158,114, 31,121, 38,
+  0, 32,128,176,148,111,192,246,239,207,119,143,207, 29,  0, 45, 23,129, 92,184,204,206,206,142, 57, 55,139,  6, 88, 89, 89,249,
+137, 56,242,  1, 15,128, 12,248, 48,  3,155,252,127,190, 49, 35, 21,253,196,156, 88, 13, 25,240,  1, 22,133,200,165, 33, 49, 69,
+ 63,191,168,212, 47,220,211,218,248, 65,116,243,226,219, 55,174,146,237,223, 83,183, 30, 67,178, 25,114,233, 79,176,232,135,128,
+ 56, 35,110,242,252, 11,138,211,254, 50, 72,209, 15, 47,253,137, 44,250,225,192, 83, 49,132,  1, 82,185, 17,183, 70,  6, 88,124,
+ 67, 54,253,  2,219,251,240,221,191, 64,  6,164,249, 15,100, 12,254, 67, 29,200, 88,  3, 74,139, 70, 58,173,  1,214, 52, 73,176,
+232,135,  0,215,154,217, 84, 44,250, 73,170, 14, 71,203,122, 92,  0,237, 70,120,  6,140,121, 96,128,  0,194,222,192,101, 97, 97,
+193, 53, 86, 67, 11,  0, 25,229,135, 20,253, 12, 36, 22,253,144, 81,111,242,138, 66,  6,208,202,165,127,196,116, 47,176,130, 87,
+239, 62, 18,111, 17, 50,128,140,242,147, 87,244, 83,226, 95,200, 40,255,230, 47, 95,200, 46,250, 71,193,112,  5,144, 37,158,143,
+222,126, 35,163,232,135,148,191,240,209,158,161, 91,255, 13,215, 58,  0,143, 44, 64,  0,141, 94, 10, 63, 10, 70,193, 40, 24,  5,
+ 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,
+  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0, 13,252,165,
+240, 35, 77,239,143, 23,143,137,215,203, 33, 33, 59, 26,206,163,122, 71,245,142,234,165,209,165,240,  0,  1, 52,168,123,  0,164,
+238,  2,191,119,239,222, 30, 24,  0,178, 71,171,119, 60,224,227,199,143,143, 30, 61, 58,126,252,248,185,115,231,128, 12,242, 12,
+161,226, 41,111,163, 96,144,131,155, 55,111,146,164, 56, 35, 35,131,108,139,200,214, 59, 10, 72,  5,  0,  1,196, 50,104, 93, 70,
+106,  9, 14, 84,223,209,209, 17, 22, 22,134,172, 93, 73, 73,137,120,237, 64,176,122,245,234,208,208, 80, 37, 48,192,175, 62, 45,
+ 45,141,160,153, 64,199, 96, 93, 13,189,123,247,124, 98,244,190,127,207, 77,163,176,125,245,234,213,207,159, 63, 25, 25, 25, 57,
+ 56, 56,126,252,248,  1,172,  0, 78,159, 62,173,175,175,175,162,162, 66,146, 57,196, 28,149,  1,174,200, 51,137, 81, 54,115,230,
+116,106,235, 77,199,161, 24,253,232, 49,130,233,138,161,158,145,177,  9,163,242,171,103, 12,187, 30,202,192,174, 65,208,121,238,
+238,160, 35,117,201, 59,188, 26,114, 22,116,122,186, 32, 37, 43,235,129,165,106,127,127, 63,193, 13,119,169,169,105, 64,111, 97,
+198,106, 73, 73, 49, 49,218,225,169, 98,194,132,  9,246,246,246,192,114,124,217,178,101,159, 62,125, 34,104, 41, 74,145,196,194,
+ 28, 97,197,150,158,145,222,181,163,187,196,181,  4, 34, 56,123,246, 44,172,122, 99, 98, 64,187,148,185,185,177,228, 20,200,205,
+ 78,  9,  9,  9,163, 59, 18,144,  1,100, 95, 24,124,245, 63, 64,  0, 97,175,  0, 48, 15, 27,161,209,241, 35, 84,172,  0,224,165,
+ 63,208,157,144, 61, 41, 64, 19,136,172,  0, 32,153, 28, 82,156, 65,206,189, 42, 47, 47, 39,172,119,181, 16, 33,131,113,134,216,
+ 87, 95,  2,183,168, 51, 16,113, 72, 26,121,247, 96,  0,219,254, 98, 98,208, 11, 30, 56, 57, 57,129,149,193,135, 15, 31,248,249,
+249, 79,157,  2, 93,158, 76, 76, 29,  0, 12, 94, 72, 40,  1, 67, 44, 56, 56, 24, 24,224,  4,107,130, 77,155, 54, 64, 24,126,126,
+  1,184,216,184,244,126, 63,150,  3, 13, 18,171, 41,112, 54, 50, 23,200,192,165,119,199, 14,148,203,205, 14, 29, 58,212,214,214,
+134, 28, 80, 75,150, 44,193,159, 48, 58, 59, 59, 59,216, 59,193,  5,113, 40, 74, 22,168,103, 36, 53, 73,211, 63, 19, 33,151,254,
+ 64, 47,  3, 99,124,233,210,165, 71,142, 28,241,138,170,198,165,248, 24,198, 21,218,235, 87,131, 74,255,127,255,254,205,154, 53,
+ 11,168,157, 79,206, 30,107,161, 15,239, 14,222,184,113,  3,200,141,140,140,  4,178,163,162,162,136,169, 54,122,118, 67,111, 33,
+126,177,243, 57, 80,239,178,124, 46,160,145,229, 30,101, 12,224,216, 91,190,112, 89,134, 61,190, 62,129,177,177, 49,241, 77,189,
+209,210, 31, 25,  0,  4, 16, 19,214, 98,  5,152,189,129,145,141,150,225,137, 28,144,161,100,236,  5, 89, 47,164, 49, 78,188, 94,
+160,131, 93,192,  0, 82,  7,144,148, 32, 32,165, 63,208, 58,208,245, 20, 96, 75,137,244,  5, 99,216,123,  8,194, 35,130, 11,240,
+108,153, 14, 65,120, 68,  8,150,254,255,193,128,248,209,152,247,239,223,  3,203,122, 96,  5,144,148,148, 20, 29, 29,205,198,198,
+  6,172,  3,128,253,  0,160,247,153,153,153,  9, 30,175,127,237,218, 53,160,189,107,214,172,129,  4, 23,208,210,181,107,215,  2,
+ 27,122, 64,113, 58, 39,101,180,202,128, 70, 77, 16, 96,233, 15, 76, 18,225, 55,194, 64, 45,125,212,192,175,248, 89,142,214, 39,
+192,  5,128,225, 83, 90, 90,170,168,168, 72,134, 27,128,122,129,109,127, 97,225,189,148,183,253,225,165, 63, 73,218,225,165,127,
+113,113, 49, 30,237,200,201, 15,216,252,183,179,179,  3, 50,128,117,  0,176, 31, 64,176,220, 64,211, 27,110,  9,106,149, 46,203,
+231,  4,246,  3,202,220, 75,241,235,  5,182,253,129,118,  1,187,227, 46, 24,  0, 34, 53,218,252,199, 83,250,  3,  1, 64,  0, 49,
+ 97,235,114, 66, 47,134,134,180,163,225,205, 61, 98,138, 99, 72,158,161, 36,191,145, 55,128,131,181, 76, 39, 85, 11,188,242,  0,
+ 54,255,  9,158,127, 59,176,  0, 94,250,  3,201,167, 79,161, 23,110, 60,121,242,  4,127,102,  3,182,253,191,125,251,198,196,196,
+  4,244, 35,144,253,236,217, 51, 86, 86, 86, 22, 48,  0, 50, 32, 71,117,162,109,232, 71,203,168, 19, 39, 78,  4, 22,253, 33, 33,
+ 33,192,  2,  5,104,  8,176,112,  4,178,129, 82,147, 38, 77, 26,102,185,  5, 94,250,  3,217,192,178, 27,222,182,128,  4, 62,188,
+131, 72,100,249,  2, 84,  6, 12, 49, 96,162, 34,111,214,164,178,178, 18,168, 23, 79,212,224, 41,253,251,250,250,128, 81,  6,172,
+ 72,128,197,247,225,195,135, 25,192, 39, 50, 17, 95,250, 67,180,  3,211,204,153, 51,103, 32,218,  9,218,  8, 84, 31, 17, 17,  1,
+225,  2,235,  0,  7,  7,  7,160,237, 27, 55,110, 36, 56,144,  8,108,254, 51, 48, 50, 44,205,131,158, 63,  1,236,  7, 68, 90,179,
+131,250,  1,120,  1,158, 82, 98,180, 91,128, 86,250,167,149,163,151,138,  0,  1,196,130, 53,177,194, 47,134,190,135,116, 49, 52,
+193,180, 78,173,210,159, 42, 21,  0, 37,  0, 88,121,144,237, 17,186,  1, 96, 81,  2, 44,250, 95,188,128,222,194,136,204,198,  5,
+ 94,191,126, 13,204,201,192,150,254,157, 59,119,128,218,129,121,245,215,175, 95,192,236,  7,172,  0,128,228,223,191,127,129,213,
+195,250,245,235,113, 69,244,222,189,160,118, 40,176,196, 71, 86,  0, 97, 67,138, 39, 60, 41,  4,121,132,  7, 23, 27, 79, 99, 31,
+215, 88, 16,158,193, 31,180,145, 31, 72,155,148,164, 52,208,193,222,201,136, 90,161, 66,198,253,239, 17, 51, 60,136,212,132,135,
+212,145,144,146, 14, 24,134,196,183, 73, 33,122, 85, 85, 85, 25,136,158,110, 65,  6,153,153,153,240,193, 46, 32, 27, 88,124,  3,
+ 13, 33,190,244,183,183,  6, 29,201,  8,108,251,151,148,148,  0, 27,230, 16,237,190,126,169,248, 47,246,131, 55,255,225,  0, 50,
+ 22,180,109,219, 54, 13, 13, 13, 96,147, 29,191,222,112, 75,148,131,185,192, 99, 65, 12,203,151,157,191, 41,113, 19,191,222, 81,
+ 64, 70,233, 15,  4,  0,  1,132,125, 14,  0,216,165,130, 52,252,225, 23, 67,147, 84,250, 99,109,135,226, 25,158,198,165, 23, 89,
+156,118,  7,254,  1,125, 10, 63,118, 28,217, 13,228,141,216,254, 95, 37, 72,182, 75,190,248, 16,158,240,132, 59, 18,173, 68,144,
+145,145, 65, 86,128, 53,184,222,189,123,199,203,203, 11, 36,143, 29, 59,  6,172,  6,128,165, 63,176,201, 15,185,250,  6, 88,180,
+253,254,253,251,231,207,159,120,154,168,144, 94, 17,102,152,  0, 69,214,172, 89,  3,148,197, 19, 92,148,207,  1,  0,203,122,228,
+226, 30,194, 38,178, 26,  0, 22, 73, 36,215,  1,224, 33,126, 72,202, 71, 76, 38,129,  5,137,159, 91, 66,174, 35, 25, 96, 23,187,
+147, 55, 40,  1,236,  4, 64,102, 47,136,215, 14,140, 74,248,248,187,141,141, 13,176,  4, 39,169,237, 15,212,254,231,207, 31,100,
+237,  7,143,254,237,233,204, 32,216,252,135,148,248,152,160,191,191,223, 59,186,  6,151, 94,164,209,127,212,254,  1, 17,122, 71,
+  1,217,  0, 32,128, 88,240,164, 90, 72,243,159,206,109,127,228,145, 40,250, 44,229, 68, 30,237, 65, 94, 31,130,191, 68,195,217,
+159,133,141,254,147, 81, 19,192, 71,255,241,215,  4,209,209,209,220,220,220, 60, 60, 60,192,210,156,159,159, 95, 80, 80, 16,216,
+188,138,141,141,133,200,114,112,112,184,185,185,  1,125,129,121,204, 31,176,196,  7,150,254, 63,126,252,  0,234, 98,103,103,  7,
+102,239,255,160,203, 62,255,  2,197,129,165, 63,144, 65,112,128,  2,215, 48, 32,176,161, 74,135, 65, 51, 92,179,193,196,  0, 72,
+ 29, 64, 66, 60, 54, 97,241,108,216,245, 80,240,212, 20,177,134, 32, 55,255,225,213, 54,145, 13, 11,228,230, 63,214, 42, 31, 63,
+ 88,182,108, 25,196, 16, 96, 29, 64,198,208, 63,164,229,  7,236, 26, 22, 22, 22,158, 57,115,  6,166,157, 64,242,152, 56,113, 34,
+218, 37,157, 43, 86,172, 56,120,240, 32, 48, 93, 65, 90, 36,120,214,167, 79,152, 56, 33,194,  2,165,249, 31, 61,233,219,138, 99,
+191,129,122, 13,163, 12, 51,236, 51,136, 95,219, 62, 10,136,108,254,  3,  1, 64,  0, 49,225,105, 23, 67, 18,  1,124, 50,  0,255,
+ 48, 92,121,121, 57,121,238,195,165, 87,  9,124, 31, 41,241,173,120, 52,  0, 89, 17, 68,234,176, 41, 49,139, 59,  7,  3,152, 53,
+107, 86, 95, 95, 31,156, 11, 41,253,253,192,  0,200,  0,102, 57,172,186,128, 21,  6,176,148,127,255,254,253,155, 55,111,128,228,
+ 55, 48,248,242,229,203,167, 79,159, 62,126,252,  8,236, 13,  0,123,  0,120,174,244,  1, 22, 64,192,150, 62,193, 74,116, 80,129,
+ 67, 72,  0, 46,  8,244, 62,156,141,103, 92, 27,121,220, 31,185, 45, 79, 82,179,  0, 77, 49,176, 56,  6,134, 33,217, 51,  1, 64,
+189,196, 36,105, 96,137, 15, 76,  3,144,137, 95, 96, 29,  0,241, 59,241,151, 46, 84,151,219,  3,181,255, 91, 41,  0,212, 14,108,
+122, 67,180, 31, 58,246, 15,214, 28,199,217,252,135, 15,248,128,198,109,150, 47,205,204,204,  4,154, 83, 80, 80, 64,208,106, 80,
+243,159,129,113, 41,172,249, 31, 53,241, 27,115,196,199,229,199,126,  1,245,118,238,232, 26, 45,196,105, 84,250,  3,  1, 64,  0,
+177,224, 42, 95,224, 67,255,240,201,  0,252,133, 35,164, 28,135,180,229, 73, 29,174, 65,211, 11,233, 19,  0,  5,201, 27,246,129,
+ 47,  3,165, 39,128, 52,252,201, 27,255,129, 52,252,137, 25,255,129,103,111,  8,163,177,177,113,254,252,249,176, 33, 20, 63,  8,
+  3,216,252,199, 85,  1,  8, 11, 11,191,125,251, 22,216,222,127,253,250, 53,176,  7,  0,108,223, 65,122,  0, 95,191,126,  5,214,
+  4,192,210, 31, 88, 13,148,149,225,156,115,131, 52,243,177, 46, 17,134,200,226,113, 51, 85,230,  0,136, 20, 71,  6,144, 97, 19,
+244,  2,174,186,186,181,181, 85, 68, 68,132,166, 73,  2,179,249, 15,  7,  4,103,  2, 48,155,255, 36,181,253,129,125,196,152,152,
+ 24, 96,228,  2,189, 95, 85, 85,  5,236,253, 16,127,161, 77, 77,133,253,129,  3,  7, 24,215,128,238,103,221, 85,195,235,214,242,
+ 25,168,189,181, 19,212,138,199,223,  5,129,172,253,  7,183,250,151, 29, 60,120,248, 63,227,255,194,130, 66,117,117,117, 98, 44,
+  5,234,141,176, 98, 69,180,250, 25, 64,122,197,221, 36,200,152,249, 24,  5, 88,202,243,206, 10,204,138,  1, 50, 66,  0, 16, 64,
+ 44,120,218,254,192,210, 31,121, 50,128, 96,215, 21,185, 28, 39,175, 31,  0,209, 75,225,200, 15,196,205,100,150,227,131, 62,193,
+ 65,  6,169,224, 87,117, 39, 38, 38,162,141,207,  0,  5, 33,249, 16, 19,200,200,200,220,185,115,  7, 88,226,  3,155,252,191,127,
+255,134, 12,253,255,248,241,  3,178,150, 20, 50, 39,172,172,172,140,167,102,  5, 26, 14,233,  4,192, 83,  2, 48,168,209, 68,176,
+  2, 90,204,  1, 32,143,  8,225, 10, 43,172,226,192,  0,  4,214,  1,225,225,225, 43, 87,174, 36,126,160, 18,141,221,209,209,145,
+246, 52, 61, 12,152,210,176,109,  4,115,119,119,191,127,255, 62,218, 46,  4,  8,  0,138, 51,224,221, 20, 22, 26,186, 58, 52,212,
+217,213,245, 30,230,100,195,219,183,206, 12, 12,239,211,211,113,230, 68,248, 85,136,144, 78,198,174, 93,187, 24, 72,185,206,140,
+137,137, 17,212,136,129,148,254,151,254,204,223, 15,186,  8, 19, 88,250, 19,147, 53, 32,201,  9,216,234,  7,146,133, 69,133,234,
+106,234, 68, 90, 90, 90, 86,  2,214,203,  0,108,245, 67,244, 74,184, 73,130, 70,155, 70, 11,127,218,  3,128,  0, 98,193,213,157,
+135, 79,252,194,151,121, 16, 51, 38, 78,149,177, 32, 82,119,  0,140, 64,  0, 31,114,129,151,113,144,221, 27,200,130, 88,199, 76,
+129,117,195,182,109,219,254,252,249,243,225,195,  7,200, 28,  0,  3,120,117, 16,144, 11,100, 19,140,187,252,252,252,137, 19, 39,
+ 66,170,  1,228,113,127,160, 56,173,235, 78, 96,113, 79, 76,161,143,181, 52,196,172, 24,128, 77,108, 34, 75,127,204, 82, 24,121,
+ 66,152, 96, 39,  0, 83,240,193,131,  7, 12, 68, 44, 49,128, 15,192,162,186,220,133, 24,255,  2,251,121,192,162, 31,121,240,157,
+ 24,  0,212,254,111,165, 32,176,220,  7,178, 23,236,255,181,226,216, 47,160,246,195,199, 73, 24,173, 58,116,232, 80, 65, 65,  1,
+145,173,126, 56,128, 36,194,149,199,127,  3,245, 74,184, 75,194,234, 19,162,244, 66,182,251, 66,166,247,209,162,105,116, 39, 48,
+  3,182,235,192,208,118,  2,  3,  4, 16, 11,214,236,  1,217, 84,133,220,244, 35, 56,  4,132,158, 61,200,173,  3, 40, 55,  4,126,
+ 26,  4,145,  0, 88,217, 96, 29,194, 38,166, 18,194, 28,243, 33,126, 20,  8,115,204,135,200, 81, 32,248, 76, 53,114,222,198, 42,
+136,181,153,230,237,237,189,116,233, 82, 54, 54,182,159, 63,127,  2,235,128,127,255,254,  9,  8,  8,188,127,255,158,152,205,207,
+ 90, 90, 90, 64,243,119,239,222, 13, 89,246,  3,217, 19, 48,228, 50,216,190,125,251,128,129,176,101,203, 22, 50, 74,127,120, 89,
+121,175,188, 28, 79, 87,181,180,180,148,  1,199,242,185,178,178, 50,252,115,  0,233,233,130,184,244,  2,219,254,196,148,227,  4,
+251, 64,120,128,123,203,103, 56,155,164,210,127,218,180,105,228, 69, 71, 79,119, 47,168,201, 79,  1,192, 90, 89,194,111,159, 30,
+  5,120,  0, 64,  0,225, 92,  6, 74, 80,132,166,128,158, 59,  0, 48,231,250,136,174,102,200, 44,248, 64,122, 57,201,116, 45,100,
+116, 11, 82, 57,161,141,116, 33, 11,226,247, 81,116,116,244,221,187,119,247,239,223,255,253,251,247,191,127,255,250,250,250,  2,
+139,114,226,195,220, 21, 12, 32,109, 55, 34, 27,254,212,154,  3,192,197,198, 83, 26,162,173, 75, 33,102, 55, 19,  3,252,168,159,
+123,161,200,193,  2,204,  5,105, 79,211, 25, 97, 27,193, 32, 82, 88,123, 90,120,194,223,217,217,153, 96,130, 36, 67, 10,238, 95,
+ 96,140,  4,  6,  6, 66, 78, 31, 34, 21, 48,133,191,  7,106,247,243, 79,131,180, 21, 32,139, 62,145,143,121,160,  5, 48,142, 49,
+ 34, 91, 47,176,129,143,171,158,131, 72,141,  2,252,  0, 32,128,  6,227, 97,112,100, 52, 91,232,223,  8,165,196, 70, 74, 78,121,
+163,150, 79,149,193,  0, 77,240,215,175, 95,204, 96, 64,237,  8,157, 62, 64,122,177, 36, 36,200,241, 97,132, 65, 61,244, 96, 40,
+228,222, 33,176,244,135, 84,180,131,115,139, 41,133,123,101,192,218,  9, 15,189, 83,125, 57, 38,254,115,126,104, 87, 89,142, 14,
+ 10,  1,  1, 64,  0,141, 94, 10, 63, 10, 70,193, 40, 24,  5, 35, 20,  0,  4,208,232,141, 96,163, 96, 20,140,130, 81, 48, 66,  1,
+ 64,  0,141, 86,  0,163, 96, 20,140,130, 81, 48, 66,  1, 64,  0,177,140,  6,193, 40, 24,  5,163,  0, 25, 48, 98,178,254,195,137,
+ 81, 48,172,  0, 64,  0,141,246,  0, 70, 40,192,122, 56,248, 40, 24,  5,140, 96,204,  8, 58,  3,154, 17,  3,140,238,205, 26,110,
+  0, 32,128, 70, 47,133, 31,161,122,125,109,103, 14,111,255,198,249,233, 34,154, 57, 76, 76,144,229,170,240, 21,141,255, 97,  0,
 162, 96,209,166,203,200,122, 63, 60,216,207,193,193,  1, 81, 15, 57, 64, 27, 89, 47,228,212,188,127,255,254,  1,217,191,127,255,
-230,149,181, 27,  1,225,204,200,204,194,254,255,223,159,127,255,254,108, 57,242,  4,121, 81, 40, 46,189,192, 32,122,249,242,165,
-132,132,  4, 25,246, 82,162,119, 52, 47, 48,144,178, 82, 11, 32,128,134,252, 16, 80,117, 53,226, 10,187,214, 86, 51,250,233, 61,
 5,186, 84,175,213,172, 21,206, 32,213,229,184,246,169,226, 18, 39,213,156,225,214, 87,253,245,149,229,237,125,213, 31,151,164,
-255, 60,190,245, 95,241,  9,175,214, 55, 62,121, 54,110, 94, 92,234,143, 28, 57, 98, 99, 99,  3, 41,250, 33,133, 56,164, 17, 11,
47,196,255,193,192,195,135, 15,209,244,158, 59,119,206,216,216,152,147,147,147,133,133,  5,168, 17,174, 29, 82,238,255,133,129,
-159, 63,127,158, 61,123,214, 65,214,110,240,135, 30,208,229,111,223,190, 61,126,252,184,128,128,  0,218,198,  8,194,141, 68, 70,
38,118, 14, 33,  1, 65,245,175, 95,158,126,249,252, 24,212, 13, 96,252,207,240, 31,223,136, 16, 48,148,214,172, 89,115,235,214,
45, 32, 27, 24,140,197,197,197,196, 91,  7,209,123,239,238, 29, 96,152,179,177,179, 23, 20, 20,210,116, 23,194,  8,  7,  0,  1,
- 52,136, 42,  0, 92, 39, 77, 50,224, 61,104, 12, 82,112, 35, 23,229,196,  3, 74,244, 14, 39, 64,225,222, 81, 58,148, 94,159, 31,
- 94,255,120,104,213,183,111, 63, 21,204,153, 56,101, 24, 85, 31, 93, 50,101,184,248,254, 39,207,  5,174,184, 55,140,210, 88, 53,
- 93,187,118, 13, 88,130,  0, 11, 59, 22, 24,128, 84,  6,144,134,255,159, 63,127,128, 37, 56,176,253, 14, 44,253,247,237,219,199,
44,108,130,172,247,219,183,111,231,207,159,183,176,176, 96, 99, 99,131, 95,154,  6,212, 14, 44,155,254,128,  1, 80,227,247,239,
-223,129,106,190,124,249, 50,152, 99,182,170,170, 10, 57, 19,125,254,252,217,192,192,128, 12,189,139,151,157,229,228, 20,  3, 22,
-200,160, 10,128,145,225, 63,100,183,  0,238, 98,249,217,179,103,192,144,137,138,138, 82, 82, 82,130,156, 75, 33, 36, 36,100, 98,
- 98,130, 85,113,130, 59,202,206,184,203, 55,110, 28,224,229, 42,234,111, 50, 52,210,121,254,228,213,174,109,  7, 20,116, 12, 63,
-125,250, 56, 90, 88,147, 13,208,198,123,145,151,254,  3,  4, 16, 11,214,178,  0, 82, 10,224, 98,211,168,244,207,202,194,126, 79,
-250,251,247,239,151, 47, 95,142,167, 14,128,148,224,164, 54,225, 41,212, 11,111,251,147,209,252, 71,187,121,  6,151,  2, 26,133,
- 54,164,199,  0, 39, 33,130,239,222,129,118,205,  8,  9,237, 25,132,201,247,215,227,107,236,199, 22,255,252,246, 47, 72,133, 89,
- 93,244,207, 63,161,255,172, 66,204,159,223,178,113,126,254,174,121,113,202, 89,181,140,111, 92,242,216,218,173,140,215,175, 95,
 7,150,224, 78, 78, 78,144,114, 28,  8,128,133, 56,228,234, 27, 96, 33, 14,108,191, 63,126,252,120,255,254,253,192,154,  0,109,
-231, 27, 80, 25, 80,205,197,139, 23,129,245,  7,176,  1,203,206,206, 14,209, 11,169,  0,128, 26,129,165,219,229,203,151,127,252,
-248, 65,112,211,220,131,  7, 15,128,182,  0, 75, 94,160, 27,196,197,197, 85, 85, 85, 33,131, 75,196,  0, 74,244,  2,157, 90, 83,
- 83,  3, 63, 12, 21, 88,154,  3,107, 68, 49, 49, 49, 97, 97, 97, 34, 75,255,121, 73, 73, 94,134,134, 64,182, 68,110, 46, 39,151,
-248,151, 79,143, 62,125,188,251,255,255, 95,208,129,113,255,  8,220, 65, 13, 44,238, 69, 68, 68, 22, 45, 90, 20, 31, 31,191,105,
-211, 38, 32,247,208,161, 67,191,126,253, 98, 96,144,195,170,254,109,123, 17,156,205,243,235,183,212,159, 31,  5,165,245,253, 61,
-141,221, 61,211,164,153,254, 78,235,233,115,138,136,194,165,119, 20,144, 84,250, 51, 32, 29,  5, 10,  4,  0,  1,132,189,  7,128,
-124,  4, 10, 46, 54,213,  1,253,207,112,166,194,  0, 20,172, 14, 32,  9,192,235,212,249,129,139, 48,101, 19,215,199,209,180, 25,
14, 49, 28,153, 36,120,109,247,  0,130, 31, 31,222,168,221,223,250,138,249,175, 10, 63,131,188,220,127,102, 61, 54, 22, 37, 37,
-182,159, 63,126, 30,125,252,243, 35, 11,243, 63,214, 31,123, 22, 51,121,229,255, 99, 65, 31, 11,130, 95,126, 41, 40, 40,232,232,
-232,  8, 44, 58,129,197, 40,176, 33, 15,105,248,  3,203,110, 96, 43,245,224,193,131, 76, 96,128, 85, 47, 80,229,213,171, 87,109,
-108,108,248,248,248,128,218,129, 34,192,210, 31, 88,138,125,250,244,233,244,233,211,192,106,  0,104, 26,100, 38,  0, 23,184,116,
-233,210,177, 99,199,238,223,191, 15,212,  2,180, 93, 66, 66,  2,216, 10,182,178,178,226,230, 38,188, 21,156,108,189, 64, 39, 65,
-110,254, 65, 22,132,156, 11, 13,108, 69, 17, 83,133, 48, 49,179, 33,115, 95, 76,158, 44, 17, 32,211,221, 61,241,247,239,175,224,
-192, 97,252,  7, 44,253,255,131,186,  0,255,113,143,191,157, 60,121,178,162,162,  2, 24,104, 65, 65, 65,178,178,178,192,138,118,
-219,182,109,230,238,132, 54,253, 50, 50, 46,185,243,124,237,237,167,155, 54, 46,100,102,102, 44,202,141,213,151, 16,153, 85, 80,
- 63,155, 24,189,163,  0, 71,233,143,220,228, 71,171, 15,  0,  2,136,132, 85, 64,180, 62,238, 81,  9, 55,160, 69, 19,158, 66,189,
12,100,141,251, 83,189, 45, 15,191,204,146,248, 66, 28,171, 74, 96,219,159,200,230, 63,176, 16,  4, 22,127,152, 92,100, 65, 76,
-  0, 87,  3,191,101, 16,147,139, 21,188,187,122,238,217,211, 79, 98,188, 44, 74,188,255, 89, 68,254,177, 88,122,112,235, 47,230,
- 52,234,101,231,231,100,251,242,253,219,183,191,114,204,223,222, 95, 58,134,165, 20, 99, 98,130, 92,118,127,251,246,109, 96,107,
29, 88,136, 11,131,  1,176,101, 42, 32, 32,240,241,227, 71, 96,155, 20, 88, 60, 65, 70,249,209,244, 66,196,129,197, 46,176, 14,
-184,117,235, 22, 23, 23, 23, 80, 23,176,249, 44, 42, 42,202,195,195,  3, 20,  1, 86, 33,144,161, 33,204,202,  3,185,253,190,123,
-247,238,187,119,239, 42, 42, 42,186,187,187,155,153,153,125,251,246,109,223,190,125,192,142,  5,176,250, 33,216,246,223,189,103,
-239,189,231, 31,121, 85, 44,212,220,147,165,205,252,222,255,100,  2,138, 16,212, 11, 44,253,129, 21,  6,176,242,  0, 22,193,122,
-122,122,240, 97, 28,  8,131, 96,233, 15, 44,250,185,121,164,132,132,117,150,174,184,148, 52,111,222,182,243,231,129,  8,216,  3,
- 96,  0, 77,119,127,133,170, 97,  4, 34,124,235,129,128,  5, 61,176,213,159,147,147,195,203,203, 11, 12,186,181,107,215,  2, 29,
-243,230,205, 27, 53, 53, 53,130,169,107,226,249,219, 61, 39,174,204,238,169,100, 97,254,206,244,247,115,215,132,121, 43, 15,157,
-125,198,196, 66,234,  9,163,163,128, 72,  0, 16, 64, 44,196, 23,244,131,121, 42,102,196, 86,  3,144,161, 27,146, 70,111, 48,187,
23,240,126,  0,193,158,199,231,207,159,129,205, 82, 96,179,218,212,212, 20,141,123,234,212, 41,136, 32, 86,  0,145,  5,146,192,
-150, 41,176, 25, 11, 44, 26, 32,130,200, 92,172,128,239,199,219,109,143,126, 72,191,103, 54,228, 99, 20,125,205,160,194,194,207,
-196, 40,252,255,199,203,175, 47, 25,175, 62,250,247,226,235, 15, 96, 25,204,240,239, 22,131,145, 59,174, 10,128,157,157, 29, 88,
10, 75, 75, 75,187,186,186,  2, 75,118, 96, 17,249,246,237, 91, 96,145,  4,148,  2, 22,241,144,227,143,254, 97,232,133,104,  7,
42,  0, 38,123, 96,199, 87, 69, 69,133,159,159,255,203,151, 47,231,207,159,  7,214, 10, 64, 51,127,130,  1,158, 86, 17,176,122,
-123,242,228,137,190,190,190,131,131,131,140,140,204,215,175, 95,129,245,  7,176,155,123,252,248,113,130,131, 57, 64,189, 47,223,
-125, 20, 82,179, 80,178, 13, 23,144, 81,251,249,245,195,163,147, 91,111,239, 93, 72, 80, 47,100,246,  2,216,185, 17, 23, 23,  7,
22,184,192,154,  0, 82,244, 67,198,130,128,108,172, 55,228, 64,171, 61, 22, 14,  1, 65,117,  1, 33,117, 38, 38, 86, 96,113, 63,
-119,254,254,164, 68, 71,136,222,212,212, 84,160,227, 33,122,193, 94,  6, 23,  5,216,166,  1,128,  1,187,121,243,230,172,172, 44,
- 73, 73,208,  1,159,123,247,238,  5, 86,102,156, 96,224,237,237,125,236,218,119, 60,190, 94,118,243,113,239,233, 27,115, 58,202,
-101,212,229,191,126,121,191,113,251,233, 75,151,111, 10,252,255,199,246,226,165,119, 78,244,209,171,223, 71,203,107, 82,  1,218,
- 73, 63,152, 29,  2,128,  0, 98,193, 44, 11,224,135,220,226, 98, 15, 42, 64,118,193, 77,161, 94,178,199,127, 40,111,245, 19, 35,
-133,167, 40, 39,123,213, 16, 48, 39,  3,139,251,247,239,223, 99,229, 18,  9,128,181,  5,176,252,  5, 22,250, 10, 10, 10,152, 92,
- 76,240,250,205,227, 99,207,191,123,115,113, 29,126,252, 79,202,136, 93,241,231,217,247,215,178,214,119, 93,250,247,224,227,151,
- 95,255,159,126,254,203,201,194,244,231,227, 11,126,108,237, 24,120, 29,  0, 44, 49, 31, 62,124,120,227,198, 13,109,109,109,160,
-131, 79,156, 56,  1, 25,217,199, 53,136, 15,212, 11,233,  4, 64,244,  2,235,128,199,143, 31,235,234,234,  2,139,111, 96,253,  1,
20,  1,138, 67, 86,  7,225,233,  1, 60,122,244,  8,104,190,177,177, 49,176,244,  7, 42,  6,118, 65,204,205,205,129, 86,  3,197,
-129, 53,  7,254, 80,  2,170,249,199,196, 38,109,224,  2, 44,253,153,152, 89, 57,249, 68,229,204,189, 31,158,216,132, 95, 47,208,
-157, 31, 62,124,120,250,244,169,156,156,156,181,181, 53,208, 82,200,200, 79,124,124, 60, 68,  1,176, 14,195, 99, 41,  7,135,176,
-176,168,254,175,159, 31,223,188, 61,255,243,231,251,223,191, 65,243,219, 16,189, 47, 95,188,128,235,  5,181,254,113,212,122,207,
-159, 63, 95,186,116,105,116,116, 52, 48,172, 24,192,215,209,  0,123,  3,149,149,149,192,218,  8,166,  4,231,242,196, 91,159,190,
-149, 31,188,208, 81,146,110,235,227,242,245,203,155, 85,235, 14,206,156,187,118,123, 81,130,210,171, 39,157,159, 94,  8,  9,  9,
-227,209, 59, 10,136, 28, 11,194,172, 18,  0,  2,136,  5,235, 80, 12, 65,246, 32,  7,148,175,209, 36,  6,180,152,182,208,255,  6,
49,228,178, 27,173, 50,160,198, 97,144, 56,193,205,155, 55, 97,243,120, 88,184, 36,  1, 96, 17,188,123,247,110,200, 37, 30,200,
- 92,172,221,252,139,239,190,127,252,245,239,226,235, 63,207, 62,252, 17, 63,193,162,183,234,206,195,  7, 87,111,158,252,245,135,
-133,249,215, 63,134, 31,191,254,191,255,255, 79, 84,240, 63,214, 66, 28,190,  0, 20,178,140,231,229,203,151,242,242,242,192,122,
11, 50,236,  3, 36, 17, 27,156,  8,  1,248,166,  1,  8, 57, 56,111,142,  3, 86, 78,144, 91, 80, 20, 21, 21,145, 43,182, 51,103,
-206,  0, 73, 96,240, 66, 46,221,195,117,237, 15, 48,180,128,228,247,111, 47,191,124,126,252,247,239, 15,100,189,155,192, 85, 53,
-176, 27,  4,210,251, 31,251,216, 63, 48, 30, 39, 79,158, 12,108,230,219,216,216,  0,185, 71,143, 30,221,176, 97, 67,118,118, 54,
- 82,233,143, 19, 60,255,246, 51,118,219,137,130, 48,239,144,216,224,111, 63, 62,173,223,116, 96,194,180,101,139,220, 76,129,165,
-255,104,217, 77,245,154,  0,185, 14,  0,  8, 32,106,238,  4, 70, 30,137,198,197, 30, 78, 96, 48,148,  2,144,177,123,226,199,127,
-240,204, 25,224,143, 35, 96,241,225,234,234, 42, 40, 40,136,149, 75, 18,  0,234,  2,234,133, 23,247,104, 92, 52,240,253, 47,223,
-111, 70,134, 51,111,126,190,250,251,119,239,189, 31,171, 86,255,216,247, 68,244, 14, 27,255,147,143,191, 31,127,254,247,245, 15,
-195,183, 63,255,217,133, 37,112, 21,217,144,149,254,127,255,254,253,243,231,143,176,176, 48, 15, 15, 15,176, 14,248,253,251, 55,
- 68,  4,109, 59, 24,178, 94,200, 74,127,160,154,239,223,191,  3,185,178,178,178,192,150,181,164,164, 36,176,218,  0,182,193,129,
- 53, 31,196,100, 60,227,162,192,102, 56,176,175,112,246,236,217, 39, 79,158, 64,174,225, 60,121,242,228,151, 47, 95,128,226,192,
-206,  7,254, 32,  2,170, 97,250,247,235,233,249, 61, 31,158,220,250,247,247,247,247, 79,175, 31,157,220,250,235,235,123,252,122,
-225,142,249,246,237, 27,124,118, 26,216,  9,184,122,245, 42,176, 28,135, 92,218,254,241, 35,206,245,148, 64,191,254,249,253,133,
-147, 91,130,131, 83,  8,178, 35, 24, 89,239,236,217,179, 33,122,255,161,  6, 24,176,  3,183,104,209, 34, 96,235,161,169,169,201,
-207,207,207,199,199,  7,210, 21,216,188,121,115,105,105, 41,176,203,133,199,155, 64,189,139, 23, 47,142,200,202,113, 90,115,176,
36, 46, 40,175, 44,243,199,175, 47,247,239, 62,158, 57,115,213,  6, 95, 43,  7, 89, 49,226, 19, 21,176,178, 25, 45,220,241,143,
 5,193,203,125,228,121, 96,128,  0,162,254, 81, 16,152,183,167, 98,178,169,220,222,199, 88,200,143,220,228,199,223,252,199,212,
-123, 10, 40, 84, 93,141,201, 38,102,  8,136,120,189,212,234, 13,192, 23,243, 16,223,252,127,247,206,  5, 62,115, 64, 82,  7, 66,
- 65, 65,193,215,215, 23,216, 12,196,202, 37, 18,  0,213,  3,117,193,  7,124,208,184, 88,212,171,170,168,114, 51,243, 50, 50,252,
-254,255,255,250,251, 95, 75,239,252, 92,126,236,217,233,187,239,158,125,103,120,251,227,239,221, 47,255,159,255,252, 47,171,172,
-130,181, 52,132,172,218,  4, 22,214,192, 66, 28, 88,118,235,232,232,128,171, 76, 33, 51, 51, 51, 72, 33, 14, 41,199, 49, 11,113,
- 72,225, 14,172, 39,128, 10,128,213,188,178,178,242,135, 15, 31, 30, 63,126,252,238,221, 59,160, 83,129,189, 10,160, 56,208,  4,
-136, 50, 92, 46, 55, 53, 53,149,145,145,  1, 22,160, 59,118,236,216,  2,  6,135, 15, 31,  6, 54,204, 45, 45, 45,241,204,121,192,
-245,138, 11,241,191,189,119,225,230,238,249, 87,183, 78,191,190,117,230,195,227, 27,216,153,254,225,215, 11,172,156,128,205,109,
- 62, 62,190,139, 23, 47,  2,107, 29,228,106,  0,210,150, 95,186,116, 41,158, 18,249,215,207,143, 31, 63,220, 97,101,229, 22, 16,
-210,224,230,145,  6, 50, 32,125,  2, 32,120,118,114,234,254, 69,121,174, 26, 95,192, 21,  0,  3,116, 27, 24, 56,216,182,110,221,
-202,201,201,  9, 52, 22, 24, 50, 22, 22, 22,240,174, 64, 76, 76, 12,176, 35,130,223,155,219,182,109,229,227,227,177,179, 55, 55,
48,210, 11,204, 74,250,198,248,231,245,171,119, 25,185,205,157, 38, 42, 70, 98, 36,180, 45,128,165,127, 87, 87,215,104, 29, 64,
- 76, 53,128, 38,  2, 16, 64,116,218,  8, 54, 32,141,101,242,198,232,205, 90, 91,145,203,110, 32,151,234,122,225,109,237,196,245,
-113,120, 20,208,122, 79, 22,220, 22,228,157,  1,248,181,  0, 75, 31,103,103,103, 96, 25,138,201,  5,150,170,248, 66,  6, 44, 11,
36, 13, 13, 13,129,229, 20, 92, 16,153,139, 21, 72,171,105,233, 94, 61, 43,255,254,227,155,191,255, 62,253,248,195, 14, 44,173,
-127,254,145,227, 97,121,255,231,207,211,175,160, 21, 68,222,170,226,220, 10, 90, 95,176,141,135,192, 87,124,234,234,234,234,235,
-235,  3, 11, 38,200,194, 77,160,179,129, 69,213,250,245,235, 33, 27,  2,128, 34,140, 24,122, 33,187,189,128,233, 86, 77, 77, 13,
- 88,127,188,126,253, 26,178,132, 20,104, 26, 80,228,213,171, 87, 16,189, 64, 17, 60,245, 37,176,103,  3, 89,202,  9, 44,145,225,
- 75, 57,129, 46, 33,184, 26,  7,164,215,197, 25,164,247,238,201,103,231,119, 67,245, 90, 59, 17,212, 11, 44,253,141,140,140,142,
30, 61, 10,212, 43, 45, 45, 13, 52,135,155,155,187,170,170,106,210,164, 73,192,174, 15,208,246,190,190, 62, 92,119,196,  3,171,
-188,143,239,239,  0,139,117,126, 33, 53,  9, 41,203,239,223,223,124,249,244,176,187,103, 82, 99, 67,149,148, 12,195,242,124, 46,
-198,176,247,142,113, 12,144, 26, 19,190, 17,248,214,173, 91,192, 52, 96, 99, 99,  3, 52, 31, 88,229,  0,229,166, 76,153, 18, 30,
30, 14,169,110,241,131,155, 55,111,133,  4,251, 71, 68,248,233,232,170,191,253,252,241,203,199, 55,105,121,205,205,129,206,206,
-255,190,145, 84,250, 79,152, 48,  1, 24, 41,192, 90, 39, 55, 55, 55, 32, 32, 96,180,160, 71, 30,240,193, 90,238,195,  1, 64,  0,
-177,208,167,160, 39,184,130, 40, 36, 36,132,188,157,192,184,  0,242, 70, 45,242,234,  0, 82, 75,127,226,245,226, 95,117, 67,235,
-163, 29,224,227, 69,112, 91,144,247,  4, 16,  4,192,114, 16,121,181, 15,156,139,103,  9, 16, 92, 22, 77, 13,126, 45, 16, 32,165,
-168,252,195,204,246,207,169,109, 15, 62, 50,240, 48,178,202,243, 48, 61,253,203,200,204,206,114,232,213,223, 31,255, 24, 68,217,
-153,149, 77,236,190,  8, 42, 96, 43,206, 64, 77,120, 96,139, 27,216, 14,  5,150,137,159, 62,125,  2,150,221,144, 10,  0,216,126,
 7, 86, 90,192, 50,107,243,230,205,144,225, 32,180,108,  0, 20,129,108, 27,214,212,212,132,140,222,  0,245, 66,210, 54,164,223,
-  0, 20,  7,246,  6,190,124,249,130, 63, 97,235,233,233,  1, 75,100,242, 54,115,145,167, 23,232,108, 41, 41, 41,119,119,119, 96,
-173,115,227,198,141, 71,143, 30,  1,107, 59,  1,  1,  1, 96, 85, 52,103,206, 28, 92,123,113,145, 70,129,190,125,120,127,243,199,
-143,119,  2,130,106, 60,188,178,188,124,114, 95, 63, 63,237,232,156, 27, 25,225,  2,172,  0, 96,  1,251, 31,185,  6,240,242,242,
-218,182,109, 27,176,195,  1, 12, 16, 63, 63,191,133, 11, 23,  2,235,117, 13, 13, 13, 98,252,232,237,237,181,126,253,230, 79, 31,
-222, 62,121,246, 60, 63, 59,174,180,162, 45,208,201,202,230,231, 39,  6, 86, 98,203, 37, 96,233,223,208,208,  0,233,134,  2, 59,
-106,192,126, 64, 89, 89,217,104, 29,128,191, 62, 64,  6,  0,  1, 68,205, 10,128,194, 21, 68,100,148,242, 16,240,230,205,220,234,
- 83, 27,177, 14,248, 16,156,254,  5,234, 61, 85,189, 17,173,193,142, 60,140,131,167, 28,127, 51,247,205,169,141,213,228,233, 29,
40, 48, 20, 79, 13, 82,176,114,188,244,243,207,235,125,123, 89,255,124,191,244,249,255,158,207,127,216, 24, 25,133,255,255,119,
-148, 20,176,119,115, 22, 50,118,192,209,158,  5,245,  0,128, 77, 96, 96,121,  4,108,194,  3, 11,122, 96, 49, 10, 41,196, 33,141,
-119, 81, 81, 81,107,107,235,157, 59,119, 98, 14,227,  0, 69,128, 85,  5,176,185, 13, 84, 15,108,213, 66,186, 17, 12,176,121,  5,
32, 23,168,  0,216,171, 56,113,226,  4,193,105,112,  5, 48, 32,211,227,100,233,  5,214,  1,192, 18, 31,232, 60, 96, 15,  0,216,
-233,  1,246, 93,128,130, 79,159, 62,245,244,244,  4, 54,255,  9,106,255,251,247,231,215, 47, 79,127,253,250,200,249,233,  1,159,
-128, 50, 23,143, 20, 16,237,218,251,146,209, 89, 28,214,152,  3,147, 48,245, 86, 86, 86,192,128,  5,150,254,192,154, 64, 88, 88,
- 56, 46, 46,238,192,129,  3, 68, 58,213,210,210,138,157,157,157,239,218,217,236,236,100, 25, 53,213,174,130,228,  5,211, 22, 78,
- 97,254, 65,124,233, 95, 94, 94, 14,244,236,179,103,207, 56, 57, 57,129,145,  2,236,238,180,182,182, 86, 87, 87,143,214,  1,240,
49, 31, 96,161,143,231, 40,  8,128,  0,162,114, 15, 96, 64, 86, 16, 97, 45,212,136,108,254, 99,234, 69,110,191, 67,198,115,112,
-149,227,148,232,197, 83, 22,147, 90, 70, 15,251,147,224,128, 37,154,129,179,187,176,148,204,235,235, 87,152, 31,222, 83,249,253,
-156, 87, 88,220, 74, 87, 67,219, 88,231,187,  4,206,253, 65,192,146, 26,216,246,  7, 54,243, 33,131,245,192,174,  0,144,  1, 57,
-206,  1, 62, 58, 36, 43, 43, 11,172,  3, 48, 11, 44, 96,105, 98, 96, 96,  0,172,  3,128,229, 59, 68, 37,124, 81, 13,252, 36, 56,
-160, 81,134,134,134,103,207,158, 29,156,129,  6,116,188, 24, 24,168,171,171,  3,253, 11,172,198,128,222,  7,134, 70, 53, 81,243,
- 82,255,127,255,250,252,251,215,151,239,223, 95,179,179, 11,178,178,241, 50, 49,177, 44, 89,186, 53, 38,218, 27, 90, 11,162,170,
-134,116, 44,122,123,123,129, 21, 45,144,161,166,166, 70,252,181,210, 70, 70,198,204,166,166, 73, 13, 16,189,255,213,212,212,213,
-  2,  2,240,143, 10, 34,131,206,206,206,209, 82,158,152, 58,  0,107,233, 15,  4,  0,  1, 52,108, 47,132, 33,123,233, 39,114,145,
- 77,106, 19,158, 18,189,163,  0, 63,144,213,212,  6, 34, 32,  3,126,246, 38,254,125, 65,161,161,161,130,130,130,144,165, 62,192,
18, 16, 50,164,  3,233,  1, 64, 38,126, 33,  7,130, 42, 43, 43,  3,  5,143, 92,249,138,172,119,194,132,  9,171, 87,175,134, 40,
-  0,157, 20,132,227, 56,104, 96,203,151,224,160,202, 32,169, 65,121,192,128,196,230,  2,164, 26,248, 12, 44,253,129,102,  0,131,
13,162, 23,215,152, 23,228,200, 79, 72, 80,147,228, 60, 96, 48, 23, 22, 22,146,161,119,180,153, 79,124, 29,128, 75, 10, 32,128,
- 70, 47,133, 31,  5,163, 96, 20, 96,148, 11, 12, 12,232,135, 61,252, 31,189, 17,108, 24,  2,128,  0, 26,189, 18,114, 20,140,130,
- 81,128,209,248,103, 24,189,  1,114, 68,  0,128,  0, 26,189, 18,114, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10, 96, 20,
-140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10, 96, 20,140,130, 81, 48, 10, 70, 40,  0,  8, 32,196, 28,192,232, 37,203,163,122,
71,245,226,210,155,158,158,238, 31,144,190,113,  3,150, 35, 55, 70,195,106,192,245,182,194, 86,220,225, 90,228, 58,122, 41, 60,
46,  0, 16, 64, 44,104,169, 28, 83,  5,145,235,198,  6,149, 94, 34,181, 15,148,155,  7, 15, 32,251,204,  9,234, 30, 68,138,  7,
- 64,174, 28, 56,120,240, 32,144,109,111,111,143,255,242,  0,218,133, 18,176,244,247,242, 52,130, 28,163, 55,236, 55, 94, 12, 45,
-  0, 44,253,125,125,149,225,236,234,234,234,209, 48, 33, 30,  0,  4, 16,250, 42,160,255,171, 80,206, 96, 98, 12, 35,225,180,119,
-180,140, 65,210,  9,160,148,232, 69,115, 51, 73,206, 30, 40, 55, 67,192,187,215,119, 94,191,126,254,242,205,151,143, 31,127,243,
-243,179,138,139,240,136,138, 74, 10,137, 18,117,188,218,185,227,211,238,221,189,117,247,193,143,199,207,255,203, 74, 50, 42, 43,
-112, 40, 41,171, 25, 89,102,209,191,218,128,156, 45, 74,163, 98,241,242,229,203,  6,  6, 59,102,204,248,118,224,  0, 67,125,253,
-174,199,143, 31, 75, 72, 72,112,112,112,136,138,138, 42, 41, 41,145, 81, 25, 28, 62,124, 88, 92, 92, 92, 94, 94,158,224,145,156,
-200,  0, 88,250,167,165,165, 49, 48,204,218, 56,122,224,216,224,  3,191,126,149,239,220,153,230,238, 62,203,215,183, 19,210, 27,
24,173,  6,144,  1,158,141, 96,  0,  1, 52, 76,150,129,194, 75,124, 70, 70,134,127, 43,  5,  7,191,131,127,255,250,250,248,209,
-229, 95,191,126,171, 40, 10, 56,216,200,  9,240,179,191,255,240,227,233,243, 47,183,239, 61,255,240,241,141,172,156, 46, 43, 27,
-206,171, 95,223,191,185,117,236,224,108,102,134, 79,225,222, 12,214,198, 12,202,242, 12,119, 30,252, 63,114,230,251,182,253, 23,
-183,174, 45,181,178, 79, 21, 20, 81, 35,210, 25,100,183,253,145, 53, 66, 14,146,163, 81, 29,240,238,221,187,188,188,111,162,162,
12,161,161, 12, 29, 29,160, 11,185,254,252,249,  3,172,  0,196,196,196,128, 21,  0,176, 79, 32, 37, 37, 69,208,144, 23, 47, 94,
-188,122,245,234,229,203,151,174,174,174, 75,150, 44, 97,  0,239,245,141,138,138,194,127,128, 29, 50,216,182,253, 28,176,244,  7,
-147,163, 96,112, 53,255,129,100,112,240,218,157, 59, 65,100, 90,218, 93, 72,111, 96,180, 43,128, 89,244,195, 69,144,235,  0,128,
 0, 26, 38, 21,  0,176, 19,  0,169,  3,134, 68,233, 15,  4, 79, 30, 93, 22, 23,225, 48, 53, 84,  4,223,175,196,248,239,223,127,
- 62, 30,118,110,101, 54,  5, 89,254,107, 55,223,  0,101, 21, 85, 44,112,233,  5,150,254,182,198,159, 10, 18, 25,152,153, 65, 21,
-222,239, 63, 12,220, 92, 12,154, 42, 12, 22,  6, 12, 91,246,127,  2,202,122,  7,119,211,116,  8,  8,235,165,146, 52,186,242, 65,
72, 72,104,203, 22, 78, 89,217,239,192, 30,192,251,247, 44, 42, 96,240,229,203,151,123,247,238, 29, 56,112,224,211,167, 79,192,
-114, 28,127, 63,224,250,245,235,231,206,157, 99,101,101, 69, 22,252,254,253,251,220,185,115,129,134, 68, 68, 68, 16,227,140,141,
27,128, 94, 78,  7,147, 36,  0,248, 61,201,144, 99,239,208,184,120, 98,132,  1,233,196, 64, 60, 92,156,237,161,255,255, 69,222,
-190, 85,122,240, 64,248,233,211, 39, 98, 98,143,148,148, 62,138,137,253, 39,250, 68, 94,160, 59,137, 57,167, 15,143, 22,252, 92,
-106,233,133, 15,254,164,165,237,  4, 50, 32, 36, 68, 10,200, 24,173,  3,176,182,250, 33, 71,  3,193, 69,  0,  2,104, 88,173,  2,
- 98, 28, 34,238,124,247,250,206,239,223,191,205,140, 36,225, 34, 76, 76,140,108,108,204,156, 28, 44,172,172, 76,202,138,130,192,
-158,  1, 80, 13,174,145, 31, 96,219,191, 48,137,225,199, 79,134,251,143, 25,222,127,100,248,240,137, 97,217, 38,134,220,  6,134,
-170, 30,  6, 43, 35,  6,166,255,159,128,106,134, 77,156,234,234,234,110,220,168, 41, 38,198, 16, 21,197, 34, 33, 97, 10, 44,175,
-125,125,125,125,124,124,220,221,221,197,197,197,129, 37,251,202,149, 43,239,222,189,139,235,162,196, 75,151, 46, 93,184,112,  1,
-173,244,135,131,253,251,247, 95,189,122, 21, 79, 89,124,232,208, 33,120,105, 11, 41,253, 33,108,160, 56, 49, 21,222, 41, 24,192,
-202, 37,178,126,197,207,197, 90,250, 43,221,184, 97,187,103,143,236,173, 59,108,159, 62, 73,222,186,161,179,101,179,232,197,139,
- 12, 68,223,233, 13,116, 33,176,216,  5,246,153,136,143, 38,136, 22, 60, 92,252,122,145,139,123, 60, 92, 92,  0, 82,238, 67,200,
95,190, 42, 12,163,  0,169,232,199,127,214,  3, 64,  0, 13,150, 30,  0, 85,218,143,255,169, 97, 47,121, 67, 25,240,155,182,136,
- 25, 99,121,253,230,185,186,178, 16,164,220, 71,147,226, 96,103,249,240,241,167,154,178,208,173,123,207,177, 78,  6,220,187,123,
- 43, 28,116, 36, 23,195,142, 67, 12, 83, 23, 51,184,217, 50,120, 57, 48,220,184,195,112,254,234,127, 78, 14, 70, 67,109,  6,119,
-123,134,117, 59,111, 25, 89,210,106,  8,  8,107, 16,209,238,198, 55, 96,235, 30,216,222,  7, 50,128, 45,125,107,107,107,184,160,
-160,160,160,166, 38,139,159, 31,176, 15,116,230,214,173,111, 12, 12,192, 64, 97,199, 28,249,185,124,249, 50,174,210, 31, 94,  7,
-224,186, 35, 37, 58, 58,122, 41, 24,  0, 25,112,255,  2,139,126,160,  8, 68,150, 62,121,  1, 63, 23, 19,240,189,124,169,120,242,
-228, 47, 38, 38, 86, 70,134, 63,255,254,255,251,253,247,223,159, 63,162,135, 15,125, 20, 17,249, 41, 67,236, 74, 18, 96,177,123,
-229,202, 21, 67, 67, 67,  3,  3,  3,226,181, 32,119,110,208,184, 68,118, 35, 72, 45,253, 49,139,251,157, 72,253,128, 81, 64, 16,
-  0,  4, 16,122,  5,128, 57,125, 74,100,161,134,171, 48, 37, 70, 47, 45,198,142,137, 92,166,130,117,  2,153, 72,189,104,202,136,
-159,139,126,249,250,139,163,181, 28,176, 65,118,248,248,227,111,223,127,  3, 69,140,244, 37, 68,133, 57, 31, 63,253,124,231,254,
-123, 22, 22, 38, 85, 37,193,163, 39,191,170,107, 98,209,123,247,193, 15,107, 99,134,159,191, 25,182, 31,100,216,127,252,191,148,
- 56,163,146, 28,131,179, 13,131,134, 50, 35, 11, 51,232, 28,117, 11,  3,134,238,153, 63,240, 15,248, 16,100,224,105, 53,192, 71,
-252,209,198, 37,104,183, 54,230,209,163, 71, 12,224,243,241,145,  5, 31, 60,120,160,165,245,170,170, 10, 20,240,109,109,183, 30,
- 60,208,102, 96, 67, 63, 25, 20,168,  6,127,233, 15, 81,131, 75,202, 14, 12, 32, 37, 62,164,208,135, 87, 12,240, 11,141,169, 14,
40,108,254,  3,129,192,245, 27,191,126,255,102, 98, 98,250,207,204, 12,186, 20,  1,114,160,221,223,127,236,151, 46, 17, 95,  1,
48,128,239,149, 60,122,244, 40,176,171, 42, 45, 45, 77,204, 68, 11,133,117,  0,121,109,127, 96,113,239, 62,203, 61,120, 45, 67,
-218, 78, 16,  3,200,133,212, 10,108,155,239,140, 22,238,104,  0,235,189,240,  0,  1, 68,120, 21, 16,241,235,130, 48, 91,133, 68,
-182, 19,177,214, 19,196, 87, 60, 88, 93,142,231,242,116, 92,197, 52,124,  2,153, 72,189, 88,149, 65, 76,  3, 54,236,255,173,194,
- 57, 27,  1, 94,243,  3,106,174, 62,126,246,233,251,119,208,181, 86, 42, 74,130,192, 10,224,226,213, 87, 55,111,191,227,224, 96,
- 86, 86, 20,120,255, 17,251, 65,243,143,159,255, 87,150,  7,153,239, 97,199, 96,160,197,200,206,198,240,231, 15,168, 31, 32,192,
-203,112,239, 17,131,187, 29,131,188, 12, 72, 13, 77, 83, 18,188,220, 39,114, 72,122,160,  0,214, 65, 12, 82,157, 10, 41,235,225,
21,  0, 77, 75,127, 56,192,117,117, 59,158, 43,221,225,128,245,238,157,159,191,127, 49, 50,179,252,253,255, 31,152, 78,254,252,
-253,247, 27,216, 17,248,251,151,241,246, 77,  6,  6, 47, 82, 93,  2,236,  7,  0, 59, 82,220,220,220,252,252,252,196,215,  1, 68,
14,254, 80, 88,250, 87, 87, 87,183,182,182,  2, 75,127,120,101,  0, 36,129,213,  0,176,244,223,188,249, 46,100,  2,  0, 50, 75,
-172,103, 23, 63, 90,250, 99,150,254, 64,  0, 16, 64,131,101,  8,  8,107, 97, 74,100, 65, 76,210, 90, 85,236, 38, 80,105,237, 16,
-208, 37,196, 24,197,207,207,250,254,195, 15, 17, 33,174, 80, 63, 13, 96,254,100,103,103,102,  6,182,215,254,255,247,113, 83,246,
-118, 85,  6,154,240,246,253,119,160, 26,172,122,101, 37, 25,239, 62,252,175,161,204,224,100,  9, 26,242,186,113,135, 65, 79,131,
65,144,143,193,211,129,225,223, 63,  6, 96, 39,224,214,125,144, 26,252,129, 76,144, 65,252, 70, 18, 74,198,205,136,  1,192,246,
- 43,176,  5,122,247,238, 93, 96, 75,220,214,214,150,135,135,  7,114, 98,176,130,130,194,169, 83, 98,141,141, 79, 25, 25, 25, 95,
-189, 82, 83, 83, 83,184,246, 12,139, 94, 52,145, 85,171, 86,161, 52, 26,254,255, 15, 15, 15, 39,190, 14,160, 91,233, 79, 70,221,
-  0,  7,239,100,164,217,110,220,252,207,202,192,246, 15, 52,239,251,251,239,159, 95,255,255,126,251,243,231,187,138,  6, 25,142,
-209,209,209,  1,134, 63,145,165, 63,  3,248,154, 79, 96,147, 31, 94,124,163,113,113,  1, 72, 47,  1,174, 12,141, 75, 16,  0,155,
-255,144,162, 31, 72, 34,183,253, 33,179,196,192,202, 96,180,244,199, 90,250,  3,  1, 64,  0, 13,135, 85, 64,  4,123, 30,  4,193,
-255,255, 12, 76,225,239, 41,175,  3, 32,139,145,152,194,222,227,105,254,  3,129,184,  8,207,227,167,159,129, 21, 64,223,244,211,
-118, 86,178, 70,122,226,140,172,140,144,229, 64,144,149, 26, 64, 89,160, 26,172,122,149, 21, 56,142,158,253, 14,172,  0, 68,140,
- 25, 42, 50, 25,242, 19, 24,248,121, 65, 35, 63,141,147, 24, 26,242, 65, 10,142,158,  5,169, 33,105,160,140,242,197,160,180, 91,
 6,250,230,205, 27,200, 61,136, 91,183,110,125,244,232,145,135,135,135,162,162,226,231,207,159,223,191,127,127,253,250,159,  3,
 7,128,133,133,137,163,163,163,140,140,204,181,103,175,209,244,  2,219,173,248,111,236,250,243,231,207, 96, 75,204,240,210, 31,
- 79, 53,128,191, 14,248,164,165,205,126,233,210,191,255,255,185,153, 88,152,153, 25,255,  0, 75,255,223,191, 63,255,250,245, 91,
- 95,159, 36,151,112,113,113,145, 52,  7,  0, 47,238,113,113,105, 81,  7,  0,155,249,105,224, 54, 62,114,233, 15,111,254,143,  2,
-252,165, 63, 16,  0,  4,208,232,113,208,176,214, 34,149,214,143, 66,235,  0,188,213,137,168,168,228,157,251,207,244,181,197, 42,
-242, 45, 22, 44,191,204,201,193, 98,160, 35,  6,191, 78,249,223,191,255,119,238,191, 23, 23,195, 62,234,170,164,172,182,117,223,
-197,132, 96,134,255,247, 24, 44,130, 24,148,100, 25,150,110,132,201,229, 51,252,253,203,176,117, 31, 72, 13,237,  2, 10,107,255,
-140,118,203, 64,111,220,184,161,169,121,127,254,124, 32,243,111, 83,211,165,117,235,190,169,171,171,  3, 43,128,123,247,238,189,
-124,249,210,200,200,  8,216,132,199,181, 12, 84, 73, 73,233,244,233,211,120,238, 24, 33,242,122, 94,248, 16, 16,144,164,117, 15,
 0, 88,178, 67,138,126, 92, 67, 64,184,164, 16,181,154,140,204, 91, 91,187,191,251, 15,252, 98, 99,229,249,207,242,227,223,191,
-143,191,126,125,118,114,254, 47, 39, 71,116,135,152, 17, 88,254, 18, 63,244, 15,215,  2, 47,238,209,184, 36,213,  1,184,214,206,
-226,  1,104,165, 63,124,228,103,116, 54, 24,127,233, 15,  4,  0,  1, 52, 90,  1, 80, 19, 64, 39,  0,  8,141,  2,  9,137,170,124,
-248,248,230,228,217,103,230,198, 82,158, 46, 74, 59,246,222,219,186, 11,148,106,107,138,173,128,165, 63, 80,156,157,157, 13,215,
-126, 96, 35,203,172,173,107, 75,251,231,129, 86,130,206,104,  1,173,254,116,177,  6,173,  4,237,175,  5,149,254,253,243, 24,254,
- 50,240, 17,191, 31,152,212, 54, 59,174, 30,  3,237, 86,  1,125,253,250,213,208,240,  7,164, 36, 49, 49,249,191, 99,199,189, 91,
-183,110, 65, 54,130, 57, 56, 56,216,219,219,227,217,  4,160,172,172,124,249,242,101, 92,157,  0, 96,243,223,216,216,152, 24, 55,
64, 22,131, 66, 22,  5,  1,217,196,215,  1,104, 27,205,136,220,119,  6,175,  3,112,201, 18,208,207,196,244,203,220,252,141,148,
-212,151, 75,151,120, 30, 61,250,161,168,248, 85, 91,251,175,172, 44,  3,209,151,109,145, 87,118, 35,107, 65,227,226,247, 56,178,
- 44,154,189,164, 58,  3,  2,144,203,125, 72,111,128,212, 33,205, 97,  6,240,172,233,  0,  8,160,209, 10,  0,203,234, 29, 58, 24,
- 37, 43,167,251,248,209,229,181, 91,110,170, 40, 10,122,187, 41, 11, 10,112,188,255,240,227,252,229,151,192,182, 63,176,244,  7,
-202,226,209,107,101,159,122,248,224,236, 99,103, 63,121, 59, 49,204,110,  7,237,  4,190,251,144, 97,238, 42, 80,219, 31, 88,250,
-  3,101, 41, 47,208,201, 40,253,105, 52,  7, 32, 33, 33,241,224,129,200,153, 51,160,225,157, 91,183,248, 76, 77,181,132,133,133,
-225, 59,129,  9, 30,  5, 97, 97, 97,113,240,224, 65, 70,140, 61, 80,192,210, 95, 69, 69,  5, 88, 67, 16, 83,250, 35,143,254, 67,
-186,  2, 68,214,  1,100, 23,103,184, 74,121,194,165, 63,172, 14,248, 39, 47,255, 13,136,200, 10,115, 50,138, 93,252, 62,197,111,
- 32, 37,122,241,151,254,160, 69,162, 35,126,  2,128,  1,219,126, 96,120,149,  0, 16, 64,132,151,129, 18, 63,197, 74,204, 50, 80,
-226,245, 18,175,157, 18,123,177,250,142, 60,123, 73,154,139,102,101,227, 86, 82,177,120,247,250,206,189,  7,207,143,159,121,  2,
- 63, 11, 72, 92, 76,138,224, 89, 64,130, 34,106,222,193,221,231,142, 79, 91,185,245, 86,219, 84,186,158,  5, 68,231,210, 31,  8,
-212,213,213, 47, 94,244, 74, 76, 60,  3,238,  1,152,132,133,233,115,113,113,145, 84,127,132,135,135,223,188,121,243,204,153, 51,
-204,160,185,118, 38, 96,209,207,198,198,  6,108,251,  3, 77, 38,181,244, 39,163, 14, 24,  5,180,  6,160,181, 64,105,173,238,179,
-220,177,238,  9, 24,157, 12,192, 15,  0,  2,136,133,146,  1,  1,154,234, 37,210,192, 65,229,102, 82,  1,176,172,  7, 34,117,178,
-244,  2,203,122, 34,119,123, 81,203, 23,116,219,195,129, 12,128,197,189, 37, 24, 80, 88,139, 16, 83,220, 99,  2,204,178, 30,200,
-134,108, 11, 24,173,  0,  6, 85, 29,192,240, 16,139,184, 73,181,201,  8, 15, 25,130, 87,190,  3,  4,208,232,165,240,163, 96, 20,
-140,130, 81, 48, 66,  1, 64,  0,141,222,  8, 54, 10, 70,193, 40, 24,  5, 35, 20,  0,  4,208,104,  5, 48, 10, 70,193, 40, 24,  5,
35, 20,  0,  4,208,104,  5, 48, 10, 70,193, 40, 24,  5, 35, 20,  0,  4,208,104,  5, 48, 10, 70,193, 40, 24,  5, 35, 20,  0,  4,
-208,232,165,240,212,209,139,231, 88, 52,154,234,189,  7,  6,171, 87,175, 38, 67,239,253,251,247,239,222,189, 75,158,222,209,180,
49,170,119, 84,239, 80,209,139,  7,  0,  4, 16,206,141, 96, 68,158,130, 73,117,189, 84,  7,105,161, 31, 25,216,216,102, 45,229,
-196,163,  6, 88,134,226,217,123,137,223,205,112,189,189,189,189,197,197,197, 36,221,150, 14,215,123,101, 42,159, 78,246, 39, 50,
-110, 90,215, 19,158,242,255,205, 95, 32, 99,214,172, 89,224, 75,107, 73,  0,102,234, 43,254,124,250,196,201,201,  9,172,  3, 66,
67, 67,105, 23,  5, 68,238,171,192,234,223,129,210,139,203, 52,250, 36, 96, 70, 70, 70, 38, 48,128,108, 97,251,245,235, 23, 51,
-248,108,231,255,255,255, 51,140,130, 81, 64, 61,  0, 16, 64, 44,184,210, 58,214,164,198, 72,232, 86, 57, 72, 38, 33, 79, 47, 49,
45, 98,178,193,238,221,187, 25, 56, 52,241,148,194,229,229,229, 98, 98, 98,104, 82,192,  2, 29,191,177, 16,189,144,162,255,196,
-137, 19,144,106,128, 36,189,255,174,213, 49,105, 53, 45,218,  7, 58,174,  0,200,134, 72,  1, 69,  8,250,136,239, 83,209,191,255,
12, 43,118,128, 52,122,218,179,106,171, 92,  5,214,  1,160, 10,143,136,106, 64, 88,238,212,235,219, 47, 14, 95,147,255,250,147,
-219,211,253,131,180,  4,227,153, 51,199, 62,125,250,225,228,228, 68,163,116, 70,211, 70,  3, 30,189,  4, 75, 76,226,147, 37,169,
-  0, 24,191, 93, 93, 93,165,165,165,196,236, 55, 70,  6,192,178,158,  5, 12, 32, 59,215,128,137,  4,104,200,223,191,127,255,128,
-  1,144, 65, 35,  7,111,221,186, 21,127,224,120,121, 17, 62, 77,122,219,182,109, 36,169, 31,  5,116,  3,144,253,192,104,235,254,
 1,  2,136,133,164,210,223,216,216,248,236,217,179,  4, 51, 33,214, 76,133, 71, 47,154, 57,192,178, 24, 50,172, 65,246,  1,147,
-105,190,179, 24, 56,213,102,173,114,  0, 53,141, 87,243,131, 74,127, 66, 37, 56,230,217,241,192, 18, 28,255,169, 44,112,189, 64,
- 54,176,  5,109,  1,  6, 36,233,133,148,248, 16,178,  3,182, 91, 27, 88,250,151,  5,115,116,173,253,129,199,131,252,223,139,117,
-212,152,191,126,255, 95, 20,203,113,226,234,159,239, 95,255,127,251,197,224,104,112,245,234,173,191,  4,187,  2,247, 30,247,159,
59,205,205,203,199, 40, 33, 41, 46, 42,174,242,240,238, 47,  5,173,223,172, 28,175,246,172,127,179,126,253,250,192,192,192,209,
-172, 66, 21,  0,140, 95, 95, 95, 95, 96, 29,128,150,134,141,140,140, 26, 27, 27,129, 82,216, 91,100, 44, 44,108, 48,240,248,241,
99, 85, 85, 85, 96, 53,192,203,203,123,231,206, 29, 30, 30,158,211,167, 79, 31, 63,126, 60, 59, 59, 27,103,202,  7, 71, 61, 60,
-255,194,115, 34, 68,  4,200,133,180, 18,176,130, 77,155, 54, 97,106,129,139,  0,185,196, 20,232, 27, 55,110, 36, 73, 61, 85,192,
-139, 23, 47, 36, 36, 36, 70,147, 28,158,114, 31, 23,  0,  8, 32, 22,146, 74,127,252, 54,225, 57,168,  4,255, 17,231,104,165,127,
71, 71, 71, 69, 69,  5, 92,132,248, 58, 32,205,120, 22,131,176,218,172, 93, 14,240, 86,191,171,171, 43,144,  1, 33, 49,199,197,
-144, 75,112,172,165, 63,102,159,  0,211, 83,240,150, 62,176,198, 66, 14, 10, 98,244, 98,109,233,  3, 75,127,252,222, 20,249, 94,
-164, 42,207,204,201,206, 40, 47,197,252,230,253,191,223,127,152,223,126,248,255,241,203,255, 59, 79,254, 49, 48, 49,136,112, 93,
 2,250, 75, 73, 73,  9,171,222,127,255, 87,107, 42, 43, 29,127,241, 82, 81, 78, 84, 71, 79,137,153, 93, 72, 94,241,253,251,239,
- 63, 94,189,248,251,228,229, 15, 46, 22,160, 86,125, 92,122,105, 55, 34, 68,124, 20,147,167, 23,179, 69, 66,235,177, 20, 96, 56,
 2, 45,213,210,210,218,188,121, 51,114,116,  0, 51, 17,158,210, 31,  8, 88, 89, 89, 57, 56, 56,222,188,121,163,166,166,102,104,
-104,  8,172, 15, 38, 77,154,  4,108,245,235,234,234,174, 91,183, 14, 88,  1, 92,186,116,  9, 88, 37,224,234,  7,248,251,251, 67,
-252,139, 43, 23,227, 41,148,129,101, 55, 36,100,176, 54,224,128,226, 47, 95,190, 36,166,  2, 32, 73, 61,164,248,222,191,127, 63,
86, 41, 71, 71, 71, 98, 74,118,160,118, 41, 41, 41,117,117,245,209,106,128, 84,  0, 16, 64, 44,152,185, 11, 87,251,157, 62, 14,
-  2,230, 22, 96,233, 79,100,133,129,115,180,135, 33, 13, 72,174,158,101,198,192,246, 29,207,232, 63, 90,  9,142, 86,153,225, 47,
-193, 33,  0, 94,121,156, 56,113,  2,185,249, 79,140,222,101,165, 60,152,185, 52,186,231, 43,126, 93,255,254,253, 99,231, 98,100,
- 98, 98,224,226,100,248,240,233,223,207,255,255,185, 57, 25,127,252, 99,248,254,243,191,140, 40,211,191, 63, 12,183, 31,255,221,
-179,103, 15,214, 78,192,167,143, 39,  4,  4,184,217,216,254,167, 38,152,255,253,251,255,197,171, 95,143,158,126, 96, 96,125,204,
- 41,248,243,249,171,  7, 76,108, 31,175, 93,251,240,244,229, 30, 82,231, 18, 40, 28, 17, 66,190, 89,140, 24,128,124,226, 30,230,
-253,157,184,192,187,119, 46,112,182,144,208, 30, 92, 69, 36,193,250,  6, 89,  4, 79,221,  3, 76, 90, 62, 62, 62,144,114,255,234,
-213,171, 16,  6,164,237, 15, 20,199, 99, 35, 59, 59,251,215,175, 95, 53, 53, 53,129,101, 31, 48, 33, 37, 39, 39,  3,  5,127,255,
-254,189, 96,193,  2, 96,  7,250,220,185,115, 43, 87,174,252,254,253, 59,230, 93, 55, 16,224,237,237, 77,118,164,204,157, 59, 23,
-127, 37, 74, 76,139, 30,110,  8,145,234, 25,192,231, 53,  1,139,239,103,207,208, 47,244,  1, 10, 18, 95,160, 63,  3,131,209,106,
 0, 19,192,199,124,176,118,  5,  0,  2,136,133,152, 86, 60, 37,197, 49,169,  0,185, 29, 77, 84,171,127, 86, 58,131, 36,195, 44,
- 95, 80, 86,156,117, 54, 13, 62,218,  3,110,245,127, 68,238,  7,224, 47,193, 95,189,122,  5, 47,181,137, 44,193,241,  3, 72,189,
-  2, 44, 47,112, 29,182,129,167,  0,130,140,255, 96,234,  5,106,121,115,173, 72, 18, 60,248,  3, 17,249,254,247,255,143, 95, 12,
-191,193,220,223,127,254,255,103,  2, 49, 46, 95, 58, 11,172, 71, 25, 24,216,208,140,253,248,241, 42, 43,187,160,136,144,192,135,
-119,223, 62,124,252,112,226,204,139,167, 47,255,179,113,127,147, 86,249,242,253,219, 27, 85,189,223, 10,154, 63, 87,206, 62,123,
-231,206, 29,  6,  6,142,209,156, 67, 97,243, 31,  8,128,205,127, 96,113,191,101,203, 22,109,109,237,208,208, 80,130,165, 63,164,
-  2,120,253,250, 53, 23, 23,151,157,157, 93, 79, 79, 15,176, 67,  0, 76,  6, 11, 23, 46,  4,150,254,192, 70,198,222,189,123, 47,
- 95,190, 44, 34, 34,130,231, 42, 27, 96,253,141,107,  8,104,246,236,217,120,172,166,202, 16, 16,208, 16, 50,134,128,128,165, 54,
-102,  5, 64,198,241, 77,163,213,  0,169,  0, 32,128,  6,215,113,208,152,247,138, 16, 57, 56,  0,106,239, 87,220,103, 96,102, 75,
-115, 83, 96, 16, 80,152,  5,190,248, 15,255,232, 63, 85,  6, 49, 32, 19,191,240,182, 63, 50,128,204, 10, 96,118, 47,136,108,177,
46, 45,225,198,236, 13,240,126, 42,126,240,235,255,139, 55,192,214, 31, 19, 15, 23,168,171, 14, 44,244,127,252,100,  0,214,  1,
- 64,242,215,111,134, 31,223, 25,126,253,132,181, 64, 81, 43, 15,158, 63, 69, 79, 31,201,201, 42,242,252,103,101,121,243,253,251,
-254,131,143,175,221,121,250,238,221, 23,109,227,191, 95,127,252,249,241,243,239,247,111,255, 94, 60, 98,248,254,149,161,187,187,
-123,244,132, 40,172, 61, 21, 34, 19, 36,164,249,175,165,165,  5,108,248,  3, 43,  3, 96,  5,  0,233,  4, 16, 44,253, 33, 67, 64,
-  6,  6,  6, 28, 28, 28,192, 66, 63, 41, 41,169,189,189, 29, 88,146,158, 60,121,242,224,193,131,151, 46, 93,250,248,241,163,170,
-170,234,167, 79,159,240,220,114, 19, 16, 16,128,217,182,128,244,120,240,247, 15,  6,106,  8,  8,107, 39,128,164,230,255,104, 53,
64, 54,  0,  8,160, 65, 81,  1, 64,134,254, 33,221,100,228, 58,  0,158,217, 32,131,245,196,143, 20, 67,202,125, 96,195, 31, 60,
- 10,196, 54,107, 41,245,221, 12, 89,249,227,226,226,178,103,207, 30, 92, 93, 25, 92,189, 25,172,133, 59, 49, 99, 65,241,149, 95,
-165,196,153,162,124,217,128,197, 61, 63, 47, 35, 19, 35,184,225,207,240,255,199, 55,134,175,191,254,  3,187,  5, 95,127,252,255,
-247, 31,251,205, 31,241,249, 95,117,245,239, 73,104,188,219,189,253,213,187,119, 63, 12, 44, 63,233,  9,125, 97, 96,253,249,227,
-219,191, 87, 79,255,127,253,202,248,231, 15,163,144,  8, 35,  3,227,191,209, 92, 65, 21,  0, 73,207,200, 19, 42,192,154,  0,185,
-104,198, 58, 19,  0, 44,217,203,202,202, 88, 88, 88, 22, 45, 90, 52,127,254,252,196,196,196,142,142, 14, 96,137,252,224,193,131,
-239,223,191,  3,179,  9,176,237,159,145,145,129,103,241, 18,217, 83,175,  3, 53,  4,132,181, 19, 64,222,233,173,163,128, 84,  0,
- 16, 64,131,165,  7,128, 60,108,141, 89,208,227, 42,100,145,193,172,179,105,176,162,255,246,234, 73,247,193,171,128, 16,245,  1,
-158, 81, 32, 74, 70,120,128, 14,131, 55,255, 33,189,  1, 56, 27,216,  3,128,236,177,194,156,124, 38, 88,250, 67, 86,  1, 97,234,
-253,243,151,225,235,183,255, 63,127,129,166,124,129, 36, 11, 59, 84, 16, 88,  1,124,255,253,255,237,187,255,175,223,255, 63,119,
-237,207,191,127,160,161,188,171, 79, 81,204,252,243,135,225,217,227, 95,143,239,190, 63,114,252, 61,176,145,119,237,198, 63,159,
-168, 63,108, 44,255, 95,191,100, 56,178,139,225,211,167,255,255,255, 49,216, 56, 49,114,112, 48,120,122,250,227, 95,105,184, 97,
65,122, 64,  2, 69, 43,116, 41,185, 65,140,164,123, 23,224, 64, 72,104, 15,221, 18, 51, 90,  2,  6,114,141,140,140,206,157, 59,
-183,121,243,102,100,113, 92, 83,193,192,182,133,128,128,  0,164, 17, 61,111,222, 60, 96, 63,  0, 88, 19, 64,106, 14,160,212,135,
- 15, 31,128, 61,128,111,223,240,221,245,146,154,154,138, 60,116,  3,105,254,227, 31,255, 25,216, 33, 32,180, 78,  0, 37,205,127,
-136,246,209,182, 63,145,  0, 32,128,  6, 75,  5,112,246,236, 89, 92,107, 87,128,226,  4,214,143,178,115,175, 86, 56,196,240,231,
- 44,131, 34,119, 90,171,226,172,  3,192,142,246, 44, 88,101,224, 74,252, 40, 16,242, 74, 80,204, 85,161,152, 57, 28, 88,138, 65,
- 74,127,228, 25, 96, 72,219, 31,194,197,218,  3,128,235, 37,175,100,185,125,251,246,163, 43,147,254,137,254, 99, 98, 97, 96,101,
-  2,229,180,223,255,254,  3, 11,247,207,159,255,255,250,205,240,231, 55,168, 62, 40, 44,  2,117,167,174, 62,125,130,169,247,225,
-173,137,218,218,255, 14, 31,252,203,200,196,240,250,  5, 35,  7, 39,195,193, 29, 12,191,190,  3, 75,  8,  6, 61, 35,214,103,143,
-254,217,219,123,  3,243, 45,158,157,132,192,210,191, 43,155,161,108, 42,249,117,  0, 37, 23,  8,147,167, 23,215,176,  6,125,  0,
-100,229,143,143,143, 15, 36,234, 33,221, 89, 96, 51, 31,171,226,127,255,254,157, 63,127,222,214,214, 22, 46,  2,172,  3, 32,101,
-241,239,223,191,255,254,253, 11,140, 68, 81, 81, 81, 92,147,192,240, 81, 32, 50,218,239,  3, 56,  4,132,214,  9, 32,187,249, 63,
90,244,147, 10,  0,  2,136,180, 10,  0, 88, 16,211, 98, 39, 36,164,177, 12,204, 21, 64,134,139,139, 11, 90,219, 31, 82,140, 18,
-191, 85, 21,190, 10,  8,194, 37,166,237,143, 60,  3, 12,  1, 16, 46,100, 49, 40,126,189,240,210, 31,109, 62,128, 24,189,184,  0,
-176,249,143, 75,175,170,170,234,252, 57,191,157, 45, 88,129,  5,192,239, 95,255,216,217, 64,121,245,243,215,255, 63,127,255,  7,
- 22,253,103,175,252,253,251,239, 63,174,117,156, 64,189,139, 23,254,177,119, 96, 14,140,102,254,242,249,255,231,143, 12, 95, 63,
- 51, 42,170,254,255,251,155,145,133,137,227,195,187,127,207,158,252, 42, 41,244,193,223,246,159,144,207,160, 38,199, 48,185,136,
- 33,183,143,162, 58,128,236, 62,  1,121,122, 41, 95,247, 73, 94,202,  7,150,254, 13, 13, 13,200,141,253,174,174, 46, 32, 23,215,
-238,176, 95,191,126,  1,139,176, 31, 63,126, 48, 51, 51, 67,238, 62, 91,187,118,109,112,112,240,247,239,223,129,130, 63,127,254,
-228,225,225,  1, 86,  3,248,189, 67,222, 90,160,129, 29,  2,130,119,  2, 32,140,209,162,159, 62,  0, 32,128, 72,168,  0, 40, 44,
-253,241,104,  7, 22,250,144, 82, 30, 50,110, 14, 95,114,138,220,240, 71,171, 24, 80,  0, 51, 35,  3, 27, 19,  3, 39, 51,  3, 15,
- 11,195,207,207,171,219, 89, 25, 56, 79,165,133, 40, 50,112, 10,205, 90, 76, 84,195, 31,235,154, 31, 72,  9,142,127, 81, 60,114,
-233,143, 60, 31, 64,140, 94,252,165, 63, 30,189,109,157, 51,138,242, 51, 56, 56,128,173, 69,  6, 93,117,102,104, 88, 93,254,251,
-251,239,255,191,255,152, 75, 74, 74,240, 24,222,212, 50,163,164, 36,  3,216, 99,248,245,251,255,223, 63, 12,192, 46,132,131, 55,
-195,231, 15,140, 55, 46,  2, 11, 24, 38, 63,223, 32,252,165,127, 67, 50,131, 10,248, 72, 18,101,105,  6, 10,251,  1, 35,  1, 96,
-238,249,  2,173,236,  2,  3, 92, 90,128, 21,  0,176,172,  7,109,199,208,215,255,243,231, 15, 43, 43, 43,176, 77, 13,108,196,  0,
- 75,255,111,223,190,  1,155,255,130,130,130,120,150,129,194,  1,124, 64,149,152,193,159,193, 48,  4,  4,239,  4,144, 17,206, 68,
-110, 23, 24,  5,152,  0, 32,128,136,173,  0,104,212,246,199,218,181,199, 28,240, 33,219,106,130,163,255,148,148,254, 12,168, 51,
-189,240, 58,140,  1,188,154,150,160, 94, 92, 51,  1,196,232,237,155, 56,  3, 24, 92, 76, 76, 12, 71,206,130, 70,252, 33,179,190,
-224,161,255, 18,130,122,123,122,102,100,100,130, 55,124, 48,129,180,156, 58,196,240,245,203,191,255,255, 24,252,252,188,221,221,
-221,241,148,254,229, 49, 12,  2, 60, 12,207,222, 48,112,178, 51,252,251,207,192,205,193,208,154,206, 80, 61,115,152,215,  1,184,
-186, 23,196,164, 73,180,210, 63, 35, 35,  3, 82,244,111,222,188, 25, 88, 74, 98,173,  6,128, 21,  0, 19, 19, 19,176, 61,251,249,
-243,231, 51,103,206, 24, 26, 26,  2,171,129,143, 31, 63, 94,188,120, 81, 81, 81, 81, 88, 88, 24, 88,250,  3, 69,  8,118,104, 32,
59,194, 72,234, 16, 12,248, 16, 16,121,109,127,178,117,141,  2, 32,  0,  8, 32,244, 10,  0,215,146,127, 34, 87,191, 81,210,131,
-  6, 42,192, 60,148,141, 96,105, 56, 43,109, 38,104,180,231, 22,  3,  8, 33,192, 71, 48,186, 79,182,155,137, 41,133,225, 62,  2,
-150, 17,144,253,  4,192,106,131,212,171,140,129,122,151,150,112, 67,234,  3, 82,111,232,133,  7, 23,100,214,151,248, 14,199,140,
-233,  8,189, 95, 62,129, 10,  8, 63, 63, 63,194, 97,181,132,250,197, 40,173,245, 14,224,208, 63,  3,234, 52, 47, 48,192,129,101,
+230,149,181, 27,  1,233,138,145,153,133,253,255,191, 63,255,254,253,217,114,228,  9,242,162, 80, 92,122,129, 65,244,242,229, 75,
+  9,  9,  9, 50,236,165, 68,239,104,222,103, 32,101,165, 22, 64,  0, 13,249, 33,160,234,106,196, 21,118,173,173,102,244,211,123,
10,116,169, 94,171, 89, 43,156, 65,170,203,113,237, 83,197, 37, 78,170, 57,195,173,175,250,235, 43,203,219,251,170, 63, 46, 73,
+255,121,124,235,191,226, 19, 94,173,111,124,242,108,220,188,184,212, 31, 57,114,196,198,198,  6, 82,244, 67, 10,113, 72, 35, 22,
94,136,255,131,129,135, 15, 31,162,233, 61,119,238,156,177,177, 49, 39, 39, 39, 11, 11, 11, 80, 35, 92, 59,164,220,255, 11,  3,
+ 63,127,254, 60,123,246,172,131,172,221,224, 15, 61,160,203,223,190,125,123,252,248,113,  1,  1,  1,180,141, 17,132,251,  4,140,
76,236, 28, 66,  2,130,234, 95,191, 60,253,242,249, 49,168, 27,192,248,159,225, 63,190, 17, 33, 96, 40,173, 89,179,230,214,173,
91, 64, 54, 48, 24,139,139,139,137,183, 14,162,247,222,221, 59,192, 48,103, 99,103, 47, 40, 40,164,233, 46,132, 17, 14,  0,  2,
+104, 16, 85,  0,184, 78,154,100,192,123,208, 24,164,224, 70, 46,202,137,  7,148,232, 29, 78,128,194,189,163,116, 40,189, 62, 63,
+188,254,241,208,170,111,223,126, 42,152, 51,113,202, 48,170, 62,186,100,202,112,241,253, 79,158, 11, 92,113,111, 24,165,177,106,
+186,118,237, 26,176,  4,  1, 22,118, 44, 48,  0,169, 12, 32, 13,255, 63,127,254,  0, 75,112, 96,251, 29, 88,250,239,219,183,143,
89,216,  4, 89,239,183,111,223,206,159, 63,111, 97, 97,193,198,198,  6,191, 52, 13,168, 29, 88, 54,253,  1,  3,160,198,239,223,
+191,  3,213,124,249,242,101, 48,199,108, 85, 85, 21,114, 38,250,252,249,179,129,129,  1, 25,122, 23, 47, 59,203,201, 41,  6, 44,
+144, 65, 21,  0, 35,195,127,200,110,  1,220,197,242,179,103,207,128, 33, 19, 21, 21,165,164,164,  4, 57,151, 66, 72, 72,200,196,
+196,  4,171,226,  4,119,148,157,113,151,111,220, 56,192,203, 85,212,223,100,104,164,243,252,201,171, 93,219, 14, 40,232, 24,126,
+250,244,113,180,176, 38, 27,160,141,247, 34, 47,253,  7,  8, 32, 22,172,101,  1,164, 20,192,197,166, 81,233,159,149,133,253,158,
+244,247,239,223, 47, 95,190, 28, 79, 29,  0, 41,193, 73,109,194, 83,168, 23,222,246, 39,163,249,143,118,243, 12, 46,  5, 52, 10,
+109, 72,143,  1, 78, 66,  4,223,189,  3,237,154, 17, 18,218, 51,  8,147,239,175,199,215,216,143, 45,254,249,237, 95,144, 10,179,
+186,232,159,127, 66,255, 89,133,152, 63,191,101,227,252,252, 93,243,226,148,179,106, 25,223,184,228,177,181, 91, 25,175, 95,191,
14, 44,193,157,156,156, 32,229, 56, 16,  0, 11,113,200,213, 55,192, 66, 28,216,126,127,252,248,241,254,253,251,129, 53,  1,218,
+206, 55,160, 50,160,154,139, 23, 47,  2,235, 15, 96,  3,150,157,157, 29,162, 23, 82,  1,  0, 53,  2, 75,183,203,151, 47,255,248,
+241,131,224,166,185,  7, 15, 30,  0,109,  1,150,188, 64, 55,136,139,139,171,170,170, 66,  6,151,136,  1,148,232,  5, 58,181,166,
+166,  6,126, 24, 42,176, 52,  7,214,136, 98, 98, 98,194,194,194, 68,150,254,243,146,146,188, 12, 13,129,108,137,220, 92, 78, 46,
+241, 47,159, 30,125,250,120,247,255,255,191,160,  3,227,254, 17,184,131, 26, 88,220,139,136,136, 44, 90,180, 40, 62, 62,126,211,
+166, 77, 64,238,161, 67,135,126,253,250,197,192, 32,135, 85,253,219,246, 34, 56,155,231,215,111,169, 63, 63, 10, 74,235,251,123,
+ 26,187,123,166, 73, 51,253,157,214,211,231, 20, 17,133, 75,239, 40, 32,169,244,103, 64, 58, 10, 20,  8,  0,  2,  8,123, 15,  0,
+249,  8, 20, 92,108,170,  3,250,159,225, 76,133,  1, 40, 88, 29, 64, 18,128,215,169,243,  3, 23, 97,202, 38,174,143,163,105, 51,
28, 98, 56, 50, 73,240,218,238,  1,  4, 63, 62,188, 81,187,191,245, 21,243, 95, 21,126,  6,121,185,255,204,122,108, 44, 74, 74,
+108, 63,127,252, 60,250,248,231, 71, 22,230,127,172, 63,246, 44,102,242,202,255,199,130, 62, 22,  4,191,252, 82, 80, 80,208,209,
+209, 17, 88,116,  2,139, 81, 96, 67, 30,210,240,  7,150,221,192, 86,234,193,131,  7,153,192,  0,171, 94,160,202,171, 87,175,218,
+216,216,240,241,241,  1,181,  3, 69,128,165, 63,176, 20,251,244,233,211,233,211,167,129,213,  0,208, 52,200, 76,  0, 46,112,233,
+210,165, 99,199,142,221,191,127, 31,168,  5,104,187,132,132,  4,176, 21,108,101,101,197,205, 77,120, 43, 56,217,122,129, 78,130,
+220,252,131, 44,  8, 57, 23, 26,216,138, 34,166, 10, 97, 98,102, 67,230,190,152, 60, 89, 34, 64,166,187,123,226,239,223, 95,193,
+129,195,248, 15, 88,250,255,  7,117,  1,254,227, 30,127, 59,121,242,100, 69, 69,  5, 48,208,130,130,130,100,101,101,129, 21,237,
+182,109,219,204,221,  9,109,250,101,100, 92,114,231,249,218,219, 79, 55,109, 92,200,204,204, 88,148, 27,171, 47, 33, 50,171,160,
+126, 54, 49,122, 71,  1,142,210, 31,185,201,143, 86, 31,  0,  4, 16,  9,171,128,104,125,220,163, 18,110, 64,139, 38, 60,133,122,
25,200, 26,247,167,122, 91, 30,126,153, 37,241,133, 56, 86,149,192,182, 63,145,205,127, 96, 33,  8, 44,254, 48,185,200,130,152,
+  0,174,  6,126,203, 32, 38, 23, 43,120,119,245,220,179,167,159,196,120, 89,148,120,255,179,136,252, 99,177,244,224,214, 95,204,
+105,212,203,206,207,201,246,229,251,183,111,127,229,152,191,189,191,116, 12, 75, 41,198,196,  4,185,236,254,246,237,219,192,214,
58,176, 16, 23,  6,  3, 96,203, 84, 64, 64,224,227,199,143,192, 54, 41,176,120,130,140,242,163,233,133,136,  3,139, 93, 96, 29,
+112,235,214, 45, 46, 46, 46,160, 46, 96,243, 89, 84, 84,148,135,135,  7, 40,  2,172, 66, 32, 67, 67,152,149,  7,114,251,125,247,
+238,221,119,239,222, 85, 84, 84,116,119,119, 55, 51, 51,251,246,237,219,190,125,251,128, 29, 11, 96,245, 67,176,237,191,123,207,
+222,123,207, 63,242,170, 88,168,185, 39, 75,155,249,189,255,201,  4, 20, 33,168, 23, 88,250,  3, 43, 12, 96,229,  1, 44,130,245,
+244,244,224,195, 56, 16,  6,193,210, 31, 88,244,115,243, 72,  9,  9,235, 44, 93,113, 41,105,222,188,109,231,207,  3, 17,176,  7,
+192,  0,154,238,254, 10, 85,195,  8, 68,248,214,  3,  1, 11,122, 96,171, 63, 39, 39,135,151,151, 23, 24,116,107,215,174,  5, 58,
+230,205,155, 55,106,106,106,  4, 83,215,196,243,183,123, 78, 92,153,221, 83,201,194,252,157,233,239,231,174,  9,243, 86, 30, 58,
+251,140,137,133,212, 19, 70, 71,  1,145,  0, 32,128, 88,136, 47,232,  7,243, 84,204,136,173,  6, 32, 67, 55, 36,141,222, 96,118,
47,224,253,  0,130, 61,143,207,159, 63,  3,155,165,192,102,181,169,169, 41, 26,247,212,169, 83, 16, 65,172,  0, 34, 11, 36,129,
+ 45, 83, 96, 51, 22, 88, 52, 64,  4,145,185, 88,  1,223,143,183,219, 30,253,144,126,207,108,200,199, 40,250,154, 65,133,133,159,
+137, 81,248,255,143,151, 95, 95, 50, 94,125,244,239,197,215, 31,192, 50,152,225,223, 45,  6, 35,119, 92, 21,  0, 59, 59, 59,176,
20,150,150,150,118,117,117,  5,150,236,192, 34,242,237,219,183,192, 34,  9, 40,  5, 44,226, 33,199, 31,253,195,208, 11,209, 14,
84,  0, 76,246,192,142,175,138,138, 10, 63, 63,255,151, 47, 95,206,159, 63, 15,172, 21,128,102,254,  4,  3, 60,173, 34, 96,245,
+246,228,201, 19,125,125,125,  7,  7,  7, 25, 25,153,175, 95,191,  2,235, 15, 96, 55,247,248,241,227,  4,  7,115,128,122, 95,190,
+251, 40,164,102,161,100, 27, 46, 32,163,246,243,235,135, 71, 39,183,222,222,187,144,160, 94,200,236,  5,176,115, 35, 46, 46, 14,
44,112,129, 53,  1,164,232,135,140,  5,  1,217, 88,111,200,129, 86,123, 44, 28,  2,130,234,  2, 66,234, 76, 76,172,192,226,126,
+238,252,253, 73,137,142, 16,189,169,169,169, 64,199, 67,244,130,189, 12, 46, 10,176, 77,  3,  0,  3,118,243,230,205, 89, 89, 89,
+146,146,160,  3, 62,247,238,221, 11,172,204, 56,193,192,219,219,251,216,181,239,120,124,189,236,230,227,222,211, 55,230,116,148,
+203,168,203,127,253,242,126,227,246,211,151, 46,223, 20,248,255,143,237,197, 75,239,156,232,163, 87,191,143,150,215,164,  2,180,
+147,126, 48, 59,  4,  0,  1,196,130, 89, 22,192, 15,185,197,197, 30, 84,128,236,130,155, 66,189,100,143,255, 80,222,234, 39, 70,
+ 10, 79, 81, 78,246,170, 33, 96, 78,  6, 22,247,239,223,191,199,202, 37, 18,  0,107, 11, 96,249, 11, 44,244, 21, 20, 20, 48,185,
+152,224,245,155,199,199,158,127,247,230,226, 58,252,248,159,148, 17,187,226,207,179,239,175,101,173,239,186,244,239,193,199, 47,
+191,254, 63,253,252,151,147,133,233,207,199, 23,252,216,218, 49,240, 58,  0, 88, 98, 62,124,248,240,198,141, 27,218,218,218, 64,
+  7,159, 56,113,  2, 50,178,143,107, 16, 31,168, 23,210,  9,128,232,  5,214,  1,143, 31, 63,214,213,213,  5, 22,223,192,250,  3,
40,  2, 20,135,172, 14,194,211,  3,120,244,232, 17,208,124, 99, 99, 99, 96,233, 15, 84, 12,236,130,152,155,155,  3,173,  6,138,
+  3,107, 14,252,161,  4, 84,243,143,137, 77,218,192,  5, 88,250, 51, 49,179,114,242,137,202,153,123, 63, 60,177,  9,191, 94,160,
+ 59, 63,124,248,240,244,233, 83, 57, 57, 57,107,107,107,160,165,144,145,159,248,248,120,136,  2, 96, 29,134,199, 82, 14, 14, 97,
+ 97, 81,253, 95, 63, 63,190,121,123,254,231,207,247,191,127,131,230,183, 33,122, 95,190,120,  1,215, 11,106,253,227,168,245,158,
+ 63,127,190,116,233,210,232,232,104, 96, 88, 49,128,175,163,  1,246,  6, 42, 43, 43,129,181, 17, 76,  9,206,229,137,183, 62,125,
+ 43, 63,120,161,163, 36,221,214,199,229,235,151, 55,171,214, 29,156, 57,119,237,246,162,  4,165, 87, 79, 58, 63,189, 16, 18, 18,
+198,163,119, 20, 16, 57, 22,132, 89, 37,  0,  4, 16, 11,214,161, 24,130,236, 65, 14, 40, 95,163, 73, 12,104, 49,109,161,255, 13,
98,200,101, 55, 90,101, 64,141,195, 32,113,130,155, 55,111,194,230,241,176,112, 73,  2,192, 34,120,247,238,221,144, 75, 60,144,
+185, 88,187,249, 23,223,125,255,248,235,223,197,215,127,158,125,248, 35,126,130, 69,111,213,157,135, 15,174,222, 60,249,235, 15,
+ 11,243,175,127, 12, 63,126,253,127,255,255,159,168,224,127,172,133, 56,124,  1, 40,100, 25,207,203,151, 47,229,229,229,129,245,
22,100,216,  7, 72, 34, 54, 56, 17,  2,240, 77,  3, 16,114,112,222, 28,  7,172,156, 32,183,160, 40, 42, 42, 34, 87,108,103,206,
+156,  1,146,192,224,133, 92,186,135,235,218, 31, 96,104,  1,201,239,223, 94,126,249,252,248,239,223, 31,200,122, 55,129,171,106,
+ 96, 55,  8,164,247, 63,246,177,127, 96, 60, 78,158, 60, 25,216,204,183,177,177,  1,114,143, 30, 61,186, 97,195,134,236,236,108,
+164,210, 31, 39,120,254,237,103,236,182, 19,  5, 97,222, 33,177,193,223,126,124, 90,191,233,192,132,105,203, 22,185,153,  2, 75,
+255,209,178,155,234, 53,  1,114, 29,  0, 16, 64,212,220,  9,140, 60, 18,141,139, 61,156,192, 96, 40,  5, 32, 99,247,196,143,255,
+224,153, 51,192, 31, 71,192,226,195,213,213, 85, 80, 80, 16, 43,151, 36,  0,212,  5,212, 11, 47,238,209,184,104,224,251, 95,190,
+223,140, 12,103,222,252,124,245,247,239,222,123, 63, 86,173,254,177,239,137,232, 29, 54,254, 39, 31,127, 63,254,252,239,235, 31,
+134,111,127,254,179, 11, 75,224, 42,178, 33, 43,253,255,254,253,251,231,207, 31, 97, 97, 97, 30, 30, 30, 96, 29,240,251,247,111,
+136,  8,218,118, 48,100,189,144,149,254, 64, 53,223,191,127,  7,114,101,101,101,129, 45,107, 73, 73, 73, 96,181,  1,108,131,  3,
+107, 62,136,201,120,198, 69,129,205,112, 96, 95,225,236,217,179, 79,158, 60,129, 92,195,121,242,228,201, 47, 95,190,  0,197,129,
+157, 15,252, 65,  4, 84,195,244,239,215,211,243,123, 62, 60,185,245,239,239,239,239,159, 94, 63, 58,185,245,215,215,247,248,245,
+194, 29,243,237,219, 55,248,236, 52,176, 19,112,245,234, 85, 96, 57, 14,185,180,253,227, 71,156,235, 41,129,126,253,243,251, 11,
+ 39,183,  4,  7,167, 16,100, 71, 48,178,222,217,179,103, 67,244,254, 67, 13, 48, 96,  7,110,209,162, 69,192,214, 67, 83, 83,147,
+159,159,159,143,143, 15,164, 43,176,121,243,230,210,210, 82, 96,151, 11,143, 55,129,122, 23, 47, 94, 28,145,149,227,180,230, 96,
73, 92, 80, 94, 89,230,143, 95, 95,238,223,125, 60,115,230,170, 13,190, 86, 14,178, 98,196, 39, 42, 96,101, 51, 90,184,227, 31,
11,130,151,251,200,243,192,  0,  1, 68,253,163, 32, 48,111, 79,197,100, 83,185,189,143,177,144, 31,185,201,143,191,249,143,169,
+247, 20, 80,168,186, 26,147, 77,204, 16, 16,241,122,169,213, 27,128, 47,230, 33,190,249,255,238,157, 11,124,230,128,164, 14,132,
+130,130,130,175,175, 47,176, 25,136,149, 75, 36,  0,170,  7,234,130, 15,248,160,113,177,168, 87, 85, 81,229,102,230,101,100,248,
+253,255,255,245,247,191,150,222,249,185,252,216,179,211,119,223, 61,251,206,240,246,199,223,187, 95,254, 63,255,249, 95, 86, 89,
+  5,107,105,  8, 89,181,  9, 44,172,129,133, 56,176,236,214,209,209,  1, 87,153, 66,102,102,102,144, 66, 28, 82,142, 99, 22,226,
+144,194, 29, 88, 79,  0, 21,  0,171,121,101,101,229, 15, 31, 62, 60,126,252,248,221,187,119, 64,167,  2,123, 21, 64,113,160,  9,
+ 16,101,184, 92,110,106,106, 42, 35, 35,  3, 44, 64,119,236,216,177,  5, 12, 14, 31, 62, 12,108,152, 91, 90, 90,226,153,243,128,
+235, 21, 23,226,127,123,239,194,205,221,243,175,110,157,126,125,235,204,135,199, 55,176, 51,253,195,175, 23, 88, 57,  1,155,219,
+124,124,124, 23, 47, 94,  4,214, 58,200,213,  0,164, 45,191,116,233, 82, 60, 37,242,175,159, 31, 63,126,184,195,202,202, 45, 32,
+164,193,205, 35, 13,100, 64,250,  4, 64,240,236,228,212,253,139,242, 92, 53,190,128, 43,  0,  6,232, 54, 48,112,176,109,221,186,
+149,147,147, 19,104, 44, 48,100, 44, 44, 44,224, 93,129,152,152, 24, 96, 71,  4,191, 55,183,109,219,202,199,199, 99,103,111,110,
96,164, 23,152,149,244,141,241,207,235, 87,239, 50,114,155, 59, 77, 84,140,196, 72,104, 91,  0, 75,255,174,174,174,209, 58,128,
+152,106,  0, 77,  4, 32,128,232,180, 17,108, 64, 26,203,228,141,209,155,181,182, 34,151,221, 64, 46,213,245,194,219,218,137,235,
+227,240, 40,160,245,158, 44,184, 45,200, 59,  3,240,107,  1,150, 62,206,206,206,192, 50, 20,147, 11, 44, 85,241,133, 12, 88, 22,
72, 26, 26, 26,  2,203, 41,184, 32, 50, 23, 43,144, 86,211,210,189,122, 86,254,253,199, 55,127,255,125,250,241,135, 29, 88, 90,
+255,252, 35,199,195,242,254,207,159,167, 95, 65, 43,136,188, 85,197,185, 21,180,190, 96, 27, 15,129,175,248,212,213,213,213,215,
+215,  7, 22, 76,144,133,155, 64,103,  3,139,170,245,235,215, 67, 54,  4,  0, 69, 24, 49,244, 66,118,123,  1,211,173,154,154, 26,
+176,254,120,253,250, 53,100,  9, 41,208, 52,160,200,171, 87,175, 32,122,129, 34,120,234, 75, 96,207,  6,178,148, 19, 88, 34,195,
+151,114,  2, 93, 66,112, 53, 14, 72,175,139, 51, 72,239,221,147,207,206,239,134,234,181,118, 34,168, 23, 88,250, 27, 25, 25, 29,
61,122, 20,168, 87, 90, 90, 26,104, 14, 55, 55,119, 85, 85,213,164, 73,147,128, 93, 31,160,237,125,125,125,184,238,136,  7, 86,
+121, 31,223,223,  1, 22,235,252, 66,106, 18, 82,150,223,191,191,249,242,233, 97,119,207,164,198,134, 42, 41, 25,134,229,249, 92,
+140, 97,239, 29,227, 24, 32, 53, 38,124, 35,240,173, 91,183,128,105,192,198,198,  6,104, 62,176,202,  1,202, 77,153, 50, 37, 60,
60, 28, 82,221,226,  7, 55,111,222, 10,  9,246,143,136,240,211,209, 85,127,251,249,227,151,143,111,210,242,154,155,  3,157,157,
+255,125, 35,169,244,159, 48, 97,  2, 48, 82,128,181, 78,110,110,110, 64, 64,192,104, 65,143, 60,224,131,181,220,135,  3,128,  0,
+ 98,161, 79, 65, 79,112,  5, 81, 72, 72,  8,121, 59,129,113,  1,228,141, 90,228,213,  1,164,150,254,196,235,197,191,234,134,214,
+ 71, 59,192,199,139,224,182, 32,239,  9, 32,  8,128,229, 32,242,106, 31, 56, 23,207, 18, 32,184, 44,154, 26,252, 90, 32, 64, 74,
+ 81,249,135,153,237,159, 83,219, 30,124,100,224, 97,100,149,231, 97,122,250,151,145,153,157,229,208,171,191, 63,254, 49,136,178,
+ 51, 43,155,216,125, 17, 84,192, 86,156,129,154,240,192, 22, 55,176, 29, 10, 44, 19, 63,125,250,  4, 44,187, 33, 21,  0,176,253,
14,172,180,128,101,214,230,205,155, 33,195, 65,104,217,  0, 40,  2,217, 54,172,169,169,  9, 25,189,  1,234,133,164,109, 72,191,
+  1, 40, 14,236, 13,124,249,242,  5,127,194,214,211,211,  3,150,200,228,109,230, 34, 79, 47,208,217, 82, 82, 82,238,238,238,192,
+ 90,231,198,141, 27,143, 30, 61,  2,214,118,  2,  2,  2,192,170,104,206,156, 57,184,246,226, 34,141,  2,125,251,240,254,230,143,
+ 31,239,  4,  4,213,120,120,101,121,249,228,190,126,126,218,209, 57, 55, 50,194,  5, 88,  1,192,  2,246, 63,114, 13,224,229,229,
+181,109,219, 54, 96,135,  3, 24, 32,126,126,126, 11, 23, 46,  4,214,235, 26, 26, 26,196,248,209,219,219,107,253,250,205,159, 62,
+188,125,242,236,121,126,118, 92,105, 69, 91,160,147,149,205,207, 79, 12,172,196,150, 75,192,210,191,161,161,  1,210, 13,  5,118,
+212,128,253,128,178,178,178,209, 58,  0,127,125,128, 12,  0,  2,136,154, 21,  0,133, 43,136,200, 40,229, 33,224,205,155,185,213,
+167, 54, 98, 29,240, 33, 56,253, 11,212,123,170,122, 35, 90,131, 29,121, 24,  7, 79, 57,254,102,238,155, 83, 27,171,201,211, 59,
80, 96, 40,158, 26,164, 96,229,120,233,231,159,215,251,246,178,254,249,126,233,243,255, 61,159,255,176, 49, 50, 10,255,255,239,
+ 40, 41, 96,239,230, 44,100,236,128,163, 61, 11,234,  1,  0,155,192,192,242,  8,216,132,  7, 22,244,192, 98, 20, 82,136, 67, 26,
+239,162,162,162,214,214,214, 59,119,238,196, 28,198,  1,138,  0,171, 10, 96,115, 27,168, 30,216,170,133,116, 35, 24, 96,243, 10,
64, 46, 80,  1,176, 87,113,226,196,  9,130,211,224, 10, 96, 64,166,199,201,210, 11,172,  3,128, 37, 62,208,121,192, 30,  0,176,
+211,  3,236,187,  0,  5,159, 62,125,234,233,233,  9,108,254, 19,212,254,247,239,207,175, 95,158,254,250,245,145,243,211,  3, 62,
+  1,101, 46, 30, 41, 32,218,181,247, 37,163,179, 56,172, 49,  7, 38, 97,234,173,172,172,128,  1, 11, 44,253,129, 53,129,176,176,
+112, 92, 92,220,129,  3,  7,136,116,170,165,165, 21, 59, 59, 59,223,181,179,217,217,201, 50,106,170, 93,  5,201, 11,166, 45,156,
+194,252,131,248,210,191,188,188, 28,232,217,103,207,158,113,114,114,  2, 35,  5,216,221,105,109,109,173,174,174, 30,173,  3,224,
99, 62,192, 66, 31,207, 81, 16,  0,  1, 68,229, 30,192,128,172, 32,194, 90,168, 17,217,252,199,212,139,220,126,135,140,231,224,
+ 42,199, 41,209,139,167, 44, 38,181,140, 30,246, 39,193,  1, 75, 52,  3,103,119, 97, 41,153,215,215,175, 48, 63,188,167,242,251,
+ 57,175,176,184,149,174,134,182,177,206,119,  9,156,251,131,128, 37, 53,176,237, 15,108,230, 67,  6,235,129, 93,  1, 32,  3,114,
+156,  3,124,116, 72, 86, 86, 22, 88,  7, 96, 22, 88,192,210,196,192,192,  0, 88,  7,  0,203,119,136, 74,248,162, 26,248, 73,112,
+ 64,163, 12, 13, 13,207,158, 61, 59, 56,  3, 13,232,120, 49, 48, 80, 87, 87,  7,250, 23, 88,141,  1,189, 15, 12,141,106,162,230,
+165,254,255,254,245,249,247,175, 47,223,191,191,102,103, 23,100,101,227,101, 98, 98, 89,178,116,107, 76,180, 55,180, 22, 68, 85,
+ 13,233, 88,244,246,246,  2, 43, 90, 32, 67, 77, 77,141,248,107,165,141,140,140,153, 77, 77,147, 26, 32,122,255,171,169,169,171,
+  5,  4,224, 31, 21, 68,  6,157,157,157,163,165, 60, 49,117,  0,214,210, 31,  8,  0,  2,104,216, 94,  8, 67,246,210, 79,228, 34,
+155,212, 38, 60, 37,122, 71,  1,126, 32,171,169, 13, 68, 64,  6,252,236, 77,252,251,130, 66, 67, 67,  5,  5,  5, 33, 75,125,128,
37, 32,100, 72,  7,210,  3,128, 76,252, 66, 14,  4, 85, 86, 86,  6, 10, 30,185,242, 21, 89,239,132,  9, 19, 86,175, 94, 13, 81,
+  0, 58, 41,  8,199,113,208,192,150, 47,193, 65,149, 65, 82,131,242,128,  1,137,205,  5, 72, 53,240, 25, 88,250,  3,205,  0,  6,
27, 68, 47,174, 49, 47,200,145,159,144,160, 38,201,121,192, 96, 46, 44, 44, 36, 67,239,104, 51,159,248, 58,  0,151, 20, 64,  0,
+141, 94, 10, 63, 10, 70,193, 40,192, 40, 23, 24, 24,208, 15,123,248, 63,122, 35,216, 48,  4,  0,  1, 52,122, 37,228, 40, 24,  5,
+163,  0,163,241,207, 48,122,  3,228,136,  0,  0,  1, 52,122, 37,228, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40,
+ 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163,151,194,143,234, 29,213, 75,
88,111,122,122,186,127, 64,250,198, 13, 88,142,220, 24, 13,171,  1,215,219, 10, 91,113,135,107,145,235,232,165,240,184,  0, 64,
 0,177,160,165,114, 76, 21, 68,174, 27, 27, 84,122,137,212, 62, 80,110, 30, 60,128,236, 51, 39,168,123, 16, 41, 30,  0,185,114,
+224,224,193,131, 64,182,189,189, 61,254,203,  3,104, 23, 74,192,210,223,203,211,  8,114,140,222,176,223,120, 49,180,  0,176,244,
+247,245, 85,134,179,171,171,171, 71,195,132,120,  0, 16, 64,232,171,128,254,175, 66, 57,131,137, 49,140,132,211,222,209, 50,  6,
+ 73, 39,128, 82,162, 23,205,205, 36, 57,123,160,220, 12,  1,239, 94,223,121,253,250,249,203, 55, 95, 62,126,252,205,207,207, 42,
+ 46,194, 35, 42, 42, 41, 36, 74,212,241,106,231,142, 79,187,119,247,214,221,  7, 63, 30, 63,255, 47, 43,201,168,172,192,161,164,
+172,102,100,153, 69,255,106,  3,114,182, 40,141,138,197,203,151, 47, 27, 24,236,152, 49,227,219,129,  3, 12,245,245,187, 30, 63,
+126, 44, 33, 33,193,193,193, 33, 42, 42,170,164,164, 68, 70,101,112,248,240, 97,113,113,113,121,121,121,130, 71,114, 34,  3, 96,
+233,159,150,150,198,192, 48,107,227,232,129, 99,131, 15,252,250, 85,190,115,103,154,187,251, 44, 95,223, 78, 72,111, 96,180, 26,
64,  6,120, 54,130,  1,  4,208, 48, 89,  6, 10, 47,241, 25, 25, 25,254,173, 20, 28,252, 14,254,253,235,235,227, 71,151,127,253,
+250,173,162, 40,224, 96, 35, 39,192,207,254,254,195,143,167,207,191,220,190,247,252,195,199, 55,178,114,186,172,108, 56,175,126,
+125,255,230,214,177,131,179,153, 25, 62,133,123, 51, 88, 27, 51, 40,203, 51,220,121,240,255,200,153,239,219,246, 95,220,186,182,
+212,202, 62, 85, 80, 68,141, 72,103,144,221,246, 71,214,  8, 57, 72,142, 70,117,192,187,119,239,242,242,190,137,138, 50,132,134,
50,116,116,128, 46,228,250,243,231, 15,176,  2, 16, 19, 19,  3, 86,  0,192, 62,129,148,148, 20, 65, 67, 94,188,120,241,234,213,
+171,151, 47, 95,186,186,186, 46, 89,178,132,  1,188,215, 55, 42, 42, 10,255,  1,118,200, 96,219,246,115,192,210, 31, 76,142,130,
+193,213,252,  7,146,193,193,107,119,238,  4,145,105,105,119, 33,189,129,209,174,  0,102,209, 15, 23, 65,174,  3,  0,  2,104,152,
84,  0,192, 78,  0,164, 14, 24, 18,165, 63, 16, 60,121,116, 89, 92,132,195,212, 80, 17,124,191, 18,227,191,127,255,249,120,216,
+185,149,217, 20,100,249,175,221,124,  3,148, 85, 84,177,192,165, 23, 88,250,219, 26,127, 42, 72,100, 96,102,  6, 85,120,191,255,
+ 48,112,115, 49,104,170, 48, 88, 24, 48,108,217,255,  9, 40,235, 29,220, 77,211, 33, 32,172,151, 74,210,232,202,  7, 33, 33,161,
45, 91, 56,101,101,191,  3,123,  0,239,223,179,168,128,193,151, 47, 95,238,221,187,119,224,192,129, 79,159, 62,  1,203,113,252,
+253,128,235,215,175,159, 59,119,142,149,149, 21, 89,240,251,247,239,115,231,206,  5, 26, 18, 17, 17, 65,140, 51, 54,110,  0,122,
57, 29, 76,146,  0,224,247, 36, 67,142,189, 67,227,226,137, 17,  6,164, 19,  3,241,112,113,182,135,254,255, 23,121,251, 86,233,
+193,  3,225,167, 79,159,136,137, 61, 82, 82,250, 40, 38,246,159,232, 19,121,129,238, 36,230,156, 62, 60, 90,240,115,169,165, 23,
+ 62,248,147,150,182, 19,200,128,144, 16, 41, 32, 99,180, 14,192,218,234,135, 28, 13,  4, 23,  1,  8,160, 97,181, 10,136,113,136,
+184,243,221,235, 59,191,127,255, 54, 51,146,132,139, 48, 49, 49,178,177, 49,115,114,176,176,178, 50, 41, 43, 10,  2,123,  6, 64,
+ 53,184, 70,126,128,109,255,194, 36,134, 31, 63, 25,238, 63,102,120,255,145,225,195, 39,134,101,155, 24,114, 27, 24,170,122, 24,
+172,140, 24,152,254,127,  2,170, 25, 54,113,170,171,171,187,113,163,166,152, 24, 67, 84, 20,139,132,132, 41,176,188,246,245,245,
+245,241,241,113,119,119, 23, 23, 23,  7,150,236, 43, 87,174,188,123,247, 46,174,139, 18, 47, 93,186,116,225,194,  5,180,210, 31,
+ 14,246,239,223,127,245,234, 85, 60,101,241,161, 67,135,224,165, 45,164,244,135,176,129,226,196, 84,120,167, 96,  0, 43,151,200,
+250, 21, 63, 23,107,233,175,116,227,134,237,158, 61,178,183,238,176,125,250, 36,121,235,134,206,150,205,162, 23, 47, 50, 16,125,
+167, 55,208,133,192, 98, 23,216,103, 34, 62,154, 32, 90,240,112,241,235, 69, 46,238,241,112,113,  1, 72,185, 15, 33,127,249,170,
48,140,  2,164,162, 31,255, 89, 15,  0,  1, 52, 88,122,  0, 84,105, 63,254,167,134,189,228, 13,101,192,111,218, 34,102,140,229,
+245,155,231,234,202, 66,144,114, 31, 77,138,131,157,229,195,199,159,106,202, 66,183,238, 61,199, 58, 25,112,239,238,173,112,208,
+145, 92, 12, 59, 14, 49, 76, 93,204,224,102,203,224,229,192,112,227, 14,195,249,171,255, 57, 57, 24, 13,181, 25,220,237, 25,214,
+237,188,101,100, 73,171, 33, 32,172, 65, 68,187, 27,223,128,173,123, 96,123, 31,200,  0,182,244,173,173,173,225,130,130,130,130,
+154,154, 44,126,126,192, 62,208,153, 91,183,190, 49, 48,  0,  3,133, 29,115,228,231,242,229,203,184, 74,127,120, 29,128,235,142,
+148,232,232,232,165, 96,  0,100,192,253, 11, 44,250,129, 34, 16, 89,250,228,  5,252, 92, 76,192,247,242,165,226,201,147,191,152,
+152, 88, 25, 25,254,252,251,255,239,247,223,127,127,254,136, 30, 62,244, 81, 68,228,167, 12,177, 43, 73,128,197,238,149, 43, 87,
+ 12, 13, 13, 13, 12, 12,136,215,130,220,185, 65,227, 18,217,141, 32,181,244,199, 44,238,119, 34,245,  3, 70,  1, 65,  0, 16, 64,
+232, 21,  0,230,244, 41,145,133, 26,174,194,148, 24,189,180, 24, 59, 38,114,153, 10,214,  9,100, 34,245,162, 41, 35,126, 46,250,
+229,235, 47,142,214,114,192,  6,217,225,227,143,191,125,255, 13, 20, 49,210,151, 16, 21,230,124,252,244,243,157,251,239, 89, 88,
+152, 84,149,  4,143,158,252,170,174,137, 69,239,221,  7, 63,172,141, 25,126,254,102,216,126,144, 97,255,241,255, 82,226,140, 74,
+114, 12,206, 54, 12, 26,202,140, 44,204,160,115,212, 45, 12, 24,186,103,254,192, 63,224, 67,144,129,167,213,  0, 31,241, 71, 27,
+151,160,221,218,152, 71,143, 30, 49,128,207,199, 71, 22,124,240,224,129,150,214,171,170, 42, 80,192,183,181,221,122,240, 64,155,
+129, 13,253,100, 80,160, 26,252,165, 63, 68, 13, 46, 41, 59, 48,128,148,248,144, 66, 31, 94, 49,192, 47, 52,166, 58,160,176,249,
15,  4,  2,215,111,252,250,253,155,137,137,233, 63, 51, 51,232, 82,  4,200,129,118,127,255,177, 95,186, 68,124,  5,192,  0,190,
87,242,232,209,163,192,174,170,180,180, 52, 49, 19, 45, 20,214,  1,228,181,253,129,197,189,251, 44,247,224,181, 12,105, 59, 65,
+ 12, 32, 23, 82, 43,176,109,190, 51, 90,184,163,  1,172,247,194,  3,  4, 16,225, 85, 64,196,175, 11,194,108, 21, 18,217, 78,196,
+ 90, 79, 16, 95,241, 96,117, 57,158,203,211,113, 21,211,240,  9,100, 34,245, 98, 85,  6, 49, 13,216,176,255,183, 10,231,108,  4,
+120,205, 15,168,185,250,248,217,167,239,223, 65,215, 90,169, 40,  9,  2, 43,128,139, 87, 95,221,188,253,142,131,131, 89, 89, 81,
+224,253, 71,236,  7,205, 63,126,254, 95, 89, 30,100,190,135, 29,131,129, 22, 35, 59, 27,195,159, 63,160,126,128,  0, 47,195,189,
+ 71, 12,238,118, 12,242, 50, 32, 53, 52, 77, 73,240,114,159,200, 33,233,129,  2, 88,  7, 49, 72,117, 42,164,172,135, 87,  0, 52,
45,253,225,  0,215,213,237,120,174,116,135,  3,214,187,119,126,254,254,197,200,204,242,247,255,127, 96, 58,249,243,247,223,111,
+ 96, 71,224,239, 95,198,219, 55, 25, 24,188, 72,117,  9,176, 31,  0,236, 72,113,115,115,243,243,243, 19, 95,  7, 16, 57,248, 67,
97,233, 95, 93, 93,221,218,218, 10, 44,253,225,149,  1,144,  4, 86,  3,192,210,127,243,230,187,144,  9,  0,200, 44,177,158, 93,
+252,104,233,143, 89,250,  3,  1, 64,  0, 13,150, 33, 32,172,133, 41,145,  5, 49, 73,107, 85,177,155, 64,165,181, 67, 64,151, 16,
+ 99, 20, 63, 63,235,251, 15, 63, 68,132,184, 66,253, 52,128,249,147,157,157,153, 25,216, 94,251,255,223,199, 77,217,219, 85, 25,
+104,194,219,247,223,129,106,176,234,149,149,100,188,251,240,191,134, 50,131,147, 37,104,200,235,198, 29,  6, 61, 13,  6, 65, 62,
 6, 79,  7,134,127,255, 24,128,157,128, 91,247, 65,106,240,  7, 50, 65,  6,241, 27, 73, 40, 25, 55, 35,  6,  0,219,175,192, 22,
+232,221,187,119,129, 45,113, 91, 91, 91, 30, 30, 30,200,137,193, 10, 10, 10,167, 78,137, 53, 54, 62,101,100,100,124,245, 74, 77,
+ 77, 77,225,218, 51, 44,122,209, 68, 86,173, 90,133,210,104,248,255, 63, 60, 60,156,248, 58,128,110,165, 63, 25,117,  3, 28,188,
+147,145,102,187,113,243, 63, 43,  3,219, 63,208,188,239,239,191,127,126,253,255,251,237,207,159,239, 42, 26,100, 56, 70, 71, 71,
+  7, 24,254, 68,150,254, 12,224,107, 62,129, 77,126,120,241,141,198,197,  5, 32,189,  4,184, 50, 52, 46, 65,  0,108,254, 67,138,
+126, 32,137,220,246,135,204, 18,  3, 43,131,209,210, 31,107,233, 15,  4,  0,  1, 52, 28, 86,  1, 17,236,121, 16,  4,255,255, 51,
+ 48,133,191,167,188, 14,128, 44, 70, 98, 10,123,143,167,249, 15,  4,226, 34, 60,143,159,126,  6, 86,  0,125,211, 79,219, 89,201,
+ 26,233,137, 51,178, 50, 66,150,  3, 65, 86,106,  0,101,129,106,176,234, 85, 86,224, 56,122,246, 59,176,  2, 16, 49,102,168,200,
+100,200, 79, 96,224,231,  5,141,252, 52, 78, 98,104,200,  7, 41, 56,122, 22,164,134,164,129, 50,202, 23,131,210,110, 25,232,155,
55,111, 32,247, 32,110,221,186,245,209,163, 71, 30, 30, 30,138,138,138,159, 63,127,126,255,254,253,245,235,127, 14, 28,  0, 22,
22, 38,142,142,142, 50, 50, 50,215,158,189, 70,211, 11,108,183,226,191,177,235,207,159, 63,131, 45, 49,195, 75,127, 60,213,  0,
+254, 58,224,147,150, 54,251,165, 75,255,254,255,231,102, 98, 97,102,102,252,  3, 44,253,127,255,254,252,235,215,111,125,125,146,
+ 92,194,197,197, 69,210, 28,  0,188,184,199,197,165, 69, 29,  0,108,230,167,129,219,248,200,165, 63,188,249, 63, 10,240,151,254,
+ 64,  0, 16, 64,163,199, 65,195, 90,139, 84, 90, 63, 10,173,  3,240, 86, 39,162,162,146,119,238, 63,211,215, 22,171,200,183, 88,
+176,252, 50, 39,  7,139,129,142, 24,252, 58,229,127,255,254,223,185,255, 94, 92, 12,251,168,171,146,178,218,214,125, 23, 19,130,
+ 25,254,223, 99,176,  8, 98, 80,146,101, 88,186, 17, 38,151,207,240,247, 47,195,214,125, 32, 53,180, 11, 40,172,253, 51,218, 45,
+  3,189,113,227,134,166,230,253,249,243,129,204,191, 77, 77,151,214,173,251,166,174,174, 14,172,  0,238,221,187,247,242,229, 75,
+ 35, 35, 35, 96, 19, 30,215, 50, 80, 37, 37,165,211,167, 79,227,185, 99,132,200,235,121,225, 67, 64, 64,146,214, 61,  0, 96,201,
14, 41,250,113, 13,  1,225,146, 66,212,106, 50, 50,111,109,237,254,238, 63,240,139,141,149,231, 63,203,143,127,255, 62,254,250,
+245,217,201,249,191,156, 28,209, 29, 98, 70, 96,249, 75,252,208, 63, 92, 11,188,184, 71,227,146, 84,  7,224, 90, 59,139,  7,160,
+149,254,240,145,159,209,217, 96,252,165, 63, 16,  0,  4,208,104,  5, 64, 77,  0,157,  0, 32, 52, 10, 36, 36,170,242,225,227,155,
+147,103,159,153, 27, 75,121,186, 40,237,216,123,111,235, 46, 80,170,173, 41,182,  2,150,254, 64,113,118,118, 54, 92,251,129,141,
+ 44,179,182,174, 45,237,159,  7, 90,  9, 58,163,  5,180,250,211,197, 26,180, 18,180,191, 22, 84,250,247,207, 99,248,203,192, 71,
+252,126, 96, 82,219,236,184,122, 12,180, 91,  5,244,245,235, 87, 67,195, 31,144,146,196,196,228,255,142, 29,247,110,221,186,  5,
+217,  8,230,224,224, 96,111,111,143,103, 19,128,178,178,242,229,203,151,113,117,  2,128,205,127, 99, 99, 99, 98,220,  0, 89, 12,
10, 89, 20,  4,100, 19, 95,  7,160,109, 52, 35,114,223, 25,188, 14,192, 37, 75, 64, 63, 19,211, 47,115,243, 55, 82, 82, 95, 46,
+ 93,226,121,244,232,135,162,226, 87,109,237,191,178,178, 12, 68, 95,182, 69, 94,217,141,172,  5,141,139,223,227,200,178,104,246,
+146,234, 12,  8, 64, 46,247, 33,189,  1, 82,135, 52,135, 25,192,179,166,  3, 32,128, 70, 43,  0, 44,171,119,232, 96,148,172,156,
+238,227, 71,151,215,110,185,169,162, 40,232,237,166, 44, 40,192,241,254,195,143,243,151, 95,  2,219,254,192,210, 31, 40,139, 71,
+175,149,125,234,225,131,179,143,157,253,228,237,196, 48,187, 29,180, 19,248,238, 67,134,185,171, 64,109,127, 96,233, 15,148,165,
+188, 64, 39,163,244,167,209, 28,128,132,132,196,131,  7, 34,103,206,128,134,119,110,221,226, 51, 53,213, 18, 22, 22,134,239,  4,
+ 38,120, 20,132,133,133,197,193,131,  7, 25, 49,246, 64,  1, 75,127, 21, 21, 21, 96, 13, 65, 76,233,143, 60,250, 15,233, 10, 16,
+ 89,  7,144, 93,156,225, 42,229,  9,151,254,176, 58,224,159,188,252, 55, 32, 34, 43,204,201, 40,118,241,251, 20,191,129,148,232,
+197, 95,250,131, 22,137,142,248,  9,  0,  6,108,251,129,225, 85,  2, 64,  0, 17, 94,  6, 74,252, 20, 43, 49,203, 64,137,215, 75,
+188,118, 74,236,197,234, 59,242,236, 37,105, 46,154,149,141, 91, 73,197,226,221,235, 59,247, 30, 60, 63,126,230,  9,252, 44, 32,
+113, 49, 41,130,103,  1,  9,138,168,121,  7,119,159, 59, 62,109,229,214, 91,109, 83,233,122, 22, 16,157, 75,127, 32, 80, 87, 87,
+191,120,209, 43, 49,241, 12,184,  7, 96, 18, 22,166,207,197,197, 69, 82,253, 17, 30, 30,126,243,230,205, 51,103,206, 48,131,230,
+218,153,128, 69, 63, 27, 27, 27,176,237, 15, 52,153,212,210,159,140, 58, 96, 20,208, 26,128,214,  2,165,181,186,207,114,199,186,
+ 39, 96,116, 50,  0, 63,  0,  8, 32, 22, 74,  6,  4,104,170,151, 72,  3,  7,149,155, 73,  5,192,178, 30,136,212,201,210, 11, 44,
+235,137,220,237, 69, 45, 95,208,109, 15,  7, 50,  0, 22,247,150, 96, 64, 97, 45, 66, 76,113,143,  9, 48,203,122, 32, 27,178, 45,
+ 96,180,  2, 24, 84,117,  0,195, 67, 44,226, 38,213, 38, 35, 60,100,  8, 94,249, 14, 16, 64,163,151,194,143,130, 81, 48, 10, 70,
+193,  8,  5,  0,  1, 52,122, 35,216, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0,
16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163, 21,192, 40, 24,  5,163, 96, 20,140, 80,  0, 16, 64,163,151,
+194, 83, 71, 47,158, 99,209,104,170,247, 30, 24,172, 94,189,154, 12,189,247,239,223,191,123,247, 46,121,122, 71,211,198,168,222,
81,189, 67, 69, 47, 30,  0, 16, 64, 56, 55,130, 17,121, 10, 38,213,245, 82, 29,164,133,126,100, 96, 99,155,181,148, 19,143, 26,
+ 96, 25,138,103,239, 37,126, 55,195,245,246,246,246, 22, 23, 23,147,116, 91, 58, 92,239,149,169,124, 58,217,159,200,184,105, 93,
+ 79,120,202,255, 55,127,129,140, 89,179,102,129, 47,173, 37,  1,152,169,175,248,243,233, 19, 39, 39, 39,176, 14,  8, 13, 13,165,
93, 20, 16,185,175,  2,171,127,  7, 74, 47, 46,211,232,147,128, 25, 25, 25,153,192,  0,178,133,237,215,175, 95,204,224,179,157,
+255,255,255,207, 48, 10, 70,  1,245,  0, 64,  0,177,224, 74,235, 88,147, 26, 35,161, 91,229, 32,153,132, 60,189,196,180,136,201,
 6,187,119,239,102,224,208,196, 83, 10,151,151,151,139,137,137,161, 73,  1, 11,116,252,198, 66,244, 66,138,254, 19, 39, 78, 64,
+170,  1,146,244,254,187, 86,199,164,213,180,104, 31,232,184,  2, 32, 27, 34,  5, 20, 33,232, 35,190, 79, 69,255,254, 51,172,216,
 1,210,232,105,207,170,173,114, 21, 88,  7,128, 42, 60, 34,170,  1, 97,185, 83,175,111,191, 56,124, 77,254,235, 79,110, 79,247,
+ 15,210, 18,140,103,206, 28,251,244,233,135,147,147, 19,141,210, 25, 77, 27, 13,120,244, 18, 44, 49,137, 79,150,164,  2, 96,252,
+118,117,117,149,150,150, 18,179,223, 24, 25,  0,203,122, 22, 48,128,236, 92,  3, 38, 18,160, 33,127,255,254,253,  3,  6, 64,  6,
+141, 28,188,117,235, 86,252,129,227,229, 69,248, 52,233,109,219,182,145,164,126, 20,208, 13, 64,246,  3,163,173,251,  7,  8, 32,
22,146, 74,127, 99, 99,227,179,103,207, 18,204,132, 88, 51, 21, 30,189,104,230,  0,203, 98,200,176,  6,217,  7, 76,166,249,206,
+ 98,224, 84,155,181,202,  1,212, 52, 94,205, 15, 42,253,  9,149,224,152,103,199,  3, 75,112,252,167,178,192,245,  2,217,192, 22,
+180,  5, 24,144,164, 23, 82,226, 67,200, 14,216,110,109, 96,233, 95, 22,204,209,181,246,  7, 30, 15,242,127, 47,214, 81, 99,254,
+250,253,127, 81, 44,199,137,171,127,190,127,253,255,237, 23,131,163,193,213,171,183,254, 18,236, 10,220,123,220,127,238, 52, 55,
47, 31,163,132,164,184,168,184,202,195,187,191, 20,180,126,179,114,188,218,179,254,205,250,245,235,  3,  3,  3, 71,179, 10, 85,
+  0, 48,126,125,125,125,129,117,  0, 90, 26, 54, 50, 50,106,108,108,  4, 74, 97,111,145,177,176,176,193,192,227,199,143, 85, 85,
85,129,213,  0, 47, 47,239,157, 59,119,120,120,120, 78,159, 62,125,252,248,241,236,236,108,156, 41, 31, 28,245,240,252, 11,207,
+137, 16, 17, 32, 23,210, 74,192, 10, 54,109,218,132,169,  5, 46,  2,228, 18, 83,160,111,220,184,145, 36,245, 84,  1, 47, 94,188,
+144,144,144, 24, 77,114,120,202,125, 92,  0, 32,128, 88, 72, 42,253,241,219,132,231,160, 18,252, 71,156,163,149,254, 29, 29, 29,
21, 21, 21,112, 17,226,235,128, 52,227, 89, 12,194,106,179,118, 57,192, 91,253,174,174,174, 64,  6,132,196, 28, 23, 67, 46,193,
+177,150,254,152,125,  2, 76, 79,193, 91,250,192, 26, 11, 57, 40,136,209,139,181,165, 15, 44,253,241,123, 83,228,123,145,170, 60,
+ 51, 39, 59,163,188, 20,243,155,247,255,126,255, 97,126,251,225,255,199, 47,255,239, 60,249,199,192,196, 32,194,117,  9,232, 47,
37, 37, 37,172,122,255,253, 95,173,169,172,116,252,197, 75, 69, 57, 81, 29, 61, 37,102,118, 33,121,197,247,239,191,255,120,245,
+226,239,147,151, 63,184, 88,128, 90,245,113,233,165,221,136, 16,241, 81, 76,158, 94,204, 22,  9,173,199, 82,128,225,  8,180, 84,
75, 75,107,243,230,205,200,209,  1,204, 68,120, 74,127, 32, 96,101,101,229,224,224,120,243,230,141,154,154,154,161,161, 33,176,
+ 62,152, 52,105, 18,176,213,175,171,171,187,110,221, 58, 96,  5,112,233,210, 37, 96,149,128,171, 31,224,239,239, 15,241, 47,174,
+ 92,140,167, 80,  6,150,221,144,144,193,218,128,  3,138,191,124,249,146,152, 10,128, 36,245,144,226,123,255,254,253, 88,165, 28,
29, 29,137, 41,217,129,218,165,164,164,212,213,213, 71,171,  1, 82,  1, 64,  0,177, 96,230, 46, 92,237,119,250, 56,  8,152, 91,
+128,165, 63,145, 21,  6,206,209, 30,134, 52, 32,185,122,150, 25,  3,219,119, 60,163,255,104, 37, 56, 90,101,134,191,  4,135,  0,
+120,229,113,226,196,  9,228,230, 63, 49,122,151,149,242, 96,230,210,232,158,175,248,117,253,251,247,143,157,139,145,137,137,129,
+139,147,225,195,167,127, 63,255,255,231,230,100,252,241,143,225,251,207,255, 50,162, 76,255,254, 48,220,126,252,119,207,158, 61,
+ 88, 59,  1,159, 62,158, 16, 16,224,102, 99,251,159,154, 96,254,247,239,255, 23,175,126, 61,122,250,129,129,245, 49,167,224,207,
+231,175, 30, 48,177,125,188,118,237,195,211,151,123, 72,157, 75,160,112, 68,  8,249,102, 49, 98,  0,242,137,123,152,247,119,226,
+  2,239,222,185,192,217, 66, 66,123,112, 21,145,  4,235, 27,100, 17, 60,117, 15, 48,105,249,248,248, 64,202,253,171, 87,175, 66,
+ 24,144,182, 63, 80, 28,143,141,236,236,236, 95,191,126,213,212,212,  4,150,125,192,132,148,156,156, 12, 20,252,253,251,247,130,
+  5, 11,128, 29,232,115,231,206,173, 92,185,242,251,247,239,152,119,221, 64,128,183,183, 55,217,145, 50,119,238, 92,252,149, 40,
+ 49, 45,122,184, 33, 68,170,103,  0,159,215,  4, 44,190,159, 61, 67,191,208,  7, 40, 72,124,129,254, 12, 12, 70,171,  1, 76,  0,
31,243,193,218, 21,  0,  8, 32, 22, 98, 90,241,148, 20,199,164,  2,228,118, 52, 81,173,254, 89,233, 12,146, 12,179,124, 65, 89,
+113,214,217, 52,248,104, 15,184,213,255, 17,185, 31,128,191,  4,127,245,234, 21,188,212, 38,178,  4,199, 15, 32,245, 10,176,188,
+192,117,216,  6,158,  2,  8, 50,254,131,169, 23,168,229,205,181, 34, 73,240,224, 15, 68,228,251,223,255, 63,126, 49,252,  6,115,
+127,255,249,255,159,  9,196,184,124,233, 44,176, 30,101, 96, 96, 67, 51,246,227,199,171,172,236,130, 34, 66,  2, 31,222,125,251,
+240,241,195,137, 51, 47,158,190,252,207,198,253, 77, 90,229,203,247,111,111, 84,245,126, 43,104,254, 92, 57,251,236,157, 59,119,
+ 24, 24, 56, 70,115, 14,133,205,127, 32,  0, 54,255,129,197,253,150, 45, 91,180,181,181, 67, 67, 67,  9,150,254,144, 10,224,245,
+235,215, 92, 92, 92,118,118,118, 61, 61, 61,192, 14,  1, 48, 25, 44, 92,184, 16, 88,250,  3, 27, 25,123,247,238,189,124,249,178,
+136,136,  8,158,171,108,128,245, 55,174, 33,160,217,179,103,227,177,154, 42, 67, 64, 64, 67,200, 24,  2,  2,150,218,152, 21,  0,
+ 25,199, 55,141, 86,  3,164,  2,128,  0, 26, 92,199, 65, 99,222, 43, 66,228,224,  0,168,189, 95,113,159,129,153, 45,205, 77,129,
+ 65, 64, 97, 22,248,226, 63,252,163,255, 84, 25,196,128, 76,252,194,219,254,200,  0, 50, 43,128,217,189, 32,178,197,186,180,132,
27,179, 55,192,251,169,248,193,175,255, 47,222,  0, 91,127, 76, 60, 92,160,174, 58,176,208,255,241,147,  1, 88,  7,  0,201, 95,
+191, 25,126,124,103,248,245, 19,214,  2, 69,173, 60,120,254, 20, 61,125, 36, 39,171,200,243,159,149,229,205,247,239,251, 15, 62,
+190,118,231,233,187,119, 95,180,141,255,126,253,241,231,199,207,191,223,191,253,123,241,136,225,251, 87,134,238,238,238,209, 19,
+162,176,246, 84,136, 76,144,144,230,191,150,150, 22,176,225, 15,172, 12,128, 21,  0,164, 19, 64,176,244,135, 12,  1, 25, 24, 24,
+112,112,112,  0, 11,253,164,164,164,246,246,118, 96, 73,122,242,228,201,131,  7, 15, 94,186,116,233,227,199,143,170,170,170,159,
+ 62,125,194,115,203, 77, 64, 64,  0,102,219,  2,210,227,193,223, 63, 24,168, 33, 32,172,157,  0,146,154,255,163,213,  0,217,  0,
32,128,  6, 69,  5,  0, 25,250,135,116,147,145,235,  0,120,102,131, 12,214, 19, 63, 82, 12, 41,247,129, 13,127,240, 40, 16,219,
+172,165,212,119, 51,100,229,143,139,139,203,158, 61,123,112,117,101,112,245,102,176, 22,238,196,140,  5,197, 87,126,149, 18,103,
+138,242,101,  3, 22,247,252,188,140, 76,140,224,134, 63,195,255, 31,223, 24,190,254,250, 15,236, 22,124,253,241,255,223,127,236,
+ 55,127,196,231,127,213,213,191, 39,161,241,110,247,246, 87,239,222,253, 48,176,252,164, 39,244,133,129,245,231,143,111,255, 94,
+ 61,253,255,245, 43,227,159, 63,140, 66, 34,140, 12,140,255, 70,115,  5, 85,  0, 36, 61, 35, 79,168,  0,107,  2,228,162, 25,235,
+ 76,  0,176,100, 47, 43, 43, 99, 97, 97, 89,180,104,209,252,249,24