<!DOCTYPE html>
<html lang="%lang;">
<head>
  <!-- $Id: deslist_hr.txt,v 7.00 2018-04-27 13:15:19 gwmr Exp $ -->
  <!-- Copyright (c) 1998-2017 INRIA -->
  <title>%nn;
    %apply;a_of_b_gr_eq_lev%with;
      [*descendants]%nn;
    %and;
      %if;(public_name != "")%public_name;%else;%first_name;%end;
      %if;(qualifier != "") %qualifier;%end;
      %sp;%surname;
    %end;
  </title>
  <meta name="robots" content="none">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <link rel="shortcut icon" href="%image_prefix;/favicon_gwd.png">
%include;css
%include;hed
</head>
<body%body_prop;>
%message_to_wizard;
<div class="container-fluid">
%include;perso_utils
%if;not cancel_links;
  %include;menubar
%end;

<script type="text/javascript">
  <!--
  function over1(xx)
  {
   document.getElementById(xx).style.backgroundColor="#CBFECE";
   return false;
  }
  function out1(xx)
  {
   document.getElementById(xx).style.backgroundColor="";
   return false;
  }
  -->
</script>

%define;implex1(xx)
  onmouseover="over1('xx')" onmouseout="out1('xx')" %nn;
%end;

<h1>%nn;
  %apply;a_of_b_gr_eq_lev%with;
    [*descendants]%nn;
  %and;
    %if;(public_name != "")%public_name;%else;%first_name;%end;
    %if;(qualifier != "") <em>%qualifier;</em>%end;
    %sp;%surname;
    %if;(alias != "") <em>(%alias;)</em>%end;
  %end;
</h1>

%if;not cancel_links;
  %include;buttons
%end;
%let;birth_symbol;%if;(bvar.birth_symbol != "")%bvar.birth_symbol;%else;&deg;%end;%in;
%let;death_symbol;%if;(bvar.death_symbol != "")%bvar.death_symbol;%else;&dagger;%end;%in;
%let;l_v0;%if;(evar.v > max_desc_level+1)%expr(max_desc_level + 1)%else;%evar.v;%end;%in;
%let;l_v;%if;(bvar.max_desc_level = "" or bvar.max_desc_level > l_v0)%l_v0;%else;%bvar.max_desc_level;%end;%in;
%let;l_max_dates;%if;(bvar.max_dates != "")%bvar.max_dates;%else;200%end;%in;

%let;l_url;%prefix;m=D&t=D&v=%l_v;&maxv=%evar.maxv;&marriage=%evar.marriage;&sosa=%evar.sosa;&xy=%evar.xy;&sib=%evar.sib;&%in;
%let;l_url1;%prefix;m=A&t=T&t1=HT&v=5;marriage=%evar.marriage;&sosa=%evar.sosa;&xy=%evar.xy;&sib=%evar.sib;&%in;

%define;togen()
  <p>
    %if;(evar.only != "on")
      %apply;togend(l_v)
    %else;
      [*generation/generations]0 %l_v;
    %end; %if;(evar.v>l_v)%sp;(max)%end;
  </p>
%end;

