Selfie Sunday 002 :: Webcam to ASCII

This Tutorial

In this Selfie Sunday we learn how to build a patch that turns webcam input into an ASCII display… “yeah cool, whateves” I hear you say… but the great thing about this is that it’s in real-time!

It’s a 3 part tutorial – starting with how to push font into a matrix to analyse and sort the brightness of each character to use in the next 2 tutorials, where I show two very different methods to achieve a similar result. Hopefully I’ll get you to think about how to use some Max, MSP and Jitter objects in interesting ways.

The full set of tutorials focus on the following objects: [jit.matrix], [jit.bsort], [jit.3m], [jit.gl.text], [poly~], [jit.gl.texture], [jit.gl.mesh]

Difficulty

4 out of 4 planes on the ARGB scale

This tutorial is quite long and uses a variety of Max objects in unconventional ways; although all concepts and steps are explained, it is designed for people comfortable with intermediate approaches to the Jitter world and are ready to push their understanding of how the pieces are able to be put together.

Running time: 118 minutes

Part 1 :: Sorting ASCII characters

We start off the tutorial by bringing [jit.gl.text] rendered font into matrix-land and analyse each character, sorting them in order of brightness, and storing them in a matrix table.

In this you’ll be learning interesting tricks with rendering to nodes, analysing brightness of matrices with jit.3m and sorting cells using jit.bsort based on these brightness values.

It’s the slowest video, but it forms the foundation of the next two videos and covers a lot of interesting Jitter approaches.

The grunt work is done... now choose a method to ASCIIfy your Selfie!

Part 2a :: [jit.gl.text] in [poly~] method

Then we learn how to use the sorted character table from Part 1 to generate an ASCII image from webcam input, using [jit.gl.text] embedded in a [poly~] to generate each line of text text. An interesting way to use [poly~]!

You’ll need an even spaced font to do this properly – here’s the font “Classic Console

Part 2b :: [jit.gl.texture] UV map method

And in part 2b we take a different approach, by using the table from Part 1 and learn how to generate a large [jit.gl.texture] that contains all the font characters.

We then use the input from the webcam to generate a UV/texture map using [jit.expr], and apply it to a [jit.gl.mesh], dynamically referencing the texture of characters.

This method has the benefit of being able to use any shape of font… or not even font!

The Patches

