164

In my town there will be next weekend an exhibition with 7000 donkey images. It is related to a sculpture group with 7 donkeys called "donkey's way" which will be installed in the summer.

I would like to add one (or perhaps more) TeX-donkey images.

If you would like to participate and create one: you are completely free to choose the look and implementation. Additional ducks and lions are allowed.

I will choose the one I like best (I will take votes into account), print it out, add your name(s) and put it in one of the boxes which collects the images.

If you need inspiration: There is a Facebook group "7000Esel", which shows some already existing images. The official logo of the project looks like this:

enter image description here

I will also add a bounty to this question as soon as possible -- which means after Paulo's bounty has be awarded. (But I regret that I can't split the bounty among all this beautiful donkeys (and ducks in disguise)).

Update

I made prints from all the answers (if the authors would get a pdf: drop me a mail) and brought them to the exhibition. I will try to make fotos on sunday and post them.

Update

I went to the exhibition. There were thousands of donkey images side-by-side in a number of corridors.

enter image description here

Among these various tex donkeys (I couldn't put all in the boxes as there was a time limit).

enter image description here enter image description here enter image description here enter image description here

There was also an image of another disguised duck:

enter image description here

I'm very satisfied and thank everyone for their contributions ;-)

enter image description here

Ulrike Fischer
  • 327,261

13 Answers13

153

enter image description here

\documentclass{article}
\usepackage{upgreek,amssymb,amsmath,graphicx}
\begin{document}
\begin{minipage}{2cm}
\Huge\obeylines\parskip-.7em
\resizebox{1.8em}{1.5em}{$\;\;\Uplambda\!,\!\!,\!\!,\!\!,\!\!\Uplambda$}
$\,\;_{\odot} {}_{\odot}$
{\small$\;\;\;\;\;\;\;\backslash\;\;\;\;\;\;\backslash$}
\vskip.5em
$\;\; ^{{(}\overset{{_\delta\;\;\;\,_\wr}}{}\!)}$
\vskip-.5em
\resizebox{2.2em}{.4em}{$\;\;\;\;\smile$}
\end{minipage}
\vbox{\noindent\TeX\\ for\\ donkeys\\(and  ducks)}
\end{document}
Fran
  • 80,769
143

Taking up TeX's infamous tradition of logotypes, here's an asinine adaptation:

\documentclass{article}
\usepackage{graphicx}
\usepackage{lmodern}
\def\fontsss#1#2#3{\fontsize{#3\unitlength}{0pt}%
                   \usefont{\encodingdefault}{\sfdefault}{#1}{#2}}
\begin{document}
\begin{picture}(50,20)
  \put(0,14){\rotatebox{145}{\fontsss{bx}{sl}{16}E}}
  \put(12,15){\rotatebox{-105}{\fontsss{bx}{sl}{9}S}}
  \put(17,12){\rotatebox{-100}{\scalebox{1}[-1]{\fontsss{sbc}{sl}{30}E}}}
  \put(39,0){\rotatebox{30}{\fontsss{m}{n}{14}L}}
\end{picture}
\end{document}

Esel

[A German donkey is an Esel]

Robert
  • 14,181
  • 1
  • 52
  • 77
111

Here is my TikZ proposition (from donkey-silhouette).

enter image description here

\documentclass[tikz]{standalone}
\usetikzlibrary{shadows,svg.path}
\begin{document}
\begin{tikzpicture}
  \begin{scope}[scale=-.3pt]
    \draw[line width=1pt,fill=gray!90!white,drop shadow]
    svg "M 202,594 c -31,-3 -7,-35 1,-47 -14,-27 33,-48 6,-72 -9,-20
    9,-43 -11,-61 -6,-13 -8,-35 -17,-12 -8,20 11,44 -10,63 5,20 10,45
    -5,63 7,26 -26,39 -48,27 -20,-21 22,-36 16,-59 10,-16 28,-33 11,-52
    13,-28 -12,-50 -12,-78 3,-26 -10,-53 -1,-79 4,-20 6,-47 -22,-41
    -23,12 -45,33 -74,31 -23,3 -45,-20 -28,-40 0,-16 -2,-33 2,-49 14,-21
    46,-3 63,-21 0,-10 1,-18 -0,-25 7,-1 20,-17 20,-21 -17,-8 -0,-24
    -15,-38 -9,-23 -26,-45 -29,-71 21,-7 42,28 55,46 6,9 10,22 18,30
    18,0 5,-35 15,-49 0,-13 17,-50 25,-20 8,26 6,54 4,82 -4,11 11,20
    18,29 7,10 14,21 18,33 2,15 11,30 9,45 15,15 -15,29 9,39 19,20 52,7
    67,-11 29,-32 92,-18 103,24 15,42 -0,86 -10,127 5,14 5,30 -1,45 7,19
    14,41 2,60 -2,10 17,27 -7,30 -17,7 -58,-0 -38,-25 15,-17 5,-40
    24,-57 1,-15 -9,-50 -14,-49 -4,-8 -14,-32 -20,-30 -16,12 6,34 -12,48
    -4,20 7,45 -11,63 13,27 -37,33 -46,13 8,-19 21,-34 27,-55 15,-10
    20,-57 -6,-35 -18,2 -32,2 -33,24 -13,22 15,46 -4,67 4,23 21,49 5,73
    -11,10 19,28 -7,34 -11,5 -24,6 -36,3 z M 112,152 c 0,-18 -14,9 0,0
    z";
  \end{scope}
\end{tikzpicture}
\end{document}

The same code with better indentation:

\documentclass[tikz]{standalone}
\usetikzlibrary{shadows,svg.path}
\begin{document}
\begin{tikzpicture}
  \begin{scope}[scale=-.3pt]
    \draw[line width=1pt,fill=gray!90!white,drop shadow] svg "M
%
     202,594c -31,-3     -7,-35 1,-47   -14,-27 33,-48    6,-72
    -9,-20 9,-43       -11,-61          -6,-13 -8,-35    -17,-12
    -8,20               11,44           -10,63            5,20
     10,45             -5,63             7,26            -26,39
    -48,27             -20,-21           22,-36           16,-59
     10,-16 28,-33     11,-52 13,-28    -12,-50 -12,-78   3,-26
    -10,-53 -1,-79        4,-20 6,-47   -22,-41          -23,12
    -45,33                      -74,31  -23,3            -45,-20
    -28,-40                      0,-16  -2,-33            2,-49
     14,-21 46,-3        63,-21 0,-10    1,-18 -0,-25     7,-1 20,-17
     20,-21-17,-8     -0,-24 -15,-38    -9,-23 -26,-45   -29,-71 21,-7
%
     42,28 55,46       6,9 10,22          18,30       18,0 5,-35 15,-49
     0,-13 17,-50    25,-20  8,26         6,54        4,82 -4,11 11,20
            18,29   7,10      14,21       18,33       2,15
           11,30   9,45       15,15      -15,29       9,39
          19,20    52,7       67,-11      29,-32      92,-18
         103,24    15,42     -0,86       -10,127      5,14 5,30
       -1,45       7,19       14,41       2,60       -2,10 17,27-7,30
      -17,7       -58,-0     -38,-25      15,-17      5,-40       24,-57
      1,-15       -9,-50     -14,-49     -4,-8       -14,-32      -20,-30
    -16,12         6,34      -12,48      -4,20        7,45        -11,63
    13,27         -37,33     -46,13       8,-19       21,-34       27,-55
    15,-10         20,-57   -6,-35       -18,2       -32,2        -33,24
   -13,22 15,46    -4,67     4,23         21,49       5,73 -11,10 19,28
   -7,34 -11,5      -24,6-36,3zM          112,152     c0,-18 -14,9 0,0
%
    z";
  \end{scope}
\end{tikzpicture}
\end{document}
Paul Gaborit
  • 70,770
  • 10
  • 176
  • 283
109

Here are three varieties of an alternative rendering of a donkey based on an openclipart image by Timothy King. But note that Inkscape exported useless code so the correspondence with the original is poor in all three cases.

Variant 1 (Original)

don-key 1

Variant 2 (Shiny)

don-key 2

Variant 3 (Power of Knuth)

don-key 3

Variant 1 (Original)

\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=0pt,multi]{standalone}
\usetikzlibrary{decorations.text}
\usepackage{cabin}
\begin{document}
% basic key based on Inkscape export from Timothy King's key at https://openclipart.org/detail/211/shiny-key
  \begin{tikzpicture}[y=0.8pt, x=0.8pt, decoration={text effects along path, text={PROPERTY OF KNUTH}, text effects/.cd, text along path, fit text to path, characters={font=\sffamily\Large\bfseries, text=Silver!50!white},}, yscale=-1,]
  \path [cm={{0.48287,0,0,1.8349,(-16.198,-1039.1)}} , opacity=0.8, even odd rule, inner color=gray, outer color=gray!5] (736.09,693.71)arc(-0.309:180.309:342.99 and 7.831)arc(-180.309:0.309:342.99 and 7.831) -- cycle;
  \path [cm={{0.85307,0,0,0.37556,(-183.43,-23.731)}}, opacity=0.8, even odd rule, inner color=gray!5, outer color=gray!75] (535.62,684.32)arc(-0.529:180.529:93.969 and 14.095)arc(-180.529:0.529:93.969 and 14.095) -- cycle;
  \begin{scope}[cm={{1.4335,0.38566,-0.38566,1.4335,(-33.152,-10.038)}}]
    \path [draw=darkgray] (116.6100,36.2740) .. controls (106.7100,36.4130) and (96.8790,39.3390) .. (88.7700,45.3680) .. controls (72.9270,57.1480) and (65.0760,76.3500) .. (67.7080,95.8680) .. controls (68.4440,101.3200) and (72.0540,106.2500) .. (72.7700,111.5200) .. controls (77.8610,116.4100) and (81.1820,122.5000) .. (87.0520,126.7400) .. controls (104.3300,139.2400) and (129.0100,140.5600) .. (146.8600,128.2400) .. controls (151.8500,124.8100) and (155.9800,120.5600) .. (159.5500,115.6800) .. controls (161.9400,112.4200) and (164.0000,107.7900) .. (168.2100,106.5200) .. controls (171.8500,105.4300) and (174.6000,109.4300) .. (178.2400,108.8700) .. controls (180.8900,108.4600) and (180.2600,105.1500) .. (182.4900,104.1800) .. controls (183.7600,103.6300) and (191.4300,101.0400) .. (192.4000,101.3100) .. controls (194.3000,101.8300) and (194.9800,104.2500) .. (197.2400,104.0900) .. controls (200.2200,103.8800) and (201.1700,100.1700) .. (203.8300,99.5240) .. controls (206.2300,98.9440) and (207.9600,102.3500) .. (209.6800,103.4600) .. controls (213.6300,106.0000) and (217.3800,102.4400) .. (219.1500,99.0870) .. controls (221.9400,100.5400) and (223.6000,104.5100) .. (226.8600,104.7700) .. controls (229.9500,105.0300) and (231.9200,101.5000) .. (234.5200,101.8100) .. controls (238.7000,102.2900) and (241.3600,106.2400) .. (246.4000,104.7100) .. controls (252.3200,102.9100) and (257.6700,95.1210) .. (262.4600,91.3060) .. controls (264.3200,89.8210) and (267.1800,88.0660) .. (267.4900,85.4620) .. controls (267.8300,82.6080) and (264.0500,78.5600) .. (262.2100,76.6490) .. controls (258.8100,73.1240) and (250.3600,74.7740) .. (245.8300,74.7740) .. controls (230.7900,74.7740) and (215.8100,73.5880) .. (200.8000,73.5870) .. controls (194.7000,73.5860) and (181.9300,76.5800) .. (181.8300,68.2740) -- (171.1500,67.8370) -- (162.8600,64.1180) .. controls (161.5600,56.8790) and (154.3800,50.4020) .. (148.6800,46.2740) .. controls (139.5100,39.6370) and (128.0100,36.1150) .. (116.6100,36.2740) -- cycle(92.7390,73.7120) .. controls (106.2200,73.3810) and (109.5500,94.1550) .. (95.1770,96.8680) .. controls (80.3360,99.6700) and (75.4960,76.5540) .. (90.6770,73.9310) .. controls (91.3870,73.8080) and (92.0760,73.7280) .. (92.7390,73.7120) -- cycle;
    \path [fill=gray, opacity=0.8, draw=gray!10!Silver] (116.6700,36.4410) .. controls (106.7700,36.5800) and (96.9330,39.5060) .. (88.8240,45.5350) .. controls (72.9810,57.3150) and (65.1300,72.5160) .. (67.7620,92.0350) .. controls (68.4980,97.4890) and (72.1080,102.4200) .. (72.8240,107.6900) .. controls (77.9150,112.5700) and (81.2360,118.6600) .. (87.1050,122.9100) .. controls (104.3800,135.4100) and (125.0600,136.7300) .. (142.9200,124.4100) .. controls (147.9000,120.9700) and (152.0400,116.7200) .. (155.6100,111.8500) .. controls (157.9900,108.5900) and (164.0500,105.9600) .. (168.2600,104.6900) .. controls (171.9000,103.6000) and (174.6500,107.6000) .. (178.2900,107.0300) .. controls (180.9400,106.6200) and (180.3100,103.3200) .. (182.5400,102.3500) .. controls (183.8100,101.7900) and (191.4900,99.2080) .. (192.4500,99.4720) .. controls (194.3500,99.9960) and (195.0300,102.4100) .. (197.2900,102.2500) .. controls (200.2700,102.0400) and (201.2200,98.3360) .. (203.8900,97.6910) .. controls (206.2800,97.1110) and (208.0100,100.5200) .. (209.7300,101.6300) .. controls (213.6800,104.1700) and (217.4300,100.6100) .. (219.2000,97.2540) .. controls (221.9900,98.7100) and (223.6500,102.6700) .. (226.9200,102.9400) .. controls (230.0000,103.1900) and (231.9700,99.6700) .. (234.5700,99.9720) .. controls (238.7500,100.4600) and (241.4200,104.4100) .. (246.4500,102.8800) .. controls (252.3800,101.0700) and (253.7300,95.2880) .. (258.5100,91.4720) .. controls (260.3700,89.9880) and (263.2300,88.2330) .. (263.5400,85.6290) .. controls (263.8900,82.7740) and (260.1000,78.7270) .. (258.2600,76.8160) .. controls (254.8700,73.2910) and (246.4200,74.9410) .. (241.8900,74.9410) .. controls (226.8400,74.9410) and (211.8700,73.7550) .. (196.8600,73.7540) .. controls (190.7600,73.7530) and (177.9900,76.7470) .. (177.8900,68.4410) -- (167.2000,68.0040) -- (158.9200,64.2850) .. controls (157.6100,57.0460) and (150.4300,50.5690) .. (144.7300,46.4410) .. controls (135.5600,39.8040) and (128.0700,36.2810) .. (116.6700,36.4410) -- cycle(92.7930,73.8790) .. controls (106.2700,73.5480) and (109.6000,94.3220) .. (95.2300,97.0350) .. controls (80.3900,99.8370) and (75.5500,76.7210) .. (90.7300,74.0970) .. controls (91.4410,73.9750) and (92.1300,73.8950) .. (92.7930,73.8790) -- cycle;
    \path [draw=gray, inner color=Silver, outer color=gray] (116.6100,35.9030) .. controls (106.7100,36.0420) and (96.8790,38.9680) .. (88.7700,44.9970) .. controls (72.9270,56.7770) and (65.0760,75.9780) .. (67.7080,95.4970) .. controls (68.4440,100.9500) and (72.0540,105.8800) .. (72.7700,111.1500) .. controls (77.8610,116.0300) and (81.1820,122.1300) .. (87.0520,126.3700) .. controls (104.3300,138.8700) and (129.0100,140.1900) .. (146.8600,127.8700) .. controls (151.8500,124.4400) and (155.9800,120.1800) .. (159.5500,115.3100) .. controls (161.9400,112.0500) and (164.0000,107.4200) .. (168.2100,106.1500) .. controls (171.8500,105.0600) and (174.6000,109.0600) .. (178.2400,108.5000) .. controls (180.8900,108.0900) and (180.2600,104.7800) .. (182.4900,103.8100) .. controls (183.7600,103.2600) and (191.4300,100.6700) .. (192.4000,100.9300) .. controls (194.3000,101.4600) and (194.9800,103.8800) .. (197.2400,103.7200) .. controls (200.2200,103.5000) and (201.1700,99.7980) .. (203.8300,99.1530) .. controls (206.2300,98.5730) and (207.9600,101.9800) .. (209.6800,103.0900) .. controls (213.6300,105.6300) and (217.3800,102.0700) .. (219.1500,98.7160) .. controls (221.9400,100.1700) and (223.6000,104.1400) .. (226.8600,104.4000) .. controls (229.9500,104.6500) and (231.9200,101.1300) .. (234.5200,101.4300) .. controls (238.7000,101.9200) and (241.3600,105.8700) .. (246.4000,104.3400) .. controls (252.3200,102.5400) and (257.6700,94.7500) .. (262.4600,90.9340) .. controls (264.3200,89.4500) and (267.1800,87.6950) .. (267.4900,85.0910) .. controls (267.8300,82.2360) and (264.0500,78.1890) .. (262.2100,76.2780) .. controls (258.8100,72.7530) and (250.3600,74.4030) .. (245.8300,74.4030) .. controls (230.7900,74.4030) and (215.8100,73.2170) .. (200.8000,73.2160) .. controls (194.7000,73.2150) and (181.9300,76.2090) .. (181.8300,67.9030) -- (171.1500,67.4660) -- (162.8600,63.7470) .. controls (161.5600,56.5080) and (154.3800,50.0310) .. (148.6800,45.9030) .. controls (139.5100,39.2660) and (128.0100,35.7440) .. (116.6100,35.9030) -- cycle(92.7390,73.3410) .. controls (106.2200,73.0100) and (109.5500,93.7840) .. (95.1770,96.4970) .. controls (80.3360,99.2990) and (75.4960,76.1830) .. (90.6770,73.5590) .. controls (91.3870,73.4370) and (92.0760,73.3570) .. (92.7390,73.3410) -- cycle;
    \path [opacity=0.7, left color=gray!15!Silver, right color=gray!30!darkgray] (167.4700,106.5200) .. controls (171.1000,105.4300) and (173.8600,109.4300) .. (177.5000,108.8700) .. controls (180.1500,108.4600) and (179.5100,105.1500) .. (181.7500,104.1800) .. controls (183.0200,103.6300) and (190.6900,101.0400) .. (191.6500,101.3100) .. controls (193.5600,101.8300) and (194.2400,104.2500) .. (196.5000,104.0900) .. controls (199.4800,103.8800) and (200.4300,100.1700) .. (203.0900,99.5240) .. controls (205.4900,98.9440) and (207.2100,102.3500) .. (208.9300,103.4600) .. controls (212.8800,106.0000) and (216.6400,102.4400) .. (218.4000,99.0870) .. controls (221.1900,100.5400) and (222.8600,104.5100) .. (226.1200,104.7700) .. controls (229.2000,105.0300) and (231.1800,101.5000) .. (233.7800,101.8100) .. controls (237.9500,102.2900) and (240.6200,106.2400) .. (245.6500,104.7100) .. controls (251.5800,102.9100) and (256.9300,95.1210) .. (261.7200,91.3060) .. controls (263.5800,89.8210) and (266.4300,88.0660) .. (266.7500,85.4620) .. controls (267.0900,82.6080) and (263.3100,78.5600) .. (261.4700,76.6490) .. controls (258.0700,73.1240) and (249.6200,74.7740) .. (245.0900,74.7740) .. controls (230.0400,74.7740) and (215.0700,73.5880) .. (200.0600,73.5870) .. controls (193.9600,73.5860) and (181.1900,76.5800) .. (181.0900,68.2740) -- (172.2600,68.5790) .. controls (172.2600,68.5790) and (166.2900,62.9150) .. (160.8600,66.8740) .. controls (139.4300,82.5150) and (165.3600,107.1600) .. (167.4700,106.5200) -- cycle;
    \path [even odd rule, left color=gray!50!white, right color=white] (181.8800,78.3750) -- (174.6900,79.6560) -- (178.5300,84.5000) -- (266.28,84.5) -- (266.6600,83.5310) -- (262.6600,78.3750) -- (181.8800,78.3750) -- cycle(180.1600,86.5310) -- (181.88,88.688) -- (264.6600,88.6880) -- (265.5000,86.5310) -- (180.1600,86.5310) -- cycle;
    \path [opacity=0.5, even odd rule, fill=Silver!25!white] (181.88,78.308) -- (174.67,79.589) -- (178.52,84.433) -- (266.6,84.4330) -- (266.9800,83.4640) -- (262.9600,78.3080) -- (181.8800,78.3080) -- cycle(180.15,86.464) -- (181.88,88.6200) -- (264.9700,88.6200) -- (265.8200,86.4640) -- (180.1500,86.4640) -- cycle;
    \path [shift={(-2.37,-0.14812)},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.75089,(18.101,21.947)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.0998,0,0,0.68534,(15.481,29.365)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.79022,(48.023,18.712)}},opacity=0.600,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{0,1,-1.1967,0,(367.27,-78.817)}},opacity=0.6,even odd rule, fill=Silver] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.6841,0,0,1.3147,(-42.707,-50.996)}},opacity=0.7,even odd rule, fill=white] (183.5000,102.9800)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [fill=Silver!5!white] (117.0000,38.0310) .. controls (114.9400,38.0620) and (112.8500,38.2330) .. (110.7800,38.4690) .. controls (103.6500,39.2810) and (96.5470,42.3430) .. (90.6250,46.3120) .. controls (85.0700,50.0360) and (81.0570,54.7760) .. (77.4380,60.3440) .. controls (66.5840,77.0430) and (66.9810,99.2500) .. (78.9060,115.4100) .. controls (93.6200,135.3400) and (125.5200,141.5100) .. (145.6900,126.1200) .. controls (152.8100,120.6900) and (160.2900,113.6200) .. (164.1200,105.3800) .. controls (157.4100,108.8600) and (153.7000,116.9300) .. (148.1200,121.9400) .. controls (137.8500,131.1600) and (122.3600,134.4300) .. (109.0000,131.8800) .. controls (103.0800,130.7400) and (97.5730,128.2100) .. (92.4380,125.1200) .. controls (55.3020,102.8500) and (71.5560,44.3380) .. (113.1600,40.3120) .. controls (126.1800,39.0520) and (138.9600,42.7790) .. (148.7200,51.5620) .. controls (154.2100,56.5090) and (158.7000,66.5630) .. (166.4100,68.0310) .. controls (160.8100,63.9260) and (158.0400,57.6670) .. (153.3400,52.6880) .. controls (148.1000,47.1310) and (141.5100,43.6620) .. (134.5000,40.9690) .. controls (128.8300,38.7910) and (122.9400,37.9430) .. (117.0000,38.0310) -- cycle(97.5620,74.0000) .. controls (106.6100,78.1170) and (107.3700,93.8210) .. (95.0000,96.1560) .. controls (88.1710,97.4460) and (83.4350,93.2550) .. (81.8120,88.0940) .. controls (83.0940,94.1620) and (88.2520,99.4810) .. (95.9690,98.0000) .. controls (109.4100,95.4210) and (108.0500,77.5650) .. (97.5620,74.0000) -- cycle;
    \begin{scope}
      \path (92,88) ++(-90:15) coordinate (a);
      \clip (a)  arc (-90:0:15) |- (current bounding box.south east) -- (current bounding box.north east) -| cycle;
      \path [cm={{1.5874,0.57246,-0.31593,0.87607,(-74.579,-70.635)}}, opacity=0.7, even odd rule, inner color=white, outer color=Silver] (158.79,65.549) arc (0:180:20.11 and 27.442) arc (-180:0:20.11 and 27.442) -- cycle;
    \end{scope}
  \end{scope}
  []
  \path
    [
    postaction={decorate},
      preaction={%
        decorate,
        decoration={%
          text effects/.cd, characters/.append={xshift=1, yshift=1, scale=1.05, opacity=.5, text=gray},
        },
      }
    ] (100,160) ++(120:60) arc (120:-90:60);
