--- /srv/reproducible-results/rbuild-debian/r-b-build.tqeXUBM8/b1/python-gsd_4.0.0-1_arm64.changes +++ /srv/reproducible-results/rbuild-debian/r-b-build.tqeXUBM8/b2/python-gsd_4.0.0-1_arm64.changes ├── Files │ @@ -1,4 +1,4 @@ │ │ - c10412e7c9c0735e260c1d7df385b9be 131144 doc optional python-gsd-doc_4.0.0-1_all.deb │ + b98d36f378df3820b140bece1d17779c 131164 doc optional python-gsd-doc_4.0.0-1_all.deb │ 227d62e60f1d2a860e4233bbf881dd9a 352560 debug optional python3-gsd-dbgsym_4.0.0-1_arm64.deb │ 9f61b9f0bad80a44ad22e2611070869c 199260 python optional python3-gsd_4.0.0-1_arm64.deb ├── python-gsd-doc_4.0.0-1_all.deb │ ├── file list │ │ @@ -1,3 +1,3 @@ │ │ -rw-r--r-- 0 0 0 4 2025-08-11 08:32:38.000000 debian-binary │ │ -rw-r--r-- 0 0 0 2712 2025-08-11 08:32:38.000000 control.tar.xz │ │ --rw-r--r-- 0 0 0 128240 2025-08-11 08:32:38.000000 data.tar.xz │ │ +-rw-r--r-- 0 0 0 128260 2025-08-11 08:32:38.000000 data.tar.xz │ ├── control.tar.xz │ │ ├── control.tar │ │ │ ├── ./md5sums │ │ │ │ ├── ./md5sums │ │ │ │ │┄ Files differ │ ├── data.tar.xz │ │ ├── data.tar │ │ │ ├── file list │ │ │ │ @@ -71,15 +71,15 @@ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 23394 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/python-api.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 88676 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.fl.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 95445 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.hoomd.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 49306 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.pygsd.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 18756 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/python-module-gsd.version.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 107555 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/schema-hoomd.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 16660 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/search.html │ │ │ │ --rw-r--r-- 0 root (0) root (0) 82352 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js │ │ │ │ +-rw-r--r-- 0 root (0) root (0) 82347 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/searchindex.js │ │ │ │ -rw-r--r-- 0 root (0) root (0) 32666 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/shapes.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 20931 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/specification.html │ │ │ │ -rw-r--r-- 0 root (0) root (0) 24985 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/style.html │ │ │ │ drwxr-xr-x 0 root (0) root (0) 0 2025-08-11 08:32:38.000000 ./usr/share/doc-base/ │ │ │ │ -rw-r--r-- 0 root (0) root (0) 331 2025-08-11 08:32:38.000000 ./usr/share/doc-base/python-gsd-doc.python-gsd │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/_static/doctools.js -> ../../../../javascript/sphinxdoc/1.0/doctools.js │ │ │ │ lrwxrwxrwx 0 root (0) root (0) 0 2025-08-11 08:32:38.000000 ./usr/share/doc/python-gsd-doc/html/_static/language_data.js -> ../../../../javascript/sphinxdoc/1.0/language_data.js │ │ │ ├── ./usr/share/doc/python-gsd-doc/html/hoomd-examples.html │ │ │ │ @@ -355,23 +355,23 @@ │ │ │ │ Out[16]: np.uint64(5) │ │ │ │ │ │ │ │ In [17]: frame.particles.N │ │ │ │ Out[17]: np.uint32(9) │ │ │ │ │ │ │ │ In [18]: frame.particles.position │ │ │ │ Out[18]: │ │ │ │ -array([[0.513843 , 0.38949817, 0.36733425], │ │ │ │ - [0.9439243 , 0.89431596, 0.19213228], │ │ │ │ - [0.0472411 , 0.67836994, 0.9807663 ], │ │ │ │ - [0.95697844, 0.67687374, 0.94455343], │ │ │ │ - [0.25613606, 0.96863896, 0.5726997 ], │ │ │ │ - [0.49019262, 0.77633697, 0.24647498], │ │ │ │ - [0.84623826, 0.79403746, 0.35961613], │ │ │ │ - [0.49689502, 0.33315152, 0.95533234], │ │ │ │ - [0.68716675, 0.7716709 , 0.24431323]], dtype=float32) │ │ │ │ +array([[0.7092124 , 0.7197528 , 0.79857826], │ │ │ │ + [0.03215952, 0.3203952 , 0.00541493], │ │ │ │ + [0.20525175, 0.11868734, 0.18170823], │ │ │ │ + [0.04160864, 0.03463657, 0.1080536 ], │ │ │ │ + [0.35472828, 0.9241399 , 0.8863267 ], │ │ │ │ + [0.2491192 , 0.23971277, 0.33549905], │ │ │ │ + [0.99090123, 0.06672933, 0.94458044], │ │ │ │ + [0.5555378 , 0.4359726 , 0.5226467 ], │ │ │ │ + [0.087767 , 0.45879504, 0.16852133]], dtype=float32) │ │ │ │ │ │ │ │ │ │ │ │

