pysword-0.2.7/0000755000175000017500000000000013550677557011631 5ustar bagebagepysword-0.2.7/appveyor.yml0000644000175000017500000000132413550677557014221 0ustar bagebageinstall: - c:\\python27\\Scripts\\pip.exe install nose mock - c:\\python33\\python.exe -m pip install nose - c:\\python34\\python.exe -m pip install nose - c:\\python35\\python.exe -m pip install nose - c:\\python36\\python.exe -m pip install nose - c:\\python37\\python.exe -m pip install nose build: off test_script: - cd c:\\projects\\pysword - c:\\python35\\python.exe tests/resources/download_bibles.py # Run the tests - c:\\python27\\Scripts\\nosetests.exe -v tests - c:\\python33\\python.exe -m nose -v tests - c:\\python34\\python.exe -m nose -v tests - c:\\python35\\python.exe -m nose -v tests - c:\\python36\\python.exe -m nose -v tests - c:\\python37\\python.exe -m nose -v tests pysword-0.2.7/docs/0000755000175000017500000000000013550677557012561 5ustar bagebagepysword-0.2.7/docs/module-format.rst0000644000175000017500000000427513550677557016076 0ustar bagebageModule formats -------------- I'll use Python's struct module's format strings to describe byte formatting. See https://docs.python.org/3/library/struct.html There are current 4 formats for bible modules in SWORD. ztext format documentation ~~~~~~~~~~~~~~~~~~~~~~~~~~ Take the Old Testament (OT) for example. Three files: - ot.bzv: Maps verses to character ranges in compressed buffers. 10 bytes ('NUL 2>NUL if errorlevel 9009 ( echo. echo.The 'sphinx-build' command was not found. Make sure you have Sphinx echo.installed, then set the SPHINXBUILD environment variable to point echo.to the full path of the 'sphinx-build' executable. Alternatively you echo.may add the Sphinx directory to PATH. echo. echo.If you don't have Sphinx installed, grab it from echo.http://sphinx-doc.org/ exit /b 1 ) %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% goto end :help %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% :end popd pysword-0.2.7/docs/examples.rst0000644000175000017500000000352313550677557015134 0ustar bagebageExample code ------------ Use modules from default datapath ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: python from pysword.modules import SwordModules # Find available modules/bibles in standard data path. # For non-standard data path, pass it as an argument to the SwordModules constructor. modules = SwordModules() # In this case we'll assume the modules found is something like: # {'KJV': {'description': 'KingJamesVersion(1769)withStrongsNumbersandMorphology', 'encoding': 'UTF-8', ...}} found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'KJV') # Get John chapter 3 verse 16 output = bible.get(books=[u'john'], chapters=[3], verses=[16]) Load module from zip-file ~~~~~~~~~~~~~~~~~~~~~~~~~ .. code:: python from pysword.modules import SwordModules # Load module in zip # NB: the zip content is only available as long as the SwordModules object exists modules = SwordModules(u'KJV.zip') # In this case the module found is: # {'KJV': {'description': 'KingJamesVersion(1769)withStrongsNumbersandMorphology', 'encoding': 'UTF-8', ...}} found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'KJV') # Get John chapter 3 verse 16 output = bible.get(books=[u'john'], chapters=[3], verses=[16]) Manually create bible ~~~~~~~~~~~~~~~~~~~~~ .. code:: python from pysword.bible import SwordBible # Create the bible. The arguments are: # SwordBible(, , , , ) # Only the first is required, the rest have default values which should work in most cases. bible = SwordBible(u'/home/me/.sword/modules/texts/ztext/kjv/', u'ztext', u'kjv', u'utf8', u'OSIS') # Get John chapter 3 verse 16 output = bible.get(books=[u'john'], chapters=[3], verses=[16]) pysword-0.2.7/pysword/0000755000175000017500000000000013550677557013340 5ustar bagebagepysword-0.2.7/pysword/sapphire.py0000644000175000017500000002267513550677557015541 0ustar bagebage# -*- coding: utf-8 -*- """ This is a direct port of the original C++ code to Python done by Tomas Groth in 2019. The original copyright note is below. This port is also Public Domain. /* sapphire.cpp -- the Sapphire II stream cipher class. Dedicated to the Public Domain the author and inventor: (Michael Paul Johnson). This code comes with no warranty. Use it at your own risk. Ported from the Pascal implementation of the Sapphire Stream Cipher 9 December 1994. Added hash pre- and post-processing 27 December 1994. Modified initialization to make index variables key dependent, made the output function more resistant to cryptanalysis, and renamed to Sapphire II 2 January 1995 */ """ class Sapphire: def __init__(self, key): """ Constructor. Initializes the stream cipher. :param key: The cipher key to use. """ self.initial_cards = [0] * 256 self.initial_rsum = 0 self.cards = [0] * 256 self.rotor = 0 self.ratchet = 0 self.avalanche = 0 self.last_plain = 0 self.last_cipher = 0 bytes_key = bytearray(key, 'utf-8') if key: self._initialize(bytes_key, len(bytes_key)) def _initialize(self, key, keysize): """ Key size may be up to 256 bytes. Pass phrases may be used directly, with longer length compensating for the low entropy expected in such keys. Alternatively, shorter keys hashed from a pass phrase or generated randomly may be used. For random keys, lengths of from 4 to 16 bytes are recommended, depending on how secure you want this to be. :param key: The cipher key to use. :param keysize: The size of the cipher key. """ # If we have been given no key, assume the default hash setup. if not key: self._hash_init() return # Start with cards all in order, one of each. self.cards = list(range(0, 256)) # Swap the card at each position with some other card. toswap = 0 keypos = 0 # Start with first byte of user key. rsum = 0 for i in range(255, -1, -1): toswap, rsum, keypos = self._keyrand(i, key, keysize, rsum, keypos) swaptemp = self.cards[i] self.cards[i] = self.cards[toswap] self.cards[toswap] = swaptemp # Initialize the indices and data dependencies. # Indices are set to different values instead of all 0 # to reduce what is known about the state of the cards # when the first byte is emitted. self.rotor = self.cards[1] self.ratchet = self.cards[3] self.avalanche = self.cards[5] self.last_plain = self.cards[7] self.last_cipher = self.cards[rsum] # Save initial cards and rsum for easy reset, might be a security risk. # Note that this was added for python and was not in the original C++ code self.initial_cards = self.cards[:] self.initial_rsum = rsum def reset(self): """ Resets the cipher stream for new data. Note that this was added for python and was not in the original C++ code. The data save to be able to reset might be a security risk. """ if self.initial_cards: self.cards = self.initial_cards[:] self.rotor = self.cards[1] self.ratchet = self.cards[3] self.avalanche = self.cards[5] self.last_plain = self.cards[7] self.last_cipher = self.cards[self.initial_rsum] else: self._hash_init() def _keyrand(self, limit, user_key, keysize, rsum, keypos): """ Helper function used to determine which cards to swap randomly based on the user key. :param limit: Value from 0 to limit to return. :param user_key: The user key. :param keysize: Size of the user key. :param keypos: Current position/index of the user key to start from. :return: Three values are returned: card to swap, new rsum, new keypos """ u = limit + 1 # Value from 0 to limit to return. retry_limiter = 0 # No infinite loops allowed. mask = 0 # Select just enough bits. if limit == 0: # Avoid divide by zero error. return 0, rsum, keypos mask = 1 # Fill mask with enough bits to cover while mask < limit: # the desired range. mask = (mask << 1) + 1 while (u > limit): rsum = self.cards[rsum] + user_key[keypos] keypos += 1 if keypos >= keysize: keypos = 0 # Recycle the user key. rsum += keysize # key "aaaa" != key "aaaaaaaa" rsum &= 0xFF u = mask & rsum retry_limiter += 1 if retry_limiter > 11: u %= limit # Prevent very rare long loops. return u, rsum, keypos def _hash_init(self): """ This function is used to initialize non-keyed hash computation. """ # Initialize the indices and data dependencies. self.rotor = 1 self.ratchet = 3 self.avalanche = 5 self.last_plain = 7 self.last_cipher = 11 # Start with cards all in inverse order. self.cards = list(range(255, -1, -1)) def _burn(self): """ Destroy the key and state information in RAM. """ self.initial_cards = [0] * 256 self.initial_rsum = 0 self.cards = [0] * 256 self.rotor = 0 self.ratchet = 0 self.avalanche = 0 self.last_plain = 0 self.last_cipher = 0 def __del__(self): """ Destructor """ self._burn() def encrypt(self, b): """ Picture a single enigma rotor with 256 positions, rewired on the fly by card-shuffling. This cipher is a variant of one invented and written by Michael Paul Johnson in November, 1993. :param b: Byte to encrypt :return: Encrypted byte """ swaptemp = 0 # Shuffle the deck a little more. self.ratchet = (self.ratchet + self.cards[self.rotor]) & 0xFF self.rotor = (1 + self.rotor) & 0xFF swaptemp = self.cards[self.last_cipher] self.cards[self.last_cipher] = self.cards[self.ratchet] self.cards[self.ratchet] = self.cards[self.last_plain] self.cards[self.last_plain] = self.cards[self.rotor] self.cards[self.rotor] = swaptemp self.avalanche = (self.avalanche + self.cards[swaptemp]) & 0xFF # Output one byte from the state in such a way as to make it # very hard to figure out which one you are looking at. self.last_cipher = b ^ self.cards[(self.cards[self.ratchet] + self.cards[self.rotor]) & 0xFF] ^ \ self.cards[self.cards[(self.cards[self.last_plain] + self.cards[self.last_cipher] + self.cards[self.avalanche]) & 0xFF]] self.last_plain = b return self.last_cipher def decrypt_bytes(self, encrypted_data): """ Helper function to make it easier for the users to decrypt data. Added in the python version :param encrypted_data: Bytes to decrypt :return: Decrypted bytes """ self.reset() decrypted_data = [] for b in bytearray(encrypted_data): decrypted_data.append(self.decrypt(b)) # Doing both bytes and bytearray to make it work on both python2 and 3 return bytes(bytearray(decrypted_data)) def decrypt(self, b): """ Decrypts a byte :param b: Byte to decrypt :return: Decrypted byte """ swaptemp = 0 # Shuffle the deck a little more. self.ratchet = (self.ratchet + self.cards[self.rotor]) & 0xFF self.rotor = (1 + self.rotor) & 0xFF swaptemp = self.cards[self.last_cipher] self.cards[self.last_cipher] = self.cards[self.ratchet] self.cards[self.ratchet] = self.cards[self.last_plain] self.cards[self.last_plain] = self.cards[self.rotor] self.cards[self.rotor] = swaptemp self.avalanche = (self.avalanche + self.cards[swaptemp]) & 0xFF # Output one byte from the state in such a way as to make it # very hard to figure out which one you are looking at. self.last_plain = b ^ self.cards[(self.cards[self.ratchet] + self.cards[self.rotor]) & 0xFF] ^ \ self.cards[self.cards[(self.cards[self.last_plain] + self.cards[self.last_cipher] + self.cards[self.avalanche]) & 0xFF]] self.last_cipher = b return self.last_plain def hash_final(self, hashlength): """ Generates a hash of the given length :param hashlength: Length of the hash to generate :return: Decrypted byte """ for i in range(255, -1, -1): self.encrypt(i) hash_out = [] for i in range(0, hashlength): hash_out.append(self.encrypt(0)) # Doing both bytes and bytearray to make it work on both python2 and 3 return bytes(bytearray(hash_out)) pysword-0.2.7/pysword/canons.py0000644000175000017500000050656013550677557015207 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### # List of canons supported by SWORD. # Auto-generated by canon-parser.py, formatted by YAPF canons = { u'kjv': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 10, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [14]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'calvin': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 15, 34, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 38, 38, 28, 25, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 8, 16]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 51, 53, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 28, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 30, 25, 21, 23, 25, 38, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 22, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'catholic': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 66, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 73, 18, 37, 40, 36, 47, 31]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 23, 19, 17, 21, 6, 14, 19, 22, 18, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 54, 53, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 39]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 14, 14, 24, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 24, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 9, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 17, 16, 12, 14, 14]), (u'Wisdom', u'Wis', u'Wis', [16, 24, 19, 20, 23, 25, 30, 21, 19, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 17, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 27, 25, 35, 23, 26, 20, 25, 25, 16, 29, 30 ]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 24, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9, 72]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 34, 30, 29, 28, 27, 27, 21, 45, 13, 64, 43]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 16, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 49, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'catholic2': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 66, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 73, 18, 37, 40, 36, 47, 31]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 23, 19, 17, 21, 6, 14, 19, 22, 18, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 13, 12, 6, 18, 19, 19, 24]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 54, 53, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 39]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 14, 14, 24, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 24, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 9, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 17, 16, 12, 14, 14]), (u'Wisdom', u'Wis', u'Wis', [16, 24, 19, 20, 23, 25, 30, 21, 19, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 17, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 27, 25, 35, 23, 26, 20, 25, 25, 16, 29, 30 ]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 24, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9, 72]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 34, 30, 29, 28, 27, 27, 21, 45, 13, 64, 43]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 16, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 49, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'darbyfr': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 15, 34, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 69, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 38, 38, 27, 25, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 5, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 51, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [52, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'german': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 39, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 73, 18, 37, 40, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 12, 14, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'kjva': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 10, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), (u'I Esdras', u'1Esd', u'1Esd', [58, 30, 24, 63, 73, 34, 15, 96, 55]), (u'II Esdras', u'2Esd', u'2Esd', [40, 48, 36, 52, 56, 59, 70, 63, 47, 59, 46, 51, 58, 48, 63, 78]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 22, 17, 18, 21, 6, 12, 19, 22, 18, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 13, 25]), (u'Additions to Esther', u'AddEsth', u'AddEsth', [1, 1, 1, 1, 1, 1, 1, 1, 1, 13, 12, 6, 18, 19, 16, 24]), (u'Wisdom', u'Wis', u'Wis', [16, 24, 19, 20, 23, 25, 30, 21, 18, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 25, 31, 24, 31, 26, 20, 26, 31, 34, 35, 30, 24, 25, 33, 22, 26, 20, 25, 25, 16, 29, 30 ]), (u'Baruch', u'Bar', u'Bar', [22, 35, 37, 37, 9, 73]), (u'Prayer of Azariah', u'PrAzar', u'PrAzar', [68]), (u'Susanna', u'Sus', u'Sus', [64]), (u'Bel and the Dragon', u'Bel', u'Bel', [42]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [1]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [14]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'leningrad': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 12, 14, 14]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Daniel', u'Dan', u'Dan', [21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 72, 18, 37, 40, 36, 47, 31]), ], u'nt': [], }, u'luther': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 39, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 73, 18, 37, 40, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 12, 14, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), (u'Judith', u'Jdt', u'Jdt', [11, 18, 12, 14, 26, 20, 24, 28, 15, 21, 17, 21, 31, 16, 16, 31]), (u'Wisdom', u'Wis', u'Wis', [16, 25, 19, 20, 24, 27, 30, 21, 19, 21, 26, 27, 19, 31, 19, 29, 21, 25, 21]), (u'Tobit', u'Tob', u'Tob', [25, 23, 25, 22, 29, 23, 20, 23, 12, 13, 20, 22, 22, 17]), (u'Sirach', u'Sir', u'Sir', [ 38, 23, 34, 36, 18, 37, 40, 22, 25, 34, 35, 19, 32, 27, 21, 30, 31, 33, 27, 33, 31, 33, 37, 47, 34, 28, 33, 30, 35, 27, 40, 28, 32, 31, 26, 28, 34, 39, 41, 32, 29, 26, 37, 26, 32, 23, 31, 28, 20, 31, 38 ]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9, 73]), (u'I Maccabees', u'1Macc', u'1Macc', [68, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 54, 54, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 33, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 40]), (u'Additions to Esther', u'AddEsth', u'AddEsth', [4, 8, 12, 12, 16, 9, 8]), (u'Additions to Daniel', u'AddDan', u'AddDan', [64, 41, 66]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [16]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'lxx': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 25, 26, 32, 23, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 39, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 33, 20, 31, 29, 44, 36, 30, 23, 23, 57, 39, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 40, 21, 29, 23, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 40, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 34, 45, 41, 50, 28, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 19, 29, 23, 22, 20, 22, 21, 20, 23, 30, 26, 24, 19, 19, 27, 69, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 16, 27, 26, 35, 33, 43, 23, 24, 33, 15, 64, 10, 18, 28, 54, 9, 49, 34, 16, 36]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 32, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 16, 23, 29, 23, 44, 25, 12, 25, 11, 32, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 26, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 44, 26, 22, 51, 41, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 71, 39, 34, 32, 38, 51, 66, 28, 33, 44, 54, 34, 31, 34, 42, 24, 46, 21, 43, 43, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [22, 25, 27, 44, 27, 35, 20, 29, 37, 36, 21, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 81, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 18, 17, 23, 14, 42, 22, 18, 31, 19, 23, 16, 23, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 31, 31 ]), (u'I Esdras', u'1Esd', u'1Esd', [58, 30, 24, 63, 73, 34, 15, 96, 55]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 37, 23, 19, 19, 73, 18, 38, 40, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 22, 14, 10, 17, 35, 13, 17, 7, 30, 19, 24, 24]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 23, 19, 18, 21, 6, 14, 19, 22, 19, 15]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 54, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 39]), (u'III Maccabees', u'3Macc', u'3Macc', [29, 33, 30, 21, 51, 41, 23]), (u'IV Maccabees', u'4Macc', u'4Macc', [35, 24, 21, 26, 38, 35, 25, 29, 32, 21, 27, 20, 27, 20, 32, 25, 24, 24]), (u'Psalms', u'Ps', u'Ps', [ 6, 13, 9, 9, 13, 11, 18, 10, 40, 8, 9, 6, 7, 6, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 6, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 19, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 7, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 36, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 7, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 15, 10, 8, 12, 15, 22, 10, 11, 20, 14, 9, 6, 7 ]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [15]), (u'Proverbs', u'Prov', u'Prov', [ 35, 23, 38, 28, 23, 40, 28, 37, 25, 33, 31, 31, 27, 36, 38, 33, 30, 24, 29, 30, 31, 31, 36, 77, 31, 29, 29, 30, 49, 35, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 20, 12, 30, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 17, 13, 14, 15]), (u'Job', u'Job', u'Job', [ 22, 18, 26, 21, 27, 30, 22, 22, 35, 22, 20, 25, 28, 22, 35, 23, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 34, 24, 41, 35, 32, 34, 22 ]), (u'Wisdom', u'Wis', u'Wis', [16, 25, 19, 20, 24, 27, 30, 21, 19, 21, 27, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 31, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 40, 31, 26, 33, 31, 26, 31, 31, 35, 35, 30, 27, 27, 33, 24, 26, 20, 25, 25, 16, 29, 30 ]), (u'Psalms of Solomon', u'PssSol', u'PssSol', [8, 41, 16, 29, 22, 9, 10, 40, 20, 9, 9, 8, 12, 10, 15, 15, 51, 14]), (u'Hosea', u'Hos', u'Hos', [11, 25, 5, 19, 15, 12, 16, 14, 17, 15, 12, 15, 16, 10]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 15, 17, 14, 15]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 15, 16, 20]), (u'Joel', u'Joel', u'Joel', [20, 32, 21, 21]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 11, 10, 11]), (u'Nahum', u'Nah', u'Nah', [15, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 21]), (u'Haggai', u'Hag', u'Hag', [15, 24]), (u'Zechariah', u'Zech', u'Zech', [21, 17, 11, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24, 6]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 26, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 20, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 42, 10, 39, 28, 46, 64, 31, 33, 47, 44, 24, 22, 19, 32, 24, 40, 44, 26, 22, 22, 32, 30, 28, 28, 16, 44, 38, 46, 63, 34 ]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Epistle of Jeremiah', u'EpJer', u'EpJer', [73]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 13, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Prayer of Azariah', u'PrAzar', u'PrAzar', [68]), (u'Susanna', u'Sus', u'Sus', [64]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 37, 31, 29, 28, 27, 27, 21, 45, 13]), (u'Bel and the Dragon', u'Bel', u'Bel', [42]), (u'I Enoch', u'1En', u'1En', [ 9, 3, 1, 1, 10, 8, 6, 4, 11, 22, 2, 6, 10, 25, 12, 4, 8, 16, 3, 8, 10, 14, 4, 6, 7, 6, 5, 3, 2, 3, 3, 6, 4, 3, 1, 4, 6, 6, 14, 10, 9, 3, 4, 1, 6, 8, 4, 10, 4, 5, 5, 9, 7, 10, 4, 8, 3, 6, 3, 25, 13, 16, 12, 2, 12, 3, 13, 5, 30, 4, 17, 37, 8, 17, 9, 14, 9, 17, 6, 8, 10, 20, 11, 6, 10, 6, 4, 3, 77, 43, 19, 17, 14, 11, 7, 8, 10, 16, 16, 13, 9, 11, 15, 13, 2, 19, 3, 15 ]), (u'Odes', u'Odes', u'Odes', [19, 43, 10, 20, 20, 19, 45, 88, 79, 88, 55, 32, 79, 46]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [52, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 26, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 9, 21, 18, 24, 21, 15, 27, 21]), ], }, u'mt': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 54, 33, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 30, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 35, 28, 32, 22, 29, 35, 41, 30, 25, 19, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 31, 19, 29, 23, 22, 20, 22, 21, 20, 23, 29, 26, 22, 19, 19, 26, 69, 28, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 16, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 32, 44, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 20, 32, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 20, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 25, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 27, 5, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [17, 17, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 32, 26, 17 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 12, 14, 14]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Daniel', u'Dan', u'Dan', [21, 49, 33, 34, 30, 29, 28, 27, 27, 21, 45, 13]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 38, 17, 19, 19, 72, 18, 37, 40, 36, 47, 31]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 66, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 17, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), ], u'nt': [], }, u'nrsv': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 10, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'nrsva': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 16, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 42, 15, 23, 29, 22, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 30, 24, 34, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 8, 8, 12, 10, 17, 9, 20, 18, 7, 8, 6, 7, 5, 11, 15, 50, 14, 9, 13, 31, 6, 10, 22, 12, 14, 9, 11, 12, 24, 11, 22, 22, 28, 12, 40, 22, 13, 17, 13, 11, 5, 26, 17, 11, 9, 14, 20, 23, 19, 9, 6, 7, 23, 13, 11, 11, 17, 12, 8, 12, 11, 10, 13, 20, 7, 35, 36, 5, 24, 20, 28, 23, 10, 12, 20, 72, 13, 19, 16, 8, 18, 12, 13, 17, 7, 18, 52, 17, 16, 15, 5, 23, 11, 13, 12, 9, 9, 5, 8, 28, 22, 35, 45, 48, 43, 13, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 13, 10, 7, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 16, 20, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 13, 13, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 10, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 22, 18, 16, 21, 6, 13, 18, 22, 17, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Esther (Greek)', u'EsthGr', u'EsthGr', [22, 23, 15, 17, 14, 14, 10, 17, 32, 13, 12, 6, 18, 19, 16, 24]), (u'Wisdom', u'Wis', u'Wis', [16, 24, 19, 20, 23, 25, 30, 21, 18, 21, 26, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 30, 31, 28, 27, 27, 34, 26, 29, 30, 26, 28, 25, 31, 24, 33, 31, 26, 31, 31, 34, 35, 30, 22, 25, 33, 23, 26, 20, 25, 25, 16, 29, 30 ]), (u'Baruch', u'Bar', u'Bar', [22, 35, 37, 37, 9, 73]), (u'Prayer of Azariah', u'PrAzar', u'PrAzar', [68]), (u'Susanna', u'Sus', u'Sus', [64]), (u'Bel and the Dragon', u'Bel', u'Bel', [42]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39]), (u'I Esdras', u'1Esd', u'1Esd', [58, 30, 24, 63, 73, 34, 15, 96, 55]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [15]), (u'Additional Psalm', u'AddPs', u'AddPs', [7]), (u'III Maccabees', u'3Macc', u'3Macc', [29, 33, 30, 21, 51, 41, 23]), (u'II Esdras', u'2Esd', u'2Esd', [40, 48, 36, 52, 56, 59, 140, 63, 47, 59, 46, 51, 58, 48, 63, 78]), (u'IV Maccabees', u'4Macc', u'4Macc', [35, 24, 21, 26, 38, 35, 23, 29, 32, 21, 27, 19, 27, 20, 32, 25, 24, 24]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'orthodox': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 25, 26, 32, 23, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 39, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 33, 20, 31, 29, 44, 36, 30, 23, 23, 57, 39, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 37, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 40, 21, 29, 23, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 40, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 34, 45, 41, 50, 28, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 40, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 19, 29, 23, 22, 20, 22, 21, 20, 23, 30, 26, 24, 19, 19, 27, 69, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 16, 27, 26, 35, 33, 43, 23, 24, 33, 15, 64, 10, 18, 28, 54, 9, 49, 34, 16, 36]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 32, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 16, 23, 29, 23, 44, 25, 12, 25, 11, 32, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 26, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 44, 26, 22, 51, 41, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 71, 39, 34, 32, 38, 51, 66, 28, 33, 44, 54, 34, 31, 34, 42, 24, 46, 21, 43, 43, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [22, 25, 27, 44, 27, 35, 20, 29, 37, 36, 21, 22, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 41, 81, 40, 40, 44, 14, 47, 41, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 18, 18, 17, 23, 14, 42, 22, 18, 31, 19, 23, 16, 23, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 31, 31 ]), (u'I Esdras', u'1Esd', u'1Esd', [58, 30, 24, 63, 73, 34, 15, 96, 55]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 37, 23, 19, 19, 73, 18, 38, 40, 36, 47, 31]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 23, 19, 18, 21, 6, 14, 19, 22, 19, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 22, 14, 10, 17, 35, 13, 17, 7, 30, 19, 24, 24]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 54, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 32, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 39]), (u'III Maccabees', u'3Macc', u'3Macc', [29, 33, 30, 21, 51, 41, 23]), (u'Psalms', u'Ps', u'Ps', [ 6, 13, 9, 9, 13, 11, 18, 10, 40, 8, 9, 6, 7, 6, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 6, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 19, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 7, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 36, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 7, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 15, 10, 8, 12, 15, 22, 10, 11, 20, 14, 9, 6, 7 ]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [15]), (u'Job', u'Job', u'Job', [ 22, 18, 26, 21, 27, 30, 22, 22, 35, 22, 20, 25, 28, 22, 35, 23, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 34, 24, 41, 35, 32, 34, 22 ]), (u'Proverbs', u'Prov', u'Prov', [ 35, 23, 38, 28, 23, 40, 28, 37, 25, 33, 31, 31, 27, 36, 38, 33, 30, 24, 29, 30, 31, 31, 36, 77, 31, 29, 29, 30, 49, 35, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 20, 12, 30, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 17, 13, 14, 15]), (u'Wisdom', u'Wis', u'Wis', [16, 25, 19, 20, 24, 27, 30, 21, 19, 21, 27, 27, 19, 31, 19, 29, 21, 25, 22]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 31, 15, 37, 36, 19, 18, 31, 34, 18, 26, 27, 20, 30, 32, 33, 31, 32, 28, 27, 28, 34, 26, 29, 30, 26, 28, 40, 31, 26, 33, 31, 26, 31, 31, 35, 35, 30, 27, 27, 33, 24, 26, 20, 25, 25, 16, 29, 30 ]), (u'Hosea', u'Hos', u'Hos', [11, 25, 5, 19, 15, 12, 16, 14, 17, 15, 12, 15, 16, 10]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 15, 17, 14, 15]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 15, 16, 20]), (u'Joel', u'Joel', u'Joel', [20, 32, 21, 21]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [17, 11, 10, 11]), (u'Nahum', u'Nah', u'Nah', [15, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 21]), (u'Haggai', u'Hag', u'Hag', [15, 24]), (u'Zechariah', u'Zech', u'Zech', [21, 17, 11, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 24, 6]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 26, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 20, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 23, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 42, 10, 39, 28, 46, 64, 31, 33, 47, 44, 24, 22, 19, 32, 24, 40, 44, 26, 22, 22, 32, 30, 28, 28, 16, 44, 38, 46, 63, 34 ]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Epistle of Jeremiah', u'EpJer', u'EpJer', [73]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 13, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Susanna', u'Sus', u'Sus', [64]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 37, 31, 29, 28, 27, 27, 21, 45, 13]), (u'Bel and the Dragon', u'Bel', u'Bel', [42]), (u'IV Maccabees', u'4Macc', u'4Macc', [35, 24, 21, 26, 38, 35, 25, 29, 32, 21, 27, 20, 27, 20, 32, 25, 24, 24]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [52, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 41, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 26, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 14]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 9, 21, 18, 24, 21, 15, 27, 21]), ], }, u'segond': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 29, 28, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 26, 23, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 16, 33, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 15, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 23, 14, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 38, 38, 28, 25, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 21, 18, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 8, 18, 19, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 20, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 8, 16]), (u'Song of Solomon', u'Song', u'Song', [17, 17, 11, 16, 16, 12, 14, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 23, 20, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 11, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 44, 37, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 30, 37, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [9, 25, 5, 19, 15, 11, 16, 14, 17, 15, 11, 15, 16, 9]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 14, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [14, 14, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 51, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'synodal': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 56, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 15, 34, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 16, 26, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 36]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [12]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'I Esdras', u'1Esd', u'1Esd', [58, 31, 24, 63, 70, 34, 15, 92, 55]), (u'Tobit', u'Tob', u'Tob', [22, 14, 17, 21, 22, 18, 17, 21, 6, 13, 18, 22, 18, 15]), (u'Judith', u'Jdt', u'Jdt', [16, 28, 10, 15, 24, 21, 32, 36, 14, 23, 23, 20, 20, 19, 14, 25]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 35, 27, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 39, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 9, 10, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 7, 12, 15, 21, 10, 11, 9, 14, 9, 6, 7 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 29, 23, 35, 27, 36, 18, 32, 31, 28, 26, 35, 33, 33, 28, 25, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [16, 17, 11, 16, 16, 12, 14, 14]), (u'Wisdom', u'Wis', u'Wis', [16, 24, 19, 20, 24, 27, 30, 21, 19, 21, 27, 28, 19, 31, 19, 29, 20, 25, 21]), (u'Sirach', u'Sir', u'Sir', [ 30, 18, 31, 35, 18, 37, 39, 22, 23, 34, 34, 18, 32, 27, 20, 31, 31, 33, 28, 31, 31, 31, 37, 37, 29, 27, 33, 30, 31, 27, 37, 25, 33, 26, 23, 29, 34, 39, 42, 32, 29, 26, 36, 27, 31, 23, 31, 28, 18, 31, 38 ]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 25, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Epistle of Jeremiah', u'EpJer', u'EpJer', [72]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 34, 31, 28, 28, 27, 27, 21, 45, 13, 64, 42]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), (u'I Maccabees', u'1Macc', u'1Macc', [64, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 53, 53, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 33, 40, 50, 27, 31, 42, 36, 29, 38, 38, 45, 26, 46, 39]), (u'III Maccabees', u'3Macc', u'3Macc', [25, 24, 22, 16, 36, 37, 20]), (u'II Esdras', u'2Esd', u'2Esd', [40, 48, 36, 52, 56, 59, 70, 63, 47, 60, 46, 51, 58, 48, 63, 78]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 26, 33, 24]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 32, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'synodalprot': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 32, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 33, 26 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 38 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 56, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 46, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 35, 15, 34, 45, 41, 50, 13, 32, 22, 29, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 24, 16, 26, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 45, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 31, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 25]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 53]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 47, 40, 14, 17, 29, 43, 27, 17, 19, 8, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 32, 23, 19, 19, 73, 18, 38, 39, 36, 47, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 3]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 22, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 35, 27, 26, 17 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 12, 9, 9, 13, 11, 18, 10, 39, 7, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 5, 27, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 14, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 9, 10, 2, 29, 176, 7, 8, 9, 4, 8, 5, 6, 5, 6, 8, 8, 3, 18, 3, 3, 21, 26, 9, 8, 24, 14, 10, 7, 12, 15, 21, 10, 11, 9, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 12, 29, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [16, 17, 11, 16, 16, 12, 14, 14]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 25, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 25, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 21, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 10, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 33, 34, 31, 28, 28, 27, 27, 21, 45, 13]), (u'Hosea', u'Hos', u'Hos', [11, 23, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 14, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 15, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [15, 23]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 27, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 41, 43, 56, 37, 38, 50, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 71, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 60, 40, 43, 48, 30, 25, 52, 28, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 26, 33, 24]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 32, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 17, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), ], }, u'vulg': { u'ot': [ (u'Genesis', u'Gen', u'Gen', [ 31, 25, 24, 26, 31, 22, 24, 22, 29, 32, 32, 20, 18, 24, 21, 16, 27, 33, 38, 18, 34, 24, 20, 67, 34, 35, 46, 22, 35, 43, 55, 32, 20, 31, 29, 43, 36, 30, 23, 23, 57, 38, 34, 34, 28, 34, 31, 22, 32, 25 ]), (u'Exodus', u'Exod', u'Exod', [ 22, 25, 22, 31, 23, 30, 25, 32, 35, 29, 10, 51, 22, 31, 27, 36, 16, 27, 25, 26, 36, 31, 33, 18, 40, 37, 21, 43, 46, 38, 18, 35, 23, 35, 35, 38, 29, 31, 43, 36 ]), (u'Leviticus', u'Lev', u'Lev', [ 17, 16, 17, 35, 19, 30, 38, 36, 24, 20, 47, 8, 59, 57, 33, 34, 16, 30, 37, 27, 24, 33, 44, 23, 55, 45, 34 ]), (u'Numbers', u'Num', u'Num', [ 54, 34, 51, 49, 31, 27, 89, 26, 23, 36, 34, 15, 34, 45, 41, 50, 13, 32, 22, 30, 35, 41, 30, 25, 18, 65, 23, 31, 39, 17, 54, 42, 56, 29, 34, 13 ]), (u'Deuteronomy', u'Deut', u'Deut', [ 46, 37, 29, 49, 33, 25, 26, 20, 29, 22, 32, 32, 18, 29, 23, 22, 20, 22, 21, 20, 23, 30, 25, 22, 19, 19, 26, 68, 29, 20, 30, 52, 29, 12 ]), (u'Joshua', u'Josh', u'Josh', [18, 24, 17, 25, 16, 27, 26, 35, 27, 43, 23, 24, 33, 15, 63, 10, 18, 28, 51, 9, 43, 34, 16, 33]), (u'Judges', u'Judg', u'Judg', [36, 23, 31, 24, 32, 40, 25, 35, 57, 18, 40, 15, 25, 20, 20, 31, 13, 31, 30, 48, 24]), (u'Ruth', u'Ruth', u'Ruth', [22, 23, 18, 22]), (u'I Samuel', u'1Sam', u'1Sam', [ 28, 36, 21, 22, 12, 21, 17, 22, 27, 27, 15, 25, 23, 52, 35, 23, 58, 30, 24, 43, 15, 23, 28, 23, 44, 25, 12, 25, 11, 31, 13 ]), (u'II Samuel', u'2Sam', u'2Sam', [27, 32, 39, 12, 25, 23, 29, 18, 13, 19, 27, 31, 39, 33, 37, 23, 29, 33, 43, 26, 22, 51, 39, 25]), (u'I Kings', u'1Kgs', u'1Kgs', [53, 46, 28, 34, 18, 38, 51, 66, 28, 29, 43, 33, 34, 31, 34, 34, 24, 46, 21, 43, 29, 54]), (u'II Kings', u'2Kgs', u'2Kgs', [18, 25, 27, 44, 27, 33, 20, 29, 37, 36, 21, 21, 25, 29, 38, 20, 41, 37, 37, 21, 26, 20, 37, 20, 30]), (u'I Chronicles', u'1Chr', u'1Chr', [ 54, 55, 24, 43, 26, 81, 40, 40, 44, 14, 46, 40, 14, 17, 29, 43, 27, 17, 19, 7, 30, 19, 32, 31, 31, 32, 34, 21, 30 ]), (u'II Chronicles', u'2Chr', u'2Chr', [ 17, 18, 17, 22, 14, 42, 22, 18, 31, 19, 23, 16, 22, 15, 19, 14, 19, 34, 11, 37, 20, 12, 21, 27, 28, 23, 9, 27, 36, 27, 21, 33, 25, 33, 27, 23 ]), (u'Ezra', u'Ezra', u'Ezra', [11, 70, 13, 24, 17, 22, 28, 36, 15, 44]), (u'Nehemiah', u'Neh', u'Neh', [11, 20, 31, 23, 19, 19, 73, 18, 38, 39, 36, 46, 31]), (u'Tobit', u'Tob', u'Tob', [25, 23, 25, 23, 28, 22, 20, 24, 12, 13, 21, 22, 23, 17]), (u'Judith', u'Jdt', u'Jdt', [12, 18, 15, 17, 29, 21, 25, 34, 19, 20, 21, 20, 31, 18, 15, 31]), (u'Esther', u'Esth', u'Esth', [22, 23, 15, 17, 14, 14, 10, 17, 32, 13, 12, 6, 18, 19, 19, 24]), (u'Job', u'Job', u'Job', [ 22, 13, 26, 21, 27, 30, 21, 22, 35, 22, 20, 25, 28, 22, 35, 23, 16, 21, 29, 29, 34, 30, 17, 25, 6, 14, 23, 28, 25, 31, 40, 22, 33, 37, 16, 33, 24, 41, 35, 28, 25, 16 ]), (u'Psalms', u'Ps', u'Ps', [ 6, 13, 9, 10, 13, 11, 18, 10, 39, 8, 9, 6, 7, 5, 11, 15, 51, 15, 10, 14, 32, 6, 10, 22, 12, 14, 9, 11, 13, 25, 11, 22, 23, 28, 13, 40, 23, 14, 18, 14, 12, 6, 26, 18, 12, 10, 15, 21, 23, 21, 11, 7, 9, 24, 13, 12, 12, 18, 14, 9, 13, 12, 11, 14, 20, 8, 36, 37, 6, 24, 20, 28, 23, 11, 13, 21, 72, 13, 20, 17, 8, 19, 13, 14, 17, 7, 19, 53, 17, 16, 16, 5, 23, 11, 13, 12, 9, 9, 5, 8, 29, 22, 35, 45, 48, 43, 14, 31, 7, 10, 10, 9, 26, 9, 10, 2, 29, 176, 7, 8, 9, 4, 8, 5, 7, 5, 6, 8, 8, 3, 18, 3, 3, 21, 27, 9, 8, 24, 14, 10, 8, 12, 15, 21, 10, 11, 9, 14, 9, 6 ]), (u'Proverbs', u'Prov', u'Prov', [ 33, 22, 35, 27, 23, 35, 27, 36, 18, 32, 31, 28, 25, 35, 33, 33, 28, 24, 29, 30, 31, 29, 35, 34, 28, 28, 27, 28, 27, 33, 31 ]), (u'Ecclesiastes', u'Eccl', u'Eccl', [18, 26, 22, 17, 19, 11, 30, 17, 18, 20, 10, 14]), (u'Song of Solomon', u'Song', u'Song', [16, 17, 11, 16, 17, 12, 13, 14]), (u'Wisdom', u'Wis', u'Wis', [16, 25, 19, 20, 24, 27, 30, 21, 19, 21, 27, 27, 19, 31, 19, 29, 20, 25, 20]), (u'Sirach', u'Sir', u'Sir', [ 40, 23, 34, 36, 18, 37, 40, 22, 25, 34, 36, 19, 32, 27, 22, 31, 31, 33, 28, 33, 31, 33, 38, 47, 36, 28, 33, 30, 35, 27, 42, 28, 33, 31, 26, 28, 34, 39, 41, 32, 28, 26, 37, 27, 31, 23, 31, 28, 19, 31, 38 ]), (u'Isaiah', u'Isa', u'Isa', [ 31, 22, 26, 6, 30, 13, 25, 22, 21, 34, 16, 6, 22, 32, 9, 14, 14, 7, 25, 6, 17, 25, 18, 23, 12, 21, 13, 29, 24, 33, 9, 20, 24, 17, 10, 22, 38, 22, 8, 31, 29, 25, 28, 28, 26, 13, 15, 22, 26, 11, 23, 15, 12, 17, 13, 12, 21, 14, 21, 22, 11, 12, 19, 12, 25, 24 ]), (u'Jeremiah', u'Jer', u'Jer', [ 19, 37, 25, 31, 31, 30, 34, 22, 26, 25, 23, 17, 27, 22, 21, 21, 27, 23, 15, 18, 14, 30, 40, 10, 38, 24, 22, 17, 32, 24, 40, 44, 26, 22, 19, 32, 20, 28, 18, 16, 18, 22, 13, 30, 5, 28, 7, 47, 39, 46, 64, 34 ]), (u'Lamentations', u'Lam', u'Lam', [22, 22, 66, 22, 22]), (u'Baruch', u'Bar', u'Bar', [22, 35, 38, 37, 9, 72]), (u'Ezekiel', u'Ezek', u'Ezek', [ 28, 9, 27, 17, 17, 14, 27, 18, 11, 22, 25, 28, 23, 23, 8, 63, 24, 32, 14, 49, 32, 31, 49, 27, 17, 21, 36, 26, 21, 26, 18, 32, 33, 31, 15, 38, 28, 23, 29, 49, 26, 20, 27, 31, 25, 24, 23, 35 ]), (u'Daniel', u'Dan', u'Dan', [21, 49, 100, 34, 31, 28, 28, 27, 27, 21, 45, 13, 65, 42]), (u'Hosea', u'Hos', u'Hos', [11, 24, 5, 19, 15, 11, 16, 14, 17, 15, 12, 14, 15, 10]), (u'Joel', u'Joel', u'Joel', [20, 32, 21]), (u'Amos', u'Amos', u'Amos', [15, 16, 15, 13, 27, 15, 17, 14, 15]), (u'Obadiah', u'Obad', u'Obad', [21]), (u'Jonah', u'Jonah', u'Jonah', [16, 11, 10, 11]), (u'Micah', u'Mic', u'Mic', [16, 13, 12, 13, 14, 16, 20]), (u'Nahum', u'Nah', u'Nah', [15, 13, 19]), (u'Habakkuk', u'Hab', u'Hab', [17, 20, 19]), (u'Zephaniah', u'Zeph', u'Zeph', [18, 15, 20]), (u'Haggai', u'Hag', u'Hag', [14, 24]), (u'Zechariah', u'Zech', u'Zech', [21, 13, 10, 14, 11, 15, 14, 23, 17, 12, 17, 14, 9, 21]), (u'Malachi', u'Mal', u'Mal', [14, 17, 18, 6]), (u'I Maccabees', u'1Macc', u'1Macc', [67, 70, 60, 61, 68, 63, 50, 32, 73, 89, 74, 54, 54, 49, 41, 24]), (u'II Maccabees', u'2Macc', u'2Macc', [36, 33, 40, 50, 27, 31, 42, 36, 29, 38, 38, 46, 26, 46, 40]), ], u'nt': [ (u'Matthew', u'Matt', u'Matt', [ 25, 23, 17, 25, 48, 34, 29, 34, 38, 42, 30, 50, 58, 36, 39, 28, 26, 35, 30, 34, 46, 46, 39, 51, 46, 75, 66, 20 ]), (u'Mark', u'Mark', u'Mark', [45, 28, 35, 40, 43, 56, 37, 39, 49, 52, 33, 44, 37, 72, 47, 20]), (u'Luke', u'Luke', u'Luke', [80, 52, 38, 44, 39, 49, 50, 56, 62, 42, 54, 59, 35, 35, 32, 31, 37, 43, 48, 47, 38, 71, 56, 53]), (u'John', u'John', u'John', [51, 25, 36, 54, 47, 72, 53, 59, 41, 42, 57, 50, 38, 31, 27, 33, 26, 40, 42, 31, 25]), (u'Acts', u'Acts', u'Acts', [ 26, 47, 26, 37, 42, 15, 59, 40, 43, 48, 30, 25, 52, 27, 41, 40, 34, 28, 40, 38, 40, 30, 35, 27, 27, 32, 44, 31 ]), (u'Romans', u'Rom', u'Rom', [32, 29, 31, 25, 21, 23, 25, 39, 33, 21, 36, 21, 14, 23, 33, 27]), (u'I Corinthians', u'1Cor', u'1Cor', [31, 16, 23, 21, 13, 20, 40, 13, 27, 33, 34, 31, 13, 40, 58, 24]), (u'II Corinthians', u'2Cor', u'2Cor', [24, 17, 18, 18, 21, 18, 16, 24, 15, 18, 33, 21, 13]), (u'Galatians', u'Gal', u'Gal', [24, 21, 29, 31, 26, 18]), (u'Ephesians', u'Eph', u'Eph', [23, 22, 21, 32, 33, 24]), (u'Philippians', u'Phil', u'Phil', [30, 30, 21, 23]), (u'Colossians', u'Col', u'Col', [29, 23, 25, 18]), (u'I Thessalonians', u'1Thess', u'1Thess', [10, 20, 13, 18, 28]), (u'II Thessalonians', u'2Thess', u'2Thess', [12, 17, 18]), (u'I Timothy', u'1Tim', u'1Tim', [20, 15, 16, 16, 25, 21]), (u'II Timothy', u'2Tim', u'2Tim', [18, 26, 17, 22]), (u'Titus', u'Titus', u'Titus', [16, 15, 15]), (u'Philemon', u'Phlm', u'Phlm', [25]), (u'Hebrews', u'Heb', u'Heb', [14, 18, 19, 16, 14, 20, 28, 13, 28, 39, 40, 29, 25]), (u'James', u'Jas', u'Jas', [27, 26, 18, 17, 20]), (u'I Peter', u'1Pet', u'1Pet', [25, 25, 22, 19, 14]), (u'II Peter', u'2Pet', u'2Pet', [21, 22, 18]), (u'I John', u'1John', u'1John', [10, 29, 24, 21, 21]), (u'II John', u'2John', u'2John', [13]), (u'III John', u'3John', u'3John', [15]), (u'Jude', u'Jude', u'Jude', [25]), (u'Revelation of John', u'Rev', u'Rev', [20, 29, 22, 11, 14, 17, 17, 13, 21, 11, 19, 18, 18, 20, 8, 21, 18, 24, 21, 15, 27, 21]), (u'Prayer of Manasses', u'PrMan', u'PrMan', [15]), (u'I Esdras', u'1Esd', u'1Esd', [58, 31, 24, 63, 73, 34, 15, 97, 56]), (u'II Esdras', u'2Esd', u'2Esd', [40, 48, 36, 52, 56, 59, 140, 63, 47, 60, 46, 51, 58, 48, 63, 78]), (u'Additional Psalm', u'AddPs', u'AddPs', [7]), (u'Laodiceans', u'EpLao', u'EpLao', [20]), ], }, } pysword-0.2.7/pysword/canon-parser.py0000644000175000017500000001446313550677557016312 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### # Util to convert SWORD canon header files into pysword format. # Place the script in the same folder as the canon header files and run like this: # python3 canon-parser.py > canons.py def parse_canon_header(canon_name, canon_filename, otbook_struct_filename, ntbook_struct_filename): # Open file canon_header_file = open(canon_filename, 'rt') fulltext = canon_header_file.read() canon_header_file.close() if otbook_struct_filename: otbook_struct_file = open(otbook_struct_filename, 'rt') otbook_struct_fulltext = otbook_struct_file.read() otbook_struct_file.close() else: otbook_struct_fulltext = fulltext if ntbook_struct_filename: ntbook_struct_file = open(ntbook_struct_filename, 'rt') ntbook_struct_fulltext = ntbook_struct_file.read() ntbook_struct_file.close() else: ntbook_struct_fulltext = fulltext # Detect if OT books are listed otbooks_pos = otbook_struct_fulltext.find('struct sbook otbooks') if otbooks_pos > 0: # Find the declaration of the OT struct, first instance of "struct sbook otbooks[] = {", # but we just search for the last part ot_struct_start = otbook_struct_fulltext.find('= {', otbooks_pos) + 4 # Find end of OT struct ot_struct_end = otbook_struct_fulltext.find('};', ot_struct_start) # Extract OT struct ot_struct = otbook_struct_fulltext[ot_struct_start:ot_struct_end] else: ot_struct = '' # Detect if NT books are listed ntbooks_pos = ntbook_struct_fulltext.find('struct sbook ntbooks') if ntbooks_pos > 0: # Find start NT struct nt_struct_start = ntbook_struct_fulltext.find('= {', ntbooks_pos) + 4 # Find end of NT struct nt_struct_end = ntbook_struct_fulltext.find('};', nt_struct_start) # Extract NT struct nt_struct = ntbook_struct_fulltext[nt_struct_start:nt_struct_end] else: nt_struct = '' verse_struct_loc = fulltext.find('int vm') # Find start verse number struct verse_struct_start = fulltext.find('= {', verse_struct_loc) + 4 # Find end verse number struct verse_struct_end = fulltext.find('};', verse_struct_start) # Extract verse struct verse_struct = fulltext[verse_struct_start:verse_struct_end] # Convert/evaluate the ot and nt structs into python ot = eval('[' + ot_struct.replace('{', '[').replace('}', ']') + ']') nt = eval('[' + nt_struct.replace('{', '[').replace('}', ']') + ']') # Convert/evaluate the verse struct into python verses_per_chapter = eval('[' + verse_struct.replace('//', '#') + ']') # Print the structure in the format pysword uses idx = 0 print('u%r : {' % canon_name) for testament, contents in (('ot', ot), ('nt', nt)): print('u%r: [' % testament) for num, (name, osis, pref_abbr, num_chapters) in enumerate(contents): new_idx = idx + num_chapters if name: print('(u%r, u%r, u%r, %r),' % (name, osis, pref_abbr, verses_per_chapter[idx:new_idx])) idx = new_idx print('],') print('},') if __name__ == '__main__': print(u'canons = {') # The canons and where to get ot, nt booklists. None means the file itself has it. canons = [ (u'kjv', u'canon.h', None, None), (u'calvin', u'canon_calvin.h', u'canon.h', u'canon.h'), (u'catholic', u'canon_catholic.h', None, u'canon.h'), (u'catholic2', u'canon_catholic2.h', None, u'canon.h'), (u'darbyfr', u'canon_darbyfr.h', u'canon.h', u'canon.h'), (u'german', u'canon_german.h', None, u'canon.h'), (u'kjva', u'canon_kjva.h', None, u'canon.h'), (u'leningrad', u'canon_leningrad.h', None, None), (u'luther', u'canon_luther.h', None, None), (u'lxx', u'canon_lxx.h', None, u'canon.h'), (u'mt', u'canon_mt.h', None, None), (u'nrsv', u'canon_nrsv.h', u'canon.h', u'canon.h'), (u'nrsva', u'canon_nrsva.h', None, u'canon.h'), (u'orthodox', u'canon_orthodox.h', None, u'canon.h'), (u'segond', u'canon_segond.h', u'canon.h', u'canon.h'), (u'synodal', u'canon_synodal.h', None, None), (u'synodalprot', u'canon_synodalprot.h', None, u'canon_synodal.h'), (u'vulg', u'canon_vulg.h', None, None) ] for canon in canons: parse_canon_header(*canon) print(u'}') pysword-0.2.7/pysword/utils.py0000644000175000017500000000567713550677557015071 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various Pysword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os import sys try: import pathlib pathlib_available = True except ImportError: pathlib_available = False PY3 = sys.version_info > (3,) def path_like_to_str(path): """ Take an object and convert it to a string representation of a file path. :param path: The object to convert, should be an `os.PathLike` object, a `pathlib.Path` object or a str object :return: The string representation of the path """ if PY3: if isinstance(path, str): return path if hasattr(path, '__fspath__'): # py 3.6 and above implemented os.PathLike objects, which make use if the __fspath__ method. return os.fspath(path) if pathlib_available and isinstance(path, pathlib.Path): # py 3.4 and 3.5 have the pathlib.Path object, but it doesn't have the fspath interface. return str(path) else: if isinstance(path, unicode): return path raise TypeError pysword-0.2.7/pysword/bible.py0000644000175000017500000005030013550677557014765 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import io import os import struct import zlib import bz2 import sys from pysword.books import BibleStructure from pysword.cleaner import OSISCleaner, GBFCleaner, ThMLCleaner from pysword.utils import path_like_to_str from pysword.sapphire import Sapphire PY3 = sys.version_info > (3,) if PY3: import lzma class SwordModuleType: RAWTEXT = u'rawtext' RAWTEXT4 = u'rawtext4' ZTEXT = u'ztext' ZTEXT4 = u'ztext4' class BlockType: BOOK = u'BOOK' CHAPTER = u'CHAPTER' VERSE = u'VERSE' @staticmethod def get_file_ext_first_letter(block_type): """ Return the first letter of modules file extensions based on the block type. :param block_type: Type of block, can be BOOK, CHAPTER or VERSE. :return: The first letter of modules file extensions based on the block type. """ if block_type == BlockType.BOOK: return u'b' elif block_type == BlockType.CHAPTER: return u'c' elif block_type == BlockType.VERSE: return u'v' else: return u'' class CompressType: ZIP = u'ZIP' BZIP2 = u'BZIP2' XZ = u'XZ' LZSS = u'LZSS' class Testament(object): """ :class:`Testament` manages the file for each testament. """ def __init__(self, testament_name, **kwargs): """ Load the files specified in `kwargs` and keep a handle for the files. :param str testament_name: Name of the testament this instance represents. :param dict[str] kwargs: A dictionary of files to load. """ self.name = testament_name self._open_files = [] for key, value in kwargs.items(): file_handle = io.open(value, u'rb') setattr(self, key, file_handle) self._open_files.append(file_handle) # Set a size attribute. Should be named v2b_size, b2l_size, text_size size_key = '%s_size' % key.split(u'_')[0] setattr(self, size_key, os.fstat(file_handle.fileno()).st_size) def __del__(self): """ Ensure that the file open handles are closed when the :class:Testament object is deleted. :rtype: None """ for file_handle in self._open_files: file_handle.close() class SwordBible(object): """ :class:`SwordBible` is an abstract base class containing the core common functionality required by each SWORD module type. """ def __new__(cls, *args, **kwargs): """ Override the creation of a new instance of this class, instead create an instance of the specific subclass as specified by the module_type parameter. :param args: The positional arguments that this method was called with. :param kwargs: The keyword arguments that this method was called with. :return: The subclass required to parse the module specified by the module_type parmeter. """ if cls != SwordBible: # The user has chosen the specific Module type the wish to use. Lets assume they know best and go with it return super(SwordBible, cls).__new__(cls) module_type = None if 'module_type' in kwargs: module_type = kwargs['module_type'] elif len(args) >= 2: # The module_type parameter was not specified with a keyword and there are two or more positional arguments, # so the second positional argument must be the module_type module_type = args[1] # Validate the module type if module_type and module_type not in [SwordModuleType.RAWTEXT, SwordModuleType.RAWTEXT4, SwordModuleType.ZTEXT, SwordModuleType.ZTEXT4]: raise ValueError(u'ModDrv/module_type "%s" is not supported.' % module_type) if not module_type: module_type = SwordModuleType.ZTEXT return super(SwordBible, cls).__new__(SwordBible._MODULE_CLASSES[module_type]) def __init__(self, module_path, module_type=None, versification=u'kjv', encoding=None, source_type=u'OSIS', block_type=BlockType.BOOK, compress_type=CompressType.ZIP, cipherkey=None): """ Initialize the SwordBible object. :param module_path: Path to SWORD modules datapath. :param module_type: Types as defined by SwordModuleType, defaults to SwordModuleType.ZText :param versification: Versification used for bible, defaults to 'kjv'. :param encoding: Encoding used by the bible, should be either 'utf-8' or 'latin1'. :param source_type: Type of (possible) tags in the text, can be 'OSIS', 'GBF' or 'ThML'. :param block_type: Type of block used for this module, can be BOOK, CHAPTER or VERSE. :param compress_type: Type of compression used for this module, can be ZIP, BZIP2, XZ or LZSS. :param cipherkey: Cipher to use to decrypt text. """ self._encoding = encoding self._block_type = block_type self._compress_type = compress_type self._setup(module_path, versification, source_type, cipherkey) def _setup(self, module_path, versification, source_type, cipherkey): """ Preform setup separate from __init__ to allow easier patching when testing :raise IOError: If files cannot be opened. :raise ValueError: If unknown module_type is supplied. """ try: self._module_path = path_like_to_str(module_path) except TypeError: raise TypeError(u'`module_path` should be a str, PathLike object or an instance of pathlib.Path') self._testaments = {} self._load_testament('ot') self._load_testament('nt') if not self._testaments: raise IOError(u'Could not open OT or NT for module') # Create cleaner to remove OSIS or GBF tags if source_type: if source_type.upper() == u'THML': self._cleaner = ThMLCleaner() elif source_type.upper() == u'GBF': self._cleaner = GBFCleaner() else: self._cleaner = OSISCleaner() else: self._cleaner = OSISCleaner() self._structure = BibleStructure(versification, self._testaments) # Initialise decryption if needed if cipherkey: self._sappire_decryptor = Sapphire(cipherkey) else: self._sappire_decryptor = None def _decode_bytes(self, byte_data): """ Decode the param:`byte_data`. If instance variable :ivar:`_encoding` has been set use that exclusively. Otherwise assume utf-8. If that fails set :ivar:`_encoding` so that the rest of the document is decoded as cp1252 (a superset of latin-1/iso-8859-1) :param byte_data: The data to decode. str in Py2, bytes in Py3 :return: The decoded data. unicode in Py2, str in Py3 """ if not self._encoding: # No encoding specified try utf-8 try: unicode_data = byte_data.decode(u'utf-8', u'strict') except UnicodeDecodeError as u: # Fallback to decoding the rest of the document as cp1252 (a superset of latin-1/iso-8859-1) self._encoding = u'cp1252' if self._encoding: unicode_data = byte_data.decode(self._encoding, u'replace') return unicode_data def _load_testament(self, testament_name): """ `_load_testament` needs to be reimplemented in the specific module subclass. :param testament_name: The name of the testament to be loaded. :rtype: None """ raise NotImplemented('`_load_testament` needs to be overridden') # USER FACING ################################################################################# def get_iter(self, books=None, chapters=None, verses=None, clean=True): """ Retrieve the text for a given reference as a dict. :param books: Single book name or an array of book names :param chapters: Single chapter number or an array of chapter numbers :param verses: Single verse number or an array of verse numbers :param clean: True for cleaning text for tags, False to keep them. :return: iterator for the dict that contains the text """ indicies = self._structure.ref_to_indicies(books=books, chapters=chapters, verses=verses) for testament, idxs in indicies.items(): for idx in idxs: text = self._text_for_index(testament, idx) if text is None: continue if clean and self._cleaner and '<' in text: text = self._cleaner.clean(text) yield text def get(self, books=None, chapters=None, verses=None, clean=True, join='\n'): """ Retrieve the text for a given reference. :param books: Single book name or an array of book names :param chapters: Single chapter number or an array of chapter numbers :param verses: Single verse number or an array of verse numbers :param clean: True for cleaning text for tags, False to keep them. :param join: The char/string that should be used to mark a new verse, defaults to newline :return: the text for the reference. """ output = [] output.extend(list(self.get_iter(books=books, chapters=chapters, verses=verses, clean=clean))) return join.join(output) def get_structure(self): """ Retrieve the structure of this bible. :return: BibleStructure of this bible """ return self._structure class RawTextModule(SwordBible): """ :class:`RawTextModule` subclasses :class:`SwordBible` allowing the RawText version of SWORD bibles to be parsed. """ def __init__(self, *args, **kwargs): """ Initalise the instance, setting some specific instance variables for parsing raw text SWORD bibles. :param args: Positional arguments to pass on to the super class. :param kwargs: Keyword arguments to pass on to the super class. """ super(RawTextModule, self).__init__(*args, **kwargs) self._verse_record_format = ' self._testaments[testament].v2l_size: return u'' verse_to_loc = self._testaments[testament].v2l_name text = self._testaments[testament].text_name # Read the verse record. verse_to_loc.seek(self._verse_record_size * index) verse_start, verse_len = struct.unpack(self._verse_record_format, verse_to_loc.read(self._verse_record_size)) # Verify that the data is available if (verse_start + verse_len) > self._testaments[testament].text_size: return b'' text.seek(verse_start) ret_text = text.read(verse_len) # Decrypt if neccesary if self._sappire_decryptor: ret_text = self._sappire_decryptor.decrypt_bytes(ret_text) return self._decode_bytes(ret_text) class RawTextModule4(RawTextModule): """ Subclass the :class:`RawTextModule` to allow parsing SWORD bibles that use the Raw Text Specification. """ def __init__(self, *args, **kwargs): """ Initalise the instance, setting some specific instance variables for parsing raw text SWORD bibles. :param args: Positional arguments to pass on to the super class. :param kwargs: Keyword arguments to pass on to the super class. """ super(RawTextModule4, self).__init__(*args, **kwargs) self._verse_record_format = ' self._testaments[testament].v2b_size: return u'' verse_to_buf = self._testaments[testament].v2b_name # Read the verse record. verse_to_buf.seek(self._verse_record_size * index) buf_num, verse_start, verse_len = struct.unpack(self._verse_record_format, verse_to_buf.read(self._verse_record_size)) decompressed_text = self._decompressed_text(testament, buf_num) return self._decode_bytes(decompressed_text[verse_start:verse_start + verse_len]) def _decompressed_text(self, testament, buf_num): """ Decompress ztext at given position. :param testament: 'ot' or 'nt' :param buf_num: Buffer to read :return: The decompressed text """ # Verify that the data is available if ((buf_num + 1) * 12) > self._testaments[testament].b2l_size: return b'' buf_to_loc = self._testaments[testament].b2l_name text = self._testaments[testament].text_name # Determine where the compressed data starts and ends. buf_to_loc.seek(buf_num * 12) offset, size, uc_size = struct.unpack(' self._testaments[testament].text_size: return b'' # Get the compressed data. text.seek(offset) compressed_data = text.read(size) # Decrypt if neccesary if self._sappire_decryptor: compressed_data = self._sappire_decryptor.decrypt_bytes(compressed_data) # Decompress decompressed_data = self._decompress(compressed_data) return decompressed_data def _decompress(self, compressed_data): """ Decompress data using algorithm the modules uses :param data: The to decompress :return: The decompressed text """ decompressed_data = b'' if self._compress_type == CompressType.ZIP: try: decompressed_data = zlib.decompress(compressed_data) except zlib.error: decompressed_data = b'' elif self._compress_type == CompressType.BZIP2: try: decompressed_data = bz2.decompress(compressed_data) except Exception: decompressed_data = b'' elif self._compress_type == CompressType.XZ: if PY3: try: decompressed_data = lzma.decompress(compressed_data) except Exception: decompressed_data = b'' else: raise NotImplementedError(u'XZ compressed modules is not supported under python2') elif self._compress_type == CompressType.LZSS: raise NotImplementedError(u'LZSS compressed modules is not yet supported') return decompressed_data class ZTextModule4(ZTextModule): def __init__(self, *args, **kwargs): """ Initalise the instance, setting some specific instance variables for parsing raw text SWORD bibles. :param args: Positional arguments to pass on to the super class. :param kwargs: Keyword arguments to pass on to the super class. """ super(ZTextModule4, self).__init__(*args, **kwargs) self._verse_record_format = ' (3,) class BookStructure(object): def __init__(self, name, osis_name, preferred_abbreviation, chapter_lengths): """ :param name: Full English name of book :param osis_name: Abbreviation of book :param preferred_abbreviation: Preferred abbreviation of book :param chapter_lengths: List containing the number of verses for each chapter. """ self.name = name self.osis_name = osis_name self.preferred_abbreviation = preferred_abbreviation self.chapter_lengths = chapter_lengths self.num_chapters = len(chapter_lengths) def __repr__(self): return u'Book(%s)' % self.name def name_matches(self, name): """ Check if a name matches the name of this book. :param name: The name to match :return: True if matching else False """ name = name.lower() return name in [self.name.lower(), self.osis_name.lower(), self.preferred_abbreviation.lower()] def chapter_offset(self, chapter_index): """ Get offset based on chapter :param chapter_index: The chapter index to calculate from. :return: The calculated offset. """ # Add chapter lengths to this point; plus 1 for every chapter title; plus 1 for book title return sum(self.chapter_lengths[:chapter_index]) + (chapter_index + 1) + 1 def get_indicies(self, chapters=None, verses=None, offset=0): """ Get indicies for given chapter(s) and verse(s). :param chapters: Single chapter number or an array of chapter numbers :param verses: Single verse number or an array of verse numbers :param offset: The offset to used for this book when reading from file. :return: An array of indicies. """ if chapters is None: chapters = list(range(1, self.num_chapters+1)) elif isinstance(chapters, int): chapters = [chapters] if len(chapters) != 1: verses = None elif isinstance(verses, int): verses = [verses] refs = [] for chapter in chapters: if chapter > self.num_chapters: raise ValueError(u'Book "%s" only have %d chapters.' % (self.name, self.num_chapters)) if verses is None: tmp_verses = list(range(1, self.chapter_lengths[chapter-1]+1)) else: tmp_verses = verses if tmp_verses[-1] > self.chapter_lengths[chapter-1]: raise ValueError(u'Book "%s", chapter %d, only have %d verses.' % (self.name, chapter, self.chapter_lengths[chapter-1])) refs.extend([offset + self.chapter_offset(chapter-1) + verse-1 for verse in tmp_verses]) return refs @property def size(self): """ Size of book. """ # Total verses + chapter heading for each chapter + 1 for book title return sum(self.chapter_lengths) + len(self.chapter_lengths) + 1 class BibleStructure(object): def __init__(self, versification, testaments=[u'ot', u'nt']): """ Initialize structure based on the versification. :param versification: The versification to use. :param testaments: List of testaments in this bible, must be 'ot' and/or 'nt' """ self._book_offsets = None # offsets within sections self._books = {} # Find the canon used. The canons are original defined in SWORD header files. if versification not in canons.keys(): raise ValueError('The versification "%s" is unknown!' % versification) else: canon = canons[versification] # Based on the canon create the BookStructure objects needed for testament in testaments: self._books[testament] = [] for book in canon[testament]: self._books[testament].append(BookStructure(*book)) def _update_book_offsets(self): """ Compute index offsets and add other data """ # FIXME: this is still a little hairy. self._book_offsets = {} for testament, books in self._books.items(): idx = 2 # start after the testament heading for book in books: self._book_offsets[book.name] = idx offset = 1 # start after the book heading idx += book.size def _book_offset(self, book_name): """ Find offset for the given book :param book_name: Name of book to find offset for :return: The offset """ if self._book_offsets is None: self._update_book_offsets() return self._book_offsets[book_name] def find_book(self, name): """ Find book :param name: The book to find :return: A tuple of the testament the book is in ('ot' or 'nt') and a BookStructure object. :raise ValueError: If the book is not in this BibleStructure. """ name = name.lower() for testament, books in self._books.items(): for num, book in enumerate(books): if book.name_matches(name): return testament, book raise ValueError(u'Book name "%s" does not exist in BibleStructure.' % name) def ref_to_indicies(self, books=None, chapters=None, verses=None): """ Get references to indicies for given book(s), chapter(s) and verse(s). :param books: Single book name or an array of book names :param chapters: Single chapter number or an array of chapter numbers :param verses: Single verse number or an array of verse numbers :return: """ # TODO: CHECK NOT OVERSPECIFIED if books is None: # Return all books books = [] for section in self._books: books.extend([b.name for b in self._books[section]]) # It is needed to check for both str and unicode for python2 support elif isinstance(books, str) or not PY3 and isinstance(books, unicode): books = [books] refs = {} for book in books: testament, book = self.find_book(book) if testament not in refs: refs[testament] = [] refs[testament].extend(book.get_indicies(chapters=chapters, verses=verses, offset=self._book_offset(book.name))) # Deal with the one book presented. return refs def get_books(self): """ Return the bookstructure for this bible. :return: book structure """ return self._books pysword-0.2.7/pysword/cleaner.py0000644000175000017500000001615113550677557015327 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import re class Cleaner(object): def __init(self): pass def clean(self, text): pass class OSISCleaner(Cleaner): """ Class to clean text of OSIS tags. OSIS spec can be found here: http://www.bibletechnologies.net/ """ def __init__(self): self.__setup() def __setup(self): """ Compile regular expressions that will be used to remove OSIS tags. Not all OSIS tags are "mentioned" here since we should only have to deal with those that can be found in the biblical texts. """ remove_content_tagnames = [r'note', r'milestone', r'title', r'abbr', r'catchWord', r'index', r'rdg', r'rdgGroup', r'figure'] self.__remove_tags_regexes = [] for tag_name in remove_content_tagnames: tag_regex = r'<' + tag_name + r'.*?' + tag_name + r'>' self.__remove_tags_regexes.append(re.compile(tag_regex, re.IGNORECASE)) single_tag_regex = r'<' + tag_name + r'[^<]*/>' self.__remove_tags_regexes.append(re.compile(single_tag_regex, re.IGNORECASE)) keep_content_tagnames = [r'p', r'l', r'lg', r'q', r'a', r'w', r'divineName', r'foreign', r'hi', r'inscription', r'mentioned', r'name', r'reference', r'seg', r'transChange', r'salute', r'signed', r'closer', r'speech', r'speaker', r'list', r'item', r'table', r'head', r'row', r'cell', r'caption', r'chapter', r'div'] for tag_name in keep_content_tagnames: begin_tag_regex = r'<' + tag_name + r'.*?>' self.__remove_tags_regexes.append(re.compile(begin_tag_regex, re.IGNORECASE)) end_tag_regex = r'' self.__remove_tags_regexes.append(re.compile(end_tag_regex, re.IGNORECASE)) # Just remove if tag appear in single form single_tag_regex = r'<' + tag_name + r'[^<]*/>' self.__remove_tags_regexes.append(re.compile(single_tag_regex, re.IGNORECASE)) def clean(self, text): """ Clean text for OSIS tags. :param text: The text to be cleaned :return: The cleaned text is returned """ text = re.sub(r'(<[^\>]+type="x-br"[^\>]+\>)', r'\1 ', text) for regex in self.__remove_tags_regexes: text = regex.sub(u'', text) return text class GBFCleaner(Cleaner): """ Class to clean text of GBF tags. GBF spec can be found here: http://ebible.org/bible/gbf.htm """ def __init__(self): self.__setup() def __setup(self): """ Compile regular expressions that will be used to remove GBF 'tags'. Not all GBF tags are "mentioned" here since we should only have to deal with those that can be found in the biblical texts. """ remove_content_tags = [r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'.*?', r'', r'', r'', r'', r'', r'', r'', r'', r'', r'', r'', r'', r'', r'', r''] self.__remove_content_regexes = [] for tag in remove_content_tags: self.__remove_content_regexes.append(re.compile(tag)) def clean(self, text): """ Clean text for GBF tags. :param text: The text to be cleaned :return: The cleaned text is returned """ for regex in self.__remove_content_regexes: text = regex.sub(u'', text) # TODO: Support special char tags and return text class ThMLCleaner(Cleaner): """ Class to clean text of ThML tags. ThML spec can be found here: https://www.ccel.org/ThML/ """ def __init__(self): self.__setup() def __setup(self): """ Compile regular expressions that will be used to remove ThML tags. Not all ThML tags are "mentioned" here since we should only have to deal with those that can be found in the biblical texts. """ remove_content_tags = [r'.*?', r'.*?', r'<.*?>'] self.__remove_content_regexes = [] for tag in remove_content_tags: self.__remove_content_regexes.append(re.compile(tag)) def clean(self, text): """ Clean text for ThML tags. :param text: The text to be cleaned :return: The cleaned text is returned """ for regex in self.__remove_content_regexes: text = regex.sub(u'', text) return text pysword-0.2.7/LICENSE0000644000175000017500000000221413550677557012635 0ustar bagebageCopyright (c) 2008-2019 Various PySword developers: Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, Matthew Wardrop Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. pysword-0.2.7/README.rst0000644000175000017500000000461113550677557013322 0ustar bagebage.. image:: https://gitlab.com/tgc-dk/pysword/badges/master/build.svg :target: https://gitlab.com/tgc-dk/pysword/pipelines .. image:: https://ci.appveyor.com/api/projects/status/7n8848av82arr9xv?svg=true :target: (https://ci.appveyor.com/project/OpenLP/pysword A native Python reader of the SWORD Project Bible Modules This project is **not** an official `CrossWire `_ project. It merely provides an alternative way to read the bible modules created by CrossWires `SWORD `_ project. Features -------- - Read SWORD bibles (not commentaries etc.) - Detection of locally installed bible modules. - Supports all known SWORD module formats (ztext, ztext4, rawtext, rawtext4) - Read from zipped modules, like those available from http://www.crosswire.org/sword/modules/ModDisp.jsp?modType=Bibles - Clean text of OSIS, GBF or ThML tags. - Supports both python 2.7 and 3.3+ [*]_ (CI tested with 2.7 to 3.7) .. [*] pysword makes use of io.open (introduced in python 2.6 and the unicode literal (available in pyhton 2 and reintroduced in python 3.3 - PEP 414) License ------- PySword is and can be distributed under the `MIT license `_ Installation ------------ PySwords source code can be downloaded from PySwords `release list `_, but it is also available from `PyPI `_ for install using ``pip``:: pip install pysword It also available for `ArchLinux (AUR) `_ and `Fedora `_ and will soon be available as a package in Debian. Run tests --------- To run the testsuite, first run the script that download the files used for testing, and then use nosetests to run the testsuite: .. code:: sh $ python tests/resources/download_bibles.py $ nosetests -v tests/ The tests should run and pass using both python 2 and 3. Using PySword ------------- Read the `documentation `_ for how to use pysword and to see the API docs. Contributing ------------ If you want to contribute, you are most welcome to do so! Feel free to report issues and create merge request at https://gitlab.com/tgc-dk/pysword If you create a merge request please include a test the proves that your code actually works. pysword-0.2.7/tests/0000755000175000017500000000000013550677557012773 5ustar bagebagepysword-0.2.7/tests/test_sapphire.py0000644000175000017500000000601213550677557016216 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os import sys from tests import TestCase from pysword.sapphire import Sapphire class TestSapphire(TestCase): def test_sapphire_encrypt_and_decrypt(self): """ Test that sapphire can encrypt and decrypt """ # GIVEN: A cipherkey, a text and the Sapphire stream class cipherkey = 'qwerty' text = 'pysword' sap = Sapphire(cipherkey) # WHEN: Encrypting the text encrypted = [] for b in bytearray(text, 'utf-8'): encrypted.append(sap.encrypt(b)) # THEN: The output should be encrypted as expected assert encrypted == [95, 56, 27, 126, 46, 13, 112] # GIVEN: A reset Sapphire stream class sap.reset() # WHEN: Decrypting the encrypted data decrypted = [] for b in bytearray(encrypted): decrypted.append(sap.decrypt(b)) decrypted_data = bytes(bytearray(decrypted)) # THEN: Then decrypted data should match the original data assert decrypted_data.decode() == text pysword-0.2.7/tests/test_bibleStructure.py0000644000175000017500000000647613550677557017417 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### from tests import MagicMock, TestCase from pysword.books import BibleStructure class TestBibleStructure(TestCase): def test_init_invalid_versification(self): """ Test that BibleStructure raises an exception on invalid versification """ # GIVEN: An invalid versification versification = u'does_not_exists' # WHEN: Creating a new BibleStructure # THEN: An ValueError exception should be raised self.assertRaises(ValueError, BibleStructure, versification) def test_ref_to_indicies(self): """ Test that ref_to_indicies can handle unicode and non-unicode input, only makes sense for python2 """ # GIVEN: A bible structure with mocked find_book bible_structure = BibleStructure(u'kjv') mocked_find_book = MagicMock() mocked_find_book.return_value = ('mocked_testament', MagicMock()) bible_structure.find_book = mocked_find_book bible_structure._book_offset = MagicMock() # WHEN: Calling ref_to_indicies with both str and unicode input bible_structure.ref_to_indicies('test') bible_structure.ref_to_indicies(u'test') # THEN: The mocked find_book should have been called twice self.assertEqual(mocked_find_book.call_count, 2, u'The mocked find_book should have been called twice') pysword-0.2.7/tests/test_files.py0000644000175000017500000001741213550677557015513 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os from tests.test_utils import TestCase from pysword.modules import SwordModules TEST_RESOURCE_FOLDER = os.path.join(os.path.dirname(os.path.realpath(__file__)), u'resources') class TestModules(TestCase): def test_load_finpr_zip(self): """ Test that the FinPR.zip file is loaded correctly. """ # GIVEN: The FinPR.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'FinPR.zip')) # WHEN: Parsing the FinPR module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'FinPR') output = bible.get(books=[u'john'], chapters=[3], verses=[16]) # THEN: The FinPR module should be the only one found. And the passage should be equal to the known text. assert u'FinPR' in found_modules assert len(found_modules) == 1 assert output == u'Sillä niin on Jumala maailmaa rakastanut, että hän antoi ainokaisen Poikansa, ' \ u'ettei yksikään, joka häneen uskoo, hukkuisi, vaan hänellä olisi iankaikkinen elämä.' def test_load_chipinyin_zip(self): """ Test that the chipinyin.zip file is loaded correctly. """ # GIVEN: The chipinyin.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'chipinyin.zip')) # WHEN: Parsing the chipinyin module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'ChiPinyin') output = bible.get(books=[u'john'], chapters=[3], verses=[16]) # THEN: The ChiPinyin module should be the only one found. And the passage should be equal to the known text. assert u'ChiPinyin' in found_modules assert len(found_modules) == 1 assert output == u' Shén aì shìrén , shènzhì jiāng tāde dú shēng zǐ cìgĕi tāmen , jiào yīqiè xìn tāde , bú ' \ u'zhì mièwáng , fǎn dé yǒngshēng . ' def test_load_bsv_zip(self): """ Test that the bsv.zip file is loaded correctly. """ # GIVEN: The bsv.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'bsv.zip')) # WHEN: Parsing the BSV module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'BSV') output = bible.get(books=[u'john'], chapters=[3], verses=[16]) # THEN: The BSV module should be the only one found. And the passage should be equal to the known text. assert u'BSV' in found_modules assert len(found_modules) == 1 assert output == u'For God so loved the world, that he gave his only begotten Son, that whoever believes in ' \ u'him should not perish, but have everlasting life.' def test_load_asv_zip(self): """ Test that the ASV.zip file is loaded correctly. """ # GIVEN: The ASV.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'ASV.zip')) # WHEN: Parsing the ASV module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'ASV') output = bible.get(books=[u'gen'], chapters=[3], verses=[20]) # THEN: The ASV module should be the only one found. And the passage should be equal to the known text. assert u'ASV' in found_modules assert len(found_modules) == 1 assert output == u'And the man called his wife’s name Eve; because she was the mother of all living.' def test_load_aranav_zip(self): """ Test that the AraNAV.zip file is loaded correctly. """ # GIVEN: The AraNAV.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'AraNAV.zip')) # WHEN: Parsing the AraNAV module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'AraNAV') output = bible.get(books=[u'rev'], chapters=[22], verses=[19]) # THEN: The AraNAV module should be the only one found. assert u'AraNAV' in found_modules assert len(found_modules) == 1 # The passage should be empty since that verse is not in this translation. assert output.strip() == u' وَلْتَكُنْ نِعْمَةُ رَبِّنَا يَسُوعَ الْمَسِيحِ مَعَكُمْ جَمِيعاً.'.strip() def test_load_sparv1909_zip(self): """ Test that the encrypted SpaRV1909.zip file is loaded correctly. """ # GIVEN: The SpaRV1909.zip file modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'SpaRV1909.zip')) # WHEN: Parsing the SpaRV1909 module and reading a passage. found_modules = modules.parse_modules() bible = modules.get_bible_from_module(u'SpaRV1909') output = bible.get(books=[u'gen'], chapters=[3], verses=[20]) # THEN: The SpaRV1909 module should be the only one found. And the passage should be equal to the known text. assert u'SpaRV1909' in found_modules assert len(found_modules) == 1 print(output) assert output == u'Y llamó el hombre el nombre de su mujer, Eva; por cuanto ella era madre de todos ' \ u'los vivientes.' # WHEN: Reading a second passage output = bible.get(books=[u'john'], chapters=[3], verses=[17]) # THEN: The the passage should be equal to the expected text assert output == u'Porque no envió Dios á su Hijo al mundo para que condene al mundo, mas para ' \ u'que el mundo sea salvo por él.' pysword-0.2.7/tests/test_swordBible.py0000644000175000017500000003246013550677557016505 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os from tests import MagicMock, TestCase, call, patch from pysword.bible import RawTextModule, RawTextModule4, SwordModuleType, SwordBible, Testament, ZTextModule, \ ZTextModule4 TEST_RESOURCE_FOLDER = os.path.join(os.path.dirname(os.path.realpath(__file__)), u'resources') class TestBookStructure(TestCase): @patch('pysword.bible.Testament') def test_init_only_one_testament(self, mocked_testament): """ Test that when loading a bible with only one testament, only that testament is available """ # GIVEN: A mocked _get_ztext_files method in SwordBible mocked_testament.side_effect = [True, IOError('Not good')] # WHEN: Creating a SwordBible bible = SwordBible(u'test_path', SwordModuleType.ZTEXT, u'kjv', 'utf-8', u'OSIS') # THEN: Only 'nt' should have been loaded testaments = list(bible._testaments.keys()) self.assertListEqual(testaments, [u'ot'], u'Only "ot" files should be available') @patch('pysword.bible.SwordBible._setup') def test_init(self, patched_sword_bible_setup): """ Test that the init loading of bible works """ # GIVEN: A bible path = os.path.join(TEST_RESOURCE_FOLDER, u'modules', u'texts', u'ztext', u'finpr') # WHEN: Loading the bible bible = SwordBible(path) # THEN: It should load self.assertIsNotNone(bible, u'The bible should have loaded') class TestSwordBible(TestCase): """ Test the :class:`pysword.bible.SwordBible` class. """ def setUp(self): setup_patcher = patch('pysword.bible.SwordBible._setup') self.addCleanup(setup_patcher.stop) setup_patcher.start() def test_instantiation_default(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance without any module_type specified instance = SwordBible('path') # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule` self.assertIsInstance(instance, ZTextModule) self.assertFalse(isinstance(instance, ZTextModule4)) def test_instantiation_raw_text(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of raw text instance = SwordBible('path', SwordModuleType.RAWTEXT) # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule` self.assertIsInstance(instance, RawTextModule) self.assertFalse(isinstance(instance, RawTextModule4)) def test_instantiation_raw_text_keyword(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of raw text as specified by a keyword argument instance = SwordBible('path', module_type=SwordModuleType.RAWTEXT) # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule` self.assertIsInstance(instance, RawTextModule) self.assertFalse(isinstance(instance, RawTextModule4)) def test_instantiation_raw_text_4(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of raw text 4 instance = SwordBible('path', SwordModuleType.RAWTEXT4) # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule4` self.assertIsInstance(instance, RawTextModule4) def test_instantiation_z_text(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of z text instance = SwordBible('path', SwordModuleType.ZTEXT) # THEN: The instance should be an instance of the :class:`pysword.bible.ZTextModule` self.assertIsInstance(instance, ZTextModule) self.assertFalse(isinstance(instance, ZTextModule4)) def test_instantiation_z_text_4(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of z text 4 instance = SwordBible('path', SwordModuleType.ZTEXT4) # THEN: The instance should be an instance of the :class:`pysword.bible.ZTextModule4` self.assertIsInstance(instance, ZTextModule4) def test_instantiation_invalid_type(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The SwordBible class # WHEN: Creating an instance with a module_type of zLD # THEN: A ValueError should be raised self.assertRaises(ValueError, SwordBible, 'path', 'zLD') def test_direct_instantiation_raw_text(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The :class:`pysword.bible.RawTextModule` # WHEN: Creating an instance of it instance = RawTextModule('path') # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule` self.assertIsInstance(instance, RawTextModule) def test_direct_instantiation_raw_text_34(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The :class:`pysword.bible.RawTextModule4` # WHEN: Creating an instance of it instance = RawTextModule4('path') # THEN: The instance should be an instance of the :class:`pysword.bible.RawTextModule4` self.assertIsInstance(instance, RawTextModule4) def test_direct_instantiation_z_text(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The :class:`pysword.bible.ZTextModule` # WHEN: Creating an instance of it instance = ZTextModule('path') # THEN: The instance should be an instance of the :class:`pysword.bible.ZTextModule` self.assertIsInstance(instance, ZTextModule) def test_direct_instantiation_z_text_4(self): """ Test that the instance returned is an instance of the correct class. """ # GIVEN: The :class:`pysword.bible.ZTextModule4` # WHEN: Creating an instance of it instance = ZTextModule4('path') # THEN: The instance should be an instance of the :class:`pysword.bible.ZTextModule4` self.assertIsInstance(instance, ZTextModule4) class TestDecodeBytesPy2(TestCase): def setUp(self): self.setup_patcher = patch.object(SwordBible, '_setup') self.addCleanup(self.setup_patcher.stop) self.setup_patcher.start() def test_decode_bytes_utf8(self): """ Test SwordBible._decode_bytes when called with a Py2 str / Py3 bytes object encoded with utf-8 """ # GIVEN: A Py2 str / Py3 bytes object which has been encoded from utf-8 bible_instance = SwordBible('module_path') unicode_data = u'Finnish Pyhä Raamattu (1933/1938)' byte_data = unicode_data.encode('utf-8') # WHEN: Calling `_decode_bytes` result = bible_instance._decode_bytes(byte_data) # THEN: The result should be equal to the original unicode data. `_encoding` should still be None, as it was # successfully decoded in the try statment block self.assertEqual(unicode_data, result) self.assertEqual(bible_instance._encoding, None) def test_decode_bytes_iso_8859_1(self): """ Test SwordBible._decode_bytes when called with a Py2 str / Py3 bytes object encoded with iso-8859-1 """ # GIVEN: A Py2 str / Py3 bytes object which has been encoded from iso-8859-1 bible_instance = SwordBible('module_path') unicode_data = u'Finnish Pyhä Raamattu (1933/1938)' byte_data = unicode_data.encode(u'iso-8859-1') # WHEN: Calling `_decode_bytes` result = bible_instance._decode_bytes(byte_data) # THEN: The result should be equal to the original unicode data. `_encoding` should be set to `iso-8859-1` as # the statment block failed. self.assertEqual(unicode_data, result) self.assertEqual(bible_instance._encoding, u'cp1252') def test_decode_bytes_specified_encoding(self): """ Test SwordBible._decode_bytes when called with a Py2 str / Py3 bytes object encoded by the encoding specified in the initialisation of the SwordBible object """ # GIVEN: A Py2 str / Py3 bytes object which has been encoded from utf-16, and when the encoding has # been specified. bible_instance = SwordBible('module_path', encoding='utf-16') unicode_data = u'Finnish Pyhä Raamattu (1933/1938)' byte_data = unicode_data.encode('utf-16') # WHEN: Calling `_decode_bytes` result = bible_instance._decode_bytes(byte_data) # THEN: The result should be equal to the original unicode data. `_encoding` should be set to encoding specified self.assertEqual(unicode_data, result) self.assertEqual(bible_instance._encoding, 'utf-16') class TestTestamentClass(TestCase): """ Tests to test the :class:`pysword.bible.Testament` class. """ @patch(u'pysword.bible.io') def test_instantiation(self, mocked_io): """ Test the instantation of the :class:`pysword.bible.Testament` class """ # GIVEN: The Testament class # WHEN: Instantiating it. instance = Testament(u'nt', test_file_1=u'test_1.ext', test_file_2=u'test_2.ext', test_file_3=u'test_3.ext') # THEN: An attribute should have been created for each file handler that was opened. io.open should have been # called with each file. self.assertTrue(hasattr(instance, u'test_file_1')) self.assertTrue(hasattr(instance, u'test_file_2')) self.assertTrue(hasattr(instance, u'test_file_3')) # Prior to Py3.6 the order of keyword arguments was not guaranteed. mocked_io.open.assert_has_calls( [call(u'test_1.ext', u'rb'), call(u'test_2.ext', u'rb'), call(u'test_3.ext', u'rb')], any_order=True) self.assertEqual(mocked_io.open.call_count, 3) @patch(u'pysword.bible.io') def test_deletion(self, mocked_io): """ Test the deletion of and instance of the :class:`pysword.bible.Testament` class """ file_handle_1_mock = MagicMock() file_handle_2_mock = MagicMock() file_handle_3_mock = MagicMock() mocked_io.open.side_effect = [file_handle_1_mock, file_handle_2_mock, file_handle_3_mock] # GIVEN: An instance of the Testament class instance = Testament('nt', test_file_1=u'test_1.ext', test_file_2=u'test_2.ext', test_file_3=u'test_3.ext') # WHEN: Deleting the instance del instance # THEN: Each file should have been closed file_handle_1_mock.close.assert_called_once_with() file_handle_2_mock.close.assert_called_once_with() file_handle_3_mock.close.assert_called_once_with() pysword-0.2.7/tests/test_OSISCleaner.py0000644000175000017500000000507213550677557016457 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### from tests import TestCase from pysword.cleaner import OSISCleaner class TestOSISCleaner(TestCase): def test_brx_type_tags(self): """ Test that OSISCleaner inserts space when tags of type x-br is encountered """ # GIVEN: A text with a tag of type x-br and a OSISCleaer text = 'the way of sinners,nor ' cleaner = OSISCleaner() # WHEN: Cleaning the text output = cleaner.clean(text) # THEN: A space should have been inserted self.assertEqual(output, 'the way of sinners, nor ') pysword-0.2.7/tests/resources/0000755000175000017500000000000013550677557015005 5ustar bagebagepysword-0.2.7/tests/resources/download_bibles.py0000644000175000017500000000534313550677557020513 0ustar bagebage#!/usr/bin/python # -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # This program is free software; you can redistribute it and/or modify it # # under the terms of the GNU General Public License as published by the Free # # Software Foundation; version 2 of the License. # # # # This program is distributed in the hope that it will be useful, but WITHOUT # # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # # more details. # # # # You should have received a copy of the GNU General Public License along # # with this program; if not, write to the Free Software Foundation, Inc., 51 # # Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # ############################################################################### import zipfile import os try: import urllib.request as urllib except: import urllib def get_and_extract(url, filename): """ Downloads and extract bibles for testing """ target_folder = os.path.dirname(os.path.realpath(__file__)) target_file = os.path.join(target_folder, filename) print(u'Downloading from %s...' % url) urllib.urlretrieve(url, target_file) print('Extracting %s...' % filename) with zipfile.ZipFile(target_file, u'r') as z: z.extractall(target_folder) bibles = [(u'ftp://ftp.xiphos.org/zip/chipinyin.zip', u'chipinyin.zip'), (u'ftp://ftp.xiphos.org/zip/bsv.zip', u'bsv.zip'), (u'http://www.crosswire.org/ftpmirror/pub/sword/packages/rawzip/FinPR.zip', u'FinPR.zip'), (u'http://www.crosswire.org/ftpmirror/pub/sword/packages/rawzip/ASV.zip', u'ASV.zip'), (u'http://www.crosswire.org/ftpmirror/pub/sword/packages/rawzip/AraNAV.zip', u'AraNAV.zip'), (u'http://www.crosswire.org/ftpmirror/pub/sword/packages/rawzip/SpaRV1909.zip', u'SpaRV1909.zip'), ] for bible in bibles: get_and_extract(bible[0], bible[1]) pysword-0.2.7/tests/test_bookStructure.py0000644000175000017500000000605413550677557017264 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### from tests import TestCase from pysword.books import BookStructure class TestBookStructure(TestCase): def test_get_indicies_invalid_chapter(self): """ Test that get_indicies() throws exception on invalid chapter """ # GIVEN: A test BookStructure with 4 chapters structure = BookStructure(u'test name', u'test osis name', u'test abbr', [31, 25, 24, 26]) # WHEN: Calling get_indicies() with an invalid chapter parameter # THEN: An ValueError exception should be thrown self.assertRaises(ValueError, structure.get_indicies, 5, 1) def test_get_indicies_invalid_verse(self): """ Test that get_indicies() throws exception on invalid verse """ # GIVEN: A test BookStructure with 4 chapters structure = BookStructure(u'test name', u'test osis name', u'test abbr', [31, 25, 24, 26]) # WHEN: Calling get_indicies() with an invalid verse parameter # THEN: An ValueError exception should be thrown self.assertRaises(ValueError, structure.get_indicies, 3, 25) pysword-0.2.7/tests/__init__.py0000644000175000017500000000427013550677557015107 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### from unittest import skipUnless, TestCase try: from unittest.mock import MagicMock, call, patch except: # Use the back port for mock for versions < Py3.3 from mock import MagicMock, call, patch pysword-0.2.7/tests/test_swordModules.py0000644000175000017500000001252613550677557017101 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os from tests import TestCase, patch from pysword.modules import SwordModules from pysword.bible import BlockType, CompressType TEST_RESOURCE_FOLDER = os.path.join(os.path.dirname(os.path.realpath(__file__)), u'resources') class TestSwordModules(TestCase): def test_parse_modules_folder(self): """ Test that conf file from a folder can be parsed. """ # GIVEN: A SwordModules object using a folder for input modules = SwordModules(TEST_RESOURCE_FOLDER) # WHEN: parsing the modules conf files mods_metadata = modules.parse_modules() # THEN: Modules should be detectable and information extractable module_list = [u'ChiPinyin', u'FinPR', u'BSV', u'ASV', u'AraNAV', u'SpaRV1909'] self.assertTrue(all(x in module_list for x in mods_metadata.keys()), u'Some expected bibles were not detected') # Depending on the operating system, the handling of non-utf8 encoded conf-files is different self.assertEqual(mods_metadata[u'FinPR'][u'description'], u'Finnish Pyhä Raamattu (1933/1938)', u'Could not extract "description" for "FinPR"') self.assertEqual(mods_metadata[u'BSV'][u'description'], u'The Bond Slave Version Bible', u'Could not extract "description" for "BSV"') self.assertEqual(mods_metadata[u'ASV'][u'description'], u'American Standard Version (1901)', u'Could not extract "description" for "ASV"') self.assertEqual(mods_metadata[u'AraNAV'][u'description'], u'New Arabic Version (Ketab El Hayat)', u'Could not extract "description" for "AraNAV"') def test_parse_modules_zip(self): """ Test that conf file from a zip can be parsed. """ # GIVEN: A SwordModules object using a folder for input modules = SwordModules(os.path.join(TEST_RESOURCE_FOLDER, u'FinPR.zip')) # WHEN: parsing the modules conf files mods_metadata = modules.parse_modules() # THEN: Modules should be detectable and information extractable self.assertEqual(1, len(mods_metadata.keys()), u'There should be only 1 module in a zip.') self.assertIn(u'FinPR', mods_metadata.keys(), u'FinPR should be available') self.assertEqual(mods_metadata['FinPR']['description'], u'Finnish Pyhä Raamattu (1933/1938)', u'Could not extract "description" for "FinPR"') @patch(u'pysword.modules.SwordBible') def test_get_bible_from_module(self, mocked_sword_bible): """ Test that the assigning of default values works. """ # GIVEN: A SwordModules object modules = SwordModules(u'test_sword_path') modules._modules = {u'test_key': {u'datapath': u'test_path', u'moddrv': u'test_mod_type'}} # WHEN: Requesting a bible from a module bible = modules.get_bible_from_module(u'test_key') # THEN: It should succeed # Check that the returned mock bible has created with default values self.assertIsNotNone(bible, u'Returned bible should not be None') mocked_sword_bible.assert_called_with(os.path.join(u'test_sword_path', u'test_path'), u'test_mod_type', u'kjv', None, None, BlockType.BOOK, CompressType.ZIP, None) pysword-0.2.7/tests/test_utils.py0000644000175000017500000001123313550677557015544 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### import os import sys from tests import TestCase, skipUnless try: import pathlib except ImportError: pass from pysword.utils import path_like_to_str class TestPathLikeToStr(TestCase): @skipUnless(sys.version_info >= (3, 6), u'Only Python 3.6 and above has the os.PathLike object') def test_path_like_object(self): # GIVEN: An object that implements the `os.PathLike` `__fspath__` method path_like_object = pathlib.Path(u'test', u'path') # WHEN: Calling with path_like_to_str with an `os.PathLike` object result = path_like_to_str(path_like_object) # Then a string of the Path should have been returned self.assertIsInstance(result, str) self.assertEqual(result, os.path.join(u'test', u'path')) @skipUnless(sys.version_info >= (3, 4) and sys.version_info < (3, 6), u'Only Python 3.4 and 3.5 has a `pathlib.Path` object that is not also a `os.PathLike` object.') def test_path_object(self): # GIVEN: A `pathlib.Path` object path_object = pathlib.Path(u'test', u'path') # WHEN: Calling with path_like_to_str with an `pathlib.Path` object result = path_like_to_str(path_object) # Then a string of the Path should have been returned self.assertIsInstance(result, str) self.assertEqual(result, os.path.join(u'test', u'path')) @skipUnless(sys.version_info >= (3,), u'Use the str object in py3') def test_str_object(self): # GIVEN: A `str` object str_object = os.path.join(u'test', u'path') # WHEN: Calling with path_like_to_str with an `pathlib.Path` object result = path_like_to_str(str_object) # THEN: The returned valus should be a str and equal to the object passed in self.assertIsInstance(result, str) self.assertEqual(result, str_object) @skipUnless(sys.version_info < (3,), u'Use the unicode object in py2') def test_unicode_object(self): # GIVEN: A `unicode` object unicode_object = os.path.join(u'test', u'path') # WHEN: Calling with path_like_to_str with an `unicode` object result = path_like_to_str(unicode_object) # THEN: The returned valus should be a unicode and equal to the object passed in self.assertIsInstance(result, unicode) self.assertEqual(result, unicode_object) def test_invalid_type(self): # GIVEN: A list of unsupported types unsupported_types = [None, False, True, 0, 1, 3, list(), dict(), tuple()] for unsupported_object in unsupported_types: # WHEN: Calling path_like_to_str with an invalid object self.assertRaises(TypeError, path_like_to_str, unsupported_types) pysword-0.2.7/MANIFEST.in0000644000175000017500000000002013550677557013357 0ustar bagebageinclude LICENSE pysword-0.2.7/setup.py0000644000175000017500000000577013550677557013354 0ustar bagebage# -*- coding: utf-8 -*- ############################################################################### # PySword - A native Python reader of the SWORD Project Bible Modules # # --------------------------------------------------------------------------- # # Copyright (c) 2008-2019 Various PySword developers: # # Kenneth Arnold, Joshua Gross, Tomas Groth, Ryan Hiebert, Philip Ridout, # # Matthew Wardrop # # --------------------------------------------------------------------------- # # Permission is hereby granted, free of charge, to any person obtaining a # # copy of this software and associated documentation files (the "Software"), # # to deal in the Software without restriction, including without limitation # # the rights to use, copy, modify, merge, publish, distribute, sublicense, # # and/or sell copies of the Software, and to permit persons to whom the # # Software is furnished to do so, subject to the following conditions: # # # # The above copyright notice and this permission notice shall be included # # in all copies or substantial portions of the Software. # # # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # # DEALINGS IN THE SOFTWARE. # ############################################################################### from pysword import __version__ as pysword_version from setuptools import setup, find_packages def read(filename): f = open(filename) text = f.read() f.close() return text setup( name=u'pysword', version=pysword_version, packages=find_packages(exclude=[u'*.tests', u'*.tests.*', u'tests.*', u'tests']), url=u'https://gitlab.com/tgc-dk/pysword', license=u'MIT', author=u'Tomas Groth', author_email=u'second@tgc.dk', description=u'A native Python2/3 reader module for the SWORD Project Bible Modules', long_description=read(u'README.rst'), platforms=[u'any'], classifiers=[ u'Development Status :: 4 - Beta', u'Intended Audience :: Religion', u'Intended Audience :: Developers', u'Operating System :: OS Independent', u'Programming Language :: Python :: 2', u'Programming Language :: Python :: 3', u'Topic :: Religion', u'Topic :: Software Development', u'License :: OSI Approved :: MIT License', ], )