%define;desc1(z1,z2,z3,z4,curlev,maxlev,sp_index)
  %let;l1;%if;(z3z4 = "00" or z3z4 = "01")  ┊%else;   %end;%in;
  %let;l2;
    %if;(curlev != 0)
      %if;(z2 = 0)
        %if;(z4 = 1)%l1;┗%elseif;(z4 = 0)%l1;┣%end;%if;(child_cnt < 10)━%end;%nn;
      %else;
        %if;(z4 = 1)%l1;└%elseif;(z4 = 0)%l1;├%end;%if;(child_cnt < 10)─%end;%nn;
      %end;
    %end;
  %in;
  %let;zl1;
    %if;(curlev != 0)
      %if;(z2 = 0)
        %if;(z4 = 1)z1%l1; %else;z1%l1;┃%end;
      %else;
        %if;(z4 = 1)z1%l1; %else;z1%l1;│%end;
      %end;
    %end;
  %in;
  %let;zl2;%sex;%in;
  %if;(has_families)
    %let;l21;
      %if;(curlev != 0)
        %if;(not cancel_links)
          <a href="%l_url;i=%index&">%child_cnt;</a>%nn;
        %else;
          %child_cnt;%nn;
        %end;
      %end;
    %in;
    %let;l22;
      %if;(browsing_with_sosa_ref and has_sosa)
        %if;(has_siblings)▶%else;▷%end;
      %end;
    %in;
    %foreach;family;
      %let;l211;%if;(is_male)━%else;─%end;%in;
      %let;l212;%if;(is_male)%if;(curlev < maxlev and has_children)┳%else;━%end;%else;%if;(curlev < maxlev and has_children)┬%else;─%end;%end;%in;
      %let;ifam;%family.index;%in;
      %let;zl3;%if;(family_cnt = nb_families)1%else;0%end;%in;
      %if;(nb_families > 1)
        %let;l3;
          %if;(curlev != 0 and family_cnt > 1)
            %if;(z2 = 0)
              %if;(z4 = 1)%l1; %elseif;(z4 = 0)%l1;┃%end;%if;(child_cnt <10) %end;%child_cnt;%nn;
            %else;
              %if;(z4 = 1)%l1; %elseif;(z4 = 0)%l1;│%end;%if;(child_cnt <10) %end;%child_cnt;%nn;
            %end;
          %else;
            %l2;%l21;%nn;
          %end;
        %in;
        <tt>z1%l3;%nn;
          %if;(family_cnt>0)
            %foreach;sorted_listc_item;
              %if;(item.1=index)%incr_count;%end;
            %end;
            %if;(count>0 and not cancel_links)
              %let;sss;i_%index;%in;
              <a href="#%sss;" %apply;implex1(sss)>%apply;letter(family_cnt)</a>%nn;
            %else;
              %apply;letter(family_cnt)
            %end;
            %if;(spouse.is_descendant and not cancel_links)
              %let;sss;is_%index;_%family.index;%in;
              <a href="#%sss;" %apply;implex1(sss)>%l212;</a>%nn;
            %else;
             %l212;%nn;
            %end;
            %l22;%nn;
          %end;
        </tt>
      %else;
        <tt>z1%l2;%l21;%l211;%nn;
          %if;(spouse.is_descendant and not cancel_links)
            %let;sss;is_%index;_%family.index;%in;
            <a href="#%sss;" %apply;implex1(sss)>%l212;</a>%nn;
          %else;
            %l212;%nn;
          %end;
        %l22;</tt>
      %end;
      %apply;add_in_sorted_list(index)
      %apply;add_in_sorted_listc(index)
      %if;(family_cnt > 1)
        %self;%nn;
      %elseif;(not cancel_links)
        <a id="i_%index;" href="%prefix;&i=%index;">%self;</a> %dates;%if;(self.title!=""), %self.title;%end;%nn;
      %else;
        %self; %dates;%if;(self.title!=""), %self.title;%end;%nn;
      %end;
      %sp;&amp;%if;(on_marriage_date != "")<small>%marriage_date.prec;%marriage_date.year;</small>%end;%sp;
      %if;(not cancel_links)
        <a id="is_%spouse.index;_%family.index;" href="%prefix;&i=%spouse.index;">%spouse;</a> %spouse.dates;%if;(spouse.title!=""), %spouse.title;%end;%nn;
      %else;
       %spouse; %spouse.dates;%if;(spouse.title!=""), %spouse.title;%end;%nn;
      %end;
      %if;(spouse.first_name!="?" and spouse.surname!="?" and not spouse.is_descendant)
        %apply;add_in_sorted_list(spouse.index)
      %end;
      %if;(spouse.is_descendant and evar.implx="")
        %if;(not cancel_links)
          %let;sss;is_%index;_%family.index;%in;
          <a href="#%sss;" class="mr-1" %apply;implex1(sss)><i class="fa fa-random fa-fw ml-1" aria-hidden="true"></i><span class="sr-only">%sp;(==)%sp;</span></a>
        %else;
          <i class="fa fa-random fa-fw ml-1" aria-hidden="true"></i><span class="sr-only">%sp;(==)%sp;</span>
        %end;
      %end;
      <br>
      %if;(curlev < maxlev)
        %reset_count;
        %foreach;sorted_listb_item;
          %if;(item.1=ifam)%incr_count;%end;
        %end;
        %reset_count1;
        %foreach;sorted_listc_item;
          %if;(item.1=index)%incr_count1;%end;
        %end;
        %if;has_children;
          %foreach;child;
            %reset_count2;
            %foreach;sorted_listc_item;
              %if;(item.1=child.index)%incr_count2;%end;
            %end;
            %if;(count=0 or count1=0 or count2=0 or evar.implx="")
              %let;zl4;%if;(child_cnt = nb_children)1%else;0%end;%in;
              %apply;desc1(zl1,zl2,zl3,zl4,curlev+1,maxlev,spouse.index)
            %else;
              %apply;desc2(zl1,zl2,zl3,zl4,curlev+1,maxlev,spouse.index)
            %end;
          %end;

        %end;
      %end;
      %apply;add_in_sorted_listb(ifam)
    %end;
  %else;
    %let;l23;
      %if;(curlev != 0)
        %if;(not cancel_links)
          <a href="%l_url1;i=%index;">%child_cnt;</a>%nn;
        %else;
          %child_cnt;%nn;
        %end;
      %end;
    %in;
    %let;l231;%if;(is_male)━%elseif(is_female)─%else;┈%end;%in;
    %let;l24;
      %if;(browsing_with_sosa_ref and has_sosa)
        %if;(has_siblings)◀%else;◁%end;
      %end;
    %in;
    <tt>z1%l2;%l23;%l231;%l24;%nn;
      %reset_count;
      %foreach;sorted_listc_item;
        %if;(item.1=index)%incr_count;%end;
      %end;
      %if;(count>0 and not cancel_links)
        %let;sss;i_%index;%in;
        <a href="#%sss;" %apply;implex1(sss)>%l231;</a>%nn;
      %else;
        %l231;%nn;
      %end;</tt>
    %apply;add_in_sorted_list(index)
    %apply;add_in_sorted_listc(index)
    %if;(not cancel_links)
      <a id="i_%index;" href="%prefix;&i=%index;">%self;</a> %dates;%nn;
    %else;
      %self; %dates;%nn;
    %end;
    <br>
  %end;