gsd.hoomd.HOOMDTrajectory supports random indexing of frames in the file. │ │ │ │ Indexing into a trajectory returns a gsd.hoomd.Frame.

│ │ │ │ │ │ │ │
│ │ │ │

Slicing and selection

│ │ │ │ @@ -398,21 +398,21 @@ │ │ │ │

Pure python reader

│ │ │ │
In [23]: f = gsd.pygsd.GSDFile(open('example.gsd', 'rb'))
│ │ │ │  
│ │ │ │  In [24]: trajectory = gsd.hoomd.HOOMDTrajectory(f);
│ │ │ │  
│ │ │ │  In [25]: trajectory[3].particles.position
│ │ │ │  Out[25]: 
│ │ │ │ -array([[0.87415874, 0.7851881 , 0.8994939 ],
│ │ │ │ -       [0.00613706, 0.00903224, 0.0717926 ],
│ │ │ │ -       [0.68226856, 0.02554409, 0.1989155 ],
│ │ │ │ -       [0.09580166, 0.3787488 , 0.5961598 ],
│ │ │ │ -       [0.8144538 , 0.4552085 , 0.12816484],
│ │ │ │ -       [0.67307985, 0.7477747 , 0.69696236],
│ │ │ │ -       [0.2915874 , 0.48136052, 0.6352382 ]], dtype=float32)
│ │ │ │ +array([[0.37170324, 0.7062893 , 0.6800075 ],
│ │ │ │ +       [0.00708335, 0.38228673, 0.10756125],
│ │ │ │ +       [0.41973564, 0.13008885, 0.61894137],
│ │ │ │ +       [0.3870817 , 0.0009056 , 0.10015664],
│ │ │ │ +       [0.84771746, 0.04638239, 0.6311713 ],
│ │ │ │ +       [0.7895214 , 0.1635235 , 0.625068  ],
│ │ │ │ +       [0.361347  , 0.19224127, 0.40897396]], dtype=float32)
│ │ │ │  
│ │ │ │
│ │ │ │

You can use GSD without needing to compile C code to read GSD files │ │ │ │ using gsd.pygsd.GSDFile in combination with gsd.hoomd.HOOMDTrajectory. It │ │ │ │ only supports the rb mode and does not read files as fast as the C │ │ │ │ implementation. It takes in a python file-like object, so it can be used with │ │ │ │ in-memory IO classes, and grid file classes that access data over the internet.

