anchor.diff:  
       UnicodeCharRangeClasses:TUnicodeCharRangeClasses;
   
  +    UnicodeAdditionalBlocks:TUnicodeAdditionalBlocks;
  +    CountUnicodeAdditionalBlocks:longint;
  +
       UnicodeClassHashMap:TFLREStringIntegerPairHashMap;
       UnicodeScriptHashMap:TFLREStringIntegerPairHashMap;
       UnicodeBlockHashMap:TFLREStringIntegerPairHashMap;
  +    UnicodeAdditionalBlockHashMap:TFLREStringIntegerPairHashMap;
       UnicodeClassLowerCaseHashMap:TFLREStringIntegerPairHashMap;
       UnicodeScriptLowerCaseHashMap:TFLREStringIntegerPairHashMap;
       UnicodeBlockLowerCaseHashMap:TFLREStringIntegerPairHashMap;
  +    UnicodeAdditionalBlockLowerCaseHashMap:TFLREStringIntegerPairHashMap;
   
   function RoundUpToPowerOfTwo(x:ptruint):ptruint; {$ifdef caninline}inline;{$endif}
   begin
  
positive.code:   begin
     UnicodeBlockLowerCaseHashMap:=TFLREStringIntegerPairHashMap.Create;
     UnicodeBlockLowerCaseHashMap.LowerCaseAssignFrom(UnicodeBlockHashMap);
    end;
   end;
  begin
  
negative.code:   for i:=low(TUnicodeCharRangeClasses) to high(TUnicodeCharRangeClasses) do begin
     SetLength(UnicodeCharRangeClasses[i],0);
    end;
    SetLength(UnicodeAdditionalBlocks,0);
    FreeAndNil(UnicodeClassHashMap);
    FreeAndNil(UnicodeScriptHashMap);
    FreeAndNil(UnicodeBlockHashMap);
    FreeAndNil(UnicodeAdditionalBlockHashMap);
    FreeAndNil(UnicodeClassLowerCaseHashMap);
    FreeAndNil(UnicodeScriptLowerCaseHashMap);
    FreeAndNil(UnicodeBlockLowerCaseHashMap);
    FreeAndNil(UnicodeAdditionalBlockLowerCaseHashMap);
    FreeAndNil(LowerUpperCaseUnicodeCharClass);
    FLREInitialized:=false;
   end;
  