anchor.diff:  //TSpineAtlasPage END
   
   //TSpineAtlas BEGIN
  -constructor TSpineAtlas.Create(const Path: String);
  +constructor TSpineAtlas.Create(const Path: AnsiString);
   begin
     _Pages := TSpineAtlasPageList.Create;
     _Regions := TSpineAtlasRegionList.Create;
  
positive.code:     function ReadFloatArray(const Provider: TSpineDataProvider; const ScaleArr: Single): TSpineFloatArray;
      function ReadShortArray(const Provider: TSpineDataProvider): TSpineIntArray;
      function ReadIntArray(const Provider: TSpineDataProvider): TSpineIntArray;
      function ReadString(const Provider: TSpineDataProvider): String;
      procedure ReadUtf8Slow(const Provider: TSpineDataProvider; const CharCount: Integer; var CharIndex, b: Integer);
      procedure ReadCurve(const Provider: TSpineDataProvider; const FrameIndex: Integer; const Timeline: TSpineAnimationCurveTimeline);
      function ReadSkin(const Provider: TSpineDataProvider; const SkinName: String; const NonEssential: Boolean): TSpineSkin;
      function ReadAttachment(const Provider: TSpineDataProvider; const Skin: TSpineSkin; const AttachmentName: String; const NonEssential: Boolean): TSpineAttachment;
      procedure ReadAnimation(const Provider: TSpineDataProvider; const Name: String; const SkeletonData: TSpineSkeletonData);
    public
      property Scale: Single read _Scale write _Scale;
      constructor Create(const AtlasList: TSpineAtlasList); overload;
      constructor Create(const AttachmentLoader: TSpineAttachmentLoader); overload;
      destructor Destroy; override;
      function ReadSkeletonData(const Path: String): TSpineSkeletonData; overload;
      function ReadSkeletonData(const Provider: TSpineDataProvider): TSpineSkeletonData; overload;
    end;
  
  
negative.code:   Result := nil;
  end;
  
  procedure TSpineSkeleton.SetSkinByName(const SkinName: AnsiString);
    var TempSkin: TSpineSkin;
  begin
    TempSkin := _Data.FindSkin(SkinName);
    if Assigned(TempSkin) then Skin := TempSkin;
  end;
  
  function TSpineSkeleton.GetAttachment(const SlotName, AttachmentName: AnsiString): TSpineAttachment;
  begin
    Result := GetAttachment(_Data.FindSlotIndex(SlotName), AttachmentName);
  end;
  
  function TSpineSkeleton.GetAttachment(const SlotIndex: Integer; const AttachmentName: AnsiString): TSpineAttachment;
  begin
    if Assigned(_Skin) then
    begin
  