Generating a soccer team! Generate the following soccer team ASCII art with the least number of bytes possible.
   |.|      |.|      |.|      |.|      |.|      |.|      |.|      |.|   
   ]^[      ]^[      ]^[      ]^[      ]^[      ]^[      ]^[      ]^[   
 /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  /~`-'~\  
{&lt;| 8 |&gt;}{&lt;| 6 |&gt;}{&lt;| 1 |&gt;}{&lt;| 3 |&gt;}{&lt;| 7 |&gt;}{&lt;| 5 |&gt;}{&lt;| 4 |&gt;}{&lt;| 2 |&gt;} 
 \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/  \|___|/ 
  /   \    /   \    /   \    /   \    /   \    /   \    /   \    /   \   
 /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  /__|__\  
 | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  | / \ |  
 (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  (/   \)  
 |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (|  |)   (| 
(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)(.|,.,|,)(,|,.,|.)

Note that the players' feet alternate between (.|,.,|,) and its mirror, but their eyes all point the same direction `-'.
Score
Least number of bytes wins!
Rules

Standard loop holes apply
Any amount of trailing/leading white space legal.
Charcoal, 106 95 92 91 79 77 bytes

”∨+!rþW∕oc&#9;σ&#12;&lt;7↗OKd↶!(⊞&#148;«5βＧ◨&#147;Ｏ&#12;c∕)ÿ6T”‖Ｂ←→→→,Ｆ³‖ＭＪ⁹¦³Ｆ6137542«ιＭ⁸→»↑Ｆ⁸«Ｍ⁸←←'


Try it online! Edit: Saved 11 bytes by looping over the shirt numbers. Saved 3 bytes by working out how Ｊ worked. Saved a further byte by using separate mirror instructions. Saved 12 bytes thanks to @ASCII-only by compressing the half player string. Saved 2 bytes by repeating the mirror in a loop. Explanation:

”∨+!rþW∕oc&#9;σ&#12;&lt;7↗OKd↶!(⊞&#148;«5βＧ◨&#147;Ｏ&#12;c∕)ÿ6T”
            Print the right half of a player as a compressed string
‖Ｂ←         Butterfly to create the left half of the player
→→→,        Fix up the left foot
Ｆ³‖Ｍ        Mirror three times to end up with 8 footballers
Ｊ⁹¦³Ｆ6137542«ιＭ⁸→»↑
            Fix up the shirt numbers
Ｆ⁸«Ｍ⁸←←'    Fix up the right eyes


Edit: The above code no longer works in current Charcoal; the string compression appears to have changed and the reflect command now accepts a multidirection and leaves the cursor in a different position. However it's possible to adapt the code to run in current charcoal for the same byte count. Try it online! Link is to verbose version of code. (Note that the deverbosifier tries to compress 6137542 for some reason although it's unnecessary.) It then becomes possible to golf a further byte off. Try it online! Link is to verbose version of code.