Orange: more noodle updates!
authorTon Roosendaal <ton@blender.org>
Mon, 2 Jan 2006 13:06:05 +0000 (13:06 +0000)
committerTon Roosendaal <ton@blender.org>
Mon, 2 Jan 2006 13:06:05 +0000 (13:06 +0000)
**** NEW: Group Nodes

Node trees usually become messy and confusing quickly, so we need
not only a way to collapse Nodes into single 'groups', but also a
way to re-use that data to create libraries of effects.

This has been done by making a new Library data type, the NodeTree.
Everything that has been grouped is stored here, and available for
re-use, appending or linking. These NodeTrees are fully generic,
i.e. can store shader trees, composit trees, and so on. The 'type'
value as stored in the NodeTree will keep track of internal type
definitions and execute/drawing callbacks. Needless to say, re-using
shader trees in a composit tree is a bit useless, and will be
prevented in the browsing code. :)

So; any NodeTree can become a "Goup Node" inside in a NodeTree. This
Group Node then works just like any Node.
To prevent the current code to become too complex, I've disabled
the possibility to insert Groups inside of Groups. That might be
enabled later, but is a real nasty piece of code to get OK.

Since Group Nodes are a dynamic Node type, a lot of work has been
done to ensure Node definitions can be dynamic too, but still allow
to be stored in files, and allow to be verified for type-definition
changes on reloading. This system needs a little bit maturing still,
so the Python gurus should better wait a little bit! (Also for me to
write the definite API docs for it).

What works now:

- Press CTRL+G to create a new Group. The grouping code checks for
impossible selections (like an unselected node between selected nodes).
Everthing that's selected then gets removed from the current tree, and
inserted in a new NodeTree library data block. A Group Node then is
added which links to this new NodeTree.

- Press ALT+G to ungroup. This will not delete the NodeTree library
data, but just duplicate the Group into the current tree.

- Press TAB, or click on the NodeTree icon to edit Groups. Note that
NodeTrees are instances, so editing one Group will also change the
other users.
This also means that when removing nodes in a Group (or hiding sockets
or changing internal links) this is immediately corrected for all users
of this Group, also in other Materials.

- While editing Groups, only the internal Nodes can be edited. A single
click outside of the Group boundary will close this 'edit mode'.

What needs to be done:

- SHIFT+A menu in toolbox style, also including a list of Groups
- Enable the single-user button in the Group Node
- Displaying all (visible) internal group UI elements in the Node Panel
- Enable Library linking and prevent editing of Groups then.

**** NEW: Socket Visibility control

Node types will be generated with a lot of possible inputs or outputs,
and drawing all sockets all the time isn't very useful then.

A new option in the Node header ('plus' icon) allows to either hide all
unused sockets (first keypress) or to reveil them (when there are hidden
sockets, the icon displays black, otherwise it's blended).

Hidden sockets in Nodes also are not exported to a Group, so this way
you can control what options (in/outputs) exactly are available.

To be done:
- a way to hide individual sockets, like with a RMB click on it.

**** NEW: Nodes now render!

This is still quite primitive, more on a level to replace the (now
obsolete and disabled) Material Layers.

What needs to be done:

- make the "Geometry" node work properly, also for AA textures
- make the Texture Node work (does very little at the moment)
- give Material Nodes all inputs as needed (like Map-to Panel)
- find a way to export more data from a Material Node, like the
  shadow value, or light intensity only, etc

Very important also to separate from the Material Buttons the
"global" options, like "Ztransp" or "Wire" or "Halo". These can not
be set for each Material-Node individually.

Also note that the Preview Render (Buttons window) now renders a bit
differently. This was a horrid piece of antique code, using a totally
incompatible way of rendering. Target is to fully re-use internal
render code for previews.

OK... that's it mostly. Now test!

27 files changed:
source/blender/blenkernel/BKE_library.h
source/blender/blenkernel/BKE_main.h
source/blender/blenkernel/BKE_material.h
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/intern/library.c
source/blender/blenkernel/intern/material.c
source/blender/blenkernel/intern/node.c
source/blender/blenkernel/intern/node_shaders.c
source/blender/blenloader/intern/readblenentry.c
source/blender/blenloader/intern/readfile.c
source/blender/blenloader/intern/writefile.c
source/blender/include/BIF_resources.h
source/blender/include/BSE_node.h
source/blender/makesdna/DNA_ID.h
source/blender/makesdna/DNA_node_types.h
source/blender/makesdna/DNA_space_types.h
source/blender/render/extern/include/render.h
source/blender/render/intern/source/rendercore.c
source/blender/renderconverter/intern/convertBlenderScene.c
source/blender/src/blenderbuttons.c
source/blender/src/drawnode.c
source/blender/src/editnode.c
source/blender/src/filesel.c
source/blender/src/previewrender.c
source/blender/src/resources.c
source/blender/src/toets.c
source/blender/src/usiblender.c

index 8ec6f013ef9a2bb436fb274a1ef92782b87a819a..ac438ec95bd2f6b410bf5652bd212ad453d33706 100644 (file)
@@ -41,13 +41,13 @@ struct ID;
 struct Main;
 struct Library;
 
-void *alloc_libblock(struct ListBase *lb, short type, char *name);
+void *alloc_libblock(struct ListBase *lb, short type, const char *name);
 void *copy_libblock(void *rt);
 
 void id_lib_extern(struct ID *id);
 void id_us_plus(struct ID *id);
 
-int new_id(struct ListBase *lb, struct ID *id, char *name);
+int new_id(struct ListBase *lb, struct ID *id, const char *name);
 
 struct ListBase *wich_libbase(struct Main *mainlib, short type);
 int set_listbasepointers(struct Main *main, struct ListBase **lb);
index 9a37f91a0232d4710b0087642e772c2935a0da3b..1512ea28d4af085380ea2ef4448ae0aef140fdce 100644 (file)
@@ -72,8 +72,9 @@ typedef struct Main {
        ListBase text;
        ListBase sound;
        ListBase group;
-       ListBase armature;      /* NLA */
-       ListBase action;        /* NLA */
+       ListBase armature;
+       ListBase action;
+       ListBase nodetree;
 } Main;
 
 
index 16a320010eca9b76d603de62c7bd6a1fd71d0e53..820e88fed11c53ab57a3ca7fe7355d9582ca0b4f 100644 (file)
@@ -56,11 +56,13 @@ ID *material_from(struct Object *ob, int act);
 void assign_material(struct Object *ob, struct Material *ma, int act);
 void new_material_to_objectdata(struct Object *ob);
 
-struct Material *get_active_matlayer(struct Material *ma);
-void init_render_material(struct Material *ma);
+struct Material *get_active_matlayer(struct Material *);
+void init_render_material(struct Material *);
 void init_render_materials(void);
+void end_render_material(struct Material *);
+void end_render_materials(void);
 
-void automatname(struct Material *ma);
+void automatname(struct Material *);
 void delete_material_index(void);            
 
 #ifdef __cplusplus
index 13abbc263b9cf784e4b693e6c44a265debe964a7..35a973b99ffe70c87517e5c2e0de5026d908b30a 100644 (file)
@@ -54,7 +54,9 @@ typedef struct bNodeSocketType {
        float min, max;                                 /* default range for inputs */
        
        /* after this line is used internal only */
-       struct bNodeSocket *sock;               /* to verify */
+       struct bNodeSocket *sock;               /* used during verify_types */
+       struct bNodeSocket *internsock; /* group nodes, the internal socket counterpart */
+       int own_index;                                  /* verify group nodes */
        
 } bNodeSocketType;
 
@@ -71,7 +73,7 @@ typedef struct bNodeType {
        void (*execfunc)(void *data, struct bNode *, struct bNodeStack **, struct bNodeStack **);
        
        /* after this line is set on startup of blender */
-       int (*butfunc)(struct uiBlock *, struct bNodeTree *, struct bNode *, rctf *);
+       int (*butfunc)(struct uiBlock *, struct bNodeTree *, struct bNode *, struct rctf *);
 
 } bNodeType;
 
@@ -80,26 +82,34 @@ typedef struct bNodeType {
 #define NODE_CLASS_OUTPUT              1
 #define NODE_CLASS_GENERATOR   2
 #define NODE_CLASS_OPERATOR            3
+#define NODE_CLASS_GROUP               4
 
 /* ************** GENERIC API, TREES *************** */
 
+void                   ntreeVerifyTypes(struct bNodeTree *ntree);
+
 struct bNodeTree *ntreeAddTree(int type);
 void                   ntreeInitTypes(struct bNodeTree *ntree);
+void                   ntreeMakeOwnType(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                   ntreeBeginExecTree(struct bNodeTree *ntree);
 void                   ntreeExecTree(struct bNodeTree *ntree);
 void                   ntreeEndExecTree(struct bNodeTree *ntree);
+
+void                   ntreeInitPreview(struct bNodeTree *, int xsize, int ysize);
 void                   ntreeClearPixelTree(struct bNodeTree *, int, int);
 
 /* ************** GENERIC API, NODES *************** */
 
+void                   nodeVerifyType(struct bNodeTree *ntree, struct bNode *node);
+
 void                   nodeAddToPreview(struct bNode *, float *, int, int);
 
-struct bNode   *nodeAddNodeType(struct bNodeTree *ntree, int type);
+struct bNode   *nodeAddNodeType(struct bNodeTree *ntree, int type, struct bNodeTree *ngroup);
 void                   nodeFreeNode(struct bNodeTree *ntree, struct bNode *node);
 struct bNode   *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node);
 
@@ -114,6 +124,21 @@ struct bNode       *nodeGetActive(struct bNodeTree *ntree);
 struct bNode   *nodeGetActiveID(struct bNodeTree *ntree, short idtype);
 void                   nodeClearActiveID(struct bNodeTree *ntree, short idtype);
 
+/* ************** Groups ****************** */
+
+struct bNode   *nodeMakeGroupFromSelected(struct bNodeTree *ntree);
+int                            nodeGroupUnGroup(struct bNodeTree *ntree, struct bNode *gnode);
+
+void                   nodeVerifyGroup(struct bNodeTree *ngroup);
+void                   nodeGroupSocketUseFlags(struct bNodeTree *ngroup);
+
+/* ************** COMMON NODES *************** */
+
+#define NODE_GROUP             2
+
+extern bNodeType node_group_typeinfo;
+
+
 /* ************** SHADER NODES *************** */
 
 struct ShadeInput;
index 33e253aa232f5c1cf01c9a80739251845e63b198..4680a44d8362e23669eefaf38c8580d4641f380d 100644 (file)
@@ -74,6 +74,7 @@
 #include "DNA_armature_types.h"
 #include "DNA_action_types.h"
 #include "DNA_userdef_types.h"
+#include "DNA_node_types.h"
 
 #include "BLI_blenlib.h"
 #include "BLI_dynstr.h"
 #include "BKE_lattice.h"
 #include "BKE_armature.h"
 #include "BKE_action.h"
+#include "BKE_node.h"
+
 #include "BPI_script.h"
 
 #define MAX_IDPUP              60      /* was 24 */
@@ -185,6 +188,8 @@ ListBase *wich_libbase(Main *mainlib, short type)
                        return &(mainlib->armature);
                case ID_AC:
                        return &(mainlib->action);
+               case ID_NT:
+                       return &(mainlib->nodetree);
        }
        return 0;
 }
@@ -224,12 +229,13 @@ int set_listbasepointers(Main *main, ListBase **lb)
        lb[20]= &(main->text);
        lb[21]= &(main->sound);
        lb[22]= &(main->group);
+       lb[23]= &(main->nodetree);
 
-       lb[23]= samples;
-       lb[24]= &(main->script);
-       lb[25]= NULL;
+       lb[24]= samples;
+       lb[25]= &(main->script);
+       lb[26]= NULL;
 
-       return 25;
+       return 26;
 }
 
 /* *********** ALLOC AND FREE *****************
@@ -244,7 +250,7 @@ void *alloc_libblock(ListBase *lb, type, name)
 
 static ID *alloc_libblock_notest(short type)
 {
-       ID *id= 0;
+       ID *id= NULL;
        
        switch( type ) {
                case ID_SCE:
@@ -322,14 +328,17 @@ static ID *alloc_libblock_notest(short type)
                case ID_AC:
                        id = MEM_callocN(sizeof(bAction), "action");
                        break;
+               case ID_NT:
+                       id = MEM_callocN(sizeof(bNodeTree), "action");
+                       break;
        }
        return id;
 }
 
 // used everywhere in blenkernel and text.c
-void *alloc_libblock(ListBase *lb, short type, char *name)
+void *alloc_libblock(ListBase *lb, short type, const char *name)
 {
-       ID *id= 0;
+       ID *id= NULL;
        
        id= alloc_libblock_notest(type);
        if(id) {
@@ -343,19 +352,13 @@ void *alloc_libblock(ListBase *lb, short type, char *name)
        return id;
 }
 
-/* GS reads the memory pointed at in a specific ordering. There are,
- * however two definitions for it. I have jotted them down here, both,
- * but I think the first one is actually used. The thing is that
- * big-endian systems might read this the wrong way round. OTOH, we
- * constructed the IDs that are read out with this macro explicitly as
- * well. I expect we'll sort it out soon... */
+/* GS reads the memory pointed at in a specific ordering. 
+   only use this definition, makes little and big endian systems
+   work fine, in conjunction with MAKE_ID */
 
 /* from blendef: */
 #define GS(a)  (*((short *)(a)))
 
-/* from misc_util: flip the bytes from x  */
-/*#define GS(x) (((unsigned char *)(x))[0] << 8 | ((unsigned char *)(x))[1]) */
-
 // used everywhere in blenkernel and text.c
 void *copy_libblock(void *rt)
 {
@@ -468,6 +471,9 @@ void free_libblock(ListBase *lb, void *idv)
                case ID_AC:
                        free_action((bAction *)id);
                        break;
+               case ID_NT:
+                       ntreeFreeTree((bNodeTree *)id);
+                       break;
        }
 
        BLI_remlink(lb, id);
@@ -742,7 +748,7 @@ static void sort_alpha_id(ListBase *lb, ID *id)
        
 }
 
-int new_id(ListBase *lb, ID *id, char *tname)
+int new_id(ListBase *lb, ID *id, const char *tname)
 /* only for local blocks: external en indirect blocks already have a unique ID */
 /* return 1: created a new name */
 {
index 44420bc44b90120883befad98869a71552992196..099218814385c888fb3bbbb19d44085270cec25e 100644 (file)
@@ -87,9 +87,11 @@ void free_material(Material *ma)
        
        BLI_freelistN(&ma->layers);
        
-       if(ma->nodetree)
+       /* is no lib link block, but material extension */
+       if(ma->nodetree) {
                ntreeFreeTree(ma->nodetree);
-
+               MEM_freeN(ma->nodetree);
+       }
 }
 
 void init_material(Material *ma)
@@ -600,7 +602,7 @@ Material *get_active_matlayer(Material *ma)
        return ma;
 }
 
-void init_render_material(Material *ma)
+static void do_init_render_material(Material *ma)
 {
        MTex *mtex;
        int a, needuv=0;
@@ -655,24 +657,50 @@ void init_render_material(Material *ma)
        ma->mode_l= ma->mode;
 }
 
+void init_render_material(Material *mat)
+{
+       do_init_render_material(mat);
+       
+       if(mat->nodetree && mat->use_nodes) {
+               bNode *node;
+               
+               for(node=mat->nodetree->nodes.first; node; node= node->next) {
+                       if(node->id && GS(node->id->name)==ID_MA) {
+                               Material *ma= (Material *)node->id;
+                               if(ma!=mat) {
+                                       do_init_render_material(ma);
+                                       mat->texco |= ma->texco;
+                                       mat->mode_l |= ma->mode_l;
+                               }
+                       }
+               }
+               ntreeBeginExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+       }
+}
+
 void init_render_materials()
 {
        Material *ma;
-       MaterialLayer *ml;
        
        /* two steps, first initialize, then or the flags for layers */
-       for(ma= G.main->mat.first; ma; ma= ma->id.next) {
-               if(ma->id.us) init_render_material(ma);
-       }
-       
-       for(ma= G.main->mat.first; ma; ma= ma->id.next) {
-               for(ml= ma->layers.first; ml; ml= ml->next) {
-                       if(ml->mat) {
-                               ma->texco |= ml->mat->texco;
-                               ma->mode_l |= ml->mat->mode;
-                       }
-               }
-       }       
+       for(ma= G.main->mat.first; ma; ma= ma->id.next)
+               if(ma->id.us) 
+                       init_render_material(ma);
+}
+
+/* only needed for nodes now */
+void end_render_material(Material *mat)
+{
+       if(mat && mat->nodetree && mat->use_nodes)
+               ntreeEndExecTree(mat->nodetree); /* has internal flag to detect it only does it once */
+}
+
+void end_render_materials(void)
+{
+       Material *ma;
+       for(ma= G.main->mat.first; ma; ma= ma->id.next)
+               if(ma->id.us) 
+                       end_render_material(ma);
 }
 
 /* ****************** */
index b267ebb2a118dd93c70f1047f5d8546c971db324..ab4d755c868c2241e4f81aa9ef0d96e17b2d4612 100644 (file)
 
 #include "DNA_ID.h"
 #include "DNA_node_types.h"
+#include "DNA_material_types.h"
 
 #include "BKE_blender.h"
+#include "BKE_global.h"
+#include "BKE_library.h"
+#include "BKE_main.h"
 #include "BKE_node.h"
 #include "BKE_texture.h"
 #include "BKE_utildefines.h"
 
 #include "MEM_guardedalloc.h"
 
-/* ************** Type stuff ********** */
+/* not very important, but the stack solver likes to know a maximum */
+#define MAX_SOCKET     64
 
-static bNodeType *nodeGetType(bNodeTree *ntree, int type)
+#pragma mark /* ************** Type stuff **********  */
+
+static bNodeType *node_get_type(bNodeTree *ntree, int type, bNodeTree *ngroup)
 {
-       bNodeType **typedefs= ntree->alltypes;
-       
-       while( *typedefs && (*typedefs)->type!=type)
-               typedefs++;
-       
-       return *typedefs;
+       if(type==NODE_GROUP) {
+               if(ngroup && GS(ngroup->id.name)==ID_NT) {
+                       return ngroup->owntype;
+               }
+               return NULL;
+       }
+       else {
+               bNodeType **typedefs= ntree->alltypes;
+               
+               while( *typedefs && (*typedefs)->type!=type)
+                       typedefs++;
+               
+               return *typedefs;
+       }
 }
 
 void ntreeInitTypes(bNodeTree *ntree)
@@ -68,7 +83,7 @@ void ntreeInitTypes(bNodeTree *ntree)
        
        for(node= ntree->nodes.first; node; node= next) {
                next= node->next;
-               node->typeinfo= nodeGetType(ntree, node->type);
+               node->typeinfo= node_get_type(ntree, node->type, (bNodeTree *)node->id);
                if(node->typeinfo==NULL) {
                        printf("Error: Node type %s doesn't exist anymore, removed\n", node->name);
                        nodeFreeNode(ntree, node);
@@ -88,6 +103,9 @@ static bNodeSocket *node_add_socket_type(ListBase *lb, bNodeSocketType *stype)
        else sock->limit= stype->limit;
        sock->type= stype->type;
        
+       sock->to_index= stype->own_index;
+       sock->tosock= stype->internsock;
+       
        sock->ns.vec[0]= stype->val1;
        sock->ns.vec[1]= stype->val2;
        sock->ns.vec[2]= stype->val3;
@@ -119,14 +137,19 @@ 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;
+               /* both indices are zero for non-groups, otherwise it's a unique index */
+               if(sock->to_index==stype->own_index)
+                       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;
+               sock->tosock= stype->internsock;
+               
                BLI_remlink(lb, sock);
+               
                return sock;
        }
        else {
@@ -162,37 +185,482 @@ static void verify_socket_list(bNodeTree *ntree, ListBase *lb, bNodeSocketType *
        }
 }
 
+void nodeVerifyType(bNodeTree *ntree, bNode *node)
+{
+       bNodeType *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);
+       }
+}
+
 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)
+               nodeVerifyType(ntree, node);
+       
+}
+
+#pragma mark /* ************** Group stuff ********** */
+
+/* prototype */
+static void node_group_exec_func(void *data, bNode *node, bNodeStack **in, bNodeStack **out);
+
+bNodeType node_group_typeinfo= {
+       /* type code   */       NODE_GROUP,
+       /* name        */       "Group",
+       /* width+range */       120, 60, 200,
+       /* class+opts  */       NODE_CLASS_GROUP, NODE_OPTIONS,
+       /* input sock  */       NULL,
+       /* output sock */       NULL,
+       /* storage     */       "",
+       /* execfunc    */       node_group_exec_func,
+       
+};
+
+/* tag internal sockets */
+static void group_tag_internal_sockets(bNodeTree *ngroup)
+{
+       bNode *node;
+       bNodeSocket *sock;
+       bNodeLink *link;
+       
+       /* clear intern tag, but check already for hidden sockets */
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       sock->intern= sock->flag & SOCK_HIDDEN;
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       sock->intern= sock->flag & SOCK_HIDDEN;
+       }
+       /* set tag */
+       for(link= ngroup->links.first; link; link= link->next) {
+               link->fromsock->intern= 1;
+               link->tosock->intern= 1;
+       }
+       
+       /* remove link pointer to external links (only happens on create group) */
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       if(sock->intern==0)
+                               sock->link= NULL;
+       }
+
+       /* set all intern sockets to own_index zero, makes sure that later use won't mixup */
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       if(sock->intern)
+                               sock->own_index= 0;
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       if(sock->intern)
+                               sock->own_index= 0;
+       }
+}
+
+/* after editing group, new sockets are zero */
+/* this routine ensures unique identifiers for zero sockets that are exposed */
+static void group_verify_own_indices(bNodeTree *ngroup)
+{
+       bNode *node;
+       bNodeSocket *sock;
+       
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       if(sock->own_index==0 && sock->intern==0)
+                               sock->own_index= ++(ngroup->cur_index);
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       if(sock->own_index==0 && sock->intern==0)
+                               sock->own_index= ++(ngroup->cur_index);
+       }
+       printf("internal index %d\n", ngroup->cur_index);
+}
+
+
+/* nodetrees can be used as groups, so we need typeinfo structs generated */
+void ntreeMakeOwnType(bNodeTree *ngroup)
+{
+       bNode *node;
+       bNodeSocket *sock;
+       int totin= 0, totout=0, a;
+
+       /* tags socket when internal linked */
+       group_tag_internal_sockets(ngroup);
+       
+       /* ensure all sockets have own unique id */
+       group_verify_own_indices(ngroup);
+       
+       /* counting stats */
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               if(node->type==NODE_GROUP)
+                       break;
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       if(sock->intern==0) 
+                               totin++;
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       if(sock->intern==0) 
+                               totout++;
+       }
+       /* debug: nodetrees in nodetrees not handled yet */
+       if(node) {
+               printf("group in group, not supported yet\n");
+               return;
+       }
+       
+       /* free own type struct */
+       if(ngroup->owntype) {
+               if(ngroup->owntype->inputs)
+                       MEM_freeN(ngroup->owntype->inputs);
+               if(ngroup->owntype->outputs)
+                       MEM_freeN(ngroup->owntype->outputs);
+               MEM_freeN(ngroup->owntype);
+       }
+       
+       /* make own type struct */
+       ngroup->owntype= MEM_mallocN(sizeof(bNodeType), "group type");
+       *ngroup->owntype= node_group_typeinfo;
+       
+       /* input type arrays */
+       if(totin) {
+               bNodeSocketType *stype;
+               bNodeSocketType *inputs= MEM_mallocN(sizeof(bNodeSocketType)*(totin+1), "bNodeSocketType");
+               a= 0;
+               
+               for(node= ngroup->nodes.first; node; node= node->next) {
+                       /* nodes are presumed fully verified, stype and socket list are in sync */
+                       stype= node->typeinfo->inputs;
+                       for(sock= node->inputs.first; sock; sock= sock->next, stype++) {
+                               if(sock->intern==0) {
+                                       /* debug only print */
+                                       if(stype==NULL || stype->type==-1) printf("group verification error %s\n", ngroup->id.name);
+                                       
+                                       inputs[a]= *stype;
+                                       inputs[a].own_index= sock->own_index;
+                                       inputs[a].internsock= sock;     
+                                       a++;
+                               }
+                       }
+               }
+               inputs[a].type= -1;     /* terminator code */
+               ngroup->owntype->inputs= inputs;
+       }       
+       
+       /* output type arrays */
+       if(totout) {
+               bNodeSocketType *stype;
+               bNodeSocketType *outputs= MEM_mallocN(sizeof(bNodeSocketType)*(totout+1), "bNodeSocketType");
+               a= 0;
+               
+               for(node= ngroup->nodes.first; node; node= node->next) {
+                       /* nodes are presumed fully verified, stype and socket list are in sync */
+                       stype= node->typeinfo->outputs;
+                       for(sock= node->outputs.first; sock; sock= sock->next, stype++) {
+                               if(sock->intern==0) {
+                                       /* debug only print */
+                                       if(stype==NULL || stype->type==-1) printf("group verification error %s\n", ngroup->id.name);
+                                       
+                                       outputs[a]= *stype;
+                                       outputs[a].own_index= sock->own_index;
+                                       outputs[a].internsock= sock;    
+                                       a++;
+                               }
+                       }
+               }
+               outputs[a].type= -1;    /* terminator code */
+               ngroup->owntype->outputs= outputs;
+       }
+       
+       /* voila, the nodetree has the full definition for generating group-node instances! */
+}
+
+
+static bNodeSocket *groupnode_find_tosock(bNode *gnode, int index)
+{
+       bNodeSocket *sock;
+       
+       for(sock= gnode->inputs.first; sock; sock= sock->next)
+               if(sock->to_index==index)
+                       return sock;
+       return NULL;
+}
+
+static bNodeSocket *groupnode_find_fromsock(bNode *gnode, int index)
+{
+       bNodeSocket *sock;
+       
+       for(sock= gnode->outputs.first; sock; sock= sock->next)
+               if(sock->to_index==index)
+                       return sock;
+       return NULL;
+}
+
+bNode *nodeMakeGroupFromSelected(bNodeTree *ntree)
+{
+       bNodeLink *link, *linkn;
+       bNode *node, *gnode, *nextn;
+       bNodeTree *ngroup;
+       float min[2], max[2];
+       int totnode=0;
+       
+       INIT_MINMAX2(min, max);
+       
+       /* is there something to group? also do some clearing */
        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);
+               if(node->flag & NODE_SELECT) {
+                       /* no groups in groups */
+                       if(node->type==NODE_GROUP)
+                               return NULL;
+                       DO_MINMAX2( (&node->locx), min, max);
+                       totnode++;
+               }
+               node->done= 0;
+       }
+       if(totnode==0) return NULL;
+       
+       /* check if all connections are OK, no unselected node has both
+               inputs and outputs to a selection */
+       for(link= ntree->links.first; link; link= link->next) {
+               if(link->fromnode->flag & NODE_SELECT)
+                       link->tonode->done |= 1;
+               if(link->tonode->flag & NODE_SELECT)
+                       link->fromnode->done |= 2;
+       }       
+       
+       for(node= ntree->nodes.first; node; node= node->next) {
+               if((node->flag & NODE_SELECT)==0)
+                       if(node->done==3)
+                               break;
+       }
+       if(node) 
+               return NULL;
+       
+       /* OK! new nodetree */
+       ngroup= alloc_libblock(&G.main->nodetree, ID_NT, "NodeGroup");
+       ngroup->type= ntree->type;
+       ngroup->alltypes= ntree->alltypes;
+       
+       /* move nodes over */
+       for(node= ntree->nodes.first; node; node= nextn) {
+               nextn= node->next;
+               if(node->flag & NODE_SELECT) {
+                       BLI_remlink(&ntree->nodes, node);
+                       BLI_addtail(&ngroup->nodes, node);
+                       node->locx-= 0.5f*(min[0]+max[0]);
+                       node->locy-= 0.5f*(min[1]+max[1]);
+               }
+       }
+
+       /* move links over */
+       for(link= ntree->links.first; link; link= linkn) {
+               linkn= link->next;
+               if(link->fromnode->flag & link->tonode->flag & NODE_SELECT) {
+                       BLI_remlink(&ntree->links, link);
+                       BLI_addtail(&ngroup->links, link);
                }
        }
+       
+       /* now we can make own group typeinfo */
+       ntreeMakeOwnType(ngroup);
+       
+       /* make group node */
+       gnode= nodeAddNodeType(ntree, NODE_GROUP, ngroup);
+       gnode->locx= 0.5f*(min[0]+max[0]);
+       gnode->locy= 0.5f*(min[1]+max[1]);
+       
+       /* relink external sockets */
+       for(link= ntree->links.first; link; link= link->next) {
+               if(link->tonode->flag & NODE_SELECT) {
+                       link->tonode= gnode;
+                       link->tosock= groupnode_find_tosock(gnode, link->tosock->own_index);
+                       if(link->tosock==NULL) printf("Bad!\n");
+               }
+               else if(link->fromnode->flag & NODE_SELECT) {
+                       link->fromnode= gnode;
+                       link->fromsock= groupnode_find_fromsock(gnode, link->fromsock->own_index);
+                       if(link->fromsock==NULL) printf("Bad!\n");
+               }
+       }
+       
+       return gnode;
 }
 
+/* note: ungroup: group_indices zero! */
 
+/* here's a nasty little one, need to check users... */
+/* should become callbackable... */
+void nodeVerifyGroup(bNodeTree *ngroup)
+{
+       Material *ma;
+       
+       /* group changed, so we rebuild the type definition */
+       ntreeMakeOwnType(ngroup);
+       
+       if(ngroup->type==NTREE_SHADER) {
+               for(ma= G.main->mat.first; ma; ma= ma->id.next) {
+                       if(ma->nodetree) {
+                               bNode *node;
+                               
+                               /* find if group is in tree */
+                               for(node= ma->nodetree->nodes.first; node; node= node->next)
+                                       if(node->id == (ID *)ngroup)
+                                               break;
+                               
+                               if(node) {
+                                       /* set all type pointers OK */
+                                       ntreeInitTypes(ma->nodetree);
+                                       
+                                       for(node= ma->nodetree->nodes.first; node; node= node->next)
+                                               if(node->id == (ID *)ngroup)
+                                                       nodeVerifyType(ma->nodetree, node);
+                               }
+                       }
+               }
+       }
+}
 
-/* ************** Add stuff ********** */
+/* also to check all users... */
+/* should become callbackable... */
+void nodeGroupSocketUseFlags(bNodeTree *ngroup)
+{
+       bNode *node;
+       bNodeSocket *sock;
+       Material *ma;
 
-/* not very important, but the stack solver likes to know a maximum */
-#define MAX_SOCKET     64
+       /* clear flags */
+       for(node= ngroup->nodes.first; node; node= node->next) {
+               for(sock= node->inputs.first; sock; sock= sock->next)
+                       sock->flag &= ~SOCK_IN_USE;
+               for(sock= node->outputs.first; sock; sock= sock->next)
+                       sock->flag &= ~SOCK_IN_USE;
+       }
+       
+       /* tag all thats in use */
+       if(ngroup->type==NTREE_SHADER) {
+               for(ma= G.main->mat.first; ma; ma= ma->id.next) {
+                       if(ma->nodetree) {
+                               for(node= ma->nodetree->nodes.first; node; node= node->next) {
+                                       if(node->id==(ID *)ngroup) {
+                                               for(sock= node->inputs.first; sock; sock= sock->next)
+                                                       if(sock->link)
+                                                               if(sock->tosock) 
+                                                                       sock->tosock->flag |= SOCK_IN_USE;
+                                               for(sock= node->outputs.first; sock; sock= sock->next)
+                                                       if(nodeCountSocketLinks(ma->nodetree, sock))
+                                                               if(sock->tosock) 
+                                                                       sock->tosock->flag |= SOCK_IN_USE;
+                                       }
+                               }
+                       }
+               }
+       }
+}
+
+static void find_node_with_socket(bNodeTree *ntree, bNodeSocket *sock, bNode **nodep, int *sockindex)
+{
+       bNode *node;
+       bNodeSocket *tsock;
+       int index;
+       
+       for(node= ntree->nodes.first; node; node= node->next) {
+               for(index=0, tsock= node->inputs.first; tsock; tsock= tsock->next, index++)
+                       if(tsock==sock)
+                               break;
+               if(tsock)
+                       break;
+               for(index=0, tsock= node->outputs.first; tsock; tsock= tsock->next, index++)
+                       if(tsock==sock)
+                               break;
+               if(tsock)
+                       break;
+       }
+       if(node) {
+               *nodep= node;
+               *sockindex= index;
+       }
+       else {
+               *nodep= NULL;
+       }
+}
 
-bNode *nodeAddNodeType(bNodeTree *ntree, int type)
+/* returns 1 if its OK */
+int nodeGroupUnGroup(bNodeTree *ntree, bNode *gnode)
+{
+       bNodeLink *link, *linkn;
+       bNode *node, *nextn;
+       bNodeTree *ngroup, *wgroup;
+       int index;
+       
+       ngroup= (bNodeTree *)gnode->id;
+       if(ngroup==NULL) return 0;
+       
+       /* clear new pointers, set in copytree */
+       for(node= ntree->nodes.first; node; node= node->next)
+               node->new= NULL;
+
+       wgroup= ntreeCopyTree(ngroup, 0);
+       
+       /* add the nodes into the ntree */
+       for(node= wgroup->nodes.first; node; node= nextn) {
+               nextn= node->next;
+               BLI_remlink(&wgroup->nodes, node);
+               BLI_addtail(&ntree->nodes, node);
+               node->locx+= gnode->locx;
+               node->locy+= gnode->locy;
+               node->flag |= NODE_SELECT;
+       }
+       /* and the internal links */
+       for(link= wgroup->links.first; link; link= linkn) {
+               linkn= link->next;
+               BLI_remlink(&wgroup->links, link);
+               BLI_addtail(&ntree->links, link);
+       }
+
+       /* restore links to and from the gnode */
+       for(link= ntree->links.first; link; link= link->next) {
+               if(link->tonode==gnode) {
+                       /* link->tosock->tosock is on the node we look for */
+                       find_node_with_socket(ngroup, link->tosock->tosock, &nextn, &index);
+                       if(nextn==NULL) printf("wrong stuff!\n");
+                       else if(nextn->new==NULL) printf("wrong stuff too!\n");
+                       else {
+                               link->tonode= nextn->new;
+                               link->tosock= BLI_findlink(&link->tonode->inputs, index);
+                       }
+               }
+               else if(link->fromnode==gnode) {
+                       /* link->fromsock->tosock is on the node we look for */
+                       find_node_with_socket(ngroup, link->fromsock->tosock, &nextn, &index);
+                       if(nextn==NULL) printf("1 wrong stuff!\n");
+                       else if(nextn->new==NULL) printf("1 wrong stuff too!\n");
+                       else {
+                               link->fromnode= nextn->new;
+                               link->fromsock= BLI_findlink(&link->fromnode->outputs, index);
+                       }
+               }
+       }
+       
+       /* remove the gnode & work tree */
+       ntreeFreeTree(wgroup);
+       MEM_freeN(wgroup);
+       
+       nodeFreeNode(ntree, gnode);
+       
+       return 1;
+}
+
+#pragma mark /* ************** Add stuff ********** */
+
+bNode *nodeAddNodeType(bNodeTree *ntree, int type, bNodeTree *ngroup)
 {
        bNode *node;
-       bNodeType *ntype= nodeGetType(ntree, type);
+       bNodeType *ntype= node_get_type(ntree, type, ngroup);
        bNodeSocketType *stype;
        
        node= MEM_callocN(sizeof(bNode), "new node");
@@ -205,6 +673,9 @@ bNode *nodeAddNodeType(bNodeTree *ntree, int type)
        node->width= ntype->width;
        node->miniwidth= 15.0f;         /* small value only, allows print of first chars */
        
+       if(type==NODE_GROUP)
+               node->id= (ID *)ngroup;
+       
        if(ntype->inputs) {
                stype= ntype->inputs;
                while(stype->type != -1) {
@@ -236,12 +707,19 @@ bNode *nodeAddNodeType(bNodeTree *ntree, int type)
 bNode *nodeCopyNode(struct bNodeTree *ntree, struct bNode *node)
 {
        bNode *nnode= MEM_callocN(sizeof(bNode), "dupli node");
-       
+       bNodeSocket *sock;
+
        *nnode= *node;
        BLI_addtail(&ntree->nodes, nnode);
        
        duplicatelist(&nnode->inputs, &node->inputs);
+       for(sock= nnode->inputs.first; sock; sock= sock->next)
+               sock->own_index= 0;
+       
        duplicatelist(&nnode->outputs, &node->outputs);
+       for(sock= nnode->outputs.first; sock; sock= sock->next)
+               sock->own_index= 0;
+       
        if(nnode->id)
                nnode->id->us++;
        
@@ -286,7 +764,7 @@ bNodeTree *ntreeAddTree(int type)
        return ntree;
 }
 
-/* ************** Free stuff ********** */
+#pragma mark /* ************** Free stuff ********** */
 
 /* goes over entire tree */
 static void node_unlink_node(bNodeTree *ntree, bNode *node)
@@ -340,6 +818,7 @@ void nodeFreeNode(bNodeTree *ntree, bNode *node)
        MEM_freeN(node);
 }
 
+/* do not free ntree itself here, free_libblock calls this function too */
 void ntreeFreeTree(bNodeTree *ntree)
 {
        bNode *node, *next;
@@ -350,7 +829,13 @@ void ntreeFreeTree(bNodeTree *ntree)
        }
        BLI_freelistN(&ntree->links);
        
-       MEM_freeN(ntree);
+       if(ntree->owntype) {
+               if(ntree->owntype->inputs)
+                       MEM_freeN(ntree->owntype->inputs);
+               if(ntree->owntype->outputs)
+                       MEM_freeN(ntree->owntype->outputs);
+               MEM_freeN(ntree->owntype);
+       }
 }
 
 bNodeTree *ntreeCopyTree(bNodeTree *ntree, int internal_select)
@@ -404,10 +889,21 @@ bNodeTree *ntreeCopyTree(bNodeTree *ntree, int internal_select)
                        nlink->tosock= BLI_findlink(&link->tonode->new->inputs, a);
                }
        }
+       
+       /* own type definition for group usage */
+       if(internal_select==0) {
+               if(ntree->owntype) {
+                       newtree->owntype= MEM_dupallocN(ntree->owntype);
+                       if(ntree->owntype->inputs)
+                               newtree->owntype->inputs= MEM_dupallocN(ntree->owntype->inputs);
+                       if(ntree->owntype->outputs)
+                               newtree->owntype->outputs= MEM_dupallocN(ntree->owntype->outputs);
+               }
+       }       
        return newtree;
 }
 
-/* ************ find stuff *************** */
+#pragma mark /* ************ find stuff *************** */
 
 bNodeLink *nodeFindLink(bNodeTree *ntree, bNodeSocket *from, bNodeSocket *to)
 {
@@ -492,7 +988,7 @@ void nodeSetActive(bNodeTree *ntree, bNode *node)
                node->flag |= NODE_ACTIVE_ID;
 }
 
-/* ************** dependency stuff *********** */
+#pragma mark /* ************** dependency stuff *********** */
 
 /* node is guaranteed to be not checked before */
 static int node_recurs_check(bNode *node, bNode ***nsort, int level)
@@ -592,7 +1088,7 @@ void ntreeSolveOrder(bNodeTree *ntree)
        
 }
 
-/* *************** preview *********** */
+#pragma mark /* *************** preview *********** */
 
 /* if node->preview, then we assume the rect to exist */
 
@@ -612,6 +1108,7 @@ static void nodeInitPreview(bNode *node, int xsize, int ysize)
        
        if(node->preview==NULL) {
                node->preview= MEM_callocN(sizeof(bNodePreview), "node preview");
+               printf("added preview %s\n", node->name);
        }
        if(node->preview->rect==NULL) {
                node->preview->rect= MEM_callocN(4*xsize + xsize*ysize*sizeof(float)*4, "node preview rect");
@@ -620,6 +1117,16 @@ static void nodeInitPreview(bNode *node, int xsize, int ysize)
        }
 }
 
+void ntreeInitPreview(bNodeTree *ntree, int xsize, int ysize)
+{
+       bNode *node;
+       
+       for(node= ntree->nodes.first; node; node= node->next) {
+               if(node->typeinfo->flag & NODE_PREVIEW) /* hrms, check for closed nodes? */
+                       nodeInitPreview(node, xsize, ysize);
+       }               
+}
+
 void nodeAddToPreview(bNode *node, float *col, int x, int y)
 {
        bNodePreview *preview= node->preview;
@@ -637,27 +1144,95 @@ void nodeAddToPreview(bNode *node, float *col, int x, int y)
 
 
 
-/* ******************* executing ************* */
+#pragma mark /* ******************* executing ************* */
+
+/* see notes at ntreeBeginExecTree */
+static void group_node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out, bNodeStack **gin, bNodeStack **gout)
+{
+       bNodeSocket *sock;
+       
+       /* build pointer stack */
+       for(sock= node->inputs.first; sock; sock= sock->next) {
+               if(sock->intern) {
+                       /* yep, intern can have link or is hidden socket */
+                       if(sock->link)
+                               *(in++)= stack + sock->link->fromsock->stack_index;
+                       else
+                               *(in++)= &sock->ns;
+               }
+               else
+                       *(in++)= gin[sock->stack_index_ext];
+       }
+       
+       for(sock= node->outputs.first; sock; sock= sock->next) {
+               if(sock->intern)
+                       *(out++)= stack + sock->stack_index;
+               else
+                       *(out++)= gout[sock->stack_index_ext];
+       }
+}
+
+static void node_group_exec_func(void *data, bNode *gnode, bNodeStack **in, bNodeStack **out)
+{
+       bNode *node;
+       bNodeTree *ntree= (bNodeTree *)gnode->id;
+       bNodeStack *nsin[MAX_SOCKET];   /* arbitrary... watch this */
+       bNodeStack *nsout[MAX_SOCKET];  /* arbitrary... watch this */
+       
+       if(ntree==NULL) return;
+       
+       if(ntree->init & NTREE_EXEC_INIT) {
+               for(node= ntree->nodes.first; node; node= node->next) {
+                       if(node->typeinfo->execfunc) {
+                               group_node_get_stack(node, ntree->stack, nsin, nsout, in, out);
+                               node->typeinfo->execfunc(data, node, nsin, nsout);
+                       }
+               }
+       }
+}
 
+/* stack indices make sure all nodes only write in allocated data, for making it thread safe */
+/* per tree (and per group) unique indices are created */
+/* the index_ext we need to be able to map from groups to the group-node own stack */
 
-void ntreeBeginExecTree(bNodeTree *ntree, int xsize, int ysize)
+void ntreeBeginExecTree(bNodeTree *ntree)
 {
        bNode *node;
        bNodeSocket *sock;
-       int index= 0;
+       int index= 0, index_in= 0, index_out= 0;
        
        if((ntree->init & NTREE_TYPE_INIT)==0)
                ntreeInitTypes(ntree);
+       if(ntree->init & NTREE_EXEC_INIT)
+               return;
        
        /* create indices for stack, check preview */
        for(node= ntree->nodes.first; node; node= node->next) {
+               
+               for(sock= node->inputs.first; sock; sock= sock->next) {
+                       if(sock->intern==0)
+                               sock->stack_index_ext= index_in++;
+               }
+               
                for(sock= node->outputs.first; sock; sock= sock->next) {
                        sock->stack_index= index++;
+                       if(sock->intern==0)
+                               sock->stack_index_ext= index_out++;
                }
                
-               if(node->typeinfo->flag & NODE_PREVIEW) /* hrms, check for closed nodes? */
-                       nodeInitPreview(node, xsize, ysize);
-               
+               if(node->type==NODE_GROUP) {
+                       if(node->id) {
+                               
+                               ntreeBeginExecTree((bNodeTree *)node->id);
+                               
+                               /* copy internal data from internal nodes to own input sockets */
+                               for(sock= node->inputs.first; sock; sock= sock->next) {
+                                       if(sock->tosock) {
+                                               sock->ns= sock->tosock->ns;
+                                       }
+                               }
+                       }
+               }
        }
        if(index) {
                bNodeStack *ns;
@@ -672,12 +1247,24 @@ void ntreeBeginExecTree(bNodeTree *ntree, int xsize, int ysize)
 
 void ntreeEndExecTree(bNodeTree *ntree)
 {
-       if(ntree->stack) {
-               MEM_freeN(ntree->stack);
-               ntree->stack= NULL;
-       }
+       bNode *node;
+       
+       if(ntree->init & NTREE_EXEC_INIT) {
+               if(ntree->stack) {
+                       MEM_freeN(ntree->stack);
+                       ntree->stack= NULL;
+               }
 
-       ntree->init &= ~NTREE_EXEC_INIT;
+               ntree->init &= ~NTREE_EXEC_INIT;
+               
+               for(node= ntree->nodes.first; node; node= node->next) {
+                       if(node->type==NODE_GROUP) {
+                               if(node->id) {
+                                       ntreeEndExecTree((bNodeTree *)node->id);
+                               }
+                       }
+               }
+       }
 }
 
 static void node_get_stack(bNode *node, bNodeStack *stack, bNodeStack **in, bNodeStack **out)
@@ -706,7 +1293,6 @@ void ntreeExecTree(bNodeTree *ntree)
        
        /* only when initialized */
        if(ntree->init & NTREE_EXEC_INIT) {
-       
                for(node= ntree->nodes.first; node; node= node->next) {
                        if(node->typeinfo->execfunc) {
                                node_get_stack(node, ntree->stack, nsin, nsout);
index 7f50ef459dc3b04d3d43b54a67199bddcf6b7b3c..eac1083e6492d4f7632e3b2bda17a4400185dbd9 100644 (file)
@@ -209,7 +209,8 @@ static void node_shader_exec_normal(void *data, bNode *node, bNodeStack **in, bN
        /* stack order output: normal, value */
        
        VECCOPY(out[0]->vec, sock->ns.vec);
-       out[1]->vec[0]= INPR(out[0]->vec, in[0]->vec);
+       /* render normals point inside... the widget points outside */
+       out[1]->vec[0]= -INPR(out[0]->vec, in[0]->vec);
 }
 
 /* **************** value node ************ */
@@ -523,6 +524,7 @@ static bNodeType sh_node_rgbtobw= {
 /* ****************** types array for all shaders ****************** */
 
 bNodeType *node_all_shaders[]= {
+       &node_group_typeinfo,
        &sh_node_output,
        &sh_node_material,
        &sh_node_value,
index 8c7fd8de05317c19ed806a50f2f483d2621b5775..faff6b0b8406bd36d58ee123db7c932a0d2e507c 100644 (file)
@@ -95,6 +95,7 @@ static IDType idtypes[]= {
        { ID_MA,                "Material", IDTYPE_FLAGS_ISLINKABLE}, 
        { ID_MB,                "Metaball", IDTYPE_FLAGS_ISLINKABLE}, 
        { ID_ME,                "Mesh",         IDTYPE_FLAGS_ISLINKABLE}, 
+       { ID_NT,                "NodeTree",     IDTYPE_FLAGS_ISLINKABLE}, 
        { ID_OB,                "Object",       IDTYPE_FLAGS_ISLINKABLE}, 
        { ID_SAMPLE,    "Sample",       0}, 
        { ID_SCE,               "Scene",        IDTYPE_FLAGS_ISLINKABLE}, 
index 1ea14837c0635531819baa1d00af1eefed5beef8..9c53766cfc487604c2c8950150aba8651fe16f8c 100644 (file)
@@ -1208,8 +1208,8 @@ 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)
+/* singe node tree, ntree is not NULL */
+static void lib_link_ntree(FileData *fd, ID *id, bNodeTree *ntree)
 {
        bNode *node;
        
@@ -1217,49 +1217,74 @@ static void lib_link_nodetree(FileData *fd, ID *id, bNodeTree *ntree)
                node->id= newlibadr_us(fd, id->lib, node->id);
 }
 
-static bNodeTree *direct_link_nodetree(FileData *fd, bNodeTree *ntree)
+/* library linking after fileread */
+static void lib_link_nodetree(FileData *fd, Main *main)
 {
-       /* 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);
+       Material *ma;
+       bNodeTree *ntree;
+       bNode *node;
+       
+       /* in multiple steps, first link ID pointers */
+       for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
+               if(ntree->id.flag & LIB_NEEDLINK) {
+                       lib_link_ntree(fd, &ntree->id, ntree);
+               }
+       }
+       
+       /* now create the own typeinfo structs an verify nodes */
+       /* here we still assume no groups in groups */
+       for(ntree= main->nodetree.first; ntree; ntree= ntree->id.next) {
+               if(ntree->id.flag & LIB_NEEDLINK) {
+                       ntree->id.flag -= LIB_NEEDLINK;
                        
-                       /* and we connect the rest */
-                       for(node= ntree->nodes.first; node; node= node->next) {
-                               node->preview= NULL;
-                               node->block= 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);
+                       ntreeVerifyTypes(ntree);        /* internal nodes, no groups! */
+                       ntreeMakeOwnType(ntree);        /* for group usage */
                }
        }
-       return ntree;
+       
+       /* now verify all types in material trees, groups are set OK now */
+       for(ma= main->mat.first; ma; ma= ma->id.next) {
+               if(ma->nodetree)
+                       ntreeVerifyTypes(ma->nodetree);
+       }
+}
+
+/* ntree itself has been read! */
+static void direct_link_nodetree(FileData *fd, bNodeTree *ntree)
+{
+       /* note: writing and reading goes in sync, for speed */
+       bNode *node;
+       bNodeSocket *sock;
+       bNodeLink *link;
+       
+       ntree->init= 0;         /* to set callbacks */
+       ntree->data= NULL;      /* safety only */
+       ntree->owntype= NULL;
+       
+       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->block= 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);
+       }
+       
+       /* type verification is in lib-link */
 }
 
 /* ************ READ PACKEDFILE *************** */
@@ -2064,7 +2089,7 @@ static void lib_link_material(FileData *fd, Main *main)
                                ml->mat= newlibadr_us(fd, ma->id.lib, ml->mat);
                        
                        if(ma->nodetree)
-                               lib_link_nodetree(fd, &ma->id, ma->nodetree);
+                               lib_link_ntree(fd, &ma->id, ma->nodetree);
                        
                        ma->id.flag -= LIB_NEEDLINK;
                }
@@ -2087,7 +2112,9 @@ static void direct_link_material(FileData *fd, Material *ma)
        
        link_list(fd, &ma->layers);
        
-       ma->nodetree= direct_link_nodetree(fd, ma->nodetree);
+       ma->nodetree= newdataadr(fd, ma->nodetree);
+       if(ma->nodetree)
+               direct_link_nodetree(fd, ma->nodetree);
 }
 
 /* ************ READ MESH ***************** */
@@ -3058,7 +3085,7 @@ void lib_link_screen_restore(Main *newmain, Scene *curscene)
                                else if(sl->spacetype==SPACE_NODE) {
                                        SpaceNode *snode= (SpaceNode *)sl;
                                        
-                                       snode->nodetree= NULL;
+                                       snode->nodetree= snode->edittree= NULL;
                                        snode->flag |= SNODE_DO_PREVIEW;
                                }
                        }
@@ -3153,7 +3180,7 @@ static void direct_link_screen(FileData *fd, bScreen *sc)
                        }
                        else if(sl->spacetype==SPACE_NODE) {
                                SpaceNode *snode= (SpaceNode *)sl;
-                               snode->nodetree= NULL;
+                               snode->nodetree= snode->edittree= NULL;
                                snode->flag |= SNODE_DO_PREVIEW;
                        }
                }
@@ -3280,6 +3307,43 @@ static void lib_link_group(FileData *fd, Main *main)
 
 /* ************** GENERAL & MAIN ******************** */
 
+static char *libname(short id_code)
+{
+       
+}
+
+static char *dataname(short id_code)
+{
+       
+       switch( id_code ) {
+               case ID_OB: return "Data from OB";
+               case ID_ME: return "Data from ME";
+               case ID_IP: return "Data from IP";
+               case ID_SCE: return "Data from SCE";
+               case ID_MA: return "Data from MA";
+               case ID_TE: return "Data from TE";
+               case ID_CU: return "Data from CU";
+               case ID_GR: return "Data from GR";
+               case ID_AR: return "Data from AR";
+               case ID_AC: return "Data from AC";
+               case ID_LI: return "Data from LI";
+               case ID_MB: return "Data from MB";
+               case ID_IM: return "Data from IM";
+               case ID_LT: return "Data from LT";
+               case ID_LA: return "Data from LA";
+               case ID_CA: return "Data from CA";
+               case ID_KE: return "Data from KE";
+               case ID_WO: return "Data from WO";
+               case ID_SCR: return "Data from SCR";
+               case ID_VF: return "Data from VF";
+               case ID_TXT     : return "Data from TXT";
+               case ID_SO: return "Data from SO";
+               case ID_SAMPLE: return "Data from SAMPLE";
+       }
+       return "Data from Lib Block";
+       
+}
+
 static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID **id_r)
 {
        /* this routine reads a libblock and its direct data. Use link functions
@@ -3288,8 +3352,8 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
 
        ID *id;
        ListBase *lb;
-       char *str = NULL;
-
+       char *allocname;
+       
        if(bhead->code==ID_ID) {
                ID *linkedid= (ID *)(bhead + 1); /*  BHEAD+DATA dependancy */
 
@@ -3323,39 +3387,12 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
 
        bhead = blo_nextbhead(fd, bhead);
 
-       switch( GS(id->name) ) {
-       case ID_OB: str= "ID_OB"; break;
-       case ID_SCE: str= "ID_SCE"; break;
-       case ID_LI: str= "ID_LI"; break;
-       case ID_ME: str= "ID_ME"; break;
-       case ID_CU: str= "ID_CU"; break;
-       case ID_MB: str= "ID_MB"; break;
-       case ID_MA: str= "ID_MA"; break;
-       case ID_TE: str= "ID_TE"; break;
-       case ID_IM: str= "ID_IM"; break;
-       case ID_IK: str= "ID_IK"; break;
-       case ID_WV: str= "ID_WV"; break;
-       case ID_LT: str= "ID_LT"; break;
-       case ID_SE: str= "ID_SE"; break;
-       case ID_LF: str= "ID_LF"; break;
-       case ID_LA: str= "ID_LA"; break;
-       case ID_CA: str= "ID_CA"; break;
-       case ID_IP: str= "ID_IP"; break;
-       case ID_KE: str= "ID_KE"; break;
-       case ID_WO: str= "ID_WO"; break;
-       case ID_SCR: str= "ID_SCR"; break;
-       case ID_VF: str= "ID_VF"; break;
-       case ID_TXT     : str= "ID_TXT"; break;
-       case ID_SO: str= "ID_SO"; break;
-       case ID_SAMPLE: str= "ID_SAMPLE"; break;
-       case ID_GR: str= "ID_GR"; break;
-       case ID_SEQ: str= "ID_SEQ"; break;
-       case ID_AR: str= "ID_AR"; break;
-       case ID_AC: str= "ID_AC"; break;
-       }
+       /* need a name for the mallocN, just for debugging and sane prints on leaks */
+       allocname= dataname(GS(id->name));
+       
                /* read all data */
        while(bhead && bhead->code==DATA) {
-               void *data= read_struct(fd, bhead, str);
+               void *data= read_struct(fd, bhead, allocname);
 
                if (data) {
                        oldnewmap_insert(fd->datamap, bhead->old, data, 0);
@@ -3432,6 +3469,9 @@ static BHead *read_libblock(FileData *fd, Main *main, BHead *bhead, int flag, ID
                case ID_AC:
                        direct_link_action(fd, (bAction*)id);
                        break;
+               case ID_NT:
+                       direct_link_nodetree(fd, (bNodeTree*)id);
+                       break;
        }
 
        oldnewmap_free_unused(fd->datamap);
@@ -5221,10 +5261,11 @@ static void lib_link_all(FileData *fd, Main *main)
        lib_link_armature(fd, main);
        lib_link_action(fd, main);
        lib_link_vfont(fd, main);
+       lib_link_nodetree(fd, main);    /* has to be done after materials, it will verify group nodes */
 
-       lib_link_mesh(fd, main);        /* as last: tpage images with users at zero */
+       lib_link_mesh(fd, main);                /* as last: tpage images with users at zero */
 
-       lib_link_library(fd, main);     /* only init users */
+       lib_link_library(fd, main);             /* only init users */
 }
 
 static BHead *read_userdef(BlendFileData *bfd, FileData *fd, BHead *bhead)
@@ -5425,6 +5466,16 @@ static void expand_texture(FileData *fd, Main *mainvar, Tex *tex)
        expand_doit(fd, mainvar, tex->ipo);
 }
 
+static void expand_nodetree(FileData *fd, Main *mainvar, bNodeTree *ntree)
+{
+       bNode *node;
+       
+       for(node= ntree->nodes.first; node; node= node->next)
+               if(node->id)
+                       expand_doit(fd, mainvar, node->id);
+
+}
+
 static void expand_material(FileData *fd, Main *mainvar, Material *ma)
 {
        MaterialLayer *ml;
@@ -5444,12 +5495,8 @@ static void expand_material(FileData *fd, Main *mainvar, Material *ma)
                        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);
-       }
+       if(ma->nodetree)
+               expand_nodetree(fd, mainvar, ma->nodetree);
 }
 
 static void expand_lamp(FileData *fd, Main *mainvar, Lamp *la)
@@ -5862,6 +5909,9 @@ static void expand_main(FileData *fd, Main *mainvar)
                                        case ID_GR:
                                                expand_group(fd, mainvar, (Group *)id);
                                                break;
+                                       case ID_NT:
+                                               expand_nodetree(fd, mainvar, (bNodeTree *)id);
+                                               break;
                                        }
 
                                        doit= 1;
index 704215aaa7e762ad0d1588888260aad1f91f88fc..49071d175c00601a831aa57a732a78897e5980c1 100644 (file)
@@ -362,15 +362,13 @@ static void writedata(WriteData *wd, int filecode, int len, void *adr)    /* do not
        if(len) mywrite(wd, adr, len);
 }
 
-/* this is only direct data */
+/* this is only direct data, tree itself should have been written */
 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)
@@ -1044,8 +1042,11 @@ 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) 
+                       /* nodetree is integral part of material, no libdata */
+                       if(ma->nodetree) {
+                               writestruct(wd, DATA, "bNodeTree", 1, ma->nodetree);
                                write_nodetree(wd, ma->nodetree);
+                       }
                }
                ma= ma->id.next;
        }
@@ -1428,8 +1429,8 @@ static void write_actions(WriteData *wd, ListBase *idbase)
 {
        bAction                 *act;
        bActionChannel  *chan;
-       act=idbase->first;
-       while (act) {
+       
+       for(act=idbase->first; act; act= act->id.next) {
                if (act->id.us>0 || wd->current) {
                        writestruct(wd, ID_AC, "bAction", 1, act);
 
@@ -1438,7 +1439,6 @@ static void write_actions(WriteData *wd, ListBase *idbase)
                                write_constraint_channels(wd, &chan->constraintChannels);
                        }
                }
-               act=act->id.next;
        }
 }
 
@@ -1530,8 +1530,7 @@ static void write_groups(WriteData *wd, ListBase *idbase)
        Group *group;
        GroupObject *go;
 
-       group= idbase->first;
-       while(group) {
+       for(group= idbase->first; group; group= group->id.next) {
                if(group->id.us>0 || wd->current) {
                        /* write LibData */
                        writestruct(wd, ID_GR, "Group", 1, group);
@@ -1542,7 +1541,18 @@ static void write_groups(WriteData *wd, ListBase *idbase)
                                go= go->next;
                        }
                }
-               group= group->id.next;
+       }
+}
+
+static void write_nodetrees(WriteData *wd, ListBase *idbase)
+{
+       bNodeTree *ntree;
+       
+       for(ntree=idbase->first; ntree; ntree= ntree->id.next) {
+               if (ntree->id.us>0 || wd->current) {
+                       writestruct(wd, ID_NT, "bNodeTree", 1, ntree);
+                       write_nodetree(wd, ntree);
+               }
        }
 }
 
@@ -1603,6 +1613,7 @@ static int write_file_handle(int handle, MemFile *compare, MemFile *current, int
        write_materials(wd, &G.main->mat);
        write_textures (wd, &G.main->tex);
        write_meshs    (wd, &G.main->mesh);
+       write_nodetrees(wd, &G.main->nodetree);
        write_libraries(wd,  G.main->next);
 
        write_global(wd);
index 3e366710992709014b14965eb185f792fba963e5..ce741b9dd1c1545a6cb7f30966b2842271b27aca 100644 (file)
@@ -272,7 +272,7 @@ typedef enum {
        ICON_SYNTAX_OFF,
        ICON_BLANK52,
        ICON_BLANK53,
-       ICON_BLANK54,
+       ICON_PLUS,
        ICON_VIEWMOVE,
        ICON_HOME,
        ICON_CLIPUV_DEHLT,
@@ -462,7 +462,7 @@ enum {
        TH_NODE_IN_OUT,
        TH_NODE_OPERATOR,
        TH_NODE_GENERATOR,
-       TH_NODE_FREE,
+       TH_NODE_GROUP,
        
 };
 /* XXX WARNING: previous is saved in file, so do not change order! */
index 458887c91d1cb50ac3e9ad7d3fa8a982da723721..f6a9402b7a88fb4cad4da07e416bfebbbf2fe78c 100644 (file)
@@ -52,6 +52,8 @@ void node_deselectall(struct SpaceNode *snode, int swap);
 void node_transform_ext(int mode, int unused);
 void node_shader_default(struct Material *ma);
 
+int node_has_hidden_sockets(struct bNode *node);
+
 /* ************* drawnode.c *************** */
 void node_draw_link(struct SpaceNode *snode, struct bNodeLink *link);
 
index 8811892a99b3679cb972b70a8c5d8d64b5dce6c9..de1461b682c4e836ea5e5f7c9d1bb07f642d1edd 100644 (file)
@@ -126,6 +126,7 @@ typedef struct Library {
 #define ID_AR          MAKE_ID2('A', 'R')
 #define ID_AC          MAKE_ID2('A', 'C')
 #define ID_SCRIPT      MAKE_ID2('P', 'Y')
+#define ID_NT          MAKE_ID2('N', 'T')
 
        /* NOTE! Fake IDs, needed for g.sipo->blocktype or outliner */
 #define ID_SEQ         MAKE_ID2('S', 'Q')
index c0c0bd645a253dfc2a0d0a79ee931f120be69a24..ecdabe82e1d3605f9c9e34796f38bd233fd3ac1b 100644 (file)
@@ -37,6 +37,7 @@ struct ID;
 struct SpaceNode;
 struct bNodeLink;
 struct bNodeType;
+struct bNodeGroup;
 struct uiBlock;
 
 #define NODE_MAXSTR 32
@@ -55,10 +56,21 @@ typedef struct bNodeSocket {
        
        char name[32];
        bNodeStack ns;                          /* custom data for inputs, only UI writes in this */
-       short type, flag, limit, stack_index;
+       
+       short type, flag;                       /* type is copy from socket type struct */
+       short limit, stack_index;       /* limit for dependency sort, stack_index for exec */
+       short intern;                           /* intern = tag for group nodes */
+       short stack_index_ext;          /* for groups, to find the caller stack index */
+       int pad1;
+       
        float locx, locy;
        
-       struct bNodeLink *link;         /* input link to parent, max one! set in nodeSolveOrder() */
+       /* internal data to retrieve relations and groups */
+       
+       int own_index, to_index;        /* group socket identifiers, to find matching pairs after reading files */
+       
+       struct bNodeSocket *tosock;     /* group-node sockets point to the internal group counterpart sockets, set after read file  */
+       struct bNodeLink *link;         /* a link pointer, set in nodeSolveOrder() */
        
 } bNodeSocket;
 
@@ -69,6 +81,10 @@ typedef struct bNodeSocket {
 #define SOCK_IMAGE             3
 
 /* sock->flag, first bit is select */
+#define SOCK_HIDDEN                            2
+               /* only used now for groups... */
+#define SOCK_IN_USE                            4
+
 #
 #
 typedef struct bNodePreview {
@@ -114,6 +130,7 @@ typedef struct bNode {
 #define NODE_ACTIVE                    16
 #define NODE_ACTIVE_ID         32
 #define NODE_DO_OUTPUT         64
+#define NODE_GROUP_EDIT                128
 
 typedef struct bNodeLink {
        struct bNodeLink *next, *prev;
@@ -124,14 +141,19 @@ typedef struct bNodeLink {
 } bNodeLink;
 
 /* the basis for a Node tree, all links and nodes reside internal here */
+/* only re-usable node trees are in the library though, materials allocate own tree struct */
 typedef struct bNodeTree {
+       ID id;
+       
        ListBase nodes, links;
        
-       void *data;                                     /* custom data, set by execute caller, no read/write handling */
-       bNodeStack *stack;                      /* stack is only while executing */
+       void *data;                                             /* custom data, set by execute caller, no read/write handling */
+       bNodeStack *stack;                              /* stack is only while executing, no read/write */
        
-       int type, init;                         /* set init on fileread */
-       struct bNodeType **alltypes;            /* type definitions, set on fileread */
+       int type, init;                                 /* set init on fileread */
+       int cur_index, pad;                             /* sockets in groups have unique identifiers, adding new sockets always will increase this counter */
+       struct bNodeType **alltypes;    /* type definitions, set on fileread, no read/write */
+       struct bNodeType *owntype;              /* for groups or dynamic trees, no read/write */
        
 } bNodeTree;
 
index 56090dc75e21b8a66884143e973623b2cf39b38f..4bb6af1f9945ead8ec4503b0e7f4c0a72b6a81cf 100644 (file)
@@ -306,8 +306,8 @@ typedef struct SpaceNode {
        float aspect;
        void *curfont;
        
-       struct bNodeTree *nodetree;
-       int treetype, pad;                      /* treetype: same nodetree->type */
+       struct bNodeTree *nodetree, *edittree;
+       int treetype, pad;                      /* treetype: as same nodetree->type */
        
 } SpaceNode;
 
index c0eced8ad3a393f81b5ee478f462dd54dd16ba0d..64c0592e8cbb858ad2da33f3f8d74cba377ea3ee 100644 (file)
@@ -192,6 +192,8 @@ 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);
 
+void shade_material_loop(struct ShadeInput *shi, struct ShadeResult *shr);
+
 /* --------------------------------------------------------------------- */
 /* ray.c (2)                                                        */
 /* --------------------------------------------------------------------- */
index 3a5eb15d186edb07518ae10637764db4a032a550..d1f36cba3459fb83634b15a702b9956506f4b6ef 100644 (file)
@@ -52,6 +52,7 @@
 #include "DNA_texture_types.h"
 
 #include "BKE_global.h"
+#include "BKE_node.h"
 #include "BKE_texture.h"
 
 #include "BLI_rand.h"
@@ -2266,6 +2267,38 @@ void matlayer_blend(MaterialLayer *ml, float blendfac, ShadeResult *target, Shad
                ramp_blend(ml->blendmethod, &target->alpha, NULL, NULL, blendfac, &src->alpha);
 }
 
+/* also used as callback for nodes */
+void shade_material_loop(ShadeInput *shi, ShadeResult *shr)
+{
+       
+       shade_lamp_loop(shi, shr);      /* clears shr */
+       
+       if(shi->translucency!=0.0) {
+               ShadeResult shr_t;
+               
+               VECCOPY(shi->vn, shi->vno);
+               VecMulf(shi->vn, -1.0);
+               VecMulf(shi->facenor, -1.0);
+               shade_lamp_loop(shi, &shr_t);
+               
+               shr->diff[0]+= shi->translucency*shr_t.diff[0];
+               shr->diff[1]+= shi->translucency*shr_t.diff[1];
+               shr->diff[2]+= shi->translucency*shr_t.diff[2];
+               VecMulf(shi->vn, -1.0);
+               VecMulf(shi->facenor, -1.0);
+       }
+       
+       if(R.r.mode & R_RAYTRACE) {
+               if(shi->ray_mirror!=0.0 || ((shi->mat->mode & MA_RAYTRANSP) && shr->alpha!=1.0)) {
+                       ray_trace(shi, shr);
+               }
+       }
+       else {
+               /* doesnt look 'correct', but is better for preview, plus envmaps dont raytrace this */
+               if(shi->mat->mode & MA_RAYTRANSP) shr->alpha= 1.0;
+       }
+       
+}
 
 /* x,y: window coordinate from 0 to rectx,y */
 /* return pointer to rendered face */
@@ -2293,14 +2326,12 @@ void *shadepixel(float x, float y, int z, int facenr, int mask, float *col, floa
        }
        else if( (facenr & 0x7FFFFF) <= R.totvlak) {
                VertRen *v1;
-               Material *mat;
-               MaterialLayer *ml;
                float alpha, fac, zcor;
                
                vlr= RE_findOrAddVlak( (facenr-1) & 0x7FFFFF);
                
                shi.vlr= vlr;
-               mat= shi.mat= vlr->mat;
+               shi.mat= vlr->mat;
                
                shi.osatex= (shi.mat->texco & TEXCO_OSA);
                
@@ -2482,66 +2513,12 @@ void *shadepixel(float x, float y, int z, int facenr, int mask, float *col, floa
                /* ------  main shading loop -------- */
                VECCOPY(shi.vno, shi.vn);
                
-               if(1) { //shi.mat->ml_flag & ML_RENDER) {
-
-                       shade_lamp_loop(&shi, &shr);    /* clears shr */
-
-                       if(shi.translucency!=0.0) {
-                               ShadeResult shr_t;
-                               
-                               VECCOPY(shi.vn, shi.vno);
-                               VecMulf(shi.vn, -1.0);
-                               VecMulf(shi.facenor, -1.0);
-                               shade_lamp_loop(&shi, &shr_t);
-                               
-                               shr.diff[0]+= shi.translucency*shr_t.diff[0];
-                               shr.diff[1]+= shi.translucency*shr_t.diff[1];
-                               shr.diff[2]+= shi.translucency*shr_t.diff[2];
-                               VecMulf(shi.vn, -1.0);
-                               VecMulf(shi.facenor, -1.0);
-                       }
-                       
-                       if(R.r.mode & R_RAYTRACE) {
-                               if(shi.ray_mirror!=0.0 || ((shi.mat->mode & MA_RAYTRANSP) && shr.alpha!=1.0)) {
-                                       ray_trace(&shi, &shr);
-                               }
-                       }
-                       else {
-                               /* doesnt look 'correct', but is better for preview, plus envmaps dont raytrace this */
-                               if(shi.mat->mode & MA_RAYTRANSP) shr.alpha= 1.0;
-                       }
+               if(shi.mat->nodetree && shi.mat->use_nodes) {
+                       ntreeShaderExecTree(shi.mat->nodetree, &shi, &shr);
                }
                else {
-                       memset(&shr, 0, sizeof(ShadeResult));
-                       shr.alpha= 1.0f;
-               }
-               
-               for(ml= shi.mat->layers.first; ml; ml= ml->next) {
-                       if(ml->mat && (ml->flag & ML_RENDER)) {
-                               ShadeResult shrlay;
-                               
-                               shi.mat= ml->mat;
-                               shi.layerfac= ml->blendfac;
-                               VECCOPY(shi.vn, shi.vno);
-                               if(ml->flag & ML_NEG_NORMAL)
-                                       VecMulf(shi.vn, -1.0);
-                               
-                               shade_lamp_loop(&shi, &shrlay); /* clears shrlay */
-                               
-                               if(R.r.mode & R_RAYTRACE) {
-                                       if(shi.ray_mirror!=0.0 || ((shi.mat->mode & MA_RAYTRANSP) && shr.alpha!=1.0)) {
-                                               ray_trace(&shi, &shr);
-                                       }
-                               }
-                               else {
-                                       /* doesnt look 'correct', but is better for preview, plus envmaps dont raytrace this */
-                                       if(shi.mat->mode & MA_RAYTRANSP) shr.alpha= 1.0;
-                               }
-                               
-                               matlayer_blend(ml, shi.layerfac, &shr, &shrlay);
-                       }
+                       shade_material_loop(&shi, &shr);
                }
-               shi.mat= mat;
                
                /* after shading and composit layers */
                if(shr.spec[0]<0.0f) shr.spec[0]= 0.0f;
index 88a3136b567ce1e795f0fd6dfbb25c7dd6c9225f..790daa1d8183e668aae2288b5bae21c2ad464f88 100644 (file)
@@ -2665,6 +2665,8 @@ void RE_freeRotateBlenderScene(void)
        free_mesh_orco_hash();
 
        end_radio_render();
+       end_render_materials();
+       
        if(R.wrld.aosphere) {
                MEM_freeN(R.wrld.aosphere);
                R.wrld.aosphere= NULL;
@@ -2882,6 +2884,7 @@ void RE_rotateBlenderScene(void)
        }
        init_render_textures();
        init_render_materials();
+       set_node_shader_lamp_loop(shade_material_loop);
 
        /* imat objects, OB_DO_IMAT can be set in init_render_materials
           has to be done here, since displace can have texture using Object map-input */
index 1d8226adcc91aca70b8cb2578213d835c6b407c2..e3212c6383030e50d1cc6f55cba8bed2df204b6c 100644 (file)
 /* DataToC output of file <blenderbuttons> */
 
-int datatoc_blenderbuttons_size= 49076;
+int datatoc_blenderbuttons_size= 49344;
 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,
-191, 42, 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, 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, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1, 52,122,226,210, 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,  3,127, 41,
-188,189,153, 52, 46,149, 95,223,189,128, 48,184,133, 36, 32,140,131,167,158, 34, 43,248, 41, 42,142, 75,239,238,126,232, 62, 91,
-215, 66,232, 26,  3,246,215, 47,137,180, 23, 19, 16,111, 47, 38, 64,179,215,196, 80, 10,151,202, 55,247,175, 66, 24, 34,138,208,
-115, 17,206,156,127, 70, 45,255,122,236,198,126,  0, 61,191,148, 84, 44,236, 40,224, 41,226, 80,243,119,184,166, 81, 43,126,145,
-245,222,188,121, 19,249,124,180,194,194, 66,117,117,117, 26,165,171, 81,189, 84,209,123,249,242,101,  8, 67, 87, 87,151, 84,189,
-152, 87, 60,141,134,243,128,232,197,  3,  0,  2,  8,251, 50,208, 63,127,254,252,248,241,131,145, 25,116,169,214,223, 63,191,217,
- 88, 89,216,217,217, 73,173, 91,128,134, 48,128, 79,108, 38, 73, 23,176,208,  7, 22,247,144,162, 95, 66, 86,  1, 72,190,192,125,
-208, 60,102, 33,  8, 44,254, 32, 69,225,212, 77,167,128,100,182,159, 25,195,224,  6,192, 66, 31, 88,220, 67,138,126,109, 19,107,
- 32,121,245,204, 81, 90,251,119,243,151, 47, 59,191,126,117,231,230,  6,146, 12, 47, 95,158, 42, 47,  3, 10,154,117,118,209,212,
-167,  7, 14, 28, 88,177, 98,  5, 48, 93,193, 69, 56, 56, 56, 34, 34, 34, 28, 28, 28, 70, 27, 98,131, 10,  0, 11,125, 96,113, 15,
- 41,250, 73, 77,147,144,147,187, 32, 69, 63, 73,105, 18,249,124, 83,242,214,119,146,113,165,224, 40,  0,  8, 32, 44,165,243,167,
-207, 95, 36,213, 76,237,117, 53,184,216, 89,255,255,255,255,247,239,255, 43,183, 31,222,191,116,152,147,157,149,200, 67, 58,129,
-128,135,227,129,182,234,189, 43,183,148,190,254, 84, 32,190,232,  7,146,156,252,194, 64,  6,164,232,199,218, 27,192,211,254, 53,
-139,174,  0, 50, 32,201, 14, 83, 22,235,122, 39,100, 99,217,216,216, 24,192,251,203, 65,151,  7,128, 15, 37,133,184,135,137,153,
- 21,127,163, 27,  8, 36,197, 64,109,231, 95,159, 62,252,  4, 87,123, 95,254,252,133,184,135, 95, 76,  6,127,123,159, 95, 74, 25,
-200,128,100, 51,108,189,  1, 65,234,250, 23,  8,114, 94,130,122,  6,144,210, 31, 82,244,131,218,230,187,118, 35,203,250,224,141,
-169,143,220,111,222,242,188,254,240,246,142,152,128,166,204, 27, 21, 98, 34, 23,216,246, 95,185,114, 37,114,233, 15,  4, 64, 46,
- 39, 39,167,164,164, 36, 90, 63, 96,120,131, 61,123,246,144,116,203, 52,158,195, 16,105, 81,244, 67,210, 36,144,129,153, 38, 97,
-189,  1, 65, 60,229, 47, 48, 77,  2, 25,152,105, 18, 34,139, 43, 77,  2,101, 15, 29, 63,197,204,204,242,247,239,159,143,159,191,
- 68,  5,251,247,244,244,144, 87,250,211, 57,196,  6, 57,216,130,109,237, 56,114, 44,  0,  4, 16,122,  5,240,245,251, 47,103,191,
- 40, 89, 49,126, 46, 14,208, 37, 42,127,255, 49,176, 48, 51, 10,241,107,104,171,202,237,217,185,245,239,239,175,196,212,  1,191,
-126,253,210,212,190,175,175,113,159,153,233,239,129, 51,210,108,172,132, 79,115,  5, 22,196,192,162,150,159, 15,116,255, 34,132,
- 68,147,  5, 86,  9,184,186,  2,192,242, 14,152,236,226,195,131,128,108,  8,137, 38, 11, 76,142,  4,155, 33, 64,127,201,200,200,
-  0, 73,160,227,191,126,253, 10, 44,253, 33, 39, 54, 19, 85,219,177, 48,207,155,176,158,157,159,225,229,  3,134,211, 95,158,190,
-126,113,103,113,127, 37,193,134, 63, 48,155,201, 72,129,134,182, 32, 36,214,177, 32,242,252,139,231, 28,  0, 96,249, 14, 44,250,
-155,115,178,129,236,102, 88,209,191,228,214, 45, 68,233, 79,232, 16,129,  7,255, 15, 51,152, 61,141,144,139,249,249, 79,133,253,
-223,255,235,111,246,158,223,125, 83,229, 95, 22,126,255,246,247,247,127,255,254, 29,249,248,107,  8, 27, 40,  8,236,  7,144,122,
-202,205,245,235,215, 39, 78,156, 72,203,251,205,105, 88,250,175, 90,181,234,253,123,215,213,171, 67,137, 81, 15, 57,157,159, 62,
- 37, 26,176,124,  7,166,201, 91,231,143,  1,139,126,228, 52,185,111,235, 58,113,113,113,248, 88, 16,174,242, 23, 79,154,  4,149,
-206,240,227, 85, 49,  0, 48, 30, 95,188,122,115,254,202, 53, 88,179,224,103,215,228, 89,233,  9,145,163,133, 56, 29,  0, 64,  0,
-161, 76,  2,127,254,252,217,198, 45, 80, 67, 78,152,157,149,  9, 88,250,191,120,241,226,242,197,243,191,254,  0,153,255,133,249,
-185,220, 60,125,190,255,252, 67,140,161,236,172,175,148,229, 94, 48, 48, 51,106,169, 62,102,103,121, 73, 82,233,143,210,210,252,
-244, 25, 88,232,  3,165, 48, 59,  4, 88, 75, 67,100,176,112,229, 58, 96,161, 15,148,194,108,140,160,  1, 96,195, 31, 88,238,243,
-241,241,221,187,119, 15, 88,232,131,170, 61,162, 75,127, 96,195, 31, 88,250,  7,230,182,120, 70, 89,109,185,242,244,197,119,  6,
- 82, 75,127,100,240,228,217, 11, 96, 95, 91, 84,144, 15, 92, 53, 51,147,225, 95,143,224,120, 80, 11,141,133,149, 96,233, 15,  4,
-181, 83,166,  2, 17,164,244,  7,246,  6, 74,221,192,237,126, 81, 54,124,229, 17,255, 54,183, 16,169, 68,249, 44, 86, 38, 30,110,
-  6, 46, 38,  6,102,105,113,107,155, 96,231,123, 82,253,248,  7,127, 64, 46, 92,184, 16, 82,238,163,145,112,  5,196,128,111,223,
-190, 17, 20,161, 17, 72, 75, 75, 11, 13, 93,189,116,233, 82,202, 75,127, 33,161, 61, 68,106,153,  9,  6,140,140,140,200, 87, 54,
-210,174,244,111,173, 42, 92,189,122,245,156,201, 61,200,165, 63, 80,100,202,148, 41,120,210, 36,114,233,143,153, 38, 61,173,193,
-167, 78,241,114,227,210,219, 59,121, 58,164,244,127,245,230, 45, 16,  1,123,  0,172,172, 44,211, 23, 44, 39,230,210,155, 81, 64,
- 12,  0, 54,249,145, 17,178, 20, 64,  0, 33, 42,  0, 96,169, 39,172,160,167, 32, 33,240,227,247, 95, 96,109,189,115,231,142, 69,
- 11, 23, 92,186,120,177,180,168,128,153,153,  9,216, 23,224,227, 98, 87,208,179,  1, 54,217,240, 91,246,251,247,111,109,213,135,
-124, 60,223,230, 45,124,197,196,248,223, 76,247, 38, 80,132,160, 19,209, 74,127, 72,209,255,253,227, 91,120,197,  0, 20,193,165,
- 23, 45,229, 65,146,221,169,165, 29,240, 68,  9, 20,193, 99,181,178,178,178,176,176,240,167, 79,159,128, 53,  1, 19, 19, 19,208,
-131,192,210, 31,210,209, 33,120, 26,215,218, 13,235, 11, 38,236, 90, 63,185,  6, 88, 19,112,113, 11, 61,254,251, 20, 88,250,243,
-128,243,  9, 51, 94,189,104,165, 63,164,232,255,248,236,174,134,140,216,231,111, 63,216,185,216, 25,254,254, 37,213,191,149,179,
-183, 92, 61,119, 92, 71, 73,235,227, 95,156,245, 52,164,244,  7,182,250,129, 69, 63, 68,  4, 88,244,  3,209,189,244,198, 93,215,
- 46,105,155, 41, 49,188,197, 25, 89, 23,217,182, 88, 59,136,138,114,107,126,255,255,153,225,231, 43,182,159,239,126,254,253,252,
-227,223,247,127,108, 60,210,182, 38,107, 46,180,225,210,  8, 25,250,135, 92,107,  5,207,246,112, 54, 80, 10,168,128,152,116,252,
-230,205,155,162,162, 34, 96,219,255,198,141, 27, 64,238,225,195,135,219,218,218,106,106,106,232,147,139,128,  5, 55, 85,218,254,
-192,210,191,170,138,168,147,198,225,133, 62,242,189,140,180,  3,192, 52,  9,185, 58,248,236,217,179,192,114, 31,152, 38, 33,165,
- 63,  3,248,214, 70,242,210,100, 87,130,207,149,187,143, 37,148, 36, 25,190, 18,168,167,129, 69,255,239,223,127,192,  5,200, 31,
- 32,122,252,240,  1, 73,142, 71,238, 46,140,118, 29,136,  7,  0,  1,132, 24,  2,250,249,243,167,161,134,  6, 23, 39, 43,176,189,
-255,247, 31,195,209,195, 71, 26,155, 91,254,253,103,184,125,231,206,165,139, 23,116,116,244,153,153, 25,213,149,100,238,157,251,
-195,137,247, 96, 77, 54,150, 87,106, 10,207, 24, 88, 24, 31, 63,255, 13, 36,245, 52, 30,158,186,252,234, 63,  3,177, 75,110,224,
-227, 60,104,125,  2, 96,101,  0, 94, 11,244, 20,143, 94,248, 56, 15, 90,123,  4,152, 16, 65,107, 99, 94, 99,239,139,252,249,243,
-135,139,139, 11, 88,244, 11, 10, 10,  2,155,147, 95,191,130, 14,130, 22, 21, 21,125,251,246, 45,193, 51,170,126,188,103, 48,227,
-228, 44,157,124,216, 85,159,225,225,121,134,211, 96, 65, 32,119, 82,161,227,223,127, 68, 93, 65,  3,159, 94,115, 54,214, 96,225,
-101,218,121,224,154,161,134, 44, 31, 15,251,193, 51,119, 68, 20,181, 31,160,174,  2,194,229,223, 77,215,254, 51, 60,103,240,115,
-102,156,189,229,158,176,160, 98,144, 53, 35, 30,255, 66,198,124,118,126,133,158,119,253,191,161,159, 65,250, 35, 99,106,253,255,
-198,102,  6,166,239,140,167,218,166,136,139, 99, 61,149,251,135,198, 67,121,  1,175, 79,127,191,252,124,127,103,241,163,101, 71,
-252,222,107,165, 56,186,229,242,112, 10,170,115,176,  8,178,248,125, 60,189,238,180,169,137, 41,206,206, 38, 19, 19, 60, 60,145,
-217,196,  3, 17, 17,145,252,252,252, 35, 71,142,236,220,185, 19, 84,117,237,220,169,169,169, 25, 24, 24, 72,159,172, 18, 16,240,
-139, 90,165,191,188,188, 60,145,133, 26,188,220,135,116,  2,200, 62,195,149, 72,224,228, 29,  4,236,  7,  3, 43,  0, 96,185,111,
- 12,102, 48,128,175,183,243,176, 55,129,164, 73, 93, 93,221,  7,120, 87,152,192,211,228,243, 13, 29,188,218, 28, 60,170,  5,171,
- 58, 82,244,117, 36,212,125, 90,128,222,193,186, 58,  5,216,182,227,224,  0,173, 49,  1, 54,252,191,125,251, 65,182,227, 71,203,
-125, 92,  0,207, 97,112,  0,  1,132,168,  0,254,253,251,199,197,206,246,235,207,127, 38, 70,  6, 32,170,111,106,  1, 86,  3, 95,
-191,126,121,241,226,185,184,184,196,255,255,255,254,252, 97,224, 96,101, 97,102,197, 55, 68,  0, 44, 76,181,148,159,136,  8,126,
-  2, 13,249,129, 47,250,100,100,252,111,164,125,251,228, 37,113, 98,150,  3, 65,154,249,152,195, 65,120,154,255,200,141, 14,204,
-162,159, 96,243, 31,210,174, 20, 19, 19,131, 44,115,  2,118, 86, 32,115,191,252,252,252,172,172,172,143, 31, 63,198, 63,125, 49,
-127,207,193, 20, 31,123,  7, 48,251,214, 31,208,248, 15,144,225,160,198,192,215,178,191,176,196,138,160,155,129,141, 44, 32, 41,
- 39, 38,244,254,231, 79, 22, 62,230, 31,175,191,  1,139, 70, 73,121,153, 93,251, 78, 19,233,223,248,226,214,251, 71,247,178,188,
- 96,248, 32,206,  0,172,196, 44, 20, 20,157,236,241, 45, 81, 69, 30,241, 95, 18,158,178,246,231, 77,  6,149, 31, 12, 39, 89, 24,
-120, 88, 24,124,141,101,124,227,241,117,149,164,133,126,253,122,199,250,231, 55,176,244, 63,158,192,111, 23,232,175, 33,166,121,
-101,215,  1,195,208,175,172,191,190,254,209,248,247,250, 37,190,137,122, 72,137, 15,153,  3, 64,102,147,  4,128, 37, 62, 55, 55,
-247,245,235,215,185,192, 32, 58, 58,154,214,195, 62,192, 82, 27, 88,244, 71,131,  1, 61, 75,127,180, 49, 31,200,197, 41,116, 40,
-227, 60,130, 99,148,148,148,128, 21,  0,164,244,  7,182,253,197, 37, 37, 73, 74,147,105,190,118, 39,158,189,226,213,231,125,186,
-243, 46,  3,  7,123,112,110,156,144,140, 15,222, 66,227,239,211,231, 47,129,165, 63,164,  7,  0,  4,164, 54,255, 49,  7,139, 70,
- 43,  3, 60,149,  1,114, 29,  0, 16, 64, 40,115,  0,255, 33,107, 96,254, 51,  0,139,126, 38, 80,217,205,176,110,237,154,192,160,
- 16, 17, 81, 49, 72,166,253, 79,232,144,113,102,166, 87,218, 42,208,203, 17,245,116,184,192, 77, 23,  6, 35,173,123, 64,113, 98,
- 28,135, 60,230,131, 38, 14,223, 10,128, 11, 32,143,249,160,137,195,151,198, 99,  5,159, 62,125,250,252,249, 51,176,  3,  4,172,
-  2, 95,191,126, 13, 25,255,  1,118,  5,190,124,249, 66,112,  8,104,253,228,154,  3, 87, 24, 62, 62, 96,248,253,157, 97, 82,185,
- 35,100,252,231,220,121,134, 11,207,143, 18,179, 94,234,227,179,187, 66,252,220,194, 66,220,234,106,154,247,238,191,190,245,244,
-173,156, 48,255,207,151,175,254,252,254,  3,223, 10,128,199,191, 86, 14,254, 54,142,145,235, 55,175,218,127,104,213,178,190,226,
-224,226,182, 75,191, 25, 94,191,125,133,199,191,240, 17,255, 68, 43,243,104, 45,249, 85,235,247, 93,186,244,160,239,242,217, 21,
-174,113, 12,115,143, 61,125,250, 26,190, 21,  0,203, 16,193, 15,246,191,191,222,252,250,  5,186,252, 93, 92, 90, 86, 67, 83,243,
- 19, 39,104,166,228,251,191,111, 76, 63,191,114,126,101,126,249, 28,123,  5,  0,  9,198, 31, 96,  0, 31,246, 65, 91, 17, 68, 36,
-  0,198,203,146, 37, 75,128,213, 64, 65, 65,  1,176,230,134,116,  5,  6,237,176, 15,217,165, 63,114,243, 31, 50,247,  0,239,  4,
-208,186,128,  0,166, 73, 52, 17,120,154,132,111,  5,192,147, 38,109, 77,213, 93,172,213, 90,155,122,122, 39,108,171, 91,178, 47,
-195,201,228,197,198,109, 31,223,127,194, 85, 34,  3,197, 67,253, 60, 32,195, 62,240, 10,  0,  8,218,234, 43,137, 47,196, 71,139,
-123,252,  0,109,244, 31,185, 67,  0, 16, 64, 76,200, 61,244,143, 95,190, 49, 51, 49,  2, 43,228,127,255,255,255,249,  7,154,180,
-191,120,225,188,147, 51,232,  6,187,191,255,255, 51, 51, 49,127,254,246,235,207,175,159, 56,107,242,191,127, 21,165,159,139, 10,
-125,132, 84, 38, 86,102, 60,144,203, 85,129,157,  0, 67,205, 59,127,254,254, 37,166,249,143,117, 42,152,216,230, 48,182,105, 40,
-130,122,  5,  5,  5,129,229, 62,176,  7,  0,172,  6, 68, 69, 69, 33, 19,194,192,226,233,195,135, 15,  4, 43,128,180,214, 21,192,
-114,159, 95,129,  1, 88, 13,228,117,238,  7,150,254, 65,249,237, 79,254,189, 88,218, 87,  6, 12, 73, 98,154,255,198,198,106,162,
- 74, 10, 98,162, 34,108,192,144,103,252,255,250,235,247,247,159,127, 16,233,223,222,142, 13,  1,154,138,124,124,194, 92,162, 82,
-191,223,189, 63,191,101,249,135,119,143,136, 76, 19,243, 58,114, 24, 10, 93, 88,254,252, 82,248,202,240,138,249,211,164,231,167,
- 25,216,248,  8,140,119,221,253,244,134,233,251, 35,182,111, 38, 42,142, 90,113, 60,247,  4, 15,136,138,158,151,181,184,247,145,
-233,243,207,255,223,191, 45,249,199,193,195,139,167,237, 79, 21,240,240,225, 67, 32,  9,108,140,139,136,136,  4,  6,  6, 66, 90,
-169,180,  3,233,233,130,152, 35, 63,196,207,  6,147, 93,250, 35, 23,244,240, 74,  8,114, 99, 59, 77,253, 11, 76,147,199,143, 31,
-135,140,251, 27, 27, 27, 51,128, 47, 34, 94,185,105, 27,241,105,114,227,250,  6,247,242, 92, 47, 47,103, 17,118,230,207,140,255,
-119,222,122,124,252,202, 83,130,197,119,102, 66,228,189, 59,119,128, 13,127,  8,  2,150,254, 88,219,245,163,128,188,162, 31,215,
-248, 15, 16,  0,  4, 16, 98, 88,  6, 88,  2,222,190,118, 73, 65, 74,136,147,149,229,239,223,127,224, 43,154, 25,210,210,179,129,
- 93,130,191,224,221,  0,223,126,252,184,126,235, 30, 27, 27,206, 65,145, 63,191,223, 25,106,221,135,103,250,172,194,251,107,151,
-168, 66,250, 12, 38, 58,119, 79, 92,212,100, 97, 22, 37,216,252, 71, 43,250,129,130, 12, 72, 59,129,241, 55,255,209,146, 35, 80,
-144,  1,105,103, 44, 46,240,247,239, 95,  9,  9,  9, 96, 15,224,229,203,151, 64, 54,176,100,121,251,246, 45,144,132,220, 82,141,
- 95,239,235, 23,119,106, 90,246,  3,123,  0,221,197,182, 95,254,252, 45,234, 92, 61,177, 60,180,184,111, 11, 11,232, 14, 26,194,
- 77, 45, 73, 17,  1, 86,  6,214,191, 12,140,207,239, 95,125,248,234,163,178,168,208,197,119,207,206,221,125, 74, 76,243, 63, 56,
-169,136, 85,136,129,137,153, 97,193,182,251,107,167,149, 38,117,204, 44,242,213,207,118,150, 39,232, 95, 96,243,191,215, 47,140,
-225,  3,  7,  3, 35, 43, 67,111, 79,200,233,195,187,156, 51, 25,219,115, 25, 79,148,225,105,254,  3,193,197, 23, 34, 54,223, 63,
-126,225,100,254,198,193,161, 28,204, 10, 44,244, 63, 50,177,254, 97, 80,251,255,247,219,239, 55,207,143, 78,254, 24, 29,165, 76,
-163,116, 12, 31,140,214,  4,  3,136,160, 45, 24,208, 52,255, 96, 93,176, 79,100,183,128,236,210,159,  1,117,244, 31,109,193, 40,
- 77,103,  2,110,157, 63,  6, 15,234,172,164,176, 29,176,177,160,237, 74, 74,  4,247, 46,  0,211,100,184,139, 57,255, 63,193,111,
- 12,172,107,251,115,167,109,185, 80,234, 97,147,208,183, 44,164,109, 49,193,122, 11,190,119, 12,141, 59,186,162,159,214,  0, 32,
-128, 16, 61,  0, 96,203,247,195,243, 59,119, 31,191,101, 97,101,  6,246,  1,126,255,249,123,238,220,217, 69,139,230,255,250,251,
-255,247,223,127,108, 44, 76,175,222,127,121,122,253, 56, 39,142, 41, 96, 96,209,169,169,252, 16,218,252,  7,247,251,215, 46, 81,
-  3, 13,  0, 49,253,  7, 34, 38,166,127, 22,250,215,255,226,238,  4,160, 53,255,225,171,128,128, 69, 63,193,210, 31,173,249, 15,
- 95,129,  0, 44, 10,  9,150,134,224,252,252,254,203,151, 47,172,172,172,144,230,255,191,127,255, 32, 36, 49, 21,192,226,254,202,
-115, 79, 15,242, 72,128, 38,126,121, 89,152,129,245,  1, 31, 59,235,135,119, 79,128,205,127, 22, 38, 38,130,205,127, 89, 33,222,
-107,247,238,255,249,245,139,157,133,237,203,151, 31, 23,239, 63,  3, 22,253,  4, 75,127,136,127,253,115,154,151, 78,154,248,237,
- 31,131,172,178,204,149,171, 39,128,165, 63,145,254,  5,130, 34,101,147,205,183,247, 49,124,252,195,192, 33,178,251,212, 53, 96,
-233, 15, 44,250,241,151,254, 64,160,255,203,231,232,238, 83, 12,191, 62,127, 97,252,252,158,233,203, 71,150,223,191,255,126, 98,
-255,241,141,227,217,253, 21, 85,183, 21, 12,212,240,204,  0,  3,  1, 60,229,112,128,  1,154, 32,126, 48, 27, 12,  6, 48,159, 64,
- 90,253,192, 50,157,  1, 60, 27, 76,112, 66,152,146,210, 31, 88,196,255,199,189,100,158,118,203,129,128,105, 18,190,230,167,166,
-182, 16,152, 38,197,197,197, 33,235,130, 32,226,  4,211,100,138,131, 94, 65,207,196,207, 47, 95,137,242,137, 93,189,246,  8, 88,
-250, 67,150,177, 18, 89,231,193,  1,242,168,206,104, 63,128, 18,176,101, 73,243, 22,188,247,136,  0,  4, 16,202,196, 44, 47, 47,
-239,217,  3, 27,254,255,247, 83,144, 18,230,229, 98,215,210, 49,208,210,214,103, 97, 98,248,242,253,239,163,231,239, 78, 29,216,
-202,195,205,133,203,160,175,223,190,169,201, 63,255,241,147,227, 63,228,218,188,255, 12,156, 28, 63,128,201,248,221,  7,118,160,
-  0, 47,247, 31, 93,181,  7,135,207, 24,  2,173,192,223,252,135,183,250,129, 92,214,255,191, 25,254, 64, 87,143,253,101,225, 34,
-216,252,135,183,250, 33,220,143,175,160, 75, 14,240,108,199,133,215,  1, 64, 18,216, 15,  0,146,239,222,189,227,227,227,131,140,
-255, 16,115, 41, 43,120,213,127,123,102,168, 61,195,164,195,211,170,189, 67,138, 39, 46,235,200,  6,246,  0,216,216, 57,  8, 54,
-255,175, 61,122,165, 34, 43,178,119,207,  9,  6,240,246, 75, 32,249,251, 39,180,175,205,138, 91, 59,164,249,223,146,228,156, 87,
-191, 64, 86,137,145, 36,255, 66,154,255,110,235,231,237,138,142,100,148,177, 96,  0,111,  9,102,  0, 31, 14,  1, 81,224,203,195,
-131,199,217,122, 63,203, 46,110,223,242, 67,253,152,130,170,206, 39, 78,134,251, 12, 15, 63, 63,120,253,186,237,239,151,247, 50,
-133,113,197,248,  3,106,250,244,233,192,226,254,251,247,239,240, 34, 12,200,  5, 10, 14,137,140,  4,105,245,191,  4,111,147, 38,
-102, 54, 24,216, 94, 38,175,244,103,128, 93,254,142,167,224, 35,117, 47, 49,145,  0,152, 38, 91, 27,106,214,109,222,238,110, 99,
-  4, 79,147, 64,100,124,239,158, 71,112,204,163,183,223,228,132,185,240, 55,255, 11,102,109,174, 74,118,147,146,112,128,212, 34,
- 16,167,226,233, 75, 17,217, 45, 24,237,  7, 80,177, 62, 64, 19,  1,  8, 32,244,149, 57,124,188, 60,231, 14,108,184, 47,163,174,
-164,170,201,199,205,249,239, 63,195,247,159,191,238,221,187,247,250,222,  5, 94, 30,110, 38,220,173, 90, 78, 14,142, 85, 59,236,
-241,180,241,129,122,185,185,  9, 52,247, 32,107, 64,129, 77,254,127,127,127,131, 74,127, 48,248,205,200,138,235, 48,  6,100,  0,
- 89,127,  6,108,  2,195,203, 65, 34, 75,127,120, 29,  0,223,252,  5,172,  3,112,  6, 16,142, 58, 96, 49,108, 35,212,236, 54,216,
-158,216,223, 95, 20,241,234,  2, 54,255, 79,189,249,112,225, 54,104,192,  7, 94,238, 19, 44,253, 33,  0,216,252, 95,107,196,157,
- 19,168, 65,134,127,129,205,255,226, 77,171, 24, 91,235,183,139,155, 79,248,114,  5, 46,110,200,194, 42,195, 65,248,196, 39, 96,
- 63, 96,251,166, 31, 79,222,223,125,253,246,249,203, 91, 60,204,127,249,172,245,108, 29,227, 28,105,154,112,  7,124,211, 47, 25,
-107, 64,211,211,  5,201, 40,253, 25,  6,116, 74, 19,152, 38, 45, 45, 45,209,210, 36,176,244,103,  0, 77,  5,115,225,215, 11,108,
-254,187,238, 57, 25, 93,191,200,206,206, 78, 28,181, 55, 73,118,117,  5,169,  3,  8,  6,  8,102,101, 57, 90,103,224, 41,247,145,
-103,  2,  0,  2,  8, 75,249,  6,108,255,254,124,247,248,220,  1,208,114, 17,200,133,203,236,236,236,152,115,179,104,128,149,149,
-149,159,136, 35, 31,240,  0,200,128, 15, 51,176,201,255,231, 27, 51, 82,209, 79,204,137,213,144,  1, 31, 96, 81,136, 92, 26, 18,
- 83,244,243,139, 74,253,194, 61,173,141, 31, 68, 55, 47,190,125,227, 42,217,254, 61,117,235, 49, 36,155, 33,151,254,  4,139,126,
-  8,136, 51,226, 38,207,191,160, 56,237, 47,131, 20,253,240,210,159,200,162, 31, 14, 60, 21, 67, 24, 32,149, 27,113,107,100,128,
-197, 55,100,211, 47,176,189, 15,223,253, 11,100, 64,154,255, 64,198,224, 63,212,129,140, 53,160,180,104,164,211, 26, 96, 77,147,
-  4,139,126,  8,112,173,153, 77,197,162,159,164,234,112,180,172,199,  5,208,110,132,103,192,152,  7,  6,  8, 32,236, 13, 92, 22,
- 22, 22, 92, 99, 53,180,  0,144, 81,126, 72,209,207, 64, 98,209, 15, 25,245, 38,175, 40,100,  0,173, 92,250, 71, 76,247,  2, 43,
-120,245,238, 35,241, 22, 33,  3,200, 40, 63,121, 69, 63, 37,254,133,140,242,111,254,242,133,236,162,127, 20, 12, 87,  0, 89,226,
-249,232,237, 55, 50,138,126, 72,249, 11, 31,237, 25,186,245,223,112,173,  3,240,200,  2,  4,208,232,157,192,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,192,
- 95, 10, 63,210,244,254,120,241,152,120,189, 28, 18,178,163,225, 60,170,119, 84,239,168, 94, 26, 93, 10, 15, 16, 64,131,186,  7,
- 64,234, 46,240,123,247,238,237,129,  1, 32,123,180,122,199,  3, 62,126,252,248,232,209,163,227,199,143,159, 59,119, 14,200, 32,
-207, 16, 42,158,242, 54, 10,  6, 57,184,121,243, 38, 73,138, 51, 50, 50,200,182,136,108,189,163,128, 84,  0, 16, 64, 44,131,214,
-101,164,150,224, 64,245, 29, 29, 29, 97, 97, 97,200,218,149,148,148,136,215, 14,  4,171, 87,175, 14, 13, 13, 85,  2,  3,252,234,
-211,210,210,  8,154,  9,116, 12,214,213,208,187,119,207, 39, 70,239,251,247,220, 52, 10,219, 87,175, 94,253,252,249,147,145,145,
-145,131,131,227,199,143, 31,192, 10,224,244,233,211,250,250,250, 42, 42, 42, 36,153, 67,204, 81, 25,224,138, 60,147, 24,101, 51,
-103, 78,167,182,222,116, 28,138,209,143, 30, 35,152,174, 24,234, 25, 25,155, 48, 42,191,122,198,176,235,161, 12,236, 26,  4,157,
-231,238, 14, 58, 82,151,188,195,171, 33,103, 65,167,167, 11, 82,178,178, 30, 88,170,246,247,247, 19,220,112,151,154,154,  6,244,
- 22,102,172,150,148, 20, 19,163, 29,158, 42, 38, 76,152, 96,111,111, 15, 44,199,151, 45, 91,246,233,211, 39,130,150,162, 20, 73,
- 44,204, 17, 86,108,233, 25,233, 93, 59,186, 75, 92, 75, 32,130,179,103,207,194,170, 55, 38,  6,180, 75,153,155, 27, 75, 78,129,
-220,236,148,144,144, 48,186, 35,  1, 25, 64,246,133,193, 87,255,  3,  4, 16,246, 10,  0,243,176, 17, 26, 29, 63, 66,197, 10,  0,
- 94,250,  3,221,  9,217,147,  2, 52,129,200, 10,  0,146,201, 33,197, 25,228,220,171,242,242,114,194,122, 87, 11, 17, 50, 24,103,
-136,125,245, 37,112,139, 58,  3, 17,135,164,145,119, 15,  6,176,237, 47, 38,  6,189,224,129,147,147, 19, 88, 25,124,248,240,129,
-159,159,255,212, 41,208,229,201,196,212,  1,192,224,133,132, 18, 48,196,130,131,131,129,  1, 78,176, 38,216,180,105,  3,132,225,
-231, 23,128,139,141, 75,239,247, 99, 57,208, 32,177,154,  2,103, 35,115,129, 12, 92,122,119,236, 64,185,220,236,208,161, 67,109,
-109,109,200,  1,181,100,201, 18,252,  9,163,179,179,179,131,189, 19, 92, 16,135,162,100,129,122, 70, 82,147, 52,253, 51, 17,114,
-233, 15,244, 50, 48,198,151, 46, 93,122,228,200, 17,175,168,106, 92,138,143, 97, 92,161,189,126, 53,168,244,255,247,239,223,172,
- 89,179,128,218,249,228,236,177, 22,250,240,238,224,141, 27, 55,128,220,200,200, 72, 32, 59, 42, 42,138,152,106,163,103, 55,244,
- 22,226, 23, 59,159,  3,245, 46,203,231,  2, 26, 89,238, 81,198,  0,142,189,229, 11,151,101,216,227,235, 19, 24, 27, 27, 19,223,
-212, 27, 45,253,145,  1, 64,  0, 49, 97, 45, 86,128,217, 27, 24,217,104, 25,158,200,  1, 25, 74,198, 94,144,245, 66, 26,227,196,
-235,  5, 58,216,  5, 12, 32,117,  0, 73,  9,  2, 82,250,  3,173,  3, 93, 79,  1,182,148, 72, 95, 48,134,189,135, 32, 60, 34,184,
-  0,207,150,233, 16,132, 71,132, 96,233,255, 31, 12,136, 31,141,121,255,254, 61,176,172,  7, 86,  0, 73, 73, 73,209,209,209,108,
-108,108,192, 58,  0,216, 15,  0,122,159,153,153,153,224,241,250,215,174, 93,  3,218,187,102,205, 26, 72,112,  1, 45, 93,187,118,
- 45,176,161,  7, 20,167,115, 82, 70,171, 12,104,212,  4,  1,150,254,192, 36, 17,126, 35, 12,212,210, 71, 13,252,138,159,229,104,
-125,  2, 92,  0, 24, 62,165,165,165,138,138,138,100,184,  1,168, 23,216,246, 23, 22,222, 75,121,219, 31, 94,250,147,164, 29, 94,
-250, 23, 23, 23,227,209,142,156,252,128,205,127, 59, 59, 59, 32,  3, 88,  7,  0,251,  1,  4,203, 13, 52,189,225,150,160, 86,233,
-178,124, 78, 96, 63,160,204,189, 20,191, 94, 96,219, 31,104, 23,176, 59,238,130,  1, 32, 82,163,205,127, 60,165, 63, 16,  0,  4,
- 16, 19,182, 46, 39,244, 98,104, 72, 59, 26,222,220, 35,166, 56,134,228, 25, 74,242, 27,121,  3, 56, 88,203,116, 82,181,192, 43,
- 15, 96,243,159,224,249,183,  3, 11,224,165, 63,144,124,250, 20,122,225,198,147, 39, 79,240,103, 54, 96,219,255,219,183,111, 76,
- 76, 76, 64, 63,  2,217,207,158, 61, 99,101,101,101,  1,  3, 32,  3,114, 84, 39,218,134,126,180,140, 58,113,226, 68, 96,209, 31,
- 18, 18,  2, 44, 80,128,134,  0, 11, 71, 32, 27, 40, 53,105,210,164, 97,150, 91,224,165, 63,144, 13, 44,187,225,109, 11, 72,224,
-195, 59,136, 68,150, 47, 64,101,192, 16,  3, 38, 42,242,102, 77, 42, 43, 43,129,122,241, 68, 13,158,210,191,175,175, 15, 24,101,
-192,138,  4, 88,124, 31, 62,124,152,  1,124, 34, 19,241,165, 63, 68, 59, 48,205,156, 57,115,  6,162,157,160,141, 64,245, 17, 17,
- 17, 16, 46,176, 14,112,112,112,  0,218,190,113,227, 70,130,  3,137,192,230, 63,  3, 35,195,210, 60,232,249, 19,192,126, 64,164,
- 53, 59,168, 31,128, 23,224, 41, 37, 70,187,  5,104,165,127, 90, 57,122,169,  8, 16, 64, 44, 88, 19, 43,252, 98,232,123, 72, 23,
- 67, 19, 76,235,212, 42,253,169, 82,  1, 80,  2,128,149,  7,217, 30,161, 27,  0, 22, 37,192,162,255,197, 11,232, 45,140,200,108,
- 92,224,245,235,215,192,156, 12,108,233,223,185,115,  7,168, 29,152, 87,127,253,250,  5,204,126,192, 10,  0, 72,254,253,251, 23,
- 88, 61,172, 95,191, 30, 87, 68,239,221, 11,106,135,  2, 75,124,100,  5, 16, 54,164,120,194,147, 66,144, 71,120,112,177,241, 52,
-246,113,141,  5,225, 25,252, 65, 27,249,129,180, 73, 73, 74,  3, 29,236,157,140,168, 21, 42,100,220,255, 30, 49,195,131, 72, 77,
-120, 72, 29,  9, 41,233,128, 97, 72,124,155, 20,162, 87, 85, 85,149,129,232,233, 22,100,144,153,153,  9, 31,236,  2,178,129,197,
- 55,208, 16,226, 75,127,123,107,208,145,140,192,182,127, 73, 73,  9,176, 97, 14,209,238,235,151,138,255, 98, 63,120,243, 31, 14,
- 32, 99, 65,219,182,109,211,208,208,  0, 54,217,241,235, 13,183, 68, 57,152, 11, 60, 22,196,176,124,217,249,155, 18, 55,241,235,
- 29,  5,100,148,254, 64,  0, 16, 64,216,231,  0,128, 93, 42, 72,195, 31,126, 49, 52, 73,165, 63,214,118, 40,158,225,105, 92,122,
-145,197,105,119,224, 31,208,167,240, 99,199,145,221, 64,222,136,237,255, 85,130,100,187,228,139, 15,225,  9, 79,184, 35,209, 74,
-  4, 25, 25, 25,100,  5, 88,131,235,221,187,119,188,188,188, 64,242,216,177, 99,192,106,  0, 88,250,  3,155,252,144,171,111,128,
- 69,219,239,223,191,127,254,252,137,167,137, 10,233, 21, 97,134,  9, 80,100,205,154, 53, 64, 89, 60,193, 69,249, 28,  0,176,172,
- 71, 46,238, 33,108, 34,171,  1, 96,145, 68,114, 29,  0, 30,226,135,164,124,196,100, 18, 88,144,248,185, 37,228, 58,146,  1,118,
-177, 59,121,131, 18,192, 78,  0,100,246,130,120,237,192,168,132,143,191,219,216,216,  0, 75,112,146,218,254, 64,237,127,254,252,
- 65,214,126,240,232,223,158,206, 12,130,205,127, 72,137,143,  9,250,251,251,189,163,107,112,233, 69, 26,253, 71,237, 31, 16,161,
-119, 20,144, 13,  0,  2,136,  5, 79,170,133, 52,255,233,220,246, 71, 30,137,162,207, 82, 78,228,209, 30,228,245, 33,248, 75, 52,
-156,253, 89,216,232, 63, 25, 53,  1,124,244, 31,127, 77, 16, 29, 29,205,205,205,205,195,195,  3, 44,205,249,249,249,  5,  5,  5,
-129,205,171,216,216, 88,136, 44,  7,  7,135,155,155, 27,208, 23,152,199,252,  1, 75,124, 96,233,255,227,199, 15,160, 46,118,118,
-118, 96,246,254, 15,186,236,243, 47, 80, 28, 88,250,  3, 25,  4,  7, 40,112, 13,  3,  2, 27,170,116, 24, 52,195, 53, 27, 76, 12,
-128,212,  1, 36,196, 99, 19, 22,207,134, 93, 15,  5, 79, 77, 17,107,  8,114,243, 31, 94,109, 19,217,176, 64,110,254, 99,173,242,
-241,131,101,203,150, 65, 12,  1,214,  1,100, 12,253, 67, 90,126,192,174, 97, 97, 97,225,153, 51,103, 96,218,  9, 36,143,137, 19,
- 39,162, 93,210,185, 98,197,138,131,  7, 15,  2,211, 21,164, 69,130,103,125,250,132,137, 19, 34, 44, 80,154,255,209,147,190,173,
- 56,246, 27,168,215, 48,202, 48,195, 62,131,248,181,237,163,128,200,230, 63, 16,  0,  4, 16, 19,158,118, 49, 36, 17,192, 39,  3,
-240, 15,195,149,151,151,147,231, 62, 92,122,149,192,247,145, 18,223,138, 71,  3,144, 21, 65,164, 14,155, 18,179,184,115, 48,128,
- 89,179,102,245,245,245,193,185,144,210,223, 15, 12,128, 12, 96,150,195,170, 11, 88, 97,  0, 75,249,247,239,223,191,121,243,  6,
- 72,126,  3,131, 47, 95,190,124,250,244,233,227,199,143,192,222,  0,176,  7,128,231, 74, 31, 96,  1,  4,108,233, 19,172, 68,  7,
- 21, 56,132,  4,224,130, 64,239,195,217,120,198,181,145,199,253,145,219,242, 36, 53, 11,208, 20,  3,139, 99, 96, 24,146, 61, 19,
-  0,212, 75, 76,146,  6,150,248,192, 52,  0,153,248,  5,214,  1, 16,191, 19,127,233, 66,117,185, 61, 80,251,191,149,  2, 64,237,
-192,166, 55, 68,251,161, 99,255, 96,205,113,156,205,127,248,128, 15,104,220,102,249,210,204,204, 76,160, 57,  5,  5,  5,  4,173,
-  6, 53,255, 25, 24,151,194,154,255, 81, 19,191, 49, 71,124, 92,126,236, 23, 80,111,231,142,174,209, 66,156, 70,165, 63, 16,  0,
-  4, 16, 11,174,242,  5, 62,244, 15,159, 12,192, 95, 56, 66,202,113, 72, 91,158,212,225, 26, 52,189,144, 62,  1, 80,144,188, 97,
- 31,248, 50, 80,122,  2, 72,195,159,188,241, 31, 72,195,159,152,241, 31,120,246,134, 48, 26, 27, 27,231,207,159, 15, 27, 66,241,
-131, 48,128,205,127, 92, 21,128,176,176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,192,246, 29,164,  7,240,245,235, 87,
- 96, 77,  0, 44,253,129,213, 64, 89, 25,206, 57, 55, 72, 51, 31,235, 18, 97,136, 44, 30, 55, 83,101, 14,128, 72,113,100,  0, 25,
- 54, 65, 47,224,170,171, 91, 91, 91, 69, 68, 68,104,154, 36, 48,155,255,112, 64,112, 38,  0,179,249, 79, 82,219, 31,216, 71,140,
-137,137,  1, 70, 46,208,251, 85, 85, 85,192,222, 15,241, 23,218,212, 84,216, 31, 56,112,128,113, 13,232,126,214, 93, 53,188,110,
- 45,159,129,218, 91, 59, 65,173,120,252, 93, 16,200,218,127,112,171,127,217,193,131,135,255, 51,254, 47, 44, 40, 84, 87, 87, 39,
-198, 82,160,222,  8, 43, 86, 68,171,159,  1,164, 87,220, 77,130,140,153,143, 81,128,165, 60,239,172,192,172, 24, 32, 35,  4,  0,
-  1,196,130,167,237, 15, 44,253,145, 39,  3,  8,118, 93,145,203,113,242,250,  1, 16,189, 20,142,252, 64,220, 76,102, 57, 62,232,
- 19, 28,100,144, 10,126, 85,119, 98, 98, 34,218,248, 12, 80, 16,146, 15, 49,129,140,140,204,157, 59,119,128, 37, 62,176,201,255,
-251,247,111,200,208,255,143, 31, 63, 32,107, 73, 33,115,194,202,202,202,120,106, 86,160,225,144, 78,  0, 60, 37,  0,131, 26, 77,
-  4, 43,160,197, 28,  0,242,136, 16,174,176,194, 42, 14, 12, 64, 96, 29, 16, 30, 30,190,114,229, 74,226,  7, 42,209,216, 29, 29,
- 29,105, 79,211,195,128, 41, 13,219, 70, 48,119,119,247,251,247,239,163,237, 66,128,  0,160, 56,  3,222, 77, 97,161,161,171, 67,
- 67,157, 93, 93,239, 97, 78, 54,188,125,235,204,192,240, 62, 61, 29,103, 78,132, 95,133,  8,233,100,236,218,181,139,129,148,235,
-204,152,152, 24, 65,141, 24, 72,233,127,233,207,252,253,160,139, 48,129,165, 63, 49, 89,  3,146,156,128,173,126, 32, 89, 88, 84,
-168,174,166, 78,164,165,165,101, 37, 96,189, 12,192, 86, 63, 68,175,132,155, 36,104,180,105,180,240,167, 61,  0,  8, 32, 22, 92,
-221,121,248,196, 47,124,153,  7, 49, 99,226, 84, 25, 11, 34,117,  7,192,  8,  4,240, 33, 23,120, 25,  7,217,189,129, 44,136,117,
-204, 20, 88, 55,108,219,182,237,207,159, 63, 31, 62,124,128,204,  1, 48,128, 87,  7,  1,185, 64, 54,193,184,203,207,207,159, 56,
-113, 34,164, 26, 64, 30,247,  7,138,211,186,238,  4, 22,247,196, 20,250, 88, 75, 67,204,138,  1,216,196, 38,178,244,199, 44,133,
-145, 39,132,  9,118,  2, 48,  5, 31, 60,120,192, 64,196, 18,  3,248,  0, 44,170,203, 93,136,241, 47,176,159,  7, 44,250,145,  7,
-223,137,  1, 64,237,255, 86, 10,  2,203,125, 32,123,193,254, 95, 43,142,253,  2,106, 63,124,156,132,209,170, 67,135, 14, 21, 20,
- 20, 16,217,234,135,  3, 72, 34, 92,121,252, 55, 80,175,132,187, 36,172, 62, 33, 74, 47,100,187, 47,100,122, 31, 45,154, 70,119,
-  2, 51, 96,187, 14, 12,109, 39, 48, 64,  0,177, 96,205, 30,144, 77, 85,200, 77, 63,130, 67, 64,232,217,131,220, 58,128,114, 67,
-224,167, 65, 16,  9,128,149, 13,214, 33,108, 98, 42, 33,204, 49, 31,226, 71,129, 48,199,124,136, 28,  5,130,207, 84, 35,231,109,
-172,130, 88,155,105,222,222,222, 75,151, 46,101, 99, 99,251,249,243, 39,176, 14,248,247,239,159,128,128,192,251,247,239,137,217,
-252,172,165,165,  5, 52,127,247,238,221,144,101, 63,144, 61,  1, 67, 46,131,237,219,183, 15, 24,  8, 91,182,108, 33,163,244,135,
-151,149,247,202,203,241,116, 85, 75, 75, 75, 25,112, 44,159, 43, 43, 43,195, 63,  7,144,158, 46,136, 75, 47,176,237, 79, 76, 57,
- 78,176, 15,132,  7,184,183,124,134,179, 73, 42,253,167, 77,155, 70, 94,116,244,116,247,130,154,252, 20,  0,172,149, 37,252,246,
-233, 81,128,  7,  0,  4, 16,206,101,160,  4, 69,104, 10,232,185,  3,  0,115,174,143,232,106,134,204,130, 15,164,151,147, 76,215,
- 66, 70,183, 32,149, 19,218, 72, 23,178, 32,126, 31, 69, 71, 71,223,189,123,119,255,254,253,223,191,127,255,251,247,175,175,175,
- 47,176, 40, 39, 62,204, 93,193,  0,210,118, 35,178,225, 79,173, 57,  0, 92,108, 60,165, 33,218,186, 20, 98,118, 51, 49,192,143,
-250,185, 23,138, 28, 44,192, 92,144,246, 52,157, 17,182, 17, 12, 34,133,181,167,133, 39,252,157,157,157,  9, 38, 72, 50,164,224,
-254,  5,198, 72, 96, 96, 32,228,244, 33, 82,  1, 83,248,123,160,118, 63,255, 52, 72, 91,  1,178,232, 19,249,152,  7, 90,  0,227,
- 24, 35,178,245,  2, 27,248,184,234, 57,136,212, 40,192, 15,  0,  2,104, 48, 30,  6, 71, 70,179,133,254,141, 80, 74,108,164,228,
-148, 55,106,249, 84, 25, 12,208,  4,127,253,250,197, 12,  6,212,142,208,233,  3,164, 23, 75, 66,130, 28, 31, 70, 24,212, 67, 15,
-134, 66,238, 29,  2, 75,127, 72, 69, 59, 56,183,152, 82,184, 87,  6,172,157,240,208, 59,213,151, 99,226, 63,231,135,118,149,229,
-232,160, 16, 16,  0,  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, 16,203,104, 16,140,130, 81, 48, 10,144,  1, 35, 38,235, 63,
-156, 24,  5,195, 10,  0,  4,208,104, 15, 96,132,  2,172,135,131,143,130, 81,192,  8,198,140,160, 51,160, 25, 49,192,232,222,172,
-225,  6,  0,  2,  8, 49,  9, 60,122,201,242,168,222,225,164, 55,206, 79, 23,209,204, 97, 98,130, 44, 87,133,175,104,252, 15,  3,
- 16,  5,139, 54, 93, 70,214,251,225,193,126, 14, 14, 14,136,122,200,  1,218,200,122, 33,167,230,253,251,247, 15,200,254,253,251,
- 55,175,172,221,  8,  8,103, 70,102, 22,246,255,255,254,252,251,247,103,203,145, 39,200,139, 66,113,233,  5,  6,209,203,151, 47,
- 37, 36, 36,200,176,151, 18,189,163,121,129,129,148,149, 90,  0,  1, 52,228,135,128,170,171, 17, 87,216,181,182,154,209, 79,239,
- 41,208,165,122,173,102,173,112,  6,169, 46,199,181, 79, 21,151, 56,169,230, 12,183,190,234,175,175, 44,111,239,171,254,184, 36,
-253,231,241,173,255,138, 79,120,181,190,241,201,179,113,243,226, 82,127,228,200, 17, 27, 27, 27, 72,209, 15, 41,196, 33,141, 88,
-120, 33,254, 15,  6, 30, 62,124,136,166,247,220,185,115,198,198,198,156,156,156, 44, 44, 44, 64,141,112,237,144,114,255, 47, 12,
-252,252,249,243,236,217,179, 14,178,118,131, 63,244,128, 46,127,251,246,237,241,227,199,  5,  4,  4,208, 54, 70, 16,110, 36, 50,
- 50,177,115,  8,  9,  8,170,127,253,242,244,203,231,199,160,110,  0,227,127,134,255,248, 70,132,128,161,180,102,205,154, 91,183,
-110,  1,217,192, 96, 44, 46, 46, 38,222, 58,136,222,123,119,239,  0,195,156,141,157,189,160,160,144,166,187, 16, 70, 56,  0,  8,
-160, 65, 84,  1,224, 58,105,146,  1,239, 65, 99,144,130, 27,185, 40, 39, 30, 80,162,119, 56,  1, 10,247,142,210,161,244,250,252,
-240,250,199, 67,171,190,125,251,169, 96,206,196, 41,195,168,250,232,146, 41,195,197,247, 63,121, 46,112,197,189, 97,148,198,170,
-233,218,181,107,192, 18,  4, 88,216,177,192,  0,164, 50,128, 52,252,255,252,249,  3, 44,193,129,237,119, 96,233,191,111,223, 62,
-102, 97, 19,100,189,223,190,125, 59,127,254,188,133,133,  5, 27, 27, 27,252,210, 52,160,118, 96,217,244,  7, 12,128, 26,191,127,
-255, 14, 84,243,229,203,151,193, 28,179, 85, 85, 85,200,153,232,243,231,207,  6,  6,  6,100,232, 93,188,236, 44, 39,167, 24,176,
- 64,  6, 85,  0,140, 12,255, 33,187,  5,112, 23,203,207,158, 61,  3,134, 76, 84, 84,148,146,146, 18,228, 92, 10, 33, 33, 33, 19,
- 19, 19,172,138, 19,220, 81,118,198, 93,190,113,227,  0, 47, 87, 81,127,147,161,145,206,243, 39,175,118,109, 59,160,160, 99,248,
-233,211,199,209,194,154,108,128, 54,222,139,188,244, 31, 32,128, 88,176,150,  5,144, 82,  0, 23,155, 70,165,127, 86, 22,246,123,
-210,223,191,127,191,124,249,114, 60,117,  0,164,  4, 39,181,  9, 79,161, 94,120,219,159,140,230, 63,218,205, 51,184, 20,208, 40,
-180, 33, 61,  6, 56,  9, 17,124,247, 14,180,107, 70, 72,104,207, 32, 76,190,191, 30, 95, 99, 63,182,248,231,183,127, 65, 42,204,
-234,162,127,254,  9,253,103, 21, 98,254,252,150,141,243,243,119,205,139, 83,206,170,101,124,227,146,199,214,110,101,188,126,253,
- 58,176,  4,119,114,114,130,148,227, 64,  0, 44,196, 33, 87,223,  0, 11,113, 96,251,253,241,227,199,251,247,239,  7,214,  4,104,
- 59,223,128,202,128,106, 46, 94,188,  8,172, 63,128, 13, 88,118,118,118,136, 94, 72,  5,  0,212,  8, 44,221, 46, 95,190,252,227,
-199, 15,130,155,230, 30, 60,120,  0,180,  5, 88,242,  2,221, 32, 46, 46,174,170,170, 10, 25, 92, 34,  6, 80,162, 23,232,212,154,
-154, 26,248, 97,168,192,210, 28, 88, 35,138,137,137,  9, 11, 11, 19, 89,250,207, 75, 74,242, 50, 52,  4,178, 37,114,115, 57,185,
-196,191,124,122,244,233,227,221,255,255,255,130, 14,140,251, 71,224, 14,106, 96,113, 47, 34, 34,178,104,209,162,248,248,248, 77,
-155, 54,  1,185,135, 14, 29,250,245,235, 23,  3,131, 28, 86,245,111,219,139,224,108,158, 95,191,165,254,252, 40, 40,173,239,239,
-105,236,238,153, 38,205,244,119, 90, 79,159, 83, 68, 20, 46,189,163,128,164,210,159,  1,233, 40, 80, 32,  0,  8, 32,236, 61,  0,
-228, 35, 80,112,177,169, 14,232,127,134, 51, 21,  6,160, 96,117,  0, 73,  0, 94,167,206, 15, 92,132, 41,155,184, 62,142,166,205,
-112,136,225,200, 36,193,107,187,  7, 16,252,248,240, 70,237,254,214, 87,204,127, 85,248, 25,228,229,254, 51,235,177,177, 40, 41,
-177,253,252,241,243,232,227,159, 31, 89,152,255,177,254,216,179,152,201, 43,255, 31, 11,250, 88, 16,252,242, 75, 65, 65, 65, 71,
- 71, 71, 96,209,  9, 44, 70,129, 13,121, 72,195, 31, 88,118,  3, 91,169,  7, 15, 30,100,  2,  3,172,122,129, 42,175, 94,189,106,
- 99, 99,195,199,199,  7,212, 14, 20,  1,150,254,192, 82,236,211,167, 79,167, 79,159,  6, 86,  3, 64,211, 32, 51,  1,184,192,165,
- 75,151,142, 29, 59,118,255,254,125,160, 22,160,237, 18, 18, 18,192, 86,176,149,149, 21, 55, 55,225,173,224,100,235,  5, 58,  9,
-114,243, 15,178, 32,228, 92,104, 96, 43,138,152, 42,132,137,153, 13,153,251, 98,242,100,137,  0,153,238,238,137,191,127,127,  5,
-  7, 14,227, 63, 96,233,255, 31,212,  5,248,143,123,252,237,228,201,147, 21, 21, 21,192, 64, 11, 10, 10,146,149,149,  5, 86,180,
-219,182,109, 51,119, 39,180,233,151,145,113,201,157,231,107,111, 63,221,180,113, 33, 51, 51, 99, 81,110,172,190,132,200,172,130,
-250,217,196,232, 29,  5, 56, 74,127,228, 38, 63, 90,125,  0, 16, 64, 36,172,  2,162,245,113,143, 74,184,  1, 45,154,240, 20,234,
-101, 32,107,220,159,234,109,121,248,101,150,196, 23,226, 88, 85,  2,219,254, 68, 54,255,129,133, 32,176,248,195,228, 34, 11, 98,
-  2,184, 26,248, 45,131,152, 92,172,224,221,213,115,207,158,126, 18,227,101, 81,226,253,207, 34,242,143,197,210,131, 91,127, 49,
-167, 81, 47, 59, 63, 39,219,151,239,223,190,253,149, 99,254,246,254,210, 49, 44,165, 24, 19, 19,228,178,251,219,183,111,  3, 91,
-235,192, 66, 92, 24, 12,128, 45, 83,  1,  1,129,143, 31, 63,  2,219,164,192,226,  9, 50,202,143,166, 23, 34, 14, 44,118,129,117,
-192,173, 91,183,184,184,184,128,186,128,205,103, 81, 81, 81, 30, 30, 30,160,  8,176, 10,129, 12, 13, 97, 86, 30,200,237,247,221,
-187,119,223,189,123, 87, 81, 81,209,221,221,221,204,204,236,219,183,111,251,246,237,  3,118, 44,128,213, 15,193,182,255,238, 61,
-123,239, 61,255,200,171, 98,161,230,158, 44,109,230,247,254, 39, 19, 80,132,160, 94, 96,233, 15,172, 48,128,149,  7,176,  8,214,
-211,211,131, 15,227, 64, 24,  4, 75,127, 96,209,207,205, 35, 37, 36,172,179,116,197,165,164,121,243,182,157, 63, 15, 68,192, 30,
-  0,  3,104,186,251, 43, 84, 13, 35, 16,225, 91, 15,  4, 44,232,129,173,254,156,156, 28, 94, 94, 94, 96,208,173, 93,187, 22,232,
-152, 55,111,222,168,169,169, 17, 76, 93, 19,207,223,238, 57,113,101,118, 79, 37, 11,243,119,166,191,159,187, 38,204, 91,121,232,
-236, 51, 38, 22, 82, 79, 24, 29,  5, 68,  2,128,  0, 98, 33,190,160, 31,204, 83, 49, 35,182, 26,128, 12,221,144, 52,122,131,217,
-189,128,247,  3,  8,246, 60, 62,127,254, 12,108,150,  2,155,213,166,166,166,104,220, 83,167, 78, 65,  4,177,  2,136, 44,144,  4,
-182, 76,129,205, 88, 96,209,  0, 17, 68,230, 98,  5,124, 63,222,110,123,244, 67,250, 61,179, 33, 31,163,232,107,  6, 21, 22,126,
- 38, 70,225,255, 63, 94,126,125,201,120,245,209,191, 23, 95,127,  0,203, 96,134,127,183, 24,140,220,113, 85,  0,236,236,236,192,
- 82, 88, 90, 90,218,213,213, 21, 88,178,  3,139,200,183,111,223,  2,139, 36,160, 20,176,136,135, 28,127,244, 15, 67, 47, 68, 59,
- 80,  1, 48,217,  3, 59,190, 42, 42, 42,252,252,252, 95,190,124, 57,127,254, 60,176, 86,  0,154,249, 19, 12,240,180,138,128,213,
-219,147, 39, 79,244,245,245, 29, 28, 28,100,100,100,190,126,253, 10,172, 63,128,221,220,227,199,143, 19, 28,204,  1,234,125,249,
-238,163,144,154,133,146,109,184,128,140,218,207,175, 31, 30,157,220,122,123,239, 66,130,122, 33,179, 23,192,206,141,184,184, 56,
-176,192,  5,214,  4,144,162, 31, 50, 22,  4,100, 99,189, 33,  7, 90,237,177,112,  8,  8,170, 11,  8,169, 51, 49,177,  2,139,251,
-185,243,247, 39, 37, 58, 66,244,166,166,166,  2, 29, 15,209, 11,246, 50,184, 40,192, 54, 13,  0, 12,216,205,155, 55,103,101,101,
- 73, 74,130, 14,248,220,187,119, 47,176, 50,227,  4,  3,111,111,239, 99,215,190,227,241,245,178,155,143,123, 79,223,152,211, 81,
- 46,163, 46,255,245,203,251,141,219, 79, 95,186,124, 83,224,255, 63,182, 23, 47,189,115,162,143, 94,253, 62, 90, 94,147, 10,208,
- 78,250,193,236, 16,  0,  4, 16, 11,102, 89,  0, 63,228, 22, 23,123, 80,  1,178, 11,110, 10,245,146, 61,254, 67,121,171,159, 24,
- 41, 60, 69, 57,217,171,134,128, 57, 25, 88,220,191,127,255, 30, 43,151, 72,  0,172, 45,128,229, 47,176,208, 87, 80, 80,192,228,
- 98,130,215,111, 30, 31,123,254,221,155,139,235,240,227,127, 82, 70,236,138, 63,207,190,191,150,181,190,235,210,191,  7, 31,191,
-252,250,255,244,243, 95, 78, 22,166, 63, 31, 95,240, 99,107,199,192,235,  0, 96,137,249,240,225,195, 27, 55,110,104,107,107,  3,
- 29,124,226,196,  9,200,200, 62,174, 65,124,160, 94, 72, 39,  0,162, 23, 88,  7, 60,126,252, 88, 87, 87, 23, 88,124,  3,235, 15,
-160,  8, 80, 28,178, 58,  8, 79, 15,224,209,163, 71, 64,243,141,141,141,129,165, 63, 80, 49,176, 11, 98,110,110, 14,180, 26, 40,
- 14,172, 57,240,135, 18, 80,205, 63, 38, 54,105,  3, 23, 96,233,207,196,204,202,201, 39, 42,103,238,253,240,196, 38,252,122,129,
-238,252,240,225,195,211,167, 79,229,228,228,172,173,173,129,150, 66, 70,126,226,227,227, 33, 10,128,117, 24, 30, 75, 57, 56,132,
-133, 69,245,127,253,252,248,230,237,249,159, 63,223,255,254, 13,154,223,134,232,125,249,226,  5, 92, 47,168,245,143,163,214,123,
-254,252,249,210,165, 75,163,163,163,129, 97,197,  0,190,142,  6,216, 27,168,172,172,  4,214, 70, 48, 37, 56,151, 39,222,250,244,
-173,252,224,133,142,146,116, 91, 31,151,175, 95,222,172, 90,119,112,230,220,181,219,139, 18,148, 94, 61,233,252,244, 66, 72, 72,
- 24,143,222, 81, 64,228, 88, 16,102,149,  0, 16, 64, 44, 88,135, 98,  8,178,  7, 57,160,124,141, 38, 49,160,197,180,133,254, 55,
-136, 33,151,221,104,149,  1, 53, 14,131,196,  9,110,222,188,  9,155,199,195,194, 37,  9,  0,139,224,221,187,119, 67, 46,241, 64,
-230, 98,237,230, 95,124,247,253,227,175,127, 23, 95,255,121,246,225,143,248,  9, 22,189, 85,119, 30, 62,184,122,243,228,175, 63,
- 44,204,191,254, 49,252,248,245,255,253,255,127,162,130,255,177, 22,226,240,  5,160,144,101, 60, 47, 95,190,148,151,151,  7,214,
- 91,144, 97, 31, 32,137,216,224, 68,  8,192, 55, 13, 64,200,193,121,115, 28,176,114,130,220,130,162,168,168,136, 92,177,157, 57,
-115,  6, 72,  2,131, 23,114,233, 30,174,107,127,128,161,  5, 36,191,127,123,249,229,243,227,191,127,127, 32,235,221,  4,174,170,
-129,221, 32,144,222,255,216,199,254,129,241, 56,121,242,100, 96, 51,223,198,198,  6,200, 61,122,244,232,134, 13, 27,178,179,179,
-145, 74,127,156,224,249,183,159,177,219, 78, 20,132,121,135,196,  6,127,251,241,105,253,166,  3, 19,166, 45, 91,228,102, 10, 44,
-253, 71,203,110,170,215,  4,200,117,  0, 64,  0, 81,115, 39, 48,242, 72, 52, 46,246,112,  2,131,161, 20,128,140,221, 19, 63,254,
-131,103,206,  0,127, 28,  1,139, 15, 87, 87, 87, 65, 65, 65,172, 92,146,  0, 80, 23, 80, 47,188,184, 71,227,162,129,239,127,249,
-126, 51, 50,156,121,243,243,213,223,191,123,239,253, 88,181,250,199,190, 39,162,119,216,248,159,124,252,253,248,243,191,175,127,
- 24,190,253,249,207, 46, 44,129,171,200,134,172,244,255,251,247,239,159, 63,127,132,133,133,121,120,120,128,117,192,239,223,191,
- 33, 34,104,219,193,144,245, 66, 86,250,  3,213,124,255,254, 29,200,149,149,149,  5,182,172, 37, 37, 37,129,213,  6,176, 13, 14,
-172,249, 32, 38,227, 25, 23,  5, 54,195,129,125,133,179,103,207, 62,121,242,  4,114, 13,231,201,147, 39,191,124,249,  2, 20,  7,
-118, 62,240,  7, 17, 80, 13,211,191, 95, 79,207,239,249,240,228,214,191,191,191,191,127,122,253,232,228,214, 95, 95,223,227,215,
- 11,119,204,183,111,223,224,179,211,192, 78,192,213,171, 87,129,229, 56,228,210,246,143, 31,113,174,167,  4,250,245,207,239, 47,
-156,220, 18, 28,156, 66,144, 29,193,200,122,103,207,158, 13,209,251, 15, 53,192,128, 29,184, 69,139, 22,  1, 91, 15, 77, 77, 77,
-126,126,126, 62, 62, 62,144,174,192,230,205,155, 75, 75, 75,129, 93, 46, 60,222,  4,234, 93,188,120,113, 68, 86,142,211,154,131,
- 37,113, 65,121,101,153, 63,126,125,185,127,247,241,204,153,171, 54,248, 90, 57,200,138, 17,159,168,128,149,205,104,225,142,127,
- 44,  8, 94,238, 35,207,  3,  3,  4, 16,245,143,130,192,188, 61, 21,147, 77,229,246, 62,198, 66,126,228, 38, 63,254,230, 63,166,
-222, 83, 64,161,234,106, 76, 54, 49, 67, 64,196,235,165, 86,111,  0,190,152,135,248,230,255,187,119, 46,240,153,  3,146, 58, 16,
- 10, 10, 10,190,190,190,192,102, 32, 86, 46,145,  0,168, 30,168, 11, 62,224,131,198,197,162, 94, 85, 69,149,155,153,151,145,225,
-247,255,255,215,223,255, 90,122,231,231,242, 99,207, 78,223,125,247,236, 59,195,219, 31,127,239,126,249,255,252,231,127, 89,101,
- 21,172,165, 33,100,213, 38,176,176,  6, 22,226,192,178, 91, 71, 71,  7, 92,101, 10,153,153,153, 65, 10,113, 72, 57,142, 89,136,
- 67, 10,119, 96, 61,  1, 84,  0,172,230,149,149,149, 63,124,248,240,248,241,227,119,239,222,  1,157, 10,236, 85,  0,197,129, 38,
- 64,148,225,114,185,169,169,169,140,140, 12,176,  0,221,177, 99,199, 22, 48, 56,124,248, 48,176, 97,110,105,105,137,103,206,  3,
-174, 87, 92,136,255,237,189, 11, 55,119,207,191,186,117,250,245,173, 51, 31, 30,223,192,206,244, 15,191, 94, 96,229,  4,108,110,
-243,241,241, 93,188,120, 17, 88,235, 32, 87,  3,144,182,252,210,165, 75,241,148,200,191,126,126,252,248,225, 14, 43, 43,183,128,
-144,  6, 55,143, 52,144,  1,233, 19,  0,193,179,147, 83,247, 47,202,115,213,248,  2,174,  0, 24,160,219,192,192,193,182,117,235,
- 86, 78, 78, 78,160,177,192,144,177,176,176,128,119,  5, 98, 98, 98,128, 29, 17,252,222,220,182,109, 43, 31, 31,143,157,189,185,
-129,145, 94, 96, 86,210, 55,198, 63,175, 95,189,203,200,109,238, 52, 81, 49, 18, 35,161,109,  1, 44,253,187,186,186, 70,235,  0,
- 98,170,  1, 52, 17,128,  0,162,211, 70,176,  1,105, 44,147, 55, 70,111,214,218,138, 92,118,  3,185, 84,215, 11,111,107, 39,174,
-143,195,163,128,214,123,178,224,182, 32,239, 12,192,175,  5, 88,250, 56, 59, 59,  3,203, 80, 76, 46,176, 84,197, 23, 50, 96, 89,
- 32,105,104,104,  8, 44,167,224,130,200, 92,172, 64, 90, 77, 75,247,234, 89,249,247, 31,223,252,253,247,233,199, 31,118, 96,105,
-253,243,143, 28, 15,203,251, 63,127,158,126,  5,173, 32,242, 86, 21,231, 86,208,250,130,109, 60,  4,190,226, 83, 87, 87, 87, 95,
- 95, 31, 88, 48, 65, 22,110,  2,157, 13, 44,170,214,175, 95, 15,217, 16,  0, 20, 97,196,208, 11,217,237,  5, 76,183,106,106,106,
-192,250,227,245,235,215,144, 37,164, 64,211,128, 34,175, 94,189,130,232,  5,138,224,169, 47,129, 61, 27,200, 82, 78, 96,137, 12,
- 95,202,  9,116,  9,193,213, 56, 32,189, 46,206, 32,189,119, 79, 62, 59,191, 27,170,215,218,137,160, 94, 96,233,111,100,100,116,
-244,232, 81,160, 94,105,105,105,160, 57,220,220,220, 85, 85, 85,147, 38, 77,  2,118,125,128,182,247,245,245,225,186, 35, 30, 88,
-229,125,124,127,  7, 88,172,243, 11,169, 73, 72, 89,126,255,254,230,203,167,135,221, 61,147, 26, 27,170,164,100, 24,150,231,115,
- 49,134,189,119,140, 99,128,212,152,240,141,192,183,110,221,  2,166,  1, 27, 27, 27,160,249,192, 42,  7, 40, 55,101,202,148,240,
-240,112, 72,117,139, 31,220,188,121, 43, 36,216, 63, 34,194, 79, 71, 87,253,237,231,143, 95, 62,190, 73,203,107,110, 14,116,118,
-254,247,141,164,210,127,194,132,  9,192, 72,  1,214, 58,185,185,185,  1,  1,  1,163,  5, 61,242,128, 15,214,114, 31, 14,  0,  2,
-136,133, 62,  5, 61,193, 21, 68, 33, 33, 33,228,237,  4,198,  5,144, 55,106,145, 87,  7,144, 90,250, 19,175, 23,255,170, 27, 90,
- 31,237,  0, 31, 47,130,219,130,188, 39,128, 32,  0,150,131,200,171,125,224, 92, 60, 75,128,224,178,104,106,240,107,129,  0, 41,
- 69,229, 31,102,182,127, 78,109,123,240,145,129,135,145, 85,158,135,233,233, 95, 70,102,118,150, 67,175,254,254,248,199, 32,202,
-206,172,108, 98,247, 69, 80,  1, 91,113,  6,106,194,  3, 91,220,192,118, 40,176, 76,252,244,233, 19,176,236,134, 84,  0,192,246,
- 59,176,210,  2,150, 89,155, 55,111,134, 12,  7,161,101,  3,160,  8,100,219,176,166,166, 38,100,244,  6,168, 23,146,182, 33,253,
-  6,160, 56,176, 55,240,229,203, 23,252,  9, 91, 79, 79, 15, 88, 34,147,183,153,139, 60,189, 64,103, 75, 73, 73,185,187,187,  3,
-107,157, 27, 55,110, 60,122,244,  8, 88,219,  9,  8,  8,  0,171,162, 57,115,230,224,218,139,139, 52, 10,244,237,195,251,155, 63,
-126,188, 19, 16, 84,227,225,149,229,229,147,251,250,249,105, 71,231,220,200,  8, 23, 96,  5,  0, 11,216,255,200, 53,128,151,151,
-215,182,109,219,128, 29, 14, 96,128,248,249,249, 45, 92,184, 16, 88,175,107,104,104, 16,227, 71,111,111,175,245,235, 55,127,250,
-240,246,201,179,231,249,217,113,165, 21,109,129, 78, 86, 54, 63, 63, 49,176, 18, 91, 46,  1, 75,255,134,134,  6, 72, 55, 20,216,
- 81,  3,246,  3,202,202,202, 70,235,  0,252,245,  1, 50,  0,  8, 32,106, 86,  0, 20,174, 32, 34,163,148,135,128, 55,111,230, 86,
-159,218,136,117,192,135,224,244, 47, 80,239,169,234,141,104, 13,118,228, 97, 28, 60,229,248,155,185,111, 78,109,172, 38, 79,239,
- 64,129,161,120,106,144,130,149,227,165,159,127, 94,239,219,203,250,231,251,165,207,255,247,124,254,195,198,200, 40,252,255,191,
-163,164,128,189,155,179,144,177,  3,142,246, 44,168,  7,  0,108,  2,  3,203, 35, 96, 19, 30, 88,208,  3,139, 81, 72, 33, 14,105,
-188,139,138,138, 90, 91, 91,239,220,185, 19,115, 24,  7, 40,  2,172, 42,128,205,109,160,122, 96,171, 22,210,141, 96,128,205, 43,
-  0,185, 64,  5,192, 94,197,137, 19, 39,  8, 78,131, 43,128,  1,153, 30, 39, 75, 47,176, 14,  0,150,248, 64,231,  1,123,  0,192,
- 78, 15,176,239,  2, 20,124,250,244,169,167,167, 39,176,249, 79, 80,251,223,191, 63,191,126,121,250,235,215, 71,206, 79, 15,248,
-  4,148,185,120,164,128,104,215,222,151,140,206,226,176,198, 28,152,132,169,183,178,178,  2,  6, 44,176,244,  7,214,  4,194,194,
-194,113,113,113,  7, 14, 28, 32,210,169,150,150, 86,236,236,236,124,215,206,102,103, 39,203,168,169,118, 21, 36, 47,152,182,112,
- 10,243, 15,226, 75,255,242,242,114,160,103,159, 61,123,198,201,201,  9,140, 20, 96,119,167,181,181,181,186,186,122,180, 14,128,
-143,249,  0, 11,125, 60, 71, 65,  0,  4, 16,149,123,  0,  3,178,130,  8,107,161, 70,100,243, 31, 83, 47,114,251, 29, 50,158,131,
-171, 28,167, 68, 47,158,178,152,212, 50,122,216,159,  4,  7, 44,209, 12,156,221,133,165,100, 94, 95,191,194,252,240,158,202,239,
-231,188,194,226, 86,186, 26,218,198, 58,223, 37,112,238, 15,  2,150,212,192,182, 63,176,153, 15, 25,172,  7,118,  5,128, 12,200,
-113, 14,240,209, 33, 89, 89, 89, 96, 29,128, 89, 96,  1, 75, 19,  3,  3,  3, 96, 29,  0, 44,223, 33, 42,225,139,106,224, 39,193,
-  1,141, 50, 52, 52, 60,123,246,236,224, 12, 52,160,227,197,192, 64, 93, 93, 29,232, 95, 96, 53,  6,244, 62, 48, 52,170,137,154,
-151,250,255,251,215,231,223,191,190,124,255,254,154,157, 93,144,149,141,151,137,137,101,201,210,173, 49,209,222,208, 90, 16, 85,
- 53,164, 99,209,219,219, 11,172,104,129, 12, 53, 53, 53,226,175,149, 54, 50, 50,102, 54, 53, 77,106,128,232,253,175,166,166,174,
- 22, 16,128,127, 84, 16, 25,116,118,118,142,150,242,196,212,  1, 88, 75,127, 32,  0,  8,160, 97,123, 33, 12,217, 75, 63,145,139,
-108, 82,155,240,148,232, 29,  5,248,129,172,166, 54, 16,  1, 25,240,179, 55,241,239, 11, 10, 13, 13, 21, 20, 20,132, 44,245,  1,
-150,128,144, 33, 29, 72, 15,  0, 50,241, 11, 57, 16, 84, 89, 89, 25, 40,120,228,202, 87,100,189, 19, 38, 76, 88,189,122, 53, 68,
-  1,232,164, 32, 28,199, 65,  3, 91,190,  4,  7, 85,  6, 73, 13,202,  3,  6, 36, 54, 23, 32,213,192,103, 96,233, 15, 52,  3, 24,
-108, 16,189,184,198,188, 32, 71,126, 66,130,154, 36,231,  1,131,185,176,176,144, 12,189,163,205,124,226,235,  0, 92, 82,  0,  1,
- 52,122, 41,252, 40, 24,  5,163,  0,163, 92, 96, 96, 64, 63,236,225,255,232,141, 96,195, 16,  0,  4,208,232,149,144,163, 96, 20,
-140,  2,140,198, 63,195,232, 13,144, 35,  2,  0,  4,208,232,149,144,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, 33,230,  0, 70, 47, 89, 30,213,
- 59,170, 23,151,222,244,244,116,255,128,244,141, 27,176, 28,185, 49, 26, 86,  3,174,183, 21,182,226, 14,215, 34,215,209, 75,225,
-113,  1,128,  0, 98, 65, 75,229,152, 42,136, 92, 55, 54,168,244, 18,169,125,160,220, 60,120,  0,217,103, 78, 80,247, 32, 82, 60,
-  0,114,229,192,193,131,  7,129,108,123,123,123,252,151,  7,208, 46,148,128,165,191,151,167, 17,228, 24,189, 97,191,241, 98,104,
-  1, 96,233,239,235,171, 12,103, 87, 87, 87,143,134,  9,241,  0, 32,128,208, 87,  1,253, 95,133,114,  6, 19, 99, 24,  9,167,189,
-163,101, 12,146, 78,  0,165, 68, 47,154,155, 73,114,246, 64,185, 25,  2,222,189,190,243,250,245,243,151,111,190,124,252,248,155,
-159,159, 85, 92,132, 71, 84, 84, 82, 72,148,168,227,213,206, 29,159,118,239,238,173,187, 15,126, 60,126,254, 95, 86,146, 81, 89,
-129, 67, 73, 89,205,200, 50,139,254,213,  6,228,108, 81, 26, 21,139,151, 47, 95, 54, 48,216, 49, 99,198,183,  3,  7, 24,234,235,
-119, 61,126,252, 88, 66, 66,130,131,131, 67, 84, 84, 84, 73, 73,137,140,202,224,240,225,195,226,226,226,242,242,242,  4,143,228,
- 68,  6,192,210, 63, 45, 45,141,129, 97,214,198,209,  3,199,  6, 31,248,245,171,124,231,206, 52,119,247, 89,190,190,157,144,222,
-192,104, 53,128, 12,240,108,  4,  3,  8,160, 97,178, 12, 20, 94,226, 51, 50, 50,252, 91, 41, 56,248, 29,252,251,215,215,199,143,
- 46,255,250,245, 91, 69, 81,192,193, 70, 78,128,159,253,253,135, 31, 79,159,127,185,125,239,249,135,143,111,100,229,116, 89,217,
-112, 94,253,250,254,205,173, 99,  7,103, 51, 51,124, 10,247,102,176, 54,102, 80,150,103,184,243,224,255,145, 51,223,183,237,191,
-184,117,109,169,149,125,170,160,136, 26,145,206, 32,187,237,143,172, 17,114,144, 28,141,234,128,119,239,222,229,229,125, 19, 21,
-101,  8, 13,101,232,232,  0, 93,200,245,231,207, 31, 96,  5, 32, 38, 38,  6,172,  0,128,125,  2, 41, 41, 41,130,134,188,120,241,
-226,213,171, 87, 47, 95,190,116,117,117, 93,178,100,  9,  3,120,175,111, 84, 84, 20,254,  3,236,144,193,182,237,231,128,165, 63,
-152, 28,  5,131,171,249, 15, 36,131,131,215,238,220,  9, 34,211,210,238, 66,122,  3,163, 93,  1,204,162, 31, 46,130, 92,  7,  0,
-  4,208, 48,169,  0,128,157,  0, 72, 29, 48, 36, 74,127, 32,120,242,232,178,184,  8,135,169,161, 34,248,126, 37,198,127,255,254,
-243,241,176,115, 43,179, 41,200,242, 95,187,249,  6, 40,171,168, 98,129, 75, 47,176,244,183, 53,254, 84,144,200,192,204, 12,170,
-240,126,255, 97,224,230, 98,208, 84, 97,176, 48, 96,216,178,255, 19, 80,214, 59,184,155,166, 67, 64, 88, 47,149,164,209,149, 15,
- 66, 66, 66, 91,182,112,202,202,126,  7,246,  0,222,191,103, 81,  1,131, 47, 95,190,220,187,119,239,192,129,  3,159, 62,125,  2,
-150,227,248,251,  1,215,175, 95, 63,119,238, 28, 43, 43, 43,178,224,247,239,223,231,206,157, 11, 52, 36, 34, 34,130, 24,103,108,
-220,  0,244,114, 58,152, 36,  1,192,239, 73,134, 28,123,135,198,197, 19, 35, 12, 72, 39,  6,226,225,226,108, 15,253,255, 47,242,
-246,173,210,131,  7,194, 79,159, 62, 17, 19,123,164,164,244, 81, 76,236, 63,209, 39,242,  2,221, 73,204, 57,125,120,180,224,231,
- 82, 75, 47,124,240, 39, 45,109, 39,144,  1, 33, 33, 82, 64,198,104, 29,128,181,213, 15, 57, 26,  8, 46,  2, 16, 64,195,106, 21,
- 16,227, 16,113,231,187,215,119,126,255,254,109,102, 36,  9, 23, 97, 98, 98,100, 99, 99,230,228, 96, 97,101,101, 82, 86, 20,  4,
-246, 12,128,106,112,141,252,  0,219,254,133, 73, 12, 63,126, 50,220,127,204,240,254, 35,195,135, 79, 12,203, 54, 49,228, 54, 48,
- 84,245, 48, 88, 25, 49, 48,253,255,  4, 84, 51,108,226, 84, 87, 87,119,227, 70, 77, 49, 49,134,168, 40, 22,  9,  9, 83, 96,121,
-237,235,235,235,227,227,227,238,238, 46, 46, 46, 14, 44,217, 87,174, 92,121,247,238, 93, 92, 23, 37, 94,186,116,233,194,133, 11,
-104,165, 63, 28,236,223,191,255,234,213,171,120,202,226, 67,135, 14,193, 75, 91, 72,233, 15, 97,  3,197,137,169,240, 78,193,  0,
- 86, 46,145,245, 43,126, 46,214,210, 95,233,198, 13,219, 61,123,100,111,221, 97,251,244, 73,242,214, 13,157, 45,155, 69, 47, 94,
-100, 32,250, 78,111,160, 11,129,197, 46,176,207, 68,124, 52, 65,180,224,225,226,215,139, 92,220,227,225,226,  2,144,114, 31, 66,
-254,242, 85, 97, 24,  5, 72, 69, 63,254,179, 30,  0,  2,104,176,244,  0,168,210,126,252, 79, 13,123,201, 27,202,128,223,180, 69,
-204, 24,203,235, 55,207,213,149,133, 32,229, 62,154, 20,  7, 59,203,135,143, 63,213,148,133,110,221,123,142,117, 50,224,222,221,
- 91,225,160, 35,185, 24,118, 28, 98,152,186,152,193,205,150,193,203,129,225,198, 29,134,243, 87,255,115,114, 48, 26,106, 51,184,
-219, 51,172,219,121,203,200,146, 86, 67, 64, 88,131,136,118, 55,190,  1, 91,247,192,246, 62,144,  1,108,233, 91, 91, 91,195,  5,
-  5,  5,  5, 53, 53, 89,252,252,128,125,160, 51,183,110,125, 99, 96,  0,  6, 10, 59,230,200,207,229,203,151,113,149,254,240, 58,
-  0,215, 29, 41,209,209,209, 75,193,  0,200,128,251, 23, 88,244,  3, 69, 32,178,244,201, 11,248,185,152,128,239,229, 75,197,147,
- 39,127, 49, 49,177, 50, 50,252,249,247,255,223,239,191,255,254,252, 17, 61,124,232,163,136,200, 79, 25, 98, 87,146,  0,139,221,
- 43, 87,174, 24, 26, 26, 26, 24, 24, 16,175,  5,185,115,131,198, 37,178, 27, 65,106,233,143, 89,220,239, 68,234,  7,140,  2,130,
-  0, 32,128,208, 43,  0,204,233, 83, 34, 11, 53, 92,133, 41, 49,122,105, 49,118, 76,228, 50, 21,172, 19,200, 68,234, 69, 83, 70,
-252, 92,244,203,215, 95, 28,173,229,128, 13,178,195,199, 31,127,251,254, 27, 40, 98,164, 47, 33, 42,204,249,248,233,231, 59,247,
-223,179,176, 48,169, 42,  9, 30, 61,249, 85, 93, 19,139,222,187, 15,126, 88, 27, 51,252,252,205,176,253, 32,195,254,227,255,165,
-196, 25,149,228, 24,156,109, 24, 52,148, 25, 89,152, 65,231,168, 91, 24, 48,116,207,252,129,127,192,135, 32,  3, 79,171,  1, 62,
-226,143, 54, 46, 65,187,181, 49,143, 30, 61, 98,  0,159,143,143, 44,248,224,193,  3, 45,173, 87, 85, 85,160,128,111,107,187,245,
-224,129, 54,  3, 27,250,201,160, 64, 53,248, 75,127,136, 26, 92, 82,118, 96,  0, 41,241, 33,133, 62,188, 98,128, 95,104, 76,117,
- 64, 97,243, 31,  8,  4,174,223,248,245,251, 55, 19, 19,211,127,102,102,208,165,  8,144,  3,237,254,254, 99,191,116,137,248, 10,
-128,  1,124,175,228,209,163, 71,129, 93, 85,105,105,105, 98, 38, 90, 40,172,  3,200,107,251,  3,139,123,247, 89,238,193,107, 25,
-210,118,130, 24, 64, 46,164, 86, 96,219,124,103,180,112, 71,  3, 88,239,133,  7,  8, 32,194,171,128,136, 95, 23,132,217, 42, 36,
-178,157,136,181,158, 32,190,226,193,234,114, 60,151,167,227, 42,166,225, 19,200, 68,234,197,170, 12, 98, 26,176, 97,255,111, 21,
-206,217,  8,240,154, 31, 80,115,245,241,179, 79,223,191,131,174,181, 82, 81, 18,  4, 86,  0, 23,175,190,186,121,251, 29,  7,  7,
-179,178,162,192,251,143,216, 15,154,127,252,252,191,178, 60,200,124, 15, 59,  6,  3, 45, 70,118, 54,134, 63,127, 64,253,  0,  1,
- 94,134,123,143, 24,220,237, 24,228,101, 64,106,104,154,146,224,229, 62,145, 67,210,  3,  5,176, 14, 98,144,234, 84, 72, 89, 15,
-175,  0,104, 90,250,195,  1,174,171,219,241, 92,233, 14,  7,172,119,239,252,252,253,139,145,153,229,239,255,255,192,116,242,231,
-239,191,223,192,142,192,223,191,140,183,111, 50, 48,120,145,234, 18, 96, 63,  0,216,145,226,230,230,230,231,231, 39,190, 14, 32,
-114,240,135,194,210,191,186,186,186,181,181, 21, 88,250,195, 43,  3, 32,  9,172,  6,128,165,255,230,205,119, 33, 19,  0,144, 89,
- 98, 61,187,248,209,210, 31,179,244,  7,  2,128,  0, 26, 44, 67, 64, 88, 11, 83, 34, 11, 98,146,214,170, 98, 55,129, 74,107,135,
-128, 46, 33,198, 40,126,126,214,247, 31,126,136,  8,113,133,250,105,  0,243, 39, 59, 59, 51, 51,176,189,246,255,191,143,155,178,
-183,171, 50,208,132,183,239,191,  3,213, 96,213, 43, 43,201,120,247,225,127, 13,101,  6, 39, 75,208,144,215,141, 59, 12,122, 26,
- 12,130,124, 12,158, 14, 12,255,254, 49,  0, 59,  1,183,238,131,212,224, 15,100,130, 12,226, 55,146, 80, 50,110, 70, 12,  0,182,
- 95,129, 45,208,187,119,239,  2, 91,226,182,182,182, 60, 60, 60,144, 19,131, 21, 20, 20, 78,157, 18,107,108,124,202,200,200,248,
-234,149,154,154,154,194,181,103, 88,244,162,137,172, 90,181, 10,165,209,240,255,127,120,120, 56,241,117,  0,221, 74,127, 50,234,
-  6, 56,120, 39, 35,205,118,227,230,127, 86,  6,182,127,160,121,223,223,127,255,252,250,255,247,219,159, 63,223, 85, 52,200,112,
-140,142,142, 14, 48,252,137, 44,253, 25,192,215,124,  2,155,252,240,226, 27,141,139, 11, 64,122,  9,112,101,104, 92,130,  0,216,
-252,135, 20,253, 64, 18,185,237, 15,153, 37,  6, 86,  6,163,165, 63,214,210, 31,  8,  0,  2,104, 56,172,  2, 34,216,243, 32,  8,
-254,255,103, 96, 10,127, 79,121, 29,  0, 89,140,196, 20,246, 30, 79,243, 31,  8,196, 69,120, 30, 63,253, 12,172,  0,250,166,159,
-182,179,146, 53,210, 19,103,100,101,132, 44,  7,130,172,212,  0,202,  2,213, 96,213,171,172,192,113,244,236,119, 96,  5, 32, 98,
-204, 80,145,201,144,159,192,192,207, 11, 26,249,105,156,196,208,144, 15, 82,112,244, 44, 72, 13, 73,  3,101,148, 47,  6,165,221,
- 50,208, 55,111,222, 64,238, 65,220,186,117,235,163, 71,143, 60, 60, 60, 20, 21, 21, 63,127,254,252,254,253,251,235,215,255, 28,
- 56,  0, 44, 44, 76, 28, 29, 29,101,100,100,174, 61,123,141,166, 23,216,110,197,127, 99,215,159, 63,127,  6, 91, 98,134,151,254,
-120,170,  1,252,117,192, 39, 45,109,246, 75,151,254,253,255,207,205,196,194,204,204,248,  7, 88,250,255,254,253,249,215,175,223,
-250,250, 36,185,132,139,139,139,164, 57,  0,120,113,143,139, 75,139, 58,  0,216,204, 79,  3,183,241,145, 75,127,120,243,127, 20,
-224, 47,253,129,  0, 32,128, 70,143,131,134,181, 22,169,180,126, 20, 90,  7,224,173, 78, 68, 69, 37,239,220,127,166,175, 45, 86,
-145,111,177, 96,249,101, 78, 14, 22,  3, 29, 49,248,117,202,255,254,253,191,115,255,189,184, 24,246, 81, 87, 37,101,181,173,251,
- 46, 38,  4, 51,252,191,199, 96, 17,196,160, 36,203,176,116, 35, 76, 46,159,225,239, 95,134,173,251, 64,106,104, 23, 80, 88,251,
-103,180, 91,  6,122,227,198, 13, 77,205,251,243,231,  3,153,127,155,154, 46,173, 91,247, 77, 93, 93, 29, 88,  1,220,187,119,239,
-229,203,151, 70, 70, 70,192, 38, 60,174,101,160, 74, 74, 74,167, 79,159,198,115,199,  8,145,215,243,194,135,128,128, 36,173,123,
-  0,192,146, 29, 82,244,227, 26,  2,194, 37,133,168,213,100,100,222,218,218,253,221,127,224, 23, 27, 43,207,127,150, 31,255,254,
-125,252,245,235,179,147,243,127, 57, 57,162, 59,196,140,192,242,151,248,161,127,184, 22,120,113,143,198, 37,169, 14,192,181,118,
- 22, 15, 64, 43,253,225, 35, 63,163,179,193,248, 75,127, 32,  0,  8,160,209, 10,128,154,  0, 58,  1, 64,104, 20, 72, 72, 84,229,
-195,199, 55, 39,207, 62, 51, 55,150,242,116, 81,218,177,247,222,214, 93,160, 84, 91, 83,108,  5, 44,253,129,226,236,236,108,184,
-246,  3, 27, 89,102,109, 93, 91,218, 63, 15,180, 18,116, 70, 11,104,245,167,139, 53,104, 37,104,127, 45,168,244,239,159,199,240,
-151,129,143,248,253,192,164,182,217,113,245, 24,104,183, 10,232,235,215,175,134,134, 63, 32, 37,137,137,201,255, 29, 59,238,221,
-186,117, 11,178, 17,204,193,193,193,222,222, 30,207, 38,  0,101,101,229,203,151, 47,227,234,  4,  0,155,255,198,198,198,196,184,
-  1,178, 24, 20,178, 40,  8,200, 38,190, 14, 64,219,104, 70,228,190, 51,120, 29,128, 75,150,128,126, 38,166, 95,230,230,111,164,
-164,190, 92,186,196,243,232,209, 15, 69,197,175,218,218,127,101,101, 25,136,190,108,139,188,178, 27, 89, 11, 26, 23,191,199,145,
-101,209,236, 37,213, 25, 16,128, 92,238, 67,122,  3,164, 14,105, 14, 51,128,103, 77,  7, 64,  0,141, 86,  0, 88, 86,239,208,193,
- 40, 89, 57,221,199,143, 46,175,221,114, 83, 69, 81,208,219, 77, 89, 80,128,227,253,135, 31,231, 47,191,  4,182,253,129,165, 63,
- 80, 22,143, 94, 43,251,212,195,  7,103, 31, 59,251,201,219,137, 97,118, 59,104, 39,240,221,135, 12,115, 87,129,218,254,192,210,
- 31, 40, 75,121,129, 78, 70,233, 79,163, 57,  0,  9,  9,137,  7, 15, 68,206,156,  1, 13,239,220,186,197,103,106,170, 37, 44, 44,
- 12,223,  9, 76,240, 40,  8, 11, 11,139,131,  7, 15, 50, 98,236,129,  2,150,254, 42, 42, 42,192, 26,130,152,210, 31,121,244, 31,
-210, 21, 32,178, 14, 32,187, 56,195, 85,202, 19, 46,253, 97,117,192, 63,121,249,111, 64, 68, 86,152,147, 81,236,226,247, 41,126,
-  3, 41,209,139,191,244,  7, 45, 18, 29,241, 19,  0, 12,216,246,  3,195,171,  4,128,  0, 34,188, 12,148,248, 41, 86, 98,150,129,
- 18,175,151,120,237,148,216,139,213,119,228,217, 75,210, 92, 52, 43, 27,183,146,138,197,187,215,119,238, 61,120,126,252,204, 19,
-248, 89, 64,226, 98, 82,  4,207,  2, 18, 20, 81,243, 14,238, 62,119,124,218,202,173,183,218,166,210,245, 44, 32, 58,151,254, 64,
-160,174,174,126,241,162, 87, 98,226, 25,112, 15,192, 36, 44, 76,159,139,139,139,164,250, 35, 60, 60,252,230,205,155,103,206,156,
- 97,  6,205,181, 51,  1,139,126, 54, 54, 54, 96,219, 31,104, 50,169,165, 63, 25,117,192, 40,160, 53,  0,173,  5, 74,107,117,159,
-229,142,117, 79,192,232,100,  0,126,  0, 16, 64, 44,148, 12,  8,208, 84, 47,145,  6, 14, 42, 55,147, 10,128,101, 61, 16,169,147,
-165, 23, 88,214, 19,185,219,139, 90,190,160,219, 30, 14,100,  0, 44,238, 45,193,128,194, 90,132,152,226, 30, 19, 96,150,245, 64,
- 54,100, 91,192,104,  5, 48,168,234,  0,134,135, 88,196, 77,170, 77, 70,120,200, 16,188,242, 29, 32,128, 70, 47,133, 31,  5,163,
- 96, 20,140,130, 17, 10,  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,167,142, 94, 60,199,162,209, 84,239, 61, 48, 88,189,122, 53, 25,122,239,223,191,127,247,238, 93,242,244,142,166,
-141, 81,189,163,122,135,138, 94, 60,  0, 32,128,112,110,  4, 35,242, 20, 76,170,235,165, 58, 72, 11,253,200,192,198, 54,107, 41,
- 39, 30, 53,192, 50, 20,207,222, 75,252,110,134,235,237,237,237, 45, 46, 46, 38,233,182,116,184,222, 43, 83,249,116,178, 63,145,
-113,211,186,158,240,148,255,111,254,  2, 25,179,102,205,  2, 95, 90, 75,  2, 48, 83, 95,241,231,211, 39, 78, 78, 78, 96, 29, 16,
- 26, 26, 74,187, 40, 32,114, 95,  5, 86,255, 14,148, 94, 92,166,209, 39,  1, 51, 50, 50, 50,129,  1,100, 11,219,175, 95,191,152,
-193,103, 59,255,255,255,159, 97, 20,140,  2,234,  1,128,  0, 98,193,149,214,177, 38, 53, 70, 66,183,202, 65, 50,  9,121,122,137,
-105, 17,147, 13,118,239,222,205,192,161,137,167, 20, 46, 47, 47, 23, 19, 19, 67,147,  2, 22,232,248,141,133,232,133, 20,253, 39,
- 78,156,128, 84,  3, 36,233,253,119,173,142, 73,171,105,209, 62,208,113,  5, 64, 54, 68, 10, 40, 66,208, 71,124,159,138,254,253,
-103, 88,177,  3,164,209,211,158, 85, 91,229, 42,176, 14,  0, 85,120, 68, 84,  3,194,114,167, 94,223,126,113,248,154,252,215,159,
-220,158,238, 31,164, 37, 24,207,156, 57,246,233,211, 15, 39, 39, 39, 26,165, 51,154, 54, 26,240,232, 37, 88, 98, 18,159, 44, 73,
-  5,192,248,237,234,234, 42, 45, 45, 37,102,191, 49, 50,  0,150,245, 44, 96,  0,217,185,  6, 76, 36, 64, 67,254,254,253,251,  7,
- 12,128, 12, 26, 57,120,235,214,173,248,  3,199,203,139,240,105,210,219,182,109, 35, 73,253, 40,160, 27,128,236,  7, 70, 91,247,
- 15, 16, 64, 44, 36,149,254,198,198,198,103,207,158, 37,152,  9,177,102, 42, 60,122,209,204,  1,150,197,144, 97, 13,178, 15,152,
- 76,243,157,197,192,169, 54,107,149,  3,168,105,188,154, 31, 84,250, 19, 42,193, 49,207,142,  7,150,224,248, 79,101,129,235,  5,
-178,129, 45,104, 11, 48, 32, 73, 47,164,196,135,144, 29,176,221,218,192,210,191, 44,152,163,107,237, 15, 60, 30,228,255, 94,172,
-163,198,252,245,251,255,162, 88,142, 19, 87,255,124,255,250,255,219, 47,  6, 71,131,171, 87,111,253, 37,216, 21,184,247,184,255,
-220,105,110, 94, 62, 70,  9, 73,113, 81,113,149,135,119,127, 41,104,253,102,229,120,181,103,253,155,245,235,215,  7,  6,  6,142,
-102, 21,170,  0, 96,252,250,250,250,  2,235,  0,180, 52,108,100,100,212,216,216,  8,148,194,222, 34, 99, 97, 97,131,129,199,143,
- 31,171,170,170,  2,171,  1, 94, 94,222, 59,119,238,240,240,240,156, 62,125,250,248,241,227,217,217,217, 56, 83, 62, 56,234,225,
-249, 23,158, 19, 33, 34, 64, 46,164,149,128, 21,108,218,180,  9, 83, 11, 92,  4,200, 37,166, 64,223,184,113, 35, 73,234,169,  2,
- 94,188,120, 33, 33, 33, 49,154,228,240,148,251,184,  0, 64,  0,177,144, 84,250,227,183,  9,207, 65, 37,248,143, 56, 71, 43,253,
- 59, 58, 58, 42, 42, 42,224, 34,196,215,  1,105,198,179, 24,132,213,102,237,114,128,183,250, 93, 93, 93,129, 12,  8,137, 57, 46,
-134, 92,130, 99, 45,253, 49,251,  4,152,158,130,183,244,129, 53, 22,114, 80, 16,163, 23,107, 75, 31, 88,250,227,247,166,200,247,
- 34, 85,121,102, 78,118, 70,121, 41,230, 55,239,255,253,254,195,252,246,195,255,143, 95,254,223,121,242,143,129,137, 65,132,235,
- 18,208, 95, 74, 74, 74, 88,245,254,251,191, 90, 83, 89,233,248,139,151,138,114,162, 58,122, 74,204,236, 66,242,138,239,223,127,
-255,241,234,197,223, 39, 47,127,112,177,  0,181,234,227,210, 75,187, 17, 33,226,163,152, 60,189,152, 45, 18, 90,143,165,  0,195,
- 17,104,169,150,150,214,230,205,155,145,163,  3,152,137,240,148,254, 64,192,202,202,202,193,193,241,230,205, 27, 53, 53, 53, 67,
- 67, 67, 96,125, 48,105,210, 36, 96,171, 95, 87, 87,119,221,186,117,192, 10,224,210,165, 75,192, 42,  1, 87, 63,192,223,223, 31,
-226, 95, 92,185, 24, 79,161, 12, 44,187, 33, 33,131,181,  1,  7, 20,127,249,242, 37, 49, 21,  0, 73,234, 33,197,247,254,253,251,
-177, 74, 57, 58, 58, 18, 83,178,  3,181, 75, 73, 73,169,171,171,143, 86,  3,164,  2,128,  0, 98,193,204, 93,184,218,239,244,113,
- 16, 48,183,  0, 75,127, 34, 43, 12,156,163, 61, 12,105, 64,114,245, 44, 51,  6,182,239,120, 70,255,209, 74,112,180,202, 12,127,
-  9, 14,  1,240,202,227,196,137, 19,200,205,127, 98,244, 46, 43,229,193,204,165,209, 61, 95,241,235,250,247,239, 31, 59, 23, 35,
- 19, 19,  3, 23, 39,195,135, 79,255,126,254,255,207,205,201,248,227, 31,195,247,159,255,101, 68,153,254,253, 97,184,253,248,239,
-158, 61,123,176,118,  2, 62,125, 60, 33, 32,192,205,198,246, 63, 53,193,252,239,223,255, 47, 94,253,122,244,244,  3,  3,235, 99,
- 78,193,159,207, 95, 61, 96, 98,251,120,237,218,135,167, 47,247,144, 58,151, 64,225,136, 16,242,205, 98,196,  0,228, 19,247, 48,
-239,239,196,  5,222,189,115,129,179,133,132,246,224, 42, 34,  9,214, 55,200, 34,120,234, 30, 96,210,242,241,241,129,148,251, 87,
-175, 94,133, 48, 32,109,127,160, 56, 30, 27,217,217,217,191,126,253,170,169,169,  9, 44,251,128,  9, 41, 57, 57, 25, 40,248,251,
-247,239,  5, 11, 22,  0, 59,208,231,206,157, 91,185,114,229,247,239,223, 49,239,186,129,  0,111,111,111,178, 35,101,238,220,185,
-248, 43, 81, 98, 90,244,112, 67,136, 84,207,  0, 62,175,  9, 88,124, 63,123,134,126,161, 15, 80,144,248,  2,253, 25, 24,140, 86,
-  3,152,  0, 62,230,131,181, 43,  0, 16, 64, 44,196,180,226, 41, 41,142, 73,  5,200,237,104,162, 90,253,179,210, 25, 36, 25,102,
-249,130,178,226,172,179,105,240,209, 30,112,171,255, 35,114, 63,  0,127,  9,254,234,213, 43,120,169, 77,100,  9,142, 31, 64,234,
- 21, 96,121,129,235,176, 13, 60,  5, 16,100,252,  7, 83, 47, 80,203,155,107, 69,146,224,193, 31,136,200,247,191,255,127,252, 98,
-248, 13,230,254,254,243,255, 63, 19,136,113,249,210, 89, 96, 61,202,192,192,134,102,236,199,143, 87, 89,217,  5, 69,132,  4, 62,
-188,251,246,225,227,135, 19,103, 94, 60,125,249,159,141,251,155,180,202,151,239,223,222,168,234,253, 86,208,252,185,114,246,217,
- 59,119,238, 48, 48,112,140,230, 28, 10,155,255, 64,  0,108,254,  3,139,251, 45, 91,182,104,107,107,135,134,134, 18, 44,253, 33,
- 21,192,235,215,175,185,184,184,236,236,236,122,122,122,128, 29,  2, 96, 50, 88,184,112, 33,176,244,  7, 54, 50,246,238,221,123,
-249,242,101, 17, 17, 17, 60, 87,217,  0,235,111, 92, 67, 64,179,103,207,198, 99, 53, 85,134,128,128,134,144, 49,  4,  4, 44,181,
- 49, 43,  0, 50,142,111, 26,173,  6, 72,  5,  0,  1, 52,184,142,131,198,188, 87,132,200,193,  1, 80,123,191,226, 62,  3, 51, 91,
-154,155,  2,131,128,194, 44,240,197,127,248, 71,255,169, 50,136,  1,153,248,133,183,253,145,  1,100, 86,  0,179,123, 65,100,139,
-117,105,  9, 55,102,111,128,247, 83,241,131, 95,255, 95,188,  1,182,254,152,120,184, 64, 93,117, 96,161,255,227, 39,  3,176, 14,
-  0,146,191,126, 51,252,248,206,240,235, 39,172,  5,138, 90,121,240,252, 41,122,250, 72, 78, 86,145,231, 63, 43,203,155,239,223,
-247, 31,124,124,237,206,211,119,239,190,104, 27,255,253,250,227,207,143,159,127,191,127,251,247,226, 17,195,247,175, 12,221,221,
-221,163, 39, 68, 97,237,169, 16,153, 32, 33,205,127, 45, 45, 45, 96,195, 31, 88, 25,  0, 43,  0, 72, 39,128, 96,233, 15, 25,  2,
- 50, 48, 48,224,224,224,  0, 22,250, 73, 73, 73,237,237,237,192,146,244,228,201,147,  7, 15, 30,188,116,233,210,199,143, 31, 85,
- 85, 85, 63,125,250,132,231,150,155,128,128,  0,204,182,  5,164,199,131,191,127, 48, 80, 67, 64, 88, 59,  1, 36, 53,255, 71,171,
-  1,178,  1, 64,  0, 13,138, 10,  0, 50,244, 15,233, 38, 35,215,  1,240,204,  6, 25,172, 39,126,164, 24, 82,238,  3, 27,254,224,
- 81, 32,182, 89, 75,169,239,102,200,202, 31, 23, 23,151, 61,123,246,224,234,202,224,234,205, 96, 45,220,137, 25, 11,138,175,252,
- 42, 37,206, 20,229,203,  6, 44,238,249,121, 25,153, 24,193, 13,127,134,255, 63,190, 49,124,253,245, 31,216, 45,248,250,227,255,
-191,255,216,111,254,136,207,255,170,171,127, 79, 66,227,221,238,237,175,222,189,251, 97, 96,249, 73, 79,232, 11,  3,235,207, 31,
-223,254,189,122,250,255,235, 87,198, 63,127, 24,133, 68, 24, 25, 24,255,141,230, 10,170,  0, 72,122, 70,158, 80,  1,214,  4,200,
- 69, 51,214,153,  0, 96,201, 94, 86, 86,198,194,194,178,104,209,162,249,243,231, 39, 38, 38,118,116,116,  0, 75,228,  7, 15, 30,
-124,255,254, 29,152, 77,128,109,255,140,140, 12, 60,139,151,200,158,122, 29,168, 33, 32,172,157,  0,242, 78,111, 29,  5,164,  2,
-128,  0, 26, 44, 61,  0,228, 97,107,204,130, 30, 87, 33,139, 12,102,157, 77,131, 21,253,183, 87, 79,186, 15, 94,  5,132,168, 15,
-240,140,  2, 81, 50,194,  3,116, 24,188,249, 15,233, 13,192,217,192, 30,  0,100,143, 21,230,228, 51,193,210, 31,178, 10,  8, 83,
-239,159,191, 12, 95,191,253,255,249, 11, 52,229, 11, 36, 89,216,161,130,192, 10,224,251,239,255,111,223,253,127,253,254,255,185,
-107,127,254,253,  3, 13,229, 93,125,138, 98,230,159, 63, 12,207, 30,255,122,124,247,253,145,227,239,129,141,188,107, 55,254,249,
- 68,253, 97, 99,249,255,250, 37,195,145, 93, 12,159, 62,253,255,255,143,193,198,137,145,131,131,193,211,211, 31,255, 74,195, 13,
- 11,210,  3, 18, 40, 90,161, 75,201, 13, 98, 36,221,187,  0,  7, 66, 66,123,232,150,152,209, 18, 48,144,107,100,100,116,238,220,
-185,205,155, 55, 35,139,227,154, 10,  6,182, 45,  4,  4,  4, 32,141,232,121,243,230,  1,251,  1,192,154,  0, 82,115,  0,165, 62,
-124,248,  0,236,  1,124,251,134,239,174,151,212,212, 84,228,161, 27, 72,243, 31,255,248,207,192, 14,  1,161,117,  2, 40,105,254,
- 67,180,143,182,253,137,  4,  0,  1, 52, 88, 42,128,179,103,207,226, 90,187,  2, 20, 39,176,126,148,157,123,181,194, 33,134, 63,
-103, 25, 20,185,211, 90, 21,103, 29,  0,118,180,103,193, 42,  3, 87,226, 71,129,144, 87,130, 98,174, 10,197,204,225,192, 82, 12,
- 82,250, 35,207,  0, 67,218,254, 16, 46,214, 30,  0, 92, 47,121, 37,203,237,219,183, 31, 93,153,244, 79,244, 31, 19, 11,  3, 43,
- 19, 40,167,253,254,247, 31, 88,184,127,254,252,255,215,111,134, 63,191, 65,245, 65, 97, 17,168, 59,117,245,233, 19, 76,189, 15,
-111, 77,212,214,254,119,248,224, 95, 70, 38,134,215, 47, 24, 57, 56, 25, 14,238, 96,248,245, 29, 88, 66, 48,232, 25,177, 62,123,
-244,207,222,222, 27,152,111,241,236, 36,  4,150,254, 93,217, 12,101, 83,201,175,  3, 40,185, 64,152, 60,189,184,134, 53,232,  3,
- 32, 43,127,124,124,124, 32, 81, 15,233,206,  2,155,249, 88, 21,255,251,247,239,252,249,243,182,182,182,112, 17, 96, 29,  0, 41,
-139,127,255,254,253,247,239, 95, 96, 36,138,138,138,226,154,  4,134,143,  2,145,209,126, 31,192, 33, 32,180, 78,  0,217,205,255,
-209,162,159, 84,  0, 16, 64,164, 85,  0,192,130,152, 22, 59, 33, 33,141,101, 96,174,  0, 50, 92, 92, 92,208,218,254,144, 98,148,
-248,173,170,240, 85, 64, 16, 46, 49,109,127,228, 25, 96,  8,128,112, 33,139, 65,241,235,133,151,254,104,243,  1,196,232,197,  5,
-128,205,127, 92,122, 85, 85, 85,231,207,249,237,108,193, 10, 44,  0,126,255,250,199,206,  6,202,171,159,191,254,255,249,251, 63,
-176,232, 63,123,229,239,223,127,255,113,173,227,  4,234, 93,188,240,143,189,  3,115, 96, 52,243,151,207,255, 63,127,100,248,250,
-153, 81, 81,245,255,223,223,140, 44, 76, 28, 31,222,253,123,246,228, 87, 73,161, 15,254,182,255,132,124,  6, 53, 57,134,201, 69,
- 12,185,125, 20,213,  1,100,247,  9,200,211, 75,249,186, 79,242, 82, 62,176,244,111,104,104, 64,110,236,119,117,117,  1,185,184,
-118,135,253,250,245, 11, 88,132,253,248,241,131,153,153, 25,114,247,217,218,181,107,131,131,131,191,127,255, 14, 20,252,249,243,
- 39, 15, 15, 15,176, 26,192,239, 29,242,214,  2, 13,236, 16, 16,188, 19,  0, 97,140, 22,253,244,  1,  0,  1, 68, 66,  5, 64, 97,
-233,143, 71, 59,176,208,135,148,242,144,113,115,248,146, 83,228,134, 63, 90,197,128,  2,152, 25, 25,216,152, 24, 56,153, 25,120,
- 88, 24,126,126, 94,221,206,202,192,121, 42, 45, 68,145,129, 83,104,214, 98,162, 26,254, 88,215,252, 64, 74,112,252,139,226,145,
- 75,127,228,249,  0, 98,244,226, 47,253,241,232,109,235,156, 81,148,159,193,193,  1,108, 45, 50,232,170, 51, 67,195,234,242,223,
-223,127,255,255,253,199, 92, 82, 82,130,199,240,166,150, 25, 37, 37, 25,192, 30,195,175,223,255,255,254, 97,  0,118, 33, 28,188,
- 25, 62,127, 96,188,113, 17, 88,192, 48,249,249,  6,225, 47,253, 27,146, 25, 84,192, 71,146, 40, 75, 51, 80,216, 15, 24,  9,  0,
-115,207, 23,104,101, 23, 24,224,210,  2,172,  0,128,101, 61,104, 59,134,190,254,159, 63,127, 88, 89, 89,129,109,106, 96, 35,  6,
- 88,250,127,251,246, 13,216,252, 23, 20, 20,196,179, 12, 20, 14,224,  3,170,196, 12,254, 12,134, 33, 32,120, 39,128,140,112, 38,
-114,187,192, 40,192,  4,  0,  1, 68,108,  5, 64,163,182, 63,214,174, 61,230,128, 15,217, 86, 19, 28,253,167,164,244,103, 64,157,
-233,133,215, 97, 12,224,213,180,  4,245,226,154,  9, 32, 70,111,223,196, 25,192,224, 98, 98, 98, 56,114, 22, 52,226, 15,153,245,
-  5, 15,253,151, 16,212,219,211, 51, 35, 35, 19,188,225,131,  9,164,229,212, 33,134,175, 95,254,253,255,199,224,231,231,237,238,
-238,142,167,244, 47,143, 97, 16,224, 97,120,246,134,129,147,157,225,223,127,  6,110, 14,134,214,116,134,234,153,195,188, 14,192,
-213,189, 32, 38, 77,162,149,254, 25, 25, 25,144,162,127,243,230,205,192, 82, 18,107, 53,  0,172,  0,152,152,152,128,237,217,207,
-159, 63,159, 57,115,198,208,208, 16, 88, 13,124,252,248,241,226,197,139,138,138,138,194,194,194,192,210, 31, 40, 66,176, 67,  3,
-217, 17, 70, 82,135, 96,192,135,128,200,107,251,147,173,107, 20,  0,  1, 64,  0,161, 87,  0,184,150,252, 19,185,250,141,146, 30,
- 52, 80,  1,230,161,108,  4, 75,195, 89,105, 51, 65,163, 61,183, 24, 64,  8,  1, 62,130,209,125,178,221, 76, 76, 41, 12,247, 17,
-176,140,128,236, 39,  0, 86, 27,164, 94,101, 12,212,187,180,132, 27, 82, 31,144,122, 67, 47, 60,184, 32,179,190,196,119, 56,102,
- 76, 71,232,253,242,  9, 84, 64,248,249,249, 17, 14,171, 37,212, 47, 70,105,173,119,  0,135,254, 25, 80,167,121,129,  1, 14, 44,
- 19,183,108,217,130, 41,133, 86,  1,  0,149,  1, 27,248, 64,134,156,156,220,135, 15, 31,106,107,107,129, 21,128,180,180,244,151,
- 47, 95,128,130,144,153,  0,130, 86,147, 49, 10,244,226,197, 11,202,189, 76, 21, 67, 70,  1,221,  0, 64,  0, 13,138, 75,225,225,
-  0, 88,132,145, 97, 14,217, 43,124,168,216,167, 33,120,244, 27, 25, 93,  1, 98,130, 11, 43,155, 84,189,196,148,254,148, 52,243,
-  7, 42, 93, 81, 37,126,201, 51,  4,126,156, 39,252, 68, 79, 77, 77,205,121,243,230,253,  3,  3, 60,237,119, 72,235, 30,168,  6,
- 88,208, 67, 14,131,  3, 87,240,255,232,112, 24,220, 40, 24,222,  0,235,230, 30,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, 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,194,114, 41,
- 60,242,145, 12,200,247,177, 32,139, 15,227, 75,150,145,151,162,194,253, 62,122, 33,245,208, 10, 43,146, 52,226,183,183,181,181,
- 21,194,168,174,174, 30,105,241, 75,245,160, 30,205, 71,  3,162, 23, 15,  0,  8, 32,170,157,  5,  4, 57,209,147, 56,181,108,152,
-122,225,108,180,211, 64,137,188,127,131, 66,  0,191, 22, 24, 82,156,193,239,207,163, 67, 13,124,235,214, 45,248,157,  4, 69, 69,
- 69,131,255, 16, 68,180,176,186,126,253, 58,  3,120,141, 35, 77, 45,  5, 38,  3,255,128,244,141, 27,102,162, 37,131,109,219,207,
-  1,  5,177, 38, 12,160, 20, 86,163,188, 60,141,136,183, 23, 88,250,251,250, 42,195,217,184,234,  0, 92,224,243,151,207,247,158,
-221,251,246,255, 27,  3, 35,  3,219, 63, 86, 57, 81,121, 81, 97, 81,130,186,142, 29, 59,134,204,181,178,178, 26,109,168,142,  2,
- 26,  1,128,  0,162,230, 97,112, 68, 94,162,114,245,233,  7, 76, 65,180, 50, 23,121, 59, 34,254,226,152,200, 93, 66,120, 42, 15,
-136,  9,144, 18, 13,115,129, 54, 68, 22,235, 98, 89,100,171,165, 21,101,129,228,203, 31, 63,254,124,  7,159,199,255,225, 19,  3,
-248,252, 34,124, 39, 88,128,  1,242,133,148,125,125,125,196, 92,128,206,196,  8,218,136, 11, 33,129,  0, 43, 99,250, 12,154, 84,
-150,200, 97,  5, 41,250,137, 15, 43,178,235,111, 72,233, 15, 46,184, 65,117,  0,241, 70, 65, 42, 12,140, 10,128, 52,103,252,250,
- 85,190,115,103,154,187,251, 44, 95,223, 78, 72,111,128,200,106,224,200,213, 35,242,134,178,201,193,  9,130, 92,130,255,254,252,
-253,241,255,231,142,147,187,246, 29,220,107,165,100,205,193,193,129,167,244,207,204,204, 68, 22,153, 62,125,250,104, 29, 48, 10,
- 40,  1,200,119,129,161,101, 79,128,  0,162,242,105,160,104,231, 98,146,  1,200, 56,178,139,224,182,120, 60,109,121,248, 45,196,
- 64, 54,132, 68,147, 37,234, 32, 73,  1,190, 75,247, 86,112, 50,200,252,101, 56,250,106,206,185,139,119,223,  6,117,204,167, 93,
-116, 94,186,124, 69, 79, 87,  7, 88,214, 95,185,  2, 98,  0, 69, 32, 12,184,200, 63,188,225,129,255,198, 71, 60,151,134, 67,194,
- 42, 33, 33,  1,200,134,144,232,165, 63, 48,160,176,197,  5, 80,202,217,121,123,122,186, 39,217,117,  0,176,244,  7, 59,123,214,
-198, 13,132,139,120,184, 22, 82,203,122,204,230, 63,144, 12, 14, 94,187,115, 39,136, 76, 75,187, 11,233, 13, 16,236, 10,  0,211,
-204,254,155,251,178,115, 50, 77, 68, 13, 57,249,249,255,255,250,243,239,255, 95,102, 22, 54, 21, 23,149, 27,198, 55, 59,102,117,
-154,139, 88, 64, 14,122,195, 10,222,188,121,  3,103,123,219,114,155,231, 31,141,232,252,  1, 23,113,114,114, 34,222, 11, 27, 54,
-108,192, 60, 25,148, 14,122,169,  2,200,184,234, 29,178, 15,121,244,100,  8, 92,165, 63,132,139, 92,  7,  0,  4, 16, 11,114,215,
-158, 20, 54, 27,166, 77,175, 94,189,130,159,132,140,167,134, 96, 96,215,192, 83, 70, 51, 98, 20,217,196, 12,197,224, 41,182,240,
-220, 37,  0, 44,152,128,141,116,204,114, 31,114, 41, 49,188, 98,192,  3,128, 13,255,167,239, 63,174,203,  8, 22,102,180,190, 59,
-187, 68, 41, 80,105, 55,141, 75,127, 32,128, 20,250, 64,160,163,163,  3, 23,129,244,  9,224, 34,148,180,241,177, 22,211,144,176,
-194, 44,247, 23, 44, 88,  0, 12, 43, 79,107,195,237, 71,207, 51,240,114, 51,124,250, 66, 11, 47,131,199,115,102,225, 26,213,193,
- 15,  2, 62, 85, 97, 47,224,248,218,136, 25,252, 73, 75,219,  9,100, 64, 72,136, 20,144,129,191, 14, 56,115,227, 76,114, 74,162,
-173,170,195,223,159, 63,255,252,253,195,200,  2, 76,192,204,255, 25,254,189,124,253, 76, 83, 84,163, 42,163,170,165,171,197, 89,
-  7,103,215,240,194,133, 11,136, 10, 64,106,  1, 90,161,191,111,223, 62, 34,235,  0, 96,  9,190,173,118,187, 87, 51,  3, 25,229,
- 56, 80,111, 87, 87, 87, 89, 89,217,128,212,  1,192,114,252,230,205,155,207,158, 61,139,140,140, 36, 73, 35, 80,215,104,  5,128,
-189,217, 87, 14, 42,202,102,117, 86,160,137,  3,  4, 16,162,  2,128, 79,240,162,157,203,143, 85, 28,237,172,121,228,234,  1,114,
-140, 26,242,112, 16,242,129,107,192, 26,  2,115,136,  0,243,  2, 13, 98,134,110,168,  2, 86,173, 90,133, 89,244, 67, 70, 57, 32,
-165, 63, 80,  4,143,246, 39,247, 30,125, 93, 95,199,147, 52, 17, 88, 19,136, 11,115,222, 91,127, 15, 84,250, 11,240,129,134,128,
- 88,153,137,113,  0, 48,184,224,163, 64, 68,158, 39,  1, 44,235,229,184, 25,166,196, 48,164, 44, 96, 16,229, 98,184,254,  1, 93,
-228, 42, 17, 55,166, 96, 86,171,  4, 59, 82, 77, 77, 77,152, 69, 63,144,209,149,224, 51,121,199,  9,  9, 37,201, 23, 15, 95,226,
-106,254,  3, 25,120, 58,  1,  4, 71,117,192, 45,253,116,180,246, 62,164, 62, 32, 38,133,116, 45,195,226, 53,181, 12,162, 82,  8,
-164,220,135,144,191,124, 85,216, 54,223,193,175,254,219,247,111, 92,106,156, 22,146,230, 63,191,126,101, 97,103,103, 97,129,102,
-177,123,119,238,108,218,184, 49, 41, 49, 65,129, 93,206,208,222,224,201,149, 39, 50,146,132,167,245, 90,183, 37, 28, 60,120, 48,
- 36,132,  1,185,  7, 64, 76, 29,  0, 41,253, 25, 20,250,183,213, 22,146, 90,  7,  0,245, 78,152, 48, 65, 77, 77,109,242,228,201,
-185,185,185,244,172,  3,224, 69, 63,121,122, 33, 26,201,232, 58, 12,239,230, 63,164,244,135, 48,128,117,  0,114, 39,  0, 32,128,
-168, 57,  4,  4, 44,220, 33,163,195,192,154,  0,185,  2,128,115,241,223,178,130,107, 42,152, 96, 38, 15, 11, 11,163,220,241,240,
-  2, 17,173,225, 15,185,138, 18,215,172,250,119,134, 71, 95,  2,205,255,243,150, 48,184,212,126, 97, 88,206, 48,  7, 84, 36,253,
- 95, 93,194, 26, 55,249,207, 31,162,238, 86,  4,102, 51, 82, 43,185, 87,243, 24, 26,103, 48,200,202, 48,188,220,194,182,112,238,
-175,132, 21, 88, 68, 40, 31, 55,195,  3,224, 83,190,207, 55,116,240,106,115,240,168, 22,172,234, 72,209,215,145, 80,247,105,193,
- 19, 86,120,226, 29,255,  0, 17, 36, 49,192, 75,127, 32, 23, 50,247, 75,108,113,198,215, 70,100, 89,143,  6,128,197, 61,154,200,
- 78,164,126,  0, 46,240,252,213,115,183, 80, 55, 94, 62,193,191,140,127, 14, 31, 60,244,249,203, 23, 95, 63,191,215,175, 94,173,
- 89,187, 46, 57, 49,129,157,131,157,233, 63,171,187,145,251,164,253,147,137,169,  0,128,224,253,123,146,111, 64,131,151,254, 32,
- 14,137,117,  0, 80,111, 67, 67,131,138, 10,200,239,202,202,202,116,235,  7, 80, 82,244, 35, 55,255, 33,140,209, 10,128, 72,  0,
- 16, 64, 84,158,  3,  0, 22,244,144,219, 93,144, 47, 74,132,156,144, 76,204,220,  0,230, 84, 48, 49, 67, 64,184,174,222, 37, 30,
- 64,154,249,152, 99, 62,248,155,255, 64,176,163,178,193,183,189,239,143,139, 53, 48, 28,121,142,223,217,125,247, 45, 80,240,143,
- 75,238,239,203, 34,140,162, 89,196,148,125,248, 59, 67, 88,193,219,128,229,185,137,143,111,101,148,125,221,251, 75, 66,  4,187,
-  8, 25, 61,  0, 34,107,  5, 96,195, 31,212,148,240,181, 59,241,236, 21,175, 62,239,211,157,119, 25, 56,216,131,115,227,132,100,
-124,104,151, 76, 49, 87,254,144,215, 65,196, 58,136,132,107, 93, 16,176,184,119,159,229, 30,188,150, 33,109, 39,136,  1,228, 18,
-211,  9,248,242,227,179,  8,167,240,159, 31,223,254, 51,253, 55, 53, 51, 91,191,126,253,132,190,190,127,255,255, 71,199, 68, 11,
-  9, 11,125,251,242,229,207,223, 63,188,172,124,191,153,126, 19,233,230, 15, 31, 62,192,215,  5, 17, 51, 27,140, 82,250, 67,  0,
-209,117,  0, 80, 47, 48, 23,152,153,153,193, 69,116,116,116, 32,227, 93,180,171,  3, 40, 47,250,145,155,255, 12,224, 75,225, 71,
- 59,  1, 68,  2,128,  0, 98,193, 83, 24,225, 17,199,115,132, 28,100,152,  8, 50, 27, 12,153, 21,128,116, 11,128,226,200,211,  9,
-180, 40, 26,200,  6,184, 70,252,  9,222, 68, 31, 52, 99,237,127, 63,197,151,150, 70,194, 12,214,156,193,147,255, 60,127,205, 32,
-192,199,242,118,249,150,  9,103, 25,152,153,137,113, 60, 25,103, 29, 95, 44,138, 52, 49, 96, 80,202,189,162,205,147,120, 83, 62,
-148, 97, 74, 25,166,  8,237,122,  0,192, 48,177, 53, 85,119,177, 86,243,213, 45,235,157, 48,253,218,217,167, 25, 78, 38, 47, 54,
-110,251,248,254, 19, 25,113,129, 54, 64,132, 43, 93, 97,109,242,147, 23,245,152,230, 96,157, 43,  6, 22,121,192,130, 15, 88,250,
-195, 43,  3, 32,  9,172,  6,128,165,255,230,205,119, 33, 19,  0,144, 89, 98, 61,187,120,180,186, 21,116,120,231, 63,134,255,255,
-254,176,115,114,196,196,198, 54,214,215,139,139,139, 75, 75, 72,252,248,250,229,239,127,160,248, 95, 60,215,185,  0,139,248, 53,
-107,214,188,125,251,246,211,167, 79,240,170, 26,190, 46,136,224,138, 32, 96,  9,222,155,114,149,129, 67,133,225,197, 84, 20,  9,
- 14, 21,160,120,241, 28,124,117,  0, 80,175,191,191, 63,176,196,  7,218,142, 44, 46, 39, 39,  7, 20, 31,240, 57, 97, 34,155,255,
-163,157,  0,146,  0, 64,  0,177, 96,102, 39, 50, 54,130, 65,  0,228,214, 70,228, 78,  0,164,196,  7,138,192,151,141,  3,165,190,
- 19,221, 44, 37,102,250,151,242,101,160,144,102, 62,214,169, 96,130,198,222,237, 78, 99, 13,158,252,253,217, 45,150,227,147,127,
-175,205,101,244,234,217,148, 21,242,112,211,125,223,174, 69, 12, 44,180,186,111,185,108, 53,195,206,174,245,218, 15,221, 25,222,
-124, 45,117, 45,195, 42, 66, 70, 15,128,248,230,255,198,245, 13,204,210, 90, 60, 12,106,143, 14,206,250,204,248,255,212,173,199,
- 46, 87,158,226, 13,249, 71,176,193,186,153,240, 18, 31,  8,246,238,245, 68,147,197,154,174,112, 13,248,144,177,180,148,140,165,
- 65,192,230, 63,164,232,  7,146,200,109,127,200, 44, 49,176, 50, 64, 83,207,203,201,251,236,227, 51, 51,  5,243,239, 63,127, 48,
-124,255,241,231,215,239,170,242,114, 70, 38,134,111, 95,191,  0,235,133, 63,127,255,179,179,176,190,254,242,154,245, 47, 27, 46,
- 27, 67, 96, 67,254,192,134, 63, 36, 79,193,215,  5, 61,127,254, 28,191,107,129,101, 52,176,148,  7,150,245,154,138, 40,230, 95,
-191,255,171,120,142, 54,254, 18, 28, 40, 11, 44,229,129,205,127, 96,137,143, 44,126,229,202,149,141, 27, 55,210,174,244,151,  0,
-  3,170,140,254,195,193,104, 39,128, 72,  0, 16, 64,212, 44,164,224,213,  3,176,232,  7, 86,  0,144,193, 31,204, 90, 97,255,249,
- 15,196,148,209,196,231,109, 74,150,129,194,155,255,104, 69, 63,164,186, 34,232,134,139,119,223,254,190,220,248,146,225,168,132,
- 87, 15,195,199, 79,119,103,149, 40,103,246,191,152, 95,194,192,202,  2,189,166,139,  6,224,209, 87,  6, 77,177, 64,252, 34, 52,
-234,  1,  0,131, 37,220,197,156,255,159,224, 55,  6,214,181,253,185,211,182, 92, 40,245,176, 73,232, 91, 22,210,182,152, 70,211,
-245,144, 10, 30,182, 15,128,180, 90,159,164,  1, 31,172,157,128, 52,112, 27, 31,185,244,135, 55,255,113,  1, 41, 49,169, 29,135,
-119, 90,201, 90,113,113,243,252,251,247,159,233,255,159,127,140,140,192,208,  6,182,253,255,252,251,255,231,207,159,239, 31,191,
-110, 61,189, 85, 94, 76,158, 24, 55, 32,175,  8,170,206,181,246,150,186, 55,235, 52,  3,169,117,  0, 49,165, 63, 92, 47,208,119,
- 93, 93, 93,146,146,146,208, 38,206,221,187,192, 72,167, 67,219,159,146,106,  0,173,249, 63,218,  9, 32, 30,  0,  4, 16,173, 54,
-130, 65,138,123,228, 90,129,200, 27, 75,208,242, 54,145,197, 10,121,203, 64, 49,155,255,196, 23,253,208, 33,160,142,249,235, 24,
- 24, 60,218,189,255,175, 46, 97, 12,235,  5,214,  7,140, 66,130,119,158,124,  2, 53,255,153,153,105, 20,103,152,171,254, 73,218,
-  7,128,167, 82,196, 95, 43, 64,154,255, 41, 14,122,  5, 61, 19, 43,171,202, 69,249,196,174, 94,123,148,112,109, 25,173, 87,106,
- 97,150,218,240,161, 51,226,150, 15, 17, 30,240,193,  3,208, 74,127,248,200, 15,174,217, 96, 14, 14, 14,150,  7,172,251, 31, 30,
-  8,213, 13,249,244,227, 19, 35,168, 25,  0,196,255,254,254,253,255,239,207, 31,110,118,222, 99, 31,207,223, 62,126,199,213,136,
-244, 91,140,238,166, 50, 16,183, 12, 20, 81,  7, 72, 62,186,254, 92,142,200,210, 31,174,183,172,172,108,242,228,201,  2,  2,  2,
-111,223,190,109,104,104,160,231,200, 15, 25,213,  0,102,243,127,180, 19, 64, 60,  0,  8, 32,106,238,  3,192,236, 13, 32,111,115,
-133,116,  2, 72,106,156,210,225, 48,  6,120,243, 31,121,  1, 40,208,155,240,106,131,224, 86, 94, 72, 29, 16,216, 62,239,255, 90,
-  6,145,132,153,  7, 10, 66,108, 58,151, 50,176,178,114,115,176,209,200,205,240,197,254,104, 12,146,246,  1,144,209,  3,128, 52,
-255, 11,102,109,174, 74,118,147,146,112,128, 15,250, 17, 31, 86,176,178,219,211,217,121, 59,108,252,135,132,177, 59,228, 22, 61,
-252,100,  8,234, 14,248, 16,  4,200,229, 62,164, 55,128, 57,108,101,168, 97,184,121,217,230,191,225,127,236,101,237,133,121,133,
-127,252,254,  1, 12,109, 54, 22,182, 15,223,191,157,120,178,119,193,146,133,142, 90,142,100, 88,221,186, 45, 97,225,194,133, 37,
- 37, 68,109,  2,128,213,  1, 12, 36,149,254,112,189,185,185,185,  3,184, 15,  0, 94, 13, 16,169,152,212,237,  2, 35,  7,248,196,
-212,110, 89,210, 60,171,179,  2,121, 31,  0,242, 76, 27, 64,  0, 81,115, 31,  0, 90,111,  0,179,184, 39,245,218, 66, 34,  1,229,
-203, 64, 33, 53, 13,228,150, 93,120, 37,167,  4,  6, 68,246,  3, 24, 96,155,191,236,171,102, 64, 24, 95,105, 19,163,148, 55,183,
- 41,169, 86,129,205,127,215, 61, 39,163,235, 23,  1,157,129,220,181, 34, 62,172,168,213, 15, 32,117, 83, 24,133,195, 65,152,165,
- 63,104,145, 40,198,  4,  0, 28, 56,234, 57, 29, 92,115,248,184,220,  9,107,115,107,105, 94,105,134,127,255, 95,255,120,123,236,
-220,177, 23, 87, 95, 56,105, 58,177,179,179,211, 33,243, 67,234,  0,242, 74,112, 72, 63, 96, 96,103,125, 71, 27,239, 84,  4,152,
- 91,192, 32,  0, 32,128,168, 57,  4,132,185,143,  9,235,  2, 77,130,151, 80,146, 90, 66, 81,184, 12, 20,178,212,103, 15, 24,144,
- 84,156, 65,250, 10,148, 88,141, 57,150, 77,201,153, 57,116,168, 66, 92,107,102,147, 23, 86,152,157,  0,226,157,129,171,172,  7,
-118,  2,224,178,196, 20,229,100, 12,  7,129,214,  2,165,181,186,207,114,199,186, 39,  0,255,100,128,153,182,217,183,111,223, 78,
-110, 60,249,229, 23,168, 49,192,206,196, 38, 39, 46,175,105, 64,194,169,121, 86, 86, 86,107,215,174, 69, 94, 17,244,251,247,111,
-146,130,154,146, 18,124, 48,175,249, 25,  5,164,118,  2,112, 21,191,  0,  1,196, 66,255, 98,  5,255, 70, 33, 82,139, 39,202, 47,
- 13, 39,187, 56,163,188,217, 75,135,209,115,172,195, 63,176, 19, 55,232, 23, 86,148,120,156,212,118, 58,117,135,131, 64,165,252,
- 67, 44,226, 38,213, 38,  4,245,114,113,113,233,168,234, 82,226,236,224,224,224,209, 34,108, 20, 80, 94,  7,224,146,  2,  8,160,
-209, 75,225, 71,193, 40, 24,  5,163, 96,132,  2,128,  0, 26,189, 17,108, 20,140,130, 81, 48, 10, 70, 40,  0,  8,160,209, 10, 96,
- 20,140,130, 81, 48, 10, 70, 40,  0,  8, 48,  0, 59, 44,  3,130,214,136, 48, 89,  0,  0,  0,  0, 73, 69, 78, 68,174, 66, 96,130,
+
+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, 54, 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,  2,
+224,231,207,159, 79,158, 60,185,126,253,250,131,  7, 15,200,216,134,  6, 57,221, 30, 66,146, 10,136, 57, 82,127, 20, 96,  5, 55,
+111,222, 28, 13,  4,130,  0, 32,128, 88, 70,131, 96,  0,193,181,107,215, 38, 78,156,  8,231,230,231,231,107,105,105, 13,114,189,
+ 35, 10,252,254,253,251,212,169, 83, 87,175, 94, 69, 22,148,148,148,116,112,112,224,229,229, 37,198,132,123,247,238, 65, 14, 54,
+  0,146, 74, 96, 64,106,233,255,255,255,127, 70, 70, 70, 82, 79,100, 67, 83, 76,188,118, 50,244,146,122, 82, 52,145, 93, 28, 10,
+ 75,255,254,254,254, 25, 51,102,140,166, 97,252,  0, 32,128,134, 97,  5,112,248,240, 97, 91, 91,219,193,239, 78, 72,182,233,237,
+237,133,139, 20, 23, 23, 51, 16,125, 25, 36,144,252,183, 82, 16,209,149, 11,159, 72,  7,189, 35, 10,124,253,250,117,211,166, 77,
+152, 77,254,231,207,159,175, 89,179,198,213,213, 85, 70,134,112,175, 28,249,168,  3,146, 78, 53,128,151,254,100,212,  1,148,236,
+ 22, 36, 67, 47,228, 28,127, 60,206,  3,246,126, 32,135,252,144, 84,  7, 16,212,133,191,244,255,247,239,223,172, 89,179,150, 46,
+ 93, 26, 29, 29, 61,154,152,113,  1,128,  0, 26,134, 67, 64, 75,112, 28,102, 55,216, 74,127, 96,187, 27,185,244,135, 84,  6, 64,
+ 65, 98, 46,131, 92,144,203,141, 92,130, 67, 10,116,160, 32, 77,245,126,252,248, 49, 51, 51, 19,126, 11,205,139, 23, 47,128, 90,
+ 90, 91, 91,155,155,155,171,170,170, 32,231,245,227,  2,108, 31,191,234,102,206,231,217,127, 31,194,253,243,226,207,213,244, 31,
+151, 90,217,142, 52, 11,110,174,146, 63,183, 75,122, 16,198, 17,176,  0, 66, 46,253,207,156, 57, 19, 21, 21,  5,239, 25,  0,101,
+191, 17, 58, 62,143,  1,227,156,125, 50, 74,127,  8,128,176,137, 28, 11,194,122,164, 51, 73, 86,147,164, 23,114,142, 63, 68,229,
+ 30, 48, 64, 11, 70,252, 55,124,193,245, 98,234, 34, 99,236, 11, 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,215,174, 93,  3,146,114,114,114,240,134, 63,164,237, 15, 23,132, 40,192,
+163, 55,206,134, 13,214,120,127, 15, 68, 16, 54, 68,144, 70,122,129,224,228,201,147, 28, 28, 28,199,143, 31, 71,164, 30, 38,166,
+234,234,234,218,218,218,248,248,248,173, 91,183,226,209, 43,113,242,218,127, 14, 86,174,227,143,224, 34,140, 76,255,245,170,127,
+217,212,190, 55,143,127,117,122,235,160,171,  0, 30, 63,126,252,242,229, 75, 60, 10,126,253,250,117,249,242,101,218,117, 13, 33,
+173,126,  8, 32,178, 14, 64,158, 48, 72, 71,  5, 12,132,166, 19, 40,209, 11,175,  3,222,189,115,153, 57,243, 61, 73,165, 63,214,
+250,  3,174,139,212, 94, 41,176,244,239,235,235,  3,134, 24, 48,101,  2, 43,108, 96,105, 48, 90,196,227,  7,  0,  1,196,132,191,
+ 48, 37, 35,  4,129,133,  8,114,234,193, 95,166, 96,181, 20,162,145,188,200,  3, 54,255,103,204,152, 70,118, 39,128, 62, 41,102,
+226,196,137,240,182, 63,176,232,239,  5,  3,120, 29,  0,100, 35, 15,208, 99,234,133,183,223,129,197,247,237,109,177, 64,  4, 47,
+199,129, 82,196,235,133,180, 73,137,212, 11, 44,125,142, 29, 59,  6,236, 77, 63,122,244,232,249,243,231,104, 82, 15, 31, 62,148,
+148,148,100,192,173, 89,242,216,149, 39,209,214,108,143, 62, 50, 62,135,183,154, 33, 87,185, 49,188,123,200, 46, 36,249,125,176,
+101, 12,200,245,106,248,193,253,251,247,113, 73,221,187,119, 15, 79, 81,139,124,  6, 50,254,182, 63,218,189,114,248,235,  0,228,
+ 27,184,102,162,  2,  6, 66,247,115, 33,203,254, 95, 37,136,140, 24, 72,188,219, 11, 82,238,147, 84,142, 35,215, 31, 64, 68, 94,
+233, 15,236,158, 78,152, 48,  1,216,246, 47, 40, 40,  0,214,  1,144,182,224,244,233,211, 71, 75,121, 60,  0, 32,128, 88,240, 20,
+133, 75,151, 46,135, 36, 56,226,135,212, 33, 73, 51, 38, 38,  6,162,  5,104,  8,164, 76, 33, 50, 46,129,234,151, 44, 89,  2,212,
+ 14, 46,202,151,144,100, 53,188,249, 15,201, 39,100,204,  4, 64,108, 39,213, 82, 74,  0,164,244,135,151,251,200, 92,194, 85, 55,
+184,244,135,176, 65,117,128,215, 98,180,129, 29,252,122,225, 49,  2,174,  3,210,  9,234,  5, 22,241,192, 54,175,177,177, 49,176,
+119,  5,236,  4,  4,  5,  5,129,234,140,127,255,218,219,219,191,124,249,194,202,202, 10,204,126,184,244, 10, 61,124,202,244,235,
+207,  7, 99,  5,214, 35,207, 88,142,191,252, 29,164,  8,138,163,127,255, 47,181,179,189,251,194,251,157,149,199, 53,243,246, 96,
+203, 24, 64, 79,193, 71,126,224,130, 69, 96,192,  0,187, 18,  7,174,  6,179,248,195,223,236,237,236,236,  4,150,119,152,  3,220,
+152, 37, 59,188,249,143,169,114, 16,158,226,149,158, 46,136, 84,163,128, 26, 22,192, 96, 32,251,158, 15, 82,219,254,192, 92, 15,
+191, 27,210,198,198,  6,152,157, 71, 75,127,130,  0, 32,128, 88,112, 23,133,203,102,206,  4,  5, 95, 70, 70, 22,145,101, 34,100,
+ 92, 27,121, 61,137, 45, 24, 64,250,  4,  4, 99, 20, 94,250,195,237, 34,181, 56,  6,186, 57, 38, 38, 10, 92,  3, 69,  1,217,164,
+ 86, 30, 64,235,224,247, 25, 12,137,105,100,122,130,163, 71,143,154,155,155,  3,203, 35, 32,185, 97,195,134,128,128,  0,200, 16,
+ 80,101,101, 37,  3,248,234,133,229,203,151,  3,165, 76, 77, 77, 49,245,202, 31, 61,243,194, 92, 19, 88,152,125, 53,151,101,222,
+240,252,119,128, 34,120,  8,136, 65,175,242, 23, 80,235,215,183, 31,247, 45, 87,145, 55,255,162,103,250,100,240,248, 23, 88,165,
+ 65, 24,125,125,125,240,210, 31,206,134,  0, 54, 54, 54, 92,109, 32,252,108,112,201,  8,  2,152,133, 56,242,157, 42,184,174,149,
+198,122,113,227,128,  3, 96,125,134,185,212, 21, 50,182, 67, 42, 32, 67, 23,228,204,112, 22, 22,150,194,194, 66, 96,157, 61, 58,
+244, 79, 36,  0,  8, 32,236, 21,  0,176,237, 15, 41, 73,129, 32, 58, 58, 18,200, 37, 88, 32, 66,134,122,176,174, 38,132,  8,  2,
+ 21,224, 95,107,136, 86,250, 67, 24, 64, 65, 34,203, 98, 96,148,  3,139, 39,136, 98, 32,  9,172,  0,136,239,  4,192, 75,127,228,
+220, 69,100,157, 71, 73,251,  5,185,213, 79, 82,243, 31, 50, 98,  3,108,245, 67, 58,  1,170,164, 52,255,161,122,195,211,225,119,
+ 63, 17,212,251,251,247,111, 96,166,226,229,229,189,116,233,210,223,191,127, 63,125,250,116,253,250,117, 97, 97, 97,184,  2, 32,
+219,219,219,123,218,180,105,152, 21,  0,243,239,223,178,103, 46,179,241, 74,179, 94,122,251,241, 47,239,231, 79,108,127,175,127,
+ 97, 16,230,128, 43,224, 22,254, 99,234,253,100,225, 52,219, 65, 85,  1,136,136,136, 64,  6,106,150, 45, 91,  6,175,  0,144,185,
+160,158,141,144, 16,214,168,199, 28,250,192,188,100, 17,210,  3, 64,219,176, 67,210, 90, 29, 90,220,112, 71, 57,128, 52,252,129,
+ 93,  1,228,222,  0,241, 29,  8, 96,184,145, 81,250, 47, 93,186,244,208,161, 67,255, 87,  9, 50,134,189,239,239,239,  7, 86,156,
+192,166,201,232, 26, 80, 98,  0, 64,  0,177, 96, 45, 13,129, 33,136, 92, 16,  3, 43,  0, 96,241, 10,236, 85,225, 49,104,226,196,
+137,144,161, 27,172,  0, 40,  5, 84,128, 39,125, 67,  6,223,209,202, 92,112, 57,190,132,152,114, 28,185,203,  2,  1,177,177,209,
+139, 23, 47, 37,166, 28, 71, 46,253,209, 90, 88,  4,245,226,241, 50, 30,  0,236, 39,193,139,123,248,232, 63,242,172,  0, 80,  1,
+ 30,189, 76,225,208,161,124, 72, 29,192,128,180,166,147, 41,252, 61,  9,122,195,211,137,212,123,225,194,  5, 57, 57, 57, 96,219,
+ 10,194, 93,180,104,209,241,227,199,125,124,124,144,213,188,124,249,146,131,131,  3, 83,175,194,133, 11, 31,228, 36, 79, 22, 38,
+ 65, 91,205,139,110,255, 61,254,145,201,  7, 69,229,199,151,156,236, 28,191,  7, 85,198, 80, 85, 85, 61,119,238, 28,124, 72,  1,
+ 43,192,213,160,  1,150,236, 74, 74, 74,120,238,186, 42, 47, 47, 39,114, 67,  0,242, 16, 16,174, 14,193,224,  4,164,174,224, 68,
+190, 12,146, 36,189,203,150, 45, 61,112,224,  0,227, 26, 80,115,100, 87, 13,175, 91,203,103, 59, 59,187,209,165,159, 68,  2,128,
+  0, 98,193, 44, 13,145,155,255,240, 78,  0,176, 48, 69,174, 21,176,  2, 60,178,144,162,156, 96,243, 31,107,  9, 75,176, 19,  0,
+113, 51,114,233, 15, 25,  4,  4, 58, 24, 40, 14,204, 66,120,170, 46,204,210,159,164, 58,128,188,145, 34, 72,193,241,232,209, 35,
+200,154, 31,228,134, 63, 80, 16, 79,201,  2,151, 90,116,228, 23,100,221, 14,114,227, 29, 40, 72, 35,189,192,226, 30,217,167,246,
+246,246,221,221,221,206,206,206,255,254,253,107,107,107,  3,146,223,191,127,  7,134, 51,214, 24, 84, 63,126,252,146,173,  3,156,
+251,199, 94,242,111,247, 99,  6,103,177,255,255, 24, 46,181,177,126,249,199,243,238, 59,223, 59, 70, 33,191,152,139,131, 42, 99,
+112,115,115, 27, 27, 27,159, 60,121, 18, 46,210,215,215,135,220,252,151,151,151,199, 83,136,  3,165,240, 79,183,146, 82, 52,174,
+  2,145,123,194,136,233,143,194,211, 45,214,213,156,120,238,107, 68,214, 11,108, 71,147,164, 23,179, 21, 15,185,195,153, 14,  0,
+232, 36,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,158,  1,185,236,155, 50,101, 10,145,101,217, 54, 84,189,255,228,121, 56,167,104,  2, 25,218, 51, 89, 25, 24,128,173,
+254,247, 96,244,112, 16,230, 13,125,125,125, 22, 22,150, 83,167, 78,253,254,253, 27,109,240,  7, 88, 83, 90, 88, 88, 16, 89, 66,
+ 33, 51,232,112, 91, 28,214,146, 26, 46, 66,112, 21, 16, 25,122, 49, 91,241, 36,109,120,166,164,244,  7, 38, 99, 96,185, 15,100,
+ 47,216,255,107,197,177, 95,192,162, 96,116, 63, 35, 73,  0, 32,128, 80, 42,  0, 60,133, 59,100, 58,151, 96,226, 35, 91,  1,217,
+ 55,217,226,175,144, 40,116, 54,173,179,235,181,107,215,224,171, 63, 25, 72, 57,146,  1,162, 23,178,131,151,158,122, 71, 26,208,
+214,214,  6,246,210,206,158, 61,251,244,233,211,175, 95,191,178,177,177, 73, 74, 74,234,233,233,225, 91,243,138, 49,218,  3, 31,
+ 11,  2,178,233,227,108, 58,239,  4, 30, 88,224,222,242,121,168, 56,117, 16,  2,128,  0, 26, 61, 11,104, 32,  1,176,216, 37, 59,
+201, 14,148,222,145,  6,120,121,121,201,184,200, 30,121, 44,  8,114, 82,  2,144, 36,190, 93,140,178,250, 19, 54,248,131,107, 73,
+ 40,174,241, 28,252, 34,180,208, 75,139,170, 11, 63,  0,118, 94,129,193,226,231,159,  6,237,110,110, 63,  7, 97,120,121, 26,141,
+ 38, 93, 98,  0, 64,  0,141, 86,  0,163, 96, 20,208, 22,184,184,184,  0, 43,  0,226, 39, 54, 41, 47,109,  7,182,  7, 64,223,218,
+226, 63,100, 71,225, 40, 32, 15,  0,  4,208,232,165,240, 35, 17,112,254,188,241,157, 93, 99, 52, 28, 70,193, 40, 24,225,  0, 32,
+128, 70,239,  3, 24,137, 96,180,244, 31,  5,163, 96, 20,  0,  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,209,228, 82,248,
+251, 87,143, 51, 48,253,144,148,145,254,252,253,235,251,183, 95,213, 52,109,136,215,123,228,220, 93,134,127,236, 47,159, 62,229,
+230,228, 22, 20,226, 54, 55, 81, 36, 94, 47, 37,110,254,247,102, 10, 47,207,119, 78,110,102, 22,102, 38, 70, 14,198,231,159,242,
+137,215,251,137, 55, 72, 80, 88,144,159,135,153,129,133,225,221,133, 89,248,237,229,148,190, 65,188,155,191, 63, 69, 25,172,151,
+226,122, 73,188,222,103,223,196, 81,244,254, 36,193,222,103,168,147,  4,210,191, 72,184, 94,245, 41,155,250, 96,208,171,141, 45,
+156, 59, 59, 87,151,151, 99, 57,106,230, 42,106, 56,115,202,252, 34, 33,142,158,160, 28,  9,231, 43, 77, 66, 28,109,126,138, 18,
+ 71, 63,126,114, 19,175,151,131,253, 43,138, 81,126, 83,136,215,235,187, 41,  7,153, 91,252,130,132, 99,115,122, 37, 50,104,148,
+  7, 71,245,210, 72, 47, 30,  0, 16, 64,248,150,129,166, 30, 40, 98,116,140,159,245, 95,159, 24,131,238, 93,217,197,200,240,143,
+135,157,115,254,204,101, 11, 23, 78,180,118,177,254,243,245,155,150,134,221,191,127, 12,217,101,127,181,180,212,239,220,121,248,
+227,251, 31, 94, 73,107, 76,189, 71,207,191,250,207,192,248,229,231,247,244,162,150,198, 73,238,207,174,158,  5, 38,239,109, 23,
+159, 48, 49, 49, 76,108,168,185,117,235,166,130,130, 60, 59, 39,139,176, 32, 59, 22,123,215, 77, 99, 99, 99,227,228,228,228,225,
+225, 17, 17,224, 16,101,229, 21,149,228,230,103,231, 21, 96, 99, 98, 97, 97,249,255,239,239, 39,102,134, 79,175, 62, 29,230,213,
+197,229,242,143,119,167,242,114,126,228, 19, 96,227,225,102,101,227,100, 98, 97,102, 96, 98, 99, 81,151,158,253,251, 63,243,189,
+103, 73,248,125,189,255,145,178,136,136,136, 56,207,143,239, 63,126, 50,177,115, 50,252,102,248, 35, 23,243,225,253, 59,145,207,
+219,104, 87,105,207,154, 53, 43, 45, 45,109,180,241, 66, 16,224, 42,238, 73, 85,  3,  4, 18,156, 92, 79,159, 62,101,229, 96,255,
+199,197, 69, 79, 47,124,123,119,225,216,222, 21,200, 34, 46,161, 29,131, 51,180, 23, 47, 90,196,206,198,246,239,223, 63,110, 30,
+ 30, 95, 63,191,209,228, 55, 36,  0, 64,  0, 17,216,  7,240,127,239,194, 52,103,194,117, 64,168,159,202, 79, 39,161,223, 95, 62,
+176,252,101, 50,211,147,137,143,135, 54,159,129, 37,248,137,227, 11, 68,228,164,255,125,249,100,111,174,251,236,217,251, 61,231,
+209, 79,215, 74, 79,111, 99, 96,227,103,228,226,251,207,252,255,226,181,196,121, 43,118, 66,155,228,255, 24, 60, 44, 45, 25,190,
+188, 96, 96,224,189,123,249, 58,171,136,128,181,133, 14,143,128, 24, 22,235, 25,153,128,136,241, 63, 51,235, 47,160, 49,127,152,
+153,153, 89,153,153,217, 88, 65,228,239,191, 12,140,127,254,129,220,129,  3,188,184,216, 34,196,207,192,199,197, 37, 42, 34,204,
+199,199,245,159,233,239,159,127, 95,254, 50,252,229,225,225, 18,145,144, 81, 82, 61,178,231, 32,246,115,132,102,236,254,197,207,
+203,205, 47,240,249,199, 55,182,175, 95, 57,216,216, 57, 88,127,252,  5,181,  7,191,253,248,250,237,251,163,247, 58,175,222,188,
+251,244,250, 73,152, 21,118,171, 87,119, 18,186, 38, 41,193, 69, 80, 92, 16,107,233, 79,197, 58,160,170,187, 27, 72,182,149,150,
+146,161,183,178,171, 11, 72,182,151,149, 17,175,229,202,211,167,183,110,221,  2, 50,130, 28, 29,137,212, 50,115, 21,232, 36, 28,
+228, 91,177,128,108,  8,201,  0, 59, 31, 13,200, 78,195,118,132, 36,176,100,199, 95,190, 19, 83,250, 43, 10, 10,125,255,245, 19,
+200, 96,227,228,248,245,253,199,191,175,223,222,188,120, 46,169,171,139, 71,139,164,178, 26, 65,127,241,203,107,222,216,183,145,
+160, 50, 96,233,111,227, 18,193, 33,104, 64, 84, 96,133,190, 35,168, 36, 44, 44,108, 85,232, 30,172, 82,142,123, 94,195,217, 90,
+  2,160,146,225,213,143,127,223,255,128, 66,248, 43,152,156,105, 46,160,198,203,138, 85,111, 79, 79, 79, 85, 65,137,127, 80,224,
+143, 31,223, 39,246,247, 77,153, 50, 37, 39, 39,135,194,196,121,231,206,157,110,112,250, 36,184,177,224,248,241,227, 15, 30, 60,
+120,251,246,237,231,207,159,121,121,121,133,133,133, 21, 20, 20, 44,129,165,199, 40,  0,131, 45, 75,154,225,108,180,117,255,  0,
+  1,132,175,  2,152,237,208, 23,124,162,245,223,177,173,105, 86, 12,248,235,128,159, 95,222, 73,168, 56,183,148,  6, 45,152,121,
+  0, 34,114,240,216,140,175,223,126,122,185,228, 91, 89, 39, 68,132, 57,113,114,178,255,250,251,231,243,183, 95,106, 22,152,135,
+246, 60,100,248,197, 16, 20, 61, 61,181,  8,218,181,244,176,114,224,224, 96,223,176,111,231,182,163,199, 23,205,159,246,227,251,
+ 79, 54,102, 22, 30, 46, 54, 62,182,191,119, 30,189, 64,175,162,128, 69,192,255,127, 32,196,244, 15,200,254,249,139,157,  1, 88,
+197,176, 51,252,255,245,247, 47, 51,  3,176, 40,255,251,235,223,159,191,255,176, 58,251,238,169,118, 25,209,255,124,188,220,210,
+ 50,138, 26,186, 42,188, 60,156, 31,191,188,126,241,250,197,251,143, 47,127,255, 96,228,  2,214, 10,162,214,193,129,151,215,174,
+ 87, 71,211, 56,125,233,227,191,188,188,223, 89, 24,216, 56,216,190,127, 99,251,245,141,237,  7,  7, 59, 11, 35, 48,151, 48,255,
+248,254,229,251,183,207,223,191,127,253,254,233,227,231, 23, 15, 39, 76,120,172,108,140,125,255,103,247,162,110, 92,225, 89, 26,
+135,189, 68,126,255,254, 61, 50, 91, 72, 72,  8, 82, 26, 10, 10, 10,222,189,123,119,245,234,213, 36,213, 10,108,226,208,241,  7,
+160,161,130,228,166,173, 89,171, 87,103,103,103,255,126,245,138,152,210, 95, 76, 76, 44,200,205,237, 55, 59,123,111,111,111,176,
+147, 19, 49,199, 91,  2, 61,216,211,208,  0, 29,169,168,175,239,109,108,196,202,198,165, 29,185, 14,  0, 50,140,141,141,247,236,
+185,231,226,162, 68,100,233,175, 33, 33, 41,192,199,  7, 73,102,220, 28,156,207, 95,191,250,244,254,  3,143,128,224,195,211,103,
+228, 77, 77,240,104,244, 75, 43,137,  9,246, 85, 85, 80,128,112,235,123, 39,195,165, 26,139,115,129,228,163,237,123,205,212,100,
+137, 26,234, 33,178,244,135,182, 44,132,  8,169, 32,188, 31,141,155,133,241, 98, 99, 50, 35,159,200,223,123, 23,127,222,187,122,
+235,221, 87,147,237,248,226,119,198,204,153, 69,233,217,113, 41, 73,171,151,174,  0,150,188, 45,157, 93,188, 13, 45,240, 75, 35,
+ 40, 41,250, 65,121,  1,111,235,  4, 88,226,239,218,181,235,247,239,223,202,202,202,182,182,182,252,252,252, 31, 62,124,120,246,
+236,217,253,251,247,129,164,155,155, 27,176, 62, 24, 45,253,209,184,200,117,  0, 64,  0,161, 87,  0,105,183, 97, 71,235,128,119,
+216,253,255,247,133,225,215,207,223,  7,150,165, 57, 48, 16,234,  7,176,105,105,170, 51, 49, 29,184,245,225, 45,  3,195,245,143,
+ 79,111,  3,251,203, 27,183, 78,250,246,230,111,116, 98, 33,176, 57,239,231,107,249,151,133,  7,151,230, 91,183,174,  3,213,120,
+233,  3,155,117, 82, 12, 12,242, 63,126,254, 10,241,112,227, 16, 96, 90,180,108,  7,176,249,190,102,197,  2,230, 63,159, 53,229,
+217,239, 60, 66,215,248,239, 63,232, 94, 42, 32,248,251,247,239, 79,214,255,191, 25,127,255,250,245,235, 27,215, 15,134,127, 28,
+ 76,255,255,254,101,251,255,229,215,143, 95,223,191, 49,240, 97,177, 84,148,231, 39, 11, 11, 39,176,189,160,162,162, 34, 46, 97,
+206,192,204,244,247,239, 89,166,255, 31,126,124,  5, 86, 25, 95, 95, 60,123, 39, 42,252, 70, 88,192, 90, 82,118, 49,  3,  3, 74,
+139,143,243,199,159,255, 63,223, 48,252, 96,255,197,244,251, 43, 27,203, 23, 78, 86, 22, 86, 54,134,127,220,140,204,140, 95,190,
+126,123,255,226,225,221,179, 71,223, 61,122,  4,116, 21,211,127,102, 34,227,105,222,244,121, 16, 70, 82, 38,206,113, 39,228,123,
+166,128,236,162,162,162, 71,143, 30,  1,139, 72,242,246, 94, 78,157, 58,245,229,203,151,107,214,172,241,182,179, 19, 20, 19, 35,
+ 85, 59,176,237,255, 30, 92, 50, 66, 14,134, 75, 15, 35,112, 92, 37,176,237, 15, 44,253, 25,192,247,168,168,169,169,173,221,183,
+143,152,174,  0,229,103, 32,  3, 75,121, 96,161, 15,185, 48,  4, 78,134,134,134, 18, 44,253,213,196,196,129,165, 63, 51, 19, 83,
+ 86, 76,244,247, 31, 63,123,231,206,229,226,228,252,  1,  4,223,191, 51,177, 48, 63, 62,127, 94,214,208, 16,151, 94, 72, 41,127,
+ 27,118,175, 36,132, 75,  6, 48,119,138,216,179,186,194,213, 47,249, 63,187, 42,145, 90,224,103,121, 66,110,115,196, 42,130, 11,
+  0, 27,254, 15,191,252, 61,232, 42,202,154, 63,243, 83,180, 34,139,160, 24,193,210,127,239,222,189, 10,146, 82, 41, 89, 25, 21,
+133,101, 83,230,207, 48, 51, 50,154, 49,121, 70, 65, 89,201, 82, 75,243,203,151, 47,235,226,237, 42,225, 47,250,129, 38,  3,185,
+248,213,  3, 75,127, 81, 81, 81, 67, 67, 67, 38,112, 47, 31,152,227, 88, 89, 89,129, 13, 35,  9,  9,  9, 96, 29,  0,148, 13, 14,
+ 14, 30, 45,253,211,202,161,195,134,179, 58, 43,208,234,  0,128,  0, 66,169,  0, 82,143, 85,126, 99,230,248,247,247,223, 63, 70,
+102,222,255,223, 25,128,205, 96,  6,102,  6,105, 53,214, 95, 95,255,239,153,151,230,146,132,183, 14,248,199,204, 12, 41,236,128,
+101,173, 12,191,180,250,195,155,107,166,207,156,207,244,147,203,205,209,122,199,222,163,223,190, 49,112,  9,241, 99,106,227,228,
+ 82,255,254,237, 38,176,248,134,143,202, 48, 48, 60, 99, 98,118,136,139, 79,254,199,254,117,203,214,121,126,190, 73, 92,220, 12,
+223,222,  2, 19,177,  4,166,246,223, 12,204,172,224,210,255,247,159,191, 63, 63,253,254,246,251,219,  7, 78,150,223,223, 88,127,
+178,252,102,254,205,  8, 44,200, 63,125,255,243,245,243,111,  6,113,116,141, 23,247,119, 42, 73, 48, 50, 51, 51, 50, 50,177,255,
+253,251,255,207,183, 71, 63,255,254,126,250,226,227,187,247, 95, 62,126,254,203,244,227,199, 31,134, 23,204,172, 23,164,228, 62,
+241,114,112, 98,218, 11,244,234,255,207, 63,190,127,126,246,247,229, 71,102,101, 25, 96,250,251,251,231,231,135, 23, 15,110,158,
+ 58,254,250,225, 35,112,177,197,194,  4, 12, 93,102,106,158,225, 14,105,224,207,154, 53, 43, 36, 36,196,192,192,128,157,157, 29,
+237,142, 42, 82,155,255, 22, 58, 58,226,226,226,192, 18,220,199,222, 94,138,244, 58, 64, 16, 92,238,179,138,137,  1, 77,  0,146,
+  4,251,  1,192,182, 63,235,207,159,107,215,174, 69,238, 10, 16, 63, 28, 68, 54,128,148,251,200, 87,178,  0,171, 79,130, 21,192,
+215,111,223, 68,133,132, 18, 67, 66, 62,124,252,244,250,221, 91, 86, 86, 22,  8,  0, 22, 49,236,156, 92,159,222,190,249,252,248,
+  9,175, 44,206,169, 57, 96,233,191,100,237,102,228, 10,  0,210, 15, 48, 55,210,243,114,180, 39,194,213,159, 65,  7, 17,  9, 27,
+184,248,113,239,222, 52,151, 62,163,255,151, 22, 78,248,185, 99,190,216,236,115,192,154,128,153, 79,232,207,251, 87,192,210, 31,
+216, 33,248,250,231, 63, 51,142, 97,212,251,119,238,108,219,180,117,225,236,133,147,230, 78,155,209, 55, 65, 72, 88,168,165,173,
+101,209,178,165,182, 22,214,243,230,206, 11, 10, 13,178,181,182, 37,163,244,223,180,105, 19,176, 95, 43, 41, 41,137,118,  1, 53,
+218,200, 15,176,237,111,100,100,244,231,207, 31, 96, 87,128,131,131,  3, 88,  1,220,184,113,  3,216,212,224,225,225,  1,246,246,
+ 94,188,120,  1, 84, 51, 58, 22,132, 40, 64,202, 59, 32,117,  0, 28,  0,  4, 16, 74,  5, 48,219,170, 29,170,142,233,242,255,125,
+243, 25,133, 37, 25, 82, 38,159,230,212, 52,125,188,241,223,172, 90,230, 35,203,211,108,153,102,253,195, 82,165,111,218,247, 46,
+ 77,229,147,127,124,126,113, 46,176,  3,241, 14,152,112, 25, 24,126,202,171, 27,113,176,179,124,255,250,147,225, 23,168, 98,  0,
+246,197, 94,189,123,143,169,119, 66,127, 17,232,238,248, 19,115,153,152, 32,203, 24, 64,195, 53,255,190, 95,253,241,243, 55, 39,
+ 15,  7,  3, 27,168, 98,248,252,233,147, 24,210,253, 83, 40, 30,248,247,235,223, 63, 22, 96, 10,248,249,243,231, 23, 22,102,150,
+ 95, 76, 12,207, 63,253,225,250,243,151,237,223,127, 86,230,111,204, 44,127,190,126,251,242, 11,203,162, 14, 94,158,175,127,254,
+ 48,254,252,245, 23,152,189,111,221,121,244,228,249,155,239,191,126,127,250,242,238,203,231, 15, 63,254,254, 98,  4, 38,250,111,
+ 31, 63,125,187,255,240,233,199,183,159,191, 50, 48,168,160,105,  7, 58, 11,146, 35,254,124,252,250,228,194,245,151,215,239,127,
+250,124,231,243,135, 15,255, 25, 88, 88,153, 25,255, 51,178, 50, 49,129,250, 80,  4,143, 41, 41,141, 43,197, 51, 22,132,197,191,
+ 44,208, 40,  3,102, 15, 96,141,139,124,216, 36,169,205,127, 96, 45,  2, 26,227, 22, 21, 37,254,148, 49,236,197, 58,184,220,  7,
+214,  1,120, 58,  1, 87,158, 62,101,  0,159,125, 13,108,145, 65,250,  1,160,226,230,210, 37, 32,185,110,255,126,252,117, 64,113,
+125, 61,100,164, 11,200, 46,105,104,128,247,  9,240,140,252, 32,  3, 96,243, 31,109, 28, 25,114,232, 49,124, 44,  8, 43, 16, 96,
+ 97,249,241,235, 39, 48,132,111,220,187, 11,180,241,218,173,219,191,126,253,102, 98, 96,  4,134, 63,208, 49,192, 22,199,247,175,
+223,118,175, 90, 25,132,116,152, 43, 26,128,151,254, 49,193,190,200,226, 39,207, 93, 82, 85,148,103, 39,236,112,216,216,  5,187,
+ 42,176,232,  7,246,  3,128,200, 51, 48,249, 55,139, 42, 13, 75,136,119,207,217,228,212, 94,101,115,176, 59, 69,254, 61,179,227,
+239, 39,208,164,194,171,108, 43,249,153,199,255,254,195,222,148, 81, 87, 85,231,226,226,158, 52,103,170,163,189,189,185,165,197,
+174,109, 59,111,220,185,  5,236,152,115,176,179, 91, 27, 91,111,221,180,245,205,171, 55,129,129,129,196, 23,253,192,102, 59,228,
+ 46,182, 83,167, 78,101,100,100,224,233,221, 62,120,240, 64, 89, 89, 25,194,184,120,241,162,188,188,188,162,162,226,251,247,239,
+207,156, 57,163,164,164,  4,108,100,  0, 69,128, 82,163, 21,  0, 30,  0, 16, 64, 88,230,  0,210, 24, 47,254, 63,184,140,145,153,
+133, 33,119,110,254,  3,201, 73,125, 11,129,133,229,244,218,155,169,109,234,204,123,102,165,201,106,206, 82,205,  2,182,185,153,
+152, 80,  6, 55, 84,248,100,174, 92, 90,  7,102,  2, 11,198,175,224,163,222,127, 51,252,254,201,242, 15,216,116,  0,149,233,235,
+ 55,236,  2,146,214,158, 88,202,136, 29,151,255,123, 24,234,192,187,176,192, 82,142,129,129,149,129,149,227, 15,227,223,127,224,
+147,158,194,163, 65,103,202, 63, 60, 54, 11, 83, 47, 48, 93,254,249,199,196,244,231, 15,211,175,159,223,192,221,192,239,204,204,
+220,127,190,127,250, 14, 44,132, 25,129, 61,131,111,127, 25,190,253,250,131,233,207, 63,191,254,253, 96,101,254,247,237,207,159,
+127, 31, 63,127,249,205,204,200,250,243,207,239, 95,255,127,  1,  9,  6,182,127, 76,140, 12,140,236,255, 62,126,255,251,226,245,
+183,175, 63,209, 39,174,153, 24,161, 29, 22, 96,185,  4, 57,139,234,247,143,239, 31,223,189, 99,  2,134, 26,203,127,134,255, 44,
+204,140, 12,196,183,252,111, 62,188,169, 46,175,142,103,228,  7,121, 64,156,147,147, 19, 94, 19,  0,243,  9,164,244,  7, 86,  3,
+252,252,252, 31, 63,126,252,  0,172,129,136, 24, 51,129, 52,255,129,221,100,  8, 55, 39, 39,103,242,228,201,228,117,  2,224, 38,
+ 64,  6,130,240,143,254, 51,242,242,  2, 29, 92, 86, 86,  6,108, 68,255,126,255, 30,232,230,138,156, 28,130,253,  0,228,177,126,
+ 92,243,  1,152,186, 58,  9, 77,179,159,  5,  3,  8, 27,243, 68,172,247,239,222,241,240,242,190,121,255,126,255,201,147, 44, 76,
+204, 63,127,255,254,246,253, 59,176,129,  9,169,138,128,137,228,215,207,159,248,131, 26,115,216,  7, 40,  2,233,  4,168, 42, 40,
+ 60,186,119,135,164, 16,  6,214,  1, 95, 95,159,220,190,126, 46, 25,253,  0,130, 35, 63,112,112, 97,213,108,131,248, 66,118, 69,
+ 61, 80,  6,121,243,252,214, 59,208, 74, 83,118, 75,159, 71,127,255,112, 77, 57,137, 85,203,167, 79,159,216, 57, 57, 84, 20, 21,
+239, 63,121,252,246,245,219,240,152,232,109,123,119, 79,236,232, 93,191,109,147,170,162,106, 92,112,236,241,115, 71,215,175, 93,
+ 27,136,123, 40,  6, 94,250,  3,139,126, 87, 87, 87, 72, 13,253,236,217, 51, 96,233,143,223,181,111,223,190,181,181,181,  5,230,
+113, 96, 41,127,244,232, 81, 45, 45, 45, 96,138,146,149,149,  5,118,142,153,192,  0,216,129,128, 71,241, 40,192, 10,  0,  2,136,
+  5, 75,233,191,111,  1,  3, 59, 59,131,144,220, 55, 89,243, 73, 45, 51, 24,254,126,101,120,241,169,102,249,193, 12,255, 12,134,
+ 61, 11, 31,189,120,205,160,202,240,239,239, 31,180, 10,224,206,167, 79,106,  2,124,127,126, 50,220, 57,176, 68,197,193, 29, 60,
+ 70,194,240,251,215,111, 86,  6,166, 47, 63, 64,139, 40, 60, 28,140, 56,133,165,177, 58,194, 67,151,113,219,197,255,172,192,230,
+190,156,251,175, 71,135, 33,157,  0, 86, 54,246,223, 12, 63,120, 56, 65,119,  7,110,218,182,252,251,219,199, 22,202,  2, 88,  6,
+158,254,253, 99,251,245,253, 55,  3, 27,176, 18, 96,248,  1,202,162,192, 94,225, 79, 96,209,206,194,202,240,131,225,255, 63,208,
+208, 16, 80,  4, 51,  7,124,251,241,143,153,153,241,247,159,223, 63,126,254,251,244,249,  7,200,181,255,254,255,250,249, 15, 88,
+251, 48,  3,117,115, 48, 48,126,255,251, 15,180,132,232,251,231,239,248, 66, 16,212, 21,248,199,240,159,145,129,137,  9, 88, 58,
+ 48,255,251,207,  8,100,128,106,193,127, 76,192,138,137,241, 31, 51,254,230, 63,169, 17,198,  5, 91,134,136, 92,250,  3,219, 59,
+192, 46, 48,176, 27,  4,111, 41, 19,211,252, 87, 16, 17,129,112,129, 12, 10, 59,  1, 68,142,254,255,255,252,185,182,182,246,231,
+219,183,144,235, 31, 85,192, 53, 16,235,207,159,190,190,190, 79, 95,189,146,166,234, 10, 75,248,  8, 15,124,  2,  0, 13, 24, 27,
+ 27,195,123,  0, 87,159, 98,180, 15,126,254,250,240,235,221,143, 31, 63,  4,248,249, 57,128, 73,241,239, 31, 96,192,  2,203,154,
+ 95,192,142,192,239,223,255,254,252,197, 31,206,183, 31, 60,128,207,  0, 35,143,  5, 33,207, 12,147, 10,184, 69,205,129,237, 40,
+ 50, 52, 18, 63,  7, 96,191,251,245, 43,133, 53,192, 78,  0,163,162,158,252,252,243,111,126,252,227,102, 97,252,117,100,195,205,
+123,247,113, 37,144,239,127,126,157, 61,126,106, 66, 79,191,149,131, 77, 77, 83,195,206,237, 59,151, 46, 90,108,105,103, 35,171,
+ 32,199,194,197,186,247,240,222,101, 11, 23,175,219,176,118,235,214,173,222,222,222,152,218, 33,247,228,192,139,126,  8,  0,182,
+ 99,136,241, 23, 48,205,  3, 75,124, 80,  2, 86, 80,  0,198, 38,176,187,  6,204,254,192, 86, 63, 59, 59, 59,176, 49,  4, 20,228,
+229,229,  5,170, 25,201,229, 59,176,101,179,101, 73, 51,218,176, 15, 50,  0,  8, 32,148,129, 61,208,200,207,225,165, 12,156, 28,
+ 15, 62,253, 98,248,254,145,253,223, 55, 61, 29, 37,134,183,223, 24,126,253,113,208, 87,  3, 45,204,252,253,131,153, 17, 60, 68,
+243,239, 47,134, 81, 31,110,125,120,196,194,206,224,225, 87,184,108, 18,176,145,242,139,225,219,207,191,223, 25, 54,236,191,176,
+231, 52,232,190,120, 25, 57, 69,208, 26,123, 28,192, 75,159,241,247, 15,134, 77, 91,119,152,184,229,130,154,255, 12,172,204,156,
+ 12, 97, 62,161, 94,118,254, 64,217, 39, 15,239,254,255,253, 23,123,235,  6,216, 28,  3, 77, 86,255,253,249, 11, 52,253,251,243,
+199,247,111,223,190,125,249,242,229,243,167,143,192,184,255,244,249,203,143, 47, 95,190,127,199, 82,132,127,254,194,248,253,199,
+ 95, 32,250,250,237,247,231, 47, 63,223,127,254,249,225,211,175,143,159,127,127,248,  0, 34,223,189,253,243,238,253,159,119, 31,
+255,188,121,247,235,229, 27, 44, 35, 72, 76,192,226,  0,152,181,254, 50, 50, 50,  1,203,252,255, 32,119,252,103,254,251, 15, 26,
+158,255,192,217,133,152,249, 95, 77, 75,205,163,219,142,238,220,183, 19, 82, 31,  0,123,  3,120, 20,  3,147, 56, 11, 44, 12,187,
+192,171, 48, 43, 42, 42, 32,167,204, 35, 47,139, 36,166,249, 47, 46,142, 50, 43,146,157,157,189,245,208,161,103, 68, 44,230,193,
+ 10,128,205,127,252, 85,  8,176,153, 15, 97,172, 92,185,242,206, 11,208, 82,174, 45,  7, 14,192,  5,111,222,188, 41, 42, 42, 74,
+163, 60,  0, 41,229,145,175, 72,132,176,241,140,255,128, 42, 90, 62,222,127,127,255,126,122,247,254,205,155, 55,111, 63,188,255,
+250,237, 27, 16,125,254,242,229,235,199, 79,159, 63,124,  0,166,178, 95, 63,126,  0,171,  1, 92,218,145, 75,121,120,233, 15, 97,
+ 35,175,  8,194, 15,190,188, 62,185,103, 53, 34,235,126,123,119,129,214,229,197,243,112,  5, 96,185, 15, 44,253,127, 30, 92,243,
+ 48,209, 16, 88,250, 31,118, 21,253,243,241,181,201,142, 87, 44, 56,162, 23,216,146, 72,205,207,188,115,243,230,241,  3,135,249,
+121,249, 35,195, 35,  5,132,133,206,157, 58,195,195,198,193,205,205, 45,169, 32,181,124,197,242,138,234,170, 47,196,149,233, 16,
+ 96,100, 68,212,105,254,192,242, 29, 88,208,  3, 91,250,192, 86,191,153,153,153,182,182,182,136,136,  8,  7,  7,  7,176,232,215,
+215,215, 23, 16, 16,128,172, 10, 29,225,109,124,228,222, 45,102, 79, 23, 32,128, 16, 61,128,180, 91,211,254,191,126,240,131,149,
+ 99,207, 43, 46, 96, 92, 43,124,120,206,188,174,101,123,122,115,183,150,138,164, 32, 71,174,  6, 39,195,212,243,255,127,255,122,
+204, 12, 30, 55,192, 82,206,240,  0, 83, 44,144,186,120,105,179,190,129,111, 93,205,162,141,235,250,118,237,191,238,104,169,205,
+194,194,190,251,240,185,255,204, 44,191,254,254,197,239, 86, 15, 67,141, 29,103,111, 48,244,118,132,248,122,249,248,248,238,220,
+183, 30,216, 64,247,118,143,100,250,251,155,149, 25,123,113, 10, 44,250,255,130, 74,218,191, 44,192,150,254,127, 22, 96, 19,  0,
+216, 16,  6, 45,  9,  0, 54,196, 25, 65,253,  3, 72, 47,  1, 75,255,241, 59, 47, 19,243,123, 54,118, 38, 80,171,249,239,127, 96,
+107,255,223,127, 96,239,  1,216,  9, 96, 96,226,248,207,200, 12,108,205, 51,254,101, 98,252,249,247,255,135,175,255,249,196,177,
+ 14,200, 32,206, 34,135,132,  7, 11,243,127, 38, 80,133,192, 12, 47, 12, 65,117,  3,238,230, 63,176,244,135,182, 82, 23,236,  1,
+ 34, 32,  3, 88, 25, 48,120,225, 11,162,127,224,161,216, 53,107,214, 64,242,158,162,162, 34,196,131,192,102, 41,208,227,  4, 43,
+  0, 96,233, 15,105,254, 43, 82,175,192,101,  5, 15, 28,121,219,227,156,216,180,210,213,237,237,237,  5, 54,243,129,  5, 61,176,
+ 55, 16,  0, 62, 25, 95, 93, 93, 29, 46,248,240,225, 67, 17,118,118,  9, 88,143,132,186,115,  0, 64,  0,185,146,  5,249,218, 91,
+130,151,214,190,127,243,145,145,225, 15,168, 69,241,242, 27, 27,  7,  7,104, 83, 33,184,  7,240,253,203,151,159, 95,191,130, 38,
+156, 62,124,240,192,125,247, 44,164,148,135,140,  2,153, 27,233,157, 60,119,  9, 46,133, 54, 37,128,179,121,251,250,228,201,  3,
+235,157,189, 34,160,149,193,199,219, 55, 47, 29, 37,163,225, 79,252,248, 15,168,175,246,238,235,163, 20,211,255,247, 47,137,205,
+ 62,247,245,207,255, 79,209,138,252,203,238,127, 74, 20,  6,150,254, 76,184, 43,248,236,156,156,218,142, 22, 49, 97,145,223,255,
+254,222,126,124, 47, 58, 50,106,209,146, 37, 27, 55,108,138,138,142,250,249,227,231,225, 51,199,190,127,255,146,150,144,176,247,
+248,113,204,117, 28,192, 24,185,115,231,142, 27,184,131,136,220, 15,120,251,246,109,105,105, 41,124, 98,  0, 43, 16, 22, 22,126,
+246,236,153,160,160,224,140, 25, 51, 76, 77, 77, 13, 13, 13,217,216,216,128,121,255,196,137, 19,144, 11, 59,129,178,194, 56,230,
+ 14, 71,108, 29,128,  6,  0,  2,  8, 81,  1,204, 82,203,114,248, 58,243,214,147,247,207,125,193,141,142,147, 21,255,183, 76,151,
+122,121,191,223, 62,136,225,195, 59,134,182,  5,255,159,222,248,203,201,253,225, 29,168,251,206,136,177,181,234,224,129,141,246,
+ 14,206, 64,198,215,127,191,239,124,120,  4, 44,145, 85,248, 20, 29, 29,245,196, 69, 36,222,126,252,  4,234, 32,252,250,243,252,
+195, 87, 77,108,142,144,145,179,124,242,232, 56, 56,205,178,120,128, 86,130,178,236,184,252,123,231,150, 53, 47,223, 60, 19, 22,
+  0,117,241,  4,216, 88, 37,  5,176, 47, 33,253,197,192,194,  6,106,137, 49,  3, 27,221, 76,127,129,125,148, 63,127, 89, 89, 32,
+165, 63,  3,120,145, 40,104,139,  0, 54, 16, 16, 81,177, 97,113,  9, 23,219,127, 22, 86, 88, 79,226, 55,195,159,255, 12, 63,126,
+ 49,252,253,  9,108,216, 51, 50,178, 49,  2,205,253,250,147, 33, 57,161, 11,109,107, 53,124,  6,248, 31, 19,176,222,  0,141,255,
+ 64,218,224,192, 30,  0, 19, 51,168, 58,  2,202,254,103,  6,118, 11,240,117,  2,224,165, 63, 26, 27, 84,  7,224, 26,110,250,251,
+ 23, 88,244,  0,139,111, 72,  5,176,  6, 12,128, 92,101,101,101,160,237, 19, 39, 78,  4,118,  8,222,189,195,183, 27,168,  4, 12,
+118,236,216,241,245, 37,202,137,  5,192,250,224,254,253,251, 12,120, 55,133, 97,238,252,  2, 22,253,192,234,  4, 24,116, 62,246,
+246,210,184,231, 15,128, 37,187,149,158,222,219,  7, 15,128,165,252, 45,216, 90, 32, 85, 73,201,162,162,162,163, 71,143,170,169,
+169,233, 72, 75,227,153,246, 64, 30,247, 39,126, 14,  0,121, 50,160,188, 28,180,232,243,222, 61,104,219, 31,190, 45,  0,207, 66,
+ 32, 30,105,177,239,207, 95,  0, 83,214, 87, 96, 35,243,205,107, 96,226,250,255,255,223,143, 31, 63,254,131,193,253,107,215,127,
+255,250,137,103,  9, 16, 74,239,214,209, 30,136,224, 75, 66,137, 25,  2,250,242,230, 20,176,244,  7, 57,131,155,123, 35, 82, 39,
+192,196, 54,144,166, 37,133,201,246, 87,103, 60, 25, 12,140, 93, 94,101, 91, 73, 76, 59,  6,172, 15,  4,217, 24,223,190,123,207,
+194,200,200,130,119,140, 48, 46, 46, 14,206,222,188,121,179,151,183,231,150, 77, 91, 86,173, 90,213, 80, 93,187,235,192, 94,102,
+ 22,102,105, 25,105, 96, 64, 50,176, 97, 89,200,167,162,162,130, 89, 13,236,222,189,155,129,208, 22, 48, 96, 75,255,222,189,123,
+ 90, 90, 90,  5,  5,  5, 43, 86,172,224,231,231,191,113,227,  6,242,216,  0, 80, 86,129,220,  1,183, 17,  2,  0,  2,  8,101, 14,
+224,128, 97, 58,  3,108,101,243,150, 87,  2, 62,162,140,255,207,108,251,127,124, 19,168,238,231,224,248,193,197,187, 91,192,225,
+133,165, 11,120, 44,  2,125, 67,224,205, 91,191,142,156,104,  3,149,137,204, 28,144,225,138, 59,159,158,215,229, 36,125,251,246,
+243,211,119,208, 28,192, 47, 38,118, 39,143, 16,172,142,168,173, 78,216,177, 21,188,173,230, 47,100,176,229,143,135, 46, 99, 68,
+ 86, 31, 23, 23, 59, 31,120, 14,128,245,223, 15,105, 81,236,229, 11,203,255, 63,191, 24, 65,117,  0,176,168,248, 11,204,163,192,
+156,250,  7, 60,103,203,200,  4,236, 14,252,129, 84, 84, 56,234,128, 15,223,  5,190,255,124,203,198,  2, 82,  4, 84,241,  7, 88,
+125,252,254,255,251,207,255, 47,223,255,129,154,255, 12,140,191,255, 65,  7,115,208, 11, 98,208,232,254, 95, 32,252, 15, 44, 22,
+192,227, 63,140, 12,232, 86, 64,180,229, 21, 58,226, 58,151,227,250,241,235,164,198, 22, 48, 77,127,255,254, 93, 87, 87, 87, 73,
+ 73,233,193,131,  7,171,192,187,100, 33,149,  1,  4,116,116,116, 16,172,  3,128,  0,235,244, 90,112,124, 60,  3, 17,155,194, 32,
+ 91,115,145,129,175,131,  3,193,217, 99,  9, 88, 67, 12,185, 55,  0,108,248,155,168,171,179,125,253,138,223,203,148,164,111,228,
+ 82, 30,121, 23,  5,  3, 17,251,132, 57, 37, 37,190,221,190,243,247,207,159, 79,239, 63,128,123, 87,160, 40,126,255,242,213,167,
+247,239,129,174,194,211,252, 71,155, 12, 88,178,118, 51,242,210, 79,228,233,  1,236,224,219,197, 19,251, 33,235, 41, 24, 54,174,
+  6, 45,  0, 53,178,143, 16, 18, 51,160,101, 57,240, 31,165, 14, 96,152,109,144, 81,247,226,223, 63,253,  5,167, 78,121,136,107,
+111,121,  9, 44,253,121, 89,137, 61, 56, 18, 24,185,251, 14,236,115,114,117,222,180,118, 67,115,103, 71,249,199,143,255,255,253,
+ 91,185,114,173,136,136,200,163, 79, 56,117,161, 85,  3, 12,132,182,128,  1,129,165,165, 37,176,141,127,238,220, 57, 35, 35, 35,
+103,103,231,253,251,247,203,201,201,  1, 91, 72,246,246,246,192,  8,  2,138,179,178,178,142,240, 37, 64,144,125,  0,240, 30,  0,
+ 26, 23,  8,  0,  2,  8,231, 78, 96, 96, 63, 96,238,229, 61, 58,127,175, 74,176,126,252,241,159,229,246,127,  1,230,215,159, 94,
+ 88, 64,183, 17, 50, 97, 27,144, 17, 21, 50,244, 74,136,251,251, 31,222, 84,255,255,229,235, 39,102, 22,126,  6, 38,174,178, 30,
+  2, 59,149, 60,188,117, 54, 76,173, 96, 96,250,  6, 47, 72,121,120,248,255,254,126,207,240,255,235,195, 99,179, 76,244,228,112,
+ 14, 46,  3, 27,217,224,172,249,135,129,153,237, 63,184, 26,  0,151,254,160,230, 50,  3,148,192,  5, 18,210,106,102, 77,110,248,
+243,251, 29, 11,120,145, 51,168,143,255,231,255,143,223, 12,159, 62,  3, 59,  3,255,255,252,103, 98, 97,101,108,109,194,178,184,
+ 37, 37,  5, 52,124,188,112,193, 29,198,223,160,230, 63,168,155,  1,162,192,173,164,255,204,140,160,185, 40,150,226, 18, 55, 60,
+ 86,167, 52,167, 60,184,251,128,140, 24,  5,166,239,247,224,245, 51,198,198,198,102,102,102,175, 95,191,190,123,247, 46,104, 97,
+226,191,127,107,215,174, 37, 88,  7,228,196,199,115,138,137,249, 96, 27,174,201,  1, 87,  0,156,184,139,114, 72,134, 68,211, 43,
+ 45, 46, 78,146,251,129,189,  1,107,112,111, 64,140,147, 83,199,202,138,166,169, 31,173,124,  7,134, 24,218,108, 48,193, 58, 64,
+ 88, 85,229,243,251,247, 44,236,108, 63,127,254,248,251,251, 15, 48,144,121,  5,  5, 63,190,123,  7, 44,253,241, 55,255,225, 27,
+193, 32, 19,  0, 39,207, 93,  2, 86,  0,240,209,127, 92,251,194,212, 36,223,191,121,251,102,213,234,229,112,145,176,232,228,119,
+191, 72, 91,247,137, 57,230,131, 33,194, 72,176, 31,192,176, 29,122,144,131,202, 70,232,222,251,143,191,255, 18,239,  6, 39,  7,
+167,139,130, 23,221,188, 61, 82, 99,147,245,244,117, 55,109,220,124,252,194,217,180,180,180, 71,132, 14, 41,131, 87,  3,221, 96,
+ 64,112,135, 35,176,182,  0,246, 24,182,108,217,  2,108, 18,  1,251, 13,144,181,112, 87,175, 94,  5,182,253,129,165, 63,188, 46,
+ 25,225,  0,109, 51, 48, 50,  0,  8, 32,124, 71, 65,252,211,117,185,196,224,114,137, 20,155,116,116,172, 39, 77, 90,148,151, 31,
+ 41, 45, 15, 76,181, 63, 89,217, 57,158, 60,255,100,239, 27, 71,140, 94, 67, 67,165,132,132,176,  5,243,214, 49,252,123,  8,108,
+217,255,249,241, 93, 90,146, 95,142,239, 15,  1,109,127,255,177, 48,253,251,205,200,194,250,255, 15,180, 26,  0, 18,255,255, 18,
+185,172, 37, 45, 23, 52,164, 80, 95,153,201,202,194,  8, 57, 55,232,239,223,191, 31, 62,  3,107,  2,  6,102,150,127,211,166,226,
+ 75,127,241,  9,160,205,  1,243,230,222,100,128,156, 72,195,  4,236, 46,128,198,124,138, 74,124,  8,218,251,241,203, 71,172, 71,
+253, 16,  4,192, 50,  8,216,  9,  0, 58,242,211,167, 79,204,204,204, 64,134,132,132,196,239,223,191,145,179, 10,176, 14,192,117,
+ 38,  4,164,169, 46, 72,214,114, 79, 33, 72,144,146, 88,226, 99,  2,113, 18,135,101,201,158,  3, 64, 43,217,177,174,  5, 34,184,
+ 29, 76,193,204, 20, 72,222, 56,120,240,199,183,239,255,254,254,213, 52, 54,214,181,178,227,145,198, 27,128,255, 25, 31,222,191,
+ 11,154,113, 97, 96, 72, 10,130, 78,233,  0, 69,144,217, 88,183,136,220,122, 14, 76, 18,130,225,209, 41, 15, 31,191, 56,113,104,
+ 11, 80,100,213,210,185,230,118, 62,188,226, 54,196,  4, 84, 24,104, 31,  6,225,147, 30,254, 50, 98,223,132,240, 40, 80, 98,251,
+179, 31,212, 42,116,244,193,224,204,153, 51,123, 79, 28, 20, 22, 17, 38,233,144, 18, 72, 53, 64,140, 74, 94, 94,222,224,224,224,
+227,199,143,  3,155, 65,167, 78,157, 26, 61, 11,  8,115,244, 31,173,244, 71,155, 15,  0,  8, 32,234, 95, 10,175,172, 97,186,117,
+231,157,  0,111, 46, 49,105,217,119,159,255,216,123,199, 18,175,215,210, 84,195,210,180, 42, 61,189,142,129,225,165, 32, 47,139,
+156,208, 63,194,163,150,137, 37,148,187,185,177,125, 58,144,204, 47,200,249,245,253,247, 63,240, 82,203,254,169,253, 68,234, 77,
+ 74,  6,157, 20, 52,111,206,141,127,255,153, 43, 43,252,233, 16,169,160, 35,143,126,254,252,245,235, 23,164, 88,132, 20,136,195,
+245,124, 80,130, 39, 76, 16, 15,136, 57,245, 19, 23,208,176,183, 39, 94,241,243,123, 55,205, 85,101,200,182,235,237, 47, 21, 30,
+113, 21,151, 80, 27, 82, 53,226, 58,229, 13,  9, 48,253, 97,100,255,206,132,125,254,255,238,231, 63,106,188,120, 10,  4,114, 22,
+ 10,155,152,152,208, 33,145, 88,130,193,104,113,143,171, 14,192, 35, 11, 16, 64,163,151,194, 15, 73, 48,122,171,251, 40, 24,  5,
+163,128,114,  0, 16, 64,163, 55,130, 13, 73, 48, 90,250,143,130, 81, 48, 10, 40,  7,  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, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,
+  1, 68,147, 75,225, 71,245,142,234, 29,156,122, 33,167, 65,140,134,213,168,222, 17,165, 23, 15,  0,  8, 32, 22,180,236, 65,140,
+ 30,172, 89,136, 18,189,163,128, 84,128,171, 32, 27,  5,164,134, 18,145, 33,249,232,209,163,167, 79,159,178,179,179,139,136,136,
+200,201,201,209,205, 11,240, 51, 95,  7,115, 14,122,245,234,213,211,167, 79,241,171,145,150,150, 22,195,182,251,132, 18,189,163,
+128,114,  0, 16, 64,232,203,126,  9,238,188,199,179,193, 10, 77, 47,230,209,196, 52, 61,115,152,254,133, 11,126,  5,  5,  5,  5,
+154,154,154,248,181, 75,163,158,129,131,156, 19, 66, 67, 67, 93, 92, 92,240,232,165, 74, 29,224,238,238, 14, 36,119,238,220, 73,
+  7,189, 95,191,126, 93,187,118, 45,228, 82,248,224,224, 96, 67,220,247, 41, 98,122,150,224,165,240, 51,102,204,192,218,218,192,
+ 31, 74,196,132, 33,176,132,250,249,243, 39,208, 10, 14, 14,142, 31, 63,126,  0,107,130,211,167, 79,235,235,235,171,168,168,224,
+210, 98,109,109, 77,208, 95,207,159, 63,135, 92,123,130, 31,  0, 75,127,200,113,223,196,132, 21, 49,123, 65,194,194,194,240,167,
+ 43,  8,144,151,151,103,  0,159,183, 12,244, 59, 36,238,240,164, 73, 96,186, 45, 42, 42,194, 99,233,251,247,239,205,205,205,177,
+  6, 53, 80,175,150,150, 22, 30,189, 47, 95,190,172,173,173, 29,109,238, 80,  2,240, 92, 10, 15, 16, 64, 44,195,198,147,244,111,
+ 20,111,156,225,129, 75, 42, 32,115,  7, 65,237,251,247,239,135,103,143,111,223,190,113,113,113,189,126,253,154, 96,237,178,103,
+207, 30,100, 54,114,134,  4,114, 87,175, 94, 77,124, 32, 92,190,124, 25, 82,136,163,153, 67, 18,200,200,200,200,206,206, 38,230,
+234, 87,200, 77,144,113,113,113, 64,255,246,246,246, 42, 40, 40,  8, 10, 18,222, 11, 13, 44,121,183,111,223, 14, 97,123,120,120,
+236,216,177,  3, 43, 27, 79,143, 19,158, 48,128, 12, 99, 99,227, 89,179,102, 65, 10, 74, 98, 18,204,199,143, 31,121,193,  0, 88,
+250,115,114,114,  2, 43,131, 15, 31, 62,240,243,243,159, 58,117,138,  1,188, 97, 21,151, 70, 29, 29, 29, 96,113,  9, 47,184,145,
+ 91,241,192,  2, 29, 72,158, 56,113, 34, 42, 42,138,152, 16, 38,178,244,135,128,  9, 19, 38, 80,158,176,185,185,185,175, 93,187,
+198,202,202,250,235,215, 47, 96, 32,223,190,125,187,178,178,146,160,174,151, 72,199, 11,218,218,218, 30, 62,124, 24,206,125,243,
+230, 13,145, 26, 49,193,  3,216, 33,122,163,128,242,210,159,  1,227, 82,120,128,  0,236,157,177, 13,131, 48, 16, 69, 35,185,202,
+ 12,241, 16, 46,210, 51,136,167,112,239, 50, 61,  3, 89,222, 32,146,199,113,155, 39, 31,178, 16, 40,112,144,134, 34,191,  2, 36,
+163, 19, 62,254,253,115,113,255,162,  5,160,148,162, 84,136,215, 57, 24,121, 60, 95,147,168,121, 71,229, 18,161,126,145, 87,227,
+ 56,106,116,220,194, 23, 30,226, 78, 41,193,146,139, 73,103, 26,116, 83,120,241,134, 60, 10,180,127,206,185,155,194,239,126,121,
+180,191,204,140, 20, 83,120,106,128,166, 21,248,221, 20,158,192, 32,253,185, 41, 60,121,  2, 59,239,  6,204,238,192,251,183,102,
+150,128,246,167,201,184, 55, 83,248, 90,171, 49,134, 87,109, 20,  0, 97,249,174,241,229,246,  4, 88, 72,180,250, 38,  0,132, 16,
+228,162,103,212,250,201, 55, 32,252, 33,235, 24, 35, 53,128,196, 24,134, 65,201,254,115,192,254,222,251,121, 13,144, 54, 98, 35,
+145, 78,111,174,115,142, 54,154,114, 37,179,108,  5,214, 90, 18,140,159,130,252,252,179,255,196, 42,205, 23,126,109, 10,255, 17,
+128,189,179, 57, 97, 16,134,163,184, 32,221, 32,183, 14,225,209,  1,218, 91, 22,200,221, 49,178,143,123,100,152, 28,147, 13,132,
+254,204,159,  6, 17, 53,177, 45,133, 66,223, 33,136, 66, 14,154,188, 15, 15,121,159, 20,  0,182, 89,241, 78, 37,216,108, 88,203,
+179, 26,192,178,251,173,159,227,153,253, 79,209,153, 80, 24,172, 45,135,167, 47, 79,  3,173,  7,246,191,153, 75, 81,238, 82, 10,
+207, 88,227,226, 87,184, 37, 48, 21, 51, 48, 22,103,128, 82,113,253,175, 69,129,119,176, 89, 10, 95, 12, 61,124, 29,  4, 96, 24,
+  6,114, 64,  8,225,242,108,133,231,  2, 37,136, 49, 30, 39, 39,216, 63,171,178,  8,128,228,128,212, 68, 86,155,183,224,253, 92,
+251,252,133,133,141,221,118,206,105,173, 81,  2,165, 20,215,176, 63, 98,192, 42,109,219,154,126,163,153,253,173,181,178, 25, 87,
+ 57, 96, 15,227, 56, 30,132,  0,239,189, 49,102,239,233, 52, 77,215,  4,222,182,132,227,174,235,250,190, 23,195,241,183,255, 75,
+246,111,182, 74,225, 31,  2,176,119,237, 54, 12,131, 64, 52,202, 72,136, 29,248,180, 89, 35,107,176, 65,214,136,168,211,177,  6,
+ 18, 29, 59,184,129, 34, 47, 57,133, 34,216, 16, 16,101,174,176,108,203,216,103, 16,239,221, 61, 36,110, 37,  1,212,194,197,143,
+ 43,195,171, 56, 64,107, 61,154,  7,116, 61,236,190,234,114,125,220,111, 98,226,  7,  1,127,152, 87,181,183, 49,198, 81, 74,152,
+232,231, 82, 20, 30,168,141, 88,  9, 51,112,130,  0,200,168, 33, 56,224,168,175, 72,253, 63,125,138,194,151,189,227,169, 40, 60,
+221,108, 12,180,148,178,172, 39, 41,165, 74, 78,208, 80,126,234, 40,164, 46, 10, 95,180,160, 93, 11, 33,156,223,123,137,227,  4,
+ 95,244,222,211,230, 75, 84, 20,254, 85,107,122,219,172,181, 13, 40, 47,232,143,108,227,139,141,134, 84, 29, 60, 76, 14,143,166,
+  2, 19,150, 82, 98,140, 57,231, 56,231, 24, 53, 18,217,112, 41,132,200, 57,119,155,  3,241,113, 52,198, 28,105, 65,203, 13, 97,
+  7, 18, 74,112, 42,186,  5,158, 99,140,  8,253,193,  7,112,251, 15,253, 93,123, 10, 32,106, 86,  0, 84,159,  4, 38,163, 14,  0,
+ 54, 39, 73,234,  7, 64,178,214,210,165, 75,209,196,183,109,219,  6, 20, 36,210,144, 19,247,181, 44, 20,175, 17, 63,242,  3,111,
+ 96,194,155,138,192,228, 11, 41,140, 72, 45,253,225,117, 24, 73,205, 67, 72,243, 31,237, 82,120,242, 58,  1,112, 19,240, 92, 10,
+ 15,111,242,  3,203, 20, 96, 99, 86, 85, 85, 21,216,136,102,103,103,231,231,231,111,105,105, 33,216, 15, 64, 30,235,199, 53, 31,
+ 64, 70,213, 14, 44,136,225,106, 48, 79,196,  2, 54,240,121,121,121,129,165,222,177, 99,199,128,141, 95, 96,201,242, 29,233, 82,
+120,208,189,211,132, 46,133,199, 28,246,129,183,229,129,209,253,138,196,219, 55,129,241, 11, 89, 17, 68, 70, 63,128,224,200, 15,
+ 28,  0, 35,162,180,180, 20,146,227,128,214,221,190,125,155,  1,116, 76,175, 33,176,254, 35,102, 29, 14, 37,101, 61,164,242, 32,
+195, 64, 96, 60,  2, 99,199,210,210, 18,126,240, 28,208,181,192,190,203,104,225,206,128,116, 39, 48,242, 16, 16,114,106,  7,  8,
+160,193, 62,  9, 76,159, 58,  0,168, 30,210,111,133,119,132,137, 44,253,129,205,127,178,189,  6,105,254,163, 53,252, 95,188,120,
+ 65,235,210, 31,222,252,215,209,209,129,112,129, 12, 10, 59,  1,248,  1,124,244,159,155,155,187,182,182, 22, 88,250, 67,196, 13,
+ 12, 64,151,156,  0,203,125, 95, 95,223, 35, 71,142,  0, 73, 42, 90, 10, 15, 19,248,  4,  0, 26,  0, 54, 27,225, 61,  0,204,117,
+211,192, 50,  5, 88,  7,252,248,241,  3, 88, 75,  1,235, 42,200,117,155,240, 75,225,129, 12,252,165, 63,164, 82,199, 28, 11, 66,
+158, 25, 38, 21,144,173,145,248, 57,  0, 96,125,236,237,237, 13,204, 65, 92, 92, 92, 14, 14, 14,192, 16,  0, 70, 25,176,134, 94,
+176, 96,  1, 19, 19,109, 55,141,  2,203,122,248,240, 17, 36,  3, 18, 95,157,  0, 27, 52,143, 30, 61, 10, 15, 15,103,  0, 95, 58,
+ 13,186,122,108, 20,160,245,131,113,220, 11, 15, 16,128,188, 51,200, 65, 24,  4,162,232,222,211,168,123,227,185,186,225, 46,108,
+ 12,135,168,149, 35,116,197, 41, 88, 17,182, 70,159,153,132, 16,172, 21, 48, 38, 38,254, 21,105, 55,147, 38,243,102,134,161,204,
+175,255,  9,220,209,  9, 64,245,201,123,130, 69,170, 91,235,233, 47,218,239,182,231,233,114,154, 54, 18, 15,168,  6,154, 76,  5,
+ 67,227, 56,202, 62, 62,238, 87,151, 24,222,210,199,233,160,191,164,255,207, 67,225,177, 65, 94,117,232,237, 80,120, 32, 34, 11,
+252,115,158, 31,195,205,141, 49,233,225, 87,135,194,167, 51, 63, 69,212, 92,111,182,147,254, 67,121, 44,244,222, 75,175, 30,197,
+ 24, 67,  8,240,133,106,128, 10,224,250,122,220, 80, 14,235,162,111, 95,156,235, 95,143, 34,185,217, 53,199, 70, 63,148,214, 26,
+238, 67,127,231,156,181, 22,250, 43,165,136,205,195, 48,212,  4,128,195,146,154, 98,  0,110,216, 74,127,217,132, 20,250, 35, 22,
+199,150,187,187,255, 68, 84,  0,169, 19,144,235, 46,128,  6,233, 36, 48, 37,165, 63, 48, 13,145,209, 77,134,140,  5,  1,187,  2,
+196,151,254,192,226, 30, 88,250, 67, 71, 57,214,173, 95, 11,190,197, 15, 88, 25, 48, 56, 57, 50, 48, 16, 94,  6, 10, 89,149,  8,
+ 25, 11,  2, 54, 81, 33,151,160,  2,139, 96, 34,146, 47,168,168,133,223, 11, 79,106,233, 15,105,254, 99,109,236,147,215,  9,128,
+ 84, 27, 57, 57, 57, 56,  3, 42, 56, 24,249, 82,248,152,152, 24,  6,140, 75,225, 99, 99,113,222, 27, 65,225, 28,  0,  3, 89,151,
+194, 11, 11, 11,191,125,251, 22,216,222,127,253,250, 53,176,  7,  0,191, 20, 30,216,111,  3,198, 23,176,244,  7, 86,  3,104,131,
+251,200,  0, 82,202, 67, 70,129,208,110, 34,195,163, 11,173,244,135,108,  2, 64,230,146,209,240, 39,126,252,  7,  8,110,223,190,
+ 13,140, 14,160,  7, 45, 45, 45,129, 36, 48,208,128,229,233,166, 77,155,152,153,153,137,169,  0, 40,105,197, 35,155, 64,146, 46,
+ 99, 48,  0, 50,206,157, 59,  7,116,179,141,141, 13, 48,105,  1,123,153,200, 11,166, 71, 44,128,172,  2, 66,155,  4, 70, 94,  5,
+  4, 16,128,189, 43, 72, 97, 24,  4,130, 31,240,  9,130,207,240, 44,248, 35, 95, 41,248,  4, 79,126,195, 75,167, 25, 88,182,181,
+196, 77, 14,165,135,238, 73, 66,  2, 97,163, 51, 19,119,100,127,183,  8,252, 77,244,215, 28,112, 73,251,127, 28, 63, 57,192, 54,
+113, 57,128,224,210, 71,198,106,173,219,103,215,190,240,116,  4,109,223, 95,154,194,175, 26,138, 70,186, 19, 79,222,122,242,139,
+116,  2,100,  4,250,203,134,210, 26,248,142, 33,  4,246,127,  7,  1,208, 11,164, 47,234,150,226,239, 92,247,122, 14,192, 94,  3,
+208,147, 16, 57,201, 57,  3, 17,244,142,217,121,174,188,247,189,119,118, 94,155,115,146,129,164, 41, 60,107,194, 70, 51, 79, 62,
+ 66,244,187,101, 39, 71,224, 30, 55,235, 69,116,219, 78,106, 12, 58, 62, 75, 41,144,255, 41, 37,240,129,115,110,140, 97, 36,  0,
+ 65,112, 10,169,123, 37,129,171,218,159,235,  8, 25,107,173, 97,  0,232,143, 49, 34,111,248,149,249,215,129,183,241, 16, 64, 44,
+152,249,141,108,179,208, 82, 39,114,251,  5,185, 89, 68,187,210, 31,152,236, 40, 92, 42, 71,146,246,199, 79,112,142,215,115,114,
+114, 17,212,142,117, 96,154, 72,  0, 44, 80,128, 37,254,222,189,123,225,247,194,195, 23,131, 18, 83,135, 97,189, 20, 30,178,227,
+134,224,166, 48,204, 74, 61, 55, 55, 23, 79,233, 15,  1, 66, 66, 66,144, 33,126, 96,107, 26,185,225, 95, 83, 83,131, 63,201, 81,
+184, 15,  0, 57, 52,208,182, 74, 16,172,239,129, 93,177,109,219,182,253,249,243,231,195,  7,200,165,240, 32,151,  0, 59,  4, 64,
+ 46,144, 77,124, 67, 30,104, 47,242,210, 79,228,233,  1,252,165, 63,  3,185,115, 60,148,215,  1, 21, 21, 21,  7, 15, 30,  4, 70,
+ 83,123,123, 59,176,197,  0,236,  0, 65,182, 68, 16, 28,226, 35,163, 21,143,172,151, 84,  0,172,153,158, 62,125,138,188, 15,224,
+226,197,139,192,174, 27,176, 85, 65,228,186,213,145,  0,208, 38,129,145,  1, 64,  0,177,224, 47,196,113,245,109,105, 13,200, 40,
+253,233,156, 79, 90, 90, 90,240,239,111, 36, 88, 89, 82, 50,164, 11, 41, 52, 33,203,240,129, 12,200, 94, 48,248,189,240,120,202,
+ 53,200,197,238,192,194, 11,121, 14,  0,210,188, 45, 43, 43,195, 95,218, 98,213, 75,234,144, 17,145, 13,127,106,117, 73,145,195,
+  1,243, 82,120,252,117,  0, 48, 88,188,189,189,129, 45, 89, 54, 54,182,159, 63,127,  2,235,  0, 96,  8, 11,  8,  8,  0, 11, 44,
+ 60,  7,117, 32,231, 35,248,244, 47,208, 94,160,122,120,222,193,149,203, 32, 73,  2,109,219, 48,169,115,191,152, 99, 62, 36,141,
+  2, 65,234,  0,248,230,175,172,172, 44,  8,  3,216, 19,194,163,229,217,179,103,200,187,189, 86,172, 88, 65,240,132, 31, 92,122,
+ 73,  2, 23,192,  0, 77,240,  9, 24,140,150,251, 12, 72,119,  2, 35, 23,253,200,171,128,  0,  2,136,133,138,229, 59,166, 94,250,
+212, 22,244, 47,253,129, 64, 20, 12,200,214,174,  4,  6,212,114, 12,124,252,  7,185,236,195,122,217, 39,217, 71, 62, 80,168, 23,
+107,111,128, 72, 64,246, 28,  0, 90,146,192,218,229, 34,152,108,128,221,202,187,119,239,238,223,191,255,251,247,239,127,255,254,
+ 53, 48, 48,  8, 11, 11, 35, 24,119, 39, 78,156,128,119, 35,224, 34,200,108, 92,169,  2,222, 56,128,212, 28,192, 28, 68,176,178,
+129,131, 48,202,238, 79, 38, 59,  7, 73, 75, 75,  7,  6,  6,226, 87,211,220,220, 76,117,189,163,128,164, 58,  0,179,244,  7,  2,
+128,  0, 98,161, 86, 25, 58,122, 90,211,128,  3,180, 40, 32,254, 72,216, 33,228,169,  1, 49, 74, 25, 12,136, 87, 15,236,223, 16,
+121,206, 15,158,198,  1, 25,213, 45,181,106,104, 82,129,152,152, 24,217, 97, 75,137,222, 81, 64,124, 29,128, 75, 10, 32,128, 70,
+ 47,133, 31,  5,163, 96, 20,140,130, 17, 10,  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,104,120, 41,252,232,  5,220,163,122,135,168,222,205,126, 83,136,215,235,187, 41,135, 90,122, 55,250,146,
+160,215,127, 51,138, 94, 31, 27,208,245,162,140,140,140,191,127,255,190,127,255,254,175, 95,191, 88, 88, 88,158, 60,121, 18,201,
+175,176,243,204,153,239,122,178, 22, 22, 22,204,204,204,144, 69,180, 91,142, 60,165, 86, 88, 65,236,133,  3,200, 14,149,171, 87,
+175, 74, 73, 73,189,123,247, 14, 72,114,114,114, 50,192, 54,244,161,217,139, 85,239,227, 43, 75,210,109, 31, 45, 59,163,198, 34,
+230,198,195,203,135, 75,239,104,122, 38, 94, 47, 30,  0, 16, 64, 36, 28,  5,129,127, 83, 34, 21, 47,224,150, 56,113,237,206,171,
+231,156,108, 28,234, 92,252,119,236,116,232, 86, 25, 14,137, 11,184,  7, 27,184,121,243,102,127,127,127,111, 21,136,189,225, 48,
+232, 12,  0, 60,138, 31, 60,121,252,244,201,147,155, 55,110,188,127,255, 94, 94, 94,158,135,151,215,195,213, 13,191,249,144, 35,
+146, 32,  0,215,229,101, 64,113,226, 99, 10,178, 11, 26,235, 29,194,248, 64,232, 59, 48,245, 31,116, 16,211,106, 33, 18, 52, 26,
+247, 51, 40,197,131,147,215,  2,134,179, 69, 36,135,111,200, 27,132,189,107, 68,240, 40,  4,150,158, 95,191,126,221,181,107, 23,
+ 48, 25,135,178, 10, 75,200,138,254,248,250,157,243,219, 31,235,146, 84, 59,223,240, 45,115,103,108,222,187,215,205,205,141, 14,
+ 73,226,239,223,191, 64, 55,232,235,235,171,169,169,157, 59,119,238,199,143, 31,170,170,170,152,135,195, 99,  5,127,254,252,185,
+120,230,188, 76,178, 97,153,153,246,137, 93, 61,107, 47, 59,168,234, 56, 17,169,119, 20,144,  1,  0,  2,136,168, 10,128,152, 35,
+125,168,114,  1,183,234,185,187,130,111,191, 48, 50,252,255,245,151,249,247,187, 47, 79,222,124,124, 48,229, 44,143,163,185,136,
+182,  6, 30, 93,103,247,167,107, 64, 87,105, 51,175,223,245,239,240,233,255,105, 17, 12, 64,145,162, 86,210,138,114,146, 46,224,
+198, 85,115,208,250,202, 14,  6,200, 49,150,245,140,140, 77, 88,164, 64,249,164,158, 49,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, 85,243,174,174,174,192,106,  0, 88,202,239,219,183, 15,235, 73,121,196,111,250,199, 76,201, 25,233,
+233, 51,136,171, 60,144,175,161, 39,  1, 40,197, 35, 14,101, 35,163,  2,128,249, 14,207,201,163, 16,112,247,238,221,  3,171, 86,
+ 53,185,132, 25, 68,103,177,137, 11, 50,176, 48, 49, 48, 48, 49,252,251,207,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,150,185,251,210,136, 83,144, 77,146,255, 47,195,127,206, 15, 92, 47, 94,191,126,241,249,163, 34, 59,
+207,141,157, 71,128,209, 43,138,187, 14,  0,150,245, 55,238, 50,253,255,207,241,151,145, 61,192,245,119,160,219,119,  6,134,127,
+176,118, 19,137,185,149,196,178, 27,126,100, 35,228, 32,170,173, 55, 88,127,252,254,157,158,104, 66,176, 26, 32, 88,167,226,219,
+255, 89, 15,202, 12,144, 91,144,176, 74, 17,  3,110,239,229,235, 89, 21,  9, 97, 23,135, 46, 87,115,249, 68, 70,233,223,215,215,
+  7,204,237,197,109,208,139,159,240,228,112,  7,135,143,106,106,192,166,247,102, 91,219, 73,112,193,168, 40,  6,240, 29,110, 83,
+150,175,194, 87,  7, 64, 74,127,200,193, 94,225,225,225,144, 83,143,  8, 22,136, 88,219,254,144,  3, 51,224,238,204,200, 32,182,
+244, 39, 19, 24,247, 49,192, 46,106,  7, 85,  0, 70,189, 12,231,138,105,100, 21,176,118,156, 30,152,166,232,228,202,192,252,147,
+145,149,137,145,133,137,145,153,245,255,127,198,127, 95,255,252,255,251, 23,216,164, 74,141,207,202,170,203,191, 43, 46, 78,210,
+166, 54, 50,  0, 48, 47, 72, 74, 74,  2,195,249,224,193,131, 55,110,220,  0,214,223,150,150,150, 39, 79,158,212,214,214, 38,168,
+247,200,222,229, 65,  6,223,206,126,102,142,170,255, 98, 99, 56, 49,167, 32,188,167,252, 67,121,207, 82, 37,195, 40, 60,133, 59,
+188,120,  1, 70, 49,154,  8, 37,231, 81,142,  4,  0, 16, 64, 44,196, 20, 82,203,118, 44, 85, 86, 81, 78,111, 74, 37,166, 14, 32,
+239,  2,110,133, 27,207,212,217,184,217,254,255,225,236, 41,253,243,237, 23, 71,113, 43, 63, 27,199, 15,214,239, 95,127,124,231,
+100, 96,124,126,240,  4,155,140, 36, 63, 63, 63, 86,189, 55,238, 50,204, 90,  1, 44,241,191,129, 17,131,173, 41, 83,160, 27, 35,
+172, 14, 96,  0,246,  6,102,173, 32, 42, 44, 72,189,128, 27, 82,250, 67,138,126,144,223,143,252,254,254, 11,116,193,175,115,249,
+238,206, 78, 87,130,230,220,237,184,203,202,120, 27, 26, 13,140, 79, 25, 69, 52, 96,236, 87,162,137,248, 54,199,  3,219,254,200,
+151,153,160, 72,165,175,  6, 75,225,107,254,191,185, 44, 89, 51,197,255, 63,195,255,246,130, 13,230, 14,106,203,166, 29,238, 93,
+ 29,197,176,250,127,125,209, 52, 41,117, 98,155,210, 95, 30,166, 75,115, 48,124,123,123, 21,216,248,226, 21,211,131,148,254,211,
+167, 79,199,170,152, 87,224,138,154, 26, 48, 70,142,  1,251,  9, 39, 79, 50,128,239,236,  3,  1,248, 14,255,200,176, 41, 51,230,
+ 84, 51,253,147,197,170, 29, 82,250,  3,219,254,192, 50,  5,207,189, 99,  4,155, 50,144,210, 31,169, 62, 72,159, 49,  3,123,178,
+100, 10,123, 15,111, 62, 48,130,241,191, 80, 84, 89, 70,200,168, 12,136,242, 70,237,243, 48,133,191,135, 12,216,  0,193,191,127,
+  9,  5,  5,  5, 16,113, 32,  3, 88, 19, 48,169, 38, 67, 13,  6,171, 65,211,203, 18,142,110, 47,242, 61,140, 32, 89,220,246,254,
+248,241, 67, 66, 94,129,225,223, 47, 38,118,  6, 70, 22,230, 63,159, 63,254,184,119,255,245,147,167, 50, 86, 14,140,108,  2,140,
+191,127, 49, 48, 51,117,102,150,184,206,106, 40, 42, 42, 34,187,188,192,117,196,  8,188, 68,  6,166,135,239,223,191, 11,  9,  9,
+  1,219,  7,192,208,190,127,255,254,130,  5, 11, 52, 53, 53, 63,124,248, 64,176,131,  5,212, 43,207,116, 82, 82,206,227,195,193,
+203, 31,223,179, 47,222,242,103,219,137, 37,121,161,156, 44,223,128,177, 22,133,189,191, 59, 10,240,  2,204,200, 66,235, 19,  0,
+  4, 16, 11,254,162, 31, 24,196,142, 85,246,179, 14,206, 76, 99, 72,191,176,232, 50,131, 53, 97, 43, 33,229,254,183,111, 75,129,
+113,250,227,199, 60, 33,161, 61,196, 92,192, 45,246,252,157,152, 56,  7, 71,125,214,223, 55,239,254, 60,123,195,194,198,202,197,
+200,204, 13, 68,204, 44, 66,172, 28,239, 63,127,120,190,239, 24,127,160, 39, 86,189,104,229,251,225,211,255,192, 21,  0, 67, 95,
+ 53,227,127, 70,  6,198,255,196,118,  5, 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,228, 91, 27, 27, 27, 96,  5,128,171,244,  7,213,136, 14,111, 25, 24,
+ 46, 49, 48, 92,249,240,146, 71, 85,142, 97,246,236, 47,251,247, 51,168,170,  2,157, 10,138, 38,160, 32,168,139,169,123,253,210,
+ 69, 89,172,165, 63,176,109,251, 15, 12, 24,192,247,201,144, 90, 96,193,217,200,165, 63,  3,104, 26,  0,103,236,  0,187,  5,144,
+ 50, 28,107, 45,251, 15, 86,238,  0, 27, 59,192,112,216,124,  8,101,194,109,250,140,153,144,254,133,130,130,  2, 48,251, 76,156,
+ 56, 17, 34, 14,100,  0, 43,128,157, 59,119,194,207,173,100,192,208, 11,233,142,  0,117,165,166,166, 98, 25, 31,135,117,122,102,
+205,158, 13,180,119,203,225,167,104,165, 33, 11, 47, 47,  3, 43,243,223,111, 31,174,111,219,187,116,213,154,105,207, 64, 22,157,
+106,228, 83,181,243,250,249,232,241,213,139,103, 47,223,191,245,241,197,139, 43, 87,128, 17, 39, 65, 70,105,130,121,236, 26,102,
+  9,254,236,217,179,218,218,218,158,158,158, 95,191,126, 49, 51, 51,243,242,242,126,253,250,245,212,169, 83,248,147, 37, 68,239,
+135, 39, 71, 27,231, 63,154, 91, 32,245,238, 43, 27, 27, 11,147,140, 32,199,139, 55,191,210,187,254,232,155, 24,203,225,238,213,
+ 65,170,  1,120, 68, 99, 50, 70,  1, 90,233,143, 92, 43,  0,  4, 16, 19,174, 60,  3, 57,247, 28,209, 91,247,136, 38,198,  2,200,
+ 13, 48,223,190, 45,131,148,254, 28,167, 31,124,219,169,194, 64,232,102, 24,150,  3,103,249,223,125,254,199,198,242,235,236,213,
+159,215,239,253,216,117,152,225,251, 79,182,255,255,185, 24,152, 89, 24, 24,127,254,251,243,238,231,143,105,187,183,224,210,222,
+ 87, 13,106,230, 35,134,200, 35, 96,237, 43,134,255, 55,239,252, 47,106, 37,161,153,  0,185,128, 27, 18,  8,248, 79,235,  4,202,
+ 34, 95, 42, 18, 57,225,201,222,179,239,129,165, 63,164, 14,184,253,228, 59,131,203, 42,252, 38,  0, 75,127, 80, 53,240,249, 50,
+ 55,247, 29,118,142,207,192,210,255,247,239,179,204,204, 74,191,190,190,165, 93, 10,184,123,254, 11, 48,100,224,165,255,243,155,
+255,141,124,153,115, 91, 92,109, 92,129,221,243,255, 96, 89,194, 96,217,178,101,197,109,140, 60,162,186,192,144,245,  8,204, 60,
+114,228,  8, 30,197,255,152, 30,139,137, 65, 75,255,207,111, 65,167,100,235,235,131, 74,255,184, 56,104,233,255,249, 45, 39, 16,
+  9,113, 61,199,170, 61, 36, 36,196,209,209,209,201,201, 41, 60, 60,156, 25, 21,192, 69,240,187, 22, 45, 37, 19, 91,195, 33,149,
+ 77, 16,128,201,101,196,214,180,128,107,116,115,115, 67,107,107,  3, 59,  1,144, 99,251, 96, 46, 67,215,187, 97,230, 76, 96,233,
+ 12, 49, 28,238, 77,248,224, 56,156,139,213, 94, 96,126, 97,226, 98,255,253,226,225,204,154,154,  5, 95, 63,188,183,183,128,136,
+207, 93,178,160,161, 36, 69,173, 40,178,233,242,190, 85,239,239,187,250,249, 17,217,193,  5, 22,247,192, 92,112,254,252,121,164,
+ 42,115,  6,214, 81, 62, 72,128, 92,190,124,249,224,193,131,145,145,145,192, 94,218,151, 47, 95, 32,  7,104,  3,251, 37, 60, 60,
+ 60, 97, 97, 97,214,214,214,184,138,126,144,222,227,107,111,237, 44, 42,170,236,221, 92, 47,117,253, 41,203,199, 47,204,255, 24,
+ 25,222,126,249,245, 95, 88,185,176,170,213, 39, 32,  6,103, 85, 13,172,198,193, 25,118, 38, 24, 96,101,140,  2, 92,165, 63, 16,
+  0,  4, 16, 11,214,162,159,140,142, 33,154,  8,176,244, 71,235, 22,224,185,128,155,229,237,135,119,255, 89,217,222,190,227,216,
+176,143,145,133,137,225,199,175,255,159,191, 50,254,249,195,202,192,240,247,255,191, 31,127,255,124,254,243,139,225, 31,206, 49,
+ 95,200,100,111, 95, 53,150,212,  5,158, 28, 38,217, 59,196, 92,192,141,210,252,103, 96, 88,158, 35,  9,103,155, 84,220, 99,253,
+255,230, 55,163,  8,193, 43,188, 57,190,236, 23,106, 90,242,186, 56,227,205, 59, 78,169,223, 87,255,254,  5, 85, 24, 15, 47, 72,
+208, 46, 17,116,205, 40, 78,113,155,  9, 47,253, 33,130, 22,130, 53, 86,218, 33,150, 66, 87,129,178,  4,243,204,210,165, 75, 15,
+ 29, 58,244,246,173,179,176,240, 94, 30, 17, 29, 96,106, 97, 98, 98,194, 51,207,246,232, 17,176,178,188,  2, 25, 55,  2,122,248,
+221, 87,  6, 51, 51,240, 36,196,109,134,169, 83, 25, 62,127, 98,248,250,133,225,203, 87,  6,110, 65,124,147, 16,152, 35,254,119,
+239,222,  5,146,109,109,109, 64, 82, 77, 77,141,188,209, 12,120,116,227, 81,150,159,159, 15,111,197, 35, 23,229,248, 13, 87, 84,
+ 84,132,143,254,195,  1,164, 19,  0,148, 66,116,  2, 80, 65,178,180,218,173,171,215,158, 10, 10,  2,131, 52, 47, 47,111,210,164,
+ 73,196,219,107,251, 83,224,255,191, 47, 41,109,213,186, 33, 33, 51,219,218,224,247,183,204,188,125,  5,218, 51, 62,124,120,247,
+238,221, 64,171,193, 25,252, 27,193,210, 31,210,165,  3,  6, 14,176,149,109, 96, 96,  0,172,  9,128, 26, 51, 51, 51, 31,127,198,
+ 82,197, 62,121,242,196,223,223, 31,232,181,109,219,182, 65,174,204,100,  0, 47,233, 97,  0,223, 35,132,103,158, 22, 40,126,239,
+230,133,134,178, 36, 97,213,213,231, 87,199, 95,122,204,248,232, 37, 11,195,127,166,159,191,126,191,251, 47,156,157,156, 69,222,
+ 18, 32, 74,238, 53, 25, 81,  0, 32,128,176, 12,  1,  1,171,113,100,238,135,167,239,137, 41, 49,225, 61,  0,240, 16, 16, 40,194,
+128,205,127,246, 43, 79,255, 10,128, 26,125,248, 47,224,190,246,228,209, 55,118, 78,165, 63,127,100, 56,121,184, 88,217, 24,127,
+255,  6,118,179,129, 29,222,207,127,127,125,251,251,231,231,127, 96,238,255,255,159, 80,140,  2,171,  1, 72, 29,  0,158, 18,128,
+150,251,125,213,204,189,213,140,197,173,127, 72, 13, 23, 98, 90, 73,229,171, 65, 33,211, 25, 42,  8, 41,244,161,  3, 59,255,223,
+  0,235, 45,150,255,239, 23,165,  8, 70,226,189,147,142,245,229,233,191, 12,160,209,143, 30, 22,254,200,151, 15,207,116,201,112,
+ 75,104,126,124,250,244,197,131,103, 52,141,114,125, 51,165,175,224, 40,253,198,121,141,235,187,214,186,198,223, 16,113,107, 23,
+237,227,171,  8,183,253,  3,237, 14,109,216,224, 34,112,124, 79,127, 53, 67, 97,235,127, 59, 59, 59,252, 75, 63, 21,100,100,145,
+ 39, 29,183,108,  1,205,253, 46, 91,  6,236,  4,252,159, 48,129,177,169,233, 11,168, 98, 96, 96, 80, 85, 23, 44, 46,196,103, 53,
+164,241, 11,236, 16,172, 92,185, 18,222, 46,246,240,240,192, 44, 37,137,175,230,  9,170,  1,150,152,192, 34, 27,179,  2,232,235,
+235, 67, 94,159,138,  9, 92, 92, 92,224, 87,177, 35,  3,160, 96,127,127, 63,174, 14,241,161,107,143,170,154, 74,146,235,203, 42,
+127,253,  2, 90,138,233, 53,160,189,123,246,236,193, 90, 38,218,105,201,205,155, 59,213, 56, 42,170,177,177, 17,107, 61,  1, 20,
+  4,106,159, 61,123, 54, 49,129,  3, 44,253, 33, 83,172,192,106,114,  6, 12,  0, 69,128, 53,193, 99,108,107,204,127,255,254,189,
+101,203, 22,103,103,231,219,183,111,127,253,250, 21,200,  5,214, 64,191,126,253,130, 92,155,131,191,  4,255,249,243,231,217,181,
+ 81,118, 65, 77, 59, 15,222,189,255,156,249,211, 87, 38, 96,199,255,233, 87,206,188,138,106,130,122, 33, 83, 59,248,199,130, 70,
+  1,174,230, 63, 16,  0,  4, 16, 19, 90,150,  0,  2,  7, 48,184,  8,  3,247, 78, 63,252,248,253,163,176, 25, 81,107,159, 33,165,
+ 60, 23, 87, 52,176,244,103,125,248, 22, 88,106,179, 37,191,101, 32,116,  1, 55, 43, 27,243,223,255, 12, 79,190,126,120,244,241,
+221,235, 79,239, 63,254,248,241,254,215,247,215, 63,191, 63,255,241,237,233,143, 47,239,126,255,124,255,239,247, 47,212,  1, 92,
+148,182,143, 41,246, 41,129,148,112,158,255,192,158, 49,  3, 27, 49, 46, 39,227,  2,238, 71, 47,127,236, 61,251, 30, 94,244, 67,
+ 74,127,246,127, 15,129,168,193,157,229, 17,176,233,139, 23,172,189,255, 79,180, 23,218,112,190,255,245,239,147,187, 79,111, 30,
+189,250,226,193,  7, 90, 39,133,101,211, 64, 21,252,167, 87,255,129,165,191, 67, 50, 75, 80, 61, 43,  4,245,174,138, 98,100, 96,
+196,159,217,252,109, 14,198, 23,185,  8,158,216, 11,204,117, 27,143, 58, 48,128,143,203, 39,104,163,154,134, 58, 82, 21,194, 48,
+101, 10,195,157, 59,160,126, 64, 99,227,127, 56, 16, 20, 20,196, 57,136,  4,142,250,191, 96,  0,108,242,  3,219,254,183,192,  0,
+ 88, 20,150,148,148, 16, 12,103, 74,  0,164,169,142, 86,158,  2,251,  4, 64,239,227,106,197,195, 91,160,104,205,127,  8,192, 42,
+  8,  7,135,217, 63, 48, 50,241,204,169,106,229,217,178,  7,152,101,224,103, 74,167,171,234,228, 27, 91,113,113,113,  1,171,219,
+218,218, 90,160,199, 49,111,209,154,251,244,214,115,109, 45,105,105,105, 96,112, 97,214, 88,144,254,  7,241,125, 35,248,  2, 27,
+ 96,147,159,  1,182,121,  2,235, 69,114, 16,207,202,202,202,  2, 35,  2,216,201, 80, 81, 81, 97, 97, 97,129,212,208, 22, 22, 22,
+196, 52,213,149, 53, 12,103,237, 18,184,180,173,222,214, 82,147,155,131,137,155,235, 47, 39,251, 79, 79,127,162,238, 54,  0,150,
+ 87, 16,119,226, 25, 11, 26,  5,120,  0, 64,  0, 49, 97, 13, 83, 32,200,  7,  3, 32,183, 57,163,249,247,171, 63,156,156, 28, 68,
+134, 38,164,206,231,114,191,243,159,153,169,118,221, 55,  6, 34, 46,224,214,180,178,250,195,195,245,254,255,223,107, 95,223, 95,
+249,248,246,234,167, 55, 87, 63,189,187,246,245,221,157,111,239,223,254,252,241,229,207,159,103,223,190,226,185,129, 47,208,141,
+ 17,216,210,  7,162,255, 12,204,255, 25,153,210, 34, 24, 83, 35,216,146,195, 69,149,149,197,255, 49,176, 50, 48, 48, 18, 83,250,
+147,122,  1, 55, 80, 49,104,160,159,129,225, 76,  7,168,175,176,179, 20,180, 66,  9,216,240,103,254,255,245, 39,147, 60,144,253,
+238,221, 59, 98,110,112,  5,  6, 14, 48, 63, 47,251,242,245,251, 47,166,248, 21,115, 94,113,112,  2, 25,180,139,239,146,176,229,
+199,223,181, 46, 91, 12,109,234,  3,155,255, 22,130, 53, 16,118,107,246,150, 25,184, 39,129,129,133, 66,127, 13, 67, 66,145,179,
+192,137, 61,142, 93,246, 76,222, 12,  7, 14, 28, 32, 50, 73,200,203,203,195,217, 78, 78, 12,  2,  2,192, 14, 22,131,185, 62, 47,
+  7, 27, 51, 51, 19, 52,118, 76, 76, 77,113,166, 81, 38, 38,200,136, 63,176,232, 87, 67,  2, 77, 96,240,236,217, 51,130, 69, 12,
+242, 32, 62, 28,100,100, 16,213, 66,  4,182,244,209,110,212,  2, 22,226,248,155,255,200,115, 15,240,  6, 44,132,253, 15,119, 59,
+  6,  8,126, 49, 50,254,251,246,147, 85, 66, 62,189,165, 37,129, 91, 64,224,192,113,232,208, 80, 76, 66, 67,207,156,219,125,203,
+235,116,157,194,  4, 21,119,111,218,132,217, 64,  9,200, 72,215,214,209,129, 76, 80,255,133,  1,248,  0, 26, 50, 23,235,128, 15,
+176,112,135,204,241, 66,  6,253,225,101, 61,176,201, 15,105, 92,  3,107,  2, 32, 27,151, 79, 89, 89, 89,  3,  2,  2, 62,126,252,
+  8,172,153, 56, 57, 57, 69, 69, 69,  5,  4,  4,240,223, 34,  9,215,203,206,206, 30,156, 49,105,193,105,147,  7,143, 63,137,243,
+ 51, 91,170, 51,234, 41,254,231,230,227, 27, 45,157,105,221,252,  7,  2,128,  0, 98,193,223, 65,134, 55,138,101,236,165,136,108,
+ 59,192, 47,224,102, 75, 94,205, 64,220,  5,220, 95,244, 85,190,221,186,245,237,207,207, 79, 95,191,221,253,253,155,245, 31,104,
+248,230,227,239, 31,255,192,185,103,219,203,251, 95,255,252,198, 59, 38,195, 88,212,138, 72,220,224,129,160,127,127, 25,126, 94,
+191,243,121,222,202, 79, 68,150,254, 12, 36, 94,192, 13,114, 79,103, 24,171,243, 52, 32,243,237, 91,232,180, 45,219,191,231,191,
+152, 36,179,117,111, 61,127, 14, 42, 38,240,151,143, 25,235,102,193,171,198,213,176,251,106, 87, 92, 62, 70,211, 61, 92,170,206,
+159, 24, 86,253, 63,186,231, 42,144,109,165, 13,218, 85, 91, 86, 80,127,236,170,118,207,170,168,170,169,222,248, 29, 12,108,251,
+ 11,  9, 65, 70,181, 14,128,107, 56,151,255,255, 87,131, 11,214,255,171, 87,227,187, 32, 55, 36, 40,120,247,206, 93, 12,224,133,
+255,142,142,140,111, 30,243,127,125,207,241,253, 19,219,138,133,140,249,249,255, 31,190,250,108,110,105,161,167,173,131,127, 14,
+  0, 50,232, 15, 76, 87, 12,224, 75,  4, 33,226,175,192,128,152,113, 30, 96,204,  2, 43, 18,228,242, 23,216,100, 36,102, 23, 24,
+100,208, 28, 62, 19,  0,233, 13,224,111,254, 51, 32,173,122, 64, 94,207,131,127, 41,  4,164,174,250,243,249, 51,171,136, 16, 51,
+ 23,143,118,112, 72,147,155,107, 21,100, 41,167,161,209,223,239, 63, 88,133,197,117, 45, 28, 20,100, 20, 39, 93, 63,174,163,163,
+243,252, 52,202,141,164, 25,160,164, 11,170,228,178,128,101, 55,120,181,232, 31,164, 18, 31,216, 40,  7,138,192, 23,152,122,163,
+150,  5,192,146, 29,232, 71,200, 56, 15, 48,196, 32, 67, 61,200,178,120, 74,127,136,179,129,197, 61,176,189,127,227,198,141,115,
+231,206,  1, 35,139,155,155,251,219,183,111, 68, 14,214,139,139,139,251,251,251,159, 56,114,106,194,234,221,124,140,108,234,226,
+ 63,239,188,225,182, 81,255, 13,175, 33,112, 13,232,  3,197,225, 25,118,116,  8,136, 60,  0, 16, 64, 44,196,140,147,  2,131,242,
+201,193,103, 12, 81, 68,149,254,240, 18, 13,205, 28,252,117,128,148,152,248,229, 31, 15, 62, 50,253,123,241,227, 11,195,239,223,
+127,129,177,206,192,112,253,203,135,167,223, 62, 65, 46,224,198, 91,  1,252,  7,182,250,103,173,128, 54,181,110,220,101,208, 80,
+254,195,204,240,149,164,210,159,129,244, 11,184,193,107, 70,179,128,125,  0, 96, 99, 31,216,255,237,116,101, 40,223,109, 87,160,
+115, 12,210, 72, 36,216,252, 71,238, 24, 33,179, 33,101, 28,254, 70, 19, 67, 61,163,201,172,123,152,115, 21,208,157,192,123,240,
+ 93, 14,213,150,189,165,122,170,239,241, 85,255, 45,133,174, 90,187,104, 31,217,125,245,196,251, 22, 70,  6,198,214,236,205,192,
+162, 21,143,189,192,210, 31,152,229,  2,  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,167,189,177, 26,131,241,211,153, 11, 24, 56, 57,222,255,255,
+243,235,207,159,127,255,255,  9,243,243, 63,249,250,145,224,157,168,104, 11, 61, 97,115,  0,127, 73, 42,253, 25, 72, 63,197,  1,
+178,111,192,196,  4,180,239, 87, 72, 72,232,249,243,231,  5, 58,207,225,165, 63, 65,163,176, 94, 81, 75, 20,  0,111,247, 69,222,
+109,135, 38,133, 31,  8,235, 61,157, 49,115,198,173, 61,124,189,171, 35,143,175,  2,182,  7, 25, 75,194,150,131,122,  6,120, 75,
+127, 72,196,129, 11,250, 79,224,188,199,128, 86,178, 45,232,221, 11, 36,185,229,128,249, 16,203, 36, 33,176,129, 15, 52, 65, 68,
+108,215,223,207,103, 24,153, 25,190,253,224,100,252,252,135,133,137, 69, 92, 89,211, 77,206,139,229, 63, 78,103,  3, 11, 20, 21,
+ 21, 21,202,211, 39,100,152, 24, 88,  7,192,151,199,192,251,  1,196,207,  4, 64,138, 33,130,205,127,178,129,147,147, 83,246,170,
+ 89, 77,159, 63, 24,216,219, 48,137, 11,130,172,251,253, 31,116,156,  3,  3, 43, 35, 51, 11, 35, 27,243,236, 25,125,124,206, 38,
+202,202,202, 84,223,  3,  5, 25,234,153, 62,125, 58,144,212,215,215, 39, 73, 47,176,134,222,187,119, 47, 51, 51,179,173,173, 45,
+ 48,120,209,134,254,129, 29,  2, 96, 65,143, 22,236,112,  0,236, 49, 44, 90,176,144,141,153, 61, 36, 50,  4,168,198,198, 43,  5,
+165,222,250,243,  7,162,119,116, 85, 15, 45,198,127,128,  0, 32,128, 88,168,101, 13, 85, 46,224,118, 76, 79,184,119,247,222,185,
+237, 59,191,254,252,  5,236,192, 42,155, 25,121,200, 69, 18, 44, 73,201,158,234,129,148,224,228, 93,192, 13, 55,  1,178,102, 20,
+222,222,  7, 50,136,113, 15,196, 94,242,156, 29,118, 61, 20,236,107, 44,238, 12, 35,212,123,128,  3, 53,151, 79, 51, 93,224,238,
+ 36,246, 28,  8,112, 41,207, 24, 95,  4, 61,159, 11,146, 43,129,130,192,114,159, 91, 46,148,160,246,151,207,221, 94, 50,184,253,
+ 99,122,204,207,247,145, 65,136,  1,116,252,195, 47,  6, 22, 18,147, 22, 37,  0, 82,  7,144,161, 17, 62, 19, 64, 82,243, 31, 79,
+235, 21, 43,  0,150,236, 18,121,121, 19,118,237,186,215,188, 33,148, 85, 88,  0,124,160,219,247,111,127,242, 75, 42,153,185,132,
+182, 45,156,121, 81,132,209,141,148,195,124,254,254,253, 67,204, 28, 24,145, 67, 61,184,124,119,235,214, 45, 32,169,161,161,241,
+246,237, 91, 22, 22, 22, 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,169, 27,144,
+ 25,163, 67, 64,196,  3,128,  0, 98,161,145,185,228, 23,202,202, 74, 74, 57,153,116,243, 63,217, 23,112, 99, 86,  3,100,216, 75,
+158,117,120, 92, 75,235, 51,224,192, 13,124,  6,240, 97, 60,200,130,161, 36, 25,194,244, 79,246,243,  7,217,129, 74,241,228, 29,
+ 13,  6,108,245, 19, 28,193,199, 10, 72,210,  5, 44,245,184,184,184,  2,  3,  3, 33, 71, 58, 63,130, 29,233,124,116,239,110,200,
+145,206,206, 22,206,184,244,206,126,223,158, 42, 88,137, 34,132,247,244, 80, 92,117,  0, 25,126, 52, 53, 53,133, 44,249,255,247,
+239, 31,176,  4,  7, 50, 94,191,126, 13, 36,121,120, 64,171,156, 33, 34,172,172,172, 88,253,235,227,227,  3, 81,  0,212,251,227,
+  7,120, 31, 37,120, 89, 23,100, 85, 24, 68,  4, 88, 49, 96,237,  1,140, 46,242, 33,  6,224,191,245, 29, 32,128, 70, 47,133, 31,
+  5,163, 96, 20,140,130, 17, 10,  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, 88, 70,131, 96,168,  0, 67, 28,151,251,224,
+  1,231, 71, 39,120, 70,193, 40, 24,  5,184,  1, 64,  0,209,240, 82,120, 58,232,101, 99,219,197,201,254,130,149,237,195,191,127,
+160, 37,137,204,204, 76, 76,140,204, 32, 18,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,235,203,147,169,  8, 20, 21, 21, 33, 71,249,
+ 67, 78, 84, 38, 73, 47,242, 73,136,228,173, 37, 29,  5,163,128, 70,  0, 32,128,208,139,197,133,139,230,226,215, 16, 31,151,140,
+ 75,138, 18,189,100,131, 83,103, 88, 61, 92,255, 94,188,196,201,198,202,194,194,204,194,202,250,159,157,249, 55,  3, 11, 47, 11,
+195,119, 51,237, 63, 28,108,236,255, 25, 24, 36,197, 25,252,188,254,221,188,135,175,244,191,115,253,150,138,150,178,148,180,192,
+147,135, 55, 88, 57, 69,180, 52,212,182,111,220,184,103,207, 30, 90,215,  1,116,190, 80,126, 96,193,165,139,123, 20,100,126,234,
+ 42,255,255,247,239,239,199,143, 79,110, 92, 57,243,229,167,164,137,177,237,224,119, 57,176,244, 47, 40, 40,  0,118, 40,241, 28,
+230,140,  7,144,121,161,252,200,  0,248,143, 10,102,  0,  7,220, 44,108,167, 88,195, 47,133,135,169,250, 15,219,159,136,  8,237,
+ 17,126, 41, 60,  4, 32, 95,  3,137,182,238, 31, 32,128,232,215,  3, 96, 98,160,254,102,110, 47,183,223,255, 25,152, 89,152, 89,
+173,204, 25,197, 68,153, 88, 88,152,216, 89,153, 53,212,152, 30, 62,254, 99,102,204, 36, 44,196,177,125, 31,232, 76, 65,230,255,
+223,255,255,255, 39, 33,141,179,244,191,116,230,140,130,148,204,165,227, 39, 78,254,250,253,254,205,123, 54,118, 94, 77, 67,107,
+125,107,183,253,155, 65, 59,132,105, 84,  7,160, 93, 40, 15, 57,139, 49, 37, 37,101,240, 87,  3, 23,206,239, 97,103,121,199,194,
+244,235,199,143,191, 31,191,114,218,216, 17, 62,185,247,218,141,115,188, 28,111,157,172,217, 21,228,149,249,248,248,127,255,249,
+243,250,245, 27,241, 71,143,111,223,189,119,236,232, 59, 43,107,255, 65,222,252,103,128, 29,167, 12,172,  0,240,220,232, 50,216,
+  0,176,  5,179,118,237, 90,148,227,143,104, 88, 26,194, 46, 96, 37, 85,219,163,117,140, 39, 83, 96,133, 56,  3,236,178, 53,132,
+ 73, 41, 51,190,154,133, 79,198, 90,173,110,223,190, 29,194,246,240,240,216,177, 99,  7, 86,246,104,233,143,201,133, 87,  3,  0,
+  1,132,189,  2, 56,122,228,164,181,141, 57,117,221,241,143,208,205, 92, 68,222,208,132, 82,169,176, 48,191,127,199, 34, 33,198,
+ 42, 33,198,246,229, 11, 43,  7, 43,203, 95, 22,118, 35, 93, 70,  3, 61,102, 38, 70, 86,208, 38,114, 86, 54, 86,166,159,140, 28,
+108,127,190,225, 44,253,143,236,219,171, 40, 41,122,229,226,149,234,230,  6,184,120,107, 99, 27, 19, 51,163,145,177,209,246, 29,
+123,  9, 86,  0,255,254,253,  3, 22,226,119,238,220,225,228,228,212,213,213, 37,120,118, 13,  3,198,133,242,240,219, 86,231,204,
+153, 51, 80,117,192,249,243,231, 13, 13, 13,241,171,185,114,237,220,255,159, 15,228, 37,127,240,243,177, 51, 49,113,125,255,254,
+231,237,187,239,  7,247, 76,224,224, 51, 50, 55,179,195,163,145,131,249,181,154,226,127,109,109,205,231, 47,222,159, 61,127,238,
+203,151,175,252,252,188, 74, 74,242, 76,204,172,127,255, 62, 58,127,225,136,161,129,205, 96,110,254,195,111,119,  1,246,  3,128,
+117,  0,145,215,170, 96, 52,100,233,221,  3,128, 36,221, 53,107,214,144,119,175, 22,241,  0,222, 24,159, 57,115,  6,169,246, 48,
+201,  7, 67,244,158,106,231, 65,107, 36, 74,  8, 48, 73, 11, 49, 13,158,240, 28,186,  0, 94,226,163,213,  7,  0,  1,132,179,  7,
+  0,172,  3,128, 36,169,213,192,145,188,219, 88,197,109, 38,169, 18,159, 67, 32, 61, 56, 98,170,129, 61,  7,196, 88, 89, 88,101,
+165,190,124,254,204,122,246,138, 44,232,202, 84, 70,102, 54,214, 63,218,170,223,212, 85,153, 25, 25,152,216, 88,217,217,152, 25,
+141,245,126,  9,  9,254, 59,116, 26,187, 33,154,138,226, 15,239,190, 66, 46,253,129,160,186,190,170,173,185, 75,210, 82, 79, 80,
+128, 23,191, 27,190,127,255, 14, 44, 17, 30, 62,124,  8,225,  2,155, 30, 94, 94, 94,254,254,  4,154,180,104, 55, 74, 34,131,222,
+222,222,226,226, 98, 58,111,115,  7,150,254,240, 43, 53,240,128,159, 95,159, 42, 74,127, 23, 17,230,150,145,150,224,226,230,122,
+248,240,233,223,191,255,164,165,120,175, 94, 63,126,129,147,219, 64, 23,251,197, 15,151, 47, 31,209, 83,251, 37, 39,167,120,237,
+250,195,179,103,175,191,126,243, 25, 24,207,130,130,156,223,190,125, 49, 52,212,254,240,225,227,211,179,231, 47, 94,230,212,215,
+ 53, 30,180,205,127,248, 69, 46,  4,175,117, 68, 30,217, 64, 59,202, 24,200,134, 15,119,144, 49,142,212,220,220,236,235,235, 75,
+234,105, 13,192, 58,  0,104,239,170, 85,171,112, 29,199,198,  0, 62, 75, 25,173,103,  0,185, 18, 18, 40,142,214, 38,  0, 22,244,
+152,103,  7,192,143, 87,  2,250, 55, 61, 61,131,164, 78,  6,178, 94,179,202, 47,167,219,121,224, 69,255,104,169, 77,173,230, 63,
+114,148,161, 69, 31, 64,  0, 17,  8,101, 96, 53,  0,169,  9,136,  4, 88, 11,122, 34, 75,127,  8, 56,120,240,224, 83, 48, 32,230,
+ 44, 39,230,255,223, 89, 24,127,176,177,178,158,191, 34,202,204,194,194,203,246,141,143,227, 59, 47,255,223,167, 79,121,217,217,
+ 56,216,217,217, 67,253,254,248,121, 50, 73, 75,177,115,113, 98,191,155,226,219,135,199, 47,222,125, 41,174,171,195,148,250,240,
+241,221,251,215, 47, 24,  9,117, 92, 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,252,194, 20,239,168,175,103,103,231,248,254,253,227,223,127,
+  4,238, 19, 62,119,238, 28,166,224,217,179,103, 53, 53, 53,137,108,254, 35,183,233, 54,111,222, 12, 87, 67,163, 78,  0,218, 80,
+ 15,188,244, 39,152,129,223,191,123, 37,194,203,248,231,239,191, 95,191,255,188,126,243,142,149,141,227,231,207,223,191,255,252,
+253,243,231,223,159,191,255, 63,188,127,131, 75, 35, 27,235, 87, 14, 78,153,183,111, 63,126,250,252,237,221,251,239,124,194,250,
+ 86,122,122,167,142,238,144,250,245,231,227,167,143,234,234,202,236,108, 44, 95, 63,191, 27,156,205,127, 96,  9,133,118,153, 34,
+176,  7, 64,228, 76,  0,176,230,192,188,  3, 18,126,172, 52, 46,  0,191, 92, 33, 35, 67,200,217, 25,113,250, 27, 48, 71,  0,201,
+ 77,155, 54,189,121,243,134,200,121,169, 61,123,246, 64, 74,127,136,250,181,107,215,226, 42,133,145,251,127,152, 23,  2, 67,196,
+ 33,215,  2, 99, 53,  1,114,140, 40,144,132,244, 27,176,122, 16, 87,122,  6, 58, 47,196,114,207, 74,  6,134,240,254,175,166,149,
+ 95,176,234, 53, 11,199,238, 65,228,177,126, 92,243,  1,163,165, 60,242,200, 15, 90, 15,  0, 32,128,168,223,207, 66,107,239,147,
+212,252,135,180,127,225,213,  0, 48,243,224,239,  7, 48, 51,179, 88,152,253, 99,102, 98, 57,125,134,227,230,109, 14,111,119,  6,
+ 31, 79,  6, 95, 15, 70, 73,113, 54, 14, 54,118, 32,226,228, 96,151,150,  4, 50, 56,128,108,172, 38,212, 86,215,116,182, 55, 97,
+102, 27,101, 69,121,126,  1,110,142,127,191,190,124,251, 77,139,248, 56,  2,  6,240, 66, 31, 14,128,220,183,111,223,  2,123,250,
+180,107,236, 35, 55,235, 32, 92, 72, 79,156,224,216,194,223,191, 12, 95,191,253,254,250,245,215,167, 79, 63, 95,190,124,255,236,
+217,155,207,159,127,126,249,242, 27, 88,131,126,253,250,251,227,135,143, 56,  7,142,126,254,249,241,227,239,239,223,191,120,121,
+217,100,165,249,184,184, 65,205, 61, 37,101,  5, 25, 41, 62,126, 62,142,255,255,255,254,254,243,239,231,207,175,131,179,249, 95,
+ 84, 84,132,181,100, 39,216,  9,192,188, 75, 18,  2,128,130,123,136, 59,181, 27, 60,162,130,  0,144,194, 23, 88, 13,  0,203,116,
+ 98,250,199,192,182,255,154, 53,107,224,165, 63,144, 12,  9,  9,193, 85,124,  3, 13,199,188, 18, 18,210, 38,128,139,  3,221, 67,
+232, 48,237,255,104,  3,185,200,195, 95,184,244,136,136,136, 48,194,218,249,164,234, 29,  5, 36,149,254, 12, 24,115,  0,  0,  1,
+ 68, 84, 15,128,110,109,127, 88, 65,243, 23,114,169, 52, 97,135,153,253, 19, 19,101,255,244,137,133,157,229, 15, 59, 27,243,129,
+147,108,222,142,172,192,182,255,167, 79,172, 71,207,112,243,113,128,174,146,240,112,249,229,239,253,159,137,233,255,130,181, 68,
+217, 14,204,156,204, 92, 28,239, 88, 69,184,126, 63,185,243,244,191,147,131, 29,126,245,192,214,244,177, 99,199,208,  4,  9, 94,
+131, 12,185,212,123,193,130,  5,  9,  9,  9, 16, 17,248,189,146, 64, 17,252,215, 28, 82,  2, 32,109,127, 72, 51, 13,190, 66, 14,
+115,168, 23, 43, 16, 20, 18,125,118,255, 10, 48,156,127,253,254,247,227,231,147,199, 79,222,190,123,255,233,221,187,111,111,223,
+125,  7, 34,  1, 33,  5, 92, 26, 95,190,249,255,226,229, 27, 77, 77,229, 15,239,223,179,178, 48,125,250,252,228,235,135,127, 90,
+ 42, 95,197, 69, 69,185,184,184,216,217, 57,159,191,248,204,200, 44, 56, 56, 51, 15,214,107,220, 33, 51,  1,248, 53, 66,250,  7,
+240,187, 36,225, 53,  7,  3, 41, 87,202,132,133,133,193, 91,196,144, 91, 43,128,177, 22, 28, 28, 12,172,126,240,111,246, 65,107,
+251, 67,  0,114,127,  2, 25,224,186, 18, 18, 34, 14, 76, 45,144,187,215, 33,226,143,177,217, 11, 84,147,149,149,  9,185, 93,  7,
+ 92,109,252,135, 20,233, 64, 93, 16,247,227,169, 57,128,122,167, 58, 10,134, 79,248,134, 54, 22,  4, 20,129,232, 77,114,100, 29,
+ 45,196, 41,  1,105,229, 29,112,246,172,206, 10, 96, 29,  0,239,  7,  0,  4, 16, 11, 45,138,126, 96,171, 31, 50, 27, 76, 82,243,
+ 31,169, 93,207,140, 60,198,135,231, 30, 49, 17, 17,102, 38, 70,102, 81, 17,102, 85,229,255,207,158,177, 48, 49, 51,178,178,176,
+176,178,176, 94,186,204, 45,196,205, 10, 52,199,218,252, 47, 39, 39,251,191,127,255, 25,254,255, 37,198,106, 96,182,225, 17,151,
+125,249,229,255,215, 59,  7, 88, 24,153, 75,235,171,137,201,162,143,193,  0,217,205,120,198,127, 24,192,235,253, 33,197, 61,164,
+244,  7,182,247,129, 53,  1, 68,234,211,167, 79,192,210,127,203,150, 45,196, 92, 40, 79, 30,128, 92,252,  4, 12, 82,200, 20, 37,
+ 49,109,127,  8,208,215, 53,190,126,229,236,255,167,159,190,125,255,253,158,253,199,127,134,247, 63,126,252,  1,246,  6, 94,189,
+249,246,236,249, 23, 91, 71,121, 92, 26,191,255, 18,185,119,255,181,146,162,156,162,162,204,219,183,111,  4,  5,254,170,170,242,
+139,137, 42,113,112,114,126,248,240,229,236,185, 27, 79,158,126,146,144,209, 30, 60, 25,230, 63,248,182, 75, 72,193, 11, 47,127,
+177,174,229,199, 50, 90,129,180,130, 17,216,  9,128,223, 37,  9,  1,125,125,125,187,118,237,194,165, 23, 18, 35,233,233,130, 48,
+235,254, 35, 23,217,144, 10,  0,216,138,199, 51,254,131, 52,124,180,151,164,219,141,112, 93,  9,  9, 17,135, 20,223,184, 10,113,
+200, 18,163,105,211,166, 67,102, 56, 12, 12,244,225,  3,247,176, 22, 61,206,155,  6, 32,122,153,194,222, 67,244,134, 58, 41,192,
+  3, 38,172,255, 26,  3,  3,  3,254,214, 63, 48,175,193, 23, 56,121,122,122,194, 99,103,116,228,135, 72,  0, 16, 64, 44,131,164,
+213, 15,  1, 17, 17, 17, 36,169,  7, 54,240,153,153, 65, 72, 83,141,201, 80,247, 47, 59, 27,  7,168,  2, 96,101,181, 50,103, 96,
+103,103, 96,101,102, 23, 17,225, 96,102,254,250,247,239,191,127,255,136, 26,201,249,246,238,  5,135,140,198,253, 61, 75, 68, 89,
+152, 98,171,171,136,209,194,201,201, 89, 85, 85, 69,210, 50, 80,200,237,243, 57, 57, 57, 16, 46,164,189, 15, 44,250,191,125,251,
+150,148,148,  4,100, 79,155, 54,141,118,171,128, 32,151,255,193,239, 80, 37,105, 85,137,140,188,250,153, 19, 59,197, 68,128, 13,
+119, 22,240,216,206,223, 79,159,127,189,123,255, 93, 86, 81,219,198,202, 30,151, 46, 47,175,224, 93,219,231,159, 56,117,213,214,
+ 90, 95, 94, 94,254,247,175, 31,134,  6,122,220,252,252, 15,239, 61,122,250,236,195,209,227,215,223,127,230, 15,180,180, 31, 60,
+185, 34, 51,  3, 50,192,194,152,  9, 44, 16,193,  5,250, 63,164,114,159,137,137, 17,207,  5,235,160,203,217,255,195, 11, 64, 70,
+ 96,202,131,119,  2,128, 12, 96,105,229,225,225, 14,171,100, 24,188,163,107, 49,199, 58,112,149,218, 64, 89,252,165, 63, 50,  0,
+170,196,213,222,199,147, 42, 48,175,132,132,139,227,185, 44, 12, 94,115,  0,203, 95,112,243,159, 17,185,254,192,111, 47,178,222,
+ 85,133, 60,160,112,225, 16,135, 72,173, 42,124,  4,169, 12,118, 94,252,141, 43, 64,144,199,253, 71,231,  0,200,  0,  0,  1,132,
+189,  2,176,178, 54,163,112,220,141,188,182, 63, 60,218,136,  4,239,222, 51, 74,138, 51, 65, 14,126,216,181, 23, 52,208,207,206,
+206,193,206,198,238,235,201,  8,164, 56, 57, 24,223,189,101, 62,117,150,247,239,191,191,178, 50,132,135,152,129,205,255, 15,223,
+190,191, 63,179, 77, 85,150,245,202, 83, 18,134,164,129,245,144, 25, 24, 16,175,  5,124,161,124, 39,100,180,  7,216, 27, 48, 55,
+ 55,  7,182, 22,253,253,253,129,236,216,216, 88,218, 53,255,225,  3, 65,144,214, 28, 49, 35, 63, 40,209, 10, 46,229,111,221,184,
+246,236,222, 67, 96, 57,248,247,239,127, 14, 78, 33, 53, 77,157,192,  0,  2,151,130,137, 73,235,157, 56,181,  3,216, 99,208,213,
+ 81,146,150, 18,121,244,248,229,251,203,119,111,222,122,180,119,223,165,135, 79,255,167,164,230, 14,170, 92,241,111,165, 32,241,
+178,190,155,240,234,189, 59, 31,222,  9,  0,141, 26,221, 91,128,172,  0, 77, 47,214, 14,  1,114, 89, 73,146, 47, 72,205,194,184,
+174,132, 36,230,170, 72,120, 65,143,166,140,152,230,197,191,135,107,215, 76,136,  3,117, 95,156,228,224,165, 63,136,235,101, 10,
+ 30, 45,189,128,171,  2, 24,221,  7, 64, 36,152,213, 89,129, 60, 10,132, 12,  0,  2,136,133, 42, 73,135, 42,128,140, 54,239,153,
+115,236, 28,108,108,190, 94,192, 26,128,209,204,228,207,229, 43,156, 76,224, 43,164, 63,124, 96,146,146, 96,102, 98,100,187,120,
+153,141,131,157,225,215,239, 95, 15, 31,113, 18, 44,253,239,222, 58,111,238,236,195, 34, 98,126,247,214, 41,150, 23,107,202, 74,
+ 43,187,186,219,105,228, 89,228, 11,229,117,116,116,222,191,127, 15,100,  3,201,188,188, 60,250,236,  2, 35,181,232, 71,174,  3,
+128,232,194,229,179, 47, 95,188,228,230,230,198,211,240, 71, 41,  8,244,140,129,104,233,146,153,215,110,158,148, 20,231,225,224,
+ 96,253,242,229,215,211,231,159, 24, 89,100, 83, 82,227,134,115,230, 59, 87,204,160,156,136, 88, 72,122,182,136,118, 37, 56,120,
+148, 70,  8, 86,109,144, 83, 56,226, 42,175,  9,150,227,228,221, 37,  9,247,102,168, 37, 59,200,193,223,159,131,208, 40,160, 30,
+240,137,169,133,204,250,  2,235,  0,100, 65, 56, 27, 32,128,208, 43,  0, 74,142,235,161,197, 81, 63,132, 83, 15,  3,227,251,247,
+140, 92, 18,140,194, 66,140, 38, 70,191, 57,216,152,217,217,126, 11, 11,113,128,243,  0,163,133,201,223, 83,231, 88, 65, 93,  4,
+188,121,  9, 88,250,107,171,243, 21,231, 55,125,103,147, 89,183,231,169,178, 26,168, 45,207,115,122, 75,113, 73,101,111, 15, 13,
+235,  0,200,133,242,192, 38, 63,188, 91, 48, 84,174, 57,  5,237,249,210, 37, 89, 87,116, 76,250,145, 99,  7, 95,191,125,253,253,
+197, 55, 14, 14, 97, 25, 69, 61, 34,235,143,193,  0,254,255,255,199, 64,222,113, 38,247, 22, 64,151,  3,221, 91, 72,107, 71,146,
+ 52,236, 51, 72,128,155, 79, 56,193,182, 60,174,206,245,232, 28,  0,241,117,  0,102,233, 15,  4,  0,  1, 52,228,239,  3,248,207,
+  0, 90,225,195,200,  4,140,249,255, 66,  2,255, 15, 30, 97,225,  0,109,255,101,241,243,  2, 38,134,127,130,194,127,254,252,101,
+252,247,239, 47, 56,247,226,  4,122, 10, 95,188,131, 67,191,176,168,138,241,112, 71,  5, 10, 45, 91,127, 25, 82,  7,252,254,187,
+142,214,238, 39,227, 66,249, 33, 13,134, 68,137, 63,235,125, 71,154, 96,  5,138,208,106, 33,242,245,  2, 91,253,164, 52,252, 71,
+ 26,  8,201,158, 66,183, 49,131, 17, 91,  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, 55,130, 13, 25, 48, 90,154,143,130, 81, 48, 10,168, 11,  0,  2,104,244,196,165, 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,  6,254,
+ 82,120,123, 51,105, 92, 42,191,190,123,  1, 97,112, 11, 73, 64, 24,  7, 79, 61, 69, 86,240, 83, 84, 28,151,222,221,253,208,125,
+182,174,133,208, 53,  6,236,175, 95, 18,105, 47, 38, 32,222, 94, 76,128,102,175,137,161, 20, 46,149,111,238, 95,133, 48, 68, 20,
+161,231, 34,156, 57,255,140, 90,254,245,216,141,253,  0,122,126, 41,169, 88,216, 81,192, 83,196,161,230,239,112, 77,163, 86,252,
+ 34,235,189,121,243, 38,242,249,104,133,133,133,234,234,234, 52, 74, 87,163,122,169,162,247,242,229,203, 16,134,174,174, 46,169,
+122, 49,175,120, 26, 13,231,  1,209,139,  7,  0,  4, 16,246, 73,224, 63,127,254,252,248,241,131,145, 25,116,169,214,223, 63,191,
+217, 88, 89,216,217,217, 73,173, 91,128,134, 48,128, 79,108, 38, 73, 23,176,208,  7, 22,247,144,162, 95, 66, 86,  1, 72,190,192,
+125,208, 60,102, 33,  8, 44,254, 32, 69,225,212, 77,167,128,100,182,159, 25,195,224,  6,192, 66, 31, 88,220, 67,138,126,109, 19,
+107, 32,121,245,204, 81, 90,251,119,243,151, 47, 59,191,126,117,231,230,  6,146, 12, 47, 95,158, 42, 47,  3, 10,154,117,118,209,
+212,167,  7, 14, 28, 88,177, 98,  5, 48, 93,193, 69, 56, 56, 56, 34, 34, 34, 28, 28, 28, 70, 27, 98,131, 10,  0, 11,125, 96,113,
+ 15, 41,250, 73, 77,147,144,147,187, 32, 69, 63, 73,105, 18,249,124, 83,242,214,119,146,113,165,224, 40,  0,  8, 32, 44,165,243,
+167,207, 95, 36,213, 76,237,117, 53,184,216, 89,255,255,255,255,247,239,255, 43,183, 31,222,191,116,152,147,157,149,200, 67, 58,
+129,128,135,227,129,182,234,189, 43,183,148,190,254, 84, 32,190,232,  7,146,156,252,194, 64,  6,164,232,199,218, 27,192,211,254,
+ 53,139,174,  0, 50, 32,201, 14, 83, 22,235,130, 87,100, 99,217,216,216, 24,192,251,203, 65,151,  7,128, 15, 37,133,184,135,137,
+153, 21,127,163, 27,  8, 36,197, 64,109,231, 95,159, 62,252,  4, 87,123, 95,254,252,133,184,135, 95, 76,  6,127,123,159, 95, 74,
+ 25,200,128,100, 51,108,189,  1, 65,234,250, 23,  8,114, 94,130,122,  6,144,210, 31, 82,244,131,218,230,187,118, 35,203,250,224,
+141,169,143,220,111,222,242,188,254,240,246,142,152,128,166,204, 27, 21, 98, 34, 23,216,246, 95,185,114, 37,114,233, 15,  4, 64,
+ 46, 39, 39,167,164,164, 36, 90, 63, 96,120,131, 61,123,246,144,116,203, 52,158,195, 16,105, 81,244, 67,210, 36,144,129,153, 38,
+ 97,189,  1, 65, 60,229, 47, 48, 77,  2, 25,152,105, 18, 34,139, 43, 77,  2,101, 15, 29, 63,197,204,204,242,247,239,159,143,159,
+191, 68,  5,251,247,244,244,144, 87,250,211, 57,196,  6, 57,216,130,109,237, 56,114, 44,  0,  4, 16,122,  5,240,245,251, 47,103,
+191, 40, 89, 49,126, 46, 14,208, 37, 42,127,255, 49,176, 48, 51, 10,241,107,104,171,202,237,217,185,245,239,239,175,196,212,  1,
+191,126,253,210,212,190,175,175,113,159,153,233,239,129, 51,210,108,172,132, 79,115,  5, 22,196,192,162,150,159, 15,116,255, 34,
+132, 68,147,  5, 86,  9,184,186,  2,192,242, 14,152,236,226,195,131,128,108,  8,137, 38, 11, 76,142,  4,155, 33, 64,127,201,200,
+200,  0, 73,160,227,191,126,253, 10, 44,253, 33, 39, 54, 19, 85,219,177, 48,207,155,176,158,157,159,225,229,  3,134,211, 95,158,
+190,126,113,103,113,127, 37,193,134, 63, 48,155,201, 72,129,134,182, 32, 36,214,177, 32,242,252,139,231, 28,  0, 96,249, 14, 44,
+250,155,115,178,129,236,102, 88,209,191,228,214, 45, 68,233, 79,232, 16,129,  7,255, 15, 51,152, 61,141,144,139,249,249, 79,133,
+253,223,255,235,111,246,158,223,125, 83,229, 95, 22,126,255,246,247,247,127,255,254, 29,249,248,107,  8, 27, 40,  8,236,  7,144,
+122,202,205,245,235,215, 39, 78,156, 72,203,251,205,105, 88,250,175, 90,181,234,253,123,215,213,171, 67,137, 81, 15, 57,157,159,
+ 62, 37, 26,176,124,  7,166,201, 91,231,143,  1,139,126,228, 52,185,111,235, 58,113,113,113,248, 88, 16,174,242, 23, 79,154,  4,
+149,206,240,227, 85, 49,  0, 48, 30, 95,188,122,115,254,202, 53, 88,179,224,103,215,228, 89,233,  9,145,163,133, 56, 29,  0, 64,
+  0,161, 76,  2,127,254,252,217,198, 45, 80, 67, 78,152,157,149,  9, 88,250,191,120,241,226,242,197,243,191,254,  0,153,255,133,
+249,185,220, 60,125,190,255,252, 67,140,161,236,172,175,148,229, 94, 48, 48, 51,106,169, 62,102,103,121, 73, 82,233,143,210,210,
+252,244, 25, 88,232,  3,165, 48, 59,  4, 88, 75, 67,100,176,112,229, 58, 96,161, 15,148,194,108,140,160,  1, 96,195, 31, 88,238,
+243,241,241,221,187,119, 15, 88,232,131,170, 61,162, 75,127, 96,195, 31, 88,250,  7,230,182,120, 70, 89,109,185,242,244,197,119,
+  6, 82, 75,127,100,240,228,217, 11, 96, 95, 91, 84,144, 15, 92, 53, 51,147,225, 95,143,224,120, 80, 11,141,133,149, 96,233, 15,
+  4,181, 83,166,  2, 17,164,244,  7,246,  6, 74,221,192,237,126, 81, 54,124,229, 17,255, 54,183, 16,169, 68,249, 44, 86, 38, 30,
+110,  6, 46, 38,  6,102,105,113,107,155, 96,231,123, 82,253,248,  7,127, 64, 46, 92,184, 16, 82,238,163,145,112,  5,196,128,111,
+223,190, 17, 20,161, 17, 72, 75, 75, 11, 13, 93,189,116,233, 82,202, 75,127, 33,161, 61, 68,106,153,  9,  6,140,140,140,200, 87,
+ 54,210,174,244,111,173, 42, 92,189,122,245,156,201, 61,200,165, 63, 80,100,202,148, 41,120,210, 36,114,233,143,153, 38, 61,173,
+193,167, 78,241,114,227,210,219, 59,121, 58,164,244,127,245,230, 45, 16,  1,123,  0,172,172, 44,211, 23, 44, 39,230,210,155, 81,
+ 64, 12,  0, 54,249,145, 17,178, 20, 64,  0, 33, 42,  0, 96,169, 39,172,160,167, 32, 33,240,227,247, 95, 96,109,189,115,231,142,
+ 69, 11, 23, 92,186,120,177,180,168,128,153,153,  9,216, 23,224,227, 98, 87,208,179,  1, 54,217,240, 91,246,251,247,111,109,213,
+135,124, 60,223,230, 45,124,197,196,248,223, 76,247, 38, 80,132,160, 19,209, 74,127, 72,209,255,253,227, 91,120,197,  0, 20,193,
+165, 23, 45,229, 65,146,221,169,165, 29,240, 68,  9, 20,193, 99,181,178,178,178,176,176,240,167, 79,159,128, 53,  1, 19, 19, 19,
+208,131,192,210, 31,210,209, 33,120, 26,215,218, 13,235, 11, 38,236, 90, 63,185,  6, 88, 19,112,113, 11, 61,254,251, 20, 88,250,
+243,128,243,  9, 51, 94,189,104,165, 63,164,232,255,248,236,174,134,140,216,231,111, 63,216,185,216, 25,254,254, 37,213,191,149,
+179,183, 92, 61,119, 92, 71, 73,235,227, 95,156,245, 52,164,244,  7,182,250,129, 69, 63, 68,  4, 88,244,  3,209,189,244,198, 93,
+215, 46,105,155, 41, 49,188,197, 25, 89, 23,217,182, 88, 59,136,138,114,107,126,255,255,153,225,231, 43,182,159,239,126,254,253,
+252,227,223,247,127,108, 60,210,182, 38,107, 46,180,225,210,  8, 25,250,135, 92,107,  5,207,246,112, 54, 80, 10,168,128,152,116,
+252,230,205,155,162,162, 34, 96,219,255,198,141, 27, 64,238,225,195,135,219,218,218,106,106,106,232,147,139,128,  5, 55, 85,218,
+254,192,210,191,170,138,168,147,198,225,133, 62,242,189,140,180,  3,192, 52,  9,185, 58,248,236,217,179,192,114, 31,152, 38, 33,
+165, 63,  3,248,214, 70,242,210,100, 87,130,207,149,187,143, 37,148, 36, 25,190, 18,168,167,129, 69,255,239,223,127,192,  5,200,
+ 31, 32,122,252,240,  1, 73,142, 71,238, 46,140,118, 29,136,  7,  0,  1,132, 24,  2,250,249,243,167,161,134,  6, 23, 39, 43,176,
+189,255,247, 31,195,209,195, 71, 26,155, 91,254,253,103,184,125,231,206,165,139, 23,116,116,244,153,153, 25,213,149,100,238,157,
+251,195,137,247, 96, 77, 54,150, 87,106, 10,207, 24, 88, 24, 31, 63,255, 13, 36,245, 52, 30,158,186,252,234, 63,  3,177, 75,110,
+224,227, 60,104,125,  2, 96,101,  0, 94, 11,244, 20,143, 94,248, 56, 15, 90,123,  4,152, 16, 65,107, 99, 94, 99,239,139,252,249,
+243,135,139,139, 11, 88,244, 11, 10, 10,  2,155,147, 95,191,130, 14,130, 22, 21, 21,125,251,246, 45,193, 51,170,126,188,103, 48,
+227,228, 44,157,124,216, 85,159,225,225,121,134,211, 96, 65, 32,119, 82,161,227,223,127, 68, 93, 65,  3,159, 94,115, 54,214, 96,
+225,101,218,121,224,154,161,134, 44, 31, 15,251,193, 51,119, 68, 20,181, 31,160,174,  2,194,229,223, 77,215,254, 51, 60,103,240,
+115,102,156,189,229,158,176,160, 98,144, 53, 35, 30,255, 66,198,124,118,126,133,158,119,253,191,161,159, 65,250, 35, 99,106,253,
+255,198,102,  6,166,239,140,167,218,166,136,139, 99, 61,149,251,135,198, 67,121,  1,175, 79,127,191,252,124,127,103,241,163,101,
+ 71,252,222,107,165, 56,186,229,242,112, 10,170,115,176,  8,178,248,125, 60,189,238,180,169,137, 41,206,206, 38, 19, 19, 60, 60,
+145,217,196,  3, 17, 17,145,252,252,252, 35, 71,142,236,220,185, 19, 84,117,237,220,169,169,169, 25, 24, 24, 72,159,172, 18, 16,
+240,139, 90,165,191,188,188, 60,145,133, 26,188,220,135,116,  2,200, 62,195,149, 72,224,228, 29,  4,236,  7,  3, 43,  0, 96,185,
+111, 12,102, 48,128,175,183,243,176, 55,129,164, 73, 93, 93,221,  7,120, 87,152,192,211,228,243, 13, 29,188,218, 28, 60,170,  5,
+171, 58, 82,244,117, 36,212,125, 90,128,222,193,186, 58,  5,216,182,227,224,  0,173, 49,  1, 54,252,191,125,251, 65,182,227, 71,
+203,125, 92,  0,207, 97,112,  0,  1,132,168,  0,254,253,251,199,197,206,246,235,207,127, 38, 70,  6, 32,170,111,106,  1, 86,  3,
+ 95,191,126,121,241,226,185,184,184,196,255,255,255,254,252, 97,224, 96,101, 97,102,197, 55, 68,  0, 44, 76,181,148,159,136,  8,
+126,  2, 13,249,129, 47,250,100,100,252,111,164,125,251,228, 37,113, 98,150,  3, 65,154,249,152,195, 65,120,154,255,200,141, 14,
+204,162,159, 96,243, 31,210,174, 20, 19, 19,131, 44,115,  2,118, 86, 32,115,191,252,252,252,172,172,172,143, 31, 63,198, 63,125,
+ 49,127,207,193, 20, 31,123,  7, 48,251,214, 31,208,248, 15,144,225,160,198,192,215,178,191,176,196,138,160,155,129,141, 44, 32,
+ 41, 39, 38,244,254,231, 79, 22, 62,230, 31,175,191,  1,139, 70, 73,121,153, 93,251, 78, 19,233,223,248,226,214,251, 71,247,178,
+188, 96,248, 32,206,  0,172,196, 44, 20, 20,157,236,241, 45, 81, 69, 30,241, 95, 18,158,178,246,231, 77,  6,149, 31, 12, 39, 89,
+ 24,120, 88, 24,124,141,101,124,227,241,117,149,164,133,126,253,122,199,250,231, 55,176,244, 63,158,192,111, 23,232,175, 33,166,
+121,101,215,  1,195,208,175,172,191,190,254,209,248,247,250, 37,190,137,122, 72,137, 15,153,  3, 64,102,147,  4,128, 37, 62, 55,
+ 55,247,245,235,215,185,192, 32, 58, 58,154,214,195, 62,192, 82, 27, 88,244, 71,131,  1, 61, 75,127,180, 49, 31,200,197, 41,116,
+ 40,227, 60,130, 99,148,148,148,128, 21,  0,164,244,  7,182,253,197, 37, 37, 73, 74,147,105,190,118, 39,158,189,226,213,231,125,
+186,243, 46,  3,  7,123,112,110,156,144,140, 15,222, 66,227,239,211,231, 47,129,165, 63,164,  7,  0,  4,164, 54,255, 49,  7,139,
+ 70, 43,  3, 60,149,  1,114, 29,  0, 16, 64, 40,115,  0,255, 33,107, 96,254, 51,  0,139,126, 38, 80,217,205,176,110,237,154,192,
+160, 16, 17, 81, 49, 72,166,253, 79,232,144,113,102,166, 87,218, 42,208,203, 17,245,116,184,192, 77, 23,  6, 35,173,123, 64,113,
+ 98, 28,135, 60,230,131, 38, 14,223, 10,128, 11, 32,143,249,160,137,195,151,198, 99,  5,159, 62,125,250,252,249, 51,176,  3,  4,
+172,  2, 95,191,126, 13, 25,255,  1,118,  5,190,124,249, 66,112,  8,104,253,228,154,  3, 87, 24, 62, 62, 96,248,253,157, 97, 82,
+185, 35,100,252,231,220,121,134, 11,207,143, 18,179, 94,234,227,179,187, 66,252,220,194, 66,220,234,106,154,247,238,191,190,245,
+244,173,156, 48,255,207,151,175,254,252,254,  3,223, 10,128,199,191, 86, 14,254, 54,142,145,235, 55,175,218,127,104,213,178,190,
+226,224,226,182, 75,191, 25, 94,191,125,133,199,191,240, 17,255, 68, 43,243,104, 45,249, 85,235,247, 93,186,244,160,239,242,217,
+ 21,174,113, 12,115,143, 61,125,250, 26,190, 21,  0,203, 16,193, 15,246,191,191,222,252,250,  5,186,252, 93, 92, 90, 86, 67, 83,
+243, 19, 39,104,166,228,251,191,111, 76, 63,191,114,126,101,126,249, 28,123,  5,  0,  9,198, 31, 96,  0, 31,246, 65, 91, 17, 68,
+ 36,  0,198,203,146, 37, 75,128,213, 64, 65, 65,  1,176,230,134,116,  5,  6,237,176, 15,217,165, 63,114,243, 31, 50,247,  0,239,
+  4,208,186,128,  0,166, 73, 52, 17,120,154,132,111,  5,192,147, 38,109, 77,213, 93,172,213, 90,155,122,122, 39,108,171, 91,178,
+ 47,195,201,228,197,198,109, 31,223,127,194, 85, 34,  3,197, 67,253, 60, 32,195, 62,240, 10,  0,  8,218,234, 43,137, 47,196, 71,
+139,123,252,  0,109,244, 31,185, 67,  0, 16, 64, 76,200, 61,244,143, 95,190, 49, 51, 49,  2, 43,228,127,255,255,255,249,  7,154,
+180,191,120,225,188,147, 51,232,  6,187,191,255,255, 51, 51, 49,127,254,246,235,207,175,159, 56,107,242,191,127, 21,165,159,139,
+ 10,125,132, 84, 38, 86,102, 60,144,203, 85,129,157,  0, 67,205, 59,127,254,254, 37,166,249,143,117, 42,152,216,230, 48,182,105,
+ 40,130,122,  5,  5,  5,129,229, 62,176,  7,  0,172,  6, 68, 69, 69, 33, 19,194,192,226,233,195,135, 15,  4, 43,128,180,214, 21,
+192,114,159, 95,129,  1, 88, 13,228,117,238,  7,150,254, 65,249,237, 79,254,189, 88,218, 87,  6, 12, 73, 98,154,255,198,198,106,
+162, 74, 10, 98,162, 34,108,192,144,103,252,255,250,235,247,247,159,127, 16,233,223,222,142, 13,  1,154,138,124,124,194, 92,162,
+ 82,191,223,189, 63,191,101,249,135,119,143,136, 76, 19,243, 58,114, 24, 10, 93, 88,254,252, 82,248,202,240,138,249,211,164,231,
+167, 25,216,248,  8,140,119,221,253,244,134,233,251, 35,182,111, 38, 42,142, 90,113, 60,247,  4, 15,136,138,158,151,181,184,247,
+145,233,243,207,255,223,191, 45,249,199,193,195,139,167,237, 79, 21,240,240,225, 67, 32,  9,108,140,139,136,136,  4,  6,  6, 66,
+ 90,169,180,  3,233,233,130,152, 35, 63,196,207,  6,147, 93,250, 35, 23,244,240, 74,  8,114, 99, 59, 77,253, 11, 76,147,199,143,
+ 31,135,140,251, 27, 27, 27, 51,128, 47, 34, 94,185,105, 27,241,105,114,227,250,  6,247,242, 92, 47, 47,103, 17,118,230,207,140,
+255,119,222,122,124,252,202, 83,130,197,119,102, 66,228,189, 59,119,128, 13,127,  8,  2,150,254, 88,219,245,163,128,188,162, 31,
+215,248, 15, 16,  0,  4, 16, 98, 88,  6, 88,  2,222,190,118, 73, 65, 74,136,147,149,229,239,223,127,224, 43,154, 25,210,210,179,
+129, 93,130,191,224,221,  0,223,126,252,184,126,235, 30, 27, 27,206, 65,145, 63,191,223, 25,106,221,135,103,250,172,194,251,107,
+151,168, 66,250, 12, 38, 58,119, 79, 92,212,100, 97, 22, 37,216,252, 71, 43,250,129,130, 12, 72, 59,129,241, 55,255,209,146, 35,
+ 80,144,  1,105,103, 44, 46,240,247,239, 95,  9,  9,  9, 96, 15,224,229,203,151, 64, 54,176,100,121,251,246, 45,144,132,220, 82,
+141, 95,239,235, 23,119,106, 90,246,  3,123,  0,221,197,182, 95,254,252, 45,234, 92, 61,177, 60,180,184,111, 11, 11,232, 14, 26,
+194, 77, 45, 73, 17,  1, 86,  6,214,191, 12,140,207,239, 95,125,248,234,163,178,168,208,197,119,207,206,221,125, 74, 76,243, 63,
+ 56,169,136, 85,136,129,137,153, 97,193,182,251,107,167,149, 38,117,204, 44,242,213,207,118,150, 39,232, 95, 96,243,191,215, 47,
+140,225,  3,  7,  3, 35, 43, 67,111, 79,200,233,195,187,156, 51, 25,219,115, 25, 79,148,225,105,254,  3,193,197, 23, 34, 54,223,
+ 63,126,225,100,254,198,193,161, 28,204, 10, 44,244, 63, 50,177,254, 97, 80,251,255,247,219,239, 55,207,143, 78,254, 24, 29,165,
+ 76,163,116, 12, 31,140,214,  4,  3,136,160, 45, 24,208, 52,255, 96, 93,176, 79,100,183,128,236,210,159,  1,117,244, 31,109,193,
+ 40, 77,103,  2,110,157, 63,  6, 15,234,172,164,176, 29,176,177,160,237, 74, 74,  4,247, 46,  0,211,100,184,139, 57,255, 63,193,
+111, 12,172,107,251,115,167,109,185, 80,234, 97,147,208,183, 44,164,109, 49,193,122, 11,190,119, 12,141, 59,186,162,159,214,  0,
+ 32,128, 16, 61,  0, 96,203,247,195,243, 59,119, 31,191,101, 97,101,  6,246,  1,126,255,249,123,238,220,217, 69,139,230,255,250,
+251,255,247,223,127,108, 44, 76,175,222,127,121,122,253, 56, 39,142, 41, 96, 96,209,169,169,252, 16,218,252,  7,247,251,215, 46,
+ 81,  3, 13,  0, 49,253,  7, 34, 38,166,127, 22,250,215,255,226,238,  4,160, 53,255,225,171,128,128, 69, 63,193,210, 31,173,249,
+ 15, 95,129,  0, 44, 10,  9,150,134,224,252,252,254,203,151, 47,172,172,172,144,230,255,191,127,255, 32, 36, 49, 21,192,226,254,
+202,115, 79, 15,242, 72,128, 38,126,121, 89,152,129,245,  1, 31, 59,235,135,119, 79,128,205,127, 22, 38, 38,130,205,127, 89, 33,
+222,107,247,238,255,249,245,139,157,133,237,203,151, 31, 23,239, 63,  3, 22,253,  4, 75,127,136,127,253,115,154,151, 78,154,248,
+237, 31,131,172,178,204,149,171, 39,128,165, 63,145,254,  5,130, 34,101,147,205,183,247, 49,124,252,195,192, 33,178,251,212, 53,
+ 96,233, 15, 44,250,241,151,254, 64,160,255,203,231,232,238, 83, 12,191, 62,127, 97,252,252,158,233,203, 71,150,223,191,255,126,
+ 98,255,241,141,227,217,253, 21, 85,183, 21, 12,212,240,204,  0,  3,  1, 60,229,112,128,  1,154, 32,126, 48, 27, 12,  6, 48,159,
+ 64, 90,253,192, 50,157,  1, 60, 27, 76,112, 66,152,146,210, 31, 88,196,255,199,189,100,158,118,203,129,128,105, 18,190,230,167,
+166,182, 16,152, 38,197,197,197, 33,235,130, 32,226,  4,211,100,138,131, 94, 65,207,196,207, 47, 95,137,242,137, 93,189,246,  8,
+ 88,250, 67,150,177, 18, 89,231,193,  1,242,168,206,104, 63,128, 18,176,101, 73,243, 22,188,247,136,  0,  4, 16,202,196, 44, 47,
+ 47,239,217,  3, 27,254,255,247, 83,144, 18,230,229, 98,215,210, 49,208,210,214,103, 97, 98,248,242,253,239,163,231,239, 78, 29,
+216,202,195,205,133,203,160,175,223,190,169,201, 63,255,241,147,227, 63,228,218,188,255, 12,156, 28, 63,128,201,248,221,  7,118,
+160,  0, 47,247, 31, 93,181,  7,135,207, 24,  2,173,192,223,252,135,183,250,129, 92,214,255,191, 25,254, 64, 87,143,253,101,225,
+ 34,216,252,135,183,250, 33,220,143,175,160, 75, 14,240,108,199,133,215,  1, 64, 18,216, 15,  0,146,239,222,189,227,227,227,131,
+140,255, 16,115, 41, 43,120,213,127,123,102,168, 61,195,164,195,211,170,189, 67,138, 39, 46,235,200,  6,246,  0,216,216, 57,  8,
+ 54,255,175, 61,122,165, 34, 43,178,119,207,  9,  6,240,246, 75, 32,249,251, 39,180,175,205,138, 91, 59,164,249,223,146,228,156,
+ 87,191, 64, 86,137,145, 36,255, 66,154,255,110,235,231,237,138,142,100,148,177, 96,  0,111,  9,102,  0, 31, 14,  1, 81,224,203,
+195,131,199,217,122, 63,203, 46,110,223,242, 67,253,152,130,170,206, 39, 78,134,251, 12, 15, 63, 63,120,253,186,237,239,151,247,
+ 50,133,113,197,248,  3,106,250,244,233,192,226,254,251,247,239,240, 34, 12,200,  5, 10, 14,137,140,  4,105,245,191,  4,111,147,
+ 38,102, 54, 24,216, 94, 38,175,244,103,128, 93,254,142,167,224, 35,117, 47, 49,145,  0,152, 38, 91, 27,106,214,109,222,238,110,
+ 99,  4, 79,147, 64,100,124,239,158, 71,112,204,163,183,223,228,132,185,240, 55,255, 11,102,109,174, 74,118,147,146,112,128,212,
+ 34, 16,167,226,233, 75, 17,217, 45, 24,237,  7, 80,177, 62, 64, 19,  1,  8, 32,244,149, 57,124,188, 60,231, 14,108,184, 47,163,
+174,164,170,201,199,205,249,239, 63,195,247,159,191,238,221,187,247,250,222,  5, 94, 30,110, 38,220,173, 90, 78, 14,142, 85, 59,
+236,241,180,241,129,122,185,185,  9, 52,247, 32,107, 64,129, 77,254,127,127,127,131, 74,127, 48,248,205,200,138,235, 48,  6,100,
+  0, 89,127,  6,108,  2,195,203, 65, 34, 75,127,120, 29,  0,223,252,  5,172,  3,112,  6, 16,142, 58, 96, 49,108, 35,212,236, 54,
+216,158,216,223, 95, 20,241,234,  2, 54,255, 79,189,249,112,225, 54,104,192,  7, 94,238, 19, 44,253, 33,  0,216,252, 95,107,196,
+157, 19,168, 65,134,127,129,205,255,226, 77,171, 24, 91,235,183,139,155, 79,248,114,  5, 46,110,200,194, 42,195, 65,248,196, 39,
+ 96, 63, 96,251,166, 31, 79,222,223,125,253,246,249,203, 91, 60,204,127,249,172,245,108, 29,227, 28,105,154,112,  7,124,211, 47,
+ 25,107, 64,211,211,  5,201, 40,253, 25,  6,116, 74, 19,152, 38, 45, 45, 45,209,210, 36,176,244,103,  0, 77,  5,115,225,215, 11,
+108,254,187,238, 57, 25, 93,191,200,206,206, 78, 28,181, 55, 73,118,117,  5,169,  3,  8,  6,  8,102,101, 57, 90,103,224, 41,247,
+145,103,  2,  0,  2,  8, 75,249,  6,108,255,254,124,247,248,220,  1,208,114, 17,200,133,203,236,236,236,152,115,179,104,128,149,
+149,149,159,136, 35, 31,240,  0,200,128, 15, 51,176,201,255,231, 27, 51, 82,209, 79,204,137,213,144,  1, 31, 96, 81,136, 92, 26,
+ 18, 83,244,243,139, 74,253,194, 61,173,141, 31, 68, 55, 47,190,125,227, 42,217,254, 61,117,235, 49, 36,155, 33,151,254,  4,139,
+126,  8,136, 51,226, 38,207,191,160, 56,237, 47,131, 20,253,240,210,159,200,162, 31, 14, 60, 21, 67, 24, 32,149, 27,113,107,100,
+128,197, 55,100,211, 47,176,189, 15,223,253, 11,100, 64,154,255, 64,198,224, 63,212,129,140, 53,160,180,104,164,211, 26, 96, 77,
+147,  4,139,126,  8,112,173,153, 77,197,162,159,164,234,112,180,172,199,  5,208,110,132,103,192,152,  7,  6,  8, 32,236, 13, 92,
+ 22, 22, 22, 92, 99, 53,180,  0,144, 81,126, 72,209,207, 64, 98,209, 15, 25,245, 38,175, 40,100,  0,173, 92,250, 71, 76,247,  2,
+ 43,120,245,238, 35,241, 22, 33,  3,200, 40, 63,121, 69, 63, 37,254,133,140,242,111,254,242,133,236,162,127, 20, 12, 87,  0, 89,
+226,249,232,237, 55, 50,138,126, 72,249, 11, 31,237, 25,186,245,223,112,173,  3,240,200,  2,  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,
+192, 95, 10, 63,210,244,254,120,241,152,120,189, 28, 18,178,163,225, 60,170,119, 84,239,168, 94, 26, 93, 10, 15, 16, 64,131,186,
+  7, 64,234, 46,240,123,247,238,237,129,  1, 32,123,180,122,199,  3, 62,126,252,248,232,209,163,227,199,143,159, 59,119, 14,200,
+ 32,207, 16, 42,158,242, 54, 10,  6, 57,184,121,243, 38, 73,138, 51, 50, 50,200,182,136,108,189,163,128, 84,  0, 16, 64, 44,131,
+214,101,164,150,224, 64,245, 29, 29, 29, 97, 97, 97,200,218,149,148,148,136,215, 14,  4,171, 87,175, 14, 13, 13, 85,  2,  3,252,
+234,211,210,210,  8,154,  9,116, 12,214,213,208,187,119,207, 39, 70,239,251,247,220, 52, 10,219, 87,175, 94,253,252,249,147,145,
+145,145,131,131,227,199,143, 31,192, 10,224,244,233,211,250,250,250, 42, 42, 42, 36,153, 67,204, 81, 25,224,138, 60,147, 24,101,
+ 51,103, 78,167,182,222,116, 28,138,209,143, 30, 35,152,174, 24,234, 25, 25,155, 48, 42,191,122,198,176,235,161, 12,236, 26,  4,
+157,231,238, 14, 58, 82,151,188,195,171, 33,103, 65,167,167, 11, 82,178,178, 30, 88,170,246,247,247, 19,220,112,151,154,154,  6,
+244, 22,102,172,150,148, 20, 19,163, 29,158, 42, 38, 76,152, 96,111,111, 15, 44,199,151, 45, 91,246,233,211, 39,130,150,162, 20,
+ 73, 44,204, 17, 86,108,233, 25,233, 93, 59,186, 75, 92, 75, 32,130,179,103,207,194,170, 55, 38,  6,180, 75,153,155, 27, 75, 78,
+129,220,236,148,144,144, 48,186, 35,  1, 25, 64,246,133,193, 87,255,  3,  4, 16,246, 10,  0,243,176, 17, 26, 29, 63, 66,197, 10,
+  0, 94,250,  3,221,  9,217,147,  2, 52,129,200, 10,  0,146,201, 33,197, 25,228,220,171,242,242,114,194,122, 87, 11, 17, 50, 24,
+103,136,125,245, 37,112,139, 58,  3, 17,135,164,145,119, 15,  6,176,237, 47, 38,  6,189,224,129,147,147, 19, 88, 25,124,248,240,
+129,159,159,255,212, 41,208,229,201,196,212,  1,192,224,133,132, 18, 48,196,130,131,131,129,  1, 78,176, 38,216,180,105,  3,132,
+225,231, 23,128,139,141, 75,239,247, 99, 57,208, 32,177,154,  2,103, 35,115,129, 12, 92,122,119,236, 64,185,220,236,208,161, 67,
+109,109,109,200,  1,181,100,201, 18,252,  9,163,179,179,179,131,189, 19, 92, 16,135,162,100,129,122, 70, 82,147, 52,253, 51, 17,
+114,233, 15,244, 50, 48,198,151, 46, 93,122,228,200, 17,175,168,106, 92,138,143, 97, 92,161,189,126, 53,168,244,255,247,239,223,
+172, 89,179,128,218,249,228,236,177, 22,250,240,238,224,141, 27, 55,128,220,200,200, 72, 32, 59, 42, 42,138,152,106,163,103, 55,
+244, 22,226, 23, 59,159,  3,245, 46,203,231,  2, 26, 89,238, 81,198,  0,142,189,229, 11,151,101,216,227,235, 19, 24, 27, 27, 19,
+223,212, 27, 45,253,145,  1, 64,  0, 49, 97, 45, 86,128,217, 27, 24,217,104, 25,158,200,  1, 25, 74,198, 94,144,245, 66, 26,227,
+196,235,  5, 58,216,  5, 12, 32,117,  0, 73,  9,  2, 82,250,  3,173,  3, 93, 79,  1,182,148, 72, 95, 48,134,189,135, 32, 60, 34,
+184,  0,207,150,233, 16,132, 71,132, 96,233,255, 31, 12,136, 31,141,121,255,254, 61,176,172,  7, 86,  0, 73, 73, 73,209,209,209,
+108,108,108,192, 58,  0,216, 15,  0,122,159,153,153,153,224,241,250,215,174, 93,  3,218,187,102,205, 26, 72,112,  1, 45, 93,187,
+118, 45,176,161,  7, 20,167,115, 82, 70,171, 12,104,212,  4,  1,150,254,192, 36, 17,126, 35, 12,212,210, 71, 13,252,138,159,229,
+104,125,  2, 92,  0, 24, 62,165,165,165,138,138,138,100,184,  1,168, 23,216,246, 23, 22,222, 75,121,219, 31, 94,250,147,164, 29,
+ 94,250, 23, 23, 23,227,209,142,156,252,128,205,127, 59, 59, 59, 32,  3, 88,  7,  0,251,  1,  4,203, 13, 52,189,225,150,160, 86,
+233,178,124, 78, 96, 63,160,204,189, 20,191, 94, 96,219, 31,104, 23,176, 59,238,130,  1, 32, 82,163,205,127, 60,165, 63, 16,  0,
+  4, 16, 19,182, 46, 39,244, 98,104, 72, 59, 26,222,220, 35,166, 56,134,228, 25, 74,242, 27,121,  3, 56, 88,203,116, 82,181,192,
+ 43, 15, 96,243,159,224,249,183,  3, 11,224,165, 63,144,124,250, 20,122,225,198,147, 39, 79,240,103, 54, 96,219,255,219,183,111,
+ 76, 76, 76, 64, 63,  2,217,207,158, 61, 99,101,101,101,  1,  3, 32,  3,114, 84, 39,218,134,126,180,140, 58,113,226, 68, 96,209,
+ 31, 18, 18,  2, 44, 80,128,134,  0, 11, 71, 32, 27, 40, 53,105,210,164, 97,150, 91,224,165, 63,144, 13, 44,187,225,109, 11, 72,
+224,195, 59,136, 68,150, 47, 64,101,192, 16,  3, 38, 42,242,102, 77, 42, 43, 43,129,122,241, 68, 13,158,210,191,175,175, 15, 24,
+101,192,138,  4, 88,124, 31, 62,124,152,  1,124, 34, 19,241,165, 63, 68, 59, 48,205,156, 57,115,  6,162,157,160,141, 64,245, 17,
+ 17, 17, 16, 46,176, 14,112,112,112,  0,218,190,113,227, 70,130,  3,137,192,230, 63,  3, 35,195,210, 60,232,249, 19,192,126, 64,
+164, 53, 59,168, 31,128, 23,224, 41, 37, 70,187,  5,104,165,127, 90, 57,122,169,  8, 16, 64, 44, 88, 19, 43,252, 98,232,123, 72,
+ 23, 67, 19, 76,235,212, 42,253,169, 82,  1, 80,  2,128,149,  7,217, 30,161, 27,  0, 22, 37,192,162,255,197, 11,232, 45,140,200,
+108, 92,224,245,235,215,192,156, 12,108,233,223,185,115,  7,168, 29,152, 87,127,253,250,  5,204,126,192, 10,  0, 72,254,253,251,
+ 23, 88, 61,172, 95,191, 30, 87, 68,239,221, 11,106,135,  2, 75,124,100,  5, 16, 54,164,120,194,147, 66,144, 71,120,112,177,241,
+ 52,246,113,141,  5,225, 25,252, 65, 27,249,129,180, 73, 73, 74,  3, 29,236,157,140,168, 21, 42,100,220,255, 30, 49,195,131, 72,
+ 77,120, 72, 29,  9, 41,233,128, 97, 72,124,155, 20,162, 87, 85, 85,149,129,232,233, 22,100,144,153,153,  9, 31,236,  2,178,129,
+197, 55,208, 16,226, 75,127,123,107,208,145,140,192,182,127, 73, 73,  9,176, 97, 14,209,238,235,151,138,255, 98, 63,120,243, 31,
+ 14, 32, 99, 65,219,182,109,211,208,208,  0, 54,217,241,235, 13,183, 68, 57,152, 11, 60, 22,196,176,124,217,249,155, 18, 55,241,
+235, 29,  5,100,148,254, 64,  0, 16, 64,216,231,  0,128, 93, 42, 72,195, 31,126, 49, 52, 73,165, 63,214,118, 40,158,225,105, 92,
+122,145,197,105,119,224, 31,208,167,240, 99,199,145,221, 64,222,136,237,255, 85,130,100,187,228,139, 15,225,  9, 79,184, 35,209,
+ 74,  4, 25, 25, 25,100,  5, 88,131,235,221,187,119,188,188,188, 64,242,216,177, 99,192,106,  0, 88,250,  3,155,252,144,171,111,
+128, 69,219,239,223,191,127,254,252,137,167,137, 10,233, 21, 97,134,  9, 80,100,205,154, 53, 64, 89, 60,193, 69,249, 28,  0,176,
+172, 71, 46,238, 33,108, 34,171,  1, 96,145, 68,114, 29,  0, 30,226,135,164,124,196,100, 18, 88,144,248,185, 37,228, 58,146,  1,
+118,177, 59,121,131, 18,192, 78,  0,100,246,130,120,237,192,168,132,143,191,219,216,216,  0, 75,112,146,218,254, 64,237,127,254,
+252, 65,214,126,240,232,223,158,206, 12,130,205,127, 72,137,143,  9,250,251,251,189,163,107,112,233, 69, 26,253, 71,237, 31, 16,
+161,119, 20,144, 13,  0,  2,136,  5, 79,170,133, 52,255,233,220,246, 71, 30,137,162,207, 82, 78,228,209, 30,228,245, 33,248, 75,
+ 52,156,253, 89,216,232, 63, 25, 53,  1,124,244, 31,127, 77, 16, 29, 29,205,205,205,205,195,195,  3, 44,205,249,249,249,  5,  5,
+  5,129,205,171,216,216, 88,136, 44,  7,  7,135,155,155, 27,208, 23,152,199,252,  1, 75,124, 96,233,255,227,199, 15,160, 46,118,
+118,118, 96,246,254, 15,186,236,243, 47, 80, 28, 88,250,  3, 25,  4,  7, 40,112, 13,  3,  2, 27,170,116, 24, 52,195, 53, 27, 76,
+ 12,128,212,  1, 36,196, 99, 19, 22,207,134, 93, 15,  5, 79, 77, 17,107,  8,114,243, 31, 94,109, 19,217,176, 64,110,254, 99,173,
+242,241,131,101,203,150, 65, 12,  1,214,  1,100, 12,253, 67, 90,126,192,174, 97, 97, 97,225,153, 51,103, 96,218,  9, 36,143,137,
+ 19, 39,162, 93,210,185, 98,197,138,131,  7, 15,  2,211, 21,164, 69,130,103,125,250,132,137, 19, 34, 44, 80,154,255,209,147,190,
+173, 56,246, 27,168,215, 48,202, 48,195, 62,131,248,181,237,163,128,200,230, 63, 16,  0,  4, 16, 19,158,118, 49, 36, 17,192, 39,
+  3,240, 15,195,149,151,151,147,231, 62, 92,122,149,192,247,145, 18,223,138, 71,  3,144, 21, 65,164, 14,155, 18,179,184,115, 48,
+128, 89,179,102,245,245,245,193,185,144,210,223, 15, 12,128, 12, 96,150,195,170, 11, 88, 97,  0, 75,249,247,239,223,191,121,243,
+  6, 72,126,  3,131, 47, 95,190,124,250,244,233,227,199,143,192,222,  0,176,  7,128,231, 74, 31, 96,  1,  4,108,233, 19,172, 68,
+  7, 21, 56,132,  4,224,130, 64,239,195,217,120,198,181,145,199,253,145,219,242, 36, 53, 11,208, 20,  3,139, 99, 96, 24,146, 61,
+ 19,  0,212, 75, 76,146,  6,150,248,192, 52,  0,153,248,  5,214,  1, 16,191, 19,127,233, 66,117,185, 61, 80,251,191,149,  2, 64,
+237,192,166, 55, 68,251,161, 99,255, 96,205,113,156,205,127,248,128, 15,104,220,102,249,210,204,204, 76,160, 57,  5,  5,  5,  4,
+173,  6, 53,255, 25, 24,151,194,154,255, 81, 19,191, 49, 71,124, 92,126,236, 23, 80,111,231,142,174,209, 66,156, 70,165, 63, 16,
+  0,  4, 16, 11,174,242,  5, 62,244, 15,159, 12,192, 95, 56, 66,202,113, 72, 91,158,212,225, 26, 52,189,144, 62,  1, 80,144,188,
+ 97, 31,248, 50, 80,122,  2, 72,195,159,188,241, 31, 72,195,159,152,241, 31,120,246,134, 48, 26, 27, 27,231,207,159, 15, 27, 66,
+241,131, 48,128,205,127, 92, 21,128,176,176,240,219,183,111,129,237,253,215,175, 95,  3,123,  0,192,246, 29,164,  7,240,245,235,
+ 87, 96, 77,  0, 44,253,129,213, 64, 89, 25,206, 57, 55, 72, 51, 31,235, 18, 97,136, 44, 30, 55, 83,101, 14,128, 72,113,100,  0,
+ 25, 54, 65, 47,224,170,171, 91, 91, 91, 69, 68, 68,104,154, 36, 48,155,255,112, 64,112, 38,  0,179,249, 79, 82,219, 31,216, 71,
+140,137,137,  1, 70, 46,208,251, 85, 85, 85,192,222, 15,241, 23,218,212, 84,216, 31, 56,112,128,113, 13,232,126,214, 93, 53,188,
+110, 45,159,129,218, 91, 59, 65,173,120,252, 93, 16,200,218,127,112,171,127,217,193,131,135,255, 51,254, 47, 44, 40, 84, 87, 87,
+ 39,198, 82,160,222,  8, 43, 86, 68,171,159,  1,164, 87,220, 77,130,140,153,143, 81,128,165, 60,239,172,192,172, 24, 32, 35,  4,
+  0,  1,196,130,167,237, 15, 44,253,145, 39,  3,  8,118, 93,145,203,113,242,250,  1, 16,189, 20,142,252, 64,220, 76,102, 57, 62,
+232, 19, 28,100,144, 10,126, 85,119, 98, 98, 34,218,248, 12, 80, 16,146, 15, 49,129,140,140,204,157, 59,119,128, 37, 62,176,201,
+255,251,247,111,200,208,255,143, 31, 63, 32,107, 73, 33,115,194,202,202,202,120,106, 86,160,225,144, 78,  0, 60, 37,  0,131, 26,
+ 77,  4, 43,160,197, 28,  0,242,136, 16,174,176,194, 42, 14, 12, 64, 96, 29, 16, 30, 30,190,114,229, 74,226,  7, 42,209,216, 29,
+ 29, 29,105, 79,211,195,128, 41, 13,219, 70, 48,119,119,247,251,247,239,163,237, 66,128,  0,160, 56,  3,222, 77, 97,161,161,171,
+ 67, 67,157, 93, 93,239, 97, 78, 54,188,125,235,204,192,240, 62, 61, 29,103, 78,132, 95,133,  8,233,100,236,218,181,139,129,148,
+235,204,152,152, 24, 65,141, 24, 72,233,127,233,207,252,253,160,139, 48,129,165, 63, 49, 89,  3,146,156,128,173,126, 32, 89, 88,
+ 84,168,174,166, 78,164,165,165,101, 37, 96,189, 12,192, 86, 63, 68,175,132,155, 36,104,180,105,180,240,167, 61,  0,  8, 32, 22,
+ 92,221,121,248,196, 47,124,153,  7, 49, 99,226, 84, 25, 11, 34,117,  7,192,  8,  4,240, 33, 23,120, 25,  7,217,189,129, 44,136,
+117,204, 20, 88, 55,108,219,182,237,207,159, 63, 31, 62,124,128,204,  1, 48,128, 87,  7,  1,185, 64, 54,193,184,203,207,207,159,
+ 56,113, 34,164, 26, 64, 30,247,  7,138,211,186,238,  4, 22,247,196, 20,250, 88, 75, 67,204,138,  1,216,196, 38,178,244,199, 44,
+133,145, 39,132,  9,118,  2, 48,  5, 31, 60,120,192, 64,196, 18,  3,248,  0, 44,170,203, 93,136,241, 47,176,159,  7, 44,250,145,
+  7,223,137,  1, 64,237,255, 86, 10,  2,203,125, 32,123,193,254, 95, 43,142,253,  2,106, 63,124,156,132,209,170, 67,135, 14, 21,
+ 20, 20, 16,217,234,135,  3, 72, 34, 92,121,252, 55, 80,175,132,187, 36,172, 62, 33, 74, 47,100,187, 47,100,122, 31, 45,154, 70,
+119,  2, 51, 96,187, 14, 12,109, 39, 48, 64,  0,177, 96,205, 30,144, 77, 85,200, 77, 63,130, 67, 64,232,217,131,220, 58,128,114,
+ 67,224,167, 65, 16,  9,128,149, 13,214, 33,108, 98, 42, 33,204, 49, 31,226, 71,129, 48,199,124,136, 28,  5,130,207, 84, 35,231,
+109,172,130, 88,155,105,222,222,222, 75,151, 46,101, 99, 99,251,249,243, 39,176, 14,248,247,239,159,128,128,192,251,247,239,137,
+217,252,172,165,165,  5, 52,127,247,238,221,144,101, 63,144, 61,  1, 67, 46,131,237,219,183, 15, 24,  8, 91,182,108, 33,163,244,
+135,151,149,247,202,203,241,116, 85, 75, 75, 75, 25,112, 44,159, 43, 43, 43,195, 63,  7,144,158, 46,136, 75, 47,176,237, 79, 76,
+ 57, 78,176, 15,132,  7,184,183,124,134,179, 73, 42,253,167, 77,155, 70, 94,116,244,116,247,130,154,252, 20,  0,172,149, 37,252,
+246,233, 81,128,  7,  0,  4, 16,206,101,160,  4, 69,104, 10,232,185,  3,  0,115,174,143,232,106,134,204,130, 15,164,151,147, 76,
+215, 66, 70,183, 32,149, 19,218, 72, 23,178, 32,126, 31, 69, 71, 71,223,189,123,119,255,254,253,223,191,127,255,251,247,175,175,
+175, 47,176, 40, 39, 62,204, 93,193,  0,210,118, 35,178,225, 79,173, 57,  0, 92,108, 60,165, 33,218,186, 20, 98,118, 51, 49,192,
+143,250,185, 23,138, 28, 44,192, 92,144,246, 52,157, 17,182, 17, 12, 34,133,181,167,133, 39,252,157,157,157,  9, 38, 72, 50,164,
+224,254,  5,198, 72, 96, 96, 32,228,244, 33, 82,  1, 83,248,123,160,118, 63,255, 52, 72, 91,  1,178,232, 19,249,152,  7, 90,  0,
+227, 24, 35,178,245,  2, 27,248,184,234, 57,136,212, 40,192, 15,  0,  2,104, 48, 30,  6, 71, 70,179,133,254,141, 80, 74,108,164,
+228,148, 55,106,249, 84, 25, 12,208,  4,127,253,250,197, 12,  6,212,142,208,233,  3,164, 23, 75, 66,130, 28, 31, 70, 24,212, 67,
+ 15,134, 66,238, 29,  2, 75,127, 72, 69, 59, 56,183,152, 82,184, 87,  6,172,157,240,208, 59,213,151, 99,226, 63,231,135,118,149,
+229,232,160, 16, 16,  0,  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, 16,203,104, 16,140,130, 81, 48, 10,144,  1, 35, 38,235,
+ 63,156, 24,  5,195, 10,  0,  4,208,104, 15, 96,132,  2,172,135,131,143,130, 81,192,  8,198,140,160, 51,160, 25, 49,192,232,222,
+172,225,  6,  0,  2,104,244, 82,248, 17,170,215,215,118,230,240,246,111,156,159, 46,162,153,195,196,  4, 89,174, 10, 95,209,248,
+ 31,  6, 32, 10, 22,109,186,140,172,247,195,131,253, 28, 28, 28, 16,245,144,  3,180,145,245, 66, 78,205,251,247,239, 31,144,253,
+251,247,111, 94, 89,187, 17,144,174, 24,153, 89,216,255,255,251,243,239,223,159, 45, 71,158, 32, 47, 10,197,165, 23, 24, 68, 47,
+ 95,190,148,144,144, 32,195, 94, 74,244,142,230,125,  6, 82, 86,106,  1,  4,208,144, 31,  2,170,174, 70, 92, 97,215,218,106, 70,
+ 63,189,167, 64,151,234,181,154,181,194, 25,164,186, 28,215, 62, 85, 92,226,164,154, 51,220,250,170,191,190,178,188,189,175,250,
+227,146,244,159,199,183,254, 43, 62,225,213,250,198, 39,207,198,205,139, 75,253,145, 35, 71,108,108,108, 32, 69, 63,164, 16,135,
+ 52, 98,225,133,248, 63, 24,120,248,240, 33,154,222,115,231,206, 25, 27, 27,115,114,114,178,176,176,  0, 53,194,181, 67,202,253,
+191, 48,240,243,231,207,179,103,207, 58,200,218, 13,254,208,  3,186,252,237,219,183,199,143, 31, 23, 16, 16, 64,219, 24, 65,184,
+ 79,192,200,196,206, 33, 36, 32,168,254,245,203,211, 47,159, 31,131,186,  1,140,255, 25,254,227, 27, 17,  2,134,210,154, 53,107,
+110,221,186,  5,100,  3,131,177,184,184,152,120,235, 32,122,239,221,189,  3, 12,115, 54,118,246,130,130, 66,154,238, 66, 24,225,
+  0, 32,128,  6, 81,  5,128,235,164, 73,  6,188,  7,141, 65, 10,110,228,162,156,120, 64,137,222,225,  4, 40,220, 59, 74,135,210,
+235,243,195,235, 31, 15,173,250,246,237,167,130, 57, 19,167, 12,163,234,163, 75,166, 12, 23,223,255,228,185,192, 21,247,134, 81,
+ 26,171,166,107,215,174,  1, 75, 16, 96, 97,199,  2,  3,144,202,  0,210,240,255,243,231, 15,176,  4,  7,182,223,129,165,255,190,
+125,251,152,133, 77,144,245,126,251,246,237,252,249,243, 22, 22, 22,108,108,108,240, 75,211,128,218,129,101,211, 31, 48,  0,106,
+252,254,253, 59, 80,205,151, 47, 95,  6,115,204, 86, 85, 85, 33,103,162,207,159, 63, 27, 24, 24,144,161,119,241,178,179,156,156,
+ 98,192,  2, 25, 84,  1, 48, 50,252,135,236, 22,192, 93, 44, 63,123,246, 12, 24, 50, 81, 81, 81, 74, 74, 74,144,115, 41,132,132,
+132, 76, 76, 76,176, 42, 78,112, 71,217, 25,119,249,198,141,  3,188, 92, 69,253, 77,134, 70, 58,207,159,188,218,181,237,128,130,
+142,225,167, 79, 31, 71, 11,107,178,  1,218,120, 47,242,210,127,128,  0, 98,193, 90, 22, 64, 74,  1, 92,108, 26,149,254, 89, 89,
+216,239, 73,127,255,254,253,242,229,203,241,212,  1,144, 18,156,212, 38, 60,133,122,225,109,127, 50,154,255,104, 55,207,224, 82,
+ 64,163,208,134,244, 24,224, 36, 68,240,221, 59,208,174, 25, 33,161, 61,131, 48,249,254,122,124,141,253,216,226,159,223,254,  5,
+169, 48,171,139,254,249, 39,244,159, 85,136,249,243, 91, 54,206,207,223, 53, 47, 78, 57,171,150,241,141, 75, 30, 91,187,149,241,
+250,245,235,192, 18,220,201,201,  9, 82,142,  3,  1,176, 16,135, 92,125,  3, 44,196,129,237,247,199,143, 31,239,223,191, 31, 88,
+ 19,160,237,124,  3, 42,  3,170,185,120,241, 34,176,254,  0, 54, 96,217,217,217, 33,122, 33, 21,  0, 80, 35,176,116,187,124,249,
+242,143, 31, 63,  8,110,154,123,240,224,  1,208, 22, 96,201, 11,116,131,184,184,184,170,170, 42,100,112,137, 24, 64,137, 94,160,
+ 83,107,106,106,224,135,161,  2, 75,115, 96,141, 40, 38, 38, 38, 44, 44, 76,100,233, 63, 47, 41,201,203,208, 16,200,150,200,205,
+229,228, 18,255,242,233,209,167,143,119,255,255,255, 11, 58, 48,238, 31,129, 59,168,129,197,189,136,136,200,162, 69,139,226,227,
+227, 55,109,218,  4,228, 30, 58,116,232,215,175, 95, 12, 12,114, 88,213,191,109, 47,130,179,121,126,253,150,250,243,163,160,180,
+190,191,167,177,187,103,154, 52,211,223,105, 61,125, 78, 17, 81,184,244,142,  2,146, 74,127,  6,164,163, 64,129,  0, 32,128,176,
+247,  0,144,143, 64,193,197,166, 58,160,255, 25,206, 84, 24,128,130,213,  1, 36,  1,120,157, 58, 63,112, 17,166,108,226,250, 56,
+154, 54,195, 33,134, 35,147,  4,175,237, 30, 64,240,227,195, 27,181,251, 91, 95, 49,255, 85,225,103,144,151,251,207,172,199,198,
+162,164,196,246,243,199,207,163,143,127,126,100, 97,254,199,250, 99,207, 98, 38,175,252,127, 44,232, 99, 65,240,203, 47,  5,  5,
+  5, 29, 29, 29,129, 69, 39,176, 24,  5, 54,228, 33, 13,127, 96,217, 13,108,165, 30, 60,120,144,  9, 12,176,234,  5,170,188,122,
+245,170,141,141, 13, 31, 31, 31, 80, 59, 80,  4, 88,250,  3, 75,177, 79,159, 62,157, 62,125, 26, 88, 13,  0, 77,131,204,  4,224,
+  2,151, 46, 93, 58,118,236,216,253,251,247,129, 90,128,182, 75, 72, 72,  0, 91,193, 86, 86, 86,220,220,132,183,130,147,173, 23,
+232, 36,200,205, 63,200,130,144,115,161,129,173, 40, 98,170, 16, 38,102, 54,100,238,139,201,147, 37,  2,100,186,187, 39,254,254,
+253, 21, 28, 56,140,255,128,165,255,127, 80, 23,224, 63,238,241,183,147, 39, 79, 86, 84, 84,  0,  3, 45, 40, 40, 72, 86, 86, 22,
+ 88,209,110,219,182,205,220,157,208,166, 95, 70,198, 37,119,158,175,189,253,116,211,198,133,204,204,140, 69,185,177,250, 18, 34,
+179, 10,234,103, 19,163,119, 20,224, 40,253,145,155,252,104,245,  1, 64,  0,145,176, 10,136,214,199, 61, 42,225,  6,180,104,194,
+ 83,168,151,129,172,113,127,170,183,229,225,151, 89, 18, 95,136, 99, 85,  9,108,251, 19,217,252,  7, 22,130,192,226, 15,147,139,
+ 44,136,  9,224,106,224,183, 12, 98,114,177,130,119, 87,207, 61,123,250, 73,140,151, 69,137,247, 63,139,200, 63, 22, 75, 15,110,
+253,197,156, 70,189,236,252,156,108, 95,190,127,251,246, 87,142,249,219,251, 75,199,176,148, 98, 76, 76,144,203,238,111,223,190,
+ 13,108,173,  3, 11,113, 97, 48,  0,182, 76,  5,  4,  4, 62,126,252,  8,108,147,  2,139, 39,200, 40, 63,154, 94,136, 56,176,216,
+  5,214,  1,183,110,221,226,226,226,  2,234,  2, 54,159, 69, 69, 69,121,120,120,128, 34,192, 42,  4, 50, 52,132, 89,121, 32,183,
+223,119,239,222,125,247,238, 93, 69, 69, 69,119,119,119, 51, 51,179,111,223,190,237,219,183, 15,216,177,  0, 86, 63,  4,219,254,
+187,247,236,189,247,252, 35,175,138,133,154,123,178,180,153,223,251,159, 76, 64, 17,130,122,129,165, 63,176,194,  0, 86, 30,192,
+ 34, 88, 79, 79, 15, 62,140,  3, 97, 16, 44,253,129, 69, 63, 55,143,148,144,176,206,210, 21,151,146,230,205,219,118,254, 60, 16,
+  1,123,  0, 12,160,233,238,175, 80, 53,140, 64,132,111, 61, 16,176,160,  7,182,250,115,114,114,120,121,121,129, 65,183,118,237,
+ 90,160, 99,222,188,121,163,166,166, 70, 48,117, 77, 60,127,187,231,196,149,217, 61,149, 44,204,223,153,254,126,238,154, 48,111,
+229,161,179,207,152, 88, 72, 61, 97,116, 20, 16,  9,  0,  2,136,133,248,130,126, 48, 79,197,140,216,106,  0, 50,116, 67,210,232,
+ 13,102,247,  2,222, 15, 32,216,243,248,252,249, 51,176, 89, 10,108, 86,155,154,154,162,113, 79,157, 58,  5, 17,196, 10, 32,178,
+ 64, 18,216, 50,  5, 54, 99,129, 69,  3, 68, 16,153,139, 21,240,253,120,187,237,209, 15,233,247,204,134,124,140,162,175, 25, 84,
+ 88,248,153, 24,133,255,255,120,249,245, 37,227,213, 71,255, 94,124,253,  1, 44,131, 25,254,221, 98, 48,114,199, 85,  1,176,179,
+179,  3, 75, 97,105,105,105, 87, 87, 87, 96,201, 14, 44, 34,223,190,125, 11, 44,146,128, 82,192, 34, 30,114,252,209, 63, 12,189,
+ 16,237, 64,  5,192,100, 15,236,248,170,168,168,240,243,243,127,249,242,229,252,249,243,192, 90,  1,104,230, 79, 48,192,211, 42,
+  2, 86,111, 79,158, 60,209,215,215,119,112,112,144,145,145,249,250,245, 43,176,254,  0,118,115,143, 31, 63, 78,112, 48,  7,168,
+247,229,187,143, 66,106, 22, 74,182,225,  2, 50,106, 63,191,126,120,116,114,235,237,189, 11,  9,234,133,204, 94,  0, 59, 55,226,
+226,226,192,  2, 23, 88, 19, 64,138,126,200, 88, 16,144,141,245,134, 28,104,181,199,194, 33, 32,168, 46, 32,164,206,196,196, 10,
+ 44,238,231,206,223,159,148,232,  8,209,155,154,154, 10,116, 60, 68, 47,216,203,224,162,  0,219, 52,  0, 48, 96, 55,111,222,156,
+149,149, 37, 41,  9, 58,224,115,239,222,189,192,202,140, 19, 12,188,189,189,143, 93,251,142,199,215,203,110, 62,238, 61,125, 99,
+ 78, 71,185,140,186,252,215, 47,239, 55,110, 63,125,233,242, 77,129,255,255,216, 94,188,244,206,137, 62,122,245,251,104,121, 77,
+ 42, 64, 59,233,  7,179, 67,  0, 16, 64, 44,152,101,  1,252,144, 91, 92,236, 65,  5,200, 46,184, 41,212, 75,246,248, 15,229,173,
+126, 98,164,240, 20,229,100,175, 26,  2,230,100, 96,113,255,254,253,123,172, 92, 34,  1,176,182,  0,150,191,192, 66, 95, 65, 65,
+  1,147,139,  9, 94,191,121,124,236,249,119,111, 46,174,195,143,255, 73, 25,177, 43,254, 60,251,254, 90,214,250,174, 75,255, 30,
+124,252,242,235,255,211,207,127, 57, 89,152,254,124,124,193,143,173, 29,  3,175,  3,128, 37,230,195,135, 15,111,220,184,161,173,
+173, 13,116,240,137, 19, 39, 32, 35,251,184,  6,241,129,122, 33,157,  0,136, 94, 96, 29,240,248,241, 99, 93, 93, 93, 96,241, 13,
+172, 63,128, 34, 64,113,200,234, 32, 60, 61,128, 71,143, 30,  1,205, 55, 54, 54,  6,150,254, 64,197,192, 46,136,185,185, 57,208,
+106,160, 56,176,230,192, 31, 74, 64, 53,255,152,216,164, 13, 92,128,165, 63, 19, 51, 43, 39,159,168,156,185,247,195, 19,155,240,
+235,  5,186,243,195,135, 15, 79,159, 62,149,147,147,179,182,182,  6, 90, 10, 25,249,137,143,143,135, 40,  0,214, 97,120, 44,229,
+224, 16, 22, 22,213,255,245,243,227,155,183,231,127,254,124,255,251, 55,104,126, 27,162,247,229,139, 23,112,189,160,214, 63,142,
+ 90,239,249,243,231, 75,151, 46,141,142,142,  6,134, 21,  3,248, 58, 26, 96,111,160,178,178, 18, 88, 27,193,148,224, 92,158,120,
+235,211,183,242,131, 23, 58, 74,210,109,125, 92,190,126,121,179,106,221,193,153,115,215,110, 47, 74, 80,122,245,164,243,211, 11,
+ 33, 33, 97, 60,122, 71,  1,145, 99, 65,152, 85,  2, 64,  0,177, 96, 29,138, 33,200, 30,228,128,242, 53,154,196,128, 22,211, 22,
+250,223, 32,134, 92,118,163, 85,  6,212, 56, 12, 18, 39,184,121,243, 38,108, 30, 15, 11,151, 36,  0, 44,130,119,239,222, 13,185,
+196,  3,153,139,181,155,127,241,221,247,143,191,254, 93,124,253,231,217,135, 63,226, 39, 88,244, 86,221,121,248,224,234,205,147,
+191,254,176, 48,255,250,199,240,227,215,255,247,255,255,137, 10,254,199, 90,136,195, 23,128, 66,150,241,188,124,249, 82, 94, 94,
+ 30, 88,111, 65,134,125,128, 36, 98,131, 19, 33,  0,223, 52,  0, 33,  7,231,205,113,192,202,  9,114, 11,138,162,162, 34,114,197,
+118,230,204, 25, 32,  9, 12, 94,200,165,123,184,174,253,  1,134, 22,144,252,254,237,229,151,207,143,255,254,253,129,172,119, 19,
+184,170,  6,118,131, 64,122,255, 99, 31,251,  7,198,227,228,201,147,129,205,124, 27, 27, 27, 32,247,232,209,163, 27, 54,108,200,
+206,206, 70, 42,253,113,130,231,223,126,198,110, 59, 81, 16,230, 29, 18, 27,252,237,199,167,245,155, 14, 76,152,182,108,145,155,
+ 41,176,244, 31, 45,187,169, 94, 19, 32,215,  1,  0,  1, 68,205,157,192,200, 35,209,184,216,195,  9, 12,134, 82,  0, 50,118, 79,
+252,248, 15,158, 57,  3,252,113,  4, 44, 62, 92, 93, 93,  5,  5,  5,177,114, 73,  2, 64, 93, 64,189,240,226, 30,141,139,  6,190,
+255,229,251,205,200,112,230,205,207, 87,127,255,238,189,247, 99,213,234, 31,251,158,136,222, 97,227,127,242,241,247,227,207,255,
+190,254, 97,248,246,231, 63,187,176,  4,174, 34, 27,178,210,255,239,223,191,127,254,252, 17, 22, 22,230,225,225,  1,214,  1,191,
+127,255,134,136,160,109,  7, 67,214, 11, 89,233, 15, 84,243,253,251,119, 32, 87, 86, 86, 22,216,178,150,148,148,  4, 86, 27,192,
+ 54, 56,176,230,131,152,140,103, 92, 20,216, 12,  7,246, 21,206,158, 61,251,228,201, 19,200, 53,156, 39, 79,158,252,242,229, 11,
+ 80, 28,216,249,192, 31, 68, 64, 53, 76,255,126, 61, 61,191,231,195,147, 91,255,254,254,254,254,233,245,163,147, 91,127,125,125,
+143, 95, 47,220, 49,223,190,125,131,207, 78,  3, 59,  1, 87,175, 94,  5,150,227,144, 75,219, 63,126,196,185,158, 18,232,215, 63,
+191,191,112,114, 75,112,112, 10, 65,118,  4, 35,235,157, 61,123, 54, 68,239, 63,212,  0,  3,118,224, 22, 45, 90,  4,108, 61, 52,
+ 53, 53,249,249,249,249,248,248, 64,186,  2,155, 55,111, 46, 45, 45,  5,118,185,240,120, 19,168,119,241,226,197, 17, 89, 57, 78,
+107, 14,150,196,  5,229,149,101,254,248,245,229,254,221,199, 51,103,174,218,224,107,229, 32, 43, 70,124,162,  2, 86, 54,163,133,
+ 59,254,177, 32,120,185,143, 60, 15, 12, 16, 64,212, 63, 10,  2,243,246, 84, 76, 54,149,219,251, 24, 11,249,145,155,252,248,155,
+255,152,122, 79,  1,133,170,171, 49,217,196, 12,  1, 17,175,151, 90,189,  1,248, 98, 30,226,155,255,239,222,185,192,103, 14, 72,
+234, 64, 40, 40, 40,248,250,250,  2,155,129, 88,185, 68,  2,160,122,160, 46,248,128, 15, 26, 23,139,122, 85, 21, 85,110,102, 94,
+ 70,134,223,255,255, 95,127,255,107,233,157,159,203,143, 61, 59,125,247,221,179,239, 12,111,127,252,189,251,229,255,243,159,255,
+101,149, 85,176,150,134,144, 85,155,192,194, 26, 88,136,  3,203,110, 29, 29, 29,112,149, 41,100,102,102,  6, 41,196, 33,229, 56,
+102, 33, 14, 41,220,129,245,  4, 80,  1,176,154, 87, 86, 86,254,240,225,195,227,199,143,223,189,123,  7,116, 42,176, 87,  1, 20,
+  7,154,  0, 81,134,203,229,166,166,166, 50, 50, 50,192,  2,116,199,142, 29, 91,192,224,240,225,195,192,134,185,165,165, 37,158,
+ 57, 15,184, 94,113, 33,254,183,247, 46,220,220, 61,255,234,214,233,215,183,206,124,120,124,  3, 59,211, 63,252,122,129,149, 19,
+176,185,205,199,199,119,241,226, 69, 96,173,131, 92, 13, 64,218,242, 75,151, 46,197, 83, 34,255,250,249,241,227,135, 59,172,172,
+220,  2, 66, 26,220, 60,210, 64,  6,164, 79,  0,  4,207, 78, 78,221,191, 40,207, 85,227, 11,184,  2, 96,128,110,  3,  3,  7,219,
+214,173, 91, 57, 57, 57,129,198,  2, 67,198,194,194,  2,222, 21,136,137,137,  1,118, 68,240,123,115,219,182,173,124,124, 60,118,
+246,230,  6, 70,122,129, 89, 73,223, 24,255,188,126,245, 46, 35,183,185,211, 68,197, 72,140,132,182,  5,176,244,239,234,234, 26,
+173,  3,136,169,  6,208, 68,  0,  2,136, 78, 27,193,  6,164,177, 76,222, 24,189, 89,107, 43,114,217, 13,228, 82, 93, 47,188,173,
+157,184, 62, 14,143,  2, 90,239,201,130,219,130,188, 51,  0,191, 22, 96,233,227,236,236, 12, 44, 67, 49,185,192, 82, 21, 95,200,
+128,101,129,164,161,161, 33,176,156,130, 11, 34,115,177,  2,105, 53, 45,221,171,103,229,223,127,124,243,247,223,167, 31,127,216,
+129,165,245,207, 63,114, 60, 44,239,255,252,121,250, 21,180,130,200, 91, 85,156, 91, 65,235, 11,182,241, 16,248,138, 79, 93, 93,
+ 93,125,125,125, 96,193,  4, 89,184,  9,116, 54,176,168, 90,191,126, 61,100, 67,  0, 80,132, 17, 67, 47,100,183, 23, 48,221,170,
+169,169,  1,235,143,215,175, 95, 67,150,144,  2, 77,  3,138,188,122,245, 10,162, 23, 40,130,167,190,  4,246,108, 32, 75, 57,129,
+ 37, 50,124, 41, 39,208, 37,  4, 87,227,128,244,186, 56,131,244,222, 61,249,236,252,110,168, 94,107, 39,130,122,129,165,191,145,
+145,209,209,163, 71,129,122,165,165,165,129,230,112,115,115, 87, 85, 85, 77,154, 52,  9,216,245,  1,218,222,215,215,135,235,142,
+120, 96,149,247,241,253, 29, 96,177,206, 47,164, 38, 33,101,249,253,251,155, 47,159, 30,118,247, 76,106,108,168,146,146, 97, 88,
+158,207,197, 24,246,222, 49,142,  1, 82, 99,194, 55,  2,223,186,117, 11,152,  6,108,108,108,128,230,  3,171, 28,160,220,148, 41,
+ 83,194,195,195, 33,213, 45,126,112,243,230,173,144, 96,255,136,  8, 63, 29, 93,245,183,159, 63,126,249,248, 38, 45,175,185, 57,
+208,217,249,223, 55,146, 74,255,  9, 19, 38,  0, 35,  5, 88,235,228,230,230,  6,  4,  4,140, 22,244,200,  3, 62, 88,203,125, 56,
+  0,  8, 32, 22,250, 20,244,  4, 87, 16,133,132,132,144,183, 19, 24, 23, 64,222,168, 69, 94, 29, 64,106,233, 79,188, 94,252,171,
+110,104,125,180,  3,124,188,  8,110, 11,242,158,  0,130,  0, 88, 14, 34,175,246,129,115,241, 44,  1,130,203,162,169,193,175,  5,
+  2,164, 20,149,127,152,217,254, 57,181,237,193, 71,  6, 30, 70, 86,121, 30,166,167,127, 25,153,217, 89, 14,189,250,251,227, 31,
+131, 40, 59,179,178,137,221, 23, 65,  5,108,197, 25,168,  9, 15,108,113,  3,219,161,192, 50,241,211,167, 79,192,178, 27, 82,  1,
+  0,219,239,192, 74, 11, 88,102,109,222,188, 25, 50, 28,132,150, 13,128, 34,144,109,195,154,154,154,144,209, 27,160, 94, 72,218,
+134,244, 27,128,226,192,222,192,151, 47, 95,240, 39,108, 61, 61, 61, 96,137, 76,222,102, 46,242,244,  2,157, 45, 37, 37,229,238,
+238, 14,172,117,110,220,184,241,232,209, 35, 96,109, 39, 32, 32,  0,172,138,230,204,153,131,107, 47, 46,210, 40,208,183, 15,239,
+111,254,248,241, 78, 64, 80,141,135, 87,150,151, 79,238,235,231,167, 29,157,115, 35, 35, 92,128, 21,  0, 44, 96,255, 35,215,  0,
+ 94, 94, 94,219,182,109,  3,118, 56,128,  1,226,231,231,183,112,225, 66, 96,189,174,161,161, 65,140, 31,189,189,189,214,175,223,
+252,233,195,219, 39,207,158,231,103,199,149, 86,180,  5, 58, 89,217,252,252,196,192, 74,108,185,  4, 44,253, 27, 26, 26, 32,221,
+ 80, 96, 71, 13,216, 15, 40, 43, 43, 27,173,  3,240,215,  7,200,  0, 32,128,168, 89,  1, 80,184,130,136,140, 82, 30,  2,222,188,
+153, 91,125,106, 35,214,  1, 31,130,211,191, 64,189,167,170, 55,162, 53,216,145,135,113,240,148,227,111,230,190, 57,181,177,154,
+ 60,189,  3,  5,134,226,169, 65, 10, 86,142,151,126,254,121,189,111, 47,235,159,239,151, 62,255,223,243,249, 15, 27, 35,163,240,
+255,255,142,146,  2,246,110,206, 66,198, 14, 56,218,179,160, 30,  0,176,  9, 12, 44,143,128, 77,120, 96, 65, 15, 44, 70, 33,133,
+ 56,164,241, 46, 42, 42,106,109,109,189,115,231, 78,204, 97, 28,160,  8,176,170,  0, 54,183,129,234,129,173, 90, 72, 55,130,  1,
+ 54,175,  0,228,  2, 21,  0,123, 21, 39, 78,156, 32, 56, 13,174,  0,  6,100,122,156, 44,189,192, 58,  0, 88,226,  3,157,  7,236,
+  1,  0, 59, 61,192,190, 11, 80,240,233,211,167,158,158,158,192,230, 63, 65,237,127,255,254,252,250,229,233,175, 95, 31, 57, 63,
+ 61,224, 19, 80,230,226,145,  2,162, 93,123, 95, 50, 58,139,195, 26,115, 96, 18,166,222,202,202, 10, 24,176,192,210, 31, 88, 19,
+  8, 11, 11,199,197,197, 29, 56,112,128, 72,167, 90, 90, 90,177,179,179,243, 93, 59,155,157,157, 44,163,166,218, 85,144,188, 96,
+218,194, 41,204, 63,136, 47,253,203,203,203,129,158,125,246,236, 25, 39, 39, 39, 48, 82,128,221,157,214,214,214,234,234,234,209,
+ 58,  0, 62,230,  3, 44,244,241, 28,  5,  1, 16, 64, 84,238,  1, 12,200, 10, 34,172,133, 26,145,205,127, 76,189,200,237,119,200,
+120, 14,174,114,156, 18,189,120,202, 98, 82,203,232, 97,127, 18, 28,176, 68, 51,112,118, 23,150,146,121,125,253, 10,243,195,123,
+ 42,191,159,243, 10,139, 91,233,106,104, 27,235,124,151,192,185, 63,  8, 88, 82,  3,219,254,192,102, 62,100,176, 30,216, 21,  0,
+ 50, 32,199, 57,192, 71,135,100,101,101,129,117,  0,102,129,  5, 44, 77, 12, 12, 12,128,117,  0,176,124,135,168,132, 47,170,129,
+159,  4,  7, 52,202,208,208,240,236,217,179,131, 51,208,128,142, 23,  3,  3,117,117,117,160,127,129,213, 24,208,251,192,208,168,
+ 38,106, 94,234,255,239, 95,159,127,255,250,242,253,251,107,118,118, 65, 86, 54, 94, 38, 38,150, 37, 75,183,198, 68,123, 67,107,
+ 65, 84,213,144,142, 69,111,111, 47,176,162,  5, 50,212,212,212,136,191, 86,218,200,200,152,217,212, 52,169,  1,162,247,191,154,
+154,186, 90, 64,  0,254, 81, 65,100,208,217,217, 57, 90,202, 19, 83,  7, 96, 45,253,129,  0, 32,128,134,237,133, 48,100, 47,253,
+ 68, 46,178, 73,109,194, 83,162,119, 20,224,  7,178,154,218, 64,  4,100,192,207,222,196,191, 47, 40, 52, 52, 84, 80, 80, 16,178,
+212,  7, 88,  2, 66,134,116, 32, 61,  0,200,196, 47,228, 64, 80,101,101,101,160,224,145, 43, 95,145,245, 78,152, 48, 97,245,234,
+213, 16,  5,160,147,130,112, 28,  7, 13,108,249, 18, 28, 84, 25, 36, 53, 40, 15, 24,144,216, 92,128, 84,  3,159,129,165, 63,208,
+ 12, 96,176, 65,244,226, 26,243,130, 28,249,  9,  9,106,146,156,  7, 12,230,194,194, 66, 50,244,142, 54,243,137,175,  3,112, 73,
+  1,  4,208,232,165,240,163, 96, 20,140,  2,140,114,129,129,  1,253,176,135,255,163, 55,130, 13, 67,  0, 16, 64,163, 87, 66,142,
+130, 81, 48, 10, 48, 26,255, 12,163, 55, 64,142,  8,  0, 16, 64,163, 87, 66,142,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,122, 41,252,168,222,
+ 81,189,132,245,166,167,167,251,  7,164,111,220,128,229,200,141,209,176, 26,112,189,173,176, 21,119,184, 22,185,142, 94, 10,143,
+ 11,  0,  4, 16, 11, 90, 42,199, 84, 65,228,186,177, 65,165,151, 72,237,  3,229,230,193,  3,200, 62,115,130,186,  7,145,226,  1,
+144, 43,  7, 14, 30, 60,  8,100,219,219,219,227,191, 60,128,118,161,  4, 44,253,189, 60,141, 32,199,232, 13,251,141, 23, 67, 11,
+  0, 75,127, 95, 95,101, 56,187,186,186,122, 52, 76,136,  7,  0,  1,132,190, 10,232,255, 42,148, 51,152, 24,195, 72, 56,237, 29,
+ 45, 99,144,116,  2, 40, 37,122,209,220, 76,146,179,  7,202,205, 16,240,238,245,157,215,175,159,191,124,243,229,227,199,223,252,
+252,172,226, 34, 60,162,162,146, 66,162, 68, 29,175,118,238,248,180,123,119,111,221,125,240,227,241,243,255,178,146,140,202, 10,
+ 28, 74,202,106, 70,150, 89,244,175, 54, 32,103,139,210,168, 88,188,124,249,178,129,193,142, 25, 51,190, 29, 56,192, 80, 95,191,
+235,241,227,199, 18, 18, 18, 28, 28, 28,162,162,162, 74, 74, 74,100, 84,  6,135, 15, 31, 22, 23, 23,151,151,151, 39,120, 36, 39,
+ 50,  0,150,254,105,105,105, 12, 12,179, 54,142, 30, 56, 54,248,192,175, 95,229, 59,119,166,185,187,207,242,245,237,132,244,  6,
+ 70,171,  1,100,128,103, 35, 24, 64,  0, 13,147,101,160,240, 18,159,145,145,225,223, 74,193,193,239,224,223,191,190, 62,126,116,
+249,215,175,223, 42,138,  2, 14, 54,114,  2,252,236,239, 63,252,120,250,252,203,237,123,207, 63,124,124, 35, 43,167,203,202,134,
+243,234,215,247,111,110, 29, 59, 56,155,153,225, 83,184, 55,131,181, 49,131,178, 60,195,157,  7,255,143,156,249,190,109,255,197,
+173,107, 75,173,236, 83,  5, 69,212,136,116,  6,217,109,127,100,141,144,131,228,104, 84,  7,188,123,247, 46, 47,239,155,168, 40,
+ 67,104, 40, 67, 71,  7,232, 66,174, 63,127,254,  0, 43,  0, 49, 49, 49, 96,  5,  0,236, 19, 72, 73, 73, 17, 52,228,197,139, 23,
+175, 94,189,122,249,242,165,171,171,235,146, 37, 75, 24,192,123,125,163,162,162,240, 31, 96,135, 12,182,109, 63,  7, 44,253,193,
+228, 40, 24, 92,205,127, 32, 25, 28,188,118,231, 78, 16,153,150,118, 23,210, 27, 24,237, 10, 96, 22,253,112, 17,228, 58,  0, 32,
+128,134, 73,  5,  0,236,  4, 64,234,128, 33, 81,250,  3,193,147, 71,151,197, 69, 56, 76, 13, 21,193,247, 43, 49,254,251,247,159,
+143,135,157, 91,153, 77, 65,150,255,218,205, 55, 64, 89, 69, 21, 11, 92,122,129,165,191,173,241,167,130, 68,  6,102,102, 80,133,
+247,251, 15,  3, 55, 23,131,166, 10,131,133,  1,195,150,253,159,128,178,222,193,221, 52, 29,  2,194,122,169, 36,141,174,124, 16,
+ 18, 18,218,178,133, 83, 86,246, 59,176,  7,240,254, 61,139, 10, 24,124,249,242,229,222,189,123,  7, 14, 28,248,244,233, 19,176,
+ 28,199,223, 15,184,126,253,250,185,115,231, 88, 89, 89,145,  5,191,127,255, 62,119,238, 92,160, 33, 17, 17, 17,196, 56, 99,227,
+  6,160,151,211,193, 36,  9,  0,126, 79, 50,228,216, 59, 52, 46,158, 24, 97, 64, 58, 49, 16, 15, 23,103,123,232,255,127,145,183,
+111,149, 30, 60, 16,126,250,244,137,152,216, 35, 37,165,143, 98, 98,255,137, 62,145, 23,232, 78, 98,206,233,195,163,  5, 63,151,
+ 90,122,225,131, 63,105,105, 59,129, 12,  8,  9,145,  2, 50, 70,235,  0,172,173,126,200,209, 64,112, 17,128,  0, 26, 86,171,128,
+ 24,135,136, 59,223,189,190,243,251,247,111, 51, 35, 73,184,  8, 19, 19, 35, 27, 27, 51, 39,  7, 11, 43, 43,147,178,162, 32,176,
+103,  0, 84,131,107,228,  7,216,246, 47, 76, 98,248,241,147,225,254, 99,134,247, 31, 25, 62,124, 98, 88,182,137, 33,183,129,161,
+170,135,193,202,136,129,233,255, 39,160,154, 97, 19,167,186,186,186, 27, 55,106,138,137, 49, 68, 69,177, 72, 72,152,  2,203,107,
+ 95, 95, 95, 31, 31, 31,119,119,119,113,113,113, 96,201,190,114,229,202,187,119,239,226,186, 40,241,210,165, 75, 23, 46, 92, 64,
+ 43,253,225, 96,255,254,253, 87,175, 94,197, 83, 22, 31, 58,116,  8, 94,218, 66, 74,127,  8, 27, 40, 78, 76,133,119, 10,  6,176,
+114,137,172, 95,241,115,177,150,254, 74, 55,110,216,238,217, 35,123,235, 14,219,167, 79,146,183,110,232,108,217, 44,122,241, 34,
+  3,209,119,122,  3, 93,  8, 44,118,129,125, 38,226,163,  9,162,  5, 15, 23,191, 94,228,226, 30, 15, 23, 23,128,148,251, 16,242,
+151,175, 10,195, 40, 64, 42,250,241,159,245,  0, 16, 64,131,165,  7, 64,149,246,227,127,106,216, 75,222, 80,  6,252,166, 45, 98,
+198, 88, 94,191,121,174,174, 44,  4, 41,247,209,164, 56,216, 89, 62,124,252,169,166, 44,116,235,222,115,172,147,  1,247,238,222,
+ 10,  7, 29,201,197,176,227, 16,195,212,197, 12,110,182, 12, 94, 14, 12, 55,238, 48,156,191,250,159,147,131,209, 80,155,193,221,
+158, 97,221,206, 91, 70,150,180, 26,  2,194, 26, 68,180,187,241, 13,216,186,  7,182,247,129, 12, 96, 75,223,218,218, 26, 46, 40,
+ 40, 40,168,169,201,226,231,  7,236,  3,157,185,117,235, 27,  3,  3, 48, 80,216, 49, 71,126, 46, 95,190,140,171,244,135,215,  1,
+184,238, 72,137,142,142, 94, 10,  6, 64,  6,220,191,192,162, 31, 40,  2,145,165, 79, 94,192,207,197,  4,124, 47, 95, 42,158, 60,
+249,139,137,137,149,145,225,207,191,255,255,126,255,253,247,231,143,232,225, 67, 31, 69, 68,126,202, 16,187,146,  4, 88,236, 94,
+185,114,197,208,208,208,192,192,128,120, 45,200,157, 27, 52, 46,145,221,  8, 82, 75,127,204,226,126, 39, 82, 63, 96, 20, 16,  4,
+  0,  1,132, 94,  1, 96, 78,159, 18, 89,168,225, 42, 76,137,209, 75,139,177, 99, 34,151,169, 96,157, 64, 38, 82, 47,154, 50,226,
+231,162, 95,190,254,226,104, 45,  7,108,144, 29, 62,254,248,219,247,223, 64, 17, 35,125,  9, 81, 97,206,199, 79, 63,223,185,255,
+158,133,133, 73, 85, 73,240,232,201,175,234,154, 88,244,222,125,240,195,218,152,225,231,111,134,237,  7, 25,246, 31,255, 47, 37,
+206,168, 36,199,224,108,195,160,161,204,200,194, 12, 58, 71,221,194,128,161,123,230, 15,252,  3, 62,  4, 25,120, 90, 13,240, 17,
+127,180,113,  9,218,173,141,121,244,232, 17,  3,248,124,124,100,193,  7, 15, 30,104,105,189,170,170,  2,  5,124, 91,219,173,  7,
+ 15,180, 25,216,208, 79,  6,  5,170,193, 95,250, 67,212,224,146,178,  3,  3, 72,137, 15, 41,244,225, 21,  3,252, 66, 99,170,  3,
+ 10,155,255, 64, 32,112,253,198,175,223,191,153,152,152,254, 51, 51,131, 46, 69,128, 28,104,247,247, 31,251,165, 75,196, 87,  0,
+ 12,224,123, 37,143, 30, 61, 10,236,170, 74, 75, 75, 19, 51,209, 66, 97, 29, 64, 94,219, 31, 88,220,187,207,114, 15, 94,203,144,
+182, 19,196,  0,114, 33,181,  2,219,230, 59,163,133, 59, 26,192,122, 47, 60, 64,  0, 17, 94,  5, 68,252,186, 32,204, 86, 33,145,
+237, 68,172,245,  4,241, 21, 15, 86,151,227,185, 60, 29, 87, 49, 13,159, 64, 38, 82, 47, 86,101, 16,211,128, 13,251,127,171,112,
+206, 70,128,215,252,128,154,171,143,159,125,250,254, 29,116,173,149,138,146, 32,176,  2,184,120,245,213,205,219,239, 56, 56,152,
+149, 21,  5,222,127,196,126,208,252,227,231,255,149,229, 65,230,123,216, 49, 24,104, 49,178,179, 49,252,249,  3,234,  7,  8,240,
+ 50,220,123,196,224,110,199, 32, 47,  3, 82, 67,211,148,  4, 47,247,137, 28,146, 30, 40,128,117, 16,131, 84,167, 66,202,122,120,
+  5, 64,211,210, 31, 14,112, 93,221,142,231, 74,119, 56, 96,189,123,231,231,239, 95,140,204, 44,127,255,255,  7,166,147, 63,127,
+255,253,  6,118,  4,254,254,101,188,125,147,129,193,139, 84,151,  0,251,  1,192,142, 20, 55, 55, 55, 63, 63, 63,241,117,  0,145,
+131, 63, 20,150,254,213,213,213,173,173,173,192,210, 31, 94, 25,  0, 73, 96, 53,  0, 44,253, 55,111,190, 11,153,  0,128,204, 18,
+235,217,197,143,150,254,152,165, 63, 16,  0,  4,208, 96, 25,  2,194, 90,152, 18, 89, 16,147,180, 86, 21,187,  9, 84, 90, 59,  4,
+116,  9, 49, 70,241,243,179,190,255,240, 67, 68,136, 43,212, 79,  3,152, 63,217,217,153,153,129,237,181,255,255,125,220,148,189,
+ 93,149,129, 38,188,125,255, 29,168,  6,171, 94, 89, 73,198,187, 15,255,107, 40, 51, 56, 89,130,134,188,110,220, 97,208,211, 96,
+ 16,228, 99,240,116, 96,248,247,143,  1,216,  9,184,117, 31,164,  6,127, 32, 19,100, 16,191,145,132,146,113, 51, 98,  0,176,253,
+ 10,108,129,222,189,123, 23,216, 18,183,181,181,229,225,225,129,156, 24,172,160,160,112,234,148, 88, 99,227, 83, 70, 70,198, 87,
+175,212,212,212, 20,174, 61,195,162, 23, 77,100,213,170, 85, 40,141,134,255,255,195,195,195,137,175,  3,232, 86,250,147, 81, 55,
+192,193, 59, 25,105,182, 27, 55,255,179, 50,176,253,  3,205,251,254,254,251,231,215,255,191,223,254,252,249,174,162, 65,134, 99,
+116,116,116,128,225, 79,100,233,207,  0,190,230, 19,216,228,135, 23,223,104, 92, 92,  0,210, 75,128, 43, 67,227, 18,  4,192,230,
+ 63,164,232,  7,146,200,109,127,200, 44, 49,176, 50, 24, 45,253,177,150,254, 64,  0, 16, 64,195, 97, 21, 16,193,158,  7, 65,240,
+255, 63,  3, 83,248,123,202,235,  0,200, 98, 36,166,176,247,120,154,255, 64, 32, 46,194,243,248,233,103, 96,  5,208, 55,253,180,
+157,149,172,145,158, 56, 35, 43, 35,100, 57, 16,100,165,  6, 80, 22,168,  6,171, 94,101,  5,142,163,103,191,  3, 43,  0, 17, 99,
+134,138, 76,134,252,  4,  6,126, 94,208,200, 79,227, 36,134,134,124,144,130,163,103, 65,106, 72, 26, 40,163,124, 49, 40,237,150,
+129,190,121,243,  6,114, 15,226,214,173, 91, 31, 61,122,228,225,225,161,168,168,248,249,243,231,247,239,223, 95,191,254,231,192,
+  1, 96, 97, 97,226,232,232, 40, 35, 35,115,237,217,107, 52,189,192,118, 43,254, 27,187,254,252,249, 51,216, 18, 51,188,244,199,
+ 83, 13,224,175,  3, 62,105,105,179, 95,186,244,239,255,127,110, 38, 22,102,102,198, 63,192,210,255,247,239,207,191,126,253,214,
+215, 39,201, 37, 92, 92, 92, 36,205,  1,192,139,123, 92, 92, 90,212,  1,192,102,126, 26,184,141,143, 92,250,195,155,255,163,  0,
+127,233, 15,  4,  0,  1, 52,122, 28, 52,172,181, 72,165,245,163,208, 58,  0,111,117, 34, 42, 42,121,231,254, 51,125,109,177,138,
+124,139,  5,203, 47,115,114,176, 24,232,136,193,175, 83,254,247,239,255,157,251,239,197,197,176,143,186, 42, 41,171,109,221,119,
+ 49, 33,152,225,255, 61,  6,139, 32,  6, 37, 89,134,165, 27, 97,114,249, 12,127,255, 50,108,221,  7, 82, 67,187,128,194,218, 63,
+163,221, 50,208, 27, 55,110,104,106,222,159, 63, 31,200,252,219,212,116,105,221,186,111,234,234,234,192, 10,224,222,189,123, 47,
+ 95,190, 52, 50, 50,  2, 54,225,113, 45,  3, 85, 82, 82, 58,125,250, 52,158, 59, 70,136,188,158, 23, 62,  4,  4, 36,105,221,  3,
+  0,150,236,144,162, 31,215, 16, 16, 46, 41, 68,173, 38, 35,243,214,214,238,239,254,  3,191,216, 88,121,254,179,252,248,247,239,
+227,175, 95,159,157,156,255,203,201, 17,221, 33,102,  4,150,191,196, 15,253,195,181,192,139,123, 52, 46, 73,117,  0,174,181,179,
+120,  0, 90,233, 15, 31,249, 25,157, 13,198, 95,250,  3,  1, 64,  0,141, 86,  0,212,  4,208,  9,  0, 66,163, 64, 66,162, 42, 31,
+ 62,190, 57,121,246,153,185,177,148,167,139,210,142,189,247,182,238,  2,165,218,154, 98, 43, 96,233, 15, 20,103,103,103,195,181,
+ 31,216,200, 50,107,235,218,210,254,121,160,149,160, 51, 90, 64,171, 63, 93,172, 65, 43, 65,251,107, 65,165,127,255, 60,134,191,
+ 12,124,196,239,  7, 38,181,205,142,171,199, 64,187, 85, 64, 95,191,126, 53, 52,252,  1, 41, 73, 76, 76,254,239,216,113,239,214,
+173, 91,144,141, 96, 14, 14, 14,246,246,246,120, 54,  1, 40, 43, 43, 95,190,124, 25, 87, 39,  0,216,252, 55, 54, 54, 38,198, 13,
+144,197,160,144, 69, 65, 64, 54,241,117,  0,218, 70, 51, 34,247,157,193,235,  0, 92,178,  4,244, 51, 49,253, 50, 55,127, 35, 37,
+245,229,210, 37,158, 71,143,126, 40, 42,126,213,214,254, 43, 43,203, 64,244,101, 91,228,149,221,200, 90,208,184,248, 61,142, 44,
+139,102, 47,169,206,128,  0,228,114, 31,210, 27, 32,117, 72,115,152,  1, 60,107, 58,  0,  2,104,180,  2,192,178,122,135, 14, 70,
+201,202,233, 62,126,116,121,237,150,155, 42,138,130,222,110,202,130,  2, 28,239, 63,252, 56,127,249, 37,176,237, 15, 44,253,129,
+178,120,244, 90,217,167, 30, 62, 56,251,216,217, 79,222, 78, 12,179,219, 65, 59,129,239, 62,100,152,187, 10,212,246,  7,150,254,
+ 64, 89,202, 11,116, 50, 74,127, 26,205,  1, 72, 72, 72, 60,120, 32,114,230, 12,104,120,231,214, 45, 62, 83, 83, 45, 97, 97, 97,
+248, 78, 96,130, 71, 65, 88, 88, 88, 28, 60,120,144, 17, 99, 15, 20,176,244, 87, 81, 81,  1,214, 16,196,148,254,200,163,255,144,
+174,  0,145,117,  0,217,197, 25,174, 82,158,112,233, 15,171,  3,254,201,203,127,  3, 34,178,194,156,140, 98, 23,191, 79,241, 27,
+ 72,137, 94,252,165, 63,104,145,232,136,159,  0, 96,192,182, 31, 24, 94, 37,  0,  4, 16,225,101,160,196, 79,177, 18,179, 12,148,
+120,189,196,107,167,196, 94,172,190, 35,207, 94,146,230,162, 89,217,184,149, 84, 44,222,189,190,115,239,193,243,227,103,158,192,
+207,  2, 18, 23,147, 34,120, 22,144,160,136,154,119,112,247,185,227,211, 86,110,189,213, 54,149,174,103,  1,209,185,244,  7,  2,
+117,117,245,139, 23,189, 18, 19,207,128,123,  0, 38, 97, 97,250, 92, 92, 92, 36,213, 31,225,225,225, 55,111,222, 60,115,230, 12,
+ 51,104,174,157,  9, 88,244,179,177,177,  1,219,254, 64,147, 73, 45,253,201,168,  3, 70,  1,173,  1,104, 45, 80, 90,171,251, 44,
+119,172,123,  2, 70, 39,  3,240,  3,128,  0, 98,161,100, 64,128,166,122,137, 52,112, 80,185,153, 84,  0, 44,235,129, 72,157, 44,
+189,192,178,158,200,221, 94,212,242,  5,221,246,112, 32,  3, 96,113,111,  9,  6, 20,214, 34,196, 20,247,152,  0,179,172,  7,178,
+ 33,219,  2, 70, 43,128, 65, 85,  7, 48, 60,196, 34,110, 82,109, 50,194, 67,134,224,149,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, 52, 90,  1,140,130, 81, 48, 10, 70,193,  8,  5,  0,  1,
+ 52,122, 41, 60,117,244,226, 57, 22,141,166,122,239,129,193,234,213,171,201,208,123,255,254,253,187,119,239,146,167,119, 52,109,
+140,234, 29,213, 59, 84,244,226,  1,  0,  1,132,115, 35, 24,145,167, 96, 82, 93, 47,213, 65, 90,232, 71,  6, 54,182, 89, 75, 57,
+241,168,  1,150,161,120,246, 94,226,119, 51, 92,111,111,111,111,113,113, 49, 73,183,165,195,245, 94,153,202,167,147,253,137,140,
+155,214,245,132,167,252,127,243, 23,200,152, 53,107, 22,248,210, 90, 18,128,153,250,138, 63,159, 62,113,114,114,  2,235,128,208,
+208, 80,218, 69,  1,145,251, 42,176,250,119,160,244,226, 50,141, 62,  9,152,145,145,145,  9, 12, 32, 91,216,126,253,250,197, 12,
+ 62,219,249,255,255,255, 12,163, 96, 20, 80, 15,  0,  4, 16, 11,174,180,142, 53,169, 49, 18,186, 85, 14,146, 73,200,211, 75, 76,
+139,152,108,176,123,247,110,  6, 14, 77, 60,165,112,121,121,185,152,152, 24,154, 20,176, 64,199,111, 44, 68, 47,164,232, 63,113,
+226,  4,164, 26, 32, 73,239,191,107,117, 76, 90, 77,139,246,129,142, 43,  0,178, 33, 82, 64, 17,130, 62,226,251, 84,244,239, 63,
+195,138, 29, 32,141,158,246,172,218, 42, 87,129,117,  0,168,194, 35,162, 26, 16,150, 59,245,250,246,139,195,215,228,191,254,228,
+246,116,255, 32, 45,193,120,230,204,177, 79,159,126, 56, 57, 57,209, 40,157,209,180,209,128, 71, 47,193, 18,147,248,100, 73, 42,
+  0,198,111, 87, 87, 87,105,105, 41, 49,251,141,145,  1,176,172,103,  1,  3,200,206, 53, 96, 34,  1, 26,242,247,239,223, 63, 96,
+  0,100,208,200,193, 91,183,110,197, 31, 56, 94, 94,132, 79,147,222,182,109, 27, 73,234, 71,  1,221,  0,100, 63, 48,218,186,127,
+128,  0, 98, 33,169,244, 55, 54, 54, 62,123,246, 44,193, 76,136, 53, 83,225,209,139,102, 14,176, 44,134, 12,107,144,125,192,100,
+154,239, 44,  6, 78,181, 89,171, 28, 64, 77,227,213,252,160,210,159, 80,  9,142,121,118, 60,176,  4,199,127, 42, 11, 92, 47,144,
+ 13,108, 65, 91,128,  1, 73,122, 33, 37, 62,132,236,128,237,214,  6,150,254,101,193, 28, 93,107,127,224,241, 32,255,247, 98, 29,
+ 53,230,175,223,255, 23,197,114,156,184,250,231,251,215,255,223,126, 49, 56, 26, 92,189,122,235, 47,193,174,192,189,199,253,231,
+ 78,115,243,242, 49, 74, 72,138,139,138,171, 60,188,251, 75, 65,235, 55, 43,199,171, 61,235,223,172, 95,191, 62, 48, 48,112, 52,
+171, 80,  5,  0,227,215,215,215, 23, 88,  7,160,165, 97, 35, 35,163,198,198, 70,160, 20,246, 22, 25, 11, 11, 27, 12, 60,126,252,
+ 88, 85, 85, 21, 88, 13,240,242,242,222,185,115,135,135,135,231,244,233,211,199,143, 31,207,206,206,198,153,242,193, 81, 15,207,
+191,240,156,  8, 17,  1,114, 33,173,  4,172, 96,211,166, 77,152, 90,224, 34, 64, 46, 49,  5,250,198,141, 27, 73, 82, 79, 21,240,
+226,197, 11,  9,  9,137,209, 36,135,167,220,199,  5,  0,  2,136,133,164,210, 31,191, 77,120, 14, 42,193,127,196, 57, 90,233,223,
+209,209, 81, 81, 81,  1, 23, 33,190, 14, 72, 51,158,197, 32,172, 54,107,151,  3,188,213,239,234,234, 10,100, 64, 72,204,113, 49,
+228, 18, 28,107,233,143,217, 39,192,244, 20,188,165, 15,172,177,144,131,130, 24,189, 88, 91,250,192,210, 31,191, 55, 69,190, 23,
+169,202, 51,115,178, 51,202, 75, 49,191,121,255,239,247, 31,230,183, 31,254,127,252,242,255,206,147,127, 12, 76, 12, 34, 92,151,
+128,254, 82, 82, 82,194,170,247,223,255,213,154,202, 74,199, 95,188, 84,148, 19,213,209, 83, 98,102, 23,146, 87,124,255,254,251,
+143, 87, 47,254, 62,121,249,131,139,  5,168, 85, 31,151, 94,218,141,  8, 17, 31,197,228,233,197,108,145,208,122, 44,  5, 24,142,
+ 64, 75,181,180,180, 54,111,222,140, 28, 29,192, 76,132,167,244,  7,  2, 86, 86, 86, 14, 14,142, 55,111,222,168,169,169, 25, 26,
+ 26,  2,235,131, 73,147, 38,  1, 91,253,186,186,186,235,214,173,  3, 86,  0,151, 46, 93,  2, 86,  9,184,250,  1,254,254,254, 16,
+255,226,202,197,120, 10,101, 96,217, 13,  9, 25,172, 13, 56,160,248,203,151, 47,137,169,  0, 72, 82, 15, 41,190,247,239,223,143,
+ 85,202,209,209,145,152,146, 29,168, 93, 74, 74, 74, 93, 93,125,180, 26, 32, 21,  0,  4, 16, 11,102,238,194,213,126,167,143,131,
+128,185,  5, 88,250, 19, 89, 97,224, 28,237, 97, 72,  3,146,171,103,153, 49,176,125,199, 51,250,143, 86,130,163, 85,102,248, 75,
+112,  8,128, 87, 30, 39, 78,156, 64,110,254, 19,163,119, 89, 41, 15,102, 46,141,238,249,138, 95,215,191,127,255,216,185, 24,153,
+152, 24,184, 56, 25, 62,124,250,247,243,255,127,110, 78,198, 31,255, 24,190,255,252, 47, 35,202,244,239, 15,195,237,199,127,247,
+236,217,131,181, 19,240,233,227,  9,  1,  1,110, 54,182,255,169,  9,230,127,255,254,127,241,234,215,163,167, 31, 24, 88, 31,115,
+ 10,254,124,254,234,  1, 19,219,199,107,215, 62, 60,125,185,135,212,185,  4, 10, 71,132,144,111, 22, 35,  6, 32,159,184,135,121,
+127, 39, 46,240,238,157, 11,156, 45, 36,180,  7, 87, 17, 73,176,190, 65, 22,193, 83,247,  0,147,150,143,143, 15,164,220,191,122,
+245, 42,132,  1,105,251,  3,197,241,216,200,206,206,254,245,235, 87, 77, 77, 77, 96,217,  7, 76, 72,201,201,201, 64,193,223,191,
+127, 47, 88,176,  0,216,129, 62,119,238,220,202,149, 43,191,127,255,142,121,215, 13,  4,120,123,123,147, 29, 41,115,231,206,197,
+ 95,137, 18,211,162,135, 27, 66,164,122,  6,240,121, 77,192,226,251,217, 51,244, 11,125,128,130,196, 23,232,207,192, 96,180, 26,
+192,  4,240, 49, 31,172, 93,  1,128,  0, 98, 33,166, 21, 79, 73,113, 76, 42, 64,110, 71, 19,213,234,159,149,206, 32,201, 48,203,
+ 23,148, 21,103,157, 77,131,143,246,128, 91,253, 31,145,251,  1,248, 75,240, 87,175, 94,193, 75,109, 34, 75,112,252,  0, 82,175,
+  0,203, 11, 92,135,109,224, 41,128, 32,227, 63,152,122,129, 90,222, 92, 43,146,  4, 15,254, 64, 68,190,255,253,255,227, 23,195,
+111, 48,247,247,159,255,255,153, 64,140,203,151,206,  2,235, 81,  6,  6, 54, 52, 99, 63,126,188,202,202, 46, 40, 34, 36,240,225,
+221,183, 15, 31, 63,156, 56,243,226,233,203,255,108,220,223,164, 85,190,124,255,246, 70, 85,239,183,130,230,207,149,179,207,222,
+185,115,135,129,129, 99, 52,231, 80,216,252,  7,  2, 96,243, 31, 88,220,111,217,178, 69, 91, 91, 59, 52, 52,148, 96,233, 15,169,
+  0, 94,191,126,205,197,197,101,103,103,215,211,211,  3,236, 16,  0,147,193,194,133, 11,129,165, 63,176,145,177,119,239,222,203,
+151, 47,139,136,136,224,185,202,  6, 88,127,227, 26,  2,154, 61,123, 54, 30,171,169, 50,  4,  4, 52,132,140, 33, 32, 96,169,141,
+ 89,  1,144,113,124,211,104, 53, 64, 42,  0,  8,160,193,117, 28, 52,230,189, 34, 68, 14, 14,128,218,251, 21,247, 25,152,217,210,
+220, 20, 24,  4, 20,102,129, 47,254,195, 63,250, 79,149, 65, 12,200,196, 47,188,237,143, 12, 32,179,  2,152,221, 11, 34, 91,172,
+ 75, 75,184, 49,123,  3,188,159,138, 31,252,250,255,226, 13,176,245,199,196,195,  5,234,170,  3, 11,253, 31, 63, 25,128,117,  0,
+144,252,245,155,225,199,119,134, 95, 63, 97, 45, 80,212,202,131,231, 79,209,211, 71,114,178,138, 60,255, 89, 89,222,124,255,190,
+255,224,227,107,119,158,190,123,247, 69,219,248,239,215, 31,127,126,252,252,251,253,219,191, 23,143, 24,190,127,101,232,238,238,
+ 30, 61, 33, 10,107, 79,133,200,  4,  9,105,254,107,105,105,  1, 27,254,192,202,  0, 88,  1, 64, 58,  1,  4, 75,127,200, 16,144,
+129,129,  1,  7,  7,  7,176,208, 79, 74, 74,106,111,111,  7,150,164, 39, 79,158, 60,120,240,224,165, 75,151, 62,126,252,168,170,
+170,250,233,211, 39, 60,183,220,  4,  4,  4, 96,182, 45, 32, 61, 30,252,253,131,129, 26,  2,194,218,  9, 32,169,249, 63, 90, 13,
+144, 13,  0,  2,104, 80, 84,  0,144,161,127, 72, 55, 25,185, 14,128,103, 54,200, 96, 61,241, 35,197,144,114, 31,216,240,  7,143,
+  2,177,205, 90, 74,125, 55, 67, 86,254,184,184,184,236,217,179,  7, 87, 87,  6, 87,111,  6,107,225, 78,204, 88, 80,124,229, 87,
+ 41,113,166, 40, 95, 54, 96,113,207,207,203,200,196,  8,110,248, 51,252,255,241,141,225,235,175,255,192,110,193,215, 31,255,255,
+253,199,126,243, 71,124,254, 87, 93,253,123, 18, 26,239,118,111,127,245,238,221, 15,  3,203, 79,122, 66, 95, 24, 88,127,254,248,
+246,239,213,211,255, 95,191, 50,254,249,195, 40, 36,194,200,192,248,111, 52, 87, 80,  5, 64,210, 51,242,132, 10,176, 38, 64, 46,
+154,177,206,  4,  0, 75,246,178,178, 50, 22, 22,150, 69,139, 22,205,159, 63, 63, 49, 49,177,163,163,  3, 88, 34, 63,120,240,224,
+251,247,239,192,108,  2,108,251,103,100,100,224, 89,188, 68,246,212,235, 64, 13,  1, 97,237,  4,144,119,122,235, 40, 32, 21,  0,
+  4,208, 96,233,  1, 32, 15, 91, 99, 22,244,184, 10, 89,100, 48,235,108, 26,172,232,191,189,122,210,125,240, 42, 32, 68,125,128,
+103, 20,136,146, 17, 30,160,195,224,205,127, 72,111,  0,206,  6,246,  0, 32,123,172, 48, 39,159,  9,150,254,144, 85, 64,152,122,
+255,252,101,248,250,237,255,207, 95,160, 41, 95, 32,201,194, 14, 21,  4, 86,  0,223,127,255,127,251,238,255,235,247,255,207, 93,
+251,243,239, 31,104, 40,239,234, 83, 20, 51,255,252, 97,120,246,248,215,227,187,239,143, 28,127, 15,108,228, 93,187,241,207, 39,
+234, 15, 27,203,255,215, 47, 25,142,236, 98,248,244,233,255,255,127, 12, 54, 78,140, 28, 28, 12,158,158,254,248, 87, 26,110, 88,
+144, 30,144, 64,209, 10, 93, 74,110, 16, 35,233,222,  5, 56, 16, 18,218, 67,183,196,140,150,128,129, 92, 35, 35,163,115,231,206,
+109,222,188, 25, 89, 28,215, 84, 48,176,109, 33, 32, 32,  0,105, 68,207,155, 55, 15,216, 15,  0,214,  4,144,154,  3, 40,245,225,
+195,  7, 96, 15,224,219, 55,124,119,189,164,166,166, 34, 15,221, 64,154,255,248,199,127,  6,118,  8,  8,173, 19, 64, 73,243, 31,
+162,125,180,237, 79, 36,  0,  8,160,193, 82,  1,156, 61,123, 22,215,218, 21,160, 56,129,245,163,236,220,171, 21, 14, 49,252, 57,
+203,160,200,157,214,170, 56,235,  0,176,163, 61, 11, 86, 25,184, 18, 63, 10,132,188, 18, 20,115, 85, 40,102, 14,  7,150, 98,144,
+210, 31,121,  6, 24,210,246,135,112,177,246,  0,224,122,201, 43, 89,110,223,190,253,232,202,164,127,162,255,152, 88, 24, 88,153,
+ 64, 57,237,247,191,255,192,194,253,243,231,255,191,126, 51,252,249, 13,170, 15, 10,139, 64,221,169,171, 79,159, 96,234,125,120,
+107,162,182,246,191,195,  7,255, 50, 50, 49,188,126,193,200,193,201,112,112,  7,195,175,239,192, 18,130, 65,207,136,245,217,163,
+127,246,246,222,192,124,139,103, 39, 33,176,244,239,202,102, 40,155, 74,126, 29, 64,201,  5,194,228,233,197, 53,172, 65, 31,  0,
+ 89,249,227,227,227,  3,137,122, 72,119, 22,216,204,199,170,248,223,191,127,231,207,159,183,181,181,133,139,  0,235,  0, 72, 89,
+252,251,247,239,191,127,255,  2, 35, 81, 84, 84, 20,215, 36, 48,124, 20,136,140,246,251,  0, 14,  1,161,117,  2,200,110,254,143,
+ 22,253,164,  2,128,  0, 34,173,  2,  0, 22,196,180,216,  9,  9,105, 44,  3,115,  5,144,225,226,226,130,214,246,135, 20,163,196,
+111, 85,133,175,  2,130,112,137,105,251, 35,207,  0, 67,  0,132, 11, 89, 12,138, 95, 47,188,244, 71,155, 15, 32, 70, 47, 46,  0,
+108,254,227,210,171,170,170, 58,127,206,111,103, 11, 86, 96,  1,240,251,215, 63,118, 54, 80, 94,253,252,245,255,207,223,255,129,
+ 69,255,217, 43,127,255,254,251,143,107, 29, 39, 80,239,226,133,127,236, 29,152,  3,163,153,191,124,254,255,249, 35,195,215,207,
+140,138,170,255,255,254,102,100, 97,226,248,240,238,223,179, 39,191, 74, 10,125,240,183,253, 39,228, 51,168,201, 49, 76, 46, 98,
+200,237,163,168, 14, 32,187, 79, 64,158, 94,202,215,125,146,151,242,129,165,127, 67, 67,  3,114, 99,191,171,171, 11,200,197,181,
+ 59,236,215,175, 95,192, 34,236,199,143, 31,204,204,204,144,187,207,214,174, 93, 27, 28, 28,252,253,251,119,160,224,207,159, 63,
+121,120,120,128,213,  0,126,239,144,183, 22,104, 96,135,128,224,157,  0,  8, 99,180,232,167, 15,  0,  8, 32, 18, 42,  0, 10, 75,
+127, 60,218,129,133, 62,164,148,135,140,155,195,151,156, 34, 55,252,209, 42,  6, 20,192,204,200,192,198,196,192,201,204,192,195,
+194,240,243,243,234,118, 86,  6,206, 83,105, 33,138, 12,156, 66,179, 22, 19,213,240,199,186,230,  7, 82,130,227, 95, 20,143, 92,
+250, 35,207,  7, 16,163, 23,127,233,143, 71,111, 91,231,140,162,252, 12, 14, 14, 96,107,145, 65, 87,157, 25, 26, 86,151,255,254,
+254,251,255,239, 63,230,146,146, 18, 60,134, 55,181,204, 40, 41,201,  0,246, 24,126,253,254,255,247, 15,  3,176, 11,225,224,205,
+240,249,  3,227,141,139,192,  2,134,201,207, 55,  8,127,233,223,144,204,160,  2, 62,146, 68, 89,154,129,194,126,192, 72,  0,152,
+123,190, 64, 43,187,192,  0,151, 22, 96,  5,  0, 44,235, 65,219, 49,244,245,255,252,249,195,202,202, 10,108, 83,  3, 27, 49,192,
+210,255,219,183,111,192,230,191,160,160, 32,158,101,160,112,  0, 31, 80, 37,102,240,103, 48, 12,  1,193, 59,  1,100,132, 51,145,
+219,  5, 70,  1, 38,  0,  8, 32, 98, 43,  0, 26,181,253,177,118,237, 49,  7,124,200,182,154,224,232, 63, 37,165, 63,  3,234, 76,
+ 47,188, 14, 99,  0,175,166, 37,168, 23,215, 76,  0, 49,122,251, 38,206,  0,  6, 23, 19, 19,195,145,179,160, 17,127,200,172, 47,
+120,232,191,132,160,222,158,158, 25, 25,153,224, 13, 31, 76, 32, 45,167, 14, 49,124,253,242,239,255, 63,  6, 63, 63,111,119,119,
+119, 60,165,127,121, 12,131,  0, 15,195,179, 55, 12,156,236, 12,255,254, 51,112,115, 48,180,166, 51, 84,207, 28,230,117,  0,174,
+238,  5, 49,105, 18,173,244,207,200,200,128, 20,253,155, 55,111,  6,150,146, 88,171,  1, 96,  5,192,196,196,  4,108,207,126,254,
+252,249,204,153, 51,134,134,134,192,106,224,227,199,143, 23, 47, 94, 84, 84, 84, 20, 22, 22,  6,150,254, 64, 17,130, 29, 26,200,
+142, 48,146, 58,  4,  3, 62,  4, 68, 94,219,159,108, 93,163,  0,  8,  0,  2,  8,189,  2,192,181,228,159,200,213,111,148,244,160,
+129, 10, 48, 15,101, 35, 88, 26,206, 74,155,  9, 26,237,185,197,  0, 66,  8,240, 17,140,238,147,237,102, 98, 74, 97,184,143,128,
+101,  4,100, 63,  1,176,218, 32,245, 42, 99,160,222,165, 37,220,144,250,128,212, 27,122,225,193,  5,153,245, 37,190,195, 49, 99,
+ 58, 66,239,151, 79,160,  2,194,207,207,143,112, 88, 45,161,126, 49, 74,107,189,  3, 56,244,207,128, 58,205, 11, 12,112, 96,153,
+184,101,203, 22, 76, 41,180, 10,  0,168, 12,216,192,  7, 50,228,228,228, 62,124,248, 80, 91, 91, 11,172,  0,164,165,165,191,124,
+249,  2, 20,132,204,  4, 16,180,154,140, 81,160, 23, 47, 94, 80,238,101,170, 24, 50, 10,232,  6,  0,  2,104, 80, 92, 10, 15,  7,
+192, 34,140, 12,115,200, 94,225, 67,197, 62, 13,193,163,223,200,232, 10, 16, 19, 92, 88,217,164,234, 37,166,244,167,164,153, 63,
+ 80,233,138, 42,241, 75,158, 33,240,227, 60,225, 39,122,106,106,106,206,155, 55,239, 31, 24,224,105,191, 67, 90,247, 64, 53,192,
+130, 30,114, 24, 28,184,130,255, 71,135,195,224, 70,193,240,  6, 88, 55,247,  0,  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, 16,150, 75,225,
+145,143,100, 64,190,143,  5, 89,124, 24, 95,178,140,188, 20, 21,238,247,209, 11,169,135, 86, 88,145,164, 17,191,189,173,173,173,
+ 16, 70,117,117,245, 72,139, 95,170,  7,245,104, 62, 26, 16,189,120,  0, 64,  0, 81,237, 44, 32,200,137,158,196,169,101,195,212,
+ 11,103,163,157,  6, 74,228,253, 27, 20,  2,248,181,192,144,226, 12,126,127, 30, 29,106,224, 91,183,110,193,239, 36, 40, 42, 42,
+ 26,252,135, 32,162,133,213,245,235,215, 25,192,107, 28,105,106, 41, 48, 25,248,  7,164,111,220, 48, 19, 45, 25,108,219,126, 14,
+ 40,136, 53, 97,  0,165,176, 26,229,229,105, 68,188,189,192,210,223,215, 87, 25,206,198, 85,  7,224,  2,159,191,124,190,247,236,
+222,183,255,223, 2