\end{tikzpicture}
\end{document}

Variant 2 (Shiny)

Here's a shinier version based on a much-mangled adaption of Mark Wibrow's 3D stacked disks

\pdfminorversion=7
\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{decorations.text,fadings}
\tikzfading[name=fade out,% tudalen 344
  inner color=transparent!0,
  outer color=transparent!85]
\tikzset{%
  blob/.style={opacity=0.8, path fading=fade out, even odd rule, inner color=white!50!Silver, outer color=Silver},
}
\usepackage{cabin}
\begin{document}
% basic key based on Inkscape export from Timothy King's key at https://openclipart.org/detail/211/shiny-key
\begin{tikzpicture}[y=0.8pt, x=0.8pt, decoration={text effects along path, text={PROPERTY OF KNUTH}, text effects/.cd, text along path, fit text to path, characters={font=\sffamily\Large\bfseries, text=Silver!50!white},}, yscale=-1,]
  \coordinate (c) at (103,158.5);
  \path [cm={{0.48287,0,0,1.8349,(-16.198,-1039.1)}} , opacity=0.8, even odd rule, inner color=gray, outer color=gray!5] (736.09,693.71)arc(-0.309:180.309:342.99 and 7.831)arc(-180.309:0.309:342.99 and 7.831) -- cycle;
  \path [cm={{0.85307,0,0,0.37556,(-183.43,-23.731)}}, opacity=0.8, even odd rule, inner color=gray!5, outer color=gray!75] (535.62,684.32)arc(-0.529:180.529:93.969 and 14.095)arc(-180.529:0.529:93.969 and 14.095) -- cycle;
  \begin{scope}[cm={{1.4335,0.38566,-0.38566,1.4335,(-33.152,-10.038)}}]
    \path [draw=darkgray] (116.61,36.274) .. controls (106.71,36.413) and (96.879,39.339) .. (88.77,45.368) .. controls (72.927,57.148) and (65.076,76.35) .. (67.708,95.868) .. controls (68.444,101.32) and (72.054,106.25) .. (72.77,111.52) .. controls (77.861,116.41) and (81.182,122.5) .. (87.052,126.74) .. controls (104.33,139.24) and (129.01,140.56) .. (146.86,128.24) .. controls (151.85,124.81) and (155.98,120.56) .. (159.55,115.68) .. controls (161.94,112.42) and (164,107.79) .. (168.21,106.52) .. controls (171.85,105.43) and (174.6,109.43) .. (178.24,108.87) .. controls (180.89,108.46) and (180.26,105.15) .. (182.49,104.18) .. controls (183.76,103.63) and (191.43,101.04) .. (192.4,101.31) .. controls (194.3,101.83) and (194.98,104.25) .. (197.24,104.09) .. controls (200.22,103.88) and (201.17,100.17) .. (203.83,99.524) .. controls (206.23,98.944) and (207.96,102.35) .. (209.68,103.46) .. controls (213.63,106) and (217.38,102.44) .. (219.15,99.087) .. controls (221.94,100.54) and (223.6,104.51) .. (226.86,104.77) .. controls (229.95,105.03) and (231.92,101.5) .. (234.52,101.81) .. controls (238.7,102.29) and (241.36,106.24) .. (246.4,104.71) .. controls (252.32,102.91) and (257.67,95.121) .. (262.46,91.306) .. controls (264.32,89.821) and (267.18,88.066) .. (267.49,85.462) .. controls (267.83,82.608) and (264.05,78.56) .. (262.21,76.649) .. controls (258.81,73.124) and (250.36,74.774) .. (245.83,74.774) .. controls (230.79,74.774) and (215.81,73.588) .. (200.8,73.587) .. controls (194.7,73.586) and (181.93,76.58) .. (181.83,68.274) -- (171.15,67.837) -- (162.86,64.118) .. controls (161.56,56.879) and (154.38,50.402) .. (148.68,46.274) .. controls (139.51,39.637) and (128.01,36.115) .. (116.61,36.274) -- cycle(92.739,73.712) .. controls (106.22,73.381) and (109.55,94.155) .. (95.177,96.868) .. controls (80.336,99.67) and (75.496,76.554) .. (90.677,73.931) .. controls (91.387,73.808) and (92.076,73.728) .. (92.739,73.712) -- cycle;
    \path [fill=gray, opacity=0.8, draw=gray!10!Silver] (116.67,36.441) .. controls (106.77,36.58) and (96.933,39.506) .. (88.824,45.535) .. controls (72.981,57.315) and (65.13,72.516) .. (67.762,92.035) .. controls (68.498,97.489) and (72.108,102.42) .. (72.824,107.69) .. controls (77.915,112.57) and (81.236,118.66) .. (87.105,122.91) .. controls (104.38,135.41) and (125.06,136.73) .. (142.92,124.41) .. controls (147.9,120.97) and (152.04,116.72) .. (155.61,111.85) .. controls (157.99,108.59) and (164.05,105.96) .. (168.26,104.69) .. controls (171.9,103.6) and (174.65,107.6) .. (178.29,107.03) .. controls (180.94,106.62) and (180.31,103.32) .. (182.54,102.35) .. controls (183.81,101.79) and (191.49,99.208) .. (192.45,99.472) .. controls (194.35,99.996) and (195.03,102.41) .. (197.29,102.25) .. controls (200.27,102.04) and (201.22,98.336) .. (203.89,97.691) .. controls (206.28,97.111) and (208.01,100.52) .. (209.73,101.63) .. controls (213.68,104.17) and (217.43,100.61) .. (219.2,97.254) .. controls (221.99,98.71) and (223.65,102.67) .. (226.92,102.94) .. controls (230,103.19) and (231.97,99.67) .. (234.57,99.972) .. controls (238.75,100.46) and (241.42,104.41) .. (246.45,102.88) .. controls (252.38,101.07) and (253.73,95.288) .. (258.51,91.472) .. controls (260.37,89.988) and (263.23,88.233) .. (263.54,85.629) .. controls (263.89,82.774) and (260.1,78.727) .. (258.26,76.816) .. controls (254.87,73.291) and (246.42,74.941) .. (241.89,74.941) .. controls (226.84,74.941) and (211.87,73.755) .. (196.86,73.754) .. controls (190.76,73.753) and (177.99,76.747) .. (177.89,68.441) -- (167.2,68.004) -- (158.92,64.285) .. controls (157.61,57.046) and (150.43,50.569) .. (144.73,46.441) .. controls (135.56,39.804) and (128.07,36.281) .. (116.67,36.441) -- cycle(92.793,73.879) .. controls (106.27,73.548) and (109.6,94.322) .. (95.23,97.035) .. controls (80.39,99.837) and (75.55,76.721) .. (90.73,74.097) .. controls (91.441,73.975) and (92.13,73.895) .. (92.793,73.879) -- cycle;
    \path [draw=gray, inner color=Silver, outer color=gray] (116.61,35.903) .. controls (106.71,36.042) and (96.879,38.968) .. (88.77,44.997) .. controls (72.927,56.777) and (65.076,75.978) .. (67.708,95.497) .. controls (68.444,100.95) and (72.054,105.88) .. (72.77,111.15) .. controls (77.861,116.03) and (81.182,122.13) .. (87.052,126.37) .. controls (104.33,138.87) and (129.01,140.19) .. (146.86,127.87) .. controls (151.85,124.44) and (155.98,120.18) .. (159.55,115.31) .. controls (161.94,112.05) and (164,107.42) .. (168.21,106.15) .. controls (171.85,105.06) and (174.6,109.06) .. (178.24,108.5) .. controls (180.89,108.09) and (180.26,104.78) .. (182.49,103.81) .. controls (183.76,103.26) and (191.43,100.67) .. (192.4,100.93) .. controls (194.3,101.46) and (194.98,103.88) .. (197.24,103.72) .. controls (200.22,103.5) and (201.17,99.798) .. (203.83,99.153) .. controls (206.23,98.573) and (207.96,101.98) .. (209.68,103.09) .. controls (213.63,105.63) and (217.38,102.07) .. (219.15,98.716) .. controls (221.94,100.17) and (223.6,104.14) .. (226.86,104.4) .. controls (229.95,104.65) and (231.92,101.13) .. (234.52,101.43) .. controls (238.7,101.92) and (241.36,105.87) .. (246.4,104.34) .. controls (252.32,102.54) and (257.67,94.75) .. (262.46,90.934) .. controls (264.32,89.45) and (267.18,87.695) .. (267.49,85.091) .. controls (267.83,82.236) and (264.05,78.189) .. (262.21,76.278) .. controls (258.81,72.753) and (250.36,74.403) .. (245.83,74.403) .. controls (230.79,74.403) and (215.81,73.217) .. (200.8,73.216) .. controls (194.7,73.215) and (181.93,76.209) .. (181.83,67.903) -- (171.15,67.466) -- (162.86,63.747) .. controls (161.56,56.508) and (154.38,50.031) .. (148.68,45.903) .. controls (139.51,39.266) and (128.01,35.744) .. (116.61,35.903) -- cycle(92.739,73.341) .. controls (106.22,73.01) and (109.55,93.784) .. (95.177,96.497) .. controls (80.336,99.299) and (75.496,76.183) .. (90.677,73.559) .. controls (91.387,73.437) and (92.076,73.357) .. (92.739,73.341) -- cycle;
    \path [opacity=0.7, left color=gray!15!Silver, right color=gray!30!darkgray] (167.47,106.52) .. controls (171.1,105.43) and (173.86,109.43) .. (177.5,108.87) .. controls (180.15,108.46) and (179.51,105.15) .. (181.75,104.18) .. controls (183.02,103.63) and (190.69,101.04) .. (191.65,101.31) .. controls (193.56,101.83) and (194.24,104.25) .. (196.5,104.09) .. controls (199.48,103.88) and (200.43,100.17) .. (203.09,99.524) .. controls (205.49,98.944) and (207.21,102.35) .. (208.93,103.46) .. controls (212.88,106) and (216.64,102.44) .. (218.4,99.087) .. controls (221.19,100.54) and (222.86,104.51) .. (226.12,104.77) .. controls (229.2,105.03) and (231.18,101.5) .. (233.78,101.81) .. controls (237.95,102.29) and (240.62,106.24) .. (245.65,104.71) .. controls (251.58,102.91) and (256.93,95.121) .. (261.72,91.306) .. controls (263.58,89.821) and (266.43,88.066) .. (266.75,85.462) .. controls (267.09,82.608) and (263.31,78.56) .. (261.47,76.649) .. controls (258.07,73.124) and (249.62,74.774) .. (245.09,74.774) .. controls (230.04,74.774) and (215.07,73.588) .. (200.06,73.587) .. controls (193.96,73.586) and (181.19,76.58) .. (181.09,68.274) -- (172.26,68.579) .. controls (172.26,68.579) and (166.29,62.915) .. (160.86,66.874) .. controls (139.43,82.515) and (165.36,107.16) .. (167.47,106.52) -- cycle;
    \begin{scope}
      \clip (116.61,35.903) .. controls (106.71,36.042) and (96.879,38.968) .. (88.77,44.997) .. controls (72.927,56.777) and (65.076,75.978) .. (67.708,95.497) .. controls (68.444,100.95) and (72.054,105.88) .. (72.77,111.15) .. controls (77.861,116.03) and (81.182,122.13) .. (87.052,126.37) .. controls (104.33,138.87) and (129.01,140.19) .. (146.86,127.87) .. controls (151.85,124.44) and (155.98,120.18) .. (159.55,115.31) .. controls (161.94,112.05) and (164,107.42) .. (168.21,106.15) .. controls (171.85,105.06) and (174.6,109.06) .. (178.24,108.5) .. controls (180.89,108.09) and (180.26,104.78) .. (182.49,103.81) .. controls (183.76,103.26) and (191.43,100.67) .. (192.4,100.93) .. controls (194.3,101.46) and (194.98,103.88) .. (197.24,103.72) .. controls (200.22,103.5) and (201.17,99.798) .. (203.83,99.153) .. controls (206.23,98.573) and (207.96,101.98) .. (209.68,103.09) .. controls (213.63,105.63) and (217.38,102.07) .. (219.15,98.716) .. controls (221.94,100.17) and (223.6,104.14) .. (226.86,104.4) .. controls (229.95,104.65) and (231.92,101.13) .. (234.52,101.43) .. controls (238.7,101.92) and (241.36,105.87) .. (246.4,104.34) .. controls (252.32,102.54) and (257.67,94.75) .. (262.46,90.934) .. controls (264.32,89.45) and (267.18,87.695) .. (267.49,85.091) .. controls (267.83,82.236) and (264.05,78.189) .. (262.21,76.278) .. controls (258.81,72.753) and (250.36,74.403) .. (245.83,74.403) .. controls (230.79,74.403) and (215.81,73.217) .. (200.8,73.216) .. controls (194.7,73.215) and (181.93,76.209) .. (181.83,67.903) -- (171.15,67.466) -- (162.86,63.747) .. controls (161.56,56.508) and (154.38,50.031) .. (148.68,45.903) .. controls (139.51,39.266) and (128.01,35.744) .. (116.61,35.903) -- cycle(92.739,73.341) .. controls (106.22,73.01) and (109.55,93.784) .. (95.177,96.497) .. controls (80.336,99.299) and (75.496,76.183) .. (90.677,73.559) .. controls (91.387,73.437) and (92.076,73.357) .. (92.739,73.341) -- cycle;
      % modified, mangled and simplified from Mark Wibrow's answer at https://tex.stackexchange.com/a/175415/
      \begin{scope}[rotate=90]
        \path [left color=black!50, right color=black!50, middle color=black!25] (c) (c) circle (150);
        \path [bottom color=black!25, top color=white, fill opacity=.25] (c) circle (150);
        \foreach \r in {75,165,255,345}
          \foreach \i in {0,2,...,15}
            \fill [black, fill opacity=1/50] (c) -- ++(\r+15-\i:150) arc (\r+30-\i:\r-15+\i:150)  -- cycle;
        \path [bottom color=black!25, top color=white] (c) circle (47.5);
     \end{scope}
     \path [fill=Silver!5!white] (117,38.031) .. controls (114.94,38.062) and (112.85,38.233) .. (110.78,38.469) .. controls (103.65,39.281) and (96.547,42.343) .. (90.625,46.312) .. controls (85.07,50.036) and (81.057,54.776) .. (77.438,60.344) .. controls (66.584,77.043) and (66.981,99.25) .. (78.906,115.41) .. controls (93.62,135.34) and (125.52,141.51) .. (145.69,126.12) .. controls (152.81,120.69) and (160.29,113.62) .. (164.12,105.38) .. controls (157.41,108.86) and (153.7,116.93) .. (148.12,121.94) .. controls (137.85,131.16) and (122.36,134.43) .. (109,131.88) .. controls (103.08,130.74) and (97.573,128.21) .. (92.438,125.12) .. controls (55.302,102.85) and (71.556,44.338) .. (113.16,40.312) .. controls (126.18,39.052) and (138.96,42.779) .. (148.72,51.562) .. controls (154.21,56.509) and (158.7,66.563) .. (166.41,68.031) .. controls (160.81,63.926) and (158.04,57.667) .. (153.34,52.688) .. controls (148.1,47.131) and (141.51,43.662) .. (134.5,40.969) .. controls (128.83,38.791) and (122.94,37.943) .. (117,38.031) -- cycle(97.562,74) .. controls (106.61,78.117) and (107.37,93.821) .. (95,96.156) .. controls (88.171,97.446) and (83.435,93.255) .. (81.812,88.094) .. controls (83.094,94.162) and (88.252,99.481) .. (95.969,98) .. controls (109.41,95.421) and (108.05,77.565) .. (97.562,74) -- cycle;
      \begin{scope}[rotate=90]
        \foreach \r in {45,135,225,315}
          \foreach \i in {0,2,...,30}
            \fill [black, fill opacity=1/50] (c) -- ++(\r+30-\i:65) arc (\r+30-\i:\r-30+\i:65)  -- cycle;
      \end{scope}
    \end{scope}
    \path [opacity=0.3, even odd rule, fill=Silver!25!white] (181.88,78.308) -- (174.67,79.589) -- (178.52,84.433) -- (266.6,84.433) -- (266.98,83.464) -- (262.96,78.308) -- (181.88,78.308) -- cycle (180.15,86.464) -- (181.88,88.62) -- (264.97,88.62) -- (265.82,86.464) -- (180.15,86.464) -- cycle;
    \path [even odd rule, opacity=.5, right color=white, left color=white, middle color=gray!50!white] (181.88,78.375) -- (174.69,79.656) -- (178.53,84.5) -- (266.28,84.5) -- (266.66,83.531) -- (262.66,78.375) -- (181.88,78.375) -- cycle (180.16,86.531) -- (181.88,88.688) -- (264.66,88.688) -- (265.5,86.531) -- (180.16,86.531) -- cycle;
    \path [shift={(-2.37,-0.14812)}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.75089,(18.101,21.947)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.0998,0,0,0.68534,(15.481,29.365)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1,0,0,0.79022,(48.023,18.712)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{0,1,-1.1967,0,(367.27,-78.817)}}, blob] (183.5,102.98)arc(-0.941:180.941:4.450600 and 5.649)arc(-180.941:0.941:4.450600 and 5.649) -- cycle;
    \path [cm={{1.6841,0,0,1.3147,(-42.707,-50.996)}}, blob, fill=white] (183.5,102.98) arc(-0.941:180.941:4.4506 and 5.649) arc(-180.941:0.941:4.4506 and 5.649) -- cycle;
  \end{scope}
  \path
    [
    postaction={decorate},
      preaction={%
        decorate,
        decoration={%
          text effects/.cd, characters/.append={xshift=1, yshift=1, scale=1.05, opacity=.5, text=gray},
        },
      }
    ] (c) ++(120:60) arc (120:-90:60);
