anchor.diff:  
   end;
   
  +function TDValue.GetValueByName(pvName:String; pvDefault:TObject): TObject;
  +var
  +  lvItem:TDValue;
  +begin
  +  lvItem := FindByName(pvName);
  +  if lvItem = nil then
  +  begin
  +    Result := pvDefault;
  +  end else
  +  begin
  +    Result := lvItem.AsObject;
  +  end;
  +end;
  +
   function TDValue.GetValueByPath(pvPath: string; pvDefault: Double): Double;
   var
     lvItem:TDValue;
  
positive.code:     function GetValueByName(pvName:string; pvDefault:string): String;overload;
      function GetValueByName(pvName:String; pvDefault:Boolean): Boolean; overload;
      function GetValueByName(pvName:String; pvDefault:Double): Double; overload;
  
      function GetValueByPath(pvPath:string; pvDefault:string): string; overload;
      function GetValueByPath(pvPath: string; pvDefault: Int64): Int64; overload;
  
negative.code:         (AsStream: Pointer);
        16:    // Array
          (
            ArrayLength: Integer;
            ArrayItemsEntry: PDRawValue;
          );
        17:
  