----------begin_max5_patcher----------
4492.3oc0cs0baiir94rUs+GP4yqYTQv6beJ1xxwdFaYWRJYpo1cqTPTvRbL
EgVdINZ157e+fKjhfTTxTTjL9TSl3vFjrQ+g9F.ZB+e+6+sObwbxOvQW.9Gf
+I3Ce3+Ro7ANMFkOjQ3CWrF8CWeTD+FuvkrdMNH9hOl1XL9Gw7Flc6cSAOc4
rg2B3+iIy.Pvi2.TG7uB9WAe9QvrGACucxcS+5c+1fgO9.65ata7cSuEvezY
eY1iSt6x628l88Bvtjj.9q2JiZPxZRRrONl2cTxHuAE6txKX42BwtwBIBpqZ
Lv3i.ca0AJeDnZnw+AzZfB3em8bQwa8w79+N99LIHNx6u3TUMG.sgNVlRr2K
Hi6vLpdK3uBx7+7WLJfLtDeRnn6nLvQ0P24iz+glotkhI+eoCgzWN.x5S7m6
+8u+2X+j9iOd9iIZC.O9znwfeezUCu7gKZ.FpnoxvPGGN1oay9gV2hf5umPP
0AfIiF93jqA2733YM.A0LLYXFTyfifZvd.A0dOgfvAfoyXdClLZ70ilb23O2
D8PMStFHjCep18gdn5OAT7O8hGr4UufEjWO.JodDTxQmqjo4v+gtJ2gmlgtL
LIdUwa2fEOCEsn+ed6uIr.unwR27j3XRvADL3QDLSMclnXoK7Bk82GcveOAc
NJX4oHnpl5MWTCvuReG6aMDABwAKvgOQ721L6.tzK7GawMCTUeCj3skTMi1W
RYpxgKmq5mrF0bcYnM+GVZ0RR2aLm1I91ZTbn2ONU0bUUk1GSBA+OJhw+FXD
3nHAEllMCPNDDnTED.saNDrFGEgVh2GCb8IQ3FH9PEUkb4Wyocke0JkeqNP9
IavMwEnikijza0GRuY23TXdnKIBA9jKM5bHJJFPyR8SyC8VtJNfBZzXoFmg+
BCQFBpvd2gATuavqkgn4.npMvw7LvEHOVgsU+CKZsOrDCb8wnl3D0TLEFCad
XT8FFVQv8SBET6lnIrTba.LnYqwlVGsawQCXeDLA1EYScTD3XYRY3vQ.5LB3
HfVKkIkhc6KkaBwzXFK.MbrNSRMsNgbFq8Xc0nfUGXySh1tdNw+LP.wbvMb5
CD3LBdlPmHcxADSscLKFuNco6t3xk3.2sfath4b9ir+5R+k3POTPNgIfqFM4
2tezeTfz8WNd3kEn733w2MRlxP5b2GMo.kQiK7L7U0aVgW70WN4d9L8kHMZ3
iWOpHEJ6K1gtdzzY2MtvcMZ5zQiGVfzsil7vkiGKS5W+x82coDEpv6W7JvU9
H2WJQaLJLjMU6BDmPRnonu.7vLvUD+E6Z8JTzK3vu646iAO5u.bCxEK0XxJT
RDvQKmD12m9RjtNz2K.LEEDIOVUjL3Z7ZO41BPg7txPBsSEDgk5OLABsfNaB
vcyFlSlrfD3UfwYTJgA4zq3kuqsmHQwTVLjrl5HJp38PdAbYPr2+IAUf3ZT.
GglxMqjaIZE1+YvTtkLvJuoPzBe7VvsHpetBBSnWLJHvyszPQHAs3UzVIBIQ
q.ScC81DKK5CQ9dzbKKeM3dV5lEn9LILfZwHOxvHGESJ99VSebT4qAOfhWIQ
LXAJT9lnHnuOKgkLJ3fXTRwqSB2V9ZvmIwq7b2i7T2UDh+bJdl2zJldozaj4
NgBazQ1HhzfvPhOIH.UPlHqo2HW+6goRTYOHJp.A5XQrrzSnylIrjV0PxFJw
M9nXbZ+u3XWEsWZzfDNG6KcYRnGkKiw4FpCSB8+KYYXDcTXcdGaDU4HbAa3L
UkPVmZjOdyJTPNCGEPyw963vnBuQ5bS3c7hOKiJyDcepbgXexOfW3krt.cli
C1fG3dZ.FpjwtNGmuA668CvLuXpWgk4TIDJAFGnljEwqaHgw4Cv2DhBdg4PY
G1KokTtwBNappQtmgCdG2hQee6AaUH4uQykY.FyiEmNtI2PfaUF3eFQG4o5o
RDVjrzS5xPzZYV7YLIbojN7m8juapQTpkvrJIVgmxBMO5Gw42RQ89766K9zI
991MVEu7IITcElRifYzash6hjrXaENfEzmFSymXGsaQLcvfH2Uuh8jcfbKJz
m7JXJw2iZBDScE5J2VHU4juXtYjv9eGG64lCr2RURAyHuR6qyXIwsiN0Cz8X
Fbc88pfKoQThyU9ua8Fjar7kTFw04mtBsPJT8cATG1q4QqWKkmyuh9NJ.GgK
xxekPCbW31R7bwErI+sPpqdbPQZITOdTLorx38nXRgKJ4AjS5VjGKtNtD0BV
LbREMl4jJY4voMkZMNWVkgScFMU2bJXrO5UzBLF7k6plJ+03WjiItdKnZbgU
QkFBjd2gnMq1tWSkhrjR9FzOJShEU+UZfbY+YoMwT4qhFXFMwa1yHoQJ27Wn
oDPVjy7GPKCvRiJOfnN+WPsN970RzdghVHoq8WlDTNFaApU.WOPsKnlLRWSC
Ii3ZnBmSCQan4r3mKVO34FRhHOGCtkFixGsEUQS+5JbvxawdGooRZJUbCRi5
U15AeCzXqfYHJGRvUz5SqPKidppdMerXJcpFOWQi7WXUuu+.Usfxoev9nn0J
EwrlN7y5AtBQU.kZJX48de4WntPupLwuc6uMc3zxMEQ80lmTxCTkuvfRWBFS
F.TUjnFrj59jlERIlSBHrIVRMgBi79tDvFNgLmHI.S2S6bJ3Q5rAkioSI8z9
20D7yXVLSbkiQEZeC1kNsm3sxMSwxxuyz3M4D9JKJkjTsEErFUxY+XOzRZDX
PZJVK1qAd7EIpLe5H4Q4bRUXLNdp25oI4iCONbB3RV+jsIK4uVVnPZOflM+J
d2SN59iAaycX8DkSt3JRyf0.0+EyasXrSpkMaoS9P55P2UhsBOmxKdTek4cy
mn4+hiklzTFgrz9JvZpGi4zzCxITox6SDRHXhm6JZhu4DYQ0j84MAsDWNZ9D
z28xkmID2WdEKwtLBUjnwtlDYhTHilhwkKEAcG.W7YlhWRvUlWfnkmXICThV
42Lmnj9SFgRwn2QdzZxe5sO4aYy7KTBk10RQeL6HuW74Bs3efGJcIsxnuh7p
Ka99kr8JokKtr3v+Tu3Wni.z4JKEwTP7ZuH5rs1VhJMSjExAjETmRs07KSKY
9pJu4BV5SCPaJj8zTpQnqmzKaq+yHrjTTT1mgVQjlA2L75MIQBmWxu0YdqwW
kDJKkLRQ7PXE04lEhmm3tBGKOs1YgIX5Pnz7sl8JfNuZYKtcTpPkuh1pR6+q
3vEHI6tuRyDLb+k23qTu+9KxU+9pOEmW6sWFm+NdNC+y6z+t2BpXvbIIQJXY
4aJkBPsBZ4KT0ejTVgaGkRZ64zKkhZdCRldxDO3KpJSm8ZUX9ju.rUsHuh0v
GJ1kbnhRsVk2MroGhoYY9Mb.ZtnUkCtDvodeN48.SoCpuB1tAvVdplrd3Bnx
hu4Oh8GrqWN7NXuQ8InE7Z5ow.fX6+LUZF.bx0SjRmrSnvA.kAMXigUMTGnZ
vpjDQ0h0v8.7Y5v.2nP7ONI7nK1QPrO.dNngJe2gzLOCchOdhEZgRmUoQtjv
ECoIDhbod3hZfgRFrv1AMlW0zZuqS2oXniS2nWnbPMCs2n1CYHfnvAzOSEi2
RAQqR.w9cqBRF5.s5Q8itX2kAyaRbDE9FKaoaIUXpcdfDniY2TJEKHA3ojPw
5zc5UTQJXXw+pKbZoZSE5zQ0lZRvF57AApMvkP5WThosnj7ZkRMq4UXEzoiJ
7r4QTcAvmnycL.ulPmugZCBrlgUhpt.po22EfFzA1Mvin6.XfDdw8DxKIa.P
.a8W3EAvIiTY1OPGoBeteQpyHQDFzbz56+nFTPQNn1hRUTjbtRqN0sr4swlB
W9qkoVW.NpFjXBGUvXreBOl4EUAe1F6qnjd6stBH+CiCGBzznAcOTcgperxo
VjnKTgC1NMzGl7Dh2CbKfkFUhX5uypwdUCS9mLXuUi8P6NXRgKYkVADnzjpr
WUpLyg5bznaqybns561raSQC8dbxO1cTYxVSzP4s8RK91indcZoD7r6fo+50
fA6zLUzrEBlSyT8OhKvJ09sz6jIy.7ZPFHlPat2Owmrplx4MU2ifDUpGXA6t
RmNBG6h88gKZtdggpkz5K2sqWJzpCrI3S2wi8eMGDzcR+ZRTaWPnxk8vzoKL
M7ZjoQl7K9thLMZtygFXYX1Aq+yuPSc7LzCLEeG6mQZimhSRSqtIEA2jPZph
wWNc3c20Dvvge3HnI91pp6VNcd4GXZ1QPQVlAeE4mzjuOyzfGYfAD1GfQW7E
Z6h7w.kA7MVgNg.iliE5huXUmV9CNwrRnPqazKVyJmuSG.LT3JChboL5iDmM
gcD.3Ez70EO8z+vnWLF5f4Q87YrmQVF1mShzGc+DqNJgR2L0oCaBbrYKopxm
7rsHsQi1Z1RFmQt.THMfUyFm9tiJjEKQ1eF0KNGu9riK3v5zWxtSduQLb5Hk
fC5F3nmWGppxJAZskRf0OAkfTY4+WnDX99vUHTWW3JzTsecEZzAIFQuIu0Iq
aX0lj5AQkCDVlmYwlbpSfPuC7JP4IGOfCNCioT7PquwC62oyhHEWRKCm9YVD
5VcSHiZL6xil.gXUmsUDStTskhcna1oaG5NMfYLe6.0yXCQy15XUwZN4z6Go
KPciNRynNlIGMuBCtYxtkiqsRrPWuSK1B8CHpFu8dvjdn10EEaQqUHF5Z+LR
KKUUPrakVNuiSKSWsSc8nC3wC0TAl5JTuGJMJtrPaSWuvoIUe5yQoa.Is0Mo
JAzEK2qndXEKpSChFKUh.mDVn47tprwUSqxQQgy2W0MNTqSNF9Xmmor03L6O
MAOR81H1MHGkt+PoCp0EGIeryHVfpgRyUIxNHsL5CHvn61mTNgFWmDonfkUO
rCoZmQr1y6T1UsvoradMf1lmwtZcTjxk9CBXUxIi3W89KvmBnw7yyYeLqsO4
h1DmDhaT0xmE+TQnP3bFk64R+uw5lzdRyhc.6LHjccQPq4YZnZJllmVuexLB
0NmLMRVO+fUXWMDantxIrJhmctooqcEGJT2kxa5J3v0o0pOto1ANf8hInl63
McQBzUZ8siuxByP8L8897lnkIdMZtNhhiVripBglkZZCRGM+QXeHkOyNJ2jU
pjO534Q0Np1A6tYdR4LN8rmqJbSoqpsuiTtqG+WQF5RGm3ls0mrA7LRaOlrb
oeiV4PszeEKbJGR7m9m+6o3fEZ2MgfdkD5uHOF928h7Xq0lB3SK7VmM4Wvmv
gnH72DI5qLH8OehZ7Qm5RSBsmBvFVhzeZZVd03qfqZzbuEtT7z7eQwT92hM7
9O+3WpHFGQRBcy5JYmx+eDHICKv7SLiXOQA++Oy+Dt421gGPqOK4GQLuIKgs
GCoJh0QFgZsHKs5eVZ1+rrdJOYC3sBK0pmTp2hrTsV5q5snIBDVKVp0h.qR8
zXUraQVVOM1rdVqvR1fD7sYoYKxx92CqR8LRTZQiDEXc.V1NQyusVik0vtzt
EYoR8.11K3E63.nVrToEYocsLRx7K1ZrrW8wx9N5qCKcraQVZVOV1lRod8XY
ap9TO6RG8Vjk0KkRm1ysN+ycsFrztEAV65MVp1hpO1Z0SJUaMerh2UMXYKp9
XCquT1Rrzpdiklsn2Gq5IkV5sLKe6rBLYw3TaIVpz6QRLcpGv1htBLsqOvBa
QVVCMVqVTJqWH5L7uUXoY8MRZKfsltBzZQordt0sZw7XMUquT1V.Kr9rrk79
XVSuOsncoQ879XzhQRLpmQhQK5JvPuumrmXPpFpOkFxIgrcifsR58XmnrRvt
NArU5D0y0eY0heNcB8Nc3vp912+z6D1c5vQ8l+iSKFBQWqVI8n0s1B0rSn1o
Z.0bIoawT40qYjsVLKEMm5slhs3zxzpmSFMqtbzstcBitTOWypu2Bh8Dn9fk
Z8OKq4xV2hrTsd.qdmF+tlcBUstzzRsli2snWr5s6yPXKt1j720au.9GzAhZ
+0IfpcZ5y0rS.qaJCo0bAZyF1uv7ReKB9ewZzeR3Oj0GEW6EHtVTVIWDhYkp
h3QDe0AWv9kkhWL1kWlmrR83GloejP7ylwvfDurdAuOP+q+O.SFj7qA
-----------end_max5_patcher-----------

