anchor.diff:       DFANeedVerification:=true;
       end;
       ntZEROWIDTH:begin
  -     DFANeedVerification:=true;
  +     //DFANeedVerification:=true;
        DFAFast:=false;
        if (Node^.Value and sfEmptyBeginText)<>0 then begin
         BeginningAnchor:=true;
  
positive.code: 
   end else begin
  
    if (StartPosition>=0) and (StartPosition<ThreadLocalStorageInstance.InputLength) then begin
     if rfUTF8 in Instance.Flags then begin
      CurrentChar:=UTF8PtrCodeUnitGetCharFallback(LocalInput,ThreadLocalStorageInstance.InputLength,StartPosition);
     end else begin
      CurrentChar:=byte(ansichar(LocalInput[StartPosition]));
     end;
    end else begin
     CurrentChar:=$ffffffff;
    end;
  
    if StartPosition<=0 then begin
     Start:=sskBeginText;
     Flags:=sfEmptyBeginText or sfEmptyBeginLine;
  
negative.code:     mov ebx,dword ptr [edi+TFLREDFAState.Flags]
      test ebx,sfDFAMatchWins or sfDFADead
      jnz @CheckFlags
            
     @BackToLoop:
     dec ecx
     jnz @Loop
  