├── .editorconfig ├── .eslintrc.js ├── .gitignore ├── config.js ├── data ├── dict └── liber ├── idkfa ├── irc ├── lib ├── crib.js ├── dict.js ├── fibonacci.js ├── gematria.js ├── input.js ├── integers.js ├── key.js ├── log.js ├── math.js ├── pastebin.js ├── primes.js ├── shift.js ├── source.js ├── stats.js └── util.js ├── license ├── package-lock.json ├── package.json └── readme.md /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = tabs 5 | end_of_line = lf 6 | charset = utf-8 7 | trim_trailing_whitespace = true 8 | insert_final_newline = true 9 | 10 | [*.md] 11 | trim_trailing_whitespace = false 12 | -------------------------------------------------------------------------------- /.eslintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | "env": { 3 | "browser": true, 4 | "commonjs": true, 5 | "es6": true, 6 | "node": true 7 | }, 8 | "extends": "eslint:recommended", 9 | "parserOptions": { 10 | "sourceType": "module" 11 | }, 12 | "rules": { 13 | "accessor-pairs": "error", 14 | "array-bracket-newline": "error", 15 | "array-bracket-spacing": "off", 16 | "array-callback-return": "off", 17 | "array-element-newline": "off", 18 | "arrow-body-style": "off", 19 | "arrow-parens": "off", 20 | "arrow-spacing": [ 21 | "error", 22 | { 23 | "after": true, 24 | "before": true 25 | } 26 | ], 27 | "block-scoped-var": "error", 28 | "block-spacing": [ 29 | "error", 30 | "always" 31 | ], 32 | "brace-style": [ 33 | "error", 34 | "allman", 35 | { 36 | "allowSingleLine": true 37 | } 38 | ], 39 | "callback-return": "error", 40 | "camelcase": "error", 41 | "capitalized-comments": "off", 42 | "class-methods-use-this": "error", 43 | "comma-dangle": "off", 44 | "comma-spacing": "off", 45 | "comma-style": [ 46 | "error", 47 | "last" 48 | ], 49 | "complexity": "off", 50 | "computed-property-spacing": [ 51 | "error", 52 | "never" 53 | ], 54 | "consistent-return": "off", 55 | "consistent-this": "error", 56 | "curly": "off", 57 | "default-case": "error", 58 | "dot-location": [ 59 | "error", 60 | "property" 61 | ], 62 | "dot-notation": [ 63 | "error", 64 | { 65 | "allowKeywords": true 66 | } 67 | ], 68 | "eol-last": "error", 69 | "eqeqeq": "error", 70 | "for-direction": "error", 71 | "func-call-spacing": "off", 72 | "func-name-matching": "error", 73 | "func-style": [ 74 | "error", 75 | "expression" 76 | ], 77 | "function-paren-newline": "off", 78 | "generator-star-spacing": "error", 79 | "getter-return": "error", 80 | "global-require": "error", 81 | "guard-for-in": "error", 82 | "handle-callback-err": "error", 83 | "id-blacklist": "error", 84 | "id-length": "off", 85 | "id-match": "error", 86 | "implicit-arrow-linebreak": "off", 87 | "indent": "off", 88 | "indent-legacy": "off", 89 | "init-declarations": "off", 90 | "jsx-quotes": "error", 91 | "key-spacing": "off", 92 | "keyword-spacing": "off", 93 | "line-comment-position": "off", 94 | "linebreak-style": [ 95 | "error", 96 | "unix" 97 | ], 98 | "lines-around-comment": "off", 99 | "lines-around-directive": "error", 100 | "lines-between-class-members": "error", 101 | "max-depth": "error", 102 | "max-len": "off", 103 | "max-lines": "off", 104 | "max-nested-callbacks": "error", 105 | "max-params": "off", 106 | "max-statements": "off", 107 | "max-statements-per-line": "off", 108 | "multiline-comment-style": [ 109 | "error", 110 | "separate-lines" 111 | ], 112 | "multiline-ternary": "off", 113 | "new-cap": ["error", { "capIsNew": false }], 114 | "new-parens": "error", 115 | "newline-after-var": [ 116 | "error", 117 | "always" 118 | ], 119 | "newline-before-return": "off", 120 | "newline-per-chained-call": "off", 121 | "no-alert": "error", 122 | "no-array-constructor": "error", 123 | "no-await-in-loop": "error", 124 | "no-bitwise": "error", 125 | "no-buffer-constructor": "error", 126 | "no-caller": "error", 127 | "no-catch-shadow": "error", 128 | "no-confusing-arrow": "off", 129 | "no-continue": "error", 130 | "no-div-regex": "error", 131 | "no-duplicate-imports": "error", 132 | "no-else-return": "off", 133 | "no-empty-function": "error", 134 | "no-eq-null": "error", 135 | "no-eval": "error", 136 | "no-extend-native": "error", 137 | "no-extra-bind": "error", 138 | "no-extra-label": "error", 139 | "no-extra-parens": "off", 140 | "no-floating-decimal": "error", 141 | "no-implicit-coercion": "error", 142 | "no-implicit-globals": "error", 143 | "no-implied-eval": "error", 144 | "no-inline-comments": "off", 145 | "no-invalid-this": "error", 146 | "no-iterator": "error", 147 | "no-label-var": "error", 148 | "no-labels": "error", 149 | "no-lone-blocks": "error", 150 | "no-lonely-if": "off", 151 | "no-loop-func": "error", 152 | "no-magic-numbers": "off", 153 | "no-mixed-operators": "off", 154 | "no-mixed-requires": "error", 155 | "no-multi-assign": "error", 156 | "no-multi-spaces": "off", 157 | "no-multi-str": "error", 158 | "no-multiple-empty-lines": "error", 159 | "no-native-reassign": "error", 160 | "no-negated-condition": "error", 161 | "no-negated-in-lhs": "error", 162 | "no-nested-ternary": "off", 163 | "no-new": "error", 164 | "no-new-func": "error", 165 | "no-new-object": "error", 166 | "no-new-require": "error", 167 | "no-new-wrappers": "error", 168 | "no-octal-escape": "error", 169 | "no-param-reassign": "off", 170 | "no-path-concat": "error", 171 | "no-plusplus": "off", 172 | "no-process-env": "error", 173 | "no-process-exit": "error", 174 | "no-proto": "error", 175 | "no-prototype-builtins": "error", 176 | "no-restricted-globals": "error", 177 | "no-restricted-imports": "error", 178 | "no-restricted-modules": "error", 179 | "no-restricted-properties": "error", 180 | "no-restricted-syntax": "error", 181 | "no-return-assign": "off", 182 | "no-return-await": "error", 183 | "no-script-url": "error", 184 | "no-self-compare": "error", 185 | "no-sequences": "off", 186 | "no-shadow": "off", 187 | "no-shadow-restricted-names": "error", 188 | "no-spaced-func": "off", 189 | "no-sync": "off", 190 | "no-tabs": "error", 191 | "no-template-curly-in-string": "error", 192 | "no-ternary": "off", 193 | "no-throw-literal": "error", 194 | "no-trailing-spaces": "error", 195 | "no-undef-init": "error", 196 | "no-undefined": "error", 197 | "no-underscore-dangle": "error", 198 | "no-unmodified-loop-condition": "error", 199 | "no-unneeded-ternary": [ 200 | "error", 201 | { 202 | "defaultAssignment": true 203 | } 204 | ], 205 | "no-unused-expressions": "error", 206 | "no-use-before-define": "error", 207 | "no-useless-call": "error", 208 | "no-useless-computed-key": "error", 209 | "no-useless-concat": "error", 210 | "no-useless-constructor": "error", 211 | "no-useless-rename": "error", 212 | "no-useless-return": "error", 213 | "no-var": "off", 214 | "no-void": "error", 215 | "no-warning-comments": "error", 216 | "no-whitespace-before-property": "error", 217 | "no-with": "error", 218 | "nonblock-statement-body-position": "error", 219 | "object-curly-newline": "error", 220 | "object-curly-spacing": [ 221 | "error", 222 | "always" 223 | ], 224 | "object-shorthand": "off", 225 | "one-var": "off", 226 | "one-var-declaration-per-line": "error", 227 | "operator-assignment": "error", 228 | "operator-linebreak": [ 229 | "error", 230 | "after" 231 | ], 232 | "padded-blocks": "off", 233 | "padding-line-between-statements": "error", 234 | "prefer-arrow-callback": "error", 235 | "prefer-const": "off", 236 | "prefer-destructuring": "off", 237 | "prefer-numeric-literals": "error", 238 | "prefer-promise-reject-errors": "error", 239 | "prefer-reflect": "off", 240 | "prefer-rest-params": "error", 241 | "prefer-spread": "error", 242 | "prefer-template": "off", 243 | "quote-props": "off", 244 | "quotes": "off", 245 | "radix": [ 246 | "error", 247 | "as-needed" 248 | ], 249 | "require-await": "error", 250 | "require-jsdoc": "error", 251 | "rest-spread-spacing": [ 252 | "error", 253 | "never" 254 | ], 255 | "semi": "error", 256 | "semi-spacing": [ 257 | "error", 258 | { 259 | "after": true, 260 | "before": false 261 | } 262 | ], 263 | "semi-style": [ 264 | "error", 265 | "last" 266 | ], 267 | "sort-imports": "error", 268 | "sort-keys": "off", 269 | "sort-vars": "error", 270 | "space-before-blocks": "error", 271 | "space-before-function-paren": "error", 272 | "space-in-parens": [ 273 | "error", 274 | "never" 275 | ], 276 | "space-infix-ops": "error", 277 | "space-unary-ops": "off", 278 | "spaced-comment": "off", 279 | "strict": "error", 280 | "switch-colon-spacing": [ 281 | "error", 282 | { 283 | "after": true, 284 | "before": true 285 | } 286 | ], 287 | "symbol-description": "error", 288 | "template-curly-spacing": [ 289 | "error", 290 | "never" 291 | ], 292 | "template-tag-spacing": "error", 293 | "unicode-bom": [ 294 | "error", 295 | "never" 296 | ], 297 | "valid-jsdoc": "off", 298 | "vars-on-top": "off", 299 | "wrap-iife": "error", 300 | "wrap-regex": "error", 301 | "yield-star-spacing": "error", 302 | "yoda": [ 303 | "error", 304 | "never" 305 | ] 306 | } 307 | }; 308 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *private* 3 | -------------------------------------------------------------------------------- /config.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * Will hold config 4 | * 5 | * @type {object} 6 | */ 7 | const Config = {}; 8 | 9 | /** 10 | * Command line arguments options 11 | */ 12 | Config.cla = 13 | [ 14 | { name: 'charAt', alias: 'c', type: Number, multiple: true, defaultValue: [] }, 15 | { name: 'find', alias: 'f', type: String, multiple: true, defaultValue: [] }, 16 | { name: 'invert', alias: 'i', type: String, multiple: true, defaultValue: [] }, 17 | { name: 'key', alias: 'k', type: String, multiple: true, defaultValue: ['0'] }, 18 | { name: 'patch', alias: 'p', type: String, multiple: true, defaultValue: [] }, 19 | { name: 'source', alias: 's', type: String, multiple: true, defaultValue: [] }, 20 | { name: 'to', alias: 't', type: String, multiple: true, defaultValue: [] }, // (!) Build me 21 | { name: 'verbose', alias: 'v', type: String, multiple: true, defaultValue: [] }, 22 | { name: 'wordAt', alias: 'w', type: Number, multiple: true, defaultValue: [] } 23 | ]; 24 | 25 | /** 26 | * Dictionary options 27 | */ 28 | Config.dict = 29 | { 30 | // Path to source file. 31 | 'src' : './data/dict', 32 | 33 | // Source file encoding 34 | 'encoding' : 'utf8', 35 | 36 | // Return x longest words 37 | 'longest' : 3, 38 | 39 | // Return x most frequent words 40 | 'most' : 5, 41 | 42 | // Normalize dictionary to Gematria 43 | 'isNormalized' : true 44 | }; 45 | 46 | /** 47 | * Encoding 48 | */ 49 | Config.encoding = 50 | { 51 | // Is value a mathematical expression? 52 | 'isExpression' : /^\$\((.*?)\)$/i, // /^(\$\().+(\))+$/i 53 | 54 | // Is value within Futhark unicode range? 55 | 'isFuthark' : /^[\u16A0-\u16FF]+$/i, 56 | 57 | // Is value an integer without leading zeros? 58 | 'isInteger' : /^(0|[1-9]\d*)$/, 59 | 60 | // Is value comma separated values without leading zeros? 61 | 'isIntegerCSV' : /^(?!(?:\d+[, ])*0\d)(?:\d+(?:,\d+)*)+$/, 62 | 63 | // Is value dot separated values without leading zeros? Repeat 0-5. 64 | 'isIntegerDSV' : /^(?!(?:\d+[. ])*0\d)(?:\d+(?:\.\d+){0,5}(?: |$))+$/, 65 | 66 | // Is value latin? 67 | 'isLatin' : /^[a-z]+$/i 68 | }; 69 | 70 | /** 71 | * Input options 72 | */ 73 | Config.input = 74 | { 75 | // Accept: multiple integer. 76 | 'charAt' : { 'regex': Config.encoding.isInteger }, 77 | 78 | // Accept: multiple latin words. 79 | 'find' : { 'regex': Config.encoding.isLatin }, 80 | 81 | // Accept: multiple single latin chars. 82 | 'invert' : { 'regex': /^[fklopst]$/i }, 83 | 84 | // Accept: multiple integer, integerCSV, latin chars/words, futhark chars/words and mathematical expressions. 85 | 'key' : { 'regex': new RegExp(Config.encoding.isInteger.source + '|' + Config.encoding.isIntegerCSV.source + '|' + Config.encoding.isLatin.source + '|' + Config.encoding.isFuthark.source + '|' + Config.encoding.isExpression.source, 'i') }, 86 | 87 | // Accept: multiple single latin chars. 88 | 'patch' : { 'regex': /^[sd]$/i }, 89 | 90 | // Accept: multiple integerDSV. 91 | 'source' : { 'regex': Config.encoding.isIntegerDSV }, 92 | 93 | // (!) Build me 94 | 'to' : { 'regex': Config.encoding.isLatin }, 95 | 96 | // Accept: multiple single latin chars. 97 | 'verbose' : { 'regex': /^[cdfiklpswx]$/i }, 98 | 99 | // Accept: multiple integer. 100 | 'wordAt' : { 'regex': Config.encoding.isInteger }, 101 | }; 102 | 103 | /** 104 | * IRC options 105 | */ 106 | Config.irc = 107 | { 108 | 'isEnabled' : true, 109 | 110 | 'owner' : {}, 111 | 112 | 'botalias' : '', 113 | 114 | 'server' : 'chat.freenode.net', 115 | 116 | 'nick' : '', 117 | 118 | 'options' : 119 | { 120 | 'userName' : '', 121 | 'realName' : '', 122 | 'password' : '', 123 | 'port' : 6697, 124 | 'localAddress' : null, 125 | 'debug' : false, 126 | 'showErrors' : false, 127 | 'autoRejoin' : true, 128 | 'autoConnect' : true, 129 | 'channels' : [], 130 | 'secure' : true, 131 | 'selfSigned' : false, 132 | 'certExpired' : false, 133 | 'floodProtection' : true, 134 | 'floodProtectionDelay' : 900, 135 | 'sasl' : true, 136 | 'stripColors' : true, 137 | 'channelPrefixes' : '&#', 138 | 'messageSplit' : 512, 139 | 'encoding' : 'utf-8' 140 | } 141 | }; 142 | 143 | /** 144 | * MathJS options 145 | */ 146 | Config.math = 147 | { 148 | // Limit amount of generateable primes 149 | 'maxPrimes': 20000, 150 | 151 | // Limit amount of generateable integers 152 | 'maxIntegers': 100000, 153 | 154 | // Limit amount of generateable fibonacci numbers 155 | 'maxFibonacci': 1000 156 | }; 157 | 158 | /** 159 | * Pastebin options 160 | */ 161 | Config.pastebin = 162 | { 163 | 'user': 164 | { 165 | 'api_dev_key' : '', 166 | 167 | 'api_user_name' : '', 168 | 169 | 'api_user_password' : '' 170 | }, 171 | 172 | 'paste': 173 | { 174 | 'api_paste_format' :'js', 175 | 176 | // 0 = Public, anonymous, 1 = Unlisted, anonymous, 2 = Private, user, 3 = Public, user 177 | 'privacy' : 1, 178 | 179 | 'duration' :'1M' 180 | } 181 | }; 182 | 183 | /** 184 | * Source options 185 | */ 186 | Config.source = 187 | { 188 | // Path to source file. 189 | 'src' : './data/liber', 190 | 191 | // Source file encoding 192 | 'encoding' : 'utf8', 193 | 194 | // Hirachical delimiters within source file. § = Chapter, $ = Section, & = Paragraph, . = Clause, - = Word, '' = Char. 195 | 'delimiter' : ['§', '$', '&', '.', '-', ''], 196 | 197 | 'isPatched' : true, 198 | 199 | // Hirachical offsets of single chars to replace. 200 | 'patch': 201 | { 202 | '0.1.0.1.9.1' : 'F', 203 | '0.1.0.2.7.0' : 'F', 204 | '0.1.0.2.10.0' : 'F', 205 | '0.1.0.3.5.0' : 'F', 206 | '0.1.0.3.12.2' : 'F', 207 | '0.1.0.3.12.3' : 'F', 208 | '0.1.0.4.7.3' : 'F', 209 | '0.1.1.1.5.7' : 'F', 210 | '0.1.1.2.5.7' : 'F', 211 | '0.1.1.4.0.0' : 'F', 212 | '0.1.1.5.5.3' : 'F', 213 | '0.5.0.2.5.1' : 'F', 214 | '0.5.0.2.7.6' : 'F', 215 | '0.16.0.2.4.1' : 'F' 216 | } 217 | }; 218 | 219 | module.exports = Config; 220 | -------------------------------------------------------------------------------- /data/dict: -------------------------------------------------------------------------------- 1 | the 2 | be 3 | and 4 | of 5 | a 6 | in 7 | to 8 | have 9 | it 10 | I 11 | that 12 | for 13 | you 14 | he 15 | with 16 | on 17 | do 18 | say 19 | this 20 | they 21 | at 22 | but 23 | we 24 | his 25 | from 26 | not 27 | by 28 | she 29 | or 30 | as 31 | what 32 | go 33 | their 34 | can 35 | who 36 | get 37 | if 38 | would 39 | her 40 | all 41 | my 42 | make 43 | about 44 | know 45 | will 46 | up 47 | one 48 | time 49 | there 50 | year 51 | so 52 | think 53 | when 54 | which 55 | them 56 | some 57 | me 58 | people 59 | take 60 | out 61 | into 62 | just 63 | see 64 | him 65 | your 66 | come 67 | could 68 | now 69 | than 70 | like 71 | other 72 | how 73 | then 74 | its 75 | our 76 | two 77 | more 78 | these 79 | want 80 | way 81 | look 82 | first 83 | also 84 | new 85 | because 86 | day 87 | use 88 | no 89 | man 90 | find 91 | here 92 | thing 93 | give 94 | many 95 | well 96 | only 97 | those 98 | tell 99 | very 100 | even 101 | back 102 | any 103 | good 104 | woman 105 | through 106 | us 107 | life 108 | child 109 | work 110 | down 111 | may 112 | after 113 | should 114 | call 115 | world 116 | over 117 | school 118 | still 119 | try 120 | last 121 | ask 122 | need 123 | too 124 | feel 125 | three 126 | state 127 | never 128 | become 129 | between 130 | high 131 | really 132 | something 133 | most 134 | another 135 | much 136 | family 137 | own 138 | leave 139 | put 140 | old 141 | while 142 | mean 143 | keep 144 | student 145 | why 146 | let 147 | great 148 | same 149 | big 150 | group 151 | begin 152 | seem 153 | country 154 | help 155 | talk 156 | where 157 | turn 158 | problem 159 | every 160 | start 161 | hand 162 | might 163 | American 164 | show 165 | part 166 | against 167 | place 168 | such 169 | again 170 | few 171 | case 172 | week 173 | company 174 | system 175 | each 176 | right 177 | program 178 | hear 179 | question 180 | during 181 | play 182 | government 183 | run 184 | small 185 | number 186 | off 187 | always 188 | move 189 | night 190 | live 191 | Mr 192 | point 193 | believe 194 | hold 195 | today 196 | bring 197 | happen 198 | next 199 | without 200 | before 201 | large 202 | million 203 | must 204 | home 205 | under 206 | water 207 | room 208 | write 209 | mother 210 | area 211 | national 212 | money 213 | story 214 | young 215 | fact 216 | month 217 | different 218 | lot 219 | study 220 | book 221 | eye 222 | job 223 | word 224 | though 225 | business 226 | issue 227 | side 228 | kind 229 | four 230 | head 231 | far 232 | black 233 | long 234 | both 235 | little 236 | house 237 | yes 238 | since 239 | provide 240 | service 241 | around 242 | friend 243 | important 244 | father 245 | sit 246 | away 247 | until 248 | power 249 | hour 250 | game 251 | often 252 | yet 253 | line 254 | political 255 | end 256 | among 257 | ever 258 | stand 259 | bad 260 | lose 261 | however 262 | member 263 | pay 264 | law 265 | meet 266 | car 267 | city 268 | almost 269 | include 270 | continue 271 | set 272 | later 273 | community 274 | name 275 | five 276 | once 277 | white 278 | least 279 | president 280 | learn 281 | real 282 | change 283 | team 284 | minute 285 | best 286 | several 287 | idea 288 | kid 289 | body 290 | information 291 | nothing 292 | ago 293 | lead 294 | social 295 | understand 296 | whether 297 | watch 298 | together 299 | follow 300 | parent 301 | stop 302 | face 303 | anything 304 | create 305 | public 306 | already 307 | speak 308 | others 309 | read 310 | level 311 | allow 312 | add 313 | office 314 | spend 315 | door 316 | health 317 | person 318 | art 319 | sure 320 | war 321 | history 322 | party 323 | within 324 | grow 325 | result 326 | open 327 | morning 328 | walk 329 | reason 330 | low 331 | win 332 | research 333 | girl 334 | guy 335 | early 336 | food 337 | moment 338 | himself 339 | air 340 | teacher 341 | force 342 | offer 343 | enough 344 | education 345 | across 346 | although 347 | remember 348 | foot 349 | second 350 | boy 351 | maybe 352 | toward 353 | able 354 | age 355 | policy 356 | everything 357 | love 358 | process 359 | music 360 | including 361 | consider 362 | appear 363 | actually 364 | buy 365 | probably 366 | human 367 | wait 368 | serve 369 | market 370 | die 371 | send 372 | expect 373 | sense 374 | build 375 | stay 376 | fall 377 | oh 378 | nation 379 | plan 380 | cut 381 | college 382 | interest 383 | death 384 | course 385 | someone 386 | experience 387 | behind 388 | reach 389 | local 390 | kill 391 | six 392 | remain 393 | effect 394 | yeah 395 | suggest 396 | class 397 | control 398 | raise 399 | care 400 | perhaps 401 | late 402 | hard 403 | field 404 | else 405 | pass 406 | former 407 | sell 408 | major 409 | sometimes 410 | require 411 | along 412 | development 413 | themselves 414 | report 415 | role 416 | better 417 | economic 418 | effort 419 | decide 420 | rate 421 | strong 422 | possible 423 | heart 424 | drug 425 | leader 426 | light 427 | voice 428 | wife 429 | whole 430 | police 431 | mind 432 | finally 433 | pull 434 | return 435 | free 436 | military 437 | price 438 | less 439 | according 440 | decision 441 | explain 442 | son 443 | hope 444 | develop 445 | view 446 | relationship 447 | carry 448 | town 449 | road 450 | drive 451 | arm 452 | TRUE 453 | federal 454 | break 455 | difference 456 | thank 457 | receive 458 | value 459 | international 460 | building 461 | action 462 | full 463 | model 464 | join 465 | season 466 | society 467 | tax 468 | director 469 | position 470 | player 471 | agree 472 | especially 473 | record 474 | pick 475 | wear 476 | paper 477 | special 478 | space 479 | ground 480 | form 481 | support 482 | event 483 | official 484 | whose 485 | matter 486 | everyone 487 | center 488 | couple 489 | site 490 | project 491 | hit 492 | base 493 | activity 494 | star 495 | table 496 | court 497 | produce 498 | eat 499 | teach 500 | oil 501 | half 502 | situation 503 | easy 504 | cost 505 | industry 506 | figure 507 | street 508 | image 509 | itself 510 | phone 511 | either 512 | data 513 | cover 514 | quite 515 | picture 516 | clear 517 | practice 518 | piece 519 | land 520 | recent 521 | describe 522 | product 523 | doctor 524 | wall 525 | patient 526 | worker 527 | news 528 | test 529 | movie 530 | certain 531 | north 532 | personal 533 | simply 534 | third 535 | technology 536 | catch 537 | step 538 | baby 539 | computer 540 | type 541 | attention 542 | draw 543 | film 544 | Republican 545 | tree 546 | source 547 | red 548 | nearly 549 | organization 550 | choose 551 | cause 552 | hair 553 | century 554 | evidence 555 | window 556 | difficult 557 | listen 558 | soon 559 | culture 560 | billion 561 | chance 562 | brother 563 | energy 564 | period 565 | summer 566 | realize 567 | hundred 568 | available 569 | plant 570 | likely 571 | opportunity 572 | term 573 | short 574 | letter 575 | condition 576 | choice 577 | single 578 | rule 579 | daughter 580 | administration 581 | south 582 | husband 583 | Congress 584 | floor 585 | campaign 586 | material 587 | population 588 | economy 589 | medical 590 | hospital 591 | church 592 | close 593 | thousand 594 | risk 595 | current 596 | fire 597 | future 598 | wrong 599 | involve 600 | defense 601 | anyone 602 | increase 603 | security 604 | bank 605 | myself 606 | certainly 607 | west 608 | sport 609 | board 610 | seek 611 | per 612 | subject 613 | officer 614 | private 615 | rest 616 | behavior 617 | deal 618 | performance 619 | fight 620 | throw 621 | top 622 | quickly 623 | past 624 | goal 625 | bed 626 | order 627 | author 628 | fill 629 | represent 630 | focus 631 | foreign 632 | drop 633 | blood 634 | upon 635 | agency 636 | push 637 | nature 638 | color 639 | recently 640 | store 641 | reduce 642 | sound 643 | note 644 | fine 645 | near 646 | movement 647 | page 648 | enter 649 | share 650 | common 651 | poor 652 | natural 653 | race 654 | concern 655 | series 656 | significant 657 | similar 658 | hot 659 | language 660 | usually 661 | response 662 | dead 663 | rise 664 | animal 665 | factor 666 | decade 667 | article 668 | shoot 669 | east 670 | save 671 | seven 672 | artist 673 | scene 674 | stock 675 | career 676 | despite 677 | central 678 | eight 679 | thus 680 | treatment 681 | beyond 682 | happy 683 | exactly 684 | protect 685 | approach 686 | lie 687 | size 688 | dog 689 | fund 690 | serious 691 | occur 692 | media 693 | ready 694 | sign 695 | thought 696 | list 697 | individual 698 | simple 699 | quality 700 | pressure 701 | accept 702 | answer 703 | resource 704 | identify 705 | left 706 | meeting 707 | determine 708 | prepare 709 | disease 710 | whatever 711 | success 712 | argue 713 | cup 714 | particularly 715 | amount 716 | ability 717 | staff 718 | recognize 719 | indicate 720 | character 721 | growth 722 | loss 723 | degree 724 | wonder 725 | attack 726 | herself 727 | region 728 | television 729 | box 730 | TV 731 | training 732 | pretty 733 | trade 734 | election 735 | everybody 736 | physical 737 | lay 738 | general 739 | feeling 740 | standard 741 | bill 742 | message 743 | fail 744 | outside 745 | arrive 746 | analysis 747 | benefit 748 | sex 749 | forward 750 | lawyer 751 | present 752 | section 753 | environmental 754 | glass 755 | skill 756 | sister 757 | PM 758 | professor 759 | operation 760 | financial 761 | crime 762 | stage 763 | ok 764 | compare 765 | authority 766 | miss 767 | design 768 | sort 769 | act 770 | ten 771 | knowledge 772 | gun 773 | station 774 | blue 775 | strategy 776 | clearly 777 | discuss 778 | indeed 779 | truth 780 | song 781 | example 782 | democratic 783 | check 784 | environment 785 | leg 786 | dark 787 | various 788 | rather 789 | laugh 790 | guess 791 | executive 792 | prove 793 | hang 794 | entire 795 | rock 796 | forget 797 | claim 798 | remove 799 | manager 800 | enjoy 801 | network 802 | legal 803 | religious 804 | cold 805 | final 806 | main 807 | science 808 | green 809 | memory 810 | card 811 | above 812 | seat 813 | cell 814 | establish 815 | nice 816 | trial 817 | expert 818 | spring 819 | firm 820 | Democrat 821 | radio 822 | visit 823 | management 824 | avoid 825 | imagine 826 | tonight 827 | huge 828 | ball 829 | finish 830 | yourself 831 | theory 832 | impact 833 | respond 834 | statement 835 | maintain 836 | charge 837 | popular 838 | traditional 839 | onto 840 | reveal 841 | direction 842 | weapon 843 | employee 844 | cultural 845 | contain 846 | peace 847 | pain 848 | apply 849 | measure 850 | wide 851 | shake 852 | fly 853 | interview 854 | manage 855 | chair 856 | fish 857 | particular 858 | camera 859 | structure 860 | politics 861 | perform 862 | bit 863 | weight 864 | suddenly 865 | discover 866 | candidate 867 | production 868 | treat 869 | trip 870 | evening 871 | affect 872 | inside 873 | conference 874 | unit 875 | style 876 | adult 877 | worry 878 | range 879 | mention 880 | deep 881 | edge 882 | specific 883 | writer 884 | trouble 885 | necessary 886 | throughout 887 | challenge 888 | fear 889 | shoulder 890 | institution 891 | middle 892 | sea 893 | dream 894 | bar 895 | beautiful 896 | property 897 | instead 898 | improve 899 | stuff 900 | detail 901 | method 902 | somebody 903 | magazine 904 | hotel 905 | soldier 906 | reflect 907 | heavy 908 | sexual 909 | bag 910 | heat 911 | marriage 912 | tough 913 | sing 914 | surface 915 | purpose 916 | exist 917 | pattern 918 | whom 919 | skin 920 | agent 921 | owner 922 | machine 923 | gas 924 | ahead 925 | generation 926 | commercial 927 | address 928 | cancer 929 | item 930 | reality 931 | coach 932 | Mrs 933 | yard 934 | beat 935 | violence 936 | total 937 | tend 938 | investment 939 | discussion 940 | finger 941 | garden 942 | notice 943 | collection 944 | modern 945 | task 946 | partner 947 | positive 948 | civil 949 | kitchen 950 | consumer 951 | shot 952 | budget 953 | wish 954 | painting 955 | scientist 956 | safe 957 | agreement 958 | capital 959 | mouth 960 | nor 961 | victim 962 | newspaper 963 | threat 964 | responsibility 965 | smile 966 | attorney 967 | score 968 | account 969 | interesting 970 | audience 971 | rich 972 | dinner 973 | vote 974 | western 975 | relate 976 | travel 977 | debate 978 | prevent 979 | citizen 980 | majority 981 | none 982 | front 983 | born 984 | admit 985 | senior 986 | assume 987 | wind 988 | key 989 | professional 990 | mission 991 | fast 992 | alone 993 | customer 994 | suffer 995 | speech 996 | successful 997 | option 998 | participant 999 | southern 1000 | fresh 1001 | eventually 1002 | forest 1003 | video 1004 | global 1005 | Senate 1006 | reform 1007 | access 1008 | restaurant 1009 | judge 1010 | publish 1011 | relation 1012 | release 1013 | bird 1014 | opinion 1015 | credit 1016 | critical 1017 | corner 1018 | concerned 1019 | recall 1020 | version 1021 | stare 1022 | safety 1023 | effective 1024 | neighborhood 1025 | original 1026 | troop 1027 | income 1028 | directly 1029 | hurt 1030 | species 1031 | immediately 1032 | track 1033 | basic 1034 | strike 1035 | sky 1036 | freedom 1037 | absolutely 1038 | plane 1039 | nobody 1040 | achieve 1041 | object 1042 | attitude 1043 | labor 1044 | refer 1045 | concept 1046 | client 1047 | powerful 1048 | perfect 1049 | nine 1050 | therefore 1051 | conduct 1052 | announce 1053 | conversation 1054 | examine 1055 | touch 1056 | please 1057 | attend 1058 | completely 1059 | variety 1060 | sleep 1061 | involved 1062 | investigation 1063 | nuclear 1064 | researcher 1065 | press 1066 | conflict 1067 | spirit 1068 | replace 1069 | British 1070 | encourage 1071 | argument 1072 | camp 1073 | brain 1074 | feature 1075 | afternoon 1076 | AM 1077 | weekend 1078 | dozen 1079 | possibility 1080 | insurance 1081 | department 1082 | battle 1083 | beginning 1084 | date 1085 | generally 1086 | African 1087 | sorry 1088 | crisis 1089 | complete 1090 | fan 1091 | stick 1092 | define 1093 | easily 1094 | hole 1095 | element 1096 | vision 1097 | status 1098 | normal 1099 | Chinese 1100 | ship 1101 | solution 1102 | stone 1103 | slowly 1104 | scale 1105 | university 1106 | introduce 1107 | driver 1108 | attempt 1109 | park 1110 | spot 1111 | lack 1112 | ice 1113 | boat 1114 | drink 1115 | sun 1116 | distance 1117 | wood 1118 | handle 1119 | truck 1120 | mountain 1121 | survey 1122 | supposed 1123 | tradition 1124 | winter 1125 | village 1126 | Soviet 1127 | refuse 1128 | sales 1129 | roll 1130 | communication 1131 | screen 1132 | gain 1133 | resident 1134 | hide 1135 | gold 1136 | club 1137 | farm 1138 | potential 1139 | European 1140 | presence 1141 | independent 1142 | district 1143 | shape 1144 | reader 1145 | Ms 1146 | contract 1147 | crowd 1148 | Christian 1149 | express 1150 | apartment 1151 | willing 1152 | strength 1153 | previous 1154 | band 1155 | obviously 1156 | horse 1157 | interested 1158 | target 1159 | prison 1160 | ride 1161 | guard 1162 | terms 1163 | demand 1164 | reporter 1165 | deliver 1166 | text 1167 | tool 1168 | wild 1169 | vehicle 1170 | observe 1171 | flight 1172 | facility 1173 | understanding 1174 | average 1175 | emerge 1176 | advantage 1177 | quick 1178 | leadership 1179 | earn 1180 | pound 1181 | basis 1182 | bright 1183 | operate 1184 | guest 1185 | sample 1186 | contribute 1187 | tiny 1188 | block 1189 | protection 1190 | settle 1191 | feed 1192 | collect 1193 | additional 1194 | highly 1195 | identity 1196 | title 1197 | mostly 1198 | lesson 1199 | faith 1200 | river 1201 | promote 1202 | living 1203 | count 1204 | unless 1205 | marry 1206 | tomorrow 1207 | technique 1208 | path 1209 | ear 1210 | shop 1211 | folk 1212 | principle 1213 | survive 1214 | lift 1215 | border 1216 | competition 1217 | jump 1218 | gather 1219 | limit 1220 | fit 1221 | cry 1222 | equipment 1223 | worth 1224 | associate 1225 | critic 1226 | warm 1227 | aspect 1228 | insist 1229 | failure 1230 | annual 1231 | French 1232 | Christmas 1233 | comment 1234 | responsible 1235 | affair 1236 | procedure 1237 | regular 1238 | spread 1239 | chairman 1240 | baseball 1241 | soft 1242 | ignore 1243 | egg 1244 | belief 1245 | demonstrate 1246 | anybody 1247 | murder 1248 | gift 1249 | religion 1250 | review 1251 | editor 1252 | engage 1253 | coffee 1254 | document 1255 | speed 1256 | cross 1257 | influence 1258 | anyway 1259 | threaten 1260 | commit 1261 | female 1262 | youth 1263 | wave 1264 | afraid 1265 | quarter 1266 | background 1267 | native 1268 | broad 1269 | wonderful 1270 | deny 1271 | apparently 1272 | slightly 1273 | reaction 1274 | twice 1275 | suit 1276 | perspective 1277 | growing 1278 | blow 1279 | construction 1280 | intelligence 1281 | destroy 1282 | cook 1283 | connection 1284 | burn 1285 | shoe 1286 | grade 1287 | context 1288 | committee 1289 | hey 1290 | mistake 1291 | location 1292 | clothes 1293 | Indian 1294 | quiet 1295 | dress 1296 | promise 1297 | aware 1298 | neighbor 1299 | function 1300 | bone 1301 | active 1302 | extend 1303 | chief 1304 | combine 1305 | wine 1306 | below 1307 | cool 1308 | voter 1309 | learning 1310 | bus 1311 | hell 1312 | dangerous 1313 | remind 1314 | moral 1315 | United 1316 | category 1317 | relatively 1318 | victory 1319 | academic 1320 | Internet 1321 | healthy 1322 | negative 1323 | following 1324 | historical 1325 | medicine 1326 | tour 1327 | depend 1328 | photo 1329 | finding 1330 | grab 1331 | direct 1332 | classroom 1333 | contact 1334 | justice 1335 | participate 1336 | daily 1337 | fair 1338 | pair 1339 | famous 1340 | exercise 1341 | knee 1342 | flower 1343 | tape 1344 | hire 1345 | familiar 1346 | appropriate 1347 | supply 1348 | fully 1349 | actor 1350 | birth 1351 | search 1352 | tie 1353 | democracy 1354 | eastern 1355 | primary 1356 | yesterday 1357 | circle 1358 | device 1359 | progress 1360 | bottom 1361 | island 1362 | exchange 1363 | clean 1364 | studio 1365 | train 1366 | lady 1367 | colleague 1368 | application 1369 | neck 1370 | lean 1371 | damage 1372 | plastic 1373 | tall 1374 | plate 1375 | hate 1376 | otherwise 1377 | writing 1378 | male 1379 | alive 1380 | expression 1381 | football 1382 | intend 1383 | chicken 1384 | army 1385 | abuse 1386 | theater 1387 | shut 1388 | map 1389 | extra 1390 | session 1391 | danger 1392 | welcome 1393 | domestic 1394 | lots 1395 | literature 1396 | rain 1397 | desire 1398 | assessment 1399 | injury 1400 | respect 1401 | northern 1402 | nod 1403 | paint 1404 | fuel 1405 | leaf 1406 | dry 1407 | Russian 1408 | instruction 1409 | pool 1410 | climb 1411 | sweet 1412 | engine 1413 | fourth 1414 | salt 1415 | expand 1416 | importance 1417 | metal 1418 | fat 1419 | ticket 1420 | software 1421 | disappear 1422 | corporate 1423 | strange 1424 | lip 1425 | reading 1426 | urban 1427 | mental 1428 | increasingly 1429 | lunch 1430 | educational 1431 | somewhere 1432 | farmer 1433 | sugar 1434 | planet 1435 | favorite 1436 | explore 1437 | obtain 1438 | enemy 1439 | greatest 1440 | complex 1441 | surround 1442 | athlete 1443 | invite 1444 | repeat 1445 | carefully 1446 | soul 1447 | scientific 1448 | impossible 1449 | panel 1450 | meaning 1451 | mom 1452 | married 1453 | instrument 1454 | predict 1455 | weather 1456 | presidential 1457 | emotional 1458 | commitment 1459 | Supreme 1460 | bear 1461 | pocket 1462 | thin 1463 | temperature 1464 | surprise 1465 | poll 1466 | proposal 1467 | consequence 1468 | breath 1469 | sight 1470 | balance 1471 | adopt 1472 | minority 1473 | straight 1474 | connect 1475 | works 1476 | teaching 1477 | belong 1478 | aid 1479 | advice 1480 | okay 1481 | photograph 1482 | empty 1483 | regional 1484 | trail 1485 | novel 1486 | code 1487 | somehow 1488 | organize 1489 | jury 1490 | breast 1491 | Iraqi 1492 | acknowledge 1493 | theme 1494 | storm 1495 | union 1496 | desk 1497 | thanks 1498 | fruit 1499 | expensive 1500 | yellow 1501 | conclusion 1502 | prime 1503 | shadow 1504 | struggle 1505 | conclude 1506 | analyst 1507 | dance 1508 | regulation 1509 | being 1510 | ring 1511 | largely 1512 | shift 1513 | revenue 1514 | mark 1515 | locate 1516 | county 1517 | appearance 1518 | package 1519 | difficulty 1520 | bridge 1521 | recommend 1522 | obvious 1523 | basically 1524 | e-mail 1525 | generate 1526 | anymore 1527 | propose 1528 | thinking 1529 | possibly 1530 | trend 1531 | visitor 1532 | loan 1533 | currently 1534 | comfortable 1535 | investor 1536 | profit 1537 | angry 1538 | crew 1539 | accident 1540 | meal 1541 | hearing 1542 | traffic 1543 | muscle 1544 | notion 1545 | capture 1546 | prefer 1547 | truly 1548 | earth 1549 | Japanese 1550 | chest 1551 | thick 1552 | cash 1553 | museum 1554 | beauty 1555 | emergency 1556 | unique 1557 | internal 1558 | ethnic 1559 | link 1560 | stress 1561 | content 1562 | select 1563 | root 1564 | nose 1565 | declare 1566 | appreciate 1567 | actual 1568 | bottle 1569 | hardly 1570 | setting 1571 | launch 1572 | file 1573 | sick 1574 | outcome 1575 | ad 1576 | defend 1577 | duty 1578 | sheet 1579 | ought 1580 | ensure 1581 | Catholic 1582 | extremely 1583 | extent 1584 | component 1585 | mix 1586 | long-term 1587 | slow 1588 | contrast 1589 | zone 1590 | wake 1591 | airport 1592 | brown 1593 | shirt 1594 | pilot 1595 | warn 1596 | ultimately 1597 | cat 1598 | contribution 1599 | capacity 1600 | ourselves 1601 | estate 1602 | guide 1603 | circumstance 1604 | snow 1605 | English 1606 | politician 1607 | steal 1608 | pursue 1609 | slip 1610 | percentage 1611 | meat 1612 | funny 1613 | neither 1614 | soil 1615 | surgery 1616 | correct 1617 | Jewish 1618 | blame 1619 | estimate 1620 | due 1621 | basketball 1622 | golf 1623 | investigate 1624 | crazy 1625 | significantly 1626 | chain 1627 | branch 1628 | combination 1629 | frequently 1630 | governor 1631 | relief 1632 | user 1633 | dad 1634 | kick 1635 | manner 1636 | ancient 1637 | silence 1638 | rating 1639 | golden 1640 | motion 1641 | German 1642 | gender 1643 | solve 1644 | fee 1645 | landscape 1646 | used 1647 | bowl 1648 | equal 1649 | forth 1650 | frame 1651 | typical 1652 | except 1653 | conservative 1654 | eliminate 1655 | host 1656 | hall 1657 | trust 1658 | ocean 1659 | row 1660 | producer 1661 | afford 1662 | meanwhile 1663 | regime 1664 | division 1665 | confirm 1666 | fix 1667 | appeal 1668 | mirror 1669 | tooth 1670 | smart 1671 | length 1672 | entirely 1673 | rely 1674 | topic 1675 | complain 1676 | variable 1677 | telephone 1678 | perception 1679 | attract 1680 | confidence 1681 | bedroom 1682 | secret 1683 | debt 1684 | rare 1685 | tank 1686 | nurse 1687 | coverage 1688 | opposition 1689 | aside 1690 | anywhere 1691 | bond 1692 | pleasure 1693 | master 1694 | era 1695 | requirement 1696 | fun 1697 | expectation 1698 | wing 1699 | separate 1700 | somewhat 1701 | pour 1702 | stir 1703 | judgment 1704 | beer 1705 | reference 1706 | tear 1707 | doubt 1708 | grant 1709 | seriously 1710 | minister 1711 | totally 1712 | hero 1713 | industrial 1714 | cloud 1715 | stretch 1716 | winner 1717 | volume 1718 | seed 1719 | surprised 1720 | fashion 1721 | pepper 1722 | busy 1723 | intervention 1724 | copy 1725 | tip 1726 | cheap 1727 | aim 1728 | cite 1729 | welfare 1730 | vegetable 1731 | gray 1732 | dish 1733 | beach 1734 | improvement 1735 | everywhere 1736 | opening 1737 | overall 1738 | divide 1739 | initial 1740 | terrible 1741 | oppose 1742 | contemporary 1743 | route 1744 | multiple 1745 | essential 1746 | league 1747 | criminal 1748 | careful 1749 | core 1750 | upper 1751 | rush 1752 | necessarily 1753 | specifically 1754 | tired 1755 | employ 1756 | holiday 1757 | vast 1758 | resolution 1759 | household 1760 | fewer 1761 | abortion 1762 | apart 1763 | witness 1764 | match 1765 | barely 1766 | sector 1767 | representative 1768 | beneath 1769 | beside 1770 | incident 1771 | limited 1772 | proud 1773 | flow 1774 | faculty 1775 | increased 1776 | waste 1777 | merely 1778 | mass 1779 | emphasize 1780 | experiment 1781 | definitely 1782 | bomb 1783 | enormous 1784 | tone 1785 | liberal 1786 | massive 1787 | engineer 1788 | wheel 1789 | decline 1790 | invest 1791 | cable 1792 | towards 1793 | expose 1794 | rural 1795 | AIDS 1796 | Jew 1797 | narrow 1798 | cream 1799 | secretary 1800 | gate 1801 | solid 1802 | hill 1803 | typically 1804 | noise 1805 | grass 1806 | unfortunately 1807 | hat 1808 | legislation 1809 | succeed 1810 | celebrate 1811 | achievement 1812 | fishing 1813 | accuse 1814 | useful 1815 | reject 1816 | talent 1817 | taste 1818 | characteristic 1819 | milk 1820 | escape 1821 | cast 1822 | sentence 1823 | unusual 1824 | closely 1825 | convince 1826 | height 1827 | physician 1828 | assess 1829 | plenty 1830 | virtually 1831 | addition 1832 | sharp 1833 | creative 1834 | lower 1835 | approve 1836 | explanation 1837 | gay 1838 | campus 1839 | proper 1840 | guilty 1841 | acquire 1842 | compete 1843 | technical 1844 | plus 1845 | immigrant 1846 | weak 1847 | illegal 1848 | hi 1849 | alternative 1850 | interaction 1851 | column 1852 | personality 1853 | signal 1854 | curriculum 1855 | honor 1856 | passenger 1857 | assistance 1858 | forever 1859 | regard 1860 | Israeli 1861 | association 1862 | twenty 1863 | knock 1864 | wrap 1865 | lab 1866 | display 1867 | criticism 1868 | asset 1869 | depression 1870 | spiritual 1871 | musical 1872 | journalist 1873 | prayer 1874 | suspect 1875 | scholar 1876 | warning 1877 | climate 1878 | cheese 1879 | observation 1880 | childhood 1881 | payment 1882 | sir 1883 | permit 1884 | cigarette 1885 | definition 1886 | priority 1887 | bread 1888 | creation 1889 | graduate 1890 | request 1891 | emotion 1892 | scream 1893 | dramatic 1894 | universe 1895 | gap 1896 | excellent 1897 | deeply 1898 | prosecutor 1899 | lucky 1900 | drag 1901 | airline 1902 | library 1903 | agenda 1904 | recover 1905 | factory 1906 | selection 1907 | primarily 1908 | roof 1909 | unable 1910 | expense 1911 | initiative 1912 | diet 1913 | arrest 1914 | funding 1915 | therapy 1916 | wash 1917 | schedule 1918 | sad 1919 | brief 1920 | housing 1921 | post 1922 | purchase 1923 | existing 1924 | steel 1925 | regarding 1926 | shout 1927 | remaining 1928 | visual 1929 | fairly 1930 | chip 1931 | violent 1932 | silent 1933 | suppose 1934 | self 1935 | bike 1936 | tea 1937 | perceive 1938 | comparison 1939 | settlement 1940 | layer 1941 | planning 1942 | description 1943 | slide 1944 | widely 1945 | wedding 1946 | inform 1947 | portion 1948 | territory 1949 | immediate 1950 | opponent 1951 | abandon 1952 | lake 1953 | transform 1954 | tension 1955 | leading 1956 | bother 1957 | consist 1958 | alcohol 1959 | enable 1960 | bend 1961 | saving 1962 | desert 1963 | shall 1964 | error 1965 | cop 1966 | Arab 1967 | double 1968 | sand 1969 | Spanish 1970 | print 1971 | preserve 1972 | passage 1973 | formal 1974 | transition 1975 | existence 1976 | album 1977 | participation 1978 | arrange 1979 | atmosphere 1980 | joint 1981 | reply 1982 | cycle 1983 | opposite 1984 | lock 1985 | deserve 1986 | consistent 1987 | resistance 1988 | discovery 1989 | exposure 1990 | pose 1991 | stream 1992 | sale 1993 | pot 1994 | grand 1995 | mine 1996 | hello 1997 | coalition 1998 | tale 1999 | knife 2000 | resolve 2001 | racial 2002 | phase 2003 | joke 2004 | coat 2005 | Mexican 2006 | symptom 2007 | manufacturer 2008 | philosophy 2009 | potato 2010 | foundation 2011 | quote 2012 | online 2013 | negotiation 2014 | urge 2015 | occasion 2016 | dust 2017 | breathe 2018 | elect 2019 | investigator 2020 | jacket 2021 | glad 2022 | ordinary 2023 | reduction 2024 | rarely 2025 | pack 2026 | suicide 2027 | numerous 2028 | substance 2029 | discipline 2030 | elsewhere 2031 | iron 2032 | practical 2033 | moreover 2034 | passion 2035 | volunteer 2036 | implement 2037 | essentially 2038 | gene 2039 | enforcement 2040 | vs 2041 | sauce 2042 | independence 2043 | marketing 2044 | priest 2045 | amazing 2046 | intense 2047 | advance 2048 | employer 2049 | shock 2050 | inspire 2051 | adjust 2052 | retire 2053 | visible 2054 | kiss 2055 | illness 2056 | cap 2057 | habit 2058 | competitive 2059 | juice 2060 | congressional 2061 | involvement 2062 | dominate 2063 | previously 2064 | whenever 2065 | transfer 2066 | analyze 2067 | attach 2068 | disaster 2069 | parking 2070 | prospect 2071 | boss 2072 | complaint 2073 | championship 2074 | fundamental 2075 | severe 2076 | enhance 2077 | mystery 2078 | impose 2079 | poverty 2080 | entry 2081 | spending 2082 | king 2083 | evaluate 2084 | symbol 2085 | maker 2086 | mood 2087 | accomplish 2088 | emphasis 2089 | illustrate 2090 | boot 2091 | monitor 2092 | Asian 2093 | entertainment 2094 | bean 2095 | evaluation 2096 | creature 2097 | commander 2098 | digital 2099 | arrangement 2100 | concentrate 2101 | usual 2102 | anger 2103 | psychological 2104 | heavily 2105 | peak 2106 | approximately 2107 | increasing 2108 | disorder 2109 | missile 2110 | equally 2111 | vary 2112 | wire 2113 | round 2114 | distribution 2115 | transportation 2116 | holy 2117 | twin 2118 | command 2119 | commission 2120 | interpretation 2121 | breakfast 2122 | strongly 2123 | engineering 2124 | luck 2125 | so-called 2126 | constant 2127 | clinic 2128 | veteran 2129 | smell 2130 | tablespoon 2131 | capable 2132 | nervous 2133 | tourist 2134 | toss 2135 | crucial 2136 | bury 2137 | pray 2138 | tomato 2139 | exception 2140 | butter 2141 | deficit 2142 | bathroom 2143 | objective 2144 | electronic 2145 | ally 2146 | journey 2147 | reputation 2148 | mixture 2149 | surely 2150 | tower 2151 | smoke 2152 | confront 2153 | pure 2154 | glance 2155 | dimension 2156 | toy 2157 | prisoner 2158 | fellow 2159 | smooth 2160 | nearby 2161 | peer 2162 | designer 2163 | personnel 2164 | educator 2165 | relative 2166 | immigration 2167 | belt 2168 | teaspoon 2169 | birthday 2170 | implication 2171 | perfectly 2172 | coast 2173 | supporter 2174 | accompany 2175 | silver 2176 | teenager 2177 | recognition 2178 | retirement 2179 | flag 2180 | recovery 2181 | whisper 2182 | gentleman 2183 | corn 2184 | moon 2185 | inner 2186 | junior 2187 | throat 2188 | salary 2189 | swing 2190 | observer 2191 | publication 2192 | crop 2193 | dig 2194 | permanent 2195 | phenomenon 2196 | anxiety 2197 | unlike 2198 | wet 2199 | literally 2200 | resist 2201 | convention 2202 | embrace 2203 | assist 2204 | exhibition 2205 | construct 2206 | viewer 2207 | pan 2208 | consultant 2209 | administrator 2210 | occasionally 2211 | mayor 2212 | consideration 2213 | CEO 2214 | secure 2215 | pink 2216 | buck 2217 | historic 2218 | poem 2219 | grandmother 2220 | bind 2221 | fifth 2222 | constantly 2223 | enterprise 2224 | favor 2225 | testing 2226 | stomach 2227 | apparent 2228 | weigh 2229 | install 2230 | sensitive 2231 | suggestion 2232 | mail 2233 | recipe 2234 | reasonable 2235 | preparation 2236 | wooden 2237 | elementary 2238 | concert 2239 | aggressive 2240 | FALSE 2241 | intention 2242 | channel 2243 | extreme 2244 | tube 2245 | drawing 2246 | protein 2247 | quit 2248 | absence 2249 | Latin 2250 | rapidly 2251 | jail 2252 | diversity 2253 | honest 2254 | Palestinian 2255 | pace 2256 | employment 2257 | speaker 2258 | impression 2259 | essay 2260 | respondent 2261 | giant 2262 | cake 2263 | historian 2264 | negotiate 2265 | restore 2266 | substantial 2267 | pop 2268 | specialist 2269 | origin 2270 | approval 2271 | quietly 2272 | advise 2273 | conventional 2274 | depth 2275 | wealth 2276 | disability 2277 | shell 2278 | criticize 2279 | effectively 2280 | biological 2281 | onion 2282 | deputy 2283 | flat 2284 | brand 2285 | assure 2286 | mad 2287 | award 2288 | criteria 2289 | dealer 2290 | via 2291 | utility 2292 | precisely 2293 | arise 2294 | armed 2295 | nevertheless 2296 | highway 2297 | clinical 2298 | routine 2299 | wage 2300 | normally 2301 | phrase 2302 | ingredient 2303 | stake 2304 | Muslim 2305 | fiber 2306 | activist 2307 | Islamic 2308 | snap 2309 | terrorism 2310 | refugee 2311 | incorporate 2312 | hip 2313 | ultimate 2314 | switch 2315 | corporation 2316 | valuable 2317 | assumption 2318 | gear 2319 | barrier 2320 | minor 2321 | provision 2322 | killer 2323 | assign 2324 | gang 2325 | developing 2326 | classic 2327 | chemical 2328 | label 2329 | teen 2330 | index 2331 | vacation 2332 | advocate 2333 | draft 2334 | extraordinary 2335 | heaven 2336 | rough 2337 | yell 2338 | pregnant 2339 | distant 2340 | drama 2341 | satellite 2342 | personally 2343 | clock 2344 | chocolate 2345 | Italian 2346 | Canadian 2347 | ceiling 2348 | sweep 2349 | advertising 2350 | universal 2351 | spin 2352 | button 2353 | bell 2354 | rank 2355 | darkness 2356 | clothing 2357 | super 2358 | yield 2359 | fence 2360 | portrait 2361 | survival 2362 | roughly 2363 | lawsuit 2364 | testimony 2365 | bunch 2366 | found 2367 | burden 2368 | react 2369 | chamber 2370 | furniture 2371 | cooperation 2372 | string 2373 | ceremony 2374 | communicate 2375 | cheek 2376 | lost 2377 | profile 2378 | mechanism 2379 | disagree 2380 | penalty 2381 | ie 2382 | resort 2383 | destruction 2384 | unlikely 2385 | tissue 2386 | constitutional 2387 | pant 2388 | stranger 2389 | infection 2390 | cabinet 2391 | broken 2392 | apple 2393 | electric 2394 | proceed 2395 | bet 2396 | literary 2397 | virus 2398 | stupid 2399 | dispute 2400 | fortune 2401 | strategic 2402 | assistant 2403 | overcome 2404 | remarkable 2405 | occupy 2406 | statistics 2407 | shopping 2408 | cousin 2409 | encounter 2410 | wipe 2411 | initially 2412 | blind 2413 | port 2414 | electricity 2415 | genetic 2416 | adviser 2417 | spokesman 2418 | retain 2419 | latter 2420 | incentive 2421 | slave 2422 | translate 2423 | accurate 2424 | whereas 2425 | terror 2426 | expansion 2427 | elite 2428 | Olympic 2429 | dirt 2430 | odd 2431 | rice 2432 | bullet 2433 | tight 2434 | Bible 2435 | chart 2436 | solar 2437 | square 2438 | concentration 2439 | complicated 2440 | gently 2441 | champion 2442 | scenario 2443 | telescope 2444 | reflection 2445 | revolution 2446 | strip 2447 | interpret 2448 | friendly 2449 | tournament 2450 | fiction 2451 | detect 2452 | tremendous 2453 | lifetime 2454 | recommendation 2455 | senator 2456 | hunting 2457 | salad 2458 | guarantee 2459 | innocent 2460 | boundary 2461 | pause 2462 | remote 2463 | satisfaction 2464 | journal 2465 | bench 2466 | lover 2467 | raw 2468 | awareness 2469 | surprising 2470 | withdraw 2471 | deck 2472 | similarly 2473 | newly 2474 | pole 2475 | testify 2476 | mode 2477 | dialogue 2478 | imply 2479 | naturally 2480 | mutual 2481 | founder 2482 | advanced 2483 | pride 2484 | dismiss 2485 | aircraft 2486 | delivery 2487 | mainly 2488 | bake 2489 | freeze 2490 | platform 2491 | finance 2492 | sink 2493 | attractive 2494 | diverse 2495 | relevant 2496 | ideal 2497 | joy 2498 | regularly 2499 | working 2500 | singer 2501 | evolve 2502 | shooting 2503 | partly 2504 | unknown 2505 | offense 2506 | counter 2507 | DNA 2508 | potentially 2509 | thirty 2510 | justify 2511 | protest 2512 | crash 2513 | craft 2514 | treaty 2515 | terrorist 2516 | insight 2517 | possess 2518 | politically 2519 | tap 2520 | extensive 2521 | episode 2522 | swim 2523 | tire 2524 | fault 2525 | loose 2526 | shortly 2527 | originally 2528 | considerable 2529 | prior 2530 | intellectual 2531 | assault 2532 | relax 2533 | stair 2534 | adventure 2535 | external 2536 | proof 2537 | confident 2538 | headquarters 2539 | sudden 2540 | dirty 2541 | violation 2542 | tongue 2543 | license 2544 | shelter 2545 | rub 2546 | controversy 2547 | entrance 2548 | properly 2549 | fade 2550 | defensive 2551 | tragedy 2552 | net 2553 | characterize 2554 | funeral 2555 | profession 2556 | alter 2557 | constitute 2558 | establishment 2559 | squeeze 2560 | imagination 2561 | mask 2562 | convert 2563 | comprehensive 2564 | prominent 2565 | presentation 2566 | regardless 2567 | load 2568 | stable 2569 | introduction 2570 | pretend 2571 | elderly 2572 | representation 2573 | deer 2574 | split 2575 | violate 2576 | partnership 2577 | pollution 2578 | emission 2579 | steady 2580 | vital 2581 | fate 2582 | earnings 2583 | oven 2584 | distinction 2585 | segment 2586 | nowhere 2587 | poet 2588 | mere 2589 | exciting 2590 | variation 2591 | comfort 2592 | radical 2593 | adapt 2594 | Irish 2595 | honey 2596 | correspondent 2597 | pale 2598 | musician 2599 | significance 2600 | vessel 2601 | storage 2602 | flee 2603 | mm-hmm 2604 | leather 2605 | distribute 2606 | evolution 2607 | ill 2608 | tribe 2609 | shelf 2610 | grandfather 2611 | lawn 2612 | buyer 2613 | dining 2614 | wisdom 2615 | council 2616 | vulnerable 2617 | instance 2618 | garlic 2619 | capability 2620 | poetry 2621 | celebrity 2622 | gradually 2623 | stability 2624 | fantasy 2625 | scared 2626 | plot 2627 | framework 2628 | gesture 2629 | depending 2630 | ongoing 2631 | psychology 2632 | counselor 2633 | chapter 2634 | divorce 2635 | owe 2636 | pipe 2637 | athletic 2638 | slight 2639 | math 2640 | shade 2641 | tail 2642 | sustain 2643 | mount 2644 | obligation 2645 | angle 2646 | palm 2647 | differ 2648 | custom 2649 | economist 2650 | fifteen 2651 | soup 2652 | celebration 2653 | efficient 2654 | composition 2655 | satisfy 2656 | pile 2657 | briefly 2658 | carbon 2659 | closer 2660 | consume 2661 | scheme 2662 | crack 2663 | frequency 2664 | tobacco 2665 | survivor 2666 | besides 2667 | psychologist 2668 | wealthy 2669 | galaxy 2670 | given 2671 | ski 2672 | limitation 2673 | trace 2674 | appointment 2675 | preference 2676 | meter 2677 | explosion 2678 | publicly 2679 | incredible 2680 | fighter 2681 | rapid 2682 | admission 2683 | hunter 2684 | educate 2685 | painful 2686 | friendship 2687 | aide 2688 | infant 2689 | calculate 2690 | fifty 2691 | rid 2692 | porch 2693 | tendency 2694 | uniform 2695 | formation 2696 | scholarship 2697 | reservation 2698 | efficiency 2699 | qualify 2700 | mall 2701 | derive 2702 | scandal 2703 | PC 2704 | helpful 2705 | impress 2706 | heel 2707 | resemble 2708 | privacy 2709 | fabric 2710 | contest 2711 | proportion 2712 | guideline 2713 | rifle 2714 | maintenance 2715 | conviction 2716 | trick 2717 | organic 2718 | tent 2719 | examination 2720 | publisher 2721 | strengthen 2722 | proposed 2723 | myth 2724 | sophisticated 2725 | cow 2726 | etc 2727 | standing 2728 | asleep 2729 | tennis 2730 | nerve 2731 | barrel 2732 | bombing 2733 | membership 2734 | ratio 2735 | menu 2736 | controversial 2737 | desperate 2738 | lifestyle 2739 | humor 2740 | loud 2741 | glove 2742 | sufficient 2743 | narrative 2744 | photographer 2745 | helicopter 2746 | modest 2747 | provider 2748 | delay 2749 | agricultural 2750 | explode 2751 | stroke 2752 | scope 2753 | punishment 2754 | handful 2755 | badly 2756 | horizon 2757 | curious 2758 | downtown 2759 | girlfriend 2760 | prompt 2761 | cholesterol 2762 | absorb 2763 | adjustment 2764 | taxpayer 2765 | eager 2766 | principal 2767 | detailed 2768 | motivation 2769 | assignment 2770 | restriction 2771 | laboratory 2772 | workshop 2773 | differently 2774 | auto 2775 | romantic 2776 | cotton 2777 | motor 2778 | sue 2779 | flavor 2780 | overlook 2781 | float 2782 | undergo 2783 | sequence 2784 | demonstration 2785 | jet 2786 | orange 2787 | consumption 2788 | assert 2789 | blade 2790 | temporary 2791 | medication 2792 | cabin 2793 | bite 2794 | edition 2795 | valley 2796 | yours 2797 | pitch 2798 | pine 2799 | brilliant 2800 | versus 2801 | manufacturing 2802 | absolute 2803 | chef 2804 | discrimination 2805 | offensive 2806 | boom 2807 | register 2808 | appoint 2809 | heritage 2810 | God 2811 | dominant 2812 | successfully 2813 | shit 2814 | lemon 2815 | hungry 2816 | wander 2817 | submit 2818 | economics 2819 | naked 2820 | anticipate 2821 | nut 2822 | legacy 2823 | extension 2824 | shrug 2825 | battery 2826 | arrival 2827 | legitimate 2828 | orientation 2829 | inflation 2830 | cope 2831 | flame 2832 | cluster 2833 | wound 2834 | dependent 2835 | shower 2836 | institutional 2837 | depict 2838 | operating 2839 | flesh 2840 | garage 2841 | operator 2842 | instructor 2843 | collapse 2844 | borrow 2845 | furthermore 2846 | comedy 2847 | mortgage 2848 | sanction 2849 | civilian 2850 | twelve 2851 | weekly 2852 | habitat 2853 | grain 2854 | brush 2855 | consciousness 2856 | devote 2857 | measurement 2858 | province 2859 | ease 2860 | seize 2861 | ethics 2862 | nomination 2863 | permission 2864 | wise 2865 | actress 2866 | summit 2867 | acid 2868 | odds 2869 | gifted 2870 | frustration 2871 | medium 2872 | physically 2873 | distinguish 2874 | shore 2875 | repeatedly 2876 | lung 2877 | running 2878 | distinct 2879 | artistic 2880 | discourse 2881 | basket 2882 | ah 2883 | fighting 2884 | impressive 2885 | competitor 2886 | ugly 2887 | worried 2888 | portray 2889 | powder 2890 | ghost 2891 | persuade 2892 | moderate 2893 | subsequent 2894 | continued 2895 | cookie 2896 | carrier 2897 | cooking 2898 | frequent 2899 | ban 2900 | awful 2901 | admire 2902 | pet 2903 | miracle 2904 | exceed 2905 | rhythm 2906 | widespread 2907 | killing 2908 | lovely 2909 | sin 2910 | charity 2911 | script 2912 | tactic 2913 | identification 2914 | transformation 2915 | everyday 2916 | headline 2917 | venture 2918 | invasion 2919 | nonetheless 2920 | adequate 2921 | piano 2922 | grocery 2923 | intensity 2924 | exhibit 2925 | blanket 2926 | margin 2927 | quarterback 2928 | mouse 2929 | rope 2930 | concrete 2931 | prescription 2932 | African-American 2933 | chase 2934 | brick 2935 | recruit 2936 | patch 2937 | consensus 2938 | horror 2939 | recording 2940 | changing 2941 | painter 2942 | colonial 2943 | pie 2944 | sake 2945 | gaze 2946 | courage 2947 | pregnancy 2948 | swear 2949 | defeat 2950 | clue 2951 | reinforce 2952 | confusion 2953 | slice 2954 | occupation 2955 | dear 2956 | coal 2957 | sacred 2958 | formula 2959 | cognitive 2960 | collective 2961 | exact 2962 | uncle 2963 | captain 2964 | sigh 2965 | attribute 2966 | dare 2967 | homeless 2968 | gallery 2969 | soccer 2970 | defendant 2971 | tunnel 2972 | fitness 2973 | lap 2974 | grave 2975 | toe 2976 | container 2977 | virtue 2978 | abroad 2979 | architect 2980 | dramatically 2981 | makeup 2982 | inquiry 2983 | rose 2984 | surprisingly 2985 | highlight 2986 | decrease 2987 | indication 2988 | rail 2989 | anniversary 2990 | couch 2991 | alliance 2992 | hypothesis 2993 | boyfriend 2994 | compose 2995 | mess 2996 | legend 2997 | regulate 2998 | adolescent 2999 | shine 3000 | norm 3001 | upset 3002 | remark 3003 | resign 3004 | reward 3005 | gentle 3006 | related 3007 | organ 3008 | lightly 3009 | concerning 3010 | invent 3011 | laughter 3012 | northwest 3013 | counseling 3014 | receiver 3015 | ritual 3016 | insect 3017 | interrupt 3018 | salmon 3019 | trading 3020 | magic 3021 | superior 3022 | combat 3023 | stem 3024 | surgeon 3025 | acceptable 3026 | physics 3027 | rape 3028 | counsel 3029 | jeans 3030 | hunt 3031 | continuous 3032 | log 3033 | echo 3034 | pill 3035 | excited 3036 | sculpture 3037 | compound 3038 | integrate 3039 | flour 3040 | bitter 3041 | bare 3042 | slope 3043 | rent 3044 | presidency 3045 | serving 3046 | subtle 3047 | greatly 3048 | bishop 3049 | drinking 3050 | acceptance 3051 | pump 3052 | candy 3053 | evil 3054 | pleased 3055 | medal 3056 | beg 3057 | sponsor 3058 | ethical 3059 | secondary 3060 | slam 3061 | export 3062 | experimental 3063 | melt 3064 | midnight 3065 | curve 3066 | integrity 3067 | entitle 3068 | evident 3069 | logic 3070 | essence 3071 | exclude 3072 | harsh 3073 | closet 3074 | suburban 3075 | greet 3076 | interior 3077 | corridor 3078 | retail 3079 | pitcher 3080 | march 3081 | snake 3082 | excuse 3083 | weakness 3084 | pig 3085 | classical 3086 | estimated 3087 | T-shirt 3088 | unemployment 3089 | civilization 3090 | fold 3091 | reverse 3092 | missing 3093 | correlation 3094 | humanity 3095 | flash 3096 | developer 3097 | reliable 3098 | excitement 3099 | beef 3100 | Islam 3101 | Roman 3102 | architecture 3103 | occasional 3104 | administrative 3105 | elbow 3106 | deadly 3107 | Hispanic 3108 | allegation 3109 | confuse 3110 | airplane 3111 | monthly 3112 | duck 3113 | dose 3114 | Korean 3115 | plead 3116 | initiate 3117 | lecture 3118 | van 3119 | sixth 3120 | bay 3121 | mainstream 3122 | suburb 3123 | sandwich 3124 | trunk 3125 | rumor 3126 | implementation 3127 | swallow 3128 | motivate 3129 | render 3130 | longtime 3131 | trap 3132 | restrict 3133 | cloth 3134 | seemingly 3135 | legislative 3136 | effectiveness 3137 | enforce 3138 | lens 3139 | inspector 3140 | lend 3141 | plain 3142 | fraud 3143 | companion 3144 | contend 3145 | nail 3146 | array 3147 | strict 3148 | assemble 3149 | frankly 3150 | rat 3151 | hay 3152 | hallway 3153 | cave 3154 | inevitable 3155 | southwest 3156 | monster 3157 | unexpected 3158 | obstacle 3159 | facilitate 3160 | rip 3161 | herb 3162 | overwhelming 3163 | integration 3164 | crystal 3165 | recession 3166 | written 3167 | motive 3168 | flood 3169 | pen 3170 | ownership 3171 | nightmare 3172 | inspection 3173 | supervisor 3174 | consult 3175 | arena 3176 | diagnosis 3177 | possession 3178 | forgive 3179 | consistently 3180 | basement 3181 | drift 3182 | drain 3183 | prosecution 3184 | maximum 3185 | announcement 3186 | warrior 3187 | prediction 3188 | bacteria 3189 | questionnaire 3190 | mud 3191 | infrastructure 3192 | hurry 3193 | privilege 3194 | temple 3195 | outdoor 3196 | suck 3197 | and/or 3198 | broadcast 3199 | re 3200 | leap 3201 | random 3202 | wrist 3203 | curtain 3204 | pond 3205 | domain 3206 | guilt 3207 | cattle 3208 | walking 3209 | playoff 3210 | minimum 3211 | fiscal 3212 | skirt 3213 | dump 3214 | hence 3215 | database 3216 | uncomfortable 3217 | execute 3218 | limb 3219 | ideology 3220 | tune 3221 | continuing 3222 | harm 3223 | railroad 3224 | endure 3225 | radiation 3226 | horn 3227 | chronic 3228 | peaceful 3229 | innovation 3230 | strain 3231 | guitar 3232 | replacement 3233 | behave 3234 | administer 3235 | simultaneously 3236 | dancer 3237 | amendment 3238 | pad 3239 | transmission 3240 | await 3241 | retired 3242 | trigger 3243 | spill 3244 | grateful 3245 | grace 3246 | virtual 3247 | colony 3248 | adoption 3249 | indigenous 3250 | closed 3251 | convict 3252 | towel 3253 | modify 3254 | particle 3255 | prize 3256 | landing 3257 | boost 3258 | bat 3259 | alarm 3260 | festival 3261 | grip 3262 | weird 3263 | undermine 3264 | freshman 3265 | sweat 3266 | outer 3267 | drunk 3268 | separation 3269 | traditionally 3270 | govern 3271 | southeast 3272 | intelligent 3273 | wherever 3274 | ballot 3275 | rhetoric 3276 | convinced 3277 | driving 3278 | vitamin 3279 | enthusiasm 3280 | accommodate 3281 | praise 3282 | injure 3283 | wilderness 3284 | endless 3285 | mandate 3286 | respectively 3287 | uncertainty 3288 | chaos 3289 | mechanical 3290 | canvas 3291 | forty 3292 | lobby 3293 | profound 3294 | format 3295 | trait 3296 | currency 3297 | turkey 3298 | reserve 3299 | beam 3300 | astronomer 3301 | corruption 3302 | contractor 3303 | apologize 3304 | doctrine 3305 | genuine 3306 | thumb 3307 | unity 3308 | compromise 3309 | horrible 3310 | behavioral 3311 | exclusive 3312 | scatter 3313 | commonly 3314 | convey 3315 | twist 3316 | complexity 3317 | fork 3318 | disk 3319 | relieve 3320 | suspicion 3321 | health-care 3322 | residence 3323 | shame 3324 | meaningful 3325 | sidewalk 3326 | Olympics 3327 | technological 3328 | signature 3329 | pleasant 3330 | wow 3331 | suspend 3332 | rebel 3333 | frozen 3334 | spouse 3335 | fluid 3336 | pension 3337 | resume 3338 | theoretical 3339 | sodium 3340 | promotion 3341 | delicate 3342 | forehead 3343 | rebuild 3344 | bounce 3345 | electrical 3346 | hook 3347 | detective 3348 | traveler 3349 | click 3350 | compensation 3351 | exit 3352 | attraction 3353 | dedicate 3354 | altogether 3355 | pickup 3356 | carve 3357 | needle 3358 | belly 3359 | scare 3360 | portfolio 3361 | shuttle 3362 | invisible 3363 | timing 3364 | engagement 3365 | ankle 3366 | transaction 3367 | rescue 3368 | counterpart 3369 | historically 3370 | firmly 3371 | mild 3372 | rider 3373 | doll 3374 | noon 3375 | amid 3376 | identical 3377 | precise 3378 | anxious 3379 | structural 3380 | residential 3381 | diagnose 3382 | carbohydrate 3383 | liberty 3384 | poster 3385 | theology 3386 | nonprofit 3387 | crawl 3388 | oxygen 3389 | handsome 3390 | sum 3391 | provided 3392 | businessman 3393 | promising 3394 | conscious 3395 | determination 3396 | donor 3397 | hers 3398 | pastor 3399 | jazz 3400 | opera 3401 | acquisition 3402 | pit 3403 | hug 3404 | wildlife 3405 | punish 3406 | equity 3407 | doorway 3408 | departure 3409 | elevator 3410 | teenage 3411 | guidance 3412 | happiness 3413 | statue 3414 | pursuit 3415 | repair 3416 | decent 3417 | gym 3418 | oral 3419 | clerk 3420 | envelope 3421 | reporting 3422 | destination 3423 | fist 3424 | endorse 3425 | exploration 3426 | generous 3427 | bath 3428 | thereby 3429 | indicator 3430 | sunlight 3431 | feedback 3432 | spectrum 3433 | purple 3434 | laser 3435 | bold 3436 | reluctant 3437 | starting 3438 | expertise 3439 | practically 3440 | eating 3441 | hint 3442 | sharply 3443 | parade 3444 | realm 3445 | cancel 3446 | blend 3447 | therapist 3448 | peel 3449 | pizza 3450 | recipient 3451 | hesitate 3452 | flip 3453 | accounting 3454 | bias 3455 | huh 3456 | metaphor 3457 | candle 3458 | judicial 3459 | entity 3460 | suffering 3461 | full-time 3462 | lamp 3463 | garbage 3464 | servant 3465 | regulatory 3466 | diplomatic 3467 | elegant 3468 | reception 3469 | vanish 3470 | automatically 3471 | chin 3472 | necessity 3473 | confess 3474 | racism 3475 | starter 3476 | banking 3477 | casual 3478 | gravity 3479 | enroll 3480 | diminish 3481 | prevention 3482 | minimize 3483 | chop 3484 | performer 3485 | intent 3486 | isolate 3487 | inventory 3488 | productive 3489 | assembly 3490 | civic 3491 | silk 3492 | magnitude 3493 | steep 3494 | hostage 3495 | collector 3496 | popularity 3497 | alien 3498 | dynamic 3499 | scary 3500 | equation 3501 | angel 3502 | offering 3503 | rage 3504 | photography 3505 | toilet 3506 | disappointed 3507 | precious 3508 | prohibit 3509 | realistic 3510 | hidden 3511 | tender 3512 | gathering 3513 | outstanding 3514 | stumble 3515 | lonely 3516 | automobile 3517 | artificial 3518 | dawn 3519 | abstract 3520 | descend 3521 | silly 3522 | tide 3523 | shared 3524 | hopefully 3525 | readily 3526 | cooperate 3527 | revolutionary 3528 | romance 3529 | hardware 3530 | pillow 3531 | kit 3532 | continent 3533 | seal 3534 | circuit 3535 | ruling 3536 | shortage 3537 | annually 3538 | lately 3539 | scan 3540 | fool 3541 | deadline 3542 | rear 3543 | processing 3544 | ranch 3545 | coastal 3546 | undertake 3547 | softly 3548 | burning 3549 | verbal 3550 | tribal 3551 | ridiculous 3552 | automatic 3553 | diamond 3554 | credibility 3555 | import 3556 | sexually 3557 | divine 3558 | sentiment 3559 | cart 3560 | oversee 3561 | o'clock 3562 | elder 3563 | pro 3564 | inspiration 3565 | Dutch 3566 | quantity 3567 | trailer 3568 | mate 3569 | Greek 3570 | genius 3571 | monument 3572 | bid 3573 | quest 3574 | sacrifice 3575 | invitation 3576 | accuracy 3577 | juror 3578 | officially 3579 | broker 3580 | treasure 3581 | loyalty 3582 | talented 3583 | gasoline 3584 | stiff 3585 | output 3586 | nominee 3587 | extended 3588 | diabetes 3589 | slap 3590 | toxic 3591 | alleged 3592 | jaw 3593 | grief 3594 | mysterious 3595 | rocket 3596 | donate 3597 | inmate 3598 | tackle 3599 | dynamics 3600 | bow 3601 | ours 3602 | dignity 3603 | carpet 3604 | parental 3605 | bubble 3606 | buddy 3607 | barn 3608 | sword 3609 | seventh 3610 | glory 3611 | tightly 3612 | protective 3613 | tuck 3614 | drum 3615 | faint 3616 | queen 3617 | dilemma 3618 | input 3619 | specialize 3620 | northeast 3621 | shallow 3622 | liability 3623 | sail 3624 | merchant 3625 | stadium 3626 | improved 3627 | bloody 3628 | associated 3629 | withdrawal 3630 | refrigerator 3631 | nest 3632 | thoroughly 3633 | lane 3634 | ancestor 3635 | condemn 3636 | steam 3637 | accent 3638 | optimistic 3639 | unite 3640 | cage 3641 | equip 3642 | shrimp 3643 | homeland 3644 | rack 3645 | costume 3646 | wolf 3647 | courtroom 3648 | statute 3649 | cartoon 3650 | productivity 3651 | grin 3652 | symbolic 3653 | bug 3654 | bless 3655 | aunt 3656 | agriculture 3657 | hostile 3658 | conceive 3659 | combined 3660 | instantly 3661 | bankruptcy 3662 | vaccine 3663 | bonus 3664 | collaboration 3665 | mixed 3666 | opposed 3667 | orbit 3668 | grasp 3669 | patience 3670 | spite 3671 | tropical 3672 | voting 3673 | patrol 3674 | willingness 3675 | revelation 3676 | calm 3677 | jewelry 3678 | Cuban 3679 | haul 3680 | concede 3681 | wagon 3682 | afterward 3683 | spectacular 3684 | ruin 3685 | sheer 3686 | immune 3687 | reliability 3688 | ass 3689 | alongside 3690 | bush 3691 | exotic 3692 | fascinating 3693 | clip 3694 | thigh 3695 | bull 3696 | drawer 3697 | sheep 3698 | discourage 3699 | coordinator 3700 | ideological 3701 | runner 3702 | secular 3703 | intimate 3704 | empire 3705 | cab 3706 | exam 3707 | documentary 3708 | neutral 3709 | biology 3710 | flexible 3711 | progressive 3712 | web 3713 | conspiracy 3714 | casualty 3715 | republic 3716 | execution 3717 | terrific 3718 | whale 3719 | functional 3720 | instinct 3721 | teammate 3722 | aluminum 3723 | whoever 3724 | ministry 3725 | verdict 3726 | instruct 3727 | skull 3728 | self-esteem 3729 | cooperative 3730 | manipulate 3731 | bee 3732 | practitioner 3733 | loop 3734 | edit 3735 | whip 3736 | puzzle 3737 | mushroom 3738 | subsidy 3739 | boil 3740 | tragic 3741 | mathematics 3742 | mechanic 3743 | jar 3744 | earthquake 3745 | pork 3746 | creativity 3747 | safely 3748 | underlying 3749 | dessert 3750 | sympathy 3751 | fisherman 3752 | incredibly 3753 | isolation 3754 | sock 3755 | eleven 3756 | sexy 3757 | entrepreneur 3758 | syndrome 3759 | bureau 3760 | workplace 3761 | ambition 3762 | touchdown 3763 | utilize 3764 | breeze 3765 | costly 3766 | ambitious 3767 | Christianity 3768 | presumably 3769 | influential 3770 | translation 3771 | uncertain 3772 | dissolve 3773 | statistical 3774 | gut 3775 | metropolitan 3776 | rolling 3777 | aesthetic 3778 | spell 3779 | insert 3780 | booth 3781 | helmet 3782 | waist 3783 | expected 3784 | lion 3785 | accomplishment 3786 | royal 3787 | panic 3788 | crush 3789 | actively 3790 | cliff 3791 | minimal 3792 | cord 3793 | fortunately 3794 | cocaine 3795 | illusion 3796 | anonymous 3797 | tolerate 3798 | appreciation 3799 | commissioner 3800 | flexibility 3801 | instructional 3802 | scramble 3803 | casino 3804 | tumor 3805 | decorate 3806 | pulse 3807 | equivalent 3808 | fixed 3809 | experienced 3810 | donation 3811 | diary 3812 | sibling 3813 | irony 3814 | spoon 3815 | midst 3816 | alley 3817 | interact 3818 | soap 3819 | cute 3820 | rival 3821 | short-term 3822 | punch 3823 | pin 3824 | hockey 3825 | passing 3826 | persist 3827 | supplier 3828 | known 3829 | momentum 3830 | purse 3831 | shed 3832 | liquid 3833 | icon 3834 | elephant 3835 | consequently 3836 | legislature 3837 | franchise 3838 | correctly 3839 | mentally 3840 | foster 3841 | bicycle 3842 | encouraging 3843 | cheat 3844 | heal 3845 | fever 3846 | filter 3847 | rabbit 3848 | coin 3849 | exploit 3850 | accessible 3851 | organism 3852 | sensation 3853 | partially 3854 | upstairs 3855 | dried 3856 | conservation 3857 | shove 3858 | backyard 3859 | charter 3860 | stove 3861 | consent 3862 | comprise 3863 | reminder 3864 | alike 3865 | placement 3866 | dough 3867 | grandchild 3868 | dam 3869 | reportedly 3870 | well-known 3871 | surrounding 3872 | ecological 3873 | outfit 3874 | unprecedented 3875 | columnist 3876 | workout 3877 | preliminary 3878 | patent 3879 | shy 3880 | trash 3881 | disabled 3882 | gross 3883 | damn 3884 | hormone 3885 | texture 3886 | pencil 3887 | frontier 3888 | spray 3889 | disclose 3890 | custody 3891 | banker 3892 | beast 3893 | interfere 3894 | oak 3895 | eighth 3896 | notebook 3897 | outline 3898 | attendance 3899 | speculation 3900 | uncover 3901 | behalf 3902 | innovative 3903 | shark 3904 | mill 3905 | installation 3906 | stimulate 3907 | tag 3908 | vertical 3909 | swimming 3910 | fleet 3911 | catalog 3912 | outsider 3913 | desperately 3914 | stance 3915 | compel 3916 | sensitivity 3917 | someday 3918 | instant 3919 | debut 3920 | proclaim 3921 | worldwide 3922 | hike 3923 | required 3924 | confrontation 3925 | colorful 3926 | constitution 3927 | trainer 3928 | Thanksgiving 3929 | scent 3930 | stack 3931 | eyebrow 3932 | sack 3933 | cease 3934 | inherit 3935 | tray 3936 | pioneer 3937 | organizational 3938 | textbook 3939 | uh 3940 | nasty 3941 | shrink 3942 | emerging 3943 | dot 3944 | wheat 3945 | fierce 3946 | envision 3947 | rational 3948 | kingdom 3949 | aisle 3950 | weaken 3951 | protocol 3952 | exclusively 3953 | vocal 3954 | marketplace 3955 | openly 3956 | unfair 3957 | terrain 3958 | deploy 3959 | risky 3960 | pasta 3961 | genre 3962 | distract 3963 | merit 3964 | planner 3965 | depressed 3966 | chunk 3967 | closest 3968 | discount 3969 | ladder 3970 | jungle 3971 | migration 3972 | breathing 3973 | invade 3974 | hurricane 3975 | retailer 3976 | classify 3977 | coup 3978 | ambassador 3979 | density 3980 | supportive 3981 | curiosity 3982 | skip 3983 | aggression 3984 | stimulus 3985 | journalism 3986 | robot 3987 | dip 3988 | likewise 3989 | informal 3990 | Persian 3991 | feather 3992 | sphere 3993 | tighten 3994 | boast 3995 | pat 3996 | perceived 3997 | sole 3998 | publicity 3999 | unfold 4000 | well-being 4001 | validity 4002 | ecosystem 4003 | strictly 4004 | partial 4005 | collar 4006 | weed 4007 | compliance 4008 | streak 4009 | supposedly 4010 | added 4011 | builder 4012 | glimpse 4013 | premise 4014 | specialty 4015 | deem 4016 | artifact 4017 | sneak 4018 | monkey 4019 | mentor 4020 | two-thirds 4021 | listener 4022 | lightning 4023 | legally 4024 | sleeve 4025 | disappointment 4026 | disturb 4027 | rib 4028 | excessive 4029 | high-tech 4030 | debris 4031 | rod 4032 | logical 4033 | ash 4034 | socially 4035 | parish 4036 | slavery 4037 | blank 4038 | commodity 4039 | cure 4040 | mineral 4041 | hunger 4042 | dying 4043 | developmental 4044 | faster 4045 | spare 4046 | halfway 4047 | equality 4048 | cemetery 4049 | harassment 4050 | deliberately 4051 | fame 4052 | regret 4053 | striking 4054 | likelihood 4055 | carrot 4056 | atop 4057 | toll 4058 | rim 4059 | embarrassed 4060 | fucking 4061 | cling 4062 | isolated 4063 | blink 4064 | suspicious 4065 | wheelchair 4066 | squad 4067 | eligible 4068 | processor 4069 | plunge 4070 | demographic 4071 | chill 4072 | refuge 4073 | steer 4074 | legislator 4075 | rally 4076 | programming 4077 | cheer 4078 | outlet 4079 | intact 4080 | vendor 4081 | thrive 4082 | peanut 4083 | chew 4084 | elaborate 4085 | conception 4086 | auction 4087 | steak 4088 | comply 4089 | triumph 4090 | shareholder 4091 | comparable 4092 | transport 4093 | conscience 4094 | calculation 4095 | considerably 4096 | interval 4097 | scratch 4098 | awake 4099 | jurisdiction 4100 | inevitably 4101 | feminist 4102 | constraint 4103 | emotionally 4104 | expedition 4105 | allegedly 4106 | similarity 4107 | butt 4108 | lid 4109 | dumb 4110 | bulk 4111 | sprinkle 4112 | mortality 4113 | philosophical 4114 | conversion 4115 | patron 4116 | municipal 4117 | liver 4118 | harmony 4119 | solely 4120 | tolerance 4121 | goat 4122 | blessing 4123 | banana 4124 | palace 4125 | formerly 4126 | peasant 4127 | neat 4128 | grandparent 4129 | lawmaker 4130 | supermarket 4131 | cruise 4132 | mobile 4133 | calendar 4134 | widow 4135 | deposit 4136 | beard 4137 | brake 4138 | screening 4139 | impulse 4140 | forbid 4141 | fur 4142 | brutal 4143 | predator 4144 | poke 4145 | opt 4146 | voluntary 4147 | valid 4148 | forum 4149 | dancing 4150 | happily 4151 | soar 4152 | removal 4153 | autonomy 4154 | enact 4155 | thread 4156 | landmark 4157 | unhappy 4158 | offender 4159 | coming 4160 | privately 4161 | fraction 4162 | distinctive 4163 | tourism 4164 | threshold 4165 | routinely 4166 | suite 4167 | regulator 4168 | straw 4169 | theological 4170 | exhaust 4171 | globe 4172 | fragile 4173 | objection 4174 | chemistry 4175 | old-fashioned 4176 | crowded 4177 | blast 4178 | prevail 4179 | overnight 4180 | denial 4181 | rental 4182 | fantastic 4183 | fragment 4184 | screw 4185 | warmth 4186 | undergraduate 4187 | headache 4188 | policeman 4189 | projection 4190 | suitable 4191 | graduation 4192 | drill 4193 | cruel 4194 | mansion 4195 | grape 4196 | authorize 4197 | cottage 4198 | driveway 4199 | charm 4200 | sexuality 4201 | loyal 4202 | clay 4203 | balloon 4204 | invention 4205 | ego 4206 | fare 4207 | homework 4208 | disc 4209 | sofa 4210 | availability 4211 | radar 4212 | frown 4213 | regain 4214 | sweater 4215 | rehabilitation 4216 | rubber 4217 | retreat 4218 | molecule 4219 | freely 4220 | favorable 4221 | steadily 4222 | integrated 4223 | ha 4224 | youngster 4225 | premium 4226 | accountability 4227 | overwhelm 4228 | one-third 4229 | contemplate 4230 | update 4231 | spark 4232 | ironically 4233 | fatigue 4234 | speculate 4235 | marker 4236 | preach 4237 | bucket 4238 | blond 4239 | confession 4240 | provoke 4241 | marble 4242 | substantially 4243 | defender 4244 | explicit 4245 | disturbing 4246 | surveillance 4247 | magnetic 4248 | technician 4249 | mutter 4250 | devastating 4251 | depart 4252 | arrow 4253 | trauma 4254 | neighboring 4255 | soak 4256 | ribbon 4257 | meantime 4258 | transmit 4259 | harvest 4260 | consecutive 4261 | coordinate 4262 | spy 4263 | slot 4264 | riot 4265 | nutrient 4266 | citizenship 4267 | severely 4268 | sovereignty 4269 | ridge 4270 | brave 4271 | lighting 4272 | specify 4273 | contributor 4274 | frustrate 4275 | articulate 4276 | importantly 4277 | transit 4278 | dense 4279 | seminar 4280 | electronics 4281 | sunny 4282 | shorts 4283 | swell 4284 | accusation 4285 | soften 4286 | straighten 4287 | terribly 4288 | cue 4289 | bride 4290 | biography 4291 | hazard 4292 | compelling 4293 | seldom 4294 | tile 4295 | economically 4296 | honestly 4297 | troubled 4298 | twentieth 4299 | balanced 4300 | foreigner 4301 | convenience 4302 | delight 4303 | weave 4304 | timber 4305 | till 4306 | accurately 4307 | plea 4308 | bulb 4309 | flying 4310 | sustainable 4311 | devil 4312 | bolt 4313 | cargo 4314 | spine 4315 | seller 4316 | skilled 4317 | managing 4318 | marine 4319 | dock 4320 | organized 4321 | fog 4322 | diplomat 4323 | boring 4324 | sometime 4325 | summary 4326 | missionary 4327 | epidemic 4328 | fatal 4329 | trim 4330 | warehouse 4331 | accelerate 4332 | butterfly 4333 | bronze 4334 | drown 4335 | inherent 4336 | nationwide 4337 | spit 4338 | kneel 4339 | vacuum 4340 | selected 4341 | dictate 4342 | 4343 | contained 4344 | divinity 4345 | number 4346 | innocence 4347 | reality 4348 | instar 4349 | totient 4350 | encrypted 4351 | professor 4352 | arbitrary 4353 | unreasonable 4354 | wisdom 4355 | koan 4356 | master 4357 | primes 4358 | circumference 4359 | deception 4360 | preserve 4361 | adherence 4362 | dogma 4363 | enlightened 4364 | parable 4365 | tunneling 4366 | question 4367 | -------------------------------------------------------------------------------- /data/liber: -------------------------------------------------------------------------------- 1 | ᚱ-ᛝᚱᚪᛗᚹ.ᛄᛁᚻᛖᛁᛡᛁ-ᛗᚫᚣᚹ-ᛠᚪᚫᚾ-/ 2 | ᚣᛖᛈ-ᛄᚫᚫᛞ.ᛁᛉᛞᛁᛋᛇ-ᛝᛚᚱᛇ-ᚦᚫᛡ/ 3 | -ᛞᛗᚫᛝ-ᛇᚫ-ᛄᛁ-ᛇᚪᛡᛁ.ᛇᛁᛈᛇ-ᚣᛁ-ᛞ/ 4 | ᛗᚫᛝᚻᛁᚳᛟᛁ.ᛠᛖᛗᚳ-ᚦᚫᛡᚪ-ᛇᚪᛡᚣ.ᛁᛉ/ 5 | ᛋᛁᚪᛖᛁᛗᛞᛁ-ᚦᚫᛡᚪ-ᚳᚠᚣ.ᚳᚫ-ᛗᚫᛇ-ᛁᚳᛖᛇ-ᚫ/ 6 | ᚪ-ᛞᛚᚱᚹᛁ-ᚣᛖᛈ-ᛄᚫᚫᛞ.ᚫᚪ-ᚣᛁ-ᚾᛁᛈᛈᚱᛟᛁ-/ 7 | ᛞᚫᛗᛇᚱᛖᛗᛁᚳ-ᛝᛖᚣᛖᛗ.ᛁᛖᚣᛁᚪ-ᚣᛁ-ᛝᚫ/ 8 | ᚪᚳᛈ-ᚫᚪ-ᚣᛁᛖᚪ-ᛗᛡᚾᛄᛁᚪᛈ.ᛠᚫᚪ-ᚱᚻᚻ-ᛖ/ 9 | ᛈ-ᛈᚱᛞᚪᛁᚳ./ 10 | & 11 | $ 12 | % 13 | ᚢᛠᛝᛋᛇᚠᚳ.ᚱᛇᚢᚷᛈᛠᛠ-ᚠᚹᛉ/ 14 | ᛏᚳᛚᛠ-ᚣᛗ-ᛠᛇ-ᛏᚳᚾᚫ-ᛝᛗᛡ/ 15 | ᛡᛗᛗᚹ-ᚫᛈᛞᛝᛡᚱ-ᚩᛠ-ᛡᛗᛁ-ᚠᚠ-/ 16 | ᛖᚢᛝ-ᛇᚢᚫ.ᚣᛈ-ᚱᚫ-ᛁᛈᚫ-ᚳᚫ-ᚫᚾᚹ-ᛒᛉᛗᛞ/ 17 | -ᚱᛡᛁ-ᚠᛈᚳ-ᛇᛇᚫᚳ-ᚱᚦᛈ-ᚠᛄᛗᚩ-ᛇᚳᚹᛡ-ᛒᚫᚹ-/ 18 | ᛒᛠᛚᛋ-ᚱᚣ-ᛄᚫ-ᚱ-ᛗᚳᚦᛇᚫᛏᚳᛈᚹ-ᛗᚷᛇ.ᚳ/ 19 | ᛝᛈᚢ-ᛇᚳ-ᚱᛖᚹ-ᛡᛈᛁ-ᛒᚣᛒᛉ-ᚠᛚᛁᚱ-ᚱᛗ-ᚳᚷ/ 20 | ᛒ-ᚣᚱ-ᚳᚠᚢ-ᚦᛈᛡᛄᚹᛏᚠᛠ-ᛄᚷᛒ-ᚫᚦᚠᚠᛠ/ 21 | ᛈᚦ-ᛈᚠᚪᛉ-ᛄᛗᛖᛈᛝᛋᚩᛋᛗ-ᚹᛇᛄᛚ-ᚹᛉᚢᚦ/ 22 | ᚫᚹᛗᚦ-ᛞᚣᛄᚳ-ᛋᛡᛉᚩᛝᚱᛗᛒᚹ-ᚱᛗᛁ-ᛞᚣᛄ/ 23 | ᚳ-ᛉᚻᚢᚣᛈᛚ.ᛄᛝᚣᛗᚠᛄᛈᛇᚢᛡ-ᚹᛇᛄ-ᛞ/ 24 | ᚹᛉᚢ-ᚪᛚᚪᛋᛗᛡᛇᛉ-ᚫᛗ-ᛡᛗᛁ-ᛈᚣ-ᚫᛗᚢᚠ/ 25 | % 26 | .ᛗᚣ-ᚣᛇ-ᚫᛉᚱᛄᛋᛖ-ᛖᚹᚾ-ᛞᛄᚢᛋᛉᚣᛏ/ 27 | ᛖᛏᛗ-ᛇᚱᚣ-ᛞᛋ-ᚾᛖᚫᛞᛡ-ᛈᛒᚢᚾᛠᛝᛄᛡ/ 28 | ᚫ-ᛄᚷᛒ-ᛈᚦᛉ-ᛈᚾᚹᚹᛁᛚᛗᚫ.ᛚᛈᛒᚢᚩᛠᛡ-ᚱ/ 29 | ᛡᛠᚠ-ᚱᚱᛇᛄᛗ-ᚱᛗᛁ-ᛞᚣᛄ-ᚻᛚᚠᚢ-ᛄᚢᛡᛚᚦ/ 30 | ᛠ-ᛇᛄᚩᛇᚱᚱᛗ.ᚢᛗᛋᚳ-ᛠᛇ-ᛚᛁᚫᚫᚳᛚ-ᚹᛁ-ᛚ/ 31 | ᛏ-ᛈᛖᚢᛈ-ᛠᛡᛈᚦᛏᛒ-ᛏᛗᛖ-ᚢᛚᚩᛚᛖ-ᛇᛄ/ 32 | ᛈ-ᚢᛠ-ᛚᚳᚷ-ᛠᚷᛋᛡᛏᛗ./ 33 | & 34 | ᛒᛗᚱᚦᚠᛈ.ᚹᚱᛄ-ᚱᛉᚳ-ᛝ-ᛄᛠᛟ-ᛄᛖ/ 35 | ᚣᛗ-ᛞᚣᛄᚳᚫᛡᚢᚠ.ᛈᚠᚪ-ᚳᚳᛠ-ᚱ-/ 36 | ᚢᛄᚱ-ᚪᛗᛒᛈ-ᚷᛈᛒᚢᚾᛠᛝᚠ.ᚾᛉᛖ-/ 37 | ᚣᚷᛁᛠᛝᚢᛗᛏᚳᚷᛠᛠ-ᛄᚫ-ᛒᛈᚹᛞ.ᚠᚣ/ 38 | ᛉ-ᚫᚢᚠ-ᛇᛄᛈ-ᛉᛚᚦᛠᚪ-ᛚᚦ-ᚳᚣᚢᛡ./ 39 | ᚳᛖ-ᛚᚫᛇᛁᛉᚦᛋᚫᚻᚫ-ᚦᚣᚠᛚᚳᛖᚱ-ᛈᚠᚪᛉ-ᚱᛒᛖ-ᚫᚳᛒᚠ./ 40 | & 41 | $ 42 | % 43 | ᛋᚩᛗᛖ-ᚹᛁᛋᛞᚩᛗ.ᚦᛖ-ᛈᚱᛁᛗᛖᛋ-ᚪᚱᛖ-ᛋᚪᚳ/ 44 | ᚱᛖᛞ.ᚦᛖ-ᛏᚩᛏᛁᛖᚾᛏ-ᚠᚢᚾᚳᛏᛡᚾ-ᛁᛋ-ᛋᚪ/ 45 | ᚳᚱᛖᛞ.ᚪᛚᛚ-ᚦᛝᛋ-ᛋᚻᚩᚢᛚᛞ-ᛒᛖ-ᛖᚾᚳᚱᚣ/ 46 | ᛈᛏᛖᛞ./ 47 | & 48 | ᚳᚾᚩᚹ-ᚦᛁᛋ./ 49 | & 50 | $ 51 | % 52 | ᚹ-ᚣᛠᚹᛟ.ᚹ-ᛇᚹᛟ-ᚻᛈᚣᛝᚻᛈᚻ-ᛋᛠ-/ 53 | ᚫᛠ-ᚹᛟᚻ-ᛏᛋᚢᚻᚳ-ᚪᛝᚠ-ᚹ-ᛇᚹᛏᛋᛈ/ 54 | ᛡ.ᛞᛈ-ᚪᛈᛟᛋ-ᛋᛠ-ᚠᛈ-ᚻᛠᛠᛡ-/ 55 | ᛠᚦ-ᚠᛈ-ᛇᚹᛏᛋᛈᛡ.ᚪᛞᛠ-ᚹᛡᛈ-ᚳᛠ/ 56 | ᚢ-ᚪᛞᛠ-ᚪᛝᛏᛞᛈᛏ-ᛋᛠ-ᛏᛋᚢᚻᚳ-ᛞᛈᛡ/ 57 | ᛈ-ᚹᛏᚣᛈᚻ-ᚠᛈ-ᛇᚹᛏᛋᛈᛡ.ᚠᛈ-ᛏᛋᚢᚻᛈ/ 58 | ᛟᛋ-ᛋᛠᛄᚻ-ᚠᛈ-ᛇᚹᛏᛋᛈᛡ-ᛞᛝᛏ-ᛟᚹᛇᛈ./ 59 | ᚠᚹᛋ-ᛝᛏ-ᛟᛠᛋ-ᚪᛞᛠ-ᚳᛠᚢ-ᚹᛡᛈ-ᚠᚹ/ 60 | ᛋ-ᛝᛏ-ᛠᛟᛄᚳ-ᚪᛞᚹᛋ-ᚳᛠᚢ-ᚹᛡᛈ-ᚣᚹᛄ/ 61 | ᛄᛈᚻ.ᚪᛞᛠ-ᚹᛡᛈ-ᚳᛠᚢ-ᚪᛞᛠ-ᚪᛝᛏᛞ/ 62 | ᛈᛏ-ᛋᛠ-ᛏᛋᚢᚻᚳ-ᛞᛈᛡᛈ-ᛞᛈ-ᚹᛏᚣᛈ/ 63 | % 64 | ᚻ-ᚹᚫᚹᛝᛟ.ᚠᛈ-ᛇᚹᛟ-ᚠᛠᚢᚫᛞᛋ-ᚦᛠᛡ-ᚹ-/ 65 | ᛇᛠᛇᛈᛟᛋ-ᚹᛟᚻ-ᛡᛈᛖᛄᛝᛈᚻ-ᛝ-ᚹᛇ-ᚹ-/ 66 | ᛖᛡᛠᚦᛈᛏᛏᛠᛡ.ᚠᚹᛋ-ᛝᛏ-ᚪᛞᚹᛋ-/ 67 | ᚳᛠᚢ-ᚻᛠ-ᛟᛠᛋ-ᚪᛞᛠ-ᚳᛠᚢ-ᚹᛡᛈ-/ 68 | ᛡᛈᛖᛄᛝᛈᚻ-ᚠᛈ-ᛇᚹᛏᛋᛈᛡ.ᚪᛞᛠ-ᚹᛡ/ 69 | ᛈ-ᚳᛠᚢ-ᚪᛞᛠ-ᚪᛝᛏᛞᛈᛏ-ᛋᛠ-ᛏᛋᚢᚻ/ 70 | ᚳ-ᛞᛈᛡᛈ.ᚣᛠᛟᚦᚢᛏᛈᚻ-ᚠᛈ-ᛇᚹᛟ-ᚠ/ 71 | ᛠᚢᚫᛞᛋ-ᛏᛠᛇᛈ-ᛇᛠᛡᛈ.ᚦᛝᛟᚹᛄᛄᚳ-/ 72 | ᛞᛈ-ᚹᛟᛏᚪᛈᛡᛈᚻ-ᛝ-ᚹᛇ-ᚹ-ᛞᚢᛇᚹᛟ-ᛉ/ 73 | ᛈᛁ.ᚠᚹᛋ-ᛝᛏ-ᛠᛟᛄᚳ-ᚳᛠᚢᛡ-ᛏᛖᛈ/ 74 | ᚣᛝᛈᛏ-ᛟᛠᛋ-ᚪᛞᛠ-ᚳᛠᚢ-ᚹᛡᛈ.ᚪᛞ/ 75 | % 76 | ᛠ-ᚹᛡᛈ-ᚳᛠᚢ-ᚪᛞᛠ-ᚪᛝᛏᛞᛈᛏ-ᛋᛠ-/ 77 | ᛏᛋᚢᚻᚳ-ᛞᛈᛡᛈ-ᚹᛏᚣᛈᚻ-ᚠᛈ-ᛇᚹᛏᛋᛈ/ 78 | ᛡ-ᚹᚫᚹᛝᛟ.ᚹᚦᛋᛈᛡ-ᚹ-ᛇᛠᛇᛈᛟᛋ-ᛠᚦ-ᚠ/ 79 | ᛠᚢᚫᛞᛋ-ᚠᛈ-ᛖᛡᛠᚦᛈᛏᛏᛠᛡ-ᛡᛈᛖᛄ/ 80 | ᛝᛈᚻ-ᛝ-ᚹᛇ-ᚹ-ᚣᛠᛟᛏᚣᚱᚢᛏᛟᛈᛏᛏ-ᛝ/ 81 | ᛟᛞᚹᛉᛝᛋᛁ-ᚹᛟ-ᚹᛡᛉᛝᛋᛡᚹᛡᚳ-ᛉᛠᚻᚳ/ 82 | .ᚠᚹᛋ-ᛝᛏ-ᛇᛈᛡᛈᛄᚳ-ᚪᛞᚹᛋ-ᚳᛠᚢ-ᚹ/ 83 | ᛡᛈ-ᛟᛠᛋ-ᚪᛞᛠ-ᚳᛠᚢ-ᚹᛡᛈ.ᚪᛞᛠ-ᚹ/ 84 | ᛡᛈ-ᚳᛠᚢ-ᚪᛞᛠ-ᚪᛝᛏᛞᛈᛏ-ᛋᛠ-ᛏᛋᚢ/ 85 | ᚻᚳ-ᛞᛈᛡᛈ.ᚠᛈ-ᛇᚹᛟ-ᚪᚹᛏ-ᚫᛈᛋᛋᛁ-ᛝᛡ/ 86 | ᛡᛝᛋᚹᛋᛈᚻ.ᛝ-ᚹᛇ-ᛞᛈ-ᛏᛋᚹᛡᛋᛈᚻ-/ 87 | % 88 | ᛉᚢᛋ-ᛞᛈ-ᚣᛠᚢᛄᚻ-ᛟᛠᛋ-ᚠᛝᛟᚣ-ᛠᚦ-/ 89 | ᚹᛟᚳᚠᛁ-ᛈᛄᛏᛈ-ᛋᛠ-ᛏᚹᚳ-ᛏᛠ-ᛞᛈ-ᛋᛡᚹ/ 90 | ᛝᛄᛈᚻ-ᛠᚦᚦ.ᚹᚦᛋᛈᛡ-ᚹ-ᛄᛠᛁ-ᛖᚹᚢᛏᛈ-/ 91 | ᚠᛈ-ᛇᚹᛏᛋᛈᛡ-ᛡᛈᛖᛄᛝᛈᚻ-ᚠᛈᛟ-ᚳᛠ/ 92 | ᚢ-ᚹᛡᛈ-ᚪᛈᛄᚣᛠᛇᛈ-ᛋᛠ-ᚣᛠᛇᛈ-ᛏᛋᚢ/ 93 | ᚻᚳ./ 94 | & 95 | ᚹᛟ-ᛝᛟᛏᛋᛡᚢᚣᛋᚱᛟ.ᚻᛠ-ᚦᛠᚢᛡ-/ 96 | ᚢᛟᛡᚩᛏᛠᛟᚹᛉᛄᛈ-ᚠᛁᛏ-ᚩᚣᛞ-ᚻᚹ/ 97 | ᚳ./ 98 | & 99 | $ 100 | % 101 | ᚦᛖ-ᛚᚩᛋᛋ-ᚩᚠ-ᛞᛁᚢᛁᚾᛁᛏᚣ.ᚦᛖ-ᚳᛁᚱᚳᚢ/ 102 | ᛗᚠᛖᚱᛖᚾᚳᛖ-ᛈᚱᚪᚳᛏᛁᚳᛖᛋ-ᚦᚱᛖ/ 103 | ᛖ-ᛒᛖᚻᚪᚢᛡᚱᛋ-ᚹᚻᛁᚳᚻ-ᚳᚪᚢᛋᛖ-ᚦ/ 104 | ᛖ-ᛚᚩᛋᛋ-ᚩᚠ-ᛞᛁᚢᛁᚾᛁᛏᚣ./ 105 | ᚳᚩᚾᛋᚢᛗᛈᛏᛡᚾ.ᚹᛖ-ᚳᚩᚾᛋᚢᛗᛖ-ᛏᚩᚩ/ 106 | -ᛗᚢᚳᚻ-ᛒᛖᚳᚪᚢᛋᛖ-ᚹᛖ-ᛒᛖᛚᛖᛁᚢᛖ-ᚦᛖ-/ 107 | ᚠᚩᛚᛚᚩᚹᛝ-ᛏᚹᚩ-ᛖᚱᚱᚩᚱᛋ-ᚹᛁᚦᛁᚾ-ᚦᛖ-ᛞᛖᚳ/ 108 | ᛖᛈᛏᛡᚾ./ 109 | 1-ᚹᛖ-ᛞᚩ-ᚾᚩᛏ-ᚻᚪᚢᛖ-ᛖᚾᚩᚢᚷᚻ-/ 110 | ᚩᚱ-ᚦᛖᚱᛖ-ᛁᛋ-ᚾᚩᛏ-ᛖᚾᚩᚢᚷᚻ./ 111 | % 112 | 2-ᚹᛖ-ᚻᚪᚢᛖ-ᚹᚻᚪᛏ-ᚹᛖ-ᚻᚪᚢᛖ-ᚾ/ 113 | ᚩᚹ-ᛒᚣ-ᛚᚢᚳᚳ-ᚪᚾᛞ-ᚹᛖ-ᚹᛁᛚᛚ-ᚾᚩᛏ-/ 114 | ᛒᛖ-ᛋᛏᚱᚩᛝ-ᛖᚾᚩᚢᚷᚻ-ᛚᚪᛏᛖᚱ-ᛏ/ 115 | ᚩ-ᚩᛒᛏᚪᛁᚾ-ᚹᚻᚪᛏ-ᚹᛖ-ᚾᛖᛖᛞ./ 116 | ᛗᚩᛋᛏ-ᚦᛝᛋ-ᚪᚱᛖ-ᚾᚩᛏ-ᚹᚩᚱᚦ-ᚳᚩᚾᛋᚢᛗ/ 117 | ᛝ./ 118 | ᛈᚱᛖᛋᛖᚱᚢᚪᛏᛡᚾ.ᚹᛖ-ᛈᚱᛖᛋᛖᚱᚢᛖ-/ 119 | ᚦᛝᛋ-ᛒᛖᚳᚪᚢᛋᛖ-ᚹᛖ-ᛒᛖᛚᛁᛖᚢᛖ-ᚹᛖ-ᚪᚱ/ 120 | ᛖ-ᚹᛠᚳ.ᛁᚠ-ᚹᛖ-ᛚᚩᛋᛖ-ᚦᛖᛗ-ᚹᛖ-ᚹᛁᛚᛚ-ᚾᚩ/ 121 | ᛏ-ᛒᛖ-ᛋᛏᚱᚩᛝ-ᛖᚾᚩᚢᚷᚻ-ᛏᚩ-ᚷᚪᛁᚾ-ᚦᛖᛗ-/ 122 | ᚪᚷᚪᛁᚾ.ᚦᛁᛋ-ᛁᛋ-ᚦᛖ-ᛞᛖᚳᛖᛈᛏᛡᚾ./ 123 | % 124 | ᛗᚩᛋᛏ-ᚦᛝᛋ-ᚪᚱᛖ-ᚾᚩᛏ-ᚹᚩᚱᚦ-ᛈᚱᛖᛋᛖᚱᚢ/ 125 | ᛝ./ 126 | ᚪᛞᚻᛖᚱᛖᚾᚳᛖ.ᚹᛖ-ᚠᚩᛚᛚᚩᚹ-ᛞᚩᚷᛗᚪ-/ 127 | ᛋᚩ-ᚦᚪᛏ-ᚹᛖ-ᚳᚪᚾ-ᛒᛖᛚᚩᛝ-ᚪᚾᛞ-ᛒᛖ-ᚱᛁᚷᚻ/ 128 | ᛏ-ᚩᚱ-ᚹᛖ-ᚠᚩᛚᛚᚩᚹ-ᚱᛠᛋᚩᚾ-ᛋᚩ-ᚹᛖ-ᚳᚪᚾ-/ 129 | ᛒᛖᛚᚩᛝ-ᚪᚾᛞ-ᛒᛖ-ᚱᛁᚷᚻᛏ./ 130 | ᚦᛖᚱᛖ-ᛁᛋ-ᚾᚩᚦᛝ-ᛏᚩ-ᛒᛖ-ᚱᛁᚷᚻᛏ-ᚪᛒᚩᚢᛏ-/ 131 | ᛏᚩ-ᛒᛖᛚᚩᛝ-ᛁᛋ-ᛞᛠᚦ./ 132 | ᛁᛏ-ᛁᛋ-ᚦᛖ-ᛒᛖᚻᚪᚢᛡᚱᛋ-ᚩᚠ-ᚳᚩᚾᛋᚢᛗᛈᛏ/ 133 | ᛡᚾ-ᛈᚱᛖᛋᛖᚱᚢᚪᛏᛡᚾ-ᚪᚾᛞ-ᚪᛞᚻᛖᚱᛖᚾ/ 134 | % 135 | ᚳᛖ-ᚦᚪᛏ-ᚻᚪᚢᛖ-ᚢᛋ-ᛚᚩᛋᛖ-ᚩᚢᚱ-ᛈᚱᛁᛗᚪᛚ/ 136 | ᛁᛏᚣ-ᚪᚾᛞ-ᚦᚢᛋ-ᚩᚢᚱ-ᛞᛁᚢᛁᚾᛁᛏᚣ./ 137 | & 138 | ᛋᚩᛗᛖ-ᚹᛁᛋᛞᚩᛗ.ᚪᛗᚪᛋᛋ-ᚷᚱᛠᛏ-ᚹ/ 139 | ᛠᛚᚦ.ᚾᛖᚢᛖᚱ-ᛒᛖᚳᚩᛗᛖ-ᚪᛏᛏᚪ/ 140 | ᚳᚻᛖᛞ-ᛏᚩ-ᚹᚻᚪᛏ-ᚣᚩᚢ-ᚩᚹᚾ.ᛒᛖ-/ 141 | ᛈᚱᛖᛈᚪᚱᛖᛞ-ᛏᚩ-ᛞᛖᛋᛏᚱᚩᚣ-ᚪᛚᛚ-ᚦᚪᛏ-/ 142 | ᚣᚩᚢ-ᚩᚹᚾ./ 143 | & 144 | ᚪᚾ-ᛁᚾᛋᛏᚱᚢᚳᛏᛡᚾ.ᛈᚱᚩᚷᚱᚪᛗ-ᚣᚩᚢ/ 145 | ᚱ-ᛗᛁᚾᛞ.ᛈᚱᚩᚷᚱᚪᛗ-ᚱᛠᛚᛁᛏᚣ./ 146 | & 147 | $ 148 | % 149 | ᚪ-ᛋᚹᚪᛁ.ᛈᚢᛟᚫ-ᛈ-ᚠᛖᚱᛋᛈᛈ-ᚦᛗ-ᚾᚪᚱ/ 150 | ᛚᚹᛈ-ᛖᚩᛈᚢᛠᛁᛁᚻᛞ-ᛚᛟ-ᛠ.ᛄᛖ-/ 151 | ᛠ-ᛁᚫ-ᚷᛖ-ᚦᛟᛁᛞᛟ-ᛝᚠ-ᛄᛖ-ᛞᛁᛉᚾᚢ/ 152 | ᛚᚠᚻᚱᚹᛈᛞᛡ-ᚻᚹ-ᛋᚳᛉᛞ.ᚻᛡᛖᛡ-ᛠᚱ/ 153 | ᛉᛖᛇ-ᛒᚹ-ᛠ-ᛋᛒᛚᛞᚹᛈᚳ-ᚫᚩ-ᚹᛉᛞᚪᚪᛄᛠ/ 154 | -ᚹᚣᛠᚳ-ᛄᚪᚳ-ᛗᚾᛈᛏ-ᚩᚻ-ᛗᛈᛗᚳᛡᚱ-ᚱᚪ/ 155 | ᛚᛡ-ᛁᛒ-ᚠᛋ-ᛈ-ᚳᛝᛗᚳᚹ-ᛁᛗᛗᛁᚪᚻ-ᚣᛝᚳᛟ-ᛒ/ 156 | ᛠᛇ.ᛁ-ᚱᚹᚾᛒ-ᛡᚪᛗᛟ-ᛈ-ᛁᚩᛠᚳᛠ-ᛉ/ 157 | ᚾ-ᛚᛏ-ᚻᛒᛡ-ᛚᛇᚢᚪᚻᚣ-ᚷᛖ-ᛏᚷᚢᛇᛟᛡᚫ-/ 158 | ᚪᛡᛞ-ᛖᛟ-ᚱᚫᚠᛋᚹᛡ-ᚣᛗᛋ-ᚣᚪᛗᛡ-ᛏᚱ-ᚷᛖ/ 159 | ᚾᚪ-ᛚᛡ-ᛗᛈᛋᚣᛟᚱ.ᚩᚻ-ᛗᛈᛗᚳᛡᚱ-ᚱᛏᛈᛒ/ 160 | % 161 | ᛈᛗᛈ-ᚦᚹ-ᛗᚳᛁᛞᚹᚾᚣ-ᛠᚾᚪ-ᚳᚪᛠᛡ-ᛚᛡ-/ 162 | ᚢᛝᛁᛋᛟ-ᚦᚫᚷ-ᛄᛗᛗᚳ-ᚪᚪᛠᛞ-ᚹᚹᚢ-ᚾᛉᚢ/ 163 | ᚹ-ᛈᛝ-ᛁᚩᛠᚳᛠ-ᛉᚾ-ᛡᛟᚢᛟ-ᛇᛒᚩ-ᛁᚱ-ᚦᛠ-/ 164 | ᛉ.ᚪᛁᛈ-ᚦᚹ-ᛗᚳᛁᛞᚹᚾᚣᛗ-ᚹᛗᛞᛖ-ᚹᛈᚾ/ 165 | ᛗᚷᚣᛏᛠᛈᛖᚪ./ 166 | & 167 | $ 168 | % 169 | ᚪᚾ-ᛁᚾᛋᛏᚱᚢᚳᛏᛡᚾ.ᚳᚹᛖᛋᛏᛡᚾ-ᚪᛚᛚ-/ 170 | ᚦᛝᛋ.ᛞᛁᛋᚳᚩᚢᛖᚱ-ᛏᚱᚢᚦ-ᛁᚾᛋᛁᛞᛖ-/ 171 | ᚣᚩᚢᚱᛋᛖᛚᚠ.ᚠᚩᛚᛚᚩᚹ-ᚣᚩᚢᚱ-ᛏᚱᚢ/ 172 | ᚦ.ᛁᛗᛈᚩᛋᛖ-ᚾᚩᚦᛝ-ᚩᚾ-ᚩᚦᛖᚱᛋ./ 173 | & 174 | ᚳᚾᚩᚹ-ᚦᛁᛋ./ 175 | & 176 | $ 177 | % 178 | ᛋᚻᛖᚩᚷᛗᛡᚠ-ᛋᚣᛖᛝᚳ.ᚦᛄᚷᚫ-ᚠᛄᛟ-/ 179 | ᚩᚾᚦ-ᚾᛖᚹᛒᚪᛋᛟᛇᛁᛝᚢ-ᚾᚫᚷᛁᚦ-ᚻᛒᚾᛡ-/ 180 | ᛈᛒᚾ-ᛇᛄᚦ-ᚪᛝᚣᛉ-ᛒᛞᛈ-ᛖᛡᚠᛉᚷᚠ-/ 181 | ᛋᛈᛏᚠᛈᚢᛝᚣᛝᛉᛡ-ᚣᚻ-ᛒᚢ-ᚷᚩᛈ-ᛝᚫᚦ-ᛁ/ 182 | ᚫᚻᛉᚦᛈᚷ-ᚣᚠᛝᚳᛄ-ᚦᚪᛗᛁᛝᛁᛡᚣ-ᚻᛇ-ᛏᚻᚫ/ 183 | ᛡ-ᛉᚣ-ᛖᚢᛝ-ᚳᚠᚾ-ᛇᚦᛄᛁᚦ-ᚦᛈ-ᚣᛝᛠ-ᚣᚾ/ 184 | ᛖᚣ-ᛞᛉᛝᚹ-ᛒᚳᛉᛞᛒᚠ-ᛗᛏᚾᛖ-ᛠᛄᚾᛚᚷ/ 185 | ᛒ-ᛉᚷᚦ.ᚣᛁᛞᚪ-ᛝᚷᛗᛄᚱᚩᛚᛇ-ᚣᛏᛈᛁᚦᛞᛄ-/ 186 | ᛟᚻᛚ-ᛠ-ᚠᛉᚫᛈᚷᛉ-ᚠᛚᚹᛇᛏᚫ-ᚠᚷᚾ-ᛗᛇᛚᚾ-/ 187 | ᛝᛗᚠᚱᛡ-ᚪᛋ-ᛠᛗᛝᛉᛉᛇᛞᛒ-ᛟᛞᛗᚩ-ᛠ/ 188 | ᛇᚻ-ᛞᛝᚷ-ᛟᛝᛚᚢᚱᚾᛏ-ᚫᛋᚣᚢᚻᚱᛏ-ᚻᚳ-ᛋᛟ/ 189 | ᛏᛟᛝᚢᚱ-ᛋ-ᚠᚩᛖᚹᛠᛟᛚᚠᚫ-ᛗᚱᛝ-ᛞᚪᛗᚱ-ᚹ/ 190 | % 191 | ᚪᛁᛗᛋᚾ-ᛋᛟᚱᚢᚹᛋᛚᛡ.ᛟᚪᚫᛝᛋᛞᛈᛏ-ᚳᚱᚦ/ 192 | ᛡ-ᚱᛒᚩᛞᚦᚠ-ᚣᛉᛁᛏ.ᛟᛁ-ᚠᛚᚩ-ᚠᛠ-ᚱᚩᛟᛗᚻ/ 193 | ᛗᚷᛈᚻ-ᚫᚻᚾᚩᚻᚣ-ᛟᛋᛚ-ᚾᚷ-ᚫᚣ-ᛟᚳᛒᛚᛄ-ᛝ/ 194 | ᛚᛟ-ᚫᛄᛠᚹ-ᛠᚦᚩ-ᛒᛟᚣ-ᚳᚠᚳᛄ-ᛚᚫ.ᚾ-ᚦᛈ-/ 195 | ᚢᛉ-ᛟᛉᚷ-ᛈᚠᛋᛇᚫᛟ-ᛝᛈᛇᚩᛖᚪ-ᚷᚫᛡᛝᚦᚩ/ 196 | -ᛈᚪᛟᚦᚱᛝᚫ-ᚳᛋᛒᛇᚣᚻ-ᛏᛉᛖᛚᚱ.ᚷᚹᚣ-ᛄᚠ/ 197 | ᛁᚾᛡᚳᚣᛠᛁᛡ-ᚩᚦ-ᛖᚳᚫᚳᛉᛡᛠ-ᚩᛚᚳ-ᚠᚱ/ 198 | ᛞᛝᛖᚢ-ᛞᚳᛚᛠᛋᛉᚳᚷᛡ.ᚹᛋᚦ-ᚠᛞᛝ-ᛁᛡ/ 199 | ᛗᚪᚫᚷ-ᚹᛋ-ᚾᛞ-ᚳᛈᚦᛉᛈᛠᛠ-ᚹᚢ-ᛠᚹ-ᚠᚹ/ 200 | ᛄᚣ-ᛉᛞᚹᚳᚷᚳᛟ-ᛞᛉᛟ-ᚱᛡᚷ-ᚾᛈᚪᚣᛈ-ᚳ/ 201 | ᚣᚻ-ᚠᛖᛄᛠᚾ-ᛟᚫ-ᚢᚪ-ᚻᚱ-ᛖᛠᚦᚠᛄᚪ-ᛚᛉ/ 202 | ᛋᛏ-ᛗᚠᛚᚠᛏ-ᚷᛁᚦ-ᚢᛚᚷ-ᛉᛠᛏᛋᛚᛄᛈ-ᛚᛉᛁ/ 203 | % 204 | ᛟᛗ-ᚢ.ᚻᛏ-ᛒᛇᛚᛞᚻᛒᛗ-ᛠᚱᛒ-ᚾᚻᛒᛖᚷᛇ-/ 205 | ᛞᛚᚹᛇᛡᛈᚩ-ᚻᛖᛠ-ᚹᛁᚱᛁᚻ-ᚢᚦᚻᚣ-ᚾᛉᛒᚷᛄ/ 206 | ᛈᚢ-ᛝᛠᚠᚾᛁᛖᛞᛡᛝᚱ-ᛞᛒᛄᛡᛟᛗᛁ-ᚠᛏ-ᛄ/ 207 | ᛞᛁᚦᚱᛚᛋ-ᛖᛇᚩᚷᛒᛏᛞ-ᚦᚪᚾᚳᚣ-ᛡᛋᚦᛞ-ᛝᚠᛚ/ 208 | ᛖᚷᚻᚳ-ᛖᚩᛁᛏᚾᛉ-ᛈᛏᚠᚻᚱᛞᛖᚠᛏ-ᚫᚹᚻ-ᛒ/ 209 | ᚳ-ᚠ-ᛈᚪᛚᚢᛠᚾᛚᛄ-ᛄᚳᛚᚹᛠᛞᚢᛞᛇ-ᛠᛉ/ 210 | ᛞᚹᚻᛠ-ᚦᛡᚫᚳᛚᛏᚹᛖᛁᚳ-ᛈᛟᛞᚳ-ᚾᚻᚪ-ᚱᛁᚷ/ 211 | ᚦᛠᛖᛏᚷ-ᚦᚻᚩᛡᚹᚫᛄᛖ-ᛝᛠᛞ-ᚩᚫ-ᚪᛚ-ᛒᛄ/ 212 | ᚳᚢᛉᛏᚪᛒᛄᛈ-ᚠᛠ-ᚻᛞᚾᛡᚢᛈᛋᚢᚹ./ 213 | & 214 | $ 215 | % 216 | ᛚᛄ-ᛇᚻᛝᚳᚦᛏᚫᛄᛏᛉᚻ-ᛏᚢᛟ.ᛋᛈᚱᚷ/ 217 | -ᚣᚾᚪᚷᛇᛝᚾ-ᚹᚠᚣᚾᛒᛠᛡ-ᛈᚾᚣᚪᛋᛗ/ 218 | ᛒ-ᛡᛠᛡᛁ-ᚩᛒᚱᚾᛚᛠ-ᚱᛚᛚᛖᛒᚹᚾᚻᛗᚠ/ 219 | ᛟᛒ-ᛝ-ᚱᚪᛡᚷᛟᛇᛏᛗᛉ-ᛞᛇ-ᛗᚣᚻᛠ-ᛁᛚᛋ-ᚾ/ 220 | ᚹᚳᚠᛈᛗᛈᛚ-ᛠᛋᚦᚠᛟᛡ-ᚦᛖᚣ-ᚳᛄᛚᚳᛡᛗ-/ 221 | ᛒᛞᚳᛇ-ᛄᛁᛏᛟ-ᛞᛠᛖᛡᚾᛏ./ 222 | & 223 | ᛈᛞᚦ.ᛇᛞᛇ-ᚫᛚᚳ-ᛡᛇ-ᛠᚻ-ᚹᛗᚣᚦ/ 224 | ᚢ-ᚻᛏᚦᚱᚻᛝ-ᛚᛝᛋ-ᚾᚫᛠᚷᛋᛚ-ᛋᛉ/ 225 | ᚩᚻᚹᛞᛗᛖᛗᚪᚠ-ᚳᚣᚳᚫᚾ-ᛏᚦᚷ-ᛁᛄᛁ/ 226 | -ᚳᛞᛡᛉ-ᚻᚫᚫᛠᚷ-ᛠᛝ-ᚠᛏᚩᚱᛞᚳᛇ-ᚠᚢ/ 227 | ᛉᛠᛒᚩ-ᛉᛁᚣᚷᛋᛋᛒᛠ-ᚩᛁᛈ-ᛁᛄᛁᚩᛖ-ᚻᛠᚻ/ 228 | % 229 | ᛚᛡ-ᚣᛈᛉᛁᚹᛗᚳᛁ-ᛚᚷᚠᚾᛡᚳᛉ-ᛈᚩᚱᛡ-ᚻ-ᛄ/ 230 | ᛗ-ᛟᛉᛝ-ᚢᛗᛇᛠᚷᛝ-ᛝᚹᚳ-ᛚᛝᚢ-ᛉᛄᚠᛟ/ 231 | ᚢ-ᚷᛠ-ᛗᛉ-ᚪᚹ-ᛚᚢᛉᚫ-ᛗᛞᛝᚻᚱᚣ-ᚻᚪ-ᚷᛁ/ 232 | ᚠᚷᚳ-ᚫᛝᛄᛇᛉᛡ-ᚾᚦᛒᚢᛄᚱ.ᚹ-ᚷᛚᛟᚷ-ᚦᛇᚠ-/ 233 | ᚦᛠᛁ-ᛋᚷ-ᚷᚣ-ᛠᛡᛈ-ᛡᚫᛚ.ᚦᛠᛉᚫ-ᛖᛗ/ 234 | ᛖᛏᛟᛏ-ᛠᚳᚠ-ᚳᛠᚷ-ᚦ-ᛈᛁᚳᚾ.ᛇᚣᛝᛄᛝ/ 235 | ᛗᚹᚳᚾ-ᛒᚣᛠ-ᚩᛟᚷᚱ-ᛗᚱᛗᛈᛡᚹ-ᚫᛟᚦᛟ-ᛈ/ 236 | ᛉᛄᛚ-ᚱᛚᚱᛒᚪᛈᛏᛉᛚᛏ-ᛗᛉᛁᚹ.ᛄᛋᛟᛗᚾᚱ/ 237 | ᛖᛒᛋ-ᚳᛏᛚᛟ-ᛋᛒᚠᛉᚦᚪᛠᚢ-ᛇᛉ-ᚱᚷᛏᛇᛠ/ 238 | ᛁᛄᛒᛟ-ᛉᚷᛄᛝ-ᛠᚦ-ᚱᛝᛒ-ᚾᚢᚪᛝᛒᛈᛋᛠ-ᛈ/ 239 | ᚹᚩᚻᛖ-ᚫᛇᚷᚾᚫᛋᛇ-ᚩᛈᛗ-ᛖᛉᛡᛒᚹ-ᚢᛖᛁᛞ-/ 240 | ᛈᚪᛇᚷᛋᚳᚷᛞᛈᚣ-ᛡᛚᚦᚱ-ᚳᚢᚠᛇᚦ-ᛉᛖᛚ-ᚢ/ 241 | % 242 | ᚱᚫ-ᛉᚻᛄᚫᛗᛚᚠ-ᚳᛝᛞ-ᛁᛝᚩ-ᚳᛋᛟᛖᚣᛟᚻᚢ-/ 243 | ᚷᛞᚹᚪ-ᛖᛋᚷᛝᚠᛉ-ᛞᛉᛄ-ᛠᚻᛁ-ᚦᛈᛉᚣ-ᛡ-/ 244 | ᛇᛞᛇᛝᛇᛝ-ᛖᛠᛞᚱ-ᛚᛇᛏ-ᛉᛏᚣ-ᚱᛇ-ᛈᛝᛇ/ 245 | ᛈᚩᛁᛚᛖᚠ-ᛇᚫᚪ-ᚣᛝᚠᚣ-ᚠᛞᚾᛚ-ᛉᛏᚾᚫᛋ.ᛁᚩ/ 246 | ᚳᚢ-ᚣᛠᚾᛏᚷᚳᚪ-ᛉᛡᛇ-ᚦᛄᚣᛄᛚᛟᛖᛚ-ᚣ-/ 247 | ᛈᛡ-ᛖᚹᛟ-ᛇᚾᚪ-ᚻᛞᛇᛋ-ᚦᚣᛇᚦᛄᚦᚱᚢ-ᚳᛠ/ 248 | ᚪ-ᚢᛄᛡᛈ-ᚣᚫᛇᛋ-ᚻᛠᛏᚣᛞᚣᚫᚠᚻᚩ-ᛟᛗ/ 249 | ᛉᛟᛄᚷ-ᚢᛡᚱᛡᚳ-ᛁᚠᛟ-ᛁᛄᛈᛒ-ᛖᛝᚣᚦᚩᚫᚣ-/ 250 | ᛠᛉᛡᛖᛚ-ᛁᚱᚣᛞᛠᛄ-ᚫᚳ-ᛗᚷᛁᚫᚢᚪᚫ-ᛄᚪ/ 251 | ᚻᛈ-ᚠᛞᛚᛁᛠᛈᛟᚣᚩ-ᚢᛒᚷᛝᛟᚢᛝᛋᚢᚳ-ᛏ/ 252 | ᛞ.ᚫᛈᚩᛄ-ᛒᚻᚱᛁᚷᚻᛄ-ᚣᚹᛗᛇᚾᚫ-ᛞᛝᛇ-ᛟᛄ/ 253 | ᛝᚳᛖᛠ-ᛉᚪᚱᚣ-ᚪᚢᛏ-ᚳᛈᚳ-ᚩᛇᛟ-ᚫᛈ-ᛏ/ 254 | % 255 | ᛉᚳᛏᚻᛞᛇ-ᛉᛒᛠ-ᚫᚾᛄ-ᛠᚪᛒ-ᛖᛠᚹ-ᛡᛚ-/ 256 | ᚹᛁᛡᛋᛈᛚᚦᚪᛋᛄ-ᛡᛞᚣᚱᛞᛟ-ᚦᚱᛉᛟᚹ-ᚣᛞᛏ-/ 257 | ᚷᛚᛡᚻᚹᛗᚱ-ᛝᚠᚳ-ᚱᚫᛁᛒᚷᛈᚣ-ᛞᚪᚱᚪᛉᛟ-ᚢ/ 258 | ᚩᛁᛠ./ 259 | & 260 | ᚪᛏᛉᛒ-ᛗ-ᚷᛡᛋᛒ-ᛉᛇ.ᚷᚾᛠᚫᚷᛝᛞ-/ 261 | ᛉᛖᛏᚩᚷᛡ-ᛝᚻᛏ-ᚳᛁᚣ-ᛄᛏ-ᛟᚩᚻᚱᛄ-/ 262 | ᚳᛖᛡᚩ-ᛞᚪᛏᚣᚢᚾᚱᛇ-ᚫᚫᛁᛖᚠᛝᚦᚻ-/ 263 | ᛉᛁᛟᛋᛁ-ᛗᚪ-ᚢᛄᚳᛋᚹᚾᚣ-ᚩᛈᛉᚱ-ᛚᚫᛟᛏᛡ-ᛄ/ 264 | ᛈᛗ-ᛞᛋᚠᛗ-ᛟᚹ-ᛞᛚᛏ-ᚷᚱ-ᚩᚢᛋᚻᚪ-ᚣᛇᛡᛚ/ 265 | ᚢᚻ-ᛈᚹᛄᛚᚷᛒ-ᛗᚢᛄᛗ-ᛇᚾᛇ.ᚫᛚᚪᛚᚷᚪ-ᛋ/ 266 | % 267 | ᚻᛝ-ᛚᚦᛒ-ᛋᚳᚢᚳᚩᛡ-ᛚᚳᛄ-ᛉᚪᚾᛇᛉ.ᛠ/ 268 | ᛗᛈᚢ-ᛗᚠᛚᛠᛝ-ᛒᛉᛁ-ᛚᚦᚱ-ᛠᛡᛁᚳ-ᚩᛉᛖ/ 269 | ᛞᛡ-ᛏᛋᛗᛠᛄᛈ-ᛠᛟ-ᛡᚫᚦᚹᚻᛈᛇᚪᚷᛈᚻ/ 270 | ᛠ-ᚳᛚᛠᛈ-ᛡᚣᚾᛁ-ᛚᛡᛁᚳ-ᚫᛇᚾ-ᚫᚳᛡᚱᛡᛚ/ 271 | ᛞ-ᛒᛟᛝᛡ-ᛉᛗᛝ-ᚳᚻᛟᛠᚾᛈᚳᚦ-ᛁᛇᚦ-ᛇᚢᚩ/ 272 | -ᚦᛈᚪ-ᛡᛚᛟᚹᛡᛈ-ᛄᛗ-ᚷᛒᛈᛋᚾᛇ-ᛏᚩᚷᚢᚾᚫ/ 273 | ᛖ-ᚾᚣᛁᛖ-ᛞᛝ-ᛞᛝ-ᛚᚢᛚᛉ-ᚪᚾᛝ-ᛇᚪᛄ-ᚻ-ᛞ/ 274 | ᚹᛈᚫᚹᚫ-ᛇᛁᛚᛝ-ᚦᚾᚳ.ᛒᛁᛏ-ᛠᚳᚩᛇᛖᛝ-ᚳᚻ/ 275 | ᛟᚻᚫᛄ-ᛟᛉ-ᛁᚳᛖᛏᛋᚹᛖᚾᛡᚣᛄᛗ-ᛖᚳᚪ./ 276 | ᛞᚩ-ᛟᛏᚦᚫ.ᚳᚹᛄ-ᛉᛠ-ᚷᛠᛗ./ 277 | & 278 | $ 279 | % 280 | ᛉᛁᛉᛗ-ᚢᛉᛗᚳᚦᛈᚩᛒ-ᛡᚾᛏ-ᛠᛉ/ 281 | -ᛈᚱᚣ-ᚩᚳᛠᛗᛝᚷᛉᛚᚢ-ᛝᛁᛏᚩ-/ 282 | ᛄᚠᛝ-ᛋᛚᚾᛞ.ᚩᛗ-ᛇᚫ-ᚱᛞᚹᛏᛄᚦ-/ 283 | ᚣᚦᛋ-ᚫᚣᛖᛋᛉᛟᛒ-ᛠᚱᛇ-ᛈᛝᚢᛈ-ᚩᚦᛉ-ᚪᚻ/ 284 | ᛟᚱᛝᚢᛖᚱ-ᚣᛚᛉᛚ-ᛡᛚᚱ-ᛈᚹᛇᚾ-ᛠᚪᚱᛉᛝ-/ 285 | ᚣᛋᚻᚢᛚ-ᛋᚣ-ᚷᚾᚢ-ᛇᚫᚾᚾ-ᚩᚫᛖᛞ-ᚪᚩᛄᛡᚢ/ 286 | ᚪᛉ-ᚱᛉᛡᛟᛄ-ᛗᛁᛇᛚᛠᚻᚦᛗᛠᚣ.ᚷᛒᚳᛈ/ 287 | ᛉᚳ-ᚾᛟᛟᛋᚷᛗᛈᛖᛏᛚᚾᛄ-ᛄᚳᛝᚩ-ᛁᚹᛚᛠᛒ-/ 288 | ᚠᚪᛖ-ᛏᛝ-ᚾᛈᛠᚩᛏᚦ-ᚻᛝᛉᛈᚻᛈᚳᛈᚱᚢ-ᛚ/ 289 | ᚠᛖᛟ-ᚷᚪᛒᚠᛁᚫᚠᚢᛟ-ᛗᚠᚣᛝᛄᚳ-ᚻᛏᚠᛚᚫ-ᛖ/ 290 | ᚦᛋᛚᚩᚢ-ᚫᚩᚪᛗᛟᚢᚹᛇ.ᛒᚾᛋᛚᛝᛄᛟᚾ-ᛗᛚᛒ-/ 291 | ᛟᛏ-ᚾᛞᛒᚩᚾᚦᛡᚻᛟ-ᚱᛈᚾᚠᛈᛞ-ᛋᚩᛁᛠᚣᚾ-ᛇ/ 292 | % 293 | ᚣᚹᚫᚷᛄ-ᛝᛗᚪᚹᛈ-ᚪᚢᚾ-ᛈᛡᛗᛖᛞᛟ.ᛁ-ᛉ/ 294 | ᛡᛗ-ᚠᛈᚩ-ᚦᛉᛞ-ᚩᛞ-ᛋᛈᛉᛡᚷ-ᛟᚻᚠᚦᛉᛄ/ 295 | ᛟᛋᚦᚣᚦ-ᛏᚻᛋᚣ-ᚻᛠᚷᛚᚫᚱᛏ-ᚢᛋᛟ-ᚦᚠᚠᚣ/ 296 | ᛟᛡ-ᛇᚳᚣᛒᛚᛝ-ᛠᚱᚻᛞ-ᛄᚣᛏᚫ-ᚻᛞᚳᛋ-ᛉ/ 297 | ᚠᛞ-ᚦᛗ-ᚳᛇᛝ-ᚫᚾᛡᛠᚹᛁᛡ-ᛒᛗᛝ-ᚷᛈᛁᚳ-ᛠ/ 298 | ᛚᚷᛉᚣᚣᚱᛄ-ᛉᛁᛄᚢ-ᛖᚣ-ᚪᛝᛈ-ᛡᚫᚳ-ᛖᛠ/ 299 | ᚹᛒᚦᛟᚠᛗ-ᚫᚱᚠᚩᛏ-ᛝᛉᛞ-ᛗᛖᛡ-ᚩᛈᛋ-ᛇᛞ-/ 300 | ᛇᛟᚫᚾ-ᚷᛗᚣᛁᚫᛁᛄ-ᛈᛄᚩᛡᚷ-ᛈᚳᛄ-ᛚᛖᛡᚻᛚ/ 301 | ᚷᚱᛇ-ᛟᚣ-ᛠᚣᛗᚹᚾᚹ-ᚠᛁᛄᚢᛗᚫᚾᚳᛗᛠᛁ./ 302 | ᚩᛇ-ᛒᛚᛞ-ᚾᚹᚠᚾᛒᚱ-ᛋᛟᚦᛡ-ᚪᛡᛏᚷᚷᚹ-ᚪᛋᛡᚦ/ 303 | ᛋᚦᛋᚠᛗᚷᛞᛠ-ᛝᛈᚩᚪᚣᛝᛈᛋ-ᛟᚾᛇᚪᛖ-ᚻᚢ/ 304 | ᚷ-ᚩ-ᚢᚦᛏ-ᛒᚷᚣᛝᚠᚣᛁᚻ-ᚹᛡᛠᚱᚫᚹᛡᛞᚪᚦ/ 305 | % 306 | ᚳ-ᛉᚢ-ᛈᛏᛋᚢᛖ-ᚷᚦᛡᛚ-ᛖᛋᛠᛝᛉᛈᛉ-ᚾ/ 307 | ᛟ-ᛞᛟᛒ-ᚾᚹᚢᛁᛇᛚᛞ-ᛁ-ᚦᚣᚷ-ᛟᛈᛡ-ᛖᚪ.ᚠᛋᛉ/ 308 | ᛞ-ᛖᚷᚦᛠ-ᚾᛋ-ᛞᛟᛗᛖ-ᛗᚾᛉ-ᚹᛒᛠᛈᛟ-ᛗ/ 309 | ᛉᚫ-ᛄᚩᛞᚻᛡᚷᚠ-ᚣᛗ-ᛁᚷᛉᚻᚹ-ᚾ-ᛋᛗᚷᛠ-/ 310 | ᚣᛚᚱᛄᛗᛉᚣ-ᛇᚱᚢᛟ-ᚣᚦᚢᛟᚩ-ᚱᚢᚹ-ᛁᛒᚳ./ 311 | ᛠᛏᛞ-ᛚᛖᛋᛄ-ᚳᛟ-ᚷᛞᛡ-ᚢᚹᛝᚻᚫᚢᛈ-ᛏᛈ/ 312 | ᚩᚣ-ᚾᛇᚦᛟᛏᛇᚳᚠ-ᛒᚪᚾ-ᛗᚦᛝ-ᛟᛠᚢᛁᚪ-ᚾᚻᛝ/ 313 | ᛉᚩ-ᛇᛁᛡᚠᛟᛒᚦᚠ-ᛋᛒ-ᚠᛞᛇ-ᚩᚦᛏ-7-ᚷ-ᛚᛄᛖᚫ/ 314 | .ᚣᛁᚫᚹᚻ-ᚫᛏ.ᛁᛉ-ᛉᚻᛞᚩᛠ-ᚫᛋᛝᛚᛝ-ᛖᚩ/ 315 | ᚻᛗᚩᛟᛒᚦ-ᚱᛚᛋ-ᚳᚻ-ᚪᛡᚾᛇᚱᛉᚦ-ᚣᛉᚻ-ᛡᚾ/ 316 | ᚢ-ᛗᛉᚹ-ᛖᛈᛖ-ᚩᚳᛈᚳᛞᚪᛉᚢᛗᛝᛟ-ᛋᚾᛟ/ 317 | ᛉ-ᚠᚱᚳᛒᚢᛄᚱᚫᛝ-ᛒᛋᛟᛠᛡᚪᛚ-ᛏᛟᚾᚫᛟᚪ-ᛁ-/ 318 | % 319 | ᛡᛋᚳᛖ-ᚹᛒ.ᚾᛚᛝ-ᚦᚾᛁᛠ-ᛒᛡᚱᚠᛖᛁᚹ-ᚾᚠᛗᚢ/ 320 | ᚷᚾ-ᛄᛚᚳᚱ.ᛝᚣᛉᛋᚪᛟᚱᛉᚳ-ᛒᚫ-ᚠᚢᚪᛖᚪᚹ-/ 321 | ᛚᚾ-ᛄᛉ-ᚻᚦᛉ-ᛗᛚᚾᛖ-ᛏᛝᚦᚪᚩᚢᛗᚣ-ᚠᛝᚪ-/ 322 | ᚻᛡᛇᛡ-ᛚᛏᛁ-ᛇᛁ-ᚳᚢᚢᛖ-ᚳᛒ-ᚫᛇᚠᚦᚳᛚᚩᛉᛚ/ 323 | ᚩᛚ-ᚠᚳᛠ-ᚪᚠᛟᚫᚠ-ᚾᚳ-ᚢᛒᚱ-ᚾᛇᚩᛉ-ᛁᚳᛟ-ᛞ/ 324 | ᛉᛠᛝᚠᚱᛡᚳᛇ-ᛉᛟᛈᛗᛞᚳᚦᚹᛈ.ᛡᚻ-ᚾᚦ/ 325 | ᛇᛏᚹᛖᚢ-ᚫᛇᚦ-ᛝᛟᛏᚳᚷᛒᛠ-ᚪᚳᛒᚪᚩᚹᚫ-ᛉ/ 326 | ᚢ-ᚫᛖᛒ.ᛇᛏᚢᚩ-ᛟᛞᚠᚢᛋ.ᛡᛄᛗᚦᛠᛏᚪ-ᛒ/ 327 | ᚹᚣ-ᛏᛄᚻᚦᚫ-ᛚᚪᚱᚫᛟᚦᚩᚾᛟᛁᛖ-ᛡᚠᚷ-ᛋᚠᚦᛏ-/ 328 | ᛠᛡᛠᛁᚢᛡᛇᛝᛞ-ᛉᛏᚠᛒᚻᚢᛋᚳᚱᛇᚹ-ᛇᛈ/ 329 | ᛋᚢᛚᚪᛈᚢᚳᛖᚠᛞᛉ-ᚦᛠᛇᛝᚻ-ᚣᚱᛗ-ᛟᚾᛚ-/ 330 | ᛈᚹᛞᚱᛄ-ᚪᛝᛞ-ᛁᚦᛏᚷᚢᚹᚳᚻᛖᚩᚪᛖ-ᛉᚪᚢ-/ 331 | % 332 | ᚳᛁ-ᚱᚳᚹ-ᛠᛇᛏ-ᚦᚳᚻᚢ.ᛡᚹᛟ-ᚷᛇᛈ-ᚢᛈᚦ-/ 333 | ᚷᚣᚢᚪᛗ-ᚹᚳᛖᛝᚱᛠᛞᛏᚻ-ᛄᛁᛈᚻᚠᛉᛝᛈ/ 334 | ᚾ-ᛒᚳᚪᚷᛋᛟ-ᛉᛠᛈᚪᚩᚷᚠᚳᛡᛄ-ᛠᚢᚠᛋᛚ-/ 335 | ᚣᛚ-ᚢᛒ-ᛉ.ᚱᚣᚾ-ᛁᛠ-ᛚᚹᛋ-ᚠᚦᚪᛠ-ᛈᚷ.ᛏ/ 336 | ᚷᛡᛟᛠᛡᛒ-ᛉᛄᛒ-ᛖᚾ-ᛞᚠᛠᛗ-ᚦᚪᛗᚠᚪ./ 337 | ᚻᛡ-ᛗᛁᛏᛟ-ᚻᚣᚹᛏ-ᚠᛒᛁ-ᚫᛖ-ᛝᛒ-ᛚᛏᛠᛉ-ᛟ/ 338 | ᛋᚾᛉ-ᚹᛏᛠᛏ-ᛖᚢᛡᛖ-ᛉᚾᛇ-ᛟᚳᚾᚠᚩᚾᚠ-ᚳ/ 339 | ᚪ-ᚷᚱᚩ-ᛠᚦᚹᚣ-ᛒᛁ-ᛝᛇᛟ-ᚣ-ᚷᛗᚩ-ᛁᚷᛄ-ᚩᛇ-ᚢ/ 340 | ᛁᛉᛝᚪᚱᛉ-ᛏᛄᛞᛈ-ᚾᛝᚷᛏᚢ-ᛚᚷᚳᛏ-ᚢᛒᛇ-/ 341 | ᛈᚩᚣᚢᛏ-ᛡᚫᛏᚹᛏᛇ-ᛡᚫᚫ-ᚦᛏᛝ.ᛠᚳᛁᛉ/ 342 | ᚻᚦᚣ-ᚻᛚᚾᛋᚱᛡᚫᛚᚫ-ᛖᚷᚻ-ᛞᚾᚻᛠ-ᚠᚪᚹᛖᚠ/ 343 | ᛄ-ᛒᛇᚱᚹᛏᛉᚾᛠᛖᛁ-ᚠᚾᛡᚳ.ᛋᛟᚹ-ᛈᚷᛝᛟ-/ 344 | % 345 | ᚷᚦᚠᛄᚷᚳ-ᛒᛁᛗᛚᛇᛠᚹ-ᚾᚫᚹᚷ.ᚩᚻᚪᛏᚾᛄ-ᚣ/ 346 | ᛝᛏᛡᛝ-ᚢ-ᚩᚠᚣ-ᛗᚢᛒ-ᛏᚠᛈ.ᚱᚩ-ᛉᚩᛝᛒ-ᛖ/ 347 | ᛏᚩᛉ-ᚣᛗᚠᛉ-ᛖᚩᚫᚷᚣᛚ-ᚩᛇ-ᚠᛋᚫᛇᛗ-ᛡᛟᚹ/ 348 | ᚾᚩᚢᚹᛖᛁ-ᚾᚦᚫᛠᚪ-ᛠᛚ-ᚹ-ᛡᚩ-ᚢᚦᛗ-ᛝᛚᚪᚠ/ 349 | ᛝ-ᛚᚠᛚᚳᛒᚢᛝᛉ-ᚣᛡᚪᚷ-ᚹᛟᚪᚻᚹᚢ-ᛖᛠᚷ-/ 350 | ᛁᚪᛏᛄᛗ-ᛏᛖᛁ-ᚣᛡ-ᚦᚾᚠᚦ-ᚩᛈᚻᚪ-ᚻᛋᛠ-ᛡᛉ/ 351 | ᚪᚫ-ᚠᚣᛞᛠᛇᚠᚫ-ᛏᛗ-ᚳᛡᚷ-ᚱᚢᛞ-ᛄ-ᛋᛡᛇᚩ/ 352 | -ᛚᛟ-ᚦᚱᚫᛒᛚᚦ-ᛖᚪᚦᛗᛚ-ᚦᛉᚪᚱ-ᛟᛖᛒᛄᚱᛄᛖᛁ/ 353 | ᛈ-ᚪᛖᛠᚠᛄᚢ-ᛞᚹᚦᚣ-ᛉᚷᚩᚳᛡ-ᛇᛗᛞᚳᛏ-/ 354 | ᚻᛚᚦᛝᛖᛗᚱ-ᛒᚷᛞᛉᛗᛒᛉᚳᛝᚦᚣᛞᚫᛠ-ᛋ/ 355 | ᛏᛗᛏᚻᚹ-ᛇᚳᚪᛞ-ᛠᚢᛒᛉ-ᛡᛁᛡᛚ-ᚷᛋᚦᛞ-ᚠ/ 356 | ᚢᚩᛠ-ᛚᛋᚣᛏ-ᛋᚪᛞᚫᚹᛄᛞ-ᛋᛈᛋᛄ-ᚪᛖᛁᛇᛒᛟ/ 357 | % 358 | -ᛏᛄ-ᚠᚩᛚᛞ-ᚾᚷᚳ-ᛚᚷᛗ-ᛠᚦᚢ-ᛟᚻᚾᛟᚣᛡ./ 359 | ᛇᚻᚣᚪᛈ-ᚾᛋ.ᛞᚫᛠᚳᛉᛄ-ᚦᚹᛋᚱᚦᚫᚾ-ᛡᛚᚣ/ 360 | ᚫᛋᛖ-ᛟᚣᛝᛡ-ᚦᚣᚷᛇᚱ-ᛋᛠᛏ-ᛡᚳᛉ-ᛠᚷ-/ 361 | ᚳᛒᛋ-ᚹᚾᚻᛖᛝᛋ-ᚩᛡᛗᛉᛝ-ᛉᚦ-ᛠᛞᚳᛒᚷ/ 362 | ᛉᚹᛝᚢ-ᛉᛞᛈ.ᛉᛡᛈᛟ-ᚾᛡᚠᛡᚢᛋ-ᛉᚪᛖ/ 363 | ᚻᚱᚣᛠᛇ-ᛒᛟ-ᚪᛝᛡ-ᚳᚱᚳᛈᚩᛏ-ᚻᚣᚫᛁᛋᚩᚦᛚ/ 364 | -ᛟᛚ-ᛋᚪᚢᚪᛈᚻ./ 365 | & 366 | $ 367 | % 368 | ᚠᚢᛚᛗ-ᚪᛠᚣᛟᚪ./ 369 | & 370 | $ 371 | ᛚᚢᛝᚾ-ᚳᚢ-ᛒᚾᛏᚠᛝ.ᛁᚢᛁᚢ-ᛟᚫᛄᚠᚫ-ᚢ/ 372 | ᚷᛉᛇᛈᛉ-ᚣᛠᛚᚪᛉ-ᛟᛉᛡᚦᚻᛠ-ᚾ/ 373 | ᚪᚳ-ᚢᚷᚾ-ᛈᛖᚾᚦᚩᚢᛁᛡᚱ-ᛏᛁᛒᛇᚳᚠᚷ-ᚩ/ 374 | ᚦᚪ-ᛁᛈᚻᛡᛒ-ᚹᛈᚻᚱᛞᛉᛏᚢ-ᚣᛒ-ᚠᛋᛉᚢ-ᛗᛁ-/ 375 | ᛡᚱ-ᛝᚢᚠᚦᛝ-ᛈᛟᛒ-ᚻᚷᚻᛡᛚ-ᚩᛞᚪᚳ-ᚦᛈᛞᛋ/ 376 | ᛡᚻᛇᛚ-ᚢᛏᛋᛞ-ᚦᚢᛞᛝ-ᛚᛉᛝ-ᛏᚩᛚ-ᚪᛚ-ᚣ-ᛟ/ 377 | ᛡᛉᚣ-ᛒᚻᚫᛄᛡᛁ-ᚱᚦᛚᚠ-ᛠᚾᛝ-ᛉᛗᛒᚩᛠᛈ-/ 378 | % 379 | ᛖᛞᚪᚫᛏᚩᛠᛖᛠᛉᚳᛠᛏ-ᚩᛞᚳᛠᚾᚳᚦ/ 380 | ᛗ-ᛞ-ᚷᛁᚳᚹᛟ-ᚪᚢᛒᚳᚫ-ᚦᚱ-ᛋᚣᚪ-ᛏᚦᛒ-ᛝᚹᛋᚱᛁ/ 381 | ᛝ-ᛒᛁᚪᚫᛚ-ᛏᚱᛡᚫᚠᛞ-ᛝᛄᚩ-ᛡᛠᛉ-ᚪᛡᚻ-ᚱᛒ/ 382 | ᛁ-ᛞᛡᛄᚪᛈᚱᛋ-ᚢᛡ-ᚻᚷ-ᛚᛟᚠ-ᚻᚷᚫᛋ.ᛈᚹᚷᚷ/ 383 | -ᛗᛟᚪᚾᚱ-ᚩᛟᛞ-ᚷᛟᚠᛠ-ᛡᚷᚳ-ᛉᛠᚠᛚ-ᛒᚫ/ 384 | ᛈ-ᚩᛄᛈ-ᛄᛗᛠ-ᚾ-ᛉᚪ.ᛡᛖᛋᚷᚫᚦ-ᛄᚷᛉᚩᚦ/ 385 | ᛄᚳᚣ-ᚢᛄᚦᛄᚪᚾᛏᛒ-ᚳᛈᛡᛄᛋᚫ-ᛋᛗ-ᚻᛞᛠ/ 386 | ᛉᚢᛗ-ᛏᛠᛖᚣᚠ-ᛄᛏᛋᛗᛞᛟᛁᛝᚪᛉᛖᛈ-ᛚ/ 387 | ᛇᛞᚦ-ᚪᛋᛉ-ᚳᛒᚢᛟᚳᛒᛚᚾᛟᛝᛉᚩ-ᛖᚳ-ᛝᛟ/ 388 | ᚳᛁᛒᛈᚫ-ᚣᛖᛄᛝ-ᛞᚢᚱ-ᛉᛟᚩ-ᚠᚹᚩ-ᚣᛁᚠᚢᛇ-ᛚ/ 389 | ᛏᛈᛒᛗ-ᛇᛝ-ᚢᚳᚱᛡ-ᛖᚩᛁᚣᛄᛏᛡ-ᛖᚠᛇᚠᛚ-ᛁ/ 390 | .ᚣᚷᚠᛝᛡᛈᚷᛒ-ᛡᚩᚷᛡ-ᛟᚾᚹᛡᛈᛟ-ᚦᛈ-ᛟᚷ/ 391 | % 392 | ᛚᚦ-ᛈᛞ-ᚦᛇᛒ-ᛡᚪᛒᚪ-ᚾᛗ-ᚳᚾᛖᛡᚹᛝᛏᚱ-ᛝᚫ/ 393 | ᛚᛟᛁᛇᚣ-ᛝᛡᚾᛏ-ᚱᛁ-ᛋᚪᛖ-ᛇᚢ-ᛝᛞᛄ-ᚠᚱᛠᛗ/ 394 | ᛠᚪ-ᚫᛈ-ᛏᚠ-ᛖᛏᚷᚾᚠᛁᚠ-ᚱᚻᚱᛇᛒ.ᚻᛈᛏ-ᛇᚱ/ 395 | ᛝᛡᛒᚹᛚᛏ-ᛗᛉᚦ-ᚾᛄᚳᚫ-ᚷᛈ-ᛋᛖᚩ-ᚢᛝᚩ-ᛏ/ 396 | ᛈᛁᚣᚾᚪ-ᛏᚹ-ᚠᛗᚾᛟᚾᚳᛒ.ᛄᛉᛡ-ᛟᚪᛁᚫᛝ-ᛒ-/ 397 | ᛉᛏᛄᛁᛋ.ᛠ-ᚳᛖᚱᚦᚣᚩᚣ-ᛈᚫᚷ-ᛡᛄᛁᚩ-ᚱᚦ/ 398 | ᛠ-ᛇᚦᚩᛉ-ᚾᚱᚾᚫᛁᛉ-ᛁ-ᛝᚣᚫᛡᚫᛗ-ᚹᛖ-ᛇᚷᚻ/ 399 | ᛖᛗ-ᚷᚢᛞᚹ-ᛄᚻ.ᛉᚱᚢᛄᚢᚾᛈ-ᛋᚣᛄᚫ-ᛈᚳ/ 400 | ᚣᚳᛒᛡ-ᚫᛟᚪᚠ-ᛏ-ᚷᚩᛇᛟ-ᛁᚱᛗ-ᛖᛉᛟ-ᛗᛇᚫᛟ/ 401 | ᚦ-ᚱ-ᛞᛁᚢᚦᚻᛗᛡᚾ-ᛁᚦᚻᛚ.ᛏᚳ-ᚪᚦ-ᚠᚪᚫᚣᚻ/ 402 | ᛠ-ᚦᚠᛋᚠᛝᚷᚱᛈ-ᛏᛄᛉᛟ-ᚷᛚᚻ-ᚩᚪᚦᛏᚳᛁ-ᚠ/ 403 | ᚣᚢᛁᚹ-ᛟᚪᚣᛁᛠᛄᚪ-ᛟᛝᚦ-ᛟᚠᚦᚾ-ᛇᚷ-ᛠᛚᛒᚠ/ 404 | % 405 | -ᛠᚪᛄᛇᛠᛚ-ᚱᚷᛋ-ᚹᚩᛒᛁ-ᛠᚳ-ᛁᛞᛄ-ᛖᛗᚱ-ᚷ/ 406 | ᚪᚻᛠᛚᚷᚩ-ᛉᚻ-ᛡᛝ-ᛞᚱᚹᚩᛈᛡ-ᚣᚳᚦ-ᛁᛇᚢᛁ-/ 407 | ᛟᚦᚠᚳᚻ-ᚩᛁ-ᛝᚾᛁᛞ-ᛏ-ᚫᚱᛝᚫᛈ-ᛠᛞᛇᛉᚳ/ 408 | ᛠᚩᛟᛖ.ᛗᛈᛒᚦᛝᛋᚢᛡ-ᚻᛡᛏ-ᛉᛇᚷᚠᛡᛡ/ 409 | ᛟᚢ-ᛡᚦᚣᛞᚪᚫᛝᛒ-ᚳᚩᚷ-ᛏᛞᚦᛁ-ᚠᛒᛖ-ᚦᛟᚳ-/ 410 | ᚠᚻ-ᛞᚠᚣᛋᚾᛟ-ᛠᛇᛄ-ᛖᛉ-ᚩᛈᛠᛚᚪ-ᛟᚩᚾ-/ 411 | ᛄᛉᛋ-ᚣᚫᚷᛖᚩᛟᚢᚱᚹᚢ-ᛟᛡᛄᛇᚢᛞᛉ-ᛒᛇ/ 412 | ᚳ-ᛝᛚᛗᛠᛗ-ᚪᚱᛡᛗᛒᚩᚹ-ᛋᛖᚾᚻᚣ-ᛈ-ᛞᛚᛞ/ 413 | -ᛈᛏ-ᚪᛞᛚᛉ-ᛟᚱᚾᚹ.ᛠᚠᛁ-ᛟᚾᛒ-ᛇᛟᛖᛝᚳᚠ/ 414 | ᛏᛞᛏ-ᛇᚫ-ᛝᚢ-ᛠᛡᚫᛖᛟᛞᛝᛠ-ᚠᛗᛒᛚ-ᛏ/ 415 | ᚢ-ᛈᚱᚹᛟᛇᛉ-ᚳᛟᛈᛏ-ᚢᚠᚳᛞ-ᛄᛋᛞᛈᛚ-ᚠᛝ/ 416 | ᚱᛄᚣ-ᛞᛗᛖᚣ-ᚢᛖᛝᛠᚳᛞᛈᚩᛠ-ᛏᛒᚳ-ᚷ/ 417 | % 418 | ᚾᚩᛟᚾᚠ-ᚩᛁᚠᚢᛋᚾ-ᛞᚹᛠᛇᛈ-ᚱᚩᚩᛄ-ᚪᛟ-ᛇᛠ/ 419 | ᛄᛁ-ᛟᛄᛞᚢᚳᛝᚩ-ᚱᛝᛋ-ᛄᛁᛈᛉᛖ-ᛞᛁᚾᛗᛗᚳ/ 420 | .ᛉᚩᛁᛄᛞᚳ-ᚢᚪᛇ-ᚦᛡᛇᚻᛠᚣ-ᛠᚻ-ᚠᚩ-ᛡ/ 421 | ᛠᛋᛟᚪ-ᚹ-ᚫᚻᚩᛄᚢᚱᚩᚣ-ᛏᚫᚪᛡᚷ-ᛄᛚᛄ-ᛝᛏ/ 422 | ᛖᛒᛚᛉᚻ-ᚱᚩᚫᛇᛈᛄᛠ-ᚳᛈᛚᚣᛈ-ᚪᛠᚻᚻᛋ/ 423 | ᚫ-ᚩᛝᚹ-ᛋᛞᚠᚳᛠ-ᚩᛇᚫᚪᚩᚹᛗᚪ-ᚣᚫᚷᚫᛄᚱᚹ/ 424 | ᛞ-ᚱ-ᚦᚷᚳᚹ-ᚾᚷᛡ-ᛚᛒᚳ-ᛄᚷᚹᚹ.ᚱᛁᚠᛏ-ᚠᛚ-ᛋᛄ/ 425 | ᛚᚪᛄᚱᛏ-ᛞᚷᚫᛠᚠᛉᛞ-ᚫᚷᚻᛏ-ᛗᚣᛈ-ᛏᛒᛟ/ 426 | ᛝ-ᛄᛋᚾ-ᛝᛁᚹ-ᚦ-ᛠᛝᛞᚾᛟᚷᚫ-ᛁᛗ-ᛝᛉᚱᛞᛋ/ 427 | ᛗ-ᚠᚫᚹ-ᛟᛋ-ᚦᛞᛞᛈᛝ-ᛞᛡᚷᛒ-ᚪᛟ.ᚦᛡᛒ-ᚪᚹ-/ 428 | ᚾᛉᚫ-ᛚᛈᛁ-ᛒ-ᚠᚾᚠ-ᛡᚩᛏᛞᚾᛋᛖᚳᚻ-ᛖᚻ-ᚢᛟ-/ 429 | ᚪᛖᛗᛝ-ᛠᚫ-ᛈᚩᚪᛞ-ᚠᚫᚻ-ᚠᛏᚦᛄᛚᛄᛒ-ᛗᛇ/ 430 | % 431 | ᛈ-ᛄᚢᛒ-ᚷᛁᛇ-ᛈᛉᚣ-ᛈᛟᚦᛞᚱᛠᚪᛡ-ᛝᛡᛒᛚ/ 432 | ᚻᚦᚫᛉ-ᛟᚫ-ᚪᛇ-ᛉᚳ-ᛠᚠᚫ-ᚢᚣᚦᛋ-ᚠᛝᚠᚱᚹ-/ 433 | ᛟᛒᛗᚷᛞᚾᛡ-ᛞᚪ-ᚻᚣᛇ-ᚱᛚ-ᛖᚣᛇᚻᛠᚩ-ᚢ/ 434 | ᚳᚱᚻ-ᛡᛟᛗᛠᛝᛄᚦ-ᛄᚢᛁᛇ-ᛄᛁ-ᛖᚷᛁ-ᚪᛇᛏ-ᛝ/ 435 | ᛡᚳᛚ-ᛇᚠᛗᚪ-ᚷᛚᛒᛋ-ᛉᛞᚫᛟᛋᛚ-ᚹᛏᛠᛗ-ᛚᚦ/ 436 | ᛗ-ᛝᚦ-ᚣᛈᚠ-ᚪᛞᛚᚪᛖᛚᚩ-ᚱᚷ-ᛚᚳᛇᛏᚷᚣᛟᛗ-/ 437 | ᚪᛁ-ᚷᛄᛒᛡᛗ-ᛞᛈᚪᚳᛠᚷᛋ-ᛏᛈ-ᚩᛋᛏᛗᚱᚣ/ 438 | ᛋᛉ-ᛁᛄᛚᛝᛚᛁ-ᛉᚢᛠᛗᛇᚢᛋᚻ-ᚳᛉᛄᚩ-ᚠᛄᚠ-/ 439 | ᛁᚣᛁᛟ-ᛏᚷᚱᚦ-ᛡᛒᛋᚳ-ᛇᚢᚷ-ᛚᚱ-ᛁᛗᚱ-ᛗᛝᚻᛈ/ 440 | ᚫ-ᛝᛋᚫ-ᛖᛈᛁ-ᛒᛇᚹᚫᚢᛄᚳᛒ-ᚦᛋᚹᚦᚫ-ᛡᛟᚷᛚ-/ 441 | ᛞᛚᚢᛟᛡ-ᚱᛞᚱᛒᛄᚳᚢᛠ-ᚩᛉᛉ-ᛝᛡᛄ-ᛁᚫᛟ/ 442 | -ᛖᛗᚹ-ᛖᛉᚦᛗᚪᛋᛉ-ᛞᚦ-ᛡᚢ-ᛉᛗᚫᛋᚳᛖ-/ 443 | % 444 | ᚳᚫᛠ-ᛞᚳᚷ-ᚩᛁᛇ-ᚾᛟᚷᚣᚳᚦᚳᚦ-ᛗᚣ-ᛈᚪᛒ/ 445 | ᛈ-ᚻᚢᚻᚾᛏᚫᛒᛇᚩᛁᛈ-ᚫᚩᚣ-ᛡᚣᛗᚷ-ᚠᚱᛡᛚ/ 446 | ᛏ-ᛖᛟᚩᛈᛚᚩᚷᛁᛟᛠ-ᛞᛖᚳᛗᛁᚣ-ᛈᛚ-ᛁᚹᛋᛄᚹ-/ 447 | ᛟᛡᚪ-ᚦᛖᚩᛄᚷᛋᛝᚣᛗᛟᚻ-ᛗᚠᚦᛉᚦᚫᛋᛈᚣᚩ/ 448 | ᚠ-ᛈᛟᛋᛖᚫᛇᛗᛚᛈᚾ-ᛡᚠᚳᚾᚩᛄᛋᛡ-ᚫᛄᚦᚪᛠ/ 449 | -ᛈᚻᛋᛟ-ᛗᚹ-ᚱᚣᛁᚢ-ᛉᚹᛋᚱ-ᛞᛈᚦᛈᚩ-ᛞᛄᚩ-/ 450 | ᚢᛈᛖᚪᚫᛉᚫ-ᛏᚱᛟᛏᛒ-ᛠ-ᚫᚳᚾ-ᛖᛝᚦᛄᛄᚠ/ 451 | ᛚᚾᚩᛒ-ᛉᚷ-ᚪᚩᛚ-ᚪᚢ-ᛞᚻᚳᚹᛚᛡᛞᛇ-ᛟᚩᛡᛚᚳ/ 452 | -ᛡᚳᛉ-ᛝᛠᛝᚷᛝᛞᛄᛏ-ᛠᛈ-ᚹᛈᛗ-ᛈᚱ-ᚫ/ 453 | ᛏᛖᚢᛝᚫᛡ-ᚾᛁᛠᚻᚦᚣᛠ-ᚫ-ᚩᛉᛋᚩ-ᛄᚠᛏᚷ-/ 454 | ᚹᛁᚪᛁᚩᛁ-ᛝᛠ-ᚾ-ᚷᛗᚹᚦᛖ.ᚷᛟᚪᚹᛞᚻᚢ-ᛡᚹ-/ 455 | ᚣᚷᛉᛒᚪᚾᛝᛡᛄᛡ-ᚠᚷᛈᚦᚠᚦ-ᛁᛈᚪᛝᛋᛞᛟᚩ/ 456 | % 457 | ᛝᛗ-ᛁᚷ-ᛄᚷ-ᚳᚩᚦᛖᚦᛄ-ᚣᚠ-ᚦᚳᛄᛡᛖᚢ-ᛉᛄ/ 458 | ᚳᚻᛄᚱᛄ-ᚪᚻᚾᚦ-ᛚᚷ-ᚱᚦ.ᛒᚪᚩᛖᚢᛡᛄᚹᛏᚱᚹ/ 459 | ᛟ-ᚦᚳᛗᚦᚠᚫᚻ-ᛡᚠᛠᚣᚪᚦᛚᛏᛒᚢᛝ-ᛖᛋᛗᚱ-/ 460 | ᚪᚹᛒ-ᚹᛒᛗᚱᚾᛗᚻᛗᛁᚾᚪᛞ-ᛡᛖᚩ-ᚾᚹᛡ-ᚢᛄ/ 461 | ᚦᛠ-ᛚᚳᚷᛚᛇ-ᛟᛠᛠᚪ.ᛇᛉᚣᚪ-ᚷᛏᚩ-ᛖ/ 462 | ᚹᛒᛈᚷᛝᛒ.ᛡᚦᚠᛋᚾ-ᛒᚦᚠ-ᛇᛝᛠ-ᚠᚾᛉ./ 463 | & 464 | $ 465 | % 466 | ᚢᚪ-ᚹᛝᚷᛉᛞᚷ-ᛁᛒᛁ-ᛇᛏᛒᛁᚣ.ᛠᚷᛋᚫ/ 467 | ᛈᚹᛗᛠ-ᛇᛄᛇ-ᚹᚻᛁ-ᚷᛠᛒᚢᚣᚻᚣ-/ 468 | ᛝᚹᚢᚱᛋ-ᚩᛡᚠᛡᛠ-ᛞᛟᚦᛗᚳᚾᛉ-/ 469 | ᛞᚦᛖᚱᛇᚳ-ᚪᛄᛋᛟ-ᚢᚹᚱᛏ-ᛋᛖᛋᛏ-ᚣᚱᛠᚫᚾ/ 470 | ᛞ-ᛈᛒᛡᛋᚢᛞᛖᚣᚦ-ᛚᚹᛟᛋ-ᚷᛚᛄ-ᚫᛖᚩᚳᚦᚹ/ 471 | ᛗ-ᚢᚩᚷ-ᚠᚪᚩᛡᛝᛒᛠᚦᚳᚪ-ᚱᛡᛏ-ᛟᚹᚠᚣᛝᚢ/ 472 | ᚣᛁ-ᛚᛏᚫᚫ-ᚪ-ᚱᛈᚠᛗᚹᚩᛞ-ᛠᛒᛈ-ᛝᛟ-ᚾᚷᛗ-/ 473 | ᛡᛖᚩ-ᚾᛚᛉᛝ-ᛁᛡᚫᛗ-ᚻᛖᚹᛗ-ᛝᛈᛇᛗᛡᛄ-ᚫ/ 474 | ᚩᛡ-ᚠᚣᛉᛟᚫᚦ-ᚫᛒᚩ-ᚪᚦᛄᚱᛄᚾᚦ-ᛡᚠᚪᛏᚾᚻ-ᚷ/ 475 | ᚢ-ᛞ-ᚳᚦᚢᚱᚢᛟ-ᛞᚻᚱ-ᚷᚹᛏᛈᛖᚠ-ᚪᚻᛠᚦ/ 476 | % 477 | ᛞᚱᚠ-ᛖᛄᚫ-ᚾᚳᚻᚹ-ᛇᛡᛈᛠᚹ-ᛗᛚ-ᚹᛟᚹᛠ-ᚪ/ 478 | ᚾᚪ-ᚳᚪ-ᚷᛚᚦᛒᚩᚹᚢ-ᚷᛚᚠᛋᚻ-ᚾᛉᛝᛗ-ᛖᚦᚢᛝ/ 479 | ᛡ-ᛈᚣᚢ-ᛉᚷᚷ-ᚹᛞᛁᛋ-ᚦᛡᛡᛈᚳᚪᚩ-ᚢᛗᚢ/ 480 | ᛉᚩᚣᚻᛏ-ᚩᚫᛗᚢ-ᚩᚾᛏᛠᛒᛟᛒᚠᛁᛈ-ᛚᛋᛝᚫᚳ/ 481 | -ᚫᛟᛏ-ᚢᚩᛉᚾᛡᛋᚠᛖ-ᛉᚱ-ᛗᚩᚩᚫ-ᚠᚢᚦᛖᛞᚾ/ 482 | ᚣ-ᛡᛋ-ᛋᚱᛚᛟ-ᚢᚻ.ᚢᚾᛈ-ᛁᚻ-ᛖᛉ-ᚦᛞᛗ-ᛈᛟ/ 483 | ᚠ-ᛈᚠᛝᚫᛝᛋ-ᛟᛄᚹ-ᛠᛒᚣ-ᛟᚹᛞ.ᚠᚣᛄᛁᛏᛉ/ 484 | ᛚ-ᚩᚦᛝ-ᚠᚪᛋᛡᛁᚻᛒᚱ-ᚪᚢᚣ-ᚫᚢ-ᛟᛠᚪᚣ-ᛖᛟ/ 485 | ᚫ-ᛖᛈᚠᛒ-ᛈᛄᛁ.ᛋᛝᛒ-ᚱᚦᚳᛇ-ᛚᛁᚢᛈᛏᚳᛒᛉ-/ 486 | ᛖᚪᚣᚠᛗᚳᚣᚱ-ᚻᚹᛏᚾᛡᛉᚫᚦᛟ-ᚳᚹ-ᛠᚠ-ᛏ/ 487 | ᛠ-ᛝᚩᚻ-ᛡᛠᛒᛋᚻᛟ-ᚫᛁ-ᛠᛏᛁᛋ-ᛏᚫᚻᚱ-ᚻᛄ/ 488 | ᛋᛡᚹᚾᚾᛡᚹᛚ-ᚢᛖ-ᛏ-ᚱᛝᚳᚣ-ᚪᛉᛇᛝᛋᛖᛇᛁ/ 489 | % 490 | ᚻᚾ-ᚷ-ᚹᛉᚳᛉᚣ-ᛋᛈᚳᛟᚱ-ᛒᚣᛄᛝᛖᛁ-ᚾᚷᚪ-/ 491 | ᚣᚷ-ᛚᛒ-ᚢᛄᚩ-ᛝᛉᛉᚪᛖ-ᛒᚦᛉᛡᚱ.ᛏᚷᚹᛄᛋ/ 492 | ᛁᚠ-ᛠᛁᛡᚦᛝᚾᛖᚾᚠᚩᛗᛖᚣᚪ-ᚳᛖᚳᚹᚪᚫᚹ-ᛇ/ 493 | ᚢᚦᚻᛉᚢᚾ-ᛠᛚᚢᚾᚦᛈᛋᚢᛈᚱ-ᛞᚫᛟᚱᛡᚫᚪ/ 494 | ᚢ-ᚢᛗᛚᚦᛠ-ᛚᛝᛈᚣ-ᚩᛋᛟᚪᚱᛗᚦᛟᛈ-ᛚᛋ-ᛏᛁ/ 495 | ᚠᛋᛖᚹᛝ-ᛗᛞᚩ-ᛠᚫᛡᛒᛏᚩᛋ-ᛖᛏᚪᚠ-ᚫᛒ-ᛚᚾ-/ 496 | ᛋᚪᛉᛟ-ᚾᛚᚹᛖ-ᚩᛚᛁᛄᛏ-ᛒᚪᚠᛉᛏ-ᚩᛟᛄ-ᚾᚷᛋ-/ 497 | ᚷᛚᚷᛠ-ᛒᚷᛖᚩᚪᚩᛖᛞ-ᚷᛇᛗ-ᚳᚱᚷ-ᛈᛞᚩᚠᚹ/ 498 | ᛇ-ᛠᛞᚣᛝ-ᚾᛁᚠᛈᛚ.ᛖᛟ-ᚢᚳᛗ-ᛚᚫᛏᛉᛄᚱ/ 499 | ᛉ-ᛁᛠᚷᛚ-ᚷᚳᛋᚩᛝ-ᚫᚦ-ᛗᚻᛟᚠ-ᚱᛋᚳᚦ-ᚣᚩ-ᛒᛁ/ 500 | ᚫᚻᛖᚢᛏᛚᛚ-ᛇᚷᛟᚣ-ᛒᚾᚦᚻ-ᛠᛖᛄᛒᚾᛁᛚᛠ/ 501 | ᚱ-ᛄᚠᚳᛋᛝᚳᛈ-ᚷᚻᛋᛗ-ᛇᛞᛇ-ᚣ-ᛡᛖᛏᛠᚢ/ 502 | % 503 | ᛡ-ᚩᚾᛠᚩ-ᛄᚣᛇᛉᛠᚪᛡ-ᚾᛞᛝᚻ-ᛈᛠᚻᛡ/ 504 | ᚢ-ᛝᚻᚦᛈ-ᛉᚢ-ᛠᚣᛈᛟᚦᛋᚣᛈ-ᚠᛏ-ᛒᛁᛟᚪᚷ/ 505 | ᛚ-ᛠᚻ-ᛝᛁᛡᛚᛝᚾᛞᚪᛈᚷ-ᚾᛏᚦᛋᛒ-ᛋᛋᛠ-ᚷᚳ/ 506 | -ᛠᛗᚢ-ᛖᛉᛒᚷᚫᚠᚩᛁᛉ.ᚠᚪ-ᛠᚱᛇ-ᚩᛁᛞᛋᛚ/ 507 | ᚦᛖᛒᛇ-ᛟᚷᚣᚷᚾᚷ-ᚦᚠᚳᛗ-ᚩᛖᛖ-ᚩᚠᛒᚻᛝ-ᚳᛁ/ 508 | ᛄᚪᚾᚩᚪ-ᛈᚻᚱᛗ-ᚱᛗᛟ-ᚦᚷᛄ-ᛒᚱᚦᚪᛠ-ᛉᛖᛡ/ 509 | ᛞᚦ-ᚱᛝᛄᛒ-ᚾᛏᚣ-ᛏᛋᛒᚾᚫ-ᚢᛖᛁᚩᛡ-ᛄᛇᚢᚦᛚ/ 510 | ᚳᛖ-ᛚᛁ-ᛒᚢᚠᚪᚱᛠ-ᛗᛒ-ᛞᛉᛗ-ᚢᛠᛏᚣ-ᚪᛄ/ 511 | ᛈᚢᛈᛠᚣᚷ-ᛗᛡᛗᚢᚪᛗᛝ-ᚣᛡ.ᚪᛖᛏ-ᛖ/ 512 | ᛋᚪᛟ-ᚳᚻᛁᛋᚠᛁᚾ-ᛈᛟᛝ-ᛇᚦᚣᛏᚫᛉ-ᛖᛟᛏ-ᛞᛡ/ 513 | ᛚᛖᛈᛏᚪ-ᛏᚠᚱᚾ-ᚪᛠᚱ-ᛠᚳ-ᚾᚻᚹᛒᛇᛋ-ᛁᚻᚣ/ 514 | ᛋᚹᚩᛉᚹ-ᚩᛝᚢ-ᚻᛝᛟ-ᛏᛚᚠ-ᛄᚷᛏᛝᛄᛝ./ 515 | & 516 | $ 517 | % 518 | ᛗᛈᚣ-ᛚᛋᚩᚪᚫᚻᛚᛖᛇᛁᛗᛚ-ᛚᛋᚳᛈ.ᚾ/ 519 | ᚻᚷᚢᛡᚻᚢ-ᛒᚠ-ᛞᛄᚢ-ᛒᛖᛁ-ᚫᚠ-ᛈ-/ 520 | ᚫᛈᚦ-ᚱᛗᛚᚳ-ᛒᚷᚣᛗᛠᛒᚫ-ᚾᚦ-ᛗᚠ/ 521 | ᛡᛠᚳᛒᚷᚫᚠ-ᛖᛄᚱᚩ-ᛈᛒ-ᚠᛒᚩ-ᛇᚱᛠᚱ-ᛠᚷ/ 522 | ᛖᛚ-ᛇᚱᚾᛋᚩᚩᚳᚪᛖᚣᛖᛖ-ᛏᚱ-ᚢᚣ-ᛟᛄᛉ-/ 523 | ᛠᚷᛝ-ᚣᛏᛝᚾ-ᚪᛏᛋ-ᛝᚪᛄ-ᚠᛚᛋᚢ-ᚹᛠᛈᛁᛏ-/ 524 | ᛁᚾ-ᚱᚱᛝᛗ-ᚣᛗᚠᛁᚫᛁᚪ-ᚢᛟᛒᚹ-ᛗᛁᚻᚣᚹᛞᛚ.ᛟ/ 525 | ᛏᛞ-ᛟᚳᛒ-ᛡᛒ-ᚪᛏ-ᚹᛏᛈ-ᚹᛠᚩᚱᚩᛖ-ᚣᛚᛋ./ 526 | ᚢᛡᚱᚠᛄᛇᚱᛡᚦᛖᚢᛏ-ᛝᚫ-ᚾᚪᛠᚩᚪᚾᚪᚦᚷᚩ-/ 527 | ᚫᛉᛒᛏᛖᛠᛗᚷᚱᛗ-ᚣᛝᚠᛒ-ᛞᛟᛞᚪ-ᛠᚱᚳᛁ/ 528 | ᛈᛞᚠᛗᛝᚻ-ᛋᚩ-ᛞᛈᛉᚾ-ᛟᚱᛡᚾᚳᚳᛏ-ᚾᛈᚠ/ 529 | % 530 | ᛈᚳ-ᛄᚦᛒᛁᚹ-ᛞᚹᛝᛠᛡᚹᛚ-ᚹᛄᚾᚪᛟ-ᛏᛞᛉᚣ/ 531 | ᛖᚱᛞ-ᚱᛏᛇᛁᚳᛈ-ᛝ-ᚦᛟᚷᛄᚦ-ᚣᛋ-ᛠᚻ-ᚠᛒᛚ-ᛁ/ 532 | ᚫᛚᛞᛉᚪ-ᛁᚹᚷ-ᛒᚩᚹᚾᛠ-ᛋᛖᛗᛒᛋ-ᚳᚹᚦᛟᚠᚻᚫ/ 533 | -ᛞᚢᛁᛒᛞ-ᛇᛝᛈᚠᛁ-ᛟᚢᚣᛏ-ᚻᚱᛖᚾᚳᛈᛡᛈᛞ/ 534 | ᛄ-ᛁᛏᛗᛋᚫᛉᚩᚣ-ᚪᛄᛗᛡᛖ-ᛇᛄᚠᛗᚱ.ᛞᛟᚪᛒ/ 535 | ᛞᚻ-ᚾᛈᚪ-ᛇᚱᚻᚾᛝᛠᚠᚾᚠ-ᚩᛗᛋᚾ-ᛠᚪᛁᚢᛚ-/ 536 | ᚪᚫ-ᛄᛉᛡᚠ-ᛁᛖᛈᛠᚻ-ᚠᛇᚩᚹ-ᛠᛄᛇᛁᛠᚫ-ᛄ/ 537 | ᛒ-ᛋ-ᚠᛖᚷ-ᛋᛁ-ᛟᛗᛒᛁᛝᛏᚪᚢᛁᚦ-ᚩᛝᛗᚠ-ᚹᛟᛒᛟ/ 538 | ᛡ-ᚠᚣᛝᚩᛠ-ᚳᛚᛈᚱ-ᛞᛄᚩᛝᛄ-ᚪᛖᛗᛈᚾ-ᚠ/ 539 | ᛠᚷᛞᛒ-ᚩᛉᚷᚾᚣᚷ-ᛠᛈᛄᛞᚾᛟᚩᚢᚾᚹᛗ./ 540 | ᛄ-ᚢᚷᛠ-ᛗ-ᛇᚪ.ᚻᚦᛡ-ᛝᛈᛞᛒ-ᚳᛉᚳ-ᛠ/ 541 | ᛉ-ᛟᚣ-ᛒᚦᛁᛄᛚᛡᛝᛡ-ᚹᛄᚫ-ᛋᛗᚪᛡᛠᛇᛝᛏ-/ 542 | % 543 | ᚦᛞᚷ-ᚢᛏᛚᛏᚣ-ᚢᛝ-ᚷᛟᚪᛏ-ᛄᚦᚣ-ᚫᚻᚪ-ᛒᛝ-/ 544 | ᚦᚢᚱᚪᚾᛞ-ᛁᛝᚫ-ᛚᚫᚷ-ᚹᛁᛒᚣ-ᚾᚫᚠ-ᛚᛋᛒ-ᛈᛟᚪᛟ/ 545 | ᛞᚷᛟᚣᛉᚷᛚ-ᛋᛠᛁ.ᚳᛟᛁᚦᛈᚹᛉ-ᛖᚢ-ᛟᛄᛝ/ 546 | ᛋᚢᛝ-ᚳᛡᛠ.ᛚᛇ-ᛚᚷᚢᛁᛏᛒᛋ-ᛞᛁ-ᚠᚠᚷᚠ-ᚦᛄ/ 547 | ᚳ-ᚫᛟ-ᛁᛗᛡᛁᛇᚦ-ᚩ-ᚢᛈᛒ-ᚻᛋ-ᛄᚣᛄᛖ.ᛒᛇᛇᚱ-/ 548 | ᚹᛄᛏᛡ-ᚳᚪᚫ.ᚩᛈᚱ-ᛡᚾᛗᛁᛝ-ᚻᚹᚦ-ᛡᚦᚻᚦ-ᛉ/ 549 | ᚫᚫᛋᚳᛡᚾᛇ-ᛟᛉᚢ-ᚱᛄᛖ-ᛚᚾᛞ-ᛗ-ᛏᚱᛟᚦ-ᛁᛝ/ 550 | ᛡᛒ-ᚳᚩᚹᛟ-ᛏᛗᛋᚱᚷ-ᚱᛚᛞᛚ-ᚩᚣ-ᛞᚳᚪᛖᛞᚠ/ 551 | ᚳ-ᛇᛖᛉᛚᚫ-ᛖᚩᛁᛋ-ᛡᛁᛟᛋᚪᛒᛗ-ᛗᚣᚹᛄ-ᛖᚫᛝ/ 552 | ᛚ-ᛄᚱᛇ-ᛈᛚᚩᚻ-ᚪᛞ-ᛡᛄ-ᛞᚠᚹᛞᛄᚳ-ᚾᚦᛉ-ᛄ/ 553 | ᚻ-ᚷᛚ-ᚠᛖᚦ-ᛇᚻ-ᛝᛖᛒᛚᛞᛁᛗᚠ-ᚹᛒᛗᛟᛁᛖᛁᛠ-/ 554 | ᛈᚻᛝᛖᛞᛟᚩᚻᛄ-ᚹᚩᚾᛄᛈᛗ-ᛖᚳ-ᛖᛇ-ᚷᚻᛗ/ 555 | % 556 | ᛞᚪᛈᛖ-ᛗ-ᛉᚫᛒᛇᚱ-ᛖᚣᛟᚣ-ᚱᛠᛈᚢᛠ-ᚣ/ 557 | ᛖᚪᚻ-ᚩᛉᛠᚢᚻᛡᛟ-ᚷᚫᚩᛒᛉ-ᚫᚱᛞᛋᚩᚱ-ᚷ/ 558 | ᛠ-ᛉᚻᛁ-ᚷᚳᛞᛠᛡᚳ-ᛄᛠᛉᛇᚻᛋᚹ-ᛝᛡᚷ/ 559 | ᛖᛡᚣ-ᛠᚩᚷ-ᚱᚦᚠᛟᚩᚦ-ᚦᛁᛏᚱ-ᛇᛉᛇ-ᚢᚷᛠ-/ 560 | ᛟᛏ-ᚩᚠᛚ-ᛟᛝᛈ-ᚱᛡᚪᚩᛏ-ᚩᛠᚷᚫᛗ-ᛈᛋᚱ-ᛖ/ 561 | ᚦᚠ-ᛞᚹᚾᛚ-ᛝᚩᛇᛄ-ᚳᛚᚢᚹᛏ-ᚩᛖᛏᚠᚪᛚ-ᛟᛇᛟ-/ 562 | ᛠᚱᛇ-ᚢᚪᚦᛈᛟᛡᛉ.ᛡᛒᚱᛒᚠᚢᛚᚢᛟ-ᛒᛇᛒ-/ 563 | ᛉᚦᚹ-ᛝᚣᛖ-ᚳᚫᚣᛟ-ᚹᛁᛝᚫᛏ-ᚫᛇᛈᛡᛟᚠ-ᛚ-ᛝ/ 564 | ᚠᛡ.ᛞᚪᛚᛈ-ᛋᛁ-ᚢᚣᚪᛚᛠᛝᚹ-ᚪᛏᛈᚳᚣ-ᛝᚫ/ 565 | ᚻᛗᛞᚷᛚ.ᛠᛉᛒ-ᛇᛡᛋᛖ-ᚣᛁᛚ-ᚣᛠᚣ-ᚻ./ 566 | ᚣᛉᚾᛏᚫᛉᛋᚦᚪᚹᛗ-ᚪᚱ-ᚪᚩᚻ.ᛗᛖᚫᛞᛠᛁᛗ/ 567 | -ᛒᛟᚾᚳᚩᚱᛉ-ᛋᚹᚫ-ᚻᛖ-ᛋᚠᚾ-ᚢᚦᛟᚷᛖᚪᛟᛇᛇ-/ 568 | % 569 | ᚦᚳᛒᛝᛏᛉᛡᛞ-ᛋᛡ-ᚩᚠ.ᛈᛖᛞᛋᛁ-ᛚᛁᚻᚾᛝᚱ-/ 570 | ᚻᛈ-ᛇᚢᚫᛞ-ᛚᚻᛉᚳᛈ-ᛁᛗᛉᚳ.ᛄᚫᚾᛞᛋ-ᛏᛚ/ 571 | ᛡᚩᛋᛗ-ᛚᛞᚾ-ᛈᚫᛏᚷᛈ-ᚫᚦᛄᛗ-ᛒᚻᚩᚻᛁᚷᚻᚳ-/ 572 | ᛚᚹᛋᚱᛇᛗᛏ-ᛄᚳᛁ-ᛠᚦᛞ-ᛏᛚ-ᚱᛖᛠᛒᚪ-ᛒᚠᛒ-ᛁ/ 573 | ᛒᛡᛇᛏᚣ-ᛏᛖᚣᚳᚱᛋᚠ-ᛁᚦᚪᛉ-ᚪᚣᚫᛠ-ᛄ-ᛈ/ 574 | ᛗ-ᚠᛋ-ᚪᛒᚱ.ᛉᚣᚻ-ᚦᚩ-ᛇᛞᚢ.ᚠᛁ-ᚻᚩᚫᚠᚣᚷ/ 575 | ᚱᚪᛄ-ᛏᛉᛇ-ᛖᛠᛞ-ᛏᚠᚢᛝ-ᚫᛄᛖᛈᚳᛒᚦᚢ/ 576 | ᛝ-ᛡᛒᚹᚱ-ᛖᚾᛈᛇᚣᛇ-ᛉᚱᚹ-ᛒᛡᛞ-ᛖᚱᚩᚻᚣ/ 577 | ᛠᛈᚦ-ᛗᛁᚷᛚ-ᚹᛉᚫ.ᚠᛞᚾ-ᛄᛟ-ᚻᛚᛡ-ᛗᛖᚷ-/ 578 | ᛟᛁᛡ-ᚻᛟᚱᛇᚹᚣᚠ-ᛈ-ᛄᚷᚦ-ᚪᛒᛝ-ᛈᛒᚪᛖ-ᚢᚹᚻ/ 579 | ᚩᛒᛋᛉ-ᚹᛞ.ᚦᛇᚱᛖ-ᛄᚾᛞᛝᚹᚪ-ᚻᛖᚹ-ᛟᛡᛄ/ 580 | ᛡᛟᛝᛄᛉᛚᛄ-ᛞᛉᛟᛈ-ᚱᚪᛁᛏᚷᛉᛝᛇ-ᛠᛗᚩ/ 581 | % 582 | ᛚ-ᚦᚫᚹ-ᚫᚢᛈᛡᚳ-ᚹᛝᚻᚹᛒᛗᛋᛟᛖᛁᛡ-ᛟᚹᚦᚻᛒ/ 583 | -ᛡᚱᛏᚦᚠ-ᚠᚩᚦ.ᚻᚩᛗᛖᛉᚹᛞᛋᛚᚠᛞ-ᛝᛒᛇᛡ/ 584 | ᛚᚪ-ᚹᛞᚾᚫᛉᛏᚣᛗᚷ-ᚦᚹᛉᛡᚦ-ᚹᛒᛋᚱᛉᛡᛉ/ 585 | ᚪ-ᚢᛒᚻᛠ-ᚹᛝᚢᚻᛇᛝᛡᛠᛄ-ᛋᛈᚦᛏ-ᛟᛝᚩ/ 586 | ᛗᛒᚢᛞᛋ-ᛒᛄ-ᛠᚱᛟ-ᛖᚾ-ᚾᚹᚷᚢᛚᚪᚩᚣ-ᚢᛏ/ 587 | ᚠᛄᛏ-ᚪᚷᛒᛇ./ 588 | & 589 | % 590 | ᛞᛇ-ᛉᚳᚠᛁᚪᚹᚻᚷ.ᛇᛟ-ᚠᛏᛖᛟᛠᚪ/ 591 | ᛡᛋᚷ-ᚣᛠᚾᚦᚫᚱ-ᚩᛡᛗ-ᚹᛉᛗ-ᚣ/ 592 | ᛞᛒᛏᚱ-ᚢᛄᚻ-ᚫᛟ-ᛡᛝᚹᚻᛋᚠᛡ-ᛚᚦ/ 593 | ᛏ-ᛁᚹᛏ-ᚩᚢᚾᚹᛗᛚ-ᛋᚦᛠᚹᛄ-ᚪᛄᚫᚷᚣᛗᚹᛞ-/ 594 | ᛈᛡ-ᛖᛄᚹ-ᛖᚢ-ᚻᚹ-ᛝᛁ-ᛋᚫᚷ-ᛄᛚ./ 595 | & 596 | $ 597 | ᛝᚦᛇ-ᛁᚠᚳᛟᛇ.ᛞᛒᚣᛡᚣᚢ-ᚣᚾᚦᚱᛖ/ 598 | ᛗᛁ-ᛇᛞᚱᚹ-ᛉᛒᚻ-ᚳᛄᛡᚪ-ᚾᚹ-ᚾᛗ-ᚠ/ 599 | ᛇᛁ-ᛇᚪ-ᚩᛋᛒᛟ-ᛏᛄ-ᛈ-ᛖᛈᛄᚩᚹᚢᛠ/ 600 | ᛝᚹ-ᛗᚳᚩᛏᛏᚠᚢᛄ-ᛞᛠᛉᚩ-ᛉᚦᚷᛞ-ᛒᚩᛏᛚ/ 601 | ᛇᛁᛒᛡᚪ-ᛖᚠᛠᚢᛖ-ᛈᛋᚹᛞᛞ-ᛋᛡ-ᚹᚦᛞᛋ-ᛝ/ 602 | ᛄ-ᛚᚷᚢᛡ-ᚾᛉᚠ-ᚱᚪᚣᛗᚠᚦᚻ-ᚱᚪᚱ-ᚫᚪᚷᛟᛞ-ᛒ/ 603 | % 604 | ᛗᛒ-ᚾᚻ-ᛇᛞ-ᚻᛗᛚᛁ.ᛠᚾᛁ-ᚫᛖᚢ.ᛏᚦᛇᛋᛈᚻ/ 605 | -ᚻᛇᚳᛠᚫ-ᛞᛚᛋᛝ-ᛁᚹ-ᚪᚳᚩᛏᛇᛝᚷ-ᚳᚦᛋᛠᚠ/ 606 | ᚢᛝᛚᚻ-ᚹᚩᛇᚪᛈᚷ-ᛇᛗᛚᛄᛋᛏ-ᛚᚳᛈ-ᚾᛋᛝ-ᚳᚪ/ 607 | ᚳ-ᚾᛉ-ᚾᚢᛉᚫᛗᛏᛞᛏᚫ-ᛟᛗᛋᛉ-ᛏᚣᛉ-ᛇ/ 608 | ᛠᚷ-ᚻᛒᚾᚷᛇᚢᛟ-ᛄᚦᛉᚩ-ᚾᚪ-ᛞ-ᚩᛈ-ᛠᛚᛋ/ 609 | ᛏ-ᛒᚷᛁᚢᛟᛖᛁ-ᛄᚦᛖᚻᚹ-ᛄᚫᛄᚾᚻᛉᚹ-ᛒᚪᛋ-ᚠᚱ/ 610 | ᚱᛁᛉᚢᚦᚻ-ᚢᛗᚪ-ᛞᛝᛠᚪ-ᚫᛉᛖᚾᚹ-ᛟ.ᛝᛞ/ 611 | ᚾ-ᛈᚫᚳᛡ-ᛈᚠᛉᚩ-ᛒᚷᛗᚫ-ᛚᚻᛞᚣᛖᛉᛒ-ᛄᚹ/ 612 | ᛇ-ᛈᚩᛁᚦᚠ-ᚷᚾᛈᛞᛝᛏᛖᚪ-ᛄᛋᛠ-ᛈᛝᚢ-ᛒᚷ/ 613 | ᚳᛉ-ᚪᚢᛈᛚ-ᛄᚱᚷᚣᚪ.ᚪᚠ-ᛗᛝᚣᚳᛟ-ᚹᚣᚷ/ 614 | ᛈ-ᛗᛖᚩᚹᚢ-ᛟᛞᛋᚱ-ᚣᛞᛋᚳᛡᛉ-ᚻᚦᚹᛚᛞ/ 615 | ᛠᚩᛞᛠᚢᛟᛖ.ᛠᚹ-ᛉᚻᛡᚹᛞ-ᚪᛗ-ᚠᚦᛈ-/ 616 | % 617 | ᛝᛏᚳᚪ-ᛠᚣᚷ-ᚳᚦᛖᚾᚢᛁᚫᛁᚢᛡ-ᚹᛚᚳ-ᚻᛈ-ᛞ/ 618 | ᛄᚳ-ᛗᛒ-ᛗᚪᛄ-ᚩᚪᛞᛁ-ᚩᚱᛟᚠᛖᚣᛟᛁ.ᛇᛟ-ᛁᛈᚣ/ 619 | ᛚᚪᛡ-ᚳᛏᛠᛋᛖᛒᛝ-ᚫᛟᚫᛞᛖᛞᚣᛡ-ᛠᚪᛖ/ 620 | ᚦᛚᚫ-ᚳᛋᚪᚩᚷᚹᛚ.ᛈᛖᛏ-ᛄᛉᛝᛚ-ᛏᛉᚩᚣᛝ/ 621 | ᚠᚩᚣ-ᛁᚻ-ᛟᚫᚷᛄᛝᛡᚾᛗᚣᛟᛡ-ᛝᚷᛖᛉ-ᛟᛉ/ 622 | ᛈᛚᛋᛉᛠ-ᛚᛡ-ᚱᚪᛞ-ᛠᚷ-ᚱ-ᚳᛇᚻ-ᛗᚪᛟᚷ-/ 623 | ᛞᚪᛋᛡᚻ-ᛈᚷᛖᚳᛟᚱᛟᚢ-ᛁᚫᛟᚦ-ᛄᚱᛡ-ᚱᛖᚦ/ 624 | ᚣᛏᛝᛡᚩᛒ-ᛏᚦᚳ-ᛉᚳ-ᛋᚪᚫ-ᛗᚠᛄᚱᛖ-ᛡᛇᛁᛇ/ 625 | ᛟᛉᚳᚹᚪᛖ-ᛋᚢᛉ-ᛋᛟᛚ-ᛄᚾ-ᛈᛇᛒ-ᚦᚦ-ᛁᚫᛚᛋᛝ/ 626 | ᛄᛄᛡ-ᛟᚻᛇᚢᛚ-ᛁᚱ-ᛡᚻᛚᛏᚹᛉᛇ-ᚱᛏᛠ-ᛁᚫᛚ/ 627 | ᛗ-ᛁᚱᚷᛏᛠ-ᛇᛟᚻᛟᚳᛋᛏᚾᚩ-ᛁᚱᚷ-ᚹ-ᛞᚢᚣᛚᛁ/ 628 | ᛗᛒᚢ-ᛚᚱ-ᛏᛁᚢ-ᚷᚳᚠᛇ-ᛚᛇᚣᛏ-ᛏᚫᚢ-ᚫᛠᛇ/ 629 | % 630 | ᚣᚾ-ᚢᚹᛝᚻ-ᚷᚣᚱ-ᚩᛁ-ᛚᚾᛉ-ᚾᚩᛈ-ᚠᛠᚫᚫᚩ-ᛉ/ 631 | ᚾᛋᛟᚫᛚ-ᚾᚫ-ᚦᚢᛠᚣᚫ-ᛈᛁᛇᚢᚱᛄ-ᛈᛟᛄᚪᛝᛈ/ 632 | ᚦᛈᚪᛝ-ᚣᛗᛟ-ᛉᛒᚢᛏᛇᛗᛈᚫᚣ-ᛉᚫᚣᚱᚫᚣ/ 633 | ᚠᚠᛗᛡ-ᛉᛖ-ᚱᚢᛏᚷᚢᚣᚱ-ᛡᚢᚩᛇᛁ-ᛄᚠᛈᛄ/ 634 | ᛞ-ᛁᚦᚩᚻᛡᚷᚻ./ 635 | 1-ᛚᚦᛇᛟ-ᚪᚫᛠ-ᛗᛉᚻᚳᛉᚪᛏᚦ-ᚫᛉ-ᚩᛋᚳᛞ/ 636 | ᛏ-ᚣᚹᚾ-ᛟᛏᛉ-ᚹᛁᛟᛄᚠᛁᚩ-ᛁᚱᛋ-ᛉᚾᛗᚪᛡ-ᚱᛈᛋ/ 637 | ᛞ-ᛁᛟ-ᚻᛖᛏᚢᚹ-ᛠᛟᛞᛟᛄᛁᛝᛡ-ᛄᚱᛞᛗᛒ-ᚩ/ 638 | ᚳᚩ-ᚦᛟᚱᚢᛚ-ᚢᚦᛋᚢᛞᛚ-ᚷᛁᚣᛝᚩᛟ-ᛁᛖᚣ-ᛖᚠ-/ 639 | ᛇᛝᛒᛚᛁᚢᚣᚠᛟᚾᛟ-ᛒᛟᚷᛄᚪᚾᛗᚫ-ᚣᚦᚠ-ᛁᛒᛝᛈ/ 640 | ᚾᛁᚱᚷ-ᛄᛇᚫ-ᚻᚪ-ᚱᛉᛉ-ᚩᛚᚾᚫ-ᛞᚣᛒᚾᚪ./ 641 | % 642 | 2-ᚾᚣᛖᛉ-ᚾᚢᛉᛁ-ᛝᛏᛈᚹᛋᚣ-ᛏᛠᛈᛉ-ᚪᛁ/ 643 | ᛄᛋᚱᚪᛏᛋᛝᛏ-ᚳᚷᚳᚻ-ᛖᛟᚱᚪᛡᚻᚳ-ᛝᛒᛖᚱ/ 644 | ᛠᚪ-ᛚᛟᛖᛚᚪ-ᚦᛋ-ᚳᚹᚱᚹ-ᚩᚻᚣ-ᚢᛝᚩ-ᛈᛚᛁᛏᚪ/ 645 | -ᚠᛋᛝᛞ-ᚳᚪᚱᛒ-ᚹᛈ-ᚾᚩᚦᚳᚦᚾᛗᚩᛖ-ᚣᛇᚾ-ᚠᛒ./ 646 | 3-ᛞᚢᛈ-ᚹᚾᛖᚪ-ᚱᛚᛁᚹ-ᚫᛉ-ᛝᚠᛞᚪᚠ-ᛒᛄᛉ-ᛞ/ 647 | ᛄᛝᚣᛇᚪ-ᚫᛄ-ᛝᛈᚪ-ᚢᛠ-ᛇᛏᚱ-ᛖ-ᚫᛗ-ᚫᛠ/ 648 | ᚻ-ᛁᚫᛟ-ᛠᚹᚳᛄᚦᚻ-ᛡᚩᚢ-ᚩᚦᚷᛡ-ᚻᛋᚷᚪᛁᛟᛞ/ 649 | ᚪᛄ-ᛁᚹᛡᛒ-ᛗᛝᛡᛞᚠᛒᛋᛏ-ᛒᚷᚠ-ᚷᛟᚢᚳᚫᛏᛁ/ 650 | ᛖ-ᚱᚷᛗᚣ-ᚪᚷᚹ./ 651 | 4-ᛝᛄᛋᛄᛗᚱᛗ-ᚾᛒᛋᛗᛉᛞᚻᛉᛁ-ᚣᛡᚻᚣ/ 652 | ᛠᛉᚻ-ᛞᛖ-ᚹᛖᚦ-ᚢᚳ-ᛉᛗᚪᚣᛠ-ᚹᚫᚪᚳ-/ 653 | % 654 | ᚢᚫᚳᛇᚳᚣ-ᛡᚫᛏᛖᚳᚠ-ᛋᚻ-ᛋᚱᚢᚦ-ᛁᛋᛝᛗᛞ/ 655 | ᚫᚢᛠᚢᚪ-ᚾᛝᚳ-ᛖᛈᚹᛉ-ᚢᛉᚫ-ᚾᛈᚳᚻᚱᚣ/ 656 | ᚹᛚᛉᚱᛒ-ᛗᚫᛟᚣᚩ-ᚳᛇᛗ./ 657 | 5-ᚻᚫᛉᚦᛒᛟ-ᛏᛟᚹᛄ-ᚫᛠᛗᚠᚫᚳᚷ-ᛇ-ᚻᚹᛗ/ 658 | ᚻᛝᚣ-ᛁᚩᛁ-ᛏᛁᛖᛡᛄ-ᛗᚣᛚ-ᚻᚱᚩᛞᛒᛡᛈᛠᛗ-/ 659 | ᚳᛠ-ᛖᛒᚢ-ᚷᛁᚦ-ᛟᚫ-ᛡᚻᛝᛖᚾ-ᚱᛠᛡᛋ-ᚻᛏ/ 660 | ᛝᚻᚪᚷᚩᛝᚫ-ᚹᛚᛏᚱ-ᚷᛁᚾ-ᛖᛠᛄᛡᛞᛋᚻ-ᛝᚾ/ 661 | ᚳᛋᚾᛞᛇᚾᛋᛁᚳᛡ-ᚱᛝᛚᚫᚣᛇᛚᚩ-ᚳᛞᚾ-ᛝᚷᛡ./ 662 | ᛝᛄ-ᚻᛄᛚᛠᛟ-ᛄᛏᚷ-ᛚᛒᛝᚢᛏ-ᚻᚳ./ 663 | ᚫᛞᛟᚫᛟᛗ-ᛟᚫᚪᚻᚱᛗᚢ-ᚣᚢᚣ-ᛈᛗ-ᚪᛄᚫᛟ/ 664 | ᛠᛚᚠᛖᛡᚢ-ᛉᚻ-ᚪᚩᛡᛒᛠᚢᚷ-ᚻᛏᛠᚪᛞ-/ 665 | % 666 | ᛋᚹ-ᚦ-ᚾᛋᛁᚻᛒ-ᛉᛠᛝ-ᛒᚢᛚᛟᚢᚾ-ᚢᚦᚩᛗᚪ-ᚾ/ 667 | ᛞᚫᛇ-ᚫᚣᚪᛋ-ᚣᛝᛡᛗᚷᛇᚾᛈ-ᛠᚳᚻᛝᛚ-ᚠᚷ/ 668 | ᛡ-ᛁᛡᚪᚠᛒᛈ-ᚳᛋᚦᛠᚦᚫᚱ-ᚷᛞᛚᛟ-ᚷᚱᛁᛇ-ᚣᚩ/ 669 | ᛟᚢᛝᚱᚷ-ᛗᛏᚷᛒᛈᚷ-ᛗᛏ-ᛗᚣᚹᛒᛏᛒ-ᚷᚣᛈ/ 670 | ᚷ.ᚾᚦᛇᛒᚳ-ᚷᛖᛇᛟᛚᛈ-ᚹᚾ-ᚻᚷᚱᛇᛏ-ᛈᚷᛒ-ᚹ/ 671 | ᛗᛋᚹᛟᚻ./ 672 | & 673 | ᛡᚳᛋ.ᛈᛞᛋᛡ-ᚪᚹᛏᚳᚹᛟ-ᛗᚹᛁᛒᛞ-ᚷ/ 674 | ᛇᚢᛚ-ᛉᛋᚫ-ᛟᚻᛚᚦᛒ-ᚣᚪᛚᛞᚦᚠ-ᚻ-/ 675 | ᛞᛝᚩᚢᛋᚪᚫ-ᛖᚦᛁ-ᛏᛄᛏ-ᛝᚦᚾᚳᛉ/ 676 | ᛏᛝ-ᚳᛈᛁ-ᚾᛏ-ᛒᚾᛡᚱᛒ-ᚢᛈᛋᚦᛁᚳᛈᛋᛁᚹ-ᚹᛚᚣᚾ/ 677 | ᚢ-ᛒᛁᚪᛠ-ᚹᛟᚳ-ᛠᚢᚪ-ᛚᚦᚹ-ᚠᚾᛏᚳᛡᛁ-ᛚᚩ-ᚾ/ 678 | ᛗᛄᛠ-ᚦᛟᛄ-ᚪᚦᚹ-ᛡᚾᛖᛠᛈ-ᛒᛋᛄ./ 679 | & 680 | $ 681 | % 682 | ᚠᚾᛗ-ᚣᚷᛞᚫᚻ-ᚪᛈᛉᚣᚻ-ᛇᛠᚩᛖ-ᛏᛝ/ 683 | ᛠ-ᛚᛁᛏᚦᚠ-ᛗᚪᚳᛖ.ᛞᚳ-ᛏᚱᛟᚷᛠᚾ/ 684 | ᚫᛒᚢᛖᛒᚢ-ᚦᚠᛟ-ᚷᛋᛟ-ᛁᛈ-ᛟᛉᛋᛒ-ᚹᛄᛒ/ 685 | ᚣᛗᚢᛠ-ᚱᛁᚢᛟᛄᛁ-ᛗᛖᚫ-ᚱᛋᛉᛝ.ᛠᛈᛚ-/ 686 | ᛞᚩᛚᛁᛉᛠᛝᛖᚱ-ᚾᛈᛖᚹᛡ-ᚾᛄᛏᚣ.ᛋᚩᛋ/ 687 | ᛏᛝ-ᚢᚾᛇᚪ-ᛖᛏᚪᛄᚳᚣ-ᛟᛒ-ᛚᛋ-ᛒᛞᛄ-ᛁᛝᚣᛖ/ 688 | ᚳ-ᛄᚻᛚᚣ-ᚷᚫᛚᛞ-ᛚᚫᛚᚦᛉ-ᛚ-ᛖᛉᚩᛉᛁᚳᚢᛗ/ 689 | ᚾᚢ-ᚩᚾᛇ-ᚻᛡᛚᛇᚩᚫᚪ-ᚩᛟᚩ-ᚣᚱ-ᛖᚠᚢ.ᛁᚻ-ᛟᛚ/ 690 | ᚾᛏ-ᚠᛞᚱᛠᚷ-ᛈᚩᛇᚩᛗᛠᛒ-ᛄᛡ-ᛋᛗᚠ-ᛏ/ 691 | ᚠᚫᚩ-ᛟᚳᛚᛞᛡᛚ-ᚩᚳᛝᚢ-ᛈᚹᛏ-ᚷᚳᛋ-ᚢᛟᚷᚦ-/ 692 | ᚠᛉᚠᛏ-ᚳᛋᛉᛟ-ᚷᚠᛉᚾᛞ-ᛒᛏᛠᛡ.ᛈᛡ/ 693 | % 694 | ᛠᛁᚪ-ᛋᚣᛗᛞᚣᛋ-ᛒᛞᛄᛞ.ᚩᚾᛏᛚ-ᚳᚪᛝ-ᚱᚷ/ 695 | ᚻᚷ-ᛄᚹᚠ-ᚪᚢᛇ-ᛞᛏᛗᛄᛁ-ᛝᚫ-ᛉᛈᚳᛈᛠ-ᛟᚪ/ 696 | ᛒᛁᛁᛋ-ᛇᚷᚻᛋ-ᛇᛡᛒ-ᚠᚹᛝ-ᚫᚪᚠᚩᚣᛡᚪᚾᚻ-ᛒᚦᛟ/ 697 | ᛇᚣᛟᛁᛒ-ᛟ-ᚩᛋᚹ-ᛞᚳᚠᚪᛁ.ᛉᛏᛟᚢᚩᛟᚦᛈᛋᚩ-/ 698 | ᚻᛇᚦᛝ-ᛏᛠᚠᛝᛠ-ᚩᛗ-ᛏᚠᚣᛚᚣ-ᚹᛚᛞ-ᚪᛉ/ 699 | ᛠ-ᚪᛄ-ᚩᛋᛒᛚ-ᚳᛖᚾᚪᚩᚱᛏᚦ-ᚱᛒᚳᚣ-ᛠᛗᚹᛚ-/ 700 | ᚻᛈ-ᛇᛈᛖ-ᛚᛄᚩᛡᚪ-ᛖᛋᚫᚩ-ᛠᛉᛝᚣ-ᛖᚫᛒ/ 701 | ᛗ-ᛖᚻᚱ-ᛈᚾᛗ-ᚹᛏᛟᚣᚢ-ᚠᛉᛈᛗᚩᚷᚾ-ᛡᛇᚳ/ 702 | ᚠᛒᛈᛗ-ᛋᛇᛁ-ᛖᛈᚢᚱᛏᚳᚣ-ᛄᛚᚠ.ᚱᛚᚱᚫᛖᚻᛟ/ 703 | -ᛇᚣᛡ-ᚩᛉ-ᚪᛋᚣᛁᛝ-ᛉᛚᛄᚳ-ᛖᚣᚢᛝᚦᛇᚱ-/ 704 | ᛠᛁᚫ-ᚦᚠᛟᚷᛠᛁ-ᛈᛋᛒ-ᛗᛒᛄᚠᚾᚳᛖ-ᚻᚫᚩᛄ-/ 705 | ᛉᛄᛚᛈᚪᛁ-ᛟᚹᚱᛁᚱᚦᛖᛉ-ᚪᚾ-ᛞᛄᚷ-ᛟᛟᚳᛏᛄ/ 706 | % 707 | ᛞ-ᛉᚾᛗᚦ-ᛁᛄᚱ-ᛈᛉᚢᚫᚦᛒᚠᛄᚦ-ᚠᚪᛝᛖ-ᚹᚹᚣ/ 708 | ᛚᛇ-ᚢᚣ-ᚾᚱᚪ-ᛈᚾᚹ-ᛚᚾᛏᛚᚢᛒᚱᛝᚪᛋ-ᚫᛈ-ᛄᛚ/ 709 | ᚢᚳᚷ-ᛚᛏᛄᚹᛈ-ᚫᛗᛚ-ᛉᛚᛗᛏᛞᚠᛈᛁ.ᚠᚳᚦ/ 710 | ᛗᛄᚹᚱᚪᛚ-ᚩᛝᚱᚢᛈᚱᛟᛡ-ᚳᛉᚱ-ᛇᛏᚦᚾ-ᚱᛇᚫ/ 711 | ᛞᛟᚻ-ᛒᚾᚣ-ᚠᛡᚪᛡᛖᚫᛞᛄᚢᛖ-ᚦᚱ-ᚩᛇᚱᛡ-/ 712 | ᚣᛁᛉᛇᚻᚩᛠ-ᚫᚻᛡᛝᛠᚦ-ᚾᚣ-ᚾᚠᛁᛝ.ᛏ/ 713 | ᚻᚹᚫ-ᛒᛇ-ᛡᚻᛉᛒ-ᛞᛝᚱᛄᚦᚻ-ᚪᚷᚣᛁᚠᚷ-ᛁᛏᛞ/ 714 | ᛠᛒᚠᚩᛈ-ᛇᛡᛟᚹᚱᚾᚩᛏ-ᛋᚹᚢ.ᛖᛡᛖᛡᚦ-ᛉ/ 715 | ᚪᚷᛈᚾ-ᛋᚱᚠᛞᛝᚻᛖᛄᛞ-ᛄᛡ-ᚱᚹ-ᚷᛝᚪᛒ-ᛄᛈ/ 716 | ᛄ-ᛏᚠᛉ-ᚪᛄ-ᛁᚠᛉᚢᚩᚣᚻᚦ-ᚻᚾᛁᛒ-ᛡᛟᛡᛋᛈᚣ/ 717 | ᛉ-ᛠᚢᛠᛚ-ᚠᛝᛗᚻ-ᚦᛒᚩ-ᛗᛚ-ᚩᛠᛋᚦᛠ-ᛇ/ 718 | ᛋᛉ-ᚠᛗᛒ-ᚫᛋᛇᚾᛡᚾ-ᚢᚫᚹ-ᛞᛠᚢᚾᛝᚠᚾᛖᚫ/ 719 | % 720 | ᚻᛄ-ᛁᛖᛏᛡ-ᚷᛁᚩᚾ-ᚳᚢᚫᛗᛈᛋᚪᛡ-ᚷᛚᚣᚹᛟ-/ 721 | ᚠᚢ-ᛉᚠᚫᛞᚠᛡᛄᚾ.ᚻᛋᚦᚠ-ᛏᚠᛄᚱᚹᚠᛋᚾᚹᛄ/ 722 | ᛖᛒᚢᚦ-ᚩᛇᚫᛈ-ᛡᛟ.ᚢᛁᚩᛄᚩᛇᛟᛄᛞᚩ-ᛈᚹᛞ/ 723 | ᚷᚱ-ᚠᛟ-ᛇᚷ-ᛄᛟᛇᚫᛋᚫᚣ-ᛒᛏᛞᛟ-ᛠᚻᛡᚱᛠ/ 724 | ᛠᛉᛋ-ᚠᚾᚣᚱᚠ.ᚪᚾᛡᚪᛖᚫ-ᚳᛇᛁᛝ-ᛒᛡᛞᛠ/ 725 | ᚫᛒᛠᚳᛉᚠ-ᚫᛏᛁᚱᚪᛗᚩ-ᛚᛉᛋᚪ-ᛒᚩᛈᚫᚩᛝᚻᛇ/ 726 | ᛖᛇᚫ-ᚻᛖᛇᛠ-ᚱᛗᛞ-ᚫᛇᛗ.ᚾᚾᚣᛡ-ᚱᚾᛗ/ 727 | ᛠ-ᛄᛉᛋᛄ-ᛟᛖᛒ-ᛏᚻᚾ-ᚠᚪᚠ-ᛒᚾ-ᚩᚾ-ᛖᛋᛏᛒᚹ/ 728 | ᛡ.ᚻᛏ-ᚩᛟᚩ-ᛒᚾᛖᚳᛁᚹᚣᛟ-ᛟᚩᛒ-ᛋᛖᚩ-ᚫᚻᛟ/ 729 | ᚠᚫᚷᚩᛄ-ᛟᛒᚻ-ᚳᛖᛁᛚᚫᚣᛚ-ᚢᛚᛁ-ᚾᛟᛏ-ᚫᛈᛟᛈ/ 730 | ᛝᛗ-ᚳᚢᛁ-ᚣᛋᚳᚢᛡᛇᚩ-ᚠᛖ-ᚷᛟ-ᚻᚫ-ᛝᚠ-ᛗᚠ/ 731 | ᛝᛉᛞᛁ-ᛗᛝᚣᚪᛝᚠᛉᛁᛟᚷᛚ-ᛇᚩ-ᚫᛡᛏ-ᛄᛏ/ 732 | % 733 | ᛠᚢ-ᚷᚦᚣ-ᚦᚾᛟᚣᚩᛖᚻ-ᛁᛋᛖᚣᚦᚪᛡᛝᛟᛇᛚ-/ 734 | ᛡᛏᛝ-ᛁᛚ-ᚠᛉᛡᛠᛏ-ᚠᚾᛄᚠᚻᚳ-ᚻᛞᛠᚣᛟ/ 735 | ᛝ-ᛉᛇᚻᚩᛋᚻ.ᛇᛏᚠ-ᛚᚱᛇᚦᚪᛁᛁ-ᛒᚠᛁᛚ-ᛄᛡᛒᚣ/ 736 | ᛗᚫᚫ-ᛞᚻᛟ-ᚪᚹᛉᛚᛏᛁᚪ-ᛟᛞᛖᚾᛈᚻᚣ-ᚦᛚᛖᛋ/ 737 | ᛖᛟᚫᛖ-ᛏᚱᚪ-ᛁᚫᚹᚫ-ᛋᛈᚱ-ᛄᛡᚪᛏ-ᚫᚦ-ᚠᛠᚢ/ 738 | ᛈᚣᚫᛝ-ᚣᚾᚻᛡ-ᚳᛗᚠᚾ-ᛞᛄ-ᛖᚩ-ᛒᚷᚻᚪ-ᛖᛞ/ 739 | ᛟᚠᛇᛞᛟ-ᛈᚳᛁᚪᛒᚷᛒᛈᛟ-ᛟᛄᚠᚪᛖ-ᛄᚣᚩᛄ-ᚣ/ 740 | -ᚫᛋ-ᚦᛁᚫᛄᚫᛏ-ᛖᛇᚻᛟ-ᚣᚠᚹᛞᚷ.ᛡᚱᛒᚢ-ᛒᛚ/ 741 | ᚢ-ᚷᛈᛄᚪ-ᛏᛡ-ᚳᛄᚠᛡᛝᛚᚣᛒ-ᛗᚻ-ᚱᛚᛟᛠᛋ/ 742 | ᚦᛝ-ᛏᚳᛟᛉᛁ-ᛄᚱᚳᛖᛏᛄᚷ-ᛡᛈᛏᛉᚩᛁᛄᛟ-ᚷ/ 743 | ᚩᚪᚢ-ᚣᛖᚪᛋᛟᛇᚢᚪᛡ-ᛗᚱᛚᚳᚠ-ᛒᛗᛝ-ᚻᛉ-/ 744 | ᛠᛄᚫ-ᛉᚪᚷᚻᚣᛏᛖᛝ-ᛉᛉᛗᚾᚫᛋ-ᚱᛗᛞᛋ/ 745 | % 746 | ᚳ-ᚦᛚᛟ-ᛝᛇᚢ-ᚻᚩ-ᛏ.ᚢᛁᚦᛄᚾᚠᚱᚦ-ᛋᛟᚷᛠ/ 747 | ᛗᚪ-ᛝᛚᚪᛁᛒᛠᚢᛋ-ᚩ-ᛖᛋᛝ-ᚠᛡᚢᛟᛞᛇᚪ-ᛞ/ 748 | ᛡᛒᚹᚩ-ᛄᛋ-ᛟᛝᛏᚳ-ᚻᚾᛇᛋ-ᛗᛚᚻᛞᛖᛈ-ᚫᛄᚱ/ 749 | ᚪᚢᚻᚱᚦᚱ-ᛟᛄ-ᛟᛗᚩᛟᛏ-ᚫᛇ-ᛉᛒᚳ-ᛄᛁ-ᚪᚩᛉ-/ 750 | ᚹᚪᚾᛈᛏᚢᚣ-ᛁᛒᚢ.ᚦᚩᛡ-ᛗᚳᚠᛉᚱᛁ-ᚪᛗᛏᛒ-/ 751 | ᛗᛚᛁᚦᛏᛠᛋᚾᚷᛚ-ᛏ-ᛇᛈ-ᚩᛚᛞ-ᛚᚹᚳᛄᚹᛉ-ᚪ/ 752 | ᛡᚹᛇ-ᛖᛖᚹ-ᛏᚪ-ᚣᚠᛉᚳ-ᛗᚩᚷᛞᚷ-ᛚᚳ-ᛒᚣᛋ/ 753 | ᚣᚠᛞᚣᛝ-ᛠᛇᛏᚩᚢᚫ-ᛟᛁᛒ-ᛏᚾᚫᚠ.ᛄᛟᛗᚾ/ 754 | ᛈ-ᛠᛡᚩᛏᛡᚪᚱᛞ-ᚪᛝᛈᚹᛗᛄᛟᛠᚩ-ᛚᚹᛉ-/ 755 | ᚱᛗ-ᚩᛏᚹᛄᚹᚾ-ᚷᚳᛠ-ᛄᚳᚢᚱ-ᛟᛇᛟᚾᚻᚫᛉ-/ 756 | ᚣᛚᚩ-ᚩᛡᚳᚻᛄ-ᛋᚣᚹᛁ-ᚣᚠᛋᚾᚪ-ᚷᛖᚾᛄᚪᚹᛠ-/ 757 | ᛞᚠᛟ-ᚢᛁ-ᛖᛇᚦ-ᚫᛞ-ᚳᛄ-ᚷᚢᚻᚣᚻᛁᛒᛉᚾ-ᚹᛝ/ 758 | % 759 | ᚻᛏᛉᚫᛁᛄᚢ-ᛞᚠᛡᚫ-ᛋᛁᚹᛝᛈ-ᛗᛉᛄᛈ-ᛞᛗ/ 760 | ᛝ-ᛇᛚᛞᚣ-ᚠᚩᛞ-ᛝᚷᚾᛇ-ᚷᛖ-ᛚᛉᚣ-ᚫᛚᛖᛉ./ 761 | ᛡᛝᛋ-ᚳᛁᚦ-ᚷᛏᚣ-ᚹᚩ-ᛝᛖ-ᛒᚪᛗᛏᚪᚷᛒ.ᛈᛡ/ 762 | ᛟ-ᚪᛉᛝᛒᛞᛉᛄᚦᚢ-ᛏᛇᛖ-ᚣᚪᚳ-ᛠᚦᚹ-ᛏᛉ/ 763 | ᚩᚳᛞᛒ-ᛟᚩᛠᚾᚠᚪ-ᛚᛗᛖᛁᚦᚫᚪᛡᛄᛁᚪᚱ-ᚦᚱᛖ/ 764 | ᛖᚣᛋᚾ-ᛖᛏᚢᚻᛈᚳᚦᛋ-ᚳᛇᛉᛖᛇᚠ-ᛞᛠᛏ/ 765 | ᛈ-ᚣᛇᛠᚢᛏ-ᛉᚦᚷᚻ-ᚫᚾᛠᚱ-ᛡᛒᛏᛁᛉ-ᚩᚢ/ 766 | ᛝ-ᛚᛒᛇᚩ-ᛟᛉ-ᚦᛞᚷᚠ-ᚩᚱᛈᚪᛏ-ᚫᛋᚪᚦ-ᛖᛟᚪᛝ/ 767 | ᚫ-ᚣᛒᛚ-ᛡᚦᚾᚠᛈᛟᛡᚾ-ᛖᚹ-ᛖᛗᚩ-ᛉᚹᚦᛠ-ᛁᚦ/ 768 | ᛒᛖᚱ-ᛟᚳᛉ-ᛈᛖ-ᛁᚢᚦ-ᛈᚠᛞᛈᛄ-ᛁᛟᚻ-ᛒᚦᛏᚩ/ 769 | ᚳᚢᛚ-ᛞᛄᛝ-ᚦᛄᛁᚪ-ᚹᚣ-ᚢᛝᚾ-ᛋᚾᛈᚠᚫᛒᛄᚫ-ᛡ/ 770 | ᛗᚹ-ᛇᚪᚩᚾᛄᚳᛚᛒᛉ-ᚣᛠᚦᚹ-ᛝᛚᛗᚳᛡᛇᚠᚫ/ 771 | % 772 | ᛠᛁᚦ-ᛒᛠᛚᚦᚳᛞᛁᛇ-ᚠᚢᛉᛋᛉᛁᚦᚫᛋᛗ-ᚦᚹ./ 773 | ᛈ-ᛒᛋᛏᚫᚾᚱᛁ-ᚦᛇᛡᚱᛚᛡᚹ-ᚢᚩᛋᚱ-ᚹᚫ-ᛒᚹᛡᛖ/ 774 | ᛟᛄ-ᛡᚣᛖᚩᛖᛡᚷᚫᚠᚾᚹ-ᛟᛏᚫᚠᛄᚹᛠ.ᚦᛞ-ᛁ/ 775 | ᚫᚩᚾ-ᛋᚷᛈᚪᛖᚩ-ᚣᚦᚹ-ᚾᚷ.ᛠᛋᚩᛇᛏ-ᛝᛚᚷᛞ/ 776 | -ᛒᛈᛈ-ᛗᛁᚪᛖ-ᛚᛏᛁ-ᚫᛄᛖ-ᛒᚾᚠᚪᛋᚷᛒᚠ-ᚫᚹᚣᚷ/ 777 | ᚢᛡᚠᛠ-ᛖᛋᛞ-ᛚᚳᛒᛞᛏᛈ-ᛖᚾᛈᚣ-ᚱᚠᚻ-ᚫ/ 778 | ᛝ-ᛟᚪᛗ-ᛒ-ᛡᛚ-ᛝᛋᚱᚢᚹᚱᚣᚻᚹ-ᚹᛡᛈ-ᛁᚻᚾᚻᚱ/ 779 | -ᚳᛖᛏᚫᚩᛋ-ᚣᛋ.ᛝᚫᛡᛝᚫ-ᚻᚦ-ᛇᚪᛞᛋ-ᛒᛁᚳᛈ/ 780 | -ᛇᛒᛟᚫ-ᛠᛝᛖ-ᛝᛠᚣ-ᛒᚣᛉᚻᚢᚠᚦᛞᚹ-ᛗ/ 781 | ᚢᛁᛡᛄᚩ-ᛋᛇᚫᛇᛝᚱ-ᛚᛇᛠ-ᛏᚩᛄ-ᚩᛝᛈ-ᚱᚻ/ 782 | ᛠᚢᛉᚦ-ᚣᚢᛋ-ᛡᛚᛖᚷᛗᛝᚹᚻᚱᛋ-ᚢᛟᚣᛠ/ 783 | ᚷᚩᚷ-ᛇᛁᛖ-ᛠᛄᛇᛁᚾᛄᚩᛗᚱᛡᛉ-ᚠᚻᚳ-ᚪᚩᚪᚫ/ 784 | % 785 | ᚻᚳᛁᚦ-ᛄᚷ.ᛝᛖᚢ-ᛡᛏᛁ-ᛚᚩᚱᛈ.ᚠᚪ-ᛈᛞᚱᛒ-/ 786 | ᛝᛁᛋ-ᚷ-ᚠᚾᛈᚠᛒ-ᛟᚦᛁᛠᚪ-ᛡᛏᚾᚳ.ᚦᛟᚻᛈᛖᛚ/ 787 | ᚫ-ᛟᚠᛗ-ᛡᛝ.ᛒᛝᚦᛝᛠᚠ-ᛇᛗᛟ-ᚩᛠᛈ-ᛁᛡᚱ/ 788 | -ᚹᚹᛟᚩᛒᚩ-ᚾᚩᛄᛟᚾ-ᚦᛡᚠ-ᚩᛄᛞᚦᛏᛁ-ᛈᚾᚪᚱᛄ-/ 789 | ᛉᚱᚣ-ᛝᛡ-ᛏᛗ-ᛈᛞᚣᚻ-ᛗᛝᚫᚳᛇ.ᛡᚣᛄᛟ/ 790 | -ᛝᚩᚢᛇᛁᚱ-ᛏᚪ-ᚩᚻᚪᛚᚫᛚᚪ-ᛋᛈ-ᛏᚪᛄᚳᚦᚢᛏᚹ/ 791 | ᚦ-ᛗᚷᛖᛗᚣᛡᛁᛞ-ᚢᛋᚠᛒ-ᛟᛚᛟ-ᚪᛒ-ᚦᛚᚣ-ᚳ/ 792 | ᛠᚣ-ᛞᛇᛁ.ᚹᛉ-ᛟᛝᛒᚢᛋᛞᚻᛞ-ᚢ-ᛠᚱ-ᚫᚩ/ 793 | ᚻᛝᛒᚪᚹ-ᛈᛡᚾᛚᛇ-ᛖᛟᛝ-ᛡᚠᛇᛡ-ᚳᚦᚹ.ᛚᚦᚪᛁ/ 794 | ᛈ-ᛞᛟᛄ-ᚢᛉᚢᚾᛠᚠ-ᚩᚾᚪ-ᚱᛠᚷ-ᛗᚢ-ᛗᛁᛄ/ 795 | ᛒᛗᚱᚾᛗ-ᚩᚾᚠᚣ-ᛗᚠᛇᚠᛄ-ᛒᛡᛈᛄᛖᛡᛏ-ᛈᛟ/ 796 | ᚫᛏᛟ-ᚻᛖᚾ-ᚳᛇᚩ-ᛋᚻᚫᛇ-ᛝᛁᛟ-ᛇᚠᚢᛞᚣᚪᛚᚠ/ 797 | % 798 | ᛡ-ᛖᛄ-ᚠᛚᛟ-ᛁᚳ-ᛁᛝᚷᚦ-ᛗᛋᚫᚷᚪᛠ-ᛗᛁ-ᛒᛡᛏ/ 799 | ᚾ-ᛝᛗᚦ-ᛏᚣᚫᛄ-ᛖᚻᚠᚪᛡᚷ-ᚪᛗᛁ-ᛞᛉᛏ-ᚢᛖ/ 800 | ᚦᚾ-ᛖᚪᛈᚹᛠᛚ-ᛒᚢᚱᛡᛟ-ᚪᚣ-ᛟᛇᚹᛄᛈᛞ./ 801 | ᚹᚹᛈ-ᚠᛡᛚᛉᛒᚾ-ᚳᛗᚾᚱᛗ-ᚻᚦᚫᛞᛄ-ᛒᛡᚫ-ᛇᚹ/ 802 | ᛗᚢ-ᚪᛈᛡ-ᛈᛁᛄ-ᚪᚢᚾᛠᛖᛞᛗᚪ-ᛏᛟᛗ-ᛋᛞ/ 803 | ᛝᚷᛚᛋᛞᛝ-ᛟ-ᛋᛄᛞ-ᛚᛟᚠᛄᚫᚠᚪ-ᛝᛟᚣᛈ-ᚣᚩ/ 804 | ᛒᚷᚳᛖᛏᚹ-ᚪᛋᛒ-ᛗᛠᚣᛇᛗᚫᛚᚱ-ᚹᛇᛄᛒ-ᛈᛚᚠ/ 805 | % 806 | ᛈ-ᚠᛗ-ᛝᚪᛇᚾᛟᚹᛇᛉ-ᚣᚫᛉᛞᛟᚱᛒ-ᛡᚱᛟ-ᚹᛏ/ 807 | ᚷᚱᛄᛖ-ᛠ-ᛈᛚᛞ-ᚻᚦᚱ-ᚦᚣᛚᛉ-ᛠᛈᚫᚠᚪ-ᚫᚪ/ 808 | ᛒ-ᛈᛋ-ᛗ-ᛏᚫᚳᛈᛝᚹᚦ-ᚻᛠ-ᛞᚩᛄᚷ-ᛋᚩᛠᚳ/ 809 | ᛖᛋ-ᚣᛖᚫ-ᛈᚦ-ᛁᛇᛈᚳᛝ.ᛈᚳᛇᚢᛏᚳᛡᛇᛝᚾ/ 810 | ᚢᚻᚦ-ᚣᚠᛗᚾ-ᛝᚠᛄᛉᛟᚱᛗ-ᛝᛠᛄᛏᚳ-ᚢᚷ/ 811 | ᚦ-ᚠᚦᛋ-ᚪᛈᚩᚪᚫᛞᛋᛝ-ᛒᛗᚩᚷ-ᚹᚠᛗᛖ-ᛠᛇᚻᚠ/ 812 | ᚻᚳᚱᚫ-ᛝᛗᛉᚳ-ᛋᚪᚹᛋᛠ-ᚩᚣᛚᛉᛝ-ᛠᛟᛉ/ 813 | ᛟᛠᛡᛝᛒ-ᛝᚳᚫᛁᚱ.ᛒᚠ-ᛏᚣᚣ-ᛠᛒ-ᚣᛚᚩ-ᛇ/ 814 | ᛉ-ᚩᚷᛗᚩ-ᚠᛚᛟᛝᚦᛠ-ᚦᚣᛖᚣ-ᚾᚷᚾ.ᛡᛏ-ᛄ/ 815 | ᛟᚾᛁ-ᛋᛟ-ᛠᚦᚣ-ᛋᛒ-ᚫᛚᚪᛄᛡᛖᚷᛉᛡᚾᛉᛏ-/ 816 | ᛡᛒᚻᛚᚷ-ᚢᚦᛠ-ᚢᚾᛁᚩᛗᛠᛁᚷ-ᛟᚦᚱᚣ-ᛒᛖ/ 817 | ᛠᚩᛈ-ᛗᛏᚱᚫᚢᚻᛁᛝ-ᛇᚳᚠ-ᛄᚾᚱᚷ-ᛟᚷᚻᚣᚻ/ 818 | % 819 | ᛇᚫᛠᚫᚣ-ᚢᛗᛈ-ᛉᛁᚢᚾᚩᛟᚾ-ᚷᛞᚦ-ᛡᚫᚹ-ᛞ/ 820 | ᛟᛖᚱ-ᛗᚾᛖᚻᚷᛒᚢᛄ-ᚢᚦᛗᛖᛞᛝ-ᛒᚷᚣᚱ-ᛖ/ 821 | ᛁᚢᛄ-ᚣᛡᛚᚢ-ᛄᛟ.ᛠᛉᚣᛇᚱ-ᚩᛈᛋᚳᚫᛗ/ 822 | ᛇ-ᚾᛄ-ᛖᚠᛋ-ᛖᚠᚪᛝ-ᚢᛝᛄᛇᚷᚠᛝᚱᛁᚦ-ᛄᚢᚫ-/ 823 | ᚣᛋᚠᛖᚢᛋᚫᚣᛠ-ᛁᛏᛟᚱᛏᛟᚩ-ᚷᚾᚻ-ᛞᛗᚩᚳ/ 824 | ᛞᛖᛏ-ᚹᛉᛞᛚ-ᚩᚫᛄ-ᛇᚢᛒ-ᛗᛏ-ᛞᛗᛖ.ᛏ/ 825 | ᛈᚹᛇᛋ-ᚹᛒᛇᚦ-ᚾᚻᚷᛄ-ᚱᛡᛞᛡᚦᚪᛁᛇᚫᛉᛚ-ᛇ/ 826 | ᛠ-ᛡᚪᛄ-ᚻᚱ-ᚦᛈᛞᛄᛝᚩ-ᚷᚠᛇᛗᚳ-ᚻᛞᚩᛏᚳ/ 827 | -ᚢᚱ-ᛈᚾ./ 828 | & 829 | % 830 | ᚪ-ᛗᛝᛞᛡᚦᛉᛁᛗ.ᛡᛞᛈᛝᚢᚹᚪᛗ-ᛏᚪ/ 831 | ᛝ-ᛝᚦᛡᚹᛋᚻ-ᛁᚳ-ᚫᛈᚫᚷᚩ-ᛗᛁᚪ-ᛖᚩ-ᛏᚹ/ 832 | ᚩ-ᚠᚣᚢᛏᛄ-ᚦᛄᛠᛖᚳᚾᛠ-ᚳᛠᛖ-ᚱ/ 833 | ᚩᚢᛉ-ᛞᚹᚻᛒᛝᚠᚪᚳᛄᚢ-ᚩᛄᛡᛠᛁᛚᚷᚻ-ᛒᚢ/ 834 | ᛄ-ᛉᚪᚳᚹᛡ-ᛗᚩᛈᚣᛞᛡᛚᛈ-ᛇᛁᚦᚱ-ᚣᚷᛗ-ᛉ/ 835 | ᛟᚷᛋ-ᛗᛈᛄᛟᛞ-ᛟᛏᛡᛟ-ᛏᛝᛁ-ᛗᛝᚣᚪᚫ-ᛝ-ᚱ/ 836 | ᚣᛄ-ᚾᛚᚢᛉᛒ-ᚻᛈᛄᚩᛠ-ᚷᚫᚹ-ᛉᛋᛞᚳ-ᚢᛏ-/ 837 | ᛟᚻᛇᚾᛈᛏ-ᛠᚣᛒᚢᚷ-ᚷᚪᛇ-ᚾᚷᚩᛖᛚᛗᛒᚦ-ᚣ/ 838 | ᛡᛟᛇᚣ-ᛗᚳᛟᚦ-ᛖᛚᚱᛇᛈᚱᛞᚣ-ᛉᛞ-ᛝᚣᛈ-/ 839 | ᛋᛖᛉᚹ-ᚳᚷᚠᛞᚱᛖ-ᛞᛖᚹᚩᛇᛟ-ᚻᚩᛟ-ᛒᛋ-ᚻ/ 840 | ᛠᚪᚳᛁᛗᛉᛄᛗᛖ-ᛗᛚ-ᚷᚩᛏᚦᛉᛖᛠᚱᚷᚣ/ 841 | % 842 | ᛝ-ᚫᛗᛁᚹ-ᛋᛒ-ᛉᛗ-ᛋᛇᚷᛞᚦᚫ-ᚠᛡᚪᛒᚳᚢ-ᚹᚱ-ᛒ/ 843 | ᛠᚠᛉᛁᛗᚢᚳᛈᚻᛝᛚᛇ-ᛗᛋᛞᛡᛈᚠ-ᛒᚻᛇᚳ-/ 844 | ᛇᛖ-ᛠᛖᛁᚷᛉᚷᛋ-ᛖᛋᛇᚦᚦᛖᛋ-ᚦᛟ-ᚳᛠᛁᛗ/ 845 | ᚳᛉ-ᛞᛄᚢ-ᛒᛖᛁ./ 846 | & 847 | $ 848 | % 849 | ᚫᛄ-ᛟᛋᚱ.ᛗᚣᛚᚩᚻ-ᚩᚫ-ᚳᚦᚷᚹ-ᚹᛚᚫ-ᛉ/ 850 | ᚩᚪᛈ-ᛗᛞᛞᚢᚷᚹ-ᛚ-ᛞᚾᚣᛄ-ᚳᚠᛡ-ᚫᛏ/ 851 | ᛈᛇᚪᚦ-ᚳᚫ./ 852 | ᚳᛞ-ᚠᚾ-ᛡᛖ-ᚠᚾᚳᛝ-ᚱᚠ-ᚫᛁᚱᛞᛖ-ᛋᚣᛄᛠᚢ/ 853 | ᛝᚹ-ᛉᚩ-ᛗᛠᚹᚠ-ᚱᚷᛡ-ᛝᚱᛒ-ᚫᚾᚢᛋ./ 854 | & 855 | $ 856 | % 857 | ᛈᚪᚱᚪᛒᛚᛖ.ᛚᛁᚳᛖ-ᚦᛖ-ᛁᚾᛋᛏᚪᚱ-ᛏ/ 858 | ᚢᚾᚾᛖᛚᛝ-ᛏᚩ-ᚦᛖ-ᛋᚢᚱᚠᚪᚳᛖ./ 859 | ᚹᛖ-ᛗᚢᛋᛏ-ᛋᚻᛖᛞ-ᚩᚢᚱ-ᚩᚹᚾ-ᚳ/ 860 | ᛁᚱᚳᚢᛗᚠᛖᚱᛖᚾᚳᛖᛋ.ᚠᛁᚾᛞ-ᚦ/ 861 | ᛖ-ᛞᛁᚢᛁᚾᛁᛏᚣ-ᚹᛁᚦᛁᚾ-ᚪᚾᛞ-ᛖᛗᛖᚱᚷᛖ./ 862 | & 863 | $ 864 | % 865 | § 866 | -------------------------------------------------------------------------------- /idkfa: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const Args = require('command-line-args'); 4 | const Config = require('./config'); 5 | const Crib = require('./lib/crib'); 6 | const Dict = require('./lib/dict'); 7 | const Gematria = require('./lib/gematria'); 8 | const Input = require('./lib/input'); 9 | const Key = require('./lib/key'); 10 | const Log = require('./lib/log'); 11 | const Shift = require('./lib/shift'); 12 | const Source = require('./lib/source'); 13 | const Stats = require('./lib/stats'); 14 | const Util = require('./lib/util'); 15 | 16 | (() => 17 | { 18 | try 19 | { 20 | // Parse input fom CLI. 21 | const CLA = Args(Config.cla, { partial: true }); 22 | 23 | // Validate input 24 | const Options = Input.getOptions(CLA); 25 | 26 | // Set options 27 | const arrKeys = Options.key; 28 | const arrSourcePaths = Options.source; 29 | 30 | const isReversedSource = Options.invert.includes('t'); 31 | const isInvertedKey = Options.invert.includes('k'); 32 | const isInvertedFuthark = Options.invert.includes('f'); 33 | const isInvertedLatin = Options.invert.includes('l'); 34 | const isInvertedOffset = Options.invert.includes('o'); 35 | const isInvertedPrime = Options.invert.includes('p'); 36 | const isReversedShift = Options.invert.includes('s'); 37 | 38 | const isPatchedSource = Options.patch.includes('s'); 39 | const isNormalizedDict = Options.patch.includes('d'); 40 | 41 | const getKey = Options.verbose.includes('k'); 42 | const getChecksum = Options.verbose.includes('x'); 43 | const getIOC = Options.verbose.includes('i'); 44 | const getSource = Options.verbose.includes('s'); 45 | const getLatin = Options.verbose.includes('l'); 46 | const getFuthark = Options.verbose.includes('f'); 47 | const getPrime = Options.verbose.includes('p'); 48 | const getWordCount = Options.verbose.includes('w'); 49 | const getCharCount = Options.verbose.includes('c'); 50 | const getDictMatches = Options.verbose.includes('d'); 51 | 52 | const getCrib = Options.find.length > 0; 53 | const getCharAt = Options.charAt.length > 0; 54 | const getWordAt = Options.wordAt.length > 0; 55 | 56 | // Get source 57 | const sourceData = Source.getSource(arrSourcePaths, isPatchedSource, isReversedSource); 58 | 59 | if (!sourceData) throw new Error(`Please specify valid 'source' path.`); 60 | 61 | // Generate key(s) 62 | const keyData = Key.generate(arrKeys, Util.flatten(sourceData).length, isInvertedKey); 63 | 64 | // Do magic 65 | const cipherData = Shift.mutate(sourceData, keyData, isInvertedFuthark, isInvertedLatin, isInvertedOffset, isInvertedPrime, isReversedShift); 66 | 67 | // Generate data 68 | if (getSource) Log.setData('SOURCE', sourceData); 69 | 70 | if (getLatin) Log.setData('LATIN', cipherData); 71 | 72 | if (getFuthark) Log.setData('FUTHARK', Gematria.toFutharkDeep()(cipherData)); 73 | 74 | if (getPrime) Log.setData('PRIME', Gematria.toPrimeDeep()(cipherData)); 75 | 76 | if (getKey) Log.setData('KEYS', keyData); 77 | 78 | if (getCharCount) Log.setData('CHAR_COUNT', [[Stats.getCharCount(sourceData)]]); 79 | 80 | if (getWordCount) Log.setData('WORD_COUNT', [[Stats.getWordCount(sourceData)]]); 81 | 82 | if (getChecksum) Log.setData('CHECKSUM', cipherData.map(data => Stats.getChecksum(data))); 83 | 84 | if (getIOC) Log.setData('IOC', cipherData.map(data => Stats.getIOC(data))); 85 | 86 | if (getCharAt) Log.setData('CHAR_AT', cipherData.map(data => Options.charAt.map((item) => Stats.getCharAt(data, item)))); 87 | 88 | if (getWordAt) Log.setData('WORD_AT', cipherData.map(data => Options.wordAt.map((item) => Stats.getWordAt(data, item)))); 89 | 90 | if (getCrib) Log.setData('CRIB', Crib.findCrib(sourceData, arrSourcePaths, Options.find)); 91 | 92 | if (getDictMatches) Log.setData('DICT_MOST', Dict.getMost(cipherData, 5, isNormalizedDict)); 93 | 94 | if (getDictMatches) Log.setData('DICT_LONGEST', Dict.getLongest(cipherData, 3, isNormalizedDict)); 95 | 96 | Log.setData('OPTIONS', Object.assign({}, ...Object.keys(Options).map(strCommand => ({ [strCommand]: [...Options[strCommand]].sort((a, b) => a > b) })))); 97 | 98 | // Log data 99 | Log.writeData(); 100 | 101 | } 102 | 103 | catch (e) { Log.writeError(`${e}`); } 104 | 105 | })(); 106 | -------------------------------------------------------------------------------- /irc: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | const Config = require('./config'); 4 | const Crib = require('./lib/crib'); 5 | const Dict = require('./lib/dict'); 6 | const Gematria = require('./lib/gematria'); 7 | const Input = require('./lib/input'); 8 | const Key = require('./lib/key'); 9 | const Log = require('./lib/log'); 10 | const NodeIRC = require('irc'); 11 | const Pastebin = require('./lib/pastebin'); 12 | const Shift = require('./lib/shift'); 13 | const Source = require('./lib/source'); 14 | const Stats = require('./lib/stats'); 15 | const Util = require('./lib/util'); 16 | 17 | (() => 18 | { 19 | const idkfa = Options => 20 | { 21 | // Set options 22 | const arrKeys = Options.key.length > 0 ? Options.key : ['0']; 23 | const arrSourcePaths = Options.source; 24 | 25 | const isReversedSource = Options.invert.includes('t'); 26 | const isInvertedKey = Options.invert.includes('k'); 27 | const isInvertedFuthark = Options.invert.includes('f'); 28 | const isInvertedLatin = Options.invert.includes('l'); 29 | const isInvertedOffset = Options.invert.includes('o'); 30 | const isInvertedPrime = Options.invert.includes('p'); 31 | const isReversedShift = Options.invert.includes('s'); 32 | 33 | const isPatchedSource = Options.patch.includes('s'); 34 | const isNormalizedDict = Options.patch.includes('d'); 35 | 36 | const getKey = Options.verbose.includes('k'); 37 | const getChecksum = Options.verbose.includes('x'); 38 | const getIOC = Options.verbose.includes('i'); 39 | const getSource = Options.verbose.includes('s'); 40 | const getLatin = Options.verbose.includes('l') || (Options.verbose.length === 0 && Options.find.length === 0 && Options.charAt.length === 0 && Options.wordAt.length === 0); //(!) beautify me 41 | const getFuthark = Options.verbose.includes('f'); 42 | const getPrime = Options.verbose.includes('p'); 43 | const getWordCount = Options.verbose.includes('w'); 44 | const getCharCount = Options.verbose.includes('c'); 45 | const getDictMatches = Options.verbose.includes('d'); 46 | 47 | const getCrib = Options.find.length > 0; 48 | const getCharAt = Options.charAt.length > 0; 49 | const getWordAt = Options.wordAt.length > 0; 50 | 51 | // Get source 52 | const sourceData = Source.getSource(arrSourcePaths, isPatchedSource, isReversedSource); 53 | 54 | if (!sourceData) throw new Error(`Please specify valid 'source' path.`); 55 | 56 | // Generate key(s) 57 | const keyData = Key.generate(arrKeys, Util.flatten(sourceData).length, isInvertedKey); 58 | 59 | // Do magic 60 | const cipherData = Shift.mutate(sourceData, keyData, isInvertedFuthark, isInvertedLatin, isInvertedOffset, isInvertedPrime, isReversedShift); 61 | 62 | Log.reset(); 63 | 64 | // Generate data 65 | if (getSource) Log.setData('SOURCE', sourceData); 66 | 67 | if (getLatin) Log.setData('LATIN', cipherData); 68 | 69 | if (getFuthark) Log.setData('FUTHARK', Gematria.toFutharkDeep()(cipherData)); 70 | 71 | if (getPrime) Log.setData('PRIME', Gematria.toPrimeDeep()(cipherData)); 72 | 73 | if (getKey) Log.setData('KEYS', keyData); 74 | 75 | if (getCharCount) Log.setData('CHAR_COUNT', [[Stats.getCharCount(sourceData)]]); 76 | 77 | if (getWordCount) Log.setData('WORD_COUNT', [[Stats.getWordCount(sourceData)]]); 78 | 79 | if (getChecksum) Log.setData('CHECKSUM', cipherData.map(data => Stats.getChecksum(data))); 80 | 81 | if (getIOC) Log.setData('IOC', cipherData.map(data => Stats.getIOC(data))); 82 | 83 | if (getCharAt) Log.setData('CHAR_AT', cipherData.map(data => Options.charAt.map((item) => Stats.getCharAt(data, item)))); 84 | 85 | if (getWordAt) Log.setData('WORD_AT', cipherData.map(data => Options.wordAt.map((item) => Stats.getWordAt(data, item)))); 86 | 87 | if (getCrib) Log.setData(`CRIB: ${Options.find.join(' ').toUpperCase()}`, Crib.findCrib(sourceData, arrSourcePaths, Options.find)); 88 | 89 | if (getDictMatches) Log.setData('MOST', Dict.getMost(cipherData, 5, isNormalizedDict)); 90 | 91 | if (getDictMatches) Log.setData('LONGEST', Dict.getLongest(cipherData, 3, isNormalizedDict)); 92 | 93 | //if (Options.key.length <= 0) Options.key.push(['0']); //(!) beautify me 94 | 95 | //Log.setData('OPTIONS', Object.assign({}, ...Object.keys(Options).map(strCommand => ({ [strCommand]: [...Options[strCommand]].sort((a, b) => a > b) })))); 96 | 97 | return Log.getData(); 98 | }; 99 | 100 | const parse = strCommand => 101 | { 102 | // Will hold the options 103 | let mapOptions = new Map(); 104 | 105 | // Get expressions from command string and remove single quotes 106 | let arrMathEx = strCommand.match(/'(.*?)'/gim); 107 | 108 | arrMathEx = arrMathEx ? arrMathEx.map(exp => exp.replace(/'/gm, '')) : null; 109 | 110 | // Remove expressions and unwanted chars from command 111 | let strNormalized = strCommand.replace(/'(.*?)'/gim, '').replace(/[^\w\u16A0-\u16FF-,. ]/gim, ''); 112 | 113 | // Split into single commands 114 | let arrCommands = strNormalized.split(/[-]+/).filter(x => x); 115 | 116 | // Remove bot name 117 | let [, ...arrOptions] = arrCommands; 118 | 119 | // Add commands to optopns 120 | arrOptions.map(strOption => 121 | { 122 | let [cmd, ...options] = strOption.split(' ').filter(x => x); 123 | 124 | mapOptions.set(cmd, options); 125 | }); 126 | 127 | // Add math options 128 | if (mapOptions.has('k') && arrMathEx) mapOptions.set('k', mapOptions.get('k').concat(arrMathEx)); 129 | 130 | // Check which options are set 131 | Object.keys(Config.input).map(item => 132 | { 133 | // Get the command alias 134 | let strAlias = item.substr(0, 1); 135 | 136 | mapOptions.set(item, mapOptions.has(item) || mapOptions.has(strAlias) ? mapOptions.get(item) || mapOptions.get(strAlias) : []); 137 | }); 138 | 139 | // Remove unknown options 140 | mapOptions.forEach((value, key) => { if (!Config.input[key]) mapOptions.delete(key); }); 141 | 142 | return Array.from(mapOptions).reduce((obj, [key, value]) => (Object.assign(obj, { [key]: value })), {}); 143 | }; 144 | 145 | // Spawn bot 146 | const bot = new NodeIRC.Client(Config.irc.server, Config.irc.nick, Config.irc.options); 147 | 148 | // Add 'join' listener 149 | bot.addListener('join', (channel, nick) => { if (nick === Config.irc.nick) bot.say(channel, `Options: https://github.com/rtkd/idkfa`); }); 150 | 151 | // Add 'message' listener 152 | bot.addListener('message#', (nick, to, text, message) => 153 | { 154 | try 155 | { 156 | // Get message arguments 157 | let [, cmd] = message.args; 158 | 159 | // Check if msg is directed at bot, else just return null. 160 | if (cmd.substr(0, 2) !== Config.irc.botalias) return null; 161 | 162 | if (cmd.includes('help')) 163 | { 164 | bot.say(to, `Options: https://github.com/rtkd/idkfa`); 165 | return; 166 | } 167 | 168 | // Parse and validate options 169 | let options = Input.getOptions(parse(cmd)); 170 | 171 | // Generate data 172 | let data = idkfa(options); 173 | 174 | // Stringify data 175 | let raw = JSON.stringify([...data]); 176 | 177 | // If data too long send to pastebin 178 | if (raw.length > 510) Pastebin.paste(JSON.stringify([...data]), Log.getNow(), response => bot.say(to, response)); 179 | 180 | // Else echo data to IRC 181 | else [...data].map((item) => { bot.say(to, JSON.stringify(item)); }); 182 | } 183 | 184 | catch (e) { bot.say(to, `${e}`); } 185 | }); 186 | 187 | // Add 'private message' listener 188 | bot.addListener('pm', () => null); 189 | 190 | // Add listener for errors so we don't crash 191 | bot.addListener('error', () => null); 192 | 193 | })(); 194 | -------------------------------------------------------------------------------- /lib/crib.js: -------------------------------------------------------------------------------- 1 | 2 | const Gematria = require('./gematria'); 3 | const Source = require('./source'); 4 | const Util = require('./util'); 5 | 6 | const Crib = (() => 7 | { 8 | /** 9 | * Gets the word lengths of nested source. 10 | * 11 | * @param {Array} x The source array 12 | * @return {Array} The word lengths. 13 | */ 14 | const getWordLengths = x => x.map(y => Util.isArray(y) && Util.isArray(y[0]) ? getWordLengths(y) : y.length); 15 | 16 | /** 17 | * Finds crib offsets in source. 18 | * 19 | * @param {array} arrWordLength The array containing the word length of source 20 | * @param {integer} intCribLength The length of the crib 21 | * @param {string} strCribHash The crib 'hash' 22 | * @param {string} strPath Internal property to keep track of crib nesting 23 | * @return {array} Offsets of matches within the source array 24 | */ 25 | const getMatches = (arrWordLength, intCribLength, strCribHash, strPath = '') => 26 | { 27 | // Walk through sources. 28 | return arrWordLength.map((item, i) => 29 | { 30 | // Keeps track of current position. 31 | let strNesting = strPath + '.' + i; 32 | 33 | // Walk through word lengths, down to sentence. 34 | if (Util.isArray(item) && Util.isArray(item[0])) return getMatches(item, intCribLength, strCribHash, strNesting); 35 | 36 | else 37 | { 38 | // Multiple words lengths. 39 | if (Util.isArray(item)) 40 | { 41 | // Walk through words lengths. 42 | return item.map((z, j) => 43 | { 44 | // Cut substring, of crib length, from words lengths. 45 | let strTextHash = item.slice(j, j + intCribLength).toString(); 46 | 47 | // Compare text hash to crib hash; if same, return path, else NULL. 48 | return strTextHash === strCribHash ? strNesting.substr(1) + '.' + j : null; 49 | 50 | }).filter(x => x || x === 0); 51 | } 52 | 53 | // Just one word. 54 | else 55 | { 56 | // Compare text hash to crib hash; if same, return path, else NULL. 57 | return item.toString() === strCribHash ? i : null; 58 | } 59 | } 60 | }); 61 | }; 62 | 63 | /** 64 | * Finds crib in source 65 | * 66 | * @param {array} arrText An array of futhark strings 67 | * @param {array} arrSourcePaths An array of source root path(s) 68 | * @param {array} arrCrib An Array containing the words of the crib 69 | * @return {array} Matches within source as futhark, full path and key to produce 70 | */ 71 | const findCrib = (arrText, arrSourcePaths, arrCrib) => 72 | { 73 | // Get the length of each word in source text 74 | let textWordLength = getWordLengths(arrText); 75 | 76 | // Split crib into graphs 77 | let cribGraphs = arrCrib.map(strCrib => Gematria.toGraphs(strCrib)); 78 | 79 | // How many graphs in each crib word 80 | let cribWordLength = arrCrib.map(strCrib => Gematria.toGraphs(strCrib).length); 81 | 82 | // How many words in crib 83 | let cribLength = cribWordLength.length; 84 | 85 | //let cribGraphsLength = cribWordLength.reduce((x, s) => s + x, 0); 86 | 87 | // Fingerprint (graph length of each word in crib) to match against word length of source 88 | let cribHash = cribWordLength.toString(); 89 | 90 | // Get offsets where crib fingerprint matches source 91 | let arrMatches = Util.flatten(getMatches(textWordLength, cribLength, cribHash)).filter(x => x || x === 0); 92 | 93 | // Get full path of crib start 94 | let arrFullPaths = arrMatches.map((path, i) => 95 | { 96 | // Crib is a single graph (letter) 97 | if (Util.isInteger(path)) return arrSourcePaths[i]; 98 | 99 | else 100 | { 101 | // Slice root source path 102 | let [a, ...b] = path.split('.'); 103 | 104 | // Return the full path 105 | return arrSourcePaths[a] + '.' + b.join('.'); 106 | } 107 | }); 108 | 109 | // Get full path for every word in crib 110 | let arrCribPaths = arrFullPaths.map(strPath => 111 | { 112 | // Add path of first word 113 | let arrPaths = [strPath]; 114 | 115 | // Split crib path into waypoints 116 | let arrWaypoints = strPath.split('.').map(x => parseInt(x)); 117 | 118 | // Get the parent path 119 | let arrParentPath = arrWaypoints.slice(0, arrWaypoints.length - 1); 120 | 121 | // Get the last waypoint 122 | let arrLastWaypoint = arrWaypoints.slice(-1); 123 | 124 | // Build additionl paths 125 | for (let i = arrPaths.length; i < cribLength; i ++) 126 | { 127 | // Increase waypoint by 1 to get the next word 128 | let arrFullPath = [...arrParentPath, arrLastWaypoint[0] + i]; 129 | 130 | // Build and store path 131 | arrPaths.push(arrFullPath.join('.')); 132 | } 133 | 134 | // Return full path(s) of crib 135 | return arrPaths; 136 | 137 | }); 138 | 139 | // Get the futhark representation of crib from source 140 | let arrFuthark = arrCribPaths.map(paths => Source.getSource(paths)); 141 | 142 | // Build the key that is needed to turn matches into crib 143 | let keyAsOffsets = arrFuthark.map(crib => crib.map((word, i) => word.map((letter, j) => Gematria.getDistance()()(letter, cribGraphs[i][j])))); 144 | 145 | // Get key as latin 146 | let keyAsLatin = keyAsOffsets.map(crib => crib.map((word) => word.map((letter) => Gematria.offsetToLatin()(letter)))); 147 | 148 | // Return futhark, full path and keys 149 | return [arrFuthark, arrCribPaths, keyAsOffsets, keyAsLatin]; 150 | 151 | }; 152 | 153 | return { findCrib }; 154 | 155 | })(); 156 | 157 | module.exports = Crib; 158 | 159 | //return Util.isArray(y) && !Util.isInteger(y[0]) ? getMatches(y, p+'.'+i) : Util.isArray(y) ? y.map((z, j) => (y.slice(j, j + cribLength).toString() === cribHash) ? (p+'.'+ i).substr(1) +'.'+ j : null) 160 | //.filter(x => x || x === 0) : y.toString() === cribHash ? i : null; 161 | -------------------------------------------------------------------------------- /lib/dict.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config').dict; 3 | const FS = require('fs'); 4 | const Gematria = require('./gematria'); 5 | const Stats = require('./stats'); 6 | const Util = require('./util'); 7 | 8 | const Dictionary = (() => 9 | { 10 | /** 11 | * Will hold the dictionary 12 | * 13 | * @type {map} 14 | */ 15 | const Dict = new Map(); 16 | 17 | /** 18 | * Loads a file 19 | * 20 | * @param {string} strPath The file path 21 | * @param {string} strEncoding The file encoding 22 | * @return {array} The file as a string 23 | */ 24 | const loadFile = (strPath, strEncoding) => FS.readFileSync(strPath, strEncoding); 25 | 26 | /** 27 | * Normalizes word to match expected latin output of decryption 28 | * 29 | * @param {string} strWord A word from the dictionary 30 | * @return {string} The normalized word 31 | */ 32 | const normalize = strWord => 33 | { 34 | let str = strWord.replace('qu', 'kw'); 35 | 36 | // Turn word into graphs 37 | let arrGraphs = Gematria.toGraphs(str); 38 | 39 | // Get the first latin graph of each graph from the gematria 40 | let arrNormalized = arrGraphs.map(graph => Gematria.lookup([], (item) => item[2].includes(graph.toUpperCase()) ? item[2][0] : null)); 41 | 42 | // Return the normalized word 43 | return arrNormalized.join(''); 44 | }; 45 | 46 | /** 47 | * Build the dictionary 48 | * 49 | * @param {boolean} isNormalized Indicates if dictionary should be normalized 50 | * @return - 51 | */ 52 | const init = (isNormalized = true) => 53 | { 54 | // Load file 55 | let strDictRaw = loadFile(Config.src, Config.encoding); 56 | 57 | // Split into array of unique words 58 | let arrDictWords = [...new Set(strDictRaw.replace(/\s+/gmi, ' ').trim().split(' '))]; 59 | 60 | // Normalize each word to match expected output 61 | let arrDict = isNormalized ? arrDictWords.map(word => normalize(word).toUpperCase()) : arrDictWords.map(word => word.toUpperCase()); 62 | 63 | // Sort and add words to dictionary 64 | arrDict.sort().forEach((word) => Dict.set(word, true)); 65 | }; 66 | 67 | /** 68 | * Checks if word exists in dictionary 69 | * 70 | * @param {string} strWord The word to look for 71 | * @return {boolean} True if word exists, False otherwise. 72 | */ 73 | const hasWord = strWord => Dict.has(strWord.toUpperCase()); 74 | 75 | /** 76 | * Finds needle in haystack 77 | * 78 | * @param {array} arrData An array of latin chars 79 | * @param {boolean} isNormalized Indicates if dictionary should be normalized 80 | * @return {array} An array of matched words 81 | */ 82 | const getMatches = (arrData = [], isNormalized = true) => 83 | { 84 | // Build dictionary if it does not exist 85 | if (!Dict.size) init(isNormalized); 86 | 87 | // Flatten haystack to words 88 | let arrWords = Util.flattenTo1st(arrData).map(word => word.join('')); 89 | 90 | // Check if word exists in dictionary and return results 91 | return arrWords.map(word => hasWord(word) ? word : null).filter(x => x); 92 | }; 93 | 94 | /** 95 | * Gets most appearing words in haystack. 96 | * 97 | * @param {array} arrData An array of latin chars 98 | * @param {number} intTopMost Indictes how many results should be returned 99 | * @param {boolean} isNormalized Indicates if dictionary should be normalized 100 | * @return {array} The most matched words 101 | */ 102 | const getMost = (arrData, intTopMost = 1, isNormalized = true) => 103 | { 104 | // Check if words exists in dictionary 105 | let arrMatches = getMatches(arrData, isNormalized); 106 | 107 | // Get frequency of words 108 | let arrFrequency = Stats.getFrequency(arrMatches); 109 | 110 | // Sort result 111 | let arrSorted = [...arrFrequency].sort((a, b) => b[1] - a[1]); 112 | 113 | // Return the most appearing words 114 | return arrSorted.slice(0, intTopMost); 115 | }; 116 | 117 | /** 118 | * Gets the longest words in haystack. 119 | * 120 | * @param {array} arrData An array of latin chars 121 | * @param {integer} intTopMost Indictes how many results should be returned 122 | * @param {boolean} isNormalized Indicates if dictionary should be normalized 123 | * @return {array} The longest matched words. 124 | */ 125 | const getLongest = (arrData, intTopMost = 1, isNormalized = true) => 126 | { 127 | // Check if words exists in dictionary 128 | let arrMatches = getMatches(arrData, isNormalized); 129 | 130 | // Sort result 131 | let arrSorted = [...new Set(arrMatches)].sort((a, b) => b.length - a.length); 132 | 133 | // Return longest words 134 | return arrSorted.slice(0, intTopMost); 135 | }; 136 | 137 | return { getMatches, getMost, getLongest }; 138 | 139 | })(); 140 | 141 | module.exports = Dictionary; 142 | -------------------------------------------------------------------------------- /lib/fibonacci.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | 4 | const Fibonacci = (() => 5 | { 6 | /** 7 | * { var_description } 8 | * 9 | * @type {} 10 | */ 11 | let intLimit; 12 | 13 | /** 14 | * Sets the limit. 15 | * 16 | * @param {} intMax The int maximum 17 | * @return {} { description_of_the_return_value } 18 | */ 19 | const setLimit = intMax => intLimit = intMax; 20 | 21 | /** 22 | * { function_description } 23 | * 24 | * @param {number} n { parameter_description } 25 | * @return {Array} { description_of_the_return_value } 26 | */ 27 | const generateFibonacci = n => 28 | { 29 | var arrSeed = [1, 1]; 30 | 31 | for (var i = 2; i < n; i ++) { arrSeed[i] = arrSeed[i - 1] + arrSeed[i - 2]; } 32 | 33 | return arrSeed; 34 | }; 35 | 36 | /** 37 | * Gets the fibonacci. 38 | * 39 | * @param {number} intFrom The int from 40 | * @param {number} intTo The int to 41 | * @return {Function} The fibonacci. 42 | */ 43 | const getFibonacci = (intFrom, intTo) => 44 | { 45 | if (!intFrom && !intTo) intFrom = intLimit; 46 | 47 | let isReversed = intFrom > intTo; 48 | 49 | if (!intTo) { intTo = intFrom; intFrom = 0; } 50 | 51 | if (intFrom > intTo) [intFrom, intTo] = [intTo, intFrom]; 52 | 53 | intFrom = intFrom <= Config.math.maxFibonacci ? intFrom : Config.math.maxFibonacci; 54 | 55 | intTo = intTo <= Config.math.maxFibonacci ? intTo : Config.math.maxFibonacci; 56 | 57 | let arrIntegers = generateFibonacci(intTo).slice(intFrom); 58 | 59 | return isReversed ? arrIntegers.reverse() : arrIntegers; 60 | }; 61 | 62 | return { getFibonacci, setLimit }; 63 | 64 | })(); 65 | 66 | module.exports = Fibonacci; 67 | -------------------------------------------------------------------------------- /lib/gematria.js: -------------------------------------------------------------------------------- 1 | 2 | const Util = require('./util'); 3 | 4 | const Gematria = (() => 5 | { 6 | /** 7 | * The 3301 gematria 8 | * 9 | * @type {array} 10 | */ 11 | const table = 12 | [ 13 | [ 'ᚠ', 2, ['F'] ], 14 | [ 'ᚢ', 3, ['U', 'V'] ], 15 | [ 'ᚦ', 5, ['TH'] ], 16 | [ 'ᚩ', 7, ['O'] ], 17 | [ 'ᚱ', 11, ['R'] ], 18 | [ 'ᚳ', 13, ['C', 'K'] ], 19 | [ 'ᚷ', 17, ['G'] ], 20 | [ 'ᚹ', 19, ['W'] ], 21 | [ 'ᚻ', 23, ['H'] ], 22 | [ 'ᚾ', 29, ['N'] ], 23 | [ 'ᛁ', 31, ['I'] ], 24 | [ 'ᛄ', 37, ['J'] ], 25 | [ 'ᛇ', 41, ['EO'] ], 26 | [ 'ᛈ', 43, ['P'] ], 27 | [ 'ᛉ', 47, ['X'] ], 28 | [ 'ᛋ', 53, ['S', 'Z'] ], 29 | [ 'ᛏ', 59, ['T'] ], 30 | [ 'ᛒ', 61, ['B'] ], 31 | [ 'ᛖ', 67, ['E'] ], 32 | [ 'ᛗ', 71, ['M'] ], 33 | [ 'ᛚ', 73, ['L'] ], 34 | [ 'ᛝ', 79, ['(I)NG', 'ING', 'NG'] ], 35 | [ 'ᛟ', 83, ['OE'] ], 36 | [ 'ᛞ', 89, ['D'] ], 37 | [ 'ᚪ', 97, ['A'] ], 38 | [ 'ᚫ', 101, ['AE'] ], 39 | [ 'ᚣ', 103, ['Y'] ], 40 | [ 'ᛡ', 107, ['I(A/O)', 'IA', 'IO'] ], 41 | [ 'ᛠ', 109, ['EA'] ] 42 | ]; 43 | 44 | /** 45 | * Length of gematria 46 | * 47 | * @type {integer} 48 | */ 49 | const tableLength = table.length; 50 | 51 | /** 52 | * Unique latin graph lengths of gematria 53 | * 54 | * @type {array} 55 | */ 56 | const graphLengths = [...new Set(Util.flatten(table.map((item) => item[2].map((item) => item.length))).sort())]; 57 | 58 | /** 59 | * Builds alternate gematriae 60 | * 61 | * @param {(array|string)} invertProperties A string or an array of gematria properties to invert 62 | * @return {array} The alternate gematria table. 63 | */ 64 | const buildTable = (invertProperties = []) => 65 | { 66 | let t = table.map((item, i) => 67 | { 68 | let invertOffset = tableLength - i - 1; 69 | 70 | return [ 71 | invertProperties.includes('futhark') ? table[invertOffset][0] : table[i][0], 72 | invertProperties.includes('prime') ? table[invertOffset][1] : table[i][1], 73 | invertProperties.includes('latin') ? table[invertOffset][2] : table[i][2] 74 | ]; 75 | }); 76 | 77 | return invertProperties.includes('offset') ? t.reverse() : t; 78 | }; 79 | 80 | /** 81 | * Checks gematria for property 82 | * 83 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 84 | * @param {function} fn The function to apply 85 | * @return {array} The matches 86 | */ 87 | const lookup = (strTable, fn) => buildTable(strTable).map(fn).filter(item => item !== null); 88 | 89 | /** 90 | * Determines if latin graph exists within gematria 91 | * 92 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 93 | * @param {string} strLatin A latin graph to look up 94 | * @return {boolean} True if latin graph exists, False otherwise. 95 | */ 96 | const hasLatin = strTable => strLatin => lookup(strTable, item => item[2].includes(Util.isString(strLatin) ? strLatin.toUpperCase() : strLatin)).filter(x => x).length === 1; 97 | 98 | /** 99 | * Determines if prime number exists within gematria. 100 | * 101 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 102 | * @param {integer} intPrime A prime number to look up 103 | * @return {boolean} True if prime number exists, False otherwise. 104 | */ 105 | const hasPrime = strTable => intPrime => lookup(strTable, item => item[1] === intPrime).filter(x => x).length === 1; 106 | 107 | /** 108 | * Determines if futhark graph exists within gematria. 109 | * 110 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 111 | * @param {string} strFuthark A futhark graph to look up 112 | * @return {boolean} True if futhark graph exists, False otherwise. 113 | */ 114 | const hasFuthark = strTable => strFuthark => lookup(strTable, item => item[0] === strFuthark).filter(x => x).length === 1; 115 | 116 | /** 117 | * Turns latin word into latin graphs 118 | * 119 | * @param {string} strLatin A latin string 120 | * @return {array} The string split into graphs 121 | */ 122 | const toGraphs = strLatin => 123 | { 124 | let arrGraphs = []; 125 | let arrGraphLengths = graphLengths.sort().reverse(); 126 | 127 | arrGraphLengths.map(intGraphLength => 128 | { 129 | for (let i = 0, ii = strLatin.length - intGraphLength; i <= ii; i ++) 130 | { 131 | let str = strLatin.substr(i, intGraphLength); 132 | 133 | if(hasLatin()(str)) 134 | { 135 | arrGraphs[i] = str; 136 | strLatin = strLatin.replace(str, '*'.repeat(intGraphLength)); 137 | } 138 | } 139 | }); 140 | 141 | return arrGraphs.filter(x => x); 142 | }; 143 | 144 | /** 145 | * Turns futhark graph, prime number or latin graph into offset 146 | * 147 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 148 | * @param {(string|integer)} x A string or an integer to look up 149 | * @return {(integer|null)} Offset if property exists, NULL otherwise 150 | */ 151 | const toOffset = strTable => x => parseInt(lookup(strTable, (item, i) => item[0] === x || item[1] === x || item[2].includes(Util.isString(x) ? x.toUpperCase() : x) ? i : null)); 152 | 153 | /** 154 | * Turns prime or latin graph into futhark 155 | * 156 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 157 | * @param {(string|integer)} x A string or an integer to look up 158 | * @return {(string|null)} Futhark graph if property exists, NULL otherwise 159 | */ 160 | const toFuthark = strTable => x => lookup(strTable, (item) => item[1] === x || item[2].includes(Util.isString(x) ? x.toUpperCase() : x) ? item[0] : null).toString(); 161 | 162 | /** 163 | * Turns nested primes or latin graphs into futhark 164 | * 165 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 166 | * @param {(string|integer)} x A string or an integer to look up 167 | * @return {array} Futhark graphs 168 | */ 169 | const toFutharkDeep = strTable => x => Util.isArray(x) ? x.map(y => toFutharkDeep(strTable)(y)) : toFuthark(strTable)(x); 170 | 171 | /** 172 | * Turns futhark or latin graph into prime number 173 | * 174 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 175 | * @param {string} x A graph to look up 176 | * @return {(integer|null)} Prime number if property exists, NULL otherwise 177 | */ 178 | const toPrime = strTable => x => parseInt(lookup(strTable, (item) => item[0] === x || item[2].includes(Util.isString(x) ? x.toUpperCase() : x) ? item[1] : null)); 179 | 180 | /** 181 | * Turns nested futhark or latin graphs into prime numbers 182 | * 183 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 184 | * @param {string} x A graph to look up 185 | * @return {array} Prime numbers 186 | */ 187 | const toPrimeDeep = strTable => x => Util.isArray(x) ? x.map(y => toPrimeDeep(strTable)(y)) : toPrime(strTable)(x); 188 | 189 | /** 190 | * Turns futhark or prime number into latin graphs 191 | * 192 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 193 | * @param {(string|integer)} x A futhark graph or prime number to look up 194 | * @return {(string|null)} Latin graph if exists, NULL otherwise 195 | */ 196 | const toLatin = strTable => x => lookup(strTable, (item) => item[0] === x || item[1] === x ? item[2] : null); 197 | 198 | /** 199 | * Turns nested futhark or prime numbers into latin graphs 200 | * 201 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 202 | * @param {(string|integer)} x A futhark graph or prime number to look up 203 | * @return {array} Latin graphs 204 | */ 205 | const toLatinDeep = strTable => x => Util.isArray(x) ? x.map(y => toLatinDeep(strTable)(y)) : toLatin(strTable)(x); 206 | 207 | /** 208 | * Turns offset into futhark graph 209 | * 210 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 211 | * @param {integer} intOffset An integer offset 212 | * @return {string} A futhark graph 213 | */ 214 | const offsetToFuthark = strTable => intOffset => buildTable(strTable)[(intOffset % tableLength)][0]; 215 | 216 | /** 217 | * Turns offset into prime number 218 | * 219 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 220 | * @param {integer} intOffset An integer offset 221 | * @return {integer} A prime number 222 | */ 223 | const offsetToPrime = strTable => intOffset => buildTable(strTable)[(intOffset % tableLength)][1]; 224 | 225 | /** 226 | * Turns offset into latin graphs 227 | * 228 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 229 | * @param {integer} intOffset An integer offset 230 | * @return {array} Latin graphs 231 | */ 232 | const offsetToLatin = strTable => intOffset => buildTable(strTable)[(intOffset % tableLength)][2]; 233 | 234 | /** 235 | * Turns prime number into futhark graph 236 | * 237 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 238 | * @param {integer} intPrime A prime number 239 | * @return {(string|null)} Futhark graph, or NULL 240 | */ 241 | const primeToFuthark = strTable => intPrime => lookup(strTable, (item, i) => item[1] === intPrime ? table[i][2] : null); 242 | 243 | /** 244 | * Turns prime number into latin graphs 245 | * 246 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 247 | * @param {integer} intPrime A prime number 248 | * @return {(array|null)} Latin graphs, or NULL 249 | */ 250 | const primeToLatin = strTable => intPrime => lookup(strTable, (item, i) => item[1] === intPrime ? table[i][2] : null); 251 | 252 | /** 253 | * Turns latin graph into futhark graph 254 | * 255 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 256 | * @param {string} strLatin The latin graph to look up 257 | * @return {(string|null)} Futhark graph, or NULL 258 | */ 259 | const latinToFuthark = strTable => strLatin => lookup(strTable, (item, i) => item[2].includes(strLatin) ? table[i][0] : null); 260 | 261 | /** 262 | * Turns latin graph into prime number 263 | * 264 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 265 | * @param {string} strLatin The latin graph to look up 266 | * @return {(integer|null)} Prime number, or NULL 267 | */ 268 | const latinToPrime = strTable => strLatin => lookup(strTable, (item, i) => item[2].includes(strLatin) ? table[i][1] : null); 269 | 270 | /** 271 | * Gets the distance between two gematria properties 272 | * 273 | * @param {string} strDirection The gematria direction 274 | * @param {(array|string)} strTable A string or an array of gematria properties to invert 275 | * @return {integer} The distance. 276 | */ 277 | const getDistance = strDirection => strTable => (strGraph1, strGraph2) => 278 | { 279 | let offset1 = toOffset(strTable)(strGraph1); 280 | let offset2 = toOffset(strTable)(strGraph2); 281 | 282 | let diff = strDirection === 'reverse' ? offset2 - offset1 : offset1 - offset2; 283 | 284 | return diff < 0 ? diff + tableLength : diff; 285 | }; 286 | 287 | return { 288 | tableLength, 289 | graphLengths, 290 | lookup, 291 | hasLatin, 292 | hasPrime, 293 | hasFuthark, 294 | toOffset, 295 | toFuthark, 296 | toFutharkDeep, 297 | toPrime, 298 | toPrimeDeep, 299 | toLatin, 300 | toLatinDeep, 301 | toGraphs, 302 | offsetToFuthark, 303 | offsetToPrime, 304 | offsetToLatin, 305 | primeToFuthark, 306 | primeToLatin, 307 | latinToFuthark, 308 | latinToPrime, 309 | getDistance 310 | }; 311 | 312 | })(); 313 | 314 | module.exports = Gematria; 315 | -------------------------------------------------------------------------------- /lib/input.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | 4 | const Input = (() => 5 | { 6 | /** 7 | * Determines if argument is valid. 8 | * 9 | * @param {string} strArgument An argument to check 10 | * @param {regular expression} rxIsValid A regular expression 11 | * @return {boolean} True if valid, False otherwise. 12 | */ 13 | const isValid = (strArgument, rxIsValid) => rxIsValid.test(strArgument); 14 | 15 | /** 16 | * Determines if arguments are valid 17 | * 18 | * @param {string} strCommand The command 19 | * @param {array} arrOptions The passed arguments 20 | * @throws {syntaxerror} The offending argument 21 | * @return {array} The validated arguments 22 | */ 23 | const validate = (strCommand, arrOptions) => 24 | { 25 | let arrParams = [...new Set(arrOptions)]; 26 | 27 | if (arrParams.length > 0 && strCommand !== '_unknown') 28 | { 29 | return arrParams.map(strArgument => 30 | { 31 | if (isValid(strArgument, Config.input[strCommand].regex)) return strArgument; 32 | 33 | else throw new SyntaxError(`Invalid parameter '${strArgument}' in command '${strCommand}'`); 34 | }); 35 | } 36 | 37 | else return arrParams; 38 | }; 39 | 40 | /** 41 | * Gets the validated options. 42 | * 43 | * @param {object} objCommands The raw options object 44 | * @return {object} The validated options. 45 | */ 46 | const getOptions = objCommands => Object.assign({}, ...Object.keys(objCommands).map(strCommand => ({ [strCommand]: validate(strCommand, objCommands[strCommand]) }))); 47 | 48 | return { validate, getOptions }; 49 | 50 | })(); 51 | 52 | module.exports = Input; 53 | -------------------------------------------------------------------------------- /lib/integers.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | 4 | const Integer = (() => 5 | { 6 | /** 7 | * { var_description } 8 | * 9 | * @type {} 10 | */ 11 | let intLimit; 12 | 13 | /** 14 | * Sets the limit. 15 | * 16 | * @param {} intMax The int maximum 17 | * @return {} { description_of_the_return_value } 18 | */ 19 | const setLimit = intMax => intLimit = intMax; 20 | 21 | /** 22 | * { function_description } 23 | * 24 | * @param {number} n { parameter_description } 25 | * @return {Array} { description_of_the_return_value } 26 | */ 27 | const generateInteger = n => 28 | { 29 | const int = []; 30 | 31 | for (let i = 0; i < n; i++) int.push(i); 32 | 33 | return int; 34 | }; 35 | 36 | const generateEven = n => 37 | { 38 | const even = []; 39 | 40 | for (let i = 0; even.length < n; i ++) if (i % 2 === 0) even.push(i); 41 | 42 | return even; 43 | }; 44 | 45 | const generateOdd = n => 46 | { 47 | const odd = []; 48 | 49 | for (let i = 0; odd.length < n; i ++) if (i % 2 !== 0) odd.push(i); 50 | 51 | return odd; 52 | }; 53 | 54 | const getRange = (intFrom, intTo) => 55 | { 56 | if (!intFrom && !intTo) intFrom = intLimit; 57 | 58 | let isReversed = intFrom > intTo; 59 | 60 | if (!intTo) { intTo = intFrom; intFrom = 0; } 61 | 62 | if (intFrom > intTo) [intFrom, intTo] = [intTo, intFrom]; 63 | 64 | intFrom = intFrom <= Config.math.maxIntegers ? intFrom : Config.math.maxIntegers; 65 | 66 | intTo = intTo <= Config.math.maxIntegers ? intTo : Config.math.maxIntegers; 67 | 68 | return [intFrom, intTo, isReversed]; 69 | }; 70 | 71 | /** 72 | * Gets the integers. 73 | * 74 | * @param {number} intFrom The int from 75 | * @param {number} intTo The int to 76 | * @return {Function} The integers. 77 | */ 78 | const getAll = (intFrom, intTo) => 79 | { 80 | let foo = getRange(intFrom, intTo); 81 | 82 | let arrIntegers = generateInteger(foo[1]).slice(foo[0]); 83 | 84 | return foo[2] ? arrIntegers.reverse() : arrIntegers; 85 | }; 86 | 87 | const getOdd = (intFrom, intTo) => 88 | { 89 | let foo = getRange(intFrom, intTo); 90 | 91 | let arrIntegers = generateOdd(foo[1]).slice(foo[0]); 92 | 93 | return foo[2] ? arrIntegers.reverse() : arrIntegers; 94 | }; 95 | 96 | const getEven = (intFrom, intTo) => 97 | { 98 | let foo = getRange(intFrom, intTo); 99 | 100 | let arrIntegers = generateEven(foo[1]).slice(foo[0]); 101 | 102 | return foo[2] ? arrIntegers.reverse() : arrIntegers; 103 | }; 104 | 105 | return { getAll, getOdd, getEven, setLimit }; 106 | 107 | })(); 108 | 109 | module.exports = Integer; 110 | -------------------------------------------------------------------------------- /lib/key.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const Gematria = require('./gematria'); 4 | const MathLib = require('./math'); 5 | 6 | const Key = (() => 7 | { 8 | /** 9 | * Turns latin string into offsets 10 | * 11 | * @param {string} strKey The string 12 | * @return {array} The offsets 13 | */ 14 | const fromString = strKey => Gematria.toGraphs(strKey).map(strGraph => Gematria.toOffset()(strGraph)); 15 | 16 | /** 17 | * Turns integer into offset 18 | * 19 | * @param {integer} intKey The integer 20 | * @return {integer} The offset 21 | */ 22 | const fromInteger = intKey => [intKey % Gematria.tableLength]; 23 | 24 | /** 25 | * Turns integer CSV into offsets 26 | * 27 | * @param {string} strKey The integer CSV 28 | * @return {array} The offsets 29 | */ 30 | const fromIntegerCSV = strKey => strKey.split(',').map(integer => integer % Gematria.tableLength); 31 | 32 | /** 33 | * Turns futhark string into offsets 34 | * 35 | * @param {string} strKey The futhark string 36 | * @return {array} The offsets 37 | */ 38 | const fromFuthark = strKey => strKey.split('').map(letter => Gematria.toOffset()(letter)); 39 | 40 | /** 41 | * Turns mathematical expression into offsets 42 | * 43 | * @param {string} strKey The mathematical expression 44 | * @param {integer} intLength The key length 45 | * @return {array} The offsets 46 | */ 47 | const fromExpression = (strKey, intLength) => MathLib.evaluate(strKey, intLength); 48 | 49 | /** 50 | * Determines the key type. 51 | * 52 | * @param {string} strKey The key 53 | * @return {string} The key type. 54 | */ 55 | const getKeyType = strKey => { for (let encoding in Config.encoding) if (Config.encoding[encoding].test(strKey) === true) return encoding; }; 56 | 57 | /** 58 | * Pads key if shorter than required length 59 | * 60 | * @param {array} arrKey The key offsets 61 | * @param {integer} intLength The needed key length 62 | * @return {array} The padded key 63 | */ 64 | const padKey = (arrKey, intLength) => 65 | { 66 | if (arrKey.length >= intLength) return arrKey.slice(0, intLength); 67 | 68 | for (let i = 0, ii = intLength - arrKey.length; i < ii; i ++) arrKey.push(arrKey[i]); 69 | 70 | return arrKey; 71 | }; 72 | 73 | /** 74 | * Builds the key 75 | * 76 | * @param {array} arrKeys The key 77 | * @param {integer} intLength The required key length 78 | * @param {boolean} isInvertKey Indicates if key should be inverted 79 | * @return {array} The key as offsets 80 | */ 81 | const generate = (arrKeys = [], intLength = 0, isInvertKey = false) => 82 | { 83 | if (intLength <= 0) return null; 84 | 85 | let keys = arrKeys.map(key => 86 | { 87 | let type = getKeyType(key); 88 | 89 | switch (type) 90 | { 91 | case 'isExpression' : key = fromExpression(key, intLength); break; 92 | case 'isFuthark' : key = fromFuthark(key); break; 93 | case 'isInteger' : key = fromInteger(key); break; 94 | case 'isIntegerCSV' : key = fromIntegerCSV(key); break; 95 | case 'isLatin' : key = fromString(key); break; 96 | default : break; 97 | } 98 | 99 | if (isInvertKey) key = key.map(v => Gematria.tableLength - v); 100 | 101 | return padKey(key, intLength); 102 | }); 103 | 104 | return keys; 105 | }; 106 | 107 | return { generate, fromString }; 108 | 109 | })(); 110 | 111 | module.exports = Key; 112 | -------------------------------------------------------------------------------- /lib/log.js: -------------------------------------------------------------------------------- 1 | 2 | const Console = console; 3 | 4 | const Log = (() => 5 | { 6 | /** 7 | * { var_description } 8 | * 9 | * @type {Map} 10 | */ 11 | let logData = new Map(); 12 | 13 | /** 14 | * Gets the now. 15 | * 16 | * @return {} The now. 17 | */ 18 | const getNow = () => new Date(); 19 | 20 | /** 21 | * Gets the data. 22 | * 23 | * @return {} The data. 24 | */ 25 | const getData = () => logData; 26 | 27 | /** 28 | * Sets the data. 29 | * 30 | * @param {} strType The string type 31 | * @param {} arrData The arr data 32 | * @return {} { description_of_the_return_value } 33 | */ 34 | const setData = (strType, arrData) => logData.set(strType, arrData); 35 | 36 | /** 37 | * { lambda_description } 38 | * 39 | * @return {} { description_of_the_return_value } 40 | */ 41 | const reset = () => logData.clear(); 42 | 43 | /** 44 | * Writes a data. 45 | * 46 | * @return {} { description_of_the_return_value } 47 | */ 48 | const writeData = () => 49 | { 50 | //if (Config.log.to.includes('file')) console.log('file'); 51 | 52 | //if (Config.log.to.includes('irc')) console.log('irc'); 53 | 54 | //if (Config.log.to.includes('pastebin')) console.log('pastebin'); 55 | 56 | //if (Config.log.to.includes('stdout')) console.log('stdout'); 57 | 58 | //let stat = Pastebin.paste(JSON.stringify([...logData]), 'Test', response => console.log(response)); 59 | 60 | logData.forEach((a,b) => Console.log(JSON.stringify(a,b))); 61 | 62 | Console.log(getNow()); 63 | }; 64 | 65 | /** 66 | * Writes an error. 67 | * 68 | * @param {} error The error 69 | * @return {} { description_of_the_return_value } 70 | */ 71 | const writeError = (error) => 72 | { 73 | Console.log(error); 74 | }; 75 | 76 | return { getData, setData, writeData, writeError, getNow, reset }; 77 | 78 | })(); 79 | 80 | module.exports = Log; 81 | -------------------------------------------------------------------------------- /lib/math.js: -------------------------------------------------------------------------------- 1 | 2 | const Fibonacci = require('./fibonacci.js'); 3 | const Integer = require('./integers.js'); 4 | const MathJS = require('mathjs'); 5 | const NT = require('number-theory'); 6 | const Primes = require('./primes.js'); 7 | 8 | const Evaluate = (() => 9 | { 10 | /** 11 | * Copy of MathJS eval() method 12 | * 13 | * @type {function} 14 | */ 15 | const meval = MathJS.eval; 16 | 17 | /** 18 | * { lambda_description } 19 | * 20 | * @param {Function} f { parameter_description } 21 | * @param {} arrFoo The arr foo 22 | * @return {} { description_of_the_return_value } 23 | */ 24 | const integrate = (f, arrFoo) => arrFoo.map(item => f(item)); 25 | 26 | /** 27 | * { function_description } 28 | * 29 | * @param {} args The arguments 30 | * @param {} math The mathematics 31 | * @param {} scope The scope 32 | * @return {} { description_of_the_return_value } 33 | */ 34 | integrate.transform = (args, math, scope) => 35 | { 36 | if (!args[1].isSymbolNode) throw new Error('Second argument must be a symbol'); 37 | 38 | let strVarName = args[1].name; 39 | let arrFoo = args[2].compile().eval(scope); 40 | let fnScope = Object.create(scope); 41 | let fnCode = args[0].compile(); 42 | 43 | var f = x => 44 | { 45 | fnScope[strVarName] = x; 46 | return fnCode.eval(fnScope); 47 | }; 48 | 49 | return integrate(f, arrFoo); 50 | }; 51 | 52 | integrate.transform.rawArgs = true; 53 | 54 | /** 55 | * Expose methods 56 | */ 57 | MathJS.import( 58 | { 59 | 'import' : function () { throw new Error('Function import is disabled'); }, 60 | 'createUnit': function () { throw new Error('Function createUnit is disabled'); }, 61 | 'eval' : function () { throw new Error('Function eval is disabled'); }, 62 | 'parse' : function () { throw new Error('Function parse is disabled'); }, 63 | 'simplify' : function () { throw new Error('Function simplify is disabled'); }, 64 | 'derivative': function () { throw new Error('Function derivative is disabled'); }, 65 | '$' : integrate, 66 | 'ephi' : NT.eulerPhi, 67 | 'fib' : Fibonacci.getFibonacci, 68 | 'int' : Integer.getAll, 69 | 'odd' : Integer.getOdd, 70 | 'even' : Integer.getEven, 71 | 'mob' : NT.mobius, 72 | 'prime' : Primes.getPrimes 73 | 74 | }, { override: true }); 75 | 76 | /** 77 | * Evaluates a mathematical expression 78 | * 79 | * @param {string} strExpression The mathematical expression 80 | * @param {integer} intKeyLength The key length 81 | * @return {} { description_of_the_return_value } 82 | */ 83 | const evaluate = (strExpression, intKeyLength) => 84 | { 85 | // ? 86 | Fibonacci.setLimit(intKeyLength); 87 | Integer.setLimit(intKeyLength); 88 | Primes.setLimit(intKeyLength); 89 | 90 | return meval(strExpression); 91 | }; 92 | 93 | return { evaluate }; 94 | 95 | })(); 96 | 97 | module.exports = Evaluate; 98 | -------------------------------------------------------------------------------- /lib/pastebin.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const Pastebin = require('pastebin-js'); 4 | 5 | const PB = (() => 6 | { 7 | const API = new Pastebin(Config.pastebin.user); 8 | 9 | /** 10 | * Post text to pastebin 11 | * 12 | * @param {string} strText The text to paste 13 | * @param {string} strHeader The headline 14 | * @param {function} fnCB The callback function 15 | * @return {} { description_of_the_return_value } 16 | */ 17 | const paste = (strText, strHeader, fnCB) => API.createPaste(strText, strHeader, Config.pastebin.paste.format, Config.pastebin.paste.privacy, Config.pastebin.paste.duration).then(data => fnCB(data)).fail(err => fnCB(err)); 18 | 19 | return { paste }; 20 | 21 | })(); 22 | 23 | module.exports = PB; 24 | -------------------------------------------------------------------------------- /lib/primes.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const NT = require('number-theory'); 4 | 5 | const Primes = (() => 6 | { 7 | /** 8 | * The maximum amount of primes to generate 9 | * 10 | * @type {integer} 11 | */ 12 | let intLimit; 13 | 14 | /** 15 | * Determines if a number is prime. 16 | * 17 | * @param {integer} x The nubber to check 18 | * @return {boolean} True if prime, False otherwise. 19 | */ 20 | const isPrime = x => NT.isProbablyPrime(x); 21 | 22 | /** 23 | * Sets the maximum number of primes to generate 24 | * 25 | * @param {integer} intMax The maximum 26 | */ 27 | const setLimit = intMax => intLimit = intMax; 28 | 29 | /** 30 | * Generates prime numbers 31 | * 32 | * @param {integer} n The amount of primes to generate 33 | * @return {array} The prime numbers 34 | */ 35 | const generatePrimes = n => 36 | { 37 | let primes = []; 38 | 39 | for (let i = 0; primes.length < n; i++) if (isPrime(i)) primes.push(i); 40 | 41 | return primes; 42 | }; 43 | 44 | /** 45 | * Gets the nth prime. 46 | * 47 | * @param {number} n The nth prime to get 48 | * @return {integer} The prime. 49 | */ 50 | const getPrime = n => generatePrimes(n).slice(n - 1); 51 | 52 | /** 53 | * Gets primes from n to n 54 | * 55 | * @param {integer} intFrom Start at nth prime 56 | * @param {integer} intTo Stop at nth prime 57 | * @return {array} The primes. 58 | */ 59 | const getPrimes = (intFrom, intTo) => 60 | { 61 | if (!intFrom && !intTo) intFrom = intLimit; 62 | 63 | let isReversed = intFrom > intTo; 64 | 65 | if (!intTo) { intTo = intFrom; intFrom = 0; } 66 | 67 | if (intFrom > intTo) [intFrom, intTo] = [intTo, intFrom]; 68 | 69 | intFrom = intFrom <= Config.math.maxPrimes ? intFrom : Config.math.maxPrimes; 70 | 71 | intTo = intTo <= Config.math.maxPrimes ? intTo : Config.math.maxPrimes; 72 | 73 | let arrPrimes = generatePrimes(intTo).slice(intFrom); 74 | 75 | return isReversed ? arrPrimes.reverse() : arrPrimes; 76 | }; 77 | 78 | return { getPrime, getPrimes, setLimit }; 79 | 80 | })(); 81 | 82 | module.exports = Primes; 83 | -------------------------------------------------------------------------------- /lib/shift.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const Gematria = require('./gematria'); 4 | 5 | const Shift = (() => 6 | { 7 | /** 8 | * Determines if graph is futhark 9 | * 10 | * @param {string} char The graph 11 | * @return {boolean} True if futhark, False otherwise. 12 | */ 13 | const isFuthark = char => Config.encoding.isFuthark.test(char); 14 | 15 | /** 16 | * Recursively maps a function to an array 17 | * 18 | * @param {} v { parameter_description } 19 | * @param {Function} fn The function 20 | * @return {} { description_of_the_return_value } 21 | */ 22 | const recursiveMap = (v, fn) => Array.isArray(v) ? v.map(v => recursiveMap(v, fn)) : fn(v); 23 | 24 | /** 25 | * Shifts a graph up the gematria 26 | * 27 | * @param {string} char The character 28 | * @param {integer} offset The offset 29 | * @param {(array|string)} arrInvertProperties A string or an array of gematria properties to invert 30 | * @return {boolean} The new offset 31 | */ 32 | const shiftUp = (char, offset, arrInvertProperties) => 33 | { 34 | let newOffset = (Gematria.toOffset(arrInvertProperties)(char) - offset) % Gematria.tableLength; 35 | 36 | return (newOffset < 0) ? newOffset + Gematria.tableLength : newOffset; 37 | }; 38 | 39 | /** 40 | * Shifts a graph down the gematria 41 | * 42 | * @param {string} char The character 43 | * @param {integer} offset The offset 44 | * @param {(array|string)} arrInvertProperties A string or an array of gematria properties to invert 45 | * @return {boolean} The new offset 46 | */ 47 | const shiftDown = (char, offset, arrInvertProperties) => (Gematria.toOffset(arrInvertProperties)(char) + offset) % Gematria.tableLength; 48 | 49 | /** 50 | * Turns source into clear text 51 | * 52 | * @param {array} arrSourceData The source data 53 | * @param {array} arrKeyData The key data 54 | * @param {boolean} isInvertedFuthark Indicates if gematria futhark is inverted 55 | * @param {boolean} isInvertedLatin Indicates if gematria latin is inverted 56 | * @param {boolean} isInvertedOffset Indicates if gematria offset is inverted 57 | * @param {boolean} isInvertedPrime Indicates if gematria prime is inverted 58 | * @param {boolean} isReversedShift Indicates if shift is reversed 59 | * @return {array} The clear text 60 | */ 61 | const mutate = (arrSourceData = [], arrKeyData = [], isInvertedFuthark = false, isInvertedLatin = false, isInvertedOffset = false, isInvertedPrime = false, isReversedShift = false) => 62 | { 63 | let arrInvertProperties = []; 64 | 65 | if (isInvertedFuthark) arrInvertProperties.push('futhark'); 66 | if (isInvertedLatin) arrInvertProperties.push('latin'); 67 | if (isInvertedOffset) arrInvertProperties.push('offset'); 68 | if (isInvertedPrime) arrInvertProperties.push('prime'); 69 | 70 | const arrLatin = arrKeyData.map((key, i) => 71 | { 72 | let keyOffset = 0; 73 | 74 | return recursiveMap(arrSourceData, char => 75 | { 76 | // If char is within futhark unicode range 77 | if (isFuthark(char)) 78 | { 79 | let charOffset = isReversedShift ? shiftDown(char, arrKeyData[i][keyOffset ++], arrInvertProperties) : shiftUp(char, arrKeyData[i][keyOffset ++], arrInvertProperties); 80 | 81 | // Return the corresponding latin graph 82 | return Gematria.offsetToLatin(arrInvertProperties)(charOffset)[0]; 83 | } 84 | 85 | // If char is not futhark, just return the char 86 | else return char; 87 | }); 88 | }); 89 | 90 | return arrLatin; 91 | }; 92 | 93 | return { mutate }; 94 | 95 | })(); 96 | 97 | module.exports = Shift; 98 | 99 | -------------------------------------------------------------------------------- /lib/source.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const FS = require('fs'); 4 | const Util = require('./util'); 5 | 6 | const Source = (() => 7 | { 8 | /** 9 | * Holds the source as an hierarchical array 10 | * 11 | * @type {array} 12 | */ 13 | let SOURCE; 14 | 15 | /** 16 | * Loads a file 17 | * 18 | * @param {string} strPath The file path 19 | * @param {string} strEncoding The file encoding 20 | * @return {array} The file as a string 21 | */ 22 | const loadFile = (strPath, strEncoding) => FS.readFileSync(strPath, strEncoding); 23 | 24 | /** 25 | * Turns source string into an hierarchical array of futhark 26 | * 27 | * @param {string} strSource The source 28 | * @param {array} arrDelimiter The delimiters 29 | * @param {boolean} isPatched Indicates if source should be patched 30 | * @param {string} p Internal var to keep track of nesting 31 | * @return {array} The hierarchical source 32 | */ 33 | const parseSource = (strSource, arrDelimiter, isPatched, p = '') => 34 | { 35 | return (arrDelimiter.length) ? 36 | strSource.split(arrDelimiter[0]) 37 | .filter(x => x) 38 | .map((x, i) => parseSource(x, arrDelimiter.slice(1), isPatched, p + '.' + i)) : isPatched ? Config.source.patch[p.substr(1)] ? Config.source.patch[p.substr(1)] : strSource : strSource; 39 | }; 40 | 41 | /** 42 | * Determines if offset exists within array. 43 | * 44 | * @param {array} arrSource The source 45 | * @param {integer} intOffset The offset 46 | * @return {boolean} True if valid offset, False otherwise. 47 | */ 48 | const isValidOffset = (arrSource, intOffset) => Array.isArray(arrSource) && arrSource.length >= parseInt(intOffset); 49 | 50 | /** 51 | * { lambda_description } 52 | * 53 | * @param {} x { parameter_description } 54 | * @return {} { description_of_the_return_value } 55 | */ 56 | const reverseDeep = x => Util.isArray(x) ? x.reverse().map(y => reverseDeep(y)) : x; 57 | 58 | /** 59 | * Gets source by waypoints (source path) 60 | * 61 | * @param {array} arrSourcePaths The source paths 62 | * @param {boolean} isPatchedSource Indicates if source should be patched 63 | * @param {boolean} isReversedSource Indicates if source should be reversed 64 | * @return {array} The hierarchical source 65 | */ 66 | const getSource = (arrSourcePaths, isPatchedSource = true, isReversedSource = false) => 67 | { 68 | if (!SOURCE || Config.irc.isEnabled === true) //(!) beautify me 69 | { 70 | let strSourceRaw = loadFile(Config.source.src, Config.source.encoding); 71 | let strSource = strSourceRaw.replace(/\r?\n|\r|\/|%/g, ''); 72 | 73 | SOURCE = parseSource(strSource, Config.source.delimiter, isPatchedSource); 74 | } 75 | 76 | let arrBlobs = arrSourcePaths.map(strWaypoints => 77 | { 78 | let arrCurrent = SOURCE; 79 | 80 | strWaypoints.split('.').forEach(strWaypoint => { arrCurrent = isValidOffset(arrCurrent, strWaypoint) ? arrCurrent[strWaypoint] : null; }); 81 | 82 | return arrCurrent ? arrCurrent : null; 83 | 84 | }).filter(x => x); 85 | 86 | return arrBlobs.length > 0 ? isReversedSource ? reverseDeep(arrBlobs) : arrBlobs : null; 87 | }; 88 | 89 | return { getSource }; 90 | 91 | })(); 92 | 93 | module.exports = Source; 94 | -------------------------------------------------------------------------------- /lib/stats.js: -------------------------------------------------------------------------------- 1 | 2 | const Config = require('../config'); 3 | const Gematria = require('./gematria'); 4 | const Key = require('./key'); 5 | const Source = require('./source'); 6 | const Util = require('./util'); 7 | 8 | const Stats = (() => 9 | { 10 | /** 11 | * Gets the word lengths. 12 | * 13 | * @param {array} x foobar 14 | * @return {array} The word lengths. 15 | */ 16 | const getWordLengths = x => x.map(y => Util.isArray(y) && Util.isArray(y[0]) ? getWordLengths(y) : y.length); 17 | 18 | /** 19 | * Gets the character count. 20 | * 21 | * @param {} arrText The arr text 22 | * @return {} The character count. 23 | */ 24 | const getCharCount = arrText => Util.flatten(arrText).length; 25 | 26 | /** 27 | * Gets the word count. 28 | * 29 | * @param {} arrText The arr text 30 | * @return {} The word count. 31 | */ 32 | const getWordCount = arrText => Util.flattenTo1st(arrText).length; 33 | 34 | /** 35 | * Gets the character at. 36 | * 37 | * @param {} arrText The arr text 38 | * @param {} intOffset The int offset 39 | * @return {} The character at. 40 | */ 41 | const getCharAt = (arrText, intOffset) => Util.flatten(arrText)[intOffset]; 42 | 43 | /** 44 | * Gets the word at. 45 | * 46 | * @param {} arrText The arr text 47 | * @param {} intOffset The int offset 48 | * @return {} The word at. 49 | */ 50 | const getWordAt = (arrText, intOffset) => Util.flattenTo1st(arrText)[intOffset]; 51 | 52 | /** 53 | * Gets the prime value. 54 | * 55 | * @param {} n { parameter_description } 56 | * @param {} arrInvertProperties The arr invert properties 57 | * @return {} The prime value. 58 | */ 59 | const getPrimeValue = (n, arrInvertProperties) => 60 | { 61 | let prime = Gematria.toPrime(arrInvertProperties)(n); 62 | 63 | return prime ? prime : 0; 64 | }; 65 | 66 | /** 67 | * { lambda_description } 68 | * 69 | * @param {} arr The arr 70 | * @param {} arrInvertProperties The arr invert properties 71 | * @return {} { description_of_the_return_value } 72 | */ 73 | const deepSum = (arr, arrInvertProperties) => arr.reduce((s, n) => s + (Util.isArray(n) ? deepSum(n, arrInvertProperties) : getPrimeValue(n, arrInvertProperties)), 0); 74 | 75 | /** 76 | * Gets the checksum. 77 | * 78 | * @param {} arrText The arr text 79 | * @return {} The checksum. 80 | */ 81 | const getChecksum = arrText => [deepSum(arrText, []), deepSum(arrText, ['prime'])]; 82 | 83 | /** 84 | * Gets the frequency. 85 | * 86 | * @param {} arr The arr 87 | * @return {} The frequency. 88 | */ 89 | const getFrequency = arr => [...new Set(arr)].map(x => [x, arr.filter(y => y === x).length]); 90 | 91 | /** 92 | * Gets the ioc. 93 | * 94 | * @param {} arrText The arr text 95 | * @return {Array} The ioc. 96 | */ 97 | const getIOC = arrText => 98 | { 99 | let arrGraphs = Util.flatten(arrText); 100 | let intGraphsLength = arrGraphs.length; 101 | let arrGraphFrequency = getFrequency(arrGraphs); 102 | 103 | let intFrequency = arrGraphFrequency.reduce((sum, next) => sum + next[1] * (next[1] - 1), 0); 104 | 105 | return [intFrequency / (intGraphsLength * (intGraphsLength - 1) / Gematria.tableLength), intFrequency / (intGraphsLength * (intGraphsLength - 1))]; 106 | }; 107 | 108 | return { 109 | getFrequency, 110 | getCharCount, 111 | getWordCount, 112 | getCharAt, 113 | getWordAt, 114 | getChecksum, 115 | getIOC 116 | }; 117 | 118 | })(); 119 | 120 | module.exports = Stats; 121 | -------------------------------------------------------------------------------- /lib/util.js: -------------------------------------------------------------------------------- 1 | 2 | const Util = (() => 3 | { 4 | /** 5 | * Determines if defined. 6 | * 7 | * @param {} x { parameter_description } 8 | * @return {boolean} True if defined, False otherwise. 9 | */ 10 | const isDefined = x => typeof x !== 'undefined'; 11 | 12 | /** 13 | * Determines if undefined. 14 | * 15 | * @param {} x { parameter_description } 16 | * @return {boolean} True if undefined, False otherwise. 17 | */ 18 | const isUndefined = x => !isDefined(x); 19 | 20 | /** 21 | * Determines if array. 22 | * 23 | * @param {} x { parameter_description } 24 | * @return {boolean} True if array, False otherwise. 25 | */ 26 | const isArray = x => Array.isArray(x); 27 | 28 | /** 29 | * Determines if integer. 30 | * 31 | * @param {} x { parameter_description } 32 | * @return {boolean} True if integer, False otherwise. 33 | */ 34 | const isInteger = x => Number.isInteger(x); 35 | 36 | /** 37 | * Determines if string. 38 | * 39 | * @param {} x { parameter_description } 40 | * @return {boolean} True if string, False otherwise. 41 | */ 42 | const isString = x => Object.prototype.toString.call(x) === "[object String]"; 43 | 44 | /** 45 | * { lambda_description } 46 | * 47 | * @param {} o { parameter_description } 48 | * @return {} { description_of_the_return_value } 49 | */ 50 | const keys = o => Object.keys(o); 51 | 52 | /** 53 | * { lambda_description } 54 | * 55 | * @param {Array} o { parameter_description } 56 | * @return {} { description_of_the_return_value } 57 | */ 58 | const assign = (...o) => Object.assign({}, ...o); 59 | 60 | /** 61 | * { lambda_description } 62 | * 63 | * @param {Function} f { parameter_description } 64 | * @return {} { description_of_the_return_value } 65 | */ 66 | const map = f => xs => xs.map(x => f(x)); 67 | 68 | /** 69 | * { lambda_description } 70 | * 71 | * @param {Function} f { parameter_description } 72 | * @return {} { description_of_the_return_value } 73 | */ 74 | const objectMap = f => o => (o = assign(o), map(x => o[x] = f(o[x])) (keys(o)), o); 75 | 76 | /** 77 | * { lambda_description } 78 | * 79 | * @param {} x { parameter_description } 80 | * @param {} y { parameter_description } 81 | * @return {} { description_of_the_return_value } 82 | */ 83 | const concat = (x, y) => x.concat(y); 84 | 85 | /** 86 | * { lambda_description } 87 | * 88 | * @param {} f { parameter_description } 89 | * @return {} { description_of_the_return_value } 90 | */ 91 | const concatMap = f => xs => xs.map(f).reduce(concat, []); 92 | 93 | /** 94 | * { lambda_description } 95 | * 96 | * @param {} [x, ...xs] { parameter_description } 97 | * @return {} { description_of_the_return_value } 98 | */ 99 | const flatten = ([x, ...xs]) => isDefined(x) ? isArray(x) ? [...flatten(x), ...flatten(xs)] : [x, ...flatten(xs)] : []; 100 | 101 | /** 102 | * { lambda_description } 103 | * 104 | * @param {} [x, ...xs] { parameter_description } 105 | * @return {} { description_of_the_return_value } 106 | */ 107 | const flattenTo1st = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0]) ? [...flattenTo1st(x), ...flattenTo1st(xs)] : [x, ...flattenTo1st(xs)] : []; 108 | 109 | /** 110 | * { lambda_description } 111 | * 112 | * @param {} [x, ...xs] { parameter_description } 113 | * @return {} { description_of_the_return_value } 114 | */ 115 | const flattenTo2nd = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0][0]) ? [...flattenTo2nd(x), ...flattenTo2nd(xs)] : [x, ...flattenTo2nd(xs)] : []; 116 | 117 | /** 118 | * { lambda_description } 119 | * 120 | * @param {} [x, ...xs] { parameter_description } 121 | * @return {} { description_of_the_return_value } 122 | */ 123 | const flattenTo3rd = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0][0][0]) ? [...flattenTo3rd(x), ...flattenTo3rd(xs)] : [x, ...flattenTo3rd(xs)] : []; 124 | 125 | /** 126 | * { lambda_description } 127 | * 128 | * @param {} [x, ...xs] { parameter_description } 129 | * @return {} { description_of_the_return_value } 130 | */ 131 | const flattenTo4th = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0][0][0][0]) ? [...flattenTo4th(x), ...flattenTo4th(xs)] : [x, ...flattenTo4th(xs)] : []; 132 | 133 | /** 134 | * { lambda_description } 135 | * 136 | * @param {} [x, ...xs] { parameter_description } 137 | * @return {} { description_of_the_return_value } 138 | */ 139 | const flattenTo5th = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0][0][0][0][0]) ? [...flattenTo5th(x), ...flattenTo5th(xs)] : [x, ...flattenTo5th(xs)] : []; 140 | 141 | /** 142 | * { lambda_description } 143 | * 144 | * @param {} [x, ...xs] { parameter_description } 145 | * @return {} { description_of_the_return_value } 146 | */ 147 | const flattenTo6th = ([x, ...xs]) => isDefined(x) ? isArray(x) && isArray(x[0][0][0][0][0][0]) ? [...flattenTo6th(x), ...flattenTo6th(xs)] : [x, ...flattenTo6th(xs)] : []; 148 | 149 | return { 150 | isDefined, 151 | isUndefined, 152 | isArray, 153 | isInteger, 154 | isString, 155 | flatten, 156 | flattenTo1st, 157 | flattenTo2nd, 158 | flattenTo3rd, 159 | flattenTo4th, 160 | flattenTo5th, 161 | flattenTo6th 162 | }; 163 | 164 | })(); 165 | 166 | 167 | module.exports = Util; 168 | -------------------------------------------------------------------------------- /license: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2018, rtkd (no.tld) 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 10 | WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 11 | MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 12 | ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 13 | WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 14 | ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 15 | OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "idkfa", 3 | "version": "0.0.0", 4 | "description": "Liber Primus Translator", 5 | "main": "idkfa", 6 | "directories": { 7 | "lib": "lib" 8 | }, 9 | "dependencies": { 10 | "command-line-args": "^5.0.2", 11 | "irc": "^0.5.2", 12 | "mathjs": "^4.4.2", 13 | "number-theory": "git+https://git@github.com/rsandor/number-theory.git", 14 | "pastebin-js": "^0.5.1" 15 | }, 16 | "devDependencies": { 17 | "eslint": "^4.19.1", 18 | "eslint-plugin-react": "^7.10.0" 19 | }, 20 | "scripts": { 21 | "test": "echo \"Error: no test specified\" && exit 1" 22 | }, 23 | "author": "", 24 | "license": "ISC", 25 | "repository": "https://github.com/rtkd/idkfa.git" 26 | } 27 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | #### Liber Primus Translator #### 2 | ___ 3 | 4 | A toolset for working with 3301's Liber Primus. 5 | 6 | #### Quick start #### 7 | ___ 8 | 9 | Clone and run the repository to translate the first segment of Liber Primus. 10 | 11 | ```bash 12 | $ git clone https://github.com/rtkd/idkfa . 13 | $ npm install 14 | $ chmod u+x idkfa 15 | $ ./idkfa -s 0.0 -v l -i l 16 | ``` 17 | 18 | #### Available Commands #### 19 | ___ 20 | 21 | ##### -c, --charAt ##### 22 | 23 | Returns latin character(s) at position(s) n. 24 | 25 | ```bash 26 | -c 0 1 2 3 27 | ``` 28 | 29 | ##### -f, --find ##### 30 | 31 | Finds crib candidates and returns source, source path and key 32 | 33 | ```bash 34 | -f the circumference 35 | ``` 36 | 37 | ##### -i, --invert ##### 38 | 39 | Inverts/Reverses source, gematria and key properties 40 | 41 | ```bash 42 | -i f 43 | ``` 44 | 45 | * **f** — Invert gematria column: futhark 46 | * **k** — Invert key 47 | * **l** — Invert gematria column: latin 48 | * **o** — Invert gematria column: offset 49 | * **p** — Invert gematria column: prime 50 | * **s** — Reverse shift 51 | * **t** — Reverse source text 52 | 53 | ##### -k, --key ##### 54 | 55 | Generates and applies key(s) for decryption. 56 | Keys can be denoted as `integer`, `integer csv`, `latin`, `futhark` or `mathematical expression`. Multiple keys are seperated by a space. 57 | 58 | For details on using mathematical expressions see: [MathJS Functions](http://mathjs.org/docs/reference/functions.html) 59 | 60 | **Expressions must be enclosed in single quotation marks.** 61 | 62 | Generator functions `int()`, `odd()`, `even()`, `prime()`, `fib()` will accept 0, 1 or 2 parameters of type `integer` 63 | . 64 | 65 | * 0 parameters will generate as many consecutive numbers as the selected source has graphs. 66 | * 1 parameter will generate first n consecutive numbers, and repeat as source has graphs. 67 | * 2 parameters will generate consecutive numbers from n to n, and repeat as source has graphs. 68 | 69 | If first parameter is larger than second, order of numbers will be reversed. 70 | 71 | Available transformations: Euler Phi `ephi()`, Möbius: `mob()` 72 | 73 | ##### Examples ##### 74 | 75 | Generate key: 1,1,1,1.. 76 | ```bash 77 | -k 1 78 | ``` 79 | 80 | Generate key: 1,2,3,1,2,3.. 81 | ```bash 82 | -k 1,2,3 83 | ``` 84 | 85 | Generate key: 23,10,1,10,9,10,16,26,23,10,1,10,9,10,16,26.. 86 | ```bash 87 | -k divinity 88 | ``` 89 | 90 | Generate key: 0,3,3,17,24,4,0,3,3,17,24,4.. 91 | ```bash 92 | -k ᚠᚩᚩᛒᚪᚱ 93 | ``` 94 | 95 | Generate key: 1,2,4,6,10,12,16,18,22,28,30,36.. 96 | ```bash 97 | -k '$(ephi(x), x, prime())' 98 | ``` 99 | 100 | Generate key: 29,23,19,17,13,11,7,5,29,23,19,17,13,11,7,5.. 101 | ```bash 102 | -k '$(x, x, prime(10, 2))' 103 | ``` 104 | Generate keys: 1,2,3,1,2,3.. **and** 23,10,1,10,9,10,16,26,23,10,1,10,9,10,16,26.. 105 | ```bash 106 | -k 1,2,3 divinity 107 | ``` 108 | 109 | ##### -p, --patch ##### 110 | 111 | * **d** — Patch the dictionary to match expected output ((I)NG, I(A/O)..) 112 | * **s** — Patch chars at specific positions within source. (See config.js) 113 | 114 | ```bash 115 | -p s 116 | ``` 117 | 118 | ##### -s, --source ##### 119 | 120 | Select part(s) of source. 121 | Source accepts one or multiple *paths*, each consisting of one or multiple *waypoints*, seperated by a dot. 122 | Each waypoint denotes an offset within the hierarchical source array. 123 | 124 | ```bash 125 | -s 0.0 126 | ``` 127 | ##### Examples ##### 128 | 129 | Select chapter 0 130 | ```bash 131 | -s 0 132 | ``` 133 | 134 | Select section 12 of chapter 0 135 | ```bash 136 | -s 0.12 137 | ``` 138 | 139 | Select paragraph 1 of section 13 of chapter 0 140 | ```bash 141 | -s 0.13.1 142 | ``` 143 | 144 | Select sentence 1 of paragraph 0 of section 11 of chapter 0 145 | ```bash 146 | -s 0.11.0.1 147 | ``` 148 | 149 | Select word 5 of sentence 4 of paragraph 0 of section 11 of chapter 0 150 | ```bash 151 | -s 0.11.0.4.5 152 | ``` 153 | 154 | Select graph 1 of word 5 of sentence 4 of paragraph 0 of section 11 of chapter 0 155 | ```bash 156 | -s 0.11.0.4.5.1 157 | ``` 158 | 159 | 160 | ##### -v, --verbose ##### 161 | 162 | Sets the data to return. 163 | 164 | ```bash 165 | -v c w x 166 | ``` 167 | 168 | * **c** — The char (graph) count of the selected source. 169 | 170 | * **d** — Matches generated latin against a dictionary and returns longest and most matched words. 171 | 172 | * **f** — The generated latin as futhark. 173 | 174 | * **i** — The Index of Coincidence for the given source. 175 | 176 | * **k** — The generated key(s). 177 | 178 | * **l** — The generated latin text. 179 | 180 | * **p** — The generated text as primes. 181 | 182 | * **s** — The selected source 183 | 184 | * **w** — The word count of the selected source. 185 | 186 | * **x** — The checksum (sum of gemartia prime values) of the selected source. 187 | 188 | ##### -w, --wordAt ##### 189 | 190 | Returns latin word(s) at position(s) n. 191 | 192 | ```bash 193 | -w 21 27 42 194 | ``` 195 | 196 | #### Known Translations #### 197 | ___ 198 | 199 | Segment: 0 200 | ```bash 201 | ./idkfa -s 0.0 -v l -i l 202 | ``` 203 | 204 | Segment: 1 205 | ```bash 206 | ./idkfa -s 0.1 -v l -p s -k divinity 207 | ``` 208 | 209 | Segment: 2 210 | ```bash 211 | ./idkfa -s 0.2 -v l 212 | ``` 213 | 214 | Segment: 3 215 | ```bash 216 | ./idkfa -s 0.3 -v l -i l -k 3 217 | ``` 218 | 219 | Segment: 4 220 | ```bash 221 | ./idkfa -s 0.4 -v l 222 | ``` 223 | 224 | Segment: 5 225 | ```bash 226 | ./idkfa -s 0.5 -v l -p s -k firfumferenfe 227 | ``` 228 | 229 | Segment: 6 230 | ```bash 231 | ./idkfa -s 0.6 -v l 232 | ``` 233 | 234 | Segment: 16 235 | ```bash 236 | ./idkfa -s 0.16 -v l -p s -k '$(ephi(x), x, prime())' 237 | ``` 238 | 239 | Segment: 17 240 | ```bash 241 | ./idkfa -s 0.17 -v l 242 | ``` 243 | --------------------------------------------------------------------------------