\end{tikzpicture}
\end{document}

Variant 3 (Power of Knuth)

The code for the third variant causes the answer to exceed the length limit. While one donkey answer may be considered a misfortune and two explained by mere carelessness, a third would surely constitute deliberate trespass beyond the bounds of propriety. Hence, here is the source code in question.

cfr
  • 198,882
104

In response to a suggestion by the OP in chat, I am pleased to announce the availability of a provisional logo for the TeX Society for the Protection of Donkeys (TSPD).

TSPD

The donkey itself is an adaptation of an openclipart.org donkey by frankes. The original SVG was opened in Inkscape and exported to TikZ code. This code was then partially cleaned and modified. A simple key-value interface was added to configure the donkey's colouring.

The donkey code became asyn.tex. This was compiled to PDF using pdfLaTeX.

donkey

asyn.pdf was then used to create the logo using TikZ code based on that I used to create the TSPCD circular logo posted in chat a couple of days ago.

\PassOptionsToPackage{rgb,x11names,dvipsnames,svgnames}{xcolor}
\documentclass[tikz,border=0pt,multi]{standalone}
\usetikzlibrary{decorations.text}
\usepackage[T1]{fontenc}
\usepackage{tgschola}
\usepackage{textcomp,microtype}
\begin{document}
\newcommand*\TeXT{%
  T\kern -.1667em}