Main patch:

----------begin_max5_patcher----------
4978.3oc0cs9aaiis+ycA1+GHx8qcLD0asepoNtMoSdAa2NXvtWTPKyXqIxh
d0illYw8929xGRVTJxIxxTJYPKRhNTRGxe77hjGR8e96+s2cxBxOwIm.9Gf+
I3cu6+Po7NNMFk2UP3cmrA8S+PTB+FOwmrYCNJ8j2mWXJ9mo7BzGAFe9oW+4
IfOcy0yAyuA7uNY7kmNa1EiAiu45Y2b4j+0I6drvfHrOIKh+rFETix1PxRCw
obdoUPdKJ0ecPzpuGi8SEUWaWsQVuG.0rFo8dftgK6WdNiz.+uEOUR5igXdU
aGWuiDklD7mbp51iftPOGaIlGDUvaXA0fk7WAYwe7KNUZz9jPRrnxnMxS2xz
68z+vv1zQyl+WlPH8kCfr5D+49+96+M1uo+58GObaMBb5Ye4qylClMY97Kt9
yyN4vQQHs5x.NHEMYvnqA6WF8KLZ+VBFMGAt41IWC9sIeb7oW0AHz00liY5b
.zzc..Py2R.nwHvzIiuY5Yb09N.fFVb.DZjqICG.Dz3sDBBGAlM+zoyo330m
MYJUU9XzjcXlE0cGB4PqWATLB+.k0OEDiA+OZKIQ3Yj3TJxrGDD9LHnmmP.z
h6XwiKTpq+B.n3cm93Vr3kbxIk2dE7SqA7S219jNCDKxRSIQcncZavETbLEF
rJ94g0LWfnX7dZpvFaplcuodWHgxf8zT0eNkBKgRgtA2ulkVq5SuiDuAweC1
ku6XzFbJN963HzBwCnseYf22E.R+0.fLcb+qB.Y49Z.PFNv+x.PGg0j8YVca
LdKNZI3maIIcvVyNEPatXlH7R0YTsYXvr+fAtuxN.CEpYBXvwaHfAi9CFRiQ
922Mur6TnDPATSaHvBc0iE+QP5nkAa1f1B9PPzOvwo.M.rClX7LEwc.yCCti
.Bs97cpQm3fexLdbXviV2gmM3jDzJ7SwmTT7JLES5hLhtoPFwha7vBpVQD8l
v.SG0KhDRPK4VwOBHPmKNX2QghC1Gho0I8Rn4rAZzIqEZFRvfpkDZLnbyiv+
Aynv1GBhVRdnCVBbEsOSKQrFrYyhNFN17KTV+aLTgCpK1vseLFtJbTDYIFvH
9sf+D7gHZ.Of6BhPgSoNMvwfO3i1llEi2qYRiV.NByj5NNc2L4pvuypjzZBG
7NX.rGLUj.h4XzsjvGOhQ+6wirHOXiWBaZQK0pGbLPngP.zOhPGLz4sRSmAv
sfgYeg.vNg.PO1jSLnHPeDGIUJ++GjfCuK.yj3Ad1.Z3BIT2dtz+tSJ.hEBv
HOrR0oB.6GqkhP0DlGuR72Pf+ZT7yiAsHPRCSwDA5M7ARp60qfUBINEu7RB4
9rsEnkmQWPp7o5SrpGPWqgGor5GjhgIzgjbDROPtzisWeBIMZnQ2nefj3UKz
Cy1f5NljKf3XL7hIZ8S33hfM5xjjqIAE1CwbjCc6AOv9gjjNMQNZhAhHZ+Fd
Cf+WnSOEARW58EybkytUIt+a818iQgEw9jDDcDIzwkFiRRAFi.eXQbvp0oQT
PCnMx5HrWTLNU3fav.Z1SCtKFs3niLABEyBryvCK8fukTfeHF0Ein1hrDvxk
6p0ritUDb+fPA82TStigqAespg5C1b6.g8wP2eVD34F0hkGGAfhY5wxPQiYQ
ys+l5+N1WWzRscNfIn33lzesdXZZRIIOtYAI7HP.QZtXMDKAj1Q37LaCNJ6k
lltfT7l7zG7jSWgi7eD7oOxLN+d1ONMbENN.EURXJ3iSl9qWN42qP5xSud7o
Unby0WewDYJiOc57ISqPYx0UdlwmO8hYyq7hO6zoWxSlFIRSFeyYSpRgx9pU
nylLa9EWW4tlLa1jqGWgz4Sld0oWesLou70Ku3TIJzFeX0q.eLD4eeMZWihi
YyWbEhSIYzPzWBtZN3ijvk6J8inj6ww+HHLDCtIbI3SHerTgYqQYI7AEWPBG
FReIRWGGFDAlghRj6qpRFbFdSfbYQnXdUYLgVohRvR0GVCBsjM8tWLebIYxR
RTPEFWPoFFTRugW9txtkjjRYwXxFpgnjp2C4dvoQoA+6LTEhaPQbDZFWsRtj
j03v6.y3Zx.mxhhQKCwOBNGQsyUowDGjhhhB7q0UDSPKe.8nDgrj0fY9wAaS
ka5iQgAzXKqeM3RV3lUndGINhpwH2yvHmjRp991PebT8qAWgRWKQLZIJV9ln
HXXHKfkBJ3nTTV0qyher90fOSRWG3+Dxy7WSHgKn3YYQqYxkRuQl4DJrQ6YS
HRcBiIgjnHTk1DYC8F4xeWMShJ6AQIUHP6KRka8D5nYhqIUMlrkRbaHJEmW+
q120P405MHwKvgRWlEGP4x03RE0wYwg+obaXBsWXSYEaBU3HdIq6LWjPVlZR
Hd6ZTTICmDQiw9G33jJuQ5XS3U7pOKiJSE8oT4MhmR9J7xfrMUnyLbv57.WR
cvPaYrqKw4OgCC9IXdPZHeY9KnRHTBLNPUIqhWehM2bkWEihtmYPYG1KIkTu
vJFaZpPtkg8dGmiQ+3w8Vpnk+BEWmAXL2Wbd+lbAQ9Mof+YDsmmJmJQXY1p.
oKiQajYwmwj3URxveNP9toJQ4ZByajXCVJqT7jelVdKUk6KuuuFRG36KWXS7
JjjQkUXBMBlQu0FtKR1xGav.rf9rTZ7D6ncNhICFk3u9AbfrAjyQwgjG.yHg
ATUfTpoPe4xhoBm7jfrfDN7G3z.+Rf8bpPJXN4AZccNKHtczoVftDyfqytTG
bJ0iRZov+Ea1h7SkujxHtL+r0nkRtpuHhmoWLu0ajhy4KnefhvI3pr7KDpi6
J2VVfOthN4uFSM0iipRKiZwihI0EFuDkRpbQMKfbRmiBX90w0nVQigSppxLm
TMMGNsYTswExhLbpyog5VRAiCQOfVhwfudQyT4ulvpbLyOXIUhKtIpTWfz6N
Fsc8iOonZdVxI+IzOqSh4U+ApibY6Y4EwD4ahFXNMva1yHIQJW7WogDPVVx7
qPqhvR8JWgnF+WR0N97YRztmhVHoqCWkEU2GaEpM.WWQ0KnpLRWScIi3RnBi
SiQaowrDV1rtJvOljPtKEbN0GUH5QTCE8k03nUmiCdlhpIozvMH0q2Xo68MP
8sBlinbHC2Po2tFsJ41lp079hYzgZbWCExegM899cTyMTN88VGEk1XSrnn8+
rAfOhnBfREEs5xfu9KTSnerNwue9uNa7r5EkPs0VFTxUTgu3nZWBtlLBnqIQ
MZE07IMJjZLmDQXCrjpBEmD7CIfMdJYAQpAL6IRmy.2PGMnrOcJoae5cMEeG
l4yD2XeTkx2h8oC6I8Q4hoXY82Yt+lRBei4kRpU8HJZCplw9qCPqndfA4gXs
7IEv8uHQkYSGI2KWRpAkwqmErYVVY+vMimBNkUOYKxR4qk4JjVCnQyulW8j8
teSzikFrtkxIebCgYvJfZ+hYsVz2IUx1GoC9P55X+0hcaRIk6Cn1JKql2Ri+
EmJMnoBBEg8Ug0TKFKngGTRnQg2aIjXvz.1pPV1vuk4US1l2TzJbcu4SQ+Hn
r8Lk3e+CXI1UPng.M1UjHRjJQzT0ubMOn6.3pOyL7JBtw3BDkbKKXfZzp+l4
DkjeJHTyG8NxS1P9ifmR9b1H+hkPockT0FyNxOw+bkRB2yCkOkVEzWSdvmMd
+Z5d0jxEWVs6eVP58zd.5Xkk7XJHdVPBczVOViJMRjkxNjETmQ00BqSKaw5F
u4JZ5yhPaqD8zLpRnefzK6wv6PXoVQ019bzZhzH3li2rMKQX7R9sNOXC9iYw
xsRFoDtKrpxbyiwKx7WiSkGV673LLsKTZ7Vye.PGWsrF2NJMHx2PYMI8+Mb7
Rjjd22nQBF+zo23aTq+gKKE+9VHEm2D7jHN+M7BF9WVo+sfkzlAyjjDonU0u
obJrb95IzJmnpeOqt.2NJ0j1KoWKD0xBjT8jIt2WTSpNOoTg5S4Dv1zj7JlC
+7ckbaSt8Caugja84fWCLsdHkSXqF.a5o5x7gKfJGcQJuNDSGt4apT7NG.DK
+2fkf2Z8xJgBGAzF0gEFV2RejtEKSRrDI2a2Pg6ncCbkBwebP3Qerhf3vNsS
P1gFhz6zv9HjINzruRq2xzHeR7xwz.BQ9TKbcYSjU.KrUPiYUMeOq1qqTLzy
qejKz5Txuy1ytLDPj3.lGofwKIfXzHf39lU.o.cfNCn7Qer5xfEcwOhFegkc
xyFbygwQBzyteRkhWdS7q0BvvwhuI9UTVfC85oz0MKZKc7f6c2P7blDLc4QN
Y6JRIOkjpYcOCqfd8Thmsfkz2fOPG6XDdCa6Eo2AGqEXkHqKfFlCcBnA8f+0
Hy3KzefduRYFOz6HBDgAMO64hwypPAEwfJ1.IPQv4ZJcnaEiaiMDtxWKSrtB
bzLHwZbzFFi8S49LOoI3y05oBJ42txE.4meW3XfgA0o69xKTymcWtJDyDaxS
uNZCSd.wOAbqfkVMhXluwxwdcKalNn4fki8P2dXPgqXoVAri6+aozLGZxQi9
MOygt5uYitMGMLGvA+31SoIaKQCsW1JsXitRs5nn.7b6gg+FzgN67HULDGpb
5dcSz+YLA1nzuiYuLXFPPGh.wF5xs9INU3LzNtg59LHQixANvd7viAm5iCCg
K6tbgktiz7K2uyWJzoGzI3C2If8utCBld46lDc0BBMNsG1d8gpQPmTMJZ+h8
UjsU2MNzAMC6dX9e9EZniGgbfs33.3HBa7PLRZ6zOgH3mESCUL8zYiu3ht.F
d57iD.X+bdJ0X7A118DTTDYv2PgYcY+Yl67n.Lfvg.L5AmmI9nPLPaDegUnC
Hvp6XgoXGq5o3MbhciPgQ+HWrgkNeGN.HNIOyikxZHBb1F1S.PPT2mW77CXW
qAQYnGFG0cGwZF4X4dLAR+rqmXydIz5mgNseUfmazR557AO6JBazRUiV5U4n
3Lus3Hh96s7IwIzxqmDB1qYfm8rwQWWVHvPUBANuFmGqh1xeIDBreaXJDZZJ
LEZqOrlB6iChU5MErIaSGy1jbKH5bfvw9HS1jCc.Dl8fUAJO43AbzQnLkiGF
CMd39FcTD43RdZ3LLihvzoebYzhQW9rAPXH84AApoqHeGl185xgtSBXNy1NP
+HVPzhkNVWLmSdC9Q5BrONRVSZqZxyFWgEWMY2zwop.KLM60jsvbOMUqWdMX
LDM09HYKTVhXXZ7p7gVPHJHVsxVd9l+5DVloduZ5wDv8GZnCrM0nVOz5jeYO
4CxQqWAaNZ8CHYroKYIfoX5dE4CqXRc5f2XoTD3fvBCu2ToMtddVNJRb9gJu
wgF8xwvG6SFDaNNK9eWvibqMhUCxSq+OT5fF8wQxG6SKA6iOT2EIJNHsrFBH
vpG+5Rv2QWcMOIxQAGmAXEROlyF4i6nhWO+zZUDPRYNfpvCJdng9PdPwuKbz
qYkcTGU7E9O0DBDdluVGU7v95zilBgrqqBZcORCcawv7LF7SlQnwwDoQ1lE6
MC6ZQyFZpc.yh3QGaZ9bWwgB8cg7lOCNbYZi1ia8wAHcPJA0cCu4SRfolxWN
9FSLC8iz16caSVkEzow5HRNZwJpJZzF1cJbzxGgsQJuicTtIKTI+0Yj6U6Yk
NX2MyRJmw4m8bMgaZ8Ut88Lo6p1yO+zRe6JrU0V1.dDgsmRVsJrSybnQ9Wwz
C4iq3gu8eODCrvd5y8xCj3vkk9v+QPR.at1z.eXYvlhA+B9.NFkf+tHPesQ4
++CTkO5PW5hq8b.1R7swwqqQ40hcAWyn4QLwknzz3rftcpiKxmEQheAsFfuY
Zkwcwp1hu3n6NdreMv.nKbnw.8mhAEmW30Q.wak+UMu92ScdigeHbUEWRHYw
9EUqhOGruGH0dVh4maJoAhs8w+r7aGA+11emvAvRyVwRMUxR8VwRKS0wRK21
wRCExx10WZoqPV1t9R5XRTGKMFdVpO7rTqc5kJT7wzYvaklVshkE0LkvxgWh
0nk.qqBY4qPqb30K0sZuRBTQrrcsRcOE1JamofBKFpfkv147BpPqOPmgmk1C
OKamdotJ6KamDKTgw9.ak+RnoBivCBaEKMTHvp0NIVMEZVWqcRrZJzeIOLb3
KyRaExxge.BZsSIQSgJIZv1.rrL3SYNuzZmRhoqBYY6bdoovnBFZycrysoV0
F0THKcakVITWwrbPMpyNviZCK8bUHKsaGKUYqzrcrTkhOsyPfmJURzZGKUme
D94RRKXoqBAV210WpvoSicPZzpVotxLpKdWsfkJT7wE19VohXoS65KsUn0Gm
10JcLULKe4vPrY93zUDK0FbOI1dsCXUno.a21CrPExxVHw5nvVY6bQa6oPVZ
2dkDUArszTfgBaksyrtCTgrTu8sRUArv1yREY8wtkVeTndoU6r9XoPOIsasf
XanR0wRygdzkhNoVH9TqKmDyRaDVJOLfUh5BA6pDPkTIZmo+5hEuNUByds6v
o852u5UB2ds6nci+wSgtPLMZUPOF8qtPKqD58pDPKmCbEFJuYK8rovnTL7Z2
jXpvgkYzNiL0WzU01611JgUeJm2t0UVkq4wSZPCAKMFdV1x4IWgrrcKkMaSL
2iBTsrRTeMvUqpkdK6uUnUr1sb2PnBmaR965km.+8Z.Qe3pDP8dM74VVIf8Z
HCGyZFkmGlnsaYeJkyeFAuNYC5OH7Zoy6EWGDItVjvwmDiYIwr3QD6G0SXeF
8BRw97M.DK+O+oc91GmepcGGkETzr40A5O9u.ul1o5C
-----------end_max5_patcher-----------

