44        foreach($clientData->AnimatedImageData as $k => $animation){
 
   47                    $animation->ImageHeight,
 
   48                    $animation->ImageWidth,
 
   49                    self::safeB64Decode($animation->Image, 
"AnimatedImageData.$k.Image")
 
   53                $animation->AnimationExpression
 
   59            self::safeB64Decode($clientData->SkinResourcePatch, 
"SkinResourcePatch"),
 
   60            new SkinImage($clientData->SkinImageHeight, $clientData->SkinImageWidth, self::safeB64Decode($clientData->SkinData, 
"SkinData")),
 
   62            new SkinImage($clientData->CapeImageHeight, $clientData->CapeImageWidth, self::safeB64Decode($clientData->CapeData, 
"CapeData")),
 
   63            self::safeB64Decode($clientData->SkinGeometryData, 
"SkinGeometryData"),
 
   64            self::safeB64Decode($clientData->SkinGeometryDataEngineVersion, 
"SkinGeometryDataEngineVersion"), 
 
   65            self::safeB64Decode($clientData->SkinAnimationData, 
"SkinAnimationData"),
 
   69            $clientData->SkinColor,
 
   71                return new PersonaSkinPiece($piece->PieceId, $piece->PieceType, $piece->PackId, $piece->IsDefault, $piece->ProductId);
 
   72            }, $clientData->PersonaPieces),
 
   73            array_map(
function(ClientDataPersonaPieceTintColor $tint) : PersonaPieceTintColor{
 
   74                return new PersonaPieceTintColor($tint->PieceType, $tint->Colors);
 
   75            }, $clientData->PieceTintColors),
 
   77            $clientData->PremiumSkin,
 
   78            $clientData->PersonaSkin,
 
   79            $clientData->CapeOnClassicSkin,
 
   81            $clientData->OverrideSkin ?? 
true,