\newcommand*\TeXe{%
  \lower .5ex\hbox {E}\kern -.125em}
\newcommand*\TeXX{%
  X\spacefactor 1000}
\begin{tikzpicture}
  \foreach \i/\j/\k in {Purple4/Purple4/45mm,Purple1/Purple4/35mm} \path [inner color=\i, outer color=\j, draw=Purple4, line width=1.5pt, double distance=.75mm, double=Purple1] circle (\k);
  \path [decorate, decoration={text effects along path, text={\TeXT\TeXe\TeXX \textbullet{} SOCIETY \textbullet{} FOR \textbullet{} THE \textbullet{} PROTECTION \textbullet{} OF \textbullet{} DONKEYS \textbullet{}\ }, text effects/.cd, text along path, fit text to path, characters={font=\LARGE, text=Silver}}] (90:38mm) arc (90:-270:38mm);
  \node {\includegraphics[height=50mm] {asyn}};
\end{tikzpicture}
\end{document}

The PDF compiled by pdfLaTeX was finally converted to PNG using ImageMagick's convert utility.

convert -density 300 <filename>.pdf -quality 100 tspd.png

Since TSPCD and TSPD have very similar acronyms, it is essential to bear in mind that

duck \neq donkey

or, in code,

$x \neq y \forall x \in \{\text{donkeys}\}, y \in \{\text{ducks}\}$