│ │ │ │ ├── html2text {} │ │ │ │ │ @@ -95,23 +95,23 @@ │ │ │ │ │ Out[16]: np.uint64(5) │ │ │ │ │ │ │ │ │ │ In [17]: frame.particles.N │ │ │ │ │ Out[17]: np.uint32(9) │ │ │ │ │ │ │ │ │ │ In [18]: frame.particles.position │ │ │ │ │ Out[18]: │ │ │ │ │ -array([[0.513843 , 0.38949817, 0.36733425], │ │ │ │ │ - [0.9439243 , 0.89431596, 0.19213228], │ │ │ │ │ - [0.0472411 , 0.67836994, 0.9807663 ], │ │ │ │ │ - [0.95697844, 0.67687374, 0.94455343], │ │ │ │ │ - [0.25613606, 0.96863896, 0.5726997 ], │ │ │ │ │ - [0.49019262, 0.77633697, 0.24647498], │ │ │ │ │ - [0.84623826, 0.79403746, 0.35961613], │ │ │ │ │ - [0.49689502, 0.33315152, 0.95533234], │ │ │ │ │ - [0.68716675, 0.7716709 , 0.24431323]], dtype=float32) │ │ │ │ │ +array([[0.7092124 , 0.7197528 , 0.79857826], │ │ │ │ │ + [0.03215952, 0.3203952 , 0.00541493], │ │ │ │ │ + [0.20525175, 0.11868734, 0.18170823], │ │ │ │ │ + [0.04160864, 0.03463657, 0.1080536 ], │ │ │ │ │ + [0.35472828, 0.9241399 , 0.8863267 ], │ │ │ │ │ + [0.2491192 , 0.23971277, 0.33549905], │ │ │ │ │ + [0.99090123, 0.06672933, 0.94458044], │ │ │ │ │ + [0.5555378 , 0.4359726 , 0.5226467 ], │ │ │ │ │ + [0.087767 , 0.45879504, 0.16852133]], dtype=float32) │ │ │ │ │ _g_s_d_._h_o_o_m_d_._H_O_O_M_D_T_r_a_j_e_c_t_o_r_y supports random indexing of frames in the file. │ │ │ │ │ Indexing into a trajectory returns a _g_s_d_._h_o_o_m_d_._F_r_a_m_e. │ │ │ │ │ ********** SSlliicciinngg aanndd sseelleeccttiioonn_?¶ ********** │ │ │ │ │ Use the slicing operator to select individual frames or a subset of a │ │ │ │ │ trajectory. │ │ │ │ │ In [19]: f = gsd.hoomd.open(name='example.gsd', mode='r') │ │ │ │ │ │ │ │ │ │ @@ -130,21 +130,21 @@ │ │ │ │ │ ********** PPuurree ppyytthhoonn rreeaaddeerr_?¶ ********** │ │ │ │ │ In [23]: f = gsd.pygsd.GSDFile(open('example.gsd', 'rb')) │ │ │ │ │ │ │ │ │ │ In [24]: trajectory = gsd.hoomd.HOOMDTrajectory(f); │ │ │ │ │ │ │ │ │ │ In [25]: trajectory[3].particles.position │ │ │ │ │ Out[25]: │ │ │ │ │ -array([[0.87415874, 0.7851881 , 0.8994939 ], │ │ │ │ │ - [0.00613706, 0.00903224, 0.0717926 ], │ │ │ │ │ - [0.68226856, 0.02554409, 0.1989155 ], │ │ │ │ │ - [0.09580166, 0.3787488 , 0.5961598 ], │ │ │ │ │ - [0.8144538 , 0.4552085 , 0.12816484], │ │ │ │ │ - [0.67307985, 0.7477747 , 0.69696236], │ │ │ │ │ - [0.2915874 , 0.48136052, 0.6352382 ]], dtype=float32) │ │ │ │ │ +array([[0.37170324, 0.7062893 , 0.6800075 ], │ │ │ │ │ + [0.00708335, 0.38228673, 0.10756125], │ │ │ │ │ + [0.41973564, 0.13008885, 0.61894137], │ │ │ │ │ + [0.3870817 , 0.0009056 , 0.10015664], │ │ │ │ │ + [0.84771746, 0.04638239, 0.6311713 ], │ │ │ │ │ + [0.7895214 , 0.1635235 , 0.625068 ], │ │ │ │ │ + [0.361347 , 0.19224127, 0.40897396]], dtype=float32) │ │ │ │ │ You can use GGSSDD without needing to compile C code to read GGSSDD files using │ │ │ │ │ _g_s_d_._p_y_g_s_d_._G_S_D_F_i_l_e in combination with _g_s_d_._h_o_o_m_d_._H_O_O_M_D_T_r_a_j_e_c_t_o_r_y. It only │ │ │ │ │ supports the rb mode and does not read files as fast as the C implementation. │ │ │ │ │ It takes in a python file-like object, so it can be used with in-memory IO │ │ │ │ │ classes, and grid file classes that access data over the internet. │ │ │ │ │ Warning │ │ │ │ │ _g_s_d_._p_y_g_s_d is ssllooww. Use _g_s_d_._h_o_o_m_d_._o_p_e_n whenever possible. │ │ │ ├── ./usr/share/doc/python-gsd-doc/html/searchindex.js │ │ │ │ ├── js-beautify {} │ │ │ │ │ @@ -1876,183 +1876,183 @@ │ │ │ │ │ "12": "py:property", │ │ │ │ │ "13": "std:chunk", │ │ │ │ │ "14": "std:cmdoption" │ │ │ │ │ }, │ │ │ │ │ "terms": { │ │ │ │ │ "": [1, 2, 3, 8, 11, 13, 14, 18, 21], │ │ │ │ │ "0": [0, 6, 7, 8, 11, 14, 15, 16, 18, 19], │ │ │ │ │ - "00613706": 8, │ │ │ │ │ - "00903224": 8, │ │ │ │ │ - "02554409": 8, │ │ │ │ │ - "0472411": 8, │ │ │ │ │ - "0717926": 8, │ │ │ │ │ - "09580166": 8, │ │ │ │ │ + "0009056": 8, │ │ │ │ │ + "00541493": 8, │ │ │ │ │ + "00708335": 8, │ │ │ │ │ + "03215952": 8, │ │ │ │ │ + "03463657": 8, │ │ │ │ │ + "04160864": 8, │ │ │ │ │ + "04638239": 8, │ │ │ │ │ + "06672933": 8, │ │ │ │ │ + "087767": 8, │ │ │ │ │ "0x65df65df65df65df": 6, │ │ │ │ │ "0xaaaabbbb": 6, │ │ │ │ │ "1": [0, 7, 8, 12, 14, 15, 16, 18, 19, 20], │ │ │ │ │ "10": [7, 8, 11, 14, 15], │ │ │ │ │ "100": [8, 15, 21], │ │ │ │ │ + "10015664": 8, │ │ │ │ │ + "10756125": 8, │ │ │ │ │ + "1080536": 8, │ │ │ │ │ "11": [7, 8, 14], │ │ │ │ │ + "11868734": 8, │ │ │ │ │ "12": [7, 8, 14], │ │ │ │ │ "127": 1, │ │ │ │ │ - "12816484": 8, │ │ │ │ │ "13": [7, 8, 14], │ │ │ │ │ + "13008885": 8, │ │ │ │ │ "13_gsd": [7, 8, 14], │ │ │ │ │ "14": [7, 8, 11, 14], │ │ │ │ │ "15": [7, 8, 14], │ │ │ │ │ "16": [0, 6, 7, 8, 14], │ │ │ │ │ + "1635235": 8, │ │ │ │ │ + "16852133": 8, │ │ │ │ │ "17": [7, 8, 14], │ │ │ │ │ "18": [7, 8, 11], │ │ │ │ │ + "18170823": 8, │ │ │ │ │ "19": [7, 8, 14], │ │ │ │ │ - "19213228": 8, │ │ │ │ │ - "1989155": 8, │ │ │ │ │ + "19224127": 8, │ │ │ │ │ "1d": [14, 16], │ │ │ │ │ "1x1": [18, 19], │ │ │ │ │ "2": [0, 7, 8, 11, 12, 14, 15, 16, 18, 19, 20], │ │ │ │ │ "20": [7, 8], │ │ │ │ │ "200": [8, 15], │ │ │ │ │ "2016": 12, │ │ │ │ │ "2019": 11, │ │ │ │ │ "2022": 11, │ │ │ │ │ "2025": 12, │ │ │ │ │ + "20525175": 8, │ │ │ │ │ "21": [7, 8], │ │ │ │ │ "22": [7, 8, 11], │ │ │ │ │ "23": [7, 8], │ │ │ │ │ "235": 1, │ │ │ │ │ "237": 1, │ │ │ │ │ "238": 1, │ │ │ │ │ + "23971277": 8, │ │ │ │ │ "24": [7, 8], │ │ │ │ │ - "24431323": 8, │ │ │ │ │ - "24647498": 8, │ │ │ │ │ "249": 1, │ │ │ │ │ + "2491192": 8, │ │ │ │ │ "25": [7, 8], │ │ │ │ │ "255": 1, │ │ │ │ │ "256": [0, 6], │ │ │ │ │ - "25613606": 8, │ │ │ │ │ "257": 1, │ │ │ │ │ "26": [7, 8], │ │ │ │ │ "266": 1, │ │ │ │ │ "267": 1, │ │ │ │ │ "27": [7, 8], │ │ │ │ │ "270": 1, │ │ │ │ │ "28": [7, 8], │ │ │ │ │ "283": 1, │ │ │ │ │ "29": [7, 8], │ │ │ │ │ - "2915874": 8, │ │ │ │ │ "2d": [14, 16, 18, 19], │ │ │ │ │ "2gib": 1, │ │ │ │ │ "3": [7, 8, 11, 14, 15, 16, 18, 19], │ │ │ │ │ "30": [7, 8], │ │ │ │ │ "300": [8, 15], │ │ │ │ │ "308": 1, │ │ │ │ │ "31": [7, 8], │ │ │ │ │ "317": 1, │ │ │ │ │ "319": 1, │ │ │ │ │ "32": [0, 6, 7, 18], │ │ │ │ │ + "3203952": 8, │ │ │ │ │ "322": 1, │ │ │ │ │ "323": 1, │ │ │ │ │ "324": 1, │ │ │ │ │ "325": 1, │ │ │ │ │ "33": 7, │ │ │ │ │ - "33315152": 8, │ │ │ │ │ + "33549905": 8, │ │ │ │ │ "34": 7, │ │ │ │ │ "35": 7, │ │ │ │ │ - "35961613": 8, │ │ │ │ │ + "35472828": 8, │ │ │ │ │ "36": 7, │ │ │ │ │ + "361347": 8, │ │ │ │ │ "365": 1, │ │ │ │ │ "367": 1, │ │ │ │ │ - "36733425": 8, │ │ │ │ │ "37": 7, │ │ │ │ │ + "37170324": 8, │ │ │ │ │ "376": 1, │ │ │ │ │ - "3787488": 8, │ │ │ │ │ "38": 7, │ │ │ │ │ + "38228673": 8, │ │ │ │ │ + "3870817": 8, │ │ │ │ │ "388": 1, │ │ │ │ │ - "38949817": 8, │ │ │ │ │ "39": 7, │ │ │ │ │ "391": 1, │ │ │ │ │ "3d": 20, │ │ │ │ │ "4": [0, 7, 8, 14, 15, 18, 21], │ │ │ │ │ "40": 7, │ │ │ │ │ "400": [8, 15], │ │ │ │ │ "405": 1, │ │ │ │ │ + "40897396": 8, │ │ │ │ │ "41": 7, │ │ │ │ │ "417": 1, │ │ │ │ │ + "41973564": 8, │ │ │ │ │ "422": 1, │ │ │ │ │ "429": 1, │ │ │ │ │ "43": 7, │ │ │ │ │ + "4359726": 8, │ │ │ │ │ "44": 7, │ │ │ │ │ "45": 7, │ │ │ │ │ - "4552085": 8, │ │ │ │ │ + "45879504": 8, │ │ │ │ │ "46": 7, │ │ │ │ │ "47": 7, │ │ │ │ │ "48": 7, │ │ │ │ │ - "48136052": 8, │ │ │ │ │ "49": 7, │ │ │ │ │ - "49019262": 8, │ │ │ │ │ - "49689502": 8, │ │ │ │ │ "5": [7, 8, 14, 15, 19], │ │ │ │ │ "50": 7, │ │ │ │ │ "500": [8, 15], │ │ │ │ │ "51": 7, │ │ │ │ │ - "513843": 8, │ │ │ │ │ "52": 7, │ │ │ │ │ + "5226467": 8, │ │ │ │ │ "53": [0, 7], │ │ │ │ │ "54": 7, │ │ │ │ │ "55": 7, │ │ │ │ │ + "5555378": 8, │ │ │ │ │ "56": 7, │ │ │ │ │ - "5726997": 8, │ │ │ │ │ - "5961598": 8, │ │ │ │ │ "6": [7, 8, 14, 15], │ │ │ │ │ "600": [8, 15], │ │ │ │ │ + "61894137": 8, │ │ │ │ │ + "625068": 8, │ │ │ │ │ "63": [0, 6], │ │ │ │ │ "630": 8, │ │ │ │ │ - "6352382": 8, │ │ │ │ │ + "6311713": 8, │ │ │ │ │ "64": [0, 6, 11], │ │ │ │ │ "648": 7, │ │ │ │ │ "65535": 6, │ │ │ │ │ - "67307985": 8, │ │ │ │ │ - "67687374": 8, │ │ │ │ │ - "67836994": 8, │ │ │ │ │ - "68226856": 8, │ │ │ │ │ - "68716675": 8, │ │ │ │ │ - "69696236": 8, │ │ │ │ │ + "6800075": 8, │ │ │ │ │ "6x1": 18, │ │ │ │ │ "7": [7, 8, 14, 15, 19], │ │ │ │ │ "70": 14, │ │ │ │ │ "700": [8, 15], │ │ │ │ │ - "7477747": 8, │ │ │ │ │ + "7062893": 8, │ │ │ │ │ + "7092124": 8, │ │ │ │ │ + "7197528": 8, │ │ │ │ │ "761": 14, │ │ │ │ │ - "7716709": 8, │ │ │ │ │ "774": 14, │ │ │ │ │ - "77633697": 8, │ │ │ │ │ "785": 8, │ │ │ │ │ - "7851881": 8, │ │ │ │ │ "786": 8, │ │ │ │ │ "787": 8, │ │ │ │ │ "789": 8, │ │ │ │ │ + "7895214": 8, │ │ │ │ │ "791": 8, │ │ │ │ │ "792": 8, │ │ │ │ │ - "79403746": 8, │ │ │ │ │ + "79857826": 8, │ │ │ │ │ "8": [0, 6, 7, 8, 14, 15, 18, 19], │ │ │ │ │ "80": [6, 14, 21], │ │ │ │ │ "800": [8, 15], │ │ │ │ │ - "8144538": 8, │ │ │ │ │ - "84623826": 8, │ │ │ │ │ - "87415874": 8, │ │ │ │ │ - "89431596": 8, │ │ │ │ │ - "8994939": 8, │ │ │ │ │ + "84771746": 8, │ │ │ │ │ + "8863267": 8, │ │ │ │ │ "9": [7, 8, 11, 14, 15], │ │ │ │ │ "90": 14, │ │ │ │ │ "900": [8, 15], │ │ │ │ │ - "9439243": 8, │ │ │ │ │ - "94455343": 8, │ │ │ │ │ - "95533234": 8, │ │ │ │ │ - "95697844": 8, │ │ │ │ │ - "96863896": 8, │ │ │ │ │ - "9807663": 8, │ │ │ │ │ + "9241399": 8, │ │ │ │ │ + "94458044": 8, │ │ │ │ │ + "99090123": 8, │ │ │ │ │ "A": [0, 5, 6, 8, 9, 12, 18, 19], │ │ │ │ │ "AND": 12, │ │ │ │ │ "AS": 12, │ │ │ │ │ "As": 15, │ │ │ │ │ "BE": 12, │ │ │ │ │ "BUT": 12, │ │ │ │ │ "BY": 12,