[poly~] patch (save as “selfiePoly.maxpat”):

----------begin_max5_patcher----------
1492.3ocya01iiZCD9y4jt+CVbeqJaJyXado+GpTUU+VU0JRBIq2i.HfbM6c
p82dALr218xKFisU9RXCAx34gmYlmYb1u8wOrvacwozZOxuP9SxhEeq8LK5O
W2YVLdhEdGRNsIKot+B8xS+6h0O6sb3yZRO0ze9FxZR1qmN+3ghiMYoM82DN
d5xjlMOIx2+XU5lFocCXzU9KI.x5NP86dEwU9j+Z7lpadIKs2Fu90K+tadoL
U9k3sNIeu2x1q362V6RPjOtBfwyJ11+M05BOvXd8m7e93G5N1dX4rQgi4kIa
9LYGYmNPAuGCff9CAT8fhcYEIMcXg7OlBfPMOfTQ9j+KkE0W.NfayLhvtWC0
jXbI+2+b9uu48+5q6+9Ww+in8dNGk..pD.byGxz.K7Pt0iRIWwMwa6lr39mv
AgZ9b9JA+34fgX6v0OoGWmFI8adnyH6ncH6mzirGxhs.YmA1hreROx9fa5Zx
dj9vvgz55j8omofeUaktVui3uJHlpCmm0CBbZPOJ.byR5OKPDZGReSwez81o
S64QuECBiMTNdtkn8ksWEYWQdC40m90huldAGmcaGeHP.3yIRX40iHXmCgrf
1OQNAzHLXDI3QyQ.7Tz4QsfNmxjOSJ1sqNsg3SDZ.CHH6CPB.gQlEFnmCFrj
bWQ91zS5f.xpdwxTAT6KAfhVnrPacQQinHm7f+p3XxCvJMfBlr4GZXnr2vPG
TZ.tyJMPkp.Gv.SUZ.sft2tV+EZHFhyXFr0eQ9jZ1EsQE.cR+y4uooeLdEWG
P3JN+4H6XjMXABxZMXACw5yjEzA.KGHCSgEPuOXAiffaYAVnEvGHyIgONzFr
l9+Um304P.vBYC+IBNGDf6XDHxJbfYDBDCNLD.rPCg+77BAPYGQ.Lmw+NAHv
Bg.sKgscBDIeB0ohnTVvvbeise+PX38Ui.CLgA.vAMBfA1ogv20KvNcFRzfJ
XlTkDf1uuPjamHBoP0Ii.PHHmLpbjgyQk7ThI.KzaX2rhHf+L.AoXYVr86GD
swPRpRKSy2RZtbGgvUGdbenfb+RBCsehQHvl0FzQj.fxoDy6Y.QTGfAVHavW
yH6qJNVp0FHHUGEMq8IZh6e.vtylMxPjPfQmZNXo4AdUu71w6C47Lc794zA.
VngvmEMq1msp68jch7jreuMCXZk1TedTjTIfl0.ZWOOdHooRbZp+dQrPmRhl
hDsIFCIAYyXhISPUD2Fd+E4AJ38nj.3fxfL6oDHST2tvx227jNEC88eyVl.9
bGTMDt6TDL.BxCNQQfucxRVWJxxzNuHD2efQMujfyABVok4p9RC+VQ1K5qNV
taIANnoYarK6c7.Y0IYwxecnRkljB4OvD.nttVINq8Y53g0ZoPHRtGBw8IB4
pUWrLoJ4PZaknGSySVK+T+qFlL0VoCri34qMcI+aCRiazN2P+jStqlYxfOJk
H3rQlXg8T6IQcYa5v+U+fA4rD4QyZa0l3dq9ChDj2qWlH+G94l2ux69f2gO0
EGq1LtLjyodI4Mq9so0MsYH6Fu3atHHRdUW9Igx1KTE6wLl4BTwbTiYNtRno
4bOV2WEbS3jZVCdSODQyYPpJdHDKuJSYP0hHLjAQkfTt4LnuRwfFjkph83Fy
bTkxoQCLmAiTBPAyYPkPTJ2rFDbsAQWZPkB6CMm8TJpueUglwfJE0+9Xmhpt
oJ1o80cKgnKrD.2sDB++z8WWBT2sDXW.EPCrDPkRXYtZpnRp9PyUwAUR2GZN
cQnRJ+nvE3U9NaIfwVL5BUpLAZttIPWKGEopgxivrQLoqAUpqAUL1sEeQkJ9
BFzffRPpu4LnREYLHmQI.0XlChUtmIyndBTphIXtndHT0RzFxdJUwDLWESP8
YkXFQHfR0J.y0VHftMFD.2lEETJGCXvndUr24e9MLpzjxxujVUObGRK4cH44
hdIPgKkuWjKeubC68pR+hX7Vj+WO5kTs4IQS5lliUxY8dJf4Mb2EsBpxOJF0
T0uFZe4+.RgvsI.
-----------end_max5_patcher-----------