%end;

%define;desc2(z1,z2,z3,z4,curlev,maxlev,sp_index)
  %let;l1;%if;(z3z4 = "00" or z3z4 = "01")  ┊%else;   %end;%in;
  %let;l2;
    %if;(curlev != 0)
      %if;(z2 = 0)
        %if;(z4 = 1)%l1;┗%elseif;(z4 = 0)%l1;┣%end;%if;(child_cnt < 10)━%end;%nn;
      %else;
        %if;(z4 = 1)%l1;└%elseif;(z4 = 0)%l1;├%end;%if;(child_cnt < 10)─%end;%nn;
      %end;
    %end;
  %in;
  %let;zl1;
    %if;(curlev != 0)
      %if;(z2 = 0)
        %if;(z4 = 1)z1%l1; %else;z1%l1;┃%end;
      %else;
        %if;(z4 = 1)z1%l1; %else;z1%l1;│%end;
      %end;
    %end;
  %in;
  %let;zl2;%sex;%in;
  %let;l231;%if;(is_male)━%elseif(is_female)─%else;┈%end;%in;
  <tt>z1%l2;</tt>
  %( when there is an offset between implex generations, some descendants may be missing %)
  %( case: first occurence at generation n is married to generation n-1 spouse and has children %)
  %( these children will not appear even though asking for desc up to generation n %)
  %if;(not cancel_links)
    %let;sss;i_sp_index%in;
    <a href="#%sss;" class="mr-1" %apply;implex1(sss)><i class="fa fa-random fa-fw ml-1" aria-hidden="true"></i><span class="sr-only">%sp;(==)%sp;</tt></span>
  %else;
    <i class="fa fa-random fa-fw ml-1" aria-hidden="true"></i><span class="sr-only">%sp;(==)%sp;</span>
  %end;
  <br>
%end;

%mark_descendants;
%empty_sorted_list; %(persons %)
%empty_sorted_listb; %( families %)
%empty_sorted_listc; %( descendnats %)

%apply;togen()
<p style="line-height:12pt;font-size:12pt;">%apply;desc1(" 0",sex,"0","0","0",l_v,0)</p>

%reset_count;
%foreach;sorted_list_item;
  %incr_count;
%end;
<p>[*total][:] %apply;desc_count(max_desc_level) [descendants] (%count; [person/persons]1 [with] [spouse/spouses]1)

%include;trl
%include;copyr
</div>
%include;js

</body>
</html>
