% Copyright 2006 by Till Tantau
% Copyright 2013 by Nico Van Cleemput
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.

\ProvidesFileRCS[v\pgfversion] $Header: /cvsroot/pgf/pgf/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryfolding.code.tex,v 1.3 2013/08/28 11:00:54 tantau Exp $


%
% Length of a standard line in a folding
% 

\tikzoption{folding line length}{\pgfmathsetlength\tikz@lib@fold@length{#1}}
\newdimen\tikz@lib@fold@length
\tikz@lib@fold@length=2cm

% Faces
% -----

\def\tikz@lib@fold@triangle#1#2#3#4{%
  \begin{scope}[xshift=.5\tikz@lib@fold@length,yshift=.28868\tikz@lib@fold@length]
    #1
  \end{scope}
  \begin{scope}[shift={(60:\tikz@lib@fold@length)},rotate=-60]
    #2
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,rotate=180]
    #3
  \end{scope}
  \begin{scope}[rotate=60]
    #4
  \end{scope}
}

\def\tikz@lib@fold@square#1#2#3#4#5{%
  \begin{scope}[xshift=.5\tikz@lib@fold@length,yshift=.5\tikz@lib@fold@length]
    #1
  \end{scope}
  \begin{scope}[yshift=\tikz@lib@fold@length]
    #2
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,yshift=\tikz@lib@fold@length,rotate=-90]
    #3
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,rotate=180]
    #4
  \end{scope}
  \begin{scope}[rotate=90]
    #5
  \end{scope}
}

\def\tikz@lib@fold@pentagon#1#2#3#4#5#6{%
  \begin{scope}[xshift=.5\tikz@lib@fold@length,yshift=0.68819\tikz@lib@fold@length]
    #1
  \end{scope}
  \begin{scope}[shift={(108:\tikz@lib@fold@length)},shift={(36:\tikz@lib@fold@length)},rotate=-36]
    #2
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,shift={(72:\tikz@lib@fold@length)},rotate=-108]
    #3
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,rotate=180]
    #4
  \end{scope}
  \begin{scope}[rotate=108]
    #5
  \end{scope}
  \begin{scope}[shift={(108:\tikz@lib@fold@length)},rotate=36]
    #6
  \end{scope}
}

\def\tikz@lib@fold@hexagon#1#2#3#4#5#6#7{%
  \begin{scope}
          [shift={(60:\tikz@lib@fold@length)}]
    #1
  \end{scope}
  \begin{scope}
          [shift={(120:\tikz@lib@fold@length)},
           shift={(60:\tikz@lib@fold@length)}]
    #2
  \end{scope}
   \begin{scope}
           [shift={(120:\tikz@lib@fold@length)},
            shift={(60:\tikz@lib@fold@length)},
            xshift=\tikz@lib@fold@length,
            rotate=-60]
    #3
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           shift={(60:\tikz@lib@fold@length)},
           rotate=-120]
    #4
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           rotate=180]
    #5
  \end{scope}
  \begin{scope}
          [rotate=120]
    #6
  \end{scope}
  \begin{scope}
          [shift={(120:\tikz@lib@fold@length)},
           rotate=60]
    #7
  \end{scope}
}

\def\tikz@lib@fold@octagon#1#2#3#4#5#6#7#8#9{%
  \begin{scope}[xshift=.5\tikz@lib@fold@length,yshift=1.20711\tikz@lib@fold@length]
    #1
  \end{scope}
  \begin{scope}[yshift=2.41421\tikz@lib@fold@length]
    #2
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,yshift=2.41421\tikz@lib@fold@length,rotate=-45]
    #3
  \end{scope}
  \begin{scope}[xshift=1.70711\tikz@lib@fold@length,yshift=1.70711\tikz@lib@fold@length,rotate=-90]
    #4
  \end{scope}
  \begin{scope}[xshift=1.70711\tikz@lib@fold@length,yshift=.70711\tikz@lib@fold@length,rotate=-135]
    #5
  \end{scope}
  \begin{scope}[xshift=\tikz@lib@fold@length,rotate=180]
    #6
  \end{scope}
  \begin{scope}[rotate=135]
    #7
  \end{scope}
  \begin{scope}[xshift=-.70711\tikz@lib@fold@length,yshift=.70711\tikz@lib@fold@length,rotate=90]
    #8
  \end{scope}
  \begin{scope}[xshift=-.70711\tikz@lib@fold@length,yshift=1.70711\tikz@lib@fold@length,rotate=45]
    #9
  \end{scope}
}

\def\tikz@lib@fold@decagon#1#2#3#4#5#6#7{%
  \begin{scope}[shift={(72:1.61803\tikz@lib@fold@length)}] %decagon inside a circle with radius the golden ratio has side length 1
    #1
  \end{scope}
  \begin{scope}
          [shift={(36:\tikz@lib@fold@length)},
           shift={(72:\tikz@lib@fold@length)},
           shift={(108:\tikz@lib@fold@length)},
           shift={(144:\tikz@lib@fold@length)}]
    #2
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           shift={(36:\tikz@lib@fold@length)},
           shift={(72:\tikz@lib@fold@length)},
           shift={(108:\tikz@lib@fold@length)},
           shift={(144:\tikz@lib@fold@length)},
           rotate=-36]
    #3
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           shift={(36:\tikz@lib@fold@length)},
           shift={(72:\tikz@lib@fold@length)},
           shift={(108:\tikz@lib@fold@length)},
           rotate=-72]
    #4
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           shift={(36:\tikz@lib@fold@length)},
           shift={(72:\tikz@lib@fold@length)},
           rotate=-108]
    #5
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           shift={(36:\tikz@lib@fold@length)},
           rotate=-144]
    #6
  \end{scope}
  \begin{scope}
          [xshift=\tikz@lib@fold@length,
           rotate=180]
    #7
  \end{scope}
  \tikz@lib@fold@decagonbis
}

\def\tikz@lib@fold@decagonbis#1#2#3#4{%
  \begin{scope}
          [rotate=144]
    #1
  \end{scope}
  \begin{scope}
          [shift={(144:\tikz@lib@fold@length)},
           rotate=108]
    #2
  \end{scope}
  \begin{scope}
          [shift={(144:\tikz@lib@fold@length)},
           shift={(108:\tikz@lib@fold@length)},
           rotate=72]
    #3
  \end{scope}
  \begin{scope}
          [shift={(144:\tikz@lib@fold@length)},
           shift={(108:\tikz@lib@fold@length)},
           shift={(72:\tikz@lib@fold@length)},
           rotate=36]
    #4
  \end{scope}
}

\def\tikz@lib@fold@path{\draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);}
\def\tikz@lib@fold@cut@path{\draw[every cut](0,0) -- (\tikz@lib@fold@length,0pt);}
\def\tikz@lib@fold@ear@path{
  \path[every ear] (0,0) -- (.5\tikz@lib@fold@length,.2\tikz@lib@fold@length) --(\tikz@lib@fold@length,0pt) --(0,0) -- cycle;
  \draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);
  \draw[every cut] (0,0) -- (.5\tikz@lib@fold@length,.2\tikz@lib@fold@length) --(\tikz@lib@fold@length,0pt);}