TSPCD; duck; donkey; TSPD

Caveat emptor ...

Appendix

The code for the duck is the duckastic work of the site's resident duck, Paulo Cereda, posted in this answer.

The system will not allow me to post the source asyn.tex which contains the code for the donkey here, even in a dedicated answer and even if I remove all permissible spaces and do some further compacting codewise. But I have found a solution allowing me to post the donkey source code used to create asyn.pdf.

Code for inequality:

\documentclass[tikz,border=10pt,multi]{standalone}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}
  \node (hwyaden)  {\includegraphics{duck}};
  \node (n) [right=of hwyaden, font=\Huge, scale=10] {$\neq$};
  \node [right=of n] {\includegraphics{asyn}};
\end{tikzpicture}
\end{document}

Code for duck-donkey series:

\documentclass{article}
\usepackage{graphicx}
\begin{document}
  \noindent
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{tspcd}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{duck}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{asyn}
  \end{minipage}%
  \begin{minipage}{.25\textwidth}
    \includegraphics[width=\linewidth]{tspd}
  \end{minipage}
\end{document}
cfr
  • 198,882
  • 1
    +1. Pretty draw and code. First time I see a donkey with green eyes... lol – Sigur May 31 '16 at 00:47
  • 2
    Hmm, this donkey looks strikingly similar to mine... – Robert May 31 '16 at 01:13
  • 1
    @Robert I tried to copy the antlers as faithfully as I could ;). – cfr May 31 '16 at 03:15
  • You forgot to escape the braces in your statement of the inequality. $x \neq y \forall x \in \{\text{donkeys}\}, y \in \{\text{ducks}\}$ – Seamus May 31 '16 at 06:42
  • @Sigur Oddly enough, the eye colour is, I think, the only colour I didn't change. (Well, also the pupil of the eye, but that pretty much has to be black.) – cfr May 31 '16 at 12:24
  • (1) How would you center \TEX on top of circle? (2) How would you make the space on left and right of \TEX appear equal? – Maesumi Jul 08 '16 at 21:29
  • 1
    @Maesumi Well you could run the text from, say, 85 to 265 or whatever rather than 90 to 270. Is that what you mean? – cfr Jul 08 '16 at 22:50
  • In many circular logos there are two parts. Each part is centered. The bottom part reads left to right as in this example. I was trying to use your code for that effect. – Maesumi Jul 10 '16 at 19:03
  • @Maesumi You just need to start and end at the appropriate angles. If you want 2 parts for your logo, of course you will need 2 paths - one in each direction. However, TikZ is not ideal for that case. – cfr Jul 10 '16 at 20:30
  • Some examples of what I was looking for are here. – Maesumi Jul 10 '16 at 21:13
  • @Maesumi Yes ... ?? It isn't difficult. You just specify the angles appropriately, as I said before. – cfr Jul 10 '16 at 21:21
