docs: def checksum(digits):
      """Calculate checksum of Estonian personal identity code.
  
      Checksum is calculated with "Modulo 11" method using level I or II scale:
      Level I scale: 1 2 3 4 5 6 7 8 9 1
      Level II scale: 3 4 5 6 7 8 9 1 2 3
  
      The digits of the personal code are multiplied by level I scale and summed;
      if remainder of modulo 11 of the sum is less than 10, checksum is the
      remainder.
      If remainder is 10, then level II scale is used; checksum is remainder if
      remainder < 10 or 0 if remainder is 10.
  
      See also https://et.wikipedia.org/wiki/Isikukood
      """
      sum_mod11 = sum(map(operator.mul, digits, Provider.scale1)) % 11
      if sum_mod11 < 10:
          return sum_mod11
      sum_mod11 = sum(map(operator.mul, digits, Provider.scale2)) % 11
      return 0 if sum_mod11 == 10 else sum_mod11