aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorCyrille Henry <nusmuk@users.sourceforge.net>2012-02-03 11:41:26 +0000
committerCyrille Henry <nusmuk@users.sourceforge.net>2012-02-03 11:41:26 +0000
commit91c4f2d9b85c65ccc59c4b156583a84a3861e2fa (patch)
treef5e9333463037b3dfefc0c32e3d59cb1073cbfc6 /examples
parentdb1a6ef1cdda8c2555d4828282e05dda55343ea5 (diff)
adding -lib Gem in the example in order to load all dependency needed for the patch to run
svn path=/trunk/externals/pmpd/; revision=15943
Diffstat (limited to 'examples')
-rw-r--r--examples/00_pmpd.pd8
-rw-r--r--examples/01_basics.pd69
-rw-r--r--examples/02_string.pd576
-rw-r--r--examples/03_chaos2D.pd360
-rw-r--r--examples/04_3D_exemple.pd144
-rw-r--r--examples/05_corde2D.pd905
-rw-r--r--examples/06_pyramide3D.pd500
-rw-r--r--examples/07_corde3D.pd1204
-rw-r--r--examples/08_ball2D.pd6
-rw-r--r--examples/09_tutorial2D.pd540
-rw-r--r--examples/10_game.pd20
-rw-r--r--examples/11_comportement.pd4
-rw-r--r--examples/12_exitation.pd3678
-rw-r--r--examples/13_plane3D.pd6
-rw-r--r--examples/14_MP_curve3d.pd4
-rw-r--r--examples/15_constant_force_field.pd568
-rw-r--r--examples/16_name_and_interactors.pd297
-rw-r--r--examples/17_rnd_mouvmnt_and_obstacles.pd150
-rw-r--r--examples/18_flipper.pd532
-rw-r--r--examples/19_vertex.pd216
-rw-r--r--examples/20_moving_vertex.pd236
-rw-r--r--examples/21_fluid_circulation_cylinder.pd400
-rw-r--r--examples/22_gaz_molecules.pd410
-rw-r--r--examples/23_test.pd680
-rw-r--r--examples/24_sand.pd282
-rw-r--r--examples/25_sand2.pd6
-rw-r--r--examples/26_sand3.pd470
-rw-r--r--examples/27_tLia.pd1750
-rw-r--r--examples/28_Lia.pd218
-rw-r--r--examples/29_aglom.pd210
-rw-r--r--examples/30_falling_aglom.pd336
-rw-r--r--examples/31_paste.pd414
-rw-r--r--examples/32_Kelvin_Helmoltz_instability.pd322
-rw-r--r--examples/33_vorticity_ellipse.pd740
-rw-r--r--examples/34_cigarette_smoke.pd63
-rw-r--r--examples/35_gravitation.pd72
-rw-r--r--examples/36_3D_interactors.pd1563
-rw-r--r--examples/37_hollywood_planette_explosion.pd962
-rw-r--r--examples/38_elastique_membrane_on_a_sphere.pd2828
-rw-r--r--examples/39_blob.pd10
-rw-r--r--examples/40_i3D.pd430
-rw-r--r--examples/41_morfing.pd532
-rw-r--r--examples/42_tentacule.pd908
-rw-r--r--examples/43_game.pd2504
-rw-r--r--examples/44_flag.pd1614
-rw-r--r--examples/45_newWave.pd1570
-rw-r--r--examples/46_non_linear.pd382
-rw-r--r--examples/47_scann_synth.pd4
-rw-r--r--examples/48_pmpd~.pd2
-rw-r--r--examples/49_simple_oscilator~.pd2
-rw-r--r--examples/52_pmpd_string.pd4
-rw-r--r--examples/53_pmpd_wave.pd12
-rw-r--r--examples/54_pmpd2d_test.pd4
-rw-r--r--examples/55_pmpd2d_additive.pd6
-rw-r--r--examples/56_pmpd2d_ball.pd4
-rw-r--r--examples/57_pmpd2d_gravitation.pd6
-rw-r--r--examples/58_pmpd2d_sand.pd4
-rw-r--r--examples/59_pmpd3d_test.pd4
-rw-r--r--examples/60_draw_link_force.pd4
-rw-r--r--examples/61_draw_link_force_2d.pd4
60 files changed, 14930 insertions, 14829 deletions
diff --git a/examples/00_pmpd.pd b/examples/00_pmpd.pd
index 09aa952..5dd61bb 100644
--- a/examples/00_pmpd.pd
+++ b/examples/00_pmpd.pd
@@ -1,6 +1,4 @@
-#N canvas 103 346 433 279 10;
-#X obj 17 29 pmpd;
-#X text 64 28 this object load the pmpd lib in memory.;
+#N canvas 99 360 460 300 10;
#X text 17 54 you are ready to try the exemples patchs. Please do not
run 2 exemples in the same time (somes use same send and receive name).
;
@@ -44,5 +42,5 @@ a number. others files are abstractions used by this examples.;
#X restore 25 236 pd open;
#X text 17 106 gem v0.90 is neaded. it's the only dependency of the
exemples;
-#X connect 3 0 4 0;
-#X connect 7 0 8 0;
+#X connect 1 0 2 0;
+#X connect 5 0 6 0;
diff --git a/examples/01_basics.pd b/examples/01_basics.pd
index 1b47745..8ba4bfa 100644
--- a/examples/01_basics.pd
+++ b/examples/01_basics.pd
@@ -1,7 +1,6 @@
-#N canvas 207 120 515 653 12;
-#X text 66 243 physical modeling for pure data using a collection of
+#N canvas 203 134 515 653 12;
+#X text 66 263 physical modeling for pure data using a collection of
physical ojects.;
-#X obj 8 250 pmpd;
#N canvas 0 0 623 384 read 0;
#X text 412 312 ch20031213;
#X text 30 25 The aim of this collection of objects is to create physical
@@ -16,7 +15,7 @@ be highly apreciated :;
#X text 28 240 informations can be find :;
#X text 122 263 http://drpichon.free.fr/pmpd/;
#X text 123 207 ch@chdh.net;
-#X restore 69 296 pd read me first;
+#X restore 69 316 pd read me first;
#N canvas 0 0 663 567 basics 0;
#X text 34 30 Object in this collection can be mass \, link and interactor
\, in 1D \, 2D or 3D.;
@@ -35,7 +34,7 @@ the creation of "physical" structures. Such structures can then move
\, and distord themselves \, according to forces applied to them.;
#X text 29 350 The resulting movements are very natural \, due to the
physical equations used to define the objects.;
-#X restore 69 324 pd basics;
+#X restore 69 344 pd basics;
#N canvas 434 60 645 737 global_description 0;
#X obj 34 169 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
@@ -82,7 +81,7 @@ move. It is useful for creating a structure attached to a fixed point.
#X connect 18 1 19 0;
#X connect 19 0 18 1;
#X connect 21 0 1 0;
-#X restore 69 353 pd global_description;
+#X restore 69 373 pd global_description;
#N canvas 0 0 762 661 test 0;
#X msg 108 98 1;
#X msg 74 98 0;
@@ -145,7 +144,7 @@ value : 0.) Lengh of the link is null.;
#X connect 29 0 10 0;
#X connect 30 0 16 0;
#X connect 31 0 26 0;
-#X restore 71 474 pd test;
+#X restore 71 494 pd test;
#N canvas 394 231 879 595 simple_exemple 0;
#X obj 356 237 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 0;
@@ -213,10 +212,10 @@ of pd when more natural evolution is neaded...;
#X connect 11 1 12 0;
#X connect 12 0 0 0;
#X connect 12 0 11 1;
-#X restore 71 501 pd simple_exemple;
-#X text 95 389 look at mass and link help file :;
-#X obj 96 407 mass;
-#X obj 96 437 link;
+#X restore 71 521 pd simple_exemple;
+#X text 95 409 look at mass and link help file :;
+#X obj 96 427 mass;
+#X obj 96 457 link;
#N canvas 108 97 450 634 list 0;
#X obj 190 135 iAmbient2D;
#X obj 305 137 iAmbient3D;
@@ -253,26 +252,26 @@ of pd when more natural evolution is neaded...;
#X text 21 579 other;
#X obj 190 579 pmpd;
#X obj 308 578 pmpd~;
-#X restore 71 531 pd list of pmpd's object;
-#X obj 10 200 cnv 15 15 15 Ma1 M1 empty 2 10 0 14 -1 -66577 0;
-#X obj 24 185 cnv 15 15 15 Ma3 M3 empty 2 10 0 14 -1 -66577 0;
-#X obj 39 172 cnv 15 15 15 Ma5 M5 empty 2 10 0 14 -1 -66577 0;
-#X obj 79 200 cnv 15 15 15 Ma9 M9 empty 2 10 0 14 -1 -66577 0;
-#X obj 183 200 cnv 15 15 15 empty M29 empty 2 10 0 14 -1 -66577 0;
-#X obj 120 200 cnv 15 15 15 Ma2 M2 empty 2 10 0 14 -1 -66577 0;
-#X obj 120 160 cnv 15 15 15 Ma4 M4 empty 2 10 0 14 -1 -66577 0;
-#X obj 99 170 cnv 15 15 15 Ma6 M6 empty 2 10 0 14 -1 -66577 0;
-#X obj 79 160 cnv 15 15 15 Ma8 M8 empty 2 10 0 14 -1 -66577 0;
-#X obj 119 180 cnv 15 15 15 Ma11 M11 empty 2 10 0 14 -1 -66577 0;
-#X obj 79 180 cnv 15 15 15 Ma12 M12 empty 2 10 0 14 -1 -66577 0;
-#X obj 184 172 cnv 15 15 15 Ma14 M14 empty 2 10 0 14 -1 -66577 0;
-#X obj 198 187 cnv 15 15 15 Ma13 M13 empty 2 10 0 14 -1 -66577 0;
-#X obj 169 185 cnv 15 15 15 Ma15 M15 empty 2 10 0 14 -1 -66577 0;
-#X obj 239 180 cnv 15 15 15 empty M30 empty 2 10 0 14 -1 -66577 0;
-#X obj 260 160 cnv 15 15 15 Ma20 M20 empty 2 10 0 14 -1 -66577 0;
-#X obj 259 180 cnv 15 15 15 Ma17 M17 empty 2 10 0 14 -1 -66577 0;
-#X obj 239 200 cnv 15 15 15 Ma19 M19 empty 2 10 0 14 -1 -66577 0;
-#X obj 259 200 cnv 15 15 15 Ma18 M18 empty 2 10 0 14 -1 -66577 0;
+#X restore 71 551 pd list of pmpd's object;
+#X obj 9 98 cnv 15 15 15 Ma1 M1 empty 2 10 0 14 -1 -66577 0;
+#X obj 9 78 cnv 15 15 15 Ma3 M3 empty 2 10 0 14 -1 -66577 0;
+#X obj 10 58 cnv 15 15 15 Ma5 M5 empty 2 10 0 14 -1 -66577 0;
+#X obj 249 89 cnv 15 15 15 Ma9 M9 empty 2 10 0 14 -1 -66577 0;
+#X obj 189 78 cnv 15 15 15 empty M29 empty 2 10 0 14 -1 -66577 0;
+#X obj 3 110 cnv 15 15 15 Ma2 M2 empty 2 10 0 14 -1 -66577 0;
+#X obj 99 98 cnv 15 15 15 Ma4 M4 empty 2 10 0 14 -1 -66577 0;
+#X obj 126 100 cnv 15 15 15 Ma6 M6 empty 2 10 0 14 -1 -66577 0;
+#X obj 152 101 cnv 15 15 15 Ma8 M8 empty 2 10 0 14 -1 -66577 0;
+#X obj 121 149 cnv 15 15 15 Ma11 M11 empty 2 10 0 14 -1 -66577 0;
+#X obj 130 50 cnv 15 15 15 Ma12 M12 empty 2 10 0 14 -1 -66577 0;
+#X obj 170 58 cnv 15 15 15 Ma14 M14 empty 2 10 0 14 -1 -66577 0;
+#X obj 190 58 cnv 15 15 15 Ma13 M13 empty 2 10 0 14 -1 -66577 0;
+#X obj 169 78 cnv 15 15 15 Ma15 M15 empty 2 10 0 14 -1 -66577 0;
+#X obj 239 78 cnv 15 15 15 empty M30 empty 2 10 0 14 -1 -66577 0;
+#X obj 258 58 cnv 15 15 15 Ma20 M20 empty 2 10 0 14 -1 -66577 0;
+#X obj 259 78 cnv 15 15 15 Ma17 M17 empty 2 10 0 14 -1 -66577 0;
+#X obj 240 98 cnv 15 15 15 Ma19 M19 empty 2 10 0 14 -1 -66577 0;
+#X obj 260 97 cnv 15 15 15 Ma18 M18 empty 2 10 0 14 -1 -66577 0;
#N canvas 0 0 470 320 pmpd 0;
#X obj 7 196 s mass;
#X obj 32 168 s link;
@@ -748,7 +747,7 @@ of pd when more natural evolution is neaded...;
-1;
#X obj 1 216 cnv 10 500 10 empty empty empty 20 12 0 14 -99865 -66577
0;
-#X obj 53 187 cnv 15 15 15 Ma7 M7 empty 2 10 0 14 -1 -66577 0;
-#X obj 38 200 cnv 15 15 15 empty M28 empty 2 10 0 14 -1 -66577 0;
-#X obj 155 200 cnv 15 15 15 Ma16 M16 empty 2 10 0 14 -1 -66577 0;
-#X connect 31 0 30 0;
+#X obj 30 58 cnv 15 15 15 Ma7 M7 empty 2 10 0 14 -1 -66577 0;
+#X obj 29 78 cnv 15 15 15 empty M28 empty 2 10 0 14 -1 -66577 0;
+#X obj 169 98 cnv 15 15 15 Ma16 M16 empty 2 10 0 14 -1 -66577 0;
+#X connect 30 0 29 0;
diff --git a/examples/02_string.pd b/examples/02_string.pd
index 1b9d4ca..531f322 100644
--- a/examples/02_string.pd
+++ b/examples/02_string.pd
@@ -1,288 +1,288 @@
-#N canvas 45 79 1309 802 12;
-#X obj 379 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 4141 1;
-#X obj 397 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 4972 1;
-#X obj 415 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 5574 1;
-#X obj 433 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 5821 1;
-#X obj 451 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 5596 1;
-#X obj 469 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 4879 1;
-#X obj 361 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 3200 1;
-#X obj 9 35 metro 10;
-#X obj 9 10 loadbang;
-#X text 138 362 move the first slider ->;
-#X text 570 368 <- or the last one;
-#X text 268 11 This is the first exemple of physical modeling;
-#X text 268 33 this is an elastic string;
-#X obj 487 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 3757 1;
-#X obj 505 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2400 1;
-#X obj 9 62 t b b;
-#X obj 44 87 s \$0-link;
-#X obj 9 113 s \$0-mass;
-#X text 158 95 <- metronome send bangs to mass and link and gives the
-general computation speed;
-#X text 135 409 all the slider are "link" together with a link. slider
-got a mass so they have inertial.;
-#X obj 3 196 link \$0-link 0 1 1;
-#X obj 151 196 link \$0-link 0 1 1;
-#X obj 300 196 link \$0-link 0 1 1;
-#X obj 449 196 link \$0-link 0 1 1;
-#X obj 599 196 link \$0-link 0 1 1;
-#X obj 747 196 link \$0-link 0 1 1;
-#X obj 896 196 link \$0-link 0 1 1;
-#X obj 1045 196 link \$0-link 0 1 1;
-#X obj 146 172 mass \$0-mass 30;
-#X obj 294 171 mass \$0-mass 30;
-#X obj 444 172 mass \$0-mass 30;
-#X obj 595 172 mass \$0-mass 30;
-#X obj 743 171 mass \$0-mass 30;
-#X obj 894 171 mass \$0-mass 30;
-#X obj 1041 171 mass \$0-mass 30;
-#X text 135 451 You can see the propagation of a wave \, and physical
-properties of a kind of elastic string.;
-#X text 160 132 masss and link has to be compute one after the other.
-;
-#X obj 749 384 mtof;
-#X obj 749 433 line;
-#X msg 749 409 \$1 15;
-#X obj 749 458 osc~;
-#X obj 805 384 mtof;
-#X obj 805 433 line;
-#X msg 805 409 \$1 15;
-#X obj 805 458 osc~;
-#X obj 860 384 mtof;
-#X obj 860 433 line;
-#X msg 860 409 \$1 15;
-#X obj 860 458 osc~;
-#X obj 916 383 mtof;
-#X obj 916 432 line;
-#X msg 916 408 \$1 15;
-#X obj 916 457 osc~;
-#X obj 972 382 mtof;
-#X obj 972 431 line;
-#X msg 972 407 \$1 15;
-#X obj 972 456 osc~;
-#X obj 1027 382 mtof;
-#X obj 1027 431 line;
-#X msg 1027 407 \$1 15;
-#X obj 1027 456 osc~;
-#X obj 1083 382 mtof;
-#X obj 1083 431 line;
-#X msg 1083 407 \$1 15;
-#X obj 1083 456 osc~;
-#X obj 880 510 *~ 0.1;
-#X obj 933 510 *~ 0.1;
-#X obj 1034 550 noise~;
-#X obj 944 798 dac~;
-#X obj 713 594 bp~ 80 5;
-#X obj 783 594 bp~ 160 5;
-#X obj 859 595 bp~ 380 5;
-#X obj 937 596 bp~ 760 5;
-#X obj 734 619 / 127;
-#X obj 734 669 *;
-#X obj 734 643 t f f;
-#X msg 734 695 \$1 10;
-#X obj 734 722 line~;
-#X obj 714 748 *~;
-#X obj 805 620 / 127;
-#X obj 805 670 *;
-#X obj 805 644 t f f;
-#X msg 805 696 \$1 10;
-#X obj 805 723 line~;
-#X obj 785 749 *~;
-#X obj 881 620 / 127;
-#X obj 881 670 *;
-#X obj 881 644 t f f;
-#X msg 881 696 \$1 10;
-#X obj 881 723 line~;
-#X obj 861 749 *~;
-#X obj 963 624 / 127;
-#X obj 963 674 *;
-#X obj 963 648 t f f;
-#X msg 963 700 \$1 10;
-#X obj 963 727 line~;
-#X obj 943 753 *~;
-#X obj 1048 621 / 127;
-#X obj 1048 671 *;
-#X obj 1048 645 t f f;
-#X msg 1048 697 \$1 10;
-#X obj 1048 724 line~;
-#X obj 1028 750 *~;
-#X obj 1119 622 / 127;
-#X obj 1119 672 *;
-#X obj 1119 646 t f f;
-#X msg 1119 698 \$1 10;
-#X obj 1119 725 line~;
-#X obj 1099 752 *~;
-#X obj 1195 622 / 127;
-#X obj 1195 672 *;
-#X obj 1195 646 t f f;
-#X msg 1195 698 \$1 10;
-#X obj 1195 725 line~;
-#X obj 1175 751 *~;
-#X obj 1027 596 bp~ 1380 5;
-#X obj 1089 598 bp~ 3160 5;
-#X obj 1173 597 bp~ 6380 5;
-#X connect 0 0 37 0;
-#X connect 0 0 73 0;
-#X connect 1 0 41 0;
-#X connect 1 0 79 0;
-#X connect 2 0 45 0;
-#X connect 2 0 85 0;
-#X connect 3 0 49 0;
-#X connect 3 0 91 0;
-#X connect 4 0 53 0;
-#X connect 4 0 97 0;
-#X connect 5 0 57 0;
-#X connect 5 0 103 0;
-#X connect 6 0 20 0;
-#X connect 7 0 15 0;
-#X connect 8 0 7 0;
-#X connect 13 0 61 0;
-#X connect 13 0 109 0;
-#X connect 14 0 27 1;
-#X connect 15 0 17 0;
-#X connect 15 1 16 0;
-#X connect 20 1 28 0;
-#X connect 21 0 28 0;
-#X connect 21 1 29 0;
-#X connect 22 0 29 0;
-#X connect 22 1 30 0;
-#X connect 23 0 30 0;
-#X connect 23 1 31 0;
-#X connect 24 0 31 0;
-#X connect 24 1 32 0;
-#X connect 25 0 32 0;
-#X connect 25 1 33 0;
-#X connect 26 0 33 0;
-#X connect 26 1 34 0;
-#X connect 27 0 34 0;
-#X connect 28 0 0 0;
-#X connect 28 0 20 1;
-#X connect 28 0 21 0;
-#X connect 29 0 1 0;
-#X connect 29 0 21 1;
-#X connect 29 0 22 0;
-#X connect 30 0 2 0;
-#X connect 30 0 22 1;
-#X connect 30 0 23 0;
-#X connect 31 0 3 0;
-#X connect 31 0 23 1;
-#X connect 31 0 24 0;
-#X connect 32 0 4 0;
-#X connect 32 0 24 1;
-#X connect 32 0 25 0;
-#X connect 33 0 5 0;
-#X connect 33 0 25 1;
-#X connect 33 0 26 0;
-#X connect 34 0 13 0;
-#X connect 34 0 26 1;
-#X connect 34 0 27 0;
-#X connect 37 0 39 0;
-#X connect 38 0 40 0;
-#X connect 39 0 38 0;
-#X connect 40 0 65 0;
-#X connect 41 0 43 0;
-#X connect 42 0 44 0;
-#X connect 43 0 42 0;
-#X connect 44 0 65 0;
-#X connect 45 0 47 0;
-#X connect 46 0 48 0;
-#X connect 47 0 46 0;
-#X connect 48 0 65 0;
-#X connect 48 0 66 0;
-#X connect 49 0 51 0;
-#X connect 50 0 52 0;
-#X connect 51 0 50 0;
-#X connect 52 0 65 0;
-#X connect 52 0 66 0;
-#X connect 53 0 55 0;
-#X connect 54 0 56 0;
-#X connect 55 0 54 0;
-#X connect 56 0 65 0;
-#X connect 56 0 66 0;
-#X connect 57 0 59 0;
-#X connect 58 0 60 0;
-#X connect 59 0 58 0;
-#X connect 60 0 66 0;
-#X connect 61 0 63 0;
-#X connect 62 0 64 0;
-#X connect 63 0 62 0;
-#X connect 64 0 66 0;
-#X connect 67 0 69 0;
-#X connect 67 0 70 0;
-#X connect 67 0 71 0;
-#X connect 67 0 72 0;
-#X connect 67 0 115 0;
-#X connect 67 0 116 0;
-#X connect 67 0 117 0;
-#X connect 69 0 78 0;
-#X connect 70 0 84 0;
-#X connect 71 0 90 0;
-#X connect 72 0 96 0;
-#X connect 73 0 75 0;
-#X connect 74 0 76 0;
-#X connect 75 0 74 0;
-#X connect 75 1 74 1;
-#X connect 76 0 77 0;
-#X connect 77 0 78 1;
-#X connect 78 0 68 0;
-#X connect 78 0 68 1;
-#X connect 79 0 81 0;
-#X connect 80 0 82 0;
-#X connect 81 0 80 0;
-#X connect 81 1 80 1;
-#X connect 82 0 83 0;
-#X connect 83 0 84 1;
-#X connect 84 0 68 0;
-#X connect 84 0 68 1;
-#X connect 85 0 87 0;
-#X connect 86 0 88 0;
-#X connect 87 0 86 0;
-#X connect 87 1 86 1;
-#X connect 88 0 89 0;
-#X connect 89 0 90 1;
-#X connect 90 0 68 1;
-#X connect 90 0 68 0;
-#X connect 91 0 93 0;
-#X connect 92 0 94 0;
-#X connect 93 0 92 0;
-#X connect 93 1 92 1;
-#X connect 94 0 95 0;
-#X connect 95 0 96 1;
-#X connect 96 0 68 1;
-#X connect 96 0 68 0;
-#X connect 97 0 99 0;
-#X connect 98 0 100 0;
-#X connect 99 0 98 0;
-#X connect 99 1 98 1;
-#X connect 100 0 101 0;
-#X connect 101 0 102 1;
-#X connect 102 0 68 0;
-#X connect 102 0 68 1;
-#X connect 103 0 105 0;
-#X connect 104 0 106 0;
-#X connect 105 0 104 0;
-#X connect 105 1 104 1;
-#X connect 106 0 107 0;
-#X connect 107 0 108 1;
-#X connect 108 0 68 1;
-#X connect 108 0 68 0;
-#X connect 109 0 111 0;
-#X connect 110 0 112 0;
-#X connect 111 0 110 0;
-#X connect 111 1 110 1;
-#X connect 112 0 113 0;
-#X connect 113 0 114 1;
-#X connect 114 0 68 1;
-#X connect 114 0 68 0;
-#X connect 115 0 102 0;
-#X connect 116 0 108 0;
-#X connect 117 0 114 0;
+#N canvas 41 93 1309 802 12;
+#X obj 379 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 397 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 415 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 433 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 451 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 469 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 361 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 9 35 metro 10;
+#X obj 9 10 loadbang;
+#X text 138 362 move the first slider ->;
+#X text 570 368 <- or the last one;
+#X text 268 11 This is the first exemple of physical modeling;
+#X text 268 33 this is an elastic string;
+#X obj 487 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 505 253 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 0 1;
+#X obj 9 62 t b b;
+#X obj 44 87 s \$0-link;
+#X obj 9 113 s \$0-mass;
+#X text 158 95 <- metronome send bangs to mass and link and gives the
+general computation speed;
+#X text 135 409 all the slider are "link" together with a link. slider
+got a mass so they have inertial.;
+#X obj 3 196 link \$0-link 0 1 1;
+#X obj 151 196 link \$0-link 0 1 1;
+#X obj 300 196 link \$0-link 0 1 1;
+#X obj 449 196 link \$0-link 0 1 1;
+#X obj 599 196 link \$0-link 0 1 1;
+#X obj 747 196 link \$0-link 0 1 1;
+#X obj 896 196 link \$0-link 0 1 1;
+#X obj 1045 196 link \$0-link 0 1 1;
+#X obj 146 172 mass \$0-mass 30;
+#X obj 294 171 mass \$0-mass 30;
+#X obj 444 172 mass \$0-mass 30;
+#X obj 595 172 mass \$0-mass 30;
+#X obj 743 171 mass \$0-mass 30;
+#X obj 894 171 mass \$0-mass 30;
+#X obj 1041 171 mass \$0-mass 30;
+#X text 135 451 You can see the propagation of a wave \, and physical
+properties of a kind of elastic string.;
+#X text 160 132 masss and link has to be compute one after the other.
+;
+#X obj 749 384 mtof;
+#X obj 749 433 line;
+#X msg 749 409 \$1 15;
+#X obj 749 458 osc~;
+#X obj 805 384 mtof;
+#X obj 805 433 line;
+#X msg 805 409 \$1 15;
+#X obj 805 458 osc~;
+#X obj 860 384 mtof;
+#X obj 860 433 line;
+#X msg 860 409 \$1 15;
+#X obj 860 458 osc~;
+#X obj 916 383 mtof;
+#X obj 916 432 line;
+#X msg 916 408 \$1 15;
+#X obj 916 457 osc~;
+#X obj 972 382 mtof;
+#X obj 972 431 line;
+#X msg 972 407 \$1 15;
+#X obj 972 456 osc~;
+#X obj 1027 382 mtof;
+#X obj 1027 431 line;
+#X msg 1027 407 \$1 15;
+#X obj 1027 456 osc~;
+#X obj 1083 382 mtof;
+#X obj 1083 431 line;
+#X msg 1083 407 \$1 15;
+#X obj 1083 456 osc~;
+#X obj 880 510 *~ 0.1;
+#X obj 933 510 *~ 0.1;
+#X obj 1034 550 noise~;
+#X obj 944 798 dac~;
+#X obj 713 594 bp~ 80 5;
+#X obj 783 594 bp~ 160 5;
+#X obj 859 595 bp~ 380 5;
+#X obj 937 596 bp~ 760 5;
+#X obj 734 619 / 127;
+#X obj 734 669 *;
+#X obj 734 643 t f f;
+#X msg 734 695 \$1 10;
+#X obj 734 722 line~;
+#X obj 714 748 *~;
+#X obj 805 620 / 127;
+#X obj 805 670 *;
+#X obj 805 644 t f f;
+#X msg 805 696 \$1 10;
+#X obj 805 723 line~;
+#X obj 785 749 *~;
+#X obj 881 620 / 127;
+#X obj 881 670 *;
+#X obj 881 644 t f f;
+#X msg 881 696 \$1 10;
+#X obj 881 723 line~;
+#X obj 861 749 *~;
+#X obj 963 624 / 127;
+#X obj 963 674 *;
+#X obj 963 648 t f f;
+#X msg 963 700 \$1 10;
+#X obj 963 727 line~;
+#X obj 943 753 *~;
+#X obj 1048 621 / 127;
+#X obj 1048 671 *;
+#X obj 1048 645 t f f;
+#X msg 1048 697 \$1 10;
+#X obj 1048 724 line~;
+#X obj 1028 750 *~;
+#X obj 1119 622 / 127;
+#X obj 1119 672 *;
+#X obj 1119 646 t f f;
+#X msg 1119 698 \$1 10;
+#X obj 1119 725 line~;
+#X obj 1099 752 *~;
+#X obj 1195 622 / 127;
+#X obj 1195 672 *;
+#X obj 1195 646 t f f;
+#X msg 1195 698 \$1 10;
+#X obj 1195 725 line~;
+#X obj 1175 751 *~;
+#X obj 1027 596 bp~ 1380 5;
+#X obj 1089 598 bp~ 3160 5;
+#X obj 1173 597 bp~ 6380 5;
+#X connect 0 0 37 0;
+#X connect 0 0 73 0;
+#X connect 1 0 41 0;
+#X connect 1 0 79 0;
+#X connect 2 0 45 0;
+#X connect 2 0 85 0;
+#X connect 3 0 49 0;
+#X connect 3 0 91 0;
+#X connect 4 0 53 0;
+#X connect 4 0 97 0;
+#X connect 5 0 57 0;
+#X connect 5 0 103 0;
+#X connect 6 0 20 0;
+#X connect 7 0 15 0;
+#X connect 8 0 7 0;
+#X connect 13 0 61 0;
+#X connect 13 0 109 0;
+#X connect 14 0 27 1;
+#X connect 15 0 17 0;
+#X connect 15 1 16 0;
+#X connect 20 1 28 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 29 0;
+#X connect 22 1 30 0;
+#X connect 23 0 30 0;
+#X connect 23 1 31 0;
+#X connect 24 0 31 0;
+#X connect 24 1 32 0;
+#X connect 25 0 32 0;
+#X connect 25 1 33 0;
+#X connect 26 0 33 0;
+#X connect 26 1 34 0;
+#X connect 27 0 34 0;
+#X connect 28 0 0 0;
+#X connect 28 0 20 1;
+#X connect 28 0 21 0;
+#X connect 29 0 1 0;
+#X connect 29 0 21 1;
+#X connect 29 0 22 0;
+#X connect 30 0 2 0;
+#X connect 30 0 22 1;
+#X connect 30 0 23 0;
+#X connect 31 0 3 0;
+#X connect 31 0 23 1;
+#X connect 31 0 24 0;
+#X connect 32 0 4 0;
+#X connect 32 0 24 1;
+#X connect 32 0 25 0;
+#X connect 33 0 5 0;
+#X connect 33 0 25 1;
+#X connect 33 0 26 0;
+#X connect 34 0 13 0;
+#X connect 34 0 26 1;
+#X connect 34 0 27 0;
+#X connect 37 0 39 0;
+#X connect 38 0 40 0;
+#X connect 39 0 38 0;
+#X connect 40 0 65 0;
+#X connect 41 0 43 0;
+#X connect 42 0 44 0;
+#X connect 43 0 42 0;
+#X connect 44 0 65 0;
+#X connect 45 0 47 0;
+#X connect 46 0 48 0;
+#X connect 47 0 46 0;
+#X connect 48 0 65 0;
+#X connect 48 0 66 0;
+#X connect 49 0 51 0;
+#X connect 50 0 52 0;
+#X connect 51 0 50 0;
+#X connect 52 0 65 0;
+#X connect 52 0 66 0;
+#X connect 53 0 55 0;
+#X connect 54 0 56 0;
+#X connect 55 0 54 0;
+#X connect 56 0 65 0;
+#X connect 56 0 66 0;
+#X connect 57 0 59 0;
+#X connect 58 0 60 0;
+#X connect 59 0 58 0;
+#X connect 60 0 66 0;
+#X connect 61 0 63 0;
+#X connect 62 0 64 0;
+#X connect 63 0 62 0;
+#X connect 64 0 66 0;
+#X connect 67 0 69 0;
+#X connect 67 0 70 0;
+#X connect 67 0 71 0;
+#X connect 67 0 72 0;
+#X connect 67 0 115 0;
+#X connect 67 0 116 0;
+#X connect 67 0 117 0;
+#X connect 69 0 78 0;
+#X connect 70 0 84 0;
+#X connect 71 0 90 0;
+#X connect 72 0 96 0;
+#X connect 73 0 75 0;
+#X connect 74 0 76 0;
+#X connect 75 0 74 0;
+#X connect 75 1 74 1;
+#X connect 76 0 77 0;
+#X connect 77 0 78 1;
+#X connect 78 0 68 0;
+#X connect 78 0 68 1;
+#X connect 79 0 81 0;
+#X connect 80 0 82 0;
+#X connect 81 0 80 0;
+#X connect 81 1 80 1;
+#X connect 82 0 83 0;
+#X connect 83 0 84 1;
+#X connect 84 0 68 0;
+#X connect 84 0 68 1;
+#X connect 85 0 87 0;
+#X connect 86 0 88 0;
+#X connect 87 0 86 0;
+#X connect 87 1 86 1;
+#X connect 88 0 89 0;
+#X connect 89 0 90 1;
+#X connect 90 0 68 1;
+#X connect 90 0 68 0;
+#X connect 91 0 93 0;
+#X connect 92 0 94 0;
+#X connect 93 0 92 0;
+#X connect 93 1 92 1;
+#X connect 94 0 95 0;
+#X connect 95 0 96 1;
+#X connect 96 0 68 1;
+#X connect 96 0 68 0;
+#X connect 97 0 99 0;
+#X connect 98 0 100 0;
+#X connect 99 0 98 0;
+#X connect 99 1 98 1;
+#X connect 100 0 101 0;
+#X connect 101 0 102 1;
+#X connect 102 0 68 0;
+#X connect 102 0 68 1;
+#X connect 103 0 105 0;
+#X connect 104 0 106 0;
+#X connect 105 0 104 0;
+#X connect 105 1 104 1;
+#X connect 106 0 107 0;
+#X connect 107 0 108 1;
+#X connect 108 0 68 1;
+#X connect 108 0 68 0;
+#X connect 109 0 111 0;
+#X connect 110 0 112 0;
+#X connect 111 0 110 0;
+#X connect 111 1 110 1;
+#X connect 112 0 113 0;
+#X connect 113 0 114 1;
+#X connect 114 0 68 1;
+#X connect 114 0 68 0;
+#X connect 115 0 102 0;
+#X connect 116 0 108 0;
+#X connect 117 0 114 0;
diff --git a/examples/03_chaos2D.pd b/examples/03_chaos2D.pd
index 3513b5d..705b587 100644
--- a/examples/03_chaos2D.pd
+++ b/examples/03_chaos2D.pd
@@ -1,180 +1,180 @@
-#N canvas 1 4 843 542 12;
-#X obj 16 98 t b b;
-#X obj 16 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 73 233 unpack s f f;
-#X obj 177 293 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 8300 1;
-#X obj 121 343 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 10100 1;
-#X obj 16 71 metro 50;
-#X msg 360 291 setK \$1;
-#X msg 434 265 setD \$1;
-#X msg 507 237 setM \$1;
-#X floatatom 360 216 5 0 20 0 - - -;
-#X floatatom 434 214 5 0 30 0 - - -;
-#X floatatom 507 214 5 3 100 0 - - -;
-#N canvas 796 335 379 269 gem 0;
-#X obj 197 20 gemhead;
-#X msg 47 96 0 \, destroy;
-#X obj 13 124 gemwin;
-#X obj 197 152 circle 0.5;
-#X obj 182 47 inlet;
-#X obj 182 72 unpack s f f;
-#X obj 197 124 translateXYZ;
-#X obj 13 19 inlet;
-#X obj 13 45 sel 1;
-#X obj 227 99 / 30;
-#X obj 273 99 / 30;
-#X msg 13 71 reset \, create \, 1;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 4 0 5 0;
-#X connect 5 1 9 0;
-#X connect 5 2 10 0;
-#X connect 6 0 3 0;
-#X connect 7 0 8 0;
-#X connect 8 0 11 0;
-#X connect 8 1 1 0;
-#X connect 9 0 6 1;
-#X connect 10 0 6 2;
-#X connect 11 0 2 0;
-#X restore 19 233 pd gem;
-#X obj 19 186 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 513 286 485 188 structure 0;
-#N canvas 272 241 298 174 link_left 0;
-#X obj 194 68 inlet;
-#X obj 194 121 outlet;
-#X obj 31 95 link2D \$0-link 70 1 0 0;
-#X obj 31 38 mass2D border_mass 1 -64 0;
-#X connect 0 0 2 1;
-#X connect 2 1 1 0;
-#X connect 3 0 2 0;
-#X restore 22 57 pd link_left;
-#N canvas 345 616 329 171 link_down 0;
-#X obj 181 53 inlet;
-#X obj 181 106 outlet;
-#X obj 18 80 link2D \$0-link 70 1 0 0;
-#X obj 18 23 mass2D border_mass 1 0 -64;
-#X connect 0 0 2 1;
-#X connect 2 1 1 0;
-#X connect 3 0 2 0;
-#X restore 117 90 pd link_down;
-#N canvas 506 199 290 152 link_up 0;
-#X obj 187 52 inlet;
-#X obj 187 105 outlet;
-#X obj 24 79 link2D \$0-link 70 1 0 0;
-#X obj 24 22 mass2D border_mass 1 0 64;
-#X connect 0 0 2 1;
-#X connect 2 1 1 0;
-#X connect 3 0 2 0;
-#X restore 121 29 pd link_up;
-#X obj 222 93 outlet;
-#N canvas 703 434 355 273 link_right 0;
-#X obj 191 65 inlet;
-#X obj 191 118 outlet;
-#X obj 28 92 link2D \$0-link 70 1 0 0;
-#X obj 28 35 mass2D border_mass 1 64 0;
-#X connect 0 0 2 1;
-#X connect 2 1 1 0;
-#X connect 3 0 2 0;
-#X restore 320 58 pd link_right;
-#X obj 120 57 mass2D \$0-mass 8 37 19;
-#X connect 0 0 5 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 4 0 5 0;
-#X connect 5 0 3 0;
-#X connect 5 0 2 0;
-#X connect 5 0 1 0;
-#X connect 5 0 0 0;
-#X connect 5 0 4 0;
-#X restore 62 206 pd structure;
-#X obj 360 265 / 10;
-#X obj 360 239 + 1;
-#X obj 64 100 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 30 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 434 190 0;
-#X obj 164 6 loadbang;
-#X obj 118 263 + 64;
-#X obj 164 263 + 64;
-#X obj 434 238 / 10;
-#X text 42 47 <- click here;
-#X msg 360 190 3;
-#X msg 164 61 resetF;
-#X obj 235 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 164 32 t b b;
-#X msg 177 83 force2D -100 140;
-#X obj 51 123 s \$0-link;
-#X obj 16 147 s \$0-mass;
-#X msg 199 108 reset;
-#X obj 507 265 s \$0-mass;
-#X obj 360 323 s \$0-link;
-#X text 269 8 <- reset the simulation;
-#X text 52 182 <- visualization (need gem);
-#X text 359 135 you can change physical properties of the system. take
-care of numerical instability (especially with fast movement);
-#X text 276 388 The mass is connected to the 4 borders of the screen
-with 4 link (without damping). The movement of the masss (should)
-follow a chaotic equation.;
-#X obj 40 445 osc~;
-#X obj 40 420 mtof;
-#X obj 40 395 line;
-#X obj 97 394 *;
-#X obj 39 471 *~;
-#X obj 97 445 line~;
-#X obj 39 497 dac~;
-#X obj 97 369 / 256;
-#X msg 97 419 \$1 100;
-#X msg 40 369 \$1 100;
-#X msg 507 189 20;
-#X connect 0 0 31 0;
-#X connect 0 1 30 0;
-#X connect 1 0 5 0;
-#X connect 2 1 21 0;
-#X connect 2 2 22 0;
-#X connect 5 0 0 0;
-#X connect 6 0 34 0;
-#X connect 7 0 34 0;
-#X connect 8 0 33 0;
-#X connect 9 0 16 0;
-#X connect 10 0 23 0;
-#X connect 11 0 8 0;
-#X connect 13 0 12 0;
-#X connect 14 0 2 0;
-#X connect 14 0 12 1;
-#X connect 15 0 6 0;
-#X connect 16 0 15 0;
-#X connect 17 0 30 0;
-#X connect 18 0 31 0;
-#X connect 19 0 10 0;
-#X connect 20 0 28 0;
-#X connect 21 0 4 0;
-#X connect 21 0 48 0;
-#X connect 22 0 3 0;
-#X connect 22 0 46 0;
-#X connect 23 0 7 0;
-#X connect 25 0 9 0;
-#X connect 26 0 30 0;
-#X connect 27 0 28 0;
-#X connect 28 0 26 0;
-#X connect 28 0 29 0;
-#X connect 28 1 32 0;
-#X connect 29 0 31 0;
-#X connect 32 0 31 0;
-#X connect 39 0 43 0;
-#X connect 40 0 39 0;
-#X connect 41 0 40 0;
-#X connect 42 0 47 0;
-#X connect 43 0 45 0;
-#X connect 43 0 45 1;
-#X connect 44 0 43 1;
-#X connect 46 0 42 1;
-#X connect 46 0 42 0;
-#X connect 47 0 44 0;
-#X connect 48 0 41 0;
-#X connect 49 0 11 0;
+#N canvas 1 91 864 550 12;
+#X obj 16 98 t b b;
+#X obj 16 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 73 233 unpack s f f;
+#X obj 177 293 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 8300 1;
+#X obj 121 343 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 10100 1;
+#X obj 16 71 metro 50;
+#X msg 360 291 setK \$1;
+#X msg 434 265 setD \$1;
+#X msg 507 237 setM \$1;
+#X floatatom 360 216 5 0 20 0 - - -;
+#X floatatom 434 214 5 0 30 0 - - -;
+#X floatatom 507 214 5 3 100 0 - - -;
+#N canvas 796 335 379 269 gem 0;
+#X obj 197 20 gemhead;
+#X msg 47 96 0 \, destroy;
+#X obj 13 124 gemwin;
+#X obj 197 152 circle 0.5;
+#X obj 182 47 inlet;
+#X obj 182 72 unpack s f f;
+#X obj 197 124 translateXYZ;
+#X obj 13 19 inlet;
+#X obj 13 45 sel 1;
+#X obj 227 99 / 30;
+#X obj 273 99 / 30;
+#X msg 13 71 reset \, create \, 1;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 4 0 5 0;
+#X connect 5 1 9 0;
+#X connect 5 2 10 0;
+#X connect 6 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 11 0;
+#X connect 8 1 1 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 2;
+#X connect 11 0 2 0;
+#X restore 19 233 pd gem;
+#X obj 19 186 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 513 286 485 188 structure 0;
+#N canvas 272 241 298 174 link_left 0;
+#X obj 194 68 inlet;
+#X obj 194 121 outlet;
+#X obj 31 95 link2D \$0-link 70 1 0 0;
+#X obj 31 38 mass2D border_mass 1 -64 0;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 22 57 pd link_left;
+#N canvas 345 616 329 171 link_down 0;
+#X obj 181 53 inlet;
+#X obj 181 106 outlet;
+#X obj 18 80 link2D \$0-link 70 1 0 0;
+#X obj 18 23 mass2D border_mass 1 0 -64;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 117 90 pd link_down;
+#N canvas 506 199 290 152 link_up 0;
+#X obj 187 52 inlet;
+#X obj 187 105 outlet;
+#X obj 24 79 link2D \$0-link 70 1 0 0;
+#X obj 24 22 mass2D border_mass 1 0 64;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 121 29 pd link_up;
+#X obj 222 93 outlet;
+#N canvas 703 434 355 273 link_right 0;
+#X obj 191 65 inlet;
+#X obj 191 118 outlet;
+#X obj 28 92 link2D \$0-link 70 1 0 0;
+#X obj 28 35 mass2D border_mass 1 64 0;
+#X connect 0 0 2 1;
+#X connect 2 1 1 0;
+#X connect 3 0 2 0;
+#X restore 320 58 pd link_right;
+#X obj 120 57 mass2D \$0-mass 8 37 19;
+#X connect 0 0 5 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 4 0 5 0;
+#X connect 5 0 3 0;
+#X connect 5 0 2 0;
+#X connect 5 0 1 0;
+#X connect 5 0 0 0;
+#X connect 5 0 4 0;
+#X restore 62 206 pd structure;
+#X obj 360 265 / 10;
+#X obj 360 239 + 1;
+#X obj 64 100 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 30 124 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 434 190 0;
+#X obj 164 6 loadbang;
+#X obj 118 263 + 64;
+#X obj 164 263 + 64;
+#X obj 434 238 / 10;
+#X text 42 47 <- click here;
+#X msg 360 190 3;
+#X msg 164 61 resetF;
+#X obj 235 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 164 32 t b b;
+#X msg 177 83 force2D -100 140;
+#X obj 51 123 s \$0-link;
+#X obj 16 147 s \$0-mass;
+#X msg 199 108 reset;
+#X obj 507 265 s \$0-mass;
+#X obj 360 323 s \$0-link;
+#X text 269 8 <- reset the simulation;
+#X text 52 182 <- visualization (need gem);
+#X text 359 135 you can change physical properties of the system. take
+care of numerical instability (especially with fast movement);
+#X text 276 388 The mass is connected to the 4 borders of the screen
+with 4 link (without damping). The movement of the masss (should) follow
+a chaotic equation.;
+#X obj 40 445 osc~;
+#X obj 40 420 mtof;
+#X obj 40 395 line;
+#X obj 97 394 *;
+#X obj 39 471 *~;
+#X obj 97 445 line~;
+#X obj 39 497 dac~;
+#X obj 97 369 / 256;
+#X msg 97 419 \$1 100;
+#X msg 40 369 \$1 100;
+#X msg 507 189 20;
+#X connect 0 0 31 0;
+#X connect 0 1 30 0;
+#X connect 1 0 5 0;
+#X connect 2 1 21 0;
+#X connect 2 2 22 0;
+#X connect 5 0 0 0;
+#X connect 6 0 34 0;
+#X connect 7 0 34 0;
+#X connect 8 0 33 0;
+#X connect 9 0 16 0;
+#X connect 10 0 23 0;
+#X connect 11 0 8 0;
+#X connect 13 0 12 0;
+#X connect 14 0 2 0;
+#X connect 14 0 12 1;
+#X connect 15 0 6 0;
+#X connect 16 0 15 0;
+#X connect 17 0 30 0;
+#X connect 18 0 31 0;
+#X connect 19 0 10 0;
+#X connect 20 0 28 0;
+#X connect 21 0 4 0;
+#X connect 21 0 48 0;
+#X connect 22 0 3 0;
+#X connect 22 0 46 0;
+#X connect 23 0 7 0;
+#X connect 25 0 9 0;
+#X connect 26 0 30 0;
+#X connect 27 0 28 0;
+#X connect 28 0 26 0;
+#X connect 28 0 29 0;
+#X connect 28 1 32 0;
+#X connect 29 0 31 0;
+#X connect 32 0 31 0;
+#X connect 39 0 43 0;
+#X connect 40 0 39 0;
+#X connect 41 0 40 0;
+#X connect 42 0 47 0;
+#X connect 43 0 45 0;
+#X connect 43 0 45 1;
+#X connect 44 0 43 1;
+#X connect 46 0 42 1;
+#X connect 46 0 42 0;
+#X connect 47 0 44 0;
+#X connect 48 0 41 0;
+#X connect 49 0 11 0;
diff --git a/examples/04_3D_exemple.pd b/examples/04_3D_exemple.pd
index 2cfdb7e..1500516 100644
--- a/examples/04_3D_exemple.pd
+++ b/examples/04_3D_exemple.pd
@@ -1,71 +1,73 @@
-#N canvas 21 21 607 384 12;
-#X obj 82 222 t b b;
-#X obj 82 198 metro 10;
-#X obj 82 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#N canvas 451 422 544 277 gem 0;
-#X obj 267 18 gemhead;
-#X msg 47 96 0 \, destroy;
-#X obj 252 45 inlet;
-#X obj 267 146 translateXYZ;
-#X obj 13 19 inlet;
-#X obj 13 45 sel 1;
-#X obj 252 70 unpack s f f f;
-#X obj 13 124 gemwin 50;
-#X msg 13 71 reset \, lighting 1 \, create \, 1;
-#X obj 421 50 gemhead;
-#X obj 419 74 world_light;
-#X msg 342 193 20;
-#X obj 342 170 loadbang;
-#X obj 228 110 pack f f f;
-#X obj 267 216 sphere 0.1;
-#X obj 377 109 gemhead;
-#X obj 376 220 sphere 1;
-#X obj 377 135 alpha;
-#X obj 376 196 color 1 1 1 0.5;
-#X connect 0 0 3 0;
-#X connect 1 0 7 0;
-#X connect 2 0 6 0;
-#X connect 3 0 14 0;
-#X connect 4 0 5 0;
-#X connect 5 0 8 0;
-#X connect 5 1 1 0;
-#X connect 6 1 3 1;
-#X connect 6 1 13 0;
-#X connect 6 2 3 2;
-#X connect 6 2 13 1;
-#X connect 6 3 3 3;
-#X connect 6 3 13 2;
-#X connect 8 0 7 0;
-#X connect 9 0 10 0;
-#X connect 11 0 14 2;
-#X connect 11 0 16 2;
-#X connect 12 0 11 0;
-#X connect 15 0 17 0;
-#X connect 17 0 18 0;
-#X connect 18 0 16 0;
-#X restore 39 323 pd gem;
-#X obj 39 299 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 207 181 force3D 1 0 0;
-#X msg 215 204 force3D 0 1 0;
-#X msg 223 227 force3D 0 0 1;
-#X text 112 160 <- start here;
-#X text 62 296 <- gem simulation;
-#X text 347 205 <- send X \, Y \, Z forces;
-#X obj 82 264 mass3D 0 10;
-#X obj 189 264 link3D 0 1 1 1 0.03;
-#X text 73 12 simulation of a 3D model. The small sphere is link in
-the center of the big one with a 3D link. This link has the same diametter
-than the big sphere.;
-#X connect 0 0 11 0;
-#X connect 0 1 12 0;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 11 0;
-#X connect 6 0 11 0;
-#X connect 7 0 11 0;
-#X connect 11 0 12 0;
-#X connect 11 0 3 1;
-#X connect 12 0 11 0;
+#N canvas 17 91 607 384 12;
+#X declare -lib Gem;
+#X obj 82 222 t b b;
+#X obj 82 198 metro 10;
+#X obj 82 164 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#N canvas 451 422 544 277 gem 0;
+#X obj 267 18 gemhead;
+#X msg 47 96 0 \, destroy;
+#X obj 252 45 inlet;
+#X obj 267 146 translateXYZ;
+#X obj 13 19 inlet;
+#X obj 13 45 sel 1;
+#X obj 252 70 unpack s f f f;
+#X obj 13 124 gemwin 50;
+#X msg 13 71 reset \, lighting 1 \, create \, 1;
+#X obj 421 50 gemhead;
+#X obj 419 74 world_light;
+#X msg 342 193 20;
+#X obj 342 170 loadbang;
+#X obj 228 110 pack f f f;
+#X obj 267 216 sphere 0.1;
+#X obj 377 109 gemhead;
+#X obj 376 220 sphere 1;
+#X obj 377 135 alpha;
+#X obj 376 196 color 1 1 1 0.5;
+#X connect 0 0 3 0;
+#X connect 1 0 7 0;
+#X connect 2 0 6 0;
+#X connect 3 0 14 0;
+#X connect 4 0 5 0;
+#X connect 5 0 8 0;
+#X connect 5 1 1 0;
+#X connect 6 1 3 1;
+#X connect 6 1 13 0;
+#X connect 6 2 3 2;
+#X connect 6 2 13 1;
+#X connect 6 3 3 3;
+#X connect 6 3 13 2;
+#X connect 8 0 7 0;
+#X connect 9 0 10 0;
+#X connect 11 0 14 2;
+#X connect 11 0 16 2;
+#X connect 12 0 11 0;
+#X connect 15 0 17 0;
+#X connect 17 0 18 0;
+#X connect 18 0 16 0;
+#X restore 39 323 pd gem;
+#X obj 39 299 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 207 181 force3D 1 0 0;
+#X msg 215 204 force3D 0 1 0;
+#X msg 223 227 force3D 0 0 1;
+#X text 112 160 <- start here;
+#X text 62 296 <- gem simulation;
+#X text 347 205 <- send X \, Y \, Z forces;
+#X obj 82 264 mass3D 0 10;
+#X obj 189 264 link3D 0 1 1 1 0.03;
+#X text 76 61 simulation of a 3D model. The small sphere is link in
+the center of the big one with a 3D link. This link has the same diametter
+than the big sphere.;
+#X obj 74 22 declare -lib Gem;
+#X connect 0 0 11 0;
+#X connect 0 1 12 0;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 6 0 11 0;
+#X connect 7 0 11 0;
+#X connect 11 0 12 0;
+#X connect 11 0 3 1;
+#X connect 12 0 11 0;
diff --git a/examples/05_corde2D.pd b/examples/05_corde2D.pd
index 7855ead..0f9674c 100644
--- a/examples/05_corde2D.pd
+++ b/examples/05_corde2D.pd
@@ -1,452 +1,453 @@
-#N canvas 80 32 844 550 12;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 143 446 pd mass;
-#X obj 62 214 s link;
-#X obj 27 239 s mass;
-#X obj 397 308 s mass;
-#X msg 184 199 setK \$1;
-#X msg 399 149 setM \$1;
-#X obj 184 231 s link;
-#X obj 399 177 s mass;
-#X obj 184 173 / 10;
-#X obj 184 147 + 1;
-#X obj 508 151 gemwin;
-#X msg 515 122 0 \, destroy;
-#X floatatom 184 125 5 10 100 0 - - -;
-#X floatatom 245 127 5 0 3 0 - - -;
-#X floatatom 399 126 5 20 500 0 - - -;
-#X msg 411 278 force2D 2000 0;
-#X obj 27 163 metro 10;
-#X obj 27 187 t b b;
-#X msg 396 335 force2D 0 5000;
-#X msg 184 101 50;
-#X msg 245 101 1;
-#X msg 399 102 200;
-#X obj 868 143 world_light;
-#X obj 868 84 gemhead;
-#X obj 868 114 rotateXYZ;
-#X msg 397 250 force2D 0 1000;
-#X msg 245 150 setD \$1;
-#X obj 27 9 loadbang;
-#X msg 108 99 reset;
-#X obj 108 126 s mass;
-#X obj 27 40 t b b b b;
-#X msg 49 100 resetF;
-#X obj 49 127 s link;
-#X floatatom 321 127 5 0 3 0 - - -;
-#X msg 321 101 1;
-#X msg 321 150 setD2 \$1;
-#N canvas 306 123 570 357 mass 0;
-#X obj 24 99 outlet;
-#X obj 145 98 gemhead;
-#X obj 137 134 unpack s f f;
-#X obj 143 190 translateXYZ 0 0 0;
-#X obj 144 224 sphere 0.3;
-#X obj 185 160 / 100;
-#X obj 228 161 / 100;
-#X obj 25 70 mass2D mass2 10 -300 0;
-#X connect 1 0 3 0;
-#X connect 2 1 5 0;
-#X connect 2 2 6 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 0 0;
-#X connect 7 0 2 0;
-#X restore 11 383 pd mass;
-#X msg 396 366 force2D 5000 0;
-#X text 461 7 2D string;
-#X text 542 250 <- send Y force to all masss;
-#X text 544 279 <- send X force to all masss;
-#X text 540 335 <- send Y force to 2 masss;
-#X text 542 364 <- send X force to 1 masss;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 281 449 pd mass;
-#X obj 11 409 link2D link 30 1 1;
-#X obj 158 408 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 432 446 pd mass;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 570 449 pd mass;
-#X obj 300 409 link2D link 30 1 1;
-#X obj 447 408 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 719 449 pd mass;
-#X obj 596 408 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 870 446 pd mass;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 1008 449 pd mass;
-#X obj 738 409 link2D link 30 1 1;
-#X obj 885 408 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 156 589 pd mass;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 294 592 pd mass;
-#X obj 24 552 link2D link 30 1 1;
-#X obj 171 551 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 445 589 pd mass;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 583 592 pd mass;
-#X obj 313 552 link2D link 30 1 1;
-#X obj 460 551 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 732 592 pd mass;
-#X obj 609 551 link2D link 30 1 1;
-#N canvas 306 123 261 242 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X connect 0 0 8 0;
-#X connect 2 0 4 0;
-#X connect 3 1 6 0;
-#X connect 3 2 7 0;
-#X connect 4 0 5 0;
-#X connect 6 0 4 1;
-#X connect 7 0 4 2;
-#X connect 8 0 1 0;
-#X connect 8 0 3 0;
-#X restore 883 589 pd mass;
-#N canvas 306 123 265 246 mass 0;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 83 197 sphere 0.3;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass2 10 300;
-#X connect 1 0 3 0;
-#X connect 2 1 5 0;
-#X connect 2 2 6 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 0 0;
-#X connect 7 0 2 0;
-#X restore 1021 524 pd mass;
-#X obj 751 552 link2D link 30 1 1;
-#X obj 898 551 link2D link 30 1 1;
-#X msg 508 95 reset \, lighting 1 \, create \, 1;
-#X obj 112 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X text 325 23 masss are link together like in an elastic string.
-;
-#X text 30 652 The extrem right and extreme left masss are fixed :
-the does not receive a force. they are neaded for the model to be link
-to a special point in the screen.;
-#X text 742 94 <- 1;
-#X connect 0 0 44 1;
-#X connect 0 0 45 0;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 8 0 4 0;
-#X connect 9 0 8 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 13 0 26 0;
-#X connect 14 0 5 0;
-#X connect 15 0 3 0;
-#X connect 16 0 17 0;
-#X connect 17 0 2 0;
-#X connect 17 1 1 0;
-#X connect 18 0 0 0;
-#X connect 18 0 43 0;
-#X connect 19 0 12 0;
-#X connect 20 0 13 0;
-#X connect 21 0 14 0;
-#X connect 23 0 24 0;
-#X connect 24 0 22 0;
-#X connect 25 0 3 0;
-#X connect 26 0 6 0;
-#X connect 27 0 30 0;
-#X connect 28 0 29 0;
-#X connect 30 0 16 0;
-#X connect 30 1 31 0;
-#X connect 30 2 28 0;
-#X connect 30 3 19 0;
-#X connect 30 3 20 0;
-#X connect 30 3 21 0;
-#X connect 30 3 34 0;
-#X connect 31 0 32 0;
-#X connect 33 0 35 0;
-#X connect 34 0 33 0;
-#X connect 35 0 6 0;
-#X connect 36 0 44 0;
-#X connect 37 0 46 0;
-#X connect 43 0 45 1;
-#X connect 43 0 48 0;
-#X connect 44 1 0 0;
-#X connect 45 0 0 0;
-#X connect 45 1 43 0;
-#X connect 46 0 48 1;
-#X connect 46 0 49 0;
-#X connect 47 0 49 1;
-#X connect 47 0 51 0;
-#X connect 48 0 43 0;
-#X connect 48 1 46 0;
-#X connect 49 0 46 0;
-#X connect 49 1 47 0;
-#X connect 50 0 51 1;
-#X connect 50 0 54 0;
-#X connect 51 0 47 0;
-#X connect 51 1 50 0;
-#X connect 52 0 54 1;
-#X connect 52 0 55 0;
-#X connect 53 0 55 1;
-#X connect 53 0 58 0;
-#X connect 54 0 50 0;
-#X connect 54 1 52 0;
-#X connect 55 0 52 0;
-#X connect 55 1 53 0;
-#X connect 56 0 58 1;
-#X connect 56 0 59 0;
-#X connect 57 0 59 1;
-#X connect 57 0 62 0;
-#X connect 58 0 53 0;
-#X connect 58 1 56 0;
-#X connect 59 0 56 0;
-#X connect 59 1 57 0;
-#X connect 60 0 62 1;
-#X connect 60 0 63 0;
-#X connect 61 0 63 1;
-#X connect 61 0 65 0;
-#X connect 62 0 57 0;
-#X connect 62 1 60 0;
-#X connect 63 0 60 0;
-#X connect 63 1 61 0;
-#X connect 64 0 65 1;
-#X connect 64 0 68 0;
-#X connect 65 0 61 0;
-#X connect 65 1 64 0;
-#X connect 66 0 68 1;
-#X connect 66 0 69 0;
-#X connect 67 0 69 1;
-#X connect 68 0 64 0;
-#X connect 68 1 66 0;
-#X connect 69 0 66 0;
-#X connect 70 0 10 0;
-#X connect 71 0 30 0;
+#N canvas 76 91 844 550 12;
+#X declare -lib Gem;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 143 446 pd mass;
+#X obj 62 214 s link;
+#X obj 27 239 s mass;
+#X obj 397 308 s mass;
+#X msg 184 199 setK \$1;
+#X msg 399 149 setM \$1;
+#X obj 184 231 s link;
+#X obj 399 177 s mass;
+#X obj 184 173 / 10;
+#X obj 184 147 + 1;
+#X obj 508 151 gemwin;
+#X msg 515 122 0 \, destroy;
+#X floatatom 184 125 5 10 100 0 - - -;
+#X floatatom 245 127 5 0 3 0 - - -;
+#X floatatom 399 126 5 20 500 0 - - -;
+#X msg 411 278 force2D 2000 0;
+#X obj 27 163 metro 10;
+#X obj 27 187 t b b;
+#X msg 396 335 force2D 0 5000;
+#X msg 184 101 50;
+#X msg 245 101 1;
+#X msg 399 102 200;
+#X obj 868 143 world_light;
+#X obj 868 84 gemhead;
+#X obj 868 114 rotateXYZ;
+#X msg 397 250 force2D 0 1000;
+#X msg 245 150 setD \$1;
+#X obj 27 9 loadbang;
+#X msg 108 99 reset;
+#X obj 108 126 s mass;
+#X obj 27 40 t b b b b;
+#X msg 49 100 resetF;
+#X obj 49 127 s link;
+#X floatatom 321 127 5 0 3 0 - - -;
+#X msg 321 101 1;
+#X msg 321 150 setD2 \$1;
+#N canvas 306 123 570 357 mass 0;
+#X obj 24 99 outlet;
+#X obj 145 98 gemhead;
+#X obj 137 134 unpack s f f;
+#X obj 143 190 translateXYZ 0 0 0;
+#X obj 144 224 sphere 0.3;
+#X obj 185 160 / 100;
+#X obj 228 161 / 100;
+#X obj 25 70 mass2D mass2 10 -300 0;
+#X connect 1 0 3 0;
+#X connect 2 1 5 0;
+#X connect 2 2 6 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X restore 11 383 pd mass;
+#X msg 396 366 force2D 5000 0;
+#X text 461 7 2D string;
+#X text 542 250 <- send Y force to all masss;
+#X text 544 279 <- send X force to all masss;
+#X text 540 335 <- send Y force to 2 masss;
+#X text 542 364 <- send X force to 1 masss;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 281 449 pd mass;
+#X obj 11 409 link2D link 30 1 1;
+#X obj 158 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 432 446 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 570 449 pd mass;
+#X obj 300 409 link2D link 30 1 1;
+#X obj 447 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 719 449 pd mass;
+#X obj 596 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 870 446 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 1008 449 pd mass;
+#X obj 738 409 link2D link 30 1 1;
+#X obj 885 408 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 156 589 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 294 592 pd mass;
+#X obj 24 552 link2D link 30 1 1;
+#X obj 171 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 445 589 pd mass;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 583 592 pd mass;
+#X obj 313 552 link2D link 30 1 1;
+#X obj 460 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 732 592 pd mass;
+#X obj 609 551 link2D link 30 1 1;
+#N canvas 306 123 261 242 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X connect 0 0 8 0;
+#X connect 2 0 4 0;
+#X connect 3 1 6 0;
+#X connect 3 2 7 0;
+#X connect 4 0 5 0;
+#X connect 6 0 4 1;
+#X connect 7 0 4 2;
+#X connect 8 0 1 0;
+#X connect 8 0 3 0;
+#X restore 883 589 pd mass;
+#N canvas 306 123 265 246 mass 0;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 83 197 sphere 0.3;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass2 10 300;
+#X connect 1 0 3 0;
+#X connect 2 1 5 0;
+#X connect 2 2 6 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X restore 1021 524 pd mass;
+#X obj 751 552 link2D link 30 1 1;
+#X obj 898 551 link2D link 30 1 1;
+#X msg 508 95 reset \, lighting 1 \, create \, 1;
+#X obj 112 15 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X text 325 23 masss are link together like in an elastic string.;
+#X text 30 652 The extrem right and extreme left masss are fixed :
+the does not receive a force. they are neaded for the model to be link
+to a special point in the screen.;
+#X text 742 94 <- 1;
+#X obj 443 44 declare -lib Gem;
+#X connect 0 0 44 1;
+#X connect 0 0 45 0;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 9 0;
+#X connect 13 0 26 0;
+#X connect 14 0 5 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 2 0;
+#X connect 17 1 1 0;
+#X connect 18 0 0 0;
+#X connect 18 0 43 0;
+#X connect 19 0 12 0;
+#X connect 20 0 13 0;
+#X connect 21 0 14 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 0;
+#X connect 25 0 3 0;
+#X connect 26 0 6 0;
+#X connect 27 0 30 0;
+#X connect 28 0 29 0;
+#X connect 30 0 16 0;
+#X connect 30 1 31 0;
+#X connect 30 2 28 0;
+#X connect 30 3 19 0;
+#X connect 30 3 20 0;
+#X connect 30 3 21 0;
+#X connect 30 3 34 0;
+#X connect 31 0 32 0;
+#X connect 33 0 35 0;
+#X connect 34 0 33 0;
+#X connect 35 0 6 0;
+#X connect 36 0 44 0;
+#X connect 37 0 46 0;
+#X connect 43 0 45 1;
+#X connect 43 0 48 0;
+#X connect 44 1 0 0;
+#X connect 45 0 0 0;
+#X connect 45 1 43 0;
+#X connect 46 0 48 1;
+#X connect 46 0 49 0;
+#X connect 47 0 49 1;
+#X connect 47 0 51 0;
+#X connect 48 0 43 0;
+#X connect 48 1 46 0;
+#X connect 49 0 46 0;
+#X connect 49 1 47 0;
+#X connect 50 0 51 1;
+#X connect 50 0 54 0;
+#X connect 51 0 47 0;
+#X connect 51 1 50 0;
+#X connect 52 0 54 1;
+#X connect 52 0 55 0;
+#X connect 53 0 55 1;
+#X connect 53 0 58 0;
+#X connect 54 0 50 0;
+#X connect 54 1 52 0;
+#X connect 55 0 52 0;
+#X connect 55 1 53 0;
+#X connect 56 0 58 1;
+#X connect 56 0 59 0;
+#X connect 57 0 59 1;
+#X connect 57 0 62 0;
+#X connect 58 0 53 0;
+#X connect 58 1 56 0;
+#X connect 59 0 56 0;
+#X connect 59 1 57 0;
+#X connect 60 0 62 1;
+#X connect 60 0 63 0;
+#X connect 61 0 63 1;
+#X connect 61 0 65 0;
+#X connect 62 0 57 0;
+#X connect 62 1 60 0;
+#X connect 63 0 60 0;
+#X connect 63 1 61 0;
+#X connect 64 0 65 1;
+#X connect 64 0 68 0;
+#X connect 65 0 61 0;
+#X connect 65 1 64 0;
+#X connect 66 0 68 1;
+#X connect 66 0 69 0;
+#X connect 67 0 69 1;
+#X connect 68 0 64 0;
+#X connect 68 1 66 0;
+#X connect 69 0 66 0;
+#X connect 70 0 10 0;
+#X connect 71 0 30 0;
diff --git a/examples/06_pyramide3D.pd b/examples/06_pyramide3D.pd
index 79768d7..dcfde44 100644
--- a/examples/06_pyramide3D.pd
+++ b/examples/06_pyramide3D.pd
@@ -1,249 +1,251 @@
-#N canvas 516 258 695 581 12;
-#N canvas 381 0 941 947 forme 0;
-#X obj 22 676 translateXYZ;
-#X obj 16 646 unpack s f f f;
-#X obj 22 705 sphere 0.3;
-#X obj 143 676 translateXYZ;
-#X obj 137 646 unpack s f f f;
-#X obj 143 705 sphere 0.3;
-#X obj 391 677 translateXYZ;
-#X obj 385 647 unpack s f f f;
-#X obj 391 706 sphere 0.3;
-#X obj 264 678 translateXYZ;
-#X obj 258 648 unpack s f f f;
-#X obj 264 707 sphere 0.3;
-#X obj 303 15 inlet;
-#X obj 11 762 gemhead;
-#X obj 22 605 gemhead;
-#X obj 142 606 gemhead;
-#X obj 264 604 gemhead;
-#X obj 390 604 gemhead;
-#X msg 31 811 \$1 \$2 \$3;
-#X msg 62 788 \$1 \$2 \$3;
-#X obj 235 766 gemhead;
-#X msg 269 816 \$1 \$2 \$3;
-#X msg 286 788 \$1 \$2 \$3;
-#X obj 360 764 gemhead;
-#X msg 394 814 \$1 \$2 \$3;
-#X msg 411 790 \$1 \$2 \$3;
-#X obj 475 764 gemhead;
-#X msg 509 813 \$1 \$2 \$3;
-#X msg 526 789 \$1 \$2 \$3;
-#X obj 581 763 gemhead;
-#X msg 615 813 \$1 \$2 \$3;
-#X msg 632 789 \$1 \$2 \$3;
-#X obj 11 842 curve 2;
-#X obj 236 846 curve 2;
-#X obj 360 844 curve 2;
-#X obj 581 843 curve 2;
-#X obj 120 761 gemhead;
-#X msg 140 810 \$1 \$2 \$3;
-#X msg 171 787 \$1 \$2 \$3;
-#X obj 120 841 curve 2;
-#X obj 718 762 gemhead;
-#X msg 738 811 \$1 \$2 \$3;
-#X obj 718 842 curve 2;
-#X obj 475 843 curve 2;
-#X obj 27 283 mass3D mass 10 -1 0 0;
-#X obj 107 123 link3D link 1 3 1 0.1;
-#X obj 322 63 mass3D mass 10 1 0 0;
-#X obj 422 138 link3D link 1 3 1 0.1;
-#X obj 289 246 link3D link 1 3 1 0.1;
-#X obj 276 306 link3D link 1 3 1 0.1;
-#X obj 91 403 link3D link 1 3 1 0.1;
-#X obj 287 486 mass3D mass 10 0 1 0;
-#X obj 458 375 link3D link 1 3 1 0.1;
-#X obj 570 273 mass3D mass 10 0 0;
-#X obj 758 271 link3D link2 1 0.6 0 0;
-#X connect 0 0 2 0;
-#X connect 1 1 0 1;
-#X connect 1 2 0 2;
-#X connect 1 3 0 3;
-#X connect 3 0 5 0;
-#X connect 4 1 3 1;
-#X connect 4 2 3 2;
-#X connect 4 3 3 3;
-#X connect 6 0 8 0;
-#X connect 7 1 6 1;
-#X connect 7 2 6 2;
-#X connect 7 3 6 3;
-#X connect 9 0 11 0;
-#X connect 10 1 9 1;
-#X connect 10 2 9 2;
-#X connect 10 3 9 3;
-#X connect 12 0 46 0;
-#X connect 13 0 32 0;
-#X connect 14 0 0 0;
-#X connect 15 0 3 0;
-#X connect 16 0 9 0;
-#X connect 17 0 6 0;
-#X connect 18 0 32 1;
-#X connect 19 0 32 2;
-#X connect 20 0 33 0;
-#X connect 21 0 33 1;
-#X connect 22 0 33 2;
-#X connect 23 0 34 0;
-#X connect 24 0 34 1;
-#X connect 25 0 34 2;
-#X connect 26 0 43 0;
-#X connect 27 0 43 1;
-#X connect 28 0 43 2;
-#X connect 29 0 35 0;
-#X connect 30 0 35 1;
-#X connect 31 0 35 2;
-#X connect 36 0 39 0;
-#X connect 37 0 39 1;
-#X connect 38 0 39 2;
-#X connect 40 0 42 0;
-#X connect 41 0 42 1;
-#X connect 44 0 50 0;
-#X connect 44 0 45 0;
-#X connect 44 0 48 0;
-#X connect 44 0 1 0;
-#X connect 44 0 18 0;
-#X connect 44 0 37 0;
-#X connect 44 0 21 0;
-#X connect 45 0 44 0;
-#X connect 45 1 46 0;
-#X connect 46 0 45 1;
-#X connect 46 0 47 0;
-#X connect 46 0 49 1;
-#X connect 46 0 4 0;
-#X connect 46 0 22 0;
-#X connect 46 0 28 0;
-#X connect 46 0 30 0;
-#X connect 47 0 46 0;
-#X connect 47 1 53 0;
-#X connect 48 0 44 0;
-#X connect 48 1 53 0;
-#X connect 49 0 51 0;
-#X connect 49 1 46 0;
-#X connect 50 0 44 0;
-#X connect 50 1 51 0;
-#X connect 51 0 50 1;
-#X connect 51 0 52 0;
-#X connect 51 0 49 0;
-#X connect 51 0 10 0;
-#X connect 51 0 19 0;
-#X connect 51 0 24 0;
-#X connect 51 0 27 0;
-#X connect 52 0 51 0;
-#X connect 52 1 53 0;
-#X connect 53 0 52 1;
-#X connect 53 0 48 1;
-#X connect 53 0 7 0;
-#X connect 53 0 38 0;
-#X connect 53 0 25 0;
-#X connect 53 0 31 0;
-#X connect 53 0 41 0;
-#X connect 53 0 47 1;
-#X connect 53 0 54 0;
-#X connect 54 0 53 0;
-#X restore 39 472 pd forme;
-#X obj 10 26 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 78 105 s link;
-#X obj 10 104 s mass;
-#X obj 36 343 s mass;
-#X obj 10 47 metro 50;
-#X msg 193 73 destroy;
-#X msg 166 48 reset \, create \, 1 \, lighting 1;
-#X obj 166 106 gemwin;
-#X obj 458 107 world_light;
-#X obj 78 129 s link2;
-#X msg 36 242 force3D 0 0 1;
-#X msg 44 266 force3D 0 1 0;
-#X msg 53 290 force3D 1 0 0;
-#X obj 458 82 gemhead 1;
-#X msg 39 385 force3D 0 0 10;
-#X msg 45 409 force3D 0 10 0;
-#X msg 54 433 force3D 10 0 0;
-#X msg 61 314 force3D 2 1 1;
-#X obj 10 73 t b b;
-#N canvas 518 337 782 499 change 0;
-#X msg 102 189 setK \$1;
-#X msg 170 189 setD \$1;
-#X msg 33 73 setM \$1;
-#X floatatom 102 162 5 0 0 0 - - -;
-#X floatatom 170 162 5 0 0 0 - - -;
-#X floatatom 33 50 5 5 100 0 - - -;
-#X obj 33 216 s link;
-#X obj 33 99 s mass;
-#X floatatom 33 163 5 0 0 0 - - -;
-#X msg 33 189 setL \$1;
-#X obj 36 380 s link2;
-#X floatatom 36 297 5 0 0 0 - - -;
-#X msg 36 319 setL \$1;
-#X msg 33 140 1;
-#X msg 171 140 1;
-#X msg 102 139 3;
-#X msg 33 26 10;
-#X msg 102 319 setK \$1;
-#X msg 170 319 setD \$1;
-#X floatatom 102 293 5 0 0 0 - - -;
-#X floatatom 170 293 5 0 0 0 - - -;
-#X text 106 27 <- default value;
-#X text 109 100 weight of the mass;
-#X text 317 137 <- default values;
-#X text 315 189 pyramide linkison properties;
-#X text 257 270 <- default values;
-#X text 258 318 linkison beetween the pyramide and a fixed point (0
-\, 0 \, 0);
-#X msg 36 273 1;
-#X msg 102 270 0.6;
-#X msg 171 271 0;
-#X floatatom 238 162 5 0 0 0 - - -;
-#X msg 238 189 setD2 \$1;
-#X msg 239 140 0.1;
-#X text 36 429 take care to extrem values;
-#X connect 0 0 6 0;
-#X connect 1 0 6 0;
-#X connect 2 0 7 0;
-#X connect 3 0 0 0;
-#X connect 4 0 1 0;
-#X connect 5 0 2 0;
-#X connect 8 0 9 0;
-#X connect 9 0 6 0;
-#X connect 11 0 12 0;
-#X connect 12 0 10 0;
-#X connect 13 0 8 0;
-#X connect 14 0 4 0;
-#X connect 15 0 3 0;
-#X connect 16 0 5 0;
-#X connect 17 0 10 0;
-#X connect 18 0 10 0;
-#X connect 19 0 17 0;
-#X connect 20 0 18 0;
-#X connect 27 0 11 0;
-#X connect 28 0 19 0;
-#X connect 29 0 20 0;
-#X connect 30 0 31 0;
-#X connect 31 0 6 0;
-#X connect 32 0 30 0;
-#X restore 459 44 pd change physical properties;
-#X text 215 262 <- send forces to the 4 masss;
-#X text 225 378 <- send forces to a masss;
-#X text 227 474 <- structure and gem stuff;
-#X text 76 168 4 masss are all link together \, with the same kind
-of link.;
-#X text 73 193 A link is add to a mass \, for the structure to stay
-in the screen.;
-#X text 89 552 If the line does not display corectly \, you sould upgrade
-GEM;
-#X text 44 22 <- 1;
-#X text 399 48 <- 2;
-#X connect 1 0 5 0;
-#X connect 5 0 19 0;
-#X connect 6 0 8 0;
-#X connect 7 0 8 0;
-#X connect 11 0 4 0;
-#X connect 12 0 4 0;
-#X connect 13 0 4 0;
-#X connect 14 0 9 0;
-#X connect 15 0 0 0;
-#X connect 16 0 0 0;
-#X connect 17 0 0 0;
-#X connect 18 0 4 0;
-#X connect 19 0 3 0;
-#X connect 19 1 2 0;
-#X connect 19 1 10 0;
+#N canvas 512 272 695 581 12;
+#X declare -lib Gem;
+#N canvas 381 0 941 947 forme 0;
+#X obj 22 676 translateXYZ;
+#X obj 16 646 unpack s f f f;
+#X obj 22 705 sphere 0.3;
+#X obj 143 676 translateXYZ;
+#X obj 137 646 unpack s f f f;
+#X obj 143 705 sphere 0.3;
+#X obj 391 677 translateXYZ;
+#X obj 385 647 unpack s f f f;
+#X obj 391 706 sphere 0.3;
+#X obj 264 678 translateXYZ;
+#X obj 258 648 unpack s f f f;
+#X obj 264 707 sphere 0.3;
+#X obj 303 15 inlet;
+#X obj 11 762 gemhead;
+#X obj 22 605 gemhead;
+#X obj 142 606 gemhead;
+#X obj 264 604 gemhead;
+#X obj 390 604 gemhead;
+#X msg 31 811 \$1 \$2 \$3;
+#X msg 62 788 \$1 \$2 \$3;
+#X obj 235 766 gemhead;
+#X msg 269 816 \$1 \$2 \$3;
+#X msg 286 788 \$1 \$2 \$3;
+#X obj 360 764 gemhead;
+#X msg 394 814 \$1 \$2 \$3;
+#X msg 411 790 \$1 \$2 \$3;
+#X obj 475 764 gemhead;
+#X msg 509 813 \$1 \$2 \$3;
+#X msg 526 789 \$1 \$2 \$3;
+#X obj 581 763 gemhead;
+#X msg 615 813 \$1 \$2 \$3;
+#X msg 632 789 \$1 \$2 \$3;
+#X obj 11 842 curve 2;
+#X obj 236 846 curve 2;
+#X obj 360 844 curve 2;
+#X obj 581 843 curve 2;
+#X obj 120 761 gemhead;
+#X msg 140 810 \$1 \$2 \$3;
+#X msg 171 787 \$1 \$2 \$3;
+#X obj 120 841 curve 2;
+#X obj 718 762 gemhead;
+#X msg 738 811 \$1 \$2 \$3;
+#X obj 718 842 curve 2;
+#X obj 475 843 curve 2;
+#X obj 27 283 mass3D mass 10 -1 0 0;
+#X obj 107 123 link3D link 1 3 1 0.1;
+#X obj 322 63 mass3D mass 10 1 0 0;
+#X obj 422 138 link3D link 1 3 1 0.1;
+#X obj 289 246 link3D link 1 3 1 0.1;
+#X obj 276 306 link3D link 1 3 1 0.1;
+#X obj 91 403 link3D link 1 3 1 0.1;
+#X obj 287 486 mass3D mass 10 0 1 0;
+#X obj 458 375 link3D link 1 3 1 0.1;
+#X obj 570 273 mass3D mass 10 0 0;
+#X obj 758 271 link3D link2 1 0.6 0 0;
+#X connect 0 0 2 0;
+#X connect 1 1 0 1;
+#X connect 1 2 0 2;
+#X connect 1 3 0 3;
+#X connect 3 0 5 0;
+#X connect 4 1 3 1;
+#X connect 4 2 3 2;
+#X connect 4 3 3 3;
+#X connect 6 0 8 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 7 3 6 3;
+#X connect 9 0 11 0;
+#X connect 10 1 9 1;
+#X connect 10 2 9 2;
+#X connect 10 3 9 3;
+#X connect 12 0 46 0;
+#X connect 13 0 32 0;
+#X connect 14 0 0 0;
+#X connect 15 0 3 0;
+#X connect 16 0 9 0;
+#X connect 17 0 6 0;
+#X connect 18 0 32 1;
+#X connect 19 0 32 2;
+#X connect 20 0 33 0;
+#X connect 21 0 33 1;
+#X connect 22 0 33 2;
+#X connect 23 0 34 0;
+#X connect 24 0 34 1;
+#X connect 25 0 34 2;
+#X connect 26 0 43 0;
+#X connect 27 0 43 1;
+#X connect 28 0 43 2;
+#X connect 29 0 35 0;
+#X connect 30 0 35 1;
+#X connect 31 0 35 2;
+#X connect 36 0 39 0;
+#X connect 37 0 39 1;
+#X connect 38 0 39 2;
+#X connect 40 0 42 0;
+#X connect 41 0 42 1;
+#X connect 44 0 50 0;
+#X connect 44 0 45 0;
+#X connect 44 0 48 0;
+#X connect 44 0 1 0;
+#X connect 44 0 18 0;
+#X connect 44 0 37 0;
+#X connect 44 0 21 0;
+#X connect 45 0 44 0;
+#X connect 45 1 46 0;
+#X connect 46 0 45 1;
+#X connect 46 0 47 0;
+#X connect 46 0 49 1;
+#X connect 46 0 4 0;
+#X connect 46 0 22 0;
+#X connect 46 0 28 0;
+#X connect 46 0 30 0;
+#X connect 47 0 46 0;
+#X connect 47 1 53 0;
+#X connect 48 0 44 0;
+#X connect 48 1 53 0;
+#X connect 49 0 51 0;
+#X connect 49 1 46 0;
+#X connect 50 0 44 0;
+#X connect 50 1 51 0;
+#X connect 51 0 50 1;
+#X connect 51 0 52 0;
+#X connect 51 0 49 0;
+#X connect 51 0 10 0;
+#X connect 51 0 19 0;
+#X connect 51 0 24 0;
+#X connect 51 0 27 0;
+#X connect 52 0 51 0;
+#X connect 52 1 53 0;
+#X connect 53 0 52 1;
+#X connect 53 0 48 1;
+#X connect 53 0 7 0;
+#X connect 53 0 38 0;
+#X connect 53 0 25 0;
+#X connect 53 0 31 0;
+#X connect 53 0 41 0;
+#X connect 53 0 47 1;
+#X connect 53 0 54 0;
+#X connect 54 0 53 0;
+#X restore 39 472 pd forme;
+#X obj 10 26 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 78 105 s link;
+#X obj 10 104 s mass;
+#X obj 36 343 s mass;
+#X obj 10 47 metro 50;
+#X msg 193 73 destroy;
+#X msg 166 48 reset \, create \, 1 \, lighting 1;
+#X obj 166 106 gemwin;
+#X obj 458 107 world_light;
+#X obj 78 129 s link2;
+#X msg 36 242 force3D 0 0 1;
+#X msg 44 266 force3D 0 1 0;
+#X msg 53 290 force3D 1 0 0;
+#X obj 458 82 gemhead 1;
+#X msg 39 385 force3D 0 0 10;
+#X msg 45 409 force3D 0 10 0;
+#X msg 54 433 force3D 10 0 0;
+#X msg 61 314 force3D 2 1 1;
+#X obj 10 73 t b b;
+#N canvas 518 337 782 499 change 0;
+#X msg 102 189 setK \$1;
+#X msg 170 189 setD \$1;
+#X msg 33 73 setM \$1;
+#X floatatom 102 162 5 0 0 0 - - -;
+#X floatatom 170 162 5 0 0 0 - - -;
+#X floatatom 33 50 5 5 100 0 - - -;
+#X obj 33 216 s link;
+#X obj 33 99 s mass;
+#X floatatom 33 163 5 0 0 0 - - -;
+#X msg 33 189 setL \$1;
+#X obj 36 380 s link2;
+#X floatatom 36 297 5 0 0 0 - - -;
+#X msg 36 319 setL \$1;
+#X msg 33 140 1;
+#X msg 171 140 1;
+#X msg 102 139 3;
+#X msg 33 26 10;
+#X msg 102 319 setK \$1;
+#X msg 170 319 setD \$1;
+#X floatatom 102 293 5 0 0 0 - - -;
+#X floatatom 170 293 5 0 0 0 - - -;
+#X text 106 27 <- default value;
+#X text 109 100 weight of the mass;
+#X text 317 137 <- default values;
+#X text 315 189 pyramide linkison properties;
+#X text 257 270 <- default values;
+#X text 258 318 linkison beetween the pyramide and a fixed point (0
+\, 0 \, 0);
+#X msg 36 273 1;
+#X msg 102 270 0.6;
+#X msg 171 271 0;
+#X floatatom 238 162 5 0 0 0 - - -;
+#X msg 238 189 setD2 \$1;
+#X msg 239 140 0.1;
+#X text 36 429 take care to extrem values;
+#X connect 0 0 6 0;
+#X connect 1 0 6 0;
+#X connect 2 0 7 0;
+#X connect 3 0 0 0;
+#X connect 4 0 1 0;
+#X connect 5 0 2 0;
+#X connect 8 0 9 0;
+#X connect 9 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 10 0;
+#X connect 13 0 8 0;
+#X connect 14 0 4 0;
+#X connect 15 0 3 0;
+#X connect 16 0 5 0;
+#X connect 17 0 10 0;
+#X connect 18 0 10 0;
+#X connect 19 0 17 0;
+#X connect 20 0 18 0;
+#X connect 27 0 11 0;
+#X connect 28 0 19 0;
+#X connect 29 0 20 0;
+#X connect 30 0 31 0;
+#X connect 31 0 6 0;
+#X connect 32 0 30 0;
+#X restore 459 44 pd change physical properties;
+#X text 215 262 <- send forces to the 4 masss;
+#X text 225 378 <- send forces to a masss;
+#X text 227 474 <- structure and gem stuff;
+#X text 76 168 4 masss are all link together \, with the same kind
+of link.;
+#X text 73 193 A link is add to a mass \, for the structure to stay
+in the screen.;
+#X text 89 552 If the line does not display corectly \, you sould upgrade
+GEM;
+#X text 44 22 <- 1;
+#X text 399 48 <- 2;
+#X obj 161 14 declare -lib Gem;
+#X connect 1 0 5 0;
+#X connect 5 0 19 0;
+#X connect 6 0 8 0;
+#X connect 7 0 8 0;
+#X connect 11 0 4 0;
+#X connect 12 0 4 0;
+#X connect 13 0 4 0;
+#X connect 14 0 9 0;
+#X connect 15 0 0 0;
+#X connect 16 0 0 0;
+#X connect 17 0 0 0;
+#X connect 18 0 4 0;
+#X connect 19 0 3 0;
+#X connect 19 1 2 0;
+#X connect 19 1 10 0;
diff --git a/examples/07_corde3D.pd b/examples/07_corde3D.pd
index 99d4816..0ab4a33 100644
--- a/examples/07_corde3D.pd
+++ b/examples/07_corde3D.pd
@@ -1,601 +1,603 @@
-#N canvas 102 60 816 578 12;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 99 622 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 47 593 pd link;
-#X obj 23 83 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 94 188 s link;
-#X obj 23 187 s mass;
-#X obj 540 417 s mass;
-#X msg 392 179 setK \$1;
-#X msg 613 131 setM \$1;
-#X obj 392 206 s link;
-#X obj 613 159 s mass;
-#X obj 392 153 / 10;
-#X obj 392 127 + 1;
-#X obj 43 314 gemwin;
-#X msg 62 281 0 \, destroy;
-#X floatatom 392 105 5 0 0 0 - - -;
-#X floatatom 529 109 5 0 0 0 - - -;
-#X floatatom 613 108 5 0 0 0 - - -;
-#X obj 392 47 loadbang;
-#X obj 23 104 metro 10;
-#X obj 23 128 t b b;
-#X msg 392 81 50;
-#X msg 613 84 200;
-#X obj 251 115 world_light;
-#X obj 251 87 gemhead;
-#X text 194 158 <- gravity simulation;
-#X obj 535 304 s gemhead;
-#X obj 535 223 gemhead;
-#X obj 535 279 rotateXYZ;
-#X floatatom 557 253 5 0 0 0 - - -;
-#X floatatom 607 254 5 0 0 0 - - -;
-#X floatatom 657 254 5 0 0 0 - - -;
-#X msg 158 479 force3D 1000 0 0;
-#X msg 179 503 force3D 0 1000 0;
-#X msg 196 525 force3D 0 0 1000;
-#X msg 556 391 force3D 1000 0 0;
-#X msg 550 368 force3D 0 0 500;
-#X msg 540 346 force3D 0 500 0;
-#N canvas 846 252 304 336 mass 0;
-#X obj 25 99 outlet;
-#X obj 75 228 translateXYZ 0 0 0;
-#X obj 75 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 167 127 / 100;
-#X obj 75 162 r gemhead;
-#X obj 75 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 214 128 / 100;
-#X obj 24 71 mass3D 0 10 0 300 5;
-#X connect 1 0 2 0;
-#X connect 3 0 1 1;
-#X connect 4 0 1 2;
-#X connect 5 0 6 0;
-#X connect 6 0 1 0;
-#X connect 7 1 3 0;
-#X connect 7 2 4 0;
-#X connect 7 3 8 0;
-#X connect 8 0 1 3;
-#X connect 9 0 0 0;
-#X connect 9 0 7 0;
-#X restore 47 562 pd mass;
-#X msg 529 132 setD2 \$1;
-#X msg 58 156 force3D 0 -8 0;
-#X msg 506 517 force3D 0 0 2000;
-#X msg 490 495 force3D 0 2000 0;
-#X msg 468 471 force3D 2000 0 0;
-#X floatatom 445 110 5 0 0 0 - - -;
-#X msg 445 133 setD \$1;
-#X msg 445 84 1;
-#X msg 529 83 1;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 174 623 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 128 593 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 245 623 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 193 594 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 320 624 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 274 594 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 393 626 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 341 597 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 468 627 pd mass;
-#N canvas 470 145 284 118 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 422 597 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 539 627 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 487 598 pd link;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 568 598 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 613 627 pd mass;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 686 629 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 634 600 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 761 630 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 715 600 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 832 630 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 780 601 pd link;
-#N canvas 663 236 288 320 mass 0;
-#X obj 25 38 inlet;
-#X obj 25 99 outlet;
-#X obj 76 228 translateXYZ 0 0 0;
-#X obj 76 256 sphere 0.3;
-#X obj 121 127 / 100;
-#X obj 168 127 / 100;
-#X obj 76 162 r gemhead;
-#X obj 76 191 separator;
-#X obj 86 100 unpack s f f f;
-#X obj 215 128 / 100;
-#X obj 25 70 mass3D mass 10;
-#X connect 0 0 10 0;
-#X connect 2 0 3 0;
-#X connect 4 0 2 1;
-#X connect 5 0 2 2;
-#X connect 6 0 7 0;
-#X connect 7 0 2 0;
-#X connect 8 1 4 0;
-#X connect 8 2 5 0;
-#X connect 8 3 9 0;
-#X connect 9 0 2 3;
-#X connect 10 0 1 0;
-#X connect 10 0 8 0;
-#X restore 907 631 pd mass;
-#N canvas 470 145 282 116 link 0;
-#X obj 177 23 inlet;
-#X obj 177 78 outlet;
-#X obj 86 23 inlet;
-#X obj 86 78 outlet;
-#X obj 86 51 link3D link 50 10 0;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 861 601 pd link;
-#X msg 43 253 reset \, lighting 1 \, create \, 1;
-#X text 433 12 string 3D;
-#X text 25 366 At the initialisation \, all the mass are in the same
-point (0 \, 0). The mass move to find the minimal energy of the system.
-;
-#X text 720 366 <- send forces to all the masss;
-#X text 654 491 <- send forces to specific masss;
-#X text 21 421 The gravity simulation is a force vertical force aply
-to all masss.;
-#X text 710 252 <- rotate the model in 3D;
-#X text 55 78 <- 1;
-#X text 289 255 <- 2;
-#X connect 0 0 1 1;
-#X connect 0 0 48 0;
-#X connect 1 1 0 0;
-#X connect 2 0 18 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 10 0 6 0;
-#X connect 11 0 10 0;
-#X connect 13 0 12 0;
-#X connect 14 0 11 0;
-#X connect 15 0 38 0;
-#X connect 16 0 7 0;
-#X connect 17 0 21 0;
-#X connect 17 0 46 0;
-#X connect 17 0 20 0;
-#X connect 17 0 45 0;
-#X connect 18 0 19 0;
-#X connect 19 0 4 0;
-#X connect 19 1 3 0;
-#X connect 19 1 39 0;
-#X connect 20 0 14 0;
-#X connect 21 0 16 0;
-#X connect 23 0 22 0;
-#X connect 26 0 27 0;
-#X connect 27 0 25 0;
-#X connect 28 0 27 1;
-#X connect 29 0 27 2;
-#X connect 30 0 27 3;
-#X connect 31 0 0 0;
-#X connect 32 0 0 0;
-#X connect 33 0 0 0;
-#X connect 34 0 5 0;
-#X connect 35 0 5 0;
-#X connect 36 0 5 0;
-#X connect 37 0 1 0;
-#X connect 38 0 8 0;
-#X connect 39 0 4 0;
-#X connect 40 0 55 0;
-#X connect 41 0 55 0;
-#X connect 42 0 55 0;
-#X connect 43 0 44 0;
-#X connect 44 0 8 0;
-#X connect 45 0 43 0;
-#X connect 46 0 15 0;
-#X connect 47 0 48 1;
-#X connect 47 0 50 0;
-#X connect 48 0 0 0;
-#X connect 48 1 47 0;
-#X connect 49 0 50 1;
-#X connect 49 0 52 0;
-#X connect 50 0 47 0;
-#X connect 50 1 49 0;
-#X connect 51 0 52 1;
-#X connect 51 0 54 0;
-#X connect 52 0 49 0;
-#X connect 52 1 51 0;
-#X connect 53 0 54 1;
-#X connect 53 0 56 0;
-#X connect 54 0 51 0;
-#X connect 54 1 53 0;
-#X connect 55 0 56 1;
-#X connect 55 0 58 0;
-#X connect 56 0 53 0;
-#X connect 56 1 55 0;
-#X connect 57 0 58 1;
-#X connect 57 0 59 0;
-#X connect 58 0 55 0;
-#X connect 58 1 57 0;
-#X connect 59 0 57 0;
-#X connect 59 1 60 0;
-#X connect 60 0 62 0;
-#X connect 60 0 59 1;
-#X connect 61 0 62 1;
-#X connect 61 0 64 0;
-#X connect 62 0 60 0;
-#X connect 62 1 61 0;
-#X connect 63 0 64 1;
-#X connect 63 0 66 0;
-#X connect 64 0 61 0;
-#X connect 64 1 63 0;
-#X connect 65 0 66 1;
-#X connect 65 0 68 0;
-#X connect 66 0 63 0;
-#X connect 66 1 65 0;
-#X connect 67 0 68 1;
-#X connect 68 0 65 0;
-#X connect 68 1 67 0;
-#X connect 69 0 12 0;
+#N canvas 98 91 816 578 12;
+#X declare -lib Gem;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 99 622 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 47 593 pd link;
+#X obj 23 83 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 94 188 s link;
+#X obj 23 187 s mass;
+#X obj 540 417 s mass;
+#X msg 392 179 setK \$1;
+#X msg 613 131 setM \$1;
+#X obj 392 206 s link;
+#X obj 613 159 s mass;
+#X obj 392 153 / 10;
+#X obj 392 127 + 1;
+#X obj 43 314 gemwin;
+#X msg 62 281 0 \, destroy;
+#X floatatom 392 105 5 0 0 0 - - -;
+#X floatatom 529 109 5 0 0 0 - - -;
+#X floatatom 613 108 5 0 0 0 - - -;
+#X obj 392 47 loadbang;
+#X obj 23 104 metro 10;
+#X obj 23 128 t b b;
+#X msg 392 81 50;
+#X msg 613 84 200;
+#X obj 251 115 world_light;
+#X obj 251 87 gemhead;
+#X text 194 158 <- gravity simulation;
+#X obj 535 304 s gemhead;
+#X obj 535 223 gemhead;
+#X obj 535 279 rotateXYZ;
+#X floatatom 557 253 5 0 0 0 - - -;
+#X floatatom 607 254 5 0 0 0 - - -;
+#X floatatom 657 254 5 0 0 0 - - -;
+#X msg 158 479 force3D 1000 0 0;
+#X msg 179 503 force3D 0 1000 0;
+#X msg 196 525 force3D 0 0 1000;
+#X msg 556 391 force3D 1000 0 0;
+#X msg 550 368 force3D 0 0 500;
+#X msg 540 346 force3D 0 500 0;
+#N canvas 846 252 304 336 mass 0;
+#X obj 25 99 outlet;
+#X obj 75 228 translateXYZ 0 0 0;
+#X obj 75 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 167 127 / 100;
+#X obj 75 162 r gemhead;
+#X obj 75 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 214 128 / 100;
+#X obj 24 71 mass3D 0 10 0 300 5;
+#X connect 1 0 2 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 2;
+#X connect 5 0 6 0;
+#X connect 6 0 1 0;
+#X connect 7 1 3 0;
+#X connect 7 2 4 0;
+#X connect 7 3 8 0;
+#X connect 8 0 1 3;
+#X connect 9 0 0 0;
+#X connect 9 0 7 0;
+#X restore 47 562 pd mass;
+#X msg 529 132 setD2 \$1;
+#X msg 58 156 force3D 0 -8 0;
+#X msg 506 517 force3D 0 0 2000;
+#X msg 490 495 force3D 0 2000 0;
+#X msg 468 471 force3D 2000 0 0;
+#X floatatom 445 110 5 0 0 0 - - -;
+#X msg 445 133 setD \$1;
+#X msg 445 84 1;
+#X msg 529 83 1;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 174 623 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 128 593 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 245 623 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 193 594 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 320 624 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 274 594 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 393 626 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 341 597 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 468 627 pd mass;
+#N canvas 470 145 284 118 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 422 597 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 539 627 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 487 598 pd link;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 568 598 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 613 627 pd mass;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 686 629 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 634 600 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 761 630 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 715 600 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 832 630 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 780 601 pd link;
+#N canvas 663 236 288 320 mass 0;
+#X obj 25 38 inlet;
+#X obj 25 99 outlet;
+#X obj 76 228 translateXYZ 0 0 0;
+#X obj 76 256 sphere 0.3;
+#X obj 121 127 / 100;
+#X obj 168 127 / 100;
+#X obj 76 162 r gemhead;
+#X obj 76 191 separator;
+#X obj 86 100 unpack s f f f;
+#X obj 215 128 / 100;
+#X obj 25 70 mass3D mass 10;
+#X connect 0 0 10 0;
+#X connect 2 0 3 0;
+#X connect 4 0 2 1;
+#X connect 5 0 2 2;
+#X connect 6 0 7 0;
+#X connect 7 0 2 0;
+#X connect 8 1 4 0;
+#X connect 8 2 5 0;
+#X connect 8 3 9 0;
+#X connect 9 0 2 3;
+#X connect 10 0 1 0;
+#X connect 10 0 8 0;
+#X restore 907 631 pd mass;
+#N canvas 470 145 282 116 link 0;
+#X obj 177 23 inlet;
+#X obj 177 78 outlet;
+#X obj 86 23 inlet;
+#X obj 86 78 outlet;
+#X obj 86 51 link3D link 50 10 0;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 861 601 pd link;
+#X msg 43 253 reset \, lighting 1 \, create \, 1;
+#X text 433 12 string 3D;
+#X text 25 366 At the initialisation \, all the mass are in the same
+point (0 \, 0). The mass move to find the minimal energy of the system.
+;
+#X text 720 366 <- send forces to all the masss;
+#X text 654 491 <- send forces to specific masss;
+#X text 21 421 The gravity simulation is a force vertical force aply
+to all masss.;
+#X text 710 252 <- rotate the model in 3D;
+#X text 55 78 <- 1;
+#X text 289 255 <- 2;
+#X obj 74 21 declare -lib Gem;
+#X connect 0 0 1 1;
+#X connect 0 0 48 0;
+#X connect 1 1 0 0;
+#X connect 2 0 18 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 10 0 6 0;
+#X connect 11 0 10 0;
+#X connect 13 0 12 0;
+#X connect 14 0 11 0;
+#X connect 15 0 38 0;
+#X connect 16 0 7 0;
+#X connect 17 0 21 0;
+#X connect 17 0 46 0;
+#X connect 17 0 20 0;
+#X connect 17 0 45 0;
+#X connect 18 0 19 0;
+#X connect 19 0 4 0;
+#X connect 19 1 3 0;
+#X connect 19 1 39 0;
+#X connect 20 0 14 0;
+#X connect 21 0 16 0;
+#X connect 23 0 22 0;
+#X connect 26 0 27 0;
+#X connect 27 0 25 0;
+#X connect 28 0 27 1;
+#X connect 29 0 27 2;
+#X connect 30 0 27 3;
+#X connect 31 0 0 0;
+#X connect 32 0 0 0;
+#X connect 33 0 0 0;
+#X connect 34 0 5 0;
+#X connect 35 0 5 0;
+#X connect 36 0 5 0;
+#X connect 37 0 1 0;
+#X connect 38 0 8 0;
+#X connect 39 0 4 0;
+#X connect 40 0 55 0;
+#X connect 41 0 55 0;
+#X connect 42 0 55 0;
+#X connect 43 0 44 0;
+#X connect 44 0 8 0;
+#X connect 45 0 43 0;
+#X connect 46 0 15 0;
+#X connect 47 0 48 1;
+#X connect 47 0 50 0;
+#X connect 48 0 0 0;
+#X connect 48 1 47 0;
+#X connect 49 0 50 1;
+#X connect 49 0 52 0;
+#X connect 50 0 47 0;
+#X connect 50 1 49 0;
+#X connect 51 0 52 1;
+#X connect 51 0 54 0;
+#X connect 52 0 49 0;
+#X connect 52 1 51 0;
+#X connect 53 0 54 1;
+#X connect 53 0 56 0;
+#X connect 54 0 51 0;
+#X connect 54 1 53 0;
+#X connect 55 0 56 1;
+#X connect 55 0 58 0;
+#X connect 56 0 53 0;
+#X connect 56 1 55 0;
+#X connect 57 0 58 1;
+#X connect 57 0 59 0;
+#X connect 58 0 55 0;
+#X connect 58 1 57 0;
+#X connect 59 0 57 0;
+#X connect 59 1 60 0;
+#X connect 60 0 62 0;
+#X connect 60 0 59 1;
+#X connect 61 0 62 1;
+#X connect 61 0 64 0;
+#X connect 62 0 60 0;
+#X connect 62 1 61 0;
+#X connect 63 0 64 1;
+#X connect 63 0 66 0;
+#X connect 64 0 61 0;
+#X connect 64 1 63 0;
+#X connect 65 0 66 1;
+#X connect 65 0 68 0;
+#X connect 66 0 63 0;
+#X connect 66 1 65 0;
+#X connect 67 0 68 1;
+#X connect 68 0 65 0;
+#X connect 68 1 67 0;
+#X connect 69 0 12 0;
diff --git a/examples/08_ball2D.pd b/examples/08_ball2D.pd
index 6e9fb1a..22e5d05 100644
--- a/examples/08_ball2D.pd
+++ b/examples/08_ball2D.pd
@@ -1,6 +1,7 @@
-#N canvas 266 27 837 614 12;
+#N canvas 262 91 837 614 12;
+#X declare -lib Gem;
#X obj 212 146 t b b;
-#X obj 212 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#X obj 212 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 36 384 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
@@ -273,6 +274,7 @@ upgrade GEM;
#X restore 39 319 pd gemmouse;
#X obj 212 199 s \$0-mass;
#X obj 274 226 iAmbient2D \$0-mass 0 -0.2;
+#X obj 553 7 declare -lib Gem;
#X connect 0 0 56 0;
#X connect 0 1 13 0;
#X connect 0 1 57 0;
diff --git a/examples/09_tutorial2D.pd b/examples/09_tutorial2D.pd
index 6e8e9d3..fb7b8e4 100644
--- a/examples/09_tutorial2D.pd
+++ b/examples/09_tutorial2D.pd
@@ -1,269 +1,271 @@
-#N canvas 57 28 600 601 12;
-#N canvas 623 135 520 309 init 0;
-#X msg 200 169 setK \$1;
-#X msg 274 143 setD \$1;
-#X msg 416 115 setM \$1;
-#X floatatom 200 94 5 -10 200 0 - - -;
-#X floatatom 274 92 5 0 0 0 - - -;
-#X floatatom 416 92 5 0 0 0 - - -;
-#X obj 416 143 s mass;
-#X obj 200 143 / 10;
-#X obj 200 117 + 1;
-#X obj 274 116 / 10;
-#X msg 200 67 100;
-#X msg 274 68 25;
-#X msg 416 66 50;
-#X obj 49 50 loadbang;
-#X floatatom 341 92 5 0 0 0 - - -;
-#X obj 341 116 / 10;
-#X msg 341 143 setD2 \$1;
-#X msg 341 68 1;
-#X obj 139 23 inlet;
-#X obj 47 201 s tut_mass;
-#X obj 200 201 s tut_link;
-#X msg 44 84 setXmin -3.8;
-#X msg 58 110 setXmax 3.8;
-#X msg 81 131 setYmin -3.8;
-#X msg 95 157 setYmax 3.8;
-#X connect 0 0 20 0;
-#X connect 1 0 20 0;
-#X connect 2 0 6 0;
-#X connect 3 0 8 0;
-#X connect 4 0 9 0;
-#X connect 5 0 2 0;
-#X connect 7 0 0 0;
-#X connect 8 0 7 0;
-#X connect 9 0 1 0;
-#X connect 10 0 3 0;
-#X connect 11 0 4 0;
-#X connect 12 0 5 0;
-#X connect 13 0 21 0;
-#X connect 13 0 22 0;
-#X connect 13 0 23 0;
-#X connect 13 0 24 0;
-#X connect 14 0 15 0;
-#X connect 15 0 16 0;
-#X connect 16 0 20 0;
-#X connect 17 0 14 0;
-#X connect 18 0 21 0;
-#X connect 18 0 22 0;
-#X connect 18 0 23 0;
-#X connect 18 0 24 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X connect 23 0 19 0;
-#X connect 24 0 19 0;
-#X restore 168 43 pd init;
-#X obj 42 92 t b b;
-#X obj 42 44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 329 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 75 231 0 \, destroy;
-#X obj 41 259 gemwin;
-#X msg 41 206 reset \, create \, 1;
-#N canvas 115 18 1382 984 structure 0;
-#X obj 503 58 tut_link;
-#X obj 193 331 tut_link;
-#X obj 243 219 tut_link;
-#X obj 353 120 tut_link;
-#X obj 1022 465 tut_link;
-#X obj 791 778 tut_link;
-#X obj 910 681 tut_link;
-#X obj 997 574 tut_link;
-#X obj 988 236 tut_link;
-#X obj 746 55 tut_link;
-#X obj 907 142 tut_link;
-#X obj 1009 345 tut_link;
-#X obj 556 793 tut_link;
-#X obj 188 450 tut_link;
-#X obj 252 593 tut_link;
-#X obj 384 717 tut_link;
-#X obj 654 751 tut_link;
-#X obj 801 707 tut_link;
-#X obj 850 622 tut_link;
-#X obj 902 500 tut_link;
-#X obj 908 405 tut_link;
-#X obj 907 301 tut_link;
-#X obj 865 207 tut_link;
-#X obj 769 154 tut_link;
-#X obj 226 276 tut_mass -0.9 0.4;
-#X obj 422 90 tut_mass -0.4 0.9;
-#X obj 997 291 tut_mass 0.9 0.4;
-#X obj 637 815 tut_mass 0 -1;
-#X obj 972 633 tut_mass 0.7 -0.7;
-#X obj 947 189 tut_mass 0.7 0.7;
-#X obj 173 374 tut_mass -1 0;
-#X obj 272 165 tut_mass -0.7 0.7;
-#X obj 304 648 tut_mass -0.7 -0.7;
-#X obj 837 97 tut_mass 0.4 0.9;
-#X obj 207 520 tut_mass -0.9 -0.4;
-#X obj 1015 400 tut_mass 1 0;
-#X obj 445 758 tut_mass -0.4 -0.9;
-#X obj 873 734 tut_mass 0.4 -0.9;
-#X obj 598 28 tut_mass 0 1;
-#X obj 1017 517 tut_mass 0.9 -0.4;
-#X connect 0 0 25 0;
-#X connect 0 1 38 0;
-#X connect 1 0 30 0;
-#X connect 1 1 24 0;
-#X connect 2 0 31 0;
-#X connect 2 1 24 0;
-#X connect 3 0 31 0;
-#X connect 3 1 25 0;
-#X connect 4 0 39 0;
-#X connect 4 1 35 0;
-#X connect 5 0 27 0;
-#X connect 5 1 37 0;
-#X connect 6 0 37 0;
-#X connect 6 1 28 0;
-#X connect 7 0 28 0;
-#X connect 7 1 39 0;
-#X connect 8 0 29 0;
-#X connect 8 1 26 0;
-#X connect 9 0 38 0;
-#X connect 9 1 33 0;
-#X connect 10 0 33 0;
-#X connect 10 1 29 0;
-#X connect 11 0 26 0;
-#X connect 11 1 35 0;
-#X connect 12 0 36 0;
-#X connect 12 1 27 0;
-#X connect 13 0 30 0;
-#X connect 13 1 34 0;
-#X connect 14 0 34 0;
-#X connect 14 1 32 0;
-#X connect 15 0 32 0;
-#X connect 15 1 36 0;
-#X connect 16 0 38 0;
-#X connect 16 1 27 0;
-#X connect 17 0 25 0;
-#X connect 17 1 37 0;
-#X connect 18 0 31 0;
-#X connect 18 1 28 0;
-#X connect 19 0 24 0;
-#X connect 19 1 39 0;
-#X connect 20 0 30 0;
-#X connect 20 1 35 0;
-#X connect 21 0 34 0;
-#X connect 21 1 26 0;
-#X connect 22 0 32 0;
-#X connect 22 1 29 0;
-#X connect 23 0 36 0;
-#X connect 23 1 33 0;
-#X connect 24 0 1 1;
-#X connect 24 0 2 1;
-#X connect 24 0 19 0;
-#X connect 25 0 0 0;
-#X connect 25 0 3 1;
-#X connect 25 0 17 0;
-#X connect 26 0 8 1;
-#X connect 26 0 11 0;
-#X connect 26 0 21 1;
-#X connect 27 0 5 0;
-#X connect 27 0 12 1;
-#X connect 27 0 16 1;
-#X connect 28 0 7 0;
-#X connect 28 0 6 1;
-#X connect 28 0 18 1;
-#X connect 29 0 8 0;
-#X connect 29 0 10 1;
-#X connect 29 0 22 1;
-#X connect 30 0 1 0;
-#X connect 30 0 13 0;
-#X connect 30 0 20 0;
-#X connect 31 0 2 0;
-#X connect 31 0 3 0;
-#X connect 31 0 18 0;
-#X connect 32 0 15 0;
-#X connect 32 0 14 1;
-#X connect 32 0 22 0;
-#X connect 33 0 10 0;
-#X connect 33 0 9 1;
-#X connect 33 0 23 1;
-#X connect 34 0 13 1;
-#X connect 34 0 14 0;
-#X connect 34 0 21 0;
-#X connect 35 0 4 1;
-#X connect 35 0 11 1;
-#X connect 35 0 20 1;
-#X connect 36 0 12 0;
-#X connect 36 0 15 1;
-#X connect 36 0 23 0;
-#X connect 37 0 5 1;
-#X connect 37 0 6 0;
-#X connect 37 0 17 1;
-#X connect 38 0 0 1;
-#X connect 38 0 9 0;
-#X connect 38 0 16 0;
-#X connect 39 0 4 0;
-#X connect 39 0 7 1;
-#X connect 39 0 19 1;
-#X restore 417 325 pd structure;
-#X obj 329 45 loadbang;
-#X msg 244 270 force2D 0 2;
-#X msg 190 295 force2D -2 0;
-#X msg 247 322 force2D 0 -2;
-#X msg 301 294 force2D 2 0;
-#X obj 329 74 t b b b;
-#X msg 380 99 reset;
-#X msg 355 124 resetL;
-#X msg 329 152 resetF;
-#X obj 42 65 metro 50;
-#X msg 54 150 force2D 0 -0.1;
-#X obj 168 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 246 354 s tut_mass;
-#X obj 42 178 s tut_mass;
-#X obj 77 117 s tut_link;
-#X text 39 403 You can use this exemple to try to make you own structure.
-;
-#X text 58 506 Go to pd structure;
-#X text 59 526 Remove everything;
-#X text 41 427 look at the structure \, and look a the patch : a link
-is corespnding to a segment \, and a maase is a white sphere;
-#X text 41 462 everyting is here to make a 2D structure easilly;
-#X text 40 486 to make your own strucute :;
-#X text 59 546 put "tut_mass" object in the screen where you want
-to put your mass in the gem windows.;
-#X text 58 658 create a "tut_link" object for each link you whant to
-put in the structure.;
-#X text 60 726 The structure is ready. you should now do the initialisation
-part :;
-#X text 222 19 <- init;
-#X text 375 20 <- reset;
-#X text 59 763 click on pd init : this will give a minimal and maximal
-position to the mass. (for them to stay on the screen).;
-#X text 60 806 click on reset : this will tell the link to learn there
-good initial lenght \, reset forces etc...;
-#X text 59 584 when all mass are there \, you can specifie them ther
-initial position : edit "tut_mass" object and add 2 float corresponding
-to ther X and Y position in the GEM screen. (should be about from -4
-to 4);
-#X text 59 694 connect them to the mass (link and masss as to be
-connected in 2 way : mass to link and link to mass).;
-#X text 61 846 now \, you are ready for toggle the metro on...;
-#X text 30 887 If the line does not display corectly \, you sould upgrade
-GEM;
-#X text 192 204 <- create;
-#X connect 1 0 21 0;
-#X connect 1 1 18 0;
-#X connect 1 1 22 0;
-#X connect 2 0 17 0;
-#X connect 3 0 13 0;
-#X connect 4 0 5 0;
-#X connect 6 0 5 0;
-#X connect 8 0 13 0;
-#X connect 9 0 20 0;
-#X connect 10 0 20 0;
-#X connect 11 0 20 0;
-#X connect 12 0 20 0;
-#X connect 13 0 16 0;
-#X connect 13 1 15 0;
-#X connect 13 2 14 0;
-#X connect 14 0 21 0;
-#X connect 15 0 22 0;
-#X connect 16 0 22 0;
-#X connect 17 0 1 0;
-#X connect 18 0 21 0;
-#X connect 19 0 0 0;
+#N canvas 53 91 600 601 12;
+#X declare -lib Gem;
+#N canvas 623 135 520 309 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 416 143 s mass;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X obj 49 50 loadbang;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 139 23 inlet;
+#X obj 47 201 s tut_mass;
+#X obj 200 201 s tut_link;
+#X msg 44 84 setXmin -3.8;
+#X msg 58 110 setXmax 3.8;
+#X msg 81 131 setYmin -3.8;
+#X msg 95 157 setYmax 3.8;
+#X connect 0 0 20 0;
+#X connect 1 0 20 0;
+#X connect 2 0 6 0;
+#X connect 3 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 3 0;
+#X connect 11 0 4 0;
+#X connect 12 0 5 0;
+#X connect 13 0 21 0;
+#X connect 13 0 22 0;
+#X connect 13 0 23 0;
+#X connect 13 0 24 0;
+#X connect 14 0 15 0;
+#X connect 15 0 16 0;
+#X connect 16 0 20 0;
+#X connect 17 0 14 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 18 0 24 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X connect 24 0 19 0;
+#X restore 171 64 pd init;
+#X obj 42 92 t b b;
+#X obj 42 44 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 329 22 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 75 231 0 \, destroy;
+#X obj 41 259 gemwin;
+#X msg 41 206 reset \, create \, 1;
+#N canvas 115 18 1382 984 structure 0;
+#X obj 503 58 tut_link;
+#X obj 193 331 tut_link;
+#X obj 243 219 tut_link;
+#X obj 353 120 tut_link;
+#X obj 1022 465 tut_link;
+#X obj 791 778 tut_link;
+#X obj 910 681 tut_link;
+#X obj 997 574 tut_link;
+#X obj 988 236 tut_link;
+#X obj 746 55 tut_link;
+#X obj 907 142 tut_link;
+#X obj 1009 345 tut_link;
+#X obj 556 793 tut_link;
+#X obj 188 450 tut_link;
+#X obj 252 593 tut_link;
+#X obj 384 717 tut_link;
+#X obj 654 751 tut_link;
+#X obj 801 707 tut_link;
+#X obj 850 622 tut_link;
+#X obj 902 500 tut_link;
+#X obj 908 405 tut_link;
+#X obj 907 301 tut_link;
+#X obj 865 207 tut_link;
+#X obj 769 154 tut_link;
+#X obj 226 276 tut_mass -0.9 0.4;
+#X obj 422 90 tut_mass -0.4 0.9;
+#X obj 997 291 tut_mass 0.9 0.4;
+#X obj 637 815 tut_mass 0 -1;
+#X obj 972 633 tut_mass 0.7 -0.7;
+#X obj 947 189 tut_mass 0.7 0.7;
+#X obj 173 374 tut_mass -1 0;
+#X obj 272 165 tut_mass -0.7 0.7;
+#X obj 304 648 tut_mass -0.7 -0.7;
+#X obj 837 97 tut_mass 0.4 0.9;
+#X obj 207 520 tut_mass -0.9 -0.4;
+#X obj 1015 400 tut_mass 1 0;
+#X obj 445 758 tut_mass -0.4 -0.9;
+#X obj 873 734 tut_mass 0.4 -0.9;
+#X obj 598 28 tut_mass 0 1;
+#X obj 1017 517 tut_mass 0.9 -0.4;
+#X connect 0 0 25 0;
+#X connect 0 1 38 0;
+#X connect 1 0 30 0;
+#X connect 1 1 24 0;
+#X connect 2 0 31 0;
+#X connect 2 1 24 0;
+#X connect 3 0 31 0;
+#X connect 3 1 25 0;
+#X connect 4 0 39 0;
+#X connect 4 1 35 0;
+#X connect 5 0 27 0;
+#X connect 5 1 37 0;
+#X connect 6 0 37 0;
+#X connect 6 1 28 0;
+#X connect 7 0 28 0;
+#X connect 7 1 39 0;
+#X connect 8 0 29 0;
+#X connect 8 1 26 0;
+#X connect 9 0 38 0;
+#X connect 9 1 33 0;
+#X connect 10 0 33 0;
+#X connect 10 1 29 0;
+#X connect 11 0 26 0;
+#X connect 11 1 35 0;
+#X connect 12 0 36 0;
+#X connect 12 1 27 0;
+#X connect 13 0 30 0;
+#X connect 13 1 34 0;
+#X connect 14 0 34 0;
+#X connect 14 1 32 0;
+#X connect 15 0 32 0;
+#X connect 15 1 36 0;
+#X connect 16 0 38 0;
+#X connect 16 1 27 0;
+#X connect 17 0 25 0;
+#X connect 17 1 37 0;
+#X connect 18 0 31 0;
+#X connect 18 1 28 0;
+#X connect 19 0 24 0;
+#X connect 19 1 39 0;
+#X connect 20 0 30 0;
+#X connect 20 1 35 0;
+#X connect 21 0 34 0;
+#X connect 21 1 26 0;
+#X connect 22 0 32 0;
+#X connect 22 1 29 0;
+#X connect 23 0 36 0;
+#X connect 23 1 33 0;
+#X connect 24 0 1 1;
+#X connect 24 0 2 1;
+#X connect 24 0 19 0;
+#X connect 25 0 0 0;
+#X connect 25 0 3 1;
+#X connect 25 0 17 0;
+#X connect 26 0 8 1;
+#X connect 26 0 11 0;
+#X connect 26 0 21 1;
+#X connect 27 0 5 0;
+#X connect 27 0 12 1;
+#X connect 27 0 16 1;
+#X connect 28 0 7 0;
+#X connect 28 0 6 1;
+#X connect 28 0 18 1;
+#X connect 29 0 8 0;
+#X connect 29 0 10 1;
+#X connect 29 0 22 1;
+#X connect 30 0 1 0;
+#X connect 30 0 13 0;
+#X connect 30 0 20 0;
+#X connect 31 0 2 0;
+#X connect 31 0 3 0;
+#X connect 31 0 18 0;
+#X connect 32 0 15 0;
+#X connect 32 0 14 1;
+#X connect 32 0 22 0;
+#X connect 33 0 10 0;
+#X connect 33 0 9 1;
+#X connect 33 0 23 1;
+#X connect 34 0 13 1;
+#X connect 34 0 14 0;
+#X connect 34 0 21 0;
+#X connect 35 0 4 1;
+#X connect 35 0 11 1;
+#X connect 35 0 20 1;
+#X connect 36 0 12 0;
+#X connect 36 0 15 1;
+#X connect 36 0 23 0;
+#X connect 37 0 5 1;
+#X connect 37 0 6 0;
+#X connect 37 0 17 1;
+#X connect 38 0 0 1;
+#X connect 38 0 9 0;
+#X connect 38 0 16 0;
+#X connect 39 0 4 0;
+#X connect 39 0 7 1;
+#X connect 39 0 19 1;
+#X restore 417 325 pd structure;
+#X obj 329 45 loadbang;
+#X msg 244 270 force2D 0 2;
+#X msg 190 295 force2D -2 0;
+#X msg 247 322 force2D 0 -2;
+#X msg 301 294 force2D 2 0;
+#X obj 329 74 t b b b;
+#X msg 380 99 reset;
+#X msg 355 124 resetL;
+#X msg 329 152 resetF;
+#X obj 42 65 metro 50;
+#X msg 54 150 force2D 0 -0.1;
+#X obj 171 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 246 354 s tut_mass;
+#X obj 42 178 s tut_mass;
+#X obj 77 117 s tut_link;
+#X text 39 403 You can use this exemple to try to make you own structure.
+;
+#X text 58 506 Go to pd structure;
+#X text 59 526 Remove everything;
+#X text 41 427 look at the structure \, and look a the patch : a link
+is corespnding to a segment \, and a maase is a white sphere;
+#X text 41 462 everyting is here to make a 2D structure easilly;
+#X text 40 486 to make your own strucute :;
+#X text 59 546 put "tut_mass" object in the screen where you want to
+put your mass in the gem windows.;
+#X text 58 658 create a "tut_link" object for each link you whant to
+put in the structure.;
+#X text 60 726 The structure is ready. you should now do the initialisation
+part :;
+#X text 225 40 <- init;
+#X text 375 20 <- reset;
+#X text 59 763 click on pd init : this will give a minimal and maximal
+position to the mass. (for them to stay on the screen).;
+#X text 60 806 click on reset : this will tell the link to learn there
+good initial lenght \, reset forces etc...;
+#X text 59 584 when all mass are there \, you can specifie them ther
+initial position : edit "tut_mass" object and add 2 float corresponding
+to ther X and Y position in the GEM screen. (should be about from -4
+to 4);
+#X text 59 694 connect them to the mass (link and masss as to be connected
+in 2 way : mass to link and link to mass).;
+#X text 61 846 now \, you are ready for toggle the metro on...;
+#X text 30 887 If the line does not display corectly \, you sould upgrade
+GEM;
+#X text 192 204 <- create;
+#X obj 40 14 declare -lib Gem;
+#X connect 1 0 21 0;
+#X connect 1 1 18 0;
+#X connect 1 1 22 0;
+#X connect 2 0 17 0;
+#X connect 3 0 13 0;
+#X connect 4 0 5 0;
+#X connect 6 0 5 0;
+#X connect 8 0 13 0;
+#X connect 9 0 20 0;
+#X connect 10 0 20 0;
+#X connect 11 0 20 0;
+#X connect 12 0 20 0;
+#X connect 13 0 16 0;
+#X connect 13 1 15 0;
+#X connect 13 2 14 0;
+#X connect 14 0 21 0;
+#X connect 15 0 22 0;
+#X connect 16 0 22 0;
+#X connect 17 0 1 0;
+#X connect 18 0 21 0;
+#X connect 19 0 0 0;
diff --git a/examples/10_game.pd b/examples/10_game.pd
index eb95965..db0ddbe 100644
--- a/examples/10_game.pd
+++ b/examples/10_game.pd
@@ -1,4 +1,5 @@
-#N canvas 507 158 593 464 12;
+#N canvas 503 172 593 464 12;
+#X declare -lib Gem;
#N canvas 623 135 500 289 init 0;
#X msg 200 169 setK \$1;
#X msg 274 143 setD \$1;
@@ -50,9 +51,9 @@
#X connect 23 0 18 0;
#X restore 429 282 pd init;
#X obj 30 69 t b b;
-#X obj 30 21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#X obj 30 21 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
-#X obj 343 10 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+#X obj 356 32 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X msg 64 218 0 \, destroy;
#X obj 30 246 gemwin;
@@ -867,25 +868,26 @@
#X connect 36 0 16 1;
#X connect 36 0 17 1;
#X restore 429 310 pd structure;
-#X obj 341 31 loadbang;
+#X obj 377 52 loadbang;
#X msg 256 256 force2D 0 2;
#X msg 202 281 force2D -2 0;
#X msg 259 308 force2D 0 -2;
#X msg 313 280 force2D 2 0;
#X obj 65 94 s \$0-link;
#X obj 30 155 s \$0-mass;
-#X obj 341 60 t b b b;
-#X msg 392 85 reset;
-#X msg 367 110 resetL;
-#X msg 341 138 resetF;
+#X obj 354 82 t b b b;
+#X msg 405 107 reset;
+#X msg 380 132 resetL;
+#X msg 354 160 resetF;
#X obj 257 340 s \$0-mass;
#X msg 42 127 force2D 0 -0.1;
#X text 54 402 small game : try to put the structure horizontally on
the floor \, and then back to vertical.;
-#X text 383 8 <- reset;
+#X text 396 30 <- reset;
#X text 93 17 <- 1;
#X text 180 194 <- 2;
#X obj 30 42 metro 10;
+#X obj 158 12 declare -lib Gem;
#X connect 1 0 14 0;
#X connect 1 1 20 0;
#X connect 1 1 13 0;
diff --git a/examples/11_comportement.pd b/examples/11_comportement.pd
index 8d86a23..2a72fb2 100644
--- a/examples/11_comportement.pd
+++ b/examples/11_comportement.pd
@@ -1,4 +1,5 @@
-#N canvas 974 354 594 486 12;
+#N canvas 970 368 594 486 12;
+#X declare -lib Gem;
#X obj 32 75 t b b;
#X obj 32 27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
@@ -751,6 +752,7 @@ for the structure.;
#X text 55 25 <- 1;
#X text 174 213 <- 2;
#X obj 31 264 gemwin;
+#X obj 106 10 declare -lib Gem;
#X connect 0 0 14 0;
#X connect 0 1 13 0;
#X connect 0 1 20 0;
diff --git a/examples/12_exitation.pd b/examples/12_exitation.pd
index db31f39..487b67c 100644
--- a/examples/12_exitation.pd
+++ b/examples/12_exitation.pd
@@ -1,1838 +1,1840 @@
-#N canvas 120 0 589 642 12;
-#X obj 32 75 t b b;
-#X obj 32 27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 170 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 73 277 0 \, destroy;
-#X obj 39 305 gemwin;
-#X msg 39 252 reset \, create \, 1;
-#N canvas 46 337 1195 749 structure 0;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 25 279 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 77 344 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 119 216 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 114 378 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 141 350 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 197 282 pd link;
-#N canvas 0 0 460 310 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -1 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 28 215 pd mass;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -1 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 22 372 pd mass;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.5 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 195 216 pd mass;
-#N canvas 0 0 458 308 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.5 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 194 379 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 365 279 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 417 344 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 459 216 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 454 378 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 481 350 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 537 282 pd link;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 368 215 pd mass;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 362 372 pd mass;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0.5 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 535 216 pd mass;
-#N canvas 0 0 458 308 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0.5 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 534 378 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 735 282 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 787 347 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 829 219 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 824 381 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 851 353 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 907 285 pd link;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 1 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 738 218 pd mass;
-#N canvas 0 0 456 306 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 1 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 730 378 pd mass;
-#N canvas 0 0 458 308 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 25 65 mass2D \$0-mass 50 1.5 0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 905 219 pd mass;
-#N canvas 0 0 460 310 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 1.5 0;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 904 381 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 233 344 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 291 215 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 290 378 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 311 340 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 612 342 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 641 219 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 649 376 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 676 348 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.75 1;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 123 96 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 64 150 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 164 153 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.25 1;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 297 94 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 238 148 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 334 153 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0.25 1;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 482 100 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 422 154 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 523 157 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0.75 1;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 668 106 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 609 160 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 709 163 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 1.25 1;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 851 110 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 792 164 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 892 167 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.75 -0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 96 503 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 49 434 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 149 437 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 -0.25 -0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 270 501 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 227 436 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 319 437 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 66 mass2D \$0-mass 50 0.25 -0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 455 507 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 407 438 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 508 441 pd link;
-#N canvas 0 0 462 312 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 0.75 -0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 641 513 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 594 444 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 694 447 pd link;
-#N canvas 0 0 464 314 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 1.25 -0.5;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 825 516 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 777 448 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 877 451 pd link;
-#X obj 613 11 inlet;
-#N canvas 0 0 454 304 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 466 321 pd link;
-#N canvas 0 0 456 306 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 425 248 pd link;
-#N canvas 0 0 454 304 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 309 303 pd link;
-#N canvas 0 0 454 304 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 4 1;
-#X connect 2 0 4 0;
-#X connect 4 0 3 0;
-#X connect 4 1 1 0;
-#X restore 299 264 pd link;
-#N canvas 787 26 460 310 mass 0;
-#X obj 26 38 inlet;
-#X obj 11 137 outlet;
-#X obj 25 104 unpack s f f;
-#X obj 285 48 gemhead;
-#X obj 284 89 translateXYZ;
-#X obj 281 131 sphere 0.1;
-#X obj 24 65 mass2D \$0-mass 50 2 0.25;
-#X connect 0 0 6 0;
-#X connect 2 1 4 1;
-#X connect 2 2 4 2;
-#X connect 3 0 4 0;
-#X connect 4 0 5 0;
-#X connect 6 0 2 0;
-#X connect 6 0 1 0;
-#X restore 1037 291 pd mass;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 977 346 pd link;
-#N canvas 0 0 452 302 link 0;
-#X obj 177 35 inlet;
-#X obj 171 96 outlet;
-#X obj 12 32 inlet;
-#X obj 6 93 outlet;
-#X msg 56 156 \$1 \$2 0;
-#X obj 24 186 gemhead;
-#X obj 26 210 curve 2;
-#X msg 134 155 \$1 \$2 0;
-#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
-#X connect 0 0 7 0;
-#X connect 0 0 8 1;
-#X connect 2 0 4 0;
-#X connect 2 0 8 0;
-#X connect 4 0 6 1;
-#X connect 5 0 6 0;
-#X connect 7 0 6 2;
-#X connect 8 0 3 0;
-#X connect 8 1 1 0;
-#X restore 970 258 pd link;
-#X msg 613 35 position2D 0 \$1;
-#X obj 96 529 unpack s f f;
-#X obj 187 556 route -3.8;
-#X msg 262 582 0 200;
-#X obj 187 610 line~;
-#X obj 168 636 *~;
-#X obj 270 526 unpack s f f;
-#X obj 361 553 route -3.8;
-#X msg 436 579 0 200;
-#X obj 361 607 line~;
-#X obj 342 633 *~;
-#X obj 455 533 unpack s f f;
-#X obj 546 560 route -3.8;
-#X msg 621 586 0 200;
-#X obj 546 614 line~;
-#X obj 527 640 *~;
-#X obj 521 679 dac~;
-#X obj 642 539 unpack s f f;
-#X obj 733 566 route -3.8;
-#X msg 808 592 0 200;
-#X obj 733 620 line~;
-#X obj 714 646 *~;
-#X obj 826 542 unpack s f f;
-#X obj 917 569 route -3.8;
-#X msg 992 595 0 200;
-#X obj 917 623 line~;
-#X obj 898 649 *~;
-#X obj 292 559 osc~ 183;
-#X obj 477 566 osc~ 370;
-#X obj 664 572 osc~ 457;
-#X msg 362 581 0.1 5;
-#X msg 546 588 0.1 5;
-#X msg 733 594 0.1 5;
-#X obj 458 59 link2D link3 0 0 0.08 0;
-#X obj 118 562 osc~ 805;
-#X msg 187 584 0.1 5;
-#X msg 915 596 0.6 5;
-#X obj 845 570 osc~ 105;
-#X connect 0 0 6 0;
-#X connect 0 1 7 0;
-#X connect 1 0 7 0;
-#X connect 1 1 8 0;
-#X connect 2 0 6 0;
-#X connect 2 1 8 0;
-#X connect 3 0 7 0;
-#X connect 3 1 9 0;
-#X connect 4 0 6 0;
-#X connect 4 1 9 0;
-#X connect 5 0 8 0;
-#X connect 5 1 9 0;
-#X connect 6 0 0 0;
-#X connect 6 0 2 0;
-#X connect 6 0 4 0;
-#X connect 6 0 39 0;
-#X connect 6 0 70 0;
-#X connect 7 0 0 1;
-#X connect 7 0 3 0;
-#X connect 7 0 1 0;
-#X connect 7 0 54 0;
-#X connect 7 0 69 0;
-#X connect 8 0 5 0;
-#X connect 8 0 2 1;
-#X connect 8 0 1 1;
-#X connect 8 0 33 0;
-#X connect 8 0 31 0;
-#X connect 8 0 40 1;
-#X connect 8 0 42 0;
-#X connect 8 0 72 0;
-#X connect 9 0 5 1;
-#X connect 9 0 3 1;
-#X connect 9 0 4 1;
-#X connect 9 0 30 0;
-#X connect 9 0 32 0;
-#X connect 9 0 55 1;
-#X connect 9 0 57 0;
-#X connect 9 0 71 0;
-#X connect 10 0 16 0;
-#X connect 10 1 17 0;
-#X connect 11 0 17 0;
-#X connect 11 1 18 0;
-#X connect 12 0 16 0;
-#X connect 12 1 18 0;
-#X connect 13 0 17 0;
-#X connect 13 1 19 0;
-#X connect 14 0 16 0;
-#X connect 14 1 19 0;
-#X connect 15 0 18 0;
-#X connect 15 1 19 0;
-#X connect 16 0 10 0;
-#X connect 16 0 12 0;
-#X connect 16 0 14 0;
-#X connect 16 0 30 1;
-#X connect 16 0 31 1;
-#X connect 16 0 43 1;
-#X connect 16 0 45 0;
-#X connect 16 0 109 0;
-#X connect 17 0 10 1;
-#X connect 17 0 13 0;
-#X connect 17 0 11 0;
-#X connect 17 0 32 1;
-#X connect 17 0 33 1;
-#X connect 17 0 58 1;
-#X connect 17 0 60 0;
-#X connect 18 0 15 0;
-#X connect 18 0 12 1;
-#X connect 18 0 11 1;
-#X connect 18 0 37 0;
-#X connect 18 0 35 0;
-#X connect 18 0 46 1;
-#X connect 18 0 48 0;
-#X connect 19 0 15 1;
-#X connect 19 0 13 1;
-#X connect 19 0 14 1;
-#X connect 19 0 34 0;
-#X connect 19 0 36 0;
-#X connect 19 0 61 1;
-#X connect 19 0 63 0;
-#X connect 20 0 26 0;
-#X connect 20 1 27 0;
-#X connect 21 0 27 0;
-#X connect 21 1 28 0;
-#X connect 22 0 26 0;
-#X connect 22 1 28 0;
-#X connect 23 0 27 0;
-#X connect 23 1 29 0;
-#X connect 24 0 26 0;
-#X connect 24 1 29 0;
-#X connect 25 0 28 0;
-#X connect 25 1 29 0;
-#X connect 26 0 20 0;
-#X connect 26 0 22 0;
-#X connect 26 0 24 0;
-#X connect 26 0 34 1;
-#X connect 26 0 35 1;
-#X connect 26 0 49 1;
-#X connect 26 0 51 0;
-#X connect 26 0 71 1;
-#X connect 27 0 20 1;
-#X connect 27 0 23 0;
-#X connect 27 0 21 0;
-#X connect 27 0 36 1;
-#X connect 27 0 37 1;
-#X connect 27 0 64 1;
-#X connect 27 0 66 0;
-#X connect 27 0 72 1;
-#X connect 28 0 25 0;
-#X connect 28 0 22 1;
-#X connect 28 0 21 1;
-#X connect 28 0 52 1;
-#X connect 28 0 69 1;
-#X connect 28 0 75 0;
-#X connect 29 0 25 1;
-#X connect 29 0 23 1;
-#X connect 29 0 24 1;
-#X connect 29 0 67 1;
-#X connect 29 0 70 1;
-#X connect 29 0 74 0;
-#X connect 30 0 9 0;
-#X connect 30 1 16 0;
-#X connect 31 0 8 0;
-#X connect 31 1 16 0;
-#X connect 32 0 9 0;
-#X connect 32 1 17 0;
-#X connect 33 0 8 0;
-#X connect 33 1 17 0;
-#X connect 34 0 19 0;
-#X connect 34 1 26 0;
-#X connect 35 0 18 0;
-#X connect 35 1 26 0;
-#X connect 36 0 19 0;
-#X connect 36 1 27 0;
-#X connect 37 0 18 0;
-#X connect 37 1 27 0;
-#X connect 38 0 39 1;
-#X connect 38 0 40 0;
-#X connect 39 0 6 0;
-#X connect 39 1 38 0;
-#X connect 40 0 38 0;
-#X connect 40 1 8 0;
-#X connect 41 0 42 1;
-#X connect 41 0 43 0;
-#X connect 42 0 8 0;
-#X connect 42 1 41 0;
-#X connect 43 0 41 0;
-#X connect 43 1 16 0;
-#X connect 44 0 45 1;
-#X connect 44 0 46 0;
-#X connect 45 0 16 0;
-#X connect 45 1 44 0;
-#X connect 46 0 44 0;
-#X connect 46 1 18 0;
-#X connect 47 0 48 1;
-#X connect 47 0 49 0;
-#X connect 48 0 18 0;
-#X connect 48 1 47 0;
-#X connect 49 0 47 0;
-#X connect 49 1 26 0;
-#X connect 50 0 51 1;
-#X connect 50 0 52 0;
-#X connect 51 0 26 0;
-#X connect 51 1 50 0;
-#X connect 52 0 50 0;
-#X connect 52 1 28 0;
-#X connect 53 0 54 1;
-#X connect 53 0 55 0;
-#X connect 53 0 77 0;
-#X connect 54 0 7 0;
-#X connect 54 1 53 0;
-#X connect 55 0 53 0;
-#X connect 55 1 9 0;
-#X connect 56 0 57 1;
-#X connect 56 0 58 0;
-#X connect 56 0 82 0;
-#X connect 57 0 9 0;
-#X connect 57 1 56 0;
-#X connect 58 0 56 0;
-#X connect 58 1 17 0;
-#X connect 59 0 60 1;
-#X connect 59 0 61 0;
-#X connect 59 0 87 0;
-#X connect 60 0 17 0;
-#X connect 60 1 59 0;
-#X connect 61 0 59 0;
-#X connect 61 1 19 0;
-#X connect 62 0 63 1;
-#X connect 62 0 64 0;
-#X connect 62 0 93 0;
-#X connect 63 0 19 0;
-#X connect 63 1 62 0;
-#X connect 64 0 62 0;
-#X connect 64 1 27 0;
-#X connect 65 0 66 1;
-#X connect 65 0 67 0;
-#X connect 65 0 98 0;
-#X connect 66 0 27 0;
-#X connect 66 1 65 0;
-#X connect 67 0 65 0;
-#X connect 67 1 29 0;
-#X connect 68 0 76 0;
-#X connect 69 0 7 0;
-#X connect 69 1 28 0;
-#X connect 70 0 6 0;
-#X connect 70 1 29 0;
-#X connect 71 0 9 0;
-#X connect 71 1 26 0;
-#X connect 72 0 8 0;
-#X connect 72 1 27 0;
-#X connect 73 0 75 1;
-#X connect 73 0 74 1;
-#X connect 74 0 29 0;
-#X connect 74 1 73 0;
-#X connect 75 0 28 0;
-#X connect 75 1 73 0;
-#X connect 76 0 109 1;
-#X connect 77 2 78 0;
-#X connect 78 0 111 0;
-#X connect 78 1 79 0;
-#X connect 79 0 80 0;
-#X connect 80 0 81 1;
-#X connect 81 0 92 0;
-#X connect 81 0 92 1;
-#X connect 82 2 83 0;
-#X connect 83 0 106 0;
-#X connect 83 1 84 0;
-#X connect 84 0 85 0;
-#X connect 85 0 86 1;
-#X connect 86 0 92 0;
-#X connect 86 0 92 1;
-#X connect 87 2 88 0;
-#X connect 88 0 107 0;
-#X connect 88 1 89 0;
-#X connect 89 0 90 0;
-#X connect 90 0 91 1;
-#X connect 91 0 92 0;
-#X connect 91 0 92 1;
-#X connect 93 2 94 0;
-#X connect 94 0 108 0;
-#X connect 94 1 95 0;
-#X connect 95 0 96 0;
-#X connect 96 0 97 1;
-#X connect 97 0 92 0;
-#X connect 98 2 99 0;
-#X connect 99 0 112 0;
-#X connect 99 1 100 0;
-#X connect 100 0 101 0;
-#X connect 101 0 102 1;
-#X connect 102 0 92 1;
-#X connect 102 0 92 0;
-#X connect 103 0 86 0;
-#X connect 104 0 91 0;
-#X connect 105 0 97 0;
-#X connect 106 0 85 0;
-#X connect 107 0 90 0;
-#X connect 108 0 96 0;
-#X connect 109 0 16 0;
-#X connect 110 0 81 0;
-#X connect 111 0 80 0;
-#X connect 112 0 101 0;
-#X connect 113 0 102 0;
-#X restore 313 258 pd structure;
-#N canvas 137 36 733 328 init 0;
-#X msg 253 181 setK \$1;
-#X msg 363 159 setD \$1;
-#X msg 544 129 setM \$1;
-#X floatatom 253 106 5 -10 200 0 - - -;
-#X floatatom 363 108 5 0 0 0 - - -;
-#X floatatom 544 106 5 0 0 0 - - -;
-#X obj 544 157 s mass;
-#X obj 253 155 / 10;
-#X obj 253 129 + 1;
-#X obj 363 132 / 10;
-#X obj 42 50 loadbang;
-#X floatatom 450 105 5 0 0 0 - - -;
-#X obj 450 129 / 10;
-#X msg 450 156 setD2 \$1;
-#X obj 44 201 s \$0-mass;
-#X obj 253 213 s \$0-link;
-#X msg 543 83 12;
-#X msg 254 80 25;
-#X msg 361 78 7;
-#X msg 451 80 1;
-#X obj 331 30 loadbang;
-#X msg 44 84 setXmin -3.8;
-#X msg 57 109 setXmax 3.8;
-#X msg 75 133 setYmin -3.8;
-#X msg 88 159 setYmax 3.8;
-#X connect 0 0 15 0;
-#X connect 1 0 15 0;
-#X connect 2 0 6 0;
-#X connect 3 0 8 0;
-#X connect 4 0 9 0;
-#X connect 5 0 2 0;
-#X connect 7 0 0 0;
-#X connect 8 0 7 0;
-#X connect 9 0 1 0;
-#X connect 10 0 21 0;
-#X connect 10 0 22 0;
-#X connect 10 0 23 0;
-#X connect 10 0 24 0;
-#X connect 11 0 12 0;
-#X connect 12 0 13 0;
-#X connect 13 0 15 0;
-#X connect 16 0 5 0;
-#X connect 17 0 3 0;
-#X connect 18 0 4 0;
-#X connect 19 0 11 0;
-#X connect 20 0 17 0;
-#X connect 20 0 18 0;
-#X connect 20 0 19 0;
-#X connect 20 0 16 0;
-#X connect 21 0 14 0;
-#X connect 22 0 14 0;
-#X connect 23 0 14 0;
-#X connect 24 0 14 0;
-#X restore 308 37 pd init;
-#X obj 191 25 loadbang;
-#X obj 32 48 metro 5;
-#X obj 69 105 s \$0-link;
-#X obj 32 161 s \$0-mass;
-#X obj 191 54 t b b b;
-#X msg 242 79 reset;
-#X msg 216 104 resetL;
-#X msg 191 132 resetF;
-#N canvas 894 558 454 304 gravite 0;
-#X obj 80 154 inlet;
-#X obj 79 241 outlet;
-#X obj 80 184 f;
-#X msg 81 213 force2D 0 \$1;
-#X obj 185 29 loadbang;
-#X obj 269 110 sel 0 1 2 3;
-#X obj 268 71 r preset;
-#X msg 224 144 -0.01;
-#X msg 275 143 -0.003;
-#X msg 325 142 -0.003;
-#X msg 386 142 -0.03;
-#X connect 0 0 2 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 0;
-#X connect 4 0 7 0;
-#X connect 5 0 7 0;
-#X connect 5 1 8 0;
-#X connect 5 2 9 0;
-#X connect 5 3 10 0;
-#X connect 6 0 5 0;
-#X connect 7 0 2 1;
-#X connect 8 0 2 1;
-#X connect 9 0 2 1;
-#X connect 10 0 2 1;
-#X restore 80 129 pd gravite;
-#X obj 41 189 s lfo-m;
-#X obj 127 159 s lfo-l;
-#X obj 140 185 s link3;
-#X obj 268 260 / 2;
-#X obj 268 284 + 64;
-#X obj 268 309 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 2447 1;
-#N canvas 931 259 458 308 MP_lfo 0;
-#X obj 84 126 link lfo-l 0 1 0 0;
-#X obj 67 89 mass lfo-m 1000 100;
-#X obj 60 164 outlet;
-#X connect 0 0 1 0;
-#X connect 1 0 0 0;
-#X connect 1 0 2 0;
-#X restore 269 234 pd MP_lfo;
-#X obj 328 394 s \$0-mass;
-#X msg 329 346 force2D -1 0;
-#X msg 430 346 force2D 1 0;
-#X msg 380 371 force2D 0 -1;
-#X msg 387 321 force2D 0 1;
-#X text 33 547 a "a way linkison" is a linkison wich can send energy
-from mass 1 to 2 \, but not from mass 2 to 1 This is absolutly not
-physical (as it's act as creation energy) \, but usefull for exiting
-a system. It can be made if the link output (force output) is not conectet
-to the mass wich should not receive energy from the link.;
-#X text 34 485 a single structure (mass and link) is oscilating without
-damping (so \, it's a sinus LFO). a "one-way linkison" link it to the
-main structure. So the main structure is moving.;
-#X text 33 662 You can also make a muscle while changing a link lenght.
-;
-#X obj 265 140 s \$0-mass;
-#X obj 265 165 s lfo-m;
-#X text 32 695 sound is generated with masss position;
-#X text 52 26 <- 1;
-#X text 178 251 <- 2;
-#X msg 33 384 \; pd dsp 1 \;;
-#X msg 137 381 \; pd dsp 0 \;;
-#X connect 0 0 11 0;
-#X connect 0 0 17 0;
-#X connect 0 1 10 0;
-#X connect 0 1 16 0;
-#X connect 0 1 18 0;
-#X connect 0 1 19 0;
-#X connect 1 0 9 0;
-#X connect 2 0 12 0;
-#X connect 3 0 4 0;
-#X connect 5 0 4 0;
-#X connect 8 0 12 0;
-#X connect 9 0 0 0;
-#X connect 12 0 15 0;
-#X connect 12 1 14 0;
-#X connect 12 2 13 0;
-#X connect 13 0 32 0;
-#X connect 13 0 33 0;
-#X connect 14 0 10 0;
-#X connect 15 0 10 0;
-#X connect 15 0 18 0;
-#X connect 16 0 11 0;
-#X connect 20 0 21 0;
-#X connect 21 0 22 0;
-#X connect 23 0 20 0;
-#X connect 23 0 6 0;
-#X connect 25 0 24 0;
-#X connect 26 0 24 0;
-#X connect 27 0 24 0;
-#X connect 28 0 24 0;
+#N canvas 116 91 589 642 12;
+#X declare -lib Gem;
+#X obj 32 75 t b b;
+#X obj 32 27 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 170 26 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 73 277 0 \, destroy;
+#X obj 39 305 gemwin;
+#X msg 39 252 reset \, create \, 1;
+#N canvas 46 337 1195 749 structure 0;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 25 279 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 77 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 119 216 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 114 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 141 350 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 197 282 pd link;
+#N canvas 0 0 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -1 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 28 215 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -1 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 22 372 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 195 216 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 194 379 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 365 279 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 417 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 459 216 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 454 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 481 350 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 537 282 pd link;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 368 215 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 362 372 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 535 216 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 534 378 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 735 282 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 787 347 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 829 219 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 824 381 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 851 353 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 907 285 pd link;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 738 218 pd mass;
+#N canvas 0 0 456 306 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 730 378 pd mass;
+#N canvas 0 0 458 308 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 25 65 mass2D \$0-mass 50 1.5 0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 905 219 pd mass;
+#N canvas 0 0 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.5 0;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 904 381 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 233 344 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 291 215 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 290 378 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 311 340 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 612 342 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 641 219 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 649 376 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 676 348 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.75 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 123 96 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 64 150 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 164 153 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 297 94 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 238 148 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 334 153 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 482 100 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 422 154 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 523 157 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.75 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 668 106 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 609 160 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 709 163 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.25 1;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 851 110 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 792 164 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 892 167 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.75 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 96 503 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 49 434 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 149 437 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 -0.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 270 501 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 227 436 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 319 437 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 66 mass2D \$0-mass 50 0.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 455 507 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 407 438 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 508 441 pd link;
+#N canvas 0 0 462 312 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 0.75 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 641 513 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 594 444 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 694 447 pd link;
+#N canvas 0 0 464 314 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 1.25 -0.5;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 825 516 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 777 448 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 877 451 pd link;
+#X obj 613 11 inlet;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 466 321 pd link;
+#N canvas 0 0 456 306 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 425 248 pd link;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 309 303 pd link;
+#N canvas 0 0 454 304 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 4 1;
+#X connect 2 0 4 0;
+#X connect 4 0 3 0;
+#X connect 4 1 1 0;
+#X restore 299 264 pd link;
+#N canvas 787 26 460 310 mass 0;
+#X obj 26 38 inlet;
+#X obj 11 137 outlet;
+#X obj 25 104 unpack s f f;
+#X obj 285 48 gemhead;
+#X obj 284 89 translateXYZ;
+#X obj 281 131 sphere 0.1;
+#X obj 24 65 mass2D \$0-mass 50 2 0.25;
+#X connect 0 0 6 0;
+#X connect 2 1 4 1;
+#X connect 2 2 4 2;
+#X connect 3 0 4 0;
+#X connect 4 0 5 0;
+#X connect 6 0 2 0;
+#X connect 6 0 1 0;
+#X restore 1037 291 pd mass;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 977 346 pd link;
+#N canvas 0 0 452 302 link 0;
+#X obj 177 35 inlet;
+#X obj 171 96 outlet;
+#X obj 12 32 inlet;
+#X obj 6 93 outlet;
+#X msg 56 156 \$1 \$2 0;
+#X obj 24 186 gemhead;
+#X obj 26 210 curve 2;
+#X msg 134 155 \$1 \$2 0;
+#X obj 45 61 link2D \$0-link 0 10 2.5 0.1;
+#X connect 0 0 7 0;
+#X connect 0 0 8 1;
+#X connect 2 0 4 0;
+#X connect 2 0 8 0;
+#X connect 4 0 6 1;
+#X connect 5 0 6 0;
+#X connect 7 0 6 2;
+#X connect 8 0 3 0;
+#X connect 8 1 1 0;
+#X restore 970 258 pd link;
+#X msg 613 35 position2D 0 \$1;
+#X obj 96 529 unpack s f f;
+#X obj 187 556 route -3.8;
+#X msg 262 582 0 200;
+#X obj 187 610 line~;
+#X obj 168 636 *~;
+#X obj 270 526 unpack s f f;
+#X obj 361 553 route -3.8;
+#X msg 436 579 0 200;
+#X obj 361 607 line~;
+#X obj 342 633 *~;
+#X obj 455 533 unpack s f f;
+#X obj 546 560 route -3.8;
+#X msg 621 586 0 200;
+#X obj 546 614 line~;
+#X obj 527 640 *~;
+#X obj 521 679 dac~;
+#X obj 642 539 unpack s f f;
+#X obj 733 566 route -3.8;
+#X msg 808 592 0 200;
+#X obj 733 620 line~;
+#X obj 714 646 *~;
+#X obj 826 542 unpack s f f;
+#X obj 917 569 route -3.8;
+#X msg 992 595 0 200;
+#X obj 917 623 line~;
+#X obj 898 649 *~;
+#X obj 292 559 osc~ 183;
+#X obj 477 566 osc~ 370;
+#X obj 664 572 osc~ 457;
+#X msg 362 581 0.1 5;
+#X msg 546 588 0.1 5;
+#X msg 733 594 0.1 5;
+#X obj 458 59 link2D link3 0 0 0.08 0;
+#X obj 118 562 osc~ 805;
+#X msg 187 584 0.1 5;
+#X msg 915 596 0.6 5;
+#X obj 845 570 osc~ 105;
+#X connect 0 0 6 0;
+#X connect 0 1 7 0;
+#X connect 1 0 7 0;
+#X connect 1 1 8 0;
+#X connect 2 0 6 0;
+#X connect 2 1 8 0;
+#X connect 3 0 7 0;
+#X connect 3 1 9 0;
+#X connect 4 0 6 0;
+#X connect 4 1 9 0;
+#X connect 5 0 8 0;
+#X connect 5 1 9 0;
+#X connect 6 0 0 0;
+#X connect 6 0 2 0;
+#X connect 6 0 4 0;
+#X connect 6 0 39 0;
+#X connect 6 0 70 0;
+#X connect 7 0 0 1;
+#X connect 7 0 3 0;
+#X connect 7 0 1 0;
+#X connect 7 0 54 0;
+#X connect 7 0 69 0;
+#X connect 8 0 5 0;
+#X connect 8 0 2 1;
+#X connect 8 0 1 1;
+#X connect 8 0 33 0;
+#X connect 8 0 31 0;
+#X connect 8 0 40 1;
+#X connect 8 0 42 0;
+#X connect 8 0 72 0;
+#X connect 9 0 5 1;
+#X connect 9 0 3 1;
+#X connect 9 0 4 1;
+#X connect 9 0 30 0;
+#X connect 9 0 32 0;
+#X connect 9 0 55 1;
+#X connect 9 0 57 0;
+#X connect 9 0 71 0;
+#X connect 10 0 16 0;
+#X connect 10 1 17 0;
+#X connect 11 0 17 0;
+#X connect 11 1 18 0;
+#X connect 12 0 16 0;
+#X connect 12 1 18 0;
+#X connect 13 0 17 0;
+#X connect 13 1 19 0;
+#X connect 14 0 16 0;
+#X connect 14 1 19 0;
+#X connect 15 0 18 0;
+#X connect 15 1 19 0;
+#X connect 16 0 10 0;
+#X connect 16 0 12 0;
+#X connect 16 0 14 0;
+#X connect 16 0 30 1;
+#X connect 16 0 31 1;
+#X connect 16 0 43 1;
+#X connect 16 0 45 0;
+#X connect 16 0 109 0;
+#X connect 17 0 10 1;
+#X connect 17 0 13 0;
+#X connect 17 0 11 0;
+#X connect 17 0 32 1;
+#X connect 17 0 33 1;
+#X connect 17 0 58 1;
+#X connect 17 0 60 0;
+#X connect 18 0 15 0;
+#X connect 18 0 12 1;
+#X connect 18 0 11 1;
+#X connect 18 0 37 0;
+#X connect 18 0 35 0;
+#X connect 18 0 46 1;
+#X connect 18 0 48 0;
+#X connect 19 0 15 1;
+#X connect 19 0 13 1;
+#X connect 19 0 14 1;
+#X connect 19 0 34 0;
+#X connect 19 0 36 0;
+#X connect 19 0 61 1;
+#X connect 19 0 63 0;
+#X connect 20 0 26 0;
+#X connect 20 1 27 0;
+#X connect 21 0 27 0;
+#X connect 21 1 28 0;
+#X connect 22 0 26 0;
+#X connect 22 1 28 0;
+#X connect 23 0 27 0;
+#X connect 23 1 29 0;
+#X connect 24 0 26 0;
+#X connect 24 1 29 0;
+#X connect 25 0 28 0;
+#X connect 25 1 29 0;
+#X connect 26 0 20 0;
+#X connect 26 0 22 0;
+#X connect 26 0 24 0;
+#X connect 26 0 34 1;
+#X connect 26 0 35 1;
+#X connect 26 0 49 1;
+#X connect 26 0 51 0;
+#X connect 26 0 71 1;
+#X connect 27 0 20 1;
+#X connect 27 0 23 0;
+#X connect 27 0 21 0;
+#X connect 27 0 36 1;
+#X connect 27 0 37 1;
+#X connect 27 0 64 1;
+#X connect 27 0 66 0;
+#X connect 27 0 72 1;
+#X connect 28 0 25 0;
+#X connect 28 0 22 1;
+#X connect 28 0 21 1;
+#X connect 28 0 52 1;
+#X connect 28 0 69 1;
+#X connect 28 0 75 0;
+#X connect 29 0 25 1;
+#X connect 29 0 23 1;
+#X connect 29 0 24 1;
+#X connect 29 0 67 1;
+#X connect 29 0 70 1;
+#X connect 29 0 74 0;
+#X connect 30 0 9 0;
+#X connect 30 1 16 0;
+#X connect 31 0 8 0;
+#X connect 31 1 16 0;
+#X connect 32 0 9 0;
+#X connect 32 1 17 0;
+#X connect 33 0 8 0;
+#X connect 33 1 17 0;
+#X connect 34 0 19 0;
+#X connect 34 1 26 0;
+#X connect 35 0 18 0;
+#X connect 35 1 26 0;
+#X connect 36 0 19 0;
+#X connect 36 1 27 0;
+#X connect 37 0 18 0;
+#X connect 37 1 27 0;
+#X connect 38 0 39 1;
+#X connect 38 0 40 0;
+#X connect 39 0 6 0;
+#X connect 39 1 38 0;
+#X connect 40 0 38 0;
+#X connect 40 1 8 0;
+#X connect 41 0 42 1;
+#X connect 41 0 43 0;
+#X connect 42 0 8 0;
+#X connect 42 1 41 0;
+#X connect 43 0 41 0;
+#X connect 43 1 16 0;
+#X connect 44 0 45 1;
+#X connect 44 0 46 0;
+#X connect 45 0 16 0;
+#X connect 45 1 44 0;
+#X connect 46 0 44 0;
+#X connect 46 1 18 0;
+#X connect 47 0 48 1;
+#X connect 47 0 49 0;
+#X connect 48 0 18 0;
+#X connect 48 1 47 0;
+#X connect 49 0 47 0;
+#X connect 49 1 26 0;
+#X connect 50 0 51 1;
+#X connect 50 0 52 0;
+#X connect 51 0 26 0;
+#X connect 51 1 50 0;
+#X connect 52 0 50 0;
+#X connect 52 1 28 0;
+#X connect 53 0 54 1;
+#X connect 53 0 55 0;
+#X connect 53 0 77 0;
+#X connect 54 0 7 0;
+#X connect 54 1 53 0;
+#X connect 55 0 53 0;
+#X connect 55 1 9 0;
+#X connect 56 0 57 1;
+#X connect 56 0 58 0;
+#X connect 56 0 82 0;
+#X connect 57 0 9 0;
+#X connect 57 1 56 0;
+#X connect 58 0 56 0;
+#X connect 58 1 17 0;
+#X connect 59 0 60 1;
+#X connect 59 0 61 0;
+#X connect 59 0 87 0;
+#X connect 60 0 17 0;
+#X connect 60 1 59 0;
+#X connect 61 0 59 0;
+#X connect 61 1 19 0;
+#X connect 62 0 63 1;
+#X connect 62 0 64 0;
+#X connect 62 0 93 0;
+#X connect 63 0 19 0;
+#X connect 63 1 62 0;
+#X connect 64 0 62 0;
+#X connect 64 1 27 0;
+#X connect 65 0 66 1;
+#X connect 65 0 67 0;
+#X connect 65 0 98 0;
+#X connect 66 0 27 0;
+#X connect 66 1 65 0;
+#X connect 67 0 65 0;
+#X connect 67 1 29 0;
+#X connect 68 0 76 0;
+#X connect 69 0 7 0;
+#X connect 69 1 28 0;
+#X connect 70 0 6 0;
+#X connect 70 1 29 0;
+#X connect 71 0 9 0;
+#X connect 71 1 26 0;
+#X connect 72 0 8 0;
+#X connect 72 1 27 0;
+#X connect 73 0 75 1;
+#X connect 73 0 74 1;
+#X connect 74 0 29 0;
+#X connect 74 1 73 0;
+#X connect 75 0 28 0;
+#X connect 75 1 73 0;
+#X connect 76 0 109 1;
+#X connect 77 2 78 0;
+#X connect 78 0 111 0;
+#X connect 78 1 79 0;
+#X connect 79 0 80 0;
+#X connect 80 0 81 1;
+#X connect 81 0 92 0;
+#X connect 81 0 92 1;
+#X connect 82 2 83 0;
+#X connect 83 0 106 0;
+#X connect 83 1 84 0;
+#X connect 84 0 85 0;
+#X connect 85 0 86 1;
+#X connect 86 0 92 0;
+#X connect 86 0 92 1;
+#X connect 87 2 88 0;
+#X connect 88 0 107 0;
+#X connect 88 1 89 0;
+#X connect 89 0 90 0;
+#X connect 90 0 91 1;
+#X connect 91 0 92 0;
+#X connect 91 0 92 1;
+#X connect 93 2 94 0;
+#X connect 94 0 108 0;
+#X connect 94 1 95 0;
+#X connect 95 0 96 0;
+#X connect 96 0 97 1;
+#X connect 97 0 92 0;
+#X connect 98 2 99 0;
+#X connect 99 0 112 0;
+#X connect 99 1 100 0;
+#X connect 100 0 101 0;
+#X connect 101 0 102 1;
+#X connect 102 0 92 1;
+#X connect 102 0 92 0;
+#X connect 103 0 86 0;
+#X connect 104 0 91 0;
+#X connect 105 0 97 0;
+#X connect 106 0 85 0;
+#X connect 107 0 90 0;
+#X connect 108 0 96 0;
+#X connect 109 0 16 0;
+#X connect 110 0 81 0;
+#X connect 111 0 80 0;
+#X connect 112 0 101 0;
+#X connect 113 0 102 0;
+#X restore 313 258 pd structure;
+#N canvas 137 36 733 328 init 0;
+#X msg 253 181 setK \$1;
+#X msg 363 159 setD \$1;
+#X msg 544 129 setM \$1;
+#X floatatom 253 106 5 -10 200 0 - - -;
+#X floatatom 363 108 5 0 0 0 - - -;
+#X floatatom 544 106 5 0 0 0 - - -;
+#X obj 544 157 s mass;
+#X obj 253 155 / 10;
+#X obj 253 129 + 1;
+#X obj 363 132 / 10;
+#X obj 42 50 loadbang;
+#X floatatom 450 105 5 0 0 0 - - -;
+#X obj 450 129 / 10;
+#X msg 450 156 setD2 \$1;
+#X obj 44 201 s \$0-mass;
+#X obj 253 213 s \$0-link;
+#X msg 543 83 12;
+#X msg 254 80 25;
+#X msg 361 78 7;
+#X msg 451 80 1;
+#X obj 331 30 loadbang;
+#X msg 44 84 setXmin -3.8;
+#X msg 57 109 setXmax 3.8;
+#X msg 75 133 setYmin -3.8;
+#X msg 88 159 setYmax 3.8;
+#X connect 0 0 15 0;
+#X connect 1 0 15 0;
+#X connect 2 0 6 0;
+#X connect 3 0 8 0;
+#X connect 4 0 9 0;
+#X connect 5 0 2 0;
+#X connect 7 0 0 0;
+#X connect 8 0 7 0;
+#X connect 9 0 1 0;
+#X connect 10 0 21 0;
+#X connect 10 0 22 0;
+#X connect 10 0 23 0;
+#X connect 10 0 24 0;
+#X connect 11 0 12 0;
+#X connect 12 0 13 0;
+#X connect 13 0 15 0;
+#X connect 16 0 5 0;
+#X connect 17 0 3 0;
+#X connect 18 0 4 0;
+#X connect 19 0 11 0;
+#X connect 20 0 17 0;
+#X connect 20 0 18 0;
+#X connect 20 0 19 0;
+#X connect 20 0 16 0;
+#X connect 21 0 14 0;
+#X connect 22 0 14 0;
+#X connect 23 0 14 0;
+#X connect 24 0 14 0;
+#X restore 308 37 pd init;
+#X obj 191 25 loadbang;
+#X obj 32 48 metro 5;
+#X obj 69 105 s \$0-link;
+#X obj 32 161 s \$0-mass;
+#X obj 191 54 t b b b;
+#X msg 242 79 reset;
+#X msg 216 104 resetL;
+#X msg 191 132 resetF;
+#N canvas 894 558 454 304 gravite 0;
+#X obj 80 154 inlet;
+#X obj 79 241 outlet;
+#X obj 80 184 f;
+#X msg 81 213 force2D 0 \$1;
+#X obj 185 29 loadbang;
+#X obj 269 110 sel 0 1 2 3;
+#X obj 268 71 r preset;
+#X msg 224 144 -0.01;
+#X msg 275 143 -0.003;
+#X msg 325 142 -0.003;
+#X msg 386 142 -0.03;
+#X connect 0 0 2 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 0;
+#X connect 4 0 7 0;
+#X connect 5 0 7 0;
+#X connect 5 1 8 0;
+#X connect 5 2 9 0;
+#X connect 5 3 10 0;
+#X connect 6 0 5 0;
+#X connect 7 0 2 1;
+#X connect 8 0 2 1;
+#X connect 9 0 2 1;
+#X connect 10 0 2 1;
+#X restore 80 129 pd gravite;
+#X obj 41 189 s lfo-m;
+#X obj 127 159 s lfo-l;
+#X obj 140 185 s link3;
+#X obj 268 260 / 2;
+#X obj 268 284 + 64;
+#X obj 268 309 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 11400 1;
+#N canvas 931 259 458 308 MP_lfo 0;
+#X obj 84 126 link lfo-l 0 1 0 0;
+#X obj 67 89 mass lfo-m 1000 100;
+#X obj 60 164 outlet;
+#X connect 0 0 1 0;
+#X connect 1 0 0 0;
+#X connect 1 0 2 0;
+#X restore 269 234 pd MP_lfo;
+#X obj 328 394 s \$0-mass;
+#X msg 329 346 force2D -1 0;
+#X msg 430 346 force2D 1 0;
+#X msg 380 371 force2D 0 -1;
+#X msg 387 321 force2D 0 1;
+#X text 33 547 a "a way linkison" is a linkison wich can send energy
+from mass 1 to 2 \, but not from mass 2 to 1 This is absolutly not
+physical (as it's act as creation energy) \, but usefull for exiting
+a system. It can be made if the link output (force output) is not conectet
+to the mass wich should not receive energy from the link.;
+#X text 34 485 a single structure (mass and link) is oscilating without
+damping (so \, it's a sinus LFO). a "one-way linkison" link it to the
+main structure. So the main structure is moving.;
+#X text 33 662 You can also make a muscle while changing a link lenght.
+;
+#X obj 265 140 s \$0-mass;
+#X obj 265 165 s lfo-m;
+#X text 32 695 sound is generated with masss position;
+#X text 52 26 <- 1;
+#X text 178 251 <- 2;
+#X msg 33 384 \; pd dsp 1 \;;
+#X msg 137 381 \; pd dsp 0 \;;
+#X obj 307 15 declare -lib Gem;
+#X connect 0 0 11 0;
+#X connect 0 0 17 0;
+#X connect 0 1 10 0;
+#X connect 0 1 16 0;
+#X connect 0 1 18 0;
+#X connect 0 1 19 0;
+#X connect 1 0 9 0;
+#X connect 2 0 12 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 12 0;
+#X connect 9 0 0 0;
+#X connect 12 0 15 0;
+#X connect 12 1 14 0;
+#X connect 12 2 13 0;
+#X connect 13 0 32 0;
+#X connect 13 0 33 0;
+#X connect 14 0 10 0;
+#X connect 15 0 10 0;
+#X connect 15 0 18 0;
+#X connect 16 0 11 0;
+#X connect 20 0 21 0;
+#X connect 21 0 22 0;
+#X connect 23 0 20 0;
+#X connect 23 0 6 0;
+#X connect 25 0 24 0;
+#X connect 26 0 24 0;
+#X connect 27 0 24 0;
+#X connect 28 0 24 0;
diff --git a/examples/13_plane3D.pd b/examples/13_plane3D.pd
index 965237e..1a23584 100644
--- a/examples/13_plane3D.pd
+++ b/examples/13_plane3D.pd
@@ -1,5 +1,6 @@
-#N canvas 603 32 1102 849 12;
-#X obj 28 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#N canvas 599 91 1102 849 12;
+#X declare -lib Gem;
+#X obj 28 79 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 397 175 setK \$1;
#X msg 618 127 setM \$1;
@@ -168,6 +169,7 @@ they will not move.;
#X obj 49 413 s masse;
#X obj 28 183 s masse;
#X obj 99 184 s lia;
+#X obj 158 12 declare -lib Gem;
#X connect 0 0 12 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
diff --git a/examples/14_MP_curve3d.pd b/examples/14_MP_curve3d.pd
index c11abc1..9817785 100644
--- a/examples/14_MP_curve3d.pd
+++ b/examples/14_MP_curve3d.pd
@@ -1,4 +1,5 @@
-#N canvas 613 241 763 458 12;
+#N canvas 609 255 763 458 12;
+#X declare -lib Gem;
#X obj 23 83 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 801 142 setK \$1;
@@ -420,6 +421,7 @@ visualisation.;
#X obj 23 154 s masse;
#X obj 156 203 s lia;
#X obj 48 321 s masse;
+#X obj 283 36 declare -lib Gem;
#X connect 0 0 12 0;
#X connect 1 0 3 0;
#X connect 2 0 4 0;
diff --git a/examples/15_constant_force_field.pd b/examples/15_constant_force_field.pd
index 4882d29..3d4867d 100644
--- a/examples/15_constant_force_field.pd
+++ b/examples/15_constant_force_field.pd
@@ -1,283 +1,285 @@
-#N canvas 40 72 795 432 12;
-#X obj 16 104 t b b;
-#X obj 16 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 94 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 258 79 0 \, destroy;
-#X msg 224 54 reset \, create \, 1;
-#N canvas 510 193 970 698 structure 0;
-#X obj 124 314 pd_link \$0;
-#X obj 27 290 pd_mass -1 0 \$0;
-#X obj 49 445 pd_link \$0;
-#X obj 123 558 pd_mass -0.7 -0.7 \$0;
-#X obj 198 502 pd_link \$0;
-#X obj 124 43 pd_mass -0.7 0.7 \$0;
-#X obj 189 113 pd_link \$0;
-#X obj 69 161 pd_link \$0;
-#X obj 201 187 pd_link \$0;
-#X obj 213 373 pd_link \$0;
-#X obj 279 598 pd_link \$0;
-#X obj 399 624 pd_mass 0 -1 \$0;
-#X obj 410 562 pd_link \$0;
-#X obj 580 585 pd_link \$0;
-#X obj 310 327 pd_link \$0;
-#X obj 388 330 pd_link \$0;
-#X obj 468 330 pd_link \$0;
-#X obj 338 427 pd_link \$0;
-#X obj 509 422 pd_link \$0;
-#X obj 304 26 pd_link \$0;
-#X obj 436 16 pd_mass 0 1 \$0;
-#X obj 441 57 pd_link \$0;
-#X obj 347 129 pd_link \$0;
-#X obj 308 231 pd_link \$0;
-#X obj 304 280 pd_link \$0;
-#X obj 393 227 pd_link \$0;
-#X obj 475 227 pd_link \$0;
-#X obj 529 278 pd_link \$0;
-#X obj 604 358 pd_link \$0;
-#X obj 678 291 pd_link \$0;
-#X obj 604 221 pd_link \$0;
-#X obj 499 135 pd_link \$0;
-#X obj 571 43 pd_link \$0;
-#X obj 612 101 pd_link \$0;
-#X obj 749 179 pd_link \$0;
-#X obj 680 64 pd_mass 0.7 0.7 \$0;
-#X obj 766 285 pd_mass 1 0 \$0;
-#X obj 763 429 pd_link \$0;
-#X obj 671 510 pd_link \$0;
-#X obj 748 552 pd_mass 0.7 -0.7 \$0;
-#X obj 407 274 pd_mass 0 0 \$0;
-#X connect 0 0 5 0;
-#X connect 0 1 3 0;
-#X connect 1 0 2 0;
-#X connect 1 0 4 0;
-#X connect 1 0 6 0;
-#X connect 1 0 7 0;
-#X connect 1 0 17 0;
-#X connect 1 0 22 0;
-#X connect 1 0 24 0;
-#X connect 2 0 1 0;
-#X connect 2 1 3 0;
-#X connect 3 0 0 1;
-#X connect 3 0 2 1;
-#X connect 3 0 8 1;
-#X connect 3 0 10 0;
-#X connect 3 0 12 0;
-#X connect 3 0 14 0;
-#X connect 3 0 18 0;
-#X connect 4 0 1 0;
-#X connect 4 1 11 0;
-#X connect 5 0 0 0;
-#X connect 5 0 7 1;
-#X connect 5 0 9 0;
-#X connect 5 0 19 0;
-#X connect 5 0 21 0;
-#X connect 5 0 23 0;
-#X connect 5 0 31 0;
-#X connect 6 0 1 0;
-#X connect 6 1 20 0;
-#X connect 7 0 1 0;
-#X connect 7 1 5 0;
-#X connect 8 0 20 0;
-#X connect 8 1 3 0;
-#X connect 9 0 5 0;
-#X connect 9 1 11 0;
-#X connect 10 0 3 0;
-#X connect 10 1 11 0;
-#X connect 11 0 4 1;
-#X connect 11 0 9 1;
-#X connect 11 0 10 1;
-#X connect 11 0 13 0;
-#X connect 11 0 15 1;
-#X connect 11 0 28 0;
-#X connect 11 0 38 0;
-#X connect 12 0 3 0;
-#X connect 12 1 39 0;
-#X connect 13 0 11 0;
-#X connect 13 1 39 0;
-#X connect 14 0 3 0;
-#X connect 14 1 40 0;
-#X connect 15 0 40 0;
-#X connect 15 1 11 0;
-#X connect 16 0 40 0;
-#X connect 16 1 39 0;
-#X connect 17 0 1 0;
-#X connect 17 1 39 0;
-#X connect 18 0 3 0;
-#X connect 18 1 36 0;
-#X connect 19 0 5 0;
-#X connect 19 1 20 0;
-#X connect 20 0 6 1;
-#X connect 20 0 8 0;
-#X connect 20 0 19 1;
-#X connect 20 0 25 1;
-#X connect 20 0 30 0;
-#X connect 20 0 32 0;
-#X connect 20 0 33 0;
-#X connect 21 0 5 0;
-#X connect 21 1 35 0;
-#X connect 22 0 1 0;
-#X connect 22 1 35 0;
-#X connect 23 0 5 0;
-#X connect 23 1 40 0;
-#X connect 24 0 1 0;
-#X connect 24 1 40 0;
-#X connect 25 0 40 0;
-#X connect 25 1 20 0;
-#X connect 26 0 40 0;
-#X connect 26 1 35 0;
-#X connect 27 0 40 0;
-#X connect 27 1 36 0;
-#X connect 28 0 11 0;
-#X connect 28 1 35 0;
-#X connect 29 0 39 0;
-#X connect 29 1 35 0;
-#X connect 30 0 20 0;
-#X connect 30 1 39 0;
-#X connect 31 0 5 0;
-#X connect 31 1 36 0;
-#X connect 32 0 20 0;
-#X connect 32 1 35 0;
-#X connect 33 0 20 0;
-#X connect 33 1 36 0;
-#X connect 34 0 35 0;
-#X connect 34 1 36 0;
-#X connect 35 0 21 1;
-#X connect 35 0 22 1;
-#X connect 35 0 26 1;
-#X connect 35 0 28 1;
-#X connect 35 0 29 1;
-#X connect 35 0 32 1;
-#X connect 35 0 34 0;
-#X connect 36 0 18 1;
-#X connect 36 0 27 1;
-#X connect 36 0 31 1;
-#X connect 36 0 33 1;
-#X connect 36 0 34 1;
-#X connect 36 0 37 0;
-#X connect 36 0 38 1;
-#X connect 37 0 36 0;
-#X connect 37 1 39 0;
-#X connect 38 0 11 0;
-#X connect 38 1 36 0;
-#X connect 39 0 12 1;
-#X connect 39 0 13 1;
-#X connect 39 0 16 1;
-#X connect 39 0 17 1;
-#X connect 39 0 29 0;
-#X connect 39 0 30 1;
-#X connect 39 0 37 1;
-#X connect 40 0 14 1;
-#X connect 40 0 15 0;
-#X connect 40 0 16 0;
-#X connect 40 0 23 1;
-#X connect 40 0 24 1;
-#X connect 40 0 25 0;
-#X connect 40 0 26 0;
-#X connect 40 0 27 0;
-#X restore 372 150 pd structure;
-#X msg 590 101 force2D 0 5;
-#X msg 646 127 force2D 5 0;
-#N canvas 623 135 504 293 init 0;
-#X msg 200 169 setK \$1;
-#X msg 274 143 setD \$1;
-#X msg 416 115 setM \$1;
-#X floatatom 200 94 5 -10 200 0 - - -;
-#X floatatom 274 92 5 0 0 0 - - -;
-#X floatatom 416 92 5 0 0 0 - - -;
-#X obj 200 143 / 10;
-#X obj 200 117 + 1;
-#X obj 274 116 / 10;
-#X msg 200 67 100;
-#X msg 274 68 25;
-#X msg 416 66 50;
-#X floatatom 341 92 5 0 0 0 - - -;
-#X obj 341 116 / 10;
-#X msg 341 143 setD2 \$1;
-#X msg 341 68 1;
-#X obj 200 201 s \$0-link;
-#X obj 416 143 s \$0-mass;
-#X obj 42 50 loadbang;
-#X obj 44 202 s \$0-mass;
-#X msg 44 84 setXmin -3.8;
-#X msg 57 109 setXmax 3.8;
-#X msg 75 133 setYmin -3.8;
-#X msg 88 159 setYmax 3.8;
-#X connect 0 0 16 0;
-#X connect 1 0 16 0;
-#X connect 2 0 17 0;
-#X connect 3 0 7 0;
-#X connect 4 0 8 0;
-#X connect 5 0 2 0;
-#X connect 6 0 0 0;
-#X connect 7 0 6 0;
-#X connect 8 0 1 0;
-#X connect 9 0 3 0;
-#X connect 10 0 4 0;
-#X connect 11 0 5 0;
-#X connect 12 0 13 0;
-#X connect 13 0 14 0;
-#X connect 14 0 16 0;
-#X connect 15 0 12 0;
-#X connect 18 0 20 0;
-#X connect 18 0 21 0;
-#X connect 18 0 22 0;
-#X connect 18 0 23 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X connect 23 0 19 0;
-#X restore 372 123 pd init;
-#X obj 117 52 loadbang;
-#X msg 592 155 force2D 0 -5;
-#X msg 535 128 force2D -5 0;
-#X obj 51 181 s \$0-link;
-#X obj 16 209 s \$0-mass;
-#X obj 591 187 s \$0-mass;
-#X msg 145 108 reset;
-#X msg 119 132 resetL;
-#X msg 94 153 resetF;
-#X obj 94 81 t b b b;
-#X obj 223 176 color 1 0 0;
-#X obj 223 231 rectangle 2 1;
-#X obj 223 146 gemhead 40;
-#X obj 223 205 translateXYZ -2 -3 0;
-#X text 437 310 <- positive Y force : just in the red square;
-#X text 239 284 <- negative Y force (gravity) everywhere.;
-#X text 92 361 the red square is a place with force from bottom to
-top. like a ball in wather.;
-#X obj 16 77 metro 50;
-#X obj 224 107 gemwin;
-#X obj 26 285 iAmbient2D \$0-mass 0 -1;
-#X obj 24 309 iAmbient2D \$0-mass 0 3 0 0 0 -4 0 -4 -2;
-#X text 285 -27 This is the same ball as prevuis exemple \, but in
-a differents context.;
-#X obj 646 72 loadbang;
-#X text 40 54 <- 1;
-#X text 359 55 <- 2;
-#X text 579 212 move the structure;
-#X connect 0 0 13 0;
-#X connect 0 1 12 0;
-#X connect 0 1 28 0;
-#X connect 0 1 29 0;
-#X connect 1 0 26 0;
-#X connect 2 0 18 0;
-#X connect 3 0 27 0;
-#X connect 4 0 27 0;
-#X connect 6 0 14 0;
-#X connect 7 0 14 0;
-#X connect 9 0 18 0;
-#X connect 10 0 14 0;
-#X connect 11 0 14 0;
-#X connect 15 0 13 0;
-#X connect 16 0 12 0;
-#X connect 17 0 12 0;
-#X connect 18 0 17 0;
-#X connect 18 1 16 0;
-#X connect 18 2 15 0;
-#X connect 19 0 22 0;
-#X connect 21 0 19 0;
-#X connect 22 0 20 0;
-#X connect 26 0 0 0;
-#X connect 31 0 7 0;
+#N canvas 36 91 795 432 12;
+#X declare -lib Gem;
+#X obj 16 104 t b b;
+#X obj 16 56 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 94 57 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 258 79 0 \, destroy;
+#X msg 224 54 reset \, create \, 1;
+#N canvas 510 193 970 698 structure 0;
+#X obj 124 314 pd_link \$0;
+#X obj 27 290 pd_mass -1 0 \$0;
+#X obj 49 445 pd_link \$0;
+#X obj 123 558 pd_mass -0.7 -0.7 \$0;
+#X obj 198 502 pd_link \$0;
+#X obj 124 43 pd_mass -0.7 0.7 \$0;
+#X obj 189 113 pd_link \$0;
+#X obj 69 161 pd_link \$0;
+#X obj 201 187 pd_link \$0;
+#X obj 213 373 pd_link \$0;
+#X obj 279 598 pd_link \$0;
+#X obj 399 624 pd_mass 0 -1 \$0;
+#X obj 410 562 pd_link \$0;
+#X obj 580 585 pd_link \$0;
+#X obj 310 327 pd_link \$0;
+#X obj 388 330 pd_link \$0;
+#X obj 468 330 pd_link \$0;
+#X obj 338 427 pd_link \$0;
+#X obj 509 422 pd_link \$0;
+#X obj 304 26 pd_link \$0;
+#X obj 436 16 pd_mass 0 1 \$0;
+#X obj 441 57 pd_link \$0;
+#X obj 347 129 pd_link \$0;
+#X obj 308 231 pd_link \$0;
+#X obj 304 280 pd_link \$0;
+#X obj 393 227 pd_link \$0;
+#X obj 475 227 pd_link \$0;
+#X obj 529 278 pd_link \$0;
+#X obj 604 358 pd_link \$0;
+#X obj 678 291 pd_link \$0;
+#X obj 604 221 pd_link \$0;
+#X obj 499 135 pd_link \$0;
+#X obj 571 43 pd_link \$0;
+#X obj 612 101 pd_link \$0;
+#X obj 749 179 pd_link \$0;
+#X obj 680 64 pd_mass 0.7 0.7 \$0;
+#X obj 766 285 pd_mass 1 0 \$0;
+#X obj 763 429 pd_link \$0;
+#X obj 671 510 pd_link \$0;
+#X obj 748 552 pd_mass 0.7 -0.7 \$0;
+#X obj 407 274 pd_mass 0 0 \$0;
+#X connect 0 0 5 0;
+#X connect 0 1 3 0;
+#X connect 1 0 2 0;
+#X connect 1 0 4 0;
+#X connect 1 0 6 0;
+#X connect 1 0 7 0;
+#X connect 1 0 17 0;
+#X connect 1 0 22 0;
+#X connect 1 0 24 0;
+#X connect 2 0 1 0;
+#X connect 2 1 3 0;
+#X connect 3 0 0 1;
+#X connect 3 0 2 1;
+#X connect 3 0 8 1;
+#X connect 3 0 10 0;
+#X connect 3 0 12 0;
+#X connect 3 0 14 0;
+#X connect 3 0 18 0;
+#X connect 4 0 1 0;
+#X connect 4 1 11 0;
+#X connect 5 0 0 0;
+#X connect 5 0 7 1;
+#X connect 5 0 9 0;
+#X connect 5 0 19 0;
+#X connect 5 0 21 0;
+#X connect 5 0 23 0;
+#X connect 5 0 31 0;
+#X connect 6 0 1 0;
+#X connect 6 1 20 0;
+#X connect 7 0 1 0;
+#X connect 7 1 5 0;
+#X connect 8 0 20 0;
+#X connect 8 1 3 0;
+#X connect 9 0 5 0;
+#X connect 9 1 11 0;
+#X connect 10 0 3 0;
+#X connect 10 1 11 0;
+#X connect 11 0 4 1;
+#X connect 11 0 9 1;
+#X connect 11 0 10 1;
+#X connect 11 0 13 0;
+#X connect 11 0 15 1;
+#X connect 11 0 28 0;
+#X connect 11 0 38 0;
+#X connect 12 0 3 0;
+#X connect 12 1 39 0;
+#X connect 13 0 11 0;
+#X connect 13 1 39 0;
+#X connect 14 0 3 0;
+#X connect 14 1 40 0;
+#X connect 15 0 40 0;
+#X connect 15 1 11 0;
+#X connect 16 0 40 0;
+#X connect 16 1 39 0;
+#X connect 17 0 1 0;
+#X connect 17 1 39 0;
+#X connect 18 0 3 0;
+#X connect 18 1 36 0;
+#X connect 19 0 5 0;
+#X connect 19 1 20 0;
+#X connect 20 0 6 1;
+#X connect 20 0 8 0;
+#X connect 20 0 19 1;
+#X connect 20 0 25 1;
+#X connect 20 0 30 0;
+#X connect 20 0 32 0;
+#X connect 20 0 33 0;
+#X connect 21 0 5 0;
+#X connect 21 1 35 0;
+#X connect 22 0 1 0;
+#X connect 22 1 35 0;
+#X connect 23 0 5 0;
+#X connect 23 1 40 0;
+#X connect 24 0 1 0;
+#X connect 24 1 40 0;
+#X connect 25 0 40 0;
+#X connect 25 1 20 0;
+#X connect 26 0 40 0;
+#X connect 26 1 35 0;
+#X connect 27 0 40 0;
+#X connect 27 1 36 0;
+#X connect 28 0 11 0;
+#X connect 28 1 35 0;
+#X connect 29 0 39 0;
+#X connect 29 1 35 0;
+#X connect 30 0 20 0;
+#X connect 30 1 39 0;
+#X connect 31 0 5 0;
+#X connect 31 1 36 0;
+#X connect 32 0 20 0;
+#X connect 32 1 35 0;
+#X connect 33 0 20 0;
+#X connect 33 1 36 0;
+#X connect 34 0 35 0;
+#X connect 34 1 36 0;
+#X connect 35 0 21 1;
+#X connect 35 0 22 1;
+#X connect 35 0 26 1;
+#X connect 35 0 28 1;
+#X connect 35 0 29 1;
+#X connect 35 0 32 1;
+#X connect 35 0 34 0;
+#X connect 36 0 18 1;
+#X connect 36 0 27 1;
+#X connect 36 0 31 1;
+#X connect 36 0 33 1;
+#X connect 36 0 34 1;
+#X connect 36 0 37 0;
+#X connect 36 0 38 1;
+#X connect 37 0 36 0;
+#X connect 37 1 39 0;
+#X connect 38 0 11 0;
+#X connect 38 1 36 0;
+#X connect 39 0 12 1;
+#X connect 39 0 13 1;
+#X connect 39 0 16 1;
+#X connect 39 0 17 1;
+#X connect 39 0 29 0;
+#X connect 39 0 30 1;
+#X connect 39 0 37 1;
+#X connect 40 0 14 1;
+#X connect 40 0 15 0;
+#X connect 40 0 16 0;
+#X connect 40 0 23 1;
+#X connect 40 0 24 1;
+#X connect 40 0 25 0;
+#X connect 40 0 26 0;
+#X connect 40 0 27 0;
+#X restore 372 150 pd structure;
+#X msg 590 101 force2D 0 5;
+#X msg 646 127 force2D 5 0;
+#N canvas 623 135 504 293 init 0;
+#X msg 200 169 setK \$1;
+#X msg 274 143 setD \$1;
+#X msg 416 115 setM \$1;
+#X floatatom 200 94 5 -10 200 0 - - -;
+#X floatatom 274 92 5 0 0 0 - - -;
+#X floatatom 416 92 5 0 0 0 - - -;
+#X obj 200 143 / 10;
+#X obj 200 117 + 1;
+#X obj 274 116 / 10;
+#X msg 200 67 100;
+#X msg 274 68 25;
+#X msg 416 66 50;
+#X floatatom 341 92 5 0 0 0 - - -;
+#X obj 341 116 / 10;
+#X msg 341 143 setD2 \$1;
+#X msg 341 68 1;
+#X obj 200 201 s \$0-link;
+#X obj 416 143 s \$0-mass;
+#X obj 42 50 loadbang;
+#X obj 44 202 s \$0-mass;
+#X msg 44 84 setXmin -3.8;
+#X msg 57 109 setXmax 3.8;
+#X msg 75 133 setYmin -3.8;
+#X msg 88 159 setYmax 3.8;
+#X connect 0 0 16 0;
+#X connect 1 0 16 0;
+#X connect 2 0 17 0;
+#X connect 3 0 7 0;
+#X connect 4 0 8 0;
+#X connect 5 0 2 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 1 0;
+#X connect 9 0 3 0;
+#X connect 10 0 4 0;
+#X connect 11 0 5 0;
+#X connect 12 0 13 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 15 0 12 0;
+#X connect 18 0 20 0;
+#X connect 18 0 21 0;
+#X connect 18 0 22 0;
+#X connect 18 0 23 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X connect 23 0 19 0;
+#X restore 372 123 pd init;
+#X obj 117 52 loadbang;
+#X msg 592 155 force2D 0 -5;
+#X msg 535 128 force2D -5 0;
+#X obj 51 181 s \$0-link;
+#X obj 16 209 s \$0-mass;
+#X obj 591 187 s \$0-mass;
+#X msg 145 108 reset;
+#X msg 119 132 resetL;
+#X msg 94 153 resetF;
+#X obj 94 81 t b b b;
+#X obj 223 176 color 1 0 0;
+#X obj 223 231 rectangle 2 1;
+#X obj 223 146 gemhead 40;
+#X obj 223 205 translateXYZ -2 -3 0;
+#X text 437 310 <- positive Y force : just in the red square;
+#X text 239 284 <- negative Y force (gravity) everywhere.;
+#X text 92 361 the red square is a place with force from bottom to
+top. like a ball in wather.;
+#X obj 16 77 metro 50;
+#X obj 224 107 gemwin;
+#X obj 26 285 iAmbient2D \$0-mass 0 -1;
+#X obj 24 309 iAmbient2D \$0-mass 0 3 0 0 0 -4 0 -4 -2;
+#X text 285 -27 This is the same ball as prevuis exemple \, but in
+a differents context.;
+#X obj 646 72 loadbang;
+#X text 40 54 <- 1;
+#X text 359 55 <- 2;
+#X text 579 212 move the structure;
+#X obj 18 -12 declare -lib Gem;
+#X connect 0 0 13 0;
+#X connect 0 1 12 0;
+#X connect 0 1 28 0;
+#X connect 0 1 29 0;
+#X connect 1 0 26 0;
+#X connect 2 0 18 0;
+#X connect 3 0 27 0;
+#X connect 4 0 27 0;
+#X connect 6 0 14 0;
+#X connect 7 0 14 0;
+#X connect 9 0 18 0;
+#X connect 10 0 14 0;
+#X connect 11 0 14 0;
+#X connect 15 0 13 0;
+#X connect 16 0 12 0;
+#X connect 17 0 12 0;
+#X connect 18 0 17 0;
+#X connect 18 1 16 0;
+#X connect 18 2 15 0;
+#X connect 19 0 22 0;
+#X connect 21 0 19 0;
+#X connect 22 0 20 0;
+#X connect 26 0 0 0;
+#X connect 31 0 7 0;
diff --git a/examples/16_name_and_interactors.pd b/examples/16_name_and_interactors.pd
index bf1525d..0818b94 100644
--- a/examples/16_name_and_interactors.pd
+++ b/examples/16_name_and_interactors.pd
@@ -1,148 +1,149 @@
-#N canvas 34 14 669 578 12;
-#X obj 9 18 t b b;
-#X obj 9 -30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 158 -6 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 238 46 0 \, destroy;
-#X msg 204 21 reset \, create \, 1;
-#N canvas 623 135 504 293 init 0;
-#X obj 49 50 loadbang;
-#X msg 44 84 Xmin -3.8;
-#X msg 58 110 Xmax 3.8;
-#X msg 81 131 Ymin -3.8;
-#X msg 95 157 Ymax 3.8;
-#X obj 47 201 s \$0-mass;
-#X connect 0 0 1 0;
-#X connect 0 0 2 0;
-#X connect 0 0 3 0;
-#X connect 0 0 4 0;
-#X connect 1 0 5 0;
-#X connect 2 0 5 0;
-#X connect 3 0 5 0;
-#X connect 4 0 5 0;
-#X restore 401 -8 pd init;
-#X obj 88 -11 loadbang;
-#X msg 139 45 reset;
-#X msg 113 69 resetL;
-#X msg 88 93 resetF;
-#X obj 88 18 t b b b;
-#X obj 9 -9 metro 50;
-#X obj 204 74 gemwin;
-#X text 90 152 negative Y force (gravity);
-#X text 86 266 positive Y force;
-#X obj 23 498 gemhead;
-#X obj 43 524 unpack s f f;
-#X obj 42 551 translateXYZ 0 0 0;
-#X obj 42 583 sphere 0.3;
-#X obj 173 498 gemhead;
-#X obj 193 524 unpack s f f;
-#X obj 192 551 translateXYZ 0 0 0;
-#X obj 192 583 sphere 0.3;
-#X obj 330 499 gemhead;
-#X obj 350 525 unpack s f f;
-#X obj 349 552 translateXYZ 0 0 0;
-#X obj 349 584 sphere 0.3;
-#X obj 479 499 gemhead;
-#X obj 499 525 unpack s f f;
-#X obj 498 552 translateXYZ 0 0 0;
-#X obj 498 584 sphere 0.3;
-#X obj 628 499 gemhead;
-#X obj 648 525 unpack s f f;
-#X obj 647 552 translateXYZ 0 0 0;
-#X obj 647 584 sphere 0.3;
-#X obj 44 465 mass2D foo 1 -2 3;
-#X obj 193 465 mass2D foo2 1 -1 3;
-#X obj 350 465 mass2D foo3 1 0 3;
-#X obj 499 465 mass2D foo4 1 1 3;
-#X obj 648 465 mass2D foo 1 2 3;
-#X obj 9 123 s mass;
-#X obj 55 437 r mass;
-#X obj 193 438 r mass;
-#X obj 350 436 r mass;
-#X obj 499 436 r mass;
-#X obj 648 437 r mass;
-#X obj 52 174 iAmbient2D foo 0 -0.1;
-#X obj 63 201 iAmbient2D foo2 0 -0.1;
-#X obj 76 227 iAmbient2D foo3 0 -0.1;
-#X text 268 173 force is apply to mass named foo \, foo2 and foo3
-;
-#X text 344 287 a positive forece is apply to foo2 \, and to foo3 (according
-to pd link). this force allows mass 2 and 3 to stay at Y=0.;
-#X obj 529 657 iAmbient2D;
-#X obj 530 684 iLine2D;
-#X obj 530 710 iSeg2D;
-#X obj 530 737 iCircle2D;
-#X msg 17 406 reset;
-#X obj 17 379 sel 1;
-#X obj 17 351 tSquare2D -4 4 -10000 -4;
-#X text 260 345 tSquare is a test : test if the position of the mass
-is in a specific square. This test is used to reset the mass to it's
-initial state if the mass go out of the screen.;
-#X obj 44 292 iSeg2D foo2 -3 0 3 0 3 0 0 0.5 1;
-#X text 398 -34 This patch explain how interactors works;
-#X text 283 195 but not to foo4 \, so it will not move.;
-#X text 201 -10 <- reset;
-#X text 348 50 interactor are design to be a kind of link beetween
-masss and a simple object.;
-#X text 347 85 interactors can be a link to all mass with the same
-name. It's easier to patch than putting a link object for all link.
-;
-#X text 41 655 for more informations about interactors or test \, see
-the help file :;
-#X obj 623 683 tLine2D;
-#X obj 623 709 tSeg2D;
-#X obj 623 736 tCircle2D;
-#X obj 622 656 tSquare2D;
-#X text 356 20 <- 1 GEM window;
-#X text 34 -37 <- 2 begin simulation;
-#X connect 0 0 40 0;
-#X connect 0 1 46 0;
-#X connect 0 1 47 0;
-#X connect 0 1 48 0;
-#X connect 0 1 59 0;
-#X connect 1 0 11 0;
-#X connect 2 0 10 0;
-#X connect 3 0 12 0;
-#X connect 4 0 12 0;
-#X connect 6 0 10 0;
-#X connect 7 0 40 0;
-#X connect 10 0 9 0;
-#X connect 10 1 8 0;
-#X connect 10 2 7 0;
-#X connect 11 0 0 0;
-#X connect 15 0 17 0;
-#X connect 16 1 17 1;
-#X connect 16 2 17 2;
-#X connect 17 0 18 0;
-#X connect 19 0 21 0;
-#X connect 20 1 21 1;
-#X connect 20 2 21 2;
-#X connect 21 0 22 0;
-#X connect 23 0 25 0;
-#X connect 24 1 25 1;
-#X connect 24 2 25 2;
-#X connect 25 0 26 0;
-#X connect 27 0 29 0;
-#X connect 28 1 29 1;
-#X connect 28 2 29 2;
-#X connect 29 0 30 0;
-#X connect 31 0 33 0;
-#X connect 32 1 33 1;
-#X connect 32 2 33 2;
-#X connect 33 0 34 0;
-#X connect 35 0 16 0;
-#X connect 35 0 57 0;
-#X connect 36 0 20 0;
-#X connect 37 0 24 0;
-#X connect 38 0 28 0;
-#X connect 39 0 32 0;
-#X connect 41 0 35 0;
-#X connect 42 0 36 0;
-#X connect 43 0 37 0;
-#X connect 44 0 38 0;
-#X connect 45 0 39 0;
-#X connect 55 0 35 0;
-#X connect 56 0 55 0;
-#X connect 57 0 56 0;
-#X connect 59 0 37 0;
+#N canvas 30 91 877 678 12;
+#X declare -lib Gem;
+#X obj 9 18 t b b;
+#X obj 9 -30 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 158 -6 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 238 46 0 \, destroy;
+#X msg 204 21 reset \, create \, 1;
+#N canvas 623 135 504 293 init 0;
+#X obj 49 50 loadbang;
+#X msg 44 84 Xmin -3.8;
+#X msg 58 110 Xmax 3.8;
+#X msg 81 131 Ymin -3.8;
+#X msg 95 157 Ymax 3.8;
+#X obj 47 201 s \$0-mass;
+#X connect 0 0 1 0;
+#X connect 0 0 2 0;
+#X connect 0 0 3 0;
+#X connect 0 0 4 0;
+#X connect 1 0 5 0;
+#X connect 2 0 5 0;
+#X connect 3 0 5 0;
+#X connect 4 0 5 0;
+#X restore 401 -8 pd init;
+#X obj 88 -11 loadbang;
+#X msg 139 45 reset;
+#X msg 113 69 resetL;
+#X msg 88 93 resetF;
+#X obj 88 18 t b b b;
+#X obj 9 -9 metro 50;
+#X obj 204 74 gemwin;
+#X text 90 152 negative Y force (gravity);
+#X text 86 266 positive Y force;
+#X obj 23 498 gemhead;
+#X obj 43 524 unpack s f f;
+#X obj 42 551 translateXYZ 0 0 0;
+#X obj 42 583 sphere 0.3;
+#X obj 173 498 gemhead;
+#X obj 193 524 unpack s f f;
+#X obj 192 551 translateXYZ 0 0 0;
+#X obj 192 583 sphere 0.3;
+#X obj 330 499 gemhead;
+#X obj 350 525 unpack s f f;
+#X obj 349 552 translateXYZ 0 0 0;
+#X obj 349 584 sphere 0.3;
+#X obj 479 499 gemhead;
+#X obj 499 525 unpack s f f;
+#X obj 498 552 translateXYZ 0 0 0;
+#X obj 498 584 sphere 0.3;
+#X obj 628 499 gemhead;
+#X obj 648 525 unpack s f f;
+#X obj 647 552 translateXYZ 0 0 0;
+#X obj 647 584 sphere 0.3;
+#X obj 44 465 mass2D foo 1 -2 3;
+#X obj 193 465 mass2D foo2 1 -1 3;
+#X obj 350 465 mass2D foo3 1 0 3;
+#X obj 499 465 mass2D foo4 1 1 3;
+#X obj 648 465 mass2D foo 1 2 3;
+#X obj 9 123 s mass;
+#X obj 55 437 r mass;
+#X obj 193 438 r mass;
+#X obj 350 436 r mass;
+#X obj 499 436 r mass;
+#X obj 648 437 r mass;
+#X obj 52 174 iAmbient2D foo 0 -0.1;
+#X obj 63 201 iAmbient2D foo2 0 -0.1;
+#X obj 76 227 iAmbient2D foo3 0 -0.1;
+#X text 268 173 force is apply to mass named foo \, foo2 and foo3;
+#X text 344 287 a positive forece is apply to foo2 \, and to foo3 (according
+to pd link). this force allows mass 2 and 3 to stay at Y=0.;
+#X obj 529 657 iAmbient2D;
+#X obj 530 684 iLine2D;
+#X obj 530 710 iSeg2D;
+#X obj 530 737 iCircle2D;
+#X msg 17 406 reset;
+#X obj 17 379 sel 1;
+#X obj 17 351 tSquare2D -4 4 -10000 -4;
+#X text 260 345 tSquare is a test : test if the position of the mass
+is in a specific square. This test is used to reset the mass to it's
+initial state if the mass go out of the screen.;
+#X obj 44 292 iSeg2D foo2 -3 0 3 0 3 0 0 0.5 1;
+#X text 398 -34 This patch explain how interactors works;
+#X text 283 195 but not to foo4 \, so it will not move.;
+#X text 201 -10 <- reset;
+#X text 348 50 interactor are design to be a kind of link beetween
+masss and a simple object.;
+#X text 347 85 interactors can be a link to all mass with the same
+name. It's easier to patch than putting a link object for all link.
+;
+#X text 41 655 for more informations about interactors or test \, see
+the help file :;
+#X obj 623 683 tLine2D;
+#X obj 623 709 tSeg2D;
+#X obj 623 736 tCircle2D;
+#X obj 622 656 tSquare2D;
+#X text 356 20 <- 1 GEM window;
+#X text 34 -37 <- 2 begin simulation;
+#X obj 466 -8 declare -lib Gem;
+#X connect 0 0 40 0;
+#X connect 0 1 46 0;
+#X connect 0 1 47 0;
+#X connect 0 1 48 0;
+#X connect 0 1 59 0;
+#X connect 1 0 11 0;
+#X connect 2 0 10 0;
+#X connect 3 0 12 0;
+#X connect 4 0 12 0;
+#X connect 6 0 10 0;
+#X connect 7 0 40 0;
+#X connect 10 0 9 0;
+#X connect 10 1 8 0;
+#X connect 10 2 7 0;
+#X connect 11 0 0 0;
+#X connect 15 0 17 0;
+#X connect 16 1 17 1;
+#X connect 16 2 17 2;
+#X connect 17 0 18 0;
+#X connect 19 0 21 0;
+#X connect 20 1 21 1;
+#X connect 20 2 21 2;
+#X connect 21 0 22 0;
+#X connect 23 0 25 0;
+#X connect 24 1 25 1;
+#X connect 24 2 25 2;
+#X connect 25 0 26 0;
+#X connect 27 0 29 0;
+#X connect 28 1 29 1;
+#X connect 28 2 29 2;
+#X connect 29 0 30 0;
+#X connect 31 0 33 0;
+#X connect 32 1 33 1;
+#X connect 32 2 33 2;
+#X connect 33 0 34 0;
+#X connect 35 0 16 0;
+#X connect 35 0 57 0;
+#X connect 36 0 20 0;
+#X connect 37 0 24 0;
+#X connect 38 0 28 0;
+#X connect 39 0 32 0;
+#X connect 41 0 35 0;
+#X connect 42 0 36 0;
+#X connect 43 0 37 0;
+#X connect 44 0 38 0;
+#X connect 45 0 39 0;
+#X connect 55 0 35 0;
+#X connect 56 0 55 0;
+#X connect 57 0 56 0;
+#X connect 59 0 37 0;
diff --git a/examples/17_rnd_mouvmnt_and_obstacles.pd b/examples/17_rnd_mouvmnt_and_obstacles.pd
index 4a2edfc..1987b65 100644
--- a/examples/17_rnd_mouvmnt_and_obstacles.pd
+++ b/examples/17_rnd_mouvmnt_and_obstacles.pd
@@ -1,74 +1,76 @@
-#N canvas 29 57 762 481 10;
-#X obj 18 182 t b b;
-#X obj 18 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 18 155 metro 50;
-#X obj 107 138 loadbang;
-#X obj 433 139 fluide_mass;
-#X msg 56 65 0 \, destroy;
-#X obj 22 93 gemwin;
-#X msg 22 40 reset \, create \, 1;
-#X obj 18 446 s mass;
-#X obj 346 141 gemhead;
-#X obj 346 164 sphere 0.7;
-#X obj 118 187 s reset_mass;
-#X msg 107 163 bang;
-#X obj 443 149 fluide_mass;
-#X obj 453 159 fluide_mass;
-#X obj 463 169 fluide_mass;
-#X obj 473 179 fluide_mass;
-#X obj 483 189 fluide_mass;
-#X obj 493 199 fluide_mass;
-#X obj 503 209 fluide_mass;
-#X obj 513 219 fluide_mass;
-#X obj 523 229 fluide_mass;
-#X obj 533 239 fluide_mass;
-#X obj 543 249 fluide_mass;
-#X obj 553 259 fluide_mass;
-#X obj 534 138 fluide_mass;
-#X obj 544 148 fluide_mass;
-#X obj 554 158 fluide_mass;
-#X obj 564 168 fluide_mass;
-#X obj 574 178 fluide_mass;
-#X obj 584 188 fluide_mass;
-#X obj 594 198 fluide_mass;
-#X obj 604 208 fluide_mass;
-#X obj 614 218 fluide_mass;
-#X obj 624 228 fluide_mass;
-#X obj 634 238 fluide_mass;
-#X obj 644 248 fluide_mass;
-#X obj 654 258 fluide_mass;
-#X obj 664 268 fluide_mass;
-#X text 283 49 the mouving particules don't interact each other;
-#X text 283 65 they interact with 4 lines (the border of the screen)
-\, and with a central circle so they bonce on the obstacle.;
-#X obj 107 285 iAmbient2D mass 0 0 3 3;
-#X obj 43 308 iLine2D mass 3 -3 3 3 1000 0 0 1;
-#X obj 53 332 iLine2D mass -3 3 -3 -3 1000 0 0 1;
-#X obj 68 355 iLine2D mass 3 3 -3 3 1000 0 0 1;
-#X obj 78 378 iLine2D mass -3 -3 3 -3 1000 0 0 1;
-#X obj 43 417 iCircle2D mass 0 0 0 1 0 0 10;
-#X obj 563 269 fluide_mass;
-#X text 302 287 <- give random speed when starting the patch;
-#X text 301 309 <- right border;
-#X text 302 331 <- left border;
-#X text 302 353 <- top border;
-#X text 302 375 <- bottom border;
-#X text 302 416 <- circular interaction in the center;
-#X text 328 25 interactor to a collection of masss;
-#X text 132 40 <- 1;
-#X text 45 131 <- 2;
-#X connect 0 0 8 0;
-#X connect 0 1 42 0;
-#X connect 0 1 43 0;
-#X connect 0 1 44 0;
-#X connect 0 1 45 0;
-#X connect 0 1 46 0;
-#X connect 1 0 2 0;
-#X connect 2 0 0 0;
-#X connect 3 0 12 0;
-#X connect 5 0 6 0;
-#X connect 7 0 6 0;
-#X connect 9 0 10 0;
-#X connect 12 0 11 0;
-#X connect 12 0 41 0;
+#N canvas 25 91 762 481 10;
+#X declare -lib Gem;
+#X obj 18 182 t b b;
+#X obj 18 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 18 155 metro 50;
+#X obj 107 138 loadbang;
+#X obj 433 139 fluide_mass;
+#X msg 56 65 0 \, destroy;
+#X obj 22 93 gemwin;
+#X msg 22 40 reset \, create \, 1;
+#X obj 18 446 s mass;
+#X obj 346 141 gemhead;
+#X obj 346 164 sphere 0.7;
+#X obj 118 187 s reset_mass;
+#X msg 107 163 bang;
+#X obj 443 149 fluide_mass;
+#X obj 453 159 fluide_mass;
+#X obj 463 169 fluide_mass;
+#X obj 473 179 fluide_mass;
+#X obj 483 189 fluide_mass;
+#X obj 493 199 fluide_mass;
+#X obj 503 209 fluide_mass;
+#X obj 513 219 fluide_mass;
+#X obj 523 229 fluide_mass;
+#X obj 533 239 fluide_mass;
+#X obj 543 249 fluide_mass;
+#X obj 553 259 fluide_mass;
+#X obj 534 138 fluide_mass;
+#X obj 544 148 fluide_mass;
+#X obj 554 158 fluide_mass;
+#X obj 564 168 fluide_mass;
+#X obj 574 178 fluide_mass;
+#X obj 584 188 fluide_mass;
+#X obj 594 198 fluide_mass;
+#X obj 604 208 fluide_mass;
+#X obj 614 218 fluide_mass;
+#X obj 624 228 fluide_mass;
+#X obj 634 238 fluide_mass;
+#X obj 644 248 fluide_mass;
+#X obj 654 258 fluide_mass;
+#X obj 664 268 fluide_mass;
+#X text 283 49 the mouving particules don't interact each other;
+#X text 283 65 they interact with 4 lines (the border of the screen)
+\, and with a central circle so they bonce on the obstacle.;
+#X obj 107 285 iAmbient2D mass 0 0 3 3;
+#X obj 43 308 iLine2D mass 3 -3 3 3 1000 0 0 1;
+#X obj 53 332 iLine2D mass -3 3 -3 -3 1000 0 0 1;
+#X obj 68 355 iLine2D mass 3 3 -3 3 1000 0 0 1;
+#X obj 78 378 iLine2D mass -3 -3 3 -3 1000 0 0 1;
+#X obj 43 417 iCircle2D mass 0 0 0 1 0 0 10;
+#X obj 563 269 fluide_mass;
+#X text 302 287 <- give random speed when starting the patch;
+#X text 301 309 <- right border;
+#X text 302 331 <- left border;
+#X text 302 353 <- top border;
+#X text 302 375 <- bottom border;
+#X text 302 416 <- circular interaction in the center;
+#X text 328 25 interactor to a collection of masss;
+#X text 132 40 <- 1;
+#X text 45 131 <- 2;
+#X obj 22 15 declare -lib Gem;
+#X connect 0 0 8 0;
+#X connect 0 1 42 0;
+#X connect 0 1 43 0;
+#X connect 0 1 44 0;
+#X connect 0 1 45 0;
+#X connect 0 1 46 0;
+#X connect 1 0 2 0;
+#X connect 2 0 0 0;
+#X connect 3 0 12 0;
+#X connect 5 0 6 0;
+#X connect 7 0 6 0;
+#X connect 9 0 10 0;
+#X connect 12 0 11 0;
+#X connect 12 0 41 0;
diff --git a/examples/18_flipper.pd b/examples/18_flipper.pd
index bc985df..22a885c 100644
--- a/examples/18_flipper.pd
+++ b/examples/18_flipper.pd
@@ -1,265 +1,267 @@
-#N canvas 106 59 736 538 10;
-#X obj 11 91 t b b;
-#X obj 11 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 60 86 loadbang;
-#X msg 60 108 reset;
-#X msg 185 104 0 \, destroy;
-#X obj 11 132 s mass;
-#X obj 481 330 gemhead;
-#X obj 481 363 translateXYZ;
-#X obj 470 303 unpack s f f;
-#X obj 11 64 metro 5;
-#X obj 481 392 sphere 0.2;
-#X msg 198 129 reset \, dimen 400 800 \, create \, 1;
-#N canvas 435 26 414 248 bords 0;
-#X obj 10 9 inlet;
-#X obj 39 165 curve 2;
-#X obj 37 101 gemhead;
-#X obj 101 116 loadbang;
-#X obj 198 166 curve 2;
-#X obj 196 102 gemhead;
-#X obj 260 117 loadbang;
-#X msg 66 141 -2 1 0;
-#X msg 225 142 2 1 0;
-#X msg 130 139 -1 -3 0;
-#X msg 289 140 1 -3 0;
-#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
-#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 3 0 9 0;
-#X connect 5 0 4 0;
-#X connect 6 0 8 0;
-#X connect 6 0 10 0;
-#X connect 7 0 1 1;
-#X connect 8 0 4 1;
-#X connect 9 0 1 2;
-#X connect 10 0 4 2;
-#X restore 81 214 pd bords;
-#N canvas 585 242 753 499 curseur 0;
-#X obj 23 20 inlet;
-#X obj 343 300 curve 2;
-#X obj 343 247 gemhead;
-#X obj 516 23 loadbang;
-#X obj 568 307 curve 2;
-#X obj 568 257 gemhead;
-#X obj 399 143 sin;
-#X obj 361 142 cos;
-#X obj 400 166 * 0.8;
-#X obj 362 167 * 0.8;
-#X obj 360 216 pack f f 0;
-#X obj 365 118 t f f;
-#X obj 362 189 - 1;
-#X obj 400 190 - 2.5;
-#X obj 363 49 sel 0 1;
-#X obj 364 96 line;
-#X obj 365 24 inlet;
-#X obj 625 146 sin;
-#X obj 587 145 cos;
-#X obj 586 219 pack f f 0;
-#X obj 591 121 t f f;
-#X obj 589 52 sel 0 1;
-#X obj 590 99 line;
-#X obj 591 27 inlet;
-#X obj 588 170 * -0.8;
-#X obj 626 169 * -0.8;
-#X msg 362 70 -0.6 50;
-#X msg 419 71 0.3 50;
-#X msg 588 73 0.6 50;
-#X msg 644 74 -0.3 50;
-#X obj 627 194 - 2.5;
-#X obj 588 192 + 1;
-#X msg 380 274 -1.3 -2.5 0;
-#X msg 605 280 1.3 -2.5 0;
-#X msg 434 387 setX1 \$1;
-#X msg 442 412 setY1 \$1;
-#X msg 265 319 setX2 \$1;
-#X msg 285 344 setY2 \$1;
-#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
-#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
-#X connect 0 0 38 0;
-#X connect 0 0 39 0;
-#X connect 2 0 1 0;
-#X connect 3 0 32 0;
-#X connect 3 0 33 0;
-#X connect 5 0 4 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 13 0;
-#X connect 9 0 12 0;
-#X connect 10 0 1 1;
-#X connect 11 0 7 0;
-#X connect 11 1 6 0;
-#X connect 12 0 10 0;
-#X connect 12 0 36 0;
-#X connect 13 0 10 1;
-#X connect 13 0 37 0;
-#X connect 14 0 26 0;
-#X connect 14 1 27 0;
-#X connect 15 0 11 0;
-#X connect 16 0 14 0;
-#X connect 17 0 25 0;
-#X connect 18 0 24 0;
-#X connect 19 0 4 1;
-#X connect 20 0 18 0;
-#X connect 20 1 17 0;
-#X connect 21 0 28 0;
-#X connect 21 1 29 0;
-#X connect 22 0 20 0;
-#X connect 23 0 21 0;
-#X connect 24 0 31 0;
-#X connect 25 0 30 0;
-#X connect 26 0 15 0;
-#X connect 27 0 15 0;
-#X connect 28 0 22 0;
-#X connect 29 0 22 0;
-#X connect 30 0 19 1;
-#X connect 30 0 35 0;
-#X connect 31 0 19 0;
-#X connect 31 0 34 0;
-#X connect 32 0 1 2;
-#X connect 33 0 4 2;
-#X connect 34 0 39 0;
-#X connect 35 0 39 0;
-#X connect 36 0 38 0;
-#X connect 37 0 38 0;
-#X restore 36 414 pd curseur;
-#N canvas 401 13 480 352 bords2 0;
-#X obj 10 9 inlet;
-#X obj 78 189 curve 2;
-#X obj 76 125 gemhead;
-#X obj 140 140 loadbang;
-#X obj 237 190 curve 2;
-#X obj 235 126 gemhead;
-#X obj 299 141 loadbang;
-#X msg 105 165 -1.8 4 0;
-#X msg 169 163 -1.8 -1 0;
-#X msg 264 166 1.8 4 0;
-#X msg 327 164 1.8 -1 0;
-#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
-#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 3 0 8 0;
-#X connect 5 0 4 0;
-#X connect 6 0 9 0;
-#X connect 6 0 10 0;
-#X connect 7 0 1 1;
-#X connect 8 0 1 2;
-#X connect 9 0 4 1;
-#X connect 10 0 4 2;
-#X restore 81 238 pd bords2;
-#X obj 42 346 gemmouse;
-#N canvas 399 45 480 347 top 0;
-#X obj 10 9 inlet;
-#X obj 78 189 curve 2;
-#X obj 76 125 gemhead;
-#X obj 140 140 loadbang;
-#X msg 105 165 4 3.5 0;
-#X msg 169 163 -4 3.5 0;
-#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
-#X connect 0 0 6 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 1 1;
-#X connect 5 0 1 2;
-#X restore 81 263 pd top;
-#N canvas 893 368 484 356 circle 0;
-#X obj 23 15 inlet;
-#X obj 25 177 gemhead;
-#X obj 25 201 translateXYZ 0 2.5 0;
-#X obj 26 225 sphere 0.3;
-#X obj 156 178 gemhead;
-#X obj 157 226 sphere 0.3;
-#X obj 287 179 gemhead;
-#X obj 288 227 sphere 0.3;
-#X obj 156 202 translateXYZ 1 1.5 0;
-#X obj 287 203 translateXYZ -1 1.5 0;
-#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
-#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
-#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
-#X connect 0 0 10 0;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 1 0 2 0;
-#X connect 2 0 3 0;
-#X connect 4 0 8 0;
-#X connect 6 0 9 0;
-#X connect 8 0 5 0;
-#X connect 9 0 7 0;
-#X restore 80 192 pd circle;
-#X obj 470 279 mass2D mass 10 1.5 3.4;
-#X msg 74 487 \; mass reset \;;
-#X obj 103 320 loadbang;
-#X msg 103 344 0;
-#X obj 80 170 iAmbient2D mass 0 -0.001 0 0 0.003;
-#X text 357 34 click on the GEM windows with right and left click.
-;
-#X text 359 50 middle click to reset the game;
-#X obj 181 258 keyname;
-#X msg 218 308 1;
-#X msg 261 307 0;
-#X obj 181 338 spigot;
-#X obj 292 257 keyname;
-#X msg 329 307 1;
-#X msg 378 306 0;
-#X obj 292 337 spigot;
-#X obj 218 283 sel Left;
-#X obj 329 283 sel Right;
-#X obj 88 441 key;
-#X obj 88 462 sel 32;
-#X text 356 80 If you don't have a 3 button mouse \, you can use left
-\, right key \, and space for resetting the game.;
-#X text 403 128 <- this is better \, but seem to crash somes computers
-;
-#X msg 173 82 reset \, create \, 1;
-#X text 284 82 <- 1;
-#X text 36 42 <- 2;
-#X obj 173 151 gemwin 50;
-#X connect 0 0 5 0;
-#X connect 0 1 12 0;
-#X connect 0 1 13 0;
-#X connect 0 1 14 0;
-#X connect 0 1 16 0;
-#X connect 0 1 22 0;
-#X connect 0 1 17 0;
-#X connect 1 0 9 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 4 0 42 0;
-#X connect 6 0 7 0;
-#X connect 7 0 10 0;
-#X connect 8 1 7 1;
-#X connect 8 2 7 2;
-#X connect 9 0 0 0;
-#X connect 11 0 42 0;
-#X connect 15 2 13 1;
-#X connect 15 3 19 0;
-#X connect 15 4 13 2;
-#X connect 18 0 8 0;
-#X connect 20 0 21 0;
-#X connect 21 0 13 2;
-#X connect 21 0 13 1;
-#X connect 25 0 28 0;
-#X connect 25 1 33 0;
-#X connect 26 0 28 1;
-#X connect 27 0 28 1;
-#X connect 28 0 13 1;
-#X connect 29 0 32 0;
-#X connect 29 1 34 0;
-#X connect 30 0 32 1;
-#X connect 31 0 32 1;
-#X connect 32 0 13 2;
-#X connect 33 0 26 0;
-#X connect 33 1 27 0;
-#X connect 34 0 30 0;
-#X connect 34 1 31 0;
-#X connect 35 0 36 0;
-#X connect 36 0 19 0;
-#X connect 39 0 42 0;
+#N canvas 102 91 736 538 10;
+#X declare -lib Gem;
+#X obj 11 91 t b b;
+#X obj 11 43 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 60 86 loadbang;
+#X msg 60 108 reset;
+#X msg 185 104 0 \, destroy;
+#X obj 11 132 s mass;
+#X obj 481 330 gemhead;
+#X obj 481 363 translateXYZ;
+#X obj 470 303 unpack s f f;
+#X obj 11 64 metro 5;
+#X obj 481 392 sphere 0.2;
+#X msg 198 129 reset \, dimen 400 800 \, create \, 1;
+#N canvas 435 26 414 248 bords 0;
+#X obj 10 9 inlet;
+#X obj 39 165 curve 2;
+#X obj 37 101 gemhead;
+#X obj 101 116 loadbang;
+#X obj 198 166 curve 2;
+#X obj 196 102 gemhead;
+#X obj 260 117 loadbang;
+#X msg 66 141 -2 1 0;
+#X msg 225 142 2 1 0;
+#X msg 130 139 -1 -3 0;
+#X msg 289 140 1 -3 0;
+#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
+#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X connect 9 0 1 2;
+#X connect 10 0 4 2;
+#X restore 81 214 pd bords;
+#N canvas 585 242 753 499 curseur 0;
+#X obj 23 20 inlet;
+#X obj 343 300 curve 2;
+#X obj 343 247 gemhead;
+#X obj 516 23 loadbang;
+#X obj 568 307 curve 2;
+#X obj 568 257 gemhead;
+#X obj 399 143 sin;
+#X obj 361 142 cos;
+#X obj 400 166 * 0.8;
+#X obj 362 167 * 0.8;
+#X obj 360 216 pack f f 0;
+#X obj 365 118 t f f;
+#X obj 362 189 - 1;
+#X obj 400 190 - 2.5;
+#X obj 363 49 sel 0 1;
+#X obj 364 96 line;
+#X obj 365 24 inlet;
+#X obj 625 146 sin;
+#X obj 587 145 cos;
+#X obj 586 219 pack f f 0;
+#X obj 591 121 t f f;
+#X obj 589 52 sel 0 1;
+#X obj 590 99 line;
+#X obj 591 27 inlet;
+#X obj 588 170 * -0.8;
+#X obj 626 169 * -0.8;
+#X msg 362 70 -0.6 50;
+#X msg 419 71 0.3 50;
+#X msg 588 73 0.6 50;
+#X msg 644 74 -0.3 50;
+#X obj 627 194 - 2.5;
+#X obj 588 192 + 1;
+#X msg 380 274 -1.3 -2.5 0;
+#X msg 605 280 1.3 -2.5 0;
+#X msg 434 387 setX1 \$1;
+#X msg 442 412 setY1 \$1;
+#X msg 265 319 setX2 \$1;
+#X msg 285 344 setY2 \$1;
+#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
+#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
+#X connect 0 0 38 0;
+#X connect 0 0 39 0;
+#X connect 2 0 1 0;
+#X connect 3 0 32 0;
+#X connect 3 0 33 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 13 0;
+#X connect 9 0 12 0;
+#X connect 10 0 1 1;
+#X connect 11 0 7 0;
+#X connect 11 1 6 0;
+#X connect 12 0 10 0;
+#X connect 12 0 36 0;
+#X connect 13 0 10 1;
+#X connect 13 0 37 0;
+#X connect 14 0 26 0;
+#X connect 14 1 27 0;
+#X connect 15 0 11 0;
+#X connect 16 0 14 0;
+#X connect 17 0 25 0;
+#X connect 18 0 24 0;
+#X connect 19 0 4 1;
+#X connect 20 0 18 0;
+#X connect 20 1 17 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 20 0;
+#X connect 23 0 21 0;
+#X connect 24 0 31 0;
+#X connect 25 0 30 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 22 0;
+#X connect 29 0 22 0;
+#X connect 30 0 19 1;
+#X connect 30 0 35 0;
+#X connect 31 0 19 0;
+#X connect 31 0 34 0;
+#X connect 32 0 1 2;
+#X connect 33 0 4 2;
+#X connect 34 0 39 0;
+#X connect 35 0 39 0;
+#X connect 36 0 38 0;
+#X connect 37 0 38 0;
+#X restore 36 414 pd curseur;
+#N canvas 401 13 480 352 bords2 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X obj 237 190 curve 2;
+#X obj 235 126 gemhead;
+#X obj 299 141 loadbang;
+#X msg 105 165 -1.8 4 0;
+#X msg 169 163 -1.8 -1 0;
+#X msg 264 166 1.8 4 0;
+#X msg 327 164 1.8 -1 0;
+#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
+#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 1 2;
+#X connect 9 0 4 1;
+#X connect 10 0 4 2;
+#X restore 81 238 pd bords2;
+#X obj 42 346 gemmouse;
+#N canvas 399 45 480 347 top 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X msg 105 165 4 3.5 0;
+#X msg 169 163 -4 3.5 0;
+#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
+#X connect 0 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 2;
+#X restore 81 263 pd top;
+#N canvas 893 368 484 356 circle 0;
+#X obj 23 15 inlet;
+#X obj 25 177 gemhead;
+#X obj 25 201 translateXYZ 0 2.5 0;
+#X obj 26 225 sphere 0.3;
+#X obj 156 178 gemhead;
+#X obj 157 226 sphere 0.3;
+#X obj 287 179 gemhead;
+#X obj 288 227 sphere 0.3;
+#X obj 156 202 translateXYZ 1 1.5 0;
+#X obj 287 203 translateXYZ -1 1.5 0;
+#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
+#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
+#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 1 0 2 0;
+#X connect 2 0 3 0;
+#X connect 4 0 8 0;
+#X connect 6 0 9 0;
+#X connect 8 0 5 0;
+#X connect 9 0 7 0;
+#X restore 80 192 pd circle;
+#X obj 470 279 mass2D mass 10 1.5 3.4;
+#X msg 74 487 \; mass reset \;;
+#X obj 103 320 loadbang;
+#X msg 103 344 0;
+#X obj 80 170 iAmbient2D mass 0 -0.001 0 0 0.003;
+#X text 357 34 click on the GEM windows with right and left click.
+;
+#X text 359 50 middle click to reset the game;
+#X obj 181 258 keyname;
+#X msg 218 308 1;
+#X msg 261 307 0;
+#X obj 181 338 spigot;
+#X obj 292 257 keyname;
+#X msg 329 307 1;
+#X msg 378 306 0;
+#X obj 292 337 spigot;
+#X obj 218 283 sel Left;
+#X obj 329 283 sel Right;
+#X obj 88 441 key;
+#X obj 88 462 sel 32;
+#X text 356 80 If you don't have a 3 button mouse \, you can use left
+\, right key \, and space for resetting the game.;
+#X text 403 128 <- this is better \, but seem to crash somes computers
+;
+#X msg 173 82 reset \, create \, 1;
+#X text 284 82 <- 1;
+#X text 36 42 <- 2;
+#X obj 173 151 gemwin 50;
+#X obj 9 16 declare -lib Gem;
+#X connect 0 0 5 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 22 0;
+#X connect 0 1 17 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 42 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 1 7 1;
+#X connect 8 2 7 2;
+#X connect 9 0 0 0;
+#X connect 11 0 42 0;
+#X connect 15 2 13 1;
+#X connect 15 3 19 0;
+#X connect 15 4 13 2;
+#X connect 18 0 8 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 2;
+#X connect 21 0 13 1;
+#X connect 25 0 28 0;
+#X connect 25 1 33 0;
+#X connect 26 0 28 1;
+#X connect 27 0 28 1;
+#X connect 28 0 13 1;
+#X connect 29 0 32 0;
+#X connect 29 1 34 0;
+#X connect 30 0 32 1;
+#X connect 31 0 32 1;
+#X connect 32 0 13 2;
+#X connect 33 0 26 0;
+#X connect 33 1 27 0;
+#X connect 34 0 30 0;
+#X connect 34 1 31 0;
+#X connect 35 0 36 0;
+#X connect 36 0 19 0;
+#X connect 39 0 42 0;
diff --git a/examples/19_vertex.pd b/examples/19_vertex.pd
index 50078fe..fb2fe6a 100644
--- a/examples/19_vertex.pd
+++ b/examples/19_vertex.pd
@@ -1,107 +1,109 @@
-#N canvas 155 178 513 340 10;
-#X obj 17 248 t b b;
-#X obj 17 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 106 207 loadbang;
-#X msg 233 196 0 \, destroy;
-#X obj 199 224 gemwin;
-#X msg 199 171 reset \, create \, 1;
-#X obj 17 304 s mass;
-#X obj 106 253 s reset_mass;
-#X msg 106 229 bang;
-#N canvas 717 329 472 322 pool 0;
-#X obj 106 103 fluide_mass2 19;
-#X obj 186 183 fluide_mass2 27;
-#X obj 166 163 fluide_mass2 25;
-#X obj 16 13 fluide_mass2 10;
-#X obj 26 23 fluide_mass2 11;
-#X obj 36 33 fluide_mass2 12;
-#X obj 46 43 fluide_mass2 13;
-#X obj 56 53 fluide_mass2 14;
-#X obj 66 63 fluide_mass2 15;
-#X obj 76 73 fluide_mass2 16;
-#X obj 86 83 fluide_mass2 17;
-#X obj 96 93 fluide_mass2 18;
-#X obj 116 113 fluide_mass2 20;
-#X obj 126 123 fluide_mass2 21;
-#X obj 136 133 fluide_mass2 22;
-#X obj 146 143 fluide_mass2 23;
-#X obj 156 153 fluide_mass2 24;
-#X obj 176 173 fluide_mass2 26;
-#X obj 196 193 fluide_mass2 28;
-#X obj 206 203 fluide_mass2 29;
-#X obj 216 213 fluide_mass2 30;
-#X obj 226 223 fluide_mass2 31;
-#X obj 236 233 fluide_mass2 32;
-#X obj 246 243 fluide_mass2 33;
-#X obj 256 253 fluide_mass2 34;
-#X obj 266 263 fluide_mass2 35;
-#X obj 276 273 fluide_mass2 36;
-#X obj 286 283 fluide_mass2 37;
-#X obj 296 293 fluide_mass2 38;
-#X obj 306 303 fluide_mass2 39;
-#X obj 316 313 fluide_mass2 40;
-#X obj 326 323 fluide_mass2 41;
-#X obj 336 333 fluide_mass2 42;
-#X obj 346 343 fluide_mass2 43;
-#X obj 356 353 fluide_mass2 44;
-#X obj 366 363 fluide_mass2 45;
-#X obj 376 373 fluide_mass2 46;
-#X obj 386 383 fluide_mass2 47;
-#X obj 396 393 fluide_mass2 48;
-#X obj 406 403 fluide_mass2 49;
-#X obj 416 413 fluide_mass2 50;
-#X restore 355 201 pd pool;
-#N canvas 860 482 340 441 creation 0;
-#X obj 43 318 s pd-new;
-#X msg 87 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 43 289 menuclose;
-#X obj 76 237 pack f f f;
-#X obj 43 47 sel 0 1;
-#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X obj 76 186 t f f f;
-#X msg 76 265 obj \$1 \$2 fluide_mass2 \$3;
-#X obj 103 210 * 10;
-#X obj 76 210 * 10;
-#X obj 61 163 ch_uzi 60;
-#X text 30 373 used to create the collection of object;
-#X connect 2 0 0 0;
-#X connect 3 0 8 0;
-#X connect 4 0 2 0;
-#X connect 4 1 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 6 1 1 0;
-#X connect 7 0 10 0;
-#X connect 7 1 9 0;
-#X connect 7 2 3 2;
-#X connect 8 0 0 0;
-#X connect 9 0 3 1;
-#X connect 10 0 3 0;
-#X connect 11 1 7 0;
-#X restore 355 227 pd creation pool;
-#X text 15 65 this exemple got 250 masss \, so it nead more CPU than
-before.;
-#X msg 60 176 20;
-#X floatatom 60 199 5 0 0 0 - - -;
-#X text 15 102 if you've got a slow computer \, you can slow down the
-computation speed by changing the metronome frequency.;
-#X text 44 149 <- begin;
-#X text 176 5 Fuids mecanics;
-#X text 85 31 Masses have no weight \, they are in a displacement field
-\, corresponding to a vertex.;
-#X obj 42 279 iCircle2D mass 0 0 0 5 0 0 0 0 0 0 0 0 0 0.0005;
-#X obj 17 221 metro 20;
-#X text 309 170 <- 1;
-#X connect 0 0 6 0;
-#X connect 0 1 18 0;
-#X connect 1 0 19 0;
-#X connect 2 0 8 0;
-#X connect 3 0 4 0;
-#X connect 5 0 4 0;
-#X connect 8 0 7 0;
-#X connect 12 0 13 0;
-#X connect 13 0 19 1;
-#X connect 19 0 0 0;
+#N canvas 151 192 513 340 10;
+#X declare -lib Gem;
+#X obj 17 248 t b b;
+#X obj 17 150 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 106 207 loadbang;
+#X msg 233 196 0 \, destroy;
+#X obj 199 224 gemwin;
+#X msg 199 171 reset \, create \, 1;
+#X obj 17 304 s mass;
+#X obj 106 253 s reset_mass;
+#X msg 106 229 bang;
+#N canvas 717 329 472 322 pool 0;
+#X obj 106 103 fluide_mass2 19;
+#X obj 186 183 fluide_mass2 27;
+#X obj 166 163 fluide_mass2 25;
+#X obj 16 13 fluide_mass2 10;
+#X obj 26 23 fluide_mass2 11;
+#X obj 36 33 fluide_mass2 12;
+#X obj 46 43 fluide_mass2 13;
+#X obj 56 53 fluide_mass2 14;
+#X obj 66 63 fluide_mass2 15;
+#X obj 76 73 fluide_mass2 16;
+#X obj 86 83 fluide_mass2 17;
+#X obj 96 93 fluide_mass2 18;
+#X obj 116 113 fluide_mass2 20;
+#X obj 126 123 fluide_mass2 21;
+#X obj 136 133 fluide_mass2 22;
+#X obj 146 143 fluide_mass2 23;
+#X obj 156 153 fluide_mass2 24;
+#X obj 176 173 fluide_mass2 26;
+#X obj 196 193 fluide_mass2 28;
+#X obj 206 203 fluide_mass2 29;
+#X obj 216 213 fluide_mass2 30;
+#X obj 226 223 fluide_mass2 31;
+#X obj 236 233 fluide_mass2 32;
+#X obj 246 243 fluide_mass2 33;
+#X obj 256 253 fluide_mass2 34;
+#X obj 266 263 fluide_mass2 35;
+#X obj 276 273 fluide_mass2 36;
+#X obj 286 283 fluide_mass2 37;
+#X obj 296 293 fluide_mass2 38;
+#X obj 306 303 fluide_mass2 39;
+#X obj 316 313 fluide_mass2 40;
+#X obj 326 323 fluide_mass2 41;
+#X obj 336 333 fluide_mass2 42;
+#X obj 346 343 fluide_mass2 43;
+#X obj 356 353 fluide_mass2 44;
+#X obj 366 363 fluide_mass2 45;
+#X obj 376 373 fluide_mass2 46;
+#X obj 386 383 fluide_mass2 47;
+#X obj 396 393 fluide_mass2 48;
+#X obj 406 403 fluide_mass2 49;
+#X obj 416 413 fluide_mass2 50;
+#X restore 355 201 pd pool;
+#N canvas 860 482 340 441 creation 0;
+#X obj 43 318 s pd-new;
+#X msg 87 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 76 237 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 76 186 t f f f;
+#X msg 76 265 obj \$1 \$2 fluide_mass2 \$3;
+#X obj 103 210 * 10;
+#X obj 76 210 * 10;
+#X obj 61 163 ch_uzi 60;
+#X text 30 373 used to create the collection of object;
+#X connect 2 0 0 0;
+#X connect 3 0 8 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 10 0;
+#X connect 7 1 9 0;
+#X connect 7 2 3 2;
+#X connect 8 0 0 0;
+#X connect 9 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 1 7 0;
+#X restore 355 227 pd creation pool;
+#X text 15 65 this exemple got 250 masss \, so it nead more CPU than
+before.;
+#X msg 60 176 20;
+#X floatatom 60 199 5 0 0 0 - - -;
+#X text 15 102 if you've got a slow computer \, you can slow down the
+computation speed by changing the metronome frequency.;
+#X text 44 149 <- begin;
+#X text 176 5 Fuids mecanics;
+#X text 85 31 Masses have no weight \, they are in a displacement field
+\, corresponding to a vertex.;
+#X obj 42 279 iCircle2D mass 0 0 0 5 0 0 0 0 0 0 0 0 0 0.0005;
+#X obj 17 221 metro 20;
+#X text 309 170 <- 1;
+#X obj 308 4 declare -lib Gem;
+#X connect 0 0 6 0;
+#X connect 0 1 18 0;
+#X connect 1 0 19 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 12 0 13 0;
+#X connect 13 0 19 1;
+#X connect 19 0 0 0;
diff --git a/examples/20_moving_vertex.pd b/examples/20_moving_vertex.pd
index ab1fb0f..d991c95 100644
--- a/examples/20_moving_vertex.pd
+++ b/examples/20_moving_vertex.pd
@@ -1,117 +1,119 @@
-#N canvas 546 89 548 542 10;
-#X obj 16 222 t b b;
-#X obj 16 151 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 105 179 loadbang;
-#X msg 250 200 0 \, destroy;
-#X obj 216 228 gemwin;
-#X msg 216 175 reset \, create \, 1;
-#X obj 16 486 s mass;
-#X obj 105 227 s reset_mass;
-#X msg 105 203 bang;
-#X obj 16 195 metro 5;
-#N canvas 860 482 416 441 creation 0;
-#X obj 40 362 s pd-new;
-#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 45 333 menuclose;
-#X obj 85 286 pack f f f;
-#X obj 43 47 sel 0 1;
-#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 69 72 t b b;
-#X obj 85 235 t f f f;
-#X msg 83 314 obj \$1 \$2 fluide_mass2 \$3;
-#X obj 112 261 * 10;
-#X obj 85 259 * 10;
-#X obj 89 188 * 2;
-#X obj 73 163 ch_uzi 30;
-#X connect 2 0 0 0;
-#X connect 3 0 8 0;
-#X connect 4 0 2 0;
-#X connect 4 1 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 12 0;
-#X connect 6 1 1 0;
-#X connect 7 0 10 0;
-#X connect 7 1 9 0;
-#X connect 7 2 3 2;
-#X connect 8 0 0 0;
-#X connect 9 0 3 1;
-#X connect 10 0 3 0;
-#X connect 11 0 7 0;
-#X connect 12 1 11 0;
-#X restore 345 264 pd creation pool;
-#X obj 133 305 t b b;
-#X obj 194 287 r reset_mass;
-#X msg 194 308 reset;
-#X obj 269 346 link foo 0 1;
-#X obj 133 386 / 50;
-#X text 177 373 X position of the center of the vertex.;
-#X floatatom 178 390 5 0 0 0 - - -;
-#X text 157 17 same as previus exemple but with a moving vertex (Y)
-;
-#X obj 133 470 iCircle2D mass 0 0 0 5 0 0 0 0 -1e-006 0.0001;
-#X msg 133 443 setX \$1;
-#X obj 133 346 mass foo 100000 99;
-#N canvas 0 0 464 314 pool 0;
-#X obj 0 0 fluide_mass2 0;
-#X obj 20 20 fluide_mass2 2;
-#X obj 40 40 fluide_mass2 4;
-#X obj 60 60 fluide_mass2 6;
-#X obj 80 80 fluide_mass2 8;
-#X obj 100 100 fluide_mass2 10;
-#X obj 120 120 fluide_mass2 12;
-#X obj 140 140 fluide_mass2 14;
-#X obj 160 160 fluide_mass2 16;
-#X obj 180 180 fluide_mass2 18;
-#X obj 200 200 fluide_mass2 20;
-#X obj 220 220 fluide_mass2 22;
-#X obj 240 240 fluide_mass2 24;
-#X obj 260 260 fluide_mass2 26;
-#X obj 280 280 fluide_mass2 28;
-#X obj 300 300 fluide_mass2 30;
-#X obj 320 320 fluide_mass2 32;
-#X obj 340 340 fluide_mass2 34;
-#X obj 360 360 fluide_mass2 36;
-#X obj 380 380 fluide_mass2 38;
-#X obj 400 400 fluide_mass2 40;
-#X obj 420 420 fluide_mass2 42;
-#X obj 440 440 fluide_mass2 44;
-#X obj 460 460 fluide_mass2 46;
-#X obj 480 480 fluide_mass2 48;
-#X obj 500 500 fluide_mass2 50;
-#X obj 520 520 fluide_mass2 52;
-#X obj 540 540 fluide_mass2 54;
-#X obj 560 560 fluide_mass2 56;
-#X obj 580 580 fluide_mass2 58;
-#X restore 345 238 pd pool;
-#X text 96 41 The vertex goes from right / left with sinusoidal variations.
-the mouvement comes frome a single mass/link structure \, as seen before.
-;
-#X text 97 92 if you've got a slow computer \, you can slow down the
-computation speed by changing the metronome frequency.;
-#X floatatom 53 174 5 0 0 0 - - -;
-#X text 40 150 <- begin;
-#X obj 41 418 iAmbient2D mass 0 0 0 0 1;
-#X text 330 175 <- 1;
-#X connect 0 0 6 0;
-#X connect 0 1 19 0;
-#X connect 0 1 27 0;
-#X connect 1 0 9 0;
-#X connect 2 0 8 0;
-#X connect 3 0 4 0;
-#X connect 5 0 4 0;
-#X connect 8 0 7 0;
-#X connect 9 0 0 0;
-#X connect 9 0 11 0;
-#X connect 11 0 21 0;
-#X connect 11 1 14 0;
-#X connect 12 0 13 0;
-#X connect 13 0 21 0;
-#X connect 14 0 21 0;
-#X connect 15 0 20 0;
-#X connect 20 0 19 0;
-#X connect 21 0 14 0;
-#X connect 21 0 15 0;
-#X connect 21 0 17 0;
-#X connect 25 0 9 1;
+#N canvas 542 103 548 542 10;
+#X declare -lib Gem;
+#X obj 16 222 t b b;
+#X obj 16 151 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 105 179 loadbang;
+#X msg 250 200 0 \, destroy;
+#X obj 216 228 gemwin;
+#X msg 216 175 reset \, create \, 1;
+#X obj 16 486 s mass;
+#X obj 105 227 s reset_mass;
+#X msg 105 203 bang;
+#X obj 16 195 metro 5;
+#N canvas 860 482 416 441 creation 0;
+#X obj 40 362 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 45 333 menuclose;
+#X obj 85 286 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 85 235 t f f f;
+#X msg 83 314 obj \$1 \$2 fluide_mass2 \$3;
+#X obj 112 261 * 10;
+#X obj 85 259 * 10;
+#X obj 89 188 * 2;
+#X obj 73 163 ch_uzi 30;
+#X connect 2 0 0 0;
+#X connect 3 0 8 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 12 0;
+#X connect 6 1 1 0;
+#X connect 7 0 10 0;
+#X connect 7 1 9 0;
+#X connect 7 2 3 2;
+#X connect 8 0 0 0;
+#X connect 9 0 3 1;
+#X connect 10 0 3 0;
+#X connect 11 0 7 0;
+#X connect 12 1 11 0;
+#X restore 345 264 pd creation pool;
+#X obj 133 305 t b b;
+#X obj 194 287 r reset_mass;
+#X msg 194 308 reset;
+#X obj 269 346 link foo 0 1;
+#X obj 133 386 / 50;
+#X text 177 373 X position of the center of the vertex.;
+#X floatatom 178 390 5 0 0 0 - - -;
+#X text 157 17 same as previus exemple but with a moving vertex (Y)
+;
+#X obj 133 470 iCircle2D mass 0 0 0 5 0 0 0 0 -1e-06 0.0001;
+#X msg 133 443 setX \$1;
+#X obj 133 346 mass foo 100000 99;
+#N canvas 0 0 464 314 pool 0;
+#X obj 0 0 fluide_mass2 0;
+#X obj 20 20 fluide_mass2 2;
+#X obj 40 40 fluide_mass2 4;
+#X obj 60 60 fluide_mass2 6;
+#X obj 80 80 fluide_mass2 8;
+#X obj 100 100 fluide_mass2 10;
+#X obj 120 120 fluide_mass2 12;
+#X obj 140 140 fluide_mass2 14;
+#X obj 160 160 fluide_mass2 16;
+#X obj 180 180 fluide_mass2 18;
+#X obj 200 200 fluide_mass2 20;
+#X obj 220 220 fluide_mass2 22;
+#X obj 240 240 fluide_mass2 24;
+#X obj 260 260 fluide_mass2 26;
+#X obj 280 280 fluide_mass2 28;
+#X obj 300 300 fluide_mass2 30;
+#X obj 320 320 fluide_mass2 32;
+#X obj 340 340 fluide_mass2 34;
+#X obj 360 360 fluide_mass2 36;
+#X obj 380 380 fluide_mass2 38;
+#X obj 400 400 fluide_mass2 40;
+#X obj 420 420 fluide_mass2 42;
+#X obj 440 440 fluide_mass2 44;
+#X obj 460 460 fluide_mass2 46;
+#X obj 480 480 fluide_mass2 48;
+#X obj 500 500 fluide_mass2 50;
+#X obj 520 520 fluide_mass2 52;
+#X obj 540 540 fluide_mass2 54;
+#X obj 560 560 fluide_mass2 56;
+#X obj 580 580 fluide_mass2 58;
+#X restore 345 238 pd pool;
+#X text 96 41 The vertex goes from right / left with sinusoidal variations.
+the mouvement comes frome a single mass/link structure \, as seen before.
+;
+#X text 97 92 if you've got a slow computer \, you can slow down the
+computation speed by changing the metronome frequency.;
+#X floatatom 53 174 5 0 0 0 - - -;
+#X text 40 150 <- begin;
+#X obj 41 418 iAmbient2D mass 0 0 0 0 1;
+#X text 330 175 <- 1;
+#X obj 10 1 declare -lib Gem;
+#X connect 0 0 6 0;
+#X connect 0 1 19 0;
+#X connect 0 1 27 0;
+#X connect 1 0 9 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 9 0 0 0;
+#X connect 9 0 11 0;
+#X connect 11 0 21 0;
+#X connect 11 1 14 0;
+#X connect 12 0 13 0;
+#X connect 13 0 21 0;
+#X connect 14 0 21 0;
+#X connect 15 0 20 0;
+#X connect 20 0 19 0;
+#X connect 21 0 14 0;
+#X connect 21 0 15 0;
+#X connect 21 0 17 0;
+#X connect 25 0 9 1;
diff --git a/examples/21_fluid_circulation_cylinder.pd b/examples/21_fluid_circulation_cylinder.pd
index 1c5e8b8..ca2d915 100644
--- a/examples/21_fluid_circulation_cylinder.pd
+++ b/examples/21_fluid_circulation_cylinder.pd
@@ -1,199 +1,201 @@
-#N canvas 95 190 751 371 10;
-#X obj 23 167 t b b;
-#X obj 23 59 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 483 150 loadbang;
-#X msg 153 132 0 \, destroy;
-#X obj 119 160 gemwin;
-#X msg 119 107 reset \, create \, 1;
-#X obj 23 205 s mass;
-#X obj 345 126 gemhead;
-#N canvas 19 7 1256 797 pool 0;
-#X obj 0 0 fluide_mass6 -6 -0.958333;
-#X obj 240 0 fluide_mass6 -5.71429 -0.958333;
-#X obj 480 0 fluide_mass6 -5.42857 -0.958333;
-#X obj 720 0 fluide_mass6 -5.14286 -0.958333;
-#X obj 960 0 fluide_mass6 -4.85714 -0.958333;
-#X obj 0 30 fluide_mass6 -6 -0.875;
-#X obj 240 30 fluide_mass6 -5.71429 -0.875;
-#X obj 480 30 fluide_mass6 -5.42857 -0.875;
-#X obj 720 30 fluide_mass6 -5.14286 -0.875;
-#X obj 960 30 fluide_mass6 -4.85714 -0.875;
-#X obj 0 60 fluide_mass6 -6 -0.791667;
-#X obj 240 60 fluide_mass6 -5.71429 -0.791667;
-#X obj 480 60 fluide_mass6 -5.42857 -0.791667;
-#X obj 720 60 fluide_mass6 -5.14286 -0.791667;
-#X obj 960 60 fluide_mass6 -4.85714 -0.791667;
-#X obj 0 90 fluide_mass6 -6 -0.708333;
-#X obj 240 90 fluide_mass6 -5.71429 -0.708333;
-#X obj 480 90 fluide_mass6 -5.42857 -0.708333;
-#X obj 720 90 fluide_mass6 -5.14286 -0.708333;
-#X obj 960 90 fluide_mass6 -4.85714 -0.708333;
-#X obj 0 120 fluide_mass6 -6 -0.625;
-#X obj 240 120 fluide_mass6 -5.71429 -0.625;
-#X obj 480 120 fluide_mass6 -5.42857 -0.625;
-#X obj 720 120 fluide_mass6 -5.14286 -0.625;
-#X obj 960 120 fluide_mass6 -4.85714 -0.625;
-#X obj 0 150 fluide_mass6 -6 -0.541667;
-#X obj 240 150 fluide_mass6 -5.71429 -0.541667;
-#X obj 480 150 fluide_mass6 -5.42857 -0.541667;
-#X obj 720 150 fluide_mass6 -5.14286 -0.541667;
-#X obj 960 150 fluide_mass6 -4.85714 -0.541667;
-#X obj 0 180 fluide_mass6 -6 -0.458333;
-#X obj 240 180 fluide_mass6 -5.71429 -0.458333;
-#X obj 480 180 fluide_mass6 -5.42857 -0.458333;
-#X obj 720 180 fluide_mass6 -5.14286 -0.458333;
-#X obj 960 180 fluide_mass6 -4.85714 -0.458333;
-#X obj 0 210 fluide_mass6 -6 -0.375;
-#X obj 240 210 fluide_mass6 -5.71429 -0.375;
-#X obj 480 210 fluide_mass6 -5.42857 -0.375;
-#X obj 720 210 fluide_mass6 -5.14286 -0.375;
-#X obj 960 210 fluide_mass6 -4.85714 -0.375;
-#X obj 0 240 fluide_mass6 -6 -0.291667;
-#X obj 240 240 fluide_mass6 -5.71429 -0.291667;
-#X obj 480 240 fluide_mass6 -5.42857 -0.291667;
-#X obj 720 240 fluide_mass6 -5.14286 -0.291667;
-#X obj 960 240 fluide_mass6 -4.85714 -0.291667;
-#X obj 0 270 fluide_mass6 -6 -0.208333;
-#X obj 240 270 fluide_mass6 -5.71429 -0.208333;
-#X obj 480 270 fluide_mass6 -5.42857 -0.208333;
-#X obj 720 270 fluide_mass6 -5.14286 -0.208333;
-#X obj 960 270 fluide_mass6 -4.85714 -0.208333;
-#X obj 0 300 fluide_mass6 -6 -0.125;
-#X obj 240 300 fluide_mass6 -5.71429 -0.125;
-#X obj 480 300 fluide_mass6 -5.42857 -0.125;
-#X obj 720 300 fluide_mass6 -5.14286 -0.125;
-#X obj 960 300 fluide_mass6 -4.85714 -0.125;
-#X obj 0 330 fluide_mass6 -6 -0.0416667;
-#X obj 240 330 fluide_mass6 -5.71429 -0.0416667;
-#X obj 480 330 fluide_mass6 -5.42857 -0.0416667;
-#X obj 720 330 fluide_mass6 -5.14286 -0.0416667;
-#X obj 960 330 fluide_mass6 -4.85714 -0.0416667;
-#X obj 0 360 fluide_mass6 -6 0.0416667;
-#X obj 240 360 fluide_mass6 -5.71429 0.0416667;
-#X obj 480 360 fluide_mass6 -5.42857 0.0416667;
-#X obj 720 360 fluide_mass6 -5.14286 0.0416667;
-#X obj 960 360 fluide_mass6 -4.85714 0.0416667;
-#X obj 0 390 fluide_mass6 -6 0.125;
-#X obj 240 390 fluide_mass6 -5.71429 0.125;
-#X obj 480 390 fluide_mass6 -5.42857 0.125;
-#X obj 720 390 fluide_mass6 -5.14286 0.125;
-#X obj 960 390 fluide_mass6 -4.85714 0.125;
-#X obj 0 420 fluide_mass6 -6 0.208333;
-#X obj 240 420 fluide_mass6 -5.71429 0.208333;
-#X obj 480 420 fluide_mass6 -5.42857 0.208333;
-#X obj 720 420 fluide_mass6 -5.14286 0.208333;
-#X obj 960 420 fluide_mass6 -4.85714 0.208333;
-#X obj 0 450 fluide_mass6 -6 0.291667;
-#X obj 240 450 fluide_mass6 -5.71429 0.291667;
-#X obj 480 450 fluide_mass6 -5.42857 0.291667;
-#X obj 720 450 fluide_mass6 -5.14286 0.291667;
-#X obj 960 450 fluide_mass6 -4.85714 0.291667;
-#X obj 0 480 fluide_mass6 -6 0.375;
-#X obj 240 480 fluide_mass6 -5.71429 0.375;
-#X obj 480 480 fluide_mass6 -5.42857 0.375;
-#X obj 720 480 fluide_mass6 -5.14286 0.375;
-#X obj 960 480 fluide_mass6 -4.85714 0.375;
-#X obj 0 510 fluide_mass6 -6 0.458333;
-#X obj 240 510 fluide_mass6 -5.71429 0.458333;
-#X obj 480 510 fluide_mass6 -5.42857 0.458333;
-#X obj 720 510 fluide_mass6 -5.14286 0.458333;
-#X obj 960 510 fluide_mass6 -4.85714 0.458333;
-#X obj 0 540 fluide_mass6 -6 0.541667;
-#X obj 240 540 fluide_mass6 -5.71429 0.541667;
-#X obj 480 540 fluide_mass6 -5.42857 0.541667;
-#X obj 720 540 fluide_mass6 -5.14286 0.541667;
-#X obj 960 540 fluide_mass6 -4.85714 0.541667;
-#X obj 0 570 fluide_mass6 -6 0.625;
-#X obj 240 570 fluide_mass6 -5.71429 0.625;
-#X obj 480 570 fluide_mass6 -5.42857 0.625;
-#X obj 720 570 fluide_mass6 -5.14286 0.625;
-#X obj 960 570 fluide_mass6 -4.85714 0.625;
-#X obj 0 600 fluide_mass6 -6 0.708333;
-#X obj 240 600 fluide_mass6 -5.71429 0.708333;
-#X obj 480 600 fluide_mass6 -5.42857 0.708333;
-#X obj 720 600 fluide_mass6 -5.14286 0.708333;
-#X obj 960 600 fluide_mass6 -4.85714 0.708333;
-#X obj 0 630 fluide_mass6 -6 0.791667;
-#X obj 240 630 fluide_mass6 -5.71429 0.791667;
-#X obj 480 630 fluide_mass6 -5.42857 0.791667;
-#X obj 720 630 fluide_mass6 -5.14286 0.791667;
-#X obj 960 630 fluide_mass6 -4.85714 0.791667;
-#X obj 0 660 fluide_mass6 -6 0.875;
-#X obj 240 660 fluide_mass6 -5.71429 0.875;
-#X obj 480 660 fluide_mass6 -5.42857 0.875;
-#X obj 720 660 fluide_mass6 -5.14286 0.875;
-#X obj 960 660 fluide_mass6 -4.85714 0.875;
-#X restore 344 180 pd pool;
-#N canvas 696 98 351 591 creation 0;
-#X obj 41 491 s pd-new;
-#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 40 464 menuclose;
-#X obj 40 47 sel 0 1;
-#X obj 40 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 69 72 t b b;
-#X obj 97 412 pack f f f f;
-#X obj 89 191 t b f f;
-#X obj 100 299 t f f;
-#X obj 107 219 * 30;
-#X obj 99 377 * 120;
-#X obj 126 328 / 7;
-#X obj 127 351 - 6;
-#X obj 163 346 - 11.5;
-#X msg 95 440 obj \$1 \$2 fluide_mass6 \$3 \$4;
-#X obj 101 275 * 2;
-#X obj 160 370 / 12;
-#X obj 69 163 ch_uzi 23;
-#X obj 88 247 ch_uzi 5;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 17 0;
-#X connect 5 1 1 0;
-#X connect 6 0 14 0;
-#X connect 7 0 18 0;
-#X connect 7 1 9 0;
-#X connect 7 1 13 0;
-#X connect 8 0 10 0;
-#X connect 8 1 11 0;
-#X connect 9 0 6 1;
-#X connect 10 0 6 0;
-#X connect 11 0 12 0;
-#X connect 12 0 6 2;
-#X connect 13 0 16 0;
-#X connect 14 0 0 0;
-#X connect 15 0 8 0;
-#X connect 16 0 6 3;
-#X connect 17 1 7 0;
-#X connect 18 1 15 0;
-#X restore 344 202 pd creation pool;
-#X msg 483 174 reset;
-#X obj 483 198 s mass;
-#X obj 345 149 sphere 0.5;
-#X obj 23 140 metro 10;
-#X obj 73 289 iCircle2D mass 0.1 0 0 10 0 0 0 0 0 0 0 0 -0.02 0;
-#X obj 58 268 iCircle2D mass -0.1 0 0 10 0 0 0 0 0 0 0 0 0.02 0;
-#X text 47 58 <- begin (change the metro speed for slow computer);
-#X floatatom 66 111 5 0 0 0 - - -;
-#X text 123 11 simulation of no weight particules in a no viscus fluid
-flow around a cylinder;
-#X text 390 248 <- left to right displacement field;
-#X text 390 279 <- this mouvement creation correspond to the simulation
-of the cylinder;
-#X obj 49 247 iAmbient2D mass 0 0 0 0 0 -1000 1000 -1000 1000 0.01
-0;
-#X text 233 108 <-1;
-#X connect 0 0 6 0;
-#X connect 0 1 14 0;
-#X connect 0 1 15 0;
-#X connect 0 1 21 0;
-#X connect 1 0 13 0;
-#X connect 2 0 10 0;
-#X connect 3 0 4 0;
-#X connect 5 0 4 0;
-#X connect 7 0 12 0;
-#X connect 10 0 11 0;
-#X connect 13 0 0 0;
-#X connect 17 0 13 1;
+#N canvas 91 204 751 371 10;
+#X declare -lib Gem;
+#X obj 23 167 t b b;
+#X obj 23 59 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 483 150 loadbang;
+#X msg 153 132 0 \, destroy;
+#X obj 119 160 gemwin;
+#X msg 119 107 reset \, create \, 1;
+#X obj 23 205 s mass;
+#X obj 345 126 gemhead;
+#N canvas 19 7 1256 797 pool 0;
+#X obj 0 0 fluide_mass6 -6 -0.958333;
+#X obj 240 0 fluide_mass6 -5.71429 -0.958333;
+#X obj 480 0 fluide_mass6 -5.42857 -0.958333;
+#X obj 720 0 fluide_mass6 -5.14286 -0.958333;
+#X obj 960 0 fluide_mass6 -4.85714 -0.958333;
+#X obj 0 30 fluide_mass6 -6 -0.875;
+#X obj 240 30 fluide_mass6 -5.71429 -0.875;
+#X obj 480 30 fluide_mass6 -5.42857 -0.875;
+#X obj 720 30 fluide_mass6 -5.14286 -0.875;
+#X obj 960 30 fluide_mass6 -4.85714 -0.875;
+#X obj 0 60 fluide_mass6 -6 -0.791667;
+#X obj 240 60 fluide_mass6 -5.71429 -0.791667;
+#X obj 480 60 fluide_mass6 -5.42857 -0.791667;
+#X obj 720 60 fluide_mass6 -5.14286 -0.791667;
+#X obj 960 60 fluide_mass6 -4.85714 -0.791667;
+#X obj 0 90 fluide_mass6 -6 -0.708333;
+#X obj 240 90 fluide_mass6 -5.71429 -0.708333;
+#X obj 480 90 fluide_mass6 -5.42857 -0.708333;
+#X obj 720 90 fluide_mass6 -5.14286 -0.708333;
+#X obj 960 90 fluide_mass6 -4.85714 -0.708333;
+#X obj 0 120 fluide_mass6 -6 -0.625;
+#X obj 240 120 fluide_mass6 -5.71429 -0.625;
+#X obj 480 120 fluide_mass6 -5.42857 -0.625;
+#X obj 720 120 fluide_mass6 -5.14286 -0.625;
+#X obj 960 120 fluide_mass6 -4.85714 -0.625;
+#X obj 0 150 fluide_mass6 -6 -0.541667;
+#X obj 240 150 fluide_mass6 -5.71429 -0.541667;
+#X obj 480 150 fluide_mass6 -5.42857 -0.541667;
+#X obj 720 150 fluide_mass6 -5.14286 -0.541667;
+#X obj 960 150 fluide_mass6 -4.85714 -0.541667;
+#X obj 0 180 fluide_mass6 -6 -0.458333;
+#X obj 240 180 fluide_mass6 -5.71429 -0.458333;
+#X obj 480 180 fluide_mass6 -5.42857 -0.458333;
+#X obj 720 180 fluide_mass6 -5.14286 -0.458333;
+#X obj 960 180 fluide_mass6 -4.85714 -0.458333;
+#X obj 0 210 fluide_mass6 -6 -0.375;
+#X obj 240 210 fluide_mass6 -5.71429 -0.375;
+#X obj 480 210 fluide_mass6 -5.42857 -0.375;
+#X obj 720 210 fluide_mass6 -5.14286 -0.375;
+#X obj 960 210 fluide_mass6 -4.85714 -0.375;
+#X obj 0 240 fluide_mass6 -6 -0.291667;
+#X obj 240 240 fluide_mass6 -5.71429 -0.291667;
+#X obj 480 240 fluide_mass6 -5.42857 -0.291667;
+#X obj 720 240 fluide_mass6 -5.14286 -0.291667;
+#X obj 960 240 fluide_mass6 -4.85714 -0.291667;
+#X obj 0 270 fluide_mass6 -6 -0.208333;
+#X obj 240 270 fluide_mass6 -5.71429 -0.208333;
+#X obj 480 270 fluide_mass6 -5.42857 -0.208333;
+#X obj 720 270 fluide_mass6 -5.14286 -0.208333;
+#X obj 960 270 fluide_mass6 -4.85714 -0.208333;
+#X obj 0 300 fluide_mass6 -6 -0.125;
+#X obj 240 300 fluide_mass6 -5.71429 -0.125;
+#X obj 480 300 fluide_mass6 -5.42857 -0.125;
+#X obj 720 300 fluide_mass6 -5.14286 -0.125;
+#X obj 960 300 fluide_mass6 -4.85714 -0.125;
+#X obj 0 330 fluide_mass6 -6 -0.0416667;
+#X obj 240 330 fluide_mass6 -5.71429 -0.0416667;
+#X obj 480 330 fluide_mass6 -5.42857 -0.0416667;
+#X obj 720 330 fluide_mass6 -5.14286 -0.0416667;
+#X obj 960 330 fluide_mass6 -4.85714 -0.0416667;
+#X obj 0 360 fluide_mass6 -6 0.0416667;
+#X obj 240 360 fluide_mass6 -5.71429 0.0416667;
+#X obj 480 360 fluide_mass6 -5.42857 0.0416667;
+#X obj 720 360 fluide_mass6 -5.14286 0.0416667;
+#X obj 960 360 fluide_mass6 -4.85714 0.0416667;
+#X obj 0 390 fluide_mass6 -6 0.125;
+#X obj 240 390 fluide_mass6 -5.71429 0.125;
+#X obj 480 390 fluide_mass6 -5.42857 0.125;
+#X obj 720 390 fluide_mass6 -5.14286 0.125;
+#X obj 960 390 fluide_mass6 -4.85714 0.125;
+#X obj 0 420 fluide_mass6 -6 0.208333;
+#X obj 240 420 fluide_mass6 -5.71429 0.208333;
+#X obj 480 420 fluide_mass6 -5.42857 0.208333;
+#X obj 720 420 fluide_mass6 -5.14286 0.208333;
+#X obj 960 420 fluide_mass6 -4.85714 0.208333;
+#X obj 0 450 fluide_mass6 -6 0.291667;
+#X obj 240 450 fluide_mass6 -5.71429 0.291667;
+#X obj 480 450 fluide_mass6 -5.42857 0.291667;
+#X obj 720 450 fluide_mass6 -5.14286 0.291667;
+#X obj 960 450 fluide_mass6 -4.85714 0.291667;
+#X obj 0 480 fluide_mass6 -6 0.375;
+#X obj 240 480 fluide_mass6 -5.71429 0.375;
+#X obj 480 480 fluide_mass6 -5.42857 0.375;
+#X obj 720 480 fluide_mass6 -5.14286 0.375;
+#X obj 960 480 fluide_mass6 -4.85714 0.375;
+#X obj 0 510 fluide_mass6 -6 0.458333;
+#X obj 240 510 fluide_mass6 -5.71429 0.458333;
+#X obj 480 510 fluide_mass6 -5.42857 0.458333;
+#X obj 720 510 fluide_mass6 -5.14286 0.458333;
+#X obj 960 510 fluide_mass6 -4.85714 0.458333;
+#X obj 0 540 fluide_mass6 -6 0.541667;
+#X obj 240 540 fluide_mass6 -5.71429 0.541667;
+#X obj 480 540 fluide_mass6 -5.42857 0.541667;
+#X obj 720 540 fluide_mass6 -5.14286 0.541667;
+#X obj 960 540 fluide_mass6 -4.85714 0.541667;
+#X obj 0 570 fluide_mass6 -6 0.625;
+#X obj 240 570 fluide_mass6 -5.71429 0.625;
+#X obj 480 570 fluide_mass6 -5.42857 0.625;
+#X obj 720 570 fluide_mass6 -5.14286 0.625;
+#X obj 960 570 fluide_mass6 -4.85714 0.625;
+#X obj 0 600 fluide_mass6 -6 0.708333;
+#X obj 240 600 fluide_mass6 -5.71429 0.708333;
+#X obj 480 600 fluide_mass6 -5.42857 0.708333;
+#X obj 720 600 fluide_mass6 -5.14286 0.708333;
+#X obj 960 600 fluide_mass6 -4.85714 0.708333;
+#X obj 0 630 fluide_mass6 -6 0.791667;
+#X obj 240 630 fluide_mass6 -5.71429 0.791667;
+#X obj 480 630 fluide_mass6 -5.42857 0.791667;
+#X obj 720 630 fluide_mass6 -5.14286 0.791667;
+#X obj 960 630 fluide_mass6 -4.85714 0.791667;
+#X obj 0 660 fluide_mass6 -6 0.875;
+#X obj 240 660 fluide_mass6 -5.71429 0.875;
+#X obj 480 660 fluide_mass6 -5.42857 0.875;
+#X obj 720 660 fluide_mass6 -5.14286 0.875;
+#X obj 960 660 fluide_mass6 -4.85714 0.875;
+#X restore 344 180 pd pool;
+#N canvas 696 98 351 591 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 40 47 sel 0 1;
+#X obj 40 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 126 328 / 7;
+#X obj 127 351 - 6;
+#X obj 163 346 - 11.5;
+#X msg 95 440 obj \$1 \$2 fluide_mass6 \$3 \$4;
+#X obj 101 275 * 2;
+#X obj 160 370 / 12;
+#X obj 69 163 ch_uzi 23;
+#X obj 88 247 ch_uzi 5;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 13 0;
+#X connect 8 0 10 0;
+#X connect 8 1 11 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 12 0;
+#X connect 12 0 6 2;
+#X connect 13 0 16 0;
+#X connect 14 0 0 0;
+#X connect 15 0 8 0;
+#X connect 16 0 6 3;
+#X connect 17 1 7 0;
+#X connect 18 1 15 0;
+#X restore 344 202 pd creation pool;
+#X msg 483 174 reset;
+#X obj 483 198 s mass;
+#X obj 345 149 sphere 0.5;
+#X obj 23 140 metro 10;
+#X obj 73 289 iCircle2D mass 0.1 0 0 10 0 0 0 0 0 0 0 0 -0.02 0;
+#X obj 58 268 iCircle2D mass -0.1 0 0 10 0 0 0 0 0 0 0 0 0.02 0;
+#X text 47 58 <- begin (change the metro speed for slow computer);
+#X floatatom 66 111 5 0 0 0 - - -;
+#X text 123 11 simulation of no weight particules in a no viscus fluid
+flow around a cylinder;
+#X text 390 248 <- left to right displacement field;
+#X text 390 279 <- this mouvement creation correspond to the simulation
+of the cylinder;
+#X obj 49 247 iAmbient2D mass 0 0 0 0 0 -1000 1000 -1000 1000 0.01
+0;
+#X text 233 108 <-1;
+#X obj 490 33 declare -lib Gem;
+#X connect 0 0 6 0;
+#X connect 0 1 14 0;
+#X connect 0 1 15 0;
+#X connect 0 1 21 0;
+#X connect 1 0 13 0;
+#X connect 2 0 10 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 7 0 12 0;
+#X connect 10 0 11 0;
+#X connect 13 0 0 0;
+#X connect 17 0 13 1;
diff --git a/examples/22_gaz_molecules.pd b/examples/22_gaz_molecules.pd
index cf40a3e..995772c 100644
--- a/examples/22_gaz_molecules.pd
+++ b/examples/22_gaz_molecules.pd
@@ -1,204 +1,206 @@
-#N canvas 131 77 652 468 10;
-#X obj 27 199 t b b;
-#X obj 27 121 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 116 203 loadbang;
-#X msg 245 217 0 \, destroy;
-#X obj 211 245 gemwin;
-#X msg 211 192 reset \, create \, 1;
-#X obj 27 436 s mass;
-#X obj 127 270 s reset_mass;
-#X msg 116 246 bang;
-#X text 358 302 <- give random speed when starting the patch;
-#X text 358 326 <- right border;
-#X text 359 348 <- left border;
-#X text 359 370 <- top border;
-#X text 359 392 <- bottom border;
-#N canvas 398 169 696 677 pool 0;
-#X msg 32 388 setXY \$1 \$2;
-#X obj 32 241 loadbang;
-#X obj 32 363 pack f f;
-#X obj 32 265 t b b;
-#X obj 53 465 gemhead;
-#X obj 53 488 translateXYZ;
-#X obj 42 438 unpack s f f;
-#X obj 139 243 r reset_mass;
-#X msg 32 574 setX \$1 \, setY \$2;
-#X obj 32 289 random 20;
-#X obj 32 335 / 4;
-#X obj 98 288 random 20;
-#X obj 98 334 / 4;
-#X obj 32 312 - 10;
-#X obj 98 310 - 10;
-#X obj 8 551 r link;
-#X obj 32 414 mass2D mass 100;
-#X obj 53 531 sphere 0.1;
-#X obj 33 598 iCircle2D mass 0 0 0.0001 0.3 0 0 1;
-#X obj 53 509 color 1 0 0;
-#X obj 303 303 fluide_mass5 29;
-#X obj 313 313 fluide_mass5 30;
-#X obj 203 203 fluide_mass5 19;
-#X obj 513 513 fluide_mass5 50;
-#X obj 443 443 fluide_mass5 43;
-#X obj 403 403 fluide_mass5 39;
-#X obj 193 193 fluide_mass5 18;
-#X obj 233 233 fluide_mass5 22;
-#X obj 93 93 fluide_mass5 8;
-#X obj 13 13 fluide_mass5 0;
-#X obj 183 183 fluide_mass5 17;
-#X obj 173 173 fluide_mass5 16;
-#X obj 23 23 fluide_mass5 1;
-#X obj 33 33 fluide_mass5 2;
-#X obj 43 43 fluide_mass5 3;
-#X obj 53 53 fluide_mass5 4;
-#X obj 63 63 fluide_mass5 5;
-#X obj 73 73 fluide_mass5 6;
-#X obj 83 83 fluide_mass5 7;
-#X obj 103 103 fluide_mass5 9;
-#X obj 113 113 fluide_mass5 10;
-#X obj 123 123 fluide_mass5 11;
-#X obj 133 133 fluide_mass5 12;
-#X obj 143 143 fluide_mass5 13;
-#X obj 153 153 fluide_mass5 14;
-#X obj 163 163 fluide_mass5 15;
-#X obj 213 213 fluide_mass5 20;
-#X obj 223 223 fluide_mass5 21;
-#X obj 243 243 fluide_mass5 23;
-#X obj 253 253 fluide_mass5 24;
-#X obj 263 263 fluide_mass5 25;
-#X obj 273 273 fluide_mass5 26;
-#X obj 283 283 fluide_mass5 27;
-#X obj 293 293 fluide_mass5 28;
-#X obj 323 323 fluide_mass5 31;
-#X obj 333 333 fluide_mass5 32;
-#X obj 343 343 fluide_mass5 33;
-#X obj 353 353 fluide_mass5 34;
-#X obj 363 363 fluide_mass5 35;
-#X obj 373 373 fluide_mass5 36;
-#X obj 383 383 fluide_mass5 37;
-#X obj 393 393 fluide_mass5 38;
-#X obj 413 413 fluide_mass5 40;
-#X obj 423 423 fluide_mass5 41;
-#X obj 433 433 fluide_mass5 42;
-#X obj 453 453 fluide_mass5 44;
-#X obj 463 463 fluide_mass5 45;
-#X obj 473 473 fluide_mass5 46;
-#X obj 483 483 fluide_mass5 47;
-#X obj 493 493 fluide_mass5 48;
-#X obj 503 503 fluide_mass5 49;
-#X obj 202 424 unpack s f f f;
-#X obj 324 533 osc~;
-#X obj 324 508 mtof;
-#X obj 324 425 loadbang;
-#X obj 282 597 *~;
-#X obj 281 533 line~;
-#X obj 282 627 dac~;
-#X obj 281 483 *;
-#X obj 324 452 random 60;
-#X msg 281 508 \$1 5;
-#X obj 281 452 * 1;
-#X obj 324 483 + 20;
-#X connect 0 0 16 0;
-#X connect 1 0 3 0;
-#X connect 2 0 0 0;
-#X connect 3 0 9 0;
-#X connect 3 1 11 0;
-#X connect 4 0 5 0;
-#X connect 5 0 19 0;
-#X connect 6 1 5 1;
-#X connect 6 2 5 2;
-#X connect 7 0 3 0;
-#X connect 8 0 18 0;
-#X connect 9 0 13 0;
-#X connect 10 0 2 0;
-#X connect 11 0 14 0;
-#X connect 12 0 2 1;
-#X connect 13 0 10 0;
-#X connect 14 0 12 0;
-#X connect 15 0 18 0;
-#X connect 16 0 6 0;
-#X connect 16 0 8 0;
-#X connect 16 2 71 0;
-#X connect 19 0 17 0;
-#X connect 71 3 81 0;
-#X connect 72 0 75 1;
-#X connect 73 0 72 0;
-#X connect 74 0 79 0;
-#X connect 75 0 77 0;
-#X connect 75 0 77 1;
-#X connect 76 0 75 0;
-#X connect 78 0 80 0;
-#X connect 79 0 82 0;
-#X connect 80 0 76 0;
-#X connect 81 0 78 0;
-#X connect 81 0 78 1;
-#X connect 82 0 73 0;
-#X restore 428 180 pd pool;
-#N canvas 307 126 323 403 creation 0;
-#X obj 38 318 s pd-new;
-#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 43 289 menuclose;
-#X obj 83 242 pack f f f;
-#X obj 43 47 sel 0 1;
-#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 69 72 t b b;
-#X obj 83 191 t f f f;
-#X obj 110 217 * 10;
-#X obj 83 215 * 10;
-#X msg 81 270 obj \$1 \$2 fluide_mass5 \$3;
-#X obj 67 163 ch_uzi 50;
-#X connect 2 0 0 0;
-#X connect 3 0 10 0;
-#X connect 4 0 2 0;
-#X connect 4 1 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 6 1 1 0;
-#X connect 7 0 9 0;
-#X connect 7 1 8 0;
-#X connect 7 2 3 2;
-#X connect 8 0 3 1;
-#X connect 9 0 3 0;
-#X connect 10 0 0 0;
-#X connect 11 1 7 0;
-#X restore 427 206 pd creation pool;
-#X obj 74 259 s link;
-#X obj 27 172 metro 5;
-#X obj 116 302 iAmbient2D mass 0 0 1 1;
-#X obj 52 325 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
-#X obj 62 349 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
-#X obj 77 372 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
-#X obj 88 395 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
-#X text 238 5 All masss interact each other;
-#X text 59 118 <- begin (change the metro speed for slow computer)
-;
-#X floatatom 64 141 5 0 0 0 - - -;
-#X text 185 25 All masss got a circular interactor around them. so
-each masss can interact with every other;
-#X text 181 62 each time a mass is boncing somwhere \, it emit a sound.
-(each mass got a frequency \, volum is prportional to forces apply
-to the mass). so \, it's a simple additive synthesis.;
-#X obj 119 154 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#X obj 119 176 metro 200;
-#X text 182 152 this one is nice to!;
-#X msg 426 234 \; pd dsp 1 \;;
-#X msg 492 234 \; pd dsp 0 \;;
-#X text 324 192 <- 1;
-#X connect 0 0 6 0;
-#X connect 0 1 16 0;
-#X connect 0 1 19 0;
-#X connect 0 1 20 0;
-#X connect 0 1 21 0;
-#X connect 0 1 22 0;
-#X connect 1 0 17 0;
-#X connect 2 0 8 0;
-#X connect 3 0 4 0;
-#X connect 5 0 4 0;
-#X connect 8 0 7 0;
-#X connect 8 0 18 0;
-#X connect 17 0 0 0;
-#X connect 25 0 17 1;
-#X connect 28 0 29 0;
-#X connect 29 0 1 0;
+#N canvas 127 91 652 468 10;
+#X declare -lib Gem;
+#X obj 27 199 t b b;
+#X obj 27 121 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 116 203 loadbang;
+#X msg 245 217 0 \, destroy;
+#X obj 211 245 gemwin;
+#X msg 211 192 reset \, create \, 1;
+#X obj 27 436 s mass;
+#X obj 127 270 s reset_mass;
+#X msg 116 246 bang;
+#X text 358 302 <- give random speed when starting the patch;
+#X text 358 326 <- right border;
+#X text 359 348 <- left border;
+#X text 359 370 <- top border;
+#X text 359 392 <- bottom border;
+#N canvas 398 169 696 677 pool 0;
+#X msg 32 388 setXY \$1 \$2;
+#X obj 32 241 loadbang;
+#X obj 32 363 pack f f;
+#X obj 32 265 t b b;
+#X obj 53 465 gemhead;
+#X obj 53 488 translateXYZ;
+#X obj 42 438 unpack s f f;
+#X obj 139 243 r reset_mass;
+#X msg 32 574 setX \$1 \, setY \$2;
+#X obj 32 289 random 20;
+#X obj 32 335 / 4;
+#X obj 98 288 random 20;
+#X obj 98 334 / 4;
+#X obj 32 312 - 10;
+#X obj 98 310 - 10;
+#X obj 8 551 r link;
+#X obj 32 414 mass2D mass 100;
+#X obj 53 531 sphere 0.1;
+#X obj 33 598 iCircle2D mass 0 0 0.0001 0.3 0 0 1;
+#X obj 53 509 color 1 0 0;
+#X obj 303 303 fluide_mass5 29;
+#X obj 313 313 fluide_mass5 30;
+#X obj 203 203 fluide_mass5 19;
+#X obj 513 513 fluide_mass5 50;
+#X obj 443 443 fluide_mass5 43;
+#X obj 403 403 fluide_mass5 39;
+#X obj 193 193 fluide_mass5 18;
+#X obj 233 233 fluide_mass5 22;
+#X obj 93 93 fluide_mass5 8;
+#X obj 13 13 fluide_mass5 0;
+#X obj 183 183 fluide_mass5 17;
+#X obj 173 173 fluide_mass5 16;
+#X obj 23 23 fluide_mass5 1;
+#X obj 33 33 fluide_mass5 2;
+#X obj 43 43 fluide_mass5 3;
+#X obj 53 53 fluide_mass5 4;
+#X obj 63 63 fluide_mass5 5;
+#X obj 73 73 fluide_mass5 6;
+#X obj 83 83 fluide_mass5 7;
+#X obj 103 103 fluide_mass5 9;
+#X obj 113 113 fluide_mass5 10;
+#X obj 123 123 fluide_mass5 11;
+#X obj 133 133 fluide_mass5 12;
+#X obj 143 143 fluide_mass5 13;
+#X obj 153 153 fluide_mass5 14;
+#X obj 163 163 fluide_mass5 15;
+#X obj 213 213 fluide_mass5 20;
+#X obj 223 223 fluide_mass5 21;
+#X obj 243 243 fluide_mass5 23;
+#X obj 253 253 fluide_mass5 24;
+#X obj 263 263 fluide_mass5 25;
+#X obj 273 273 fluide_mass5 26;
+#X obj 283 283 fluide_mass5 27;
+#X obj 293 293 fluide_mass5 28;
+#X obj 323 323 fluide_mass5 31;
+#X obj 333 333 fluide_mass5 32;
+#X obj 343 343 fluide_mass5 33;
+#X obj 353 353 fluide_mass5 34;
+#X obj 363 363 fluide_mass5 35;
+#X obj 373 373 fluide_mass5 36;
+#X obj 383 383 fluide_mass5 37;
+#X obj 393 393 fluide_mass5 38;
+#X obj 413 413 fluide_mass5 40;
+#X obj 423 423 fluide_mass5 41;
+#X obj 433 433 fluide_mass5 42;
+#X obj 453 453 fluide_mass5 44;
+#X obj 463 463 fluide_mass5 45;
+#X obj 473 473 fluide_mass5 46;
+#X obj 483 483 fluide_mass5 47;
+#X obj 493 493 fluide_mass5 48;
+#X obj 503 503 fluide_mass5 49;
+#X obj 202 424 unpack s f f f;
+#X obj 324 533 osc~;
+#X obj 324 508 mtof;
+#X obj 324 425 loadbang;
+#X obj 282 597 *~;
+#X obj 281 533 line~;
+#X obj 282 627 dac~;
+#X obj 281 483 *;
+#X obj 324 452 random 60;
+#X msg 281 508 \$1 5;
+#X obj 281 452 * 1;
+#X obj 324 483 + 20;
+#X connect 0 0 16 0;
+#X connect 1 0 3 0;
+#X connect 2 0 0 0;
+#X connect 3 0 9 0;
+#X connect 3 1 11 0;
+#X connect 4 0 5 0;
+#X connect 5 0 19 0;
+#X connect 6 1 5 1;
+#X connect 6 2 5 2;
+#X connect 7 0 3 0;
+#X connect 8 0 18 0;
+#X connect 9 0 13 0;
+#X connect 10 0 2 0;
+#X connect 11 0 14 0;
+#X connect 12 0 2 1;
+#X connect 13 0 10 0;
+#X connect 14 0 12 0;
+#X connect 15 0 18 0;
+#X connect 16 0 6 0;
+#X connect 16 0 8 0;
+#X connect 16 2 71 0;
+#X connect 19 0 17 0;
+#X connect 71 3 81 0;
+#X connect 72 0 75 1;
+#X connect 73 0 72 0;
+#X connect 74 0 79 0;
+#X connect 75 0 77 0;
+#X connect 75 0 77 1;
+#X connect 76 0 75 0;
+#X connect 78 0 80 0;
+#X connect 79 0 82 0;
+#X connect 80 0 76 0;
+#X connect 81 0 78 0;
+#X connect 81 0 78 1;
+#X connect 82 0 73 0;
+#X restore 428 180 pd pool;
+#N canvas 307 126 323 403 creation 0;
+#X obj 38 318 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 83 242 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 83 191 t f f f;
+#X obj 110 217 * 10;
+#X obj 83 215 * 10;
+#X msg 81 270 obj \$1 \$2 fluide_mass5 \$3;
+#X obj 67 163 ch_uzi 50;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 7 2 3 2;
+#X connect 8 0 3 1;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 11 1 7 0;
+#X restore 427 206 pd creation pool;
+#X obj 74 259 s link;
+#X obj 27 172 metro 5;
+#X obj 116 302 iAmbient2D mass 0 0 1 1;
+#X obj 52 325 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 62 349 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X obj 77 372 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
+#X obj 88 395 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
+#X text 238 5 All masss interact each other;
+#X text 59 118 <- begin (change the metro speed for slow computer)
+;
+#X floatatom 64 141 5 0 0 0 - - -;
+#X text 185 25 All masss got a circular interactor around them. so
+each masss can interact with every other;
+#X text 181 62 each time a mass is boncing somwhere \, it emit a sound.
+(each mass got a frequency \, volum is prportional to forces apply
+to the mass). so \, it's a simple additive synthesis.;
+#X obj 119 154 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#X obj 119 176 metro 200;
+#X text 182 152 this one is nice to!;
+#X msg 426 234 \; pd dsp 1 \;;
+#X msg 492 234 \; pd dsp 0 \;;
+#X text 324 192 <- 1;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 6 0;
+#X connect 0 1 16 0;
+#X connect 0 1 19 0;
+#X connect 0 1 20 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 1 0 17 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 4 0;
+#X connect 8 0 7 0;
+#X connect 8 0 18 0;
+#X connect 17 0 0 0;
+#X connect 25 0 17 1;
+#X connect 28 0 29 0;
+#X connect 29 0 1 0;
diff --git a/examples/23_test.pd b/examples/23_test.pd
index e79d81a..49d9630 100644
--- a/examples/23_test.pd
+++ b/examples/23_test.pd
@@ -1,339 +1,341 @@
-#N canvas 508 106 537 727 10;
-#X obj 17 90 t b b;
-#X obj 17 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 65 85 loadbang;
-#X msg 65 107 reset;
-#X msg 175 128 0 \, destroy;
-#X obj 17 130 s mass;
-#X obj 11 496 gemhead;
-#X obj 11 529 translateXYZ;
-#X obj 8 471 unpack s f f;
-#X obj 17 63 metro 5;
-#X obj 11 558 sphere 0.2;
-#X msg 198 150 reset \, dimen 400 800 \, create \, 1;
-#N canvas 435 26 414 248 bords 0;
-#X obj 10 9 inlet;
-#X obj 39 165 curve 2;
-#X obj 37 101 gemhead;
-#X obj 101 116 loadbang;
-#X obj 198 166 curve 2;
-#X obj 196 102 gemhead;
-#X obj 260 117 loadbang;
-#X msg 66 141 -2 1 0;
-#X msg 225 142 2 1 0;
-#X msg 130 139 -1 -3 0;
-#X msg 289 140 1 -3 0;
-#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
-#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 3 0 9 0;
-#X connect 5 0 4 0;
-#X connect 6 0 8 0;
-#X connect 6 0 10 0;
-#X connect 7 0 1 1;
-#X connect 8 0 4 1;
-#X connect 9 0 1 2;
-#X connect 10 0 4 2;
-#X restore 71 237 pd bords;
-#N canvas 585 242 753 499 curseur 0;
-#X obj 23 20 inlet;
-#X obj 343 300 curve 2;
-#X obj 343 247 gemhead;
-#X obj 516 23 loadbang;
-#X obj 568 307 curve 2;
-#X obj 568 257 gemhead;
-#X obj 399 143 sin;
-#X obj 361 142 cos;
-#X obj 400 166 * 0.8;
-#X obj 362 167 * 0.8;
-#X obj 360 216 pack f f 0;
-#X obj 365 118 t f f;
-#X obj 362 189 - 1;
-#X obj 400 190 - 2.5;
-#X obj 363 49 sel 0 1;
-#X obj 364 96 line;
-#X obj 365 24 inlet;
-#X obj 625 146 sin;
-#X obj 587 145 cos;
-#X obj 586 219 pack f f 0;
-#X obj 591 121 t f f;
-#X obj 589 52 sel 0 1;
-#X obj 590 99 line;
-#X obj 591 27 inlet;
-#X obj 588 170 * -0.8;
-#X obj 626 169 * -0.8;
-#X msg 362 70 -0.6 50;
-#X msg 419 71 0.3 50;
-#X msg 588 73 0.6 50;
-#X msg 644 74 -0.3 50;
-#X obj 627 194 - 2.5;
-#X obj 588 192 + 1;
-#X msg 380 274 -1.3 -2.5 0;
-#X msg 605 280 1.3 -2.5 0;
-#X msg 434 387 setX1 \$1;
-#X msg 442 412 setY1 \$1;
-#X msg 265 319 setX2 \$1;
-#X msg 285 344 setY2 \$1;
-#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
-#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
-#X connect 0 0 38 0;
-#X connect 0 0 39 0;
-#X connect 2 0 1 0;
-#X connect 3 0 32 0;
-#X connect 3 0 33 0;
-#X connect 5 0 4 0;
-#X connect 6 0 8 0;
-#X connect 7 0 9 0;
-#X connect 8 0 13 0;
-#X connect 9 0 12 0;
-#X connect 10 0 1 1;
-#X connect 11 0 7 0;
-#X connect 11 1 6 0;
-#X connect 12 0 10 0;
-#X connect 12 0 36 0;
-#X connect 13 0 10 1;
-#X connect 13 0 37 0;
-#X connect 14 0 26 0;
-#X connect 14 1 27 0;
-#X connect 15 0 11 0;
-#X connect 16 0 14 0;
-#X connect 17 0 25 0;
-#X connect 18 0 24 0;
-#X connect 19 0 4 1;
-#X connect 20 0 18 0;
-#X connect 20 1 17 0;
-#X connect 21 0 28 0;
-#X connect 21 1 29 0;
-#X connect 22 0 20 0;
-#X connect 23 0 21 0;
-#X connect 24 0 31 0;
-#X connect 25 0 30 0;
-#X connect 26 0 15 0;
-#X connect 27 0 15 0;
-#X connect 28 0 22 0;
-#X connect 29 0 22 0;
-#X connect 30 0 19 1;
-#X connect 30 0 35 0;
-#X connect 31 0 19 0;
-#X connect 31 0 34 0;
-#X connect 32 0 1 2;
-#X connect 33 0 4 2;
-#X connect 34 0 39 0;
-#X connect 35 0 39 0;
-#X connect 36 0 38 0;
-#X connect 37 0 38 0;
-#X restore 46 357 pd curseur;
-#N canvas 401 13 480 352 bords2 0;
-#X obj 10 9 inlet;
-#X obj 78 189 curve 2;
-#X obj 76 125 gemhead;
-#X obj 140 140 loadbang;
-#X obj 237 190 curve 2;
-#X obj 235 126 gemhead;
-#X obj 299 141 loadbang;
-#X msg 105 165 -1.8 4 0;
-#X msg 169 163 -1.8 -1 0;
-#X msg 264 166 1.8 4 0;
-#X msg 327 164 1.8 -1 0;
-#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
-#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 2 0 1 0;
-#X connect 3 0 7 0;
-#X connect 3 0 8 0;
-#X connect 5 0 4 0;
-#X connect 6 0 9 0;
-#X connect 6 0 10 0;
-#X connect 7 0 1 1;
-#X connect 8 0 1 2;
-#X connect 9 0 4 1;
-#X connect 10 0 4 2;
-#X restore 71 261 pd bords2;
-#X obj 54 332 gemmouse;
-#N canvas 399 45 480 347 top 0;
-#X obj 10 9 inlet;
-#X obj 78 189 curve 2;
-#X obj 76 125 gemhead;
-#X obj 140 140 loadbang;
-#X msg 105 165 4 3.5 0;
-#X msg 169 163 -4 3.5 0;
-#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
-#X connect 0 0 6 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 3 0 5 0;
-#X connect 4 0 1 1;
-#X connect 5 0 1 2;
-#X restore 71 284 pd top;
-#N canvas 567 215 490 520 circle 0;
-#X obj 23 15 inlet;
-#X obj 26 323 gemhead;
-#X obj 26 347 translateXYZ 0 2.5 0;
-#X obj 27 428 sphere 0.3;
-#X obj 157 324 gemhead;
-#X obj 158 429 sphere 0.3;
-#X obj 288 325 gemhead;
-#X obj 289 430 sphere 0.3;
-#X obj 157 348 translateXYZ 1 1.5 0;
-#X obj 288 349 translateXYZ -1 1.5 0;
-#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
-#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
-#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
-#X obj 26 372 color 1 1 1;
-#X obj 156 370 color 1 1 1;
-#X obj 287 371 color 1 1 1;
-#X msg 100 280 1 1 1;
-#X msg 85 233 1 0 0;
-#X obj 91 188 r color1;
-#X obj 90 211 sel 1;
-#X obj 100 258 delay 200;
-#X msg 214 282 1 1 1;
-#X msg 199 235 1 0 0;
-#X obj 204 213 sel 1;
-#X obj 214 260 delay 200;
-#X msg 344 271 1 1 1;
-#X msg 329 224 1 0 0;
-#X obj 334 202 sel 1;
-#X obj 344 249 delay 200;
-#X obj 205 190 r color2;
-#X obj 335 179 r color3;
-#X connect 0 0 10 0;
-#X connect 0 0 11 0;
-#X connect 0 0 12 0;
-#X connect 1 0 2 0;
-#X connect 2 0 13 0;
-#X connect 4 0 8 0;
-#X connect 6 0 9 0;
-#X connect 8 0 14 0;
-#X connect 9 0 15 0;
-#X connect 13 0 3 0;
-#X connect 14 0 5 0;
-#X connect 15 0 7 0;
-#X connect 16 0 13 1;
-#X connect 17 0 13 1;
-#X connect 18 0 19 0;
-#X connect 19 0 17 0;
-#X connect 19 0 20 0;
-#X connect 20 0 16 0;
-#X connect 21 0 14 1;
-#X connect 22 0 14 1;
-#X connect 23 0 22 0;
-#X connect 23 0 24 0;
-#X connect 24 0 21 0;
-#X connect 25 0 15 1;
-#X connect 26 0 15 1;
-#X connect 27 0 26 0;
-#X connect 27 0 28 0;
-#X connect 28 0 25 0;
-#X connect 29 0 23 0;
-#X connect 30 0 27 0;
-#X restore 70 215 pd circle;
-#X obj 8 440 mass2D mass 10 1.5 3.4;
-#X msg 128 400 \; mass reset \;;
-#X obj 121 296 loadbang;
-#X msg 121 320 0;
-#X obj 70 193 iAmbient2D mass 0 -0.001 0 0 0.003;
-#X obj 140 496 change;
-#X obj 140 538 change;
-#X obj 139 580 change;
-#X obj 103 649 f;
-#X obj 103 673 + 1;
-#X obj 103 621 sel 1;
-#X floatatom 103 696 5 0 0 0 - - -;
-#X text 153 696 <- score;
-#X obj 185 495 s color1;
-#X obj 185 538 s color2;
-#X obj 187 579 s color3;
-#X msg 69 620 -1;
-#X floatatom 54 40 5 0 0 0 - - -;
-#X text 180 440 Change the color if the mass in in interaction with
-a circle.;
-#X text 244 15 How to use test objects;
-#X text 45 17 <- begin;
-#X obj 252 235 keyname;
-#X msg 289 285 1;
-#X msg 332 284 0;
-#X obj 252 315 spigot;
-#X obj 363 234 keyname;
-#X msg 400 284 1;
-#X msg 449 283 0;
-#X obj 363 314 spigot;
-#X obj 289 260 sel Left;
-#X obj 400 260 sel Right;
-#X obj 127 354 key;
-#X obj 127 375 sel 32;
-#X obj 140 474 tCircle2D 0 2.5 0 0.3;
-#X obj 140 516 tCircle2D 1 1.5 0 0.3;
-#X obj 139 558 tCircle2D -1 1.5 0 0.3;
-#X text 172 34 Test object (tCircle)can test the position of a mass.
-;
-#X text 168 52 this is use to count the score and make some animation
-then the mass is bouncing somewhere;
-#X obj 161 171 gemwin 50;
-#X msg 161 98 reset \, create \, 1;
-#X connect 0 0 5 0;
-#X connect 0 1 12 0;
-#X connect 0 1 13 0;
-#X connect 0 1 14 0;
-#X connect 0 1 16 0;
-#X connect 0 1 22 0;
-#X connect 0 1 17 0;
-#X connect 1 0 9 0;
-#X connect 2 0 3 0;
-#X connect 3 0 5 0;
-#X connect 4 0 56 0;
-#X connect 6 0 7 0;
-#X connect 7 0 10 0;
-#X connect 8 1 7 1;
-#X connect 8 2 7 2;
-#X connect 9 0 0 0;
-#X connect 11 0 56 0;
-#X connect 15 2 13 1;
-#X connect 15 3 19 0;
-#X connect 15 3 34 0;
-#X connect 15 4 13 2;
-#X connect 18 0 8 0;
-#X connect 18 0 51 0;
-#X connect 18 0 52 0;
-#X connect 18 0 53 0;
-#X connect 20 0 21 0;
-#X connect 21 0 13 2;
-#X connect 21 0 13 1;
-#X connect 23 0 28 0;
-#X connect 23 0 31 0;
-#X connect 24 0 28 0;
-#X connect 24 0 32 0;
-#X connect 25 0 28 0;
-#X connect 25 0 33 0;
-#X connect 26 0 27 0;
-#X connect 27 0 26 1;
-#X connect 27 0 29 0;
-#X connect 28 0 26 0;
-#X connect 34 0 26 0;
-#X connect 35 0 9 1;
-#X connect 39 0 42 0;
-#X connect 39 1 47 0;
-#X connect 40 0 42 1;
-#X connect 41 0 42 1;
-#X connect 42 0 13 1;
-#X connect 43 0 46 0;
-#X connect 43 1 48 0;
-#X connect 44 0 46 1;
-#X connect 45 0 46 1;
-#X connect 46 0 13 2;
-#X connect 47 0 40 0;
-#X connect 47 1 41 0;
-#X connect 48 0 44 0;
-#X connect 48 1 45 0;
-#X connect 49 0 50 0;
-#X connect 50 0 19 0;
-#X connect 50 0 34 0;
-#X connect 51 0 23 0;
-#X connect 52 0 24 0;
-#X connect 53 0 25 0;
-#X connect 57 0 56 0;
+#N canvas 504 120 537 727 10;
+#X declare -lib Gem;
+#X obj 17 90 t b b;
+#X obj 17 19 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 65 85 loadbang;
+#X msg 65 107 reset;
+#X msg 175 128 0 \, destroy;
+#X obj 17 130 s mass;
+#X obj 11 496 gemhead;
+#X obj 11 529 translateXYZ;
+#X obj 8 471 unpack s f f;
+#X obj 17 63 metro 5;
+#X obj 11 558 sphere 0.2;
+#X msg 198 150 reset \, dimen 400 800 \, create \, 1;
+#N canvas 435 26 414 248 bords 0;
+#X obj 10 9 inlet;
+#X obj 39 165 curve 2;
+#X obj 37 101 gemhead;
+#X obj 101 116 loadbang;
+#X obj 198 166 curve 2;
+#X obj 196 102 gemhead;
+#X obj 260 117 loadbang;
+#X msg 66 141 -2 1 0;
+#X msg 225 142 2 1 0;
+#X msg 130 139 -1 -3 0;
+#X msg 289 140 1 -3 0;
+#X obj 18 34 iSeg2D mass -2 1 -1 -3 10 0 0 1 0.3 0.3;
+#X obj 18 58 iSeg2D mass 1 -3 2 1 10 0 0 1 0.3 0.3;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 9 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X connect 9 0 1 2;
+#X connect 10 0 4 2;
+#X restore 71 237 pd bords;
+#N canvas 585 242 753 499 curseur 0;
+#X obj 23 20 inlet;
+#X obj 343 300 curve 2;
+#X obj 343 247 gemhead;
+#X obj 516 23 loadbang;
+#X obj 568 307 curve 2;
+#X obj 568 257 gemhead;
+#X obj 399 143 sin;
+#X obj 361 142 cos;
+#X obj 400 166 * 0.8;
+#X obj 362 167 * 0.8;
+#X obj 360 216 pack f f 0;
+#X obj 365 118 t f f;
+#X obj 362 189 - 1;
+#X obj 400 190 - 2.5;
+#X obj 363 49 sel 0 1;
+#X obj 364 96 line;
+#X obj 365 24 inlet;
+#X obj 625 146 sin;
+#X obj 587 145 cos;
+#X obj 586 219 pack f f 0;
+#X obj 591 121 t f f;
+#X obj 589 52 sel 0 1;
+#X obj 590 99 line;
+#X obj 591 27 inlet;
+#X obj 588 170 * -0.8;
+#X obj 626 169 * -0.8;
+#X msg 362 70 -0.6 50;
+#X msg 419 71 0.3 50;
+#X msg 588 73 0.6 50;
+#X msg 644 74 -0.3 50;
+#X obj 627 194 - 2.5;
+#X obj 588 192 + 1;
+#X msg 380 274 -1.3 -2.5 0;
+#X msg 605 280 1.3 -2.5 0;
+#X msg 434 387 setX1 \$1;
+#X msg 442 412 setY1 \$1;
+#X msg 265 319 setX2 \$1;
+#X msg 285 344 setY2 \$1;
+#X obj 40 387 iSeg2D mass -1.3 -2.5 0 0 0.4 0 0 1 0.5 0.5;
+#X obj 26 441 iSeg2D mass 0 0 1.3 -2.5 0.4 0 0 1 0.5 0.5;
+#X connect 0 0 38 0;
+#X connect 0 0 39 0;
+#X connect 2 0 1 0;
+#X connect 3 0 32 0;
+#X connect 3 0 33 0;
+#X connect 5 0 4 0;
+#X connect 6 0 8 0;
+#X connect 7 0 9 0;
+#X connect 8 0 13 0;
+#X connect 9 0 12 0;
+#X connect 10 0 1 1;
+#X connect 11 0 7 0;
+#X connect 11 1 6 0;
+#X connect 12 0 10 0;
+#X connect 12 0 36 0;
+#X connect 13 0 10 1;
+#X connect 13 0 37 0;
+#X connect 14 0 26 0;
+#X connect 14 1 27 0;
+#X connect 15 0 11 0;
+#X connect 16 0 14 0;
+#X connect 17 0 25 0;
+#X connect 18 0 24 0;
+#X connect 19 0 4 1;
+#X connect 20 0 18 0;
+#X connect 20 1 17 0;
+#X connect 21 0 28 0;
+#X connect 21 1 29 0;
+#X connect 22 0 20 0;
+#X connect 23 0 21 0;
+#X connect 24 0 31 0;
+#X connect 25 0 30 0;
+#X connect 26 0 15 0;
+#X connect 27 0 15 0;
+#X connect 28 0 22 0;
+#X connect 29 0 22 0;
+#X connect 30 0 19 1;
+#X connect 30 0 35 0;
+#X connect 31 0 19 0;
+#X connect 31 0 34 0;
+#X connect 32 0 1 2;
+#X connect 33 0 4 2;
+#X connect 34 0 39 0;
+#X connect 35 0 39 0;
+#X connect 36 0 38 0;
+#X connect 37 0 38 0;
+#X restore 46 357 pd curseur;
+#N canvas 401 13 480 352 bords2 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X obj 237 190 curve 2;
+#X obj 235 126 gemhead;
+#X obj 299 141 loadbang;
+#X msg 105 165 -1.8 4 0;
+#X msg 169 163 -1.8 -1 0;
+#X msg 264 166 1.8 4 0;
+#X msg 327 164 1.8 -1 0;
+#X obj 42 51 iSeg2D mass -1.8 4 -1.8 -1 2 0 0 0.4 0.4 0.5;
+#X obj 42 75 iSeg2D mass 1.8 -1.2 1.8 4 2 0 0 0.4 0.4 0.5;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 2 0 1 0;
+#X connect 3 0 7 0;
+#X connect 3 0 8 0;
+#X connect 5 0 4 0;
+#X connect 6 0 9 0;
+#X connect 6 0 10 0;
+#X connect 7 0 1 1;
+#X connect 8 0 1 2;
+#X connect 9 0 4 1;
+#X connect 10 0 4 2;
+#X restore 71 261 pd bords2;
+#X obj 54 332 gemmouse;
+#N canvas 399 45 480 347 top 0;
+#X obj 10 9 inlet;
+#X obj 78 189 curve 2;
+#X obj 76 125 gemhead;
+#X obj 140 140 loadbang;
+#X msg 105 165 4 3.5 0;
+#X msg 169 163 -4 3.5 0;
+#X obj 16 47 iSeg2D mass 4 3.5 -4 3.5 2 0 0 0.4 0.4 0.4;
+#X connect 0 0 6 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 3 0 5 0;
+#X connect 4 0 1 1;
+#X connect 5 0 1 2;
+#X restore 71 284 pd top;
+#N canvas 567 215 490 520 circle 0;
+#X obj 23 15 inlet;
+#X obj 26 323 gemhead;
+#X obj 26 347 translateXYZ 0 2.5 0;
+#X obj 27 428 sphere 0.3;
+#X obj 157 324 gemhead;
+#X obj 158 429 sphere 0.3;
+#X obj 288 325 gemhead;
+#X obj 289 430 sphere 0.3;
+#X obj 157 348 translateXYZ 1 1.5 0;
+#X obj 288 349 translateXYZ -1 1.5 0;
+#X obj 36 51 iCircle2D mass 0 2.5 0 0.3 1;
+#X obj 36 75 iCircle2D mass 1 1.5 0 0.3 1;
+#X obj 37 97 iCircle2D mass -1 1.5 0 0.3 1;
+#X obj 26 372 color 1 1 1;
+#X obj 156 370 color 1 1 1;
+#X obj 287 371 color 1 1 1;
+#X msg 100 280 1 1 1;
+#X msg 85 233 1 0 0;
+#X obj 91 188 r color1;
+#X obj 90 211 sel 1;
+#X obj 100 258 delay 200;
+#X msg 214 282 1 1 1;
+#X msg 199 235 1 0 0;
+#X obj 204 213 sel 1;
+#X obj 214 260 delay 200;
+#X msg 344 271 1 1 1;
+#X msg 329 224 1 0 0;
+#X obj 334 202 sel 1;
+#X obj 344 249 delay 200;
+#X obj 205 190 r color2;
+#X obj 335 179 r color3;
+#X connect 0 0 10 0;
+#X connect 0 0 11 0;
+#X connect 0 0 12 0;
+#X connect 1 0 2 0;
+#X connect 2 0 13 0;
+#X connect 4 0 8 0;
+#X connect 6 0 9 0;
+#X connect 8 0 14 0;
+#X connect 9 0 15 0;
+#X connect 13 0 3 0;
+#X connect 14 0 5 0;
+#X connect 15 0 7 0;
+#X connect 16 0 13 1;
+#X connect 17 0 13 1;
+#X connect 18 0 19 0;
+#X connect 19 0 17 0;
+#X connect 19 0 20 0;
+#X connect 20 0 16 0;
+#X connect 21 0 14 1;
+#X connect 22 0 14 1;
+#X connect 23 0 22 0;
+#X connect 23 0 24 0;
+#X connect 24 0 21 0;
+#X connect 25 0 15 1;
+#X connect 26 0 15 1;
+#X connect 27 0 26 0;
+#X connect 27 0 28 0;
+#X connect 28 0 25 0;
+#X connect 29 0 23 0;
+#X connect 30 0 27 0;
+#X restore 70 215 pd circle;
+#X obj 8 440 mass2D mass 10 1.5 3.4;
+#X msg 128 400 \; mass reset \;;
+#X obj 121 296 loadbang;
+#X msg 121 320 0;
+#X obj 70 193 iAmbient2D mass 0 -0.001 0 0 0.003;
+#X obj 140 496 change;
+#X obj 140 538 change;
+#X obj 139 580 change;
+#X obj 103 649 f;
+#X obj 103 673 + 1;
+#X obj 103 621 sel 1;
+#X floatatom 103 696 5 0 0 0 - - -;
+#X text 153 696 <- score;
+#X obj 185 495 s color1;
+#X obj 185 538 s color2;
+#X obj 187 579 s color3;
+#X msg 69 620 -1;
+#X floatatom 54 40 5 0 0 0 - - -;
+#X text 180 440 Change the color if the mass in in interaction with
+a circle.;
+#X text 244 15 How to use test objects;
+#X text 45 17 <- begin;
+#X obj 252 235 keyname;
+#X msg 289 285 1;
+#X msg 332 284 0;
+#X obj 252 315 spigot;
+#X obj 363 234 keyname;
+#X msg 400 284 1;
+#X msg 449 283 0;
+#X obj 363 314 spigot;
+#X obj 289 260 sel Left;
+#X obj 400 260 sel Right;
+#X obj 127 354 key;
+#X obj 127 375 sel 32;
+#X obj 140 474 tCircle2D 0 2.5 0 0.3;
+#X obj 140 516 tCircle2D 1 1.5 0 0.3;
+#X obj 139 558 tCircle2D -1 1.5 0 0.3;
+#X text 172 34 Test object (tCircle)can test the position of a mass.
+;
+#X text 168 52 this is use to count the score and make some animation
+then the mass is bouncing somewhere;
+#X obj 161 171 gemwin 50;
+#X msg 161 98 reset \, create \, 1;
+#X obj 15 -3 declare -lib Gem;
+#X connect 0 0 5 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 22 0;
+#X connect 0 1 17 0;
+#X connect 1 0 9 0;
+#X connect 2 0 3 0;
+#X connect 3 0 5 0;
+#X connect 4 0 56 0;
+#X connect 6 0 7 0;
+#X connect 7 0 10 0;
+#X connect 8 1 7 1;
+#X connect 8 2 7 2;
+#X connect 9 0 0 0;
+#X connect 11 0 56 0;
+#X connect 15 2 13 1;
+#X connect 15 3 19 0;
+#X connect 15 3 34 0;
+#X connect 15 4 13 2;
+#X connect 18 0 8 0;
+#X connect 18 0 51 0;
+#X connect 18 0 52 0;
+#X connect 18 0 53 0;
+#X connect 20 0 21 0;
+#X connect 21 0 13 2;
+#X connect 21 0 13 1;
+#X connect 23 0 28 0;
+#X connect 23 0 31 0;
+#X connect 24 0 28 0;
+#X connect 24 0 32 0;
+#X connect 25 0 28 0;
+#X connect 25 0 33 0;
+#X connect 26 0 27 0;
+#X connect 27 0 26 1;
+#X connect 27 0 29 0;
+#X connect 28 0 26 0;
+#X connect 34 0 26 0;
+#X connect 35 0 9 1;
+#X connect 39 0 42 0;
+#X connect 39 1 47 0;
+#X connect 40 0 42 1;
+#X connect 41 0 42 1;
+#X connect 42 0 13 1;
+#X connect 43 0 46 0;
+#X connect 43 1 48 0;
+#X connect 44 0 46 1;
+#X connect 45 0 46 1;
+#X connect 46 0 13 2;
+#X connect 47 0 40 0;
+#X connect 47 1 41 0;
+#X connect 48 0 44 0;
+#X connect 48 1 45 0;
+#X connect 49 0 50 0;
+#X connect 50 0 19 0;
+#X connect 50 0 34 0;
+#X connect 51 0 23 0;
+#X connect 52 0 24 0;
+#X connect 53 0 25 0;
+#X connect 57 0 56 0;
diff --git a/examples/24_sand.pd b/examples/24_sand.pd
index 14b01d8..6ea5907 100644
--- a/examples/24_sand.pd
+++ b/examples/24_sand.pd
@@ -1,140 +1,142 @@
-#N canvas 167 110 527 418 10;
-#X obj 20 164 t b b;
-#X obj 20 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 215 187 0 \, destroy;
-#X obj 181 215 gemwin;
-#X obj 20 202 s mass;
-#N canvas 815 340 1100 365 pool 0;
-#X obj 594 157 loadbang;
-#X obj 240 240 sand 1.5 5.4;
-#X obj 240 30 sand -2 5.4;
-#X obj 240 0 sand -2.5 5.4;
-#X obj 720 90 sand -1 6.2;
-#X obj 720 150 sand 0 6.2;
-#X obj 720 30 sand -2 6.2;
-#X obj 480 150 sand 0 5.8;
-#X obj 240 270 sand 2 5.4;
-#X obj 240 150 sand 0 5.4;
-#X obj 240 120 sand -0.5 5.4;
-#X obj 240 180 sand 0.5 5.4;
-#X obj 240 60 sand -1.5 5.4;
-#X obj 240 90 sand -1 5.4;
-#X obj 0 0 sand -2.5 5;
-#X obj 480 0 sand -2.5 5.8;
-#X obj 720 0 sand -2.5 6.2;
-#X obj 960 0 sand -2.5 6.6;
-#X obj 0 30 sand -2 5;
-#X obj 480 30 sand -2 5.8;
-#X obj 960 30 sand -2 6.6;
-#X obj 0 60 sand -1.5 5;
-#X obj 480 60 sand -1.5 5.8;
-#X obj 720 60 sand -1.5 6.2;
-#X obj 960 60 sand -1.5 6.6;
-#X obj 0 90 sand -1 5;
-#X obj 480 90 sand -1 5.8;
-#X obj 960 90 sand -1 6.6;
-#X obj 0 120 sand -0.5 5;
-#X obj 480 120 sand -0.5 5.8;
-#X obj 720 120 sand -0.5 6.2;
-#X obj 960 120 sand -0.5 6.6;
-#X obj 0 150 sand 0 5;
-#X obj 960 150 sand 0 6.6;
-#X obj 0 180 sand 0.5 5;
-#X obj 480 180 sand 0.5 5.8;
-#X obj 720 180 sand 0.5 6.2;
-#X obj 960 180 sand 0.5 6.6;
-#X obj 0 210 sand 1 5;
-#X obj 240 210 sand 1 5.4;
-#X obj 480 210 sand 1 5.8;
-#X obj 720 210 sand 1 6.2;
-#X obj 960 210 sand 1 6.6;
-#X obj 0 240 sand 1.5 5;
-#X obj 480 240 sand 1.5 5.8;
-#X obj 720 240 sand 1.5 6.2;
-#X obj 960 240 sand 1.5 6.6;
-#X obj 0 270 sand 2 5;
-#X obj 480 270 sand 2 5.8;
-#X obj 720 270 sand 2 6.2;
-#X obj 960 270 sand 2 6.6;
-#X connect 0 0 35 0;
-#X restore 358 243 pd pool;
-#N canvas 696 98 355 595 creation 0;
-#X obj 41 491 s pd-new;
-#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 40 464 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 69 72 t b b;
-#X obj 97 412 pack f f f f;
-#X obj 89 191 t b f f;
-#X obj 100 299 t f f;
-#X obj 107 219 * 30;
-#X obj 99 377 * 120;
-#X obj 101 275 * 2;
-#X obj 163 346 - 5;
-#X obj 160 370 / 2;
-#X obj 126 328 / 5;
-#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
-#X obj 127 351 + 5;
-#X obj 73 163 ch_uzi 10;
-#X obj 88 247 ch_uzi 5;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 17 0;
-#X connect 5 1 1 0;
-#X connect 6 0 15 0;
-#X connect 7 0 18 0;
-#X connect 7 1 9 0;
-#X connect 7 1 12 0;
-#X connect 8 0 10 0;
-#X connect 8 1 14 0;
-#X connect 9 0 6 1;
-#X connect 10 0 6 0;
-#X connect 11 0 8 0;
-#X connect 12 0 13 0;
-#X connect 13 0 6 2;
-#X connect 14 0 16 0;
-#X connect 15 0 0 0;
-#X connect 16 0 6 3;
-#X connect 17 1 7 0;
-#X connect 18 1 11 0;
-#X restore 359 268 pd creation pool;
-#X obj 83 342 s link;
-#X obj 59 299 iCircle2D mass 3 2 0 2.95 0 0 1 0 0 0 0.1;
-#X obj 69 319 iCircle2D mass -3 2 0 2.95 0 0 1 0 0 0 0.1;
-#X text 184 3 sand simulation;
-#X text 69 27 all mass interact each other. They are in a viscuce
-place \, with vertical force (gravity);
-#X text 70 59 2 big circles (invisible) made the masss to go down
-like in a sand glass.;
-#X text 83 369 Masses are not very stable \, due to internal forces
-of the structure.;
-#X text 41 96 <- begin (change metro speed for slow computer);
-#X floatatom 57 116 5 0 0 0 - - -;
-#X msg 181 158 reset \, view 0 0 6 \, create \, 1;
-#X msg 94 178 reset;
-#X obj 78 147 t b b;
-#X msg 75 201 \; reset bang \;;
-#X obj 116 122 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 45 263 iAmbient2D mass 0 -0.0005 0 0 0.03;
-#X obj 20 137 metro 5;
-#X text 366 158 <- 1;
-#X connect 0 0 4 0;
-#X connect 0 1 9 0;
-#X connect 0 1 8 0;
-#X connect 0 1 7 0;
-#X connect 0 1 21 0;
-#X connect 1 0 22 0;
-#X connect 2 0 3 0;
-#X connect 15 0 22 1;
-#X connect 16 0 3 0;
-#X connect 17 0 4 0;
-#X connect 18 0 19 0;
-#X connect 18 1 17 0;
-#X connect 20 0 18 0;
-#X connect 22 0 0 0;
+#N canvas 163 124 527 418 10;
+#X declare -lib Gem;
+#X obj 20 164 t b b;
+#X obj 20 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 215 187 0 \, destroy;
+#X obj 181 215 gemwin;
+#X obj 20 202 s mass;
+#N canvas 815 340 1100 365 pool 0;
+#X obj 594 157 loadbang;
+#X obj 240 240 sand 1.5 5.4;
+#X obj 240 30 sand -2 5.4;
+#X obj 240 0 sand -2.5 5.4;
+#X obj 720 90 sand -1 6.2;
+#X obj 720 150 sand 0 6.2;
+#X obj 720 30 sand -2 6.2;
+#X obj 480 150 sand 0 5.8;
+#X obj 240 270 sand 2 5.4;
+#X obj 240 150 sand 0 5.4;
+#X obj 240 120 sand -0.5 5.4;
+#X obj 240 180 sand 0.5 5.4;
+#X obj 240 60 sand -1.5 5.4;
+#X obj 240 90 sand -1 5.4;
+#X obj 0 0 sand -2.5 5;
+#X obj 480 0 sand -2.5 5.8;
+#X obj 720 0 sand -2.5 6.2;
+#X obj 960 0 sand -2.5 6.6;
+#X obj 0 30 sand -2 5;
+#X obj 480 30 sand -2 5.8;
+#X obj 960 30 sand -2 6.6;
+#X obj 0 60 sand -1.5 5;
+#X obj 480 60 sand -1.5 5.8;
+#X obj 720 60 sand -1.5 6.2;
+#X obj 960 60 sand -1.5 6.6;
+#X obj 0 90 sand -1 5;
+#X obj 480 90 sand -1 5.8;
+#X obj 960 90 sand -1 6.6;
+#X obj 0 120 sand -0.5 5;
+#X obj 480 120 sand -0.5 5.8;
+#X obj 720 120 sand -0.5 6.2;
+#X obj 960 120 sand -0.5 6.6;
+#X obj 0 150 sand 0 5;
+#X obj 960 150 sand 0 6.6;
+#X obj 0 180 sand 0.5 5;
+#X obj 480 180 sand 0.5 5.8;
+#X obj 720 180 sand 0.5 6.2;
+#X obj 960 180 sand 0.5 6.6;
+#X obj 0 210 sand 1 5;
+#X obj 240 210 sand 1 5.4;
+#X obj 480 210 sand 1 5.8;
+#X obj 720 210 sand 1 6.2;
+#X obj 960 210 sand 1 6.6;
+#X obj 0 240 sand 1.5 5;
+#X obj 480 240 sand 1.5 5.8;
+#X obj 720 240 sand 1.5 6.2;
+#X obj 960 240 sand 1.5 6.6;
+#X obj 0 270 sand 2 5;
+#X obj 480 270 sand 2 5.8;
+#X obj 720 270 sand 2 6.2;
+#X obj 960 270 sand 2 6.6;
+#X connect 0 0 35 0;
+#X restore 358 243 pd pool;
+#N canvas 696 98 355 595 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 101 275 * 2;
+#X obj 163 346 - 5;
+#X obj 160 370 / 2;
+#X obj 126 328 / 5;
+#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
+#X obj 127 351 + 5;
+#X obj 73 163 ch_uzi 10;
+#X obj 88 247 ch_uzi 5;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 15 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 12 0;
+#X connect 8 0 10 0;
+#X connect 8 1 14 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 8 0;
+#X connect 12 0 13 0;
+#X connect 13 0 6 2;
+#X connect 14 0 16 0;
+#X connect 15 0 0 0;
+#X connect 16 0 6 3;
+#X connect 17 1 7 0;
+#X connect 18 1 11 0;
+#X restore 359 268 pd creation pool;
+#X obj 83 342 s link;
+#X obj 59 299 iCircle2D mass 3 2 0 2.95 0 0 1 0 0 0 0.1;
+#X obj 69 319 iCircle2D mass -3 2 0 2.95 0 0 1 0 0 0 0.1;
+#X text 230 3 sand simulation;
+#X text 69 27 all mass interact each other. They are in a viscuce place
+\, with vertical force (gravity);
+#X text 70 59 2 big circles (invisible) made the masss to go down like
+in a sand glass.;
+#X text 83 369 Masses are not very stable \, due to internal forces
+of the structure.;
+#X text 41 96 <- begin (change metro speed for slow computer);
+#X floatatom 57 116 5 0 0 0 - - -;
+#X msg 181 158 reset \, view 0 0 6 \, create \, 1;
+#X msg 94 178 reset;
+#X obj 78 147 t b b;
+#X msg 75 201 \; reset bang \;;
+#X obj 116 122 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 45 263 iAmbient2D mass 0 -0.0005 0 0 0.03;
+#X obj 20 137 metro 5;
+#X text 366 158 <- 1;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 4 0;
+#X connect 0 1 9 0;
+#X connect 0 1 8 0;
+#X connect 0 1 7 0;
+#X connect 0 1 21 0;
+#X connect 1 0 22 0;
+#X connect 2 0 3 0;
+#X connect 15 0 22 1;
+#X connect 16 0 3 0;
+#X connect 17 0 4 0;
+#X connect 18 0 19 0;
+#X connect 18 1 17 0;
+#X connect 20 0 18 0;
+#X connect 22 0 0 0;
diff --git a/examples/25_sand2.pd b/examples/25_sand2.pd
index e8627b9..4d48617 100644
--- a/examples/25_sand2.pd
+++ b/examples/25_sand2.pd
@@ -1,6 +1,7 @@
-#N canvas 751 247 796 519 10;
+#N canvas 747 261 796 519 10;
+#X declare -lib Gem;
#X obj 28 130 t b b;
-#X obj 23 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#X obj 23 50 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X msg 196 149 0 \, destroy;
#X obj 173 177 gemwin;
@@ -219,6 +220,7 @@ is diferent.;
#X obj 108 156 s reset;
#X obj 43 270 iAmbient2D mass 0 -0.00051 0 0 0.031 -1000 1000 -1000
1000;
+#X obj 11 2 declare -lib Gem;
#X connect 0 0 4 0;
#X connect 0 1 7 0;
#X connect 0 1 12 0;
diff --git a/examples/26_sand3.pd b/examples/26_sand3.pd
index bb5a243..180e2c0 100644
--- a/examples/26_sand3.pd
+++ b/examples/26_sand3.pd
@@ -1,234 +1,236 @@
-#N canvas 695 527 588 372 10;
-#X obj 19 112 t b b;
-#X obj 19 36 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 137 86 loadbang;
-#X msg 237 138 0 \, destroy;
-#X obj 203 166 gemwin;
-#X obj 19 150 s mass;
-#N canvas 39 357 1226 456 pool 0;
-#X obj 480 120 sand -0.25 5.8;
-#X obj 0 0 sand -1.25 5;
-#X obj 240 0 sand -1.25 5.4;
-#X obj 480 0 sand -1.25 5.8;
-#X obj 720 0 sand -1.25 6.2;
-#X obj 960 0 sand -1.25 6.6;
-#X obj 1200 0 sand -1.25 7;
-#X obj 1440 0 sand -1.25 7.4;
-#X obj 1680 0 sand -1.25 7.8;
-#X obj 1920 0 sand -1.25 8.2;
-#X obj 2160 0 sand -1.25 8.6;
-#X obj 2400 0 sand -1.25 9;
-#X obj 2640 0 sand -1.25 9.4;
-#X obj 2880 0 sand -1.25 9.8;
-#X obj 3120 0 sand -1.25 10.2;
-#X obj 3360 0 sand -1.25 10.6;
-#X obj 0 30 sand -1 5;
-#X obj 240 30 sand -1 5.4;
-#X obj 480 30 sand -1 5.8;
-#X obj 720 30 sand -1 6.2;
-#X obj 960 30 sand -1 6.6;
-#X obj 1200 30 sand -1 7;
-#X obj 1440 30 sand -1 7.4;
-#X obj 1680 30 sand -1 7.8;
-#X obj 1920 30 sand -1 8.2;
-#X obj 2160 30 sand -1 8.6;
-#X obj 2400 30 sand -1 9;
-#X obj 2640 30 sand -1 9.4;
-#X obj 2880 30 sand -1 9.8;
-#X obj 3120 30 sand -1 10.2;
-#X obj 3360 30 sand -1 10.6;
-#X obj 0 60 sand -0.75 5;
-#X obj 240 60 sand -0.75 5.4;
-#X obj 480 60 sand -0.75 5.8;
-#X obj 720 60 sand -0.75 6.2;
-#X obj 960 60 sand -0.75 6.6;
-#X obj 1200 60 sand -0.75 7;
-#X obj 1440 60 sand -0.75 7.4;
-#X obj 1680 60 sand -0.75 7.8;
-#X obj 1920 60 sand -0.75 8.2;
-#X obj 2160 60 sand -0.75 8.6;
-#X obj 2400 60 sand -0.75 9;
-#X obj 2640 60 sand -0.75 9.4;
-#X obj 2880 60 sand -0.75 9.8;
-#X obj 3120 60 sand -0.75 10.2;
-#X obj 3360 60 sand -0.75 10.6;
-#X obj 0 90 sand -0.5 5;
-#X obj 240 90 sand -0.5 5.4;
-#X obj 480 90 sand -0.5 5.8;
-#X obj 720 90 sand -0.5 6.2;
-#X obj 960 90 sand -0.5 6.6;
-#X obj 1200 90 sand -0.5 7;
-#X obj 1440 90 sand -0.5 7.4;
-#X obj 1680 90 sand -0.5 7.8;
-#X obj 1920 90 sand -0.5 8.2;
-#X obj 2160 90 sand -0.5 8.6;
-#X obj 2400 90 sand -0.5 9;
-#X obj 2640 90 sand -0.5 9.4;
-#X obj 2880 90 sand -0.5 9.8;
-#X obj 3120 90 sand -0.5 10.2;
-#X obj 3360 90 sand -0.5 10.6;
-#X obj 0 120 sand -0.25 5;
-#X obj 240 120 sand -0.25 5.4;
-#X obj 720 120 sand -0.25 6.2;
-#X obj 960 120 sand -0.25 6.6;
-#X obj 1200 120 sand -0.25 7;
-#X obj 1440 120 sand -0.25 7.4;
-#X obj 1680 120 sand -0.25 7.8;
-#X obj 1920 120 sand -0.25 8.2;
-#X obj 2160 120 sand -0.25 8.6;
-#X obj 2400 120 sand -0.25 9;
-#X obj 2640 120 sand -0.25 9.4;
-#X obj 2880 120 sand -0.25 9.8;
-#X obj 3120 120 sand -0.25 10.2;
-#X obj 3360 120 sand -0.25 10.6;
-#X obj 0 150 sand 0 5;
-#X obj 240 150 sand 0 5.4;
-#X obj 480 150 sand 0 5.8;
-#X obj 720 150 sand 0 6.2;
-#X obj 960 150 sand 0 6.6;
-#X obj 1200 150 sand 0 7;
-#X obj 1440 150 sand 0 7.4;
-#X obj 1680 150 sand 0 7.8;
-#X obj 1920 150 sand 0 8.2;
-#X obj 2160 150 sand 0 8.6;
-#X obj 2400 150 sand 0 9;
-#X obj 2640 150 sand 0 9.4;
-#X obj 2880 150 sand 0 9.8;
-#X obj 3120 150 sand 0 10.2;
-#X obj 3360 150 sand 0 10.6;
-#X obj 0 180 sand 0.25 5;
-#X obj 240 180 sand 0.25 5.4;
-#X obj 480 180 sand 0.25 5.8;
-#X obj 720 180 sand 0.25 6.2;
-#X obj 960 180 sand 0.25 6.6;
-#X obj 1200 180 sand 0.25 7;
-#X obj 1440 180 sand 0.25 7.4;
-#X obj 1680 180 sand 0.25 7.8;
-#X obj 1920 180 sand 0.25 8.2;
-#X obj 2160 180 sand 0.25 8.6;
-#X obj 2400 180 sand 0.25 9;
-#X obj 2640 180 sand 0.25 9.4;
-#X obj 2880 180 sand 0.25 9.8;
-#X obj 3120 180 sand 0.25 10.2;
-#X obj 3360 180 sand 0.25 10.6;
-#X obj 0 210 sand 0.5 5;
-#X obj 240 210 sand 0.5 5.4;
-#X obj 480 210 sand 0.5 5.8;
-#X obj 720 210 sand 0.5 6.2;
-#X obj 960 210 sand 0.5 6.6;
-#X obj 1200 210 sand 0.5 7;
-#X obj 1440 210 sand 0.5 7.4;
-#X obj 1680 210 sand 0.5 7.8;
-#X obj 1920 210 sand 0.5 8.2;
-#X obj 2160 210 sand 0.5 8.6;
-#X obj 2400 210 sand 0.5 9;
-#X obj 2640 210 sand 0.5 9.4;
-#X obj 2880 210 sand 0.5 9.8;
-#X obj 3120 210 sand 0.5 10.2;
-#X obj 3360 210 sand 0.5 10.6;
-#X obj 0 240 sand 0.75 5;
-#X obj 240 240 sand 0.75 5.4;
-#X obj 480 240 sand 0.75 5.8;
-#X obj 720 240 sand 0.75 6.2;
-#X obj 960 240 sand 0.75 6.6;
-#X obj 1200 240 sand 0.75 7;
-#X obj 1440 240 sand 0.75 7.4;
-#X obj 1680 240 sand 0.75 7.8;
-#X obj 1920 240 sand 0.75 8.2;
-#X obj 2160 240 sand 0.75 8.6;
-#X obj 2400 240 sand 0.75 9;
-#X obj 2640 240 sand 0.75 9.4;
-#X obj 2880 240 sand 0.75 9.8;
-#X obj 3120 240 sand 0.75 10.2;
-#X obj 3360 240 sand 0.75 10.6;
-#X obj 0 270 sand 1 5;
-#X obj 240 270 sand 1 5.4;
-#X obj 480 270 sand 1 5.8;
-#X obj 720 270 sand 1 6.2;
-#X obj 960 270 sand 1 6.6;
-#X obj 1200 270 sand 1 7;
-#X obj 1440 270 sand 1 7.4;
-#X obj 1680 270 sand 1 7.8;
-#X obj 1920 270 sand 1 8.2;
-#X obj 2160 270 sand 1 8.6;
-#X obj 2400 270 sand 1 9;
-#X obj 2640 270 sand 1 9.4;
-#X obj 2880 270 sand 1 9.8;
-#X obj 3120 270 sand 1 10.2;
-#X obj 3360 270 sand 1 10.6;
-#X restore 324 139 pd pool;
-#N canvas 366 192 363 603 creation 0;
-#X obj 41 491 s pd-new;
-#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 40 464 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 69 72 t b b;
-#X obj 97 412 pack f f f f;
-#X obj 89 191 t b f f;
-#X obj 100 299 t f f;
-#X obj 107 219 * 30;
-#X obj 99 377 * 120;
-#X obj 101 275 * 2;
-#X obj 163 346 - 5;
-#X obj 126 328 / 5;
-#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
-#X obj 127 351 + 5;
-#X obj 160 370 / 4;
-#X obj 73 163 ch_uzi 10;
-#X obj 88 247 ch_uzi 15;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 17 0;
-#X connect 5 1 1 0;
-#X connect 6 0 14 0;
-#X connect 7 0 18 0;
-#X connect 7 1 9 0;
-#X connect 7 1 12 0;
-#X connect 8 0 10 0;
-#X connect 8 1 13 0;
-#X connect 9 0 6 1;
-#X connect 10 0 6 0;
-#X connect 11 0 8 0;
-#X connect 12 0 16 0;
-#X connect 13 0 15 0;
-#X connect 14 0 0 0;
-#X connect 15 0 6 3;
-#X connect 16 0 6 2;
-#X connect 17 1 7 0;
-#X connect 18 1 11 0;
-#X restore 325 166 pd creation pool;
-#X msg 137 110 reset;
-#X obj 137 134 s mass;
-#X obj 79 172 s link;
-#X obj 19 85 metro 10;
-#X obj 58 247 iCircle2D mass 3 2 0 2.98 0 0 1 0 0 0 0.1;
-#X obj 68 267 iCircle2D mass -3 2 0 2.98 0 0 1 0 0 0 0.1;
-#X obj 83 289 iCircle2D mass 7 6 0 5 0 0 1 0 0 0 0.1;
-#X obj 93 309 iCircle2D mass -7 6 0 5 0 0 1 0 0 0 0.1;
-#X floatatom 62 65 5 0 0 0 - - -;
-#X text 99 19 some physical parameters change from the previus exemples...
-;
-#X msg 203 115 reset \, view 0 0 -6 0 0 0 0 1 0 \, create \, 1;
-#X text 161 5 small balls;
-#X obj 45 210 iAmbient2D mass 0 -0.001 0 0 0.005;
-#X text 464 115 <- 1;
-#X text 39 33 <- 2;
-#X connect 0 0 5 0;
-#X connect 0 1 10 0;
-#X connect 0 1 12 0;
-#X connect 0 1 13 0;
-#X connect 0 1 14 0;
-#X connect 0 1 15 0;
-#X connect 0 1 20 0;
-#X connect 1 0 11 0;
-#X connect 2 0 8 0;
-#X connect 3 0 4 0;
-#X connect 8 0 9 0;
-#X connect 11 0 0 0;
-#X connect 16 0 11 1;
-#X connect 18 0 4 0;
+#N canvas 691 541 588 372 10;
+#X declare -lib Gem;
+#X obj 19 112 t b b;
+#X obj 19 36 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 137 86 loadbang;
+#X msg 237 138 0 \, destroy;
+#X obj 203 166 gemwin;
+#X obj 19 150 s mass;
+#N canvas 39 357 1226 456 pool 0;
+#X obj 480 120 sand -0.25 5.8;
+#X obj 0 0 sand -1.25 5;
+#X obj 240 0 sand -1.25 5.4;
+#X obj 480 0 sand -1.25 5.8;
+#X obj 720 0 sand -1.25 6.2;
+#X obj 960 0 sand -1.25 6.6;
+#X obj 1200 0 sand -1.25 7;
+#X obj 1440 0 sand -1.25 7.4;
+#X obj 1680 0 sand -1.25 7.8;
+#X obj 1920 0 sand -1.25 8.2;
+#X obj 2160 0 sand -1.25 8.6;
+#X obj 2400 0 sand -1.25 9;
+#X obj 2640 0 sand -1.25 9.4;
+#X obj 2880 0 sand -1.25 9.8;
+#X obj 3120 0 sand -1.25 10.2;
+#X obj 3360 0 sand -1.25 10.6;
+#X obj 0 30 sand -1 5;
+#X obj 240 30 sand -1 5.4;
+#X obj 480 30 sand -1 5.8;
+#X obj 720 30 sand -1 6.2;
+#X obj 960 30 sand -1 6.6;
+#X obj 1200 30 sand -1 7;
+#X obj 1440 30 sand -1 7.4;
+#X obj 1680 30 sand -1 7.8;
+#X obj 1920 30 sand -1 8.2;
+#X obj 2160 30 sand -1 8.6;
+#X obj 2400 30 sand -1 9;
+#X obj 2640 30 sand -1 9.4;
+#X obj 2880 30 sand -1 9.8;
+#X obj 3120 30 sand -1 10.2;
+#X obj 3360 30 sand -1 10.6;
+#X obj 0 60 sand -0.75 5;
+#X obj 240 60 sand -0.75 5.4;
+#X obj 480 60 sand -0.75 5.8;
+#X obj 720 60 sand -0.75 6.2;
+#X obj 960 60 sand -0.75 6.6;
+#X obj 1200 60 sand -0.75 7;
+#X obj 1440 60 sand -0.75 7.4;
+#X obj 1680 60 sand -0.75 7.8;
+#X obj 1920 60 sand -0.75 8.2;
+#X obj 2160 60 sand -0.75 8.6;
+#X obj 2400 60 sand -0.75 9;
+#X obj 2640 60 sand -0.75 9.4;
+#X obj 2880 60 sand -0.75 9.8;
+#X obj 3120 60 sand -0.75 10.2;
+#X obj 3360 60 sand -0.75 10.6;
+#X obj 0 90 sand -0.5 5;
+#X obj 240 90 sand -0.5 5.4;
+#X obj 480 90 sand -0.5 5.8;
+#X obj 720 90 sand -0.5 6.2;
+#X obj 960 90 sand -0.5 6.6;
+#X obj 1200 90 sand -0.5 7;
+#X obj 1440 90 sand -0.5 7.4;
+#X obj 1680 90 sand -0.5 7.8;
+#X obj 1920 90 sand -0.5 8.2;
+#X obj 2160 90 sand -0.5 8.6;
+#X obj 2400 90 sand -0.5 9;
+#X obj 2640 90 sand -0.5 9.4;
+#X obj 2880 90 sand -0.5 9.8;
+#X obj 3120 90 sand -0.5 10.2;
+#X obj 3360 90 sand -0.5 10.6;
+#X obj 0 120 sand -0.25 5;
+#X obj 240 120 sand -0.25 5.4;
+#X obj 720 120 sand -0.25 6.2;
+#X obj 960 120 sand -0.25 6.6;
+#X obj 1200 120 sand -0.25 7;
+#X obj 1440 120 sand -0.25 7.4;
+#X obj 1680 120 sand -0.25 7.8;
+#X obj 1920 120 sand -0.25 8.2;
+#X obj 2160 120 sand -0.25 8.6;
+#X obj 2400 120 sand -0.25 9;
+#X obj 2640 120 sand -0.25 9.4;
+#X obj 2880 120 sand -0.25 9.8;
+#X obj 3120 120 sand -0.25 10.2;
+#X obj 3360 120 sand -0.25 10.6;
+#X obj 0 150 sand 0 5;
+#X obj 240 150 sand 0 5.4;
+#X obj 480 150 sand 0 5.8;
+#X obj 720 150 sand 0 6.2;
+#X obj 960 150 sand 0 6.6;
+#X obj 1200 150 sand 0 7;
+#X obj 1440 150 sand 0 7.4;
+#X obj 1680 150 sand 0 7.8;
+#X obj 1920 150 sand 0 8.2;
+#X obj 2160 150 sand 0 8.6;
+#X obj 2400 150 sand 0 9;
+#X obj 2640 150 sand 0 9.4;
+#X obj 2880 150 sand 0 9.8;
+#X obj 3120 150 sand 0 10.2;
+#X obj 3360 150 sand 0 10.6;
+#X obj 0 180 sand 0.25 5;
+#X obj 240 180 sand 0.25 5.4;
+#X obj 480 180 sand 0.25 5.8;
+#X obj 720 180 sand 0.25 6.2;
+#X obj 960 180 sand 0.25 6.6;
+#X obj 1200 180 sand 0.25 7;
+#X obj 1440 180 sand 0.25 7.4;
+#X obj 1680 180 sand 0.25 7.8;
+#X obj 1920 180 sand 0.25 8.2;
+#X obj 2160 180 sand 0.25 8.6;
+#X obj 2400 180 sand 0.25 9;
+#X obj 2640 180 sand 0.25 9.4;
+#X obj 2880 180 sand 0.25 9.8;
+#X obj 3120 180 sand 0.25 10.2;
+#X obj 3360 180 sand 0.25 10.6;
+#X obj 0 210 sand 0.5 5;
+#X obj 240 210 sand 0.5 5.4;
+#X obj 480 210 sand 0.5 5.8;
+#X obj 720 210 sand 0.5 6.2;
+#X obj 960 210 sand 0.5 6.6;
+#X obj 1200 210 sand 0.5 7;
+#X obj 1440 210 sand 0.5 7.4;
+#X obj 1680 210 sand 0.5 7.8;
+#X obj 1920 210 sand 0.5 8.2;
+#X obj 2160 210 sand 0.5 8.6;
+#X obj 2400 210 sand 0.5 9;
+#X obj 2640 210 sand 0.5 9.4;
+#X obj 2880 210 sand 0.5 9.8;
+#X obj 3120 210 sand 0.5 10.2;
+#X obj 3360 210 sand 0.5 10.6;
+#X obj 0 240 sand 0.75 5;
+#X obj 240 240 sand 0.75 5.4;
+#X obj 480 240 sand 0.75 5.8;
+#X obj 720 240 sand 0.75 6.2;
+#X obj 960 240 sand 0.75 6.6;
+#X obj 1200 240 sand 0.75 7;
+#X obj 1440 240 sand 0.75 7.4;
+#X obj 1680 240 sand 0.75 7.8;
+#X obj 1920 240 sand 0.75 8.2;
+#X obj 2160 240 sand 0.75 8.6;
+#X obj 2400 240 sand 0.75 9;
+#X obj 2640 240 sand 0.75 9.4;
+#X obj 2880 240 sand 0.75 9.8;
+#X obj 3120 240 sand 0.75 10.2;
+#X obj 3360 240 sand 0.75 10.6;
+#X obj 0 270 sand 1 5;
+#X obj 240 270 sand 1 5.4;
+#X obj 480 270 sand 1 5.8;
+#X obj 720 270 sand 1 6.2;
+#X obj 960 270 sand 1 6.6;
+#X obj 1200 270 sand 1 7;
+#X obj 1440 270 sand 1 7.4;
+#X obj 1680 270 sand 1 7.8;
+#X obj 1920 270 sand 1 8.2;
+#X obj 2160 270 sand 1 8.6;
+#X obj 2400 270 sand 1 9;
+#X obj 2640 270 sand 1 9.4;
+#X obj 2880 270 sand 1 9.8;
+#X obj 3120 270 sand 1 10.2;
+#X obj 3360 270 sand 1 10.6;
+#X restore 324 139 pd pool;
+#N canvas 366 192 363 603 creation 0;
+#X obj 41 491 s pd-new;
+#X msg 95 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 40 464 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 44 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 69 72 t b b;
+#X obj 97 412 pack f f f f;
+#X obj 89 191 t b f f;
+#X obj 100 299 t f f;
+#X obj 107 219 * 30;
+#X obj 99 377 * 120;
+#X obj 101 275 * 2;
+#X obj 163 346 - 5;
+#X obj 126 328 / 5;
+#X msg 96 440 obj \$1 \$2 sand \$3 \$4;
+#X obj 127 351 + 5;
+#X obj 160 370 / 4;
+#X obj 73 163 ch_uzi 10;
+#X obj 88 247 ch_uzi 15;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 17 0;
+#X connect 5 1 1 0;
+#X connect 6 0 14 0;
+#X connect 7 0 18 0;
+#X connect 7 1 9 0;
+#X connect 7 1 12 0;
+#X connect 8 0 10 0;
+#X connect 8 1 13 0;
+#X connect 9 0 6 1;
+#X connect 10 0 6 0;
+#X connect 11 0 8 0;
+#X connect 12 0 16 0;
+#X connect 13 0 15 0;
+#X connect 14 0 0 0;
+#X connect 15 0 6 3;
+#X connect 16 0 6 2;
+#X connect 17 1 7 0;
+#X connect 18 1 11 0;
+#X restore 325 166 pd creation pool;
+#X msg 137 110 reset;
+#X obj 137 134 s mass;
+#X obj 79 172 s link;
+#X obj 19 85 metro 10;
+#X obj 58 247 iCircle2D mass 3 2 0 2.98 0 0 1 0 0 0 0.1;
+#X obj 68 267 iCircle2D mass -3 2 0 2.98 0 0 1 0 0 0 0.1;
+#X obj 83 289 iCircle2D mass 7 6 0 5 0 0 1 0 0 0 0.1;
+#X obj 93 309 iCircle2D mass -7 6 0 5 0 0 1 0 0 0 0.1;
+#X floatatom 62 65 5 0 0 0 - - -;
+#X text 99 19 some physical parameters change from the previus exemples...
+;
+#X msg 203 115 reset \, view 0 0 -6 0 0 0 0 1 0 \, create \, 1;
+#X text 202 1 small balls;
+#X obj 45 210 iAmbient2D mass 0 -0.001 0 0 0.005;
+#X text 464 115 <- 1;
+#X text 39 33 <- 2;
+#X obj 11 2 declare -lib Gem;
+#X connect 0 0 5 0;
+#X connect 0 1 10 0;
+#X connect 0 1 12 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 15 0;
+#X connect 0 1 20 0;
+#X connect 1 0 11 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 8 0 9 0;
+#X connect 11 0 0 0;
+#X connect 16 0 11 1;
+#X connect 18 0 4 0;
diff --git a/examples/27_tLia.pd b/examples/27_tLia.pd
index 08d05dd..45bbc17 100644
--- a/examples/27_tLia.pd
+++ b/examples/27_tLia.pd
@@ -1,874 +1,876 @@
-#N canvas 128 41 836 611 12;
-#N canvas 306 123 269 250 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 143 474 pd mass;
-#X obj 27 266 s link;
-#X obj 62 242 s mass;
-#X obj 397 336 s mass;
-#X msg 184 227 setK \$1;
-#X msg 399 177 setM \$1;
-#X obj 184 259 s link;
-#X obj 399 205 s mass;
-#X obj 184 201 / 10;
-#X obj 184 175 + 1;
-#X obj 487 188 gemwin;
-#X msg 494 159 0 \, destroy;
-#X floatatom 184 153 5 10 100 0 - - -;
-#X floatatom 245 155 5 0 3 0 - - -;
-#X floatatom 399 154 5 20 500 0 - - -;
-#X msg 411 306 force2D 2000 0;
-#X obj 27 191 metro 10;
-#X obj 27 215 t b b;
-#X msg 396 363 force2D 0 5000;
-#X msg 184 129 50;
-#X msg 245 129 1;
-#X msg 399 130 200;
-#X obj 868 171 world_light;
-#X obj 868 112 gemhead;
-#X obj 868 142 rotateXYZ;
-#X msg 397 278 force2D 0 1000;
-#X msg 245 178 setD \$1;
-#X obj 27 37 loadbang;
-#X msg 108 127 reset;
-#X obj 108 154 s mass;
-#X obj 27 68 t b b b b;
-#X msg 49 128 resetF;
-#X obj 49 155 s link;
-#X floatatom 321 155 5 0 3 0 - - -;
-#X msg 321 129 1;
-#X msg 321 178 setD2 \$1;
-#N canvas 306 123 576 363 mass 0;
-#X obj 24 99 outlet;
-#X obj 145 98 gemhead;
-#X obj 137 134 unpack s f f;
-#X obj 143 190 translateXYZ 0 0 0;
-#X obj 185 160 / 100;
-#X obj 228 161 / 100;
-#X obj 144 224 sphere 0.1;
-#X obj 26 70 mass2D mass2 10 -300 0;
-#X msg 25 42 reset;
-#X connect 1 0 3 0;
-#X connect 2 1 4 0;
-#X connect 2 2 5 0;
-#X connect 3 0 6 0;
-#X connect 4 0 3 1;
-#X connect 5 0 3 2;
-#X connect 7 0 0 0;
-#X connect 7 0 2 0;
-#X connect 8 0 7 0;
-#X restore 11 411 pd mass;
-#X msg 396 394 force2D 5000 0;
-#X text 474 12 2D string;
-#X text 542 278 <- send Y force to all masss;
-#X text 544 307 <- send X force to all masss;
-#X text 540 363 <- send Y force to 2 masss;
-#X text 542 392 <- send X force to 1 masss;
-#N canvas 306 123 265 246 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 288 480 pd mass;
-#X obj 11 437 link2D link 30 1 1;
-#X obj 158 436 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 432 474 pd mass;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 198 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 570 477 pd mass;
-#X obj 300 437 link2D link 30 1 1;
-#X obj 447 436 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 719 477 pd mass;
-#X obj 596 436 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 870 474 pd mass;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 1008 477 pd mass;
-#X obj 738 437 link2D link 30 1 1;
-#X obj 885 436 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 157 617 pd mass;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 292 622 pd mass;
-#X obj 24 580 link2D link 30 1 1;
-#X obj 171 579 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 445 617 pd mass;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 583 620 pd mass;
-#X obj 313 580 link2D link 30 1 1;
-#X obj 460 579 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 732 620 pd mass;
-#X obj 609 579 link2D link 30 1 1;
-#N canvas 306 123 263 244 mass 0;
-#X obj 24 23 inlet;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass 10;
-#X obj 83 197 sphere 0.1;
-#X connect 0 0 7 0;
-#X connect 2 0 4 0;
-#X connect 3 1 5 0;
-#X connect 3 2 6 0;
-#X connect 4 0 8 0;
-#X connect 5 0 4 1;
-#X connect 6 0 4 2;
-#X connect 7 0 1 0;
-#X connect 7 0 3 0;
-#X restore 883 617 pd mass;
-#N canvas 306 123 271 252 mass 0;
-#X obj 24 83 outlet;
-#X obj 83 138 gemhead;
-#X obj 84 85 unpack s f f;
-#X obj 83 169 translateXYZ 0 0 0;
-#X obj 129 111 / 100;
-#X obj 175 112 / 100;
-#X obj 24 55 mass2D mass2 10 300;
-#X obj 83 197 sphere 0.1;
-#X msg 26 31 reset;
-#X connect 1 0 3 0;
-#X connect 2 1 4 0;
-#X connect 2 2 5 0;
-#X connect 3 0 7 0;
-#X connect 4 0 3 1;
-#X connect 5 0 3 2;
-#X connect 6 0 0 0;
-#X connect 6 0 2 0;
-#X connect 8 0 6 0;
-#X restore 1021 552 pd mass;
-#X obj 751 580 link2D link 30 1 1;
-#X obj 898 579 link2D link 30 1 1;
-#X msg 487 132 reset \, lighting 1 \, create \, 1;
-#X obj 112 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 170 431 361 373 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 197 505 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 349 513 pd link;
-#N canvas 170 431 363 375 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 498 516 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 655 516 pd link;
-#N canvas 170 431 361 373 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 55 505 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 796 521 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 916 516 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 51 650 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 222 652 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 375 652 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 512 654 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 675 660 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 811 657 pd link;
-#N canvas 170 431 359 371 link 0;
-#X obj 87 24 inlet;
-#X obj 162 24 inlet;
-#X obj 87 55 tLink2D link;
-#X obj 46 207 translateXYZ;
-#X obj 162 82 unpack s f f;
-#X obj 207 112 / 100;
-#X obj 253 112 / 100;
-#X obj 46 180 gemhead;
-#X obj 46 283 sphere 1;
-#X obj 46 233 rotateXYZ;
-#X obj 46 257 scaleXYZ 0 0.1 0.1;
-#X obj 87 84 / 200;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 2 0 11 0;
-#X connect 2 2 9 3;
-#X connect 2 3 4 0;
-#X connect 3 0 9 0;
-#X connect 4 1 5 0;
-#X connect 4 2 6 0;
-#X connect 5 0 3 1;
-#X connect 6 0 3 2;
-#X connect 7 0 3 0;
-#X connect 9 0 10 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 1;
-#X restore 918 658 pd link;
-#X text 341 36 it's like a previus exemples \, but link are drawn according
-to a "tlink" object wich output information about the linkison (position
-\, orientation etc).;
-#X text 727 133 <- 1;
-#X connect 0 0 44 1;
-#X connect 0 0 45 0;
-#X connect 0 0 72 0;
-#X connect 0 0 76 1;
-#X connect 4 0 6 0;
-#X connect 5 0 7 0;
-#X connect 8 0 4 0;
-#X connect 9 0 8 0;
-#X connect 11 0 10 0;
-#X connect 12 0 9 0;
-#X connect 13 0 26 0;
-#X connect 14 0 5 0;
-#X connect 15 0 3 0;
-#X connect 16 0 17 0;
-#X connect 17 0 1 0;
-#X connect 17 1 2 0;
-#X connect 18 0 0 0;
-#X connect 18 0 43 0;
-#X connect 19 0 12 0;
-#X connect 20 0 13 0;
-#X connect 21 0 14 0;
-#X connect 23 0 24 0;
-#X connect 24 0 22 0;
-#X connect 25 0 3 0;
-#X connect 26 0 6 0;
-#X connect 27 0 30 0;
-#X connect 28 0 29 0;
-#X connect 30 0 16 0;
-#X connect 30 1 31 0;
-#X connect 30 2 28 0;
-#X connect 30 3 19 0;
-#X connect 30 3 20 0;
-#X connect 30 3 21 0;
-#X connect 30 3 34 0;
-#X connect 31 0 32 0;
-#X connect 33 0 35 0;
-#X connect 34 0 33 0;
-#X connect 35 0 6 0;
-#X connect 36 0 44 0;
-#X connect 36 0 76 0;
-#X connect 37 0 46 0;
-#X connect 43 0 45 1;
-#X connect 43 0 48 0;
-#X connect 43 0 72 1;
-#X connect 43 0 73 0;
-#X connect 44 1 0 0;
-#X connect 45 0 0 0;
-#X connect 45 1 43 0;
-#X connect 46 0 48 1;
-#X connect 46 0 49 0;
-#X connect 46 0 74 0;
-#X connect 46 0 73 1;
-#X connect 47 0 49 1;
-#X connect 47 0 51 0;
-#X connect 47 0 75 0;
-#X connect 47 0 74 1;
-#X connect 48 0 43 0;
-#X connect 48 1 46 0;
-#X connect 49 0 46 0;
-#X connect 49 1 47 0;
-#X connect 50 0 51 1;
-#X connect 50 0 54 0;
-#X connect 50 0 75 1;
-#X connect 50 0 77 0;
-#X connect 51 0 47 0;
-#X connect 51 1 50 0;
-#X connect 52 0 54 1;
-#X connect 52 0 55 0;
-#X connect 52 0 77 1;
-#X connect 52 0 78 0;
-#X connect 53 0 55 1;
-#X connect 53 0 58 0;
-#X connect 53 0 78 1;
-#X connect 53 0 79 0;
-#X connect 54 0 50 0;
-#X connect 54 1 52 0;
-#X connect 55 0 52 0;
-#X connect 55 1 53 0;
-#X connect 56 0 58 1;
-#X connect 56 0 59 0;
-#X connect 56 0 79 1;
-#X connect 56 0 80 0;
-#X connect 57 0 59 1;
-#X connect 57 0 62 0;
-#X connect 57 0 80 1;
-#X connect 57 0 81 0;
-#X connect 58 0 53 0;
-#X connect 58 1 56 0;
-#X connect 59 0 56 0;
-#X connect 59 1 57 0;
-#X connect 60 0 62 1;
-#X connect 60 0 63 0;
-#X connect 60 0 81 1;
-#X connect 60 0 82 0;
-#X connect 61 0 63 1;
-#X connect 61 0 65 0;
-#X connect 61 0 82 1;
-#X connect 61 0 83 0;
-#X connect 62 0 57 0;
-#X connect 62 1 60 0;
-#X connect 63 0 60 0;
-#X connect 63 1 61 0;
-#X connect 64 0 65 1;
-#X connect 64 0 68 0;
-#X connect 64 0 83 1;
-#X connect 64 0 84 0;
-#X connect 65 0 61 0;
-#X connect 65 1 64 0;
-#X connect 66 0 68 1;
-#X connect 66 0 69 0;
-#X connect 66 0 84 1;
-#X connect 66 0 85 0;
-#X connect 67 0 69 1;
-#X connect 67 0 85 1;
-#X connect 68 0 64 0;
-#X connect 68 1 66 0;
-#X connect 69 0 66 0;
-#X connect 70 0 10 0;
-#X connect 71 0 30 0;
+#N canvas 124 91 836 611 12;
+#X declare -lib Gem;
+#N canvas 306 123 269 250 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 143 474 pd mass;
+#X obj 27 266 s link;
+#X obj 62 242 s mass;
+#X obj 397 336 s mass;
+#X msg 184 227 setK \$1;
+#X msg 399 177 setM \$1;
+#X obj 184 259 s link;
+#X obj 399 205 s mass;
+#X obj 184 201 / 10;
+#X obj 184 175 + 1;
+#X obj 487 188 gemwin;
+#X msg 494 159 0 \, destroy;
+#X floatatom 184 153 5 10 100 0 - - -;
+#X floatatom 245 155 5 0 3 0 - - -;
+#X floatatom 399 154 5 20 500 0 - - -;
+#X msg 411 306 force2D 2000 0;
+#X obj 27 191 metro 10;
+#X obj 27 215 t b b;
+#X msg 396 363 force2D 0 5000;
+#X msg 184 129 50;
+#X msg 245 129 1;
+#X msg 399 130 200;
+#X obj 868 171 world_light;
+#X obj 868 112 gemhead;
+#X obj 868 142 rotateXYZ;
+#X msg 397 278 force2D 0 1000;
+#X msg 245 178 setD \$1;
+#X obj 27 37 loadbang;
+#X msg 108 127 reset;
+#X obj 108 154 s mass;
+#X obj 27 68 t b b b b;
+#X msg 49 128 resetF;
+#X obj 49 155 s link;
+#X floatatom 321 155 5 0 3 0 - - -;
+#X msg 321 129 1;
+#X msg 321 178 setD2 \$1;
+#N canvas 306 123 576 363 mass 0;
+#X obj 24 99 outlet;
+#X obj 145 98 gemhead;
+#X obj 137 134 unpack s f f;
+#X obj 143 190 translateXYZ 0 0 0;
+#X obj 185 160 / 100;
+#X obj 228 161 / 100;
+#X obj 144 224 sphere 0.1;
+#X obj 26 70 mass2D mass2 10 -300 0;
+#X msg 25 42 reset;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 6 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 7 0 0 0;
+#X connect 7 0 2 0;
+#X connect 8 0 7 0;
+#X restore 11 411 pd mass;
+#X msg 396 394 force2D 5000 0;
+#X text 474 12 2D string;
+#X text 542 278 <- send Y force to all masss;
+#X text 544 307 <- send X force to all masss;
+#X text 540 363 <- send Y force to 2 masss;
+#X text 542 392 <- send X force to 1 masss;
+#N canvas 306 123 265 246 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 288 480 pd mass;
+#X obj 11 437 link2D link 30 1 1;
+#X obj 158 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 432 474 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 198 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 570 477 pd mass;
+#X obj 300 437 link2D link 30 1 1;
+#X obj 447 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 719 477 pd mass;
+#X obj 596 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 870 474 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 1008 477 pd mass;
+#X obj 738 437 link2D link 30 1 1;
+#X obj 885 436 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 157 617 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 292 622 pd mass;
+#X obj 24 580 link2D link 30 1 1;
+#X obj 171 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 445 617 pd mass;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 583 620 pd mass;
+#X obj 313 580 link2D link 30 1 1;
+#X obj 460 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 732 620 pd mass;
+#X obj 609 579 link2D link 30 1 1;
+#N canvas 306 123 263 244 mass 0;
+#X obj 24 23 inlet;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass 10;
+#X obj 83 197 sphere 0.1;
+#X connect 0 0 7 0;
+#X connect 2 0 4 0;
+#X connect 3 1 5 0;
+#X connect 3 2 6 0;
+#X connect 4 0 8 0;
+#X connect 5 0 4 1;
+#X connect 6 0 4 2;
+#X connect 7 0 1 0;
+#X connect 7 0 3 0;
+#X restore 883 617 pd mass;
+#N canvas 306 123 271 252 mass 0;
+#X obj 24 83 outlet;
+#X obj 83 138 gemhead;
+#X obj 84 85 unpack s f f;
+#X obj 83 169 translateXYZ 0 0 0;
+#X obj 129 111 / 100;
+#X obj 175 112 / 100;
+#X obj 24 55 mass2D mass2 10 300;
+#X obj 83 197 sphere 0.1;
+#X msg 26 31 reset;
+#X connect 1 0 3 0;
+#X connect 2 1 4 0;
+#X connect 2 2 5 0;
+#X connect 3 0 7 0;
+#X connect 4 0 3 1;
+#X connect 5 0 3 2;
+#X connect 6 0 0 0;
+#X connect 6 0 2 0;
+#X connect 8 0 6 0;
+#X restore 1021 552 pd mass;
+#X obj 751 580 link2D link 30 1 1;
+#X obj 898 579 link2D link 30 1 1;
+#X msg 487 132 reset \, lighting 1 \, create \, 1;
+#X obj 112 43 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 170 431 361 373 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 197 505 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 349 513 pd link;
+#N canvas 170 431 363 375 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 498 516 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 655 516 pd link;
+#N canvas 170 431 361 373 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 55 505 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 796 521 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 916 516 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 51 650 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 222 652 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 375 652 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 512 654 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 675 660 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 811 657 pd link;
+#N canvas 170 431 359 371 link 0;
+#X obj 87 24 inlet;
+#X obj 162 24 inlet;
+#X obj 87 55 tLink2D link;
+#X obj 46 207 translateXYZ;
+#X obj 162 82 unpack s f f;
+#X obj 207 112 / 100;
+#X obj 253 112 / 100;
+#X obj 46 180 gemhead;
+#X obj 46 283 sphere 1;
+#X obj 46 233 rotateXYZ;
+#X obj 46 257 scaleXYZ 0 0.1 0.1;
+#X obj 87 84 / 200;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 2 0 11 0;
+#X connect 2 2 9 3;
+#X connect 2 3 4 0;
+#X connect 3 0 9 0;
+#X connect 4 1 5 0;
+#X connect 4 2 6 0;
+#X connect 5 0 3 1;
+#X connect 6 0 3 2;
+#X connect 7 0 3 0;
+#X connect 9 0 10 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 1;
+#X restore 918 658 pd link;
+#X text 341 36 it's like a previus exemples \, but link are drawn according
+to a "tlink" object wich output information about the linkison (position
+\, orientation etc).;
+#X text 727 133 <- 1;
+#X obj 26 11 declare -lib Gem;
+#X connect 0 0 44 1;
+#X connect 0 0 45 0;
+#X connect 0 0 72 0;
+#X connect 0 0 76 1;
+#X connect 4 0 6 0;
+#X connect 5 0 7 0;
+#X connect 8 0 4 0;
+#X connect 9 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 9 0;
+#X connect 13 0 26 0;
+#X connect 14 0 5 0;
+#X connect 15 0 3 0;
+#X connect 16 0 17 0;
+#X connect 17 0 1 0;
+#X connect 17 1 2 0;
+#X connect 18 0 0 0;
+#X connect 18 0 43 0;
+#X connect 19 0 12 0;
+#X connect 20 0 13 0;
+#X connect 21 0 14 0;
+#X connect 23 0 24 0;
+#X connect 24 0 22 0;
+#X connect 25 0 3 0;
+#X connect 26 0 6 0;
+#X connect 27 0 30 0;
+#X connect 28 0 29 0;
+#X connect 30 0 16 0;
+#X connect 30 1 31 0;
+#X connect 30 2 28 0;
+#X connect 30 3 19 0;
+#X connect 30 3 20 0;
+#X connect 30 3 21 0;
+#X connect 30 3 34 0;
+#X connect 31 0 32 0;
+#X connect 33 0 35 0;
+#X connect 34 0 33 0;
+#X connect 35 0 6 0;
+#X connect 36 0 44 0;
+#X connect 36 0 76 0;
+#X connect 37 0 46 0;
+#X connect 43 0 45 1;
+#X connect 43 0 48 0;
+#X connect 43 0 72 1;
+#X connect 43 0 73 0;
+#X connect 44 1 0 0;
+#X connect 45 0 0 0;
+#X connect 45 1 43 0;
+#X connect 46 0 48 1;
+#X connect 46 0 49 0;
+#X connect 46 0 74 0;
+#X connect 46 0 73 1;
+#X connect 47 0 49 1;
+#X connect 47 0 51 0;
+#X connect 47 0 75 0;
+#X connect 47 0 74 1;
+#X connect 48 0 43 0;
+#X connect 48 1 46 0;
+#X connect 49 0 46 0;
+#X connect 49 1 47 0;
+#X connect 50 0 51 1;
+#X connect 50 0 54 0;
+#X connect 50 0 75 1;
+#X connect 50 0 77 0;
+#X connect 51 0 47 0;
+#X connect 51 1 50 0;
+#X connect 52 0 54 1;
+#X connect 52 0 55 0;
+#X connect 52 0 77 1;
+#X connect 52 0 78 0;
+#X connect 53 0 55 1;
+#X connect 53 0 58 0;
+#X connect 53 0 78 1;
+#X connect 53 0 79 0;
+#X connect 54 0 50 0;
+#X connect 54 1 52 0;
+#X connect 55 0 52 0;
+#X connect 55 1 53 0;
+#X connect 56 0 58 1;
+#X connect 56 0 59 0;
+#X connect 56 0 79 1;
+#X connect 56 0 80 0;
+#X connect 57 0 59 1;
+#X connect 57 0 62 0;
+#X connect 57 0 80 1;
+#X connect 57 0 81 0;
+#X connect 58 0 53 0;
+#X connect 58 1 56 0;
+#X connect 59 0 56 0;
+#X connect 59 1 57 0;
+#X connect 60 0 62 1;
+#X connect 60 0 63 0;
+#X connect 60 0 81 1;
+#X connect 60 0 82 0;
+#X connect 61 0 63 1;
+#X connect 61 0 65 0;
+#X connect 61 0 82 1;
+#X connect 61 0 83 0;
+#X connect 62 0 57 0;
+#X connect 62 1 60 0;
+#X connect 63 0 60 0;
+#X connect 63 1 61 0;
+#X connect 64 0 65 1;
+#X connect 64 0 68 0;
+#X connect 64 0 83 1;
+#X connect 64 0 84 0;
+#X connect 65 0 61 0;
+#X connect 65 1 64 0;
+#X connect 66 0 68 1;
+#X connect 66 0 69 0;
+#X connect 66 0 84 1;
+#X connect 66 0 85 0;
+#X connect 67 0 69 1;
+#X connect 67 0 85 1;
+#X connect 68 0 64 0;
+#X connect 68 1 66 0;
+#X connect 69 0 66 0;
+#X connect 70 0 10 0;
+#X connect 71 0 30 0;
diff --git a/examples/28_Lia.pd b/examples/28_Lia.pd
index f65ab7e..cbd7482 100644
--- a/examples/28_Lia.pd
+++ b/examples/28_Lia.pd
@@ -1,108 +1,110 @@
-#N canvas 43 52 799 551 12;
-#X obj 9 35 metro 10;
-#X obj 9 10 loadbang;
-#X obj 9 62 t b b;
-#X obj 44 87 s \$0-link;
-#X obj 9 113 s \$0-mass;
-#X obj 28 154 link \$0-link 0 1 1;
-#X obj 28 202 link \$0-link 0 1 1;
-#X obj 29 253 link \$0-link 0 1 1;
-#X obj 30 304 link \$0-link 0 1 1;
-#X obj 31 353 link \$0-link 0 1 1;
-#X obj 31 403 link \$0-link 0 1 1;
-#X obj 31 453 link \$0-link 0 1 1;
-#X obj 31 502 link \$0-link 0 1 1;
-#X obj 28 178 mass \$0-mass 30;
-#X obj 29 228 mass \$0-mass 30;
-#X obj 30 279 mass \$0-mass 30;
-#X obj 30 329 mass \$0-mass 30;
-#X obj 31 378 mass \$0-mass 30;
-#X obj 31 428 mass \$0-mass 30;
-#X obj 31 477 mass \$0-mass 30;
-#X obj 269 181 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 269 196 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 800 1;
-#X obj 269 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 1600 1;
-#X obj 269 226 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 2400 1;
-#X obj 269 241 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 3200 1;
-#X obj 269 256 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 4000 1;
-#X obj 269 271 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 4800 1;
-#X obj 269 286 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 5600 1;
-#X obj 269 301 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 6400 1;
-#X obj 192 130 loadbang;
-#X msg 192 154 64;
-#X text 416 177 <- move here;
-#X text 415 298 <- diferents link to this points;
-#X text 621 349 <- normal link;
-#X text 621 430 <- repulsive link;
-#X text 621 403 <- link with minimal value;
-#X msg 220 453 setLmax 300 \, setL 0 \, setLmin 0 \, setK 0 \, setD
-10;
-#X text 622 454 <- viscosity link;
-#X msg 221 349 setLmax 300 \, setL 0 \, setLmin 0 \, setK 1 \, setD
-1;
-#X msg 220 376 setLmax 30 \, setL 0 \, setLmin 0 \, setK 1 \, setD
-1;
-#X msg 220 401 setLmax 300 \, setL 30 \, setLmin 30 \, setK 1 \, setD
-1;
-#X msg 220 426 setLmax 30 \, setL 30 \, setLmin 0 \, setK 1 \, setD
-1;
-#X text 622 374 <- link can break if deformation is to big;
-#X text 319 12 This is an exemple of diferents comportement of a link
-;
-#X connect 0 0 2 0;
-#X connect 1 0 0 0;
-#X connect 2 0 4 0;
-#X connect 2 1 3 0;
-#X connect 5 1 13 0;
-#X connect 6 0 13 0;
-#X connect 6 1 14 0;
-#X connect 7 0 14 0;
-#X connect 7 1 15 0;
-#X connect 8 0 15 0;
-#X connect 8 1 16 0;
-#X connect 9 0 16 0;
-#X connect 9 1 17 0;
-#X connect 10 0 17 0;
-#X connect 10 1 18 0;
-#X connect 11 0 18 0;
-#X connect 11 1 19 0;
-#X connect 12 0 19 0;
-#X connect 13 0 5 1;
-#X connect 13 0 6 0;
-#X connect 13 0 21 0;
-#X connect 14 0 6 1;
-#X connect 14 0 7 0;
-#X connect 14 0 22 0;
-#X connect 15 0 7 1;
-#X connect 15 0 8 0;
-#X connect 15 0 23 0;
-#X connect 16 0 8 1;
-#X connect 16 0 9 0;
-#X connect 16 0 24 0;
-#X connect 17 0 9 1;
-#X connect 17 0 10 0;
-#X connect 17 0 25 0;
-#X connect 18 0 10 1;
-#X connect 18 0 11 0;
-#X connect 18 0 26 0;
-#X connect 19 0 11 1;
-#X connect 19 0 12 0;
-#X connect 19 0 27 0;
-#X connect 20 0 5 0;
-#X connect 28 0 12 1;
-#X connect 29 0 30 0;
-#X connect 30 0 28 0;
-#X connect 36 0 12 0;
-#X connect 38 0 12 0;
-#X connect 39 0 12 0;
-#X connect 40 0 12 0;
-#X connect 41 0 12 0;
+#N canvas 39 91 799 551 12;
+#X declare -lib Gem;
+#X obj 9 35 metro 10;
+#X obj 9 10 loadbang;
+#X obj 9 62 t b b;
+#X obj 44 87 s \$0-link;
+#X obj 9 113 s \$0-mass;
+#X obj 28 154 link \$0-link 0 1 1;
+#X obj 28 202 link \$0-link 0 1 1;
+#X obj 29 253 link \$0-link 0 1 1;
+#X obj 30 304 link \$0-link 0 1 1;
+#X obj 31 353 link \$0-link 0 1 1;
+#X obj 31 403 link \$0-link 0 1 1;
+#X obj 31 453 link \$0-link 0 1 1;
+#X obj 31 502 link \$0-link 0 1 1;
+#X obj 28 178 mass \$0-mass 30;
+#X obj 29 228 mass \$0-mass 30;
+#X obj 30 279 mass \$0-mass 30;
+#X obj 30 329 mass \$0-mass 30;
+#X obj 31 378 mass \$0-mass 30;
+#X obj 31 428 mass \$0-mass 30;
+#X obj 31 477 mass \$0-mass 30;
+#X obj 269 181 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 269 196 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 807 1;
+#X obj 269 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 1613 1;
+#X obj 269 226 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 2417 1;
+#X obj 269 241 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 3218 1;
+#X obj 269 256 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 4017 1;
+#X obj 269 271 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 4813 1;
+#X obj 269 286 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 5607 1;
+#X obj 269 301 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 6400 1;
+#X obj 192 130 loadbang;
+#X msg 192 154 64;
+#X text 416 177 <- move here;
+#X text 415 298 <- diferents link to this points;
+#X text 621 349 <- normal link;
+#X text 621 430 <- repulsive link;
+#X text 621 403 <- link with minimal value;
+#X msg 220 453 setLmax 300 \, setL 0 \, setLmin 0 \, setK 0 \, setD
+10;
+#X text 622 454 <- viscosity link;
+#X msg 221 349 setLmax 300 \, setL 0 \, setLmin 0 \, setK 1 \, setD
+1;
+#X msg 220 376 setLmax 30 \, setL 0 \, setLmin 0 \, setK 1 \, setD
+1;
+#X msg 220 401 setLmax 300 \, setL 30 \, setLmin 30 \, setK 1 \, setD
+1;
+#X msg 220 426 setLmax 30 \, setL 30 \, setLmin 0 \, setK 1 \, setD
+1;
+#X text 622 374 <- link can break if deformation is to big;
+#X text 319 12 This is an exemple of diferents comportement of a link
+;
+#X obj 94 11 declare -lib Gem;
+#X connect 0 0 2 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 2 1 3 0;
+#X connect 5 1 13 0;
+#X connect 6 0 13 0;
+#X connect 6 1 14 0;
+#X connect 7 0 14 0;
+#X connect 7 1 15 0;
+#X connect 8 0 15 0;
+#X connect 8 1 16 0;
+#X connect 9 0 16 0;
+#X connect 9 1 17 0;
+#X connect 10 0 17 0;
+#X connect 10 1 18 0;
+#X connect 11 0 18 0;
+#X connect 11 1 19 0;
+#X connect 12 0 19 0;
+#X connect 13 0 5 1;
+#X connect 13 0 6 0;
+#X connect 13 0 21 0;
+#X connect 14 0 6 1;
+#X connect 14 0 7 0;
+#X connect 14 0 22 0;
+#X connect 15 0 7 1;
+#X connect 15 0 8 0;
+#X connect 15 0 23 0;
+#X connect 16 0 8 1;
+#X connect 16 0 9 0;
+#X connect 16 0 24 0;
+#X connect 17 0 9 1;
+#X connect 17 0 10 0;
+#X connect 17 0 25 0;
+#X connect 18 0 10 1;
+#X connect 18 0 11 0;
+#X connect 18 0 26 0;
+#X connect 19 0 11 1;
+#X connect 19 0 12 0;
+#X connect 19 0 27 0;
+#X connect 20 0 5 0;
+#X connect 28 0 12 1;
+#X connect 29 0 30 0;
+#X connect 30 0 28 0;
+#X connect 36 0 12 0;
+#X connect 38 0 12 0;
+#X connect 39 0 12 0;
+#X connect 40 0 12 0;
+#X connect 41 0 12 0;
diff --git a/examples/29_aglom.pd b/examples/29_aglom.pd
index 9ee9c3e..fca3046 100644
--- a/examples/29_aglom.pd
+++ b/examples/29_aglom.pd
@@ -1,104 +1,106 @@
-#N canvas 51 18 635 423 10;
-#X obj 18 181 t b b;
-#X obj 18 103 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 145 149 0 \, destroy;
-#X obj 111 177 gemwin;
-#X msg 111 124 reset \, create \, 1;
-#X obj 18 390 s mass;
-#X obj 266 150 s reset_mass;
-#X msg 266 128 bang;
-#X text 359 281 <- right border;
-#X text 360 303 <- left border;
-#X text 360 325 <- top border;
-#X text 360 347 <- bottom border;
-#N canvas 845 31 438 384 pool 0;
-#X obj 290 290 aglom2 29;
-#X obj 0 0 aglom2 0;
-#X obj 10 10 aglom2 1;
-#X obj 20 20 aglom2 2;
-#X obj 30 30 aglom2 3;
-#X obj 40 40 aglom2 4;
-#X obj 50 50 aglom2 5;
-#X obj 60 60 aglom2 6;
-#X obj 70 70 aglom2 7;
-#X obj 80 80 aglom2 8;
-#X obj 90 90 aglom2 9;
-#X obj 100 100 aglom2 10;
-#X obj 110 110 aglom2 11;
-#X obj 120 120 aglom2 12;
-#X obj 130 130 aglom2 13;
-#X obj 140 140 aglom2 14;
-#X obj 150 150 aglom2 15;
-#X obj 160 160 aglom2 16;
-#X obj 170 170 aglom2 17;
-#X obj 180 180 aglom2 18;
-#X obj 190 190 aglom2 19;
-#X obj 200 200 aglom2 20;
-#X obj 210 210 aglom2 21;
-#X obj 220 220 aglom2 22;
-#X obj 230 230 aglom2 23;
-#X obj 240 240 aglom2 24;
-#X obj 250 250 aglom2 25;
-#X obj 260 260 aglom2 26;
-#X obj 270 270 aglom2 27;
-#X obj 280 280 aglom2 28;
-#X restore 398 132 pd pool;
-#N canvas 860 482 315 409 creation 0;
-#X obj 43 319 s pd-new;
-#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 43 289 menuclose;
-#X obj 76 238 pack f f f;
-#X obj 43 47 sel 0 1;
-#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X obj 76 187 t f f f;
-#X obj 103 211 * 10;
-#X obj 76 211 * 10;
-#X msg 76 265 obj \$1 \$2 aglom2 \$3;
-#X obj 61 163 ch_uzi 30;
-#X connect 2 0 0 0;
-#X connect 3 0 10 0;
-#X connect 4 0 2 0;
-#X connect 4 1 6 0;
-#X connect 5 0 4 0;
-#X connect 6 0 11 0;
-#X connect 6 1 1 0;
-#X connect 7 0 9 0;
-#X connect 7 1 8 0;
-#X connect 7 2 3 2;
-#X connect 8 0 3 1;
-#X connect 9 0 3 0;
-#X connect 10 0 0 0;
-#X connect 11 1 7 0;
-#X restore 398 158 pd creation pool;
-#X obj 61 214 s link;
-#X obj 18 154 metro 5;
-#X obj 53 280 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
-#X obj 63 304 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
-#X obj 78 327 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
-#X obj 89 350 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
-#X text 50 100 <- begin (change the metro speed for slow computer)
-;
-#X floatatom 55 123 5 0 0 0 - - -;
-#X obj 43 260 iAmbient2D mass 0 0 0.01 0.01 1;
-#X text 359 257 <- give random speed and ambient viscosity;
-#X text 174 35 All masss got 2 circular interactors around them. This
-create a non linear interactor. this make them to atract / repuls depending
-on ther distances....;
-#X text 177 6 All masss interact each other in a way for the creation
-of small structures;
-#X connect 0 0 5 0;
-#X connect 0 1 14 0;
-#X connect 0 1 16 0;
-#X connect 0 1 17 0;
-#X connect 0 1 18 0;
-#X connect 0 1 19 0;
-#X connect 0 1 22 0;
-#X connect 1 0 15 0;
-#X connect 2 0 3 0;
-#X connect 4 0 3 0;
-#X connect 7 0 6 0;
-#X connect 15 0 0 0;
-#X connect 21 0 15 1;
+#N canvas 47 91 635 423 10;
+#X declare -lib Gem;
+#X obj 18 181 t b b;
+#X obj 18 103 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 145 149 0 \, destroy;
+#X obj 111 177 gemwin;
+#X msg 111 124 reset \, create \, 1;
+#X obj 18 390 s mass;
+#X obj 266 150 s reset_mass;
+#X msg 266 128 bang;
+#X text 359 281 <- right border;
+#X text 360 303 <- left border;
+#X text 360 325 <- top border;
+#X text 360 347 <- bottom border;
+#N canvas 845 31 438 384 pool 0;
+#X obj 290 290 aglom2 29;
+#X obj 0 0 aglom2 0;
+#X obj 10 10 aglom2 1;
+#X obj 20 20 aglom2 2;
+#X obj 30 30 aglom2 3;
+#X obj 40 40 aglom2 4;
+#X obj 50 50 aglom2 5;
+#X obj 60 60 aglom2 6;
+#X obj 70 70 aglom2 7;
+#X obj 80 80 aglom2 8;
+#X obj 90 90 aglom2 9;
+#X obj 100 100 aglom2 10;
+#X obj 110 110 aglom2 11;
+#X obj 120 120 aglom2 12;
+#X obj 130 130 aglom2 13;
+#X obj 140 140 aglom2 14;
+#X obj 150 150 aglom2 15;
+#X obj 160 160 aglom2 16;
+#X obj 170 170 aglom2 17;
+#X obj 180 180 aglom2 18;
+#X obj 190 190 aglom2 19;
+#X obj 200 200 aglom2 20;
+#X obj 210 210 aglom2 21;
+#X obj 220 220 aglom2 22;
+#X obj 230 230 aglom2 23;
+#X obj 240 240 aglom2 24;
+#X obj 250 250 aglom2 25;
+#X obj 260 260 aglom2 26;
+#X obj 270 270 aglom2 27;
+#X obj 280 280 aglom2 28;
+#X restore 398 132 pd pool;
+#N canvas 860 482 315 409 creation 0;
+#X obj 43 319 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 43 289 menuclose;
+#X obj 76 238 pack f f f;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 76 187 t f f f;
+#X obj 103 211 * 10;
+#X obj 76 211 * 10;
+#X msg 76 265 obj \$1 \$2 aglom2 \$3;
+#X obj 61 163 ch_uzi 30;
+#X connect 2 0 0 0;
+#X connect 3 0 10 0;
+#X connect 4 0 2 0;
+#X connect 4 1 6 0;
+#X connect 5 0 4 0;
+#X connect 6 0 11 0;
+#X connect 6 1 1 0;
+#X connect 7 0 9 0;
+#X connect 7 1 8 0;
+#X connect 7 2 3 2;
+#X connect 8 0 3 1;
+#X connect 9 0 3 0;
+#X connect 10 0 0 0;
+#X connect 11 1 7 0;
+#X restore 398 158 pd creation pool;
+#X obj 61 214 s link;
+#X obj 18 154 metro 5;
+#X obj 53 280 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 63 304 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X obj 78 327 iLine2D mass 3.5 3.5 -3.5 3.5 1000 0 0 10;
+#X obj 89 350 iLine2D mass -3.5 -3.5 3.5 -3.5 1000 0 0 10;
+#X text 50 100 <- begin (change the metro speed for slow computer)
+;
+#X floatatom 55 123 5 0 0 0 - - -;
+#X obj 43 260 iAmbient2D mass 0 0 0.01 0.01 1;
+#X text 359 257 <- give random speed and ambient viscosity;
+#X text 215 46 All masss got 2 circular interactors around them. This
+create a non linear interactor. this make them to atract / repuls depending
+on ther distances....;
+#X text 218 17 All masss interact each other in a way for the creation
+of small structures;
+#X obj 20 23 declare -lib Gem;
+#X connect 0 0 5 0;
+#X connect 0 1 14 0;
+#X connect 0 1 16 0;
+#X connect 0 1 17 0;
+#X connect 0 1 18 0;
+#X connect 0 1 19 0;
+#X connect 0 1 22 0;
+#X connect 1 0 15 0;
+#X connect 2 0 3 0;
+#X connect 4 0 3 0;
+#X connect 7 0 6 0;
+#X connect 15 0 0 0;
+#X connect 21 0 15 1;
diff --git a/examples/30_falling_aglom.pd b/examples/30_falling_aglom.pd
index 1947ff3..f844b8b 100644
--- a/examples/30_falling_aglom.pd
+++ b/examples/30_falling_aglom.pd
@@ -1,167 +1,169 @@
-#N canvas 53 34 632 373 10;
-#X obj 18 137 t b b;
-#X obj 18 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 146 95 0 \, destroy;
-#X obj 111 123 gemwin;
-#X obj 18 337 s mass;
-#X text 359 227 <- right border;
-#X text 360 249 <- left border;
-#X text 357 307 <- top border;
-#X text 358 276 <- bottom border;
-#N canvas 527 17 819 225 pool 0;
-#X obj 320 120 aglom3 0 11;
-#X obj 160 0 aglom3 -2 5;
-#X obj 0 0 aglom3 -4 5;
-#X obj 80 0 aglom3 -3 5;
-#X obj 240 0 aglom3 -1 5;
-#X obj 320 0 aglom3 0 5;
-#X obj 400 0 aglom3 1 5;
-#X obj 480 0 aglom3 2 5;
-#X obj 560 0 aglom3 3 5;
-#X obj 640 0 aglom3 4 5;
-#X obj 0 20 aglom3 -4 6;
-#X obj 80 20 aglom3 -3 6;
-#X obj 160 20 aglom3 -2 6;
-#X obj 240 20 aglom3 -1 6;
-#X obj 320 20 aglom3 0 6;
-#X obj 400 20 aglom3 1 6;
-#X obj 480 20 aglom3 2 6;
-#X obj 560 20 aglom3 3 6;
-#X obj 640 20 aglom3 4 6;
-#X obj 0 40 aglom3 -4 7;
-#X obj 80 40 aglom3 -3 7;
-#X obj 160 40 aglom3 -2 7;
-#X obj 240 40 aglom3 -1 7;
-#X obj 320 40 aglom3 0 7;
-#X obj 400 40 aglom3 1 7;
-#X obj 480 40 aglom3 2 7;
-#X obj 560 40 aglom3 3 7;
-#X obj 640 40 aglom3 4 7;
-#X obj 0 60 aglom3 -4 8;
-#X obj 80 60 aglom3 -3 8;
-#X obj 160 60 aglom3 -2 8;
-#X obj 240 60 aglom3 -1 8;
-#X obj 320 60 aglom3 0 8;
-#X obj 400 60 aglom3 1 8;
-#X obj 480 60 aglom3 2 8;
-#X obj 560 60 aglom3 3 8;
-#X obj 640 60 aglom3 4 8;
-#X obj 0 80 aglom3 -4 9;
-#X obj 80 80 aglom3 -3 9;
-#X obj 160 80 aglom3 -2 9;
-#X obj 240 80 aglom3 -1 9;
-#X obj 320 80 aglom3 0 9;
-#X obj 400 80 aglom3 1 9;
-#X obj 480 80 aglom3 2 9;
-#X obj 560 80 aglom3 3 9;
-#X obj 640 80 aglom3 4 9;
-#X obj 0 100 aglom3 -4 10;
-#X obj 80 100 aglom3 -3 10;
-#X obj 160 100 aglom3 -2 10;
-#X obj 240 100 aglom3 -1 10;
-#X obj 320 100 aglom3 0 10;
-#X obj 400 100 aglom3 1 10;
-#X obj 480 100 aglom3 2 10;
-#X obj 560 100 aglom3 3 10;
-#X obj 640 100 aglom3 4 10;
-#X obj 0 120 aglom3 -4 11;
-#X obj 80 120 aglom3 -3 11;
-#X obj 160 120 aglom3 -2 11;
-#X obj 240 120 aglom3 -1 11;
-#X obj 400 120 aglom3 1 11;
-#X obj 480 120 aglom3 2 11;
-#X obj 560 120 aglom3 3 11;
-#X obj 640 120 aglom3 4 11;
-#X restore 398 78 pd pool;
-#N canvas 860 482 321 415 creation 0;
-#X obj 46 380 s pd-new;
-#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 46 350 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X msg 79 325 obj \$1 \$2 aglom3 \$3 \$4;
-#X obj 79 299 pack f f f f;
-#X obj 171 259 + 5;
-#X obj 70 228 t f f;
-#X obj 107 272 * 20;
-#X obj 81 272 * 80;
-#X obj 140 240 / 1;
-#X obj 171 237 / 1;
-#X obj 143 263 - 4;
-#X obj 61 163 ch_uzi 8;
-#X obj 60 203 ch_uzi 9;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 15 0;
-#X connect 5 1 1 0;
-#X connect 6 0 0 0;
-#X connect 7 0 6 0;
-#X connect 8 0 7 3;
-#X connect 9 0 11 0;
-#X connect 9 1 12 0;
-#X connect 10 0 7 1;
-#X connect 11 0 7 0;
-#X connect 12 0 14 0;
-#X connect 13 0 8 0;
-#X connect 14 0 7 2;
-#X connect 15 0 16 0;
-#X connect 15 1 10 0;
-#X connect 15 1 13 0;
-#X connect 16 1 9 0;
-#X restore 398 104 pd creation pool;
-#X obj 61 160 s link;
-#X obj 18 100 metro 5;
-#X obj 53 226 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
-#X obj 63 250 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
-#X text 50 45 <- begin (change the metro speed for slow computer);
-#X floatatom 55 69 5 0 0 0 - - -;
-#X text 359 203 <- give random speed and ambient viscosity;
-#X msg 243 98 reset;
-#X obj 244 120 s mass;
-#N canvas 828 304 454 304 line 0;
-#X obj 62 28 gemhead;
-#X obj 60 82 curve 2;
-#X msg 136 58 5 8 0;
-#X obj 57 135 gemhead;
-#X obj 55 189 curve 2;
-#X msg 132 165 -5 8 0;
-#X obj 162 21 loadbang;
-#X msg 79 55 0.2 3 0;
-#X msg 74 162 -0.2 3 0;
-#X connect 0 0 1 0;
-#X connect 2 0 1 2;
-#X connect 3 0 4 0;
-#X connect 5 0 4 2;
-#X connect 6 0 7 0;
-#X connect 6 0 2 0;
-#X connect 6 0 8 0;
-#X connect 6 0 5 0;
-#X connect 7 0 1 1;
-#X connect 8 0 4 1;
-#X restore 398 131 pd line gem;
-#X obj 77 272 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 10;
-#X obj 90 195 iAmbient2D mass 0 -0.0015 0 0 0.4;
-#X obj 160 317 iSeg2D mass -5 8 -0.2 3 1 0.5;
-#X obj 165 298 iSeg2D mass 0.2 3 5 8 1 0.5;
-#X msg 111 70 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
-#X text 145 10 It's the same as previus exemple \, but in a gravity
-field.;
-#X connect 0 0 4 0;
-#X connect 0 1 11 0;
-#X connect 0 1 13 0;
-#X connect 0 1 14 0;
-#X connect 0 1 21 0;
-#X connect 0 1 22 0;
-#X connect 0 1 23 0;
-#X connect 0 1 24 0;
-#X connect 1 0 12 0;
-#X connect 2 0 3 0;
-#X connect 12 0 0 0;
-#X connect 16 0 12 1;
-#X connect 18 0 19 0;
-#X connect 25 0 3 0;
+#N canvas 49 91 632 373 10;
+#X declare -lib Gem;
+#X obj 18 137 t b b;
+#X obj 18 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 146 95 0 \, destroy;
+#X obj 111 123 gemwin;
+#X obj 18 337 s mass;
+#X text 359 227 <- right border;
+#X text 360 249 <- left border;
+#X text 357 307 <- top border;
+#X text 358 276 <- bottom border;
+#N canvas 527 17 819 225 pool 0;
+#X obj 320 120 aglom3 0 11;
+#X obj 160 0 aglom3 -2 5;
+#X obj 0 0 aglom3 -4 5;
+#X obj 80 0 aglom3 -3 5;
+#X obj 240 0 aglom3 -1 5;
+#X obj 320 0 aglom3 0 5;
+#X obj 400 0 aglom3 1 5;
+#X obj 480 0 aglom3 2 5;
+#X obj 560 0 aglom3 3 5;
+#X obj 640 0 aglom3 4 5;
+#X obj 0 20 aglom3 -4 6;
+#X obj 80 20 aglom3 -3 6;
+#X obj 160 20 aglom3 -2 6;
+#X obj 240 20 aglom3 -1 6;
+#X obj 320 20 aglom3 0 6;
+#X obj 400 20 aglom3 1 6;
+#X obj 480 20 aglom3 2 6;
+#X obj 560 20 aglom3 3 6;
+#X obj 640 20 aglom3 4 6;
+#X obj 0 40 aglom3 -4 7;
+#X obj 80 40 aglom3 -3 7;
+#X obj 160 40 aglom3 -2 7;
+#X obj 240 40 aglom3 -1 7;
+#X obj 320 40 aglom3 0 7;
+#X obj 400 40 aglom3 1 7;
+#X obj 480 40 aglom3 2 7;
+#X obj 560 40 aglom3 3 7;
+#X obj 640 40 aglom3 4 7;
+#X obj 0 60 aglom3 -4 8;
+#X obj 80 60 aglom3 -3 8;
+#X obj 160 60 aglom3 -2 8;
+#X obj 240 60 aglom3 -1 8;
+#X obj 320 60 aglom3 0 8;
+#X obj 400 60 aglom3 1 8;
+#X obj 480 60 aglom3 2 8;
+#X obj 560 60 aglom3 3 8;
+#X obj 640 60 aglom3 4 8;
+#X obj 0 80 aglom3 -4 9;
+#X obj 80 80 aglom3 -3 9;
+#X obj 160 80 aglom3 -2 9;
+#X obj 240 80 aglom3 -1 9;
+#X obj 320 80 aglom3 0 9;
+#X obj 400 80 aglom3 1 9;
+#X obj 480 80 aglom3 2 9;
+#X obj 560 80 aglom3 3 9;
+#X obj 640 80 aglom3 4 9;
+#X obj 0 100 aglom3 -4 10;
+#X obj 80 100 aglom3 -3 10;
+#X obj 160 100 aglom3 -2 10;
+#X obj 240 100 aglom3 -1 10;
+#X obj 320 100 aglom3 0 10;
+#X obj 400 100 aglom3 1 10;
+#X obj 480 100 aglom3 2 10;
+#X obj 560 100 aglom3 3 10;
+#X obj 640 100 aglom3 4 10;
+#X obj 0 120 aglom3 -4 11;
+#X obj 80 120 aglom3 -3 11;
+#X obj 160 120 aglom3 -2 11;
+#X obj 240 120 aglom3 -1 11;
+#X obj 400 120 aglom3 1 11;
+#X obj 480 120 aglom3 2 11;
+#X obj 560 120 aglom3 3 11;
+#X obj 640 120 aglom3 4 11;
+#X restore 398 78 pd pool;
+#N canvas 860 482 321 415 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X msg 79 325 obj \$1 \$2 aglom3 \$3 \$4;
+#X obj 79 299 pack f f f f;
+#X obj 171 259 + 5;
+#X obj 70 228 t f f;
+#X obj 107 272 * 20;
+#X obj 81 272 * 80;
+#X obj 140 240 / 1;
+#X obj 171 237 / 1;
+#X obj 143 263 - 4;
+#X obj 61 163 ch_uzi 8;
+#X obj 60 203 ch_uzi 9;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 15 0;
+#X connect 5 1 1 0;
+#X connect 6 0 0 0;
+#X connect 7 0 6 0;
+#X connect 8 0 7 3;
+#X connect 9 0 11 0;
+#X connect 9 1 12 0;
+#X connect 10 0 7 1;
+#X connect 11 0 7 0;
+#X connect 12 0 14 0;
+#X connect 13 0 8 0;
+#X connect 14 0 7 2;
+#X connect 15 0 16 0;
+#X connect 15 1 10 0;
+#X connect 15 1 13 0;
+#X connect 16 1 9 0;
+#X restore 398 104 pd creation pool;
+#X obj 61 160 s link;
+#X obj 18 100 metro 5;
+#X obj 53 226 iLine2D mass 3.5 -3.5 3.5 3.5 1000 0 0 10;
+#X obj 63 250 iLine2D mass -3.5 3.5 -3.5 -3.5 1000 0 0 10;
+#X text 50 45 <- begin (change the metro speed for slow computer);
+#X floatatom 55 69 5 0 0 0 - - -;
+#X text 359 203 <- give random speed and ambient viscosity;
+#X msg 243 98 reset;
+#X obj 244 120 s mass;
+#N canvas 828 304 454 304 line 0;
+#X obj 62 28 gemhead;
+#X obj 60 82 curve 2;
+#X msg 136 58 5 8 0;
+#X obj 57 135 gemhead;
+#X obj 55 189 curve 2;
+#X msg 132 165 -5 8 0;
+#X obj 162 21 loadbang;
+#X msg 79 55 0.2 3 0;
+#X msg 74 162 -0.2 3 0;
+#X connect 0 0 1 0;
+#X connect 2 0 1 2;
+#X connect 3 0 4 0;
+#X connect 5 0 4 2;
+#X connect 6 0 7 0;
+#X connect 6 0 2 0;
+#X connect 6 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X restore 398 131 pd line gem;
+#X obj 77 272 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 10;
+#X obj 90 195 iAmbient2D mass 0 -0.0015 0 0 0.4;
+#X obj 160 317 iSeg2D mass -5 8 -0.2 3 1 0.5;
+#X obj 165 298 iSeg2D mass 0.2 3 5 8 1 0.5;
+#X msg 111 70 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X text 208 25 It's the same as previus exemple \, but in a gravity
+field.;
+#X obj 13 2 declare -lib Gem;
+#X connect 0 0 4 0;
+#X connect 0 1 11 0;
+#X connect 0 1 13 0;
+#X connect 0 1 14 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 0 1 23 0;
+#X connect 0 1 24 0;
+#X connect 1 0 12 0;
+#X connect 2 0 3 0;
+#X connect 12 0 0 0;
+#X connect 16 0 12 1;
+#X connect 18 0 19 0;
+#X connect 25 0 3 0;
diff --git a/examples/31_paste.pd b/examples/31_paste.pd
index 6cf317d..2b9af28 100644
--- a/examples/31_paste.pd
+++ b/examples/31_paste.pd
@@ -1,206 +1,208 @@
-#N canvas 36 58 602 351 10;
-#X obj 10 157 t b b;
-#X obj 10 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 141 115 0 \, destroy;
-#X obj 106 143 gemwin;
-#X obj 9 306 s mass;
-#X text 364 271 <- top border;
-#X text 365 240 <- bottom border;
-#N canvas 527 17 851 257 pool 0;
-#X obj 400 180 aglom4 0 15;
-#X obj 240 180 aglom4 -2 15;
-#X obj 320 160 aglom4 -1 14;
-#X obj 0 0 aglom4 -5 6;
-#X obj 80 0 aglom4 -4 6;
-#X obj 160 0 aglom4 -3 6;
-#X obj 240 0 aglom4 -2 6;
-#X obj 320 0 aglom4 -1 6;
-#X obj 400 0 aglom4 0 6;
-#X obj 480 0 aglom4 1 6;
-#X obj 560 0 aglom4 2 6;
-#X obj 640 0 aglom4 3 6;
-#X obj 720 0 aglom4 4 6;
-#X obj 800 0 aglom4 5 6;
-#X obj 0 20 aglom4 -5 7;
-#X obj 80 20 aglom4 -4 7;
-#X obj 160 20 aglom4 -3 7;
-#X obj 240 20 aglom4 -2 7;
-#X obj 320 20 aglom4 -1 7;
-#X obj 400 20 aglom4 0 7;
-#X obj 480 20 aglom4 1 7;
-#X obj 560 20 aglom4 2 7;
-#X obj 640 20 aglom4 3 7;
-#X obj 720 20 aglom4 4 7;
-#X obj 800 20 aglom4 5 7;
-#X obj 0 40 aglom4 -5 8;
-#X obj 80 40 aglom4 -4 8;
-#X obj 160 40 aglom4 -3 8;
-#X obj 240 40 aglom4 -2 8;
-#X obj 320 40 aglom4 -1 8;
-#X obj 400 40 aglom4 0 8;
-#X obj 480 40 aglom4 1 8;
-#X obj 560 40 aglom4 2 8;
-#X obj 640 40 aglom4 3 8;
-#X obj 720 40 aglom4 4 8;
-#X obj 800 40 aglom4 5 8;
-#X obj 0 60 aglom4 -5 9;
-#X obj 80 60 aglom4 -4 9;
-#X obj 160 60 aglom4 -3 9;
-#X obj 240 60 aglom4 -2 9;
-#X obj 320 60 aglom4 -1 9;
-#X obj 400 60 aglom4 0 9;
-#X obj 480 60 aglom4 1 9;
-#X obj 560 60 aglom4 2 9;
-#X obj 640 60 aglom4 3 9;
-#X obj 720 60 aglom4 4 9;
-#X obj 800 60 aglom4 5 9;
-#X obj 0 80 aglom4 -5 10;
-#X obj 80 80 aglom4 -4 10;
-#X obj 160 80 aglom4 -3 10;
-#X obj 240 80 aglom4 -2 10;
-#X obj 320 80 aglom4 -1 10;
-#X obj 400 80 aglom4 0 10;
-#X obj 480 80 aglom4 1 10;
-#X obj 560 80 aglom4 2 10;
-#X obj 640 80 aglom4 3 10;
-#X obj 720 80 aglom4 4 10;
-#X obj 800 80 aglom4 5 10;
-#X obj 0 100 aglom4 -5 11;
-#X obj 80 100 aglom4 -4 11;
-#X obj 160 100 aglom4 -3 11;
-#X obj 240 100 aglom4 -2 11;
-#X obj 320 100 aglom4 -1 11;
-#X obj 400 100 aglom4 0 11;
-#X obj 480 100 aglom4 1 11;
-#X obj 560 100 aglom4 2 11;
-#X obj 640 100 aglom4 3 11;
-#X obj 720 100 aglom4 4 11;
-#X obj 800 100 aglom4 5 11;
-#X obj 0 120 aglom4 -5 12;
-#X obj 80 120 aglom4 -4 12;
-#X obj 160 120 aglom4 -3 12;
-#X obj 240 120 aglom4 -2 12;
-#X obj 320 120 aglom4 -1 12;
-#X obj 400 120 aglom4 0 12;
-#X obj 480 120 aglom4 1 12;
-#X obj 560 120 aglom4 2 12;
-#X obj 640 120 aglom4 3 12;
-#X obj 720 120 aglom4 4 12;
-#X obj 800 120 aglom4 5 12;
-#X obj 0 140 aglom4 -5 13;
-#X obj 80 140 aglom4 -4 13;
-#X obj 160 140 aglom4 -3 13;
-#X obj 240 140 aglom4 -2 13;
-#X obj 320 140 aglom4 -1 13;
-#X obj 400 140 aglom4 0 13;
-#X obj 480 140 aglom4 1 13;
-#X obj 560 140 aglom4 2 13;
-#X obj 640 140 aglom4 3 13;
-#X obj 720 140 aglom4 4 13;
-#X obj 800 140 aglom4 5 13;
-#X obj 0 160 aglom4 -5 14;
-#X obj 80 160 aglom4 -4 14;
-#X obj 160 160 aglom4 -3 14;
-#X obj 240 160 aglom4 -2 14;
-#X obj 400 160 aglom4 0 14;
-#X obj 480 160 aglom4 1 14;
-#X obj 560 160 aglom4 2 14;
-#X obj 640 160 aglom4 3 14;
-#X obj 720 160 aglom4 4 14;
-#X obj 800 160 aglom4 5 14;
-#X obj 0 180 aglom4 -5 15;
-#X obj 80 180 aglom4 -4 15;
-#X obj 160 180 aglom4 -3 15;
-#X obj 320 180 aglom4 -1 15;
-#X obj 480 180 aglom4 1 15;
-#X obj 560 180 aglom4 2 15;
-#X obj 640 180 aglom4 3 15;
-#X obj 720 180 aglom4 4 15;
-#X obj 800 180 aglom4 5 15;
-#X restore 393 99 pd pool;
-#N canvas 860 482 327 421 creation 0;
-#X obj 46 380 s pd-new;
-#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 46 350 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X obj 79 299 pack f f f f;
-#X obj 70 228 t f f;
-#X obj 107 272 * 20;
-#X obj 81 272 * 80;
-#X msg 79 325 obj \$1 \$2 aglom4 \$3 \$4;
-#X obj 60 183 t b f;
-#X obj 171 259 + 6;
-#X obj 143 263 - 5;
-#X obj 61 163 ch_uzi 10;
-#X obj 60 203 ch_uzi 11;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 14 0;
-#X connect 5 1 1 0;
-#X connect 6 0 10 0;
-#X connect 7 0 9 0;
-#X connect 7 1 13 0;
-#X connect 8 0 6 1;
-#X connect 9 0 6 0;
-#X connect 10 0 0 0;
-#X connect 11 0 15 0;
-#X connect 11 1 8 0;
-#X connect 11 1 12 0;
-#X connect 12 0 6 3;
-#X connect 13 0 6 2;
-#X connect 14 1 11 0;
-#X connect 15 1 7 0;
-#X restore 393 125 pd creation pool;
-#X obj 56 180 s link;
-#X text 227 12 All masss interact each other;
-#X text 42 66 <- begin (change the metro speed for slow computer);
-#X floatatom 47 89 5 0 0 0 - - -;
-#X msg 238 118 reset;
-#X obj 238 140 s mass;
-#N canvas 828 304 460 310 line 0;
-#X obj 62 28 gemhead;
-#X obj 60 82 curve 2;
-#X msg 136 58 5 8 0;
-#X obj 57 135 gemhead;
-#X obj 55 189 curve 2;
-#X msg 132 165 -5 8 0;
-#X obj 162 21 loadbang;
-#X msg 79 55 0.5 3 0;
-#X msg 74 161 -0.5 3 0;
-#X connect 0 0 1 0;
-#X connect 2 0 1 2;
-#X connect 3 0 4 0;
-#X connect 5 0 4 2;
-#X connect 6 0 7 0;
-#X connect 6 0 2 0;
-#X connect 6 0 8 0;
-#X connect 6 0 5 0;
-#X connect 7 0 1 1;
-#X connect 8 0 4 1;
-#X restore 393 151 pd line gem;
-#X obj 91 239 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 1;
-#X obj 73 213 iAmbient2D mass 0 -0.0015 0 0 0.04;
-#X obj 10 120 metro 10;
-#X text 366 209 <- give gravity and ambient viscosity;
-#X msg 106 90 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
-#X obj 109 263 iSeg2D mass 0.5 3 5 8 2 0.1;
-#X obj 126 284 iSeg2D mass -5 8 -0.5 3 2 0.1;
-#X text 163 25 they got a viscosity link. the global comportement is
-a bit like paste;
-#X connect 0 0 4 0;
-#X connect 0 1 9 0;
-#X connect 0 1 17 0;
-#X connect 0 1 21 0;
-#X connect 0 1 22 0;
-#X connect 1 0 18 0;
-#X connect 2 0 3 0;
-#X connect 12 0 18 1;
-#X connect 13 0 14 0;
-#X connect 18 0 0 0;
-#X connect 20 0 3 0;
+#N canvas 32 91 602 351 10;
+#X declare -lib Gem;
+#X obj 10 157 t b b;
+#X obj 10 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 141 115 0 \, destroy;
+#X obj 106 143 gemwin;
+#X obj 9 306 s mass;
+#X text 364 271 <- top border;
+#X text 365 240 <- bottom border;
+#N canvas 527 17 851 257 pool 0;
+#X obj 400 180 aglom4 0 15;
+#X obj 240 180 aglom4 -2 15;
+#X obj 320 160 aglom4 -1 14;
+#X obj 0 0 aglom4 -5 6;
+#X obj 80 0 aglom4 -4 6;
+#X obj 160 0 aglom4 -3 6;
+#X obj 240 0 aglom4 -2 6;
+#X obj 320 0 aglom4 -1 6;
+#X obj 400 0 aglom4 0 6;
+#X obj 480 0 aglom4 1 6;
+#X obj 560 0 aglom4 2 6;
+#X obj 640 0 aglom4 3 6;
+#X obj 720 0 aglom4 4 6;
+#X obj 800 0 aglom4 5 6;
+#X obj 0 20 aglom4 -5 7;
+#X obj 80 20 aglom4 -4 7;
+#X obj 160 20 aglom4 -3 7;
+#X obj 240 20 aglom4 -2 7;
+#X obj 320 20 aglom4 -1 7;
+#X obj 400 20 aglom4 0 7;
+#X obj 480 20 aglom4 1 7;
+#X obj 560 20 aglom4 2 7;
+#X obj 640 20 aglom4 3 7;
+#X obj 720 20 aglom4 4 7;
+#X obj 800 20 aglom4 5 7;
+#X obj 0 40 aglom4 -5 8;
+#X obj 80 40 aglom4 -4 8;
+#X obj 160 40 aglom4 -3 8;
+#X obj 240 40 aglom4 -2 8;
+#X obj 320 40 aglom4 -1 8;
+#X obj 400 40 aglom4 0 8;
+#X obj 480 40 aglom4 1 8;
+#X obj 560 40 aglom4 2 8;
+#X obj 640 40 aglom4 3 8;
+#X obj 720 40 aglom4 4 8;
+#X obj 800 40 aglom4 5 8;
+#X obj 0 60 aglom4 -5 9;
+#X obj 80 60 aglom4 -4 9;
+#X obj 160 60 aglom4 -3 9;
+#X obj 240 60 aglom4 -2 9;
+#X obj 320 60 aglom4 -1 9;
+#X obj 400 60 aglom4 0 9;
+#X obj 480 60 aglom4 1 9;
+#X obj 560 60 aglom4 2 9;
+#X obj 640 60 aglom4 3 9;
+#X obj 720 60 aglom4 4 9;
+#X obj 800 60 aglom4 5 9;
+#X obj 0 80 aglom4 -5 10;
+#X obj 80 80 aglom4 -4 10;
+#X obj 160 80 aglom4 -3 10;
+#X obj 240 80 aglom4 -2 10;
+#X obj 320 80 aglom4 -1 10;
+#X obj 400 80 aglom4 0 10;
+#X obj 480 80 aglom4 1 10;
+#X obj 560 80 aglom4 2 10;
+#X obj 640 80 aglom4 3 10;
+#X obj 720 80 aglom4 4 10;
+#X obj 800 80 aglom4 5 10;
+#X obj 0 100 aglom4 -5 11;
+#X obj 80 100 aglom4 -4 11;
+#X obj 160 100 aglom4 -3 11;
+#X obj 240 100 aglom4 -2 11;
+#X obj 320 100 aglom4 -1 11;
+#X obj 400 100 aglom4 0 11;
+#X obj 480 100 aglom4 1 11;
+#X obj 560 100 aglom4 2 11;
+#X obj 640 100 aglom4 3 11;
+#X obj 720 100 aglom4 4 11;
+#X obj 800 100 aglom4 5 11;
+#X obj 0 120 aglom4 -5 12;
+#X obj 80 120 aglom4 -4 12;
+#X obj 160 120 aglom4 -3 12;
+#X obj 240 120 aglom4 -2 12;
+#X obj 320 120 aglom4 -1 12;
+#X obj 400 120 aglom4 0 12;
+#X obj 480 120 aglom4 1 12;
+#X obj 560 120 aglom4 2 12;
+#X obj 640 120 aglom4 3 12;
+#X obj 720 120 aglom4 4 12;
+#X obj 800 120 aglom4 5 12;
+#X obj 0 140 aglom4 -5 13;
+#X obj 80 140 aglom4 -4 13;
+#X obj 160 140 aglom4 -3 13;
+#X obj 240 140 aglom4 -2 13;
+#X obj 320 140 aglom4 -1 13;
+#X obj 400 140 aglom4 0 13;
+#X obj 480 140 aglom4 1 13;
+#X obj 560 140 aglom4 2 13;
+#X obj 640 140 aglom4 3 13;
+#X obj 720 140 aglom4 4 13;
+#X obj 800 140 aglom4 5 13;
+#X obj 0 160 aglom4 -5 14;
+#X obj 80 160 aglom4 -4 14;
+#X obj 160 160 aglom4 -3 14;
+#X obj 240 160 aglom4 -2 14;
+#X obj 400 160 aglom4 0 14;
+#X obj 480 160 aglom4 1 14;
+#X obj 560 160 aglom4 2 14;
+#X obj 640 160 aglom4 3 14;
+#X obj 720 160 aglom4 4 14;
+#X obj 800 160 aglom4 5 14;
+#X obj 0 180 aglom4 -5 15;
+#X obj 80 180 aglom4 -4 15;
+#X obj 160 180 aglom4 -3 15;
+#X obj 320 180 aglom4 -1 15;
+#X obj 480 180 aglom4 1 15;
+#X obj 560 180 aglom4 2 15;
+#X obj 640 180 aglom4 3 15;
+#X obj 720 180 aglom4 4 15;
+#X obj 800 180 aglom4 5 15;
+#X restore 393 99 pd pool;
+#N canvas 860 482 327 421 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 79 299 pack f f f f;
+#X obj 70 228 t f f;
+#X obj 107 272 * 20;
+#X obj 81 272 * 80;
+#X msg 79 325 obj \$1 \$2 aglom4 \$3 \$4;
+#X obj 60 183 t b f;
+#X obj 171 259 + 6;
+#X obj 143 263 - 5;
+#X obj 61 163 ch_uzi 10;
+#X obj 60 203 ch_uzi 11;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 14 0;
+#X connect 5 1 1 0;
+#X connect 6 0 10 0;
+#X connect 7 0 9 0;
+#X connect 7 1 13 0;
+#X connect 8 0 6 1;
+#X connect 9 0 6 0;
+#X connect 10 0 0 0;
+#X connect 11 0 15 0;
+#X connect 11 1 8 0;
+#X connect 11 1 12 0;
+#X connect 12 0 6 3;
+#X connect 13 0 6 2;
+#X connect 14 1 11 0;
+#X connect 15 1 7 0;
+#X restore 393 125 pd creation pool;
+#X obj 56 180 s link;
+#X text 227 12 All masss interact each other;
+#X text 42 66 <- begin (change the metro speed for slow computer);
+#X floatatom 47 89 5 0 0 0 - - -;
+#X msg 238 118 reset;
+#X obj 238 140 s mass;
+#N canvas 828 304 460 310 line 0;
+#X obj 62 28 gemhead;
+#X obj 60 82 curve 2;
+#X msg 136 58 5 8 0;
+#X obj 57 135 gemhead;
+#X obj 55 189 curve 2;
+#X msg 132 165 -5 8 0;
+#X obj 162 21 loadbang;
+#X msg 79 55 0.5 3 0;
+#X msg 74 161 -0.5 3 0;
+#X connect 0 0 1 0;
+#X connect 2 0 1 2;
+#X connect 3 0 4 0;
+#X connect 5 0 4 2;
+#X connect 6 0 7 0;
+#X connect 6 0 2 0;
+#X connect 6 0 8 0;
+#X connect 6 0 5 0;
+#X connect 7 0 1 1;
+#X connect 8 0 4 1;
+#X restore 393 151 pd line gem;
+#X obj 91 239 iLine2D mass -3.5 -7.5 3.5 -7.5 1000 0 0 1;
+#X obj 73 213 iAmbient2D mass 0 -0.0015 0 0 0.04;
+#X obj 10 120 metro 10;
+#X text 366 209 <- give gravity and ambient viscosity;
+#X msg 106 90 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X obj 109 263 iSeg2D mass 0.5 3 5 8 2 0.1;
+#X obj 126 284 iSeg2D mass -5 8 -0.5 3 2 0.1;
+#X text 163 25 they got a viscosity link. the global comportement is
+a bit like paste;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 4 0;
+#X connect 0 1 9 0;
+#X connect 0 1 17 0;
+#X connect 0 1 21 0;
+#X connect 0 1 22 0;
+#X connect 1 0 18 0;
+#X connect 2 0 3 0;
+#X connect 12 0 18 1;
+#X connect 13 0 14 0;
+#X connect 18 0 0 0;
+#X connect 20 0 3 0;
diff --git a/examples/32_Kelvin_Helmoltz_instability.pd b/examples/32_Kelvin_Helmoltz_instability.pd
index 746aace..85af1ed 100644
--- a/examples/32_Kelvin_Helmoltz_instability.pd
+++ b/examples/32_Kelvin_Helmoltz_instability.pd
@@ -1,160 +1,162 @@
-#N canvas 48 33 528 221 10;
-#N canvas 860 482 341 435 creation 0;
-#X obj 46 380 s pd-new;
-#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 46 350 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X obj 107 272 * 20;
-#X obj 82 272 * 20;
-#X obj 76 188 t f f;
-#X obj 79 299 pack f f f;
-#X msg 79 325 obj \$1 \$2 vortex \$3;
-#X obj 138 270 / 8;
-#X obj 136 223 - 50;
-#X obj 62 163 ch_uzi 100;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 13 0;
-#X connect 5 1 1 0;
-#X connect 6 0 9 1;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 6 0;
-#X connect 8 1 12 0;
-#X connect 9 0 10 0;
-#X connect 10 0 0 0;
-#X connect 11 0 9 2;
-#X connect 12 0 11 0;
-#X connect 13 1 8 0;
-#X restore 391 176 pd creation pool;
-#N canvas 790 67 588 512 pool 0;
-#X obj 320 320 vortex -4.25;
-#X obj 240 240 vortex -4.75;
-#X obj 0 0 vortex -6.25;
-#X obj 20 20 vortex -6.125;
-#X obj 40 40 vortex -6;
-#X obj 60 60 vortex -5.875;
-#X obj 80 80 vortex -5.75;
-#X obj 100 100 vortex -5.625;
-#X obj 120 120 vortex -5.5;
-#X obj 140 140 vortex -5.375;
-#X obj 160 160 vortex -5.25;
-#X obj 180 180 vortex -5.125;
-#X obj 200 200 vortex -5;
-#X obj 220 220 vortex -4.875;
-#X obj 260 260 vortex -4.625;
-#X obj 280 280 vortex -4.5;
-#X obj 300 300 vortex -4.375;
-#X obj 340 340 vortex -4.125;
-#X obj 360 360 vortex -4;
-#X obj 380 380 vortex -3.875;
-#X obj 400 400 vortex -3.75;
-#X obj 420 420 vortex -3.625;
-#X obj 440 440 vortex -3.5;
-#X obj 460 460 vortex -3.375;
-#X obj 480 480 vortex -3.25;
-#X obj 500 500 vortex -3.125;
-#X obj 520 520 vortex -3;
-#X obj 540 540 vortex -2.875;
-#X obj 560 560 vortex -2.75;
-#X obj 580 580 vortex -2.625;
-#X obj 600 600 vortex -2.5;
-#X obj 620 620 vortex -2.375;
-#X obj 640 640 vortex -2.25;
-#X obj 660 660 vortex -2.125;
-#X obj 680 680 vortex -2;
-#X obj 700 700 vortex -1.875;
-#X obj 720 720 vortex -1.75;
-#X obj 740 740 vortex -1.625;
-#X obj 760 760 vortex -1.5;
-#X obj 780 780 vortex -1.375;
-#X obj 800 800 vortex -1.25;
-#X obj 820 820 vortex -1.125;
-#X obj 840 840 vortex -1;
-#X obj 860 860 vortex -0.875;
-#X obj 880 880 vortex -0.75;
-#X obj 900 900 vortex -0.625;
-#X obj 920 920 vortex -0.5;
-#X obj 940 940 vortex -0.375;
-#X obj 960 960 vortex -0.25;
-#X obj 980 980 vortex -0.125;
-#X obj 1000 1000 vortex 0;
-#X obj 1020 1020 vortex 0.125;
-#X obj 1040 1040 vortex 0.25;
-#X obj 1060 1060 vortex 0.375;
-#X obj 1080 1080 vortex 0.5;
-#X obj 1100 1100 vortex 0.625;
-#X obj 1120 1120 vortex 0.75;
-#X obj 1140 1140 vortex 0.875;
-#X obj 1160 1160 vortex 1;
-#X obj 1180 1180 vortex 1.125;
-#X obj 1200 1200 vortex 1.25;
-#X obj 1220 1220 vortex 1.375;
-#X obj 1240 1240 vortex 1.5;
-#X obj 1260 1260 vortex 1.625;
-#X obj 1280 1280 vortex 1.75;
-#X obj 1300 1300 vortex 1.875;
-#X obj 1320 1320 vortex 2;
-#X obj 1340 1340 vortex 2.125;
-#X obj 1360 1360 vortex 2.25;
-#X obj 1380 1380 vortex 2.375;
-#X obj 1400 1400 vortex 2.5;
-#X obj 1420 1420 vortex 2.625;
-#X obj 1440 1440 vortex 2.75;
-#X obj 1460 1460 vortex 2.875;
-#X obj 1480 1480 vortex 3;
-#X obj 1500 1500 vortex 3.125;
-#X obj 1520 1520 vortex 3.25;
-#X obj 1540 1540 vortex 3.375;
-#X obj 1560 1560 vortex 3.5;
-#X obj 1580 1580 vortex 3.625;
-#X obj 1600 1600 vortex 3.75;
-#X obj 1620 1620 vortex 3.875;
-#X obj 1640 1640 vortex 4;
-#X obj 1660 1660 vortex 4.125;
-#X obj 1680 1680 vortex 4.25;
-#X obj 1700 1700 vortex 4.375;
-#X obj 1720 1720 vortex 4.5;
-#X obj 1740 1740 vortex 4.625;
-#X obj 1760 1760 vortex 4.75;
-#X obj 1780 1780 vortex 4.875;
-#X obj 1800 1800 vortex 5;
-#X obj 1820 1820 vortex 5.125;
-#X obj 1840 1840 vortex 5.25;
-#X obj 1860 1860 vortex 5.375;
-#X obj 1880 1880 vortex 5.5;
-#X obj 1900 1900 vortex 5.625;
-#X obj 1920 1920 vortex 5.75;
-#X obj 1940 1940 vortex 5.875;
-#X obj 1960 1960 vortex 6;
-#X obj 1980 1980 vortex 6.125;
-#X restore 391 150 pd pool;
-#X obj 18 139 t b b;
-#X obj 18 62 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 18 183 s mass;
-#X obj 43 164 s link;
-#X text 50 59 <- begin (change the metro speed for slow computer);
-#X floatatom 61 82 5 0 0 0 - - -;
-#X obj 18 113 metro 10;
-#X msg 156 128 0 \, destroy;
-#X obj 121 156 gemwin;
-#X msg 253 131 reset;
-#X msg 121 103 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
-#X obj 253 153 s mass2;
-#X text 136 -2 Simulation of a continus line of vorticity (no damping
-fluid \, 2D mouvement);
-#X text 137 25 This create a Kevin-Helmoltz instability.;
-#X connect 2 0 4 0;
-#X connect 2 1 5 0;
-#X connect 3 0 8 0;
-#X connect 7 0 8 1;
-#X connect 8 0 2 0;
-#X connect 9 0 10 0;
-#X connect 11 0 13 0;
-#X connect 12 0 10 0;
+#N canvas 44 91 528 221 10;
+#X declare -lib Gem;
+#N canvas 860 482 341 435 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 107 272 * 20;
+#X obj 82 272 * 20;
+#X obj 76 188 t f f;
+#X obj 79 299 pack f f f;
+#X msg 79 325 obj \$1 \$2 vortex \$3;
+#X obj 138 270 / 8;
+#X obj 136 223 - 50;
+#X obj 62 163 ch_uzi 100;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 13 0;
+#X connect 5 1 1 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 1 12 0;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 0 9 2;
+#X connect 12 0 11 0;
+#X connect 13 1 8 0;
+#X restore 392 195 pd creation pool;
+#N canvas 790 67 588 512 pool 0;
+#X obj 320 320 vortex -4.25;
+#X obj 240 240 vortex -4.75;
+#X obj 0 0 vortex -6.25;
+#X obj 20 20 vortex -6.125;
+#X obj 40 40 vortex -6;
+#X obj 60 60 vortex -5.875;
+#X obj 80 80 vortex -5.75;
+#X obj 100 100 vortex -5.625;
+#X obj 120 120 vortex -5.5;
+#X obj 140 140 vortex -5.375;
+#X obj 160 160 vortex -5.25;
+#X obj 180 180 vortex -5.125;
+#X obj 200 200 vortex -5;
+#X obj 220 220 vortex -4.875;
+#X obj 260 260 vortex -4.625;
+#X obj 280 280 vortex -4.5;
+#X obj 300 300 vortex -4.375;
+#X obj 340 340 vortex -4.125;
+#X obj 360 360 vortex -4;
+#X obj 380 380 vortex -3.875;
+#X obj 400 400 vortex -3.75;
+#X obj 420 420 vortex -3.625;
+#X obj 440 440 vortex -3.5;
+#X obj 460 460 vortex -3.375;
+#X obj 480 480 vortex -3.25;
+#X obj 500 500 vortex -3.125;
+#X obj 520 520 vortex -3;
+#X obj 540 540 vortex -2.875;
+#X obj 560 560 vortex -2.75;
+#X obj 580 580 vortex -2.625;
+#X obj 600 600 vortex -2.5;
+#X obj 620 620 vortex -2.375;
+#X obj 640 640 vortex -2.25;
+#X obj 660 660 vortex -2.125;
+#X obj 680 680 vortex -2;
+#X obj 700 700 vortex -1.875;
+#X obj 720 720 vortex -1.75;
+#X obj 740 740 vortex -1.625;
+#X obj 760 760 vortex -1.5;
+#X obj 780 780 vortex -1.375;
+#X obj 800 800 vortex -1.25;
+#X obj 820 820 vortex -1.125;
+#X obj 840 840 vortex -1;
+#X obj 860 860 vortex -0.875;
+#X obj 880 880 vortex -0.75;
+#X obj 900 900 vortex -0.625;
+#X obj 920 920 vortex -0.5;
+#X obj 940 940 vortex -0.375;
+#X obj 960 960 vortex -0.25;
+#X obj 980 980 vortex -0.125;
+#X obj 1000 1000 vortex 0;
+#X obj 1020 1020 vortex 0.125;
+#X obj 1040 1040 vortex 0.25;
+#X obj 1060 1060 vortex 0.375;
+#X obj 1080 1080 vortex 0.5;
+#X obj 1100 1100 vortex 0.625;
+#X obj 1120 1120 vortex 0.75;
+#X obj 1140 1140 vortex 0.875;
+#X obj 1160 1160 vortex 1;
+#X obj 1180 1180 vortex 1.125;
+#X obj 1200 1200 vortex 1.25;
+#X obj 1220 1220 vortex 1.375;
+#X obj 1240 1240 vortex 1.5;
+#X obj 1260 1260 vortex 1.625;
+#X obj 1280 1280 vortex 1.75;
+#X obj 1300 1300 vortex 1.875;
+#X obj 1320 1320 vortex 2;
+#X obj 1340 1340 vortex 2.125;
+#X obj 1360 1360 vortex 2.25;
+#X obj 1380 1380 vortex 2.375;
+#X obj 1400 1400 vortex 2.5;
+#X obj 1420 1420 vortex 2.625;
+#X obj 1440 1440 vortex 2.75;
+#X obj 1460 1460 vortex 2.875;
+#X obj 1480 1480 vortex 3;
+#X obj 1500 1500 vortex 3.125;
+#X obj 1520 1520 vortex 3.25;
+#X obj 1540 1540 vortex 3.375;
+#X obj 1560 1560 vortex 3.5;
+#X obj 1580 1580 vortex 3.625;
+#X obj 1600 1600 vortex 3.75;
+#X obj 1620 1620 vortex 3.875;
+#X obj 1640 1640 vortex 4;
+#X obj 1660 1660 vortex 4.125;
+#X obj 1680 1680 vortex 4.25;
+#X obj 1700 1700 vortex 4.375;
+#X obj 1720 1720 vortex 4.5;
+#X obj 1740 1740 vortex 4.625;
+#X obj 1760 1760 vortex 4.75;
+#X obj 1780 1780 vortex 4.875;
+#X obj 1800 1800 vortex 5;
+#X obj 1820 1820 vortex 5.125;
+#X obj 1840 1840 vortex 5.25;
+#X obj 1860 1860 vortex 5.375;
+#X obj 1880 1880 vortex 5.5;
+#X obj 1900 1900 vortex 5.625;
+#X obj 1920 1920 vortex 5.75;
+#X obj 1940 1940 vortex 5.875;
+#X obj 1960 1960 vortex 6;
+#X obj 1980 1980 vortex 6.125;
+#X restore 392 169 pd pool;
+#X obj 19 158 t b b;
+#X obj 19 81 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 19 202 s mass;
+#X obj 44 183 s link;
+#X text 51 78 <- begin (change the metro speed for slow computer);
+#X floatatom 62 101 5 0 0 0 - - -;
+#X obj 19 132 metro 10;
+#X msg 157 147 0 \, destroy;
+#X obj 122 175 gemwin;
+#X msg 254 150 reset;
+#X msg 122 122 reset \, view 0 0 -8 0 0 0 0 1 0 \, create \, 1;
+#X obj 254 172 s mass2;
+#X text 144 29 Simulation of a continus line of vorticity (no damping
+fluid \, 2D mouvement);
+#X text 144 58 This create a Kevin-Helmoltz instability.;
+#X obj 10 2 declare -lib Gem;
+#X connect 2 0 4 0;
+#X connect 2 1 5 0;
+#X connect 3 0 8 0;
+#X connect 7 0 8 1;
+#X connect 8 0 2 0;
+#X connect 9 0 10 0;
+#X connect 11 0 13 0;
+#X connect 12 0 10 0;
diff --git a/examples/33_vorticity_ellipse.pd b/examples/33_vorticity_ellipse.pd
index 4039558..914a645 100644
--- a/examples/33_vorticity_ellipse.pd
+++ b/examples/33_vorticity_ellipse.pd
@@ -1,369 +1,371 @@
-#N canvas 71 37 562 212 10;
-#N canvas 860 482 333 427 creation 0;
-#X obj 46 380 s pd-new;
-#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
-#X msg 46 350 menuclose;
-#X obj 43 47 sel 0 1;
-#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 61 72 t b b;
-#X obj 107 272 * 20;
-#X obj 82 272 * 20;
-#X obj 76 188 t f f;
-#X obj 79 299 pack f f f;
-#X msg 79 325 obj \$1 \$2 vortex2 \$3;
-#X obj 63 163 ch_uzi 36;
-#X connect 2 0 0 0;
-#X connect 3 0 2 0;
-#X connect 3 1 5 0;
-#X connect 4 0 3 0;
-#X connect 5 0 11 0;
-#X connect 5 1 1 0;
-#X connect 6 0 9 1;
-#X connect 7 0 9 0;
-#X connect 8 0 7 0;
-#X connect 8 1 6 0;
-#X connect 8 1 9 2;
-#X connect 9 0 10 0;
-#X connect 10 0 0 0;
-#X connect 11 1 8 0;
-#X restore 426 161 pd creation pool;
-#X obj 41 131 t b b;
-#X obj 41 54 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 41 175 s mass;
-#X obj 66 156 s link;
-#X text 73 51 <- begin (change the metro speed for slow computer);
-#X floatatom 90 70 5 0 0 0 - - -;
-#X msg 179 120 0 \, destroy;
-#X obj 144 148 gemwin;
-#N canvas 790 67 586 510 pool 0;
-#X obj 380 380 vortex2;
-#X obj 287 210 vortex2;
-#X obj 347 270 vortex2;
-#X obj 0 0 vortex2;
-#X obj 10 10 vortex2;
-#X obj 20 20 vortex2;
-#X obj 30 30 vortex2;
-#X obj 40 40 vortex2;
-#X obj 50 50 vortex2;
-#X obj 60 60 vortex2;
-#X obj 70 70 vortex2;
-#X obj 80 80 vortex2;
-#X obj 90 90 vortex2;
-#X obj 100 100 vortex2;
-#X obj 110 110 vortex2;
-#X obj 120 120 vortex2;
-#X obj 130 130 vortex2;
-#X obj 140 140 vortex2;
-#X obj 150 150 vortex2;
-#X obj 160 160 vortex2;
-#X obj 170 170 vortex2;
-#X obj 180 180 vortex2;
-#X obj 190 190 vortex2;
-#X obj 200 200 vortex2;
-#X obj 210 210 vortex2;
-#X obj 220 220 vortex2;
-#X obj 230 230 vortex2;
-#X obj 240 240 vortex2;
-#X obj 250 250 vortex2;
-#X obj 260 260 vortex2;
-#X obj 270 270 vortex2;
-#X obj 280 280 vortex2;
-#X obj 290 290 vortex2;
-#X obj 300 300 vortex2;
-#X obj 310 310 vortex2;
-#X obj 320 320 vortex2;
-#X obj 330 330 vortex2;
-#X obj 340 340 vortex2;
-#X obj 350 350 vortex2;
-#X obj 360 360 vortex2;
-#X obj 370 370 vortex2;
-#X obj 87 10 vortex2;
-#X obj 97 20 vortex2;
-#X obj 107 30 vortex2;
-#X obj 117 40 vortex2;
-#X obj 127 50 vortex2;
-#X obj 137 60 vortex2;
-#X obj 147 70 vortex2;
-#X obj 157 80 vortex2;
-#X obj 167 90 vortex2;
-#X obj 177 100 vortex2;
-#X obj 187 110 vortex2;
-#X obj 197 120 vortex2;
-#X obj 207 130 vortex2;
-#X obj 217 140 vortex2;
-#X obj 227 150 vortex2;
-#X obj 237 160 vortex2;
-#X obj 247 170 vortex2;
-#X obj 257 180 vortex2;
-#X obj 267 190 vortex2;
-#X obj 277 200 vortex2;
-#X obj 297 220 vortex2;
-#X obj 307 230 vortex2;
-#X obj 317 240 vortex2;
-#X obj 327 250 vortex2;
-#X obj 337 260 vortex2;
-#X obj 357 280 vortex2;
-#X obj 367 290 vortex2;
-#X obj 377 300 vortex2;
-#X obj 387 310 vortex2;
-#X obj 397 320 vortex2;
-#X obj 407 330 vortex2;
-#X obj 417 340 vortex2;
-#X obj 427 350 vortex2;
-#X obj 437 360 vortex2;
-#X obj 447 370 vortex2;
-#X obj 457 380 vortex2;
-#X obj 467 390 vortex2;
-#X obj 541 390 vortex2;
-#X obj 161 10 vortex2;
-#X obj 171 20 vortex2;
-#X obj 181 30 vortex2;
-#X obj 191 40 vortex2;
-#X obj 201 50 vortex2;
-#X obj 211 60 vortex2;
-#X obj 221 70 vortex2;
-#X obj 231 80 vortex2;
-#X obj 241 90 vortex2;
-#X obj 251 100 vortex2;
-#X obj 261 110 vortex2;
-#X obj 271 120 vortex2;
-#X obj 281 130 vortex2;
-#X obj 291 140 vortex2;
-#X obj 301 150 vortex2;
-#X obj 311 160 vortex2;
-#X obj 321 170 vortex2;
-#X obj 331 180 vortex2;
-#X obj 341 190 vortex2;
-#X obj 351 200 vortex2;
-#X obj 361 210 vortex2;
-#X obj 371 220 vortex2;
-#X obj 381 230 vortex2;
-#X obj 391 240 vortex2;
-#X obj 401 250 vortex2;
-#X obj 411 260 vortex2;
-#X obj 421 270 vortex2;
-#X obj 431 280 vortex2;
-#X obj 441 290 vortex2;
-#X obj 451 300 vortex2;
-#X obj 461 310 vortex2;
-#X obj 471 320 vortex2;
-#X obj 481 330 vortex2;
-#X obj 491 340 vortex2;
-#X obj 501 350 vortex2;
-#X obj 511 360 vortex2;
-#X obj 521 370 vortex2;
-#X obj 531 380 vortex2;
-#X obj 248 20 vortex2;
-#X obj 258 30 vortex2;
-#X obj 268 40 vortex2;
-#X obj 278 50 vortex2;
-#X obj 288 60 vortex2;
-#X obj 298 70 vortex2;
-#X obj 308 80 vortex2;
-#X obj 318 90 vortex2;
-#X obj 328 100 vortex2;
-#X obj 338 110 vortex2;
-#X obj 348 120 vortex2;
-#X obj 358 130 vortex2;
-#X obj 368 140 vortex2;
-#X obj 378 150 vortex2;
-#X obj 388 160 vortex2;
-#X obj 398 170 vortex2;
-#X obj 408 180 vortex2;
-#X obj 418 190 vortex2;
-#X obj 428 200 vortex2;
-#X obj 438 210 vortex2;
-#X obj 448 220 vortex2;
-#X obj 458 230 vortex2;
-#X obj 468 240 vortex2;
-#X obj 478 250 vortex2;
-#X obj 488 260 vortex2;
-#X obj 498 270 vortex2;
-#X obj 508 280 vortex2;
-#X obj 518 290 vortex2;
-#X obj 528 300 vortex2;
-#X obj 538 310 vortex2;
-#X obj 548 320 vortex2;
-#X obj 558 330 vortex2;
-#X obj 568 340 vortex2;
-#X obj 578 350 vortex2;
-#X obj 588 360 vortex2;
-#X obj 598 370 vortex2;
-#X obj 608 380 vortex2;
-#X obj 618 390 vortex2;
-#X obj 628 400 vortex2;
-#X obj 1126 390 vortex2;
-#X obj 1033 220 vortex2;
-#X obj 1093 280 vortex2;
-#X obj 746 10 vortex2;
-#X obj 756 20 vortex2;
-#X obj 766 30 vortex2;
-#X obj 776 40 vortex2;
-#X obj 786 50 vortex2;
-#X obj 796 60 vortex2;
-#X obj 806 70 vortex2;
-#X obj 816 80 vortex2;
-#X obj 826 90 vortex2;
-#X obj 836 100 vortex2;
-#X obj 846 110 vortex2;
-#X obj 856 120 vortex2;
-#X obj 866 130 vortex2;
-#X obj 876 140 vortex2;
-#X obj 886 150 vortex2;
-#X obj 896 160 vortex2;
-#X obj 906 170 vortex2;
-#X obj 916 180 vortex2;
-#X obj 926 190 vortex2;
-#X obj 936 200 vortex2;
-#X obj 946 210 vortex2;
-#X obj 956 220 vortex2;
-#X obj 966 230 vortex2;
-#X obj 976 240 vortex2;
-#X obj 986 250 vortex2;
-#X obj 996 260 vortex2;
-#X obj 1006 270 vortex2;
-#X obj 1016 280 vortex2;
-#X obj 1026 290 vortex2;
-#X obj 1036 300 vortex2;
-#X obj 1046 310 vortex2;
-#X obj 1056 320 vortex2;
-#X obj 1066 330 vortex2;
-#X obj 1076 340 vortex2;
-#X obj 1086 350 vortex2;
-#X obj 1096 360 vortex2;
-#X obj 1106 370 vortex2;
-#X obj 1116 380 vortex2;
-#X obj 833 20 vortex2;
-#X obj 843 30 vortex2;
-#X obj 853 40 vortex2;
-#X obj 863 50 vortex2;
-#X obj 873 60 vortex2;
-#X obj 883 70 vortex2;
-#X obj 893 80 vortex2;
-#X obj 903 90 vortex2;
-#X obj 913 100 vortex2;
-#X obj 923 110 vortex2;
-#X obj 933 120 vortex2;
-#X obj 943 130 vortex2;
-#X obj 953 140 vortex2;
-#X obj 963 150 vortex2;
-#X obj 973 160 vortex2;
-#X obj 983 170 vortex2;
-#X obj 993 180 vortex2;
-#X obj 1003 190 vortex2;
-#X obj 1013 200 vortex2;
-#X obj 1023 210 vortex2;
-#X obj 1043 230 vortex2;
-#X obj 1053 240 vortex2;
-#X obj 1063 250 vortex2;
-#X obj 1073 260 vortex2;
-#X obj 1083 270 vortex2;
-#X obj 1103 290 vortex2;
-#X obj 1113 300 vortex2;
-#X obj 1123 310 vortex2;
-#X obj 1133 320 vortex2;
-#X obj 1143 330 vortex2;
-#X obj 1153 340 vortex2;
-#X obj 1163 350 vortex2;
-#X obj 1173 360 vortex2;
-#X obj 1183 370 vortex2;
-#X obj 1193 380 vortex2;
-#X obj 1203 390 vortex2;
-#X obj 1213 400 vortex2;
-#X obj 1287 400 vortex2;
-#X obj 907 20 vortex2;
-#X obj 917 30 vortex2;
-#X obj 927 40 vortex2;
-#X obj 937 50 vortex2;
-#X obj 947 60 vortex2;
-#X obj 957 70 vortex2;
-#X obj 967 80 vortex2;
-#X obj 977 90 vortex2;
-#X obj 987 100 vortex2;
-#X obj 997 110 vortex2;
-#X obj 1007 120 vortex2;
-#X obj 1017 130 vortex2;
-#X obj 1027 140 vortex2;
-#X obj 1037 150 vortex2;
-#X obj 1047 160 vortex2;
-#X obj 1057 170 vortex2;
-#X obj 1067 180 vortex2;
-#X obj 1077 190 vortex2;
-#X obj 1087 200 vortex2;
-#X obj 1097 210 vortex2;
-#X obj 1107 220 vortex2;
-#X obj 1117 230 vortex2;
-#X obj 1127 240 vortex2;
-#X obj 1137 250 vortex2;
-#X obj 1147 260 vortex2;
-#X obj 1157 270 vortex2;
-#X obj 1167 280 vortex2;
-#X obj 1177 290 vortex2;
-#X obj 1187 300 vortex2;
-#X obj 1197 310 vortex2;
-#X obj 1207 320 vortex2;
-#X obj 1217 330 vortex2;
-#X obj 1227 340 vortex2;
-#X obj 1237 350 vortex2;
-#X obj 1247 360 vortex2;
-#X obj 1257 370 vortex2;
-#X obj 1267 380 vortex2;
-#X obj 1277 390 vortex2;
-#X obj 994 30 vortex2;
-#X obj 1004 40 vortex2;
-#X obj 1014 50 vortex2;
-#X obj 1024 60 vortex2;
-#X obj 1034 70 vortex2;
-#X obj 1044 80 vortex2;
-#X obj 1054 90 vortex2;
-#X obj 1064 100 vortex2;
-#X obj 1074 110 vortex2;
-#X obj 1084 120 vortex2;
-#X obj 1094 130 vortex2;
-#X obj 1104 140 vortex2;
-#X obj 1114 150 vortex2;
-#X obj 1124 160 vortex2;
-#X obj 1134 170 vortex2;
-#X obj 1144 180 vortex2;
-#X obj 1154 190 vortex2;
-#X obj 1164 200 vortex2;
-#X obj 1174 210 vortex2;
-#X obj 1184 220 vortex2;
-#X obj 1194 230 vortex2;
-#X obj 1204 240 vortex2;
-#X obj 1214 250 vortex2;
-#X obj 1224 260 vortex2;
-#X obj 1234 270 vortex2;
-#X obj 1244 280 vortex2;
-#X obj 1254 290 vortex2;
-#X obj 1264 300 vortex2;
-#X obj 1274 310 vortex2;
-#X obj 1284 320 vortex2;
-#X obj 1294 330 vortex2;
-#X obj 1304 340 vortex2;
-#X obj 1314 350 vortex2;
-#X obj 1324 360 vortex2;
-#X obj 1334 370 vortex2;
-#X obj 1344 380 vortex2;
-#X obj 1354 390 vortex2;
-#X obj 1364 400 vortex2;
-#X obj 1374 410 vortex2;
-#X restore 428 135 pd pool;
-#X obj 276 145 s mass2;
-#X msg 277 124 bang;
-#X msg 144 95 reset \, view 0 0 -10 0 0 0 0 1 0 \, create \, 1;
-#X obj 41 105 metro 100;
-#X text 120 -3 simulation of a continus elipse of vorticity field.
-;
-#X text 119 14 This simulation nead lot's a masss \, and lot's of
-CPU.;
-#X connect 1 0 3 0;
-#X connect 1 1 4 0;
-#X connect 2 0 13 0;
-#X connect 6 0 13 1;
-#X connect 7 0 8 0;
-#X connect 11 0 10 0;
-#X connect 12 0 8 0;
-#X connect 13 0 1 0;
+#N canvas 67 91 579 244 10;
+#X declare -lib Gem;
+#N canvas 860 482 333 427 creation 0;
+#X obj 46 380 s pd-new;
+#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
+#X msg 46 350 menuclose;
+#X obj 43 47 sel 0 1;
+#X obj 43 29 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 61 72 t b b;
+#X obj 107 272 * 20;
+#X obj 82 272 * 20;
+#X obj 76 188 t f f;
+#X obj 79 299 pack f f f;
+#X msg 79 325 obj \$1 \$2 vortex2 \$3;
+#X obj 63 163 ch_uzi 36;
+#X connect 2 0 0 0;
+#X connect 3 0 2 0;
+#X connect 3 1 5 0;
+#X connect 4 0 3 0;
+#X connect 5 0 11 0;
+#X connect 5 1 1 0;
+#X connect 6 0 9 1;
+#X connect 7 0 9 0;
+#X connect 8 0 7 0;
+#X connect 8 1 6 0;
+#X connect 8 1 9 2;
+#X connect 9 0 10 0;
+#X connect 10 0 0 0;
+#X connect 11 1 8 0;
+#X restore 427 187 pd creation pool;
+#X obj 42 157 t b b;
+#X obj 42 80 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 42 201 s mass;
+#X obj 67 182 s link;
+#X text 74 77 <- begin (change the metro speed for slow computer);
+#X floatatom 91 96 5 0 0 0 - - -;
+#X msg 180 146 0 \, destroy;
+#X obj 145 174 gemwin;
+#N canvas 790 67 586 510 pool 0;
+#X obj 380 380 vortex2;
+#X obj 287 210 vortex2;
+#X obj 347 270 vortex2;
+#X obj 0 0 vortex2;
+#X obj 10 10 vortex2;
+#X obj 20 20 vortex2;
+#X obj 30 30 vortex2;
+#X obj 40 40 vortex2;
+#X obj 50 50 vortex2;
+#X obj 60 60 vortex2;
+#X obj 70 70 vortex2;
+#X obj 80 80 vortex2;
+#X obj 90 90 vortex2;
+#X obj 100 100 vortex2;
+#X obj 110 110 vortex2;
+#X obj 120 120 vortex2;
+#X obj 130 130 vortex2;
+#X obj 140 140 vortex2;
+#X obj 150 150 vortex2;
+#X obj 160 160 vortex2;
+#X obj 170 170 vortex2;
+#X obj 180 180 vortex2;
+#X obj 190 190 vortex2;
+#X obj 200 200 vortex2;
+#X obj 210 210 vortex2;
+#X obj 220 220 vortex2;
+#X obj 230 230 vortex2;
+#X obj 240 240 vortex2;
+#X obj 250 250 vortex2;
+#X obj 260 260 vortex2;
+#X obj 270 270 vortex2;
+#X obj 280 280 vortex2;
+#X obj 290 290 vortex2;
+#X obj 300 300 vortex2;
+#X obj 310 310 vortex2;
+#X obj 320 320 vortex2;
+#X obj 330 330 vortex2;
+#X obj 340 340 vortex2;
+#X obj 350 350 vortex2;
+#X obj 360 360 vortex2;
+#X obj 370 370 vortex2;
+#X obj 87 10 vortex2;
+#X obj 97 20 vortex2;
+#X obj 107 30 vortex2;
+#X obj 117 40 vortex2;
+#X obj 127 50 vortex2;
+#X obj 137 60 vortex2;
+#X obj 147 70 vortex2;
+#X obj 157 80 vortex2;
+#X obj 167 90 vortex2;
+#X obj 177 100 vortex2;
+#X obj 187 110 vortex2;
+#X obj 197 120 vortex2;
+#X obj 207 130 vortex2;
+#X obj 217 140 vortex2;
+#X obj 227 150 vortex2;
+#X obj 237 160 vortex2;
+#X obj 247 170 vortex2;
+#X obj 257 180 vortex2;
+#X obj 267 190 vortex2;
+#X obj 277 200 vortex2;
+#X obj 297 220 vortex2;
+#X obj 307 230 vortex2;
+#X obj 317 240 vortex2;
+#X obj 327 250 vortex2;
+#X obj 337 260 vortex2;
+#X obj 357 280 vortex2;
+#X obj 367 290 vortex2;
+#X obj 377 300 vortex2;
+#X obj 387 310 vortex2;
+#X obj 397 320 vortex2;
+#X obj 407 330 vortex2;
+#X obj 417 340 vortex2;
+#X obj 427 350 vortex2;
+#X obj 437 360 vortex2;
+#X obj 447 370 vortex2;
+#X obj 457 380 vortex2;
+#X obj 467 390 vortex2;
+#X obj 541 390 vortex2;
+#X obj 161 10 vortex2;
+#X obj 171 20 vortex2;
+#X obj 181 30 vortex2;
+#X obj 191 40 vortex2;
+#X obj 201 50 vortex2;
+#X obj 211 60 vortex2;
+#X obj 221 70 vortex2;
+#X obj 231 80 vortex2;
+#X obj 241 90 vortex2;
+#X obj 251 100 vortex2;
+#X obj 261 110 vortex2;
+#X obj 271 120 vortex2;
+#X obj 281 130 vortex2;
+#X obj 291 140 vortex2;
+#X obj 301 150 vortex2;
+#X obj 311 160 vortex2;
+#X obj 321 170 vortex2;
+#X obj 331 180 vortex2;
+#X obj 341 190 vortex2;
+#X obj 351 200 vortex2;
+#X obj 361 210 vortex2;
+#X obj 371 220 vortex2;
+#X obj 381 230 vortex2;
+#X obj 391 240 vortex2;
+#X obj 401 250 vortex2;
+#X obj 411 260 vortex2;
+#X obj 421 270 vortex2;
+#X obj 431 280 vortex2;
+#X obj 441 290 vortex2;
+#X obj 451 300 vortex2;
+#X obj 461 310 vortex2;
+#X obj 471 320 vortex2;
+#X obj 481 330 vortex2;
+#X obj 491 340 vortex2;
+#X obj 501 350 vortex2;
+#X obj 511 360 vortex2;
+#X obj 521 370 vortex2;
+#X obj 531 380 vortex2;
+#X obj 248 20 vortex2;
+#X obj 258 30 vortex2;
+#X obj 268 40 vortex2;
+#X obj 278 50 vortex2;
+#X obj 288 60 vortex2;
+#X obj 298 70 vortex2;
+#X obj 308 80 vortex2;
+#X obj 318 90 vortex2;
+#X obj 328 100 vortex2;
+#X obj 338 110 vortex2;
+#X obj 348 120 vortex2;
+#X obj 358 130 vortex2;
+#X obj 368 140 vortex2;
+#X obj 378 150 vortex2;
+#X obj 388 160 vortex2;
+#X obj 398 170 vortex2;
+#X obj 408 180 vortex2;
+#X obj 418 190 vortex2;
+#X obj 428 200 vortex2;
+#X obj 438 210 vortex2;
+#X obj 448 220 vortex2;
+#X obj 458 230 vortex2;
+#X obj 468 240 vortex2;
+#X obj 478 250 vortex2;
+#X obj 488 260 vortex2;
+#X obj 498 270 vortex2;
+#X obj 508 280 vortex2;
+#X obj 518 290 vortex2;
+#X obj 528 300 vortex2;
+#X obj 538 310 vortex2;
+#X obj 548 320 vortex2;
+#X obj 558 330 vortex2;
+#X obj 568 340 vortex2;
+#X obj 578 350 vortex2;
+#X obj 588 360 vortex2;
+#X obj 598 370 vortex2;
+#X obj 608 380 vortex2;
+#X obj 618 390 vortex2;
+#X obj 628 400 vortex2;
+#X obj 1126 390 vortex2;
+#X obj 1033 220 vortex2;
+#X obj 1093 280 vortex2;
+#X obj 746 10 vortex2;
+#X obj 756 20 vortex2;
+#X obj 766 30 vortex2;
+#X obj 776 40 vortex2;
+#X obj 786 50 vortex2;
+#X obj 796 60 vortex2;
+#X obj 806 70 vortex2;
+#X obj 816 80 vortex2;
+#X obj 826 90 vortex2;
+#X obj 836 100 vortex2;
+#X obj 846 110 vortex2;
+#X obj 856 120 vortex2;
+#X obj 866 130 vortex2;
+#X obj 876 140 vortex2;
+#X obj 886 150 vortex2;
+#X obj 896 160 vortex2;
+#X obj 906 170 vortex2;
+#X obj 916 180 vortex2;
+#X obj 926 190 vortex2;
+#X obj 936 200 vortex2;
+#X obj 946 210 vortex2;
+#X obj 956 220 vortex2;
+#X obj 966 230 vortex2;
+#X obj 976 240 vortex2;
+#X obj 986 250 vortex2;
+#X obj 996 260 vortex2;
+#X obj 1006 270 vortex2;
+#X obj 1016 280 vortex2;
+#X obj 1026 290 vortex2;
+#X obj 1036 300 vortex2;
+#X obj 1046 310 vortex2;
+#X obj 1056 320 vortex2;
+#X obj 1066 330 vortex2;
+#X obj 1076 340 vortex2;
+#X obj 1086 350 vortex2;
+#X obj 1096 360 vortex2;
+#X obj 1106 370 vortex2;
+#X obj 1116 380 vortex2;
+#X obj 833 20 vortex2;
+#X obj 843 30 vortex2;
+#X obj 853 40 vortex2;
+#X obj 863 50 vortex2;
+#X obj 873 60 vortex2;
+#X obj 883 70 vortex2;
+#X obj 893 80 vortex2;
+#X obj 903 90 vortex2;
+#X obj 913 100 vortex2;
+#X obj 923 110 vortex2;
+#X obj 933 120 vortex2;
+#X obj 943 130 vortex2;
+#X obj 953 140 vortex2;
+#X obj 963 150 vortex2;
+#X obj 973 160 vortex2;
+#X obj 983 170 vortex2;
+#X obj 993 180 vortex2;
+#X obj 1003 190 vortex2;
+#X obj 1013 200 vortex2;
+#X obj 1023 210 vortex2;
+#X obj 1043 230 vortex2;
+#X obj 1053 240 vortex2;
+#X obj 1063 250 vortex2;
+#X obj 1073 260 vortex2;
+#X obj 1083 270 vortex2;
+#X obj 1103 290 vortex2;
+#X obj 1113 300 vortex2;
+#X obj 1123 310 vortex2;
+#X obj 1133 320 vortex2;
+#X obj 1143 330 vortex2;
+#X obj 1153 340 vortex2;
+#X obj 1163 350 vortex2;
+#X obj 1173 360 vortex2;
+#X obj 1183 370 vortex2;
+#X obj 1193 380 vortex2;
+#X obj 1203 390 vortex2;
+#X obj 1213 400 vortex2;
+#X obj 1287 400 vortex2;
+#X obj 907 20 vortex2;
+#X obj 917 30 vortex2;
+#X obj 927 40 vortex2;
+#X obj 937 50 vortex2;
+#X obj 947 60 vortex2;
+#X obj 957 70 vortex2;
+#X obj 967 80 vortex2;
+#X obj 977 90 vortex2;
+#X obj 987 100 vortex2;
+#X obj 997 110 vortex2;
+#X obj 1007 120 vortex2;
+#X obj 1017 130 vortex2;
+#X obj 1027 140 vortex2;
+#X obj 1037 150 vortex2;
+#X obj 1047 160 vortex2;
+#X obj 1057 170 vortex2;
+#X obj 1067 180 vortex2;
+#X obj 1077 190 vortex2;
+#X obj 1087 200 vortex2;
+#X obj 1097 210 vortex2;
+#X obj 1107 220 vortex2;
+#X obj 1117 230 vortex2;
+#X obj 1127 240 vortex2;
+#X obj 1137 250 vortex2;
+#X obj 1147 260 vortex2;
+#X obj 1157 270 vortex2;
+#X obj 1167 280 vortex2;
+#X obj 1177 290 vortex2;
+#X obj 1187 300 vortex2;
+#X obj 1197 310 vortex2;
+#X obj 1207 320 vortex2;
+#X obj 1217 330 vortex2;
+#X obj 1227 340 vortex2;
+#X obj 1237 350 vortex2;
+#X obj 1247 360 vortex2;
+#X obj 1257 370 vortex2;
+#X obj 1267 380 vortex2;
+#X obj 1277 390 vortex2;
+#X obj 994 30 vortex2;
+#X obj 1004 40 vortex2;
+#X obj 1014 50 vortex2;
+#X obj 1024 60 vortex2;
+#X obj 1034 70 vortex2;
+#X obj 1044 80 vortex2;
+#X obj 1054 90 vortex2;
+#X obj 1064 100 vortex2;
+#X obj 1074 110 vortex2;
+#X obj 1084 120 vortex2;
+#X obj 1094 130 vortex2;
+#X obj 1104 140 vortex2;
+#X obj 1114 150 vortex2;
+#X obj 1124 160 vortex2;
+#X obj 1134 170 vortex2;
+#X obj 1144 180 vortex2;
+#X obj 1154 190 vortex2;
+#X obj 1164 200 vortex2;
+#X obj 1174 210 vortex2;
+#X obj 1184 220 vortex2;
+#X obj 1194 230 vortex2;
+#X obj 1204 240 vortex2;
+#X obj 1214 250 vortex2;
+#X obj 1224 260 vortex2;
+#X obj 1234 270 vortex2;
+#X obj 1244 280 vortex2;
+#X obj 1254 290 vortex2;
+#X obj 1264 300 vortex2;
+#X obj 1274 310 vortex2;
+#X obj 1284 320 vortex2;
+#X obj 1294 330 vortex2;
+#X obj 1304 340 vortex2;
+#X obj 1314 350 vortex2;
+#X obj 1324 360 vortex2;
+#X obj 1334 370 vortex2;
+#X obj 1344 380 vortex2;
+#X obj 1354 390 vortex2;
+#X obj 1364 400 vortex2;
+#X obj 1374 410 vortex2;
+#X restore 429 161 pd pool;
+#X obj 277 171 s mass2;
+#X msg 278 150 bang;
+#X msg 145 121 reset \, view 0 0 -10 0 0 0 0 1 0 \, create \, 1;
+#X obj 42 131 metro 100;
+#X text 121 23 simulation of a continus elipse of vorticity field.
+;
+#X text 120 40 This simulation nead lot's a masss \, and lot's of CPU.
+;
+#X obj 10 2 declare -lib Gem;
+#X connect 1 0 3 0;
+#X connect 1 1 4 0;
+#X connect 2 0 13 0;
+#X connect 6 0 13 1;
+#X connect 7 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 8 0;
+#X connect 13 0 1 0;
diff --git a/examples/34_cigarette_smoke.pd b/examples/34_cigarette_smoke.pd
index 6816b7a..0300daa 100644
--- a/examples/34_cigarette_smoke.pd
+++ b/examples/34_cigarette_smoke.pd
@@ -1,4 +1,5 @@
-#N canvas 1090 190 646 480 10;
+#N canvas 1086 204 646 480 10;
+#X declare -lib Gem;
#N canvas 860 482 349 443 creation 0;
#X obj 46 380 s pd-new;
#X msg 86 95 \; pd filename new ./ \; #N canvas \; #X pop 1 \;;
@@ -31,7 +32,7 @@
#X connect 11 0 10 0;
#X connect 12 0 0 0;
#X connect 13 1 8 0;
-#X restore 405 176 pd creation pool;
+#X restore 428 222 pd creation pool;
#N canvas 626 84 618 542 pool 0;
#X obj 0 0 smoke1 0;
#X obj 20 20 smoke1 1;
@@ -283,37 +284,39 @@
#X obj 4940 4940 smoke1 247;
#X obj 4960 4960 smoke1 248;
#X obj 4980 4980 smoke1 249;
-#X restore 405 150 pd pool;
-#X obj 18 146 t b b;
-#X obj 17 69 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+#X restore 428 196 pd pool;
+#X obj 41 192 t b b;
+#X obj 40 115 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
-#X obj 18 190 s mass;
-#X obj 43 171 s link;
-#X text 50 66 <- begin (change the metro speed for slow computer);
-#X floatatom 60 89 5 0 0 0 - - -;
-#X msg 242 129 0 \, destroy;
-#X obj 209 155 gemwin;
-#X obj 117 224 s reset_smoke;
-#X obj 301 189 s reset_all;
-#X obj 301 164 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+#X obj 41 236 s mass;
+#X obj 66 217 s link;
+#X text 73 112 <- begin (change the metro speed for slow computer)
+;
+#X floatatom 83 135 5 0 0 0 - - -;
+#X msg 265 175 0 \, destroy;
+#X obj 232 201 gemwin;
+#X obj 140 270 s reset_smoke;
+#X obj 324 235 s reset_all;
+#X obj 324 210 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
-#X obj 17 121 metro 20;
-#X msg 209 109 reset \, create \, 1;
-#X obj 100 129 metro 50;
-#X obj 90 309 iAmbient2D mass 0 0.0007 0.0002 0.0002;
-#X obj 93 337 smoke_vortex 0.003;
-#X text 150 7 Cigarettes smoke simulation;
-#X text 92 29 Each particules are in some kind of turbulent wind (vertical
+#X obj 40 167 metro 20;
+#X msg 232 155 reset \, create \, 1;
+#X obj 123 175 metro 50;
+#X obj 113 355 iAmbient2D mass 0 0.0007 0.0002 0.0002;
+#X obj 116 383 smoke_vortex 0.003;
+#X text 173 53 Cigarettes smoke simulation;
+#X text 115 75 Each particules are in some kind of turbulent wind (vertical
force + some random mouving vortex);
-#X text 322 108 <- create;
-#X obj 100 152 f;
-#X obj 100 174 + 1;
-#X obj 117 199 % 250;
-#X obj 92 357 smoke_vortex 0.003;
-#X obj 91 377 smoke_vortex 0.003;
-#X obj 225 337 smoke_vortex -0.003;
-#X obj 224 357 smoke_vortex -0.003;
-#X obj 224 377 smoke_vortex -0.003;
+#X text 345 154 <- create;
+#X obj 123 198 f;
+#X obj 123 220 + 1;
+#X obj 140 245 % 250;
+#X obj 115 403 smoke_vortex 0.003;
+#X obj 114 423 smoke_vortex 0.003;
+#X obj 248 383 smoke_vortex -0.003;
+#X obj 247 403 smoke_vortex -0.003;
+#X obj 247 423 smoke_vortex -0.003;
+#X obj 10 2 declare -lib Gem;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 2 1 16 0;
diff --git a/examples/35_gravitation.pd b/examples/35_gravitation.pd
index 155aa44..53b9520 100644
--- a/examples/35_gravitation.pd
+++ b/examples/35_gravitation.pd
@@ -1,42 +1,44 @@
-#N canvas 105 15 546 651 10;
-#X obj 18 139 t b b;
-#X obj 18 62 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#N canvas 101 91 564 699 10;
+#X declare -lib Gem;
+#X obj 19 175 t b b;
+#X obj 19 98 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
-#X obj 18 183 s mass;
-#X msg 242 122 0 \, destroy;
-#X obj 209 148 gemwin;
-#X msg 209 102 reset \, create \, 1;
-#X obj 163 553 gemhead;
-#X obj 163 576 translateXYZ;
-#X obj 152 526 unpack s f f;
-#X obj 163 600 sphere 0.05;
-#X obj 208 317 gemhead;
-#X text 51 59 <- begin;
-#X obj 208 364 sphere 0.25;
-#X text 190 2 Gravitation exemple;
-#X obj 183 449 tSquare2D -4 4 -4 4;
-#X obj 183 472 sel 0;
-#X msg 183 495 reset;
-#X obj 152 237 loadbang;
-#X obj 152 287 iCircle2D foo -1 0 0 100;
-#X obj 208 340 translateXYZ -1 0 0;
-#X obj 350 318 gemhead;
-#X obj 350 365 sphere 0.25;
-#X obj 350 341 translateXYZ 1 0 0;
-#X obj 330 287 iCircle2D foo 1 0 0 100;
-#X obj 18 114 metro 1;
-#X obj 377 413 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+#X obj 19 219 s mass;
+#X msg 243 158 0 \, destroy;
+#X obj 210 184 gemwin;
+#X msg 210 138 reset \, create \, 1;
+#X obj 164 589 gemhead;
+#X obj 164 612 translateXYZ;
+#X obj 153 562 unpack s f f;
+#X obj 164 636 sphere 0.05;
+#X obj 209 353 gemhead;
+#X text 52 95 <- begin;
+#X obj 209 400 sphere 0.25;
+#X text 191 38 Gravitation exemple;
+#X obj 184 485 tSquare2D -4 4 -4 4;
+#X obj 184 508 sel 0;
+#X msg 184 531 reset;
+#X obj 153 273 loadbang;
+#X obj 153 323 iCircle2D foo -1 0 0 100;
+#X obj 209 376 translateXYZ -1 0 0;
+#X obj 351 354 gemhead;
+#X obj 351 401 sphere 0.25;
+#X obj 351 377 translateXYZ 1 0 0;
+#X obj 331 323 iCircle2D foo 1 0 0 100;
+#X obj 19 150 metro 1;
+#X obj 378 449 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
-1 -1 0 1;
-#X obj 377 549 / 127;
-#X msg 377 570 reset \, setY \$1;
-#X obj 152 419 mass2D mass 1 0.1 0.9;
-#X text 139 15 1 earth and 2 suns .;
-#X text 139 31 The earth is attacted by the 2 suns. you can change
+#X obj 378 585 / 127;
+#X msg 378 606 reset \, setY \$1;
+#X obj 153 455 mass2D mass 1 0.1 0.9;
+#X text 140 51 1 earth and 2 suns .;
+#X text 140 67 The earth is attacted by the 2 suns. you can change
the initial position of the earth \, to test the ensitivity of initial
position of surch chaotic system.;
-#X text 286 598 change initial position of the mass;
-#X msg 330 260 setG -1e-06;
-#X msg 152 260 setG -1e-06;
+#X text 287 634 change initial position of the mass;
+#X msg 331 296 setG -1e-06;
+#X msg 153 296 setG -1e-06;
+#X obj 10 2 declare -lib Gem;
#X connect 0 0 2 0;
#X connect 0 1 18 0;
#X connect 0 1 23 0;
diff --git a/examples/36_3D_interactors.pd b/examples/36_3D_interactors.pd
index 72ab154..426fca0 100644
--- a/examples/36_3D_interactors.pd
+++ b/examples/36_3D_interactors.pd
@@ -1,781 +1,782 @@
-#N canvas 168 22 627 556 10;
-#X obj 22 200 t b b;
-#X obj 22 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 116 152 loadbang;
-#X msg 179 224 0 \, destroy;
-#X obj 22 238 s mass;
-#N canvas 39 357 765 474 pool 0;
-#X obj 180 180 rain;
-#X obj 491 103 rain;
-#X obj 566 50 rain;
-#X obj 499 52 rain;
-#X obj 0 0 rain;
-#X obj 10 10 rain;
-#X obj 20 20 rain;
-#X obj 30 30 rain;
-#X obj 40 40 rain;
-#X obj 50 50 rain;
-#X obj 60 60 rain;
-#X obj 70 70 rain;
-#X obj 80 80 rain;
-#X obj 90 90 rain;
-#X obj 100 100 rain;
-#X obj 110 110 rain;
-#X obj 120 120 rain;
-#X obj 130 130 rain;
-#X obj 140 140 rain;
-#X obj 150 150 rain;
-#X obj 160 160 rain;
-#X obj 170 170 rain;
-#X obj 190 190 rain;
-#X obj 200 200 rain;
-#X obj 210 210 rain;
-#X obj 220 220 rain;
-#X obj 230 230 rain;
-#X obj 240 240 rain;
-#X obj 250 250 rain;
-#X obj 260 260 rain;
-#X obj 270 270 rain;
-#X obj 280 280 rain;
-#X obj 290 290 rain;
-#X obj 300 300 rain;
-#X obj 310 310 rain;
-#X obj 320 320 rain;
-#X obj 330 330 rain;
-#X obj 340 340 rain;
-#X obj 350 350 rain;
-#X obj 360 360 rain;
-#X obj 370 370 rain;
-#X obj 380 380 rain;
-#X obj 390 390 rain;
-#X obj 400 400 rain;
-#X obj 410 410 rain;
-#X obj 420 420 rain;
-#X obj 430 430 rain;
-#X obj 58 -1 rain;
-#X obj 68 9 rain;
-#X obj 78 19 rain;
-#X obj 88 29 rain;
-#X obj 98 39 rain;
-#X obj 108 49 rain;
-#X obj 118 59 rain;
-#X obj 128 69 rain;
-#X obj 138 79 rain;
-#X obj 148 89 rain;
-#X obj 158 99 rain;
-#X obj 168 109 rain;
-#X obj 178 119 rain;
-#X obj 188 129 rain;
-#X obj 198 139 rain;
-#X obj 208 149 rain;
-#X obj 218 159 rain;
-#X obj 228 169 rain;
-#X obj 238 179 rain;
-#X obj 248 189 rain;
-#X obj 258 199 rain;
-#X obj 268 209 rain;
-#X obj 278 219 rain;
-#X obj 288 229 rain;
-#X obj 298 239 rain;
-#X obj 308 249 rain;
-#X obj 318 259 rain;
-#X obj 328 269 rain;
-#X obj 338 279 rain;
-#X obj 348 289 rain;
-#X obj 358 299 rain;
-#X obj 368 309 rain;
-#X obj 378 319 rain;
-#X obj 388 329 rain;
-#X obj 398 339 rain;
-#X obj 408 349 rain;
-#X obj 418 359 rain;
-#X obj 428 369 rain;
-#X obj 438 379 rain;
-#X obj 448 389 rain;
-#X obj 458 399 rain;
-#X obj 468 409 rain;
-#X obj 478 419 rain;
-#X obj 488 429 rain;
-#X obj 123 -11 rain;
-#X obj 133 -1 rain;
-#X obj 143 9 rain;
-#X obj 153 19 rain;
-#X obj 163 29 rain;
-#X obj 173 39 rain;
-#X obj 183 49 rain;
-#X obj 193 59 rain;
-#X obj 203 69 rain;
-#X obj 213 79 rain;
-#X obj 223 89 rain;
-#X obj 233 99 rain;
-#X obj 243 109 rain;
-#X obj 253 119 rain;
-#X obj 263 129 rain;
-#X obj 273 139 rain;
-#X obj 283 149 rain;
-#X obj 293 159 rain;
-#X obj 303 169 rain;
-#X obj 313 179 rain;
-#X obj 323 189 rain;
-#X obj 333 199 rain;
-#X obj 343 209 rain;
-#X obj 353 219 rain;
-#X obj 363 229 rain;
-#X obj 373 239 rain;
-#X obj 383 249 rain;
-#X obj 393 259 rain;
-#X obj 403 269 rain;
-#X obj 413 279 rain;
-#X obj 423 289 rain;
-#X obj 433 299 rain;
-#X obj 443 309 rain;
-#X obj 453 319 rain;
-#X obj 463 329 rain;
-#X obj 473 339 rain;
-#X obj 483 349 rain;
-#X obj 493 359 rain;
-#X obj 503 369 rain;
-#X obj 513 379 rain;
-#X obj 523 389 rain;
-#X obj 533 399 rain;
-#X obj 543 409 rain;
-#X obj 553 419 rain;
-#X obj 181 -12 rain;
-#X obj 191 -2 rain;
-#X obj 201 8 rain;
-#X obj 211 18 rain;
-#X obj 221 28 rain;
-#X obj 231 38 rain;
-#X obj 241 48 rain;
-#X obj 251 58 rain;
-#X obj 261 68 rain;
-#X obj 271 78 rain;
-#X obj 281 88 rain;
-#X obj 291 98 rain;
-#X obj 301 108 rain;
-#X obj 311 118 rain;
-#X obj 321 128 rain;
-#X obj 331 138 rain;
-#X obj 341 148 rain;
-#X obj 351 158 rain;
-#X obj 361 168 rain;
-#X obj 371 178 rain;
-#X obj 381 188 rain;
-#X obj 391 198 rain;
-#X obj 401 208 rain;
-#X obj 411 218 rain;
-#X obj 421 228 rain;
-#X obj 431 238 rain;
-#X obj 441 248 rain;
-#X obj 451 258 rain;
-#X obj 461 268 rain;
-#X obj 471 278 rain;
-#X obj 481 288 rain;
-#X obj 491 298 rain;
-#X obj 501 308 rain;
-#X obj 511 318 rain;
-#X obj 521 328 rain;
-#X obj 531 338 rain;
-#X obj 541 348 rain;
-#X obj 551 358 rain;
-#X obj 561 368 rain;
-#X obj 571 378 rain;
-#X obj 581 388 rain;
-#X obj 591 398 rain;
-#X obj 601 408 rain;
-#X obj 611 418 rain;
-#X obj 258 4 rain;
-#X obj 268 14 rain;
-#X obj 278 24 rain;
-#X obj 288 34 rain;
-#X obj 298 44 rain;
-#X obj 308 54 rain;
-#X obj 318 64 rain;
-#X obj 328 74 rain;
-#X obj 338 84 rain;
-#X obj 348 94 rain;
-#X obj 358 104 rain;
-#X obj 368 114 rain;
-#X obj 378 124 rain;
-#X obj 388 134 rain;
-#X obj 398 144 rain;
-#X obj 408 154 rain;
-#X obj 418 164 rain;
-#X obj 428 174 rain;
-#X obj 438 184 rain;
-#X obj 448 194 rain;
-#X obj 458 204 rain;
-#X obj 468 214 rain;
-#X obj 478 224 rain;
-#X obj 488 234 rain;
-#X obj 498 244 rain;
-#X obj 508 254 rain;
-#X obj 518 264 rain;
-#X obj 528 274 rain;
-#X obj 538 284 rain;
-#X obj 548 294 rain;
-#X obj 558 304 rain;
-#X obj 568 314 rain;
-#X obj 578 324 rain;
-#X obj 588 334 rain;
-#X obj 598 344 rain;
-#X obj 608 354 rain;
-#X obj 618 364 rain;
-#X obj 628 374 rain;
-#X obj 638 384 rain;
-#X obj 648 394 rain;
-#X obj 658 404 rain;
-#X obj 668 414 rain;
-#X obj 678 424 rain;
-#X obj 688 434 rain;
-#X obj 316 3 rain;
-#X obj 326 13 rain;
-#X obj 336 23 rain;
-#X obj 346 33 rain;
-#X obj 356 43 rain;
-#X obj 366 53 rain;
-#X obj 376 63 rain;
-#X obj 386 73 rain;
-#X obj 396 83 rain;
-#X obj 406 93 rain;
-#X obj 416 103 rain;
-#X obj 426 113 rain;
-#X obj 436 123 rain;
-#X obj 446 133 rain;
-#X obj 456 143 rain;
-#X obj 466 153 rain;
-#X obj 476 163 rain;
-#X obj 486 173 rain;
-#X obj 496 183 rain;
-#X obj 506 193 rain;
-#X obj 516 203 rain;
-#X obj 526 213 rain;
-#X obj 536 223 rain;
-#X obj 546 233 rain;
-#X obj 556 243 rain;
-#X obj 566 253 rain;
-#X obj 576 263 rain;
-#X obj 586 273 rain;
-#X obj 596 283 rain;
-#X obj 606 293 rain;
-#X obj 616 303 rain;
-#X obj 626 313 rain;
-#X obj 636 323 rain;
-#X obj 646 333 rain;
-#X obj 656 343 rain;
-#X obj 666 353 rain;
-#X obj 676 363 rain;
-#X obj 686 373 rain;
-#X obj 696 383 rain;
-#X obj 706 393 rain;
-#X obj 716 403 rain;
-#X obj 726 413 rain;
-#X obj 736 423 rain;
-#X obj 746 433 rain;
-#X obj 381 -7 rain;
-#X obj 391 3 rain;
-#X obj 401 13 rain;
-#X obj 411 23 rain;
-#X obj 421 33 rain;
-#X obj 431 43 rain;
-#X obj 441 53 rain;
-#X obj 451 63 rain;
-#X obj 461 73 rain;
-#X obj 471 83 rain;
-#X obj 481 93 rain;
-#X obj 501 113 rain;
-#X obj 511 123 rain;
-#X obj 521 133 rain;
-#X obj 531 143 rain;
-#X obj 541 153 rain;
-#X obj 551 163 rain;
-#X obj 561 173 rain;
-#X obj 571 183 rain;
-#X obj 581 193 rain;
-#X obj 591 203 rain;
-#X obj 601 213 rain;
-#X obj 611 223 rain;
-#X obj 621 233 rain;
-#X obj 631 243 rain;
-#X obj 641 253 rain;
-#X obj 651 263 rain;
-#X obj 661 273 rain;
-#X obj 671 283 rain;
-#X obj 681 293 rain;
-#X obj 691 303 rain;
-#X obj 701 313 rain;
-#X obj 711 323 rain;
-#X obj 721 333 rain;
-#X obj 731 343 rain;
-#X obj 741 353 rain;
-#X obj 751 363 rain;
-#X obj 761 373 rain;
-#X obj 771 383 rain;
-#X obj 781 393 rain;
-#X obj 791 403 rain;
-#X obj 801 413 rain;
-#X obj 811 423 rain;
-#X obj 439 -8 rain;
-#X obj 449 2 rain;
-#X obj 459 12 rain;
-#X obj 469 22 rain;
-#X obj 479 32 rain;
-#X obj 489 42 rain;
-#X obj 509 62 rain;
-#X obj 519 72 rain;
-#X obj 529 82 rain;
-#X obj 539 92 rain;
-#X obj 549 102 rain;
-#X obj 559 112 rain;
-#X obj 569 122 rain;
-#X obj 579 132 rain;
-#X obj 589 142 rain;
-#X obj 599 152 rain;
-#X obj 609 162 rain;
-#X obj 619 172 rain;
-#X obj 629 182 rain;
-#X obj 639 192 rain;
-#X obj 649 202 rain;
-#X obj 659 212 rain;
-#X obj 669 222 rain;
-#X obj 679 232 rain;
-#X obj 689 242 rain;
-#X obj 699 252 rain;
-#X obj 709 262 rain;
-#X obj 719 272 rain;
-#X obj 729 282 rain;
-#X obj 739 292 rain;
-#X obj 749 302 rain;
-#X obj 759 312 rain;
-#X obj 769 322 rain;
-#X obj 779 332 rain;
-#X obj 789 342 rain;
-#X obj 799 352 rain;
-#X obj 809 362 rain;
-#X obj 819 372 rain;
-#X obj 829 382 rain;
-#X obj 839 392 rain;
-#X obj 849 402 rain;
-#X obj 859 412 rain;
-#X obj 869 422 rain;
-#X obj 476 -40 rain;
-#X obj 486 -30 rain;
-#X obj 496 -20 rain;
-#X obj 506 -10 rain;
-#X obj 516 0 rain;
-#X obj 526 10 rain;
-#X obj 536 20 rain;
-#X obj 546 30 rain;
-#X obj 556 40 rain;
-#X obj 576 60 rain;
-#X obj 586 70 rain;
-#X obj 596 80 rain;
-#X obj 606 90 rain;
-#X obj 616 100 rain;
-#X obj 626 110 rain;
-#X obj 636 120 rain;
-#X obj 646 130 rain;
-#X obj 656 140 rain;
-#X obj 666 150 rain;
-#X obj 676 160 rain;
-#X obj 686 170 rain;
-#X obj 696 180 rain;
-#X obj 706 190 rain;
-#X obj 716 200 rain;
-#X obj 726 210 rain;
-#X obj 736 220 rain;
-#X obj 746 230 rain;
-#X obj 756 240 rain;
-#X obj 766 250 rain;
-#X obj 776 260 rain;
-#X obj 786 270 rain;
-#X obj 796 280 rain;
-#X obj 806 290 rain;
-#X obj 816 300 rain;
-#X obj 826 310 rain;
-#X obj 836 320 rain;
-#X obj 846 330 rain;
-#X obj 856 340 rain;
-#X obj 866 350 rain;
-#X obj 876 360 rain;
-#X obj 886 370 rain;
-#X obj 896 380 rain;
-#X obj 906 390 rain;
-#X obj 534 -41 rain;
-#X obj 544 -31 rain;
-#X obj 554 -21 rain;
-#X obj 564 -11 rain;
-#X obj 574 -1 rain;
-#X obj 584 9 rain;
-#X obj 594 19 rain;
-#X obj 604 29 rain;
-#X obj 614 39 rain;
-#X obj 624 49 rain;
-#X obj 634 59 rain;
-#X obj 644 69 rain;
-#X obj 654 79 rain;
-#X obj 664 89 rain;
-#X obj 674 99 rain;
-#X obj 684 109 rain;
-#X obj 694 119 rain;
-#X obj 704 129 rain;
-#X obj 714 139 rain;
-#X obj 724 149 rain;
-#X obj 734 159 rain;
-#X obj 744 169 rain;
-#X obj 754 179 rain;
-#X obj 764 189 rain;
-#X obj 774 199 rain;
-#X obj 784 209 rain;
-#X obj 794 219 rain;
-#X obj 804 229 rain;
-#X obj 814 239 rain;
-#X obj 824 249 rain;
-#X obj 834 259 rain;
-#X obj 844 269 rain;
-#X obj 854 279 rain;
-#X obj 864 289 rain;
-#X obj 874 299 rain;
-#X obj 884 309 rain;
-#X obj 894 319 rain;
-#X obj 904 329 rain;
-#X obj 914 339 rain;
-#X obj 924 349 rain;
-#X obj 934 359 rain;
-#X obj 944 369 rain;
-#X obj 954 379 rain;
-#X obj 964 389 rain;
-#X obj 599 -51 rain;
-#X obj 609 -41 rain;
-#X obj 619 -31 rain;
-#X obj 629 -21 rain;
-#X obj 639 -11 rain;
-#X obj 649 -1 rain;
-#X obj 659 9 rain;
-#X obj 669 19 rain;
-#X obj 679 29 rain;
-#X obj 689 39 rain;
-#X obj 699 49 rain;
-#X obj 709 59 rain;
-#X obj 719 69 rain;
-#X obj 729 79 rain;
-#X obj 739 89 rain;
-#X obj 749 99 rain;
-#X obj 759 109 rain;
-#X obj 769 119 rain;
-#X obj 779 129 rain;
-#X obj 789 139 rain;
-#X obj 799 149 rain;
-#X obj 809 159 rain;
-#X obj 819 169 rain;
-#X obj 829 179 rain;
-#X obj 839 189 rain;
-#X obj 849 199 rain;
-#X obj 859 209 rain;
-#X obj 869 219 rain;
-#X obj 879 229 rain;
-#X obj 889 239 rain;
-#X obj 899 249 rain;
-#X obj 909 259 rain;
-#X obj 919 269 rain;
-#X obj 929 279 rain;
-#X obj 939 289 rain;
-#X obj 949 299 rain;
-#X obj 959 309 rain;
-#X obj 969 319 rain;
-#X obj 979 329 rain;
-#X obj 989 339 rain;
-#X obj 999 349 rain;
-#X obj 1009 359 rain;
-#X obj 1019 369 rain;
-#X obj 1029 379 rain;
-#X obj 657 -52 rain;
-#X obj 667 -42 rain;
-#X obj 677 -32 rain;
-#X obj 687 -22 rain;
-#X obj 697 -12 rain;
-#X obj 707 -2 rain;
-#X obj 717 8 rain;
-#X obj 727 18 rain;
-#X obj 737 28 rain;
-#X obj 747 38 rain;
-#X obj 757 48 rain;
-#X obj 767 58 rain;
-#X obj 777 68 rain;
-#X obj 787 78 rain;
-#X obj 797 88 rain;
-#X obj 807 98 rain;
-#X obj 817 108 rain;
-#X obj 827 118 rain;
-#X obj 837 128 rain;
-#X obj 847 138 rain;
-#X obj 857 148 rain;
-#X obj 867 158 rain;
-#X obj 877 168 rain;
-#X obj 887 178 rain;
-#X obj 897 188 rain;
-#X obj 907 198 rain;
-#X obj 917 208 rain;
-#X obj 927 218 rain;
-#X obj 937 228 rain;
-#X obj 947 238 rain;
-#X obj 957 248 rain;
-#X obj 967 258 rain;
-#X obj 977 268 rain;
-#X obj 987 278 rain;
-#X obj 997 288 rain;
-#X obj 1007 298 rain;
-#X obj 1017 308 rain;
-#X obj 1027 318 rain;
-#X obj 1037 328 rain;
-#X obj 1047 338 rain;
-#X obj 1057 348 rain;
-#X obj 1067 358 rain;
-#X obj 1077 368 rain;
-#X obj 1087 378 rain;
-#X obj 734 -36 rain;
-#X obj 744 -26 rain;
-#X obj 754 -16 rain;
-#X obj 764 -6 rain;
-#X obj 774 4 rain;
-#X obj 784 14 rain;
-#X obj 794 24 rain;
-#X obj 804 34 rain;
-#X obj 814 44 rain;
-#X obj 824 54 rain;
-#X obj 834 64 rain;
-#X obj 844 74 rain;
-#X obj 854 84 rain;
-#X obj 864 94 rain;
-#X obj 874 104 rain;
-#X obj 884 114 rain;
-#X obj 894 124 rain;
-#X obj 904 134 rain;
-#X obj 914 144 rain;
-#X obj 924 154 rain;
-#X obj 934 164 rain;
-#X obj 944 174 rain;
-#X obj 954 184 rain;
-#X obj 964 194 rain;
-#X obj 974 204 rain;
-#X obj 984 214 rain;
-#X obj 994 224 rain;
-#X obj 1004 234 rain;
-#X obj 1014 244 rain;
-#X obj 1024 254 rain;
-#X obj 1034 264 rain;
-#X obj 1044 274 rain;
-#X obj 1054 284 rain;
-#X obj 1064 294 rain;
-#X obj 1074 304 rain;
-#X obj 1084 314 rain;
-#X obj 1094 324 rain;
-#X obj 1104 334 rain;
-#X obj 1114 344 rain;
-#X obj 1124 354 rain;
-#X obj 1134 364 rain;
-#X obj 1144 374 rain;
-#X obj 1154 384 rain;
-#X obj 1164 394 rain;
-#X obj 792 -37 rain;
-#X obj 802 -27 rain;
-#X obj 812 -17 rain;
-#X obj 822 -7 rain;
-#X obj 832 3 rain;
-#X obj 842 13 rain;
-#X obj 852 23 rain;
-#X obj 862 33 rain;
-#X obj 872 43 rain;
-#X obj 882 53 rain;
-#X obj 892 63 rain;
-#X obj 902 73 rain;
-#X obj 912 83 rain;
-#X obj 922 93 rain;
-#X obj 932 103 rain;
-#X obj 942 113 rain;
-#X obj 952 123 rain;
-#X obj 962 133 rain;
-#X obj 972 143 rain;
-#X obj 982 153 rain;
-#X obj 992 163 rain;
-#X obj 1002 173 rain;
-#X obj 1012 183 rain;
-#X obj 1022 193 rain;
-#X obj 1032 203 rain;
-#X obj 1042 213 rain;
-#X obj 1052 223 rain;
-#X obj 1062 233 rain;
-#X obj 1072 243 rain;
-#X obj 1082 253 rain;
-#X obj 1092 263 rain;
-#X obj 1102 273 rain;
-#X obj 1112 283 rain;
-#X obj 1122 293 rain;
-#X obj 1132 303 rain;
-#X obj 1142 313 rain;
-#X obj 1152 323 rain;
-#X obj 1162 333 rain;
-#X obj 1172 343 rain;
-#X obj 1182 353 rain;
-#X obj 1192 363 rain;
-#X obj 1202 373 rain;
-#X obj 1212 383 rain;
-#X obj 1222 393 rain;
-#X obj 857 -47 rain;
-#X obj 867 -37 rain;
-#X obj 877 -27 rain;
-#X obj 887 -17 rain;
-#X obj 897 -7 rain;
-#X obj 907 3 rain;
-#X obj 917 13 rain;
-#X obj 927 23 rain;
-#X obj 937 33 rain;
-#X obj 947 43 rain;
-#X obj 957 53 rain;
-#X obj 967 63 rain;
-#X obj 977 73 rain;
-#X obj 987 83 rain;
-#X obj 997 93 rain;
-#X obj 1007 103 rain;
-#X obj 1017 113 rain;
-#X obj 1027 123 rain;
-#X obj 1037 133 rain;
-#X obj 1047 143 rain;
-#X obj 1057 153 rain;
-#X obj 1067 163 rain;
-#X obj 1077 173 rain;
-#X obj 1087 183 rain;
-#X obj 1097 193 rain;
-#X obj 1107 203 rain;
-#X obj 1117 213 rain;
-#X obj 1127 223 rain;
-#X obj 1137 233 rain;
-#X obj 1147 243 rain;
-#X obj 1157 253 rain;
-#X obj 1167 263 rain;
-#X obj 1177 273 rain;
-#X obj 1187 283 rain;
-#X obj 1197 293 rain;
-#X obj 1207 303 rain;
-#X obj 1217 313 rain;
-#X obj 1227 323 rain;
-#X obj 1237 333 rain;
-#X obj 1247 343 rain;
-#X obj 1257 353 rain;
-#X obj 1267 363 rain;
-#X obj 1277 373 rain;
-#X obj 1287 383 rain;
-#X obj 915 -48 rain;
-#X obj 925 -38 rain;
-#X obj 935 -28 rain;
-#X obj 945 -18 rain;
-#X obj 955 -8 rain;
-#X obj 965 2 rain;
-#X obj 975 12 rain;
-#X obj 985 22 rain;
-#X obj 995 32 rain;
-#X obj 1005 42 rain;
-#X obj 1015 52 rain;
-#X obj 1025 62 rain;
-#X obj 1035 72 rain;
-#X obj 1045 82 rain;
-#X obj 1055 92 rain;
-#X obj 1065 102 rain;
-#X obj 1075 112 rain;
-#X obj 1085 122 rain;
-#X obj 1095 132 rain;
-#X obj 1105 142 rain;
-#X obj 1115 152 rain;
-#X obj 1125 162 rain;
-#X obj 1135 172 rain;
-#X obj 1145 182 rain;
-#X obj 1155 192 rain;
-#X obj 1165 202 rain;
-#X obj 1175 212 rain;
-#X obj 1185 222 rain;
-#X obj 1195 232 rain;
-#X obj 1205 242 rain;
-#X obj 1215 252 rain;
-#X obj 1225 262 rain;
-#X obj 1235 272 rain;
-#X obj 1245 282 rain;
-#X obj 1255 292 rain;
-#X obj 1265 302 rain;
-#X obj 1275 312 rain;
-#X obj 1285 322 rain;
-#X obj 1295 332 rain;
-#X obj 1305 342 rain;
-#X obj 1315 352 rain;
-#X obj 1325 362 rain;
-#X obj 1335 372 rain;
-#X obj 1345 382 rain;
-#X restore 469 479 pd pool;
-#X obj 116 200 s mass;
-#X obj 84 327 s link;
-#X text 43 132 <- begin (change metro speed for slow computer);
-#X obj 472 300 alpha;
-#X msg 533 406 30;
-#X obj 533 385 loadbang;
-#X obj 472 356 translateXYZ 0 -2 0;
-#X obj 22 173 metro 30;
-#X obj 472 431 sphere 1.95;
-#X floatatom 65 150 5 0 0 0 - - -;
-#X obj 48 428 gemhead;
-#X obj 48 452 color 1 0 0;
-#X obj 472 271 gemhead 55;
-#X obj 472 329 color 1 1 1 0.7;
-#X msg 170 200 reset \, view -3 3 6 0 0 0 0 4 0 \, lighting 1 \, create
-\, 1;
-#X obj 48 499 rotateXYZ 90 0 0;
-#X obj 48 523 square 6;
-#X obj 48 476 translateXYZ 0 -3.05 0;
-#X obj 267 464 gemhead 1;
-#X obj 267 489 rotateXYZ -80 0 0;
-#X obj 267 517 world_light;
-#X text 210 175 <- reset the simulation;
-#X text 194 6 infinit small particules on an elipse.;
-#X obj 46 374 iSphere3D mass 0 -2 0 0 2 0 0.1 0 0.1;
-#X obj 66 351 iAmbient3D mass 0 -0.001 0 1e-006 1e-007 1e-006 O.OOO1
-;
-#X msg 116 176 reset \, setT 1;
-#X obj 170 324 ch_gemwin;
-#X obj 189 255 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 205 279 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 222 302 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 77 62 click on the gem windows to rotate the view point (middle
-clik to set the distance to the object). You can also change the position
-of the camera with slider if mouse does not work;
-#X text 268 237 camera position;
-#X text 79 30 Masses don't interact each other. They interact with
-the sphere \, and the gravity field.;
-#X text 513 199 <- 1;
-#X connect 0 0 4 0;
-#X connect 0 1 7 0;
-#X connect 0 1 29 0;
-#X connect 0 1 30 0;
-#X connect 1 0 13 0;
-#X connect 2 0 31 0;
-#X connect 3 0 32 0;
-#X connect 9 0 19 0;
-#X connect 10 0 14 2;
-#X connect 11 0 10 0;
-#X connect 12 0 14 0;
-#X connect 13 0 0 0;
-#X connect 15 0 13 1;
-#X connect 16 0 17 0;
-#X connect 17 0 23 0;
-#X connect 18 0 9 0;
-#X connect 19 0 12 0;
-#X connect 20 0 32 0;
-#X connect 21 0 22 0;
-#X connect 23 0 21 0;
-#X connect 24 0 25 0;
-#X connect 25 0 26 0;
-#X connect 31 0 6 0;
-#X connect 33 0 32 1;
-#X connect 34 0 32 2;
-#X connect 35 0 32 3;
+#N canvas 164 91 627 556 10;
+#X declare -lib Gem;
+#X obj 22 200 t b b;
+#X obj 22 134 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 116 152 loadbang;
+#X msg 179 224 0 \, destroy;
+#X obj 22 238 s mass;
+#N canvas 39 357 765 474 pool 0;
+#X obj 180 180 rain;
+#X obj 491 103 rain;
+#X obj 566 50 rain;
+#X obj 499 52 rain;
+#X obj 0 0 rain;
+#X obj 10 10 rain;
+#X obj 20 20 rain;
+#X obj 30 30 rain;
+#X obj 40 40 rain;
+#X obj 50 50 rain;
+#X obj 60 60 rain;
+#X obj 70 70 rain;
+#X obj 80 80 rain;
+#X obj 90 90 rain;
+#X obj 100 100 rain;
+#X obj 110 110 rain;
+#X obj 120 120 rain;
+#X obj 130 130 rain;
+#X obj 140 140 rain;
+#X obj 150 150 rain;
+#X obj 160 160 rain;
+#X obj 170 170 rain;
+#X obj 190 190 rain;
+#X obj 200 200 rain;
+#X obj 210 210 rain;
+#X obj 220 220 rain;
+#X obj 230 230 rain;
+#X obj 240 240 rain;
+#X obj 250 250 rain;
+#X obj 260 260 rain;
+#X obj 270 270 rain;
+#X obj 280 280 rain;
+#X obj 290 290 rain;
+#X obj 300 300 rain;
+#X obj 310 310 rain;
+#X obj 320 320 rain;
+#X obj 330 330 rain;
+#X obj 340 340 rain;
+#X obj 350 350 rain;
+#X obj 360 360 rain;
+#X obj 370 370 rain;
+#X obj 380 380 rain;
+#X obj 390 390 rain;
+#X obj 400 400 rain;
+#X obj 410 410 rain;
+#X obj 420 420 rain;
+#X obj 430 430 rain;
+#X obj 58 -1 rain;
+#X obj 68 9 rain;
+#X obj 78 19 rain;
+#X obj 88 29 rain;
+#X obj 98 39 rain;
+#X obj 108 49 rain;
+#X obj 118 59 rain;
+#X obj 128 69 rain;
+#X obj 138 79 rain;
+#X obj 148 89 rain;
+#X obj 158 99 rain;
+#X obj 168 109 rain;
+#X obj 178 119 rain;
+#X obj 188 129 rain;
+#X obj 198 139 rain;
+#X obj 208 149 rain;
+#X obj 218 159 rain;
+#X obj 228 169 rain;
+#X obj 238 179 rain;
+#X obj 248 189 rain;
+#X obj 258 199 rain;
+#X obj 268 209 rain;
+#X obj 278 219 rain;
+#X obj 288 229 rain;
+#X obj 298 239 rain;
+#X obj 308 249 rain;
+#X obj 318 259 rain;
+#X obj 328 269 rain;
+#X obj 338 279 rain;
+#X obj 348 289 rain;
+#X obj 358 299 rain;
+#X obj 368 309 rain;
+#X obj 378 319 rain;
+#X obj 388 329 rain;
+#X obj 398 339 rain;
+#X obj 408 349 rain;
+#X obj 418 359 rain;
+#X obj 428 369 rain;
+#X obj 438 379 rain;
+#X obj 448 389 rain;
+#X obj 458 399 rain;
+#X obj 468 409 rain;
+#X obj 478 419 rain;
+#X obj 488 429 rain;
+#X obj 123 -11 rain;
+#X obj 133 -1 rain;
+#X obj 143 9 rain;
+#X obj 153 19 rain;
+#X obj 163 29 rain;
+#X obj 173 39 rain;
+#X obj 183 49 rain;
+#X obj 193 59 rain;
+#X obj 203 69 rain;
+#X obj 213 79 rain;
+#X obj 223 89 rain;
+#X obj 233 99 rain;
+#X obj 243 109 rain;
+#X obj 253 119 rain;
+#X obj 263 129 rain;
+#X obj 273 139 rain;
+#X obj 283 149 rain;
+#X obj 293 159 rain;
+#X obj 303 169 rain;
+#X obj 313 179 rain;
+#X obj 323 189 rain;
+#X obj 333 199 rain;
+#X obj 343 209 rain;
+#X obj 353 219 rain;
+#X obj 363 229 rain;
+#X obj 373 239 rain;
+#X obj 383 249 rain;
+#X obj 393 259 rain;
+#X obj 403 269 rain;
+#X obj 413 279 rain;
+#X obj 423 289 rain;
+#X obj 433 299 rain;
+#X obj 443 309 rain;
+#X obj 453 319 rain;
+#X obj 463 329 rain;
+#X obj 473 339 rain;
+#X obj 483 349 rain;
+#X obj 493 359 rain;
+#X obj 503 369 rain;
+#X obj 513 379 rain;
+#X obj 523 389 rain;
+#X obj 533 399 rain;
+#X obj 543 409 rain;
+#X obj 553 419 rain;
+#X obj 181 -12 rain;
+#X obj 191 -2 rain;
+#X obj 201 8 rain;
+#X obj 211 18 rain;
+#X obj 221 28 rain;
+#X obj 231 38 rain;
+#X obj 241 48 rain;
+#X obj 251 58 rain;
+#X obj 261 68 rain;
+#X obj 271 78 rain;
+#X obj 281 88 rain;
+#X obj 291 98 rain;
+#X obj 301 108 rain;
+#X obj 311 118 rain;
+#X obj 321 128 rain;
+#X obj 331 138 rain;
+#X obj 341 148 rain;
+#X obj 351 158 rain;
+#X obj 361 168 rain;
+#X obj 371 178 rain;
+#X obj 381 188 rain;
+#X obj 391 198 rain;
+#X obj 401 208 rain;
+#X obj 411 218 rain;
+#X obj 421 228 rain;
+#X obj 431 238 rain;
+#X obj 441 248 rain;
+#X obj 451 258 rain;
+#X obj 461 268 rain;
+#X obj 471 278 rain;
+#X obj 481 288 rain;
+#X obj 491 298 rain;
+#X obj 501 308 rain;
+#X obj 511 318 rain;
+#X obj 521 328 rain;
+#X obj 531 338 rain;
+#X obj 541 348 rain;
+#X obj 551 358 rain;
+#X obj 561 368 rain;
+#X obj 571 378 rain;
+#X obj 581 388 rain;
+#X obj 591 398 rain;
+#X obj 601 408 rain;
+#X obj 611 418 rain;
+#X obj 258 4 rain;
+#X obj 268 14 rain;
+#X obj 278 24 rain;
+#X obj 288 34 rain;
+#X obj 298 44 rain;
+#X obj 308 54 rain;
+#X obj 318 64 rain;
+#X obj 328 74 rain;
+#X obj 338 84 rain;
+#X obj 348 94 rain;
+#X obj 358 104 rain;
+#X obj 368 114 rain;
+#X obj 378 124 rain;
+#X obj 388 134 rain;
+#X obj 398 144 rain;
+#X obj 408 154 rain;
+#X obj 418 164 rain;
+#X obj 428 174 rain;
+#X obj 438 184 rain;
+#X obj 448 194 rain;
+#X obj 458 204 rain;
+#X obj 468 214 rain;
+#X obj 478 224 rain;
+#X obj 488 234 rain;
+#X obj 498 244 rain;
+#X obj 508 254 rain;
+#X obj 518 264 rain;
+#X obj 528 274 rain;
+#X obj 538 284 rain;
+#X obj 548 294 rain;
+#X obj 558 304 rain;
+#X obj 568 314 rain;
+#X obj 578 324 rain;
+#X obj 588 334 rain;
+#X obj 598 344 rain;
+#X obj 608 354 rain;
+#X obj 618 364 rain;
+#X obj 628 374 rain;
+#X obj 638 384 rain;
+#X obj 648 394 rain;
+#X obj 658 404 rain;
+#X obj 668 414 rain;
+#X obj 678 424 rain;
+#X obj 688 434 rain;
+#X obj 316 3 rain;
+#X obj 326 13 rain;
+#X obj 336 23 rain;
+#X obj 346 33 rain;
+#X obj 356 43 rain;
+#X obj 366 53 rain;
+#X obj 376 63 rain;
+#X obj 386 73 rain;
+#X obj 396 83 rain;
+#X obj 406 93 rain;
+#X obj 416 103 rain;
+#X obj 426 113 rain;
+#X obj 436 123 rain;
+#X obj 446 133 rain;
+#X obj 456 143 rain;
+#X obj 466 153 rain;
+#X obj 476 163 rain;
+#X obj 486 173 rain;
+#X obj 496 183 rain;
+#X obj 506 193 rain;
+#X obj 516 203 rain;
+#X obj 526 213 rain;
+#X obj 536 223 rain;
+#X obj 546 233 rain;
+#X obj 556 243 rain;
+#X obj 566 253 rain;
+#X obj 576 263 rain;
+#X obj 586 273 rain;
+#X obj 596 283 rain;
+#X obj 606 293 rain;
+#X obj 616 303 rain;
+#X obj 626 313 rain;
+#X obj 636 323 rain;
+#X obj 646 333 rain;
+#X obj 656 343 rain;
+#X obj 666 353 rain;
+#X obj 676 363 rain;
+#X obj 686 373 rain;
+#X obj 696 383 rain;
+#X obj 706 393 rain;
+#X obj 716 403 rain;
+#X obj 726 413 rain;
+#X obj 736 423 rain;
+#X obj 746 433 rain;
+#X obj 381 -7 rain;
+#X obj 391 3 rain;
+#X obj 401 13 rain;
+#X obj 411 23 rain;
+#X obj 421 33 rain;
+#X obj 431 43 rain;
+#X obj 441 53 rain;
+#X obj 451 63 rain;
+#X obj 461 73 rain;
+#X obj 471 83 rain;
+#X obj 481 93 rain;
+#X obj 501 113 rain;
+#X obj 511 123 rain;
+#X obj 521 133 rain;
+#X obj 531 143 rain;
+#X obj 541 153 rain;
+#X obj 551 163 rain;
+#X obj 561 173 rain;
+#X obj 571 183 rain;
+#X obj 581 193 rain;
+#X obj 591 203 rain;
+#X obj 601 213 rain;
+#X obj 611 223 rain;
+#X obj 621 233 rain;
+#X obj 631 243 rain;
+#X obj 641 253 rain;
+#X obj 651 263 rain;
+#X obj 661 273 rain;
+#X obj 671 283 rain;
+#X obj 681 293 rain;
+#X obj 691 303 rain;
+#X obj 701 313 rain;
+#X obj 711 323 rain;
+#X obj 721 333 rain;
+#X obj 731 343 rain;
+#X obj 741 353 rain;
+#X obj 751 363 rain;
+#X obj 761 373 rain;
+#X obj 771 383 rain;
+#X obj 781 393 rain;
+#X obj 791 403 rain;
+#X obj 801 413 rain;
+#X obj 811 423 rain;
+#X obj 439 -8 rain;
+#X obj 449 2 rain;
+#X obj 459 12 rain;
+#X obj 469 22 rain;
+#X obj 479 32 rain;
+#X obj 489 42 rain;
+#X obj 509 62 rain;
+#X obj 519 72 rain;
+#X obj 529 82 rain;
+#X obj 539 92 rain;
+#X obj 549 102 rain;
+#X obj 559 112 rain;
+#X obj 569 122 rain;
+#X obj 579 132 rain;
+#X obj 589 142 rain;
+#X obj 599 152 rain;
+#X obj 609 162 rain;
+#X obj 619 172 rain;
+#X obj 629 182 rain;
+#X obj 639 192 rain;
+#X obj 649 202 rain;
+#X obj 659 212 rain;
+#X obj 669 222 rain;
+#X obj 679 232 rain;
+#X obj 689 242 rain;
+#X obj 699 252 rain;
+#X obj 709 262 rain;
+#X obj 719 272 rain;
+#X obj 729 282 rain;
+#X obj 739 292 rain;
+#X obj 749 302 rain;
+#X obj 759 312 rain;
+#X obj 769 322 rain;
+#X obj 779 332 rain;
+#X obj 789 342 rain;
+#X obj 799 352 rain;
+#X obj 809 362 rain;
+#X obj 819 372 rain;
+#X obj 829 382 rain;
+#X obj 839 392 rain;
+#X obj 849 402 rain;
+#X obj 859 412 rain;
+#X obj 869 422 rain;
+#X obj 476 -40 rain;
+#X obj 486 -30 rain;
+#X obj 496 -20 rain;
+#X obj 506 -10 rain;
+#X obj 516 0 rain;
+#X obj 526 10 rain;
+#X obj 536 20 rain;
+#X obj 546 30 rain;
+#X obj 556 40 rain;
+#X obj 576 60 rain;
+#X obj 586 70 rain;
+#X obj 596 80 rain;
+#X obj 606 90 rain;
+#X obj 616 100 rain;
+#X obj 626 110 rain;
+#X obj 636 120 rain;
+#X obj 646 130 rain;
+#X obj 656 140 rain;
+#X obj 666 150 rain;
+#X obj 676 160 rain;
+#X obj 686 170 rain;
+#X obj 696 180 rain;
+#X obj 706 190 rain;
+#X obj 716 200 rain;
+#X obj 726 210 rain;
+#X obj 736 220 rain;
+#X obj 746 230 rain;
+#X obj 756 240 rain;
+#X obj 766 250 rain;
+#X obj 776 260 rain;
+#X obj 786 270 rain;
+#X obj 796 280 rain;
+#X obj 806 290 rain;
+#X obj 816 300 rain;
+#X obj 826 310 rain;
+#X obj 836 320 rain;
+#X obj 846 330 rain;
+#X obj 856 340 rain;
+#X obj 866 350 rain;
+#X obj 876 360 rain;
+#X obj 886 370 rain;
+#X obj 896 380 rain;
+#X obj 906 390 rain;
+#X obj 534 -41 rain;
+#X obj 544 -31 rain;
+#X obj 554 -21 rain;
+#X obj 564 -11 rain;
+#X obj 574 -1 rain;
+#X obj 584 9 rain;
+#X obj 594 19 rain;
+#X obj 604 29 rain;
+#X obj 614 39 rain;
+#X obj 624 49 rain;
+#X obj 634 59 rain;
+#X obj 644 69 rain;
+#X obj 654 79 rain;
+#X obj 664 89 rain;
+#X obj 674 99 rain;
+#X obj 684 109 rain;
+#X obj 694 119 rain;
+#X obj 704 129 rain;
+#X obj 714 139 rain;
+#X obj 724 149 rain;
+#X obj 734 159 rain;
+#X obj 744 169 rain;
+#X obj 754 179 rain;
+#X obj 764 189 rain;
+#X obj 774 199 rain;
+#X obj 784 209 rain;
+#X obj 794 219 rain;
+#X obj 804 229 rain;
+#X obj 814 239 rain;
+#X obj 824 249 rain;
+#X obj 834 259 rain;
+#X obj 844 269 rain;
+#X obj 854 279 rain;
+#X obj 864 289 rain;
+#X obj 874 299 rain;
+#X obj 884 309 rain;
+#X obj 894 319 rain;
+#X obj 904 329 rain;
+#X obj 914 339 rain;
+#X obj 924 349 rain;
+#X obj 934 359 rain;
+#X obj 944 369 rain;
+#X obj 954 379 rain;
+#X obj 964 389 rain;
+#X obj 599 -51 rain;
+#X obj 609 -41 rain;
+#X obj 619 -31 rain;
+#X obj 629 -21 rain;
+#X obj 639 -11 rain;
+#X obj 649 -1 rain;
+#X obj 659 9 rain;
+#X obj 669 19 rain;
+#X obj 679 29 rain;
+#X obj 689 39 rain;
+#X obj 699 49 rain;
+#X obj 709 59 rain;
+#X obj 719 69 rain;
+#X obj 729 79 rain;
+#X obj 739 89 rain;
+#X obj 749 99 rain;
+#X obj 759 109 rain;
+#X obj 769 119 rain;
+#X obj 779 129 rain;
+#X obj 789 139 rain;
+#X obj 799 149 rain;
+#X obj 809 159 rain;
+#X obj 819 169 rain;
+#X obj 829 179 rain;
+#X obj 839 189 rain;
+#X obj 849 199 rain;
+#X obj 859 209 rain;
+#X obj 869 219 rain;
+#X obj 879 229 rain;
+#X obj 889 239 rain;
+#X obj 899 249 rain;
+#X obj 909 259 rain;
+#X obj 919 269 rain;
+#X obj 929 279 rain;
+#X obj 939 289 rain;
+#X obj 949 299 rain;
+#X obj 959 309 rain;
+#X obj 969 319 rain;
+#X obj 979 329 rain;
+#X obj 989 339 rain;
+#X obj 999 349 rain;
+#X obj 1009 359 rain;
+#X obj 1019 369 rain;
+#X obj 1029 379 rain;
+#X obj 657 -52 rain;
+#X obj 667 -42 rain;
+#X obj 677 -32 rain;
+#X obj 687 -22 rain;
+#X obj 697 -12 rain;
+#X obj 707 -2 rain;
+#X obj 717 8 rain;
+#X obj 727 18 rain;
+#X obj 737 28 rain;
+#X obj 747 38 rain;
+#X obj 757 48 rain;
+#X obj 767 58 rain;
+#X obj 777 68 rain;
+#X obj 787 78 rain;
+#X obj 797 88 rain;
+#X obj 807 98 rain;
+#X obj 817 108 rain;
+#X obj 827 118 rain;
+#X obj 837 128 rain;
+#X obj 847 138 rain;
+#X obj 857 148 rain;
+#X obj 867 158 rain;
+#X obj 877 168 rain;
+#X obj 887 178 rain;
+#X obj 897 188 rain;
+#X obj 907 198 rain;
+#X obj 917 208 rain;
+#X obj 927 218 rain;
+#X obj 937 228 rain;
+#X obj 947 238 rain;
+#X obj 957 248 rain;
+#X obj 967 258 rain;
+#X obj 977 268 rain;
+#X obj 987 278 rain;
+#X obj 997 288 rain;
+#X obj 1007 298 rain;
+#X obj 1017 308 rain;
+#X obj 1027 318 rain;
+#X obj 1037 328 rain;
+#X obj 1047 338 rain;
+#X obj 1057 348 rain;
+#X obj 1067 358 rain;
+#X obj 1077 368 rain;
+#X obj 1087 378 rain;
+#X obj 734 -36 rain;
+#X obj 744 -26 rain;
+#X obj 754 -16 rain;
+#X obj 764 -6 rain;
+#X obj 774 4 rain;
+#X obj 784 14 rain;
+#X obj 794 24 rain;
+#X obj 804 34 rain;
+#X obj 814 44 rain;
+#X obj 824 54 rain;
+#X obj 834 64 rain;
+#X obj 844 74 rain;
+#X obj 854 84 rain;
+#X obj 864 94 rain;
+#X obj 874 104 rain;
+#X obj 884 114 rain;
+#X obj 894 124 rain;
+#X obj 904 134 rain;
+#X obj 914 144 rain;
+#X obj 924 154 rain;
+#X obj 934 164 rain;
+#X obj 944 174 rain;
+#X obj 954 184 rain;
+#X obj 964 194 rain;
+#X obj 974 204 rain;
+#X obj 984 214 rain;
+#X obj 994 224 rain;
+#X obj 1004 234 rain;
+#X obj 1014 244 rain;
+#X obj 1024 254 rain;
+#X obj 1034 264 rain;
+#X obj 1044 274 rain;
+#X obj 1054 284 rain;
+#X obj 1064 294 rain;
+#X obj 1074 304 rain;
+#X obj 1084 314 rain;
+#X obj 1094 324 rain;
+#X obj 1104 334 rain;
+#X obj 1114 344 rain;
+#X obj 1124 354 rain;
+#X obj 1134 364 rain;
+#X obj 1144 374 rain;
+#X obj 1154 384 rain;
+#X obj 1164 394 rain;
+#X obj 792 -37 rain;
+#X obj 802 -27 rain;
+#X obj 812 -17 rain;
+#X obj 822 -7 rain;
+#X obj 832 3 rain;
+#X obj 842 13 rain;
+#X obj 852 23 rain;
+#X obj 862 33 rain;
+#X obj 872 43 rain;
+#X obj 882 53 rain;
+#X obj 892 63 rain;
+#X obj 902 73 rain;
+#X obj 912 83 rain;
+#X obj 922 93 rain;
+#X obj 932 103 rain;
+#X obj 942 113 rain;
+#X obj 952 123 rain;
+#X obj 962 133 rain;
+#X obj 972 143 rain;
+#X obj 982 153 rain;
+#X obj 992 163 rain;
+#X obj 1002 173 rain;
+#X obj 1012 183 rain;
+#X obj 1022 193 rain;
+#X obj 1032 203 rain;
+#X obj 1042 213 rain;
+#X obj 1052 223 rain;
+#X obj 1062 233 rain;
+#X obj 1072 243 rain;
+#X obj 1082 253 rain;
+#X obj 1092 263 rain;
+#X obj 1102 273 rain;
+#X obj 1112 283 rain;
+#X obj 1122 293 rain;
+#X obj 1132 303 rain;
+#X obj 1142 313 rain;
+#X obj 1152 323 rain;
+#X obj 1162 333 rain;
+#X obj 1172 343 rain;
+#X obj 1182 353 rain;
+#X obj 1192 363 rain;
+#X obj 1202 373 rain;
+#X obj 1212 383 rain;
+#X obj 1222 393 rain;
+#X obj 857 -47 rain;
+#X obj 867 -37 rain;
+#X obj 877 -27 rain;
+#X obj 887 -17 rain;
+#X obj 897 -7 rain;
+#X obj 907 3 rain;
+#X obj 917 13 rain;
+#X obj 927 23 rain;
+#X obj 937 33 rain;
+#X obj 947 43 rain;
+#X obj 957 53 rain;
+#X obj 967 63 rain;
+#X obj 977 73 rain;
+#X obj 987 83 rain;
+#X obj 997 93 rain;
+#X obj 1007 103 rain;
+#X obj 1017 113 rain;
+#X obj 1027 123 rain;
+#X obj 1037 133 rain;
+#X obj 1047 143 rain;
+#X obj 1057 153 rain;
+#X obj 1067 163 rain;
+#X obj 1077 173 rain;
+#X obj 1087 183 rain;
+#X obj 1097 193 rain;
+#X obj 1107 203 rain;
+#X obj 1117 213 rain;
+#X obj 1127 223 rain;
+#X obj 1137 233 rain;
+#X obj 1147 243 rain;
+#X obj 1157 253 rain;
+#X obj 1167 263 rain;
+#X obj 1177 273 rain;
+#X obj 1187 283 rain;
+#X obj 1197 293 rain;
+#X obj 1207 303 rain;
+#X obj 1217 313 rain;
+#X obj 1227 323 rain;
+#X obj 1237 333 rain;
+#X obj 1247 343 rain;
+#X obj 1257 353 rain;
+#X obj 1267 363 rain;
+#X obj 1277 373 rain;
+#X obj 1287 383 rain;
+#X obj 915 -48 rain;
+#X obj 925 -38 rain;
+#X obj 935 -28 rain;
+#X obj 945 -18 rain;
+#X obj 955 -8 rain;
+#X obj 965 2 rain;
+#X obj 975 12 rain;
+#X obj 985 22 rain;
+#X obj 995 32 rain;
+#X obj 1005 42 rain;
+#X obj 1015 52 rain;
+#X obj 1025 62 rain;
+#X obj 1035 72 rain;
+#X obj 1045 82 rain;
+#X obj 1055 92 rain;
+#X obj 1065 102 rain;
+#X obj 1075 112 rain;
+#X obj 1085 122 rain;
+#X obj 1095 132 rain;
+#X obj 1105 142 rain;
+#X obj 1115 152 rain;
+#X obj 1125 162 rain;
+#X obj 1135 172 rain;
+#X obj 1145 182 rain;
+#X obj 1155 192 rain;
+#X obj 1165 202 rain;
+#X obj 1175 212 rain;
+#X obj 1185 222 rain;
+#X obj 1195 232 rain;
+#X obj 1205 242 rain;
+#X obj 1215 252 rain;
+#X obj 1225 262 rain;
+#X obj 1235 272 rain;
+#X obj 1245 282 rain;
+#X obj 1255 292 rain;
+#X obj 1265 302 rain;
+#X obj 1275 312 rain;
+#X obj 1285 322 rain;
+#X obj 1295 332 rain;
+#X obj 1305 342 rain;
+#X obj 1315 352 rain;
+#X obj 1325 362 rain;
+#X obj 1335 372 rain;
+#X obj 1345 382 rain;
+#X restore 469 479 pd pool;
+#X obj 116 200 s mass;
+#X obj 84 327 s link;
+#X text 43 132 <- begin (change metro speed for slow computer);
+#X obj 472 300 alpha;
+#X msg 533 406 30;
+#X obj 533 385 loadbang;
+#X obj 472 356 translateXYZ 0 -2 0;
+#X obj 22 173 metro 30;
+#X obj 472 431 sphere 1.95;
+#X floatatom 65 150 5 0 0 0 - - -;
+#X obj 48 428 gemhead;
+#X obj 48 452 color 1 0 0;
+#X obj 472 271 gemhead 55;
+#X obj 472 329 color 1 1 1 0.7;
+#X msg 170 200 reset \, view -3 3 6 0 0 0 0 4 0 \, lighting 1 \, create
+\, 1;
+#X obj 48 499 rotateXYZ 90 0 0;
+#X obj 48 523 square 6;
+#X obj 48 476 translateXYZ 0 -3.05 0;
+#X obj 267 464 gemhead 1;
+#X obj 267 489 rotateXYZ -80 0 0;
+#X obj 267 517 world_light;
+#X text 210 175 <- reset the simulation;
+#X text 205 1 infinit small particules on an elipse.;
+#X obj 46 374 iSphere3D mass 0 -2 0 0 2 0 0.1 0 0.1;
+#X obj 66 351 iAmbient3D mass 0 -0.001 0 1e-06 1e-07 1e-06 O.OOO1;
+#X msg 116 176 reset \, setT 1;
+#X obj 170 324 ch_gemwin;
+#X obj 189 255 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 205 279 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 222 302 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 77 62 click on the gem windows to rotate the view point (middle
+clik to set the distance to the object). You can also change the position
+of the camera with slider if mouse does not work;
+#X text 268 237 camera position;
+#X text 79 30 Masses don't interact each other. They interact with
+the sphere \, and the gravity field.;
+#X text 513 199 <- 1;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 4 0;
+#X connect 0 1 7 0;
+#X connect 0 1 29 0;
+#X connect 0 1 30 0;
+#X connect 1 0 13 0;
+#X connect 2 0 31 0;
+#X connect 3 0 32 0;
+#X connect 9 0 19 0;
+#X connect 10 0 14 2;
+#X connect 11 0 10 0;
+#X connect 12 0 14 0;
+#X connect 13 0 0 0;
+#X connect 15 0 13 1;
+#X connect 16 0 17 0;
+#X connect 17 0 23 0;
+#X connect 18 0 9 0;
+#X connect 19 0 12 0;
+#X connect 20 0 32 0;
+#X connect 21 0 22 0;
+#X connect 23 0 21 0;
+#X connect 24 0 25 0;
+#X connect 25 0 26 0;
+#X connect 31 0 6 0;
+#X connect 33 0 32 1;
+#X connect 34 0 32 2;
+#X connect 35 0 32 3;
diff --git a/examples/37_hollywood_planette_explosion.pd b/examples/37_hollywood_planette_explosion.pd
index 887b17d..db32a71 100644
--- a/examples/37_hollywood_planette_explosion.pd
+++ b/examples/37_hollywood_planette_explosion.pd
@@ -1,480 +1,482 @@
-#N canvas 457 291 671 403 10;
-#X obj 19 108 t b b;
-#X obj 19 42 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 177 289 loadbang;
-#X msg 323 137 0 \, destroy;
-#X obj 19 146 s mass;
-#N canvas 39 357 1063 565 pool 0;
-#X obj 294 191 explose2;
-#X obj 104 1 explose2;
-#X obj 114 11 explose2;
-#X obj 124 21 explose2;
-#X obj 134 31 explose2;
-#X obj 144 41 explose2;
-#X obj 154 51 explose2;
-#X obj 164 61 explose2;
-#X obj 174 71 explose2;
-#X obj 184 81 explose2;
-#X obj 194 91 explose2;
-#X obj 204 101 explose2;
-#X obj 214 111 explose2;
-#X obj 224 121 explose2;
-#X obj 234 131 explose2;
-#X obj 244 141 explose2;
-#X obj 254 151 explose2;
-#X obj 264 161 explose2;
-#X obj 274 171 explose2;
-#X obj 284 181 explose2;
-#X obj 304 201 explose2;
-#X obj 314 211 explose2;
-#X obj 324 221 explose2;
-#X obj 334 231 explose2;
-#X obj 344 241 explose2;
-#X obj 354 251 explose2;
-#X obj 364 261 explose2;
-#X obj 374 271 explose2;
-#X obj 459 191 explose2;
-#X obj 269 1 explose2;
-#X obj 279 11 explose2;
-#X obj 289 21 explose2;
-#X obj 299 31 explose2;
-#X obj 309 41 explose2;
-#X obj 319 51 explose2;
-#X obj 329 61 explose2;
-#X obj 339 71 explose2;
-#X obj 349 81 explose2;
-#X obj 359 91 explose2;
-#X obj 369 101 explose2;
-#X obj 379 111 explose2;
-#X obj 389 121 explose2;
-#X obj 399 131 explose2;
-#X obj 409 141 explose2;
-#X obj 419 151 explose2;
-#X obj 429 161 explose2;
-#X obj 439 171 explose2;
-#X obj 449 181 explose2;
-#X obj 469 201 explose2;
-#X obj 479 211 explose2;
-#X obj 489 221 explose2;
-#X obj 499 231 explose2;
-#X obj 509 241 explose2;
-#X obj 519 251 explose2;
-#X obj 529 261 explose2;
-#X obj 539 271 explose2;
-#X obj 638 200 explose2;
-#X obj 448 10 explose2;
-#X obj 458 20 explose2;
-#X obj 468 30 explose2;
-#X obj 478 40 explose2;
-#X obj 488 50 explose2;
-#X obj 498 60 explose2;
-#X obj 508 70 explose2;
-#X obj 518 80 explose2;
-#X obj 528 90 explose2;
-#X obj 538 100 explose2;
-#X obj 548 110 explose2;
-#X obj 558 120 explose2;
-#X obj 568 130 explose2;
-#X obj 578 140 explose2;
-#X obj 588 150 explose2;
-#X obj 598 160 explose2;
-#X obj 608 170 explose2;
-#X obj 618 180 explose2;
-#X obj 628 190 explose2;
-#X obj 648 210 explose2;
-#X obj 658 220 explose2;
-#X obj 668 230 explose2;
-#X obj 678 240 explose2;
-#X obj 688 250 explose2;
-#X obj 698 260 explose2;
-#X obj 708 270 explose2;
-#X obj 718 280 explose2;
-#X obj 803 200 explose2;
-#X obj 613 10 explose2;
-#X obj 623 20 explose2;
-#X obj 633 30 explose2;
-#X obj 643 40 explose2;
-#X obj 653 50 explose2;
-#X obj 663 60 explose2;
-#X obj 673 70 explose2;
-#X obj 683 80 explose2;
-#X obj 693 90 explose2;
-#X obj 703 100 explose2;
-#X obj 713 110 explose2;
-#X obj 723 120 explose2;
-#X obj 733 130 explose2;
-#X obj 743 140 explose2;
-#X obj 753 150 explose2;
-#X obj 763 160 explose2;
-#X obj 773 170 explose2;
-#X obj 783 180 explose2;
-#X obj 793 190 explose2;
-#X obj 813 210 explose2;
-#X obj 823 220 explose2;
-#X obj 833 230 explose2;
-#X obj 843 240 explose2;
-#X obj 853 250 explose2;
-#X obj 863 260 explose2;
-#X obj 873 270 explose2;
-#X obj 883 280 explose2;
-#X obj 321 379 explose1;
-#X obj 461 441 explose2;
-#X obj 401 381 explose2;
-#X obj 411 391 explose2;
-#X obj 421 401 explose2;
-#X obj 431 411 explose2;
-#X obj 441 421 explose2;
-#X obj 451 431 explose2;
-#X obj 471 451 explose2;
-#X obj 481 461 explose2;
-#X obj 491 471 explose2;
-#X obj 501 481 explose2;
-#X obj 511 491 explose2;
-#X obj 521 501 explose2;
-#X obj 531 511 explose2;
-#X obj 541 521 explose2;
-#X obj 626 441 explose2;
-#X obj 566 381 explose2;
-#X obj 576 391 explose2;
-#X obj 586 401 explose2;
-#X obj 596 411 explose2;
-#X obj 606 421 explose2;
-#X obj 616 431 explose2;
-#X obj 636 451 explose2;
-#X obj 646 461 explose2;
-#X obj 656 471 explose2;
-#X obj 666 481 explose2;
-#X obj 676 491 explose2;
-#X obj 686 501 explose2;
-#X obj 696 511 explose2;
-#X obj 706 521 explose2;
-#X obj 805 450 explose2;
-#X obj 735 380 explose2;
-#X obj 745 390 explose2;
-#X obj 755 400 explose2;
-#X obj 765 410 explose2;
-#X obj 775 420 explose2;
-#X obj 785 430 explose2;
-#X obj 795 440 explose2;
-#X obj 815 460 explose2;
-#X obj 825 470 explose2;
-#X obj 835 480 explose2;
-#X obj 845 490 explose2;
-#X obj 855 500 explose2;
-#X obj 865 510 explose2;
-#X obj 875 520 explose2;
-#X obj 885 530 explose2;
-#X obj 970 450 explose2;
-#X obj 900 380 explose2;
-#X obj 910 390 explose2;
-#X obj 920 400 explose2;
-#X obj 930 410 explose2;
-#X obj 940 420 explose2;
-#X obj 950 430 explose2;
-#X obj 960 440 explose2;
-#X obj 980 460 explose2;
-#X obj 990 470 explose2;
-#X obj 1000 480 explose2;
-#X obj 1010 490 explose2;
-#X obj 1020 500 explose2;
-#X obj 1030 510 explose2;
-#X obj 1040 520 explose2;
-#X obj 1050 530 explose2;
-#X obj 24 -1 explose1;
-#X obj 34 9 explose1;
-#X obj 44 19 explose1;
-#X obj 54 29 explose1;
-#X obj 64 39 explose1;
-#X obj 74 49 explose1;
-#X obj 84 59 explose1;
-#X obj 94 69 explose1;
-#X obj 104 79 explose1;
-#X obj 114 89 explose1;
-#X obj 124 99 explose1;
-#X obj 134 109 explose1;
-#X obj 144 119 explose1;
-#X obj 154 129 explose1;
-#X obj 164 139 explose1;
-#X obj 174 149 explose1;
-#X obj 184 159 explose1;
-#X obj 194 169 explose1;
-#X obj 204 179 explose1;
-#X obj 214 189 explose1;
-#X obj 224 199 explose1;
-#X obj 234 209 explose1;
-#X obj 244 219 explose1;
-#X obj 254 229 explose1;
-#X obj 264 239 explose1;
-#X obj 274 249 explose1;
-#X obj 284 259 explose1;
-#X obj 294 269 explose1;
-#X obj 304 279 explose1;
-#X obj 314 289 explose1;
-#X obj 324 299 explose1;
-#X obj 334 309 explose1;
-#X obj 344 319 explose1;
-#X obj 354 329 explose1;
-#X obj 364 339 explose1;
-#X obj 374 349 explose1;
-#X obj 384 359 explose1;
-#X obj 189 -1 explose1;
-#X obj 199 9 explose1;
-#X obj 209 19 explose1;
-#X obj 219 29 explose1;
-#X obj 229 39 explose1;
-#X obj 239 49 explose1;
-#X obj 249 59 explose1;
-#X obj 259 69 explose1;
-#X obj 269 79 explose1;
-#X obj 279 89 explose1;
-#X obj 289 99 explose1;
-#X obj 299 109 explose1;
-#X obj 309 119 explose1;
-#X obj 319 129 explose1;
-#X obj 329 139 explose1;
-#X obj 339 149 explose1;
-#X obj 349 159 explose1;
-#X obj 359 169 explose1;
-#X obj 369 179 explose1;
-#X obj 379 189 explose1;
-#X obj 389 199 explose1;
-#X obj 399 209 explose1;
-#X obj 409 219 explose1;
-#X obj 419 229 explose1;
-#X obj 429 239 explose1;
-#X obj 439 249 explose1;
-#X obj 449 259 explose1;
-#X obj 459 269 explose1;
-#X obj 469 279 explose1;
-#X obj 479 289 explose1;
-#X obj 489 299 explose1;
-#X obj 499 309 explose1;
-#X obj 509 319 explose1;
-#X obj 519 329 explose1;
-#X obj 529 339 explose1;
-#X obj 539 349 explose1;
-#X obj 549 359 explose1;
-#X obj 368 8 explose1;
-#X obj 378 18 explose1;
-#X obj 388 28 explose1;
-#X obj 398 38 explose1;
-#X obj 408 48 explose1;
-#X obj 418 58 explose1;
-#X obj 428 68 explose1;
-#X obj 438 78 explose1;
-#X obj 448 88 explose1;
-#X obj 458 98 explose1;
-#X obj 468 108 explose1;
-#X obj 478 118 explose1;
-#X obj 488 128 explose1;
-#X obj 498 138 explose1;
-#X obj 508 148 explose1;
-#X obj 518 158 explose1;
-#X obj 528 168 explose1;
-#X obj 538 178 explose1;
-#X obj 548 188 explose1;
-#X obj 558 198 explose1;
-#X obj 568 208 explose1;
-#X obj 578 218 explose1;
-#X obj 588 228 explose1;
-#X obj 598 238 explose1;
-#X obj 608 248 explose1;
-#X obj 618 258 explose1;
-#X obj 628 268 explose1;
-#X obj 638 278 explose1;
-#X obj 648 288 explose1;
-#X obj 658 298 explose1;
-#X obj 668 308 explose1;
-#X obj 678 318 explose1;
-#X obj 688 328 explose1;
-#X obj 698 338 explose1;
-#X obj 708 348 explose1;
-#X obj 718 358 explose1;
-#X obj 728 368 explose1;
-#X obj 533 8 explose1;
-#X obj 543 18 explose1;
-#X obj 553 28 explose1;
-#X obj 563 38 explose1;
-#X obj 573 48 explose1;
-#X obj 583 58 explose1;
-#X obj 593 68 explose1;
-#X obj 603 78 explose1;
-#X obj 613 88 explose1;
-#X obj 623 98 explose1;
-#X obj 633 108 explose1;
-#X obj 643 118 explose1;
-#X obj 653 128 explose1;
-#X obj 663 138 explose1;
-#X obj 673 148 explose1;
-#X obj 683 158 explose1;
-#X obj 693 168 explose1;
-#X obj 703 178 explose1;
-#X obj 713 188 explose1;
-#X obj 723 198 explose1;
-#X obj 733 208 explose1;
-#X obj 743 218 explose1;
-#X obj 753 228 explose1;
-#X obj 763 238 explose1;
-#X obj 773 248 explose1;
-#X obj 783 258 explose1;
-#X obj 793 268 explose1;
-#X obj 803 278 explose1;
-#X obj 813 288 explose1;
-#X obj 823 298 explose1;
-#X obj 833 308 explose1;
-#X obj 843 318 explose1;
-#X obj 853 328 explose1;
-#X obj 863 338 explose1;
-#X obj 873 348 explose1;
-#X obj 883 358 explose1;
-#X obj 893 368 explose1;
-#X obj 331 389 explose1;
-#X obj 341 399 explose1;
-#X obj 351 409 explose1;
-#X obj 361 419 explose1;
-#X obj 371 429 explose1;
-#X obj 381 439 explose1;
-#X obj 391 449 explose1;
-#X obj 401 459 explose1;
-#X obj 411 469 explose1;
-#X obj 421 479 explose1;
-#X obj 431 489 explose1;
-#X obj 441 499 explose1;
-#X obj 451 509 explose1;
-#X obj 461 519 explose1;
-#X obj 471 529 explose1;
-#X obj 481 539 explose1;
-#X obj 491 549 explose1;
-#X obj 501 559 explose1;
-#X obj 511 569 explose1;
-#X obj 521 579 explose1;
-#X obj 531 589 explose1;
-#X obj 541 599 explose1;
-#X obj 551 609 explose1;
-#X obj 486 379 explose1;
-#X obj 496 389 explose1;
-#X obj 506 399 explose1;
-#X obj 516 409 explose1;
-#X obj 526 419 explose1;
-#X obj 536 429 explose1;
-#X obj 546 439 explose1;
-#X obj 556 449 explose1;
-#X obj 566 459 explose1;
-#X obj 576 469 explose1;
-#X obj 586 479 explose1;
-#X obj 596 489 explose1;
-#X obj 606 499 explose1;
-#X obj 616 509 explose1;
-#X obj 626 519 explose1;
-#X obj 636 529 explose1;
-#X obj 646 539 explose1;
-#X obj 656 549 explose1;
-#X obj 666 559 explose1;
-#X obj 676 569 explose1;
-#X obj 686 579 explose1;
-#X obj 696 589 explose1;
-#X obj 706 599 explose1;
-#X obj 716 609 explose1;
-#X obj 655 378 explose1;
-#X obj 665 388 explose1;
-#X obj 675 398 explose1;
-#X obj 685 408 explose1;
-#X obj 695 418 explose1;
-#X obj 705 428 explose1;
-#X obj 715 438 explose1;
-#X obj 725 448 explose1;
-#X obj 735 458 explose1;
-#X obj 745 468 explose1;
-#X obj 755 478 explose1;
-#X obj 765 488 explose1;
-#X obj 775 498 explose1;
-#X obj 785 508 explose1;
-#X obj 795 518 explose1;
-#X obj 805 528 explose1;
-#X obj 815 538 explose1;
-#X obj 825 548 explose1;
-#X obj 835 558 explose1;
-#X obj 845 568 explose1;
-#X obj 855 578 explose1;
-#X obj 865 588 explose1;
-#X obj 875 598 explose1;
-#X obj 885 608 explose1;
-#X obj 895 618 explose1;
-#X obj 820 378 explose1;
-#X obj 830 388 explose1;
-#X obj 840 398 explose1;
-#X obj 850 408 explose1;
-#X obj 860 418 explose1;
-#X obj 870 428 explose1;
-#X obj 880 438 explose1;
-#X obj 890 448 explose1;
-#X obj 900 458 explose1;
-#X obj 910 468 explose1;
-#X obj 920 478 explose1;
-#X obj 930 488 explose1;
-#X obj 940 498 explose1;
-#X obj 950 508 explose1;
-#X obj 960 518 explose1;
-#X obj 970 528 explose1;
-#X obj 980 538 explose1;
-#X obj 990 548 explose1;
-#X obj 1000 558 explose1;
-#X obj 1010 568 explose1;
-#X obj 1020 578 explose1;
-#X obj 1030 588 explose1;
-#X obj 1040 598 explose1;
-#X obj 1050 608 explose1;
-#X obj 1060 618 explose1;
-#X restore 26 330 pd pool;
-#X msg 177 313 reset;
-#X obj 177 337 s mass;
-#X obj 65 146 s link;
-#X text 42 39 <- begin (change metro speed for slow computer);
-#X obj 27 245 gemhead 1;
-#X obj 27 270 rotateXYZ -80 0 0;
-#X obj 27 298 world_light;
-#X obj 154 77 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
--1;
-#X obj 154 106 t b b b b;
-#X obj 32 170 s mass2;
-#X obj 192 355 s mass2;
-#X obj 305 231 delay 200;
-#X obj 303 297 iCylinder3D mass2 0 1 0 0 0 0 0 1 0 0.05;
-#X obj 305 252 iSphere3D mass 0 3 0 0 1 0 0.03;
-#X msg 292 114 reset \, view -3 4 6 0 0 0 2 4 0 \, lighting 1 \, create
-\, 1;
-#X obj 19 82 metro 25;
-#X floatatom 62 65 5 0 0 0 - - -;
-#X text 179 76 <- explosion;
-#X text 184 7 planette explosion \, hollywood style!;
-#X obj 277 78 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
--1;
-#X text 296 77 <- reset;
-#X obj 304 274 iAmbient3D mass2 0 0 0 0.01 0 0.01;
-#X obj 305 208 iAmbient3D mass 0 0 0 0.001 0.001 0.001 O.OOO1;
-#X text 625 115 <- 1;
-#X obj 292 166 gemwin;
-#X connect 0 0 4 0;
-#X connect 0 0 15 0;
-#X connect 0 1 8 0;
-#X connect 1 0 21 0;
-#X connect 2 0 6 0;
-#X connect 3 0 30 0;
-#X connect 6 0 7 0;
-#X connect 6 0 16 0;
-#X connect 10 0 11 0;
-#X connect 11 0 12 0;
-#X connect 13 0 14 0;
-#X connect 14 0 17 0;
-#X connect 14 0 18 0;
-#X connect 14 1 4 0;
-#X connect 14 1 15 0;
-#X connect 14 2 27 0;
-#X connect 14 2 28 0;
-#X connect 14 3 6 0;
-#X connect 17 0 19 0;
-#X connect 20 0 30 0;
-#X connect 21 0 0 0;
-#X connect 22 0 21 1;
-#X connect 25 0 6 0;
+#N canvas 453 305 697 427 10;
+#X declare -lib Gem;
+#X obj 22 129 t b b;
+#X obj 22 63 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 180 310 loadbang;
+#X msg 326 158 0 \, destroy;
+#X obj 22 167 s mass;
+#N canvas 39 357 1063 565 pool 0;
+#X obj 294 191 explose2;
+#X obj 104 1 explose2;
+#X obj 114 11 explose2;
+#X obj 124 21 explose2;
+#X obj 134 31 explose2;
+#X obj 144 41 explose2;
+#X obj 154 51 explose2;
+#X obj 164 61 explose2;
+#X obj 174 71 explose2;
+#X obj 184 81 explose2;
+#X obj 194 91 explose2;
+#X obj 204 101 explose2;
+#X obj 214 111 explose2;
+#X obj 224 121 explose2;
+#X obj 234 131 explose2;
+#X obj 244 141 explose2;
+#X obj 254 151 explose2;
+#X obj 264 161 explose2;
+#X obj 274 171 explose2;
+#X obj 284 181 explose2;
+#X obj 304 201 explose2;
+#X obj 314 211 explose2;
+#X obj 324 221 explose2;
+#X obj 334 231 explose2;
+#X obj 344 241 explose2;
+#X obj 354 251 explose2;
+#X obj 364 261 explose2;
+#X obj 374 271 explose2;
+#X obj 459 191 explose2;
+#X obj 269 1 explose2;
+#X obj 279 11 explose2;
+#X obj 289 21 explose2;
+#X obj 299 31 explose2;
+#X obj 309 41 explose2;
+#X obj 319 51 explose2;
+#X obj 329 61 explose2;
+#X obj 339 71 explose2;
+#X obj 349 81 explose2;
+#X obj 359 91 explose2;
+#X obj 369 101 explose2;
+#X obj 379 111 explose2;
+#X obj 389 121 explose2;
+#X obj 399 131 explose2;
+#X obj 409 141 explose2;
+#X obj 419 151 explose2;
+#X obj 429 161 explose2;
+#X obj 439 171 explose2;
+#X obj 449 181 explose2;
+#X obj 469 201 explose2;
+#X obj 479 211 explose2;
+#X obj 489 221 explose2;
+#X obj 499 231 explose2;
+#X obj 509 241 explose2;
+#X obj 519 251 explose2;
+#X obj 529 261 explose2;
+#X obj 539 271 explose2;
+#X obj 638 200 explose2;
+#X obj 448 10 explose2;
+#X obj 458 20 explose2;
+#X obj 468 30 explose2;
+#X obj 478 40 explose2;
+#X obj 488 50 explose2;
+#X obj 498 60 explose2;
+#X obj 508 70 explose2;
+#X obj 518 80 explose2;
+#X obj 528 90 explose2;
+#X obj 538 100 explose2;
+#X obj 548 110 explose2;
+#X obj 558 120 explose2;
+#X obj 568 130 explose2;
+#X obj 578 140 explose2;
+#X obj 588 150 explose2;
+#X obj 598 160 explose2;
+#X obj 608 170 explose2;
+#X obj 618 180 explose2;
+#X obj 628 190 explose2;
+#X obj 648 210 explose2;
+#X obj 658 220 explose2;
+#X obj 668 230 explose2;
+#X obj 678 240 explose2;
+#X obj 688 250 explose2;
+#X obj 698 260 explose2;
+#X obj 708 270 explose2;
+#X obj 718 280 explose2;
+#X obj 803 200 explose2;
+#X obj 613 10 explose2;
+#X obj 623 20 explose2;
+#X obj 633 30 explose2;
+#X obj 643 40 explose2;
+#X obj 653 50 explose2;
+#X obj 663 60 explose2;
+#X obj 673 70 explose2;
+#X obj 683 80 explose2;
+#X obj 693 90 explose2;
+#X obj 703 100 explose2;
+#X obj 713 110 explose2;
+#X obj 723 120 explose2;
+#X obj 733 130 explose2;
+#X obj 743 140 explose2;
+#X obj 753 150 explose2;
+#X obj 763 160 explose2;
+#X obj 773 170 explose2;
+#X obj 783 180 explose2;
+#X obj 793 190 explose2;
+#X obj 813 210 explose2;
+#X obj 823 220 explose2;
+#X obj 833 230 explose2;
+#X obj 843 240 explose2;
+#X obj 853 250 explose2;
+#X obj 863 260 explose2;
+#X obj 873 270 explose2;
+#X obj 883 280 explose2;
+#X obj 321 379 explose1;
+#X obj 461 441 explose2;
+#X obj 401 381 explose2;
+#X obj 411 391 explose2;
+#X obj 421 401 explose2;
+#X obj 431 411 explose2;
+#X obj 441 421 explose2;
+#X obj 451 431 explose2;
+#X obj 471 451 explose2;
+#X obj 481 461 explose2;
+#X obj 491 471 explose2;
+#X obj 501 481 explose2;
+#X obj 511 491 explose2;
+#X obj 521 501 explose2;
+#X obj 531 511 explose2;
+#X obj 541 521 explose2;
+#X obj 626 441 explose2;
+#X obj 566 381 explose2;
+#X obj 576 391 explose2;
+#X obj 586 401 explose2;
+#X obj 596 411 explose2;
+#X obj 606 421 explose2;
+#X obj 616 431 explose2;
+#X obj 636 451 explose2;
+#X obj 646 461 explose2;
+#X obj 656 471 explose2;
+#X obj 666 481 explose2;
+#X obj 676 491 explose2;
+#X obj 686 501 explose2;
+#X obj 696 511 explose2;
+#X obj 706 521 explose2;
+#X obj 805 450 explose2;
+#X obj 735 380 explose2;
+#X obj 745 390 explose2;
+#X obj 755 400 explose2;
+#X obj 765 410 explose2;
+#X obj 775 420 explose2;
+#X obj 785 430 explose2;
+#X obj 795 440 explose2;
+#X obj 815 460 explose2;
+#X obj 825 470 explose2;
+#X obj 835 480 explose2;
+#X obj 845 490 explose2;
+#X obj 855 500 explose2;
+#X obj 865 510 explose2;
+#X obj 875 520 explose2;
+#X obj 885 530 explose2;
+#X obj 970 450 explose2;
+#X obj 900 380 explose2;
+#X obj 910 390 explose2;
+#X obj 920 400 explose2;
+#X obj 930 410 explose2;
+#X obj 940 420 explose2;
+#X obj 950 430 explose2;
+#X obj 960 440 explose2;
+#X obj 980 460 explose2;
+#X obj 990 470 explose2;
+#X obj 1000 480 explose2;
+#X obj 1010 490 explose2;
+#X obj 1020 500 explose2;
+#X obj 1030 510 explose2;
+#X obj 1040 520 explose2;
+#X obj 1050 530 explose2;
+#X obj 24 -1 explose1;
+#X obj 34 9 explose1;
+#X obj 44 19 explose1;
+#X obj 54 29 explose1;
+#X obj 64 39 explose1;
+#X obj 74 49 explose1;
+#X obj 84 59 explose1;
+#X obj 94 69 explose1;
+#X obj 104 79 explose1;
+#X obj 114 89 explose1;
+#X obj 124 99 explose1;
+#X obj 134 109 explose1;
+#X obj 144 119 explose1;
+#X obj 154 129 explose1;
+#X obj 164 139 explose1;
+#X obj 174 149 explose1;
+#X obj 184 159 explose1;
+#X obj 194 169 explose1;
+#X obj 204 179 explose1;
+#X obj 214 189 explose1;
+#X obj 224 199 explose1;
+#X obj 234 209 explose1;
+#X obj 244 219 explose1;
+#X obj 254 229 explose1;
+#X obj 264 239 explose1;
+#X obj 274 249 explose1;
+#X obj 284 259 explose1;
+#X obj 294 269 explose1;
+#X obj 304 279 explose1;
+#X obj 314 289 explose1;
+#X obj 324 299 explose1;
+#X obj 334 309 explose1;
+#X obj 344 319 explose1;
+#X obj 354 329 explose1;
+#X obj 364 339 explose1;
+#X obj 374 349 explose1;
+#X obj 384 359 explose1;
+#X obj 189 -1 explose1;
+#X obj 199 9 explose1;
+#X obj 209 19 explose1;
+#X obj 219 29 explose1;
+#X obj 229 39 explose1;
+#X obj 239 49 explose1;
+#X obj 249 59 explose1;
+#X obj 259 69 explose1;
+#X obj 269 79 explose1;
+#X obj 279 89 explose1;
+#X obj 289 99 explose1;
+#X obj 299 109 explose1;
+#X obj 309 119 explose1;
+#X obj 319 129 explose1;
+#X obj 329 139 explose1;
+#X obj 339 149 explose1;
+#X obj 349 159 explose1;
+#X obj 359 169 explose1;
+#X obj 369 179 explose1;
+#X obj 379 189 explose1;
+#X obj 389 199 explose1;
+#X obj 399 209 explose1;
+#X obj 409 219 explose1;
+#X obj 419 229 explose1;
+#X obj 429 239 explose1;
+#X obj 439 249 explose1;
+#X obj 449 259 explose1;
+#X obj 459 269 explose1;
+#X obj 469 279 explose1;
+#X obj 479 289 explose1;
+#X obj 489 299 explose1;
+#X obj 499 309 explose1;
+#X obj 509 319 explose1;
+#X obj 519 329 explose1;
+#X obj 529 339 explose1;
+#X obj 539 349 explose1;
+#X obj 549 359 explose1;
+#X obj 368 8 explose1;
+#X obj 378 18 explose1;
+#X obj 388 28 explose1;
+#X obj 398 38 explose1;
+#X obj 408 48 explose1;
+#X obj 418 58 explose1;
+#X obj 428 68 explose1;
+#X obj 438 78 explose1;
+#X obj 448 88 explose1;
+#X obj 458 98 explose1;
+#X obj 468 108 explose1;
+#X obj 478 118 explose1;
+#X obj 488 128 explose1;
+#X obj 498 138 explose1;
+#X obj 508 148 explose1;
+#X obj 518 158 explose1;
+#X obj 528 168 explose1;
+#X obj 538 178 explose1;
+#X obj 548 188 explose1;
+#X obj 558 198 explose1;
+#X obj 568 208 explose1;
+#X obj 578 218 explose1;
+#X obj 588 228 explose1;
+#X obj 598 238 explose1;
+#X obj 608 248 explose1;
+#X obj 618 258 explose1;
+#X obj 628 268 explose1;
+#X obj 638 278 explose1;
+#X obj 648 288 explose1;
+#X obj 658 298 explose1;
+#X obj 668 308 explose1;
+#X obj 678 318 explose1;
+#X obj 688 328 explose1;
+#X obj 698 338 explose1;
+#X obj 708 348 explose1;
+#X obj 718 358 explose1;
+#X obj 728 368 explose1;
+#X obj 533 8 explose1;
+#X obj 543 18 explose1;
+#X obj 553 28 explose1;
+#X obj 563 38 explose1;
+#X obj 573 48 explose1;
+#X obj 583 58 explose1;
+#X obj 593 68 explose1;
+#X obj 603 78 explose1;
+#X obj 613 88 explose1;
+#X obj 623 98 explose1;
+#X obj 633 108 explose1;
+#X obj 643 118 explose1;
+#X obj 653 128 explose1;
+#X obj 663 138 explose1;
+#X obj 673 148 explose1;
+#X obj 683 158 explose1;
+#X obj 693 168 explose1;
+#X obj 703 178 explose1;
+#X obj 713 188 explose1;
+#X obj 723 198 explose1;
+#X obj 733 208 explose1;
+#X obj 743 218 explose1;
+#X obj 753 228 explose1;
+#X obj 763 238 explose1;
+#X obj 773 248 explose1;
+#X obj 783 258 explose1;
+#X obj 793 268 explose1;
+#X obj 803 278 explose1;
+#X obj 813 288 explose1;
+#X obj 823 298 explose1;
+#X obj 833 308 explose1;
+#X obj 843 318 explose1;
+#X obj 853 328 explose1;
+#X obj 863 338 explose1;
+#X obj 873 348 explose1;
+#X obj 883 358 explose1;
+#X obj 893 368 explose1;
+#X obj 331 389 explose1;
+#X obj 341 399 explose1;
+#X obj 351 409 explose1;
+#X obj 361 419 explose1;
+#X obj 371 429 explose1;
+#X obj 381 439 explose1;
+#X obj 391 449 explose1;
+#X obj 401 459 explose1;
+#X obj 411 469 explose1;
+#X obj 421 479 explose1;
+#X obj 431 489 explose1;
+#X obj 441 499 explose1;
+#X obj 451 509 explose1;
+#X obj 461 519 explose1;
+#X obj 471 529 explose1;
+#X obj 481 539 explose1;
+#X obj 491 549 explose1;
+#X obj 501 559 explose1;
+#X obj 511 569 explose1;
+#X obj 521 579 explose1;
+#X obj 531 589 explose1;
+#X obj 541 599 explose1;
+#X obj 551 609 explose1;
+#X obj 486 379 explose1;
+#X obj 496 389 explose1;
+#X obj 506 399 explose1;
+#X obj 516 409 explose1;
+#X obj 526 419 explose1;
+#X obj 536 429 explose1;
+#X obj 546 439 explose1;
+#X obj 556 449 explose1;
+#X obj 566 459 explose1;
+#X obj 576 469 explose1;
+#X obj 586 479 explose1;
+#X obj 596 489 explose1;
+#X obj 606 499 explose1;
+#X obj 616 509 explose1;
+#X obj 626 519 explose1;
+#X obj 636 529 explose1;
+#X obj 646 539 explose1;
+#X obj 656 549 explose1;
+#X obj 666 559 explose1;
+#X obj 676 569 explose1;
+#X obj 686 579 explose1;
+#X obj 696 589 explose1;
+#X obj 706 599 explose1;
+#X obj 716 609 explose1;
+#X obj 655 378 explose1;
+#X obj 665 388 explose1;
+#X obj 675 398 explose1;
+#X obj 685 408 explose1;
+#X obj 695 418 explose1;
+#X obj 705 428 explose1;
+#X obj 715 438 explose1;
+#X obj 725 448 explose1;
+#X obj 735 458 explose1;
+#X obj 745 468 explose1;
+#X obj 755 478 explose1;
+#X obj 765 488 explose1;
+#X obj 775 498 explose1;
+#X obj 785 508 explose1;
+#X obj 795 518 explose1;
+#X obj 805 528 explose1;
+#X obj 815 538 explose1;
+#X obj 825 548 explose1;
+#X obj 835 558 explose1;
+#X obj 845 568 explose1;
+#X obj 855 578 explose1;
+#X obj 865 588 explose1;
+#X obj 875 598 explose1;
+#X obj 885 608 explose1;
+#X obj 895 618 explose1;
+#X obj 820 378 explose1;
+#X obj 830 388 explose1;
+#X obj 840 398 explose1;
+#X obj 850 408 explose1;
+#X obj 860 418 explose1;
+#X obj 870 428 explose1;
+#X obj 880 438 explose1;
+#X obj 890 448 explose1;
+#X obj 900 458 explose1;
+#X obj 910 468 explose1;
+#X obj 920 478 explose1;
+#X obj 930 488 explose1;
+#X obj 940 498 explose1;
+#X obj 950 508 explose1;
+#X obj 960 518 explose1;
+#X obj 970 528 explose1;
+#X obj 980 538 explose1;
+#X obj 990 548 explose1;
+#X obj 1000 558 explose1;
+#X obj 1010 568 explose1;
+#X obj 1020 578 explose1;
+#X obj 1030 588 explose1;
+#X obj 1040 598 explose1;
+#X obj 1050 608 explose1;
+#X obj 1060 618 explose1;
+#X restore 29 351 pd pool;
+#X msg 180 334 reset;
+#X obj 180 358 s mass;
+#X obj 68 167 s link;
+#X text 45 60 <- begin (change metro speed for slow computer);
+#X obj 30 266 gemhead 1;
+#X obj 30 291 rotateXYZ -80 0 0;
+#X obj 30 319 world_light;
+#X obj 157 98 bng 15 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
+-1;
+#X obj 157 127 t b b b b;
+#X obj 35 191 s mass2;
+#X obj 195 376 s mass2;
+#X obj 308 252 delay 200;
+#X obj 306 318 iCylinder3D mass2 0 1 0 0 0 0 0 1 0 0.05;
+#X obj 308 273 iSphere3D mass 0 3 0 0 1 0 0.03;
+#X msg 295 135 reset \, view -3 4 6 0 0 0 2 4 0 \, lighting 1 \, create
+\, 1;
+#X obj 22 103 metro 25;
+#X floatatom 65 86 5 0 0 0 - - -;
+#X text 182 97 <- explosion;
+#X text 194 44 planette explosion \, hollywood style!;
+#X obj 280 99 bng 15 250 50 0 empty empty empty 0 -6 0 8 -24198 -1
+-1;
+#X text 299 98 <- reset;
+#X obj 307 295 iAmbient3D mass2 0 0 0 0.01 0 0.01;
+#X obj 308 229 iAmbient3D mass 0 0 0 0.001 0.001 0.001 O.OOO1;
+#X text 628 136 <- 1;
+#X obj 295 187 gemwin;
+#X obj 11 11 declare -lib Gem;
+#X connect 0 0 4 0;
+#X connect 0 0 15 0;
+#X connect 0 1 8 0;
+#X connect 1 0 21 0;
+#X connect 2 0 6 0;
+#X connect 3 0 30 0;
+#X connect 6 0 7 0;
+#X connect 6 0 16 0;
+#X connect 10 0 11 0;
+#X connect 11 0 12 0;
+#X connect 13 0 14 0;
+#X connect 14 0 17 0;
+#X connect 14 0 18 0;
+#X connect 14 1 4 0;
+#X connect 14 1 15 0;
+#X connect 14 2 27 0;
+#X connect 14 2 28 0;
+#X connect 14 3 6 0;
+#X connect 17 0 19 0;
+#X connect 20 0 30 0;
+#X connect 21 0 0 0;
+#X connect 22 0 21 1;
+#X connect 25 0 6 0;
diff --git a/examples/38_elastique_membrane_on_a_sphere.pd b/examples/38_elastique_membrane_on_a_sphere.pd
index 2ca904c..7ae4b0f 100644
--- a/examples/38_elastique_membrane_on_a_sphere.pd
+++ b/examples/38_elastique_membrane_on_a_sphere.pd
@@ -1,1413 +1,1415 @@
-#N canvas 67 33 711 552 10;
-#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 68 188 s masse;
-#X msg 364 476 setK \$1;
-#X msg 481 476 setM \$1;
-#X obj 481 504 s masse;
-#X msg 228 105 0 \, destroy;
-#X floatatom 364 452 5 0 0 0 - - -;
-#X floatatom 419 452 5 0 0 0 - - -;
-#X floatatom 481 453 5 0 0 0 - - -;
-#X obj 606 475 world_light;
-#X obj 606 452 gemhead;
-#X msg 419 475 setD2 \$1;
-#X obj 453 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 511 199 loadbang;
-#X obj 477 224 t b b b;
-#X msg 514 254 reset;
-#X msg 477 351 resetF;
-#X obj 529 282 s masse;
-#X msg 420 427 0.03;
-#X obj 364 407 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 477 373 s link;
-#X obj 41 256 s lia;
-#X obj 495 329 s r_lia;
-#X obj 514 306 s masse2;
-#X msg 219 81 lighting 1 \, create \, 1;
-#X obj 66 214 s masse3;
-#X obj 31 140 t b b b;
-#X msg 481 429 1;
-#X obj 313 503 s link;
-#X obj 219 226 ch_gemwin;
-#X obj 49 235 s masse2;
-#X text 481 86 <- reset;
-#X floatatom 74 68 5 0 0 0 - - -;
-#N canvas 0 80 1142 764 array 0;
-#X obj 30 39 mass_link2 -1 -1 0;
-#X obj 1571 718 mass_link2 16 16 0;
-#X obj 21 725 mass_link2 -1 16 0;
-#X obj 1540 58 mass_link2 16 -1 0;
-#X obj 622 82 mass_link 6 0 0;
-#X obj 526 320 mass_link 5 6 0;
-#X obj 321 321 mass_link 3 6 0;
-#X obj 523 371 mass_link 5 7 0;
-#X obj 430 361 mass_link 4 7 0;
-#X obj 531 445 mass_link 5 9 0;
-#X obj 30 75 mass_link 0 0 0;
-#X obj 130 118 mass_link 1 1 0;
-#X obj 123 74 mass_link 1 0 0;
-#X obj 330 79 mass_link 3 0 0;
-#X obj 125 165 mass_link 1 2 0;
-#X obj 28 113 mass_link 0 1 0;
-#X obj 30 313 mass_link 0 6 0;
-#X obj 35 197 mass_link 0 3 0;
-#X obj 31 156 mass_link 0 2 0;
-#X obj 33 231 mass_link 0 4 0;
-#X obj 30 270 mass_link 0 5 0;
-#X obj 30 357 mass_link 0 7 0;
-#X obj 127 203 mass_link 1 3 0;
-#X obj 126 235 mass_link 1 4 0;
-#X obj 126 275 mass_link 1 5 0;
-#X obj 126 316 mass_link 1 6 0;
-#X obj 123 367 mass_link 1 7 0;
-#X obj 222 78 mass_link 2 0 0;
-#X obj 227 116 mass_link 2 1 0;
-#X obj 228 163 mass_link 2 2 0;
-#X obj 220 208 mass_link 2 3 0;
-#X obj 224 238 mass_link 2 4 0;
-#X obj 223 280 mass_link 2 5 0;
-#X obj 222 321 mass_link 2 6 0;
-#X obj 220 363 mass_link 2 7 0;
-#X obj 323 117 mass_link 3 1 0;
-#X obj 327 161 mass_link 3 2 0;
-#X obj 324 201 mass_link 3 3 0;
-#X obj 321 238 mass_link 3 4 0;
-#X obj 323 276 mass_link 3 5 0;
-#X obj 321 365 mass_link 3 7 0;
-#X obj 430 79 mass_link 4 0 0;
-#X obj 428 117 mass_link 4 1 0;
-#X obj 432 160 mass_link 4 2 0;
-#X obj 435 201 mass_link 4 3 0;
-#X obj 433 235 mass_link 4 4 0;
-#X obj 430 275 mass_link 4 5 0;
-#X obj 430 317 mass_link 4 6 0;
-#X obj 523 78 mass_link 5 0 0;
-#X obj 530 122 mass_link 5 1 0;
-#X obj 525 169 mass_link 5 2 0;
-#X obj 527 207 mass_link 5 3 0;
-#X obj 526 239 mass_link 5 4 0;
-#X obj 526 279 mass_link 5 5 0;
-#X obj 627 120 mass_link 6 1 0;
-#X obj 628 167 mass_link 6 2 0;
-#X obj 621 212 mass_link 6 3 0;
-#X obj 624 242 mass_link 6 4 0;
-#X obj 623 284 mass_link 6 5 0;
-#X obj 622 325 mass_link 6 6 0;
-#X obj 620 367 mass_link 6 7 0;
-#X obj 730 83 mass_link 7 0 0;
-#X obj 723 121 mass_link 7 1 0;
-#X obj 728 166 mass_link 7 2 0;
-#X obj 724 205 mass_link 7 3 0;
-#X obj 721 242 mass_link 7 4 0;
-#X obj 723 280 mass_link 7 5 0;
-#X obj 721 324 mass_link 7 6 0;
-#X obj 721 369 mass_link 7 7 0;
-#X obj 839 82 mass_link 8 0 0;
-#X obj 837 120 mass_link 8 1 0;
-#X obj 840 163 mass_link 8 2 0;
-#X obj 844 204 mass_link 8 3 0;
-#X obj 842 238 mass_link 8 4 0;
-#X obj 839 277 mass_link 8 5 0;
-#X obj 839 320 mass_link 8 6 0;
-#X obj 839 365 mass_link 8 7 0;
-#X obj 932 81 mass_link 9 0 0;
-#X obj 939 125 mass_link 9 1 0;
-#X obj 934 172 mass_link 9 2 0;
-#X obj 936 210 mass_link 9 3 0;
-#X obj 936 242 mass_link 9 4 0;
-#X obj 935 281 mass_link 9 5 0;
-#X obj 935 323 mass_link 9 6 0;
-#X obj 932 375 mass_link 9 7 0;
-#X obj 1031 85 mass_link 10 0 0;
-#X obj 1036 123 mass_link 10 1 0;
-#X obj 1040 169 mass_link 10 2 0;
-#X obj 1029 215 mass_link 10 3 0;
-#X obj 1033 245 mass_link 10 4 0;
-#X obj 1032 287 mass_link 10 5 0;
-#X obj 1031 328 mass_link 10 6 0;
-#X obj 1029 370 mass_link 10 7 0;
-#X obj 1139 86 mass_link 11 0 0;
-#X obj 1132 125 mass_link 11 1 0;
-#X obj 1137 168 mass_link 11 2 0;
-#X obj 1133 208 mass_link 11 3 0;
-#X obj 1130 245 mass_link 11 4 0;
-#X obj 1132 283 mass_link 11 5 0;
-#X obj 1130 328 mass_link 11 6 0;
-#X obj 1130 372 mass_link 11 7 0;
-#X obj 1239 88 mass_link 12 0 0;
-#X obj 1237 124 mass_link 12 1 0;
-#X obj 1241 167 mass_link 12 2 0;
-#X obj 1244 208 mass_link 12 3 0;
-#X obj 1242 242 mass_link 12 4 0;
-#X obj 1239 282 mass_link 12 5 0;
-#X obj 1240 324 mass_link 12 6 0;
-#X obj 1239 369 mass_link 12 7 0;
-#X obj 1333 86 mass_link 13 0 0;
-#X obj 1339 129 mass_link 13 1 0;
-#X obj 1334 176 mass_link 13 2 0;
-#X obj 1340 242 mass_link 13 4 0;
-#X obj 1335 286 mass_link 13 5 0;
-#X obj 1336 327 mass_link 13 6 0;
-#X obj 1333 371 mass_link 13 7 0;
-#X obj 1431 89 mass_link 14 0 0;
-#X obj 1437 127 mass_link 14 1 0;
-#X obj 1437 174 mass_link 14 2 0;
-#X obj 1430 219 mass_link 14 3 0;
-#X obj 1433 249 mass_link 14 4 0;
-#X obj 1432 291 mass_link 14 5 0;
-#X obj 1431 332 mass_link 14 6 0;
-#X obj 1429 374 mass_link 14 7 0;
-#X obj 1540 90 mass_link 15 0 0;
-#X obj 1532 128 mass_link 15 1 0;
-#X obj 1536 172 mass_link 15 2 0;
-#X obj 1533 212 mass_link 15 3 0;
-#X obj 1530 249 mass_link 15 4 0;
-#X obj 1532 287 mass_link 15 5 0;
-#X obj 1530 331 mass_link 15 6 0;
-#X obj 1530 378 mass_link 15 7 0;
-#X obj 32 398 mass_link 0 8 0;
-#X obj 29 436 mass_link 0 9 0;
-#X obj 32 479 mass_link 0 10 0;
-#X obj 37 520 mass_link 0 11 0;
-#X obj 34 554 mass_link 0 12 0;
-#X obj 31 594 mass_link 0 13 0;
-#X obj 31 636 mass_link 0 14 0;
-#X obj 31 680 mass_link 0 15 0;
-#X obj 124 690 mass_link 1 15 0;
-#X obj 221 685 mass_link 2 15 0;
-#X obj 323 688 mass_link 3 15 0;
-#X obj 432 684 mass_link 4 15 0;
-#X obj 524 694 mass_link 5 15 0;
-#X obj 622 690 mass_link 6 15 0;
-#X obj 722 692 mass_link 7 15 0;
-#X obj 837 687 mass_link 8 15 0;
-#X obj 933 698 mass_link 9 15 0;
-#X obj 1030 693 mass_link 10 15 0;
-#X obj 1132 695 mass_link 11 15 0;
-#X obj 1241 692 mass_link 12 15 0;
-#X obj 1334 694 mass_link 13 15 0;
-#X obj 1430 697 mass_link 14 15 0;
-#X obj 1532 701 mass_link 15 15 0;
-#X obj 1531 654 mass_link 15 14 0;
-#X obj 1432 655 mass_link 14 14 0;
-#X obj 1337 650 mass_link 13 14 0;
-#X obj 1242 647 mass_link 12 14 0;
-#X obj 1131 651 mass_link 11 14 0;
-#X obj 1033 651 mass_link 10 14 0;
-#X obj 936 646 mass_link 9 14 0;
-#X obj 842 644 mass_link 8 14 0;
-#X obj 722 647 mass_link 7 14 0;
-#X obj 624 648 mass_link 6 14 0;
-#X obj 527 643 mass_link 5 14 0;
-#X obj 432 641 mass_link 4 14 0;
-#X obj 322 644 mass_link 3 14 0;
-#X obj 223 644 mass_link 2 14 0;
-#X obj 127 639 mass_link 1 14 0;
-#X obj 127 598 mass_link 1 13 0;
-#X obj 224 603 mass_link 2 13 0;
-#X obj 324 599 mass_link 3 13 0;
-#X obj 431 598 mass_link 4 13 0;
-#X obj 526 602 mass_link 5 13 0;
-#X obj 624 607 mass_link 6 13 0;
-#X obj 724 602 mass_link 7 13 0;
-#X obj 840 600 mass_link 8 13 0;
-#X obj 936 604 mass_link 9 13 0;
-#X obj 1033 610 mass_link 10 13 0;
-#X obj 1133 606 mass_link 11 13 0;
-#X obj 1240 605 mass_link 12 13 0;
-#X obj 1336 609 mass_link 13 13 0;
-#X obj 1433 614 mass_link 14 13 0;
-#X obj 1534 610 mass_link 15 13 0;
-#X obj 1530 573 mass_link 15 12 0;
-#X obj 1429 572 mass_link 14 12 0;
-#X obj 1337 569 mass_link 13 12 0;
-#X obj 1243 565 mass_link 12 12 0;
-#X obj 1131 568 mass_link 11 12 0;
-#X obj 1034 568 mass_link 10 12 0;
-#X obj 937 565 mass_link 9 12 0;
-#X obj 843 561 mass_link 8 12 0;
-#X obj 722 565 mass_link 7 12 0;
-#X obj 625 565 mass_link 6 12 0;
-#X obj 527 562 mass_link 5 12 0;
-#X obj 434 558 mass_link 4 12 0;
-#X obj 322 561 mass_link 3 12 0;
-#X obj 225 561 mass_link 2 12 0;
-#X obj 127 558 mass_link 1 12 0;
-#X obj 128 526 mass_link 1 11 0;
-#X obj 221 531 mass_link 2 11 0;
-#X obj 326 524 mass_link 3 11 0;
-#X obj 436 524 mass_link 4 11 0;
-#X obj 525 531 mass_link 5 11 0;
-#X obj 622 536 mass_link 6 11 0;
-#X obj 725 528 mass_link 7 11 0;
-#X obj 845 527 mass_link 8 11 0;
-#X obj 938 533 mass_link 9 11 0;
-#X obj 1030 538 mass_link 10 11 0;
-#X obj 1134 531 mass_link 11 11 0;
-#X obj 1245 531 mass_link 12 11 0;
-#X obj 1431 542 mass_link 14 11 0;
-#X obj 1533 536 mass_link 15 11 0;
-#X obj 1533 451 mass_link 15 9 0;
-#X obj 1443 451 mass_link 14 9 0;
-#X obj 1340 452 mass_link 13 9 0;
-#X obj 1238 447 mass_link 12 9 0;
-#X obj 1133 448 mass_link 11 9 0;
-#X obj 1037 446 mass_link 10 9 0;
-#X obj 940 448 mass_link 9 9 0;
-#X obj 839 443 mass_link 8 9 0;
-#X obj 724 444 mass_link 7 9 0;
-#X obj 628 443 mass_link 6 9 0;
-#X obj 430 440 mass_link 4 9 0;
-#X obj 325 440 mass_link 3 9 0;
-#X obj 228 439 mass_link 2 9 0;
-#X obj 131 441 mass_link 1 9 0;
-#X obj 124 396 mass_link 1 8 0;
-#X obj 223 401 mass_link 2 8 0;
-#X obj 331 403 mass_link 3 8 0;
-#X obj 430 405 mass_link 4 8 0;
-#X obj 524 401 mass_link 5 8 0;
-#X obj 623 405 mass_link 6 8 0;
-#X obj 731 406 mass_link 7 8 0;
-#X obj 841 405 mass_link 8 8 0;
-#X obj 933 406 mass_link 9 8 0;
-#X obj 1034 408 mass_link 10 8 0;
-#X obj 1140 409 mass_link 11 8 0;
-#X obj 1241 411 mass_link 12 8 0;
-#X obj 1336 410 mass_link 13 8 0;
-#X obj 1432 412 mass_link 14 8 0;
-#X obj 1545 413 mass_link 15 8 0;
-#X obj 126 488 mass_link 1 10 0;
-#X obj 230 486 mass_link 2 10 0;
-#X obj 328 484 mass_link 3 10 0;
-#X obj 437 484 mass_link 4 10 0;
-#X obj 526 492 mass_link 5 10 0;
-#X obj 629 490 mass_link 6 10 0;
-#X obj 729 489 mass_link 7 10 0;
-#X obj 841 486 mass_link 8 10 0;
-#X obj 936 496 mass_link 9 10 0;
-#X obj 1042 492 mass_link 10 10 0;
-#X obj 1139 491 mass_link 11 10 0;
-#X obj 1242 490 mass_link 12 10 0;
-#X obj 1335 499 mass_link 13 10 0;
-#X obj 1438 497 mass_link 14 10 0;
-#X obj 1537 495 mass_link 15 10 0;
-#X obj 1336 216 mass_link 13 3 0;
-#X obj 1338 537 mass_link 13 11 0;
-#X connect 0 0 10 0;
-#X connect 1 0 154 0;
-#X connect 2 0 139 0;
-#X connect 3 0 124 0;
-#X connect 4 0 48 0;
-#X connect 4 0 54 0;
-#X connect 4 0 61 0;
-#X connect 5 0 7 0;
-#X connect 5 0 47 0;
-#X connect 5 0 53 0;
-#X connect 5 0 59 0;
-#X connect 6 0 33 0;
-#X connect 6 0 39 0;
-#X connect 6 0 40 0;
-#X connect 6 0 47 0;
-#X connect 7 0 5 0;
-#X connect 7 0 8 0;
-#X connect 7 0 60 0;
-#X connect 7 0 232 0;
-#X connect 8 0 7 0;
-#X connect 8 0 40 0;
-#X connect 8 0 47 0;
-#X connect 8 0 231 0;
-#X connect 9 0 223 0;
-#X connect 9 0 224 0;
-#X connect 9 0 232 0;
-#X connect 9 0 247 0;
-#X connect 10 0 12 0;
-#X connect 10 0 15 0;
-#X connect 11 0 12 0;
-#X connect 11 0 14 0;
-#X connect 11 0 15 0;
-#X connect 11 0 28 0;
-#X connect 12 0 10 0;
-#X connect 12 0 11 0;
-#X connect 12 0 27 0;
-#X connect 13 0 27 0;
-#X connect 13 0 35 0;
-#X connect 13 0 41 0;
-#X connect 14 0 11 0;
-#X connect 14 0 18 0;
-#X connect 14 0 22 0;
-#X connect 14 0 29 0;
-#X connect 15 0 10 0;
-#X connect 15 0 11 0;
-#X connect 15 0 18 0;
-#X connect 16 0 20 0;
-#X connect 16 0 21 0;
-#X connect 16 0 25 0;
-#X connect 17 0 18 0;
-#X connect 17 0 19 0;
-#X connect 17 0 22 0;
-#X connect 18 0 14 0;
-#X connect 18 0 15 0;
-#X connect 18 0 17 0;
-#X connect 19 0 17 0;
-#X connect 19 0 20 0;
-#X connect 19 0 23 0;
-#X connect 20 0 16 0;
-#X connect 20 0 19 0;
-#X connect 20 0 24 0;
-#X connect 21 0 16 0;
-#X connect 21 0 26 0;
-#X connect 21 0 132 0;
-#X connect 22 0 14 0;
-#X connect 22 0 17 0;
-#X connect 22 0 23 0;
-#X connect 22 0 30 0;
-#X connect 23 0 19 0;
-#X connect 23 0 22 0;
-#X connect 23 0 24 0;
-#X connect 23 0 31 0;
-#X connect 24 0 20 0;
-#X connect 24 0 23 0;
-#X connect 24 0 25 0;
-#X connect 24 0 32 0;
-#X connect 25 0 16 0;
-#X connect 25 0 24 0;
-#X connect 25 0 26 0;
-#X connect 25 0 33 0;
-#X connect 26 0 21 0;
-#X connect 26 0 25 0;
-#X connect 26 0 34 0;
-#X connect 26 0 228 0;
-#X connect 27 0 12 0;
-#X connect 27 0 13 0;
-#X connect 27 0 28 0;
-#X connect 28 0 11 0;
-#X connect 28 0 27 0;
-#X connect 28 0 29 0;
-#X connect 28 0 35 0;
-#X connect 29 0 14 0;
-#X connect 29 0 28 0;
-#X connect 29 0 30 0;
-#X connect 29 0 36 0;
-#X connect 30 0 22 0;
-#X connect 30 0 29 0;
-#X connect 30 0 31 0;
-#X connect 30 0 37 0;
-#X connect 31 0 23 0;
-#X connect 31 0 30 0;
-#X connect 31 0 32 0;
-#X connect 31 0 38 0;
-#X connect 32 0 24 0;
-#X connect 32 0 31 0;
-#X connect 32 0 33 0;
-#X connect 32 0 39 0;
-#X connect 33 0 6 0;
-#X connect 33 0 25 0;
-#X connect 33 0 32 0;
-#X connect 33 0 34 0;
-#X connect 34 0 26 0;
-#X connect 34 0 33 0;
-#X connect 34 0 40 0;
-#X connect 34 0 229 0;
-#X connect 35 0 13 0;
-#X connect 35 0 28 0;
-#X connect 35 0 36 0;
-#X connect 35 0 42 0;
-#X connect 36 0 29 0;
-#X connect 36 0 35 0;
-#X connect 36 0 37 0;
-#X connect 36 0 43 0;
-#X connect 37 0 30 0;
-#X connect 37 0 36 0;
-#X connect 37 0 38 0;
-#X connect 37 0 44 0;
-#X connect 38 0 31 0;
-#X connect 38 0 37 0;
-#X connect 38 0 39 0;
-#X connect 38 0 45 0;
-#X connect 39 0 6 0;
-#X connect 39 0 32 0;
-#X connect 39 0 38 0;
-#X connect 39 0 46 0;
-#X connect 40 0 6 0;
-#X connect 40 0 8 0;
-#X connect 40 0 34 0;
-#X connect 40 0 230 0;
-#X connect 41 0 13 0;
-#X connect 41 0 42 0;
-#X connect 41 0 48 0;
-#X connect 42 0 35 0;
-#X connect 42 0 41 0;
-#X connect 42 0 43 0;
-#X connect 42 0 49 0;
-#X connect 43 0 36 0;
-#X connect 43 0 42 0;
-#X connect 43 0 44 0;
-#X connect 43 0 50 0;
-#X connect 44 0 37 0;
-#X connect 44 0 43 0;
-#X connect 44 0 45 0;
-#X connect 44 0 51 0;
-#X connect 45 0 38 0;
-#X connect 45 0 44 0;
-#X connect 45 0 46 0;
-#X connect 45 0 52 0;
-#X connect 46 0 39 0;
-#X connect 46 0 45 0;
-#X connect 46 0 47 0;
-#X connect 46 0 53 0;
-#X connect 47 0 5 0;
-#X connect 47 0 6 0;
-#X connect 47 0 8 0;
-#X connect 47 0 46 0;
-#X connect 48 0 4 0;
-#X connect 48 0 41 0;
-#X connect 48 0 49 0;
-#X connect 49 0 42 0;
-#X connect 49 0 48 0;
-#X connect 49 0 50 0;
-#X connect 49 0 54 0;
-#X connect 50 0 43 0;
-#X connect 50 0 49 0;
-#X connect 50 0 51 0;
-#X connect 50 0 55 0;
-#X connect 51 0 44 0;
-#X connect 51 0 50 0;
-#X connect 51 0 52 0;
-#X connect 51 0 56 0;
-#X connect 52 0 45 0;
-#X connect 52 0 51 0;
-#X connect 52 0 53 0;
-#X connect 52 0 57 0;
-#X connect 53 0 5 0;
-#X connect 53 0 46 0;
-#X connect 53 0 52 0;
-#X connect 53 0 58 0;
-#X connect 54 0 4 0;
-#X connect 54 0 49 0;
-#X connect 54 0 55 0;
-#X connect 54 0 62 0;
-#X connect 55 0 50 0;
-#X connect 55 0 54 0;
-#X connect 55 0 56 0;
-#X connect 55 0 63 0;
-#X connect 56 0 51 0;
-#X connect 56 0 55 0;
-#X connect 56 0 57 0;
-#X connect 56 0 64 0;
-#X connect 57 0 52 0;
-#X connect 57 0 56 0;
-#X connect 57 0 58 0;
-#X connect 57 0 65 0;
-#X connect 58 0 53 0;
-#X connect 58 0 57 0;
-#X connect 58 0 59 0;
-#X connect 58 0 66 0;
-#X connect 59 0 5 0;
-#X connect 59 0 58 0;
-#X connect 59 0 60 0;
-#X connect 59 0 67 0;
-#X connect 60 0 7 0;
-#X connect 60 0 59 0;
-#X connect 60 0 68 0;
-#X connect 60 0 233 0;
-#X connect 61 0 4 0;
-#X connect 61 0 62 0;
-#X connect 61 0 69 0;
-#X connect 62 0 54 0;
-#X connect 62 0 61 0;
-#X connect 62 0 63 0;
-#X connect 62 0 70 0;
-#X connect 63 0 55 0;
-#X connect 63 0 62 0;
-#X connect 63 0 64 0;
-#X connect 63 0 71 0;
-#X connect 64 0 56 0;
-#X connect 64 0 63 0;
-#X connect 64 0 65 0;
-#X connect 64 0 72 0;
-#X connect 65 0 57 0;
-#X connect 65 0 64 0;
-#X connect 65 0 66 0;
-#X connect 65 0 73 0;
-#X connect 66 0 58 0;
-#X connect 66 0 65 0;
-#X connect 66 0 67 0;
-#X connect 66 0 74 0;
-#X connect 67 0 59 0;
-#X connect 67 0 66 0;
-#X connect 67 0 68 0;
-#X connect 67 0 75 0;
-#X connect 68 0 60 0;
-#X connect 68 0 67 0;
-#X connect 68 0 76 0;
-#X connect 68 0 234 0;
-#X connect 69 0 61 0;
-#X connect 69 0 70 0;
-#X connect 69 0 77 0;
-#X connect 70 0 62 0;
-#X connect 70 0 69 0;
-#X connect 70 0 71 0;
-#X connect 70 0 78 0;
-#X connect 71 0 63 0;
-#X connect 71 0 70 0;
-#X connect 71 0 72 0;
-#X connect 71 0 79 0;
-#X connect 72 0 64 0;
-#X connect 72 0 71 0;
-#X connect 72 0 73 0;
-#X connect 72 0 80 0;
-#X connect 73 0 65 0;
-#X connect 73 0 72 0;
-#X connect 73 0 74 0;
-#X connect 73 0 81 0;
-#X connect 74 0 66 0;
-#X connect 74 0 73 0;
-#X connect 74 0 75 0;
-#X connect 74 0 82 0;
-#X connect 75 0 67 0;
-#X connect 75 0 74 0;
-#X connect 75 0 76 0;
-#X connect 75 0 83 0;
-#X connect 76 0 68 0;
-#X connect 76 0 75 0;
-#X connect 76 0 84 0;
-#X connect 76 0 235 0;
-#X connect 77 0 69 0;
-#X connect 77 0 78 0;
-#X connect 77 0 85 0;
-#X connect 78 0 70 0;
-#X connect 78 0 77 0;
-#X connect 78 0 79 0;
-#X connect 78 0 86 0;
-#X connect 79 0 71 0;
-#X connect 79 0 78 0;
-#X connect 79 0 80 0;
-#X connect 79 0 87 0;
-#X connect 80 0 72 0;
-#X connect 80 0 79 0;
-#X connect 80 0 81 0;
-#X connect 80 0 88 0;
-#X connect 81 0 73 0;
-#X connect 81 0 80 0;
-#X connect 81 0 82 0;
-#X connect 81 0 89 0;
-#X connect 82 0 74 0;
-#X connect 82 0 81 0;
-#X connect 82 0 83 0;
-#X connect 82 0 90 0;
-#X connect 83 0 75 0;
-#X connect 83 0 82 0;
-#X connect 83 0 84 0;
-#X connect 83 0 91 0;
-#X connect 84 0 76 0;
-#X connect 84 0 83 0;
-#X connect 84 0 92 0;
-#X connect 84 0 236 0;
-#X connect 85 0 77 0;
-#X connect 85 0 86 0;
-#X connect 85 0 93 0;
-#X connect 86 0 78 0;
-#X connect 86 0 85 0;
-#X connect 86 0 87 0;
-#X connect 86 0 94 0;
-#X connect 87 0 79 0;
-#X connect 87 0 86 0;
-#X connect 87 0 88 0;
-#X connect 87 0 95 0;
-#X connect 88 0 80 0;
-#X connect 88 0 87 0;
-#X connect 88 0 89 0;
-#X connect 88 0 96 0;
-#X connect 89 0 81 0;
-#X connect 89 0 88 0;
-#X connect 89 0 90 0;
-#X connect 89 0 97 0;
-#X connect 90 0 82 0;
-#X connect 90 0 89 0;
-#X connect 90 0 91 0;
-#X connect 90 0 98 0;
-#X connect 91 0 83 0;
-#X connect 91 0 90 0;
-#X connect 91 0 92 0;
-#X connect 91 0 99 0;
-#X connect 92 0 84 0;
-#X connect 92 0 91 0;
-#X connect 92 0 100 0;
-#X connect 92 0 237 0;
-#X connect 93 0 85 0;
-#X connect 93 0 94 0;
-#X connect 93 0 101 0;
-#X connect 94 0 86 0;
-#X connect 94 0 93 0;
-#X connect 94 0 95 0;
-#X connect 94 0 102 0;
-#X connect 95 0 87 0;
-#X connect 95 0 94 0;
-#X connect 95 0 96 0;
-#X connect 95 0 103 0;
-#X connect 96 0 88 0;
-#X connect 96 0 95 0;
-#X connect 96 0 97 0;
-#X connect 96 0 104 0;
-#X connect 97 0 89 0;
-#X connect 97 0 96 0;
-#X connect 97 0 98 0;
-#X connect 97 0 105 0;
-#X connect 98 0 90 0;
-#X connect 98 0 97 0;
-#X connect 98 0 99 0;
-#X connect 98 0 106 0;
-#X connect 99 0 91 0;
-#X connect 99 0 98 0;
-#X connect 99 0 100 0;
-#X connect 99 0 107 0;
-#X connect 100 0 92 0;
-#X connect 100 0 99 0;
-#X connect 100 0 108 0;
-#X connect 100 0 238 0;
-#X connect 101 0 93 0;
-#X connect 101 0 102 0;
-#X connect 101 0 109 0;
-#X connect 102 0 94 0;
-#X connect 102 0 101 0;
-#X connect 102 0 103 0;
-#X connect 102 0 110 0;
-#X connect 103 0 95 0;
-#X connect 103 0 102 0;
-#X connect 103 0 104 0;
-#X connect 103 0 111 0;
-#X connect 104 0 96 0;
-#X connect 104 0 103 0;
-#X connect 104 0 105 0;
-#X connect 104 0 258 0;
-#X connect 105 0 97 0;
-#X connect 105 0 104 0;
-#X connect 105 0 106 0;
-#X connect 105 0 112 0;
-#X connect 106 0 98 0;
-#X connect 106 0 105 0;
-#X connect 106 0 107 0;
-#X connect 106 0 113 0;
-#X connect 107 0 99 0;
-#X connect 107 0 106 0;
-#X connect 107 0 108 0;
-#X connect 107 0 114 0;
-#X connect 108 0 100 0;
-#X connect 108 0 107 0;
-#X connect 108 0 115 0;
-#X connect 108 0 239 0;
-#X connect 109 0 101 0;
-#X connect 109 0 110 0;
-#X connect 109 0 116 0;
-#X connect 110 0 102 0;
-#X connect 110 0 109 0;
-#X connect 110 0 111 0;
-#X connect 110 0 117 0;
-#X connect 111 0 103 0;
-#X connect 111 0 110 0;
-#X connect 111 0 118 0;
-#X connect 111 0 258 0;
-#X connect 112 0 105 0;
-#X connect 112 0 113 0;
-#X connect 112 0 120 0;
-#X connect 112 0 258 0;
-#X connect 113 0 106 0;
-#X connect 113 0 112 0;
-#X connect 113 0 114 0;
-#X connect 113 0 121 0;
-#X connect 114 0 107 0;
-#X connect 114 0 113 0;
-#X connect 114 0 115 0;
-#X connect 114 0 122 0;
-#X connect 115 0 108 0;
-#X connect 115 0 114 0;
-#X connect 115 0 123 0;
-#X connect 115 0 240 0;
-#X connect 116 0 109 0;
-#X connect 116 0 117 0;
-#X connect 116 0 124 0;
-#X connect 117 0 110 0;
-#X connect 117 0 116 0;
-#X connect 117 0 118 0;
-#X connect 117 0 125 0;
-#X connect 118 0 111 0;
-#X connect 118 0 117 0;
-#X connect 118 0 119 0;
-#X connect 118 0 126 0;
-#X connect 119 0 118 0;
-#X connect 119 0 120 0;
-#X connect 119 0 127 0;
-#X connect 119 0 258 0;
-#X connect 120 0 112 0;
-#X connect 120 0 119 0;
-#X connect 120 0 121 0;
-#X connect 120 0 128 0;
-#X connect 121 0 113 0;
-#X connect 121 0 120 0;
-#X connect 121 0 122 0;
-#X connect 121 0 129 0;
-#X connect 122 0 114 0;
-#X connect 122 0 121 0;
-#X connect 122 0 123 0;
-#X connect 122 0 130 0;
-#X connect 123 0 115 0;
-#X connect 123 0 122 0;
-#X connect 123 0 131 0;
-#X connect 123 0 241 0;
-#X connect 124 0 116 0;
-#X connect 124 0 125 0;
-#X connect 125 0 117 0;
-#X connect 125 0 124 0;
-#X connect 125 0 126 0;
-#X connect 126 0 118 0;
-#X connect 126 0 125 0;
-#X connect 126 0 127 0;
-#X connect 127 0 119 0;
-#X connect 127 0 126 0;
-#X connect 127 0 128 0;
-#X connect 128 0 120 0;
-#X connect 128 0 127 0;
-#X connect 128 0 129 0;
-#X connect 129 0 121 0;
-#X connect 129 0 128 0;
-#X connect 129 0 130 0;
-#X connect 130 0 122 0;
-#X connect 130 0 129 0;
-#X connect 130 0 131 0;
-#X connect 131 0 123 0;
-#X connect 131 0 130 0;
-#X connect 131 0 242 0;
-#X connect 132 0 21 0;
-#X connect 132 0 133 0;
-#X connect 132 0 228 0;
-#X connect 133 0 132 0;
-#X connect 133 0 134 0;
-#X connect 133 0 227 0;
-#X connect 134 0 133 0;
-#X connect 134 0 135 0;
-#X connect 134 0 243 0;
-#X connect 135 0 134 0;
-#X connect 135 0 136 0;
-#X connect 135 0 200 0;
-#X connect 136 0 135 0;
-#X connect 136 0 137 0;
-#X connect 136 0 199 0;
-#X connect 137 0 136 0;
-#X connect 137 0 138 0;
-#X connect 137 0 170 0;
-#X connect 138 0 137 0;
-#X connect 138 0 139 0;
-#X connect 138 0 169 0;
-#X connect 139 0 138 0;
-#X connect 139 0 140 0;
-#X connect 140 0 139 0;
-#X connect 140 0 141 0;
-#X connect 140 0 169 0;
-#X connect 141 0 140 0;
-#X connect 141 0 142 0;
-#X connect 141 0 168 0;
-#X connect 142 0 141 0;
-#X connect 142 0 143 0;
-#X connect 142 0 167 0;
-#X connect 143 0 142 0;
-#X connect 143 0 144 0;
-#X connect 143 0 166 0;
-#X connect 144 0 143 0;
-#X connect 144 0 145 0;
-#X connect 144 0 165 0;
-#X connect 145 0 144 0;
-#X connect 145 0 146 0;
-#X connect 145 0 164 0;
-#X connect 146 0 145 0;
-#X connect 146 0 147 0;
-#X connect 146 0 163 0;
-#X connect 147 0 146 0;
-#X connect 147 0 148 0;
-#X connect 147 0 162 0;
-#X connect 148 0 147 0;
-#X connect 148 0 149 0;
-#X connect 148 0 161 0;
-#X connect 149 0 148 0;
-#X connect 149 0 150 0;
-#X connect 149 0 160 0;
-#X connect 150 0 149 0;
-#X connect 150 0 151 0;
-#X connect 150 0 159 0;
-#X connect 151 0 150 0;
-#X connect 151 0 152 0;
-#X connect 151 0 158 0;
-#X connect 152 0 151 0;
-#X connect 152 0 153 0;
-#X connect 152 0 157 0;
-#X connect 153 0 152 0;
-#X connect 153 0 154 0;
-#X connect 153 0 156 0;
-#X connect 154 0 153 0;
-#X connect 154 0 155 0;
-#X connect 155 0 154 0;
-#X connect 155 0 156 0;
-#X connect 155 0 184 0;
-#X connect 156 0 153 0;
-#X connect 156 0 155 0;
-#X connect 156 0 157 0;
-#X connect 156 0 183 0;
-#X connect 157 0 152 0;
-#X connect 157 0 156 0;
-#X connect 157 0 158 0;
-#X connect 157 0 182 0;
-#X connect 158 0 151 0;
-#X connect 158 0 157 0;
-#X connect 158 0 159 0;
-#X connect 158 0 181 0;
-#X connect 159 0 150 0;
-#X connect 159 0 158 0;
-#X connect 159 0 160 0;
-#X connect 159 0 180 0;
-#X connect 160 0 149 0;
-#X connect 160 0 159 0;
-#X connect 160 0 161 0;
-#X connect 160 0 179 0;
-#X connect 161 0 148 0;
-#X connect 161 0 160 0;
-#X connect 161 0 162 0;
-#X connect 161 0 178 0;
-#X connect 162 0 147 0;
-#X connect 162 0 161 0;
-#X connect 162 0 163 0;
-#X connect 162 0 177 0;
-#X connect 163 0 146 0;
-#X connect 163 0 162 0;
-#X connect 163 0 164 0;
-#X connect 163 0 176 0;
-#X connect 164 0 145 0;
-#X connect 164 0 163 0;
-#X connect 164 0 165 0;
-#X connect 164 0 175 0;
-#X connect 165 0 144 0;
-#X connect 165 0 164 0;
-#X connect 165 0 166 0;
-#X connect 165 0 174 0;
-#X connect 166 0 143 0;
-#X connect 166 0 165 0;
-#X connect 166 0 167 0;
-#X connect 166 0 173 0;
-#X connect 167 0 142 0;
-#X connect 167 0 166 0;
-#X connect 167 0 168 0;
-#X connect 167 0 172 0;
-#X connect 168 0 141 0;
-#X connect 168 0 167 0;
-#X connect 168 0 169 0;
-#X connect 168 0 171 0;
-#X connect 169 0 138 0;
-#X connect 169 0 140 0;
-#X connect 169 0 168 0;
-#X connect 169 0 170 0;
-#X connect 170 0 137 0;
-#X connect 170 0 169 0;
-#X connect 170 0 171 0;
-#X connect 170 0 199 0;
-#X connect 171 0 168 0;
-#X connect 171 0 170 0;
-#X connect 171 0 172 0;
-#X connect 171 0 198 0;
-#X connect 172 0 167 0;
-#X connect 172 0 171 0;
-#X connect 172 0 173 0;
-#X connect 172 0 197 0;
-#X connect 173 0 166 0;
-#X connect 173 0 172 0;
-#X connect 173 0 174 0;
-#X connect 173 0 196 0;
-#X connect 174 0 165 0;
-#X connect 174 0 173 0;
-#X connect 174 0 175 0;
-#X connect 174 0 195 0;
-#X connect 175 0 164 0;
-#X connect 175 0 174 0;
-#X connect 175 0 176 0;
-#X connect 175 0 194 0;
-#X connect 176 0 163 0;
-#X connect 176 0 175 0;
-#X connect 176 0 177 0;
-#X connect 176 0 193 0;
-#X connect 177 0 162 0;
-#X connect 177 0 176 0;
-#X connect 177 0 178 0;
-#X connect 177 0 192 0;
-#X connect 178 0 161 0;
-#X connect 178 0 177 0;
-#X connect 178 0 179 0;
-#X connect 178 0 191 0;
-#X connect 179 0 160 0;
-#X connect 179 0 178 0;
-#X connect 179 0 180 0;
-#X connect 179 0 190 0;
-#X connect 180 0 159 0;
-#X connect 180 0 179 0;
-#X connect 180 0 181 0;
-#X connect 180 0 189 0;
-#X connect 181 0 158 0;
-#X connect 181 0 180 0;
-#X connect 181 0 182 0;
-#X connect 181 0 188 0;
-#X connect 182 0 157 0;
-#X connect 182 0 181 0;
-#X connect 182 0 183 0;
-#X connect 182 0 187 0;
-#X connect 183 0 156 0;
-#X connect 183 0 182 0;
-#X connect 183 0 184 0;
-#X connect 183 0 186 0;
-#X connect 184 0 155 0;
-#X connect 184 0 183 0;
-#X connect 184 0 185 0;
-#X connect 185 0 184 0;
-#X connect 185 0 186 0;
-#X connect 185 0 213 0;
-#X connect 186 0 183 0;
-#X connect 186 0 185 0;
-#X connect 186 0 187 0;
-#X connect 186 0 212 0;
-#X connect 187 0 182 0;
-#X connect 187 0 186 0;
-#X connect 187 0 188 0;
-#X connect 187 0 259 0;
-#X connect 188 0 181 0;
-#X connect 188 0 187 0;
-#X connect 188 0 189 0;
-#X connect 188 0 211 0;
-#X connect 189 0 180 0;
-#X connect 189 0 188 0;
-#X connect 189 0 190 0;
-#X connect 189 0 210 0;
-#X connect 190 0 179 0;
-#X connect 190 0 189 0;
-#X connect 190 0 191 0;
-#X connect 190 0 209 0;
-#X connect 191 0 178 0;
-#X connect 191 0 190 0;
-#X connect 191 0 192 0;
-#X connect 191 0 208 0;
-#X connect 192 0 177 0;
-#X connect 192 0 191 0;
-#X connect 192 0 193 0;
-#X connect 192 0 207 0;
-#X connect 193 0 176 0;
-#X connect 193 0 192 0;
-#X connect 193 0 194 0;
-#X connect 193 0 206 0;
-#X connect 194 0 175 0;
-#X connect 194 0 193 0;
-#X connect 194 0 195 0;
-#X connect 194 0 205 0;
-#X connect 195 0 174 0;
-#X connect 195 0 194 0;
-#X connect 195 0 196 0;
-#X connect 195 0 204 0;
-#X connect 196 0 173 0;
-#X connect 196 0 195 0;
-#X connect 196 0 197 0;
-#X connect 196 0 203 0;
-#X connect 197 0 172 0;
-#X connect 197 0 196 0;
-#X connect 197 0 198 0;
-#X connect 197 0 202 0;
-#X connect 198 0 171 0;
-#X connect 198 0 197 0;
-#X connect 198 0 199 0;
-#X connect 198 0 201 0;
-#X connect 199 0 136 0;
-#X connect 199 0 170 0;
-#X connect 199 0 198 0;
-#X connect 199 0 200 0;
-#X connect 200 0 135 0;
-#X connect 200 0 199 0;
-#X connect 200 0 201 0;
-#X connect 200 0 243 0;
-#X connect 201 0 198 0;
-#X connect 201 0 200 0;
-#X connect 201 0 202 0;
-#X connect 201 0 244 0;
-#X connect 202 0 197 0;
-#X connect 202 0 201 0;
-#X connect 202 0 203 0;
-#X connect 202 0 245 0;
-#X connect 203 0 196 0;
-#X connect 203 0 202 0;
-#X connect 203 0 204 0;
-#X connect 203 0 246 0;
-#X connect 204 0 195 0;
-#X connect 204 0 203 0;
-#X connect 204 0 205 0;
-#X connect 204 0 247 0;
-#X connect 205 0 194 0;
-#X connect 205 0 204 0;
-#X connect 205 0 206 0;
-#X connect 205 0 248 0;
-#X connect 206 0 193 0;
-#X connect 206 0 205 0;
-#X connect 206 0 207 0;
-#X connect 206 0 249 0;
-#X connect 207 0 192 0;
-#X connect 207 0 206 0;
-#X connect 207 0 208 0;
-#X connect 207 0 250 0;
-#X connect 208 0 191 0;
-#X connect 208 0 207 0;
-#X connect 208 0 209 0;
-#X connect 208 0 251 0;
-#X connect 209 0 190 0;
-#X connect 209 0 208 0;
-#X connect 209 0 210 0;
-#X connect 209 0 252 0;
-#X connect 210 0 189 0;
-#X connect 210 0 209 0;
-#X connect 210 0 211 0;
-#X connect 210 0 253 0;
-#X connect 211 0 188 0;
-#X connect 211 0 210 0;
-#X connect 211 0 254 0;
-#X connect 211 0 259 0;
-#X connect 212 0 186 0;
-#X connect 212 0 213 0;
-#X connect 212 0 256 0;
-#X connect 212 0 259 0;
-#X connect 213 0 185 0;
-#X connect 213 0 212 0;
-#X connect 213 0 257 0;
-#X connect 214 0 215 0;
-#X connect 214 0 242 0;
-#X connect 214 0 257 0;
-#X connect 215 0 214 0;
-#X connect 215 0 216 0;
-#X connect 215 0 241 0;
-#X connect 215 0 256 0;
-#X connect 216 0 215 0;
-#X connect 216 0 217 0;
-#X connect 216 0 240 0;
-#X connect 216 0 255 0;
-#X connect 217 0 216 0;
-#X connect 217 0 218 0;
-#X connect 217 0 239 0;
-#X connect 217 0 254 0;
-#X connect 218 0 217 0;
-#X connect 218 0 219 0;
-#X connect 218 0 238 0;
-#X connect 218 0 253 0;
-#X connect 219 0 218 0;
-#X connect 219 0 220 0;
-#X connect 219 0 237 0;
-#X connect 219 0 252 0;
-#X connect 220 0 219 0;
-#X connect 220 0 221 0;
-#X connect 220 0 236 0;
-#X connect 220 0 251 0;
-#X connect 221 0 220 0;
-#X connect 221 0 222 0;
-#X connect 221 0 235 0;
-#X connect 221 0 250 0;
-#X connect 222 0 221 0;
-#X connect 222 0 223 0;
-#X connect 222 0 234 0;
-#X connect 222 0 249 0;
-#X connect 223 0 9 0;
-#X connect 223 0 222 0;
-#X connect 223 0 233 0;
-#X connect 223 0 248 0;
-#X connect 224 0 9 0;
-#X connect 224 0 225 0;
-#X connect 224 0 231 0;
-#X connect 224 0 246 0;
-#X connect 225 0 224 0;
-#X connect 225 0 226 0;
-#X connect 225 0 230 0;
-#X connect 225 0 245 0;
-#X connect 226 0 225 0;
-#X connect 226 0 227 0;
-#X connect 226 0 229 0;
-#X connect 226 0 244 0;
-#X connect 227 0 133 0;
-#X connect 227 0 226 0;
-#X connect 227 0 228 0;
-#X connect 227 0 243 0;
-#X connect 228 0 26 0;
-#X connect 228 0 132 0;
-#X connect 228 0 227 0;
-#X connect 228 0 229 0;
-#X connect 229 0 34 0;
-#X connect 229 0 226 0;
-#X connect 229 0 228 0;
-#X connect 229 0 230 0;
-#X connect 230 0 40 0;
-#X connect 230 0 225 0;
-#X connect 230 0 229 0;
-#X connect 230 0 231 0;
-#X connect 231 0 8 0;
-#X connect 231 0 224 0;
-#X connect 231 0 230 0;
-#X connect 231 0 232 0;
-#X connect 232 0 7 0;
-#X connect 232 0 9 0;
-#X connect 232 0 231 0;
-#X connect 232 0 233 0;
-#X connect 233 0 60 0;
-#X connect 233 0 223 0;
-#X connect 233 0 232 0;
-#X connect 233 0 234 0;
-#X connect 234 0 68 0;
-#X connect 234 0 222 0;
-#X connect 234 0 233 0;
-#X connect 234 0 235 0;
-#X connect 235 0 76 0;
-#X connect 235 0 221 0;
-#X connect 235 0 234 0;
-#X connect 235 0 236 0;
-#X connect 236 0 84 0;
-#X connect 236 0 220 0;
-#X connect 236 0 235 0;
-#X connect 236 0 237 0;
-#X connect 237 0 92 0;
-#X connect 237 0 219 0;
-#X connect 237 0 236 0;
-#X connect 237 0 238 0;
-#X connect 238 0 100 0;
-#X connect 238 0 218 0;
-#X connect 238 0 237 0;
-#X connect 238 0 239 0;
-#X connect 239 0 108 0;
-#X connect 239 0 217 0;
-#X connect 239 0 238 0;
-#X connect 239 0 240 0;
-#X connect 240 0 115 0;
-#X connect 240 0 216 0;
-#X connect 240 0 239 0;
-#X connect 240 0 241 0;
-#X connect 241 0 123 0;
-#X connect 241 0 215 0;
-#X connect 241 0 240 0;
-#X connect 241 0 242 0;
-#X connect 242 0 131 0;
-#X connect 242 0 214 0;
-#X connect 242 0 241 0;
-#X connect 243 0 134 0;
-#X connect 243 0 200 0;
-#X connect 243 0 227 0;
-#X connect 243 0 244 0;
-#X connect 244 0 201 0;
-#X connect 244 0 226 0;
-#X connect 244 0 243 0;
-#X connect 244 0 245 0;
-#X connect 245 0 202 0;
-#X connect 245 0 225 0;
-#X connect 245 0 244 0;
-#X connect 245 0 246 0;
-#X connect 246 0 203 0;
-#X connect 246 0 224 0;
-#X connect 246 0 245 0;
-#X connect 246 0 247 0;
-#X connect 247 0 9 0;
-#X connect 247 0 204 0;
-#X connect 247 0 246 0;
-#X connect 247 0 248 0;
-#X connect 248 0 205 0;
-#X connect 248 0 223 0;
-#X connect 248 0 247 0;
-#X connect 248 0 249 0;
-#X connect 249 0 206 0;
-#X connect 249 0 222 0;
-#X connect 249 0 248 0;
-#X connect 249 0 250 0;
-#X connect 250 0 207 0;
-#X connect 250 0 221 0;
-#X connect 250 0 249 0;
-#X connect 250 0 251 0;
-#X connect 251 0 208 0;
-#X connect 251 0 220 0;
-#X connect 251 0 250 0;
-#X connect 251 0 252 0;
-#X connect 252 0 209 0;
-#X connect 252 0 219 0;
-#X connect 252 0 251 0;
-#X connect 252 0 253 0;
-#X connect 253 0 210 0;
-#X connect 253 0 218 0;
-#X connect 253 0 252 0;
-#X connect 253 0 254 0;
-#X connect 254 0 211 0;
-#X connect 254 0 217 0;
-#X connect 254 0 253 0;
-#X connect 254 0 255 0;
-#X connect 255 0 216 0;
-#X connect 255 0 254 0;
-#X connect 255 0 256 0;
-#X connect 255 0 259 0;
-#X connect 256 0 212 0;
-#X connect 256 0 215 0;
-#X connect 256 0 255 0;
-#X connect 256 0 257 0;
-#X connect 257 0 213 0;
-#X connect 257 0 214 0;
-#X connect 257 0 256 0;
-#X connect 258 0 104 0;
-#X connect 258 0 111 0;
-#X connect 258 0 112 0;
-#X connect 258 0 119 0;
-#X connect 259 0 187 0;
-#X connect 259 0 211 0;
-#X connect 259 0 212 0;
-#X connect 259 0 255 0;
-#X restore 606 498 pd array;
-#X obj 364 384 loadbang;
-#X msg 364 428 0.45;
-#X msg 313 476 setL \$1;
-#X msg 81 165 force3D 0 0 -0.0031;
-#X msg 42 489 setZ \$1;
-#X floatatom 42 342 5 0 0 0 - - -;
-#X obj 31 512 iSphere3D masse 7.5 7.5 -12 0 9 0 1;
-#X msg 266 425 0.4;
-#X msg 313 358 1.3;
-#X msg 42 318 -10;
-#X obj 31 115 metro 20;
-#X msg 290 404 0.8;
-#X obj 42 387 line;
-#X msg 42 362 \$1 100;
-#X obj 477 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 477 136 t b b;
-#X msg 127 462 -3;
-#X obj 536 115 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 536 135 t b b;
-#X text 337 7 elastic membrane on a sphere;
-#X floatatom 313 453 5 0 0 0 - - -;
-#X obj 42 293 loadbang;
-#X msg 77 461 -7;
-#X obj 502 161 s anim1;
-#X obj 561 161 s anim2;
-#X obj 77 437 r anim2;
-#X obj 127 438 r anim1;
-#X obj 313 334 r anim1;
-#X obj 290 382 r anim2;
-#X obj 51 413 s position;
-#X text 63 34 <- begin (change metro speed if to much;
-#X text 86 341 <- change red ball position;
-#X obj 238 155 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 254 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 271 203 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 267 133 camera position;
-#X text 359 79 <- 1;
-#N canvas 0 0 545 312 spheres 0;
-#X obj 44 101 r gemhead;
-#X obj 44 122 separator;
-#X obj 44 174 color 1 0 0;
-#X msg 87 219 30;
-#X obj 87 198 loadbang;
-#X msg 132 104 7.5;
-#X obj 132 127 / 3;
-#X obj 44 239 sphere 3;
-#X obj 44 151 translateXYZ 7.5 7.5 -4;
-#X obj 177 128 / 3;
-#X obj 132 79 loadbang;
-#X msg 228 105 -7;
-#X msg 197 83 -3;
-#X obj 228 84 r anim2;
-#X obj 197 59 r anim1;
-#X obj 177 36 r position;
-#X obj 323 92 gemhead;
-#X obj 323 156 rotateXYZ;
-#X obj 323 182 s gemhead;
-#X floatatom 369 110 5 0 0 0 - - -;
-#X floatatom 415 109 5 0 0 0 - - -;
-#X floatatom 462 109 5 0 0 0 - - -;
-#X obj 323 131 translateXYZ -2.5 -2.5 2;
-#X connect 0 0 1 0;
-#X connect 1 0 8 0;
-#X connect 2 0 7 0;
-#X connect 3 0 7 2;
-#X connect 4 0 3 0;
-#X connect 5 0 6 0;
-#X connect 6 0 8 2;
-#X connect 6 0 8 1;
-#X connect 8 0 2 0;
-#X connect 9 0 8 3;
-#X connect 10 0 5 0;
-#X connect 11 0 9 0;
-#X connect 12 0 9 0;
-#X connect 13 0 11 0;
-#X connect 14 0 12 0;
-#X connect 15 0 9 0;
-#X connect 16 0 22 0;
-#X connect 17 0 18 0;
-#X connect 19 0 22 1;
-#X connect 20 0 22 2;
-#X connect 21 0 22 3;
-#X connect 22 0 17 0;
-#X restore 608 428 pd spheres;
-#X connect 0 0 44 0;
-#X connect 2 0 28 0;
-#X connect 3 0 4 0;
-#X connect 5 0 29 0;
-#X connect 6 0 2 0;
-#X connect 7 0 11 0;
-#X connect 8 0 3 0;
-#X connect 10 0 9 0;
-#X connect 11 0 28 0;
-#X connect 12 0 14 0;
-#X connect 13 0 14 0;
-#X connect 14 0 16 0;
-#X connect 14 1 22 0;
-#X connect 14 2 15 0;
-#X connect 15 0 17 0;
-#X connect 15 0 23 0;
-#X connect 16 0 20 0;
-#X connect 18 0 7 0;
-#X connect 19 0 35 0;
-#X connect 19 0 18 0;
-#X connect 19 0 27 0;
-#X connect 24 0 29 0;
-#X connect 26 0 21 0;
-#X connect 26 0 37 0;
-#X connect 26 0 40 0;
-#X connect 26 1 25 0;
-#X connect 26 1 30 0;
-#X connect 26 2 1 0;
-#X connect 27 0 8 0;
-#X connect 32 0 44 1;
-#X connect 34 0 19 0;
-#X connect 35 0 6 0;
-#X connect 36 0 28 0;
-#X connect 37 0 1 0;
-#X connect 38 0 40 0;
-#X connect 39 0 47 0;
-#X connect 41 0 54 0;
-#X connect 42 0 54 0;
-#X connect 43 0 39 0;
-#X connect 44 0 26 0;
-#X connect 45 0 54 0;
-#X connect 46 0 38 0;
-#X connect 46 0 63 0;
-#X connect 47 0 46 0;
-#X connect 48 0 49 0;
-#X connect 49 0 14 0;
-#X connect 49 1 57 0;
-#X connect 50 0 38 0;
-#X connect 51 0 52 0;
-#X connect 52 0 14 0;
-#X connect 52 1 58 0;
-#X connect 54 0 36 0;
-#X connect 55 0 43 0;
-#X connect 56 0 38 0;
-#X connect 59 0 56 0;
-#X connect 60 0 50 0;
-#X connect 61 0 42 0;
-#X connect 62 0 45 0;
-#X connect 66 0 29 1;
-#X connect 67 0 29 2;
-#X connect 68 0 29 3;
+#N canvas 63 91 711 552 10;
+#X declare -lib Gem;
+#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 68 188 s masse;
+#X msg 364 476 setK \$1;
+#X msg 481 476 setM \$1;
+#X obj 481 504 s masse;
+#X msg 228 105 0 \, destroy;
+#X floatatom 364 452 5 0 0 0 - - -;
+#X floatatom 419 452 5 0 0 0 - - -;
+#X floatatom 481 453 5 0 0 0 - - -;
+#X obj 606 475 world_light;
+#X obj 606 452 gemhead;
+#X msg 419 475 setD2 \$1;
+#X obj 453 86 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 511 199 loadbang;
+#X obj 477 224 t b b b;
+#X msg 514 254 reset;
+#X msg 477 351 resetF;
+#X obj 529 282 s masse;
+#X msg 420 427 0.03;
+#X obj 364 407 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 477 373 s link;
+#X obj 41 256 s lia;
+#X obj 495 329 s r_lia;
+#X obj 514 306 s masse2;
+#X msg 219 81 lighting 1 \, create \, 1;
+#X obj 66 214 s masse3;
+#X obj 31 140 t b b b;
+#X msg 481 429 1;
+#X obj 313 503 s link;
+#X obj 219 226 ch_gemwin;
+#X obj 49 235 s masse2;
+#X text 481 86 <- reset;
+#X floatatom 74 68 5 0 0 0 - - -;
+#N canvas 0 80 1142 764 array 0;
+#X obj 30 39 mass_link2 -1 -1 0;
+#X obj 1571 718 mass_link2 16 16 0;
+#X obj 21 725 mass_link2 -1 16 0;
+#X obj 1540 58 mass_link2 16 -1 0;
+#X obj 622 82 mass_link 6 0 0;
+#X obj 526 320 mass_link 5 6 0;
+#X obj 321 321 mass_link 3 6 0;
+#X obj 523 371 mass_link 5 7 0;
+#X obj 430 361 mass_link 4 7 0;
+#X obj 531 445 mass_link 5 9 0;
+#X obj 30 75 mass_link 0 0 0;
+#X obj 130 118 mass_link 1 1 0;
+#X obj 123 74 mass_link 1 0 0;
+#X obj 330 79 mass_link 3 0 0;
+#X obj 125 165 mass_link 1 2 0;
+#X obj 28 113 mass_link 0 1 0;
+#X obj 30 313 mass_link 0 6 0;
+#X obj 35 197 mass_link 0 3 0;
+#X obj 31 156 mass_link 0 2 0;
+#X obj 33 231 mass_link 0 4 0;
+#X obj 30 270 mass_link 0 5 0;
+#X obj 30 357 mass_link 0 7 0;
+#X obj 127 203 mass_link 1 3 0;
+#X obj 126 235 mass_link 1 4 0;
+#X obj 126 275 mass_link 1 5 0;
+#X obj 126 316 mass_link 1 6 0;
+#X obj 123 367 mass_link 1 7 0;
+#X obj 222 78 mass_link 2 0 0;
+#X obj 227 116 mass_link 2 1 0;
+#X obj 228 163 mass_link 2 2 0;
+#X obj 220 208 mass_link 2 3 0;
+#X obj 224 238 mass_link 2 4 0;
+#X obj 223 280 mass_link 2 5 0;
+#X obj 222 321 mass_link 2 6 0;
+#X obj 220 363 mass_link 2 7 0;
+#X obj 323 117 mass_link 3 1 0;
+#X obj 327 161 mass_link 3 2 0;
+#X obj 324 201 mass_link 3 3 0;
+#X obj 321 238 mass_link 3 4 0;
+#X obj 323 276 mass_link 3 5 0;
+#X obj 321 365 mass_link 3 7 0;
+#X obj 430 79 mass_link 4 0 0;
+#X obj 428 117 mass_link 4 1 0;
+#X obj 432 160 mass_link 4 2 0;
+#X obj 435 201 mass_link 4 3 0;
+#X obj 433 235 mass_link 4 4 0;
+#X obj 430 275 mass_link 4 5 0;
+#X obj 430 317 mass_link 4 6 0;
+#X obj 523 78 mass_link 5 0 0;
+#X obj 530 122 mass_link 5 1 0;
+#X obj 525 169 mass_link 5 2 0;
+#X obj 527 207 mass_link 5 3 0;
+#X obj 526 239 mass_link 5 4 0;
+#X obj 526 279 mass_link 5 5 0;
+#X obj 627 120 mass_link 6 1 0;
+#X obj 628 167 mass_link 6 2 0;
+#X obj 621 212 mass_link 6 3 0;
+#X obj 624 242 mass_link 6 4 0;
+#X obj 623 284 mass_link 6 5 0;
+#X obj 622 325 mass_link 6 6 0;
+#X obj 620 367 mass_link 6 7 0;
+#X obj 730 83 mass_link 7 0 0;
+#X obj 723 121 mass_link 7 1 0;
+#X obj 728 166 mass_link 7 2 0;
+#X obj 724 205 mass_link 7 3 0;
+#X obj 721 242 mass_link 7 4 0;
+#X obj 723 280 mass_link 7 5 0;
+#X obj 721 324 mass_link 7 6 0;
+#X obj 721 369 mass_link 7 7 0;
+#X obj 839 82 mass_link 8 0 0;
+#X obj 837 120 mass_link 8 1 0;
+#X obj 840 163 mass_link 8 2 0;
+#X obj 844 204 mass_link 8 3 0;
+#X obj 842 238 mass_link 8 4 0;
+#X obj 839 277 mass_link 8 5 0;
+#X obj 839 320 mass_link 8 6 0;
+#X obj 839 365 mass_link 8 7 0;
+#X obj 932 81 mass_link 9 0 0;
+#X obj 939 125 mass_link 9 1 0;
+#X obj 934 172 mass_link 9 2 0;
+#X obj 936 210 mass_link 9 3 0;
+#X obj 936 242 mass_link 9 4 0;
+#X obj 935 281 mass_link 9 5 0;
+#X obj 935 323 mass_link 9 6 0;
+#X obj 932 375 mass_link 9 7 0;
+#X obj 1031 85 mass_link 10 0 0;
+#X obj 1036 123 mass_link 10 1 0;
+#X obj 1040 169 mass_link 10 2 0;
+#X obj 1029 215 mass_link 10 3 0;
+#X obj 1033 245 mass_link 10 4 0;
+#X obj 1032 287 mass_link 10 5 0;
+#X obj 1031 328 mass_link 10 6 0;
+#X obj 1029 370 mass_link 10 7 0;
+#X obj 1139 86 mass_link 11 0 0;
+#X obj 1132 125 mass_link 11 1 0;
+#X obj 1137 168 mass_link 11 2 0;
+#X obj 1133 208 mass_link 11 3 0;
+#X obj 1130 245 mass_link 11 4 0;
+#X obj 1132 283 mass_link 11 5 0;
+#X obj 1130 328 mass_link 11 6 0;
+#X obj 1130 372 mass_link 11 7 0;
+#X obj 1239 88 mass_link 12 0 0;
+#X obj 1237 124 mass_link 12 1 0;
+#X obj 1241 167 mass_link 12 2 0;
+#X obj 1244 208 mass_link 12 3 0;
+#X obj 1242 242 mass_link 12 4 0;
+#X obj 1239 282 mass_link 12 5 0;
+#X obj 1240 324 mass_link 12 6 0;
+#X obj 1239 369 mass_link 12 7 0;
+#X obj 1333 86 mass_link 13 0 0;
+#X obj 1339 129 mass_link 13 1 0;
+#X obj 1334 176 mass_link 13 2 0;
+#X obj 1340 242 mass_link 13 4 0;
+#X obj 1335 286 mass_link 13 5 0;
+#X obj 1336 327 mass_link 13 6 0;
+#X obj 1333 371 mass_link 13 7 0;
+#X obj 1431 89 mass_link 14 0 0;
+#X obj 1437 127 mass_link 14 1 0;
+#X obj 1437 174 mass_link 14 2 0;
+#X obj 1430 219 mass_link 14 3 0;
+#X obj 1433 249 mass_link 14 4 0;
+#X obj 1432 291 mass_link 14 5 0;
+#X obj 1431 332 mass_link 14 6 0;
+#X obj 1429 374 mass_link 14 7 0;
+#X obj 1540 90 mass_link 15 0 0;
+#X obj 1532 128 mass_link 15 1 0;
+#X obj 1536 172 mass_link 15 2 0;
+#X obj 1533 212 mass_link 15 3 0;
+#X obj 1530 249 mass_link 15 4 0;
+#X obj 1532 287 mass_link 15 5 0;
+#X obj 1530 331 mass_link 15 6 0;
+#X obj 1530 378 mass_link 15 7 0;
+#X obj 32 398 mass_link 0 8 0;
+#X obj 29 436 mass_link 0 9 0;
+#X obj 32 479 mass_link 0 10 0;
+#X obj 37 520 mass_link 0 11 0;
+#X obj 34 554 mass_link 0 12 0;
+#X obj 31 594 mass_link 0 13 0;
+#X obj 31 636 mass_link 0 14 0;
+#X obj 31 680 mass_link 0 15 0;
+#X obj 124 690 mass_link 1 15 0;
+#X obj 221 685 mass_link 2 15 0;
+#X obj 323 688 mass_link 3 15 0;
+#X obj 432 684 mass_link 4 15 0;
+#X obj 524 694 mass_link 5 15 0;
+#X obj 622 690 mass_link 6 15 0;
+#X obj 722 692 mass_link 7 15 0;
+#X obj 837 687 mass_link 8 15 0;
+#X obj 933 698 mass_link 9 15 0;
+#X obj 1030 693 mass_link 10 15 0;
+#X obj 1132 695 mass_link 11 15 0;
+#X obj 1241 692 mass_link 12 15 0;
+#X obj 1334 694 mass_link 13 15 0;
+#X obj 1430 697 mass_link 14 15 0;
+#X obj 1532 701 mass_link 15 15 0;
+#X obj 1531 654 mass_link 15 14 0;
+#X obj 1432 655 mass_link 14 14 0;
+#X obj 1337 650 mass_link 13 14 0;
+#X obj 1242 647 mass_link 12 14 0;
+#X obj 1131 651 mass_link 11 14 0;
+#X obj 1033 651 mass_link 10 14 0;
+#X obj 936 646 mass_link 9 14 0;
+#X obj 842 644 mass_link 8 14 0;
+#X obj 722 647 mass_link 7 14 0;
+#X obj 624 648 mass_link 6 14 0;
+#X obj 527 643 mass_link 5 14 0;
+#X obj 432 641 mass_link 4 14 0;
+#X obj 322 644 mass_link 3 14 0;
+#X obj 223 644 mass_link 2 14 0;
+#X obj 127 639 mass_link 1 14 0;
+#X obj 127 598 mass_link 1 13 0;
+#X obj 224 603 mass_link 2 13 0;
+#X obj 324 599 mass_link 3 13 0;
+#X obj 431 598 mass_link 4 13 0;
+#X obj 526 602 mass_link 5 13 0;
+#X obj 624 607 mass_link 6 13 0;
+#X obj 724 602 mass_link 7 13 0;
+#X obj 840 600 mass_link 8 13 0;
+#X obj 936 604 mass_link 9 13 0;
+#X obj 1033 610 mass_link 10 13 0;
+#X obj 1133 606 mass_link 11 13 0;
+#X obj 1240 605 mass_link 12 13 0;
+#X obj 1336 609 mass_link 13 13 0;
+#X obj 1433 614 mass_link 14 13 0;
+#X obj 1534 610 mass_link 15 13 0;
+#X obj 1530 573 mass_link 15 12 0;
+#X obj 1429 572 mass_link 14 12 0;
+#X obj 1337 569 mass_link 13 12 0;
+#X obj 1243 565 mass_link 12 12 0;
+#X obj 1131 568 mass_link 11 12 0;
+#X obj 1034 568 mass_link 10 12 0;
+#X obj 937 565 mass_link 9 12 0;
+#X obj 843 561 mass_link 8 12 0;
+#X obj 722 565 mass_link 7 12 0;
+#X obj 625 565 mass_link 6 12 0;
+#X obj 527 562 mass_link 5 12 0;
+#X obj 434 558 mass_link 4 12 0;
+#X obj 322 561 mass_link 3 12 0;
+#X obj 225 561 mass_link 2 12 0;
+#X obj 127 558 mass_link 1 12 0;
+#X obj 128 526 mass_link 1 11 0;
+#X obj 221 531 mass_link 2 11 0;
+#X obj 326 524 mass_link 3 11 0;
+#X obj 436 524 mass_link 4 11 0;
+#X obj 525 531 mass_link 5 11 0;
+#X obj 622 536 mass_link 6 11 0;
+#X obj 725 528 mass_link 7 11 0;
+#X obj 845 527 mass_link 8 11 0;
+#X obj 938 533 mass_link 9 11 0;
+#X obj 1030 538 mass_link 10 11 0;
+#X obj 1134 531 mass_link 11 11 0;
+#X obj 1245 531 mass_link 12 11 0;
+#X obj 1431 542 mass_link 14 11 0;
+#X obj 1533 536 mass_link 15 11 0;
+#X obj 1533 451 mass_link 15 9 0;
+#X obj 1443 451 mass_link 14 9 0;
+#X obj 1340 452 mass_link 13 9 0;
+#X obj 1238 447 mass_link 12 9 0;
+#X obj 1133 448 mass_link 11 9 0;
+#X obj 1037 446 mass_link 10 9 0;
+#X obj 940 448 mass_link 9 9 0;
+#X obj 839 443 mass_link 8 9 0;
+#X obj 724 444 mass_link 7 9 0;
+#X obj 628 443 mass_link 6 9 0;
+#X obj 430 440 mass_link 4 9 0;
+#X obj 325 440 mass_link 3 9 0;
+#X obj 228 439 mass_link 2 9 0;
+#X obj 131 441 mass_link 1 9 0;
+#X obj 124 396 mass_link 1 8 0;
+#X obj 223 401 mass_link 2 8 0;
+#X obj 331 403 mass_link 3 8 0;
+#X obj 430 405 mass_link 4 8 0;
+#X obj 524 401 mass_link 5 8 0;
+#X obj 623 405 mass_link 6 8 0;
+#X obj 731 406 mass_link 7 8 0;
+#X obj 841 405 mass_link 8 8 0;
+#X obj 933 406 mass_link 9 8 0;
+#X obj 1034 408 mass_link 10 8 0;
+#X obj 1140 409 mass_link 11 8 0;
+#X obj 1241 411 mass_link 12 8 0;
+#X obj 1336 410 mass_link 13 8 0;
+#X obj 1432 412 mass_link 14 8 0;
+#X obj 1545 413 mass_link 15 8 0;
+#X obj 126 488 mass_link 1 10 0;
+#X obj 230 486 mass_link 2 10 0;
+#X obj 328 484 mass_link 3 10 0;
+#X obj 437 484 mass_link 4 10 0;
+#X obj 526 492 mass_link 5 10 0;
+#X obj 629 490 mass_link 6 10 0;
+#X obj 729 489 mass_link 7 10 0;
+#X obj 841 486 mass_link 8 10 0;
+#X obj 936 496 mass_link 9 10 0;
+#X obj 1042 492 mass_link 10 10 0;
+#X obj 1139 491 mass_link 11 10 0;
+#X obj 1242 490 mass_link 12 10 0;
+#X obj 1335 499 mass_link 13 10 0;
+#X obj 1438 497 mass_link 14 10 0;
+#X obj 1537 495 mass_link 15 10 0;
+#X obj 1336 216 mass_link 13 3 0;
+#X obj 1338 537 mass_link 13 11 0;
+#X connect 0 0 10 0;
+#X connect 1 0 154 0;
+#X connect 2 0 139 0;
+#X connect 3 0 124 0;
+#X connect 4 0 48 0;
+#X connect 4 0 54 0;
+#X connect 4 0 61 0;
+#X connect 5 0 7 0;
+#X connect 5 0 47 0;
+#X connect 5 0 53 0;
+#X connect 5 0 59 0;
+#X connect 6 0 33 0;
+#X connect 6 0 39 0;
+#X connect 6 0 40 0;
+#X connect 6 0 47 0;
+#X connect 7 0 5 0;
+#X connect 7 0 8 0;
+#X connect 7 0 60 0;
+#X connect 7 0 232 0;
+#X connect 8 0 7 0;
+#X connect 8 0 40 0;
+#X connect 8 0 47 0;
+#X connect 8 0 231 0;
+#X connect 9 0 223 0;
+#X connect 9 0 224 0;
+#X connect 9 0 232 0;
+#X connect 9 0 247 0;
+#X connect 10 0 12 0;
+#X connect 10 0 15 0;
+#X connect 11 0 12 0;
+#X connect 11 0 14 0;
+#X connect 11 0 15 0;
+#X connect 11 0 28 0;
+#X connect 12 0 10 0;
+#X connect 12 0 11 0;
+#X connect 12 0 27 0;
+#X connect 13 0 27 0;
+#X connect 13 0 35 0;
+#X connect 13 0 41 0;
+#X connect 14 0 11 0;
+#X connect 14 0 18 0;
+#X connect 14 0 22 0;
+#X connect 14 0 29 0;
+#X connect 15 0 10 0;
+#X connect 15 0 11 0;
+#X connect 15 0 18 0;
+#X connect 16 0 20 0;
+#X connect 16 0 21 0;
+#X connect 16 0 25 0;
+#X connect 17 0 18 0;
+#X connect 17 0 19 0;
+#X connect 17 0 22 0;
+#X connect 18 0 14 0;
+#X connect 18 0 15 0;
+#X connect 18 0 17 0;
+#X connect 19 0 17 0;
+#X connect 19 0 20 0;
+#X connect 19 0 23 0;
+#X connect 20 0 16 0;
+#X connect 20 0 19 0;
+#X connect 20 0 24 0;
+#X connect 21 0 16 0;
+#X connect 21 0 26 0;
+#X connect 21 0 132 0;
+#X connect 22 0 14 0;
+#X connect 22 0 17 0;
+#X connect 22 0 23 0;
+#X connect 22 0 30 0;
+#X connect 23 0 19 0;
+#X connect 23 0 22 0;
+#X connect 23 0 24 0;
+#X connect 23 0 31 0;
+#X connect 24 0 20 0;
+#X connect 24 0 23 0;
+#X connect 24 0 25 0;
+#X connect 24 0 32 0;
+#X connect 25 0 16 0;
+#X connect 25 0 24 0;
+#X connect 25 0 26 0;
+#X connect 25 0 33 0;
+#X connect 26 0 21 0;
+#X connect 26 0 25 0;
+#X connect 26 0 34 0;
+#X connect 26 0 228 0;
+#X connect 27 0 12 0;
+#X connect 27 0 13 0;
+#X connect 27 0 28 0;
+#X connect 28 0 11 0;
+#X connect 28 0 27 0;
+#X connect 28 0 29 0;
+#X connect 28 0 35 0;
+#X connect 29 0 14 0;
+#X connect 29 0 28 0;
+#X connect 29 0 30 0;
+#X connect 29 0 36 0;
+#X connect 30 0 22 0;
+#X connect 30 0 29 0;
+#X connect 30 0 31 0;
+#X connect 30 0 37 0;
+#X connect 31 0 23 0;
+#X connect 31 0 30 0;
+#X connect 31 0 32 0;
+#X connect 31 0 38 0;
+#X connect 32 0 24 0;
+#X connect 32 0 31 0;
+#X connect 32 0 33 0;
+#X connect 32 0 39 0;
+#X connect 33 0 6 0;
+#X connect 33 0 25 0;
+#X connect 33 0 32 0;
+#X connect 33 0 34 0;
+#X connect 34 0 26 0;
+#X connect 34 0 33 0;
+#X connect 34 0 40 0;
+#X connect 34 0 229 0;
+#X connect 35 0 13 0;
+#X connect 35 0 28 0;
+#X connect 35 0 36 0;
+#X connect 35 0 42 0;
+#X connect 36 0 29 0;
+#X connect 36 0 35 0;
+#X connect 36 0 37 0;
+#X connect 36 0 43 0;
+#X connect 37 0 30 0;
+#X connect 37 0 36 0;
+#X connect 37 0 38 0;
+#X connect 37 0 44 0;
+#X connect 38 0 31 0;
+#X connect 38 0 37 0;
+#X connect 38 0 39 0;
+#X connect 38 0 45 0;
+#X connect 39 0 6 0;
+#X connect 39 0 32 0;
+#X connect 39 0 38 0;
+#X connect 39 0 46 0;
+#X connect 40 0 6 0;
+#X connect 40 0 8 0;
+#X connect 40 0 34 0;
+#X connect 40 0 230 0;
+#X connect 41 0 13 0;
+#X connect 41 0 42 0;
+#X connect 41 0 48 0;
+#X connect 42 0 35 0;
+#X connect 42 0 41 0;
+#X connect 42 0 43 0;
+#X connect 42 0 49 0;
+#X connect 43 0 36 0;
+#X connect 43 0 42 0;
+#X connect 43 0 44 0;
+#X connect 43 0 50 0;
+#X connect 44 0 37 0;
+#X connect 44 0 43 0;
+#X connect 44 0 45 0;
+#X connect 44 0 51 0;
+#X connect 45 0 38 0;
+#X connect 45 0 44 0;
+#X connect 45 0 46 0;
+#X connect 45 0 52 0;
+#X connect 46 0 39 0;
+#X connect 46 0 45 0;
+#X connect 46 0 47 0;
+#X connect 46 0 53 0;
+#X connect 47 0 5 0;
+#X connect 47 0 6 0;
+#X connect 47 0 8 0;
+#X connect 47 0 46 0;
+#X connect 48 0 4 0;
+#X connect 48 0 41 0;
+#X connect 48 0 49 0;
+#X connect 49 0 42 0;
+#X connect 49 0 48 0;
+#X connect 49 0 50 0;
+#X connect 49 0 54 0;
+#X connect 50 0 43 0;
+#X connect 50 0 49 0;
+#X connect 50 0 51 0;
+#X connect 50 0 55 0;
+#X connect 51 0 44 0;
+#X connect 51 0 50 0;
+#X connect 51 0 52 0;
+#X connect 51 0 56 0;
+#X connect 52 0 45 0;
+#X connect 52 0 51 0;
+#X connect 52 0 53 0;
+#X connect 52 0 57 0;
+#X connect 53 0 5 0;
+#X connect 53 0 46 0;
+#X connect 53 0 52 0;
+#X connect 53 0 58 0;
+#X connect 54 0 4 0;
+#X connect 54 0 49 0;
+#X connect 54 0 55 0;
+#X connect 54 0 62 0;
+#X connect 55 0 50 0;
+#X connect 55 0 54 0;
+#X connect 55 0 56 0;
+#X connect 55 0 63 0;
+#X connect 56 0 51 0;
+#X connect 56 0 55 0;
+#X connect 56 0 57 0;
+#X connect 56 0 64 0;
+#X connect 57 0 52 0;
+#X connect 57 0 56 0;
+#X connect 57 0 58 0;
+#X connect 57 0 65 0;
+#X connect 58 0 53 0;
+#X connect 58 0 57 0;
+#X connect 58 0 59 0;
+#X connect 58 0 66 0;
+#X connect 59 0 5 0;
+#X connect 59 0 58 0;
+#X connect 59 0 60 0;
+#X connect 59 0 67 0;
+#X connect 60 0 7 0;
+#X connect 60 0 59 0;
+#X connect 60 0 68 0;
+#X connect 60 0 233 0;
+#X connect 61 0 4 0;
+#X connect 61 0 62 0;
+#X connect 61 0 69 0;
+#X connect 62 0 54 0;
+#X connect 62 0 61 0;
+#X connect 62 0 63 0;
+#X connect 62 0 70 0;
+#X connect 63 0 55 0;
+#X connect 63 0 62 0;
+#X connect 63 0 64 0;
+#X connect 63 0 71 0;
+#X connect 64 0 56 0;
+#X connect 64 0 63 0;
+#X connect 64 0 65 0;
+#X connect 64 0 72 0;
+#X connect 65 0 57 0;
+#X connect 65 0 64 0;
+#X connect 65 0 66 0;
+#X connect 65 0 73 0;
+#X connect 66 0 58 0;
+#X connect 66 0 65 0;
+#X connect 66 0 67 0;
+#X connect 66 0 74 0;
+#X connect 67 0 59 0;
+#X connect 67 0 66 0;
+#X connect 67 0 68 0;
+#X connect 67 0 75 0;
+#X connect 68 0 60 0;
+#X connect 68 0 67 0;
+#X connect 68 0 76 0;
+#X connect 68 0 234 0;
+#X connect 69 0 61 0;
+#X connect 69 0 70 0;
+#X connect 69 0 77 0;
+#X connect 70 0 62 0;
+#X connect 70 0 69 0;
+#X connect 70 0 71 0;
+#X connect 70 0 78 0;
+#X connect 71 0 63 0;
+#X connect 71 0 70 0;
+#X connect 71 0 72 0;
+#X connect 71 0 79 0;
+#X connect 72 0 64 0;
+#X connect 72 0 71 0;
+#X connect 72 0 73 0;
+#X connect 72 0 80 0;
+#X connect 73 0 65 0;
+#X connect 73 0 72 0;
+#X connect 73 0 74 0;
+#X connect 73 0 81 0;
+#X connect 74 0 66 0;
+#X connect 74 0 73 0;
+#X connect 74 0 75 0;
+#X connect 74 0 82 0;
+#X connect 75 0 67 0;
+#X connect 75 0 74 0;
+#X connect 75 0 76 0;
+#X connect 75 0 83 0;
+#X connect 76 0 68 0;
+#X connect 76 0 75 0;
+#X connect 76 0 84 0;
+#X connect 76 0 235 0;
+#X connect 77 0 69 0;
+#X connect 77 0 78 0;
+#X connect 77 0 85 0;
+#X connect 78 0 70 0;
+#X connect 78 0 77 0;
+#X connect 78 0 79 0;
+#X connect 78 0 86 0;
+#X connect 79 0 71 0;
+#X connect 79 0 78 0;
+#X connect 79 0 80 0;
+#X connect 79 0 87 0;
+#X connect 80 0 72 0;
+#X connect 80 0 79 0;
+#X connect 80 0 81 0;
+#X connect 80 0 88 0;
+#X connect 81 0 73 0;
+#X connect 81 0 80 0;
+#X connect 81 0 82 0;
+#X connect 81 0 89 0;
+#X connect 82 0 74 0;
+#X connect 82 0 81 0;
+#X connect 82 0 83 0;
+#X connect 82 0 90 0;
+#X connect 83 0 75 0;
+#X connect 83 0 82 0;
+#X connect 83 0 84 0;
+#X connect 83 0 91 0;
+#X connect 84 0 76 0;
+#X connect 84 0 83 0;
+#X connect 84 0 92 0;
+#X connect 84 0 236 0;
+#X connect 85 0 77 0;
+#X connect 85 0 86 0;
+#X connect 85 0 93 0;
+#X connect 86 0 78 0;
+#X connect 86 0 85 0;
+#X connect 86 0 87 0;
+#X connect 86 0 94 0;
+#X connect 87 0 79 0;
+#X connect 87 0 86 0;
+#X connect 87 0 88 0;
+#X connect 87 0 95 0;
+#X connect 88 0 80 0;
+#X connect 88 0 87 0;
+#X connect 88 0 89 0;
+#X connect 88 0 96 0;
+#X connect 89 0 81 0;
+#X connect 89 0 88 0;
+#X connect 89 0 90 0;
+#X connect 89 0 97 0;
+#X connect 90 0 82 0;
+#X connect 90 0 89 0;
+#X connect 90 0 91 0;
+#X connect 90 0 98 0;
+#X connect 91 0 83 0;
+#X connect 91 0 90 0;
+#X connect 91 0 92 0;
+#X connect 91 0 99 0;
+#X connect 92 0 84 0;
+#X connect 92 0 91 0;
+#X connect 92 0 100 0;
+#X connect 92 0 237 0;
+#X connect 93 0 85 0;
+#X connect 93 0 94 0;
+#X connect 93 0 101 0;
+#X connect 94 0 86 0;
+#X connect 94 0 93 0;
+#X connect 94 0 95 0;
+#X connect 94 0 102 0;
+#X connect 95 0 87 0;
+#X connect 95 0 94 0;
+#X connect 95 0 96 0;
+#X connect 95 0 103 0;
+#X connect 96 0 88 0;
+#X connect 96 0 95 0;
+#X connect 96 0 97 0;
+#X connect 96 0 104 0;
+#X connect 97 0 89 0;
+#X connect 97 0 96 0;
+#X connect 97 0 98 0;
+#X connect 97 0 105 0;
+#X connect 98 0 90 0;
+#X connect 98 0 97 0;
+#X connect 98 0 99 0;
+#X connect 98 0 106 0;
+#X connect 99 0 91 0;
+#X connect 99 0 98 0;
+#X connect 99 0 100 0;
+#X connect 99 0 107 0;
+#X connect 100 0 92 0;
+#X connect 100 0 99 0;
+#X connect 100 0 108 0;
+#X connect 100 0 238 0;
+#X connect 101 0 93 0;
+#X connect 101 0 102 0;
+#X connect 101 0 109 0;
+#X connect 102 0 94 0;
+#X connect 102 0 101 0;
+#X connect 102 0 103 0;
+#X connect 102 0 110 0;
+#X connect 103 0 95 0;
+#X connect 103 0 102 0;
+#X connect 103 0 104 0;
+#X connect 103 0 111 0;
+#X connect 104 0 96 0;
+#X connect 104 0 103 0;
+#X connect 104 0 105 0;
+#X connect 104 0 258 0;
+#X connect 105 0 97 0;
+#X connect 105 0 104 0;
+#X connect 105 0 106 0;
+#X connect 105 0 112 0;
+#X connect 106 0 98 0;
+#X connect 106 0 105 0;
+#X connect 106 0 107 0;
+#X connect 106 0 113 0;
+#X connect 107 0 99 0;
+#X connect 107 0 106 0;
+#X connect 107 0 108 0;
+#X connect 107 0 114 0;
+#X connect 108 0 100 0;
+#X connect 108 0 107 0;
+#X connect 108 0 115 0;
+#X connect 108 0 239 0;
+#X connect 109 0 101 0;
+#X connect 109 0 110 0;
+#X connect 109 0 116 0;
+#X connect 110 0 102 0;
+#X connect 110 0 109 0;
+#X connect 110 0 111 0;
+#X connect 110 0 117 0;
+#X connect 111 0 103 0;
+#X connect 111 0 110 0;
+#X connect 111 0 118 0;
+#X connect 111 0 258 0;
+#X connect 112 0 105 0;
+#X connect 112 0 113 0;
+#X connect 112 0 120 0;
+#X connect 112 0 258 0;
+#X connect 113 0 106 0;
+#X connect 113 0 112 0;
+#X connect 113 0 114 0;
+#X connect 113 0 121 0;
+#X connect 114 0 107 0;
+#X connect 114 0 113 0;
+#X connect 114 0 115 0;
+#X connect 114 0 122 0;
+#X connect 115 0 108 0;
+#X connect 115 0 114 0;
+#X connect 115 0 123 0;
+#X connect 115 0 240 0;
+#X connect 116 0 109 0;
+#X connect 116 0 117 0;
+#X connect 116 0 124 0;
+#X connect 117 0 110 0;
+#X connect 117 0 116 0;
+#X connect 117 0 118 0;
+#X connect 117 0 125 0;
+#X connect 118 0 111 0;
+#X connect 118 0 117 0;
+#X connect 118 0 119 0;
+#X connect 118 0 126 0;
+#X connect 119 0 118 0;
+#X connect 119 0 120 0;
+#X connect 119 0 127 0;
+#X connect 119 0 258 0;
+#X connect 120 0 112 0;
+#X connect 120 0 119 0;
+#X connect 120 0 121 0;
+#X connect 120 0 128 0;
+#X connect 121 0 113 0;
+#X connect 121 0 120 0;
+#X connect 121 0 122 0;
+#X connect 121 0 129 0;
+#X connect 122 0 114 0;
+#X connect 122 0 121 0;
+#X connect 122 0 123 0;
+#X connect 122 0 130 0;
+#X connect 123 0 115 0;
+#X connect 123 0 122 0;
+#X connect 123 0 131 0;
+#X connect 123 0 241 0;
+#X connect 124 0 116 0;
+#X connect 124 0 125 0;
+#X connect 125 0 117 0;
+#X connect 125 0 124 0;
+#X connect 125 0 126 0;
+#X connect 126 0 118 0;
+#X connect 126 0 125 0;
+#X connect 126 0 127 0;
+#X connect 127 0 119 0;
+#X connect 127 0 126 0;
+#X connect 127 0 128 0;
+#X connect 128 0 120 0;
+#X connect 128 0 127 0;
+#X connect 128 0 129 0;
+#X connect 129 0 121 0;
+#X connect 129 0 128 0;
+#X connect 129 0 130 0;
+#X connect 130 0 122 0;
+#X connect 130 0 129 0;
+#X connect 130 0 131 0;
+#X connect 131 0 123 0;
+#X connect 131 0 130 0;
+#X connect 131 0 242 0;
+#X connect 132 0 21 0;
+#X connect 132 0 133 0;
+#X connect 132 0 228 0;
+#X connect 133 0 132 0;
+#X connect 133 0 134 0;
+#X connect 133 0 227 0;
+#X connect 134 0 133 0;
+#X connect 134 0 135 0;
+#X connect 134 0 243 0;
+#X connect 135 0 134 0;
+#X connect 135 0 136 0;
+#X connect 135 0 200 0;
+#X connect 136 0 135 0;
+#X connect 136 0 137 0;
+#X connect 136 0 199 0;
+#X connect 137 0 136 0;
+#X connect 137 0 138 0;
+#X connect 137 0 170 0;
+#X connect 138 0 137 0;
+#X connect 138 0 139 0;
+#X connect 138 0 169 0;
+#X connect 139 0 138 0;
+#X connect 139 0 140 0;
+#X connect 140 0 139 0;
+#X connect 140 0 141 0;
+#X connect 140 0 169 0;
+#X connect 141 0 140 0;
+#X connect 141 0 142 0;
+#X connect 141 0 168 0;
+#X connect 142 0 141 0;
+#X connect 142 0 143 0;
+#X connect 142 0 167 0;
+#X connect 143 0 142 0;
+#X connect 143 0 144 0;
+#X connect 143 0 166 0;
+#X connect 144 0 143 0;
+#X connect 144 0 145 0;
+#X connect 144 0 165 0;
+#X connect 145 0 144 0;
+#X connect 145 0 146 0;
+#X connect 145 0 164 0;
+#X connect 146 0 145 0;
+#X connect 146 0 147 0;
+#X connect 146 0 163 0;
+#X connect 147 0 146 0;
+#X connect 147 0 148 0;
+#X connect 147 0 162 0;
+#X connect 148 0 147 0;
+#X connect 148 0 149 0;
+#X connect 148 0 161 0;
+#X connect 149 0 148 0;
+#X connect 149 0 150 0;
+#X connect 149 0 160 0;
+#X connect 150 0 149 0;
+#X connect 150 0 151 0;
+#X connect 150 0 159 0;
+#X connect 151 0 150 0;
+#X connect 151 0 152 0;
+#X connect 151 0 158 0;
+#X connect 152 0 151 0;
+#X connect 152 0 153 0;
+#X connect 152 0 157 0;
+#X connect 153 0 152 0;
+#X connect 153 0 154 0;
+#X connect 153 0 156 0;
+#X connect 154 0 153 0;
+#X connect 154 0 155 0;
+#X connect 155 0 154 0;
+#X connect 155 0 156 0;
+#X connect 155 0 184 0;
+#X connect 156 0 153 0;
+#X connect 156 0 155 0;
+#X connect 156 0 157 0;
+#X connect 156 0 183 0;
+#X connect 157 0 152 0;
+#X connect 157 0 156 0;
+#X connect 157 0 158 0;
+#X connect 157 0 182 0;
+#X connect 158 0 151 0;
+#X connect 158 0 157 0;
+#X connect 158 0 159 0;
+#X connect 158 0 181 0;
+#X connect 159 0 150 0;
+#X connect 159 0 158 0;
+#X connect 159 0 160 0;
+#X connect 159 0 180 0;
+#X connect 160 0 149 0;
+#X connect 160 0 159 0;
+#X connect 160 0 161 0;
+#X connect 160 0 179 0;
+#X connect 161 0 148 0;
+#X connect 161 0 160 0;
+#X connect 161 0 162 0;
+#X connect 161 0 178 0;
+#X connect 162 0 147 0;
+#X connect 162 0 161 0;
+#X connect 162 0 163 0;
+#X connect 162 0 177 0;
+#X connect 163 0 146 0;
+#X connect 163 0 162 0;
+#X connect 163 0 164 0;
+#X connect 163 0 176 0;
+#X connect 164 0 145 0;
+#X connect 164 0 163 0;
+#X connect 164 0 165 0;
+#X connect 164 0 175 0;
+#X connect 165 0 144 0;
+#X connect 165 0 164 0;
+#X connect 165 0 166 0;
+#X connect 165 0 174 0;
+#X connect 166 0 143 0;
+#X connect 166 0 165 0;
+#X connect 166 0 167 0;
+#X connect 166 0 173 0;
+#X connect 167 0 142 0;
+#X connect 167 0 166 0;
+#X connect 167 0 168 0;
+#X connect 167 0 172 0;
+#X connect 168 0 141 0;
+#X connect 168 0 167 0;
+#X connect 168 0 169 0;
+#X connect 168 0 171 0;
+#X connect 169 0 138 0;
+#X connect 169 0 140 0;
+#X connect 169 0 168 0;
+#X connect 169 0 170 0;
+#X connect 170 0 137 0;
+#X connect 170 0 169 0;
+#X connect 170 0 171 0;
+#X connect 170 0 199 0;
+#X connect 171 0 168 0;
+#X connect 171 0 170 0;
+#X connect 171 0 172 0;
+#X connect 171 0 198 0;
+#X connect 172 0 167 0;
+#X connect 172 0 171 0;
+#X connect 172 0 173 0;
+#X connect 172 0 197 0;
+#X connect 173 0 166 0;
+#X connect 173 0 172 0;
+#X connect 173 0 174 0;
+#X connect 173 0 196 0;
+#X connect 174 0 165 0;
+#X connect 174 0 173 0;
+#X connect 174 0 175 0;
+#X connect 174 0 195 0;
+#X connect 175 0 164 0;
+#X connect 175 0 174 0;
+#X connect 175 0 176 0;
+#X connect 175 0 194 0;
+#X connect 176 0 163 0;
+#X connect 176 0 175 0;
+#X connect 176 0 177 0;
+#X connect 176 0 193 0;
+#X connect 177 0 162 0;
+#X connect 177 0 176 0;
+#X connect 177 0 178 0;
+#X connect 177 0 192 0;
+#X connect 178 0 161 0;
+#X connect 178 0 177 0;
+#X connect 178 0 179 0;
+#X connect 178 0 191 0;
+#X connect 179 0 160 0;
+#X connect 179 0 178 0;
+#X connect 179 0 180 0;
+#X connect 179 0 190 0;
+#X connect 180 0 159 0;
+#X connect 180 0 179 0;
+#X connect 180 0 181 0;
+#X connect 180 0 189 0;
+#X connect 181 0 158 0;
+#X connect 181 0 180 0;
+#X connect 181 0 182 0;
+#X connect 181 0 188 0;
+#X connect 182 0 157 0;
+#X connect 182 0 181 0;
+#X connect 182 0 183 0;
+#X connect 182 0 187 0;
+#X connect 183 0 156 0;
+#X connect 183 0 182 0;
+#X connect 183 0 184 0;
+#X connect 183 0 186 0;
+#X connect 184 0 155 0;
+#X connect 184 0 183 0;
+#X connect 184 0 185 0;
+#X connect 185 0 184 0;
+#X connect 185 0 186 0;
+#X connect 185 0 213 0;
+#X connect 186 0 183 0;
+#X connect 186 0 185 0;
+#X connect 186 0 187 0;
+#X connect 186 0 212 0;
+#X connect 187 0 182 0;
+#X connect 187 0 186 0;
+#X connect 187 0 188 0;
+#X connect 187 0 259 0;
+#X connect 188 0 181 0;
+#X connect 188 0 187 0;
+#X connect 188 0 189 0;
+#X connect 188 0 211 0;
+#X connect 189 0 180 0;
+#X connect 189 0 188 0;
+#X connect 189 0 190 0;
+#X connect 189 0 210 0;
+#X connect 190 0 179 0;
+#X connect 190 0 189 0;
+#X connect 190 0 191 0;
+#X connect 190 0 209 0;
+#X connect 191 0 178 0;
+#X connect 191 0 190 0;
+#X connect 191 0 192 0;
+#X connect 191 0 208 0;
+#X connect 192 0 177 0;
+#X connect 192 0 191 0;
+#X connect 192 0 193 0;
+#X connect 192 0 207 0;
+#X connect 193 0 176 0;
+#X connect 193 0 192 0;
+#X connect 193 0 194 0;
+#X connect 193 0 206 0;
+#X connect 194 0 175 0;
+#X connect 194 0 193 0;
+#X connect 194 0 195 0;
+#X connect 194 0 205 0;
+#X connect 195 0 174 0;
+#X connect 195 0 194 0;
+#X connect 195 0 196 0;
+#X connect 195 0 204 0;
+#X connect 196 0 173 0;
+#X connect 196 0 195 0;
+#X connect 196 0 197 0;
+#X connect 196 0 203 0;
+#X connect 197 0 172 0;
+#X connect 197 0 196 0;
+#X connect 197 0 198 0;
+#X connect 197 0 202 0;
+#X connect 198 0 171 0;
+#X connect 198 0 197 0;
+#X connect 198 0 199 0;
+#X connect 198 0 201 0;
+#X connect 199 0 136 0;
+#X connect 199 0 170 0;
+#X connect 199 0 198 0;
+#X connect 199 0 200 0;
+#X connect 200 0 135 0;
+#X connect 200 0 199 0;
+#X connect 200 0 201 0;
+#X connect 200 0 243 0;
+#X connect 201 0 198 0;
+#X connect 201 0 200 0;
+#X connect 201 0 202 0;
+#X connect 201 0 244 0;
+#X connect 202 0 197 0;
+#X connect 202 0 201 0;
+#X connect 202 0 203 0;
+#X connect 202 0 245 0;
+#X connect 203 0 196 0;
+#X connect 203 0 202 0;
+#X connect 203 0 204 0;
+#X connect 203 0 246 0;
+#X connect 204 0 195 0;
+#X connect 204 0 203 0;
+#X connect 204 0 205 0;
+#X connect 204 0 247 0;
+#X connect 205 0 194 0;
+#X connect 205 0 204 0;
+#X connect 205 0 206 0;
+#X connect 205 0 248 0;
+#X connect 206 0 193 0;
+#X connect 206 0 205 0;
+#X connect 206 0 207 0;
+#X connect 206 0 249 0;
+#X connect 207 0 192 0;
+#X connect 207 0 206 0;
+#X connect 207 0 208 0;
+#X connect 207 0 250 0;
+#X connect 208 0 191 0;
+#X connect 208 0 207 0;
+#X connect 208 0 209 0;
+#X connect 208 0 251 0;
+#X connect 209 0 190 0;
+#X connect 209 0 208 0;
+#X connect 209 0 210 0;
+#X connect 209 0 252 0;
+#X connect 210 0 189 0;
+#X connect 210 0 209 0;
+#X connect 210 0 211 0;
+#X connect 210 0 253 0;
+#X connect 211 0 188 0;
+#X connect 211 0 210 0;
+#X connect 211 0 254 0;
+#X connect 211 0 259 0;
+#X connect 212 0 186 0;
+#X connect 212 0 213 0;
+#X connect 212 0 256 0;
+#X connect 212 0 259 0;
+#X connect 213 0 185 0;
+#X connect 213 0 212 0;
+#X connect 213 0 257 0;
+#X connect 214 0 215 0;
+#X connect 214 0 242 0;
+#X connect 214 0 257 0;
+#X connect 215 0 214 0;
+#X connect 215 0 216 0;
+#X connect 215 0 241 0;
+#X connect 215 0 256 0;
+#X connect 216 0 215 0;
+#X connect 216 0 217 0;
+#X connect 216 0 240 0;
+#X connect 216 0 255 0;
+#X connect 217 0 216 0;
+#X connect 217 0 218 0;
+#X connect 217 0 239 0;
+#X connect 217 0 254 0;
+#X connect 218 0 217 0;
+#X connect 218 0 219 0;
+#X connect 218 0 238 0;
+#X connect 218 0 253 0;
+#X connect 219 0 218 0;
+#X connect 219 0 220 0;
+#X connect 219 0 237 0;
+#X connect 219 0 252 0;
+#X connect 220 0 219 0;
+#X connect 220 0 221 0;
+#X connect 220 0 236 0;
+#X connect 220 0 251 0;
+#X connect 221 0 220 0;
+#X connect 221 0 222 0;
+#X connect 221 0 235 0;
+#X connect 221 0 250 0;
+#X connect 222 0 221 0;
+#X connect 222 0 223 0;
+#X connect 222 0 234 0;
+#X connect 222 0 249 0;
+#X connect 223 0 9 0;
+#X connect 223 0 222 0;
+#X connect 223 0 233 0;
+#X connect 223 0 248 0;
+#X connect 224 0 9 0;
+#X connect 224 0 225 0;
+#X connect 224 0 231 0;
+#X connect 224 0 246 0;
+#X connect 225 0 224 0;
+#X connect 225 0 226 0;
+#X connect 225 0 230 0;
+#X connect 225 0 245 0;
+#X connect 226 0 225 0;
+#X connect 226 0 227 0;
+#X connect 226 0 229 0;
+#X connect 226 0 244 0;
+#X connect 227 0 133 0;
+#X connect 227 0 226 0;
+#X connect 227 0 228 0;
+#X connect 227 0 243 0;
+#X connect 228 0 26 0;
+#X connect 228 0 132 0;
+#X connect 228 0 227 0;
+#X connect 228 0 229 0;
+#X connect 229 0 34 0;
+#X connect 229 0 226 0;
+#X connect 229 0 228 0;
+#X connect 229 0 230 0;
+#X connect 230 0 40 0;
+#X connect 230 0 225 0;
+#X connect 230 0 229 0;
+#X connect 230 0 231 0;
+#X connect 231 0 8 0;
+#X connect 231 0 224 0;
+#X connect 231 0 230 0;
+#X connect 231 0 232 0;
+#X connect 232 0 7 0;
+#X connect 232 0 9 0;
+#X connect 232 0 231 0;
+#X connect 232 0 233 0;
+#X connect 233 0 60 0;
+#X connect 233 0 223 0;
+#X connect 233 0 232 0;
+#X connect 233 0 234 0;
+#X connect 234 0 68 0;
+#X connect 234 0 222 0;
+#X connect 234 0 233 0;
+#X connect 234 0 235 0;
+#X connect 235 0 76 0;
+#X connect 235 0 221 0;
+#X connect 235 0 234 0;
+#X connect 235 0 236 0;
+#X connect 236 0 84 0;
+#X connect 236 0 220 0;
+#X connect 236 0 235 0;
+#X connect 236 0 237 0;
+#X connect 237 0 92 0;
+#X connect 237 0 219 0;
+#X connect 237 0 236 0;
+#X connect 237 0 238 0;
+#X connect 238 0 100 0;
+#X connect 238 0 218 0;
+#X connect 238 0 237 0;
+#X connect 238 0 239 0;
+#X connect 239 0 108 0;
+#X connect 239 0 217 0;
+#X connect 239 0 238 0;
+#X connect 239 0 240 0;
+#X connect 240 0 115 0;
+#X connect 240 0 216 0;
+#X connect 240 0 239 0;
+#X connect 240 0 241 0;
+#X connect 241 0 123 0;
+#X connect 241 0 215 0;
+#X connect 241 0 240 0;
+#X connect 241 0 242 0;
+#X connect 242 0 131 0;
+#X connect 242 0 214 0;
+#X connect 242 0 241 0;
+#X connect 243 0 134 0;
+#X connect 243 0 200 0;
+#X connect 243 0 227 0;
+#X connect 243 0 244 0;
+#X connect 244 0 201 0;
+#X connect 244 0 226 0;
+#X connect 244 0 243 0;
+#X connect 244 0 245 0;
+#X connect 245 0 202 0;
+#X connect 245 0 225 0;
+#X connect 245 0 244 0;
+#X connect 245 0 246 0;
+#X connect 246 0 203 0;
+#X connect 246 0 224 0;
+#X connect 246 0 245 0;
+#X connect 246 0 247 0;
+#X connect 247 0 9 0;
+#X connect 247 0 204 0;
+#X connect 247 0 246 0;
+#X connect 247 0 248 0;
+#X connect 248 0 205 0;
+#X connect 248 0 223 0;
+#X connect 248 0 247 0;
+#X connect 248 0 249 0;
+#X connect 249 0 206 0;
+#X connect 249 0 222 0;
+#X connect 249 0 248 0;
+#X connect 249 0 250 0;
+#X connect 250 0 207 0;
+#X connect 250 0 221 0;
+#X connect 250 0 249 0;
+#X connect 250 0 251 0;
+#X connect 251 0 208 0;
+#X connect 251 0 220 0;
+#X connect 251 0 250 0;
+#X connect 251 0 252 0;
+#X connect 252 0 209 0;
+#X connect 252 0 219 0;
+#X connect 252 0 251 0;
+#X connect 252 0 253 0;
+#X connect 253 0 210 0;
+#X connect 253 0 218 0;
+#X connect 253 0 252 0;
+#X connect 253 0 254 0;
+#X connect 254 0 211 0;
+#X connect 254 0 217 0;
+#X connect 254 0 253 0;
+#X connect 254 0 255 0;
+#X connect 255 0 216 0;
+#X connect 255 0 254 0;
+#X connect 255 0 256 0;
+#X connect 255 0 259 0;
+#X connect 256 0 212 0;
+#X connect 256 0 215 0;
+#X connect 256 0 255 0;
+#X connect 256 0 257 0;
+#X connect 257 0 213 0;
+#X connect 257 0 214 0;
+#X connect 257 0 256 0;
+#X connect 258 0 104 0;
+#X connect 258 0 111 0;
+#X connect 258 0 112 0;
+#X connect 258 0 119 0;
+#X connect 259 0 187 0;
+#X connect 259 0 211 0;
+#X connect 259 0 212 0;
+#X connect 259 0 255 0;
+#X restore 606 498 pd array;
+#X obj 364 384 loadbang;
+#X msg 364 428 0.45;
+#X msg 313 476 setL \$1;
+#X msg 81 165 force3D 0 0 -0.0031;
+#X msg 42 489 setZ \$1;
+#X floatatom 42 342 5 0 0 0 - - -;
+#X obj 31 512 iSphere3D masse 7.5 7.5 -12 0 9 0 1;
+#X msg 266 425 0.4;
+#X msg 313 358 1.3;
+#X msg 42 318 -10;
+#X obj 31 115 metro 20;
+#X msg 290 404 0.8;
+#X obj 42 387 line;
+#X msg 42 362 \$1 100;
+#X obj 477 116 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 477 136 t b b;
+#X msg 127 462 -3;
+#X obj 536 115 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 536 135 t b b;
+#X text 337 7 elastic membrane on a sphere;
+#X floatatom 313 453 5 0 0 0 - - -;
+#X obj 42 293 loadbang;
+#X msg 77 461 -7;
+#X obj 502 161 s anim1;
+#X obj 561 161 s anim2;
+#X obj 77 437 r anim2;
+#X obj 127 438 r anim1;
+#X obj 313 334 r anim1;
+#X obj 290 382 r anim2;
+#X obj 51 413 s position;
+#X text 63 34 <- begin (change metro speed if to much;
+#X text 86 341 <- change red ball position;
+#X obj 238 155 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 254 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 271 203 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 267 133 camera position;
+#X text 359 79 <- 1;
+#N canvas 0 0 545 312 spheres 0;
+#X obj 44 101 r gemhead;
+#X obj 44 122 separator;
+#X obj 44 174 color 1 0 0;
+#X msg 87 219 30;
+#X obj 87 198 loadbang;
+#X msg 132 104 7.5;
+#X obj 132 127 / 3;
+#X obj 44 239 sphere 3;
+#X obj 44 151 translateXYZ 7.5 7.5 -4;
+#X obj 177 128 / 3;
+#X obj 132 79 loadbang;
+#X msg 228 105 -7;
+#X msg 197 83 -3;
+#X obj 228 84 r anim2;
+#X obj 197 59 r anim1;
+#X obj 177 36 r position;
+#X obj 323 92 gemhead;
+#X obj 323 156 rotateXYZ;
+#X obj 323 182 s gemhead;
+#X floatatom 369 110 5 0 0 0 - - -;
+#X floatatom 415 109 5 0 0 0 - - -;
+#X floatatom 462 109 5 0 0 0 - - -;
+#X obj 323 131 translateXYZ -2.5 -2.5 2;
+#X connect 0 0 1 0;
+#X connect 1 0 8 0;
+#X connect 2 0 7 0;
+#X connect 3 0 7 2;
+#X connect 4 0 3 0;
+#X connect 5 0 6 0;
+#X connect 6 0 8 2;
+#X connect 6 0 8 1;
+#X connect 8 0 2 0;
+#X connect 9 0 8 3;
+#X connect 10 0 5 0;
+#X connect 11 0 9 0;
+#X connect 12 0 9 0;
+#X connect 13 0 11 0;
+#X connect 14 0 12 0;
+#X connect 15 0 9 0;
+#X connect 16 0 22 0;
+#X connect 17 0 18 0;
+#X connect 19 0 22 1;
+#X connect 20 0 22 2;
+#X connect 21 0 22 3;
+#X connect 22 0 17 0;
+#X restore 608 428 pd spheres;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 44 0;
+#X connect 2 0 28 0;
+#X connect 3 0 4 0;
+#X connect 5 0 29 0;
+#X connect 6 0 2 0;
+#X connect 7 0 11 0;
+#X connect 8 0 3 0;
+#X connect 10 0 9 0;
+#X connect 11 0 28 0;
+#X connect 12 0 14 0;
+#X connect 13 0 14 0;
+#X connect 14 0 16 0;
+#X connect 14 1 22 0;
+#X connect 14 2 15 0;
+#X connect 15 0 17 0;
+#X connect 15 0 23 0;
+#X connect 16 0 20 0;
+#X connect 18 0 7 0;
+#X connect 19 0 35 0;
+#X connect 19 0 18 0;
+#X connect 19 0 27 0;
+#X connect 24 0 29 0;
+#X connect 26 0 21 0;
+#X connect 26 0 37 0;
+#X connect 26 0 40 0;
+#X connect 26 1 25 0;
+#X connect 26 1 30 0;
+#X connect 26 2 1 0;
+#X connect 27 0 8 0;
+#X connect 32 0 44 1;
+#X connect 34 0 19 0;
+#X connect 35 0 6 0;
+#X connect 36 0 28 0;
+#X connect 37 0 1 0;
+#X connect 38 0 40 0;
+#X connect 39 0 47 0;
+#X connect 41 0 54 0;
+#X connect 42 0 54 0;
+#X connect 43 0 39 0;
+#X connect 44 0 26 0;
+#X connect 45 0 54 0;
+#X connect 46 0 38 0;
+#X connect 46 0 63 0;
+#X connect 47 0 46 0;
+#X connect 48 0 49 0;
+#X connect 49 0 14 0;
+#X connect 49 1 57 0;
+#X connect 50 0 38 0;
+#X connect 51 0 52 0;
+#X connect 52 0 14 0;
+#X connect 52 1 58 0;
+#X connect 54 0 36 0;
+#X connect 55 0 43 0;
+#X connect 56 0 38 0;
+#X connect 59 0 56 0;
+#X connect 60 0 50 0;
+#X connect 61 0 42 0;
+#X connect 62 0 45 0;
+#X connect 66 0 29 1;
+#X connect 67 0 29 2;
+#X connect 68 0 29 3;
diff --git a/examples/39_blob.pd b/examples/39_blob.pd
index 8a71b94..c4114cd 100644
--- a/examples/39_blob.pd
+++ b/examples/39_blob.pd
@@ -1,4 +1,5 @@
-#N canvas 184 131 697 488 10;
+#N canvas 180 145 749 504 10;
+#X declare -lib Gem;
#N canvas 289 242 849 567 array 0;
#X obj 401 247 blob 62 1.39556 1 0;
#X obj 28 386 lia3D link2 1 1 0 0.5;
@@ -562,7 +563,7 @@
#X connect 124 0 34 0;
#X connect 125 0 18 0;
#X restore 51 367 pd array;
-#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+#X obj 31 35 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
;
#X obj 106 226 s masse;
#X msg 426 100 0 \, destroy;
@@ -592,14 +593,14 @@
#X obj 50 408 / 100;
#X obj 31 80 metro 40;
#X obj 54 347 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 1900 1;
+-1 -1 4500 1;
#X msg 51 322 45;
#X text 293 9 "Blob" simulation;
#X obj 187 120 trigger bang bang bang bang;
#X text 566 76 <- create GEM windows;
#X obj 51 298 loadbang;
#X obj 53 388 hsl 128 15 20 100 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 12700 1;
+-1 -1 0 1;
#X text 202 347 <- play here (change length of the blob);
#X text 203 384 <- play here (change radius);
#X msg 50 431 setKN \$1;
@@ -662,6 +663,7 @@
#X connect 15 0 6 0;
#X restore 512 292 pd init;
#X obj 31 456 iCylinder3D masse 0 0 1 0 0 -6 0 1.5 0 0.6;
+#X obj 10 2 declare -lib Gem;
#X connect 1 0 27 0;
#X connect 3 0 14 0;
#X connect 4 0 31 0;
diff --git a/examples/40_i3D.pd b/examples/40_i3D.pd
index 1177cbb..b026a03 100644
--- a/examples/40_i3D.pd
+++ b/examples/40_i3D.pd
@@ -1,214 +1,216 @@
-#N canvas 136 11 692 589 10;
-#X obj 33 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 419 150 0 \, destroy;
-#X obj 431 424 world_light;
-#X obj 431 396 gemhead;
-#X obj 141 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 157 136 loadbang;
-#X msg 354 188 reset;
-#X msg 407 125 lighting 1 \, create \, 1;
-#X obj 33 155 t b b b;
-#X obj 407 262 ch_gemwin;
-#X text 167 109 <- reset;
-#X text 63 83 <- begin (change metro speed if to much);
-#X floatatom 76 106 5 0 0 0 - - -;
-#X obj 33 129 metro 40;
-#X obj 511 447 world_light;
-#X obj 511 401 gemhead;
-#X obj 511 423 rotateXYZ 30 150 0;
-#X text 549 125 <- create GEM windows;
-#X obj 141 161 t b b;
-#X obj 33 186 s link;
-#X obj 427 482 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#N canvas 0 0 967 703 array 0;
-#X obj 860 780 i3D 119 2 1 2;
-#X obj 0 0 i3D 0 -2 -2 -2;
-#X obj 200 0 i3D 1 -1 -2 -2;
-#X obj 400 0 i3D 2 0 -2 -2;
-#X obj 600 0 i3D 3 1 -2 -2;
-#X obj 800 0 i3D 4 2 -2 -2;
-#X obj 20 20 i3D 5 -2 -1 -2;
-#X obj 220 20 i3D 6 -1 -1 -2;
-#X obj 420 20 i3D 7 0 -1 -2;
-#X obj 620 20 i3D 8 1 -1 -2;
-#X obj 820 20 i3D 9 2 -1 -2;
-#X obj 40 40 i3D 10 -2 0 -2;
-#X obj 240 40 i3D 11 -1 0 -2;
-#X obj 440 40 i3D 12 0 0 -2;
-#X obj 640 40 i3D 13 1 0 -2;
-#X obj 840 40 i3D 14 2 0 -2;
-#X obj 60 60 i3D 15 -2 1 -2;
-#X obj 260 60 i3D 16 -1 1 -2;
-#X obj 460 60 i3D 17 0 1 -2;
-#X obj 660 60 i3D 18 1 1 -2;
-#X obj 860 60 i3D 19 2 1 -2;
-#X obj 80 80 i3D 20 -2 2 -2;
-#X obj 280 80 i3D 21 -1 2 -2;
-#X obj 480 80 i3D 22 0 2 -2;
-#X obj 680 80 i3D 23 1 2 -2;
-#X obj 880 80 i3D 24 2 2 -2;
-#X obj 0 180 i3D 25 -2 -2 -1;
-#X obj 200 180 i3D 26 -1 -2 -1;
-#X obj 400 180 i3D 27 0 -2 -1;
-#X obj 600 180 i3D 28 1 -2 -1;
-#X obj 800 180 i3D 29 2 -2 -1;
-#X obj 20 200 i3D 30 -2 -1 -1;
-#X obj 220 200 i3D 31 -1 -1 -1;
-#X obj 420 200 i3D 32 0 -1 -1;
-#X obj 620 200 i3D 33 1 -1 -1;
-#X obj 820 200 i3D 34 2 -1 -1;
-#X obj 40 220 i3D 35 -2 0 -1;
-#X obj 240 220 i3D 36 -1 0 -1;
-#X obj 440 220 i3D 37 0 0 -1;
-#X obj 640 220 i3D 38 1 0 -1;
-#X obj 840 220 i3D 39 2 0 -1;
-#X obj 60 240 i3D 40 -2 1 -1;
-#X obj 260 240 i3D 41 -1 1 -1;
-#X obj 460 240 i3D 42 0 1 -1;
-#X obj 660 240 i3D 43 1 1 -1;
-#X obj 860 240 i3D 44 2 1 -1;
-#X obj 80 260 i3D 45 -2 2 -1;
-#X obj 280 260 i3D 46 -1 2 -1;
-#X obj 480 260 i3D 47 0 2 -1;
-#X obj 680 260 i3D 48 1 2 -1;
-#X obj 880 260 i3D 49 2 2 -1;
-#X obj 0 360 i3D 50 -2 -2 0;
-#X obj 200 360 i3D 51 -1 -2 0;
-#X obj 400 360 i3D 52 0 -2 0;
-#X obj 600 360 i3D 53 1 -2 0;
-#X obj 800 360 i3D 54 2 -2 0;
-#X obj 20 380 i3D 55 -2 -1 0;
-#X obj 220 380 i3D 56 -1 -1 0;
-#X obj 420 380 i3D 57 0 -1 0;
-#X obj 620 380 i3D 58 1 -1 0;
-#X obj 820 380 i3D 59 2 -1 0;
-#X obj 40 400 i3D 60 -2 0 0;
-#X obj 240 400 i3D 61 -1 0 0;
-#X obj 440 400 i3D 62 0 0 0;
-#X obj 640 400 i3D 63 1 0 0;
-#X obj 840 400 i3D 64 2 0 0;
-#X obj 60 420 i3D 65 -2 1 0;
-#X obj 260 420 i3D 66 -1 1 0;
-#X obj 460 420 i3D 67 0 1 0;
-#X obj 660 420 i3D 68 1 1 0;
-#X obj 860 420 i3D 69 2 1 0;
-#X obj 80 440 i3D 70 -2 2 0;
-#X obj 280 440 i3D 71 -1 2 0;
-#X obj 480 440 i3D 72 0 2 0;
-#X obj 680 440 i3D 73 1 2 0;
-#X obj 880 440 i3D 74 2 2 0;
-#X obj 0 540 i3D 75 -2 -2 1;
-#X obj 200 540 i3D 76 -1 -2 1;
-#X obj 400 540 i3D 77 0 -2 1;
-#X obj 600 540 i3D 78 1 -2 1;
-#X obj 800 540 i3D 79 2 -2 1;
-#X obj 20 560 i3D 80 -2 -1 1;
-#X obj 220 560 i3D 81 -1 -1 1;
-#X obj 420 560 i3D 82 0 -1 1;
-#X obj 620 560 i3D 83 1 -1 1;
-#X obj 820 560 i3D 84 2 -1 1;
-#X obj 40 580 i3D 85 -2 0 1;
-#X obj 240 580 i3D 86 -1 0 1;
-#X obj 440 580 i3D 87 0 0 1;
-#X obj 640 580 i3D 88 1 0 1;
-#X obj 840 580 i3D 89 2 0 1;
-#X obj 60 600 i3D 90 -2 1 1;
-#X obj 260 600 i3D 91 -1 1 1;
-#X obj 460 600 i3D 92 0 1 1;
-#X obj 660 600 i3D 93 1 1 1;
-#X obj 860 600 i3D 94 2 1 1;
-#X obj 80 620 i3D 95 -2 2 1;
-#X obj 280 620 i3D 96 -1 2 1;
-#X obj 480 620 i3D 97 0 2 1;
-#X obj 680 620 i3D 98 1 2 1;
-#X obj 880 620 i3D 99 2 2 1;
-#X obj 0 720 i3D 100 -2 -2 2;
-#X obj 200 720 i3D 101 -1 -2 2;
-#X obj 400 720 i3D 102 0 -2 2;
-#X obj 600 720 i3D 103 1 -2 2;
-#X obj 800 720 i3D 104 2 -2 2;
-#X obj 20 740 i3D 105 -2 -1 2;
-#X obj 220 740 i3D 106 -1 -1 2;
-#X obj 420 740 i3D 107 0 -1 2;
-#X obj 620 740 i3D 108 1 -1 2;
-#X obj 820 740 i3D 109 2 -1 2;
-#X obj 40 760 i3D 110 -2 0 2;
-#X obj 240 760 i3D 111 -1 0 2;
-#X obj 440 760 i3D 112 0 0 2;
-#X obj 640 760 i3D 113 1 0 2;
-#X obj 840 760 i3D 114 2 0 2;
-#X obj 60 780 i3D 115 -2 1 2;
-#X obj 260 780 i3D 116 -1 1 2;
-#X obj 460 780 i3D 117 0 1 2;
-#X obj 660 780 i3D 118 1 1 2;
-#X obj 80 800 i3D 120 -2 2 2;
-#X obj 280 800 i3D 121 -1 2 2;
-#X obj 480 800 i3D 122 0 2 2;
-#X obj 680 800 i3D 123 1 2 2;
-#X obj 880 800 i3D 124 2 2 2;
-#X restore 431 448 pd array;
-#X obj 427 502 constructor 5 5 5 -2 2 -2 2 -2 2 i3D;
-#X obj 70 186 s mass;
-#X obj 354 211 s mass;
-#X obj 141 211 s link;
-#X obj 43 296 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 59 311 iAmbient3D mass 0 0 0 1 1 1;
-#X obj 42 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 43 387 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 42 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 42 482 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X msg 141 187 resetF \, setK 0.1 \, setD 1 \, setD2 1;
-#X text 287 9 interactors on a mass field;
-#X obj 58 497 iSphere3D mass 0 0 0 0.1 5 0 1;
-#X obj 42 528 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 59 402 iCylinder3D mass 1 1 1 0 0 0 0.1 5 0 0 0 0 0 -10 10 0
-0.5;
-#X obj 58 356 iCylinder3D mass 1 1 1 0 0 0 0.1 2 0 2;
-#X obj 58 449 iCircle3D mass 1 1 1 2 2 2 0.1 2 0 0 0 4 0 0.3;
-#X obj 58 543 iPlane3D mass 1 1 1 0 0 0 0 1;
-#X text 28 263 you can test the action of the interactor in a 3D space
-;
-#X text 213 32 this patch allows to see the displacement due to interactors
-in 3D;
-#X obj 426 187 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 442 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 459 234 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 505 169 camera position;
-#X connect 0 0 13 0;
-#X connect 1 0 9 0;
-#X connect 3 0 2 0;
-#X connect 4 0 18 0;
-#X connect 5 0 18 0;
-#X connect 6 0 24 0;
-#X connect 7 0 9 0;
-#X connect 8 0 19 0;
-#X connect 8 2 23 0;
-#X connect 12 0 13 1;
-#X connect 13 0 8 0;
-#X connect 15 0 16 0;
-#X connect 16 0 14 0;
-#X connect 18 0 32 0;
-#X connect 18 1 6 0;
-#X connect 20 0 22 0;
-#X connect 26 0 27 0;
-#X connect 28 0 37 0;
-#X connect 29 0 36 0;
-#X connect 30 0 38 0;
-#X connect 31 0 34 0;
-#X connect 32 0 25 0;
-#X connect 35 0 39 0;
-#X connect 42 0 9 1;
-#X connect 43 0 9 2;
-#X connect 44 0 9 3;
+#N canvas 132 91 740 593 10;
+#X declare -lib Gem;
+#X obj 33 84 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 419 150 0 \, destroy;
+#X obj 431 424 world_light;
+#X obj 431 396 gemhead;
+#X obj 141 110 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 157 136 loadbang;
+#X msg 354 188 reset;
+#X msg 407 125 lighting 1 \, create \, 1;
+#X obj 33 155 t b b b;
+#X obj 407 262 ch_gemwin;
+#X text 167 109 <- reset;
+#X text 63 83 <- begin (change metro speed if to much);
+#X floatatom 76 106 5 0 0 0 - - -;
+#X obj 33 129 metro 40;
+#X obj 511 447 world_light;
+#X obj 511 401 gemhead;
+#X obj 511 423 rotateXYZ 30 150 0;
+#X text 549 125 <- create GEM windows;
+#X obj 141 161 t b b;
+#X obj 33 186 s link;
+#X obj 427 482 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 0 0 967 703 array 0;
+#X obj 860 780 i3D 119 2 1 2;
+#X obj 0 0 i3D 0 -2 -2 -2;
+#X obj 200 0 i3D 1 -1 -2 -2;
+#X obj 400 0 i3D 2 0 -2 -2;
+#X obj 600 0 i3D 3 1 -2 -2;
+#X obj 800 0 i3D 4 2 -2 -2;
+#X obj 20 20 i3D 5 -2 -1 -2;
+#X obj 220 20 i3D 6 -1 -1 -2;
+#X obj 420 20 i3D 7 0 -1 -2;
+#X obj 620 20 i3D 8 1 -1 -2;
+#X obj 820 20 i3D 9 2 -1 -2;
+#X obj 40 40 i3D 10 -2 0 -2;
+#X obj 240 40 i3D 11 -1 0 -2;
+#X obj 440 40 i3D 12 0 0 -2;
+#X obj 640 40 i3D 13 1 0 -2;
+#X obj 840 40 i3D 14 2 0 -2;
+#X obj 60 60 i3D 15 -2 1 -2;
+#X obj 260 60 i3D 16 -1 1 -2;
+#X obj 460 60 i3D 17 0 1 -2;
+#X obj 660 60 i3D 18 1 1 -2;
+#X obj 860 60 i3D 19 2 1 -2;
+#X obj 80 80 i3D 20 -2 2 -2;
+#X obj 280 80 i3D 21 -1 2 -2;
+#X obj 480 80 i3D 22 0 2 -2;
+#X obj 680 80 i3D 23 1 2 -2;
+#X obj 880 80 i3D 24 2 2 -2;
+#X obj 0 180 i3D 25 -2 -2 -1;
+#X obj 200 180 i3D 26 -1 -2 -1;
+#X obj 400 180 i3D 27 0 -2 -1;
+#X obj 600 180 i3D 28 1 -2 -1;
+#X obj 800 180 i3D 29 2 -2 -1;
+#X obj 20 200 i3D 30 -2 -1 -1;
+#X obj 220 200 i3D 31 -1 -1 -1;
+#X obj 420 200 i3D 32 0 -1 -1;
+#X obj 620 200 i3D 33 1 -1 -1;
+#X obj 820 200 i3D 34 2 -1 -1;
+#X obj 40 220 i3D 35 -2 0 -1;
+#X obj 240 220 i3D 36 -1 0 -1;
+#X obj 440 220 i3D 37 0 0 -1;
+#X obj 640 220 i3D 38 1 0 -1;
+#X obj 840 220 i3D 39 2 0 -1;
+#X obj 60 240 i3D 40 -2 1 -1;
+#X obj 260 240 i3D 41 -1 1 -1;
+#X obj 460 240 i3D 42 0 1 -1;
+#X obj 660 240 i3D 43 1 1 -1;
+#X obj 860 240 i3D 44 2 1 -1;
+#X obj 80 260 i3D 45 -2 2 -1;
+#X obj 280 260 i3D 46 -1 2 -1;
+#X obj 480 260 i3D 47 0 2 -1;
+#X obj 680 260 i3D 48 1 2 -1;
+#X obj 880 260 i3D 49 2 2 -1;
+#X obj 0 360 i3D 50 -2 -2 0;
+#X obj 200 360 i3D 51 -1 -2 0;
+#X obj 400 360 i3D 52 0 -2 0;
+#X obj 600 360 i3D 53 1 -2 0;
+#X obj 800 360 i3D 54 2 -2 0;
+#X obj 20 380 i3D 55 -2 -1 0;
+#X obj 220 380 i3D 56 -1 -1 0;
+#X obj 420 380 i3D 57 0 -1 0;
+#X obj 620 380 i3D 58 1 -1 0;
+#X obj 820 380 i3D 59 2 -1 0;
+#X obj 40 400 i3D 60 -2 0 0;
+#X obj 240 400 i3D 61 -1 0 0;
+#X obj 440 400 i3D 62 0 0 0;
+#X obj 640 400 i3D 63 1 0 0;
+#X obj 840 400 i3D 64 2 0 0;
+#X obj 60 420 i3D 65 -2 1 0;
+#X obj 260 420 i3D 66 -1 1 0;
+#X obj 460 420 i3D 67 0 1 0;
+#X obj 660 420 i3D 68 1 1 0;
+#X obj 860 420 i3D 69 2 1 0;
+#X obj 80 440 i3D 70 -2 2 0;
+#X obj 280 440 i3D 71 -1 2 0;
+#X obj 480 440 i3D 72 0 2 0;
+#X obj 680 440 i3D 73 1 2 0;
+#X obj 880 440 i3D 74 2 2 0;
+#X obj 0 540 i3D 75 -2 -2 1;
+#X obj 200 540 i3D 76 -1 -2 1;
+#X obj 400 540 i3D 77 0 -2 1;
+#X obj 600 540 i3D 78 1 -2 1;
+#X obj 800 540 i3D 79 2 -2 1;
+#X obj 20 560 i3D 80 -2 -1 1;
+#X obj 220 560 i3D 81 -1 -1 1;
+#X obj 420 560 i3D 82 0 -1 1;
+#X obj 620 560 i3D 83 1 -1 1;
+#X obj 820 560 i3D 84 2 -1 1;
+#X obj 40 580 i3D 85 -2 0 1;
+#X obj 240 580 i3D 86 -1 0 1;
+#X obj 440 580 i3D 87 0 0 1;
+#X obj 640 580 i3D 88 1 0 1;
+#X obj 840 580 i3D 89 2 0 1;
+#X obj 60 600 i3D 90 -2 1 1;
+#X obj 260 600 i3D 91 -1 1 1;
+#X obj 460 600 i3D 92 0 1 1;
+#X obj 660 600 i3D 93 1 1 1;
+#X obj 860 600 i3D 94 2 1 1;
+#X obj 80 620 i3D 95 -2 2 1;
+#X obj 280 620 i3D 96 -1 2 1;
+#X obj 480 620 i3D 97 0 2 1;
+#X obj 680 620 i3D 98 1 2 1;
+#X obj 880 620 i3D 99 2 2 1;
+#X obj 0 720 i3D 100 -2 -2 2;
+#X obj 200 720 i3D 101 -1 -2 2;
+#X obj 400 720 i3D 102 0 -2 2;
+#X obj 600 720 i3D 103 1 -2 2;
+#X obj 800 720 i3D 104 2 -2 2;
+#X obj 20 740 i3D 105 -2 -1 2;
+#X obj 220 740 i3D 106 -1 -1 2;
+#X obj 420 740 i3D 107 0 -1 2;
+#X obj 620 740 i3D 108 1 -1 2;
+#X obj 820 740 i3D 109 2 -1 2;
+#X obj 40 760 i3D 110 -2 0 2;
+#X obj 240 760 i3D 111 -1 0 2;
+#X obj 440 760 i3D 112 0 0 2;
+#X obj 640 760 i3D 113 1 0 2;
+#X obj 840 760 i3D 114 2 0 2;
+#X obj 60 780 i3D 115 -2 1 2;
+#X obj 260 780 i3D 116 -1 1 2;
+#X obj 460 780 i3D 117 0 1 2;
+#X obj 660 780 i3D 118 1 1 2;
+#X obj 80 800 i3D 120 -2 2 2;
+#X obj 280 800 i3D 121 -1 2 2;
+#X obj 480 800 i3D 122 0 2 2;
+#X obj 680 800 i3D 123 1 2 2;
+#X obj 880 800 i3D 124 2 2 2;
+#X restore 431 448 pd array;
+#X obj 427 502 constructor 5 5 5 -2 2 -2 2 -2 2 i3D;
+#X obj 70 186 s mass;
+#X obj 354 211 s mass;
+#X obj 141 211 s link;
+#X obj 43 296 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 59 311 iAmbient3D mass 0 0 0 1 1 1;
+#X obj 42 341 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 43 387 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 42 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 42 482 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X msg 141 187 resetF \, setK 0.1 \, setD 1 \, setD2 1;
+#X text 287 9 interactors on a mass field;
+#X obj 58 497 iSphere3D mass 0 0 0 0.1 5 0 1;
+#X obj 42 528 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 59 402 iCylinder3D mass 1 1 1 0 0 0 0.1 5 0 0 0 0 0 -10 10 0
+0.5;
+#X obj 58 356 iCylinder3D mass 1 1 1 0 0 0 0.1 2 0 2;
+#X obj 58 449 iCircle3D mass 1 1 1 2 2 2 0.1 2 0 0 0 4 0 0.3;
+#X obj 58 543 iPlane3D mass 1 1 1 0 0 0 0 1;
+#X text 28 263 you can test the action of the interactor in a 3D space
+;
+#X text 213 32 this patch allows to see the displacement due to interactors
+in 3D;
+#X obj 426 187 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 442 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 459 234 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 505 169 camera position;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 13 0;
+#X connect 1 0 9 0;
+#X connect 3 0 2 0;
+#X connect 4 0 18 0;
+#X connect 5 0 18 0;
+#X connect 6 0 24 0;
+#X connect 7 0 9 0;
+#X connect 8 0 19 0;
+#X connect 8 2 23 0;
+#X connect 12 0 13 1;
+#X connect 13 0 8 0;
+#X connect 15 0 16 0;
+#X connect 16 0 14 0;
+#X connect 18 0 32 0;
+#X connect 18 1 6 0;
+#X connect 20 0 22 0;
+#X connect 26 0 27 0;
+#X connect 28 0 37 0;
+#X connect 29 0 36 0;
+#X connect 30 0 38 0;
+#X connect 31 0 34 0;
+#X connect 32 0 25 0;
+#X connect 35 0 39 0;
+#X connect 42 0 9 1;
+#X connect 43 0 9 2;
+#X connect 44 0 9 3;
diff --git a/examples/41_morfing.pd b/examples/41_morfing.pd
index 175b41d..3c77f4d 100644
--- a/examples/41_morfing.pd
+++ b/examples/41_morfing.pd
@@ -1,265 +1,267 @@
-#N canvas 204 50 605 681 10;
-#X obj 34 71 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 153 131 0 \, destroy;
-#X obj 334 481 world_light;
-#X obj 334 453 gemhead;
-#X obj 349 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 365 230 loadbang;
-#X msg 144 109 lighting 1 \, create \, 1;
-#X obj 33 139 t b b b;
-#X obj 144 244 ch_gemwin;
-#X text 375 203 <- reset;
-#X text 64 70 <- begin (change metro speed if to much);
-#X floatatom 77 93 5 0 0 0 - - -;
-#X obj 34 116 metro 40;
-#X obj 414 504 world_light;
-#X obj 414 458 gemhead;
-#X obj 414 480 rotateXYZ 30 150 0;
-#X text 294 108 <- create GEM windows;
-#X obj 334 547 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
-1;
-#N canvas 243 141 997 733 array 0;
-#X obj 220 380 i3D2 56 -1 -1 0;
-#X obj 80 80 i3D2 20 -2 2 -2;
-#X obj 400 360 i3D2 52 0 -2 0;
-#X obj 240 400 i3D2 61 -1 0 0;
-#X obj 20 20 i3D2 5 -2 -1 -2;
-#X obj 600 540 i3D2 78 1 -2 1;
-#X obj 480 440 i3D2 72 0 2 0;
-#X obj 200 180 i3D2 26 -1 -2 -1;
-#X obj 0 0 i3D2 0 -2 -2 -2;
-#X obj 200 0 i3D2 1 -1 -2 -2;
-#X obj 400 0 i3D2 2 0 -2 -2;
-#X obj 600 0 i3D2 3 1 -2 -2;
-#X obj 800 0 i3D2 4 2 -2 -2;
-#X obj 220 20 i3D2 6 -1 -1 -2;
-#X obj 420 20 i3D2 7 0 -1 -2;
-#X obj 620 20 i3D2 8 1 -1 -2;
-#X obj 820 20 i3D2 9 2 -1 -2;
-#X obj 40 40 i3D2 10 -2 0 -2;
-#X obj 240 40 i3D2 11 -1 0 -2;
-#X obj 440 40 i3D2 12 0 0 -2;
-#X obj 640 40 i3D2 13 1 0 -2;
-#X obj 840 40 i3D2 14 2 0 -2;
-#X obj 60 60 i3D2 15 -2 1 -2;
-#X obj 260 60 i3D2 16 -1 1 -2;
-#X obj 460 60 i3D2 17 0 1 -2;
-#X obj 660 60 i3D2 18 1 1 -2;
-#X obj 860 60 i3D2 19 2 1 -2;
-#X obj 280 80 i3D2 21 -1 2 -2;
-#X obj 480 80 i3D2 22 0 2 -2;
-#X obj 680 80 i3D2 23 1 2 -2;
-#X obj 880 80 i3D2 24 2 2 -2;
-#X obj 0 180 i3D2 25 -2 -2 -1;
-#X obj 400 180 i3D2 27 0 -2 -1;
-#X obj 600 180 i3D2 28 1 -2 -1;
-#X obj 800 180 i3D2 29 2 -2 -1;
-#X obj 20 200 i3D2 30 -2 -1 -1;
-#X obj 220 200 i3D2 31 -1 -1 -1;
-#X obj 420 200 i3D2 32 0 -1 -1;
-#X obj 620 200 i3D2 33 1 -1 -1;
-#X obj 820 200 i3D2 34 2 -1 -1;
-#X obj 40 220 i3D2 35 -2 0 -1;
-#X obj 240 220 i3D2 36 -1 0 -1;
-#X obj 440 220 i3D2 37 0 0 -1;
-#X obj 640 220 i3D2 38 1 0 -1;
-#X obj 840 220 i3D2 39 2 0 -1;
-#X obj 60 240 i3D2 40 -2 1 -1;
-#X obj 260 240 i3D2 41 -1 1 -1;
-#X obj 460 240 i3D2 42 0 1 -1;
-#X obj 660 240 i3D2 43 1 1 -1;
-#X obj 860 240 i3D2 44 2 1 -1;
-#X obj 80 260 i3D2 45 -2 2 -1;
-#X obj 280 260 i3D2 46 -1 2 -1;
-#X obj 480 260 i3D2 47 0 2 -1;
-#X obj 680 260 i3D2 48 1 2 -1;
-#X obj 880 260 i3D2 49 2 2 -1;
-#X obj 0 360 i3D2 50 -2 -2 0;
-#X obj 200 360 i3D2 51 -1 -2 0;
-#X obj 600 360 i3D2 53 1 -2 0;
-#X obj 800 360 i3D2 54 2 -2 0;
-#X obj 20 380 i3D2 55 -2 -1 0;
-#X obj 420 380 i3D2 57 0 -1 0;
-#X obj 620 380 i3D2 58 1 -1 0;
-#X obj 820 380 i3D2 59 2 -1 0;
-#X obj 40 400 i3D2 60 -2 0 0;
-#X obj 440 400 i3D2 62 0 0 0;
-#X obj 640 400 i3D2 63 1 0 0;
-#X obj 840 400 i3D2 64 2 0 0;
-#X obj 60 420 i3D2 65 -2 1 0;
-#X obj 260 420 i3D2 66 -1 1 0;
-#X obj 460 420 i3D2 67 0 1 0;
-#X obj 660 420 i3D2 68 1 1 0;
-#X obj 860 420 i3D2 69 2 1 0;
-#X obj 80 440 i3D2 70 -2 2 0;
-#X obj 280 440 i3D2 71 -1 2 0;
-#X obj 680 440 i3D2 73 1 2 0;
-#X obj 880 440 i3D2 74 2 2 0;
-#X obj 0 540 i3D2 75 -2 -2 1;
-#X obj 200 540 i3D2 76 -1 -2 1;
-#X obj 400 540 i3D2 77 0 -2 1;
-#X obj 800 540 i3D2 79 2 -2 1;
-#X obj 20 560 i3D2 80 -2 -1 1;
-#X obj 220 560 i3D2 81 -1 -1 1;
-#X obj 420 560 i3D2 82 0 -1 1;
-#X obj 620 560 i3D2 83 1 -1 1;
-#X obj 820 560 i3D2 84 2 -1 1;
-#X obj 40 580 i3D2 85 -2 0 1;
-#X obj 240 580 i3D2 86 -1 0 1;
-#X obj 440 580 i3D2 87 0 0 1;
-#X obj 640 580 i3D2 88 1 0 1;
-#X obj 840 580 i3D2 89 2 0 1;
-#X obj 60 600 i3D2 90 -2 1 1;
-#X obj 260 600 i3D2 91 -1 1 1;
-#X obj 460 600 i3D2 92 0 1 1;
-#X obj 660 600 i3D2 93 1 1 1;
-#X obj 860 600 i3D2 94 2 1 1;
-#X obj 80 620 i3D2 95 -2 2 1;
-#X obj 280 620 i3D2 96 -1 2 1;
-#X obj 480 620 i3D2 97 0 2 1;
-#X obj 680 620 i3D2 98 1 2 1;
-#X obj 880 620 i3D2 99 2 2 1;
-#X obj 0 720 i3D2 100 -2 -2 2;
-#X obj 200 720 i3D2 101 -1 -2 2;
-#X obj 400 720 i3D2 102 0 -2 2;
-#X obj 600 720 i3D2 103 1 -2 2;
-#X obj 800 720 i3D2 104 2 -2 2;
-#X obj 20 740 i3D2 105 -2 -1 2;
-#X obj 220 740 i3D2 106 -1 -1 2;
-#X obj 420 740 i3D2 107 0 -1 2;
-#X obj 620 740 i3D2 108 1 -1 2;
-#X obj 820 740 i3D2 109 2 -1 2;
-#X obj 40 760 i3D2 110 -2 0 2;
-#X obj 240 760 i3D2 111 -1 0 2;
-#X obj 440 760 i3D2 112 0 0 2;
-#X obj 640 760 i3D2 113 1 0 2;
-#X obj 840 760 i3D2 114 2 0 2;
-#X obj 60 780 i3D2 115 -2 1 2;
-#X obj 260 780 i3D2 116 -1 1 2;
-#X obj 460 780 i3D2 117 0 1 2;
-#X obj 660 780 i3D2 118 1 1 2;
-#X obj 860 780 i3D2 119 2 1 2;
-#X obj 80 800 i3D2 120 -2 2 2;
-#X obj 280 800 i3D2 121 -1 2 2;
-#X obj 480 800 i3D2 122 0 2 2;
-#X obj 680 800 i3D2 123 1 2 2;
-#X obj 880 800 i3D2 124 2 2 2;
-#X restore 334 505 pd array;
-#X obj 71 173 s mass;
-#X obj 349 351 s mass;
-#X obj 334 567 constructor 5 5 5 -2 2 -2 2 -2 2 i3D2;
-#X obj 366 307 s link1;
-#X obj 414 307 s link2;
-#X obj 39 652 s link1;
-#X msg 39 626 setK \$1;
-#X floatatom 39 605 5 0 0 0 - - -;
-#X msg 95 627 setK \$1;
-#X floatatom 95 606 5 0 0 0 - - -;
-#X obj 95 653 s link2;
-#X obj 29 208 s link1;
-#X obj 38 230 s link2;
-#X msg 157 627 setK \$1;
-#X floatatom 157 606 5 0 0 0 - - -;
-#X msg 213 628 setK \$1;
-#X floatatom 213 607 5 0 0 0 - - -;
-#X obj 461 307 s link3;
-#X obj 511 307 s link4;
-#X obj 157 653 s link3;
-#X obj 213 654 s link4;
-#X obj 49 252 s link3;
-#X obj 58 274 s link4;
-#X obj 39 577 unpack f f f f;
-#X msg 48 321 1 0 0 0;
-#X msg 68 366 0 1 0 0;
-#X msg 39 300 0 0 1 0;
-#X msg 59 342 0 0 0 1;
-#X msg 349 328 resetF;
-#X msg 365 279 setK 0 \, setD 1 \, setD2 1 \, resetF \, bang;
-#X msg 91 413 0 1 0 1;
-#X msg 101 435 0 0 0.1 3;
-#X obj 349 255 t b b b;
-#X msg 395 329 reset;
-#X msg 113 455 2 3 0 3;
-#X msg 81 390 0.1 0 0 0.1;
-#X text 301 6 morfing;
-#X text 128 21 each masss are link to 4 diferents point \, among diferents
-shapes. depending of the rigidity of the link \, the diferents shapes
-an be show;
-#X text 220 379 <- select diferents rigidity (and diferents shape)
-;
-#X obj 163 166 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 179 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 196 213 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 242 148 camera position;
-#X obj 125 549 pack f f f f;
-#X floatatom 125 497 5 0 0 0 - - -;
-#X floatatom 160 497 5 0 0 0 - - -;
-#X floatatom 195 497 5 0 0 0 - - -;
-#X floatatom 230 498 5 0 0 0 - - -;
-#X obj 160 517 t b f;
-#X obj 195 517 t b f;
-#X obj 230 517 t b f;
-#X connect 0 0 12 0;
-#X connect 1 0 8 0;
-#X connect 3 0 2 0;
-#X connect 4 0 51 0;
-#X connect 5 0 51 0;
-#X connect 6 0 8 0;
-#X connect 7 0 30 0;
-#X connect 7 0 31 0;
-#X connect 7 0 40 0;
-#X connect 7 0 41 0;
-#X connect 7 2 19 0;
-#X connect 11 0 12 1;
-#X connect 12 0 7 0;
-#X connect 14 0 15 0;
-#X connect 15 0 13 0;
-#X connect 17 0 21 0;
-#X connect 25 0 24 0;
-#X connect 26 0 25 0;
-#X connect 27 0 29 0;
-#X connect 28 0 27 0;
-#X connect 32 0 38 0;
-#X connect 33 0 32 0;
-#X connect 34 0 39 0;
-#X connect 35 0 34 0;
-#X connect 42 0 26 0;
-#X connect 42 1 28 0;
-#X connect 42 2 33 0;
-#X connect 42 3 35 0;
-#X connect 43 0 42 0;
-#X connect 44 0 42 0;
-#X connect 45 0 42 0;
-#X connect 46 0 42 0;
-#X connect 47 0 20 0;
-#X connect 48 0 22 0;
-#X connect 48 0 23 0;
-#X connect 48 0 36 0;
-#X connect 48 0 37 0;
-#X connect 49 0 42 0;
-#X connect 50 0 42 0;
-#X connect 51 0 47 0;
-#X connect 51 1 48 0;
-#X connect 51 2 52 0;
-#X connect 52 0 20 0;
-#X connect 53 0 42 0;
-#X connect 54 0 42 0;
-#X connect 58 0 8 1;
-#X connect 59 0 8 2;
-#X connect 60 0 8 3;
-#X connect 62 0 42 0;
-#X connect 63 0 62 0;
-#X connect 64 0 67 0;
-#X connect 65 0 68 0;
-#X connect 66 0 69 0;
-#X connect 67 0 62 0;
-#X connect 67 1 62 1;
-#X connect 68 0 62 0;
-#X connect 68 1 62 2;
-#X connect 69 0 62 0;
-#X connect 69 1 62 3;
+#N canvas 200 91 605 681 10;
+#X declare -lib Gem;
+#X obj 34 71 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 153 131 0 \, destroy;
+#X obj 334 481 world_light;
+#X obj 334 453 gemhead;
+#X obj 349 204 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 365 230 loadbang;
+#X msg 144 109 lighting 1 \, create \, 1;
+#X obj 33 139 t b b b;
+#X obj 144 244 ch_gemwin;
+#X text 375 203 <- reset;
+#X text 64 70 <- begin (change metro speed if to much);
+#X floatatom 77 93 5 0 0 0 - - -;
+#X obj 34 116 metro 40;
+#X obj 414 504 world_light;
+#X obj 414 458 gemhead;
+#X obj 414 480 rotateXYZ 30 150 0;
+#X text 294 108 <- create GEM windows;
+#X obj 334 547 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0
+1;
+#N canvas 243 141 997 733 array 0;
+#X obj 220 380 i3D2 56 -1 -1 0;
+#X obj 80 80 i3D2 20 -2 2 -2;
+#X obj 400 360 i3D2 52 0 -2 0;
+#X obj 240 400 i3D2 61 -1 0 0;
+#X obj 20 20 i3D2 5 -2 -1 -2;
+#X obj 600 540 i3D2 78 1 -2 1;
+#X obj 480 440 i3D2 72 0 2 0;
+#X obj 200 180 i3D2 26 -1 -2 -1;
+#X obj 0 0 i3D2 0 -2 -2 -2;
+#X obj 200 0 i3D2 1 -1 -2 -2;
+#X obj 400 0 i3D2 2 0 -2 -2;
+#X obj 600 0 i3D2 3 1 -2 -2;
+#X obj 800 0 i3D2 4 2 -2 -2;
+#X obj 220 20 i3D2 6 -1 -1 -2;
+#X obj 420 20 i3D2 7 0 -1 -2;
+#X obj 620 20 i3D2 8 1 -1 -2;
+#X obj 820 20 i3D2 9 2 -1 -2;
+#X obj 40 40 i3D2 10 -2 0 -2;
+#X obj 240 40 i3D2 11 -1 0 -2;
+#X obj 440 40 i3D2 12 0 0 -2;
+#X obj 640 40 i3D2 13 1 0 -2;
+#X obj 840 40 i3D2 14 2 0 -2;
+#X obj 60 60 i3D2 15 -2 1 -2;
+#X obj 260 60 i3D2 16 -1 1 -2;
+#X obj 460 60 i3D2 17 0 1 -2;
+#X obj 660 60 i3D2 18 1 1 -2;
+#X obj 860 60 i3D2 19 2 1 -2;
+#X obj 280 80 i3D2 21 -1 2 -2;
+#X obj 480 80 i3D2 22 0 2 -2;
+#X obj 680 80 i3D2 23 1 2 -2;
+#X obj 880 80 i3D2 24 2 2 -2;
+#X obj 0 180 i3D2 25 -2 -2 -1;
+#X obj 400 180 i3D2 27 0 -2 -1;
+#X obj 600 180 i3D2 28 1 -2 -1;
+#X obj 800 180 i3D2 29 2 -2 -1;
+#X obj 20 200 i3D2 30 -2 -1 -1;
+#X obj 220 200 i3D2 31 -1 -1 -1;
+#X obj 420 200 i3D2 32 0 -1 -1;
+#X obj 620 200 i3D2 33 1 -1 -1;
+#X obj 820 200 i3D2 34 2 -1 -1;
+#X obj 40 220 i3D2 35 -2 0 -1;
+#X obj 240 220 i3D2 36 -1 0 -1;
+#X obj 440 220 i3D2 37 0 0 -1;
+#X obj 640 220 i3D2 38 1 0 -1;
+#X obj 840 220 i3D2 39 2 0 -1;
+#X obj 60 240 i3D2 40 -2 1 -1;
+#X obj 260 240 i3D2 41 -1 1 -1;
+#X obj 460 240 i3D2 42 0 1 -1;
+#X obj 660 240 i3D2 43 1 1 -1;
+#X obj 860 240 i3D2 44 2 1 -1;
+#X obj 80 260 i3D2 45 -2 2 -1;
+#X obj 280 260 i3D2 46 -1 2 -1;
+#X obj 480 260 i3D2 47 0 2 -1;
+#X obj 680 260 i3D2 48 1 2 -1;
+#X obj 880 260 i3D2 49 2 2 -1;
+#X obj 0 360 i3D2 50 -2 -2 0;
+#X obj 200 360 i3D2 51 -1 -2 0;
+#X obj 600 360 i3D2 53 1 -2 0;
+#X obj 800 360 i3D2 54 2 -2 0;
+#X obj 20 380 i3D2 55 -2 -1 0;
+#X obj 420 380 i3D2 57 0 -1 0;
+#X obj 620 380 i3D2 58 1 -1 0;
+#X obj 820 380 i3D2 59 2 -1 0;
+#X obj 40 400 i3D2 60 -2 0 0;
+#X obj 440 400 i3D2 62 0 0 0;
+#X obj 640 400 i3D2 63 1 0 0;
+#X obj 840 400 i3D2 64 2 0 0;
+#X obj 60 420 i3D2 65 -2 1 0;
+#X obj 260 420 i3D2 66 -1 1 0;
+#X obj 460 420 i3D2 67 0 1 0;
+#X obj 660 420 i3D2 68 1 1 0;
+#X obj 860 420 i3D2 69 2 1 0;
+#X obj 80 440 i3D2 70 -2 2 0;
+#X obj 280 440 i3D2 71 -1 2 0;
+#X obj 680 440 i3D2 73 1 2 0;
+#X obj 880 440 i3D2 74 2 2 0;
+#X obj 0 540 i3D2 75 -2 -2 1;
+#X obj 200 540 i3D2 76 -1 -2 1;
+#X obj 400 540 i3D2 77 0 -2 1;
+#X obj 800 540 i3D2 79 2 -2 1;
+#X obj 20 560 i3D2 80 -2 -1 1;
+#X obj 220 560 i3D2 81 -1 -1 1;
+#X obj 420 560 i3D2 82 0 -1 1;
+#X obj 620 560 i3D2 83 1 -1 1;
+#X obj 820 560 i3D2 84 2 -1 1;
+#X obj 40 580 i3D2 85 -2 0 1;
+#X obj 240 580 i3D2 86 -1 0 1;
+#X obj 440 580 i3D2 87 0 0 1;
+#X obj 640 580 i3D2 88 1 0 1;
+#X obj 840 580 i3D2 89 2 0 1;
+#X obj 60 600 i3D2 90 -2 1 1;
+#X obj 260 600 i3D2 91 -1 1 1;
+#X obj 460 600 i3D2 92 0 1 1;
+#X obj 660 600 i3D2 93 1 1 1;
+#X obj 860 600 i3D2 94 2 1 1;
+#X obj 80 620 i3D2 95 -2 2 1;
+#X obj 280 620 i3D2 96 -1 2 1;
+#X obj 480 620 i3D2 97 0 2 1;
+#X obj 680 620 i3D2 98 1 2 1;
+#X obj 880 620 i3D2 99 2 2 1;
+#X obj 0 720 i3D2 100 -2 -2 2;
+#X obj 200 720 i3D2 101 -1 -2 2;
+#X obj 400 720 i3D2 102 0 -2 2;
+#X obj 600 720 i3D2 103 1 -2 2;
+#X obj 800 720 i3D2 104 2 -2 2;
+#X obj 20 740 i3D2 105 -2 -1 2;
+#X obj 220 740 i3D2 106 -1 -1 2;
+#X obj 420 740 i3D2 107 0 -1 2;
+#X obj 620 740 i3D2 108 1 -1 2;
+#X obj 820 740 i3D2 109 2 -1 2;
+#X obj 40 760 i3D2 110 -2 0 2;
+#X obj 240 760 i3D2 111 -1 0 2;
+#X obj 440 760 i3D2 112 0 0 2;
+#X obj 640 760 i3D2 113 1 0 2;
+#X obj 840 760 i3D2 114 2 0 2;
+#X obj 60 780 i3D2 115 -2 1 2;
+#X obj 260 780 i3D2 116 -1 1 2;
+#X obj 460 780 i3D2 117 0 1 2;
+#X obj 660 780 i3D2 118 1 1 2;
+#X obj 860 780 i3D2 119 2 1 2;
+#X obj 80 800 i3D2 120 -2 2 2;
+#X obj 280 800 i3D2 121 -1 2 2;
+#X obj 480 800 i3D2 122 0 2 2;
+#X obj 680 800 i3D2 123 1 2 2;
+#X obj 880 800 i3D2 124 2 2 2;
+#X restore 334 505 pd array;
+#X obj 71 173 s mass;
+#X obj 349 351 s mass;
+#X obj 334 567 constructor 5 5 5 -2 2 -2 2 -2 2 i3D2;
+#X obj 366 307 s link1;
+#X obj 414 307 s link2;
+#X obj 39 652 s link1;
+#X msg 39 626 setK \$1;
+#X floatatom 39 605 5 0 0 0 - - -;
+#X msg 95 627 setK \$1;
+#X floatatom 95 606 5 0 0 0 - - -;
+#X obj 95 653 s link2;
+#X obj 29 208 s link1;
+#X obj 38 230 s link2;
+#X msg 157 627 setK \$1;
+#X floatatom 157 606 5 0 0 0 - - -;
+#X msg 213 628 setK \$1;
+#X floatatom 213 607 5 0 0 0 - - -;
+#X obj 461 307 s link3;
+#X obj 511 307 s link4;
+#X obj 157 653 s link3;
+#X obj 213 654 s link4;
+#X obj 49 252 s link3;
+#X obj 58 274 s link4;
+#X obj 39 577 unpack f f f f;
+#X msg 48 321 1 0 0 0;
+#X msg 68 366 0 1 0 0;
+#X msg 39 300 0 0 1 0;
+#X msg 59 342 0 0 0 1;
+#X msg 349 328 resetF;
+#X msg 365 279 setK 0 \, setD 1 \, setD2 1 \, resetF \, bang;
+#X msg 91 413 0 1 0 1;
+#X msg 101 435 0 0 0.1 3;
+#X obj 349 255 t b b b;
+#X msg 395 329 reset;
+#X msg 113 455 2 3 0 3;
+#X msg 81 390 0.1 0 0 0.1;
+#X text 301 6 morfing;
+#X text 128 21 each masss are link to 4 diferents point \, among diferents
+shapes. depending of the rigidity of the link \, the diferents shapes
+an be show;
+#X text 220 379 <- select diferents rigidity (and diferents shape)
+;
+#X obj 163 166 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 179 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 196 213 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 242 148 camera position;
+#X obj 125 549 pack f f f f;
+#X floatatom 125 497 5 0 0 0 - - -;
+#X floatatom 160 497 5 0 0 0 - - -;
+#X floatatom 195 497 5 0 0 0 - - -;
+#X floatatom 230 498 5 0 0 0 - - -;
+#X obj 160 517 t b f;
+#X obj 195 517 t b f;
+#X obj 230 517 t b f;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 12 0;
+#X connect 1 0 8 0;
+#X connect 3 0 2 0;
+#X connect 4 0 51 0;
+#X connect 5 0 51 0;
+#X connect 6 0 8 0;
+#X connect 7 0 30 0;
+#X connect 7 0 31 0;
+#X connect 7 0 40 0;
+#X connect 7 0 41 0;
+#X connect 7 2 19 0;
+#X connect 11 0 12 1;
+#X connect 12 0 7 0;
+#X connect 14 0 15 0;
+#X connect 15 0 13 0;
+#X connect 17 0 21 0;
+#X connect 25 0 24 0;
+#X connect 26 0 25 0;
+#X connect 27 0 29 0;
+#X connect 28 0 27 0;
+#X connect 32 0 38 0;
+#X connect 33 0 32 0;
+#X connect 34 0 39 0;
+#X connect 35 0 34 0;
+#X connect 42 0 26 0;
+#X connect 42 1 28 0;
+#X connect 42 2 33 0;
+#X connect 42 3 35 0;
+#X connect 43 0 42 0;
+#X connect 44 0 42 0;
+#X connect 45 0 42 0;
+#X connect 46 0 42 0;
+#X connect 47 0 20 0;
+#X connect 48 0 22 0;
+#X connect 48 0 23 0;
+#X connect 48 0 36 0;
+#X connect 48 0 37 0;
+#X connect 49 0 42 0;
+#X connect 50 0 42 0;
+#X connect 51 0 47 0;
+#X connect 51 1 48 0;
+#X connect 51 2 52 0;
+#X connect 52 0 20 0;
+#X connect 53 0 42 0;
+#X connect 54 0 42 0;
+#X connect 58 0 8 1;
+#X connect 59 0 8 2;
+#X connect 60 0 8 3;
+#X connect 62 0 42 0;
+#X connect 63 0 62 0;
+#X connect 64 0 67 0;
+#X connect 65 0 68 0;
+#X connect 66 0 69 0;
+#X connect 67 0 62 0;
+#X connect 67 1 62 1;
+#X connect 68 0 62 0;
+#X connect 68 1 62 2;
+#X connect 69 0 62 0;
+#X connect 69 1 62 3;
diff --git a/examples/42_tentacule.pd b/examples/42_tentacule.pd
index 03bf052..7c2f8a6 100644
--- a/examples/42_tentacule.pd
+++ b/examples/42_tentacule.pd
@@ -1,453 +1,455 @@
-#N canvas 165 113 638 442 10;
-#N canvas 20 38 1340 956 tentacule 0;
-#X obj 482 749 gemhead;
-#X obj 114 173 mass3D M 1 1 -0.6 0;
-#X obj 277 123 mass3D M 1 0 -0.6 0;
-#X obj 364 170 mass3D M 1 -1 -0.6 0;
-#X obj 283 231 mass3D M 1 0 1.13 0;
-#X obj 115 402 mass3D M 1 1 -0.6 1;
-#X obj 305 370 mass3D M 1 0 -0.6 1;
-#X obj 414 402 mass3D M 1 -1 -0.6 1;
-#X obj 310 479 mass3D M 1 0 1.13 1;
-#X obj 351 448 link3D L 0 1;
-#X obj 245 446 link3D L 0 1;
-#X obj 250 400 link3D L 0 1;
-#X obj 324 401 link3D L 0 1;
-#X obj 348 336 link3D L2 0 1;
-#X obj 280 309 link3D L2 0 1;
-#X obj 263 247 link3D L2 0 1;
-#X obj 179 332 link3D L2 0 1;
-#X obj 77 266 link3D L2 0 1;
-#X obj 175 253 link3D L2 0 1;
-#X obj 354 258 link3D L2 0 1;
-#X obj 395 298 link3D L2 0 1;
-#X obj 306 201 link3D L 0 1;
-#X obj 218 198 link3D L 0 1;
-#X obj 222 152 link3D L 0 1;
-#X obj 297 152 link3D L 0 1;
-#X obj 838 302 link3D L2 0 1;
-#X obj 906 268 link3D L2 0 1;
-#X obj 1026 212 link3D L 0 1;
-#X obj 949 213 link3D L 0 1;
-#X obj 953 167 link3D L 0 1;
-#X obj 1028 167 link3D L 0 1;
-#X obj 696 325 link3D L2 0 1;
-#X obj 617 379 link3D L2 0 1;
-#X obj 618 175 link3D L2 0 1;
-#X obj 588 296 link3D L2 0 1;
-#X obj 496 245 link3D L2 0 1;
-#X obj 575 217 link3D L2 0 1;
-#X obj 750 232 link3D L2 0 1;
-#X obj 770 269 link3D L2 0 1;
-#X obj 287 44 link3D L 0 1;
-#X obj 431 96 link3D L 0 1;
-#X obj 506 147 link3D L 0 1;
-#X obj 84 119 link3D L 0 1;
-#X msg 88 91 position3D 1 -0.6 0;
-#X msg 529 29 position3D -1 -0.6 0;
-#X msg 577 122 position3D 0 1.13 0;
-#X msg 301 16 position3D 0 -0.6 0;
-#X obj 722 46 r M2;
-#X obj 722 72 route reset;
-#X obj 1003 361 link3D L3 0 1;
-#X obj 1051 316 link3D L3 0 1;
-#X obj 1108 283 link3D L3 0 1;
-#X obj 991 405 link3D L3 0 1;
-#X obj 1209 370 r M2;
-#X obj 1109 190 mass3D M 1 -0.5 -0.3 1.5;
-#X obj 1009 138 mass3D M 1 0 -0.3 1.5;
-#X obj 822 188 mass3D M 1 0.5 -0.3 1.5;
-#X obj 984 274 mass3D M 1 0 0.58 1.5;
-#X obj 465 776 curve3d 5 5;
-#X msg 198 573 set 0 1 \$1 \$2 \$3;
-#X msg 218 604 set 1 1 \$1 \$2 \$3;
-#X msg 239 621 set 2 1 \$1 \$2 \$3;
-#X msg 261 644 set 3 1 \$1 \$2 \$3;
-#X msg 278 666 set 4 1 \$1 \$2 \$3;
-#X msg 395 580 set 0 2 \$1 \$2 \$3;
-#X msg 417 606 set 1 2 \$1 \$2 \$3;
-#X msg 436 628 set 2 2 \$1 \$2 \$3;
-#X msg 458 651 set 3 2 \$1 \$2 \$3;
-#X msg 475 673 set 4 2 \$1 \$2 \$3;
-#X msg 666 580 set 0 3 \$1 \$2 \$3;
-#X msg 686 611 set 1 3 \$1 \$2 \$3;
-#X msg 706 628 set 2 3 \$1 \$2 \$3;
-#X msg 730 651 set 3 3 \$1 \$2 \$3;
-#X msg 746 673 set 4 3 \$1 \$2 \$3;
-#X msg 863 587 set 0 4 \$1 \$2 \$3;
-#X msg 884 613 set 1 4 \$1 \$2 \$3;
-#X msg 903 635 set 2 4 \$1 \$2 \$3;
-#X msg 926 658 set 3 4 \$1 \$2 \$3;
-#X msg 944 681 set 4 4 \$1 \$2 \$3;
-#X obj 43 568 loadbang;
-#X msg 88 649 set 2 0 0 -0.3 0;
-#X msg 106 687 set 3 0 0 -0.3 0;
-#X msg 53 596 set 0 0 0 -0.3 0;
-#X msg 70 628 set 1 0 0 -0.3 0;
-#X msg 123 709 set 4 0 0 -0.3 0;
-#X obj 1152 421 mass3D M 4 0 0 2;
-#X msg 6 64 setM \$1;
-#X obj 4 40 inlet;
-#X msg 148 42 setM \$1;
-#X obj 146 18 inlet;
-#X obj 836 40 inlet;
-#X connect 0 0 58 0;
-#X connect 1 0 13 0;
-#X connect 1 0 17 1;
-#X connect 1 0 22 0;
-#X connect 1 0 23 0;
-#X connect 1 0 62 0;
-#X connect 1 0 42 1;
-#X connect 2 0 15 0;
-#X connect 2 0 18 1;
-#X connect 2 0 23 1;
-#X connect 2 0 24 0;
-#X connect 2 0 59 0;
-#X connect 2 0 63 0;
-#X connect 2 0 39 0;
-#X connect 3 0 16 1;
-#X connect 3 0 20 0;
-#X connect 3 0 21 1;
-#X connect 3 0 24 1;
-#X connect 3 0 60 0;
-#X connect 3 0 40 0;
-#X connect 4 0 14 0;
-#X connect 4 0 19 0;
-#X connect 4 0 21 0;
-#X connect 4 0 22 1;
-#X connect 4 0 61 0;
-#X connect 4 0 41 0;
-#X connect 5 0 10 0;
-#X connect 5 0 11 0;
-#X connect 5 0 16 0;
-#X connect 5 0 17 0;
-#X connect 5 0 67 0;
-#X connect 5 0 35 0;
-#X connect 5 0 34 0;
-#X connect 6 0 11 1;
-#X connect 6 0 12 0;
-#X connect 6 0 15 1;
-#X connect 6 0 19 1;
-#X connect 6 0 64 0;
-#X connect 6 0 68 0;
-#X connect 6 0 33 0;
-#X connect 6 0 31 0;
-#X connect 7 0 9 1;
-#X connect 7 0 12 1;
-#X connect 7 0 13 1;
-#X connect 7 0 20 1;
-#X connect 7 0 65 0;
-#X connect 7 0 38 0;
-#X connect 7 0 36 0;
-#X connect 8 0 9 0;
-#X connect 8 0 10 1;
-#X connect 8 0 14 1;
-#X connect 8 0 18 0;
-#X connect 8 0 66 0;
-#X connect 8 0 32 0;
-#X connect 8 0 37 1;
-#X connect 9 0 8 0;
-#X connect 9 1 7 0;
-#X connect 10 0 5 0;
-#X connect 10 1 8 0;
-#X connect 11 0 5 0;
-#X connect 11 1 6 0;
-#X connect 12 0 6 0;
-#X connect 12 1 7 0;
-#X connect 13 0 1 0;
-#X connect 13 1 7 0;
-#X connect 14 0 4 0;
-#X connect 14 1 8 0;
-#X connect 15 0 2 0;
-#X connect 15 1 6 0;
-#X connect 16 0 5 0;
-#X connect 16 1 3 0;
-#X connect 17 0 5 0;
-#X connect 17 1 1 0;
-#X connect 18 0 8 0;
-#X connect 18 1 2 0;
-#X connect 19 0 4 0;
-#X connect 19 1 6 0;
-#X connect 20 0 3 0;
-#X connect 20 1 7 0;
-#X connect 21 0 4 0;
-#X connect 21 1 3 0;
-#X connect 22 0 1 0;
-#X connect 22 1 4 0;
-#X connect 23 0 1 0;
-#X connect 23 1 2 0;
-#X connect 24 0 2 0;
-#X connect 24 1 3 0;
-#X connect 25 1 56 0;
-#X connect 26 1 55 0;
-#X connect 27 0 57 0;
-#X connect 27 1 54 0;
-#X connect 28 0 56 0;
-#X connect 28 1 57 0;
-#X connect 29 0 56 0;
-#X connect 29 1 55 0;
-#X connect 30 0 55 0;
-#X connect 30 1 54 0;
-#X connect 31 0 6 0;
-#X connect 31 1 57 0;
-#X connect 32 0 8 0;
-#X connect 32 1 57 0;
-#X connect 33 0 6 0;
-#X connect 33 1 55 0;
-#X connect 34 0 5 0;
-#X connect 34 1 54 0;
-#X connect 35 0 5 0;
-#X connect 35 1 56 0;
-#X connect 36 0 7 0;
-#X connect 36 1 56 0;
-#X connect 37 0 55 0;
-#X connect 37 1 8 0;
-#X connect 38 0 7 0;
-#X connect 38 1 54 0;
-#X connect 39 0 2 0;
-#X connect 40 0 3 0;
-#X connect 41 0 4 0;
-#X connect 42 1 1 0;
-#X connect 43 0 42 0;
-#X connect 44 0 40 1;
-#X connect 45 0 41 1;
-#X connect 46 0 39 1;
-#X connect 47 0 48 0;
-#X connect 48 0 44 0;
-#X connect 48 0 45 0;
-#X connect 48 0 46 0;
-#X connect 48 0 43 0;
-#X connect 49 0 55 0;
-#X connect 49 1 85 0;
-#X connect 50 0 54 0;
-#X connect 50 1 85 0;
-#X connect 51 0 57 0;
-#X connect 51 1 85 0;
-#X connect 52 0 56 0;
-#X connect 52 1 85 0;
-#X connect 53 0 85 0;
-#X connect 54 0 27 1;
-#X connect 54 0 30 1;
-#X connect 54 0 70 0;
-#X connect 54 0 38 1;
-#X connect 54 0 34 1;
-#X connect 54 0 50 0;
-#X connect 55 0 26 1;
-#X connect 55 0 29 1;
-#X connect 55 0 30 0;
-#X connect 55 0 69 0;
-#X connect 55 0 73 0;
-#X connect 55 0 33 1;
-#X connect 55 0 37 0;
-#X connect 55 0 49 0;
-#X connect 56 0 25 1;
-#X connect 56 0 28 0;
-#X connect 56 0 29 0;
-#X connect 56 0 72 0;
-#X connect 56 0 35 1;
-#X connect 56 0 36 1;
-#X connect 56 0 52 0;
-#X connect 57 0 27 0;
-#X connect 57 0 28 1;
-#X connect 57 0 71 0;
-#X connect 57 0 32 1;
-#X connect 57 0 31 1;
-#X connect 57 0 51 0;
-#X connect 59 0 58 0;
-#X connect 60 0 58 0;
-#X connect 61 0 58 0;
-#X connect 62 0 58 0;
-#X connect 63 0 58 0;
-#X connect 64 0 58 0;
-#X connect 65 0 58 0;
-#X connect 66 0 58 0;
-#X connect 67 0 58 0;
-#X connect 68 0 58 0;
-#X connect 69 0 58 0;
-#X connect 70 0 58 0;
-#X connect 71 0 58 0;
-#X connect 72 0 58 0;
-#X connect 73 0 58 0;
-#X connect 74 0 58 0;
-#X connect 75 0 58 0;
-#X connect 76 0 58 0;
-#X connect 77 0 58 0;
-#X connect 78 0 58 0;
-#X connect 79 0 82 0;
-#X connect 79 0 83 0;
-#X connect 79 0 80 0;
-#X connect 79 0 81 0;
-#X connect 79 0 84 0;
-#X connect 80 0 58 0;
-#X connect 81 0 58 0;
-#X connect 82 0 58 0;
-#X connect 83 0 58 0;
-#X connect 84 0 58 0;
-#X connect 85 0 74 0;
-#X connect 85 0 78 0;
-#X connect 85 0 49 1;
-#X connect 85 0 50 1;
-#X connect 85 0 51 1;
-#X connect 85 0 52 1;
-#X connect 85 0 75 0;
-#X connect 85 0 76 0;
-#X connect 85 0 77 0;
-#X connect 86 0 17 0;
-#X connect 86 0 35 0;
-#X connect 86 0 52 0;
-#X connect 87 0 86 0;
-#X connect 88 0 15 0;
-#X connect 88 0 33 0;
-#X connect 88 0 49 0;
-#X connect 89 0 88 0;
-#X connect 90 0 58 0;
-#X restore 51 405 pd tentacule;
-#X msg 17 56 create \, 1;
-#X msg 27 77 0 \, destroy;
-#X msg 36 121 lighting 1;
-#X obj 367 144 t b b;
-#X obj 392 169 s M;
-#X obj 398 201 s L;
-#X obj 380 220 s L2;
-#X obj 480 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 500 143 t b b b;
-#X obj 566 213 s M;
-#X msg 566 190 reset;
-#X obj 528 222 s L;
-#X obj 510 241 s L2;
-#X msg 518 188 resetL;
-#X msg 500 167 resetF;
-#X obj 593 214 s M2;
-#X obj 500 263 s L3;
-#X obj 367 242 s L3;
-#X obj 17 238 ch_gemwin 50;
-#X obj 367 120 gemhead;
-#X obj 121 309 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 121 333 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 51 359 / 150;
-#X obj 84 359 / 150;
-#X obj 84 383 + 0.6;
-#X obj 51 383 + 0.6;
-#X msg 136 356 draw control_line;
-#X msg 136 385 draw fill;
-#X obj 36 98 loadbang;
-#N canvas 0 0 452 302 light 0;
-#X obj 43 70 gemhead;
-#X obj 43 114 world_light;
-#X obj 43 25 gemhead;
-#X obj 43 49 world_light;
-#X obj 43 92 rotateXYZ 230 0 80;
-#X connect 0 0 4 0;
-#X connect 2 0 3 0;
-#X connect 4 0 1 0;
-#X restore 272 222 pd light;
-#X obj 500 119 loadbang;
-#N canvas 0 0 547 274 init 0;
-#X obj 11 125 s M;
-#X msg 11 102 setM \$1;
-#X msg 17 58 13;
-#X msg 91 109 setD \$1;
-#X obj 91 138 s L;
-#X floatatom 90 86 5 0 0 0 - - -;
-#X obj 153 137 s L;
-#X floatatom 152 85 5 0 0 0 - - -;
-#X msg 153 108 setK \$1;
-#X msg 93 59 2;
-#X msg 216 109 setD \$1;
-#X floatatom 215 86 5 0 0 0 - - -;
-#X floatatom 277 85 5 0 0 0 - - -;
-#X msg 278 108 setK \$1;
-#X msg 218 59 2;
-#X obj 216 138 s L2;
-#X obj 278 137 s L2;
-#X msg 165 55 5;
-#X msg 290 55 0.7;
-#X msg 343 108 setD \$1;
-#X floatatom 342 85 5 0 0 0 - - -;
-#X floatatom 416 89 5 0 0 0 - - -;
-#X msg 417 112 setK \$1;
-#X obj 343 137 s L3;
-#X obj 417 141 s L3;
-#X msg 429 59 1;
-#X msg 345 58 3;
-#X obj 84 -14 loadbang;
-#X floatatom 9 79 5 0 0 0 - - -;
-#X connect 1 0 0 0;
-#X connect 2 0 1 0;
-#X connect 3 0 4 0;
-#X connect 5 0 3 0;
-#X connect 7 0 8 0;
-#X connect 8 0 6 0;
-#X connect 9 0 3 0;
-#X connect 10 0 15 0;
-#X connect 11 0 10 0;
-#X connect 12 0 13 0;
-#X connect 13 0 16 0;
-#X connect 14 0 10 0;
-#X connect 17 0 8 0;
-#X connect 18 0 13 0;
-#X connect 19 0 23 0;
-#X connect 20 0 19 0;
-#X connect 21 0 22 0;
-#X connect 22 0 24 0;
-#X connect 25 0 22 0;
-#X connect 26 0 19 0;
-#X connect 27 0 9 0;
-#X connect 27 0 17 0;
-#X connect 27 0 14 0;
-#X connect 27 0 18 0;
-#X connect 27 0 26 0;
-#X connect 27 0 25 0;
-#X connect 27 0 2 0;
-#X connect 28 0 1 0;
-#X restore 272 247 pd init;
-#X text 522 98 <- reset;
-#X text 280 319 <- change lenght of some link to distord the structure
-;
-#X text 283 10 muscle exemples;
-#X text 158 26 you can change the lengh of some like to distord the
-structure;
-#X obj 42 154 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 64 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 87 201 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 129 136 camera position;
-#X connect 1 0 19 0;
-#X connect 2 0 19 0;
-#X connect 3 0 19 0;
-#X connect 4 0 6 0;
-#X connect 4 0 7 0;
-#X connect 4 0 18 0;
-#X connect 4 1 5 0;
-#X connect 8 0 9 0;
-#X connect 9 0 15 0;
-#X connect 9 1 14 0;
-#X connect 9 2 11 0;
-#X connect 11 0 10 0;
-#X connect 11 0 16 0;
-#X connect 14 0 12 0;
-#X connect 14 0 13 0;
-#X connect 14 0 17 0;
-#X connect 15 0 10 0;
-#X connect 15 0 13 0;
-#X connect 15 0 12 0;
-#X connect 15 0 17 0;
-#X connect 20 0 4 0;
-#X connect 21 0 23 0;
-#X connect 22 0 24 0;
-#X connect 23 0 26 0;
-#X connect 24 0 25 0;
-#X connect 25 0 0 1;
-#X connect 26 0 0 0;
-#X connect 27 0 0 2;
-#X connect 28 0 0 2;
-#X connect 29 0 3 0;
-#X connect 31 0 9 0;
-#X connect 37 0 19 1;
-#X connect 38 0 19 2;
-#X connect 39 0 19 3;
+#N canvas 161 127 638 442 10;
+#X declare -lib Gem;
+#N canvas 20 38 1340 956 tentacule 0;
+#X obj 482 749 gemhead;
+#X obj 114 173 mass3D M 1 1 -0.6 0;
+#X obj 277 123 mass3D M 1 0 -0.6 0;
+#X obj 364 170 mass3D M 1 -1 -0.6 0;
+#X obj 283 231 mass3D M 1 0 1.13 0;
+#X obj 115 402 mass3D M 1 1 -0.6 1;
+#X obj 305 370 mass3D M 1 0 -0.6 1;
+#X obj 414 402 mass3D M 1 -1 -0.6 1;
+#X obj 310 479 mass3D M 1 0 1.13 1;
+#X obj 351 448 link3D L 0 1;
+#X obj 245 446 link3D L 0 1;
+#X obj 250 400 link3D L 0 1;
+#X obj 324 401 link3D L 0 1;
+#X obj 348 336 link3D L2 0 1;
+#X obj 280 309 link3D L2 0 1;
+#X obj 263 247 link3D L2 0 1;
+#X obj 179 332 link3D L2 0 1;
+#X obj 77 266 link3D L2 0 1;
+#X obj 175 253 link3D L2 0 1;
+#X obj 354 258 link3D L2 0 1;
+#X obj 395 298 link3D L2 0 1;
+#X obj 306 201 link3D L 0 1;
+#X obj 218 198 link3D L 0 1;
+#X obj 222 152 link3D L 0 1;
+#X obj 297 152 link3D L 0 1;
+#X obj 838 302 link3D L2 0 1;
+#X obj 906 268 link3D L2 0 1;
+#X obj 1026 212 link3D L 0 1;
+#X obj 949 213 link3D L 0 1;
+#X obj 953 167 link3D L 0 1;
+#X obj 1028 167 link3D L 0 1;
+#X obj 696 325 link3D L2 0 1;
+#X obj 617 379 link3D L2 0 1;
+#X obj 618 175 link3D L2 0 1;
+#X obj 588 296 link3D L2 0 1;
+#X obj 496 245 link3D L2 0 1;
+#X obj 575 217 link3D L2 0 1;
+#X obj 750 232 link3D L2 0 1;
+#X obj 770 269 link3D L2 0 1;
+#X obj 287 44 link3D L 0 1;
+#X obj 431 96 link3D L 0 1;
+#X obj 506 147 link3D L 0 1;
+#X obj 84 119 link3D L 0 1;
+#X msg 88 91 position3D 1 -0.6 0;
+#X msg 529 29 position3D -1 -0.6 0;
+#X msg 577 122 position3D 0 1.13 0;
+#X msg 301 16 position3D 0 -0.6 0;
+#X obj 722 46 r M2;
+#X obj 722 72 route reset;
+#X obj 1003 361 link3D L3 0 1;
+#X obj 1051 316 link3D L3 0 1;
+#X obj 1108 283 link3D L3 0 1;
+#X obj 991 405 link3D L3 0 1;
+#X obj 1209 370 r M2;
+#X obj 1109 190 mass3D M 1 -0.5 -0.3 1.5;
+#X obj 1009 138 mass3D M 1 0 -0.3 1.5;
+#X obj 822 188 mass3D M 1 0.5 -0.3 1.5;
+#X obj 984 274 mass3D M 1 0 0.58 1.5;
+#X obj 465 776 curve3d 5 5;
+#X msg 198 573 set 0 1 \$1 \$2 \$3;
+#X msg 218 604 set 1 1 \$1 \$2 \$3;
+#X msg 239 621 set 2 1 \$1 \$2 \$3;
+#X msg 261 644 set 3 1 \$1 \$2 \$3;
+#X msg 278 666 set 4 1 \$1 \$2 \$3;
+#X msg 395 580 set 0 2 \$1 \$2 \$3;
+#X msg 417 606 set 1 2 \$1 \$2 \$3;
+#X msg 436 628 set 2 2 \$1 \$2 \$3;
+#X msg 458 651 set 3 2 \$1 \$2 \$3;
+#X msg 475 673 set 4 2 \$1 \$2 \$3;
+#X msg 666 580 set 0 3 \$1 \$2 \$3;
+#X msg 686 611 set 1 3 \$1 \$2 \$3;
+#X msg 706 628 set 2 3 \$1 \$2 \$3;
+#X msg 730 651 set 3 3 \$1 \$2 \$3;
+#X msg 746 673 set 4 3 \$1 \$2 \$3;
+#X msg 863 587 set 0 4 \$1 \$2 \$3;
+#X msg 884 613 set 1 4 \$1 \$2 \$3;
+#X msg 903 635 set 2 4 \$1 \$2 \$3;
+#X msg 926 658 set 3 4 \$1 \$2 \$3;
+#X msg 944 681 set 4 4 \$1 \$2 \$3;
+#X obj 43 568 loadbang;
+#X msg 88 649 set 2 0 0 -0.3 0;
+#X msg 106 687 set 3 0 0 -0.3 0;
+#X msg 53 596 set 0 0 0 -0.3 0;
+#X msg 70 628 set 1 0 0 -0.3 0;
+#X msg 123 709 set 4 0 0 -0.3 0;
+#X obj 1152 421 mass3D M 4 0 0 2;
+#X msg 6 64 setM \$1;
+#X obj 4 40 inlet;
+#X msg 148 42 setM \$1;
+#X obj 146 18 inlet;
+#X obj 836 40 inlet;
+#X connect 0 0 58 0;
+#X connect 1 0 13 0;
+#X connect 1 0 17 1;
+#X connect 1 0 22 0;
+#X connect 1 0 23 0;
+#X connect 1 0 62 0;
+#X connect 1 0 42 1;
+#X connect 2 0 15 0;
+#X connect 2 0 18 1;
+#X connect 2 0 23 1;
+#X connect 2 0 24 0;
+#X connect 2 0 59 0;
+#X connect 2 0 63 0;
+#X connect 2 0 39 0;
+#X connect 3 0 16 1;
+#X connect 3 0 20 0;
+#X connect 3 0 21 1;
+#X connect 3 0 24 1;
+#X connect 3 0 60 0;
+#X connect 3 0 40 0;
+#X connect 4 0 14 0;
+#X connect 4 0 19 0;
+#X connect 4 0 21 0;
+#X connect 4 0 22 1;
+#X connect 4 0 61 0;
+#X connect 4 0 41 0;
+#X connect 5 0 10 0;
+#X connect 5 0 11 0;
+#X connect 5 0 16 0;
+#X connect 5 0 17 0;
+#X connect 5 0 67 0;
+#X connect 5 0 35 0;
+#X connect 5 0 34 0;
+#X connect 6 0 11 1;
+#X connect 6 0 12 0;
+#X connect 6 0 15 1;
+#X connect 6 0 19 1;
+#X connect 6 0 64 0;
+#X connect 6 0 68 0;
+#X connect 6 0 33 0;
+#X connect 6 0 31 0;
+#X connect 7 0 9 1;
+#X connect 7 0 12 1;
+#X connect 7 0 13 1;
+#X connect 7 0 20 1;
+#X connect 7 0 65 0;
+#X connect 7 0 38 0;
+#X connect 7 0 36 0;
+#X connect 8 0 9 0;
+#X connect 8 0 10 1;
+#X connect 8 0 14 1;
+#X connect 8 0 18 0;
+#X connect 8 0 66 0;
+#X connect 8 0 32 0;
+#X connect 8 0 37 1;
+#X connect 9 0 8 0;
+#X connect 9 1 7 0;
+#X connect 10 0 5 0;
+#X connect 10 1 8 0;
+#X connect 11 0 5 0;
+#X connect 11 1 6 0;
+#X connect 12 0 6 0;
+#X connect 12 1 7 0;
+#X connect 13 0 1 0;
+#X connect 13 1 7 0;
+#X connect 14 0 4 0;
+#X connect 14 1 8 0;
+#X connect 15 0 2 0;
+#X connect 15 1 6 0;
+#X connect 16 0 5 0;
+#X connect 16 1 3 0;
+#X connect 17 0 5 0;
+#X connect 17 1 1 0;
+#X connect 18 0 8 0;
+#X connect 18 1 2 0;
+#X connect 19 0 4 0;
+#X connect 19 1 6 0;
+#X connect 20 0 3 0;
+#X connect 20 1 7 0;
+#X connect 21 0 4 0;
+#X connect 21 1 3 0;
+#X connect 22 0 1 0;
+#X connect 22 1 4 0;
+#X connect 23 0 1 0;
+#X connect 23 1 2 0;
+#X connect 24 0 2 0;
+#X connect 24 1 3 0;
+#X connect 25 1 56 0;
+#X connect 26 1 55 0;
+#X connect 27 0 57 0;
+#X connect 27 1 54 0;
+#X connect 28 0 56 0;
+#X connect 28 1 57 0;
+#X connect 29 0 56 0;
+#X connect 29 1 55 0;
+#X connect 30 0 55 0;
+#X connect 30 1 54 0;
+#X connect 31 0 6 0;
+#X connect 31 1 57 0;
+#X connect 32 0 8 0;
+#X connect 32 1 57 0;
+#X connect 33 0 6 0;
+#X connect 33 1 55 0;
+#X connect 34 0 5 0;
+#X connect 34 1 54 0;
+#X connect 35 0 5 0;
+#X connect 35 1 56 0;
+#X connect 36 0 7 0;
+#X connect 36 1 56 0;
+#X connect 37 0 55 0;
+#X connect 37 1 8 0;
+#X connect 38 0 7 0;
+#X connect 38 1 54 0;
+#X connect 39 0 2 0;
+#X connect 40 0 3 0;
+#X connect 41 0 4 0;
+#X connect 42 1 1 0;
+#X connect 43 0 42 0;
+#X connect 44 0 40 1;
+#X connect 45 0 41 1;
+#X connect 46 0 39 1;
+#X connect 47 0 48 0;
+#X connect 48 0 44 0;
+#X connect 48 0 45 0;
+#X connect 48 0 46 0;
+#X connect 48 0 43 0;
+#X connect 49 0 55 0;
+#X connect 49 1 85 0;
+#X connect 50 0 54 0;
+#X connect 50 1 85 0;
+#X connect 51 0 57 0;
+#X connect 51 1 85 0;
+#X connect 52 0 56 0;
+#X connect 52 1 85 0;
+#X connect 53 0 85 0;
+#X connect 54 0 27 1;
+#X connect 54 0 30 1;
+#X connect 54 0 70 0;
+#X connect 54 0 38 1;
+#X connect 54 0 34 1;
+#X connect 54 0 50 0;
+#X connect 55 0 26 1;
+#X connect 55 0 29 1;
+#X connect 55 0 30 0;
+#X connect 55 0 69 0;
+#X connect 55 0 73 0;
+#X connect 55 0 33 1;
+#X connect 55 0 37 0;
+#X connect 55 0 49 0;
+#X connect 56 0 25 1;
+#X connect 56 0 28 0;
+#X connect 56 0 29 0;
+#X connect 56 0 72 0;
+#X connect 56 0 35 1;
+#X connect 56 0 36 1;
+#X connect 56 0 52 0;
+#X connect 57 0 27 0;
+#X connect 57 0 28 1;
+#X connect 57 0 71 0;
+#X connect 57 0 32 1;
+#X connect 57 0 31 1;
+#X connect 57 0 51 0;
+#X connect 59 0 58 0;
+#X connect 60 0 58 0;
+#X connect 61 0 58 0;
+#X connect 62 0 58 0;
+#X connect 63 0 58 0;
+#X connect 64 0 58 0;
+#X connect 65 0 58 0;
+#X connect 66 0 58 0;
+#X connect 67 0 58 0;
+#X connect 68 0 58 0;
+#X connect 69 0 58 0;
+#X connect 70 0 58 0;
+#X connect 71 0 58 0;
+#X connect 72 0 58 0;
+#X connect 73 0 58 0;
+#X connect 74 0 58 0;
+#X connect 75 0 58 0;
+#X connect 76 0 58 0;
+#X connect 77 0 58 0;
+#X connect 78 0 58 0;
+#X connect 79 0 82 0;
+#X connect 79 0 83 0;
+#X connect 79 0 80 0;
+#X connect 79 0 81 0;
+#X connect 79 0 84 0;
+#X connect 80 0 58 0;
+#X connect 81 0 58 0;
+#X connect 82 0 58 0;
+#X connect 83 0 58 0;
+#X connect 84 0 58 0;
+#X connect 85 0 74 0;
+#X connect 85 0 78 0;
+#X connect 85 0 49 1;
+#X connect 85 0 50 1;
+#X connect 85 0 51 1;
+#X connect 85 0 52 1;
+#X connect 85 0 75 0;
+#X connect 85 0 76 0;
+#X connect 85 0 77 0;
+#X connect 86 0 17 0;
+#X connect 86 0 35 0;
+#X connect 86 0 52 0;
+#X connect 87 0 86 0;
+#X connect 88 0 15 0;
+#X connect 88 0 33 0;
+#X connect 88 0 49 0;
+#X connect 89 0 88 0;
+#X connect 90 0 58 0;
+#X restore 51 405 pd tentacule;
+#X msg 17 56 create \, 1;
+#X msg 27 77 0 \, destroy;
+#X msg 36 121 lighting 1;
+#X obj 367 144 t b b;
+#X obj 392 169 s M;
+#X obj 398 201 s L;
+#X obj 380 220 s L2;
+#X obj 480 101 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 500 143 t b b b;
+#X obj 566 213 s M;
+#X msg 566 190 reset;
+#X obj 528 222 s L;
+#X obj 510 241 s L2;
+#X msg 518 188 resetL;
+#X msg 500 167 resetF;
+#X obj 593 214 s M2;
+#X obj 500 263 s L3;
+#X obj 367 242 s L3;
+#X obj 17 238 ch_gemwin 50;
+#X obj 367 120 gemhead;
+#X obj 121 309 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 121 333 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 51 359 / 150;
+#X obj 84 359 / 150;
+#X obj 84 383 + 0.6;
+#X obj 51 383 + 0.6;
+#X msg 136 356 draw control_line;
+#X msg 136 385 draw fill;
+#X obj 36 98 loadbang;
+#N canvas 0 0 452 302 light 0;
+#X obj 43 70 gemhead;
+#X obj 43 114 world_light;
+#X obj 43 25 gemhead;
+#X obj 43 49 world_light;
+#X obj 43 92 rotateXYZ 230 0 80;
+#X connect 0 0 4 0;
+#X connect 2 0 3 0;
+#X connect 4 0 1 0;
+#X restore 272 222 pd light;
+#X obj 500 119 loadbang;
+#N canvas 0 0 547 274 init 0;
+#X obj 11 125 s M;
+#X msg 11 102 setM \$1;
+#X msg 17 58 13;
+#X msg 91 109 setD \$1;
+#X obj 91 138 s L;
+#X floatatom 90 86 5 0 0 0 - - -;
+#X obj 153 137 s L;
+#X floatatom 152 85 5 0 0 0 - - -;
+#X msg 153 108 setK \$1;
+#X msg 93 59 2;
+#X msg 216 109 setD \$1;
+#X floatatom 215 86 5 0 0 0 - - -;
+#X floatatom 277 85 5 0 0 0 - - -;
+#X msg 278 108 setK \$1;
+#X msg 218 59 2;
+#X obj 216 138 s L2;
+#X obj 278 137 s L2;
+#X msg 165 55 5;
+#X msg 290 55 0.7;
+#X msg 343 108 setD \$1;
+#X floatatom 342 85 5 0 0 0 - - -;
+#X floatatom 416 89 5 0 0 0 - - -;
+#X msg 417 112 setK \$1;
+#X obj 343 137 s L3;
+#X obj 417 141 s L3;
+#X msg 429 59 1;
+#X msg 345 58 3;
+#X obj 84 -14 loadbang;
+#X floatatom 9 79 5 0 0 0 - - -;
+#X connect 1 0 0 0;
+#X connect 2 0 1 0;
+#X connect 3 0 4 0;
+#X connect 5 0 3 0;
+#X connect 7 0 8 0;
+#X connect 8 0 6 0;
+#X connect 9 0 3 0;
+#X connect 10 0 15 0;
+#X connect 11 0 10 0;
+#X connect 12 0 13 0;
+#X connect 13 0 16 0;
+#X connect 14 0 10 0;
+#X connect 17 0 8 0;
+#X connect 18 0 13 0;
+#X connect 19 0 23 0;
+#X connect 20 0 19 0;
+#X connect 21 0 22 0;
+#X connect 22 0 24 0;
+#X connect 25 0 22 0;
+#X connect 26 0 19 0;
+#X connect 27 0 9 0;
+#X connect 27 0 17 0;
+#X connect 27 0 14 0;
+#X connect 27 0 18 0;
+#X connect 27 0 26 0;
+#X connect 27 0 25 0;
+#X connect 27 0 2 0;
+#X connect 28 0 1 0;
+#X restore 272 247 pd init;
+#X text 522 98 <- reset;
+#X text 280 319 <- change lenght of some link to distord the structure
+;
+#X text 283 10 muscle exemples;
+#X text 158 26 you can change the lengh of some like to distord the
+structure;
+#X obj 42 154 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 64 178 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 87 201 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 129 136 camera position;
+#X obj 10 2 declare -lib Gem;
+#X connect 1 0 19 0;
+#X connect 2 0 19 0;
+#X connect 3 0 19 0;
+#X connect 4 0 6 0;
+#X connect 4 0 7 0;
+#X connect 4 0 18 0;
+#X connect 4 1 5 0;
+#X connect 8 0 9 0;
+#X connect 9 0 15 0;
+#X connect 9 1 14 0;
+#X connect 9 2 11 0;
+#X connect 11 0 10 0;
+#X connect 11 0 16 0;
+#X connect 14 0 12 0;
+#X connect 14 0 13 0;
+#X connect 14 0 17 0;
+#X connect 15 0 10 0;
+#X connect 15 0 13 0;
+#X connect 15 0 12 0;
+#X connect 15 0 17 0;
+#X connect 20 0 4 0;
+#X connect 21 0 23 0;
+#X connect 22 0 24 0;
+#X connect 23 0 26 0;
+#X connect 24 0 25 0;
+#X connect 25 0 0 1;
+#X connect 26 0 0 0;
+#X connect 27 0 0 2;
+#X connect 28 0 0 2;
+#X connect 29 0 3 0;
+#X connect 31 0 9 0;
+#X connect 37 0 19 1;
+#X connect 38 0 19 2;
+#X connect 39 0 19 3;
diff --git a/examples/43_game.pd b/examples/43_game.pd
index 22d4341..c6f6b76 100644
--- a/examples/43_game.pd
+++ b/examples/43_game.pd
@@ -1,1251 +1,1253 @@
-#N canvas 161 34 536 536 10;
-#X obj 32 137 t b b;
-#X obj 32 89 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 260 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 283 198 loadbang;
-#X obj 57 160 s \$0-link;
-#X obj 32 187 s \$0-mass;
-#X msg 308 269 reset;
-#X msg 283 316 resetF;
-#X msg 168 137 0 \, destroy;
-#X obj 134 165 gemwin;
-#N canvas 1361 275 872 665 space_ship 0;
-#X obj 89 18 r \$0-link;
-#X obj 13 18 r \$0-mass;
-#X obj 323 371 gemhead;
-#X obj 323 435 translateXYZ;
-#X obj 311 406 unpack s f f;
-#X obj 200 377 gemhead;
-#X obj 200 441 translateXYZ;
-#X obj 188 412 unpack s f f;
-#X obj 70 383 gemhead;
-#X obj 74 456 translateXYZ;
-#X obj 58 418 unpack s f f;
-#X obj 406 380 gemhead;
-#X obj 406 444 translateXYZ;
-#X obj 394 415 unpack s f f;
-#X obj 68 239 link2D ship 0.6 0.1 0.1;
-#X obj 388 234 link2D ship 0.6 0.1 0.1;
-#X obj 392 285 link2D ship 0.3 0.1 0.1;
-#X obj 71 291 link2D ship 0.3 0.1 0.1;
-#X obj 69 341 mass2D ship_rearL 1 0.15 -0.3;
-#X obj 400 341 mass2D ship_rearR 1 -0.15 -0.3;
-#X obj 408 528 sphere 0.05;
-#X obj 71 535 sphere 0.05;
-#X obj 326 466 sphere 0.05;
-#X obj 135 116 tLink2D;
-#X obj 199 467 rotateXYZ;
-#X obj 71 510 scaleXYZ 2 1 1;
-#X obj 408 494 scaleXYZ 2 1 1;
-#X obj 74 485 rotateXYZ;
-#X obj 409 468 rotateXYZ;
-#X obj 206 545 sphere 0.2;
-#X msg 530 445 25;
-#X obj 528 421 loadbang;
-#X obj 234 23 mass2D ship_front 2 0 0.3;
-#X obj 199 514 ambientRGB 0 1 0;
-#X msg 673 120 setXY \$1 \$2;
-#X obj 697 28 inlet;
-#X msg 687 202 setXY \$1 \$2;
-#X obj 231 166 mass2D ship_body 3 0 0;
-#X obj 643 25 inlet;
-#X msg 601 325 setXY \$1 \$2;
-#X obj 201 492 scaleXYZ 1.5 0.5 0.5;
-#X obj 520 21 inlet;
-#N canvas 654 146 482 495 8_bulet 0;
-#X obj 170 34 inlet;
-#X obj 301 33 inlet;
-#X obj 36 22 inlet;
-#N canvas 0 0 474 556 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 240 278 gemhead;
-#X obj 228 350 translateXYZ;
-#X obj 220 307 unpack s f f;
-#X obj 222 384 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 119 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 252 360 pd bullet;
-#N canvas 497 321 480 418 bullet 0;
-#X obj 142 24 inlet;
-#X obj 139 278 gemhead;
-#X obj 140 328 translateXYZ;
-#X obj 123 304 unpack s f f;
-#X obj 130 357 sphere 0.03;
-#X obj 220 24 inlet;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 22 inlet;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 211 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 2 0;
-#X connect 2 0 4 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 5 0 6 0;
-#X connect 6 0 16 0;
-#X connect 7 0 10 0;
-#X connect 8 0 9 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 3 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 146 193 pd bullet;
-#N canvas 0 0 468 318 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 139 278 gemhead;
-#X obj 207 329 translateXYZ;
-#X obj 182 304 unpack s f f;
-#X obj 232 354 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 72 273 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 161 217 pd bullet;
-#N canvas 0 0 468 318 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 33 19 inlet;
-#X obj 139 278 gemhead;
-#X obj 201 331 translateXYZ;
-#X obj 173 305 unpack s f f;
-#X obj 219 360 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 204 268 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 177 241 pd bullet;
-#N canvas 0 0 466 370 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 206 281 gemhead;
-#X obj 230 335 translateXYZ;
-#X obj 185 302 unpack s f f;
-#X obj 243 365 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 119 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 189 265 pd bullet;
-#N canvas 0 0 468 377 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 179 278 gemhead;
-#X obj 205 330 translateXYZ;
-#X obj 182 303 unpack s f f;
-#X obj 209 356 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 119 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 205 289 pd bullet;
-#N canvas 0 0 464 453 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 228 277 gemhead;
-#X obj 195 336 translateXYZ;
-#X obj 199 305 unpack s f f;
-#X obj 185 366 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 119 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 220 313 pd bullet;
-#N canvas 0 0 464 454 bullet 0;
-#X obj 142 24 inlet;
-#X obj 220 24 inlet;
-#X obj 36 22 inlet;
-#X obj 220 283 gemhead;
-#X obj 202 337 translateXYZ;
-#X obj 201 308 unpack s f f;
-#X obj 186 364 sphere 0.03;
-#X msg 220 173 setXY \$1 \$2;
-#X obj 143 202 r \$0-mass;
-#X obj 36 44 t b b;
-#X obj 129 238 mass2D bulet 1 10 10;
-#X obj 142 49 unpack s f f;
-#X obj 136 131 pack f f;
-#X obj 134 106 f;
-#X msg 133 154 setXY \$1 \$2;
-#X obj 119 283 s bulletpos;
-#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
-#X connect 0 0 11 0;
-#X connect 1 0 7 0;
-#X connect 2 0 9 0;
-#X connect 3 0 4 0;
-#X connect 4 0 6 0;
-#X connect 5 1 4 1;
-#X connect 5 2 4 2;
-#X connect 7 0 16 0;
-#X connect 8 0 10 0;
-#X connect 9 0 16 0;
-#X connect 9 1 13 0;
-#X connect 10 0 5 0;
-#X connect 10 0 15 0;
-#X connect 11 1 13 1;
-#X connect 11 2 12 1;
-#X connect 12 0 14 0;
-#X connect 13 0 12 0;
-#X connect 14 0 10 0;
-#X connect 16 0 10 0;
-#X restore 236 337 pd bullet;
-#X obj 36 94 % 8;
-#X obj 36 125 sel 0 1 2 3 4 5 6 7;
-#X obj 36 71 + 1;
-#X msg 36 45 1;
-#X connect 0 0 3 1;
-#X connect 0 0 4 1;
-#X connect 0 0 5 1;
-#X connect 0 0 6 1;
-#X connect 0 0 7 1;
-#X connect 0 0 8 1;
-#X connect 0 0 9 1;
-#X connect 0 0 10 1;
-#X connect 1 0 3 2;
-#X connect 1 0 4 2;
-#X connect 1 0 5 2;
-#X connect 1 0 6 2;
-#X connect 1 0 7 2;
-#X connect 1 0 8 2;
-#X connect 1 0 9 2;
-#X connect 1 0 10 2;
-#X connect 2 0 14 0;
-#X connect 11 0 12 0;
-#X connect 11 0 13 1;
-#X connect 12 0 3 0;
-#X connect 12 1 10 0;
-#X connect 12 2 9 0;
-#X connect 12 3 8 0;
-#X connect 12 4 7 0;
-#X connect 12 5 6 0;
-#X connect 12 6 5 0;
-#X connect 12 7 4 0;
-#X connect 13 0 11 0;
-#X connect 14 0 13 0;
-#X restore 218 583 pd 8_bulet;
-#X obj 458 18 inlet;
-#X msg 610 392 setXY \$1 \$2;
-#X obj 585 22 inlet;
-#X obj 318 559 s space_ship;
-#X obj 673 150 iCircle2D foo 0 0 0 1 0 0.003;
-#X obj 693 229 iCircle2D foo 0 0 0 1 0 -0.003;
-#X obj 600 353 iCircle2D foo 0 0 0 1 -0.03;
-#X obj 611 430 iCircle2D foo 0 0 0 1 0.03;
-#X msg 689 87 dXY 0.1 0;
-#X msg 654 60 dXY -0.1 0;
-#X obj 228 313 link2D ship 0.2 0.1 0.1;
-#X obj 237 64 link2D ship 0.3 0.1 0.1;
-#X connect 0 0 14 0;
-#X connect 0 0 15 0;
-#X connect 0 0 16 0;
-#X connect 0 0 17 0;
-#X connect 0 0 23 0;
-#X connect 0 0 53 0;
-#X connect 0 0 54 0;
-#X connect 1 0 18 0;
-#X connect 1 0 19 0;
-#X connect 1 0 32 0;
-#X connect 1 0 37 0;
-#X connect 2 0 3 0;
-#X connect 3 0 22 0;
-#X connect 4 1 3 1;
-#X connect 4 2 3 2;
-#X connect 5 0 6 0;
-#X connect 6 0 24 0;
-#X connect 7 1 6 1;
-#X connect 7 2 6 2;
-#X connect 8 0 9 0;
-#X connect 9 0 27 0;
-#X connect 10 1 9 1;
-#X connect 10 2 9 2;
-#X connect 11 0 12 0;
-#X connect 12 0 28 0;
-#X connect 13 1 12 1;
-#X connect 13 2 12 2;
-#X connect 14 0 18 0;
-#X connect 14 1 32 0;
-#X connect 15 0 32 0;
-#X connect 15 1 19 0;
-#X connect 16 0 37 0;
-#X connect 16 1 19 0;
-#X connect 17 0 18 0;
-#X connect 17 1 37 0;
-#X connect 18 0 10 0;
-#X connect 18 0 14 0;
-#X connect 18 0 17 0;
-#X connect 18 0 46 0;
-#X connect 18 0 53 0;
-#X connect 19 0 13 0;
-#X connect 19 0 15 1;
-#X connect 19 0 16 1;
-#X connect 19 0 46 0;
-#X connect 19 0 53 1;
-#X connect 23 2 24 3;
-#X connect 23 2 27 3;
-#X connect 23 2 28 3;
-#X connect 24 0 40 0;
-#X connect 25 0 21 0;
-#X connect 26 0 20 0;
-#X connect 27 0 25 0;
-#X connect 28 0 26 0;
-#X connect 30 0 20 2;
-#X connect 30 0 29 2;
-#X connect 30 0 22 2;
-#X connect 30 0 21 2;
-#X connect 31 0 30 0;
-#X connect 32 0 4 0;
-#X connect 32 0 14 1;
-#X connect 32 0 15 0;
-#X connect 32 0 23 0;
-#X connect 32 0 39 0;
-#X connect 32 0 42 1;
-#X connect 32 0 44 0;
-#X connect 32 0 46 0;
-#X connect 32 0 54 0;
-#X connect 33 0 29 0;
-#X connect 34 0 47 0;
-#X connect 35 0 51 0;
-#X connect 36 0 48 0;
-#X connect 37 0 7 0;
-#X connect 37 0 16 0;
-#X connect 37 0 17 1;
-#X connect 37 0 23 1;
-#X connect 37 0 34 0;
-#X connect 37 0 36 0;
-#X connect 37 0 42 2;
-#X connect 37 0 46 0;
-#X connect 37 0 54 1;
-#X connect 38 0 52 0;
-#X connect 39 0 49 0;
-#X connect 40 0 33 0;
-#X connect 41 0 49 0;
-#X connect 43 0 42 0;
-#X connect 44 0 50 0;
-#X connect 45 0 50 0;
-#X connect 47 0 32 0;
-#X connect 47 0 19 0;
-#X connect 47 0 18 0;
-#X connect 48 0 32 0;
-#X connect 48 0 18 0;
-#X connect 48 0 19 0;
-#X connect 49 0 37 0;
-#X connect 50 0 37 0;
-#X connect 51 0 19 0;
-#X connect 51 0 37 0;
-#X connect 51 0 32 0;
-#X connect 51 0 18 0;
-#X connect 52 0 37 0;
-#X connect 52 0 32 0;
-#X connect 52 0 19 0;
-#X connect 52 0 18 0;
-#X connect 53 0 18 0;
-#X connect 53 1 19 0;
-#X connect 54 0 32 0;
-#X connect 54 1 37 0;
-#X restore 47 477 pd space_ship;
-#X obj 382 399 world_light;
-#X obj 382 377 gemhead 1;
-#X msg 134 114 reset \, lighting 1 \, create \, 1;
-#X obj 120 417 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 104 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 136 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 47 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 120 449 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 73 312 keyname;
-#X obj 73 333 pack f s;
-#X obj 73 355 route 1;
-#X obj 47 394 key;
-#X obj 47 415 sel 32;
-#X obj 73 376 route Up Down Left Right;
-#N canvas 213 219 1094 659 border 0;
-#X text 268 11 This is the first exemple of physical modeling;
-#X text 268 33 this is an elastic string;
-#X text 158 95 <- metronome send bangs to mass and link and gives the
-general computation speed;
-#X obj 47 198 link \$0-link 0 1 1;
-#X obj 63 251 link \$0-link 0 1 1;
-#X obj 89 307 link \$0-link 0 1 1;
-#X obj 108 364 link \$0-link 0 1 1;
-#X obj 138 420 link \$0-link 0 1 1;
-#X obj 165 477 link \$0-link 0 1 1;
-#X obj 42 174 mass \$0-mass 30;
-#X obj 57 226 mass \$0-mass 30;
-#X obj 84 283 mass \$0-mass 30;
-#X obj 104 340 mass \$0-mass 30;
-#X obj 134 395 mass \$0-mass 30;
-#X obj 163 452 mass \$0-mass 30;
-#X text 160 132 masss and link has to be compute one after the other.
-;
-#X obj 27 148 link \$0-link 0 0 5;
-#X obj 354 214 link \$0-link 0 1 1;
-#X obj 370 267 link \$0-link 0 1 1;
-#X obj 396 323 link \$0-link 0 1 1;
-#X obj 415 380 link \$0-link 0 1 1;
-#X obj 445 436 link \$0-link 0 1 1;
-#X obj 472 493 link \$0-link 0 1 1;
-#X obj 349 190 mass \$0-mass 30;
-#X obj 364 242 mass \$0-mass 30;
-#X obj 374 293 mass \$0-mass 30;
-#X obj 411 356 mass \$0-mass 30;
-#X obj 435 408 mass \$0-mass 30;
-#X obj 470 468 mass \$0-mass 30;
-#X obj 615 210 link \$0-link 0 1 1;
-#X obj 631 263 link \$0-link 0 1 1;
-#X obj 657 319 link \$0-link 0 1 1;
-#X obj 676 376 link \$0-link 0 1 1;
-#X obj 706 432 link \$0-link 0 1 1;
-#X obj 610 186 mass \$0-mass 30;
-#X obj 625 238 mass \$0-mass 30;
-#X obj 652 295 mass \$0-mass 30;
-#X obj 672 352 mass \$0-mass 30;
-#X obj 702 407 mass \$0-mass 30;
-#X obj 731 464 mass \$0-mass 30;
-#X obj 919 270 + 10;
-#X obj 919 202 loadbang;
-#X obj 919 225 metro 600;
-#X obj 921 292 / 10;
-#X obj 734 489 link \$0-link 0 0.01 2;
-#X obj 919 250 random 20;
-#X obj 62 41 r \$0-link;
-#X obj 869 481 game_line 4;
-#X obj 60 66 s bounce;
-#X obj 615 503 game_line 1;
-#X obj 759 221 game_line 1.5;
-#X obj 511 237 game_line -1;
-#X obj 203 229 game_line -4;
-#X obj 849 445 game_line 3.5;
-#X obj 804 388 game_line 3;
-#X obj 790 336 game_line 2.5;
-#X obj 774 273 game_line 2;
-#X obj 591 450 game_line 0.5;
-#X obj 568 391 game_line 0;
-#X obj 531 310 game_line -0.5;
-#X obj 324 466 game_line -1.5;
-#X obj 331 422 game_line -2;
-#X obj 272 381 game_line -2.5;
-#X obj 257 333 game_line -3;
-#X obj 223 286 game_line -3.5;
-#X connect 3 0 9 0;
-#X connect 3 1 10 0;
-#X connect 4 0 10 0;
-#X connect 4 1 11 0;
-#X connect 5 0 11 0;
-#X connect 5 1 12 0;
-#X connect 6 0 12 0;
-#X connect 6 1 13 0;
-#X connect 7 0 13 0;
-#X connect 7 1 14 0;
-#X connect 8 0 14 0;
-#X connect 8 1 23 0;
-#X connect 9 0 3 0;
-#X connect 9 0 16 1;
-#X connect 9 0 52 1;
-#X connect 10 0 3 1;
-#X connect 10 0 4 0;
-#X connect 10 0 52 0;
-#X connect 10 0 64 1;
-#X connect 11 0 4 1;
-#X connect 11 0 5 0;
-#X connect 11 0 63 1;
-#X connect 11 0 64 0;
-#X connect 12 0 5 1;
-#X connect 12 0 6 0;
-#X connect 12 0 62 1;
-#X connect 12 0 63 0;
-#X connect 13 0 6 1;
-#X connect 13 0 7 0;
-#X connect 13 0 61 1;
-#X connect 13 0 62 0;
-#X connect 14 0 7 1;
-#X connect 14 0 8 0;
-#X connect 14 0 60 1;
-#X connect 14 0 61 0;
-#X connect 16 1 9 0;
-#X connect 17 0 23 0;
-#X connect 17 1 24 0;
-#X connect 18 0 24 0;
-#X connect 18 1 25 0;
-#X connect 19 0 25 0;
-#X connect 19 1 26 0;
-#X connect 20 0 26 0;
-#X connect 20 1 27 0;
-#X connect 21 0 27 0;
-#X connect 21 1 28 0;
-#X connect 22 0 28 0;
-#X connect 22 1 34 0;
-#X connect 23 0 17 0;
-#X connect 23 0 8 1;
-#X connect 23 0 51 1;
-#X connect 23 0 60 0;
-#X connect 24 0 17 1;
-#X connect 24 0 18 0;
-#X connect 24 0 51 0;
-#X connect 24 0 59 1;
-#X connect 25 0 18 1;
-#X connect 25 0 19 0;
-#X connect 25 0 58 1;
-#X connect 25 0 59 0;
-#X connect 26 0 19 1;
-#X connect 26 0 20 0;
-#X connect 26 0 57 1;
-#X connect 26 0 58 0;
-#X connect 27 0 20 1;
-#X connect 27 0 21 0;
-#X connect 27 0 49 1;
-#X connect 27 0 57 0;
-#X connect 28 0 21 1;
-#X connect 28 0 22 0;
-#X connect 28 0 49 0;
-#X connect 28 0 50 1;
-#X connect 29 0 34 0;
-#X connect 29 1 35 0;
-#X connect 30 0 35 0;
-#X connect 30 1 36 0;
-#X connect 31 0 36 0;
-#X connect 31 0 37 0;
-#X connect 31 1 37 0;
-#X connect 32 0 37 0;
-#X connect 32 1 38 0;
-#X connect 33 0 38 0;
-#X connect 33 1 39 0;
-#X connect 34 0 29 0;
-#X connect 34 0 22 1;
-#X connect 34 0 50 0;
-#X connect 34 0 56 1;
-#X connect 35 0 29 1;
-#X connect 35 0 30 0;
-#X connect 35 0 55 1;
-#X connect 35 0 56 0;
-#X connect 36 0 30 1;
-#X connect 36 0 31 0;
-#X connect 36 0 54 1;
-#X connect 36 0 55 0;
-#X connect 37 0 31 1;
-#X connect 37 0 32 0;
-#X connect 37 0 53 1;
-#X connect 37 0 54 0;
-#X connect 38 0 32 1;
-#X connect 38 0 33 0;
-#X connect 38 0 47 1;
-#X connect 38 0 53 0;
-#X connect 39 0 33 1;
-#X connect 39 0 44 0;
-#X connect 39 0 47 0;
-#X connect 40 0 43 0;
-#X connect 41 0 42 0;
-#X connect 42 0 45 0;
-#X connect 43 0 44 1;
-#X connect 44 0 39 0;
-#X connect 45 0 40 0;
-#X connect 46 0 48 0;
-#X restore 382 421 pd border;
-#N canvas 819 401 251 318 bombs 0;
-#X obj 45 108 % 8;
-#X obj 45 85 + 1;
-#X obj 44 13 loadbang;
-#X msg 45 60 1;
-#X obj 45 36 metro 1200;
-#X obj 104 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 45 167 pd bomb;
-#X obj 45 140 sel 0 1 2 3 4 5 6 7;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 55 177 pd bomb;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 65 187 pd bomb;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 75 197 pd bomb;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 85 207 pd bomb;
-#N canvas 510 387 653 468 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 95 217 pd bomb;
-#N canvas 510 387 655 470 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X msg 80 123 setXY 0 5;
-#X obj 34 86 iAmbient2D foo 0 -1 0.2 0;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 22 0;
-#X connect 6 1 21 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 105 227 pd bomb;
-#N canvas 510 387 657 472 bomb 0;
-#X obj 36 22 inlet;
-#X obj 82 242 gemhead;
-#X obj 85 272 translateXYZ;
-#X obj 84 215 unpack s f f;
-#X obj 104 153 r \$0-mass;
-#X obj 86 294 color 1 0 0;
-#X obj 36 44 t b b b;
-#X msg 154 122 reset;
-#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 272 271 r space_ship;
-#X msg 261 240 setXY \$1 \$2;
-#X obj 262 294 tCircle2D 0 0 0 0.2;
-#X obj 262 316 sel 1;
-#X obj 86 316 sphere 0.2;
-#X obj 429 263 r bulletpos;
-#X obj 435 319 sel 1;
-#X obj 261 341 s space_inside;
-#X obj 430 292 tCircle2D 0 0 0 0.15;
-#X obj 463 382 s points;
-#X obj 85 186 mass2D bomb 100 1000 1000;
-#X msg 439 351 reset \, setXY 1000 1000;
-#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
-#X msg 80 123 setXY 0 5;
-#X connect 0 0 6 0;
-#X connect 1 0 2 0;
-#X connect 2 0 5 0;
-#X connect 3 1 2 1;
-#X connect 3 2 2 2;
-#X connect 4 0 19 0;
-#X connect 5 0 13 0;
-#X connect 6 0 21 0;
-#X connect 6 1 22 0;
-#X connect 6 2 7 0;
-#X connect 7 0 19 0;
-#X connect 8 0 6 0;
-#X connect 9 0 11 0;
-#X connect 10 0 11 0;
-#X connect 10 0 17 0;
-#X connect 11 0 12 0;
-#X connect 12 0 16 0;
-#X connect 14 0 17 0;
-#X connect 15 0 20 0;
-#X connect 15 0 18 0;
-#X connect 17 0 15 0;
-#X connect 19 0 3 0;
-#X connect 19 0 10 0;
-#X connect 20 0 19 0;
-#X connect 21 0 19 0;
-#X connect 22 0 19 0;
-#X restore 115 237 pd bomb;
-#X connect 0 0 1 1;
-#X connect 0 0 7 0;
-#X connect 1 0 0 0;
-#X connect 2 0 4 0;
-#X connect 3 0 1 0;
-#X connect 4 0 3 0;
-#X connect 5 0 4 0;
-#X connect 7 0 6 0;
-#X connect 7 1 8 0;
-#X connect 7 2 9 0;
-#X connect 7 3 10 0;
-#X connect 7 4 11 0;
-#X connect 7 5 12 0;
-#X connect 7 6 13 0;
-#X connect 7 7 14 0;
-#X restore 382 443 pd bombs;
-#X obj 32 68 loadbang;
-#X obj 283 339 s \$0-link;
-#X obj 308 294 s \$0-mass;
-#X obj 339 319 s rbombs;
-#X obj 32 110 metro 10;
-#X obj 283 246 t b b b b;
-#X text 187 433 <- move the ship;
-#X obj 367 269 s init;
-#N canvas 0 0 148 173 points 0;
-#X obj 53 36 r points;
-#X obj 58 108 + 1;
-#X obj 57 84 f;
-#X msg 24 60 -1;
-#X obj 24 16 r init;
-#X obj 57 135 outlet;
-#X connect 0 0 2 0;
-#X connect 1 0 2 1;
-#X connect 1 0 5 0;
-#X connect 2 0 1 0;
-#X connect 3 0 2 0;
-#X connect 4 0 3 0;
-#X restore 383 465 pd points;
-#X floatatom 383 488 5 0 0 0 - - -;
-#X text 181 448 (use arraw key to);
-#N canvas 265 590 255 308 init 0;
-#X obj 94 85 r bomb_in;
-#X obj 50 189 spigot;
-#X obj 95 146 delay 1000;
-#X msg 95 169 1;
-#X obj 64 35 r space_inside;
-#X obj 73 59 r inside;
-#X obj 51 230 outlet;
-#X obj 95 119 r init;
-#X msg 127 171 0;
-#X connect 0 0 1 0;
-#X connect 1 0 6 0;
-#X connect 2 0 3 0;
-#X connect 3 0 1 1;
-#X connect 4 0 1 0;
-#X connect 5 0 1 0;
-#X connect 7 0 8 0;
-#X connect 7 0 2 0;
-#X connect 8 0 1 1;
-#X restore 299 222 pd init;
-#X text 286 172 <- reset;
-#X text 444 482 <- points;
-#X obj 19 210 t b b;
-#X obj 54 235 s \$0-link;
-#X obj 19 261 s \$0-mass;
-#X text 226 10 space-ship game;
-#X text 131 37 use the arrow key to displace the "space ship". space
-for fire. you should stay in the tunnel \, and shoot the red bombs
-;
-#X text 133 80 game restart if you hit the tunnel \, or a red bomb
-;
-#X connect 0 0 5 0;
-#X connect 0 1 4 0;
-#X connect 1 0 31 0;
-#X connect 2 0 32 0;
-#X connect 3 0 32 0;
-#X connect 6 0 29 0;
-#X connect 7 0 28 0;
-#X connect 8 0 9 0;
-#X connect 12 0 11 0;
-#X connect 13 0 9 0;
-#X connect 14 0 10 1;
-#X connect 15 0 10 3;
-#X connect 16 0 10 4;
-#X connect 17 0 10 0;
-#X connect 18 0 10 2;
-#X connect 19 0 20 0;
-#X connect 19 1 20 1;
-#X connect 20 0 21 0;
-#X connect 21 0 24 0;
-#X connect 22 0 23 0;
-#X connect 23 0 17 0;
-#X connect 24 0 14 0;
-#X connect 24 1 18 0;
-#X connect 24 2 15 0;
-#X connect 24 3 16 0;
-#X connect 27 0 1 0;
-#X connect 31 0 0 0;
-#X connect 31 0 41 0;
-#X connect 32 0 7 0;
-#X connect 32 1 6 0;
-#X connect 32 2 30 0;
-#X connect 32 3 34 0;
-#X connect 35 0 36 0;
-#X connect 38 0 32 0;
-#X connect 41 0 43 0;
-#X connect 41 1 42 0;
+#N canvas 157 91 536 536 10;
+#X declare -lib Gem;
+#X obj 32 137 t b b;
+#X obj 32 89 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
+;
+#X obj 260 176 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 283 198 loadbang;
+#X obj 57 160 s \$0-link;
+#X obj 32 187 s \$0-mass;
+#X msg 308 269 reset;
+#X msg 283 316 resetF;
+#X msg 168 137 0 \, destroy;
+#X obj 134 165 gemwin;
+#N canvas 1361 275 872 665 space_ship 0;
+#X obj 89 18 r \$0-link;
+#X obj 13 18 r \$0-mass;
+#X obj 323 371 gemhead;
+#X obj 323 435 translateXYZ;
+#X obj 311 406 unpack s f f;
+#X obj 200 377 gemhead;
+#X obj 200 441 translateXYZ;
+#X obj 188 412 unpack s f f;
+#X obj 70 383 gemhead;
+#X obj 74 456 translateXYZ;
+#X obj 58 418 unpack s f f;
+#X obj 406 380 gemhead;
+#X obj 406 444 translateXYZ;
+#X obj 394 415 unpack s f f;
+#X obj 68 239 link2D ship 0.6 0.1 0.1;
+#X obj 388 234 link2D ship 0.6 0.1 0.1;
+#X obj 392 285 link2D ship 0.3 0.1 0.1;
+#X obj 71 291 link2D ship 0.3 0.1 0.1;
+#X obj 69 341 mass2D ship_rearL 1 0.15 -0.3;
+#X obj 400 341 mass2D ship_rearR 1 -0.15 -0.3;
+#X obj 408 528 sphere 0.05;
+#X obj 71 535 sphere 0.05;
+#X obj 326 466 sphere 0.05;
+#X obj 135 116 tLink2D;
+#X obj 199 467 rotateXYZ;
+#X obj 71 510 scaleXYZ 2 1 1;
+#X obj 408 494 scaleXYZ 2 1 1;
+#X obj 74 485 rotateXYZ;
+#X obj 409 468 rotateXYZ;
+#X obj 206 545 sphere 0.2;
+#X msg 530 445 25;
+#X obj 528 421 loadbang;
+#X obj 234 23 mass2D ship_front 2 0 0.3;
+#X obj 199 514 ambientRGB 0 1 0;
+#X msg 673 120 setXY \$1 \$2;
+#X obj 697 28 inlet;
+#X msg 687 202 setXY \$1 \$2;
+#X obj 231 166 mass2D ship_body 3 0 0;
+#X obj 643 25 inlet;
+#X msg 601 325 setXY \$1 \$2;
+#X obj 201 492 scaleXYZ 1.5 0.5 0.5;
+#X obj 520 21 inlet;
+#N canvas 654 146 482 495 8_bulet 0;
+#X obj 170 34 inlet;
+#X obj 301 33 inlet;
+#X obj 36 22 inlet;
+#N canvas 0 0 474 556 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 240 278 gemhead;
+#X obj 228 350 translateXYZ;
+#X obj 220 307 unpack s f f;
+#X obj 222 384 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 252 360 pd bullet;
+#N canvas 497 321 480 418 bullet 0;
+#X obj 142 24 inlet;
+#X obj 139 278 gemhead;
+#X obj 140 328 translateXYZ;
+#X obj 123 304 unpack s f f;
+#X obj 130 357 sphere 0.03;
+#X obj 220 24 inlet;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 22 inlet;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 211 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 2 0;
+#X connect 2 0 4 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 5 0 6 0;
+#X connect 6 0 16 0;
+#X connect 7 0 10 0;
+#X connect 8 0 9 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 3 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 146 193 pd bullet;
+#N canvas 0 0 468 318 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 139 278 gemhead;
+#X obj 207 329 translateXYZ;
+#X obj 182 304 unpack s f f;
+#X obj 232 354 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 72 273 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 161 217 pd bullet;
+#N canvas 0 0 468 318 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 33 19 inlet;
+#X obj 139 278 gemhead;
+#X obj 201 331 translateXYZ;
+#X obj 173 305 unpack s f f;
+#X obj 219 360 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 204 268 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 177 241 pd bullet;
+#N canvas 0 0 466 370 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 206 281 gemhead;
+#X obj 230 335 translateXYZ;
+#X obj 185 302 unpack s f f;
+#X obj 243 365 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 189 265 pd bullet;
+#N canvas 0 0 468 377 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 179 278 gemhead;
+#X obj 205 330 translateXYZ;
+#X obj 182 303 unpack s f f;
+#X obj 209 356 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 205 289 pd bullet;
+#N canvas 0 0 464 453 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 228 277 gemhead;
+#X obj 195 336 translateXYZ;
+#X obj 199 305 unpack s f f;
+#X obj 185 366 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 220 313 pd bullet;
+#N canvas 0 0 464 454 bullet 0;
+#X obj 142 24 inlet;
+#X obj 220 24 inlet;
+#X obj 36 22 inlet;
+#X obj 220 283 gemhead;
+#X obj 202 337 translateXYZ;
+#X obj 201 308 unpack s f f;
+#X obj 186 364 sphere 0.03;
+#X msg 220 173 setXY \$1 \$2;
+#X obj 143 202 r \$0-mass;
+#X obj 36 44 t b b;
+#X obj 129 238 mass2D bulet 1 10 10;
+#X obj 142 49 unpack s f f;
+#X obj 136 131 pack f f;
+#X obj 134 106 f;
+#X msg 133 154 setXY \$1 \$2;
+#X obj 119 283 s bulletpos;
+#X obj 220 203 iCircle2D foo 0 0 0 1 0 0 0.04;
+#X connect 0 0 11 0;
+#X connect 1 0 7 0;
+#X connect 2 0 9 0;
+#X connect 3 0 4 0;
+#X connect 4 0 6 0;
+#X connect 5 1 4 1;
+#X connect 5 2 4 2;
+#X connect 7 0 16 0;
+#X connect 8 0 10 0;
+#X connect 9 0 16 0;
+#X connect 9 1 13 0;
+#X connect 10 0 5 0;
+#X connect 10 0 15 0;
+#X connect 11 1 13 1;
+#X connect 11 2 12 1;
+#X connect 12 0 14 0;
+#X connect 13 0 12 0;
+#X connect 14 0 10 0;
+#X connect 16 0 10 0;
+#X restore 236 337 pd bullet;
+#X obj 36 94 % 8;
+#X obj 36 125 sel 0 1 2 3 4 5 6 7;
+#X obj 36 71 + 1;
+#X msg 36 45 1;
+#X connect 0 0 3 1;
+#X connect 0 0 4 1;
+#X connect 0 0 5 1;
+#X connect 0 0 6 1;
+#X connect 0 0 7 1;
+#X connect 0 0 8 1;
+#X connect 0 0 9 1;
+#X connect 0 0 10 1;
+#X connect 1 0 3 2;
+#X connect 1 0 4 2;
+#X connect 1 0 5 2;
+#X connect 1 0 6 2;
+#X connect 1 0 7 2;
+#X connect 1 0 8 2;
+#X connect 1 0 9 2;
+#X connect 1 0 10 2;
+#X connect 2 0 14 0;
+#X connect 11 0 12 0;
+#X connect 11 0 13 1;
+#X connect 12 0 3 0;
+#X connect 12 1 10 0;
+#X connect 12 2 9 0;
+#X connect 12 3 8 0;
+#X connect 12 4 7 0;
+#X connect 12 5 6 0;
+#X connect 12 6 5 0;
+#X connect 12 7 4 0;
+#X connect 13 0 11 0;
+#X connect 14 0 13 0;
+#X restore 218 583 pd 8_bulet;
+#X obj 458 18 inlet;
+#X msg 610 392 setXY \$1 \$2;
+#X obj 585 22 inlet;
+#X obj 318 559 s space_ship;
+#X obj 673 150 iCircle2D foo 0 0 0 1 0 0.003;
+#X obj 693 229 iCircle2D foo 0 0 0 1 0 -0.003;
+#X obj 600 353 iCircle2D foo 0 0 0 1 -0.03;
+#X obj 611 430 iCircle2D foo 0 0 0 1 0.03;
+#X msg 689 87 dXY 0.1 0;
+#X msg 654 60 dXY -0.1 0;
+#X obj 228 313 link2D ship 0.2 0.1 0.1;
+#X obj 237 64 link2D ship 0.3 0.1 0.1;
+#X connect 0 0 14 0;
+#X connect 0 0 15 0;
+#X connect 0 0 16 0;
+#X connect 0 0 17 0;
+#X connect 0 0 23 0;
+#X connect 0 0 53 0;
+#X connect 0 0 54 0;
+#X connect 1 0 18 0;
+#X connect 1 0 19 0;
+#X connect 1 0 32 0;
+#X connect 1 0 37 0;
+#X connect 2 0 3 0;
+#X connect 3 0 22 0;
+#X connect 4 1 3 1;
+#X connect 4 2 3 2;
+#X connect 5 0 6 0;
+#X connect 6 0 24 0;
+#X connect 7 1 6 1;
+#X connect 7 2 6 2;
+#X connect 8 0 9 0;
+#X connect 9 0 27 0;
+#X connect 10 1 9 1;
+#X connect 10 2 9 2;
+#X connect 11 0 12 0;
+#X connect 12 0 28 0;
+#X connect 13 1 12 1;
+#X connect 13 2 12 2;
+#X connect 14 0 18 0;
+#X connect 14 1 32 0;
+#X connect 15 0 32 0;
+#X connect 15 1 19 0;
+#X connect 16 0 37 0;
+#X connect 16 1 19 0;
+#X connect 17 0 18 0;
+#X connect 17 1 37 0;
+#X connect 18 0 10 0;
+#X connect 18 0 14 0;
+#X connect 18 0 17 0;
+#X connect 18 0 46 0;
+#X connect 18 0 53 0;
+#X connect 19 0 13 0;
+#X connect 19 0 15 1;
+#X connect 19 0 16 1;
+#X connect 19 0 46 0;
+#X connect 19 0 53 1;
+#X connect 23 2 24 3;
+#X connect 23 2 27 3;
+#X connect 23 2 28 3;
+#X connect 24 0 40 0;
+#X connect 25 0 21 0;
+#X connect 26 0 20 0;
+#X connect 27 0 25 0;
+#X connect 28 0 26 0;
+#X connect 30 0 20 2;
+#X connect 30 0 29 2;
+#X connect 30 0 22 2;
+#X connect 30 0 21 2;
+#X connect 31 0 30 0;
+#X connect 32 0 4 0;
+#X connect 32 0 14 1;
+#X connect 32 0 15 0;
+#X connect 32 0 23 0;
+#X connect 32 0 39 0;
+#X connect 32 0 42 1;
+#X connect 32 0 44 0;
+#X connect 32 0 46 0;
+#X connect 32 0 54 0;
+#X connect 33 0 29 0;
+#X connect 34 0 47 0;
+#X connect 35 0 51 0;
+#X connect 36 0 48 0;
+#X connect 37 0 7 0;
+#X connect 37 0 16 0;
+#X connect 37 0 17 1;
+#X connect 37 0 23 1;
+#X connect 37 0 34 0;
+#X connect 37 0 36 0;
+#X connect 37 0 42 2;
+#X connect 37 0 46 0;
+#X connect 37 0 54 1;
+#X connect 38 0 52 0;
+#X connect 39 0 49 0;
+#X connect 40 0 33 0;
+#X connect 41 0 49 0;
+#X connect 43 0 42 0;
+#X connect 44 0 50 0;
+#X connect 45 0 50 0;
+#X connect 47 0 32 0;
+#X connect 47 0 19 0;
+#X connect 47 0 18 0;
+#X connect 48 0 32 0;
+#X connect 48 0 18 0;
+#X connect 48 0 19 0;
+#X connect 49 0 37 0;
+#X connect 50 0 37 0;
+#X connect 51 0 19 0;
+#X connect 51 0 37 0;
+#X connect 51 0 32 0;
+#X connect 51 0 18 0;
+#X connect 52 0 37 0;
+#X connect 52 0 32 0;
+#X connect 52 0 19 0;
+#X connect 52 0 18 0;
+#X connect 53 0 18 0;
+#X connect 53 1 19 0;
+#X connect 54 0 32 0;
+#X connect 54 1 37 0;
+#X restore 47 477 pd space_ship;
+#X obj 382 399 world_light;
+#X obj 382 377 gemhead 1;
+#X msg 134 114 reset \, lighting 1 \, create \, 1;
+#X obj 120 417 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 104 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 136 433 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 47 434 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 120 449 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 73 312 keyname;
+#X obj 73 333 pack f s;
+#X obj 73 355 route 1;
+#X obj 47 394 key;
+#X obj 47 415 sel 32;
+#X obj 73 376 route Up Down Left Right;
+#N canvas 213 219 1094 659 border 0;
+#X text 268 11 This is the first exemple of physical modeling;
+#X text 268 33 this is an elastic string;
+#X text 158 95 <- metronome send bangs to mass and link and gives the
+general computation speed;
+#X obj 47 198 link \$0-link 0 1 1;
+#X obj 63 251 link \$0-link 0 1 1;
+#X obj 89 307 link \$0-link 0 1 1;
+#X obj 108 364 link \$0-link 0 1 1;
+#X obj 138 420 link \$0-link 0 1 1;
+#X obj 165 477 link \$0-link 0 1 1;
+#X obj 42 174 mass \$0-mass 30;
+#X obj 57 226 mass \$0-mass 30;
+#X obj 84 283 mass \$0-mass 30;
+#X obj 104 340 mass \$0-mass 30;
+#X obj 134 395 mass \$0-mass 30;
+#X obj 163 452 mass \$0-mass 30;
+#X text 160 132 masss and link has to be compute one after the other.
+;
+#X obj 27 148 link \$0-link 0 0 5;
+#X obj 354 214 link \$0-link 0 1 1;
+#X obj 370 267 link \$0-link 0 1 1;
+#X obj 396 323 link \$0-link 0 1 1;
+#X obj 415 380 link \$0-link 0 1 1;
+#X obj 445 436 link \$0-link 0 1 1;
+#X obj 472 493 link \$0-link 0 1 1;
+#X obj 349 190 mass \$0-mass 30;
+#X obj 364 242 mass \$0-mass 30;
+#X obj 374 293 mass \$0-mass 30;
+#X obj 411 356 mass \$0-mass 30;
+#X obj 435 408 mass \$0-mass 30;
+#X obj 470 468 mass \$0-mass 30;
+#X obj 615 210 link \$0-link 0 1 1;
+#X obj 631 263 link \$0-link 0 1 1;
+#X obj 657 319 link \$0-link 0 1 1;
+#X obj 676 376 link \$0-link 0 1 1;
+#X obj 706 432 link \$0-link 0 1 1;
+#X obj 610 186 mass \$0-mass 30;
+#X obj 625 238 mass \$0-mass 30;
+#X obj 652 295 mass \$0-mass 30;
+#X obj 672 352 mass \$0-mass 30;
+#X obj 702 407 mass \$0-mass 30;
+#X obj 731 464 mass \$0-mass 30;
+#X obj 919 270 + 10;
+#X obj 919 202 loadbang;
+#X obj 919 225 metro 600;
+#X obj 921 292 / 10;
+#X obj 734 489 link \$0-link 0 0.01 2;
+#X obj 919 250 random 20;
+#X obj 62 41 r \$0-link;
+#X obj 869 481 game_line 4;
+#X obj 60 66 s bounce;
+#X obj 615 503 game_line 1;
+#X obj 759 221 game_line 1.5;
+#X obj 511 237 game_line -1;
+#X obj 203 229 game_line -4;
+#X obj 849 445 game_line 3.5;
+#X obj 804 388 game_line 3;
+#X obj 790 336 game_line 2.5;
+#X obj 774 273 game_line 2;
+#X obj 591 450 game_line 0.5;
+#X obj 568 391 game_line 0;
+#X obj 531 310 game_line -0.5;
+#X obj 324 466 game_line -1.5;
+#X obj 331 422 game_line -2;
+#X obj 272 381 game_line -2.5;
+#X obj 257 333 game_line -3;
+#X obj 223 286 game_line -3.5;
+#X connect 3 0 9 0;
+#X connect 3 1 10 0;
+#X connect 4 0 10 0;
+#X connect 4 1 11 0;
+#X connect 5 0 11 0;
+#X connect 5 1 12 0;
+#X connect 6 0 12 0;
+#X connect 6 1 13 0;
+#X connect 7 0 13 0;
+#X connect 7 1 14 0;
+#X connect 8 0 14 0;
+#X connect 8 1 23 0;
+#X connect 9 0 3 0;
+#X connect 9 0 16 1;
+#X connect 9 0 52 1;
+#X connect 10 0 3 1;
+#X connect 10 0 4 0;
+#X connect 10 0 52 0;
+#X connect 10 0 64 1;
+#X connect 11 0 4 1;
+#X connect 11 0 5 0;
+#X connect 11 0 63 1;
+#X connect 11 0 64 0;
+#X connect 12 0 5 1;
+#X connect 12 0 6 0;
+#X connect 12 0 62 1;
+#X connect 12 0 63 0;
+#X connect 13 0 6 1;
+#X connect 13 0 7 0;
+#X connect 13 0 61 1;
+#X connect 13 0 62 0;
+#X connect 14 0 7 1;
+#X connect 14 0 8 0;
+#X connect 14 0 60 1;
+#X connect 14 0 61 0;
+#X connect 16 1 9 0;
+#X connect 17 0 23 0;
+#X connect 17 1 24 0;
+#X connect 18 0 24 0;
+#X connect 18 1 25 0;
+#X connect 19 0 25 0;
+#X connect 19 1 26 0;
+#X connect 20 0 26 0;
+#X connect 20 1 27 0;
+#X connect 21 0 27 0;
+#X connect 21 1 28 0;
+#X connect 22 0 28 0;
+#X connect 22 1 34 0;
+#X connect 23 0 17 0;
+#X connect 23 0 8 1;
+#X connect 23 0 51 1;
+#X connect 23 0 60 0;
+#X connect 24 0 17 1;
+#X connect 24 0 18 0;
+#X connect 24 0 51 0;
+#X connect 24 0 59 1;
+#X connect 25 0 18 1;
+#X connect 25 0 19 0;
+#X connect 25 0 58 1;
+#X connect 25 0 59 0;
+#X connect 26 0 19 1;
+#X connect 26 0 20 0;
+#X connect 26 0 57 1;
+#X connect 26 0 58 0;
+#X connect 27 0 20 1;
+#X connect 27 0 21 0;
+#X connect 27 0 49 1;
+#X connect 27 0 57 0;
+#X connect 28 0 21 1;
+#X connect 28 0 22 0;
+#X connect 28 0 49 0;
+#X connect 28 0 50 1;
+#X connect 29 0 34 0;
+#X connect 29 1 35 0;
+#X connect 30 0 35 0;
+#X connect 30 1 36 0;
+#X connect 31 0 36 0;
+#X connect 31 0 37 0;
+#X connect 31 1 37 0;
+#X connect 32 0 37 0;
+#X connect 32 1 38 0;
+#X connect 33 0 38 0;
+#X connect 33 1 39 0;
+#X connect 34 0 29 0;
+#X connect 34 0 22 1;
+#X connect 34 0 50 0;
+#X connect 34 0 56 1;
+#X connect 35 0 29 1;
+#X connect 35 0 30 0;
+#X connect 35 0 55 1;
+#X connect 35 0 56 0;
+#X connect 36 0 30 1;
+#X connect 36 0 31 0;
+#X connect 36 0 54 1;
+#X connect 36 0 55 0;
+#X connect 37 0 31 1;
+#X connect 37 0 32 0;
+#X connect 37 0 53 1;
+#X connect 37 0 54 0;
+#X connect 38 0 32 1;
+#X connect 38 0 33 0;
+#X connect 38 0 47 1;
+#X connect 38 0 53 0;
+#X connect 39 0 33 1;
+#X connect 39 0 44 0;
+#X connect 39 0 47 0;
+#X connect 40 0 43 0;
+#X connect 41 0 42 0;
+#X connect 42 0 45 0;
+#X connect 43 0 44 1;
+#X connect 44 0 39 0;
+#X connect 45 0 40 0;
+#X connect 46 0 48 0;
+#X restore 382 421 pd border;
+#N canvas 819 401 251 318 bombs 0;
+#X obj 45 108 % 8;
+#X obj 45 85 + 1;
+#X obj 44 13 loadbang;
+#X msg 45 60 1;
+#X obj 45 36 metro 1200;
+#X obj 104 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 45 167 pd bomb;
+#X obj 45 140 sel 0 1 2 3 4 5 6 7;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 55 177 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 65 187 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 75 197 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 85 207 pd bomb;
+#N canvas 510 387 653 468 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 95 217 pd bomb;
+#N canvas 510 387 655 470 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X msg 80 123 setXY 0 5;
+#X obj 34 86 iAmbient2D foo 0 -1 0.2 0;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 22 0;
+#X connect 6 1 21 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 105 227 pd bomb;
+#N canvas 510 387 657 472 bomb 0;
+#X obj 36 22 inlet;
+#X obj 82 242 gemhead;
+#X obj 85 272 translateXYZ;
+#X obj 84 215 unpack s f f;
+#X obj 104 153 r \$0-mass;
+#X obj 86 294 color 1 0 0;
+#X obj 36 44 t b b b;
+#X msg 154 122 reset;
+#X obj 87 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 272 271 r space_ship;
+#X msg 261 240 setXY \$1 \$2;
+#X obj 262 294 tCircle2D 0 0 0 0.2;
+#X obj 262 316 sel 1;
+#X obj 86 316 sphere 0.2;
+#X obj 429 263 r bulletpos;
+#X obj 435 319 sel 1;
+#X obj 261 341 s space_inside;
+#X obj 430 292 tCircle2D 0 0 0 0.15;
+#X obj 463 382 s points;
+#X obj 85 186 mass2D bomb 100 1000 1000;
+#X msg 439 351 reset \, setXY 1000 1000;
+#X obj 34 86 iAmbient2D foo -0.1 -1 0.2 0;
+#X msg 80 123 setXY 0 5;
+#X connect 0 0 6 0;
+#X connect 1 0 2 0;
+#X connect 2 0 5 0;
+#X connect 3 1 2 1;
+#X connect 3 2 2 2;
+#X connect 4 0 19 0;
+#X connect 5 0 13 0;
+#X connect 6 0 21 0;
+#X connect 6 1 22 0;
+#X connect 6 2 7 0;
+#X connect 7 0 19 0;
+#X connect 8 0 6 0;
+#X connect 9 0 11 0;
+#X connect 10 0 11 0;
+#X connect 10 0 17 0;
+#X connect 11 0 12 0;
+#X connect 12 0 16 0;
+#X connect 14 0 17 0;
+#X connect 15 0 20 0;
+#X connect 15 0 18 0;
+#X connect 17 0 15 0;
+#X connect 19 0 3 0;
+#X connect 19 0 10 0;
+#X connect 20 0 19 0;
+#X connect 21 0 19 0;
+#X connect 22 0 19 0;
+#X restore 115 237 pd bomb;
+#X connect 0 0 1 1;
+#X connect 0 0 7 0;
+#X connect 1 0 0 0;
+#X connect 2 0 4 0;
+#X connect 3 0 1 0;
+#X connect 4 0 3 0;
+#X connect 5 0 4 0;
+#X connect 7 0 6 0;
+#X connect 7 1 8 0;
+#X connect 7 2 9 0;
+#X connect 7 3 10 0;
+#X connect 7 4 11 0;
+#X connect 7 5 12 0;
+#X connect 7 6 13 0;
+#X connect 7 7 14 0;
+#X restore 382 443 pd bombs;
+#X obj 32 68 loadbang;
+#X obj 283 339 s \$0-link;
+#X obj 308 294 s \$0-mass;
+#X obj 339 319 s rbombs;
+#X obj 32 110 metro 10;
+#X obj 283 246 t b b b b;
+#X text 187 433 <- move the ship;
+#X obj 367 269 s init;
+#N canvas 0 0 148 173 points 0;
+#X obj 53 36 r points;
+#X obj 58 108 + 1;
+#X obj 57 84 f;
+#X msg 24 60 -1;
+#X obj 24 16 r init;
+#X obj 57 135 outlet;
+#X connect 0 0 2 0;
+#X connect 1 0 2 1;
+#X connect 1 0 5 0;
+#X connect 2 0 1 0;
+#X connect 3 0 2 0;
+#X connect 4 0 3 0;
+#X restore 383 465 pd points;
+#X floatatom 383 488 5 0 0 0 - - -;
+#X text 181 448 (use arraw key to);
+#N canvas 265 590 255 308 init 0;
+#X obj 94 85 r bomb_in;
+#X obj 50 189 spigot;
+#X obj 95 146 delay 1000;
+#X msg 95 169 1;
+#X obj 64 35 r space_inside;
+#X obj 73 59 r inside;
+#X obj 51 230 outlet;
+#X obj 95 119 r init;
+#X msg 127 171 0;
+#X connect 0 0 1 0;
+#X connect 1 0 6 0;
+#X connect 2 0 3 0;
+#X connect 3 0 1 1;
+#X connect 4 0 1 0;
+#X connect 5 0 1 0;
+#X connect 7 0 8 0;
+#X connect 7 0 2 0;
+#X connect 8 0 1 1;
+#X restore 299 222 pd init;
+#X text 286 172 <- reset;
+#X text 444 482 <- points;
+#X obj 19 210 t b b;
+#X obj 54 235 s \$0-link;
+#X obj 19 261 s \$0-mass;
+#X text 226 10 space-ship game;
+#X text 131 37 use the arrow key to displace the "space ship". space
+for fire. you should stay in the tunnel \, and shoot the red bombs
+;
+#X text 133 80 game restart if you hit the tunnel \, or a red bomb
+;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 5 0;
+#X connect 0 1 4 0;
+#X connect 1 0 31 0;
+#X connect 2 0 32 0;
+#X connect 3 0 32 0;
+#X connect 6 0 29 0;
+#X connect 7 0 28 0;
+#X connect 8 0 9 0;
+#X connect 12 0 11 0;
+#X connect 13 0 9 0;
+#X connect 14 0 10 1;
+#X connect 15 0 10 3;
+#X connect 16 0 10 4;
+#X connect 17 0 10 0;
+#X connect 18 0 10 2;
+#X connect 19 0 20 0;
+#X connect 19 1 20 1;
+#X connect 20 0 21 0;
+#X connect 21 0 24 0;
+#X connect 22 0 23 0;
+#X connect 23 0 17 0;
+#X connect 24 0 14 0;
+#X connect 24 1 18 0;
+#X connect 24 2 15 0;
+#X connect 24 3 16 0;
+#X connect 27 0 1 0;
+#X connect 31 0 0 0;
+#X connect 31 0 41 0;
+#X connect 32 0 7 0;
+#X connect 32 1 6 0;
+#X connect 32 2 30 0;
+#X connect 32 3 34 0;
+#X connect 35 0 36 0;
+#X connect 38 0 32 0;
+#X connect 41 0 43 0;
+#X connect 41 1 42 0;
diff --git a/examples/44_flag.pd b/examples/44_flag.pd
index 54819bd..9bd8855 100644
--- a/examples/44_flag.pd
+++ b/examples/44_flag.pd
@@ -1,806 +1,808 @@
-#N canvas 178 45 497 616 10;
-#N canvas 529 347 774 319 array 0;
-#X obj 200 0 mass_link3 1 -3 -4 0;
-#X obj 400 0 mass_link3 2 -2 -4 0;
-#X obj 600 0 mass_link3 3 -1 -4 0;
-#X obj 800 0 mass_link3 4 0 -4 0;
-#X obj 1000 0 mass_link3 5 1 -4 0;
-#X obj 1200 0 mass_link3 6 2 -4 0;
-#X obj 1400 0 mass_link3 7 3 -4 0;
-#X obj 1600 0 mass_link3 8 4 -4 0;
-#X obj 20 20 mass_link3 9 -4 -3 0;
-#X obj 220 20 mass_link3 10 -3 -3 0;
-#X obj 420 20 mass_link3 11 -2 -3 0;
-#X obj 620 20 mass_link3 12 -1 -3 0;
-#X obj 820 20 mass_link3 13 0 -3 0;
-#X obj 1020 20 mass_link3 14 1 -3 0;
-#X obj 1220 20 mass_link3 15 2 -3 0;
-#X obj 1420 20 mass_link3 16 3 -3 0;
-#X obj 1620 20 mass_link3 17 4 -3 0;
-#X obj 40 40 mass_link3 18 -4 -2 0;
-#X obj 240 40 mass_link3 19 -3 -2 0;
-#X obj 440 40 mass_link3 20 -2 -2 0;
-#X obj 640 40 mass_link3 21 -1 -2 0;
-#X obj 840 40 mass_link3 22 0 -2 0;
-#X obj 1040 40 mass_link3 23 1 -2 0;
-#X obj 1240 40 mass_link3 24 2 -2 0;
-#X obj 1440 40 mass_link3 25 3 -2 0;
-#X obj 1640 40 mass_link3 26 4 -2 0;
-#X obj 60 60 mass_link3 27 -4 -1 0;
-#X obj 260 60 mass_link3 28 -3 -1 0;
-#X obj 460 60 mass_link3 29 -2 -1 0;
-#X obj 660 60 mass_link3 30 -1 -1 0;
-#X obj 860 60 mass_link3 31 0 -1 0;
-#X obj 1060 60 mass_link3 32 1 -1 0;
-#X obj 1260 60 mass_link3 33 2 -1 0;
-#X obj 1460 60 mass_link3 34 3 -1 0;
-#X obj 1660 60 mass_link3 35 4 -1 0;
-#X obj 80 80 mass_link3 36 -4 0 0;
-#X obj 280 80 mass_link3 37 -3 0 0;
-#X obj 480 80 mass_link3 38 -2 0 0;
-#X obj 680 80 mass_link3 39 -1 0 0;
-#X obj 880 80 mass_link3 40 0 0 0;
-#X obj 1080 80 mass_link3 41 1 0 0;
-#X obj 1280 80 mass_link3 42 2 0 0;
-#X obj 1480 80 mass_link3 43 3 0 0;
-#X obj 1680 80 mass_link3 44 4 0 0;
-#X obj 100 100 mass_link3 45 -4 1 0;
-#X obj 300 100 mass_link3 46 -3 1 0;
-#X obj 500 100 mass_link3 47 -2 1 0;
-#X obj 700 100 mass_link3 48 -1 1 0;
-#X obj 900 100 mass_link3 49 0 1 0;
-#X obj 1100 100 mass_link3 50 1 1 0;
-#X obj 1300 100 mass_link3 51 2 1 0;
-#X obj 1500 100 mass_link3 52 3 1 0;
-#X obj 1700 100 mass_link3 53 4 1 0;
-#X obj 120 120 mass_link3 54 -4 2 0;
-#X obj 320 120 mass_link3 55 -3 2 0;
-#X obj 520 120 mass_link3 56 -2 2 0;
-#X obj 720 120 mass_link3 57 -1 2 0;
-#X obj 920 120 mass_link3 58 0 2 0;
-#X obj 1120 120 mass_link3 59 1 2 0;
-#X obj 1320 120 mass_link3 60 2 2 0;
-#X obj 1520 120 mass_link3 61 3 2 0;
-#X obj 1720 120 mass_link3 62 4 2 0;
-#X obj 140 140 mass_link3 63 -4 3 0;
-#X obj 340 140 mass_link3 64 -3 3 0;
-#X obj 540 140 mass_link3 65 -2 3 0;
-#X obj 740 140 mass_link3 66 -1 3 0;
-#X obj 940 140 mass_link3 67 0 3 0;
-#X obj 1140 140 mass_link3 68 1 3 0;
-#X obj 1340 140 mass_link3 69 2 3 0;
-#X obj 1540 140 mass_link3 70 3 3 0;
-#X obj 1740 140 mass_link3 71 4 3 0;
-#X obj 360 160 mass_link3 73 -3 4 0;
-#X obj 560 160 mass_link3 74 -2 4 0;
-#X obj 760 160 mass_link3 75 -1 4 0;
-#X obj 960 160 mass_link3 76 0 4 0;
-#X obj 1160 160 mass_link3 77 1 4 0;
-#X obj 1360 160 mass_link3 78 2 4 0;
-#X obj 1560 160 mass_link3 79 3 4 0;
-#X obj 1760 160 mass_link3 80 4 4 0;
-#X obj 7 -1 mass_link2 -4 -4 0;
-#X obj 163 166 mass_link2 -4 4 0;
-#X connect 0 0 1 0;
-#X connect 0 0 9 0;
-#X connect 0 0 10 1;
-#X connect 0 0 8 1;
-#X connect 1 0 2 0;
-#X connect 1 0 0 0;
-#X connect 1 0 10 0;
-#X connect 1 0 11 1;
-#X connect 1 0 9 1;
-#X connect 2 0 3 0;
-#X connect 2 0 1 0;
-#X connect 2 0 11 0;
-#X connect 2 0 12 1;
-#X connect 2 0 10 1;
-#X connect 3 0 4 0;
-#X connect 3 0 2 0;
-#X connect 3 0 12 0;
-#X connect 3 0 13 1;
-#X connect 3 0 11 1;
-#X connect 4 0 5 0;
-#X connect 4 0 3 0;
-#X connect 4 0 13 0;
-#X connect 4 0 14 1;
-#X connect 4 0 12 1;
-#X connect 5 0 6 0;
-#X connect 5 0 4 0;
-#X connect 5 0 14 0;
-#X connect 5 0 15 1;
-#X connect 5 0 13 1;
-#X connect 6 0 7 0;
-#X connect 6 0 5 0;
-#X connect 6 0 15 0;
-#X connect 6 0 16 1;
-#X connect 6 0 14 1;
-#X connect 7 0 6 0;
-#X connect 7 0 16 0;
-#X connect 7 0 15 1;
-#X connect 8 0 9 0;
-#X connect 8 0 17 0;
-#X connect 8 0 18 1;
-#X connect 8 0 0 1;
-#X connect 9 0 10 0;
-#X connect 9 0 8 0;
-#X connect 9 0 18 0;
-#X connect 9 0 0 0;
-#X connect 9 0 19 1;
-#X connect 9 0 17 1;
-#X connect 9 0 1 1;
-#X connect 10 0 11 0;
-#X connect 10 0 9 0;
-#X connect 10 0 19 0;
-#X connect 10 0 1 0;
-#X connect 10 0 20 1;
-#X connect 10 0 18 1;
-#X connect 10 0 0 1;
-#X connect 10 0 2 1;
-#X connect 11 0 12 0;
-#X connect 11 0 10 0;
-#X connect 11 0 20 0;
-#X connect 11 0 2 0;
-#X connect 11 0 21 1;
-#X connect 11 0 19 1;
-#X connect 11 0 1 1;
-#X connect 11 0 3 1;
-#X connect 12 0 13 0;
-#X connect 12 0 11 0;
-#X connect 12 0 21 0;
-#X connect 12 0 3 0;
-#X connect 12 0 22 1;
-#X connect 12 0 20 1;
-#X connect 12 0 2 1;
-#X connect 12 0 4 1;
-#X connect 13 0 14 0;
-#X connect 13 0 12 0;
-#X connect 13 0 22 0;
-#X connect 13 0 4 0;
-#X connect 13 0 23 1;
-#X connect 13 0 21 1;
-#X connect 13 0 3 1;
-#X connect 13 0 5 1;
-#X connect 14 0 15 0;
-#X connect 14 0 13 0;
-#X connect 14 0 23 0;
-#X connect 14 0 5 0;
-#X connect 14 0 24 1;
-#X connect 14 0 22 1;
-#X connect 14 0 4 1;
-#X connect 14 0 6 1;
-#X connect 15 0 16 0;
-#X connect 15 0 14 0;
-#X connect 15 0 24 0;
-#X connect 15 0 6 0;
-#X connect 15 0 25 1;
-#X connect 15 0 23 1;
-#X connect 15 0 5 1;
-#X connect 15 0 7 1;
-#X connect 16 0 15 0;
-#X connect 16 0 25 0;
-#X connect 16 0 7 0;
-#X connect 16 0 24 1;
-#X connect 16 0 6 1;
-#X connect 17 0 18 0;
-#X connect 17 0 26 0;
-#X connect 17 0 8 0;
-#X connect 17 0 27 1;
-#X connect 17 0 9 1;
-#X connect 18 0 19 0;
-#X connect 18 0 17 0;
-#X connect 18 0 27 0;
-#X connect 18 0 9 0;
-#X connect 18 0 28 1;
-#X connect 18 0 26 1;
-#X connect 18 0 8 1;
-#X connect 18 0 10 1;
-#X connect 19 0 20 0;
-#X connect 19 0 18 0;
-#X connect 19 0 28 0;
-#X connect 19 0 10 0;
-#X connect 19 0 29 1;
-#X connect 19 0 27 1;
-#X connect 19 0 9 1;
-#X connect 19 0 11 1;
-#X connect 20 0 21 0;
-#X connect 20 0 19 0;
-#X connect 20 0 29 0;
-#X connect 20 0 11 0;
-#X connect 20 0 30 1;
-#X connect 20 0 28 1;
-#X connect 20 0 10 1;
-#X connect 20 0 12 1;
-#X connect 21 0 22 0;
-#X connect 21 0 20 0;
-#X connect 21 0 30 0;
-#X connect 21 0 12 0;
-#X connect 21 0 31 1;
-#X connect 21 0 29 1;
-#X connect 21 0 11 1;
-#X connect 21 0 13 1;
-#X connect 22 0 23 0;
-#X connect 22 0 21 0;
-#X connect 22 0 31 0;
-#X connect 22 0 13 0;
-#X connect 22 0 32 1;
-#X connect 22 0 30 1;
-#X connect 22 0 12 1;
-#X connect 22 0 14 1;
-#X connect 23 0 24 0;
-#X connect 23 0 22 0;
-#X connect 23 0 32 0;
-#X connect 23 0 14 0;
-#X connect 23 0 33 1;
-#X connect 23 0 31 1;
-#X connect 23 0 13 1;
-#X connect 23 0 15 1;
-#X connect 24 0 25 0;
-#X connect 24 0 23 0;
-#X connect 24 0 33 0;
-#X connect 24 0 15 0;
-#X connect 24 0 34 1;
-#X connect 24 0 32 1;
-#X connect 24 0 14 1;
-#X connect 24 0 16 1;
-#X connect 25 0 24 0;
-#X connect 25 0 34 0;
-#X connect 25 0 16 0;
-#X connect 25 0 33 1;
-#X connect 25 0 15 1;
-#X connect 26 0 27 0;
-#X connect 26 0 35 0;
-#X connect 26 0 17 0;
-#X connect 26 0 36 1;
-#X connect 26 0 18 1;
-#X connect 27 0 28 0;
-#X connect 27 0 26 0;
-#X connect 27 0 36 0;
-#X connect 27 0 18 0;
-#X connect 27 0 37 1;
-#X connect 27 0 35 1;
-#X connect 27 0 17 1;
-#X connect 27 0 19 1;
-#X connect 28 0 29 0;
-#X connect 28 0 27 0;
-#X connect 28 0 37 0;
-#X connect 28 0 19 0;
-#X connect 28 0 38 1;
-#X connect 28 0 36 1;
-#X connect 28 0 18 1;
-#X connect 28 0 20 1;
-#X connect 29 0 30 0;
-#X connect 29 0 28 0;
-#X connect 29 0 38 0;
-#X connect 29 0 20 0;
-#X connect 29 0 39 1;
-#X connect 29 0 37 1;
-#X connect 29 0 19 1;
-#X connect 29 0 21 1;
-#X connect 30 0 31 0;
-#X connect 30 0 29 0;
-#X connect 30 0 39 0;
-#X connect 30 0 21 0;
-#X connect 30 0 40 1;
-#X connect 30 0 38 1;
-#X connect 30 0 20 1;
-#X connect 30 0 22 1;
-#X connect 31 0 32 0;
-#X connect 31 0 30 0;
-#X connect 31 0 40 0;
-#X connect 31 0 22 0;
-#X connect 31 0 41 1;
-#X connect 31 0 39 1;
-#X connect 31 0 21 1;
-#X connect 31 0 23 1;
-#X connect 32 0 33 0;
-#X connect 32 0 31 0;
-#X connect 32 0 41 0;
-#X connect 32 0 23 0;
-#X connect 32 0 42 1;
-#X connect 32 0 40 1;
-#X connect 32 0 22 1;
-#X connect 32 0 24 1;
-#X connect 33 0 34 0;
-#X connect 33 0 32 0;
-#X connect 33 0 42 0;
-#X connect 33 0 24 0;
-#X connect 33 0 43 1;
-#X connect 33 0 41 1;
-#X connect 33 0 23 1;
-#X connect 33 0 25 1;
-#X connect 34 0 33 0;
-#X connect 34 0 43 0;
-#X connect 34 0 25 0;
-#X connect 34 0 42 1;
-#X connect 34 0 24 1;
-#X connect 35 0 36 0;
-#X connect 35 0 44 0;
-#X connect 35 0 26 0;
-#X connect 35 0 45 1;
-#X connect 35 0 27 1;
-#X connect 36 0 37 0;
-#X connect 36 0 35 0;
-#X connect 36 0 45 0;
-#X connect 36 0 27 0;
-#X connect 36 0 46 1;
-#X connect 36 0 44 1;
-#X connect 36 0 26 1;
-#X connect 36 0 28 1;
-#X connect 37 0 38 0;
-#X connect 37 0 36 0;
-#X connect 37 0 46 0;
-#X connect 37 0 28 0;
-#X connect 37 0 47 1;
-#X connect 37 0 45 1;
-#X connect 37 0 27 1;
-#X connect 37 0 29 1;
-#X connect 38 0 39 0;
-#X connect 38 0 37 0;
-#X connect 38 0 47 0;
-#X connect 38 0 29 0;
-#X connect 38 0 48 1;
-#X connect 38 0 46 1;
-#X connect 38 0 28 1;
-#X connect 38 0 30 1;
-#X connect 39 0 40 0;
-#X connect 39 0 38 0;
-#X connect 39 0 48 0;
-#X connect 39 0 30 0;
-#X connect 39 0 49 1;
-#X connect 39 0 47 1;
-#X connect 39 0 29 1;
-#X connect 39 0 31 1;
-#X connect 40 0 41 0;
-#X connect 40 0 39 0;
-#X connect 40 0 49 0;
-#X connect 40 0 31 0;
-#X connect 40 0 50 1;
-#X connect 40 0 48 1;
-#X connect 40 0 30 1;
-#X connect 40 0 32 1;
-#X connect 41 0 42 0;
-#X connect 41 0 40 0;
-#X connect 41 0 50 0;
-#X connect 41 0 32 0;
-#X connect 41 0 51 1;
-#X connect 41 0 49 1;
-#X connect 41 0 31 1;
-#X connect 41 0 33 1;
-#X connect 42 0 43 0;
-#X connect 42 0 41 0;
-#X connect 42 0 51 0;
-#X connect 42 0 33 0;
-#X connect 42 0 52 1;
-#X connect 42 0 50 1;
-#X connect 42 0 32 1;
-#X connect 42 0 34 1;
-#X connect 43 0 42 0;
-#X connect 43 0 52 0;
-#X connect 43 0 34 0;
-#X connect 43 0 51 1;
-#X connect 43 0 33 1;
-#X connect 44 0 45 0;
-#X connect 44 0 53 0;
-#X connect 44 0 35 0;
-#X connect 44 0 54 1;
-#X connect 44 0 36 1;
-#X connect 45 0 46 0;
-#X connect 45 0 44 0;
-#X connect 45 0 54 0;
-#X connect 45 0 36 0;
-#X connect 45 0 55 1;
-#X connect 45 0 53 1;
-#X connect 45 0 35 1;
-#X connect 45 0 37 1;
-#X connect 46 0 47 0;
-#X connect 46 0 45 0;
-#X connect 46 0 55 0;
-#X connect 46 0 37 0;
-#X connect 46 0 56 1;
-#X connect 46 0 54 1;
-#X connect 46 0 36 1;
-#X connect 46 0 38 1;
-#X connect 47 0 48 0;
-#X connect 47 0 46 0;
-#X connect 47 0 56 0;
-#X connect 47 0 38 0;
-#X connect 47 0 57 1;
-#X connect 47 0 55 1;
-#X connect 47 0 37 1;
-#X connect 47 0 39 1;
-#X connect 48 0 49 0;
-#X connect 48 0 47 0;
-#X connect 48 0 57 0;
-#X connect 48 0 39 0;
-#X connect 48 0 58 1;
-#X connect 48 0 56 1;
-#X connect 48 0 38 1;
-#X connect 48 0 40 1;
-#X connect 49 0 50 0;
-#X connect 49 0 48 0;
-#X connect 49 0 58 0;
-#X connect 49 0 40 0;
-#X connect 49 0 59 1;
-#X connect 49 0 57 1;
-#X connect 49 0 39 1;
-#X connect 49 0 41 1;
-#X connect 50 0 51 0;
-#X connect 50 0 49 0;
-#X connect 50 0 59 0;
-#X connect 50 0 41 0;
-#X connect 50 0 60 1;
-#X connect 50 0 58 1;
-#X connect 50 0 40 1;
-#X connect 50 0 42 1;
-#X connect 51 0 52 0;
-#X connect 51 0 50 0;
-#X connect 51 0 60 0;
-#X connect 51 0 42 0;
-#X connect 51 0 61 1;
-#X connect 51 0 59 1;
-#X connect 51 0 41 1;
-#X connect 51 0 43 1;
-#X connect 52 0 51 0;
-#X connect 52 0 61 0;
-#X connect 52 0 43 0;
-#X connect 52 0 60 1;
-#X connect 52 0 42 1;
-#X connect 53 0 54 0;
-#X connect 53 0 62 0;
-#X connect 53 0 44 0;
-#X connect 53 0 63 1;
-#X connect 53 0 45 1;
-#X connect 54 0 55 0;
-#X connect 54 0 53 0;
-#X connect 54 0 63 0;
-#X connect 54 0 45 0;
-#X connect 54 0 64 1;
-#X connect 54 0 62 1;
-#X connect 54 0 44 1;
-#X connect 54 0 46 1;
-#X connect 55 0 56 0;
-#X connect 55 0 54 0;
-#X connect 55 0 64 0;
-#X connect 55 0 46 0;
-#X connect 55 0 65 1;
-#X connect 55 0 63 1;
-#X connect 55 0 45 1;
-#X connect 55 0 47 1;
-#X connect 56 0 57 0;
-#X connect 56 0 55 0;
-#X connect 56 0 65 0;
-#X connect 56 0 47 0;
-#X connect 56 0 66 1;
-#X connect 56 0 64 1;
-#X connect 56 0 46 1;
-#X connect 56 0 48 1;
-#X connect 57 0 58 0;
-#X connect 57 0 56 0;
-#X connect 57 0 66 0;
-#X connect 57 0 48 0;
-#X connect 57 0 67 1;
-#X connect 57 0 65 1;
-#X connect 57 0 47 1;
-#X connect 57 0 49 1;
-#X connect 58 0 59 0;
-#X connect 58 0 57 0;
-#X connect 58 0 67 0;
-#X connect 58 0 49 0;
-#X connect 58 0 68 1;
-#X connect 58 0 66 1;
-#X connect 58 0 48 1;
-#X connect 58 0 50 1;
-#X connect 59 0 60 0;
-#X connect 59 0 58 0;
-#X connect 59 0 68 0;
-#X connect 59 0 50 0;
-#X connect 59 0 69 1;
-#X connect 59 0 67 1;
-#X connect 59 0 49 1;
-#X connect 59 0 51 1;
-#X connect 60 0 61 0;
-#X connect 60 0 59 0;
-#X connect 60 0 69 0;
-#X connect 60 0 51 0;
-#X connect 60 0 70 1;
-#X connect 60 0 68 1;
-#X connect 60 0 50 1;
-#X connect 60 0 52 1;
-#X connect 61 0 60 0;
-#X connect 61 0 70 0;
-#X connect 61 0 52 0;
-#X connect 61 0 69 1;
-#X connect 61 0 51 1;
-#X connect 62 0 63 0;
-#X connect 62 0 53 0;
-#X connect 62 0 71 1;
-#X connect 62 0 54 1;
-#X connect 63 0 64 0;
-#X connect 63 0 62 0;
-#X connect 63 0 71 0;
-#X connect 63 0 54 0;
-#X connect 63 0 72 1;
-#X connect 63 0 53 1;
-#X connect 63 0 55 1;
-#X connect 64 0 65 0;
-#X connect 64 0 63 0;
-#X connect 64 0 72 0;
-#X connect 64 0 55 0;
-#X connect 64 0 73 1;
-#X connect 64 0 71 1;
-#X connect 64 0 54 1;
-#X connect 64 0 56 1;
-#X connect 65 0 66 0;
-#X connect 65 0 64 0;
-#X connect 65 0 73 0;
-#X connect 65 0 56 0;
-#X connect 65 0 74 1;
-#X connect 65 0 72 1;
-#X connect 65 0 55 1;
-#X connect 65 0 57 1;
-#X connect 66 0 67 0;
-#X connect 66 0 65 0;
-#X connect 66 0 74 0;
-#X connect 66 0 57 0;
-#X connect 66 0 75 1;
-#X connect 66 0 73 1;
-#X connect 66 0 56 1;
-#X connect 66 0 58 1;
-#X connect 67 0 68 0;
-#X connect 67 0 66 0;
-#X connect 67 0 75 0;
-#X connect 67 0 58 0;
-#X connect 67 0 76 1;
-#X connect 67 0 74 1;
-#X connect 67 0 57 1;
-#X connect 67 0 59 1;
-#X connect 68 0 69 0;
-#X connect 68 0 67 0;
-#X connect 68 0 76 0;
-#X connect 68 0 59 0;
-#X connect 68 0 77 1;
-#X connect 68 0 75 1;
-#X connect 68 0 58 1;
-#X connect 68 0 60 1;
-#X connect 69 0 70 0;
-#X connect 69 0 68 0;
-#X connect 69 0 77 0;
-#X connect 69 0 60 0;
-#X connect 69 0 78 1;
-#X connect 69 0 76 1;
-#X connect 69 0 59 1;
-#X connect 69 0 61 1;
-#X connect 70 0 69 0;
-#X connect 70 0 78 0;
-#X connect 70 0 61 0;
-#X connect 70 0 77 1;
-#X connect 70 0 60 1;
-#X connect 71 0 72 0;
-#X connect 71 0 63 0;
-#X connect 71 0 62 1;
-#X connect 71 0 64 1;
-#X connect 72 0 73 0;
-#X connect 72 0 71 0;
-#X connect 72 0 64 0;
-#X connect 72 0 63 1;
-#X connect 72 0 65 1;
-#X connect 73 0 74 0;
-#X connect 73 0 72 0;
-#X connect 73 0 65 0;
-#X connect 73 0 64 1;
-#X connect 73 0 66 1;
-#X connect 74 0 75 0;
-#X connect 74 0 73 0;
-#X connect 74 0 66 0;
-#X connect 74 0 65 1;
-#X connect 74 0 67 1;
-#X connect 75 0 76 0;
-#X connect 75 0 74 0;
-#X connect 75 0 67 0;
-#X connect 75 0 66 1;
-#X connect 75 0 68 1;
-#X connect 76 0 77 0;
-#X connect 76 0 75 0;
-#X connect 76 0 68 0;
-#X connect 76 0 67 1;
-#X connect 76 0 69 1;
-#X connect 77 0 78 0;
-#X connect 77 0 76 0;
-#X connect 77 0 69 0;
-#X connect 77 0 68 1;
-#X connect 77 0 70 1;
-#X connect 78 0 77 0;
-#X connect 78 0 70 0;
-#X connect 78 0 69 1;
-#X connect 79 0 0 0;
-#X connect 79 0 8 0;
-#X connect 79 0 9 1;
-#X connect 80 0 71 0;
-#X connect 80 0 62 0;
-#X connect 80 0 63 1;
-#X restore 169 500 pd array;
-#X obj 23 31 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 60 155 s masse;
-#X obj 33 223 s lia;
-#X obj 58 181 s masse3;
-#X obj 23 107 t b b b;
-#X obj 41 202 s masse2;
-#X floatatom 60 57 5 0 0 0 - - -;
-#X msg 163 112 0 \, destroy;
-#X msg 154 88 lighting 1 \, create \, 1;
-#X obj 166 234 ch_gemwin;
-#X obj 185 163 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 201 186 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 218 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 214 141 camera position;
-#X obj 27 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 61 391 loadbang;
-#X obj 27 416 t b b b;
-#X msg 64 446 reset;
-#X msg 27 561 resetF;
-#X obj 79 492 s masse;
-#X obj 27 583 s link;
-#X obj 45 539 s r_lia;
-#X obj 64 516 s masse2;
-#X text 55 361 <- reset;
-#X obj 23 250 s lia2;
-#X obj 23 82 metro 5;
-#N canvas 0 0 452 302 init 0;
-#X msg 240 131 setK \$1;
-#X msg 357 131 setM \$1;
-#X obj 357 159 s masse;
-#X floatatom 240 107 5 0 0 0 - - -;
-#X floatatom 295 107 5 0 0 0 - - -;
-#X floatatom 357 108 5 0 0 0 - - -;
-#X msg 295 130 setD2 \$1;
-#X obj 240 62 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 189 158 s link;
-#X obj 240 39 loadbang;
-#X msg 189 131 setL \$1;
-#X floatatom 189 108 5 0 0 0 - - -;
-#X msg 62 153 setK \$1;
-#X floatatom 62 129 5 0 0 0 - - -;
-#X floatatom 117 129 5 0 0 0 - - -;
-#X msg 117 152 setD2 \$1;
-#X obj 62 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 62 61 loadbang;
-#X msg 11 153 setL \$1;
-#X floatatom 11 130 5 0 0 0 - - -;
-#X obj 11 180 s link2;
-#X msg 62 105 1;
-#X msg 240 83 1;
-#X msg 118 104 0;
-#X msg 297 81 1;
-#X msg 357 84 10;
-#X msg 189 84 1;
-#X msg 13 102 1.4;
-#X connect 0 0 8 0;
-#X connect 1 0 2 0;
-#X connect 3 0 0 0;
-#X connect 4 0 6 0;
-#X connect 5 0 1 0;
-#X connect 6 0 8 0;
-#X connect 7 0 22 0;
-#X connect 7 0 24 0;
-#X connect 7 0 25 0;
-#X connect 7 0 26 0;
-#X connect 9 0 7 0;
-#X connect 10 0 8 0;
-#X connect 11 0 10 0;
-#X connect 12 0 20 0;
-#X connect 13 0 12 0;
-#X connect 14 0 15 0;
-#X connect 15 0 20 0;
-#X connect 16 0 21 0;
-#X connect 16 0 23 0;
-#X connect 16 0 27 0;
-#X connect 17 0 16 0;
-#X connect 18 0 20 0;
-#X connect 19 0 18 0;
-#X connect 21 0 13 0;
-#X connect 22 0 3 0;
-#X connect 23 0 14 0;
-#X connect 24 0 4 0;
-#X connect 25 0 5 0;
-#X connect 26 0 11 0;
-#X connect 27 0 19 0;
-#X restore 169 551 pd init physical properties;
-#N canvas 0 0 452 302 gem 0;
-#X obj 15 213 world_light;
-#X obj 15 190 gemhead;
-#X obj 19 29 gemhead;
-#X obj 19 93 rotateXYZ;
-#X obj 19 119 s gemhead;
-#X floatatom 65 47 5 0 0 0 - - -;
-#X floatatom 111 46 5 0 0 0 - - -;
-#X floatatom 158 46 5 0 0 0 - - -;
-#X obj 19 68 translateXYZ 0 0 0;
-#X connect 1 0 0 0;
-#X connect 2 0 8 0;
-#X connect 3 0 4 0;
-#X connect 5 0 8 1;
-#X connect 6 0 8 2;
-#X connect 7 0 8 3;
-#X connect 8 0 3 0;
-#X restore 169 527 pd gem;
-#N canvas 0 0 452 302 constructor 0;
-#X obj 10 161 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X msg 216 13 1 0 0 1 1;
-#X msg 227 35 -1 0 0 1 1;
-#X msg 249 77 0 -1 0 1 1;
-#X msg 239 56 0 1 0 1 1;
-#X msg 259 97 1 1 0 1 2;
-#X msg 270 119 -1 1 0 1 2;
-#X msg 282 140 -1 -1 0 1 2;
-#X msg 292 161 1 -1 0 1 2;
-#X obj 10 188 constructor 9 9 1 -4 4 -4 4 0 0 mass_link3;
-#X connect 0 0 9 0;
-#X connect 1 0 9 1;
-#X connect 2 0 9 1;
-#X connect 3 0 9 1;
-#X connect 4 0 9 1;
-#X connect 5 0 9 1;
-#X connect 6 0 9 1;
-#X connect 7 0 9 1;
-#X connect 8 0 9 1;
-#X restore 169 575 pd constructor of the array;
-#X text 55 30 <- begin (change metro speed if to much);
-#X obj 169 472 s masse;
-#X msg 169 448 force3D \$1 -0.03 \$2;
-#X obj 169 425 pack f f;
-#X obj 169 266 random 100;
-#X obj 242 267 random 100;
-#X obj 169 340 / 1000;
-#X obj 242 293 - 50;
-#X obj 242 317 / 300;
-#X obj 71 133 s mass;
-#X obj 354 361 mass mass 1000;
-#X obj 90 472 s mass;
-#X obj 242 340 link lia 0 1 0 10;
-#X text 317 267 random wind speed;
-#X text 253 381 filter to get a smooth wind movment;
-#X text 204 11 flag in the wind;
-#X connect 1 0 26 0;
-#X connect 5 0 3 0;
-#X connect 5 0 25 0;
-#X connect 5 0 34 0;
-#X connect 5 0 35 0;
-#X connect 5 1 4 0;
-#X connect 5 1 6 0;
-#X connect 5 2 2 0;
-#X connect 5 2 39 0;
-#X connect 7 0 26 1;
-#X connect 8 0 10 0;
-#X connect 9 0 10 0;
-#X connect 11 0 10 1;
-#X connect 12 0 10 2;
-#X connect 13 0 10 3;
-#X connect 15 0 17 0;
-#X connect 16 0 17 0;
-#X connect 17 0 19 0;
-#X connect 17 1 22 0;
-#X connect 17 2 18 0;
-#X connect 18 0 20 0;
-#X connect 18 0 23 0;
-#X connect 18 0 41 0;
-#X connect 19 0 21 0;
-#X connect 26 0 5 0;
-#X connect 32 0 31 0;
-#X connect 33 0 32 0;
-#X connect 34 0 36 0;
-#X connect 35 0 37 0;
-#X connect 36 0 33 0;
-#X connect 37 0 38 0;
-#X connect 38 0 42 0;
-#X connect 40 0 33 1;
-#X connect 40 0 42 1;
-#X connect 42 1 40 0;
+#N canvas 174 91 497 616 10;
+#X declare -lib Gem;
+#N canvas 529 347 774 319 array 0;
+#X obj 200 0 mass_link3 1 -3 -4 0;
+#X obj 400 0 mass_link3 2 -2 -4 0;
+#X obj 600 0 mass_link3 3 -1 -4 0;
+#X obj 800 0 mass_link3 4 0 -4 0;
+#X obj 1000 0 mass_link3 5 1 -4 0;
+#X obj 1200 0 mass_link3 6 2 -4 0;
+#X obj 1400 0 mass_link3 7 3 -4 0;
+#X obj 1600 0 mass_link3 8 4 -4 0;
+#X obj 20 20 mass_link3 9 -4 -3 0;
+#X obj 220 20 mass_link3 10 -3 -3 0;
+#X obj 420 20 mass_link3 11 -2 -3 0;
+#X obj 620 20 mass_link3 12 -1 -3 0;
+#X obj 820 20 mass_link3 13 0 -3 0;
+#X obj 1020 20 mass_link3 14 1 -3 0;
+#X obj 1220 20 mass_link3 15 2 -3 0;
+#X obj 1420 20 mass_link3 16 3 -3 0;
+#X obj 1620 20 mass_link3 17 4 -3 0;
+#X obj 40 40 mass_link3 18 -4 -2 0;
+#X obj 240 40 mass_link3 19 -3 -2 0;
+#X obj 440 40 mass_link3 20 -2 -2 0;
+#X obj 640 40 mass_link3 21 -1 -2 0;
+#X obj 840 40 mass_link3 22 0 -2 0;
+#X obj 1040 40 mass_link3 23 1 -2 0;
+#X obj 1240 40 mass_link3 24 2 -2 0;
+#X obj 1440 40 mass_link3 25 3 -2 0;
+#X obj 1640 40 mass_link3 26 4 -2 0;
+#X obj 60 60 mass_link3 27 -4 -1 0;
+#X obj 260 60 mass_link3 28 -3 -1 0;
+#X obj 460 60 mass_link3 29 -2 -1 0;
+#X obj 660 60 mass_link3 30 -1 -1 0;
+#X obj 860 60 mass_link3 31 0 -1 0;
+#X obj 1060 60 mass_link3 32 1 -1 0;
+#X obj 1260 60 mass_link3 33 2 -1 0;
+#X obj 1460 60 mass_link3 34 3 -1 0;
+#X obj 1660 60 mass_link3 35 4 -1 0;
+#X obj 80 80 mass_link3 36 -4 0 0;
+#X obj 280 80 mass_link3 37 -3 0 0;
+#X obj 480 80 mass_link3 38 -2 0 0;
+#X obj 680 80 mass_link3 39 -1 0 0;
+#X obj 880 80 mass_link3 40 0 0 0;
+#X obj 1080 80 mass_link3 41 1 0 0;
+#X obj 1280 80 mass_link3 42 2 0 0;
+#X obj 1480 80 mass_link3 43 3 0 0;
+#X obj 1680 80 mass_link3 44 4 0 0;
+#X obj 100 100 mass_link3 45 -4 1 0;
+#X obj 300 100 mass_link3 46 -3 1 0;
+#X obj 500 100 mass_link3 47 -2 1 0;
+#X obj 700 100 mass_link3 48 -1 1 0;
+#X obj 900 100 mass_link3 49 0 1 0;
+#X obj 1100 100 mass_link3 50 1 1 0;
+#X obj 1300 100 mass_link3 51 2 1 0;
+#X obj 1500 100 mass_link3 52 3 1 0;
+#X obj 1700 100 mass_link3 53 4 1 0;
+#X obj 120 120 mass_link3 54 -4 2 0;
+#X obj 320 120 mass_link3 55 -3 2 0;
+#X obj 520 120 mass_link3 56 -2 2 0;
+#X obj 720 120 mass_link3 57 -1 2 0;
+#X obj 920 120 mass_link3 58 0 2 0;
+#X obj 1120 120 mass_link3 59 1 2 0;
+#X obj 1320 120 mass_link3 60 2 2 0;
+#X obj 1520 120 mass_link3 61 3 2 0;
+#X obj 1720 120 mass_link3 62 4 2 0;
+#X obj 140 140 mass_link3 63 -4 3 0;
+#X obj 340 140 mass_link3 64 -3 3 0;
+#X obj 540 140 mass_link3 65 -2 3 0;
+#X obj 740 140 mass_link3 66 -1 3 0;
+#X obj 940 140 mass_link3 67 0 3 0;
+#X obj 1140 140 mass_link3 68 1 3 0;
+#X obj 1340 140 mass_link3 69 2 3 0;
+#X obj 1540 140 mass_link3 70 3 3 0;
+#X obj 1740 140 mass_link3 71 4 3 0;
+#X obj 360 160 mass_link3 73 -3 4 0;
+#X obj 560 160 mass_link3 74 -2 4 0;
+#X obj 760 160 mass_link3 75 -1 4 0;
+#X obj 960 160 mass_link3 76 0 4 0;
+#X obj 1160 160 mass_link3 77 1 4 0;
+#X obj 1360 160 mass_link3 78 2 4 0;
+#X obj 1560 160 mass_link3 79 3 4 0;
+#X obj 1760 160 mass_link3 80 4 4 0;
+#X obj 7 -1 mass_link2 -4 -4 0;
+#X obj 163 166 mass_link2 -4 4 0;
+#X connect 0 0 1 0;
+#X connect 0 0 9 0;
+#X connect 0 0 10 1;
+#X connect 0 0 8 1;
+#X connect 1 0 2 0;
+#X connect 1 0 0 0;
+#X connect 1 0 10 0;
+#X connect 1 0 11 1;
+#X connect 1 0 9 1;
+#X connect 2 0 3 0;
+#X connect 2 0 1 0;
+#X connect 2 0 11 0;
+#X connect 2 0 12 1;
+#X connect 2 0 10 1;
+#X connect 3 0 4 0;
+#X connect 3 0 2 0;
+#X connect 3 0 12 0;
+#X connect 3 0 13 1;
+#X connect 3 0 11 1;
+#X connect 4 0 5 0;
+#X connect 4 0 3 0;
+#X connect 4 0 13 0;
+#X connect 4 0 14 1;
+#X connect 4 0 12 1;
+#X connect 5 0 6 0;
+#X connect 5 0 4 0;
+#X connect 5 0 14 0;
+#X connect 5 0 15 1;
+#X connect 5 0 13 1;
+#X connect 6 0 7 0;
+#X connect 6 0 5 0;
+#X connect 6 0 15 0;
+#X connect 6 0 16 1;
+#X connect 6 0 14 1;
+#X connect 7 0 6 0;
+#X connect 7 0 16 0;
+#X connect 7 0 15 1;
+#X connect 8 0 9 0;
+#X connect 8 0 17 0;
+#X connect 8 0 18 1;
+#X connect 8 0 0 1;
+#X connect 9 0 10 0;
+#X connect 9 0 8 0;
+#X connect 9 0 18 0;
+#X connect 9 0 0 0;
+#X connect 9 0 19 1;
+#X connect 9 0 17 1;
+#X connect 9 0 1 1;
+#X connect 10 0 11 0;
+#X connect 10 0 9 0;
+#X connect 10 0 19 0;
+#X connect 10 0 1 0;
+#X connect 10 0 20 1;
+#X connect 10 0 18 1;
+#X connect 10 0 0 1;
+#X connect 10 0 2 1;
+#X connect 11 0 12 0;
+#X connect 11 0 10 0;
+#X connect 11 0 20 0;
+#X connect 11 0 2 0;
+#X connect 11 0 21 1;
+#X connect 11 0 19 1;
+#X connect 11 0 1 1;
+#X connect 11 0 3 1;
+#X connect 12 0 13 0;
+#X connect 12 0 11 0;
+#X connect 12 0 21 0;
+#X connect 12 0 3 0;
+#X connect 12 0 22 1;
+#X connect 12 0 20 1;
+#X connect 12 0 2 1;
+#X connect 12 0 4 1;
+#X connect 13 0 14 0;
+#X connect 13 0 12 0;
+#X connect 13 0 22 0;
+#X connect 13 0 4 0;
+#X connect 13 0 23 1;
+#X connect 13 0 21 1;
+#X connect 13 0 3 1;
+#X connect 13 0 5 1;
+#X connect 14 0 15 0;
+#X connect 14 0 13 0;
+#X connect 14 0 23 0;
+#X connect 14 0 5 0;
+#X connect 14 0 24 1;
+#X connect 14 0 22 1;
+#X connect 14 0 4 1;
+#X connect 14 0 6 1;
+#X connect 15 0 16 0;
+#X connect 15 0 14 0;
+#X connect 15 0 24 0;
+#X connect 15 0 6 0;
+#X connect 15 0 25 1;
+#X connect 15 0 23 1;
+#X connect 15 0 5 1;
+#X connect 15 0 7 1;
+#X connect 16 0 15 0;
+#X connect 16 0 25 0;
+#X connect 16 0 7 0;
+#X connect 16 0 24 1;
+#X connect 16 0 6 1;
+#X connect 17 0 18 0;
+#X connect 17 0 26 0;
+#X connect 17 0 8 0;
+#X connect 17 0 27 1;
+#X connect 17 0 9 1;
+#X connect 18 0 19 0;
+#X connect 18 0 17 0;
+#X connect 18 0 27 0;
+#X connect 18 0 9 0;
+#X connect 18 0 28 1;
+#X connect 18 0 26 1;
+#X connect 18 0 8 1;
+#X connect 18 0 10 1;
+#X connect 19 0 20 0;
+#X connect 19 0 18 0;
+#X connect 19 0 28 0;
+#X connect 19 0 10 0;
+#X connect 19 0 29 1;
+#X connect 19 0 27 1;
+#X connect 19 0 9 1;
+#X connect 19 0 11 1;
+#X connect 20 0 21 0;
+#X connect 20 0 19 0;
+#X connect 20 0 29 0;
+#X connect 20 0 11 0;
+#X connect 20 0 30 1;
+#X connect 20 0 28 1;
+#X connect 20 0 10 1;
+#X connect 20 0 12 1;
+#X connect 21 0 22 0;
+#X connect 21 0 20 0;
+#X connect 21 0 30 0;
+#X connect 21 0 12 0;
+#X connect 21 0 31 1;
+#X connect 21 0 29 1;
+#X connect 21 0 11 1;
+#X connect 21 0 13 1;
+#X connect 22 0 23 0;
+#X connect 22 0 21 0;
+#X connect 22 0 31 0;
+#X connect 22 0 13 0;
+#X connect 22 0 32 1;
+#X connect 22 0 30 1;
+#X connect 22 0 12 1;
+#X connect 22 0 14 1;
+#X connect 23 0 24 0;
+#X connect 23 0 22 0;
+#X connect 23 0 32 0;
+#X connect 23 0 14 0;
+#X connect 23 0 33 1;
+#X connect 23 0 31 1;
+#X connect 23 0 13 1;
+#X connect 23 0 15 1;
+#X connect 24 0 25 0;
+#X connect 24 0 23 0;
+#X connect 24 0 33 0;
+#X connect 24 0 15 0;
+#X connect 24 0 34 1;
+#X connect 24 0 32 1;
+#X connect 24 0 14 1;
+#X connect 24 0 16 1;
+#X connect 25 0 24 0;
+#X connect 25 0 34 0;
+#X connect 25 0 16 0;
+#X connect 25 0 33 1;
+#X connect 25 0 15 1;
+#X connect 26 0 27 0;
+#X connect 26 0 35 0;
+#X connect 26 0 17 0;
+#X connect 26 0 36 1;
+#X connect 26 0 18 1;
+#X connect 27 0 28 0;
+#X connect 27 0 26 0;
+#X connect 27 0 36 0;
+#X connect 27 0 18 0;
+#X connect 27 0 37 1;
+#X connect 27 0 35 1;
+#X connect 27 0 17 1;
+#X connect 27 0 19 1;
+#X connect 28 0 29 0;
+#X connect 28 0 27 0;
+#X connect 28 0 37 0;
+#X connect 28 0 19 0;
+#X connect 28 0 38 1;
+#X connect 28 0 36 1;
+#X connect 28 0 18 1;
+#X connect 28 0 20 1;
+#X connect 29 0 30 0;
+#X connect 29 0 28 0;
+#X connect 29 0 38 0;
+#X connect 29 0 20 0;
+#X connect 29 0 39 1;
+#X connect 29 0 37 1;
+#X connect 29 0 19 1;
+#X connect 29 0 21 1;
+#X connect 30 0 31 0;
+#X connect 30 0 29 0;
+#X connect 30 0 39 0;
+#X connect 30 0 21 0;
+#X connect 30 0 40 1;
+#X connect 30 0 38 1;
+#X connect 30 0 20 1;
+#X connect 30 0 22 1;
+#X connect 31 0 32 0;
+#X connect 31 0 30 0;
+#X connect 31 0 40 0;
+#X connect 31 0 22 0;
+#X connect 31 0 41 1;
+#X connect 31 0 39 1;
+#X connect 31 0 21 1;
+#X connect 31 0 23 1;
+#X connect 32 0 33 0;
+#X connect 32 0 31 0;
+#X connect 32 0 41 0;
+#X connect 32 0 23 0;
+#X connect 32 0 42 1;
+#X connect 32 0 40 1;
+#X connect 32 0 22 1;
+#X connect 32 0 24 1;
+#X connect 33 0 34 0;
+#X connect 33 0 32 0;
+#X connect 33 0 42 0;
+#X connect 33 0 24 0;
+#X connect 33 0 43 1;
+#X connect 33 0 41 1;
+#X connect 33 0 23 1;
+#X connect 33 0 25 1;
+#X connect 34 0 33 0;
+#X connect 34 0 43 0;
+#X connect 34 0 25 0;
+#X connect 34 0 42 1;
+#X connect 34 0 24 1;
+#X connect 35 0 36 0;
+#X connect 35 0 44 0;
+#X connect 35 0 26 0;
+#X connect 35 0 45 1;
+#X connect 35 0 27 1;
+#X connect 36 0 37 0;
+#X connect 36 0 35 0;
+#X connect 36 0 45 0;
+#X connect 36 0 27 0;
+#X connect 36 0 46 1;
+#X connect 36 0 44 1;
+#X connect 36 0 26 1;
+#X connect 36 0 28 1;
+#X connect 37 0 38 0;
+#X connect 37 0 36 0;
+#X connect 37 0 46 0;
+#X connect 37 0 28 0;
+#X connect 37 0 47 1;
+#X connect 37 0 45 1;
+#X connect 37 0 27 1;
+#X connect 37 0 29 1;
+#X connect 38 0 39 0;
+#X connect 38 0 37 0;
+#X connect 38 0 47 0;
+#X connect 38 0 29 0;
+#X connect 38 0 48 1;
+#X connect 38 0 46 1;
+#X connect 38 0 28 1;
+#X connect 38 0 30 1;
+#X connect 39 0 40 0;
+#X connect 39 0 38 0;
+#X connect 39 0 48 0;
+#X connect 39 0 30 0;
+#X connect 39 0 49 1;
+#X connect 39 0 47 1;
+#X connect 39 0 29 1;
+#X connect 39 0 31 1;
+#X connect 40 0 41 0;
+#X connect 40 0 39 0;
+#X connect 40 0 49 0;
+#X connect 40 0 31 0;
+#X connect 40 0 50 1;
+#X connect 40 0 48 1;
+#X connect 40 0 30 1;
+#X connect 40 0 32 1;
+#X connect 41 0 42 0;
+#X connect 41 0 40 0;
+#X connect 41 0 50 0;
+#X connect 41 0 32 0;
+#X connect 41 0 51 1;
+#X connect 41 0 49 1;
+#X connect 41 0 31 1;
+#X connect 41 0 33 1;
+#X connect 42 0 43 0;
+#X connect 42 0 41 0;
+#X connect 42 0 51 0;
+#X connect 42 0 33 0;
+#X connect 42 0 52 1;
+#X connect 42 0 50 1;
+#X connect 42 0 32 1;
+#X connect 42 0 34 1;
+#X connect 43 0 42 0;
+#X connect 43 0 52 0;
+#X connect 43 0 34 0;
+#X connect 43 0 51 1;
+#X connect 43 0 33 1;
+#X connect 44 0 45 0;
+#X connect 44 0 53 0;
+#X connect 44 0 35 0;
+#X connect 44 0 54 1;
+#X connect 44 0 36 1;
+#X connect 45 0 46 0;
+#X connect 45 0 44 0;
+#X connect 45 0 54 0;
+#X connect 45 0 36 0;
+#X connect 45 0 55 1;
+#X connect 45 0 53 1;
+#X connect 45 0 35 1;
+#X connect 45 0 37 1;
+#X connect 46 0 47 0;
+#X connect 46 0 45 0;
+#X connect 46 0 55 0;
+#X connect 46 0 37 0;
+#X connect 46 0 56 1;
+#X connect 46 0 54 1;
+#X connect 46 0 36 1;
+#X connect 46 0 38 1;
+#X connect 47 0 48 0;
+#X connect 47 0 46 0;
+#X connect 47 0 56 0;
+#X connect 47 0 38 0;
+#X connect 47 0 57 1;
+#X connect 47 0 55 1;
+#X connect 47 0 37 1;
+#X connect 47 0 39 1;
+#X connect 48 0 49 0;
+#X connect 48 0 47 0;
+#X connect 48 0 57 0;
+#X connect 48 0 39 0;
+#X connect 48 0 58 1;
+#X connect 48 0 56 1;
+#X connect 48 0 38 1;
+#X connect 48 0 40 1;
+#X connect 49 0 50 0;
+#X connect 49 0 48 0;
+#X connect 49 0 58 0;
+#X connect 49 0 40 0;
+#X connect 49 0 59 1;
+#X connect 49 0 57 1;
+#X connect 49 0 39 1;
+#X connect 49 0 41 1;
+#X connect 50 0 51 0;
+#X connect 50 0 49 0;
+#X connect 50 0 59 0;
+#X connect 50 0 41 0;
+#X connect 50 0 60 1;
+#X connect 50 0 58 1;
+#X connect 50 0 40 1;
+#X connect 50 0 42 1;
+#X connect 51 0 52 0;
+#X connect 51 0 50 0;
+#X connect 51 0 60 0;
+#X connect 51 0 42 0;
+#X connect 51 0 61 1;
+#X connect 51 0 59 1;
+#X connect 51 0 41 1;
+#X connect 51 0 43 1;
+#X connect 52 0 51 0;
+#X connect 52 0 61 0;
+#X connect 52 0 43 0;
+#X connect 52 0 60 1;
+#X connect 52 0 42 1;
+#X connect 53 0 54 0;
+#X connect 53 0 62 0;
+#X connect 53 0 44 0;
+#X connect 53 0 63 1;
+#X connect 53 0 45 1;
+#X connect 54 0 55 0;
+#X connect 54 0 53 0;
+#X connect 54 0 63 0;
+#X connect 54 0 45 0;
+#X connect 54 0 64 1;
+#X connect 54 0 62 1;
+#X connect 54 0 44 1;
+#X connect 54 0 46 1;
+#X connect 55 0 56 0;
+#X connect 55 0 54 0;
+#X connect 55 0 64 0;
+#X connect 55 0 46 0;
+#X connect 55 0 65 1;
+#X connect 55 0 63 1;
+#X connect 55 0 45 1;
+#X connect 55 0 47 1;
+#X connect 56 0 57 0;
+#X connect 56 0 55 0;
+#X connect 56 0 65 0;
+#X connect 56 0 47 0;
+#X connect 56 0 66 1;
+#X connect 56 0 64 1;
+#X connect 56 0 46 1;
+#X connect 56 0 48 1;
+#X connect 57 0 58 0;
+#X connect 57 0 56 0;
+#X connect 57 0 66 0;
+#X connect 57 0 48 0;
+#X connect 57 0 67 1;
+#X connect 57 0 65 1;
+#X connect 57 0 47 1;
+#X connect 57 0 49 1;
+#X connect 58 0 59 0;
+#X connect 58 0 57 0;
+#X connect 58 0 67 0;
+#X connect 58 0 49 0;
+#X connect 58 0 68 1;
+#X connect 58 0 66 1;
+#X connect 58 0 48 1;
+#X connect 58 0 50 1;
+#X connect 59 0 60 0;
+#X connect 59 0 58 0;
+#X connect 59 0 68 0;
+#X connect 59 0 50 0;
+#X connect 59 0 69 1;
+#X connect 59 0 67 1;
+#X connect 59 0 49 1;
+#X connect 59 0 51 1;
+#X connect 60 0 61 0;
+#X connect 60 0 59 0;
+#X connect 60 0 69 0;
+#X connect 60 0 51 0;
+#X connect 60 0 70 1;
+#X connect 60 0 68 1;
+#X connect 60 0 50 1;
+#X connect 60 0 52 1;
+#X connect 61 0 60 0;
+#X connect 61 0 70 0;
+#X connect 61 0 52 0;
+#X connect 61 0 69 1;
+#X connect 61 0 51 1;
+#X connect 62 0 63 0;
+#X connect 62 0 53 0;
+#X connect 62 0 71 1;
+#X connect 62 0 54 1;
+#X connect 63 0 64 0;
+#X connect 63 0 62 0;
+#X connect 63 0 71 0;
+#X connect 63 0 54 0;
+#X connect 63 0 72 1;
+#X connect 63 0 53 1;
+#X connect 63 0 55 1;
+#X connect 64 0 65 0;
+#X connect 64 0 63 0;
+#X connect 64 0 72 0;
+#X connect 64 0 55 0;
+#X connect 64 0 73 1;
+#X connect 64 0 71 1;
+#X connect 64 0 54 1;
+#X connect 64 0 56 1;
+#X connect 65 0 66 0;
+#X connect 65 0 64 0;
+#X connect 65 0 73 0;
+#X connect 65 0 56 0;
+#X connect 65 0 74 1;
+#X connect 65 0 72 1;
+#X connect 65 0 55 1;
+#X connect 65 0 57 1;
+#X connect 66 0 67 0;
+#X connect 66 0 65 0;
+#X connect 66 0 74 0;
+#X connect 66 0 57 0;
+#X connect 66 0 75 1;
+#X connect 66 0 73 1;
+#X connect 66 0 56 1;
+#X connect 66 0 58 1;
+#X connect 67 0 68 0;
+#X connect 67 0 66 0;
+#X connect 67 0 75 0;
+#X connect 67 0 58 0;
+#X connect 67 0 76 1;
+#X connect 67 0 74 1;
+#X connect 67 0 57 1;
+#X connect 67 0 59 1;
+#X connect 68 0 69 0;
+#X connect 68 0 67 0;
+#X connect 68 0 76 0;
+#X connect 68 0 59 0;
+#X connect 68 0 77 1;
+#X connect 68 0 75 1;
+#X connect 68 0 58 1;
+#X connect 68 0 60 1;
+#X connect 69 0 70 0;
+#X connect 69 0 68 0;
+#X connect 69 0 77 0;
+#X connect 69 0 60 0;
+#X connect 69 0 78 1;
+#X connect 69 0 76 1;
+#X connect 69 0 59 1;
+#X connect 69 0 61 1;
+#X connect 70 0 69 0;
+#X connect 70 0 78 0;
+#X connect 70 0 61 0;
+#X connect 70 0 77 1;
+#X connect 70 0 60 1;
+#X connect 71 0 72 0;
+#X connect 71 0 63 0;
+#X connect 71 0 62 1;
+#X connect 71 0 64 1;
+#X connect 72 0 73 0;
+#X connect 72 0 71 0;
+#X connect 72 0 64 0;
+#X connect 72 0 63 1;
+#X connect 72 0 65 1;
+#X connect 73 0 74 0;
+#X connect 73 0 72 0;
+#X connect 73 0 65 0;
+#X connect 73 0 64 1;
+#X connect 73 0 66 1;
+#X connect 74 0 75 0;
+#X connect 74 0 73 0;
+#X connect 74 0 66 0;
+#X connect 74 0 65 1;
+#X connect 74 0 67 1;
+#X connect 75 0 76 0;
+#X connect 75 0 74 0;
+#X connect 75 0 67 0;
+#X connect 75 0 66 1;
+#X connect 75 0 68 1;
+#X connect 76 0 77 0;
+#X connect 76 0 75 0;
+#X connect 76 0 68 0;
+#X connect 76 0 67 1;
+#X connect 76 0 69 1;
+#X connect 77 0 78 0;
+#X connect 77 0 76 0;
+#X connect 77 0 69 0;
+#X connect 77 0 68 1;
+#X connect 77 0 70 1;
+#X connect 78 0 77 0;
+#X connect 78 0 70 0;
+#X connect 78 0 69 1;
+#X connect 79 0 0 0;
+#X connect 79 0 8 0;
+#X connect 79 0 9 1;
+#X connect 80 0 71 0;
+#X connect 80 0 62 0;
+#X connect 80 0 63 1;
+#X restore 169 500 pd array;
+#X obj 23 31 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 60 155 s masse;
+#X obj 33 223 s lia;
+#X obj 58 181 s masse3;
+#X obj 23 107 t b b b;
+#X obj 41 202 s masse2;
+#X floatatom 60 57 5 0 0 0 - - -;
+#X msg 163 112 0 \, destroy;
+#X msg 154 88 lighting 1 \, create \, 1;
+#X obj 166 234 ch_gemwin;
+#X obj 185 163 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 201 186 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 218 211 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 214 141 camera position;
+#X obj 27 361 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 61 391 loadbang;
+#X obj 27 416 t b b b;
+#X msg 64 446 reset;
+#X msg 27 561 resetF;
+#X obj 79 492 s masse;
+#X obj 27 583 s link;
+#X obj 45 539 s r_lia;
+#X obj 64 516 s masse2;
+#X text 55 361 <- reset;
+#X obj 23 250 s lia2;
+#X obj 23 82 metro 5;
+#N canvas 0 0 452 302 init 0;
+#X msg 240 131 setK \$1;
+#X msg 357 131 setM \$1;
+#X obj 357 159 s masse;
+#X floatatom 240 107 5 0 0 0 - - -;
+#X floatatom 295 107 5 0 0 0 - - -;
+#X floatatom 357 108 5 0 0 0 - - -;
+#X msg 295 130 setD2 \$1;
+#X obj 240 62 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 189 158 s link;
+#X obj 240 39 loadbang;
+#X msg 189 131 setL \$1;
+#X floatatom 189 108 5 0 0 0 - - -;
+#X msg 62 153 setK \$1;
+#X floatatom 62 129 5 0 0 0 - - -;
+#X floatatom 117 129 5 0 0 0 - - -;
+#X msg 117 152 setD2 \$1;
+#X obj 62 84 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 62 61 loadbang;
+#X msg 11 153 setL \$1;
+#X floatatom 11 130 5 0 0 0 - - -;
+#X obj 11 180 s link2;
+#X msg 62 105 1;
+#X msg 240 83 1;
+#X msg 118 104 0;
+#X msg 297 81 1;
+#X msg 357 84 10;
+#X msg 189 84 1;
+#X msg 13 102 1.4;
+#X connect 0 0 8 0;
+#X connect 1 0 2 0;
+#X connect 3 0 0 0;
+#X connect 4 0 6 0;
+#X connect 5 0 1 0;
+#X connect 6 0 8 0;
+#X connect 7 0 22 0;
+#X connect 7 0 24 0;
+#X connect 7 0 25 0;
+#X connect 7 0 26 0;
+#X connect 9 0 7 0;
+#X connect 10 0 8 0;
+#X connect 11 0 10 0;
+#X connect 12 0 20 0;
+#X connect 13 0 12 0;
+#X connect 14 0 15 0;
+#X connect 15 0 20 0;
+#X connect 16 0 21 0;
+#X connect 16 0 23 0;
+#X connect 16 0 27 0;
+#X connect 17 0 16 0;
+#X connect 18 0 20 0;
+#X connect 19 0 18 0;
+#X connect 21 0 13 0;
+#X connect 22 0 3 0;
+#X connect 23 0 14 0;
+#X connect 24 0 4 0;
+#X connect 25 0 5 0;
+#X connect 26 0 11 0;
+#X connect 27 0 19 0;
+#X restore 169 551 pd init physical properties;
+#N canvas 0 0 452 302 gem 0;
+#X obj 15 213 world_light;
+#X obj 15 190 gemhead;
+#X obj 19 29 gemhead;
+#X obj 19 93 rotateXYZ;
+#X obj 19 119 s gemhead;
+#X floatatom 65 47 5 0 0 0 - - -;
+#X floatatom 111 46 5 0 0 0 - - -;
+#X floatatom 158 46 5 0 0 0 - - -;
+#X obj 19 68 translateXYZ 0 0 0;
+#X connect 1 0 0 0;
+#X connect 2 0 8 0;
+#X connect 3 0 4 0;
+#X connect 5 0 8 1;
+#X connect 6 0 8 2;
+#X connect 7 0 8 3;
+#X connect 8 0 3 0;
+#X restore 169 527 pd gem;
+#N canvas 0 0 452 302 constructor 0;
+#X obj 10 161 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 216 13 1 0 0 1 1;
+#X msg 227 35 -1 0 0 1 1;
+#X msg 249 77 0 -1 0 1 1;
+#X msg 239 56 0 1 0 1 1;
+#X msg 259 97 1 1 0 1 2;
+#X msg 270 119 -1 1 0 1 2;
+#X msg 282 140 -1 -1 0 1 2;
+#X msg 292 161 1 -1 0 1 2;
+#X obj 10 188 constructor 9 9 1 -4 4 -4 4 0 0 mass_link3;
+#X connect 0 0 9 0;
+#X connect 1 0 9 1;
+#X connect 2 0 9 1;
+#X connect 3 0 9 1;
+#X connect 4 0 9 1;
+#X connect 5 0 9 1;
+#X connect 6 0 9 1;
+#X connect 7 0 9 1;
+#X connect 8 0 9 1;
+#X restore 169 575 pd constructor of the array;
+#X text 55 30 <- begin (change metro speed if to much);
+#X obj 169 472 s masse;
+#X msg 169 448 force3D \$1 -0.03 \$2;
+#X obj 169 425 pack f f;
+#X obj 169 266 random 100;
+#X obj 242 267 random 100;
+#X obj 169 340 / 1000;
+#X obj 242 293 - 50;
+#X obj 242 317 / 300;
+#X obj 71 133 s mass;
+#X obj 354 361 mass mass 1000;
+#X obj 90 472 s mass;
+#X obj 242 340 link lia 0 1 0 10;
+#X text 317 267 random wind speed;
+#X text 253 381 filter to get a smooth wind movment;
+#X text 204 11 flag in the wind;
+#X obj 10 2 declare -lib Gem;
+#X connect 1 0 26 0;
+#X connect 5 0 3 0;
+#X connect 5 0 25 0;
+#X connect 5 0 34 0;
+#X connect 5 0 35 0;
+#X connect 5 1 4 0;
+#X connect 5 1 6 0;
+#X connect 5 2 2 0;
+#X connect 5 2 39 0;
+#X connect 7 0 26 1;
+#X connect 8 0 10 0;
+#X connect 9 0 10 0;
+#X connect 11 0 10 1;
+#X connect 12 0 10 2;
+#X connect 13 0 10 3;
+#X connect 15 0 17 0;
+#X connect 16 0 17 0;
+#X connect 17 0 19 0;
+#X connect 17 1 22 0;
+#X connect 17 2 18 0;
+#X connect 18 0 20 0;
+#X connect 18 0 23 0;
+#X connect 18 0 41 0;
+#X connect 19 0 21 0;
+#X connect 26 0 5 0;
+#X connect 32 0 31 0;
+#X connect 33 0 32 0;
+#X connect 34 0 36 0;
+#X connect 35 0 37 0;
+#X connect 36 0 33 0;
+#X connect 37 0 38 0;
+#X connect 38 0 42 0;
+#X connect 40 0 33 1;
+#X connect 40 0 42 1;
+#X connect 42 1 40 0;
diff --git a/examples/45_newWave.pd b/examples/45_newWave.pd
index 70befec..45a13c5 100644
--- a/examples/45_newWave.pd
+++ b/examples/45_newWave.pd
@@ -1,784 +1,786 @@
-#N canvas 362 77 770 697 10;
-#N canvas 150 74 837 606 array 0;
-#X obj 1893 163 outlet;
-#X obj 121 835 outlet;
-#X obj 200 400 mountain 45 -4 0 -1;
-#X obj 400 300 mountain 35 -3 0 -2;
-#X obj 200 200 mountain 23 -4 0 -3;
-#X obj 0 0 mountain 0 -5 0 -5;
-#X obj 200 0 mountain 1 -4 0 -5;
-#X obj 400 0 mountain 2 -3 0 -5;
-#X obj 600 0 mountain 3 -2 0 -5;
-#X obj 800 0 mountain 4 -1 0 -5;
-#X obj 1000 0 mountain 5 0 0 -5;
-#X obj 1200 0 mountain 6 1 0 -5;
-#X obj 1400 0 mountain 7 2 0 -5;
-#X obj 1600 0 mountain 8 3 0 -5;
-#X obj 1800 0 mountain 9 4 0 -5;
-#X obj 2000 0 mountain 10 5 0 -5;
-#X obj 0 100 mountain 11 -5 0 -4;
-#X obj 200 100 mountain 12 -4 0 -4;
-#X obj 400 100 mountain 13 -3 0 -4;
-#X obj 600 100 mountain 14 -2 0 -4;
-#X obj 800 100 mountain 15 -1 0 -4;
-#X obj 1000 100 mountain 16 0 0 -4;
-#X obj 1200 100 mountain 17 1 0 -4;
-#X obj 1400 100 mountain 18 2 0 -4;
-#X obj 1600 100 mountain 19 3 0 -4;
-#X obj 1800 100 mountain 20 4 0 -4;
-#X obj 2000 100 mountain 21 5 0 -4;
-#X obj 0 200 mountain 22 -5 0 -3;
-#X obj 400 200 mountain 24 -3 0 -3;
-#X obj 600 200 mountain 25 -2 0 -3;
-#X obj 800 200 mountain 26 -1 0 -3;
-#X obj 1000 200 mountain 27 0 0 -3;
-#X obj 1200 200 mountain 28 1 0 -3;
-#X obj 1400 200 mountain 29 2 0 -3;
-#X obj 1600 200 mountain 30 3 0 -3;
-#X obj 1800 200 mountain 31 4 0 -3;
-#X obj 2000 200 mountain 32 5 0 -3;
-#X obj 0 300 mountain 33 -5 0 -2;
-#X obj 200 300 mountain 34 -4 0 -2;
-#X obj 600 300 mountain 36 -2 0 -2;
-#X obj 800 300 mountain 37 -1 0 -2;
-#X obj 1000 300 mountain 38 0 0 -2;
-#X obj 1200 300 mountain 39 1 0 -2;
-#X obj 1400 300 mountain 40 2 0 -2;
-#X obj 1600 300 mountain 41 3 0 -2;
-#X obj 1800 300 mountain 42 4 0 -2;
-#X obj 2000 300 mountain 43 5 0 -2;
-#X obj 0 400 mountain 44 -5 0 -1;
-#X obj 400 400 mountain 46 -3 0 -1;
-#X obj 600 400 mountain 47 -2 0 -1;
-#X obj 800 400 mountain 48 -1 0 -1;
-#X obj 1000 400 mountain 49 0 0 -1;
-#X obj 1200 400 mountain 50 1 0 -1;
-#X obj 1400 400 mountain 51 2 0 -1;
-#X obj 1600 400 mountain 52 3 0 -1;
-#X obj 1800 400 mountain 53 4 0 -1;
-#X obj 2000 400 mountain 54 5 0 -1;
-#X obj 0 500 mountain 55 -5 0 0;
-#X obj 200 500 mountain 56 -4 0 0;
-#X obj 400 500 mountain 57 -3 0 0;
-#X obj 600 500 mountain 58 -2 0 0;
-#X obj 800 500 mountain 59 -1 0 0;
-#X obj 1000 500 mountain 60 0 0 0;
-#X obj 1200 500 mountain 61 1 0 0;
-#X obj 1400 500 mountain 62 2 0 0;
-#X obj 1600 500 mountain 63 3 0 0;
-#X obj 1800 500 mountain 64 4 0 0;
-#X obj 2000 500 mountain 65 5 0 0;
-#X obj 0 600 mountain 66 -5 0 1;
-#X obj 200 600 mountain 67 -4 0 1;
-#X obj 400 600 mountain 68 -3 0 1;
-#X obj 600 600 mountain 69 -2 0 1;
-#X obj 800 600 mountain 70 -1 0 1;
-#X obj 1000 600 mountain 71 0 0 1;
-#X obj 1200 600 mountain 72 1 0 1;
-#X obj 1400 600 mountain 73 2 0 1;
-#X obj 1600 600 mountain 74 3 0 1;
-#X obj 1800 600 mountain 75 4 0 1;
-#X obj 2000 600 mountain 76 5 0 1;
-#X obj 0 700 mountain 77 -5 0 2;
-#X obj 200 700 mountain 78 -4 0 2;
-#X obj 400 700 mountain 79 -3 0 2;
-#X obj 600 700 mountain 80 -2 0 2;
-#X obj 800 700 mountain 81 -1 0 2;
-#X obj 1000 700 mountain 82 0 0 2;
-#X obj 1200 700 mountain 83 1 0 2;
-#X obj 1400 700 mountain 84 2 0 2;
-#X obj 1600 700 mountain 85 3 0 2;
-#X obj 1800 700 mountain 86 4 0 2;
-#X obj 2000 700 mountain 87 5 0 2;
-#X obj 0 800 mountain 88 -5 0 3;
-#X obj 200 800 mountain 89 -4 0 3;
-#X obj 400 800 mountain 90 -3 0 3;
-#X obj 600 800 mountain 91 -2 0 3;
-#X obj 800 800 mountain 92 -1 0 3;
-#X obj 1000 800 mountain 93 0 0 3;
-#X obj 1200 800 mountain 94 1 0 3;
-#X obj 1400 800 mountain 95 2 0 3;
-#X obj 1600 800 mountain 96 3 0 3;
-#X obj 1800 800 mountain 97 4 0 3;
-#X obj 2000 800 mountain 98 5 0 3;
-#X obj 0 900 mountain 99 -5 0 4;
-#X obj 200 900 mountain 100 -4 0 4;
-#X obj 400 900 mountain 101 -3 0 4;
-#X obj 600 900 mountain 102 -2 0 4;
-#X obj 800 900 mountain 103 -1 0 4;
-#X obj 1000 900 mountain 104 0 0 4;
-#X obj 1200 900 mountain 105 1 0 4;
-#X obj 1400 900 mountain 106 2 0 4;
-#X obj 1600 900 mountain 107 3 0 4;
-#X obj 1800 900 mountain 108 4 0 4;
-#X obj 2000 900 mountain 109 5 0 4;
-#X obj 0 1000 mountain 110 -5 0 5;
-#X obj 200 1000 mountain 111 -4 0 5;
-#X obj 400 1000 mountain 112 -3 0 5;
-#X obj 600 1000 mountain 113 -2 0 5;
-#X obj 800 1000 mountain 114 -1 0 5;
-#X obj 1000 1000 mountain 115 0 0 5;
-#X obj 1200 1000 mountain 116 1 0 5;
-#X obj 1400 1000 mountain 117 2 0 5;
-#X obj 1600 1000 mountain 118 3 0 5;
-#X obj 1800 1000 mountain 119 4 0 5;
-#X obj 2000 1000 mountain 120 5 0 5;
-#X connect 2 0 48 1;
-#X connect 2 0 58 2;
-#X connect 2 0 59 3;
-#X connect 2 1 47 0;
-#X connect 2 2 38 0;
-#X connect 3 0 39 1;
-#X connect 3 0 48 2;
-#X connect 3 0 49 3;
-#X connect 3 1 38 0;
-#X connect 3 2 28 0;
-#X connect 4 0 3 3;
-#X connect 4 0 28 1;
-#X connect 4 0 38 2;
-#X connect 4 1 27 0;
-#X connect 4 2 17 0;
-#X connect 5 0 6 1;
-#X connect 5 0 16 2;
-#X connect 5 0 17 3;
-#X connect 6 0 7 1;
-#X connect 6 0 17 2;
-#X connect 6 0 18 3;
-#X connect 6 1 5 0;
-#X connect 7 0 8 1;
-#X connect 7 0 18 2;
-#X connect 7 0 19 3;
-#X connect 7 1 6 0;
-#X connect 8 0 9 1;
-#X connect 8 0 19 2;
-#X connect 8 0 20 3;
-#X connect 8 1 7 0;
-#X connect 9 0 10 1;
-#X connect 9 0 20 2;
-#X connect 9 0 21 3;
-#X connect 9 1 8 0;
-#X connect 10 0 11 1;
-#X connect 10 0 21 2;
-#X connect 10 0 22 3;
-#X connect 10 1 9 0;
-#X connect 11 0 12 1;
-#X connect 11 0 22 2;
-#X connect 11 0 23 3;
-#X connect 11 1 10 0;
-#X connect 12 0 13 1;
-#X connect 12 0 23 2;
-#X connect 12 0 24 3;
-#X connect 12 1 11 0;
-#X connect 13 0 14 1;
-#X connect 13 0 24 2;
-#X connect 13 0 25 3;
-#X connect 13 1 12 0;
-#X connect 14 0 15 1;
-#X connect 14 0 25 2;
-#X connect 14 0 26 3;
-#X connect 14 1 13 0;
-#X connect 15 0 26 2;
-#X connect 15 1 14 0;
-#X connect 16 0 4 3;
-#X connect 16 0 17 1;
-#X connect 16 0 27 2;
-#X connect 16 2 5 0;
-#X connect 17 0 4 2;
-#X connect 17 0 18 1;
-#X connect 17 0 28 3;
-#X connect 17 1 16 0;
-#X connect 17 2 6 0;
-#X connect 18 0 19 1;
-#X connect 18 0 28 2;
-#X connect 18 0 29 3;
-#X connect 18 1 17 0;
-#X connect 18 2 7 0;
-#X connect 19 0 20 1;
-#X connect 19 0 29 2;
-#X connect 19 0 30 3;
-#X connect 19 1 18 0;
-#X connect 19 2 8 0;
-#X connect 20 0 21 1;
-#X connect 20 0 30 2;
-#X connect 20 0 31 3;
-#X connect 20 1 19 0;
-#X connect 20 2 9 0;
-#X connect 21 0 22 1;
-#X connect 21 0 31 2;
-#X connect 21 0 32 3;
-#X connect 21 1 20 0;
-#X connect 21 2 10 0;
-#X connect 22 0 23 1;
-#X connect 22 0 32 2;
-#X connect 22 0 33 3;
-#X connect 22 1 21 0;
-#X connect 22 2 11 0;
-#X connect 23 0 24 1;
-#X connect 23 0 33 2;
-#X connect 23 0 34 3;
-#X connect 23 1 22 0;
-#X connect 23 2 12 0;
-#X connect 24 0 25 1;
-#X connect 24 0 34 2;
-#X connect 24 0 35 3;
-#X connect 24 1 23 0;
-#X connect 24 2 13 0;
-#X connect 25 0 0 0;
-#X connect 25 0 26 1;
-#X connect 25 0 35 2;
-#X connect 25 0 36 3;
-#X connect 25 1 24 0;
-#X connect 25 2 14 0;
-#X connect 26 0 36 2;
-#X connect 26 1 25 0;
-#X connect 26 2 15 0;
-#X connect 27 0 4 1;
-#X connect 27 0 37 2;
-#X connect 27 0 38 3;
-#X connect 27 2 16 0;
-#X connect 28 0 3 2;
-#X connect 28 0 29 1;
-#X connect 28 0 39 3;
-#X connect 28 1 4 0;
-#X connect 28 2 18 0;
-#X connect 29 0 30 1;
-#X connect 29 0 39 2;
-#X connect 29 0 40 3;
-#X connect 29 1 28 0;
-#X connect 29 2 19 0;
-#X connect 30 0 31 1;
-#X connect 30 0 40 2;
-#X connect 30 0 41 3;
-#X connect 30 1 29 0;
-#X connect 30 2 20 0;
-#X connect 31 0 32 1;
-#X connect 31 0 41 2;
-#X connect 31 0 42 3;
-#X connect 31 1 30 0;
-#X connect 31 2 21 0;
-#X connect 32 0 33 1;
-#X connect 32 0 42 2;
-#X connect 32 0 43 3;
-#X connect 32 1 31 0;
-#X connect 32 2 22 0;
-#X connect 33 0 34 1;
-#X connect 33 0 43 2;
-#X connect 33 0 44 3;
-#X connect 33 1 32 0;
-#X connect 33 2 23 0;
-#X connect 34 0 35 1;
-#X connect 34 0 44 2;
-#X connect 34 0 45 3;
-#X connect 34 1 33 0;
-#X connect 34 2 24 0;
-#X connect 35 0 36 1;
-#X connect 35 0 45 2;
-#X connect 35 0 46 3;
-#X connect 35 1 34 0;
-#X connect 35 2 25 0;
-#X connect 36 0 46 2;
-#X connect 36 1 35 0;
-#X connect 36 2 26 0;
-#X connect 37 0 2 3;
-#X connect 37 0 38 1;
-#X connect 37 0 47 2;
-#X connect 37 2 27 0;
-#X connect 38 0 2 2;
-#X connect 38 0 3 1;
-#X connect 38 0 48 3;
-#X connect 38 1 37 0;
-#X connect 38 2 4 0;
-#X connect 39 0 40 1;
-#X connect 39 0 49 2;
-#X connect 39 0 50 3;
-#X connect 39 1 3 0;
-#X connect 39 2 29 0;
-#X connect 40 0 41 1;
-#X connect 40 0 50 2;
-#X connect 40 0 51 3;
-#X connect 40 1 39 0;
-#X connect 40 2 30 0;
-#X connect 41 0 42 1;
-#X connect 41 0 51 2;
-#X connect 41 0 52 3;
-#X connect 41 1 40 0;
-#X connect 41 2 31 0;
-#X connect 42 0 43 1;
-#X connect 42 0 52 2;
-#X connect 42 0 53 3;
-#X connect 42 1 41 0;
-#X connect 42 2 32 0;
-#X connect 43 0 44 1;
-#X connect 43 0 53 2;
-#X connect 43 0 54 3;
-#X connect 43 1 42 0;
-#X connect 43 2 33 0;
-#X connect 44 0 45 1;
-#X connect 44 0 54 2;
-#X connect 44 0 55 3;
-#X connect 44 1 43 0;
-#X connect 44 2 34 0;
-#X connect 45 0 46 1;
-#X connect 45 0 55 2;
-#X connect 45 0 56 3;
-#X connect 45 1 44 0;
-#X connect 45 2 35 0;
-#X connect 46 0 56 2;
-#X connect 46 1 45 0;
-#X connect 46 2 36 0;
-#X connect 47 0 2 1;
-#X connect 47 0 57 2;
-#X connect 47 0 58 3;
-#X connect 47 2 37 0;
-#X connect 48 0 49 1;
-#X connect 48 0 59 2;
-#X connect 48 0 60 3;
-#X connect 48 1 2 0;
-#X connect 48 2 3 0;
-#X connect 49 0 50 1;
-#X connect 49 0 60 2;
-#X connect 49 0 61 3;
-#X connect 49 1 48 0;
-#X connect 49 2 39 0;
-#X connect 50 0 51 1;
-#X connect 50 0 61 2;
-#X connect 50 0 62 3;
-#X connect 50 1 49 0;
-#X connect 50 2 40 0;
-#X connect 51 0 52 1;
-#X connect 51 0 62 2;
-#X connect 51 0 63 3;
-#X connect 51 1 50 0;
-#X connect 51 2 41 0;
-#X connect 52 0 53 1;
-#X connect 52 0 63 2;
-#X connect 52 0 64 3;
-#X connect 52 1 51 0;
-#X connect 52 2 42 0;
-#X connect 53 0 54 1;
-#X connect 53 0 64 2;
-#X connect 53 0 65 3;
-#X connect 53 1 52 0;
-#X connect 53 2 43 0;
-#X connect 54 0 55 1;
-#X connect 54 0 65 2;
-#X connect 54 0 66 3;
-#X connect 54 1 53 0;
-#X connect 54 2 44 0;
-#X connect 55 0 56 1;
-#X connect 55 0 66 2;
-#X connect 55 0 67 3;
-#X connect 55 1 54 0;
-#X connect 55 2 45 0;
-#X connect 56 0 67 2;
-#X connect 56 1 55 0;
-#X connect 56 2 46 0;
-#X connect 57 0 58 1;
-#X connect 57 0 68 2;
-#X connect 57 0 69 3;
-#X connect 57 2 47 0;
-#X connect 58 0 59 1;
-#X connect 58 0 69 2;
-#X connect 58 0 70 3;
-#X connect 58 1 57 0;
-#X connect 58 2 2 0;
-#X connect 59 0 60 1;
-#X connect 59 0 70 2;
-#X connect 59 0 71 3;
-#X connect 59 1 58 0;
-#X connect 59 2 48 0;
-#X connect 60 0 61 1;
-#X connect 60 0 71 2;
-#X connect 60 0 72 3;
-#X connect 60 1 59 0;
-#X connect 60 2 49 0;
-#X connect 61 0 62 1;
-#X connect 61 0 72 2;
-#X connect 61 0 73 3;
-#X connect 61 1 60 0;
-#X connect 61 2 50 0;
-#X connect 62 0 63 1;
-#X connect 62 0 73 2;
-#X connect 62 0 74 3;
-#X connect 62 1 61 0;
-#X connect 62 2 51 0;
-#X connect 63 0 64 1;
-#X connect 63 0 74 2;
-#X connect 63 0 75 3;
-#X connect 63 1 62 0;
-#X connect 63 2 52 0;
-#X connect 64 0 65 1;
-#X connect 64 0 75 2;
-#X connect 64 0 76 3;
-#X connect 64 1 63 0;
-#X connect 64 2 53 0;
-#X connect 65 0 66 1;
-#X connect 65 0 76 2;
-#X connect 65 0 77 3;
-#X connect 65 1 64 0;
-#X connect 65 2 54 0;
-#X connect 66 0 67 1;
-#X connect 66 0 77 2;
-#X connect 66 0 78 3;
-#X connect 66 1 65 0;
-#X connect 66 2 55 0;
-#X connect 67 0 78 2;
-#X connect 67 1 66 0;
-#X connect 67 2 56 0;
-#X connect 68 0 69 1;
-#X connect 68 0 79 2;
-#X connect 68 0 80 3;
-#X connect 68 2 57 0;
-#X connect 69 0 70 1;
-#X connect 69 0 80 2;
-#X connect 69 0 81 3;
-#X connect 69 1 68 0;
-#X connect 69 2 58 0;
-#X connect 70 0 71 1;
-#X connect 70 0 81 2;
-#X connect 70 0 82 3;
-#X connect 70 1 69 0;
-#X connect 70 2 59 0;
-#X connect 71 0 72 1;
-#X connect 71 0 82 2;
-#X connect 71 0 83 3;
-#X connect 71 1 70 0;
-#X connect 71 2 60 0;
-#X connect 72 0 73 1;
-#X connect 72 0 83 2;
-#X connect 72 0 84 3;
-#X connect 72 1 71 0;
-#X connect 72 2 61 0;
-#X connect 73 0 74 1;
-#X connect 73 0 84 2;
-#X connect 73 0 85 3;
-#X connect 73 1 72 0;
-#X connect 73 2 62 0;
-#X connect 74 0 75 1;
-#X connect 74 0 85 2;
-#X connect 74 0 86 3;
-#X connect 74 1 73 0;
-#X connect 74 2 63 0;
-#X connect 75 0 76 1;
-#X connect 75 0 86 2;
-#X connect 75 0 87 3;
-#X connect 75 1 74 0;
-#X connect 75 2 64 0;
-#X connect 76 0 77 1;
-#X connect 76 0 87 2;
-#X connect 76 0 88 3;
-#X connect 76 1 75 0;
-#X connect 76 2 65 0;
-#X connect 77 0 78 1;
-#X connect 77 0 88 2;
-#X connect 77 0 89 3;
-#X connect 77 1 76 0;
-#X connect 77 2 66 0;
-#X connect 78 0 89 2;
-#X connect 78 1 77 0;
-#X connect 78 2 67 0;
-#X connect 79 0 80 1;
-#X connect 79 0 90 2;
-#X connect 79 0 91 3;
-#X connect 79 2 68 0;
-#X connect 80 0 81 1;
-#X connect 80 0 91 2;
-#X connect 80 0 92 3;
-#X connect 80 1 79 0;
-#X connect 80 2 69 0;
-#X connect 81 0 82 1;
-#X connect 81 0 92 2;
-#X connect 81 0 93 3;
-#X connect 81 1 80 0;
-#X connect 81 2 70 0;
-#X connect 82 0 83 1;
-#X connect 82 0 93 2;
-#X connect 82 0 94 3;
-#X connect 82 1 81 0;
-#X connect 82 2 71 0;
-#X connect 83 0 84 1;
-#X connect 83 0 94 2;
-#X connect 83 0 95 3;
-#X connect 83 1 82 0;
-#X connect 83 2 72 0;
-#X connect 84 0 85 1;
-#X connect 84 0 95 2;
-#X connect 84 0 96 3;
-#X connect 84 1 83 0;
-#X connect 84 2 73 0;
-#X connect 85 0 86 1;
-#X connect 85 0 96 2;
-#X connect 85 0 97 3;
-#X connect 85 1 84 0;
-#X connect 85 2 74 0;
-#X connect 86 0 87 1;
-#X connect 86 0 97 2;
-#X connect 86 0 98 3;
-#X connect 86 1 85 0;
-#X connect 86 2 75 0;
-#X connect 87 0 88 1;
-#X connect 87 0 98 2;
-#X connect 87 0 99 3;
-#X connect 87 1 86 0;
-#X connect 87 2 76 0;
-#X connect 88 0 89 1;
-#X connect 88 0 99 2;
-#X connect 88 0 100 3;
-#X connect 88 1 87 0;
-#X connect 88 2 77 0;
-#X connect 89 0 100 2;
-#X connect 89 1 88 0;
-#X connect 89 2 78 0;
-#X connect 90 0 91 1;
-#X connect 90 0 101 2;
-#X connect 90 0 102 3;
-#X connect 90 2 79 0;
-#X connect 91 0 1 0;
-#X connect 91 0 92 1;
-#X connect 91 0 102 2;
-#X connect 91 0 103 3;
-#X connect 91 1 90 0;
-#X connect 91 2 80 0;
-#X connect 92 0 93 1;
-#X connect 92 0 103 2;
-#X connect 92 0 104 3;
-#X connect 92 1 91 0;
-#X connect 92 2 81 0;
-#X connect 93 0 94 1;
-#X connect 93 0 104 2;
-#X connect 93 0 105 3;
-#X connect 93 1 92 0;
-#X connect 93 2 82 0;
-#X connect 94 0 95 1;
-#X connect 94 0 105 2;
-#X connect 94 0 106 3;
-#X connect 94 1 93 0;
-#X connect 94 2 83 0;
-#X connect 95 0 96 1;
-#X connect 95 0 106 2;
-#X connect 95 0 107 3;
-#X connect 95 1 94 0;
-#X connect 95 2 84 0;
-#X connect 96 0 97 1;
-#X connect 96 0 107 2;
-#X connect 96 0 108 3;
-#X connect 96 1 95 0;
-#X connect 96 2 85 0;
-#X connect 97 0 98 1;
-#X connect 97 0 108 2;
-#X connect 97 0 109 3;
-#X connect 97 1 96 0;
-#X connect 97 2 86 0;
-#X connect 98 0 99 1;
-#X connect 98 0 109 2;
-#X connect 98 0 110 3;
-#X connect 98 1 97 0;
-#X connect 98 2 87 0;
-#X connect 99 0 100 1;
-#X connect 99 0 110 2;
-#X connect 99 0 111 3;
-#X connect 99 1 98 0;
-#X connect 99 2 88 0;
-#X connect 100 0 111 2;
-#X connect 100 1 99 0;
-#X connect 100 2 89 0;
-#X connect 101 0 102 1;
-#X connect 101 0 112 2;
-#X connect 101 0 113 3;
-#X connect 101 2 90 0;
-#X connect 102 0 103 1;
-#X connect 102 0 113 2;
-#X connect 102 0 114 3;
-#X connect 102 1 101 0;
-#X connect 102 2 91 0;
-#X connect 103 0 104 1;
-#X connect 103 0 114 2;
-#X connect 103 0 115 3;
-#X connect 103 1 102 0;
-#X connect 103 2 92 0;
-#X connect 104 0 105 1;
-#X connect 104 0 115 2;
-#X connect 104 0 116 3;
-#X connect 104 1 103 0;
-#X connect 104 2 93 0;
-#X connect 105 0 106 1;
-#X connect 105 0 116 2;
-#X connect 105 0 117 3;
-#X connect 105 1 104 0;
-#X connect 105 2 94 0;
-#X connect 106 0 107 1;
-#X connect 106 0 117 2;
-#X connect 106 0 118 3;
-#X connect 106 1 105 0;
-#X connect 106 2 95 0;
-#X connect 107 0 108 1;
-#X connect 107 0 118 2;
-#X connect 107 0 119 3;
-#X connect 107 1 106 0;
-#X connect 107 2 96 0;
-#X connect 108 0 109 1;
-#X connect 108 0 119 2;
-#X connect 108 0 120 3;
-#X connect 108 1 107 0;
-#X connect 108 2 97 0;
-#X connect 109 0 110 1;
-#X connect 109 0 120 2;
-#X connect 109 0 121 3;
-#X connect 109 1 108 0;
-#X connect 109 2 98 0;
-#X connect 110 0 111 1;
-#X connect 110 0 121 2;
-#X connect 110 0 122 3;
-#X connect 110 1 109 0;
-#X connect 110 2 99 0;
-#X connect 111 0 122 2;
-#X connect 111 1 110 0;
-#X connect 111 2 100 0;
-#X connect 112 0 113 1;
-#X connect 112 2 101 0;
-#X connect 113 0 114 1;
-#X connect 113 1 112 0;
-#X connect 113 2 102 0;
-#X connect 114 0 115 1;
-#X connect 114 1 113 0;
-#X connect 114 2 103 0;
-#X connect 115 0 116 1;
-#X connect 115 1 114 0;
-#X connect 115 2 104 0;
-#X connect 116 0 117 1;
-#X connect 116 1 115 0;
-#X connect 116 2 105 0;
-#X connect 117 0 118 1;
-#X connect 117 1 116 0;
-#X connect 117 2 106 0;
-#X connect 118 0 119 1;
-#X connect 118 1 117 0;
-#X connect 118 2 107 0;
-#X connect 119 0 120 1;
-#X connect 119 1 118 0;
-#X connect 119 2 108 0;
-#X connect 120 0 121 1;
-#X connect 120 1 119 0;
-#X connect 120 2 109 0;
-#X connect 121 0 122 1;
-#X connect 121 1 120 0;
-#X connect 121 2 110 0;
-#X connect 122 1 121 0;
-#X connect 122 2 111 0;
-#X restore 15 366 pd array;
-#X obj 16 122 t b b;
-#X obj 16 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X msg 160 112 0 \, destroy;
-#X floatatom 59 74 5 0 0 0 - - -;
-#X text 432 110 <- reset the simulation;
-#X obj 151 212 ch_gemwin;
-#X obj 170 143 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 186 167 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X obj 203 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
--1 -1 0 1;
-#X text 249 125 camera position;
-#X msg 151 87 reset \, lighting 1 \, create \, 1;
-#X obj 604 138 gemhead 1;
-#X obj 604 187 world_light;
-#X obj 604 163 rotateXYZ 0 0 0;
-#X obj 403 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
--1;
-#X obj 404 137 s init;
-#X floatatom 544 137 5 0 0 0 - - -;
-#X obj 544 159 s size;
-#X msg 490 135 reset;
-#X obj 490 159 s M;
-#X obj 16 95 metro 50;
-#X obj 388 91 loadbang;
-#X text 321 10 newWave;
-#X text 203 23 this exemple is a bit like Gem native object : newWave.
-;
-#N canvas 0 0 458 308 constructor 0;
-#X obj 20 124 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
-;
-#X obj 20 146 constructor 11 1 11 -5 5 0 0 -5 5 mountain;
-#X msg 265 17 1 0 0 1 2;
-#X msg 274 38 -1 0 0 2 1;
-#X msg 288 60 0 0 1 1 3;
-#X msg 297 81 0 0 -1 3 1;
-#X msg 309 109 1 0 1 1 4;
-#X connect 0 0 1 0;
-#X connect 2 0 1 1;
-#X connect 3 0 1 1;
-#X connect 4 0 1 1;
-#X connect 5 0 1 1;
-#X connect 6 0 1 1;
-#X restore 490 181 pd constructor;
-#X obj 444 535 dac~;
-#X obj 445 459 line~;
-#N canvas 0 0 456 306 graph1 0;
-#X array fooL 50000 float 0;
-#X coords 0 1 49999 -1 200 140 1;
-#X restore 198 321 graph;
-#X obj 88 388 + 1;
-#X obj 88 361 f;
-#X msg 117 360 0;
-#X obj 117 336 r init;
-#X obj 88 290 r L;
-#X obj 388 190 s L;
-#X obj 88 314 route bang;
-#X msg 460 430 0 \, 100000 10000;
-#X msg 451 406 0 \, 100000 4000;
-#X msg 445 383 0 \, 100000 1000;
-#X text 151 244 you can record the position of a mass in a array. This
-array can be read at audio rate...;
-#X text 452 362 play the sound at various frequency;
-#X text 37 46 <- begin (change metro speed for slow computer);
-#X text 151 273 you can accelerate trhe simulation if the CPU allows
-you \, to accelerate the computing of the array.;
-#X obj 445 343 loadbang;
-#X obj 15 463 tabwrite fooL;
-#X obj 58 437 tabwrite fooR;
-#N canvas 0 0 456 306 graph1 0;
-#X array fooR 50000 float 0;
-#X coords 0 1 49999 -1 200 140 1;
-#X restore 198 469 graph;
-#X obj 445 511 tabread4~ fooL;
-#X obj 462 487 tabread4~ fooR;
-#X msg 388 164 setD2 0.001;
-#X obj 16 144 s L;
-#X obj 41 144 s M;
-#X connect 0 0 44 0;
-#X connect 0 1 45 0;
-#X connect 1 0 50 0;
-#X connect 1 1 51 0;
-#X connect 2 0 21 0;
-#X connect 3 0 6 0;
-#X connect 4 0 21 1;
-#X connect 7 0 6 1;
-#X connect 8 0 6 2;
-#X connect 9 0 6 3;
-#X connect 11 0 6 0;
-#X connect 12 0 14 0;
-#X connect 14 0 13 0;
-#X connect 15 0 16 0;
-#X connect 17 0 18 0;
-#X connect 19 0 20 0;
-#X connect 21 0 1 0;
-#X connect 22 0 16 0;
-#X connect 22 0 49 0;
-#X connect 27 0 47 0;
-#X connect 27 0 48 0;
-#X connect 29 0 30 1;
-#X connect 29 0 45 1;
-#X connect 29 0 44 1;
-#X connect 30 0 29 0;
-#X connect 31 0 29 0;
-#X connect 32 0 31 0;
-#X connect 33 0 35 0;
-#X connect 35 0 30 0;
-#X connect 36 0 27 0;
-#X connect 37 0 27 0;
-#X connect 38 0 27 0;
-#X connect 43 0 38 0;
-#X connect 47 0 26 0;
-#X connect 48 0 26 1;
-#X connect 49 0 34 0;
+#N canvas 358 91 770 697 10;
+#X declare -lib Gem;
+#N canvas 150 74 837 606 array 0;
+#X obj 1893 163 outlet;
+#X obj 121 835 outlet;
+#X obj 200 400 mountain 45 -4 0 -1;
+#X obj 400 300 mountain 35 -3 0 -2;
+#X obj 200 200 mountain 23 -4 0 -3;
+#X obj 0 0 mountain 0 -5 0 -5;
+#X obj 200 0 mountain 1 -4 0 -5;
+#X obj 400 0 mountain 2 -3 0 -5;
+#X obj 600 0 mountain 3 -2 0 -5;
+#X obj 800 0 mountain 4 -1 0 -5;
+#X obj 1000 0 mountain 5 0 0 -5;
+#X obj 1200 0 mountain 6 1 0 -5;
+#X obj 1400 0 mountain 7 2 0 -5;
+#X obj 1600 0 mountain 8 3 0 -5;
+#X obj 1800 0 mountain 9 4 0 -5;
+#X obj 2000 0 mountain 10 5 0 -5;
+#X obj 0 100 mountain 11 -5 0 -4;
+#X obj 200 100 mountain 12 -4 0 -4;
+#X obj 400 100 mountain 13 -3 0 -4;
+#X obj 600 100 mountain 14 -2 0 -4;
+#X obj 800 100 mountain 15 -1 0 -4;
+#X obj 1000 100 mountain 16 0 0 -4;
+#X obj 1200 100 mountain 17 1 0 -4;
+#X obj 1400 100 mountain 18 2 0 -4;
+#X obj 1600 100 mountain 19 3 0 -4;
+#X obj 1800 100 mountain 20 4 0 -4;
+#X obj 2000 100 mountain 21 5 0 -4;
+#X obj 0 200 mountain 22 -5 0 -3;
+#X obj 400 200 mountain 24 -3 0 -3;
+#X obj 600 200 mountain 25 -2 0 -3;
+#X obj 800 200 mountain 26 -1 0 -3;
+#X obj 1000 200 mountain 27 0 0 -3;
+#X obj 1200 200 mountain 28 1 0 -3;
+#X obj 1400 200 mountain 29 2 0 -3;
+#X obj 1600 200 mountain 30 3 0 -3;
+#X obj 1800 200 mountain 31 4 0 -3;
+#X obj 2000 200 mountain 32 5 0 -3;
+#X obj 0 300 mountain 33 -5 0 -2;
+#X obj 200 300 mountain 34 -4 0 -2;
+#X obj 600 300 mountain 36 -2 0 -2;
+#X obj 800 300 mountain 37 -1 0 -2;
+#X obj 1000 300 mountain 38 0 0 -2;
+#X obj 1200 300 mountain 39 1 0 -2;
+#X obj 1400 300 mountain 40 2 0 -2;
+#X obj 1600 300 mountain 41 3 0 -2;
+#X obj 1800 300 mountain 42 4 0 -2;
+#X obj 2000 300 mountain 43 5 0 -2;
+#X obj 0 400 mountain 44 -5 0 -1;
+#X obj 400 400 mountain 46 -3 0 -1;
+#X obj 600 400 mountain 47 -2 0 -1;
+#X obj 800 400 mountain 48 -1 0 -1;
+#X obj 1000 400 mountain 49 0 0 -1;
+#X obj 1200 400 mountain 50 1 0 -1;
+#X obj 1400 400 mountain 51 2 0 -1;
+#X obj 1600 400 mountain 52 3 0 -1;
+#X obj 1800 400 mountain 53 4 0 -1;
+#X obj 2000 400 mountain 54 5 0 -1;
+#X obj 0 500 mountain 55 -5 0 0;
+#X obj 200 500 mountain 56 -4 0 0;
+#X obj 400 500 mountain 57 -3 0 0;
+#X obj 600 500 mountain 58 -2 0 0;
+#X obj 800 500 mountain 59 -1 0 0;
+#X obj 1000 500 mountain 60 0 0 0;
+#X obj 1200 500 mountain 61 1 0 0;
+#X obj 1400 500 mountain 62 2 0 0;
+#X obj 1600 500 mountain 63 3 0 0;
+#X obj 1800 500 mountain 64 4 0 0;
+#X obj 2000 500 mountain 65 5 0 0;
+#X obj 0 600 mountain 66 -5 0 1;
+#X obj 200 600 mountain 67 -4 0 1;
+#X obj 400 600 mountain 68 -3 0 1;
+#X obj 600 600 mountain 69 -2 0 1;
+#X obj 800 600 mountain 70 -1 0 1;
+#X obj 1000 600 mountain 71 0 0 1;
+#X obj 1200 600 mountain 72 1 0 1;
+#X obj 1400 600 mountain 73 2 0 1;
+#X obj 1600 600 mountain 74 3 0 1;
+#X obj 1800 600 mountain 75 4 0 1;
+#X obj 2000 600 mountain 76 5 0 1;
+#X obj 0 700 mountain 77 -5 0 2;
+#X obj 200 700 mountain 78 -4 0 2;
+#X obj 400 700 mountain 79 -3 0 2;
+#X obj 600 700 mountain 80 -2 0 2;
+#X obj 800 700 mountain 81 -1 0 2;
+#X obj 1000 700 mountain 82 0 0 2;
+#X obj 1200 700 mountain 83 1 0 2;
+#X obj 1400 700 mountain 84 2 0 2;
+#X obj 1600 700 mountain 85 3 0 2;
+#X obj 1800 700 mountain 86 4 0 2;
+#X obj 2000 700 mountain 87 5 0 2;
+#X obj 0 800 mountain 88 -5 0 3;
+#X obj 200 800 mountain 89 -4 0 3;
+#X obj 400 800 mountain 90 -3 0 3;
+#X obj 600 800 mountain 91 -2 0 3;
+#X obj 800 800 mountain 92 -1 0 3;
+#X obj 1000 800 mountain 93 0 0 3;
+#X obj 1200 800 mountain 94 1 0 3;
+#X obj 1400 800 mountain 95 2 0 3;
+#X obj 1600 800 mountain 96 3 0 3;
+#X obj 1800 800 mountain 97 4 0 3;
+#X obj 2000 800 mountain 98 5 0 3;
+#X obj 0 900 mountain 99 -5 0 4;
+#X obj 200 900 mountain 100 -4 0 4;
+#X obj 400 900 mountain 101 -3 0 4;
+#X obj 600 900 mountain 102 -2 0 4;
+#X obj 800 900 mountain 103 -1 0 4;
+#X obj 1000 900 mountain 104 0 0 4;
+#X obj 1200 900 mountain 105 1 0 4;
+#X obj 1400 900 mountain 106 2 0 4;
+#X obj 1600 900 mountain 107 3 0 4;
+#X obj 1800 900 mountain 108 4 0 4;
+#X obj 2000 900 mountain 109 5 0 4;
+#X obj 0 1000 mountain 110 -5 0 5;
+#X obj 200 1000 mountain 111 -4 0 5;
+#X obj 400 1000 mountain 112 -3 0 5;
+#X obj 600 1000 mountain 113 -2 0 5;
+#X obj 800 1000 mountain 114 -1 0 5;
+#X obj 1000 1000 mountain 115 0 0 5;
+#X obj 1200 1000 mountain 116 1 0 5;
+#X obj 1400 1000 mountain 117 2 0 5;
+#X obj 1600 1000 mountain 118 3 0 5;
+#X obj 1800 1000 mountain 119 4 0 5;
+#X obj 2000 1000 mountain 120 5 0 5;
+#X connect 2 0 48 1;
+#X connect 2 0 58 2;
+#X connect 2 0 59 3;
+#X connect 2 1 47 0;
+#X connect 2 2 38 0;
+#X connect 3 0 39 1;
+#X connect 3 0 48 2;
+#X connect 3 0 49 3;
+#X connect 3 1 38 0;
+#X connect 3 2 28 0;
+#X connect 4 0 3 3;
+#X connect 4 0 28 1;
+#X connect 4 0 38 2;
+#X connect 4 1 27 0;
+#X connect 4 2 17 0;
+#X connect 5 0 6 1;
+#X connect 5 0 16 2;
+#X connect 5 0 17 3;
+#X connect 6 0 7 1;
+#X connect 6 0 17 2;
+#X connect 6 0 18 3;
+#X connect 6 1 5 0;
+#X connect 7 0 8 1;
+#X connect 7 0 18 2;
+#X connect 7 0 19 3;
+#X connect 7 1 6 0;
+#X connect 8 0 9 1;
+#X connect 8 0 19 2;
+#X connect 8 0 20 3;
+#X connect 8 1 7 0;
+#X connect 9 0 10 1;
+#X connect 9 0 20 2;
+#X connect 9 0 21 3;
+#X connect 9 1 8 0;
+#X connect 10 0 11 1;
+#X connect 10 0 21 2;
+#X connect 10 0 22 3;
+#X connect 10 1 9 0;
+#X connect 11 0 12 1;
+#X connect 11 0 22 2;
+#X connect 11 0 23 3;
+#X connect 11 1 10 0;
+#X connect 12 0 13 1;
+#X connect 12 0 23 2;
+#X connect 12 0 24 3;
+#X connect 12 1 11 0;
+#X connect 13 0 14 1;
+#X connect 13 0 24 2;
+#X connect 13 0 25 3;
+#X connect 13 1 12 0;
+#X connect 14 0 15 1;
+#X connect 14 0 25 2;
+#X connect 14 0 26 3;
+#X connect 14 1 13 0;
+#X connect 15 0 26 2;
+#X connect 15 1 14 0;
+#X connect 16 0 4 3;
+#X connect 16 0 17 1;
+#X connect 16 0 27 2;
+#X connect 16 2 5 0;
+#X connect 17 0 4 2;
+#X connect 17 0 18 1;
+#X connect 17 0 28 3;
+#X connect 17 1 16 0;
+#X connect 17 2 6 0;
+#X connect 18 0 19 1;
+#X connect 18 0 28 2;
+#X connect 18 0 29 3;
+#X connect 18 1 17 0;
+#X connect 18 2 7 0;
+#X connect 19 0 20 1;
+#X connect 19 0 29 2;
+#X connect 19 0 30 3;
+#X connect 19 1 18 0;
+#X connect 19 2 8 0;
+#X connect 20 0 21 1;
+#X connect 20 0 30 2;
+#X connect 20 0 31 3;
+#X connect 20 1 19 0;
+#X connect 20 2 9 0;
+#X connect 21 0 22 1;
+#X connect 21 0 31 2;
+#X connect 21 0 32 3;
+#X connect 21 1 20 0;
+#X connect 21 2 10 0;
+#X connect 22 0 23 1;
+#X connect 22 0 32 2;
+#X connect 22 0 33 3;
+#X connect 22 1 21 0;
+#X connect 22 2 11 0;
+#X connect 23 0 24 1;
+#X connect 23 0 33 2;
+#X connect 23 0 34 3;
+#X connect 23 1 22 0;
+#X connect 23 2 12 0;
+#X connect 24 0 25 1;
+#X connect 24 0 34 2;
+#X connect 24 0 35 3;
+#X connect 24 1 23 0;
+#X connect 24 2 13 0;
+#X connect 25 0 0 0;
+#X connect 25 0 26 1;
+#X connect 25 0 35 2;
+#X connect 25 0 36 3;
+#X connect 25 1 24 0;
+#X connect 25 2 14 0;
+#X connect 26 0 36 2;
+#X connect 26 1 25 0;
+#X connect 26 2 15 0;
+#X connect 27 0 4 1;
+#X connect 27 0 37 2;
+#X connect 27 0 38 3;
+#X connect 27 2 16 0;
+#X connect 28 0 3 2;
+#X connect 28 0 29 1;
+#X connect 28 0 39 3;
+#X connect 28 1 4 0;
+#X connect 28 2 18 0;
+#X connect 29 0 30 1;
+#X connect 29 0 39 2;
+#X connect 29 0 40 3;
+#X connect 29 1 28 0;
+#X connect 29 2 19 0;
+#X connect 30 0 31 1;
+#X connect 30 0 40 2;
+#X connect 30 0 41 3;
+#X connect 30 1 29 0;
+#X connect 30 2 20 0;
+#X connect 31 0 32 1;
+#X connect 31 0 41 2;
+#X connect 31 0 42 3;
+#X connect 31 1 30 0;
+#X connect 31 2 21 0;
+#X connect 32 0 33 1;
+#X connect 32 0 42 2;
+#X connect 32 0 43 3;
+#X connect 32 1 31 0;
+#X connect 32 2 22 0;
+#X connect 33 0 34 1;
+#X connect 33 0 43 2;
+#X connect 33 0 44 3;
+#X connect 33 1 32 0;
+#X connect 33 2 23 0;
+#X connect 34 0 35 1;
+#X connect 34 0 44 2;
+#X connect 34 0 45 3;
+#X connect 34 1 33 0;
+#X connect 34 2 24 0;
+#X connect 35 0 36 1;
+#X connect 35 0 45 2;
+#X connect 35 0 46 3;
+#X connect 35 1 34 0;
+#X connect 35 2 25 0;
+#X connect 36 0 46 2;
+#X connect 36 1 35 0;
+#X connect 36 2 26 0;
+#X connect 37 0 2 3;
+#X connect 37 0 38 1;
+#X connect 37 0 47 2;
+#X connect 37 2 27 0;
+#X connect 38 0 2 2;
+#X connect 38 0 3 1;
+#X connect 38 0 48 3;
+#X connect 38 1 37 0;
+#X connect 38 2 4 0;
+#X connect 39 0 40 1;
+#X connect 39 0 49 2;
+#X connect 39 0 50 3;
+#X connect 39 1 3 0;
+#X connect 39 2 29 0;
+#X connect 40 0 41 1;
+#X connect 40 0 50 2;
+#X connect 40 0 51 3;
+#X connect 40 1 39 0;
+#X connect 40 2 30 0;
+#X connect 41 0 42 1;
+#X connect 41 0 51 2;
+#X connect 41 0 52 3;
+#X connect 41 1 40 0;
+#X connect 41 2 31 0;
+#X connect 42 0 43 1;
+#X connect 42 0 52 2;
+#X connect 42 0 53 3;
+#X connect 42 1 41 0;
+#X connect 42 2 32 0;
+#X connect 43 0 44 1;
+#X connect 43 0 53 2;
+#X connect 43 0 54 3;
+#X connect 43 1 42 0;
+#X connect 43 2 33 0;
+#X connect 44 0 45 1;
+#X connect 44 0 54 2;
+#X connect 44 0 55 3;
+#X connect 44 1 43 0;
+#X connect 44 2 34 0;
+#X connect 45 0 46 1;
+#X connect 45 0 55 2;
+#X connect 45 0 56 3;
+#X connect 45 1 44 0;
+#X connect 45 2 35 0;
+#X connect 46 0 56 2;
+#X connect 46 1 45 0;
+#X connect 46 2 36 0;
+#X connect 47 0 2 1;
+#X connect 47 0 57 2;
+#X connect 47 0 58 3;
+#X connect 47 2 37 0;
+#X connect 48 0 49 1;
+#X connect 48 0 59 2;
+#X connect 48 0 60 3;
+#X connect 48 1 2 0;
+#X connect 48 2 3 0;
+#X connect 49 0 50 1;
+#X connect 49 0 60 2;
+#X connect 49 0 61 3;
+#X connect 49 1 48 0;
+#X connect 49 2 39 0;
+#X connect 50 0 51 1;
+#X connect 50 0 61 2;
+#X connect 50 0 62 3;
+#X connect 50 1 49 0;
+#X connect 50 2 40 0;
+#X connect 51 0 52 1;
+#X connect 51 0 62 2;
+#X connect 51 0 63 3;
+#X connect 51 1 50 0;
+#X connect 51 2 41 0;
+#X connect 52 0 53 1;
+#X connect 52 0 63 2;
+#X connect 52 0 64 3;
+#X connect 52 1 51 0;
+#X connect 52 2 42 0;
+#X connect 53 0 54 1;
+#X connect 53 0 64 2;
+#X connect 53 0 65 3;
+#X connect 53 1 52 0;
+#X connect 53 2 43 0;
+#X connect 54 0 55 1;
+#X connect 54 0 65 2;
+#X connect 54 0 66 3;
+#X connect 54 1 53 0;
+#X connect 54 2 44 0;
+#X connect 55 0 56 1;
+#X connect 55 0 66 2;
+#X connect 55 0 67 3;
+#X connect 55 1 54 0;
+#X connect 55 2 45 0;
+#X connect 56 0 67 2;
+#X connect 56 1 55 0;
+#X connect 56 2 46 0;
+#X connect 57 0 58 1;
+#X connect 57 0 68 2;
+#X connect 57 0 69 3;
+#X connect 57 2 47 0;
+#X connect 58 0 59 1;
+#X connect 58 0 69 2;
+#X connect 58 0 70 3;
+#X connect 58 1 57 0;
+#X connect 58 2 2 0;
+#X connect 59 0 60 1;
+#X connect 59 0 70 2;
+#X connect 59 0 71 3;
+#X connect 59 1 58 0;
+#X connect 59 2 48 0;
+#X connect 60 0 61 1;
+#X connect 60 0 71 2;
+#X connect 60 0 72 3;
+#X connect 60 1 59 0;
+#X connect 60 2 49 0;
+#X connect 61 0 62 1;
+#X connect 61 0 72 2;
+#X connect 61 0 73 3;
+#X connect 61 1 60 0;
+#X connect 61 2 50 0;
+#X connect 62 0 63 1;
+#X connect 62 0 73 2;
+#X connect 62 0 74 3;
+#X connect 62 1 61 0;
+#X connect 62 2 51 0;
+#X connect 63 0 64 1;
+#X connect 63 0 74 2;
+#X connect 63 0 75 3;
+#X connect 63 1 62 0;
+#X connect 63 2 52 0;
+#X connect 64 0 65 1;
+#X connect 64 0 75 2;
+#X connect 64 0 76 3;
+#X connect 64 1 63 0;
+#X connect 64 2 53 0;
+#X connect 65 0 66 1;
+#X connect 65 0 76 2;
+#X connect 65 0 77 3;
+#X connect 65 1 64 0;
+#X connect 65 2 54 0;
+#X connect 66 0 67 1;
+#X connect 66 0 77 2;
+#X connect 66 0 78 3;
+#X connect 66 1 65 0;
+#X connect 66 2 55 0;
+#X connect 67 0 78 2;
+#X connect 67 1 66 0;
+#X connect 67 2 56 0;
+#X connect 68 0 69 1;
+#X connect 68 0 79 2;
+#X connect 68 0 80 3;
+#X connect 68 2 57 0;
+#X connect 69 0 70 1;
+#X connect 69 0 80 2;
+#X connect 69 0 81 3;
+#X connect 69 1 68 0;
+#X connect 69 2 58 0;
+#X connect 70 0 71 1;
+#X connect 70 0 81 2;
+#X connect 70 0 82 3;
+#X connect 70 1 69 0;
+#X connect 70 2 59 0;
+#X connect 71 0 72 1;
+#X connect 71 0 82 2;
+#X connect 71 0 83 3;
+#X connect 71 1 70 0;
+#X connect 71 2 60 0;
+#X connect 72 0 73 1;
+#X connect 72 0 83 2;
+#X connect 72 0 84 3;
+#X connect 72 1 71 0;
+#X connect 72 2 61 0;
+#X connect 73 0 74 1;
+#X connect 73 0 84 2;
+#X connect 73 0 85 3;
+#X connect 73 1 72 0;
+#X connect 73 2 62 0;
+#X connect 74 0 75 1;
+#X connect 74 0 85 2;
+#X connect 74 0 86 3;
+#X connect 74 1 73 0;
+#X connect 74 2 63 0;
+#X connect 75 0 76 1;
+#X connect 75 0 86 2;
+#X connect 75 0 87 3;
+#X connect 75 1 74 0;
+#X connect 75 2 64 0;
+#X connect 76 0 77 1;
+#X connect 76 0 87 2;
+#X connect 76 0 88 3;
+#X connect 76 1 75 0;
+#X connect 76 2 65 0;
+#X connect 77 0 78 1;
+#X connect 77 0 88 2;
+#X connect 77 0 89 3;
+#X connect 77 1 76 0;
+#X connect 77 2 66 0;
+#X connect 78 0 89 2;
+#X connect 78 1 77 0;
+#X connect 78 2 67 0;
+#X connect 79 0 80 1;
+#X connect 79 0 90 2;
+#X connect 79 0 91 3;
+#X connect 79 2 68 0;
+#X connect 80 0 81 1;
+#X connect 80 0 91 2;
+#X connect 80 0 92 3;
+#X connect 80 1 79 0;
+#X connect 80 2 69 0;
+#X connect 81 0 82 1;
+#X connect 81 0 92 2;
+#X connect 81 0 93 3;
+#X connect 81 1 80 0;
+#X connect 81 2 70 0;
+#X connect 82 0 83 1;
+#X connect 82 0 93 2;
+#X connect 82 0 94 3;
+#X connect 82 1 81 0;
+#X connect 82 2 71 0;
+#X connect 83 0 84 1;
+#X connect 83 0 94 2;
+#X connect 83 0 95 3;
+#X connect 83 1 82 0;
+#X connect 83 2 72 0;
+#X connect 84 0 85 1;
+#X connect 84 0 95 2;
+#X connect 84 0 96 3;
+#X connect 84 1 83 0;
+#X connect 84 2 73 0;
+#X connect 85 0 86 1;
+#X connect 85 0 96 2;
+#X connect 85 0 97 3;
+#X connect 85 1 84 0;
+#X connect 85 2 74 0;
+#X connect 86 0 87 1;
+#X connect 86 0 97 2;
+#X connect 86 0 98 3;
+#X connect 86 1 85 0;
+#X connect 86 2 75 0;
+#X connect 87 0 88 1;
+#X connect 87 0 98 2;
+#X connect 87 0 99 3;
+#X connect 87 1 86 0;
+#X connect 87 2 76 0;
+#X connect 88 0 89 1;
+#X connect 88 0 99 2;
+#X connect 88 0 100 3;
+#X connect 88 1 87 0;
+#X connect 88 2 77 0;
+#X connect 89 0 100 2;
+#X connect 89 1 88 0;
+#X connect 89 2 78 0;
+#X connect 90 0 91 1;
+#X connect 90 0 101 2;
+#X connect 90 0 102 3;
+#X connect 90 2 79 0;
+#X connect 91 0 1 0;
+#X connect 91 0 92 1;
+#X connect 91 0 102 2;
+#X connect 91 0 103 3;
+#X connect 91 1 90 0;
+#X connect 91 2 80 0;
+#X connect 92 0 93 1;
+#X connect 92 0 103 2;
+#X connect 92 0 104 3;
+#X connect 92 1 91 0;
+#X connect 92 2 81 0;
+#X connect 93 0 94 1;
+#X connect 93 0 104 2;
+#X connect 93 0 105 3;
+#X connect 93 1 92 0;
+#X connect 93 2 82 0;
+#X connect 94 0 95 1;
+#X connect 94 0 105 2;
+#X connect 94 0 106 3;
+#X connect 94 1 93 0;
+#X connect 94 2 83 0;
+#X connect 95 0 96 1;
+#X connect 95 0 106 2;
+#X connect 95 0 107 3;
+#X connect 95 1 94 0;
+#X connect 95 2 84 0;
+#X connect 96 0 97 1;
+#X connect 96 0 107 2;
+#X connect 96 0 108 3;
+#X connect 96 1 95 0;
+#X connect 96 2 85 0;
+#X connect 97 0 98 1;
+#X connect 97 0 108 2;
+#X connect 97 0 109 3;
+#X connect 97 1 96 0;
+#X connect 97 2 86 0;
+#X connect 98 0 99 1;
+#X connect 98 0 109 2;
+#X connect 98 0 110 3;
+#X connect 98 1 97 0;
+#X connect 98 2 87 0;
+#X connect 99 0 100 1;
+#X connect 99 0 110 2;
+#X connect 99 0 111 3;
+#X connect 99 1 98 0;
+#X connect 99 2 88 0;
+#X connect 100 0 111 2;
+#X connect 100 1 99 0;
+#X connect 100 2 89 0;
+#X connect 101 0 102 1;
+#X connect 101 0 112 2;
+#X connect 101 0 113 3;
+#X connect 101 2 90 0;
+#X connect 102 0 103 1;
+#X connect 102 0 113 2;
+#X connect 102 0 114 3;
+#X connect 102 1 101 0;
+#X connect 102 2 91 0;
+#X connect 103 0 104 1;
+#X connect 103 0 114 2;
+#X connect 103 0 115 3;
+#X connect 103 1 102 0;
+#X connect 103 2 92 0;
+#X connect 104 0 105 1;
+#X connect 104 0 115 2;
+#X connect 104 0 116 3;
+#X connect 104 1 103 0;
+#X connect 104 2 93 0;
+#X connect 105 0 106 1;
+#X connect 105 0 116 2;
+#X connect 105 0 117 3;
+#X connect 105 1 104 0;
+#X connect 105 2 94 0;
+#X connect 106 0 107 1;
+#X connect 106 0 117 2;
+#X connect 106 0 118 3;
+#X connect 106 1 105 0;
+#X connect 106 2 95 0;
+#X connect 107 0 108 1;
+#X connect 107 0 118 2;
+#X connect 107 0 119 3;
+#X connect 107 1 106 0;
+#X connect 107 2 96 0;
+#X connect 108 0 109 1;
+#X connect 108 0 119 2;
+#X connect 108 0 120 3;
+#X connect 108 1 107 0;
+#X connect 108 2 97 0;
+#X connect 109 0 110 1;
+#X connect 109 0 120 2;
+#X connect 109 0 121 3;
+#X connect 109 1 108 0;
+#X connect 109 2 98 0;
+#X connect 110 0 111 1;
+#X connect 110 0 121 2;
+#X connect 110 0 122 3;
+#X connect 110 1 109 0;
+#X connect 110 2 99 0;
+#X connect 111 0 122 2;
+#X connect 111 1 110 0;
+#X connect 111 2 100 0;
+#X connect 112 0 113 1;
+#X connect 112 2 101 0;
+#X connect 113 0 114 1;
+#X connect 113 1 112 0;
+#X connect 113 2 102 0;
+#X connect 114 0 115 1;
+#X connect 114 1 113 0;
+#X connect 114 2 103 0;
+#X connect 115 0 116 1;
+#X connect 115 1 114 0;
+#X connect 115 2 104 0;
+#X connect 116 0 117 1;
+#X connect 116 1 115 0;
+#X connect 116 2 105 0;
+#X connect 117 0 118 1;
+#X connect 117 1 116 0;
+#X connect 117 2 106 0;
+#X connect 118 0 119 1;
+#X connect 118 1 117 0;
+#X connect 118 2 107 0;
+#X connect 119 0 120 1;
+#X connect 119 1 118 0;
+#X connect 119 2 108 0;
+#X connect 120 0 121 1;
+#X connect 120 1 119 0;
+#X connect 120 2 109 0;
+#X connect 121 0 122 1;
+#X connect 121 1 120 0;
+#X connect 121 2 110 0;
+#X connect 122 1 121 0;
+#X connect 122 2 111 0;
+#X restore 15 366 pd array;
+#X obj 16 122 t b b;
+#X obj 16 48 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X msg 160 112 0 \, destroy;
+#X floatatom 59 74 5 0 0 0 - - -;
+#X text 432 110 <- reset the simulation;
+#X obj 151 212 ch_gemwin;
+#X obj 170 143 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 186 167 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X obj 203 190 hsl 128 15 0 127 0 0 empty empty empty -2 -6 0 8 -262144
+-1 -1 0 1;
+#X text 249 125 camera position;
+#X msg 151 87 reset \, lighting 1 \, create \, 1;
+#X obj 604 138 gemhead 1;
+#X obj 604 187 world_light;
+#X obj 604 163 rotateXYZ 0 0 0;
+#X obj 403 112 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
+-1;
+#X obj 404 137 s init;
+#X floatatom 544 137 5 0 0 0 - - -;
+#X obj 544 159 s size;
+#X msg 490 135 reset;
+#X obj 490 159 s M;
+#X obj 16 95 metro 50;
+#X obj 388 91 loadbang;
+#X text 321 10 newWave;
+#X text 203 23 this exemple is a bit like Gem native object : newWave.
+;
+#N canvas 0 0 458 308 constructor 0;
+#X obj 20 124 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 20 146 constructor 11 1 11 -5 5 0 0 -5 5 mountain;
+#X msg 265 17 1 0 0 1 2;
+#X msg 274 38 -1 0 0 2 1;
+#X msg 288 60 0 0 1 1 3;
+#X msg 297 81 0 0 -1 3 1;
+#X msg 309 109 1 0 1 1 4;
+#X connect 0 0 1 0;
+#X connect 2 0 1 1;
+#X connect 3 0 1 1;
+#X connect 4 0 1 1;
+#X connect 5 0 1 1;
+#X connect 6 0 1 1;
+#X restore 490 181 pd constructor;
+#X obj 444 535 dac~;
+#X obj 445 459 line~;
+#N canvas 0 0 456 306 (subpatch) 0;
+#X array fooL 50000 float 0;
+#X coords 0 1 49999 -1 200 140 1;
+#X restore 198 321 graph;
+#X obj 88 388 + 1;
+#X obj 88 361 f;
+#X msg 117 360 0;
+#X obj 117 336 r init;
+#X obj 88 290 r L;
+#X obj 388 190 s L;
+#X obj 88 314 route bang;
+#X msg 460 430 0 \, 100000 10000;
+#X msg 451 406 0 \, 100000 4000;
+#X msg 445 383 0 \, 100000 1000;
+#X text 151 244 you can record the position of a mass in a array. This
+array can be read at audio rate...;
+#X text 452 362 play the sound at various frequency;
+#X text 37 46 <- begin (change metro speed for slow computer);
+#X text 151 273 you can accelerate trhe simulation if the CPU allows
+you \, to accelerate the computing of the array.;
+#X obj 445 343 loadbang;
+#X obj 15 463 tabwrite fooL;
+#X obj 58 437 tabwrite fooR;
+#N canvas 0 0 456 306 (subpatch) 0;
+#X array fooR 50000 float 0;
+#X coords 0 1 49999 -1 200 140 1;
+#X restore 198 469 graph;
+#X obj 445 511 tabread4~ fooL;
+#X obj 462 487 tabread4~ fooR;
+#X msg 388 164 setD2 0.001;
+#X obj 16 144 s L;
+#X obj 41 144 s M;
+#X obj 10 2 declare -lib Gem;
+#X connect 0 0 44 0;
+#X connect 0 1 45 0;
+#X connect 1 0 50 0;
+#X connect 1 1 51 0;
+#X connect 2 0 21 0;
+#X connect 3 0 6 0;
+#X connect 4 0 21 1;
+#X connect 7 0 6 1;
+#X connect 8 0 6 2;
+#X connect 9 0 6 3;
+#X connect 11 0 6 0;
+#X connect 12 0 14 0;
+#X connect 14 0 13 0;
+#X connect 15 0 16 0;
+#X connect 17 0 18 0;
+#X connect 19 0 20 0;
+#X connect 21 0 1 0;
+#X connect 22 0 16 0;
+#X connect 22 0 49 0;
+#X connect 27 0 47 0;
+#X connect 27 0 48 0;
+#X connect 29 0 30 1;
+#X connect 29 0 45 1;
+#X connect 29 0 44 1;
+#X connect 30 0 29 0;
+#X connect 31 0 29 0;
+#X connect 32 0 31 0;
+#X connect 33 0 35 0;
+#X connect 35 0 30 0;
+#X connect 36 0 27 0;
+#X connect 37 0 27 0;
+#X connect 38 0 27 0;
+#X connect 43 0 38 0;
+#X connect 47 0 26 0;
+#X connect 48 0 26 1;
+#X connect 49 0 34 0;
diff --git a/examples/46_non_linear.pd b/examples/46_non_linear.pd
index c0c66aa..a294a5b 100644
--- a/examples/46_non_linear.pd
+++ b/examples/46_non_linear.pd
@@ -1,191 +1,191 @@
-#N canvas 42 51 885 658 12;
-#X obj 144 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 6988 1;
-#X obj 162 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7419 1;
-#X obj 180 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7655 1;
-#X obj 198 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7806 1;
-#X obj 216 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7830 1;
-#X obj 234 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7834 1;
-#X obj 19 148 metro 10;
-#X obj 252 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7746 1;
-#X obj 19 175 t b b;
-#X obj 54 200 s \$0-link;
-#X obj 19 226 s \$0-mass;
-#X obj 19 401 link \$0-link 0 1 1;
-#X obj 167 401 link \$0-link 0 1 1;
-#X obj 316 401 link \$0-link 0 1 1;
-#X obj 480 403 link \$0-link 0 1 1;
-#X obj 630 403 link \$0-link 0 1 1;
-#X obj 778 403 link \$0-link 0 1 1;
-#X obj 927 403 link \$0-link 0 1 1;
-#X obj 1073 402 link \$0-link 0 1 1;
-#X msg 19 376 64;
-#X obj 19 349 loadbang;
-#X obj 568 213 moses 0;
-#X obj 568 139 link \$0-link 0 0 1;
-#X obj 568 238 * -1;
-#X obj 17 460 link \$0-link 0 1 1;
-#X obj 166 460 link \$0-link 0 1 1;
-#X obj 315 460 link \$0-link 0 1 1;
-#X obj 472 459 link \$0-link 0 1 1;
-#X obj 620 459 link \$0-link 0 1 1;
-#X obj 769 459 link \$0-link 0 1 1;
-#X msg 928 458 64;
-#X obj 927 436 loadbang;
-#X obj 271 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7562 1;
-#X obj 289 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7336 1;
-#X obj 307 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 7115 1;
-#X obj 325 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 6917 1;
-#X obj 343 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 6738 1;
-#X obj 361 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
--1 -1 6567 1;
-#X obj 19 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 1 1
-;
-#X obj 568 163 * 40;
-#X obj 568 188 + 35;
-#X obj 568 292 * -16;
-#X obj 619 317 * 16;
-#X obj 162 377 mass \$0-mass 30 64;
-#X obj 313 378 mass \$0-mass 30 64;
-#X obj 475 379 mass \$0-mass 30 64;
-#X obj 626 379 mass \$0-mass 30 64;
-#X obj 774 378 mass \$0-mass 30 64;
-#X obj 925 378 mass \$0-mass 30 64;
-#X obj 1069 377 mass \$0-mass 30 64;
-#X obj 12 434 mass \$0-mass 30 64;
-#X obj 163 437 mass \$0-mass 30 64;
-#X obj 310 436 mass \$0-mass 30 64;
-#X obj 468 435 mass \$0-mass 30 64;
-#X obj 616 434 mass \$0-mass 30 64;
-#X obj 767 434 mass \$0-mass 30 64;
-#N canvas 0 0 450 300 graph2 0;
-#X array force_speed 127 float 1;
-#A 0 -0.0133335 0.126668 0.413337 0.740006 0.993341 0.886674 0.83334
-0.780006 0.746673 0.700005 0.686672 0.640005 0.600005 0.573338 0.546671
-0.520004 0.48667 0.460004 0.453337 0.42667 0.420003 0.400003 0.38667
-0.380003 0.366669 0.353336 0.340003 0.320002 0.320002 0.306669 0.293336
-0.286669 0.273335 0.260002 0.253335 0.253335 0.240002 0.226668 0.226668
-0.220002 0.213335 0.206668 0.200001 0.193335 0.186668 0.186668 0.186668
-0.180001 0.180001 0.173335 0.160001 0.160001 0.153334 0.140001 0.133334
-0.126668 0.120001 0.120001 0.113334 0.113334 0.106667 0.100001 0.093334
-0.0866672 0.0866672 0.0800005 0.0733338 0.0666671 0.0666671 0.0600004
-0.0600004 0.0533336 0.0533336 0.0533336 0.0533336 0.0466669 0.0466669
-0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669
-0.0466669 0.0466669 0.0466669 0.0400002 0.0400002 0.0400002 0.0400002
-0.0400002 0.0400002 0.0400002 0.0400002 0.0333335 0.0333335 0.0266668
-0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
-0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
-0.0266668 0.0266668 0.0266668 0.0266668 0.0200001 0.0200001 0.0200001
-0.0200001 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
-0.0200001;
-#X coords 0 1 126 -1 200 100 1;
-#X restore 214 142 graph;
-#X obj 568 265 tabread4 force_speed;
-#X obj 619 292 tabread4 force_speed;
-#X text 105 5 This is an exemple of non linear link;
-#X text 105 26 a table is used to store the relation between deformation
-speed and force;
-#X text 611 188 bow speed;
-#X text 610 164 adjust curve size;
-#X text 463 338 use the same curve for positive or negative force;
-#X text 520 120 non linear exitation of a sigle mass;
-#X text 27 273 the speed / force relation is like a bow on a string
-interaction;
-#X text 103 65 this simulation provide a continus exitation \, like
-in a violon string exited with a bow.;
-#X text 49 117 <- 1;
-#X connect 6 0 8 0;
-#X connect 8 0 10 0;
-#X connect 8 1 9 0;
-#X connect 11 1 43 0;
-#X connect 12 0 43 0;
-#X connect 12 1 44 0;
-#X connect 13 0 44 0;
-#X connect 13 1 45 0;
-#X connect 14 0 45 0;
-#X connect 14 1 46 0;
-#X connect 15 0 46 0;
-#X connect 15 1 47 0;
-#X connect 16 0 47 0;
-#X connect 16 1 48 0;
-#X connect 17 0 48 0;
-#X connect 17 1 49 0;
-#X connect 18 0 49 0;
-#X connect 18 1 50 0;
-#X connect 19 0 11 0;
-#X connect 20 0 19 0;
-#X connect 21 0 23 0;
-#X connect 21 1 58 0;
-#X connect 22 0 39 0;
-#X connect 23 0 57 0;
-#X connect 24 0 50 0;
-#X connect 24 1 51 0;
-#X connect 25 0 51 0;
-#X connect 25 1 52 0;
-#X connect 26 0 52 0;
-#X connect 26 1 53 0;
-#X connect 27 0 53 0;
-#X connect 27 1 54 0;
-#X connect 28 0 54 0;
-#X connect 28 1 55 0;
-#X connect 29 0 55 0;
-#X connect 30 0 29 1;
-#X connect 31 0 30 0;
-#X connect 38 0 6 0;
-#X connect 39 0 40 0;
-#X connect 40 0 21 0;
-#X connect 41 0 46 0;
-#X connect 42 0 46 0;
-#X connect 43 0 0 0;
-#X connect 43 0 11 1;
-#X connect 43 0 12 0;
-#X connect 44 0 1 0;
-#X connect 44 0 12 1;
-#X connect 44 0 13 0;
-#X connect 45 0 2 0;
-#X connect 45 0 13 1;
-#X connect 45 0 14 0;
-#X connect 46 0 3 0;
-#X connect 46 0 14 1;
-#X connect 46 0 15 0;
-#X connect 46 0 22 0;
-#X connect 47 0 4 0;
-#X connect 47 0 15 1;
-#X connect 47 0 16 0;
-#X connect 48 0 5 0;
-#X connect 48 0 16 1;
-#X connect 48 0 17 0;
-#X connect 49 0 7 0;
-#X connect 49 0 17 1;
-#X connect 49 0 18 0;
-#X connect 50 0 24 0;
-#X connect 50 0 18 1;
-#X connect 50 0 32 0;
-#X connect 51 0 24 1;
-#X connect 51 0 25 0;
-#X connect 51 0 33 0;
-#X connect 52 0 25 1;
-#X connect 52 0 26 0;
-#X connect 52 0 34 0;
-#X connect 53 0 26 1;
-#X connect 53 0 27 0;
-#X connect 53 0 35 0;
-#X connect 54 0 27 1;
-#X connect 54 0 28 0;
-#X connect 54 0 36 0;
-#X connect 55 0 28 1;
-#X connect 55 0 29 0;
-#X connect 55 0 37 0;
-#X connect 57 0 41 0;
-#X connect 58 0 42 0;
+#N canvas 38 91 885 658 12;
+#X obj 144 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 162 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 180 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 198 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 216 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 234 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 19 148 metro 10;
+#X obj 252 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 19 175 t b b;
+#X obj 54 200 s \$0-link;
+#X obj 19 226 s \$0-mass;
+#X obj 19 401 link \$0-link 0 1 1;
+#X obj 167 401 link \$0-link 0 1 1;
+#X obj 316 401 link \$0-link 0 1 1;
+#X obj 480 403 link \$0-link 0 1 1;
+#X obj 630 403 link \$0-link 0 1 1;
+#X obj 778 403 link \$0-link 0 1 1;
+#X obj 927 403 link \$0-link 0 1 1;
+#X obj 1073 402 link \$0-link 0 1 1;
+#X msg 19 376 64;
+#X obj 19 349 loadbang;
+#X obj 568 213 moses 0;
+#X obj 568 139 link \$0-link 0 0 1;
+#X obj 568 238 * -1;
+#X obj 17 460 link \$0-link 0 1 1;
+#X obj 166 460 link \$0-link 0 1 1;
+#X obj 315 460 link \$0-link 0 1 1;
+#X obj 472 459 link \$0-link 0 1 1;
+#X obj 620 459 link \$0-link 0 1 1;
+#X obj 769 459 link \$0-link 0 1 1;
+#X msg 928 458 64;
+#X obj 927 436 loadbang;
+#X obj 271 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 289 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 307 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 325 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 343 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 361 508 vsl 15 128 0 127 0 0 empty empty empty 0 -8 0 8 -262144
+-1 -1 6400 1;
+#X obj 19 120 tgl 15 0 empty empty empty 0 -6 0 8 -262144 -1 -1 0 1
+;
+#X obj 568 163 * 40;
+#X obj 568 188 + 35;
+#X obj 568 292 * -16;
+#X obj 619 317 * 16;
+#X obj 162 377 mass \$0-mass 30 64;
+#X obj 313 378 mass \$0-mass 30 64;
+#X obj 475 379 mass \$0-mass 30 64;
+#X obj 626 379 mass \$0-mass 30 64;
+#X obj 774 378 mass \$0-mass 30 64;
+#X obj 925 378 mass \$0-mass 30 64;
+#X obj 1069 377 mass \$0-mass 30 64;
+#X obj 12 434 mass \$0-mass 30 64;
+#X obj 163 437 mass \$0-mass 30 64;
+#X obj 310 436 mass \$0-mass 30 64;
+#X obj 468 435 mass \$0-mass 30 64;
+#X obj 616 434 mass \$0-mass 30 64;
+#X obj 767 434 mass \$0-mass 30 64;
+#N canvas 0 0 450 300 (subpatch) 0;
+#X array force_speed 127 float 1;
+#A 0 -0.0133335 0.126668 0.413337 0.740006 0.993341 0.886674 0.83334
+0.780006 0.746673 0.700005 0.686672 0.640005 0.600005 0.573338 0.546671
+0.520004 0.48667 0.460004 0.453337 0.42667 0.420003 0.400003 0.38667
+0.380003 0.366669 0.353336 0.340003 0.320002 0.320002 0.306669 0.293336
+0.286669 0.273335 0.260002 0.253335 0.253335 0.240002 0.226668 0.226668
+0.220002 0.213335 0.206668 0.200001 0.193335 0.186668 0.186668 0.186668
+0.180001 0.180001 0.173335 0.160001 0.160001 0.153334 0.140001 0.133334
+0.126668 0.120001 0.120001 0.113334 0.113334 0.106667 0.100001 0.093334
+0.0866672 0.0866672 0.0800005 0.0733338 0.0666671 0.0666671 0.0600004
+0.0600004 0.0533336 0.0533336 0.0533336 0.0533336 0.0466669 0.0466669
+0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669 0.0466669
+0.0466669 0.0466669 0.0466669 0.0400002 0.0400002 0.0400002 0.0400002
+0.0400002 0.0400002 0.0400002 0.0400002 0.0333335 0.0333335 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0266668 0.0266668 0.0266668 0.0266668 0.0200001 0.0200001 0.0200001
+0.0200001 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668 0.0266668
+0.0200001;
+#X coords 0 1 126 -1 200 100 1;
+#X restore 214 142 graph;
+#X obj 568 265 tabread4 force_speed;
+#X obj 619 292 tabread4 force_speed;
+#X text 105 5 This is an exemple of non linear link;
+#X text 105 26 a table is used to store the relation between deformation
+speed and force;
+#X text 611 188 bow speed;
+#X text 610 164 adjust curve size;
+#X text 463 338 use the same curve for positive or negative force;
+#X text 520 120 non linear exitation of a sigle mass;
+#X text 27 273 the speed / force relation is like a bow on a string
+interaction;
+#X text 103 65 this simulation provide a continus exitation \, like
+in a violon string exited with a bow.;
+#X text 49 117 <- 1;
+#X connect 6 0 8 0;
+#X connect 8 0 10 0;
+#X connect 8 1 9 0;
+#X connect 11 1 43 0;
+#X connect 12 0 43 0;
+#X connect 12 1 44 0;
+#X connect 13 0 44 0;
+#X connect 13 1 45 0;
+#X connect 14 0 45 0;
+#X connect 14 1 46 0;
+#X connect 15 0 46 0;
+#X connect 15 1 47 0;
+#X connect 16 0 47 0;
+#X connect 16 1 48 0;
+#X connect 17 0 48 0;
+#X connect 17 1 49 0;
+#X connect 18 0 49 0;
+#X connect 18 1 50 0;
+#X connect 19 0 11 0;
+#X connect 20 0 19 0;
+#X connect 21 0 23 0;
+#X connect 21 1 58 0;
+#X connect 22 0 39 0;
+#X connect 23 0 57 0;
+#X connect 24 0 50 0;
+#X connect 24 1 51 0;
+#X connect 25 0 51 0;
+#X connect 25 1 52 0;
+#X connect 26 0 52 0;
+#X connect 26 1 53 0;
+#X connect 27 0 53 0;
+#X connect 27 1 54 0;
+#X connect 28 0 54 0;
+#X connect 28 1 55 0;
+#X connect 29 0 55 0;
+#X connect 30 0 29 1;
+#X connect 31 0 30 0;
+#X connect 38 0 6 0;
+#X connect 39 0 40 0;
+#X connect 40 0 21 0;
+#X connect 41 0 46 0;
+#X connect 42 0 46 0;
+#X connect 43 0 0 0;
+#X connect 43 0 11 1;
+#X connect 43 0 12 0;
+#X connect 44 0 1 0;
+#X connect 44 0 12 1;
+#X connect 44 0 13 0;
+#X connect 45 0 2 0;
+#X connect 45 0 13 1;
+#X connect 45 0 14 0;
+#X connect 46 0 3 0;
+#X connect 46 0 14 1;
+#X connect 46 0 15 0;
+#X connect 46 0 22 0;
+#X connect 47 0 4 0;
+#X connect 47 0 15 1;
+#X connect 47 0 16 0;
+#X connect 48 0 5 0;
+#X connect 48 0 16 1;
+#X connect 48 0 17 0;
+#X connect 49 0 7 0;
+#X connect 49 0 17 1;
+#X connect 49 0 18 0;
+#X connect 50 0 24 0;
+#X connect 50 0 18 1;
+#X connect 50 0 32 0;
+#X connect 51 0 24 1;
+#X connect 51 0 25 0;
+#X connect 51 0 33 0;
+#X connect 52 0 25 1;
+#X connect 52 0 26 0;
+#X connect 52 0 34 0;
+#X connect 53 0 26 1;
+#X connect 53 0 27 0;
+#X connect 53 0 35 0;
+#X connect 54 0 27 1;
+#X connect 54 0 28 0;
+#X connect 54 0 36 0;
+#X connect 55 0 28 1;
+#X connect 55 0 29 0;
+#X connect 55 0 37 0;
+#X connect 57 0 41 0;
+#X connect 58 0 42 0;
diff --git a/examples/47_scann_synth.pd b/examples/47_scann_synth.pd
index 450844e..e1b80d1 100644
--- a/examples/47_scann_synth.pd
+++ b/examples/47_scann_synth.pd
@@ -1,4 +1,5 @@
-#N canvas 581 245 515 493 12;
+#N canvas 577 259 515 493 12;
+#X declare -lib Gem;
#N canvas 72 27 1257 926 corde 0;
#N canvas 306 123 345 326 mass 0;
#X obj 65 20 inlet;
@@ -1358,6 +1359,7 @@
#X obj 36 78 gemwin 40;
#X text 379 158 (damping);
#X obj 245 405 dac~;
+#X obj 260 6 declare -lib Gem;
#X connect 0 0 28 0;
#X connect 0 1 28 1;
#X connect 1 0 8 0;
diff --git a/examples/48_pmpd~.pd b/examples/48_pmpd~.pd
index 1628928..83d60a4 100644
--- a/examples/48_pmpd~.pd
+++ b/examples/48_pmpd~.pd
@@ -1,4 +1,4 @@
-#N canvas 39 25 842 667 10;
+#N canvas 35 91 842 667 10;
#X obj 39 413 t a;
#X obj 134 11 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
diff --git a/examples/49_simple_oscilator~.pd b/examples/49_simple_oscilator~.pd
index 6abe3d9..2c1eced 100644
--- a/examples/49_simple_oscilator~.pd
+++ b/examples/49_simple_oscilator~.pd
@@ -1,4 +1,4 @@
-#N canvas 249 92 539 463 10;
+#N canvas 245 106 539 463 10;
#X obj 118 40 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X obj 168 422 dac~;
diff --git a/examples/52_pmpd_string.pd b/examples/52_pmpd_string.pd
index 59c5a50..678ff29 100644
--- a/examples/52_pmpd_string.pd
+++ b/examples/52_pmpd_string.pd
@@ -1,4 +1,5 @@
-#N canvas 518 31 620 260 10;
+#N canvas 516 84 620 260 10;
+#X declare -lib Gem;
#X obj 24 54 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262131 -1
-1;
#X text 49 54 reset;
@@ -328,6 +329,7 @@
#X text 324 79 Send forces;
#X text 323 150 global damping;
#X text 23 196 COPYRIGHT : Nicolas Montgermont 2010;
+#X obj 178 9 declare -lib Gem;
#X connect 0 0 2 0;
#X connect 4 0 3 0;
#X connect 5 0 12 0;
diff --git a/examples/53_pmpd_wave.pd b/examples/53_pmpd_wave.pd
index 90a9426..81a9b55 100644
--- a/examples/53_pmpd_wave.pd
+++ b/examples/53_pmpd_wave.pd
@@ -1,4 +1,5 @@
-#N canvas 617 175 594 188 10;
+#N canvas 615 182 594 188 10;
+#X declare -lib Gem;
#X obj 29 20 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144 -1
-1;
#X text 49 19 Reset;
@@ -91,7 +92,7 @@
#X connect 4 0 2 0;
#X connect 4 1 1 0;
#X restore 30 85 pd gem;
-#X obj 30 63 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+#X obj 30 63 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 200 -6 send forces;
#X text 200 7 on a row;
@@ -105,7 +106,7 @@
#X connect 2 0 1 0;
#X restore 301 119 pd damping;
#X obj 304 100 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 800 1;
+-1 -1 0 1;
#X text 300 79 change viscosity;
#N canvas 0 22 450 300 row 0;
#X msg 149 87 20;
@@ -133,7 +134,7 @@
#X text 199 70 send forces;
#X text 50 63 Gem on/off;
#X obj 305 38 hsl 128 15 0 127 0 0 empty empty empty -2 -8 0 10 -262144
--1 -1 3100 1;
+-1 -1 0 1;
#X text 300 17 change rigidity;
#N canvas 0 22 450 300 rigi 0;
#X obj 151 47 inlet;
@@ -163,7 +164,7 @@
#X connect 2 0 1 0;
#X restore 471 155 pd corner;
#X obj 471 17 vsl 15 128 0 127 0 0 empty empty empty 0 -9 0 10 -262144
--1 -1 2700 1;
+-1 -1 0 1;
#N canvas 696 124 709 588 compute 0;
#X msg 126 130 bang \, get massesPos;
#X obj 126 27 gemhead;
@@ -222,6 +223,7 @@
#X connect 25 0 19 0;
#X restore 30 109 pd compute;
#X text 29 151 COPYRIGHT : Nicolas Montgermont 2010;
+#X obj 27 -3 declare -lib Gem;
#X connect 0 0 3 0;
#X connect 2 0 11 0;
#X connect 5 0 4 0;
diff --git a/examples/54_pmpd2d_test.pd b/examples/54_pmpd2d_test.pd
index 521e3e4..c1c3dc9 100644
--- a/examples/54_pmpd2d_test.pd
+++ b/examples/54_pmpd2d_test.pd
@@ -1,4 +1,5 @@
-#N canvas 780 54 626 507 10;
+#N canvas 778 84 626 507 10;
+#X declare -lib Gem;
#X obj 27 26 loadbang;
#X obj 369 155 gemwin;
#X msg 384 132 0 \, destroy;
@@ -133,6 +134,7 @@
#X obj 53 397 pmpd2d;
#X obj 366 244 route linksPosNo massesPos;
#X text 53 452 copyright Nicolas Montgermont 2010;
+#X obj 372 54 declare -lib Gem;
#X connect 0 0 6 0;
#X connect 2 0 1 0;
#X connect 4 0 6 0;
diff --git a/examples/55_pmpd2d_additive.pd b/examples/55_pmpd2d_additive.pd
index e2d709c..a8d7238 100644
--- a/examples/55_pmpd2d_additive.pd
+++ b/examples/55_pmpd2d_additive.pd
@@ -1,4 +1,5 @@
-#N canvas 572 22 686 162 10;
+#N canvas 570 84 686 162 10;
+#X declare -lib Gem;
#X obj 22 16 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 596 150 954 737 synthese 0;
@@ -437,7 +438,7 @@
#X connect 12 0 9 0;
#X connect 12 1 8 0;
#X restore 23 86 pd gem_stuff;
-#X obj 23 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+#X obj 23 64 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#X text 43 63 gem on/off;
#X text 196 54 1 Create window;
@@ -459,5 +460,6 @@
#X text 196 94 Drag red masses for bass and white ones for high tones...
;
#X text 196 17 Additive synthesis example;
+#X obj 198 122 declare -lib Gem;
#X connect 0 0 3 0;
#X connect 5 0 4 0;
diff --git a/examples/56_pmpd2d_ball.pd b/examples/56_pmpd2d_ball.pd
index 44b5727..cac3c7e 100644
--- a/examples/56_pmpd2d_ball.pd
+++ b/examples/56_pmpd2d_ball.pd
@@ -1,4 +1,5 @@
-#N canvas 792 237 452 151 10;
+#N canvas 790 244 452 151 10;
+#X declare -lib Gem;
#X obj 23 17 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 43 16 reset;
@@ -153,5 +154,6 @@
#X text 164 54 create window;
#X text 164 69 and drag the structure with the mouse;
#X text 161 117 copyright Nicolas Montgermont 2010;
+#X obj 167 19 declare -lib Gem;
#X connect 0 0 5 0;
#X connect 3 0 2 0;
diff --git a/examples/57_pmpd2d_gravitation.pd b/examples/57_pmpd2d_gravitation.pd
index ffc217a..661dfa9 100644
--- a/examples/57_pmpd2d_gravitation.pd
+++ b/examples/57_pmpd2d_gravitation.pd
@@ -1,4 +1,5 @@
-#N canvas 676 303 541 161 10;
+#N canvas 674 310 541 161 10;
+#X declare -lib Gem;
#X obj 18 21 bng 15 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X text 39 18 reset;
@@ -19,7 +20,7 @@
#X connect 7 0 4 0;
#X connect 7 1 0 0;
#X restore 18 87 pd gem_stuff;
-#X obj 18 69 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1 1
+#X obj 18 69 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0 1
;
#N canvas 0 22 804 395 creation 0;
#X obj 42 28 bng 20 250 50 0 empty empty empty 0 -6 0 8 -258699 -1
@@ -209,5 +210,6 @@ in "creation";
#X connect 8 0 6 0;
#X restore 18 107 pd compute;
#X text 120 121 copyright Nicolas Montgermont 2010;
+#X obj 120 20 declare -lib Gem;
#X connect 0 0 4 0;
#X connect 3 0 2 0;
diff --git a/examples/58_pmpd2d_sand.pd b/examples/58_pmpd2d_sand.pd
index 60ba102..144bd5c 100644
--- a/examples/58_pmpd2d_sand.pd
+++ b/examples/58_pmpd2d_sand.pd
@@ -1,4 +1,5 @@
-#N canvas 915 160 636 696 10;
+#N canvas 913 167 636 696 10;
+#X declare -lib Gem;
#X obj 363 187 gemhead;
#X obj 363 234 world_light;
#X msg 364 141 \; pd dsp 1;
@@ -260,6 +261,7 @@
#X obj 364 120 loadbang;
#X obj 213 462 gemmouse 80 80;
#X text 124 661 moove the mouse on the screen to simulate gravity;
+#X obj 362 47 declare -lib Gem;
#X connect 0 0 20 0;
#X connect 3 0 27 0;
#X connect 5 0 7 0;
diff --git a/examples/59_pmpd3d_test.pd b/examples/59_pmpd3d_test.pd
index f487106..0d13686 100644
--- a/examples/59_pmpd3d_test.pd
+++ b/examples/59_pmpd3d_test.pd
@@ -1,4 +1,5 @@
-#N canvas 677 130 653 522 10;
+#N canvas 675 137 653 522 10;
+#X declare -lib Gem;
#X obj 27 26 loadbang;
#X obj 263 104 gemwin;
#X msg 278 81 0 \, destroy;
@@ -154,6 +155,7 @@
#X obj 53 397 pmpd3d;
#X obj 366 244 route linksPosNo massesPos;
#X text 190 476 copyright Nicolas Montgermont 2010;
+#X obj 491 55 declare -lib Gem;
#X connect 0 0 6 0;
#X connect 2 0 1 0;
#X connect 4 0 6 0;
diff --git a/examples/60_draw_link_force.pd b/examples/60_draw_link_force.pd
index c8f3d27..9152049 100644
--- a/examples/60_draw_link_force.pd
+++ b/examples/60_draw_link_force.pd
@@ -1,4 +1,5 @@
-#N canvas 520 143 745 681 10;
+#N canvas 518 150 745 681 10;
+#X declare -lib Gem;
#X obj 30 174 until;
#X obj 30 244 - 100;
#X obj 30 198 f;
@@ -95,6 +96,7 @@ it's elongation;
#X msg 30 304 posX M2 0 \, bang \, posX M2 \$1 \, bang \, get massesForces
M2;
#X msg 191 474 print;
+#X obj 333 52 declare -lib Gem;
#X connect 0 0 2 0;
#X connect 1 0 12 0;
#X connect 2 0 3 0;
diff --git a/examples/61_draw_link_force_2d.pd b/examples/61_draw_link_force_2d.pd
index 5c7e708..e494b56 100644
--- a/examples/61_draw_link_force_2d.pd
+++ b/examples/61_draw_link_force_2d.pd
@@ -1,4 +1,5 @@
-#N canvas 621 331 876 550 10;
+#N canvas 619 338 876 550 10;
+#X declare -lib Gem;
#X obj 30 174 until;
#X obj 30 244 - 100;
#X obj 30 198 f;
@@ -39,6 +40,7 @@ it's elongation / elongation speed;
#X msg 28 308 pos M2 0 0 \, bang \, pos M2 \$1 0 \, bang \, get massesForces
M2;
#X obj 28 460 tabwrite force;
+#X obj 538 38 declare -lib Gem;
#X connect 0 0 2 0;
#X connect 1 0 10 0;
#X connect 2 0 3 0;