98

This is my randomized TeX donkey contribution, made with Tikz. The idea is the emerging of the letters of "Esel" from the central TeX following an Archimedes spiral.

randomized TeX donkey

The letters are chosen randomly and have random size and rotation. An advantage of this approach is that the silhouette of the donkey has not to be very perfect. I like this kind of design as a logo because it is immediately recognisable, but every time that it is compiled (with at least 1 min difference), the output is slightly different because it has a random component.

\documentclass{standalone}

\usepackage{tikz}

\begin{document}

\def\donkey{
    (0.8,-4.5)--(1.5,-4.5)
    ..controls(1.3,-3.5)..(1.75,-1.5)
    ..controls(2.3,-0.5)..(2.5,0.5)
    ..controls(3,1.8)..(3.75,1.25)
    ..controls(4.5,0.7)and(5.3,1.2)..(4.3,2.4)
    ..controls(3.9,2.8)..(3.8,3.75)
    ..controls(3.5,5.6)..(3.35,3.75)
    ..controls(3.2,3)..(3.05,3.75)
    ..controls(2.7,5.5)..(2.6,3.75)--(2.6,3.1)
    ..controls(2.2,2.9)..(1,2)
    ..controls(-0.5,1.3)..(-2.2,1.7)
    ..controls(-3.3,1.8)and(-4.4,1.3)..(-4.8,0.25)
    ..controls(-5,-0.5)..(-5,-1.4)
    ..controls(-5,-3.5)..(-4.6,-1.4)
    ..controls(-4.5,0)..(-4.3,-1.3)
    ..controls(-4,-1.8)..(-4,-4.5)--(-3.4,-4.5)
    ..controls(-3.2,-0.7)..(-2,-1.2)
    ..controls(-0.5,-1.5)..(0.8,-1.2)--cycle
   }

\pgfkeys{/donkey/letter/.is choice}
\pgfkeys{/donkey/letter/1/.code=\def\letter{E}}
\pgfkeys{/donkey/letter/2/.code=\def\letter{s}}
\pgfkeys{/donkey/letter/3/.code=\def\letter{e}}
\pgfkeys{/donkey/letter/4/.code=\def\letter{l}}

\pgfkeys{/donkey/font size/.is choice}
\pgfkeys{/donkey/font size/1/.code=\def\size{\huge}}
\pgfkeys{/donkey/font size/2/.code=\def\size{\Large}}
\pgfkeys{/donkey/font size/3/.code=\def\size{\normalsize}}
\pgfkeys{/donkey/font size/4/.code=\def\size{\footnotesize}}
\pgfkeys{/donkey/font size/5/.code=\def\size{\tiny}}

\begin{tikzpicture}
  \clip[rounded corners,scale=1.3] \donkey;
  \foreach \angle in {1700,1722,...,16000}{
      \pgfmathparse{int(rnd*4+1)}\xdef\letterchoice{\pgfmathresult}
      \pgfmathparse{int(rnd*4+1)}\xdef\sizechoice{\pgfmathresult}
      \pgfmathparse{rnd*360}     \xdef\rotation{\pgfmathresult}
    \node[/donkey/.cd,letter=\letterchoice,font size=\sizechoice,
          /tikz/.cd,font=\size,rotate=\rotation] 
        at (\angle:\angle/1720){\letter};}
  \node at (0,0){\huge\TeX};
\end{tikzpicture}

\end{document}
  • @Steven B. Segletes: Thank you very much! And sorry. Initially the letters from “Esel” where extracted with your stringstrings package. A very useful package indeed! – Raoul Kessels Jun 04 '16 at 11:11
  • Thanks for the plug. But I am the first to admit (OK, the 2nd) that stringstrings is as slow as a snail. It was my first package, when I really had no clue about what I was doing. But occasionally, it can still shine. – Steven B. Segletes Jun 04 '16 at 12:38
  • @cfr: Thank you. I only saw it the day after I received the newsletter. However, I am very happy to have had so many votes; really did not expect that :D. Now I hope that it will inspire somebody for something more useful. – Raoul Kessels Jun 07 '16 at 04:54
  • I know. I feel guilty now for posting two answers. I'm astonished that a bad pun is now my most popular answer! – cfr Jun 07 '16 at 15:49
  • that's so rad! can i ask if it is possible to make the randomized donkey scalable (right now we need n statements for n letters). something like putting letters in an array and using them from there? i would love to create some graphics like the one in child of books (http://www.readingisourthing.com/wp-content/uploads/2016/09/IMG_8886.jpg) – gaurav gupta Jul 20 '17 at 20:24
57

enter image description here

\documentclass{article}

\setlength{\unitlength}{0.00083333in}
\usepackage{epic}
\begin{document}

