%%
%% This is file `lwarp-biblatex.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% lwarp.dtx  (with options: `biblatex')
%% This is a generated file.
%% Copyright 2016-2025 Brian Dunn
%% 
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3
%% of this license or (at your option) any later version.
%% The latest version of this license is in
%%   http://www.latex-project.org/lppl.txt
%% and version 1.3 or later is part of all distributions of LaTeX
%% version 2005/12/01 or later.
%%
\ifdef{\newfloat@addtocontents@ORI}{
    \let\addtocontents\newfloat@addtocontents@ORI
}{}
\AtBeginDocument{\RequirePackage{hyperref}}

\LWR@ProvidesPackagePass{biblatex}[2018/03/04]
\AfterPreamble{
\let\blx@anchors\@empty
\protected\def\blx@anchor{%
    \xifinlist{\the\c@refsection @\abx@field@entrykey}{\blx@anchors}
        {}
        {\listxadd\blx@anchors{\the\c@refsection @\abx@field@entrykey}%
        \hypertarget{cite.\the\c@refsection @\abx@field@entrykey}{}}}

\protected\def\blx@imc@bibhyperref{%
    \@ifnextchar[%]
      {\blx@bibhyperref}
      {\blx@bibhyperref[\abx@field@entrykey]}}%

\long\def\blx@bibhyperref[#1]#2{%
        \hyperlink{cite.\the\c@refsection @#1}{%
         #2%
        }%
}%% \def\blx@nohyperref[#1]#2{#2}%

\protected\long\def\blx@imc@bibhyperlink#1#2{%
        \hyperlink{cite.\the\c@refsection:#1}{%
         #2%
        }%
}%

\protected\long\def\blx@imc@bibhypertarget#1#2{%
        \hypertarget{cite.\the\c@refsection:#1}{%
         #2%
        }%
}

\let\blx@imc@ifhyperref\@firstoftwo
\xpretocmd{\blx@citecmdinit}
    {\LWR@newautopagelabel{page}}%
    {}
    {\LWR@patcherror{biblatex}{blx@citecmdinit}}
\VerifyCommand[lwarp][biblatex]{\blx@addbackref@i}{C820E8B12CF2904906644302E07EBE88}

\xpatchcmd{\blx@addbackref@i}
    {\thepage}
    {\theLWR@previousautopagelabel}% ref to the most recent object
    {}
    {\LWR@patcherror{biblatex}{blx@addbackref@i A}}

\xpatchcmd{\blx@addbackref@i}
    {\c@page}
    {\c@LWR@previousautopagelabel}% ref to the most recent object
    {}
    {\LWR@patcherror{biblatex}{blx@addbackref@i B}}
\DeclareListFormat{pageref}{%
  \ifnumless{\abx@pagerefstyle}{0}
    {\usebibmacro{list:plain}%
     \ifhyperref
       {%
            \LWR@refwithsection{\BaseJobname-autopage-#1}%  lwarp
       }
       {#1}}
    {\ifnumequal{\value{listcount}}{1}
       {\usebibmacro{pageref:init}}
       {}%
     \usebibmacro{pageref:comp}{#1}%
     \ifnumequal{\value{listcount}}{\value{liststop}}
       {\usebibmacro{pageref:dump}}
       {}}}

\expandafter\VerifyCommand\expandafter{\csname abx@macro@pageref:comp\endcsname}
    {019E018D2EBB4F3D02578439F03128D8}

\renewbibmacro*{pageref:comp}[1]{%
  \numdef\abx@range@prev{\abx@range@prev+1}%
  \ifinteger{#1}
    {\def\abx@range@num{#1}%
     \def\abx@range@this{1}%
     \ifnumequal{\abx@range@this}{\abx@range@last}
       {}
       {\def\abx@range@prev{-1}}}
    {\ifrmnum{#1}
       {\numdef\abx@range@num{\rmntonum{#1}}%
        \def\abx@range@this{2}%
        \ifnumequal{\abx@range@this}{\abx@range@last}
          {}
          {\def\abx@range@prev{-1}}}
       {\undef\abx@range@num
        \def\abx@range@this{0}%
        \def\abx@range@prev{-1}}}%
  \ifdef\abx@range@num
    {\ifnumequal{\abx@range@num}{\abx@range@prev}
       {\def\abx@range@hold{#1}%
        \numdef\abx@range@diff{\abx@range@diff+1}}
       {\usebibmacro{pageref:dump}%
        \ifnumgreater{\abx@range@last}{-1}
          {\printdelim{multilistdelim}}
          {}%
        \ifhyperref
          {\LWR@refwithsection{\BaseJobname-autopage-#1}}%  lwarp
          {#1}}%
     \edef\abx@range@prev{\abx@range@num}}
    {\usebibmacro{pageref:dump}%
     \ifnumgreater{\abx@range@last}{-1}
       {\printdelim{multilistdelim}}
       {}%
     \ifhyperref
       {\LWR@refwithsection{\BaseJobname-autopage-#1}}%  lwarp
       {#1}%
     \def\abx@range@prev{-1}}%
  \edef\abx@range@last{\abx@range@this}}

\expandafter\VerifyCommand\expandafter{\csname abx@macro@pageref:dump\endcsname}
    {9BD1165E771053A5DA8957BE4E2E7B9E}

\renewbibmacro*{pageref:dump}{%
  \ifnumgreater{\abx@range@diff}{0}
    {\ifcase\abx@pagerefstyle\relax % two
       \bibrangedash
       \ifhyperref
         {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
         {\abx@range@hold}%
     \or % three
       \ifnumless{\abx@range@diff}{2}
         {\printdelim{multilistdelim}}
         {\bibrangedash}%
       \ifhyperref
         {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
         {\abx@range@hold}%
     \or % two+
       \ifnumless{\abx@range@diff}{2}
         {\sqspace
          \ifhyperref
            {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
            {\bibstring{sequens}}}
         {\bibrangedash
          \ifhyperref
            {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
            {\abx@range@hold}}%
     \or % three+
       \ifnumless{\abx@range@diff}{2}
         {\sqspace
          \ifhyperref
            {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
            {\bibstring{sequens}}}
         {\ifnumless{\abx@range@diff}{3}
            {\sqspace
             \ifhyperref
               {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
               {\bibstring{sequentes}}}
            {\bibrangedash
             \ifhyperref
               {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
               {\abx@range@hold}}}%
     \else % all+
       \ifnumless{\abx@range@diff}{2}
         {\sqspace
          \ifhyperref
            {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
            {\bibstring{sequens}}}
         {\sqspace
          \ifhyperref
            {\LWR@refwithsection{\BaseJobname-autopage-\abx@range@hold}}%  lwarp
            {\bibstring{sequentes}}}%
     \fi
     \def\abx@range@diff{0}}
    {}}

}% \AfterPreamble

\endinput
%%
%% End of file `lwarp-biblatex.sty'.