----------begin_max5_patcher----------
5609.3oc0cs9aaiis+ycA1+GHxEWf8QmrhTuueJootMYljz.aOcvfECJnsYr
0TYIu5QSyrX+ee4CIaJGYGZYRkbWLaa0gx5P9imW7vW+6+7e5MmLI86j7S.+
ef+I3Mu4eSo7FNMFk2TS3MmrD+8ow3b9KdRB4gzI+9IusprBx2K3ziSwylfS
lutjjxkokEwjB9uCVSdEtX5hnj4eIiLsPvZHxJ3Tq2B7QVr+xi+mHzoVfeq9
WkW7XLgym0eewGu3wUDwW4DN227Sn7OJ4IrOZF+qPaB+f6IbZ+m+7eh82z+5
sJCBSSWtjjT7TTv9TvmtavsfeYv6t37a1AVXsOrv0giEtggbTP7js+y.F2ml
TjG8GbpHuSgAvPeOkQBmFMjoowoYhZi0ogHWmv2R+G1dN9Vd7+kCDR+3.HqN
oeHDcJX3fK9zv2C9vmtcbGfPaWOFlAsc4HnMrGPP6WSHH7TvnwmObLEGu88C
Fd0serKBh1HtnGDcZfG8+4Sgxf9PXD8B.k6xn1uGUb5rnkKwq.mEk7MRVAvB
.2AZh1GZ53v0m8gNBYyNZiiVg9xRbQVz2O4sz26.r1YaGbhQvGx2WkANi+mE
YkIS+KQI+Sqe6uEZ+W+Gg1+8+xTRbL84+Wn2e8e.cBB.BJvJJdcCLCN0kBlA
1b4QOGSBln1.SjuY.SQ0Af.2S8mVXi.dNV.m.qiAkDtPftvdWjC4YbQt7jzr
kT4qp+A72.cBqpi.QHQACc6cIJnmQknr0gDUMJIDkdIjnftlAklGeZR5LBfQ
7yQ+A3rD7RB39nDb7PRxLBUbaJdUQYFYml+s2Cx46hDQ15yQLe+tCbyi+BqR
RqIbv6fAPmtCfLfZ0CQIyRenCRO9hvx7r4VqscPh3agm5to9+jV7g29rMl.x
RR9hlhDUcDfoKvY3oEjrQjBvY4SwwTwjSoQm36R+6iPSKvQD7pqQCWHrUfD8
RInD36x7a4h3FgCDCDhI0nU4Dn9kS96fcFNydG9qsvQsssWcKsK80QzgBbPN
brzOBrJirhpa.lkWPCal9uNB3vwRDpLzta3wAINXYffiWgm9UPzQJS3EJxFf
dwfVEHrBMs.QdANqnSIHB42PjvuODI7MlHg0QfA0RDn9Phv.wj925nBQUyG4
KLRh5GijVFHdyBpDPTG7KFZ4IBYxW3lvhiGcBBd6dQh1UGbL53SfqGeBzCzw
rB3yiYxwxRjhkfdezIVFJ3yxDtgCmcfJt6EU7bEIIwWj+Ic.Jp+zgAeGQHmz
fyywyIOE+3IPjEMd8+0AiO9gBUt.to2Pq9vzqAhN6HlhlZDnZLb8zLzXaAMi
BUd4jJ6NmQCKAfrosLvYo2eeNc.b1v..B5zISPUJa1h.Trc5aSPnPylXRGsj
XxJTRjMjWfzHgBMPfMYf+GK1LezAsqfPjj8kthG6BArZEAbMfsV1j9.b6Rzs
ghLbTg.N8vvcPgNuprvVi.8qEVTHpOSnZFOwY2xJ3nxmZsIjpQCf7CeoRnJJ
zxX.H6YIHqKlZsnpRrAN6JlWCT+apMvfYUfSnCikrFUDq2D+dHaBn.Cjfonh
T7Qz7qM1Zo8gRa2JBX1HSVmC9avq5jlhHlsPghRWyuvwnn3YhTM.AS.SiI3r
NXksJgCdHQXZGgbxaq7LQ+aQk4f.FijClNEkhiyor0BChsfSpb8n+r02NHbD
QqLornHMoCsWanXQq3xc153U+mFNlj.CjFkxjeOMJoaoPwBFHGZVWCO+sa8+
ODHw+XbeTtbBI6HR3Hj28qn9+JpY3kDpc3uPRvSDkZsWP4fkO78MWHEyIEr0
mTWLNTgVB6Bg8vrVg7cMpK07zrBxrqSS+Z4ptK9XCEqVD69O1SeCLDuookIT
oafEsKdGfhyyCJUYmtqgdV4Ss9+uGmItshKFv.KUmOKsiC9uBSr3AZ3Fn+g9
1ZB.7QFcjarw11bzuxKSjNsnPplETpsE9L+DnsA8dPJUvdKNd4YEhszQgdfy
JyIhIStaqC2ZLzsJEj89jDg7BLStGmklPFQsXG0szOU48hiGgd8PFH87eAhn
sZ0m46HE6tiwCn0y.9gxqxLzcowO1ok2uH1dwpqxWM0fmukZanHRxlOAEWtD
eDqCZu.Q1dr6cMdjkYz3EB.cICPNVbHwULcvd8g5NLvDStabZNoK.fKxVB.r
6i4a.5a..HkNnkNI.Dfja+98Q62PKv8IYSSywfylllTjgyK.1mBNaRVz7EEI
TXCXcp6wX0ndtn5+Qu.MzJtYdFdBvwhF7ywfKPtQi.q9GVrMQ5.2WNR2mljq
C2ehmHhBmN5b4vSJJD8pZFrsCDiIAh5sYv1Dqf678i.6KfJWwnxfhEJiqslB
nxHKL4pbc0w955VZ0JJKnGRzkIVKtEo4OtbRZ7Qf.hcXrtWb1si.Gg2yxkjj
xma9ehJHKqNJ.N474jjoOB9v6XFmeK6ONOdNIKBmrgvPv6FL7mtdvu1fz0me
6Em2fxmt81qFHS4hyGNdvvFTFbaieyEWN7pQia7ge+4CuluOlkHM3hO89AMo
PYeyJz6GLZ7U213sFLZzfaunAoKGL7lyu8VYR+3Oe8UmKQg13ia9D3cw3oec
KZ2hyxXa5kFDGlVRCTeF3lwf2kFOacouCm+UR12hhiIfOEOC7A7ThTgkKvk4
7rLVShDGS+HROmEGk.FgSxk6qZRF7dxxH4xRvY7pxEozJURNQp9vZP3Yrs1z
UiuXC4zYoIQMXbMksvfMza4iutr6RyYIP8hzkTCQ4MemzuBNOoH5eUhaPbIN
giPi3pUxkjufDeOXDWSF3uonL7rXxifKwT6bMZLYQE3jjnoa0Ujkhm8.9QIB
k4K.illEspPtoeANNhFb41OCtlEuYCp2mlkP0Xj6YXjyKRa98VR+43seFbCt
XgDwjY3L4Whhfwwr.VpoPRJvkMetL6wseF7wzhEQSeB4QSWjlFOghmaJZASt
T5KxLmPgMZOadpTmvEowoII3FsozkzWjK+cyHIpreHNuAAZeQgbqOkNflrsj
ptHcEk3pXbAop92ruqkx2p2HMaBIV5wxrHJWtkrQQ8hxr3+PtMLf1KrbSEa.
U3HaFq6rRjPVlZPLY0BbxFFNHgFi82HY4M9hzAmvq3M+sLpLUzmRk2HdJ4aH
yhJW1fNyvAqyCbM0ACskwddCN+ARbz2AiiJhiDSAufZZJk.iCTUxl30GXy6y
lmxvIekYPYM1KIkrcgML1zVgbKC67Mtjf+1i6rTQK+YJdaFPHbewU8axEjLs
ME7Oho87T4TIByJmGI8XFdoLK9HIMatjL7GijeapRTklv3VI1hkxFEO36Ead
klx8adueNlNx2muv13UbZIUVgIzHXF8Ua4sRKm8XKFfEzGUPimXMsKwLYvj7
oKdfDIa.4RbVb5CfQowQTUfBpovoxkkQEN44zslDI9ajhnoa.1KoBofwoOPq
qi4K7qZ5TKPWSXv06uFANm5QoXiv+UKWgmVH+HkQbY9QKvyjbUeUB0f8Rt25
kRw47i3ugSH4jlr7GSoNta7ZkQSIMzI+oLpodRRSZkTKdTLYagwqwEoMdXKK
fbRWhiX90IaQsgFCmTSkYNoszb3zFQ0FmHKxvoNlFp6FJDRL9A7LBA7yW0NU
9mItIGKmFMiJwk0FUpKP5amgWs3wmTzVdVpH+A722lDyq9CTG4x1ypJhIx2F
MvXZf2reijDobw+LMj.9ZrrpravySHR8J2foF+mQ0N936kn8UJZgkdNddYx1
9XaPsE35FpdAUkQ5YpKYLWBUXb5B7JZLKwaZV2DMMKMO89BvkTeTw3GwsTzO
tfjL+RRzdJZKIkVdAod8VKcmeApuUvXLkCkjVJ8tE34420Vsl2WLhNTi6aoP
9Grsu2uhaugxouy5nnzVah0Es6eaD3cXp.nTQIyuN5m+ApIz2sMwub4OM5hQ
aWTN0V6lfRtgJ7kkr0ifaSOEfrjnlLmZ9jFExVLOMIkMvRpJTVdz2j.1rgoS
RkZ.idhz4HvmniFT1mNkzcO8sFRtmv7YRZsOpQ4qHSoC6o3Q4hoX41eyJ+Ma
H7YlWJoV0i3jk3sL1eaDdN0CLnJDqYOo.t+EIpLa5X4d4MjZQY71QQKGUtoe
3SWLDbNqdxlpkMeVlqPZMfFM+Bd0S169mRdbiAq6nbZJokvLXEPsewrVK56j
JY0izAeH8b1zEhC5qMT9ZD0V4lp4cz3eIERCZplPcXeMXM0hwjn3Mxd20pv6
cooYfgQr4ieSC+NlWMYadCwyIa6MeH9aQaZOCSm90GHRrqlPKAZrtHQjHMhn
ooe4s7ftFfa9aFQlmRZMt.QI2kEIgqBZa+k4DkjepIrkO50jGrL82idJ4KYi
7KSBkVWRSaLqI+D+yMJIdG+npTZUSeQ5CSYi2eKcusjxEO1r6eTTwWo8.zwJ
K4wTP78Q4zQa83VToQhLS1grf5HptV71zJmrn0Wtgl9nD7pFQOMhpDNMR5i8
X78XhTqnYaeLdQpzH3FSVtpLWX7R9qNNZI4ckYxsRFobtKrlxbiyHSJmtfTH
Or1wYkDZWnz3sF+.fNtZYMt0TZQjukxZS5+yjrYXI8tOSiDL6oo23yTq+wy1
H984XJNuL5IQb9KjIL7eSk9WhlQaFLSRRjRlu8KUQAfZg1lDU8qkaKvslxVR
6anuUHpaJPR0Sl3N+Pso57jREpOaR.aaI4sZOyX4J9KSr7WkWGeGT1fMvxrf
Ma.rzS0k7gKfJe9j+331GoC+00l2qB.plKv9Zu6YYjYBkevU0kYF12+Tzl0Y
iSGmCP9B9ioPH9GGDdXhYDjD2sEZXMZ3HNty7NBYhC7nDDYYr0azzzrYWTu.
My6xBOoFVrpNbYcL+LECCCMibgUm16ptH9tuySrBvcNRAimS.wtU.I3Uq.RM
5Tc1.zOxGlX1kAS5xxnPrg.Bp1SlN8iiDnINNDxUZIIao.X3wWvQgZZIpBCc
M5gzCpClDpZo99gl5L54vDGLzBOaBaCEANiN1wDxR1Y..pCNVqwJw5xC1+Gw
JvPXusqq.P99gX2a0HEPp.wZxBF31+H0QDHBCZ16x7eeJTNhsrX0Ies3DjjY
SUy6bwmt2qXh0Mfi1AIVii1vXreH2m4IsAeAtOUPo50M11Zy1l5z0qCarMHR
nPZwA6P3KwFaCF37Jak1ib83a2H69Zc1CMwlmdNaoU.63wVY3lccAzwqamYg
GxvefAnWuC+QfFN18WvsAFZYxpHZX87VoEaAIpUGMEfWfAF9aT2Cl2o5fhHr
6GWmGhzuI1yyzAyzoSrTWnXW1HFjqs0wMT2C7Hy.ZhMpZ8RmNWbLA.m0c4BO
woXbU9kMa9Rg9VF6vLd2GlsJ.BthnRgPMebF2ZZO7Be8bX9V29EGNBdt84Y4
KzDaA4efF53QHGH1xH1vd4XcF54alPDlVlQCUr37QWb0UcZWzTcLmGbHS4zw
EefmgNJLWuO9+LNtrK6QyJmG0fAD1GfgI1n17qCDK9oOrEc.AtcGKbgVaBXR
ePgWqPgsYjKVxVNecXa1wsPVEKkaeD3rGzP.PTR2yKtiHTJ2dQYv.ii59iXN
i7q159cLP58Nehs6kvxLCcZ2p.6+lAExZ3AhKNIWcMZI2iHV.JjlvVyFG9ri
V0VD1yT7jEiu9rKZXvx7G1XP2PCIDrSy.6cHy9xx.15RFv+EPFnpo7+GDA7d
cXHzKrxNne+ZGz0.QEQeonkkK63RMQX9vWbtU36cjqzjCczCNFvj.kmb7nSW
WbBUoZ3vtugifWoifP.KUq.m9Y.DN9lwagBCrbetMPhDNKVYVUmydZvugiW+
bTvMlYXGfN94B0WjwYXXueZt.cbMjjgJZI6OtRj3TEz8Ptt8TnA6756xPRL8
K1hl5q46BIni8KRX4BQAwDUp3kpvKSLYNnW+2yMURaU9ebeAr4Xn6lB6kcYA
BHFzhiXov51wauttdBZCsCeUshwQUy9iOpOWx3P6fWoWwZ0WgKhIBpOth0f1
9l5JPB0oiA4JQh5yPK29.Bbe8c4rfjED5i6lEns8K0UcMRrYYpBHIX8x+Ti2
z0P6d8FdZc3nZ3Rdpx+okPfHz4k5NdBZCM6c7TCPq6QZf7pt7Z768HMrsdAt
eJpWxgNV848SQUlq3PAZcHuU4ugKSaqNtgbe8bsPUglUaeq94VgBhNRau2uJ
edYT2ttfkN.rEMZauNEN5leBaOTdO6TbSVnhQjEVfPh4Tq8KcvdalkTNiqN1
4ZC2rL0x5aOqz08efhGJgmd5Z2Z.Ohv1KRmOOlzMUAqlGP7JbLwe3672Cw.K
LvLtfdHMKd1Fe3eKJOhkqMKwEia0feAmQxv4juHBz25zp+6Lpx2tOEgsU.fc
E2pvg9c+JU541.bsilOIwkhe8IrCXopSAy0nKu9yO4kZhw4okYSqqJrOqKsd
H0BlQ3GUFEQhU5e0KYCqdsc2cpLCsoCmSEVxVP+5hkHe0ZkrSH.nlXomZsRe
80Jgdp2J0EKUT7Qi8krK4ZUXosFYokRrzJTerr9a8brLPirTI8R1UAi9Xoe+
yR0TRrzndokhJIaIkklwBpg4PtGqDaCOqqDPsTIbDFXetJgF81Xoj4B1sRm9
Xoc+KUiTCX0nQQKnZBTVZjkJYGlc6MqKVhBUKxAKjFYoRVnVWyzBKc6ef0o+
YIRMf0QirTMI1P8EeD6R6tuA1.0biGDnQVxjXQOOK8zLKgOumDlMVaMxREbd
oQqOAN8OKUxeILTedRXWMw7NomS7Qi1X8UzShFs93qn3iNYoiZJIZzT.WgSA
SANZlkJ.r5T7QMmW95KBu0An9biaAZvgLnXkfcAuZtAOwt1OUxAmqFAe0rCq
wgJgPpklCaMp6BUq2UiIygckF16rzq+YoZhOHM5SEplQQnFsCCUxnHaYrpOV
pzvdYysr1XohYISi4BDoVVxPZLKYBKYOejCVZLhdq92Fqh4FRmQAxSTC74UR
B01jefTK2PrMgg9XoZizttloAVxNhNUhkVZjkAJojnwo3Qvxd0FKTsjtstlo
EV5oFK0YqzouG1K6T.TIV5nQVZoFK0mYcnZYMgcjKoOVpVeIRihOJl0j.8Mm
1hukBrTihOAP0akZhk9p0WpwouA5qVqTiIpQvxmOp.uPQxUzBKs5cOIdgpAr
ZzTfWf5.KTirTAIVeM1JUyEsWnFYom5JI5BXUzTfsFakpYV2Wiww5gTuUpKf
EpNK0j0GOEs9nQ8RW0r93pQOItpoj3pQSAtN88f8DcRJH9XxUTipUhsEBzZ5
wEnpBUBuWCUBGi1c3qt98KdkHvncGpM9mPM5BwwVofdrMqtfhUBjQk.TLkzZ
LTdGE8rownTrCUKmhZbXYpsrwYaPVC16pZkv0jx41988TP7jFTevR69mkJl1
ZMxRjZ.qiQ8eqXk.YaRUKjh82ZzJlZy9LTi6dAw254Sf+NMff5uJADYzvmUr
R.UMjgpMCEd0puQxxq9JB9exR7umx+Q9uU7bTh3Yw985jLBaOjI9IhiCjSXW
fwQEjo78eMaOX8cupSuG98kRVRYTcsfWGn+w+EPDGOfA
-----------end_max5_patcher-----------

Leave a Reply

Your email address will not be published. Required fields are marked *