\def\tikz@lib@fold@ear@custom@left@path#1{
  \path[every ear] (0,0) -- (#1:.66\tikz@lib@fold@length) -- (\tikz@lib@fold@length,0pt) --(0,0) -- cycle;
  \draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);
  \draw[every cut] (0,0) -- (#1:.66\tikz@lib@fold@length) -- (\tikz@lib@fold@length,0pt);}
\def\tikz@lib@fold@ear@custom@right@path#1{
  \path[every ear] (0,0) -- (\tikz@lib@fold@length,0pt) -- ++(-#1:-.66\tikz@lib@fold@length) --(0,0) -- cycle;
  \draw[every fold](0,0) -- (\tikz@lib@fold@length,0pt);
  \draw[every cut] (\tikz@lib@fold@length,0pt) -- ++(-#1:-.66\tikz@lib@fold@length) -- (0,0);}

\tikzstyle{every ear}=[]
\tikzstyle{every cut}=[]
\tikzstyle{every fold}=[help lines]

\tikzoption{face 1}{\def\tikz@lib@fold@face@A{#1}}
\tikzoption{face 2}{\def\tikz@lib@fold@face@B{#1}}
\tikzoption{face 3}{\def\tikz@lib@fold@face@C{#1}}
\tikzoption{face 4}{\def\tikz@lib@fold@face@D{#1}}
\tikzoption{face 5}{\def\tikz@lib@fold@face@E{#1}}
\tikzoption{face 6}{\def\tikz@lib@fold@face@F{#1}}
\tikzoption{face 7}{\def\tikz@lib@fold@face@G{#1}}
\tikzoption{face 8}{\def\tikz@lib@fold@face@H{#1}}
\tikzoption{face 9}{\def\tikz@lib@fold@face@I{#1}}
\tikzoption{face 10}{\def\tikz@lib@fold@face@J{#1}}
\tikzoption{face 11}{\def\tikz@lib@fold@face@K{#1}}
\tikzoption{face 12}{\def\tikz@lib@fold@face@L{#1}}
\tikzoption{face 13}{\def\tikz@lib@fold@face@M{#1}}
\tikzoption{face 14}{\def\tikz@lib@fold@face@N{#1}}
\tikzoption{face 15}{\def\tikz@lib@fold@face@O{#1}}
\tikzoption{face 16}{\def\tikz@lib@fold@face@P{#1}}
\tikzoption{face 17}{\def\tikz@lib@fold@face@Q{#1}}
\tikzoption{face 18}{\def\tikz@lib@fold@face@R{#1}}
\tikzoption{face 19}{\def\tikz@lib@fold@face@S{#1}}
\tikzoption{face 20}{\def\tikz@lib@fold@face@T{#1}}
\tikzoption{face 21}{\def\tikz@lib@fold@face@U{#1}}
\tikzoption{face 22}{\def\tikz@lib@fold@face@V{#1}}
\tikzoption{face 23}{\def\tikz@lib@fold@face@W{#1}}
\tikzoption{face 24}{\def\tikz@lib@fold@face@X{#1}}
\tikzoption{face 25}{\def\tikz@lib@fold@face@Y{#1}}
\tikzoption{face 26}{\def\tikz@lib@fold@face@Z{#1}}
\tikzoption{face 27}{\def\tikz@lib@fold@face@AA{#1}}
\tikzoption{face 28}{\def\tikz@lib@fold@face@AB{#1}}
\tikzoption{face 29}{\def\tikz@lib@fold@face@AC{#1}}
\tikzoption{face 30}{\def\tikz@lib@fold@face@AD{#1}}
\tikzoption{face 31}{\def\tikz@lib@fold@face@AE{#1}}
\tikzoption{face 32}{\def\tikz@lib@fold@face@AF{#1}}
\tikzoption{face 33}{\def\tikz@lib@fold@face@AG{#1}}
\tikzoption{face 34}{\def\tikz@lib@fold@face@AH{#1}}
\tikzoption{face 35}{\def\tikz@lib@fold@face@AI{#1}}
\tikzoption{face 36}{\def\tikz@lib@fold@face@AJ{#1}}
\tikzoption{face 37}{\def\tikz@lib@fold@face@AK{#1}}
\tikzoption{face 38}{\def\tikz@lib@fold@face@AL{#1}}
\tikzoption{face 39}{\def\tikz@lib@fold@face@AM{#1}}
\tikzoption{face 40}{\def\tikz@lib@fold@face@AN{#1}}
\tikzoption{face 41}{\def\tikz@lib@fold@face@AO{#1}}
\tikzoption{face 42}{\def\tikz@lib@fold@face@AP{#1}}
\tikzoption{face 43}{\def\tikz@lib@fold@face@AQ{#1}}
\tikzoption{face 44}{\def\tikz@lib@fold@face@AR{#1}}
\tikzoption{face 45}{\def\tikz@lib@fold@face@AS{#1}}
\tikzoption{face 46}{\def\tikz@lib@fold@face@AT{#1}}
\tikzoption{face 47}{\def\tikz@lib@fold@face@AU{#1}}
\tikzoption{face 48}{\def\tikz@lib@fold@face@AV{#1}}
\tikzoption{face 49}{\def\tikz@lib@fold@face@AW{#1}}
\tikzoption{face 50}{\def\tikz@lib@fold@face@AX{#1}}
\tikzoption{face 51}{\def\tikz@lib@fold@face@AY{#1}}
\tikzoption{face 52}{\def\tikz@lib@fold@face@AZ{#1}}
\tikzoption{face 53}{\def\tikz@lib@fold@face@BA{#1}}
\tikzoption{face 54}{\def\tikz@lib@fold@face@BB{#1}}
\tikzoption{face 55}{\def\tikz@lib@fold@face@BC{#1}}
\tikzoption{face 56}{\def\tikz@lib@fold@face@BD{#1}}
\tikzoption{face 57}{\def\tikz@lib@fold@face@BE{#1}}
\tikzoption{face 58}{\def\tikz@lib@fold@face@BF{#1}}
\tikzoption{face 59}{\def\tikz@lib@fold@face@BG{#1}}
\tikzoption{face 60}{\def\tikz@lib@fold@face@BH{#1}}
\tikzoption{face 61}{\def\tikz@lib@fold@face@BI{#1}}
\tikzoption{face 62}{\def\tikz@lib@fold@face@BJ{#1}}
\tikzoption{face 63}{\def\tikz@lib@fold@face@BK{#1}}
\tikzoption{face 64}{\def\tikz@lib@fold@face@BL{#1}}
\tikzoption{face 65}{\def\tikz@lib@fold@face@BM{#1}}
\tikzoption{face 66}{\def\tikz@lib@fold@face@BN{#1}}
\tikzoption{face 67}{\def\tikz@lib@fold@face@BO{#1}}
\tikzoption{face 68}{\def\tikz@lib@fold@face@BP{#1}}
\tikzoption{face 69}{\def\tikz@lib@fold@face@BQ{#1}}
\tikzoption{face 70}{\def\tikz@lib@fold@face@BR{#1}}
\tikzoption{face 71}{\def\tikz@lib@fold@face@BS{#1}}
\tikzoption{face 72}{\def\tikz@lib@fold@face@BT{#1}}
\tikzoption{face 73}{\def\tikz@lib@fold@face@BU{#1}}
\tikzoption{face 74}{\def\tikz@lib@fold@face@BV{#1}}
\tikzoption{face 75}{\def\tikz@lib@fold@face@BW{#1}}
\tikzoption{face 76}{\def\tikz@lib@fold@face@BX{#1}}
\tikzoption{face 77}{\def\tikz@lib@fold@face@BY{#1}}
\tikzoption{face 78}{\def\tikz@lib@fold@face@BZ{#1}}
\tikzoption{face 79}{\def\tikz@lib@fold@face@CA{#1}}
\tikzoption{face 80}{\def\tikz@lib@fold@face@CB{#1}}
\tikzoption{face 81}{\def\tikz@lib@fold@face@CC{#1}}
\tikzoption{face 82}{\def\tikz@lib@fold@face@CD{#1}}
\tikzoption{face 83}{\def\tikz@lib@fold@face@CE{#1}}
\tikzoption{face 84}{\def\tikz@lib@fold@face@CF{#1}}
\tikzoption{face 85}{\def\tikz@lib@fold@face@CG{#1}}
\tikzoption{face 86}{\def\tikz@lib@fold@face@CH{#1}}
\tikzoption{face 87}{\def\tikz@lib@fold@face@CI{#1}}
\tikzoption{face 88}{\def\tikz@lib@fold@face@CJ{#1}}
\tikzoption{face 89}{\def\tikz@lib@fold@face@CK{#1}}
\tikzoption{face 90}{\def\tikz@lib@fold@face@CL{#1}}
\tikzoption{face 91}{\def\tikz@lib@fold@face@CM{#1}}
\tikzoption{face 92}{\def\tikz@lib@fold@face@CN{#1}}


\let\tikz@lib@fold@face@A=\pgfutil@empty
\let\tikz@lib@fold@face@B=\pgfutil@empty
\let\tikz@lib@fold@face@C=\pgfutil@empty
\let\tikz@lib@fold@face@D=\pgfutil@empty
\let\tikz@lib@fold@face@E=\pgfutil@empty
\let\tikz@lib@fold@face@F=\pgfutil@empty
\let\tikz@lib@fold@face@G=\pgfutil@empty
\let\tikz@lib@fold@face@H=\pgfutil@empty
\let\tikz@lib@fold@face@I=\pgfutil@empty
\let\tikz@lib@fold@face@J=\pgfutil@empty
\let\tikz@lib@fold@face@K=\pgfutil@empty
\let\tikz@lib@fold@face@L=\pgfutil@empty
\let\tikz@lib@fold@face@M=\pgfutil@empty
\let\tikz@lib@fold@face@N=\pgfutil@empty
\let\tikz@lib@fold@face@O=\pgfutil@empty
\let\tikz@lib@fold@face@P=\pgfutil@empty
\let\tikz@lib@fold@face@Q=\pgfutil@empty
\let\tikz@lib@fold@face@R=\pgfutil@empty
\let\tikz@lib@fold@face@S=\pgfutil@empty
\let\tikz@lib@fold@face@T=\pgfutil@empty
\let\tikz@lib@fold@face@U=\pgfutil@empty
\let\tikz@lib@fold@face@V=\pgfutil@empty
\let\tikz@lib@fold@face@W=\pgfutil@empty
\let\tikz@lib@fold@face@X=\pgfutil@empty
\let\tikz@lib@fold@face@Y=\pgfutil@empty
\let\tikz@lib@fold@face@Z=\pgfutil@empty
\let\tikz@lib@fold@face@AA=\pgfutil@empty
\let\tikz@lib@fold@face@AB=\pgfutil@empty
\let\tikz@lib@fold@face@AC=\pgfutil@empty
\let\tikz@lib@fold@face@AD=\pgfutil@empty
\let\tikz@lib@fold@face@AE=\pgfutil@empty
\let\tikz@lib@fold@face@AF=\pgfutil@empty
\let\tikz@lib@fold@face@AG=\pgfutil@empty
\let\tikz@lib@fold@face@AH=\pgfutil@empty
\let\tikz@lib@fold@face@AI=\pgfutil@empty
\let\tikz@lib@fold@face@AJ=\pgfutil@empty
\let\tikz@lib@fold@face@AK=\pgfutil@empty
\let\tikz@lib@fold@face@AL=\pgfutil@empty
\let\tikz@lib@fold@face@AM=\pgfutil@empty
\let\tikz@lib@fold@face@AN=\pgfutil@empty
\let\tikz@lib@fold@face@AO=\pgfutil@empty
\let\tikz@lib@fold@face@AP=\pgfutil@empty
\let\tikz@lib@fold@face@AQ=\pgfutil@empty
\let\tikz@lib@fold@face@AR=\pgfutil@empty
\let\tikz@lib@fold@face@AS=\pgfutil@empty
\let\tikz@lib@fold@face@AT=\pgfutil@empty
\let\tikz@lib@fold@face@AU=\pgfutil@empty
\let\tikz@lib@fold@face@AV=\pgfutil@empty
\let\tikz@lib@fold@face@AW=\pgfutil@empty
\let\tikz@lib@fold@face@AX=\pgfutil@empty
\let\tikz@lib@fold@face@AY=\pgfutil@empty
\let\tikz@lib@fold@face@AZ=\pgfutil@empty
\let\tikz@lib@fold@face@BA=\pgfutil@empty
\let\tikz@lib@fold@face@BB=\pgfutil@empty
\let\tikz@lib@fold@face@BC=\pgfutil@empty
\let\tikz@lib@fold@face@BD=\pgfutil@empty
\let\tikz@lib@fold@face@BE=\pgfutil@empty
\let\tikz@lib@fold@face@BF=\pgfutil@empty
\let\tikz@lib@fold@face@BG=\pgfutil@empty
\let\tikz@lib@fold@face@BH=\pgfutil@empty
\let\tikz@lib@fold@face@BI=\pgfutil@empty
\let\tikz@lib@fold@face@BJ=\pgfutil@empty
\let\tikz@lib@fold@face@BK=\pgfutil@empty
\let\tikz@lib@fold@face@BL=\pgfutil@empty
\let\tikz@lib@fold@face@BM=\pgfutil@empty
\let\tikz@lib@fold@face@BN=\pgfutil@empty
\let\tikz@lib@fold@face@BO=\pgfutil@empty
\let\tikz@lib@fold@face@BP=\pgfutil@empty
\let\tikz@lib@fold@face@BQ=\pgfutil@empty
\let\tikz@lib@fold@face@BR=\pgfutil@empty
\let\tikz@lib@fold@face@BS=\pgfutil@empty
\let\tikz@lib@fold@face@BT=\pgfutil@empty
\let\tikz@lib@fold@face@BU=\pgfutil@empty
\let\tikz@lib@fold@face@BV=\pgfutil@empty
\let\tikz@lib@fold@face@BW=\pgfutil@empty
\let\tikz@lib@fold@face@BX=\pgfutil@empty
\let\tikz@lib@fold@face@BY=\pgfutil@empty
\let\tikz@lib@fold@face@BZ=\pgfutil@empty
\let\tikz@lib@fold@face@CA=\pgfutil@empty
\let\tikz@lib@fold@face@CB=\pgfutil@empty
\let\tikz@lib@fold@face@CC=\pgfutil@empty
\let\tikz@lib@fold@face@CD=\pgfutil@empty
\let\tikz@lib@fold@face@CE=\pgfutil@empty
\let\tikz@lib@fold@face@CF=\pgfutil@empty
\let\tikz@lib@fold@face@CG=\pgfutil@empty
\let\tikz@lib@fold@face@CH=\pgfutil@empty
\let\tikz@lib@fold@face@CI=\pgfutil@empty
\let\tikz@lib@fold@face@CJ=\pgfutil@empty
\let\tikz@lib@fold@face@CK=\pgfutil@empty
\let\tikz@lib@fold@face@CL=\pgfutil@empty
\let\tikz@lib@fold@face@CM=\pgfutil@empty
\let\tikz@lib@fold@face@CN=\pgfutil@empty


\tikzstyle{numbered faces}=[%
	face 1={\node{1};},
	face 2={\node{2};},
	face 3={\node{3};},
	face 4={\node{4};},
	face 5={\node{5};},
	face 6={\node{6};},
	face 7={\node{7};},
	face 8={\node{8};},
	face 9={\node{9};},
	face 10={\node{10};},
	face 11={\node{11};},
	face 12={\node{12};},
	face 13={\node{13};},
	face 14={\node{14};},
	face 15={\node{15};},
	face 16={\node{16};},
	face 17={\node{17};},
	face 18={\node{18};},
	face 19={\node{19};},
	face 20={\node{20};},
	face 21={\node{21};},
	face 22={\node{22};},
	face 23={\node{23};},
	face 24={\node{24};},
	face 25={\node{25};},
	face 26={\node{26};},
	face 27={\node{27};},
	face 28={\node{28};},
	face 29={\node{29};},
	face 30={\node{30};},
	face 31={\node{31};},
	face 32={\node{32};},
	face 33={\node{33};},
	face 34={\node{34};},
	face 35={\node{35};},
	face 36={\node{36};},
	face 37={\node{37};},
	face 38={\node{38};},
	face 39={\node{39};},
	face 40={\node{40};},
	face 41={\node{41};},
	face 42={\node{42};},
	face 43={\node{43};},
	face 44={\node{44};},
	face 45={\node{45};},
	face 46={\node{46};},
	face 47={\node{47};},
	face 48={\node{48};},
	face 49={\node{49};},
	face 50={\node{50};},
	face 51={\node{51};},
	face 52={\node{52};},
	face 53={\node{53};},
	face 54={\node{54};},
	face 55={\node{55};},
	face 56={\node{56};},
	face 57={\node{57};},
	face 58={\node{58};},
	face 59={\node{59};},
	face 60={\node{60};},
	face 61={\node{61};},
	face 62={\node{62};},
	face 63={\node{63};},
	face 64={\node{64};},
	face 65={\node{65};},
	face 66={\node{66};},
	face 67={\node{67};},
	face 68={\node{68};},
	face 69={\node{69};},
	face 70={\node{70};},
	face 71={\node{71};},
	face 72={\node{72};},
	face 73={\node{73};},
	face 74={\node{74};},
	face 75={\node{75};},
	face 76={\node{76};},
	face 77={\node{77};},
	face 78={\node{78};},
	face 79={\node{79};},
	face 80={\node{80};},
	face 81={\node{81};},
	face 82={\node{82};},
	face 83={\node{83};},
	face 84={\node{84};},
	face 85={\node{85};},
	face 86={\node{86};},
	face 87={\node{87};},
	face 88={\node{88};},
	face 89={\node{89};},
	face 90={\node{90};},
	face 91={\node{91};},
	face 92={\node{92};}]
        
% The foldings defined here:
        
\tikzset{
  pics/dodecahedron folding/.style            = {code=\tikzfoldingdodecahedron[];},
  pics/tetrahedron folding/.style             = {code=\tikzfoldingtetrahedron[];},
  pics/tetrahedron truncated folding/.style   = {code=\tikzfoldingtruncatedtetrahedron[];},
  pics/cube folding/.style                    = {code=\tikzfoldingcube[];},
  pics/cube truncated folding/.style          = {code=\tikzfoldingtruncatedcube[];},
  pics/octahedron folding/.style              = {code=\tikzfoldingoctahedron[];},
  pics/octahedron truncated folding/.style    = {code=\tikzfoldingtruncatedoctahedron[];},
  pics/dodecahedron folding/.style            = {code=\tikzfoldingdodecahedron[];},
  pics/dodecahedron' folding/.style           = {code=\tikzfoldingalternatedodecahedron[];},
  pics/cuboctahedron folding/.style           = {code=\tikzfoldingoctahedron[];},
  pics/cuboctahedron truncated folding/.style = {code=\tikzfoldingtruncatedoctahedron[];},
  pics/icosahedron folding/.style             = {code=\tikzfoldingicosahedron[];},
  pics/rhombicuboctahedron folding/.style     = {code=\tikzfoldingrhombicuboctahedron[];},
  pics/snub cube folding/.style               = {code=\tikzfoldingsnubcube[];},
  pics/icosidodecahedron folding/.style       = {code=\tikzfoldingicosahedron[];}
}


        
% Platonic solids
% ---------------
        
\def\tikzfoldingdodecahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@pentagon
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@B}
             {\tikz@lib@fold@pentagon
                  {\tikz@lib@fold@face@C}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
             }
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@D}
             {\tikz@lib@fold@pentagon
                  {\tikz@lib@fold@face@E}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@ear@path}
             }
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
             {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@F}
             {\tikz@lib@fold@pentagon
                  {\tikz@lib@fold@face@G}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@ear@path}
             }
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
             {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@H}
             {\tikz@lib@fold@pentagon
                  {\tikz@lib@fold@face@I}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@ear@path}
             }
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
             {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@J}
             {\tikz@lib@fold@pentagon
                  {\tikz@lib@fold@face@K}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {\tikz@lib@fold@pentagon
                       {\tikz@lib@fold@face@L}
                       {\tikz@lib@fold@cut@path}
                       {\tikz@lib@fold@cut@path}
                       {\tikz@lib@fold@path}
                       {\tikz@lib@fold@cut@path}
                       {\tikz@lib@fold@cut@path}
                  }
             }
             {\tikz@lib@fold@cut@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
             {\tikz@lib@fold@cut@path}
        }
  \endgroup
}

%alternative dodecahedron: larger format possible  

\def\tikzfoldingalternatedodecahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@pentagon
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@B}
             {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@pentagon
	              {\tikz@lib@fold@face@C}
		          {\tikz@lib@fold@pentagon
		               {\tikz@lib@fold@face@D}
			           {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@ear@path}
		          }
		          {\tikz@lib@fold@pentagon
		               {\tikz@lib@fold@face@E}
			           {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@ear@path}
		               {\tikz@lib@fold@path}
                       {\tikz@lib@fold@cut@path}
                       {\tikz@lib@fold@ear@path}
		          }
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@pentagon
		               {\tikz@lib@fold@face@F}
			           {\tikz@lib@fold@ear@path}
                       {\tikz@lib@fold@ear@path}
                       {\tikz@lib@fold@path}
                       {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@cut@path}
		          }
		          {\tikz@lib@fold@pentagon
		               {\tikz@lib@fold@face@G}
			           {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@ear@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@ear@path}
		          }
	         }
        }
        {\tikz@lib@fold@ear@path}
        {\tikz@lib@fold@pentagon
             {\tikz@lib@fold@face@H}
	         {\tikz@lib@fold@pentagon
	              {\tikz@lib@fold@face@I}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@cut@path}
	         }
	         {\tikz@lib@fold@pentagon
	              {\tikz@lib@fold@face@J}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@cut@path}
		    {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@pentagon
	         {\tikz@lib@fold@face@K}
		     {\tikz@lib@fold@cut@path}
		     {\tikz@lib@fold@ear@path}
		     {\tikz@lib@fold@path}
		     {\tikz@lib@fold@cut@path}
		     {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@pentagon
	         {\tikz@lib@fold@face@L}
		     {\tikz@lib@fold@cut@path}
		     {\tikz@lib@fold@ear@path}
		     {\tikz@lib@fold@path}
		     {\tikz@lib@fold@cut@path}
		     {\tikz@lib@fold@cut@path}
	    }
    }
    {\tikz@lib@fold@ear@path}
    {\tikz@lib@fold@ear@path}
  \endgroup
}


%tetrahedron  

\def\tikzfoldingtetrahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@triangle
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@C}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@D}
             {\tikz@lib@fold@ear@path}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
    }
  \endgroup
}

%cube  

\def\tikzfoldingcube#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@square{\tikz@lib@fold@face@A}
    {
			\tikz@lib@fold@square{\tikz@lib@fold@face@B}
	    {\tikz@lib@fold@cut@path}
	    {\tikz@lib@fold@ear@path}
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@ear@path}
    }
    {
			\tikz@lib@fold@square{\tikz@lib@fold@face@C}
	    {\tikz@lib@fold@cut@path}
	    {\tikz@lib@fold@cut@path}
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
    {
			\tikz@lib@fold@square{\tikz@lib@fold@face@D}
	    {
				\tikz@lib@fold@square{\tikz@lib@fold@face@E}
		    {\tikz@lib@fold@ear@path}
		    {\tikz@lib@fold@cut@path}
		    {\tikz@lib@fold@path}
		    {\tikz@lib@fold@ear@path}
	    }
	    {\tikz@lib@fold@ear@path}
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@ear@path}
    }
    {
			\tikz@lib@fold@square{\tikz@lib@fold@face@F}
	    {\tikz@lib@fold@ear@path}
	    {\tikz@lib@fold@cut@path}
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
  \endgroup
}


%octahedron  

\def\tikzfoldingoctahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@triangle
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@C}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@D}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
		          }
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@triangle
                  {\tikz@lib@fold@face@E}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
		          {\tikz@lib@fold@ear@path}
	         }
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@F}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@G}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@H}
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@cut@path}
	         }
        }
  \endgroup
}


%icosahedron  

\def\tikzfoldingicosahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@triangle
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@C}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@D}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@triangle
			                {\tikz@lib@fold@face@E}
				            {\tikz@lib@fold@cut@path}
				            {\tikz@lib@fold@path}
				            {\tikz@lib@fold@triangle
				                 {\tikz@lib@fold@face@F}
		                         {\tikz@lib@fold@ear@path}
			                     {\tikz@lib@fold@path}
			                     {\tikz@lib@fold@triangle
			                          {\tikz@lib@fold@face@G}
			                          {\tikz@lib@fold@ear@path}
			                          {\tikz@lib@fold@path}
			                          {\tikz@lib@fold@cut@path}
			                     }
		                    }
			           }
		          }
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@ear@path}
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@H}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@I}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@J}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@triangle
			                {\tikz@lib@fold@face@K}
				            {\tikz@lib@fold@cut@path}
				            {\tikz@lib@fold@path}
				            {\tikz@lib@fold@triangle
				                 {\tikz@lib@fold@face@L}
					             {\tikz@lib@fold@triangle
					                  {\tikz@lib@fold@face@M}
						              {\tikz@lib@fold@cut@path}
						              {\tikz@lib@fold@path}
						              {\tikz@lib@fold@cut@path}
					             }
					             {\tikz@lib@fold@path}
					             {\tikz@lib@fold@triangle
					                  {\tikz@lib@fold@face@N}
						              {\tikz@lib@fold@ear@path}
						              {\tikz@lib@fold@path}
						              {\tikz@lib@fold@cut@path}
					             }
				            }
			           }
		          }
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@ear@path}
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@O}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@P}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@Q}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@triangle
			                {\tikz@lib@fold@face@R}
				            {\tikz@lib@fold@cut@path}
				            {\tikz@lib@fold@path}
				            {\tikz@lib@fold@triangle
				                 {\tikz@lib@fold@face@S}
				                 {\tikz@lib@fold@ear@path}
					             {\tikz@lib@fold@path}
					             {\tikz@lib@fold@triangle
                                      {\tikz@lib@fold@face@T}
                                      {\tikz@lib@fold@ear@path}
						              {\tikz@lib@fold@path}
						              {\tikz@lib@fold@cut@path}
					             }
				            }
			           }
		          }
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@ear@path}
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
        }
  \endgroup
}

% Archimedean solids
% ------------------

%truncated tetrahedron  

\def\tikzfoldingtruncatedtetrahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@hexagon
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@hexagon
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@C}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@hexagon
             {\tikz@lib@fold@face@D}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@E}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@hexagon
             {\tikz@lib@fold@face@F}
	         {\tikz@lib@fold@triangle
	              {\tikz@lib@fold@face@G}
		          {\tikz@lib@fold@cut@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@cut@path}
	         }
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@H}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
  \endgroup
}

%cuboctahedron  

\def\tikzfoldingcuboctahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@square
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@square
	              {\tikz@lib@fold@face@C}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@D}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@square
		                    {\tikz@lib@fold@face@E}
		                    {\tikz@lib@fold@ear@path}
		                    {\tikz@lib@fold@ear@path}
		                    {\tikz@lib@fold@path}
		                    {\tikz@lib@fold@ear@path}
                       }
		          }
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@ear@path}
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@F}
	         {\tikz@lib@fold@square
	              {\tikz@lib@fold@face@G}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@ear@path}
             }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@H}
	         {\tikz@lib@fold@square
	              {\tikz@lib@fold@face@I}
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@J}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
		          }
	         }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@triangle
             {\tikz@lib@fold@face@K}
	         {\tikz@lib@fold@square
	              {\tikz@lib@fold@face@L}
		          {\tikz@lib@fold@triangle
		               {\tikz@lib@fold@face@M}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
		          }
		          {\tikz@lib@fold@ear@path}
		          {\tikz@lib@fold@path}
		          {\tikz@lib@fold@triangle
                       {\tikz@lib@fold@face@N}
			           {\tikz@lib@fold@cut@path}
			           {\tikz@lib@fold@path}
			           {\tikz@lib@fold@cut@path}
		          }
	         }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
  \endgroup
}

%truncated cube

\def\tikzfoldingtruncatedcube#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@octagon
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@octagon
             {\tikz@lib@fold@face@B}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@C}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@D}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@E}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@F}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
        }
        {\tikz@lib@fold@cut@path}
        {\tikz@lib@fold@octagon
             {\tikz@lib@fold@face@G}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@H}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@cut@path}
        {\tikz@lib@fold@octagon
             {\tikz@lib@fold@face@I}
	         {\tikz@lib@fold@octagon
                     {\tikz@lib@fold@face@J}
	             {\tikz@lib@fold@cut@path}
	             {\tikz@lib@fold@cut@path}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@triangle
                         {\tikz@lib@fold@face@K}
	                 {\tikz@lib@fold@ear@path}
	                 {\tikz@lib@fold@path}
	                 {\tikz@lib@fold@ear@path}
                     }
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@triangle
                         {\tikz@lib@fold@face@L}
	                 {\tikz@lib@fold@ear@path}
	                 {\tikz@lib@fold@path}
	                 {\tikz@lib@fold@ear@path}
                     }
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@cut@path}
                 }
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@cut@path}
        {\tikz@lib@fold@octagon
             {\tikz@lib@fold@face@M}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
	         {\tikz@lib@fold@path}
	         {\tikz@lib@fold@triangle
                     {\tikz@lib@fold@face@N}
	             {\tikz@lib@fold@ear@path}
	             {\tikz@lib@fold@path}
	             {\tikz@lib@fold@ear@path}
                 }
	         {\tikz@lib@fold@ear@path}
	         {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@cut@path}
  \endgroup
}


%truncated octahedron

\def\tikzfoldingtruncatedoctahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@hexagon
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@hexagon
            {\tikz@lib@fold@face@B}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@C}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@hexagon
                {\tikz@lib@fold@face@D}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
            }
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@E}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@F}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@ear@path}
            }
            {\tikz@lib@fold@hexagon
                {\tikz@lib@fold@face@G}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@ear@path}
            }
        }
        {\tikz@lib@fold@cut@path}
        {\tikz@lib@fold@ear@path}
        {\tikz@lib@fold@square
            {\tikz@lib@fold@face@H}
            {\tikz@lib@fold@hexagon
                {\tikz@lib@fold@face@I}
                {\tikz@lib@fold@hexagon
                    {\tikz@lib@fold@face@J}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@K}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@hexagon
                    {\tikz@lib@fold@face@L}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@hexagon
                    {\tikz@lib@fold@face@M}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@N}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@ear@path}
                }
            }
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@ear@path}
        {\tikz@lib@fold@cut@path}
  \endgroup
}


%rhombicuboctahedron

\def\tikzfoldingrhombicuboctahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@square
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@square
            {\tikz@lib@fold@face@B}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@C}
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@D}
                    {\tikz@lib@fold@square
                        {\tikz@lib@fold@face@E}
                        {\tikz@lib@fold@cut@path}
                        {\tikz@lib@fold@square
                            {\tikz@lib@fold@face@F}
                            {\tikz@lib@fold@ear@path}
                            {\tikz@lib@fold@ear@path}
                            {\tikz@lib@fold@path}
                            {\tikz@lib@fold@cut@path}
                        }
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@square
                            {\tikz@lib@fold@face@G}
                            {\tikz@lib@fold@ear@path}
                            {\tikz@lib@fold@cut@path}
                            {\tikz@lib@fold@path}
                            {\tikz@lib@fold@ear@path}
                        }
                    }
                    {\tikz@lib@fold@triangle
                        {\tikz@lib@fold@face@H}
                        {\tikz@lib@fold@ear@path}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@cut@path}
                    }
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@triangle
                        {\tikz@lib@fold@face@I}
                        {\tikz@lib@fold@cut@path}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@ear@path}
                    }
                }
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@J}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@K}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@ear@path}
                }
            }
            {\tikz@lib@fold@triangle
                {\tikz@lib@fold@face@L}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@triangle
                {\tikz@lib@fold@face@M}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@ear@path}
            }
        }
        {\tikz@lib@fold@square
            {\tikz@lib@fold@face@N}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@O}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@square
            {\tikz@lib@fold@face@P}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@Q}
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@R}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@triangle
                        {\tikz@lib@fold@face@S}
                        {\tikz@lib@fold@cut@path}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@ear@path}
                    }
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@triangle
                        {\tikz@lib@fold@face@T}
                        {\tikz@lib@fold@ear@path}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@cut@path}
                    }
                }
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@U}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@cut@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@ear@path}
                }
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@square
                    {\tikz@lib@fold@face@V}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
            }
            {\tikz@lib@fold@triangle
                {\tikz@lib@fold@face@W}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@ear@path}
            }
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@triangle
                {\tikz@lib@fold@face@X}
                {\tikz@lib@fold@ear@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
        }
        {\tikz@lib@fold@square
            {\tikz@lib@fold@face@Y}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@Z}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@cut@path}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@ear@path}
        }
  \endgroup
}

%truncated cuboctahedron

\def\tikzfoldingtruncatedcuboctahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@square
        {\tikz@lib@fold@face@A}
        {\tikz@lib@fold@octagon
            {\tikz@lib@fold@face@B}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@C}
	       {\tikz@lib@fold@octagon
	           {\tikz@lib@fold@face@D}
	           {\tikz@lib@fold@square
	               {\tikz@lib@fold@face@E}
	               {\tikz@lib@fold@cut@path}
	               {\tikz@lib@fold@hexagon
	                   {\tikz@lib@fold@face@F}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@ear@custom@right@path{15}}
	                   {\tikz@lib@fold@path}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@ear@path}
	               }
	               {\tikz@lib@fold@path}
	               {\tikz@lib@fold@hexagon
	                   {\tikz@lib@fold@face@G}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@ear@path}
	                   {\tikz@lib@fold@path}
	                   {\tikz@lib@fold@ear@custom@left@path{15}}
	                   {\tikz@lib@fold@ear@path}
	               }
	           }
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@square
	               {\tikz@lib@fold@face@H}
	               {\tikz@lib@fold@ear@path}
	               {\tikz@lib@fold@cut@path}
	               {\tikz@lib@fold@path}
	               {\tikz@lib@fold@cut@path}
	           }
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@square
	               {\tikz@lib@fold@face@I}
	               {\tikz@lib@fold@ear@path}
	               {\tikz@lib@fold@cut@path}
	               {\tikz@lib@fold@path}
	               {\tikz@lib@fold@cut@path}
	           }
	           {\tikz@lib@fold@cut@path}
	       }
	       {\tikz@lib@fold@hexagon
	           {\tikz@lib@fold@face@J}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@custom@right@path{15}}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@ear@custom@left@path{15}}
	           {\tikz@lib@fold@ear@path}
	       }
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@hexagon
	           {\tikz@lib@fold@face@K}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@custom@right@path{15}}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@ear@custom@left@path{15}}
	           {\tikz@lib@fold@ear@path}
	       }
            }
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@L}
	       {\tikz@lib@fold@ear@path}
	       {\tikz@lib@fold@cut@path}
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@M}
	       {\tikz@lib@fold@ear@path}
	       {\tikz@lib@fold@cut@path}
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@hexagon
            {\tikz@lib@fold@face@N}
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@ear@custom@right@path{15}}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@ear@custom@left@path{15}}
            {\tikz@lib@fold@ear@path}
        }
        {\tikz@lib@fold@octagon
            {\tikz@lib@fold@face@O}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@P}
	       {\tikz@lib@fold@octagon
	           {\tikz@lib@fold@face@Q}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@square
	               {\tikz@lib@fold@face@R}
	               {\tikz@lib@fold@ear@path}
	               {\tikz@lib@fold@cut@path}
	               {\tikz@lib@fold@path}
	               {\tikz@lib@fold@cut@path}
	           }
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@square
	               {\tikz@lib@fold@face@S}
	               {\tikz@lib@fold@ear@path}
	               {\tikz@lib@fold@cut@path}
	               {\tikz@lib@fold@path}
	               {\tikz@lib@fold@cut@path}
	           }
	           {\tikz@lib@fold@cut@path}
	       }
	       {\tikz@lib@fold@hexagon
	           {\tikz@lib@fold@face@T}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@custom@right@path{15}}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@ear@custom@left@path{15}}
	           {\tikz@lib@fold@ear@path}
	       }
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@hexagon
	           {\tikz@lib@fold@face@U}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@path}
	           {\tikz@lib@fold@ear@custom@right@path{15}}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@ear@custom@left@path{15}}
	           {\tikz@lib@fold@ear@path}
	       }
            }
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@V}
	       {\tikz@lib@fold@octagon
	           {\tikz@lib@fold@face@W}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	       }
	       {\tikz@lib@fold@cut@path}
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@cut@path}
            {\tikz@lib@fold@square
                {\tikz@lib@fold@face@X}
	       {\tikz@lib@fold@octagon
	           {\tikz@lib@fold@face@Y}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	           {\tikz@lib@fold@cut@path}
	       }
	       {\tikz@lib@fold@cut@path}
	       {\tikz@lib@fold@path}
	       {\tikz@lib@fold@cut@path}
            }
            {\tikz@lib@fold@cut@path}
        }
        {\tikz@lib@fold@hexagon
            {\tikz@lib@fold@face@Z}
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@ear@path}
            {\tikz@lib@fold@ear@custom@right@path{15}}
            {\tikz@lib@fold@path}
            {\tikz@lib@fold@ear@custom@left@path{15}}
            {\tikz@lib@fold@ear@path}
        }
  \endgroup
}

%snub cube  

\def\tikzfoldingsnubcube#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@square{\tikz@lib@fold@face@A}
    {
        \tikz@lib@fold@triangle{\tikz@lib@fold@face@B}
	    {
	        \tikz@lib@fold@triangle{\tikz@lib@fold@face@C}
	        {
	            \tikz@lib@fold@triangle{\tikz@lib@fold@face@D}
	            {\tikz@lib@fold@ear@path}
	            {\tikz@lib@fold@path}
	            {
	                \tikz@lib@fold@square{\tikz@lib@fold@face@E}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@F}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@G}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@ear@path}
	                    }
	                    {\tikz@lib@fold@path}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@H}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@cut@path}
	                    }
	                }
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@I}
	                    {\tikz@lib@fold@ear@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@ear@path}
	                }
	                {\tikz@lib@fold@path}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@J}
	                    {\tikz@lib@fold@cut@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@cut@path}
	                }
	            }
	        }
	        {\tikz@lib@fold@path}
	        {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
    {
        \tikz@lib@fold@triangle{\tikz@lib@fold@face@K}
	    {
	        \tikz@lib@fold@triangle{\tikz@lib@fold@face@L}
	        {
	            \tikz@lib@fold@triangle{\tikz@lib@fold@face@M}
	            {\tikz@lib@fold@ear@path}
	            {\tikz@lib@fold@path}
	            {
	                \tikz@lib@fold@square{\tikz@lib@fold@face@N}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@O}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@P}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@ear@path}
	                    }
	                    {\tikz@lib@fold@path}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@Q}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@cut@path}
	                    }
	                }
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@R}
	                    {\tikz@lib@fold@ear@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@ear@path}
	                }
	                {\tikz@lib@fold@path}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@S}
	                    {\tikz@lib@fold@cut@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@cut@path}
	                }
	            }
	        }
	        {\tikz@lib@fold@path}
	        {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
    {
        \tikz@lib@fold@triangle{\tikz@lib@fold@face@T}
	    {
	        \tikz@lib@fold@triangle{\tikz@lib@fold@face@U}
	        {
	            \tikz@lib@fold@triangle{\tikz@lib@fold@face@V}
	            {\tikz@lib@fold@ear@path}
	            {\tikz@lib@fold@path}
	            {
	                \tikz@lib@fold@square{\tikz@lib@fold@face@W}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@X}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@Y}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@ear@path}
	                    }
	                    {\tikz@lib@fold@path}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@Z}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@cut@path}
	                    }
	                }
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AA}
	                    {\tikz@lib@fold@ear@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@ear@path}
	                }
	                {\tikz@lib@fold@path}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AB}
	                    {\tikz@lib@fold@cut@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@cut@path}
	                }
	            }
	        }
	        {\tikz@lib@fold@path}
	        {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
    {
        \tikz@lib@fold@triangle{\tikz@lib@fold@face@AC}
	    {
	        \tikz@lib@fold@triangle{\tikz@lib@fold@face@AD}
	        {
	            \tikz@lib@fold@triangle{\tikz@lib@fold@face@AE}
	            {\tikz@lib@fold@ear@path}
	            {\tikz@lib@fold@path}
	            {
	                \tikz@lib@fold@square{\tikz@lib@fold@face@AF}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AG}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@AH}
	                        {\tikz@lib@fold@ear@path}
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@ear@path}
	                    }
	                    {\tikz@lib@fold@path}
	                    {
	                        \tikz@lib@fold@triangle{\tikz@lib@fold@face@AI}
	                        {
	                            \tikz@lib@fold@square{\tikz@lib@fold@face@AJ}
	                            {\tikz@lib@fold@cut@path}
	                            {\tikz@lib@fold@cut@path}
	                            {\tikz@lib@fold@path}
	                            {\tikz@lib@fold@cut@path}
	                        }
	                        {\tikz@lib@fold@path}
	                        {\tikz@lib@fold@cut@path}
	                    }
	                }
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AK}
	                    {\tikz@lib@fold@ear@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@ear@path}
	                }
	                {\tikz@lib@fold@path}
	                {
	                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AL}
	                    {\tikz@lib@fold@cut@path}
	                    {\tikz@lib@fold@path}
	                    {\tikz@lib@fold@cut@path}
	                }
	            }
	        }
	        {\tikz@lib@fold@path}
	        {\tikz@lib@fold@cut@path}
	    }
	    {\tikz@lib@fold@path}
	    {\tikz@lib@fold@cut@path}
    }
  \endgroup
}

% icosidodecahedron

\def\tikzfoldingicosidodecahedron#1[#2]#3;{%
  \begingroup%
    \tikzset{#2}%
    \tikz@lib@fold@pentagon{\tikz@lib@fold@face@A}
        {
             \tikz@lib@fold@triangle{\tikz@lib@fold@face@B}
             {
                  \tikz@lib@fold@pentagon{\tikz@lib@fold@face@C}
                  {
                      \tikz@lib@fold@triangle{\tikz@lib@fold@face@D}
                      {\tikz@lib@fold@ear@path}
                      {\tikz@lib@fold@path}
                      {\tikz@lib@fold@ear@path}
                  }
                  {\tikz@lib@fold@ear@custom@right@path{24}}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {
                      \tikz@lib@fold@triangle{\tikz@lib@fold@face@E}
                      {\tikz@lib@fold@ear@path}
                      {\tikz@lib@fold@path}
                      {\tikz@lib@fold@cut@path}
                  }
             }
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
         }
        {
             \tikz@lib@fold@triangle{\tikz@lib@fold@face@F}
             {
                  \tikz@lib@fold@pentagon{\tikz@lib@fold@face@G}
                  {\tikz@lib@fold@ear@path}
                  {\tikz@lib@fold@ear@custom@right@path{24}}
                  {\tikz@lib@fold@path}
                  {\tikz@lib@fold@cut@path}
                  {
                      \tikz@lib@fold@triangle{\tikz@lib@fold@face@H}
                      {\tikz@lib@fold@ear@path}
                      {\tikz@lib@fold@path}
                      {
                          \tikz@lib@fold@pentagon{\tikz@lib@fold@face@I}
                          {\tikz@lib@fold@ear@path}
                          {
                              \tikz@lib@fold@triangle{\tikz@lib@fold@face@J}
                              {\tikz@lib@fold@ear@path}
                              {\tikz@lib@fold@path}
                              {\tikz@lib@fold@ear@path}
                          }
                          {\tikz@lib@fold@path}
                          {\tikz@lib@fold@cut@path}
                          {\tikz@lib@fold@cut@path}
                      }
                  }
             }
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
         }
        {
             \tikz@lib@fold@triangle{\tikz@lib@fold@face@K}
             {\tikz@lib@fold@ear@custom@right@path{24}}
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
        }
        {
            \tikz@lib@fold@triangle{\tikz@lib@fold@face@L}
            {
                \tikz@lib@fold@pentagon{\tikz@lib@fold@face@M}
                {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@N}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {
                        \tikz@lib@fold@pentagon{\tikz@lib@fold@face@O}
                        {
                            \tikz@lib@fold@triangle{\tikz@lib@fold@face@P}
                            {\tikz@lib@fold@ear@path}
                            {\tikz@lib@fold@path}
                            {\tikz@lib@fold@ear@path}
                        }
                        {\tikz@lib@fold@ear@path}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@cut@path}
                        {\tikz@lib@fold@cut@path}
                    }
                }
                {\tikz@lib@fold@ear@custom@right@path{24}}
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
                {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@Q}
                    {\tikz@lib@fold@ear@custom@right@path{24}}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
            }
            {\tikz@lib@fold@path}
            {
                \tikz@lib@fold@pentagon{\tikz@lib@fold@face@R}
                {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@S}
                    {
                        \tikz@lib@fold@pentagon{\tikz@lib@fold@face@T}
                        {\tikz@lib@fold@ear@path}
                        {\tikz@lib@fold@ear@custom@right@path{24}}
                        {\tikz@lib@fold@path}
                        {
                            \tikz@lib@fold@triangle{\tikz@lib@fold@face@U}
                            {
                                 \tikz@lib@fold@pentagon{\tikz@lib@fold@face@V}
                                 {\tikz@lib@fold@cut@path}
                                 {\tikz@lib@fold@ear@custom@right@path{24}}
                                 {\tikz@lib@fold@path}
                                 {\tikz@lib@fold@cut@path}
                                 {\tikz@lib@fold@ear@path}
                            }
                            {\tikz@lib@fold@path}
                            {\tikz@lib@fold@cut@path}
                        }
                        {
                            \tikz@lib@fold@triangle{\tikz@lib@fold@face@W}
                            {\tikz@lib@fold@ear@path}
                            {\tikz@lib@fold@path}
                            {\tikz@lib@fold@cut@path}
                        }
                    }
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
                {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@X}
                    {\tikz@lib@fold@ear@custom@right@path{24}}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
                {\tikz@lib@fold@path}
                {\tikz@lib@fold@cut@path}
                {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@Y}
                    {
                        \tikz@lib@fold@pentagon{\tikz@lib@fold@face@Z}
                        {\tikz@lib@fold@ear@path}
                        {\tikz@lib@fold@ear@custom@right@path{24}}
                        {\tikz@lib@fold@path}
                        {\tikz@lib@fold@cut@path}
                        {\tikz@lib@fold@cut@path}
                    }
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                }
            }
        }
        {
             \tikz@lib@fold@triangle{\tikz@lib@fold@face@AA}
             {
                 \tikz@lib@fold@pentagon{\tikz@lib@fold@face@AB}
                 {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AC}
                    {\tikz@lib@fold@ear@path}
                    {\tikz@lib@fold@path}
                    {
                       \tikz@lib@fold@pentagon{\tikz@lib@fold@face@AD}
                       {
                           \tikz@lib@fold@triangle{\tikz@lib@fold@face@AE}
                           {\tikz@lib@fold@cut@path}
                           {\tikz@lib@fold@path}
                           {\tikz@lib@fold@cut@path}
                       }
                       {\tikz@lib@fold@ear@path}
                       {\tikz@lib@fold@path}
                       {\tikz@lib@fold@cut@path}
                       {\tikz@lib@fold@cut@path}
                    }
                 }
                 {\tikz@lib@fold@ear@custom@right@path{24}}
                 {\tikz@lib@fold@path}
                 {\tikz@lib@fold@cut@path}
                 {
                    \tikz@lib@fold@triangle{\tikz@lib@fold@face@AF}
                    {\tikz@lib@fold@ear@custom@right@path{24}}
                    {\tikz@lib@fold@path}
                    {\tikz@lib@fold@cut@path}
                 }
             }
             {\tikz@lib@fold@path}
             {\tikz@lib@fold@cut@path}
        }
  \endgroup
}