\begin{picture}(4974,3714)(0,-10)
\drawline(2037,1362)(1962,12)(2112,1362)
\drawline(1887,2412)(4437,2412)(4437,1437)
    (1887,1437)(837,2262)(462,1812)
    (12,2187)(687,3012)(837,3687)
    (837,3087)(1812,2412)
\drawline(1887,1437)(1512,12)(1962,1437)
\put(687,2637){\circle{150}}
\drawline(4362,1437)(4287,162)(4287,1437)
\drawline(4137,1437)(3987,162)(3987,1437)
\drawline(4437,2412)(4962,1587)
\end{picture}

\end{document}
David Carlisle
  • 757,742
44

I posted the following artworks in the chatroom, and I was kindly asked to posted them here as well. I am also marking this answer as community wiki since there is no need to harvest these juicy reputation points. :)

The first artwork is an attempt of reproducing the official project logo as a vector image. I drew it by hand and made some conversions in order to obtain the corresponding .tex code, available in this GitHub gist due to code length limitations in our site. The result is as follows:

Quack

The second artwork was made as a recurring joke in the chatroom, as we are fond of ducks. What if a duck wants to win the contest and goes into the competition disguised as a donkey? Then we came up with the following drawing, with the corresponding .tex code available in this GitHub gist for the very same reasons stated above:

Quack

Although the disguise is almost perfect, some smart bloke might argue there is no yellow donkey available in nature. Then we are now inclined to provide a improved version of the duck's disguise, as seen in the following image (.tex code provided in this GitHub gist):

Quack

The final improvement would be making the duck wear green contact lens, so the donkey disguise would be technically perfect. Maybe in the upcoming future. :)

Paulo Cereda
  • 44,220
35

In the package linearb, there is a Linear B ideogram called \BPhorse, which is clearly not a donkey, but a horse and looks like this:

A Linear B horse

\documentclass{minimal}
\usepackage{linearb}
\begin{document}
\textlinb{\BPhorse}
\end{document}
Roland
  • 761
28

It's my donkey named... Lenny.

\documentclass{article}
\usepackage{stackengine,graphicx,scalerel}
\begin{document}
\savestack\eye{\rotatebox{90}{$^\circ\kern-2.5pt%
  \raisebox{1pt}{\smash{\scalebox{1}[.6]{\raisebox{3pt}{)}}}\kern.2pt%
  \scalebox{1.7}[1]{\scalebox{.5}[1.1]{$\smash{\vert}$}\kern-1.5pt$>$}}$}}
\savestack\nose{\raisebox{0pt}{\scalebox{.7}{..}}}
\savestack\mouth{\scalebox{1.00}[1]{\rotatebox{90}{(}}}
\scalebox{.97}[2]{\mbox{\textbackslash}}\kern-1.8pt\stackanchor[10pt]{\eye \eye}{%
  \stackon[1pt]{\mouth}{\nose}\,}\kern-3.5pt\scalebox{1.18}[2]{/}
\end{document}

enter image description here

  • 1
    It reminds of the Mari Lwyd, although that's a horse, of course. – cfr Jun 02 '16 at 20:49
  • 1
    Course, you couldn't really call her 'Lenny' in that case .... – cfr Jun 02 '16 at 22:09
  • @cfr Oh my. That bad, huh? – Steven B. Segletes Jun 03 '16 at 01:21
  • ;) Not at all. The Mari Lwyd is quite popular - in theory, if not in practice. Bit grim, maybe, but surely no worse than Halloween and probably rather less so. Something about the nostrils and the white, though .... I find this one a bit creepy. And the eye sockets .... – cfr Jun 03 '16 at 02:27
  • ooh this donkey looks very naughty, I like it! :) – Paulo Cereda Jun 03 '16 at 10:48
  • I like it. Has Lenny a meaning? I found a book called "Lenny, the lost donkey". (The ears looks a bit like the logo of Cologne - a rival city to mine (at least for the soccer fans).) – Ulrike Fischer Jun 04 '16 at 13:45
  • @UlrikeFischer Lenny is making reference to another facial figure constructed of glyphs (http://tex.stackexchange.com/questions/308600/how-to-include-a-lenny-face-in-a-latex-document-e-g-%cd%a1-%cd%9c%ca%96-%cd%a1). You will note that this face is based very much on my answer there. – Steven B. Segletes Jun 05 '16 at 01:05
18

A dounckey*

*to use the name @mickep gave this creature :)

\documentclass{standalone}
\usepackage{tikzducks}

\definecolor{skin}{RGB}{161,140,126}
\definecolor{bill}{RGB}{238,212,191}
\definecolor{hair}{RGB}{89,72,72}

\begin{document}

\begin{tikzpicture}
    \duck[body=skin,bill=bill,shorthair=hair]
    \node[skin,rotate=45,scale=3] at (1.7,1.55) {\textsf{s}};
    \fill[hair,rotate=45] (2.4,0.13) ellipse (0.15 and 0.07);
    \begin{scope}[yshift=1]
        \clip (0.3,2.2) circle (0.4);
    \fill[skin] (0.9,2.3) circle (0.4);
  \end{scope}
    \begin{scope}[yshift=1]
        \clip (0.3,2.2) circle (0.35);
    \fill[bill] (0.9,2.3) circle (0.35);
  \end{scope}
    \begin{scope}
        \clip (1.5,2.05) circle (0.4);
    \fill[skin] (1.0,2.35) circle (0.4);
  \end{scope}
    \begin{scope}
        \clip (1.5,2.05) circle (0.35);
    \fill[bill] (1.0,2.35) circle (0.35);
  \end{scope}  
\end{tikzpicture}   

\end{document}

enter image description here

15

Well well, what to say, I was meandering through the list of answers and found no ascii contributions ;-). Hence, for the sake of (my own) satisfaction,

\documentclass{article}
\usepackage{filecontents,listings,graphicx,varwidth}% http://ctan.org/pkg/{filecontents,listings,graphicx,varwidth}

\begin{filecontents*}{donkey.txt}
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMMMMWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXddXMMMMMMMMM0oOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNd'cKMMMMWWMMKc;OWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOcokXMMMMMMWKl:kNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXod0KNMMMMMNkloOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWxo0KKWMMWN0ooOKXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWklkK0KNWXOxccOKXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOlokxk00Ooc:cxKXNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOolddokko:;:lx0KWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOdcoookxl;:cok0KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXK0xoc:oodxc,::cx0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOolollc;oxdoclccoOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXXKkdollddolldkdooodkKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXKkoccc::coooxdllddocccloxOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0Odoc:;,;:loooloddoodl::cc::lldOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWX0xl::;;;:lodddolclollool:::c:::clodkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWXOxoc;,,:coxxdlllcccloollllcc:::::::loookXWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKkdolcccclxkxxdollcccccooolcc:::;;::::clodox0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKko::;;;cxOkkdoolcc:ccccloolc:;;;,,;:lloxxdoddd0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKkdl:;,,:ldxxddollcc::ccclloolc:;;:c::::ccokkkxdodKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0dlc::ldxxkxddollollc::ccllloolccccldxo:,,',:okkdooxXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKOdc:;cdOOkddddolloooc::::clloddolcc::coxkkkO0kxkkolllxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNXKKKKXXXNNNWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dlclodxxddooodoolooolc:;;:clodddolc:;;:ccodkOOOkkxolllcd0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWX0OxdoolcccllooooddxxkkkOOOO000KKXXXNNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXxlooddxddolooooooooolc:;;;;:oxxxdol:,,;,,;:cldddddolclllloOXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNKOxolllllllc::::cccccc::cccccccccccclllooodxxkkO0KXXXNNWWMMMMMMMMMMMMMMMMMWWWNXXK00OOOkkkOOOkkdolooooollcclllllloollc:;;,,:oOOkdoc;,,,',,,;:cloooollllllookKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOdoloooooooollccccccccccc:::::::::::::::c:::::::ccccllloodxxkkOOOO0000OOOOkkxxddoollcc:cccccllllcccclllllcc::ccllccllc:;;,,,;lkOkxoc:;,''''',,,:cllllllooodxk0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXOxoooooooooooollccccccccccllc::::::::::::::::::::::::::::::ccc::ccccccccccccccccllllllcc:cc::::ccc::::cccccccccc:::ccccc::;,,,,,;okkxoc::;,,''',;;;::cllloodxO0XNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKOxdddooooooollllllccccccccccc:ccc::::::::::::::::::::::;:::::::cccc::ccccccccccclllllllllllllccccccc:::::::::::ccccccccccc:;,,,''',:lxxoc::;,,,'''',:llllllodk0XXNXNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWN0kddddddooooolllllllccccccccccc::ccc:ccc::::::::::::::::::::cccc:::clccccccccc:ccccllllllllllllllccccccc:::;:::::;::cccccc:::;;,,,'',,,,:ddlc;;,'''....,;cllodxk0XXXNNNNNNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMN0xdooodddddooolllccclcccccclllllc:;::::ccccc:::::cccc:::::::::::cc::::cccc::::::cccccccccccccclloolllcccc::::;;;:::;;::::::::;;;;,,,,,,,''',cxkdl;'......';:cloxO0KKKXXKKKKKKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOddooooddddddooollcccccccccclloolcc::;;:c:ccc::::cccc::::c:::::::::c::cccccc:::ccccccccccccccclclooolllllc::;:::;;;:;;;;:::;;;;;;;;;,,'''...,oXWWNKOl;'...'';:ldOKKKKKK0kkkxxx0NMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdoodddddddddooollllcccccllllcllollc:::::cccccccccccc::::::::ccc:::cc::ccccc::::::cccccccccccccccllolllllllc::;;;;;;;;;;:::::;:::;;;,,''....'dNWWMMMMWXOdc,'',:lxOKK0K0Okkd,,ccxNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dooldxddddoooooooollllccllllllllllllccccc::cccc::::::::::::::ccc:cccc:c::::::::::::::::cccccccccccllllllolccc::;;;:;;;;;:::::::::;;,'''...';kNMMMMMMMMMMMWKkdodxkOKOkkOkddl..,cxNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkolcd0kxddddddooooollllllllllllllccllllcc:::::c::::::::cccc::ccc::::ccccc:::::::::::::::cccccccccccccccllllcc::::;;;;::;;;:ccllc:;;,'''...'c0WWWMMMMMMMMMMWMMMMMWWNXOocodolc:,'c0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdlclKNOxdooddddoddooooooooollllllcccloolc:::ccc::::::ccccc:::ccccc:::c:cc::cc::::::::ccccclccccccccccccclllcc::::;;;;:::;;:cclll:;,,''...;xXMMMMMMMMMMMMMMMMMMMMMMMWXOl,,:::;,:ONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKdl:xWW0xxdoddoodddooooooollllllllccclloolcccccccccc::::::::::cccccc::ccc:::ccc::::::cccccccccccccccccccllllccc::::;;;;:c:;::cllc:;,'''',l0WMMMMMMMMMMMMMMMMMMMMMMMMMMWXkoodxxOXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKdc:kWWXkxxdddddddoolllllolllcllllcccllooolccc:::ccc:cc:::cccccc:cccccccc::cc:ccc::::cccccccccccccccclllllllllccc:::;;;:cc:::cll:;,'',,ckNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxc;xWMWKkxxddddddollccloollllllllccllllllllcc:::::::ccccccc:::::cccccccccccc::::::::::::::::ccccccclllloollllllllllc:::ccc::ccc:,,,;cxXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc,lKMMWXkddddxxdollclloollllllllllllllcllllcc::::;:cccccccccccccccccccccc:::::::::::::::::::cccccccccllollooolooollcccccccccc:;;;lkKWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXd;;dNMMMN0xdxxxddolllloolllllllllllooocccllllc:::;;:cccc:::ccccccccc:::cc:::::::::::::::::::cclllcccccloooddoooollllc:::ccc:::cld0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0l,,xNMMMWXkxxxddooolooollllllloollloolcccllllcc:::::ccc:::ccc::::cc:::::::::::;;;;;;;::::cccccccccccclooooooooolcllcc:::ccccclkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNk:''xWMMMMXOxxddoooooooooolllloooolooolc::cccllccc::::::::::::::::c:::::::::;;;;;;;;;;:::ccccc:::::ccloooodoolllccccccc::clloONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKl,.;KMMMMWXkxxdddoddooooooolloddoodxxdl:::;:ccccllcc:::::::::::::::::::::::;;;;;;;;;;:::cccc:::c::clloooooooollllcccc:::lldONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk;.;0MMMMMWKkkxdooooooooooollooddxk0K0koc:;;::::cclccc:::::::::::;;;;;;;;;;;;;::;;;;;:::ccccccclcclllllllooooollllc::::coxONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxlOWMMMMMMNOkkxdoolllllooooloodxk0XNNXK0kocc:;::::ccc::::::::::::::;;;;:::::::::::::::clllooooooolllllllloooolccc::cclxkOKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWMMMMMMMMWKOkxxdoollllloooooodkKXNNWWNNXK0kdocc::cccccclc:;;::c::ccccccccclloooolllooodxxxkOOkxdolllllllloolc;,;:coxO00XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWXKOxxddoollllllooodk0XNWMMMWNNNXXX0OkxdoloooooolccllooodxxdxxxkkOO0000OOOOOO0KKKKXKkdolccclcclllc::::codkOOKNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNX0xdddoollllcloodk0XNWMMMMMMMWNXXXXXXKK0OOkkkOOOOOOO00KKKKXXXXNNNNNNNNXXK00KXXXNNKklc::;;::::::::codxkO00XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXXKkdddoolllllodxk0KNMMMMMMMMMMMWNXXXXXNNNNNXXXXXXXXXNNNNNNNNNNNNNNNXXXXXKKKKKKXXX0xc::;;;;:::::cldkOOKNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXXNX0dolllllllodxk0KNMMMMMMMMMMMMMMWNXKXXXXXXNNNNNNNNNNNNNNNNNNXXXXKKKKKKKKXXNNNNNNXOl::;;::::ccllxO0KXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWK0XNN0dolllllloodk0XNWMMMMMMMMMMMMMMMMWWNXKKKKKXXXXXXXXXXXXXXKKK000KKKKXXNWWWWMMMMMMMXkdlcccccllood0XXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0O0XXXOdooooooodxO0KNMMMMMMMMMMMMMMMMMMMMMMWWWNXXXKKKKKKK0000OOO00KXNWWMMMMMMMMMMMMMMMWKkdollllllodOXXXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0xOKKX0xddoddddxkO0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWWWNNNNNNNNWWWMMMMMMMMMMMMMMMMMMMMNKOkxdllllloOKXXXNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOdx0KK0xlloodddxkkk0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNKOkxolcllok0KX0KWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOodO000kocloooodxxxkXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKOxdlcc:coxO000OXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOook0O0koccloooooddkXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOoccc:cccdk00OxOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdldkOOOkoc:cooddoddxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdccclcccldO0OxxKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0ccddxxkkdc::cooooodxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOoolllllclxOOkodXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0ooxxxxxocc::cloooox0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkoolollcldkkdocxWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxoxkkxl:cccccloodx0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKdollooccdxxolllOMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOdxkxo:;,;:ccllodONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxlcllllcloooc:coKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0doddlc;;;:cllloxKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXxc:c::c:oxdol:;,oXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dlloodoc::cclloONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXd::::;;:xKkdl:;:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0dllodOKdcc:cc:l0MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkc:::::l0NOddc:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKollodONOlcccc:lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc::ccoONXkxxc:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKoclolxXXo:ccc:lKMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc:ccckNMXxxdc:kWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXdloocdXWkllcc::xNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkc:::lKWMKdddllOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxlolcoKMXdccc:;c0WWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNkc::;dNMMKdddll0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNxodlcoKMW0lcc::;dNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWKxc:;;kWMW0ddoco0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKololld0WMNkll:;;cOWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOc:::c0MMWOcllcckWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOll::coOWMMKocc;;:dXMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMXo,;::oXMMM0c;:;;l0WMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWkc:;;cckNMMWk::;;:l0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO;.,;;dXMMMW0oc;;;ldkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKl::cccldONMKl;,;:coKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMO;''';oKMMMMMWO:;;,',o0XNNWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMW0olc;,;,,oXXd:;:;:co0WMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWOc,;:l0WWMMMWx'.'',cloodxxkKNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNXd'.'.,:odoccccc::ldkONMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWNx;:clkNWWMMXd;;cllclllodkKWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNo'..,:cccc:cloc,,;,',dNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM0;''',dNMMMWWNKK0OOO00KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNOoooolodxOKXXOc'''';lxOOO0KNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMKc..';:lk0KXXWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWNNNWWMMMMK:.,;:lllooood0WMMWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWk,,;:looloddd0NWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWMMMMMMMMMWKOkxdddxkO0KNWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWKOkxddddxkO0XWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMWWWWMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
\end{filecontents*}
\newsavebox{\asciiart}
\newcommand{\donkey}{\raisebox{.8\height}{\resizebox{1.5ex}{!}{\usebox{\asciiart}}}}

\begin{document}
\begin{lrbox}{\asciiart}
\begin{varwidth}{\maxdimen}
\noindent\lstinputlisting[basicstyle=\ttfamily]{donkey.txt}
\end{varwidth}
\end{lrbox}%

 \scalebox{50}{\donkey{}}

\end{document}

to get a nice beautiful donkey:

enter image description here

6

Fashionably late code golf version of this fellow.

enter image description here

\documentclass{standalone}
\begin{document}
E$\lor$
\end{document}